:root{--lemon:#f5db09;--soft:#fff8bf;--ink:#171914;--muted:#72766d;--line:#e7e8e2;--paper:#f5f6f2;--danger:#df4d3c}*{box-sizing:border-box}body{color:var(--ink);background:var(--paper);margin:0;font-family:Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.sidebar{color:#fff;z-index:20;background:#161813;flex-direction:column;width:244px;padding:26px 18px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:11px;font-size:18px;font-weight:800;display:flex}.brand small,.user-pill small,td small{letter-spacing:1.2px;color:#92978c;font-size:10px;display:block}.brand-mark{background:linear-gradient(145deg,#fff251,var(--lemon));color:#1b1d16;border-radius:11px;place-items:center;width:39px;height:39px;font-size:14px;display:grid}.sidebar nav{gap:7px;margin-top:52px;display:grid}.sidebar nav a,.logout{color:#aeb2a8;cursor:pointer;background:0 0;border:0;border-radius:9px;gap:13px;width:100%;padding:13px 15px;display:flex}.sidebar nav a.active{color:#191b15;background:linear-gradient(100deg,var(--lemon),#ffef58);font-weight:700}.sidebar form{margin-top:auto}.app-shell>main{margin-left:244px}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:98px;padding:0 34px;display:flex}.topbar h1{margin:2px 0 0;font-size:24px;font-weight:800}.eyebrow{color:#999d91;letter-spacing:1.7px;margin:0;font-size:10px;font-weight:700}.user-pill{align-items:center;gap:10px;font-size:13px;font-weight:600;display:flex}.user-pill>span{background:var(--soft);border-radius:50%;place-items:center;width:37px;height:37px;font-weight:800;display:grid}.menu-toggle{display:none}.content{max-width:1500px;margin:auto;padding:30px 34px 55px}.welcome,.page-head,.panel-head,.form-actions,.button-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.welcome,.page-head{margin-bottom:28px}.welcome h2,.page-head h2{margin:5px 0;font-size:28px;font-weight:800}.welcome p,.page-head p{color:var(--muted);margin:4px 0}.btn{cursor:pointer;border:0;border-radius:8px;justify-content:center;padding:11px 17px;font-size:13px;font-weight:700;display:inline-flex}.btn.dark{background:var(--ink);color:#fff}.btn.primary{background:linear-gradient(120deg,var(--lemon),#ffe95c)}.btn.outline{border:1px solid var(--line);background:#fff}.btn.full{width:100%}.stats{grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:22px;display:grid}.stats.compact{grid-template-columns:repeat(3,1fr)}.stat,.panel,.project-card{border:1px solid var(--line);background:#fff;border-radius:13px;box-shadow:0 3px 16px #2221}.stat{padding:21px}.stat>span{float:right;background:#f0f1ed;border-radius:9px;padding:8px}.stat p{letter-spacing:1.25px;color:#8c9186;font-size:10px;font-weight:700}.stat strong{font-size:24px;font-weight:800;display:block}.stat small,.muted,.help{color:var(--muted)}.stat.lemon{background:linear-gradient(135deg,#fffbd3,#fff);border-color:#f1df58}.stat.danger strong,.link-danger{color:var(--danger)}.panel{margin-bottom:20px;padding:22px}.panel-head{margin-bottom:18px}.panel-head h3,.project-card h3{margin:4px 0;font-size:17px;font-weight:800}.table-wrap{overflow:auto}table{border-collapse:collapse;text-align:left;width:100%}th{border-bottom:1px solid var(--line);color:#8a8e84;padding:11px 13px;font-size:10px}td{border-bottom:1px solid #eff0ec;padding:15px 13px;font-size:13px}.badge{text-transform:uppercase;border-radius:20px;padding:5px 9px;font-size:9px;font-weight:800;display:inline-block}.badge.active{color:#30753c;background:#e9f6e8}.badge.reminder{color:#806500;background:#fff2bb}.badge.blocked{color:#a83529;background:#fee6e2}.badge.paused{color:#666;background:#eee}.card-grid{grid-template-columns:repeat(3,1fr);gap:17px;display:grid}.project-card{padding:21px}.card-top{justify-content:space-between;display:flex}.project-icon{background:var(--soft);border-radius:10px;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.project-card dl{border-top:1px solid var(--line);margin:20px 0}.project-card dl div{border-bottom:1px solid var(--line);justify-content:space-between;padding:9px 0;font-size:12px;display:flex}.project-card dt{color:var(--muted)}.project-card dd{margin:0;font-weight:700}.empty,.empty-state{text-align:center;color:var(--muted);padding:30px}.empty-state{background:#fff;border:1px dashed #d9dbd2;border-radius:14px;grid-column:1/-1}.form-layout{max-width:1000px}.form-grid{grid-template-columns:1fr 1fr;gap:17px;display:grid}label{gap:7px;font-size:12px;font-weight:700;display:grid}input,select,textarea{background:#fff;border:1px solid #dfe1da;border-radius:8px;outline:none;width:100%;padding:11px 12px}.span-2{grid-column:1/-1}.check{justify-content:start;align-items:center;font-weight:500;display:flex}.check input{width:auto}.toggles{background:#f7f8f4;flex-wrap:wrap;gap:25px;padding:12px;display:flex}.two-col{grid-template-columns:1.5fr 1fr;gap:20px;display:grid}.api-box{color:#e9eccc;background:#171914;border-radius:8px;gap:10px;padding:12px;display:flex}.api-box code{flex:1;overflow:auto}.api-box button{background:var(--lemon);border:0;border-radius:5px}pre{background:#f2f3ef;padding:13px;overflow:auto}.link-danger{cursor:pointer;background:0 0;border:0}.code-editor{color:#f1f5df;background:#1d201a;font-family:monospace}.preview-layout{margin-top:20px}.preview-layout iframe{border:1px solid var(--line);border-radius:8px;width:100%;height:340px}.inline-test{gap:8px;max-width:500px;display:flex}.alert{border-radius:8px;margin-bottom:18px;padding:12px 15px}.alert.success{color:#286735;background:#e9f6e8}.alert.error,.field-error{color:#a13329;background:#fee9e5}.login-body{background:#12140f;min-height:100vh}.login-wrap{grid-template-columns:1.1fr .9fr;min-height:100vh;display:grid}.login-copy{color:#fff;background:linear-gradient(145deg,#14170f,#272b1b);flex-direction:column;justify-content:center;padding:8vw;display:flex}.login-copy .brand{position:absolute;top:38px}.login-copy h1{margin:0 0 25px;font-size:clamp(42px,6vw,78px);font-weight:800;line-height:1.02}.login-copy h1 em{color:var(--lemon);font-style:normal}.login-copy>p{color:#aeb3a4;max-width:550px;font-size:17px}.feature-line{margin-top:15px}.feature-line span{color:var(--lemon)}.login-card{background:#fff;flex-direction:column;justify-content:center;padding:9vw;display:flex}.login-card h2{margin:7px 0;font-size:30px;font-weight:800}.login-card form{gap:17px;margin-top:25px;display:grid}.field-error{padding:10px}@media (width<=1050px){.stats,.card-grid{grid-template-columns:1fr 1fr}.two-col{grid-template-columns:1fr}.login-copy{display:none}.login-wrap{grid-template-columns:1fr}.login-card{width:100%;max-width:650px;margin:auto}}@media (width<=720px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:none}.app-shell>main{margin-left:0}.topbar{height:80px;padding:0 18px}.menu-toggle{background:0 0;border:0;font-size:22px;display:block}.topbar .eyebrow,.user-pill>div{display:none}.content{padding:22px 16px}.stats,.stats.compact,.card-grid,.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.welcome,.page-head{align-items:flex-start}.login-card{padding:28px}.toggles{display:grid}}.filter-bar{align-items:center;gap:10px;display:flex}.filter-bar input:first-child{flex:1}.filter-bar input,.filter-bar select{width:auto}.ageing-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.ageing-grid div{background:#f7f8f4;border-radius:9px;padding:16px}.ageing-grid span,.ageing-grid strong{display:block}.ageing-grid span{color:var(--muted);margin-bottom:7px;font-size:11px}.chart{border-bottom:1px solid var(--line);align-items:end;gap:12px;height:205px;padding:10px;display:flex}.chart-col{text-align:center;flex-direction:column;flex:1;justify-content:end;gap:5px;height:100%;display:flex}.chart-col>div{background:linear-gradient(var(--lemon),#fff083);border-radius:6px 6px 0 0;min-height:3px}.chart-col span{color:var(--muted);font-size:9px}.chart-col small{font-weight:700}.mini-list a{border-bottom:1px solid var(--line);justify-content:space-between;padding:12px 0;font-size:12px;display:flex}.mini-list small{color:var(--muted);display:block}.timeline>div{border-left:1px solid var(--line);align-items:center;gap:12px;padding:12px 0 12px 22px;display:flex;position:relative}.timeline-dot{background:var(--lemon);border-radius:50%;width:9px;height:9px;position:absolute;left:-5px}.timeline p{flex:1;margin:0}.timeline p small{color:var(--muted);margin-top:3px;display:block}.timeline code{color:var(--muted);font-size:10px}@media (width<=720px){.filter-bar{display:grid}.filter-bar input,.filter-bar select{width:100%}.ageing-grid{grid-template-columns:1fr 1fr}}
