:root{--bg:#F3F5F7;--surface:#FFFFFF;--sidebar:#FBFCFD;--border:#E3E7EC;--border-strong:#CBD4DD;--text:#17222D;--text-secondary:#5A6B7B;--text-muted:#93A1AF;--on-accent:#FFFFFF;--tooltip-bg:#17222D;--accent:#1C4E80;--accent-hover:#173F68;--focus-ring:0 0 0 3px rgba(28,78,128,.16);--nav-hover:#EEF2F6;--tone-green-fg:#146C3C;--tone-green-bg:#E7F4EC;--tone-blue-fg:#2458B3;--tone-blue-bg:#EAF1FB;--tone-violet-fg:#6D3FC0;--tone-violet-bg:#F1ECFB;--tone-red-fg:#B3261E;--tone-red-bg:#FCEAEA;--tone-amber-fg:#9A6112;--tone-amber-bg:#FBF1E2;--tone-teal-fg:#0E7569;--tone-teal-bg:#E5F4F2;--tone-gray-fg:#5A6B7B;--tone-gray-bg:#EEF1F4;--tone-navy-fg:#1C3D5A;--tone-navy-bg:#E6ECF3;--fs-xs:12px;--fs-sm:13px;--fs-md:14px;--fs-lg:16px;--fs-xl:20px;--fs-2xl:24px;--mono:ui-monospace,SFMono-Regular,Menlo,monospace;--r-chip:6px;--r-btn:8px;--r-card:12px;--r-pill:999px;--shadow-card:0 1px 2px rgba(23,34,45,.05);--shadow-lift:0 4px 14px rgba(23,34,45,.08);--shadow-tooltip:0 4px 14px rgba(23,34,45,.25);--ease-screen:cubic-bezier(.2,.7,.3,1)}body,html{margin:0;padding:0;height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-size:var(--fs-md)}*{box-sizing:border-box}button,input,select,textarea{font:inherit;color:inherit}::placeholder{color:var(--text-muted)}a{color:var(--accent)}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@keyframes screenIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes popIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(1turn)}}.screen-in{animation:screenIn .3s var(--ease-screen)}.ui-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--shadow-card);padding:18px 20px}.ui-badge{display:inline-block;border-radius:var(--r-pill);padding:2px 9px;font-size:var(--fs-xs);font-weight:600;white-space:nowrap}.ui-badge--strike{text-decoration:line-through}.ui-chip{display:inline-block;background:var(--tone-gray-bg);border:1px solid var(--border-strong);border-radius:var(--r-chip);padding:1px 7px;font-size:var(--fs-xs)}.ui-chip--mono{font-family:var(--mono)}.ui-banner{display:flex;justify-content:space-between;align-items:center;gap:12px;border-radius:var(--r-btn);padding:8px 14px;font-size:var(--fs-sm)}.ui-table{width:100%;border-collapse:collapse;font-size:var(--fs-md)}.ui-table th{text-align:left;padding:8px 10px;font-size:var(--fs-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border-strong)}.ui-table td{padding:9px 10px;border-bottom:1px solid var(--border)}.ui-table tbody tr{transition:background .15s}.ui-table tbody tr:hover{background:var(--sidebar)}.ui-btn{display:inline-flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-btn);padding:6px 12px;font-size:var(--fs-sm);font-weight:600;color:var(--text-secondary);cursor:pointer;transition:border-color .15s,color .15s,background .15s}.ui-btn:hover{border-color:var(--text-muted);color:var(--text)}.ui-btn:active{transform:scale(.98)}.ui-btn--primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.ui-btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--on-accent)}.ui-btn--primary:active{transform:scale(.96)}.ui-btn[disabled]{opacity:.5;cursor:not-allowed}.ui-btn[disabled]:active{transform:none}.ui-input{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-btn);padding:7px 10px;font-size:var(--fs-sm);transition:border-color .15s,box-shadow .15s}.ui-nav-item{display:flex;align-items:center;justify-content:space-between;width:100%;border:none;text-align:left;text-decoration:none;padding:8px 10px;border-radius:var(--r-btn);font-size:var(--fs-md);cursor:pointer;background:transparent;color:var(--text-secondary);font-weight:400;transition:background .15s,color .15s}.ui-nav-item:hover{background:var(--nav-hover)}.ui-nav-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.ui-nav-item--active{background:var(--tone-navy-bg);color:var(--tone-navy-fg);font-weight:600}.ui-skel{background:var(--tone-gray-bg);border-radius:var(--r-chip);animation:uiSkelPulse 1.2s ease-in-out infinite}@keyframes uiSkelPulse{0%,to{opacity:1}50%{opacity:.55}}.ui-empty{text-align:center;padding:36px 20px;color:var(--text-secondary);font-size:var(--fs-sm)}.ui-empty h2{font-size:var(--fs-lg);font-weight:600;color:var(--text);margin:0 0 6px}.ui-toast{display:inline-block;background:var(--tone-green-bg);border-radius:var(--r-chip);padding:5px 10px;font-size:var(--fs-xs);font-weight:600;animation:popIn .2s ease}.ui-btn--accept,.ui-btn--accept:hover,.ui-toast{color:var(--tone-green-fg)}.ui-btn--accept:hover{border-color:var(--tone-green-fg);background:var(--tone-green-bg)}.ui-btn--reject,.ui-btn--reject:hover{color:var(--tone-red-fg)}.ui-btn--reject:hover{border-color:var(--tone-red-fg);background:var(--tone-red-bg)}.ui-undo-bar{display:block;height:2px;border-radius:var(--r-pill);background:var(--border-strong);transform-origin:left center;animation-name:uiUndoDrain;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes uiUndoDrain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.ui-grid-row{transition:background .12s}.ui-grid-row:hover{background:var(--sidebar)}.ui-grid-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.ui-card-hover{transition:box-shadow .2s,transform .2s}.ui-card-hover:hover{box-shadow:var(--shadow-lift);transform:translateY(-1px)}.ui-link{color:var(--accent);font-weight:600;text-decoration:none;cursor:pointer}.ui-link:hover{text-decoration:underline}[data-tip]{position:relative}[data-tip]:focus-visible:after,[data-tip]:hover:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 7px);left:50%;transform:translateX(-50%);background:var(--tooltip-bg);color:var(--on-accent);font-size:var(--fs-xs);line-height:1.45;padding:7px 11px;border-radius:var(--r-chip);width:max-content;max-width:280px;box-shadow:var(--shadow-tooltip);z-index:1000;animation:fadeIn .15s ease;pointer-events:none}[data-tip][data-tip-side=right]:focus-visible:after,[data-tip][data-tip-side=right]:hover:after{bottom:auto;top:50%;left:calc(100% + 8px);transform:translateY(-50%)}.ui-filter-chip{display:inline-block;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-secondary);border-radius:var(--r-pill);padding:5px 12px;font-size:var(--fs-xs);font-weight:600;text-decoration:none;cursor:pointer;transition:background .18s,color .18s,border-color .18s}.ui-filter-chip:hover{border-color:var(--accent)}.ui-filter-chip:active{transform:scale(.96)}.ui-toggle{display:inline-flex;align-items:center;gap:7px;padding:4px;background:none;border:none;font-size:var(--fs-sm);color:var(--text-secondary);text-decoration:none;cursor:pointer;transition:color .15s}.ui-toggle:hover{color:var(--text)}.ui-toggle__track{position:relative;display:inline-block;width:30px;height:17px;border-radius:var(--r-pill);background:var(--border-strong);transition:background .18s}.ui-toggle__knob{position:absolute;top:2px;left:2px;width:13px;height:13px;border-radius:var(--r-pill);background:var(--surface);box-shadow:var(--shadow-card);transition:left .18s var(--ease-screen)}.ui-toggle--on .ui-toggle__track{background:var(--accent)}.ui-toggle--on .ui-toggle__knob{left:15px}.ui-wp-check{position:relative;width:22px;height:22px;border-radius:var(--r-pill);flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:0;font-size:var(--fs-sm);font-weight:700;line-height:1;color:var(--on-accent);cursor:pointer;transition:background .2s,border-color .2s,transform .12s}.ui-wp-check:before{content:"";position:absolute;inset:-6px;border-radius:inherit}.ui-wp-check:hover{transform:scale(1.12)}.ui-wp-check:active{transform:scale(.9)}.ui-wp-check:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ui-wp-check[disabled]{cursor:not-allowed}.ui-wp-check[disabled]:active,.ui-wp-check[disabled]:hover{transform:none}