/* Shared visual language. Screen-only: existing client documents keep their layout. */
:root{
 --ui-font:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
 --ui-bg:#f3f5f8;--ui-surface:#fff;--ui-soft:#f7f9fc;--ui-text:#243244;--ui-muted:#617184;--ui-line:#dce3ec;
 --ui-brand:#e8b74b;--ui-brand-ink:#30250c;--ui-focus:#916814;
 --ui-green-bg:#eaf6ee;--ui-green-ink:#216239;--ui-green-line:#9bcaaa;
 --ui-yellow-bg:#fff6dd;--ui-yellow-ink:#795609;--ui-yellow-line:#ddc16b;
 --ui-red-bg:#fceeed;--ui-red-ink:#96352e;--ui-red-line:#dda39e;
 --ui-blue-bg:#eaf2fc;--ui-blue-ink:#295a8b;--ui-blue-line:#a3bfdf;
 --ui-purple-bg:#f0ebfa;--ui-purple-ink:#65448b;--ui-purple-line:#c5b1df;
 --ui-neutral-bg:#eef2f6;--ui-neutral-ink:#526276;--ui-neutral-line:#c9d3df;
 --ui-radius:12px;--ui-control-radius:8px;--ui-shadow:0 3px 14px #24324408;
}
@media screen{
 body{font-family:var(--ui-font);font-size:14px;line-height:1.55;color:var(--ui-text);background:var(--ui-bg)}
 input,select,textarea,button,.button{font-family:var(--ui-font)}
 h1{font-size:28px;line-height:1.2;letter-spacing:-.6px;font-weight:750}h2{font-size:19px;line-height:1.35;font-weight:700;letter-spacing:-.2px}h3{font-size:16px;line-height:1.4;font-weight:650}p{line-height:1.6}small,.muted,.field-hint,.combo-help{color:var(--ui-muted);font-size:12px;line-height:1.5}
 main{width:auto;min-width:0}main>header{margin-bottom:26px}header h1{overflow-wrap:anywhere}
 .panel,.stats article,.admin-summary article,.login,.finance-section-nav{background:var(--ui-surface);border-color:var(--ui-line);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow)}.panel{padding:24px;margin-bottom:22px}
 label,.field-label{font-size:13px;font-weight:600;color:#4e5e70}.grid{gap:18px 20px}fieldset{min-width:0;border:1px solid var(--ui-line);border-radius:var(--ui-control-radius);padding:16px}legend{font-size:13px;font-weight:650;padding:0 6px;color:var(--ui-muted)}
 input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea,.field input,.field textarea{font-size:14px;line-height:1.5;min-height:44px;border:1px solid #cbd5e1;border-radius:var(--ui-control-radius);background:#fff;color:var(--ui-text);padding:10px 12px}
 textarea{min-height:90px}input[type=checkbox],input[type=radio]{accent-color:#916814}input:disabled,select:disabled,textarea:disabled{background:#edf1f5!important;color:#738093!important;cursor:not-allowed}input[type=file]{max-width:100%;overflow:hidden}input[type=file]::file-selector-button{font:600 12px var(--ui-font);padding:7px 10px;background:var(--ui-neutral-bg);color:var(--ui-neutral-ink);border:1px solid var(--ui-neutral-line);border-radius:6px;margin-right:10px;cursor:pointer}
 .password-control input,.field .password-control input{padding-right:49px}.combo-input{padding-right:34px!important}.field-invalid{border-color:var(--ui-red-line)!important;background:var(--ui-red-bg)!important}
 button,.button,.panel button:not(.password-toggle),.panel .button{font-size:13px;font-weight:650;line-height:1.4;min-height:44px;padding:11px 16px;border:1px solid transparent;border-radius:var(--ui-control-radius);background:var(--ui-brand);color:var(--ui-brand-ink);box-shadow:none}
 .button.secondary,button.secondary,.panel .button.secondary,.panel button.secondary{background:var(--ui-neutral-bg);color:var(--ui-neutral-ink);border-color:var(--ui-neutral-line)}
 .button.button-outline,.panel .button.button-outline{background:#fff;color:var(--ui-neutral-ink);border-color:var(--ui-neutral-line)}
 button.danger,.button.danger,.panel button.danger{background:var(--ui-red-bg);color:var(--ui-red-ink);border-color:var(--ui-red-line)}
 .button.button-compact,.panel .button.button-compact{padding:10px 12px;font-size:12px;min-height:44px;border-radius:var(--ui-control-radius)}
 button:hover,.button:hover{filter:brightness(.97)}button:disabled{cursor:not-allowed;opacity:.55}
 :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--ui-focus);outline-offset:3px}
 .panel .password-toggle,.password-toggle{position:absolute;min-height:36px;min-width:36px;padding:8px;border:0;background:transparent;color:var(--ui-muted);box-shadow:none}.password-toggle:hover{background:var(--ui-neutral-bg)}
 .profile-popup .logout-button{background:var(--ui-red-bg);color:var(--ui-red-ink)}
 #sidebar-toggle{background:transparent;color:#b3bfce;min-height:30px;padding:5px;border:1px solid #45505d}.profile-menu summary{border:0}.profile-avatar{background:var(--ui-brand)}
 .actions,.filter-controls,.filter-exports,.row-actions,.registry-actions,.admin-row-actions{gap:10px}.registry-actions,.admin-row-actions{align-items:center}.actions h2,.actions h3{margin-bottom:0}
 .table{border:1px solid var(--ui-line);border-radius:9px;scrollbar-width:thin;scrollbar-color:#b9c6d5 transparent}.table table{margin:0}th{background:var(--ui-soft);color:#627186;font-size:11px;font-weight:700;letter-spacing:.55px;line-height:1.5;padding:14px 12px}td{font-size:13px;line-height:1.55;padding:15px 12px;border-color:#e5eaf0}tbody tr:last-child td{border-bottom:0}td strong{font-weight:650}td small{font-size:12px}td .badge{white-space:normal}.table .row-actions{white-space:normal}
 .badge,.billing-badge,.shipment-status,.agenda-status,.payment-history-origin{font-family:var(--ui-font);font-size:12px;font-weight:650;line-height:1.4;border-radius:6px;border:1px solid var(--ui-yellow-line);padding:6px 10px;background:var(--ui-yellow-bg);color:var(--ui-yellow-ink);min-height:30px}
 /* A status has the same color in every module. */
 .status-done,.billing-badge-paid,.payment-badge-active,.shipment-status-success,.finance-metric-paid,.receipt-card-paid{background:var(--ui-green-bg);color:var(--ui-green-ink);border-color:var(--ui-green-line)}
 .status-wait,.billing-badge-partial,.billing-badge-open,.shipment-status-warning,.finance-metric-open,.receipt-card-open{background:var(--ui-yellow-bg);color:var(--ui-yellow-ink);border-color:var(--ui-yellow-line)}
 .status-cancel,.badge.overdue,.billing-badge-overdue,.payment-badge-cancelled,.shipment-status-danger,.finance-metric-overdue,.receipt-card-cancelled{background:var(--ui-red-bg);color:var(--ui-red-ink);border-color:var(--ui-red-line)}
 .status-open,.status-progress,.billing-badge-upcoming,.shipment-status-info,.finance-metric-total,.payment-origin-os{background:var(--ui-blue-bg);color:var(--ui-blue-ink);border-color:var(--ui-blue-line)}
 .shipment-status-purple,.payment-origin-client{background:var(--ui-purple-bg);color:var(--ui-purple-ink);border-color:var(--ui-purple-line)}
 .billing-badge-neutral,.shipment-status-neutral,.agenda-result-count,.receipt-scope{background:var(--ui-neutral-bg);color:var(--ui-neutral-ink);border-color:var(--ui-neutral-line)}
 .agenda-tone-waiting{--agenda-bg:var(--ui-yellow-bg);--agenda-ink:var(--ui-yellow-ink);--agenda-border:var(--ui-yellow-line)}.agenda-tone-progress{--agenda-bg:var(--ui-blue-bg);--agenda-ink:var(--ui-blue-ink);--agenda-border:var(--ui-blue-line)}.agenda-tone-confirmed{--agenda-bg:var(--ui-purple-bg);--agenda-ink:var(--ui-purple-ink);--agenda-border:var(--ui-purple-line)}.agenda-tone-done{--agenda-bg:var(--ui-green-bg);--agenda-ink:var(--ui-green-ink);--agenda-border:var(--ui-green-line)}.agenda-tone-cancelled{--agenda-bg:var(--ui-red-bg);--agenda-ink:var(--ui-red-ink);--agenda-border:var(--ui-red-line)}
 .agenda-status{background:var(--agenda-bg);color:var(--agenda-ink);border-color:var(--agenda-border)}
 .finance-received,.admin-positive,.audit-after{color:var(--ui-green-ink)}.finance-overdue{color:var(--ui-red-ink)}.admin-pending{color:var(--ui-yellow-ink)}
 .billing-row-paid>td:first-child{background:var(--ui-green-bg);border-left-color:var(--ui-green-line)}.billing-row-open>td:first-child,.billing-row-partial>td:first-child{border-left-color:var(--ui-yellow-line)}.billing-row-overdue>td:first-child{background:var(--ui-red-bg);border-left-color:var(--ui-red-line)}
 .shipment-progress-row-success>td:first-child{border-left-color:var(--ui-green-line)}.shipment-progress-row-warning>td:first-child{border-left-color:var(--ui-yellow-line)}.shipment-progress-row-danger>td:first-child{border-left-color:var(--ui-red-line)}.shipment-progress-row-purple>td:first-child{border-left-color:var(--ui-purple-line)}.shipment-progress-row-info>td:first-child{border-left-color:var(--ui-blue-line)}
 .finance-metric,.receipt-summary-card,.dashboard-count{border-radius:10px;padding:20px}.finance-metric>strong,.receipt-summary-card>strong,.admin-summary article>strong{font-size:26px;line-height:1.2;font-weight:750;font-variant-numeric:tabular-nums;margin:9px 0}.finance-metric small,.receipt-summary-card small{color:inherit;opacity:1}.admin-summary article>.admin-summary-date{font-size:18px}
 .receipt-content-box,.admin-role-grid article,.payment-distribution{background:var(--ui-soft);border-color:var(--ui-line);border-radius:10px}.receipt-content-box h3,.dashboard-work-grid h2{font-size:16px}.payment-card{border-color:var(--ui-line);border-radius:10px}.payment-card-cancelled{background:var(--ui-soft)}
 :is(.registry-create,.agenda-create,.admin-details,.receipt-edit,.receipt-cancel,.email-settings)>summary{font-family:var(--ui-font);font-size:15px;font-weight:650;min-height:44px;line-height:1.5;color:var(--ui-text)}.receipt-cancel>summary{color:var(--ui-red-ink)}
 .panel>details{border-color:var(--ui-line)}.panel>details:last-child{border-bottom:0}.shipment-fold-title{font-size:18px;color:var(--ui-text)}.shipment-fold-status{font-size:12px;color:var(--ui-muted)}.shipment-fold-hint,.admin-copy-action{background:var(--ui-neutral-bg);color:var(--ui-neutral-ink);font-size:12px;border-radius:6px;font-weight:600}
 .payment-cancel>summary{background:var(--ui-red-bg);color:var(--ui-red-ink);border-color:var(--ui-red-line);font-family:var(--ui-font)}.payment-cancel-body{background:#fff;border-color:var(--ui-red-line)}.attachment-control>summary{background:var(--ui-neutral-bg);color:var(--ui-neutral-ink);border-color:var(--ui-neutral-line);font-family:var(--ui-font)}
 .finance-section-tab{font-family:var(--ui-font);background:var(--ui-neutral-bg);color:var(--ui-neutral-ink);border-radius:var(--ui-control-radius)}.finance-section-tab.is-active{background:var(--ui-yellow-bg);color:var(--ui-yellow-ink);border-color:var(--ui-yellow-line)}
 .combo-options,.profile-popup{border-color:var(--ui-line);border-radius:10px;box-shadow:0 12px 32px #20304425}.combo-option{min-height:44px;border:0;background:#fff;color:var(--ui-text);font-size:13px;text-align:left;font-weight:400;padding:10px 12px}.combo-option:hover,.combo-option.highlighted{background:var(--ui-yellow-bg)}.combo-option[aria-selected=true]{background:var(--ui-neutral-bg)}
 .error,.success{padding:15px 17px;border:1px solid;border-left-width:4px;border-radius:9px;font-size:13px}.error,.app-toast-error{background:var(--ui-red-bg);color:var(--ui-red-ink);border-color:var(--ui-red-line)}.success,.app-toast-success{background:var(--ui-green-bg);color:var(--ui-green-ink);border-color:var(--ui-green-line)}.app-toast{font-family:var(--ui-font);border-radius:10px}.app-toast-success .toast-icon{background:var(--ui-green-ink)}.app-toast-error .toast-icon{background:var(--ui-red-ink)}.toast-copy p{font-size:13px;color:inherit}
 button.toast-close{font:26px/1 var(--ui-font);padding:0;min-height:40px;min-width:40px;border:0;background:transparent;color:inherit}
 .empty,.dashboard-no-tasks,.dashboard-empty-agenda{font-size:13px;color:var(--ui-muted)}
 .ui-modal{width:min(460px,calc(100% - 32px));max-height:calc(100dvh - 48px);padding:24px;border:1px solid var(--ui-line);border-radius:14px;background:var(--ui-surface);color:var(--ui-text);box-shadow:0 24px 80px #10203038;font-family:var(--ui-font);overflow:auto}.ui-modal:not([open]){display:none}.ui-modal::backdrop{background:#101b2e80}.ui-modal h2{margin:0 0 12px;font-size:20px}.ui-modal p{font-size:14px;margin:0 0 24px;white-space:pre-line;overflow-wrap:anywhere}.ui-modal-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.ui-modal-actions button{min-width:100px}
}
@media screen and (max-width:700px){
 body{font-size:14px}main{padding:20px 14px}.panel{padding:18px;margin-bottom:18px}h1{font-size:24px}h2{font-size:18px}input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea,.field input,.field textarea{font-size:16px}button,.button,.panel button:not(.password-toggle),.panel .button{min-height:44px}aside nav a{min-height:40px}.grid{gap:16px}.finance-metric>strong,.receipt-summary-card>strong{font-size:25px}.ui-modal{padding:20px}.ui-modal-actions button{flex:1}
}
@media(prefers-reduced-motion:reduce){.ui-modal,.app-toast{animation:none}}
@media screen and (min-width:701px){aside .nav-label{white-space:normal;line-height:1.4;overflow-wrap:anywhere}aside nav a{min-width:0}}
@media screen{.billing-badge-cancelled{background:var(--ui-red-bg);color:var(--ui-red-ink);border-color:var(--ui-red-line)}.billing-row-cancelled>td:first-child{background:var(--ui-red-bg);border-left-color:var(--ui-red-line)}
.badge.ui-tone-success{background:var(--ui-green-bg);color:var(--ui-green-ink);border-color:var(--ui-green-line)}.badge.ui-tone-warning{background:var(--ui-yellow-bg);color:var(--ui-yellow-ink);border-color:var(--ui-yellow-line)}.badge.ui-tone-danger{background:var(--ui-red-bg);color:var(--ui-red-ink);border-color:var(--ui-red-line)}.badge.ui-tone-info{background:var(--ui-blue-bg);color:var(--ui-blue-ink);border-color:var(--ui-blue-line)}.badge.ui-tone-purple{background:var(--ui-purple-bg);color:var(--ui-purple-ink);border-color:var(--ui-purple-line)}}
@media screen{.line-preview,.agenda-notices{background:var(--ui-yellow-bg);color:var(--ui-yellow-ink);border-color:var(--ui-yellow-line);border-radius:10px}.receipt-edit-base{background:var(--ui-neutral-bg);color:var(--ui-neutral-ink)}.agenda-notices h2 a{margin:0;text-decoration:none}.agenda-notices h2{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.audit-section{border-color:var(--ui-line)}.audit-change,.dashboard-no-tasks,.dashboard-empty-agenda{background:var(--ui-soft);border-color:var(--ui-line)}.empty{padding:28px 16px}}
@media print{.ui-modal{display:none!important}}
@media screen{.badge.ui-tone-neutral{background:var(--ui-neutral-bg);color:var(--ui-neutral-ink);border-color:var(--ui-neutral-line)}}
