:root{--canvas:#f2efe9;--surface:#fff;--surface2:#f6f3ec;--surface3:#ece7db;--txt:#1c1a17;--muted:#736c60;--line:#e7e1d6;--line-strong:#d8d0c0;--accent:#146b64;--accent-hover:#0f544e;--accent-tint:#dcece9;--sand:#b6a07f;--ok:#3f7d54;--warn:#c07d15;--danger:#c14434;--danger-tint:#f5ded9;--side-grad-top:#20302c;--side-grad-bottom:#141d1a;--shadow-1:0 1px 2px rgba(60,50,30,.06),0 2px 8px rgba(60,50,30,.07);--shadow-2:0 2px 6px rgba(60,50,30,.07),0 10px 28px rgba(60,50,30,.1);--shadow-3:0 6px 16px rgba(40,32,18,.12),0 20px 48px rgba(40,32,18,.16);--r-sm:10px;--r:12px;--r-lg:16px;--font-ui:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--font-display:var(--font-ui);--tap:44px}:root[data-theme=dark]{--canvas:#12100c;--surface:#1b1813;--surface2:#232019;--surface3:#2a2620;--txt:#f1ece2;--muted:#a39a89;--line:#2c281f;--line-strong:#3a352a;--accent:#3fb0a5;--accent-hover:#56c2b8;--accent-deep:#2c8b82;--accent-tint:#123330;--sand:#b6a07f;--ok:#5aa171;--warn:#d3922e;--danger:#e0705f;--danger-tint:#3a1f1a;--side-grad-top:#0d1512;--side-grad-bottom:#050908;--shadow-1:0 1px 2px rgba(0,0,0,.35),0 2px 8px rgba(0,0,0,.3);--shadow-2:0 2px 6px rgba(0,0,0,.4),0 10px 28px rgba(0,0,0,.35);--shadow-3:0 6px 16px rgba(0,0,0,.5),0 20px 48px rgba(0,0,0,.45)}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;height:100%}body{background:var(--canvas);color:var(--txt);font-family:var(--font-ui);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:8px}::-webkit-scrollbar-track{background:transparent}.uidlg-overlay{position:fixed;inset:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(20,24,20,.45);opacity:0;transition:opacity .14s ease}.uidlg-overlay.show{opacity:1}body.uidlg-lock{overflow:hidden}.uidlg-card{width:100%;max-width:400px;background:var(--surface);color:var(--txt);border:0;border-radius:var(--r-lg);box-shadow:var(--shadow-3);padding:22px;transition:transform .14s ease}@media (prefers-reduced-motion:no-preference){.uidlg-card{transform:translateY(8px) scale(.98)}.uidlg-overlay.show .uidlg-card{transform:none}}.uidlg-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.uidlg-icon{display:none}.uidlg-title{margin:0;font-size:17px;font-weight:650;letter-spacing:-.01em}.uidlg-msg{margin:0 0 14px;color:var(--muted);font-size:14px;line-height:1.5}.uidlg-input{width:100%;min-height:var(--tap);padding:10px 12px;border:0;border-radius:var(--r-sm);background:var(--surface2);color:var(--txt);font:inherit;font-size:15px;outline:2px solid transparent;outline-offset:2px;transition:outline-color .12s ease}.uidlg-input:focus{outline-color:var(--accent)}@media (prefers-reduced-motion:no-preference){.uidlg-input.shake{animation:uidlgShake .36s ease}@keyframes uidlgShake{20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}}.uidlg-err{margin-top:8px;color:var(--danger);font-size:13px}.uidlg-foot{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.uidlg-btn{min-height:var(--tap);padding:0 18px;border:0;border-radius:var(--r-sm);font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background .12s ease,color .12s ease}.uidlg-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.uidlg-btn.ghost{background:var(--surface2);color:var(--txt)}.uidlg-btn.ghost:hover{background:var(--surface3)}.uidlg-btn.primary{background:var(--accent);color:#fff}.uidlg-btn.primary:hover{background:var(--accent-hover)}.uidlg-btn.primary.danger{background:var(--danger)}.uidlg-btn.primary.danger:hover{background:color-mix(in srgb,var(--danger) 88%,#000)}.datepicker-picker{background:var(--surface);color:var(--txt);border:0;border-radius:var(--r);box-shadow:var(--shadow-3);font-family:var(--font-ui);font-size:.82rem;padding:8px;max-width:calc(100vw - 24px)}.datepicker-picker span{border-radius:var(--r-sm)}.datepicker .datepicker-cell{width:2.1rem}.datepicker .datepicker-footer .dp-btn,.datepicker .datepicker-header .dp-btn{background:transparent!important;border:0;border-radius:var(--r-sm);color:var(--txt)!important;font:inherit;font-weight:600;min-height:32px;padding:4px 8px;cursor:pointer}.datepicker .datepicker-footer .dp-btn:hover,.datepicker .datepicker-header .dp-btn:hover{background:var(--surface2)!important}.datepicker .datepicker-title{font-weight:700;color:var(--txt)!important}.datepicker .datepicker-cell{color:var(--txt)!important}.datepicker .datepicker-cell.day,.datepicker .datepicker-cell.decade,.datepicker .datepicker-cell.month,.datepicker .datepicker-cell.year{height:1.9rem;line-height:1.9rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.datepicker .datepicker-cell.focused:not(.selected),.datepicker .datepicker-cell:not(.disabled):not(.selected):hover{background:var(--surface2)!important;color:var(--txt)!important}.datepicker .datepicker-cell.selected,.datepicker .datepicker-cell.selected.focused,.datepicker .datepicker-cell.selected:hover{background:var(--accent)!important;color:#fff!important}.datepicker .datepicker-cell.range,.datepicker .datepicker-cell.range:hover,.datepicker .datepicker-cell.today:not(.selected){background:var(--accent-tint)!important;color:var(--accent)!important}.datepicker .datepicker-cell.disabled,.datepicker .datepicker-cell.next,.datepicker .datepicker-cell.prev{color:var(--muted)!important;opacity:.55}.datepicker .dow{color:var(--muted)!important;font-weight:600}