/* Saned Design System v1.2.0. Use sd-* classes for new components. */
@import url('./tokens.css');
@import url('./pickers.css');
@import url('./number-entry.css');
@import url('./editable-lines.css');
@import url('./record-search.css');
@import url('./reply-progress.css');
.sd-page,.sd-page *,.sd-page *::before,.sd-page *::after{box-sizing:border-box}
.sd-page{margin:0;background:var(--paper);color:var(--ink);font:var(--text-md)/1.62 var(--sans);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}
html[lang=ar] .sd-page{font-family:var(--ar);font-size:15px;line-height:1.85}
.sd-page :where(button,input,select,textarea){font:inherit;color:inherit}
.sd-page :where(button,a,input,textarea,select,summary):focus-visible{outline:2px solid var(--brand-3);outline-offset:3px}
.sd-page :where(button,a){-webkit-tap-highlight-color:transparent}
.sd-page a{color:var(--brand);text-underline-offset:3px}
.sd-page h1,.sd-page h2,.sd-page h3,.sd-page p{margin-block:0 var(--space-3)}
.sd-page h1{font-size:32px;line-height:1.2;font-weight:600;letter-spacing:-.035em}
.sd-page h2{font-size:24px;line-height:1.3;font-weight:600;letter-spacing:-.025em}
.sd-page h3{font-size:16px;line-height:1.4;font-weight:600}
.sd-page [hidden]{display:none!important}
.sd-muted{color:var(--ink-muted)}
.sd-eyebrow{color:var(--ink-muted);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
html[lang=ar] .sd-eyebrow{letter-spacing:0}
.sd-mono{font-family:var(--mono);font-size:.9em}
.sd-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.sd-row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}
.sd-stack{display:flex;flex-direction:column;gap:var(--space-4)}
.sd-grow{flex:1;min-width:0}
.sd-divider{border:0;border-top:1px solid var(--line);margin:var(--space-6) 0}
.sd-brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none!important}
.sd-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--brand);color:var(--panel);font-weight:600;box-shadow:inset 0 1px 0 #ffffff29;flex:none}
.sd-wordmark{font:24px/1 var(--serif)}
html[lang=ar] .sd-wordmark{font:600 19px/1 var(--ar)}
.sd-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--control-h);padding:7px 14px;border:1px solid var(--line);border-radius:9px;background:var(--panel);font-size:12.5px!important;font-weight:600!important;line-height:1.5;color:var(--ink)!important;cursor:pointer;text-decoration:none!important;box-shadow:var(--sh-1);transition:background var(--motion-fast),border-color var(--motion-fast)}
.sd-btn:hover{background:var(--sunk);border-color:#d0cdc6}
.sd-btn--primary{background:var(--brand);border-color:var(--brand);color:white!important}
.sd-btn--primary:hover{background:var(--brand-2);border-color:var(--brand-2)}
.sd-btn--danger{background:var(--neg-soft);border-color:var(--neg-line);color:var(--neg-ink)!important}
.sd-btn--ghost{background:transparent;border-color:transparent;box-shadow:none}
.sd-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}
.sd-btn[aria-busy=true]{cursor:progress}
.sd-icon-btn{width:38px;padding:7px;flex:none}
.sd-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.sd-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--sh-1);min-width:0;overflow:hidden}
.sd-card-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 16px;background:var(--sunk);border-bottom:1px solid var(--line-2);font-size:12px;font-weight:600;color:var(--ink-2)}
.sd-card-body{padding:var(--space-5)}
.sd-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.sd-label{font-size:12px;font-weight:600}
.sd-input{width:100%;min-width:0;min-height:var(--control-h);background:var(--panel);border:1px solid #b2afa8;border-radius:var(--r-s);padding:8px 11px;font-size:13px!important;color:var(--ink);transition:border-color var(--motion-fast)}
.sd-input::placeholder{color:var(--ink-muted)}
.sd-input:focus{outline:none;border-color:var(--brand-3);box-shadow:var(--focus-ring)}
.sd-input[aria-invalid=true]{border-color:var(--neg);background:#fffaf9}
.sd-input:disabled{background:var(--rail);color:var(--ink-muted);cursor:not-allowed}
.sd-help{font-size:12px;color:var(--ink-muted)}
.sd-error{font-size:12px;color:var(--neg-ink)}
.sd-check{display:flex;align-items:center;gap:8px;font-size:13px}
.sd-check input{accent-color:var(--brand);width:16px;height:16px}
.sd-badge{display:inline-flex;align-items:center;gap:5px;padding:2px 7px;border-radius:6px;font-size:11px;line-height:1.6;font-weight:600;white-space:nowrap;background:var(--line-2);color:var(--ink-2);border:1px solid var(--line)}
.sd-badge--success{background:var(--pos-soft);color:var(--pos-ink);border-color:var(--pos-line)}
.sd-badge--warning{background:var(--warn-soft);color:var(--warn-ink);border-color:var(--warn-line)}
.sd-badge--danger{background:var(--neg-soft);color:var(--neg-ink);border-color:var(--neg-line)}
.sd-badge--info{background:var(--brand-soft);color:var(--brand-ink);border-color:var(--brand-line)}
.sd-alert{padding:12px 16px;border-inline-start:3px solid var(--brand);border-radius:var(--r-s);background:var(--brand-soft);color:var(--brand-ink);font-size:13px}
.sd-alert--success{background:var(--pos-soft);color:var(--pos-ink);border-color:var(--pos)}
.sd-alert--warning{background:var(--warn-soft);color:var(--warn-ink);border-color:var(--warn)}
.sd-alert--danger{background:var(--neg-soft);color:var(--neg-ink);border-color:var(--neg)}
.sd-table-wrap{overflow-x:auto}
.sd-table{width:100%;border-collapse:collapse;font-size:13px;text-align:start}
.sd-table caption{text-align:start;padding:12px 16px;font-weight:600}
.sd-table th{text-align:start;background:var(--sunk);color:var(--ink-muted);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--line);padding:10px 16px;white-space:nowrap}
.sd-table td{padding:11px 16px;border-bottom:1px solid var(--line-2);white-space:nowrap}
.sd-table tbody tr:hover{background:var(--sunk)}
.sd-table tbody tr:last-child td{border-bottom:0}
.sd-table tfoot td{font-weight:600;border-top:1px solid var(--line);background:var(--sunk)}
.sd-num{text-align:end!important;font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate}
.sd-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:1px;background:var(--line)}
.sd-kpi{background:var(--panel);padding:16px}
.sd-kpi strong{display:block;font-size:24px;font-weight:600;letter-spacing:-.03em}
.sd-kpi small{font-size:12px;color:var(--ink-muted)}
.sd-tabs{display:flex;gap:4px;padding:4px;border:1px solid var(--line);background:var(--rail);border-radius:9px;width:fit-content;max-width:100%;flex-wrap:wrap}
.sd-tabs button{border:0;border-radius:6px;padding:6px 12px;background:transparent;color:var(--ink-2);font-size:12px;font-weight:600;cursor:pointer}
.sd-tabs button[aria-selected=true],.sd-tabs button[aria-pressed=true]{background:var(--panel);color:var(--ink);box-shadow:var(--sh-1)}
.sd-tool{border:1px solid var(--line);border-radius:var(--r-m);background:var(--sunk);font-size:12px;overflow:hidden}
.sd-tool summary{padding:10px 14px;cursor:pointer;color:var(--ink-2)}
.sd-tool pre{padding:12px 14px;margin:0;border-top:1px solid var(--line);background:var(--panel);font:11px/1.8 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;direction:ltr;text-align:left}
.sd-message{display:flex;gap:12px;align-items:flex-start;font-size:14px}
.sd-message-body{min-width:0;flex:1}
.sd-message-meta{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:12px}
.sd-message-meta time{font-size:11px;color:var(--ink-muted)}
.sd-message--user{justify-content:flex-end}
.sd-bubble{max-width:82%;padding:14px 16px;background:var(--user-bg);color:#eaf1fa;border:1px solid #16304f;border-radius:17px;border-end-end-radius:6px;box-shadow:var(--sh-2)}
.sd-bubble p{margin:0}
.sd-composer{padding:12px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--sh-2)}
.sd-composer textarea{display:block;resize:vertical;width:100%;min-height:64px;max-height:180px;border:0;outline:none;background:transparent;padding:4px;font-size:13px;line-height:1.6}
.sd-composer:focus-within{border-color:var(--brand-3);box-shadow:var(--focus-ring)}
.sd-empty{padding:32px 20px;text-align:center;color:var(--ink-2)}
.sd-empty h3{color:var(--ink)}
.sd-skeleton{height:12px;background:linear-gradient(90deg,var(--line-2),var(--line),var(--line-2));background-size:200% 100%;border-radius:6px;animation:sd-shimmer 1.5s ease-in-out infinite}
@keyframes sd-shimmer{to{background-position:-200% 0}}
.sd-dialog{width:min(460px,calc(100% - 32px));max-height:85dvh;border:1px solid var(--line);border-radius:var(--r-l);padding:24px;background:var(--panel);color:var(--ink);box-shadow:var(--sh-2)}
.sd-dialog::backdrop{background:rgba(23,23,26,.44)}
.sd-dialog h2{font-size:20px}
.sd-dialog .sd-row{justify-content:flex-end;margin-top:20px}
.sd-layout{min-height:100dvh;display:grid;grid-template-rows:56px minmax(0,1fr)}
.sd-topbar{display:flex;align-items:center;gap:16px;padding:0 20px;border-bottom:1px solid var(--line);background:var(--panel)}
.sd-columns{display:grid;grid-template-columns:var(--rail-start) minmax(0,1fr) var(--rail-end)}
.sd-rail{background:var(--rail);padding:16px;border-inline-end:1px solid var(--line);min-width:0}
.sd-rail--end{border-inline-end:0;border-inline-start:1px solid var(--line)}
.sd-main{padding:24px;min-width:0}
.sd-thread{max-width:var(--thread-max);margin-inline:auto}
.sd-nav-item{display:block;text-decoration:none;padding:8px 10px;border-radius:9px;color:var(--ink-2)!important;font-size:13px}
.sd-nav-item[aria-current=page]{background:var(--panel);color:var(--ink)!important;box-shadow:var(--sh-1);border-inline-start:3px solid var(--brand)}
.sd-nav-item:hover{background:var(--line-2)}
.sd-mobile-nav,.sd-actions-trigger{display:none}
.sd-drawer-scrim{display:none}
@media(max-width:1180px){.sd-columns{grid-template-columns:248px minmax(0,1fr)}.sd-rail--end{display:none}.sd-actions-trigger{display:inline-flex}.sd-rail--end.sd-open{display:block;position:fixed;inset-block:0;inset-inline-end:0;width:min(306px,88vw);z-index:60;overflow:auto}.sd-drawer-scrim.sd-open{display:block;position:fixed;inset:0;background:#17171a70;z-index:50;border:0}}
@media(max-width:900px){.sd-columns{grid-template-columns:minmax(0,1fr)}.sd-rail--start{display:none}.sd-mobile-nav{display:inline-flex}.sd-rail--start.sd-open{display:block;position:fixed;inset-block:0;inset-inline-start:0;width:min(302px,86vw);z-index:60;overflow:auto}.sd-main{padding:20px}.sd-topbar{padding:0 12px;gap:8px}}
@media(max-width:430px){.sd-main{padding:16px}.sd-page h1{font-size:28px}.sd-bubble{max-width:92%}.sd-card-body{padding:16px}.sd-table td,.sd-table th{padding:10px 12px}}
@media(pointer:coarse){.sd-btn,.sd-tabs button,.picker-category,.picker-control input,.picker-control button{min-height:var(--touch-h)}.sd-input{min-height:44px;font-size:16px!important}.picker-control input{font-size:16px}.sd-icon-btn{width:44px}}
@media(prefers-reduced-motion:reduce){.sd-page *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
