:root{font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color-scheme:light;font-size:15px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}body[data-theme=cream]{--bg:#f8eee4;--surface:#fffaf5;--surface2:#f1e0ce;--ink:#3e251b;--muted:#8b7669;--accent:#8c471f;--line:#e8d5c3;--good:#236e52;--danger:#b5433a}body[data-theme=pearl]{--bg:#f5f5f4;--surface:#fff;--surface2:#eae8e5;--ink:#2d2926;--muted:#807b77;--accent:#965226;--line:#e5e1dd;--good:#236e52;--danger:#b5433a}body[data-theme=espresso]{--bg:#1e1714;--surface:#2f231f;--surface2:#473128;--ink:#f7ece2;--muted:#cab9ad;--accent:#dba16d;--line:#4e3c33;--good:#7fdfae;--danger:#ef9b91}body[data-theme=rose]{--bg:#f9edf0;--surface:#fff9fb;--surface2:#f0dce3;--ink:#482c35;--muted:#927d85;--accent:#a45a70;--line:#ecd7dd;--good:#236e52;--danger:#b5433a}body{background:var(--bg);color:var(--ink);min-height:100vh}#app{min-height:100vh}.shell{max-width:1180px;margin:auto;display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh}.side{background:var(--surface);border-inline-end:1px solid var(--line);padding:25px 14px;display:flex;flex-direction:column;gap:16px}.brand{display:flex;align-items:center;gap:9px;font-weight:750;padding:0 6px}.brand img{height:59px;width:59px;object-fit:contain}.brand small{font-size:11px;color:var(--muted);font-weight:500}.nav{display:flex;flex-direction:column;gap:5px}.nav button,.tabs button{border:0;background:transparent;color:var(--muted);text-align:start;padding:13px;border-radius:14px;display:flex;align-items:center;gap:12px}.nav button.on,.tabs button.on{background:var(--surface2);color:var(--accent);font-weight:700}.nav button:hover,.tabs button:hover{background:var(--surface2)}.main{min-width:0;padding:29px 36px 120px}.top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:25px}.top h1{font-size:28px;margin:0;letter-spacing:-.6px}.sub{color:var(--muted);font-size:13px;margin:5px 0 0}.topactions{display:flex;gap:9px;align-items:center}.pill{font-size:11px;padding:7px 10px;border:1px solid var(--line);border-radius:30px;background:var(--surface);color:var(--muted)}.btn{border:0;border-radius:13px;background:var(--accent);color:var(--surface);padding:12px 16px;font-weight:650;min-height:43px}.btn.secondary{background:var(--surface2);color:var(--ink)}.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--ink)}.btn.small{padding:7px 11px;min-height:34px;font-size:12px}.flex{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.push{margin-inline-start:auto}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--surface);border:1px solid var(--line);border-radius:21px;padding:20px;box-shadow:0 5px 28px rgba(65,35,20,.025)}.card h3{margin:0 0 12px;font-size:16px}.stat span{display:block;color:var(--muted);font-size:12px}.stat strong{display:block;font-size:25px;margin-top:10px;letter-spacing:-.6px}.positive{color:var(--good)!important}.negative{color:var(--danger)!important}.muted{color:var(--muted)}.hero{background:var(--accent);border-radius:24px;color:var(--surface);padding:24px;margin-bottom:18px;display:flex;justify-content:space-between;gap:20px;overflow:hidden}.hero h2{margin:4px 0 8px;font-size:25px}.hero p{opacity:.84;font-size:13px;max-width:480px}.hero img{height:128px;width:128px;object-fit:contain;opacity:.95;filter:drop-shadow(0 2px 4px rgba(0,0,0,.14))}.section{margin-top:22px}.sectionhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}.sectionhead h2{margin:0;font-size:19px}.tablewrap{overflow:auto}.table{width:100%;border-collapse:collapse;text-align:start;font-size:13px}.table th{color:var(--muted);font-weight:500;border-bottom:1px solid var(--line);padding:12px 9px;text-align:start}.table td{border-bottom:1px solid var(--line);padding:13px 9px}.table tr:last-child td{border-bottom:0}.table td:last-child{text-align:end;white-space:nowrap}.table th:last-child{text-align:end}.empty{text-align:center;color:var(--muted);padding:40px 15px}.empty b{display:block;color:var(--ink);margin-bottom:7px}.chip{border-radius:100px;background:var(--surface2);color:var(--accent);padding:5px 10px;font-size:11px}.tag{font-size:11px;border-radius:7px;background:var(--surface2);padding:4px 7px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field label{font-size:12px;color:var(--muted);font-weight:600}.field input,.field select,.field textarea{width:100%;min-width:0;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;padding:11px 12px;outline:none}.field input:focus,.field select:focus{border-color:var(--accent)}.field textarea{min-height:72px}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.formgrid .full{grid-column:1/-1}.dialog{position:fixed;inset:0;background:rgba(20,10,5,.48);z-index:80;display:flex;justify-content:center;align-items:flex-end;padding:16px}.sheet{background:var(--bg);border:1px solid var(--line);border-radius:23px 23px 15px 15px;max-width:580px;width:100%;max-height:min(90vh,850px);overflow:auto;padding:21px;box-shadow:0 22px 70px rgba(0,0,0,.18)}.sheethead{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.sheet h2{margin:0;font-size:20px}.x{background:var(--surface2);border:0;color:var(--ink);border-radius:9px;font-size:20px;width:34px;height:34px}.foot{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.selectrow{display:grid;grid-template-columns:1.2fr .65fr auto;gap:8px;align-items:end;margin-bottom:8px}.notice{border:1px solid var(--line);background:var(--surface2);padding:12px 14px;border-radius:13px;font-size:12px;line-height:1.6;color:var(--ink)}.notice.warn{border-color:#d49b5a}.line{height:1px;background:var(--line);margin:16px 0}.mode{display:flex;gap:7px;flex-wrap:wrap}.mode button{background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:10px;color:var(--ink)}.mode button.active{background:var(--accent);color:var(--surface)}.tabs{display:none}.smallprint{font-size:11px;color:var(--muted);line-height:1.65}.previewbox{border:1px dashed var(--line);padding:15px;border-radius:16px}.previewbox b{font-size:20px}.rtl{text-align:right}.sync{font-size:11px;color:var(--muted)}#toast{position:fixed;bottom:90px;left:50%;transform:translateX(-50%);z-index:99;background:#251711;color:#fff;padding:10px 19px;border-radius:12px;display:none;max-width:90%;text-align:center}#toast.show{display:block}body[dir=rtl] .table{text-align:right}body[dir=rtl] .table th{text-align:right}body[dir=rtl] .table th:last-child,body[dir=rtl] .table td:last-child{text-align:left}@media(max-width:780px){.shell{display:block}.side{display:none}.main{padding:22px 16px 104px}.top h1{font-size:23px}.top{align-items:flex-start}.topactions{flex-wrap:wrap;justify-content:flex-end}.hero{padding:19px}.hero img{height:89px;width:89px}.hero h2{font-size:21px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.card{padding:14px;border-radius:17px}.stat strong{font-size:21px}.tabs{position:fixed;z-index:40;bottom:0;inset-inline:0;display:flex;justify-content:space-around;gap:1px;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -4px 20px rgba(0,0,0,.025)}.tabs button{flex:1;display:flex;flex-direction:column;gap:4px;justify-content:center;align-items:center;text-align:center;padding:8px 2px;font-size:10px;border-radius:12px}.tabs button span{font-size:18px}.formgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.sheet{padding:18px}.dialog{padding:0}.sheet{border-radius:23px 23px 0 0;max-height:92dvh}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:370px){.grid{grid-template-columns:1fr}.formgrid{grid-template-columns:1fr}}@media(prefers-reduced-motion:no-preference){button,.card{transition:background .2s,transform .2s}button:active{transform:scale(.985)}}

/* Login-first access gate */
.login-screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg,#f8eee4)}
.login-card{width:min(100%,420px);padding:30px 25px;border-radius:24px;background:var(--card,#fffaf6);box-shadow:0 18px 50px #3b1e1420;text-align:center;color:var(--text,#402013)}
.login-logo{width:135px;height:135px;object-fit:contain;margin:0 auto 6px;display:block}
.login-card h1{font-size:25px;margin:0 0 8px}.login-card>p{opacity:.82;font-size:14px}
.login-card .field{text-align:start;margin:14px 0}.login-card input{width:100%;max-width:100%;min-height:46px}
.login-submit{width:100%;margin-top:10px;min-height:46px}
.login-card #login-error:empty{display:none}

/* Access approval waiting state */
.pending-card{max-width:440px;padding:38px 28px}.pending-icon{margin:10px auto 18px;width:72px;height:72px;border-radius:24px;background:#f5e4d5;color:#875137;font-size:36px;display:grid;place-items:center}.pending-card h1{font-size:25px;line-height:1.25}.pending-card>p{line-height:1.6}.pending-status{display:inline-flex;align-items:center;gap:8px;margin:13px auto;padding:9px 15px;border-radius:100px;background:#fff0d8;color:#845426;border:1px solid #f0dab3;font-weight:650;font-size:13px}.pending-status:before{content:'';height:7px;width:7px;border-radius:50%;background:#bd852c}.pending-card .btn.secondary{width:100%;margin-top:10px}
