/* ===== Theme: Warm Sandstone (html[data-theme="sand"]) — Electric Blue in style.css stays the default ===== */
@font-face{font-family:"Noto Serif Display";src:url("fonts/NotoSerifDisplay.woff2") format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Nunito";src:url("fonts/Nunito.woff2") format("woff2");font-weight:200 1000;font-display:swap}
@font-face{font-family:"Noto Serif SC Local";src:url("fonts/NotoSerifSC-sub.woff2") format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+2E80-9FFF,U+F900-FAFF,U+FE30-FE4F,U+FF00-FFEF,U+3000-303F,U+2018-201D,U+2026,U+00B7}
html[data-theme="sand"]{color-scheme:light;
 --bg:#F6F1EA;--card:#FFFDF9;--ink:#3A2F28;--mute:#8A7B6E;--line:#E8DED2;--chip:#F0E8DD;--thbg:#F8F3EC;
 --side:#EFE6DA;--sideink:#5A4A3E;--sidehi:#3A2F28;--hover:#E6D9C8;--navon:#A65F3D;--brand:#8C4F33;
 --acc:#A65F3D;--acc2:#8E4F31;--hero:linear-gradient(135deg,#B9774F,#8E5A3C);--herol:#F6E3D3;
 --hfont:"Noto Serif Display","Noto Serif SC Local","Noto Serif CJK SC","Songti SC",Georgia,serif;
 --bfont:"Nunito","Noto Serif SC Local","Segoe UI","Noto Sans SC",sans-serif;
 --r:18px;--rs:999px;--sh:0 6px 20px rgba(90,60,40,.07);
 --sA:#5E8C61;--sR:#D4A23A;--sO:#7A7068;--sF:#5B6FB5;--sE:#B5483B;--sT:#3E8E96;--sH:#9B6FA8;
 /* legacy vars used by style.css */
 --blue:#A65F3D;--blue2:#8E4F31;--teal:#3E8E96;--cyan:#4FA3AA;--navy:#3A2F28;--slate:#8A7B6E;--disp:var(--hfont)}
[data-theme="sand"] body{font-family:var(--bfont);background:var(--bg);color:var(--ink)}
[data-theme="sand"] h1,[data-theme="sand"] h2,[data-theme="sand"] h3,[data-theme="sand"] h4{color:var(--ink);font-family:var(--hfont);font-weight:600}
[data-theme="sand"] h1{font-size:23px;letter-spacing:0}
[data-theme="sand"] .muted,[data-theme="sand"] .kv b,[data-theme="sand"] form.f label,[data-theme="sand"] .rowlbl{color:var(--mute)}
[data-theme="sand"] aside{background:var(--side);color:var(--sideink);border-right:1px solid var(--line);box-shadow:none}
[data-theme="sand"] .brand{font-family:var(--hfont);color:var(--brand);border-bottom-color:var(--line);letter-spacing:0;font-size:15px;font-weight:600}
[data-theme="sand"] nav a{color:var(--sideink);border-radius:var(--rs);margin:3px 0;padding:9px 16px}
[data-theme="sand"] nav a:hover{background:var(--hover);color:var(--sidehi)}
[data-theme="sand"] nav a.on{background:var(--navon);color:#fff;box-shadow:0 4px 12px rgba(166,95,61,.25)}
[data-theme="sand"] .card,[data-theme="sand"] .panel,[data-theme="sand"] .mbox,[data-theme="sand"] .lead{border-radius:var(--r);box-shadow:var(--sh);background:var(--card);border:1px solid var(--line)}
[data-theme="sand"] .card .l{color:var(--mute)}
[data-theme="sand"] .card .v{font-family:var(--hfont);color:var(--ink);font-weight:600;font-size:26px}
[data-theme="sand"] .card.hero,[data-theme="sand"] .hero{background:var(--hero);color:#fff;border:0;box-shadow:0 10px 26px rgba(142,90,60,.25)}
[data-theme="sand"] .card.hero .l{color:var(--herol)}[data-theme="sand"] .card.hero .v{color:#fff;font-size:30px}
[data-theme="sand"] .btn{background:var(--acc);color:#fff;border-radius:var(--rs);font-family:var(--bfont)}[data-theme="sand"] .btn:hover{background:var(--acc2)}
[data-theme="sand"] .btn.ghost{background:transparent;color:var(--sideink);border:1px solid #D9CBB9}[data-theme="sand"] .btn.ghost:hover{background:var(--hover)}
[data-theme="sand"] .btn.tealbtn{background:var(--sT)}[data-theme="sand"] .btn.tealbtn:hover{background:#337880}
[data-theme="sand"] .btn.sec{background:var(--chip);color:var(--ink)}[data-theme="sand"] .btn.sec:hover{background:var(--hover)}
[data-theme="sand"] .btn.red{background:var(--sE)}
[data-theme="sand"] select,[data-theme="sand"] input,[data-theme="sand"] textarea{border-radius:12px;border-color:#DCCFBF;background:var(--card);color:var(--ink)}
[data-theme="sand"] select:focus,[data-theme="sand"] input:focus,[data-theme="sand"] textarea:focus{outline:2px solid #E2B79C;border-color:var(--acc)}
[data-theme="sand"] th{background:var(--thbg);color:var(--mute)}[data-theme="sand"] td,[data-theme="sand"] th{border-bottom-color:var(--line)}
[data-theme="sand"] a{color:var(--acc)}
[data-theme="sand"] .bar{background:var(--chip)!important}[data-theme="sand"] .bar i{background:linear-gradient(90deg,#B9774F,#8E5A3C)!important}
[data-theme="sand"] .col{background:var(--chip)}[data-theme="sand"] .cal div{background:var(--card)}[data-theme="sand"] .cal .h{background:none}
[data-theme="sand"] .ev{background:var(--acc)}[data-theme="sand"] .ev.c{background:var(--sT)}
[data-theme="sand"] .pill{background:var(--chip);color:var(--acc)}[data-theme="sand"] .pill.used{background:#E7E0F0;color:#6B4F7A}
[data-theme="sand"] .niche{border-radius:10px}[data-theme="sand"] .niche b{font-family:var(--bfont)}[data-theme="sand"] .niche:hover{border-color:var(--ink)}
[data-theme="sand"] .calc{background:var(--chip);color:var(--acc)}[data-theme="sand"] .err,[data-theme="sand"] .calc .err{color:var(--sE)}
/* status colours */
[data-theme="sand"] .s-Available{background:var(--sA)}[data-theme="sand"] .s-Reserved{background:var(--sR)}[data-theme="sand"] .s-Occupied{background:var(--sO)}[data-theme="sand"] .s-FullyPaid{background:var(--sF)}[data-theme="sand"] .s-Expired{background:var(--sE)}[data-theme="sand"] .s-Onhold{background:var(--sH)}
[data-theme="sand"] .legend span.s-Availablex::before{background:var(--sA)}[data-theme="sand"] .legend span.s-Reservedx::before{background:var(--sR)}[data-theme="sand"] .legend span.s-Occupiedx::before{background:var(--sO)}[data-theme="sand"] .legend span.s-FullyPaidx::before{background:var(--sF)}[data-theme="sand"] .legend span.s-Expiredx::before{background:var(--sE)}[data-theme="sand"] .legend span.s-Onholdx::before{background:var(--sH)}
[data-theme="sand"] .holdbox{background:#F5EEF7;border-color:#D2BCDA}
/* modal + toast */
[data-theme="sand"] #modal{background:rgba(58,47,40,.45)}[data-theme="sand"] .x{color:var(--mute)}
[data-theme="sand"] #toast{background:var(--ink);color:var(--bg);border-radius:14px;font-family:var(--bfont)}
/* login + boot */
[data-theme="sand"] #login{background:radial-gradient(circle at 30% 20%,#FBF6EF,#F1E6D8 50%,#E6D5C1)}
[data-theme="sand"] .loginbox{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 14px 40px rgba(90,60,40,.16)}
[data-theme="sand"] .loginbox .brand{color:var(--brand);font-size:20px}[data-theme="sand"] .loginbox label{color:var(--mute)}[data-theme="sand"] .loginbox .err{color:var(--sE)}
/* busy overlay + spinners */
[data-theme="sand"] #busy.show{background:rgba(246,241,234,.65)}
[data-theme="sand"] .busybox{background:var(--card);border-color:var(--line);color:var(--acc);box-shadow:0 14px 40px rgba(90,60,40,.18)}
[data-theme="sand"] .spin{border-color:#EADBC9;border-top-color:#A65F3D;border-right-color:#D4A23A}
[data-theme="sand"] .spinwrap{color:var(--acc)}
/* Excel view + import preview */
[data-theme="sand"] .seg{border-color:#D9CBB9;border-radius:var(--rs)}[data-theme="sand"] .seg button{background:var(--card);color:var(--ink)}[data-theme="sand"] .seg button.on{background:var(--acc);color:#fff}
[data-theme="sand"] .xlwrap{border-color:var(--line);background:var(--card);border-radius:12px}
[data-theme="sand"] table.xl th,[data-theme="sand"] table.xl td{border-color:var(--line)}
[data-theme="sand"] table.xl thead th,[data-theme="sand"] table.xl thead .fz{background:#F1E8DC;color:var(--ink)}
[data-theme="sand"] table.xl .xltitle th{background:var(--card);font-family:var(--hfont)}[data-theme="sand"] table.xl .fz{background:var(--card)}
[data-theme="sand"] table.xl .rn{background:#F8F3EC;color:var(--mute)}[data-theme="sand"] table.xl tbody tr:hover td{background:#FBF4EA}
[data-theme="sand"] .st-Available .stc{background:#E3EEE3!important}[data-theme="sand"] .st-Reserved .stc{background:#F8EDD2!important}[data-theme="sand"] .st-FullyPaid .stc{background:#E2E6F4!important}[data-theme="sand"] .st-Occupied .stc{background:#ECE8E4!important}[data-theme="sand"] .st-Expired .stc{background:#F3DEDA!important}[data-theme="sand"] .st-Onhold td.stc{color:var(--sH)}
[data-theme="sand"] .k-new{background:#E3EEE3}[data-theme="sand"] .k-changed{background:#E2E6F4}[data-theme="sand"] .k-error{background:#F3DEDA}[data-theme="sand"] .k-unchanged{background:#F3EEE7}
[data-theme="sand"] .old{color:var(--sE)}[data-theme="sand"] .new,[data-theme="sand"] .ic-new .v{color:#4A7A4D}[data-theme="sand"] .ic-changed .v{color:var(--sF)}[data-theme="sand"] .ic-error .v{color:var(--sE)}[data-theme="sand"] .warn,[data-theme="sand"] .ic-warn .v{color:#9A6E12}
/* theme switcher (both themes) */
.themesel{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--slate,#64748B)}.themesel select{width:100%;padding:6px 8px}
