:root{--dark-0:#120c08;--dark-1:#20150e;--dark-2:#3e2618;--sand:#f1e9de;--sand-2:#e6d9c6;--sand-3:#ede3d6;--card:#fbf7f1;--card-2:#f6efe5;--text:#2a1a12;--text-2:#5e4d3f;--text-3:#857264;--on-dark:#f4eee6;--on-dark-2:#c9bbae;--accent:#a63f1a;--accent-hover:#8e3414;--accent-dark:#d0814f;--accent-dark-2:#e8a06c;--ok-bg:#e3ece2;--ok:#3f6a4a;--line:#2a1a1214;--line-2:#2a1a1229;--line-dark:#f4eee624;--hero:radial-gradient(70% 90% at 100% 0%, #3e2618 0%, #20150e 40%, #120c08 75%)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--sand);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Poppins,system-ui,sans-serif;font-size:15px;line-height:1.5}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-dark)}input[type=checkbox]{accent-color:var(--accent);flex:none;width:20px;height:20px}:focus-visible{outline:2px solid var(--accent-dark);outline-offset:2px}h1,h2,h3,p{margin:0}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--accent);align-items:center;gap:12px;font-size:11px;font-weight:600;display:flex}.eyebrow.on-dark{color:var(--accent-dark-2)}.eyebrow .bar{background:currentColor;width:28px;height:2px}.title{letter-spacing:-.025em;text-wrap:balance;font-size:clamp(26px,4vw,38px);font-weight:600;line-height:1.15}.title em,.accent{color:var(--accent);font-style:normal}.h2{letter-spacing:-.02em;font-size:20px;font-weight:600;line-height:1.25}.muted{color:var(--text-2)}.small{font-size:13px}.xs{color:var(--text-3);font-size:12px}.big-num{letter-spacing:-.04em;font-size:clamp(44px,9vw,72px);font-weight:600;line-height:1}.app{flex-direction:column;min-height:100vh;display:flex}.main{flex-direction:column;flex:1;gap:18px;width:100%;max-width:1100px;margin:0 auto;padding:24px 16px 120px;display:flex}@media (width>=760px){.main{gap:20px;padding:32px 32px 64px}}.stack{flex-direction:column;gap:12px;display:flex}.stack-lg{flex-direction:column;gap:18px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px;display:grid}.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));align-items:start;gap:16px;display:grid}.topbar{background:var(--dark-0);color:var(--on-dark);z-index:20;position:sticky;top:0}.topbar-in{justify-content:space-between;align-items:center;gap:12px;max-width:1100px;margin:0 auto;padding:12px 16px;display:flex}@media (width>=760px){.topbar-in{padding:14px 32px}}.logo{width:auto;height:24px;display:block}.user-pill{border:1px solid var(--line-dark);border-radius:999px;align-items:center;gap:8px;padding:4px 4px 4px 12px;font-size:13px;display:flex}.user-pill .role{letter-spacing:.12em;color:var(--accent-dark-2);font-size:10px;font-weight:600}.btn-dark-sm{background:var(--dark-2);color:var(--on-dark);border:0;border-radius:999px;min-height:34px;padding:8px 12px;font-size:12px;font-weight:500}.btn-dark-sm:hover{background:#5a3622}.topnav{background:var(--dark-1);border-top:1px solid #f4eee614;display:none}.topnav-in{gap:2px;max-width:1100px;margin:0 auto;padding:0 24px;display:flex;overflow-x:auto}.topnav button{color:var(--on-dark-2);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;flex:none;padding:14px 14px 12px;font-size:13px}.topnav button:hover{color:var(--on-dark)}.topnav button.on{color:var(--on-dark);border-bottom-color:var(--accent-dark);font-weight:600}.bottomnav{z-index:20;background:var(--dark-0);border-top:1px solid var(--line-dark);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottomnav button{color:var(--on-dark-2);background:0 0;border:0;flex-direction:column;align-items:center;gap:3px;min-height:58px;padding:10px 4px 9px;font-size:11px;font-weight:500;display:flex}.bottomnav button .ic{font-size:18px;line-height:1}.bottomnav button.on{color:var(--accent-dark-2);font-weight:600}@media (width>=760px){.topnav{display:block}.bottomnav{display:none}}.card{background:var(--card);border:1px solid var(--line);border-radius:20px;flex-direction:column;gap:12px;padding:20px;display:flex}@media (width>=760px){.card{padding:24px}}.card.tight{border-radius:16px;gap:8px;padding:16px}.card.soft{background:var(--sand-2);border:0}.hero{background:var(--hero);color:var(--on-dark);border-radius:24px;flex-direction:column;gap:14px;padding:clamp(22px,4vw,40px);display:flex;overflow:hidden}.hero .muted{color:var(--on-dark-2)}.divider{border-top:1px solid var(--line)}.list-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:12px 0;display:flex}.list-row:first-child{border-top:0}.list-row .grow{flex:1;min-width:0}.list-row .t{overflow-wrap:anywhere;font-size:14px;font-weight:500}.list-row .s{color:var(--text-3);font-size:12px}.btn{letter-spacing:.02em;background:var(--accent);color:#f6efe5;text-align:center;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:13px 22px;font-size:14px;font-weight:600;display:inline-flex}.btn:hover:not(:disabled){background:var(--accent-hover)}.btn.block{width:100%}.btn.dark{background:var(--dark-1);color:var(--on-dark)}.btn.dark:hover:not(:disabled){background:var(--dark-2)}.btn.light{background:var(--accent-dark);color:var(--dark-1)}.btn.light:hover:not(:disabled){background:var(--accent-dark-2)}.btn.ghost{color:var(--text);background:0 0;border:1px solid #2a1a1233;font-weight:500}.btn.ghost:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:0 0}.btn.ghost-dark{color:var(--on-dark);background:0 0;border:1px solid #d0814f66;font-weight:500}.btn.ghost-dark:hover:not(:disabled){border-color:var(--accent-dark);background:0 0}.btn.sm{min-height:40px;padding:9px 14px;font-size:13px}.link-btn{color:var(--accent);background:0 0;border:0;min-height:40px;padding:8px 4px;font-size:13px;font-weight:600}.link-btn:hover{color:var(--accent-hover)}.icon-btn{border:1px solid var(--line-2);background:#fff;border-radius:12px;flex:none;place-items:center;width:44px;height:44px;font-size:16px;display:grid}.icon-btn:hover{border-color:var(--accent);color:var(--accent)}.quick{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}@media (width>=760px){.quick{grid-template-columns:repeat(4,1fr)}}.quick button{background:var(--card);min-height:64px;color:var(--accent);text-align:left;border:1px solid #a63f1a40;border-radius:16px;align-items:center;gap:10px;padding:14px 12px;font-size:14px;font-weight:600;display:flex}.quick button:hover{background:#f3e6d9}.quick .plus{background:var(--accent);color:#f6efe5;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:18px;display:grid}.field{color:var(--text-2);flex-direction:column;gap:6px;font-size:12px;font-weight:600;display:flex}.field .hint{color:var(--text-3);font-weight:400}.input{width:100%;color:var(--text);background:#fff;border:1px solid #2a1a122e;border-radius:10px;min-height:46px;padding:12px 14px;font-size:16px;font-weight:400}.input:focus{border-color:var(--accent);outline:none}textarea.input{resize:vertical;min-height:84px;line-height:1.5}.fields{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:12px;display:grid}.seg{background:var(--sand-3);border-radius:12px;grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;padding:4px;display:grid}.seg button{min-height:42px;color:var(--text-2);background:0 0;border:0;border-radius:9px;padding:10px 8px;font-size:13px;font-weight:600}.seg button.on{background:var(--card);color:var(--text);box-shadow:0 1px 2px #2a1a1214}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line-2);background:#fff;border-radius:999px;min-height:40px;padding:8px 14px;font-size:13px;font-weight:500}.chip.on{background:var(--dark-1);color:var(--on-dark);border-color:var(--dark-1)}.error{color:var(--accent);font-size:13px;font-weight:500}.save-state{color:var(--text-3);min-height:18px;font-size:12px;font-weight:600}.save-state.ok{color:var(--ok)}.save-state.err{color:var(--accent)}.progress{background:var(--sand-2);border-radius:999px;height:10px;overflow:hidden}.progress.lg{height:16px}.progress>span{background:var(--accent);border-radius:999px;height:100%;transition:width .4s;display:block}.progress.done>span{background:var(--ok)}.hero .progress{background:#f4eee61f}.hero .progress>span{background:var(--accent-dark)}.hero .progress.done>span{background:#7fa889}.badge{background:var(--sand-3);color:var(--text-2);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.accent{color:var(--accent);background:#f3e6d9}.steps{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.steps button{text-align:left;letter-spacing:.08em;color:var(--text-3);background:0 0;border:0;flex-direction:column;gap:6px;min-height:44px;padding:0;font-size:11px;font-weight:600;display:flex}.steps button .b{background:var(--sand-2);border-radius:999px;height:4px}.steps button.on{color:var(--text)}.steps button.on .b{background:var(--accent)}.steps button.past .b{background:var(--accent-dark)}.sheet-bg{z-index:40;background:#120c0880;justify-content:center;align-items:flex-end;animation:.15s fade;display:flex;position:fixed;inset:0}.sheet{background:var(--card);width:100%;max-width:560px;max-height:92vh;padding:10px 20px calc(24px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;flex-direction:column;gap:14px;animation:.2s up;display:flex;overflow:auto}@media (width>=760px){.sheet-bg{align-items:center}.sheet{border-radius:24px;padding:18px 26px 26px}}.sheet .grab{background:var(--line-2);border-radius:999px;align-self:center;width:40px;height:4px}@keyframes up{0%{opacity:0;transform:translateY(30px)}}@keyframes fade{0%{opacity:0}}.toast{left:50%;bottom:calc(80px + env(safe-area-inset-bottom));z-index:60;background:var(--dark-1);color:var(--on-dark);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;max-width:calc(100vw - 32px);padding:13px 20px;font-size:13px;font-weight:500;position:fixed;overflow:hidden;transform:translate(-50%);box-shadow:0 12px 30px #00000040}@media (width>=760px){.toast{bottom:24px}}.chart{align-items:flex-end;gap:8px;height:150px;padding-top:18px;display:flex}.chart .col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:6px;min-width:0;height:100%;display:flex}.chart .bar{background:var(--sand-2);border-radius:8px 8px 4px 4px;width:100%;max-width:44px;min-height:4px}.chart .bar.cur{background:var(--accent)}.chart .v{font-size:12px;font-weight:600}.chart .n{color:var(--text-3);white-space:nowrap;font-size:10px}.cal{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.cal .day{background:var(--card-2);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:4px;min-height:72px;padding:8px 6px;font-size:11px;display:flex}.cal .day .d{color:var(--text-2);letter-spacing:.04em;font-weight:600}.cal .dot{color:var(--accent);text-overflow:ellipsis;white-space:nowrap;background:#f3e6d9;border-radius:6px;padding:3px 5px;font-weight:600;overflow:hidden}.cal .dot.pub{background:var(--ok-bg);color:var(--ok)}.auth-wrap{background:var(--hero);place-items:center;min-height:100vh;padding:32px 16px;display:grid}.auth{flex-direction:column;gap:26px;width:100%;max-width:440px;display:flex}.auth-card{background:var(--card);border-radius:20px;flex-direction:column;gap:14px;padding:24px;display:flex;box-shadow:0 24px 60px #00000059}.pre{white-space:pre-wrap;background:var(--card-2);border:1px solid var(--line);border-radius:14px;margin:0;padding:14px;font-family:inherit;font-size:13px;line-height:1.6}.center{text-align:center}.sr{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.etable{border-collapse:collapse;width:100%;font-size:14px}.etable th{text-align:left;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);white-space:nowrap;padding:0 8px 8px;font-size:11px;font-weight:600}.etable td{border-top:1px solid var(--line);vertical-align:middle;padding:8px}.etable .input{min-height:40px;padding:8px 10px;font-size:15px}.etable .num{width:90px}.etable .what{overflow-wrap:anywhere;font-weight:500}.etable .what small{color:var(--text-3);font-size:12px;font-weight:400;display:block}.etable tr.slot td{color:var(--text-3)}.etable .link-cell{align-items:center;gap:6px;display:flex}.etable .link-cell a{flex:none;padding:0 4px;font-size:18px}.etable .cpl{white-space:nowrap;font-weight:600}@media (width<=759px){.etable thead{display:none}.etable,.etable tbody,.etable tr,.etable td{width:100%;display:block}.etable tr{border-top:1px solid var(--line);padding:10px 0}.etable tr:first-child{border-top:0}.etable td{border:0;padding:4px 0}.etable td[data-label]:before{content:attr(data-label);letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);margin-bottom:4px;font-size:11px;font-weight:600;display:block}.etable .num{width:100%}.etable td.inline-m{width:auto;margin-right:16px;display:inline-block}}.kpis{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:12px;display:grid}.kpi{background:var(--card);border:1px solid var(--line);border-radius:18px;flex-direction:column;gap:6px;padding:16px 18px;display:flex}.kpi .v{letter-spacing:-.03em;font-size:32px;font-weight:600;line-height:1.1}.kpi .v small{color:var(--text-2);font-size:16px;font-weight:500}.hero-grid{gap:20px;display:grid}@media (width>=860px){.hero-grid{grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);align-items:start;gap:32px}}.hero-side{flex-direction:column;gap:12px;min-width:0;display:flex}.side-box{background:#f4eee60a;border:1px solid #d0814f4d;border-radius:18px;flex-direction:column;gap:10px;padding:16px 18px;display:flex}.grid-3{grid-template-columns:1fr;gap:12px;display:grid}@media (width>=760px){.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.btn-dark-sm{white-space:nowrap}@media (width<=420px){.user-pill .name,.user-pill .role{display:none}}
