:root{
  --tev-bg:#f3f0e9;
  --tev-surface:#fff;
  --tev-surface-muted:#f7f5f1;
  --tev-border:#ddd6cb;
  --tev-border-strong:#cbc3b8;
  --tev-text:#171616;
  --tev-text-muted:#77736f;
  --tev-primary:#493494;
  --tev-primary-hover:#382678;
  --tev-success:#2f6d4c;
  --tev-danger:#9a3f3f;
  --tev-warning:#9a6a2f;
  --tev-radius-control:10px;
  --tev-radius-card:14px;
  --tev-control-height:36px;
  --tev-control-height-compact:34px;
  --tev-body-size:14px;
  --tev-label-size:12px;
  --tev-table-head-size:12px;
  --tev-table-row-height:42px;
  --tev-card-padding:16px;
  --tev-space-1:4px;
  --tev-space-2:8px;
  --tev-space-3:12px;
  --tev-space-4:16px;
  --tev-space-6:24px;
  --tev-space-8:32px;
}

body #app .shell .main{font-size:var(--tev-body-size)}
body #app .shell .main input,
body #app .shell .main select,
body #app .shell .main textarea,
body #app .shell .main button{font-size:var(--tev-body-size)!important}
body #app .shell .main input,
body #app .shell .main select{min-height:var(--tev-control-height)}
body #app .shell .main label{font-size:var(--tev-label-size)!important}

.tev-field,.field{display:grid;gap:var(--tev-space-1);min-width:0}
.tev-field>label,.field>label{font-size:var(--tev-label-size)!important;line-height:1.2;color:var(--tev-text-muted)}
.tev-control,
body #app .shell .main .field input,
body #app .shell .main .field select,
body #app .shell .main .field textarea{
  width:100%;min-width:0;min-height:var(--tev-control-height);
  padding:0 var(--tev-space-3);border:1px solid var(--tev-border);
  border-radius:var(--tev-radius-control);background:var(--tev-surface);
  color:var(--tev-text);outline:none;font:inherit;font-size:var(--tev-body-size)!important;
}
textarea.tev-control,
body #app .shell .main .field textarea{height:auto;min-height:76px;padding:var(--tev-space-2) var(--tev-space-3);resize:vertical}
.tev-control:focus,
body #app .shell .main .field input:focus,
body #app .shell .main .field select:focus,
body #app .shell .main .field textarea:focus{border-color:var(--tev-primary);box-shadow:0 0 0 3px rgba(73,52,148,.08)}

.tev-button,
body #app .shell .main .btn{
  display:inline-flex;align-items:center;justify-content:center;gap:var(--tev-space-2);
  min-height:var(--tev-control-height);padding:0 var(--tev-space-4);border:1px solid var(--tev-border);
  border-radius:999px;background:var(--tev-surface);color:var(--tev-text);font:inherit;font-size:var(--tev-body-size)!important;
}
.tev-button--compact{min-height:var(--tev-control-height-compact);padding:0 var(--tev-space-3);font-size:var(--tev-body-size)}
.tev-button--primary,body #app .shell .main .btn.primary{background:var(--tev-primary);border-color:var(--tev-primary);color:#fff}
.tev-button--primary:hover{background:var(--tev-primary-hover);border-color:var(--tev-primary-hover)}
.tev-button--secondary{background:var(--tev-surface-muted)}
.tev-button--ghost{background:transparent}
.tev-button--danger{background:transparent;border-color:rgba(154,63,63,.35);color:var(--tev-danger)}
.tev-button:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(73,52,148,.08)}

.tev-card,body #app .shell .main .card{background:var(--tev-surface);border:1px solid var(--tev-border);border-radius:var(--tev-radius-card);padding:var(--tev-card-padding)}
body #app .shell .main>.section-title,
body #app .shell .main>.tev-page-title,
body #app .shell .main>.title-actions>h1,
body #app .shell .main .section-title,
body #app .shell .main .tev-page-title{
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:36px!important;
  line-height:1.1!important;
  font-weight:400!important;
  font-style:normal!important;
  letter-spacing:-.02em!important;
  margin:0 0 14px!important;
  text-transform:none!important;
}
.main .title-actions{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;margin-bottom:14px!important}
body #app .shell .main .title-actions>.section-title{margin:0!important}
.tev-pill,.pill{display:inline-flex;align-items:center;min-height:24px;padding:0 var(--tev-space-2);border-radius:999px;font-size:var(--tev-label-size)}

