:root{--accent:#ec3013;--accent-dark:#c62410;--ink:#111;--ink-soft:#4a4a4a;--muted:#8a8a8a;--line:#e4e4e4;--bg:#f6f5f3;--surface:#fff;--ok:#1f9d55;--warn:#d98a00;--radius:4px;--shadow:0 1px 2px #0000000f;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:Archivo,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100vh;margin:0}body{background:var(--bg)}h1,h2,h3,h4{letter-spacing:-.02em;margin:0;font-weight:700}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--accent);font-size:11px;font-weight:700}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.btn{border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:var(--radius);padding:10px 18px;font-size:14px;font-weight:600}.btn:hover{background:#000}.btn.accent{background:var(--accent);border-color:var(--accent)}.btn.accent:hover{background:var(--accent-dark)}.btn.ghost{color:var(--ink);background:0 0}.btn.ghost:hover{background:#efeeec}.btn.sm{padding:6px 12px;font-size:13px}.btn:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);background:#fff;padding:9px 12px;font-family:inherit;font-size:14px}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none}textarea{resize:vertical}label{margin-bottom:6px;font-size:13px;font-weight:600;display:block}.app-shell{grid-template-columns:232px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;padding:22px 16px;display:flex}.topbar{display:none}.main{width:100%;max-width:1280px;padding:32px 40px}.scrim{display:none}@media (width<=820px){.app-shell{grid-template-columns:1fr}.topbar{background:var(--surface);border-bottom:1px solid var(--line);z-index:30;align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;top:0}.sidebar{z-index:45;width:264px;transition:transform .22s;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%);box-shadow:0 0 48px #0000002e}.sidebar.open{transform:translate(0)}.scrim{z-index:40;background:#00000059;display:block;position:fixed;inset:0}.main{max-width:100%;padding:20px 16px;overflow-x:hidden}}.burger{border:1px solid var(--line);border-radius:var(--radius);background:#fff;justify-content:center;align-items:center;width:40px;height:40px;padding:0;display:inline-flex}.burger span{background:var(--ink);width:18px;height:2px;display:block;position:relative}.burger span:before,.burger span:after{content:"";background:var(--ink);width:18px;height:2px;position:absolute;left:0}.burger span:before{top:-6px}.burger span:after{top:6px}.page-title{font-size:30px}@media (width<=820px){.topbar .burger{display:inline-flex}.page-title{font-size:23px}input,select,textarea{font-size:16px}.btn{padding:12px 18px}.page-actions{flex-wrap:wrap;width:100%}}.badge{color:#fff;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:12px;font-weight:600;display:inline-flex}.badge.soft{background:0 0;border:1px solid}.dot{background:currentColor;border-radius:999px;flex:none;width:7px;height:7px}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;display:grid}.kpi-card{padding:16px 18px}.kpi-value{letter-spacing:-.02em;margin-top:6px;font-size:28px;font-weight:800;line-height:1.1}@media (width<=820px){.kpi-grid{grid-template-columns:repeat(2,1fr);gap:10px}.kpi-value{font-size:clamp(19px,6vw,26px)}}.kanban{-webkit-overflow-scrolling:touch;grid-auto-columns:260px;grid-auto-flow:column;gap:14px;padding-bottom:12px;display:grid;overflow-x:auto}.kanban-col{border-radius:var(--radius);background:#efeeec;flex-direction:column;gap:8px;min-height:120px;padding:10px;display:flex}.kanban-col.drop{outline:2px dashed var(--accent);outline-offset:-2px}.kanban-head{justify-content:space-between;align-items:center;padding:2px 4px 6px;font-size:13px;font-weight:700;display:flex}.kanban-count{color:var(--muted);background:#fff;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:700}.pcard{border:1px solid var(--line);border-left:3px solid var(--muted);border-radius:var(--radius);cursor:grab;box-shadow:var(--shadow);background:#fff;padding:10px 12px}.pcard:active{cursor:grabbing}.pcard .pname{font-size:14px;font-weight:700}.pcard .pmeta{color:var(--ink-soft);margin-top:3px;font-size:12px}.scroll-x{-webkit-overflow-scrolling:touch;scrollbar-width:thin;overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:14px}table.data th{text-align:left;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 12px;font-size:11px;font-weight:700}table.data td{border-bottom:1px solid var(--line);vertical-align:middle;padding:11px 12px}table.data tbody tr{cursor:pointer}table.data tbody tr:hover{background:#faf9f8}.avatar{color:#fff;background:var(--ink);border-radius:999px;flex:none;justify-content:center;align-items:center;width:38px;height:38px;font-size:14px;font-weight:700;display:inline-flex}.modal-scrim{z-index:60;background:#0006;justify-content:center;align-items:flex-start;padding:40px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--surface);border-radius:8px;width:100%;max-width:560px;padding:24px;box-shadow:0 20px 60px #0000004d}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{width:100%}@media (width<=620px){.form-grid{grid-template-columns:1fr}}.timeline{flex-direction:column;gap:12px;display:flex}.tl-item{border-left:2px solid var(--line);padding:0 0 4px 16px;position:relative}.tl-item:before{content:"";background:var(--accent);border-radius:999px;width:8px;height:8px;position:absolute;top:4px;left:-5px}.filters{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;display:flex}.filters input,.filters select{min-width:140px}@media (width<=720px){.login-grid{grid-template-columns:1fr!important}.login-grid>div:first-child{padding:40px 28px!important}.login-grid h1{font-size:38px!important}}
