:root{--ob:#0C1117;--gr:#151b22;--gr2:#20252C;--line:#2a313a;--iv:#F7F5F0;--mut:#9aa1aa;--gold:#C9A45C;--gold2:#F3CF7A;--goldd:#A88447;--ok:#5cc99a;--warn:#e7b04b;--bad:#ff8a8e;--hot:#ff7a59;--r:14px;--safe-b:env(safe-area-inset-bottom);--safe-t:env(safe-area-inset-top)}
*{box-sizing:border-box}html,body{margin:0;background:var(--ob);color:var(--iv);font:15px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-text-size-adjust:100%}
a{color:var(--gold2)}button,input,select,textarea{font:inherit;color:inherit}
input,select,textarea{font-size:16px;width:100%;padding:11px 13px;border-radius:10px;border:1px solid var(--line);background:#0f151b;color:var(--iv)}
textarea{min-height:84px;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:1px}
label{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin:12px 0 6px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:10px;padding:11px 16px;font-weight:650;cursor:pointer;background:var(--gr2);color:var(--iv);text-decoration:none;min-height:44px}
.btn.gold{background:linear-gradient(180deg,var(--gold2),var(--gold));color:var(--ob)}.btn.ghost{background:transparent;border:1px solid var(--line)}.btn.sm{padding:7px 11px;min-height:36px;font-size:14px}.btn.wide{width:100%}.btn.danger{background:#3a1d20;color:var(--bad)}
.boot{min-height:100dvh;display:grid;place-items:center}.boot svg{width:72px;height:72px;opacity:.9}
/* auth */
.auth{min-height:100dvh;display:grid;place-items:center;padding:24px}.auth form{width:100%;max-width:380px}.auth svg{width:64px;height:64px;display:block;margin:0 auto 10px}
.auth h1{font:600 26px Georgia,serif;text-align:center;margin:0;letter-spacing:.04em}.auth .sub{text-align:center;color:var(--mut);margin:4px 0 14px}
.auth .err{color:var(--bad);min-height:1.5em;text-align:center;margin:10px 0}.auth .switch{text-align:center;margin-top:14px;color:var(--mut)}.auth .switch a{cursor:pointer}
/* shell */
.shell{min-height:100dvh;display:flex}.side{display:none}
.main{flex:1;min-width:0;padding:calc(10px + var(--safe-t)) 16px calc(86px + var(--safe-b));max-width:980px;margin:0 auto}
.top{display:flex;align-items:center;gap:10px;margin:4px 0 16px}.top h1{font:600 22px Georgia,serif;margin:0;letter-spacing:.02em;flex:1}.mark{width:34px;height:34px;flex:none}
.tabs{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;background:rgba(12,17,23,.96);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding-bottom:var(--safe-b)}
.tabs a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:9px 2px 8px;color:var(--mut);text-decoration:none;font-size:11px;letter-spacing:.02em}.tabs a.on{color:var(--gold2)}.tabs svg{width:22px;height:22px}
@media(min-width:900px){.tabs{display:none}.side{display:flex;flex-direction:column;gap:4px;width:230px;flex:none;border-right:1px solid var(--line);padding:22px 14px;position:sticky;top:0;height:100dvh}
.side .brand{display:flex;align-items:center;gap:10px;font:600 17px Georgia,serif;letter-spacing:.18em;margin:0 6px 22px}.side a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;color:var(--mut);text-decoration:none}.side a.on{background:var(--gr2);color:var(--gold2)}.side svg{width:20px;height:20px}.side .who{margin-top:auto;font-size:13px;color:var(--mut);padding:8px 12px}.main{padding:26px 32px 40px}}
/* content */
.card{background:var(--gr);border:1px solid var(--line);border-radius:var(--r);padding:16px;margin-bottom:12px}.card h2{font:600 17px Georgia,serif;margin:0 0 10px}.card h3{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin:14px 0 6px}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:12px}@media(min-width:640px){.stats{grid-template-columns:repeat(4,1fr)}}
.stat{background:var(--gr);border:1px solid var(--line);border-radius:var(--r);padding:14px}.stat b{display:block;font:600 26px Georgia,serif;color:var(--gold2)}.stat span{font-size:12px;color:var(--mut);letter-spacing:.04em}
.muted{color:var(--mut)}.small{font-size:13px}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.grow{flex:1}
.list{display:flex;flex-direction:column;gap:8px}.item{display:flex;gap:12px;align-items:center;background:var(--gr);border:1px solid var(--line);border-radius:12px;padding:12px 14px;text-decoration:none;color:inherit}.item:active{background:var(--gr2)}
.item .t{font-weight:650}.item .s{font-size:13px;color:var(--mut);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item .body{flex:1;min-width:0}
.chip{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:var(--gr2);color:var(--mut);white-space:nowrap}
.chip.hot{background:#3b1f17;color:var(--hot)}.chip.warm{background:#3a2f17;color:var(--warn)}.chip.cool{background:#17283a;color:#8ec5ff}
.chip.new{background:#2b2615;color:var(--gold2)}.chip.meeting_booked,.chip.meeting_held{background:#173326;color:var(--ok)}.chip.won{background:#1d3b1a;color:#9be37a}.chip.lost{background:#33191b;color:var(--bad)}.chip.paid{background:#173326;color:var(--ok)}.chip.pending{background:#3a2f17;color:var(--warn)}
.filters{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px;margin-bottom:8px;scrollbar-width:none}.filters button{flex:none;border:1px solid var(--line);background:transparent;border-radius:999px;padding:6px 12px;font-size:13px;color:var(--mut);cursor:pointer}.filters button.on{background:var(--gold);color:var(--ob);border-color:var(--gold)}
.script{background:#0f151b;border-left:3px solid var(--gold);border-radius:8px;padding:12px 14px;white-space:pre-wrap}
ul.clean{margin:0;padding-left:18px}ul.clean li{margin:4px 0}
.acts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}@media(min-width:640px){.acts{grid-template-columns:repeat(6,1fr)}}
.log{font-size:14px}.log div{padding:8px 0;border-bottom:1px solid var(--line)}.log div:last-child{border:0}
.contact a{display:inline-flex;align-items:center;gap:6px;margin:4px 10px 4px 0}
table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--gold);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.tablewrap{overflow-x:auto}
.sheet{position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.55);display:flex;align-items:flex-end;justify-content:center}.sheet .panel{background:var(--gr);border:1px solid var(--line);border-radius:18px 18px 0 0;width:100%;max-width:560px;max-height:92dvh;overflow:auto;padding:18px 18px calc(18px + var(--safe-b))}
@media(min-width:640px){.sheet{align-items:center}.sheet .panel{border-radius:18px}}
#toast{position:fixed;left:50%;bottom:calc(96px + var(--safe-b));transform:translateX(-50%);background:var(--iv);color:var(--ob);padding:10px 16px;border-radius:10px;font-weight:600;opacity:0;pointer-events:none;transition:opacity .2s;z-index:90;max-width:90vw}#toast.show{opacity:1}
.empty{text-align:center;color:var(--mut);padding:30px 10px}.code{font:600 18px ui-monospace,Menlo,monospace;letter-spacing:.08em;color:var(--gold2)}
.banner{background:#2b2615;border:1px solid #5a4a22;color:var(--gold2);border-radius:12px;padding:10px 14px;margin-bottom:12px;font-size:14px}