/* Shared data-table typography: one owner for readable ADMIN/PRO/VIGNERON rows. */
body #app .shell .main .tablewrap thead th,
body #app .shell .main .catalogue-table thead th{font-size:var(--tev-table-head-size)!important;line-height:1.25!important;font-weight:650!important}
body #app .shell .main .tablewrap tbody td,
body #app .shell .main .catalogue-table tbody td{font-size:var(--tev-body-size)!important;line-height:1.25!important}
body #app .shell .main .tablewrap tbody input,
body #app .shell .main .tablewrap tbody select,
body #app .shell .main .catalogue-table tbody input,
body #app .shell .main .catalogue-table tbody select{
  box-sizing:border-box!important;
  font-size:var(--tev-body-size)!important;
  line-height:1.25!important;
  height:var(--tev-control-height-compact)!important;
  min-height:var(--tev-control-height-compact)!important;
}
body #app .shell .main .catalogue-table .btn,
body #app .shell .main .catalogue-table button,
body #app .shell .main .catalog-admin-domain>.domain-bottom-actions .btn,
body #app .shell .main .catalog-admin-domain>.domain-bottom-actions button{font-size:var(--tev-body-size)!important;min-height:var(--tev-control-height-compact)!important}
body #app .shell .main .catalogue-table .tev-col-price input{min-width:80px!important;padding-left:8px!important;padding-right:8px!important;text-align:right!important}

/* Shared profile and accordion presentation. */
.profile-card{max-width:960px;width:100%;padding:20px!important;margin:0 0 var(--tev-space-4)!important}
.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--tev-space-3) var(--tev-space-4);margin-top:var(--tev-space-4)}
.profile-grid .span2{grid-column:1/-1}
.profile-actions{display:flex;align-items:center;gap:var(--tev-space-3);flex-wrap:wrap;margin-top:var(--tev-space-4)}
.vigneron-profile-top{display:flex;align-items:center;gap:var(--tev-space-4);min-height:116px;margin-bottom:var(--tev-space-4)}
.vigneron-profile-top>div:last-child{display:grid;gap:var(--tev-space-2)}
.vigneron-profile-top p{margin:0;line-height:1.45}
.profile-photo-button{position:relative;display:block;width:116px;height:116px;min-width:116px;min-height:116px;padding:0!important;border:0!important;border-radius:50%!important;overflow:hidden;background:var(--tev-surface-muted)!important}
.profile-photo-button img{display:block;width:100%;height:100%;object-fit:cover}
.profile-photo-button .photo-edit-badge{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);padding:4px 8px;border-radius:999px;background:rgba(50,16,47,.88);color:#fff;font-size:11px;line-height:1.1}
.password-change-card{max-width:960px;width:100%;margin-top:var(--tev-space-3);padding:0;background:var(--tev-surface);border:1px solid var(--tev-border);border-radius:var(--tev-radius-card);overflow:hidden}
.main details{max-width:960px;width:100%;border:1px solid var(--tev-border);border-radius:var(--tev-radius-card);background:var(--tev-surface);overflow:hidden;margin-top:var(--tev-space-3)}
.main details>summary{min-height:44px;display:flex;align-items:center;padding:0 var(--tev-space-4);font-size:var(--tev-body-size)!important;font-weight:600;cursor:pointer;list-style:none}
.main details>summary::-webkit-details-marker{display:none}
.main details>summary::after{content:'⌄';margin-left:auto;color:var(--tev-primary);font-size:14px}
.main details[open]>summary::after{transform:rotate(180deg)}
.main details>[data-accordion-body],.main details>.accordion-body{padding:var(--tev-space-4);border-top:1px solid var(--tev-border)}

/* Canonical row action menu. */
.tev-row-action-menu{position:relative;display:flex;align-items:center;justify-content:center;width:100%}
.tev-row-action-trigger{display:inline-flex;align-items:center;justify-content:center;width:34px!important;min-width:34px!important;height:34px!important;min-height:34px!important;padding:0!important;border:1px solid var(--tev-border)!important;border-radius:10px!important;background:#fff!important;color:var(--tev-text)!important;font-size:20px!important;line-height:1!important}
.tev-row-action-trigger:hover{border-color:var(--tev-border-strong)!important;background:var(--tev-surface-muted)!important}
.tev-row-action-popover{position:absolute;right:0;top:38px;z-index:60;min-width:150px;padding:6px;background:#fff;border:1px solid var(--tev-border);border-radius:10px;box-shadow:0 12px 30px rgba(0,0,0,.12)}
.tev-row-action-popover[hidden]{display:none!important}
.tev-row-action-item{display:block;width:100%;min-height:34px;border:0;background:transparent;text-align:left;padding:0 10px;border-radius:7px;color:var(--tev-text)}
.tev-row-action-item:hover{background:var(--tev-surface-muted)}
.tev-row-action-item--danger{color:var(--tev-danger)}

@media(max-width:700px){
  body #app .shell .main>.section-title,
  body #app .shell .main>.tev-page-title,
  body #app .shell .main>.title-actions>h1,
  body #app .shell .main .section-title,
  body #app .shell .main .tev-page-title{font-size:32px!important}
}
