:root{
  --canvas:#f5f6f8;--surface:#fff;--surface-2:#fafbfc;--ink:#162033;--muted:#697386;--quiet:#929bad;
  --line:#e4e7ec;--line-strong:#d6dae2;--primary:#4f46e5;--primary-strong:#4338ca;--primary-soft:#eef0ff;
  --hold:#a25c13;--hold-bg:#fff7e8;--todo:#3456a8;--todo-bg:#eef4ff;--progress:#6d42ba;--progress-bg:#f5efff;--done:#237357;--done-bg:#ebf8f2;
  --danger:#b42318;--danger-bg:#fff0ee;--shadow:0 1px 2px rgba(16,24,40,.04),0 8px 24px rgba(16,24,40,.05);
  --radius-sm:10px;--radius:14px;--radius-lg:20px;--sidebar:244px;--topbar:72px;
  color-scheme:light;font-family:Inter,"SF Pro Text",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none;
}
*{box-sizing:border-box}html{background:var(--canvas);scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--canvas);font-size:15px;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{outline:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:0 0 0 3px rgba(79,70,229,.22);border-color:var(--primary)!important}.skip-link{position:fixed;top:-80px;left:16px;background:#fff;padding:10px 14px;z-index:1000;border-radius:8px}.skip-link:focus{top:12px}a{color:var(--primary);text-decoration:none}h1,h2,h3{font-family:Inter,"SF Pro Display",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.025em;margin:0}h1{font-size:clamp(26px,3vw,34px);line-height:1.18}h2{font-size:20px}h3{font-size:15px}p{margin:0}.boot-screen{min-height:100vh;display:grid;place-content:center;text-align:center;gap:14px;color:var(--muted)}.brand-mark{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:var(--primary);color:#fff;font-weight:700;font-size:16px;margin:auto;box-shadow:0 10px 26px rgba(79,70,229,.22)}

/* Auth */
.auth-shell{min-height:100dvh;display:grid;grid-template-columns:minmax(360px,45%) 1fr;background:#fff}.auth-panel{padding:clamp(28px,7vw,88px);display:flex;flex-direction:column;justify-content:space-between;min-height:100dvh}.wordmark{display:flex;align-items:center;gap:12px;font:700 15px Manrope}.wordmark .brand-mark{margin:0;width:38px;height:38px;border-radius:11px;font-size:13px}.wordmark span span{display:block;font:500 11px "DM Sans";color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-top:1px}.auth-card{max-width:430px;margin:auto 0}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--primary);text-transform:uppercase}.auth-card h1{margin:12px 0 8px}.lede{color:var(--muted);max-width:48ch}.form-stack{display:grid;gap:17px;margin-top:34px}.field{display:grid;gap:7px}.field>label,.field>.label{font-size:13px;font-weight:600}.field small,.help{font-size:12px;color:var(--muted)}.input,select,textarea{width:100%;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:#fff;padding:11px 13px;min-height:46px;transition:.15s border,.15s box-shadow}textarea{min-height:110px;resize:vertical}.pin-input{font-size:22px;letter-spacing:.4em;font-weight:700;text-align:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:10px;min-height:42px;padding:9px 14px;font-weight:600;font-size:14px;cursor:pointer;background:#fff;transition:.15s transform,.15s background,.15s border-color}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-strong)}.btn-secondary{border-color:var(--line-strong)}.btn-secondary:hover{background:var(--surface-2)}.btn-ghost{color:var(--muted)}.btn-ghost:hover{background:var(--surface-2);color:var(--ink)}.btn-danger{color:var(--danger);border-color:#f2b8b5}.btn-wide{width:100%}.auth-visual{position:relative;overflow:hidden;background:#18223a;color:#fff;padding:clamp(40px,7vw,100px);display:flex;align-items:flex-end}.auth-visual:before{content:"";position:absolute;width:72%;aspect-ratio:1;border-radius:50%;right:-15%;top:-20%;background:radial-gradient(circle at 35% 35%,#8b83ff 0,#4f46e5 28%,rgba(79,70,229,0) 68%)}.auth-visual:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,black,transparent 75%)}.visual-copy{position:relative;z-index:1;max-width:600px}.visual-copy blockquote{font:600 clamp(25px,3vw,42px)/1.2 Manrope;margin:0 0 24px}.visual-copy p{color:#bac4db}.security-note{display:flex;gap:10px;font-size:12px;color:var(--muted);margin-top:24px}.mini-icon{width:20px;height:20px;border-radius:6px;background:var(--primary-soft);color:var(--primary);display:inline-grid;place-items:center;flex:0 0 auto;font-size:11px}

/* App shell */
.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:#111a2e;color:#c9d0df;padding:20px 14px;display:flex;flex-direction:column;z-index:50}.sidebar .wordmark{padding:0 8px 22px;color:#fff}.sidebar .wordmark span span{color:#8590a8}.nav-group{display:grid;gap:3px;margin:8px 0 20px}.nav-label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#68758f;padding:0 11px 6px;font-weight:700}.nav-link{border:0;background:transparent;color:#9ba7bc;text-align:left;padding:10px 11px;border-radius:9px;display:flex;align-items:center;gap:11px;cursor:pointer;font-weight:600;font-size:14px}.nav-link:hover{background:#19243c;color:#fff}.nav-link.active{background:#27324a;color:#fff}.nav-icon{width:19px;text-align:center;font-size:15px}.nav-count{margin-left:auto;font-size:11px;background:#2f3a53;padding:1px 7px;border-radius:10px}.sidebar-footer{margin-top:auto;border-top:1px solid #263148;padding:15px 8px 0}.account-chip{display:flex;align-items:center;gap:10px}.avatar{width:34px;height:34px;border-radius:10px;background:#303d5a;color:#fff;display:grid;place-items:center;font-weight:700;font-size:12px}.account-meta{min-width:0;flex:1}.account-meta strong,.account-meta span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-meta strong{font-size:13px;color:#fff}.account-meta span{font-size:11px;color:#7f8ba2;text-transform:capitalize}.main-shell{margin-left:var(--sidebar);min-height:100vh}.topbar{height:var(--topbar);position:sticky;top:0;background:rgba(245,246,248,.9);backdrop-filter:blur(14px);border-bottom:1px solid rgba(214,218,226,.8);z-index:30;padding:0 clamp(20px,3vw,42px);display:flex;align-items:center;justify-content:space-between;gap:16px}.search{width:min(420px,42vw);position:relative}.search input{width:100%;border:1px solid var(--line);background:#fff;border-radius:11px;padding:10px 14px 10px 39px}.search:before{content:"⌕";position:absolute;left:14px;top:8px;color:var(--muted);font-size:20px}.top-actions{display:flex;align-items:center;gap:8px}.icon-btn{width:40px;height:40px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer}.workspace{padding:30px clamp(20px,3vw,42px) 70px;max-width:1800px;margin:auto}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:25px}.page-title p{color:var(--muted);margin-top:7px}.head-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.mobile-nav{display:none}

/* Dashboard */
.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:24px}.summary-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:0 1px 2px rgba(16,24,40,.02)}.summary-top{display:flex;justify-content:space-between;align-items:center}.summary-card .metric{font:700 29px Manrope;margin-top:12px}.summary-card .meta{font-size:12px;color:var(--muted);margin-top:4px}.trend{font-size:11px;font-weight:700;padding:3px 7px;border-radius:10px;background:var(--done-bg);color:var(--done)}.panel-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.7fr);gap:17px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line)}.panel-body{padding:18px 20px}.work-list{display:grid;gap:1px}.work-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:13px;align-items:center;padding:12px 3px;border-bottom:1px solid #eef0f3}.work-row:last-child{border:0}.status-dot{width:9px;height:9px;border-radius:50%}.status-dot.todo{background:var(--todo)}.status-dot.in_progress{background:var(--progress)}.status-dot.hold{background:var(--hold)}.work-main strong{display:block;font-size:14px}.work-main span{font-size:12px;color:var(--muted)}.activity-list{display:grid;gap:15px}.activity-item{display:grid;grid-template-columns:29px 1fr;gap:10px}.activity-icon{width:29px;height:29px;border-radius:9px;background:var(--primary-soft);display:grid;place-items:center;color:var(--primary);font-size:11px}.activity-copy{font-size:13px}.activity-copy time{display:block;color:var(--quiet);font-size:11px;margin-top:2px}

/* Controls & boards */
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px}.filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.filter-btn{border:1px solid var(--line-strong);background:#fff;border-radius:9px;min-height:38px;padding:7px 11px;cursor:pointer;font-size:13px}.filter-btn.has-value{color:var(--primary);border-color:#c7c9ff;background:var(--primary-soft)}.view-toggle{display:flex;border:1px solid var(--line-strong);background:#fff;border-radius:9px;padding:3px}.view-toggle button{border:0;background:transparent;border-radius:6px;padding:6px 9px;color:var(--muted);cursor:pointer}.view-toggle button.active{background:#eef0f4;color:var(--ink)}.kanban{display:grid;grid-template-columns:repeat(4,minmax(245px,1fr));gap:13px;align-items:start;overflow-x:auto;padding:1px 1px 12px}.column{background:#eef0f3;border:1px solid #e0e3e8;border-radius:var(--radius);min-height:520px;padding:11px}.column-head{display:flex;align-items:center;gap:8px;padding:2px 3px 12px}.column-head h2{font:700 13px "DM Sans"}.column-count{font-size:11px;color:var(--muted);background:#fff;padding:1px 7px;border-radius:10px}.column-help{margin-left:auto;color:var(--quiet);border:0;background:transparent;cursor:pointer}.card-stack{display:grid;gap:9px}.task-card,.project-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;box-shadow:0 1px 2px rgba(16,24,40,.04);cursor:pointer;transition:.15s transform,.15s box-shadow}.task-card:hover,.project-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(16,24,40,.08)}.card-top{display:flex;align-items:center;gap:7px;margin-bottom:10px}.project-tag{font-size:10px;font-weight:700;color:var(--primary);background:var(--primary-soft);padding:3px 7px;border-radius:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.task-number{font-size:10px;color:var(--quiet);margin-left:auto}.unread{width:7px;height:7px;border-radius:50%;background:#e75c35;box-shadow:0 0 0 3px #ffebe5}.task-title{font-size:13px;line-height:1.4;margin-bottom:12px}.card-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:var(--muted);font-size:10px}.badge{display:inline-flex;align-items:center;gap:4px;border-radius:6px;padding:3px 6px;background:#f1f3f5;color:#596274;font-size:10px;font-weight:600}.badge.urgent{background:var(--danger-bg);color:var(--danger)}.badge.high{background:var(--hold-bg);color:var(--hold)}.badge.hold{background:var(--hold-bg);color:var(--hold)}.badge.todo{background:var(--todo-bg);color:var(--todo)}.badge.in_progress{background:var(--progress-bg);color:var(--progress)}.badge.completed{background:var(--done-bg);color:var(--done)}.move-btn{margin-left:auto;border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:11px;font-weight:700}.empty-column{border:1px dashed #cfd4dc;border-radius:11px;padding:28px 12px;text-align:center;color:var(--quiet);font-size:12px}.project-card .folder{font:500 11px ui-monospace,SFMono-Regular,monospace;color:var(--muted);margin:5px 0 13px}.assignee{display:flex;align-items:center;gap:7px;font-size:11px}.assignee .avatar{width:25px;height:25px;border-radius:8px;font-size:9px;color:#fff;background:#5b6680}.counts{display:flex;gap:10px;border-top:1px solid #eef0f2;margin-top:12px;padding-top:11px;color:var(--muted);font-size:10px}.mobile-status-tabs{display:none}

/* tables, settings, forms */
.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:11px 13px;border-bottom:1px solid var(--line)}.data-table td{padding:13px;border-bottom:1px solid #eceef2;font-size:13px}.data-table tr:last-child td{border:0}.data-table .person{display:flex;align-items:center;gap:10px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:22px;overflow:auto}.tab{border:0;background:transparent;padding:11px 14px;white-space:nowrap;color:var(--muted);font-weight:600;font-size:13px;border-bottom:2px solid transparent;cursor:pointer}.tab.active{color:var(--primary);border-color:var(--primary)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.field.full{grid-column:1/-1}.pin-row{display:grid;grid-template-columns:1fr 150px;gap:10px}.url-preview{background:var(--surface-2);border:1px solid var(--line);padding:11px 13px;border-radius:10px;display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:12px;color:var(--muted);overflow:hidden}.url-preview code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notice{border:1px solid #cbd5ff;background:#f3f5ff;color:#344276;border-radius:11px;padding:12px 14px;font-size:12px;display:flex;gap:9px}.notice.warning{border-color:#efd6a5;background:var(--hold-bg);color:#7a4a15}.notice.danger{border-color:#f1c2bf;background:var(--danger-bg);color:#8c251d}.settings-stack{display:grid;gap:14px}.settings-row{display:flex;align-items:flex-start;justify-content:space-between;gap:25px;padding:17px 0;border-bottom:1px solid var(--line)}.settings-row:last-child{border:0}.settings-copy strong{display:block;font-size:14px}.settings-copy p{font-size:12px;color:var(--muted);margin-top:3px}.token-value{font-family:ui-monospace,monospace;background:#131c31;color:#e9edff;border-radius:10px;padding:13px;overflow:auto;font-size:12px}
.storage-table{min-width:900px}.storage-table td:last-child,.storage-table th:last-child{white-space:nowrap}

/* Modal & drawer */
.overlay{position:fixed;inset:0;background:rgba(17,24,39,.42);z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(2px)}.modal{width:min(720px,100%);max-height:min(850px,calc(100dvh - 40px));overflow:auto;background:#fff;border-radius:var(--radius-lg);box-shadow:0 24px 80px rgba(16,24,40,.24)}.modal-head,.drawer-head{position:sticky;top:0;background:#fff;z-index:3;display:flex;align-items:flex-start;justify-content:space-between;padding:22px 24px;border-bottom:1px solid var(--line)}.modal-head p,.drawer-head p{font-size:12px;color:var(--muted);margin-top:4px}.modal-body{padding:23px 24px}.modal-foot{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line);padding:15px 24px;display:flex;justify-content:flex-end;gap:9px}.close-btn{border:0;background:#f1f3f5;border-radius:9px;width:34px;height:34px;cursor:pointer}.drawer-wrap{position:fixed;inset:0;background:rgba(17,24,39,.32);z-index:100}.drawer{position:absolute;inset:0 0 0 auto;width:min(650px,92vw);background:#fff;box-shadow:-20px 0 60px rgba(16,24,40,.16);overflow:auto}.drawer-head{padding:20px 25px}.drawer-body{padding:22px 25px 90px}.drawer-section{padding:19px 0;border-bottom:1px solid var(--line)}.drawer-section:first-child{padding-top:0}.drawer-section>h3{margin-bottom:10px}.request-quote{font-size:16px;line-height:1.6;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:15px}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.detail-item{background:var(--surface-2);border-radius:10px;padding:10px}.detail-item span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.detail-item strong{font-size:13px}.screenshot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.screenshot{aspect-ratio:4/3;background:#e9ecf1;border-radius:9px;overflow:hidden;border:1px solid var(--line)}.screenshot img{width:100%;height:100%;object-fit:cover}.timeline{display:grid;gap:13px}.timeline-item{display:grid;grid-template-columns:12px 1fr;gap:10px;font-size:12px}.timeline-item:before{content:"";width:8px;height:8px;background:var(--primary);border-radius:50%;margin-top:5px}.timeline-item time{display:block;color:var(--quiet);font-size:10px}.drawer-actions{position:fixed;bottom:0;right:0;width:min(650px,92vw);background:#fff;border-top:1px solid var(--line);padding:13px 25px calc(13px + env(safe-area-inset-bottom));display:flex;gap:8px;justify-content:flex-end}

/* Client portal */
.client-shell{min-height:100dvh;background:#f4f5f8}.client-topbar{height:70px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,52px);position:sticky;top:0;z-index:20}.client-nav{display:flex;gap:5px}.client-nav a{padding:8px 11px;color:var(--muted);border-radius:8px;font-size:13px;font-weight:600}.client-nav a.active{background:var(--primary-soft);color:var(--primary)}.client-nav a.disabled{opacity:.48;cursor:not-allowed}.client-main{max-width:1160px;margin:auto;padding:34px clamp(18px,4vw,44px) 80px}.client-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.client-hero .eyebrow{margin-bottom:7px}.preview-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}.preview-toolbar{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-bottom:1px solid var(--line)}.device-toggle{display:flex;background:#f0f2f5;border-radius:8px;padding:3px}.device-toggle button{border:0;background:transparent;padding:5px 9px;border-radius:6px;font-size:11px;cursor:pointer}.device-toggle button.active{background:#fff;box-shadow:0 1px 3px rgba(16,24,40,.1)}.preview-stage{min-height:650px;background:#e7eaf0;padding:16px;display:flex;justify-content:center}.preview-frame{width:100%;height:650px;border:0;background:#fff;border-radius:8px;box-shadow:0 8px 26px rgba(16,24,40,.12);transition:width .2s}.preview-frame.mobile{width:390px}.preview-fallback{display:grid;place-content:center;text-align:center;max-width:470px;padding:40px}.change-list{display:grid;gap:14px}.change-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:0 1px 2px rgba(16,24,40,.03)}.change-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.change-number{display:flex;align-items:center;gap:9px;font-weight:700}.number-badge{width:27px;height:27px;border-radius:8px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-size:12px}.text-pair{display:grid;grid-template-columns:1fr 1fr;gap:11px}.upload-zone{border:1px dashed #bcc3d0;border-radius:10px;padding:18px;text-align:center;background:#fafbfc;cursor:pointer}.upload-zone strong{display:block;font-size:13px}.upload-zone span{font-size:11px;color:var(--muted)}.sticky-submit{position:sticky;bottom:12px;margin-top:18px;background:#fff;border:1px solid var(--line);box-shadow:0 10px 30px rgba(16,24,40,.12);border-radius:13px;padding:12px;display:flex;justify-content:space-between;align-items:center;gap:16px}.request-history{display:grid;gap:10px}.request-item{background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px}.request-item p{font-size:13px;margin:5px 0}.request-item small{color:var(--muted)}

/* States and toasts */
.state-card{text-align:center;padding:60px 25px;color:var(--muted)}.state-icon{width:52px;height:52px;border-radius:16px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;margin:0 auto 15px;font-size:20px}.state-card h2{color:var(--ink);margin-bottom:7px}.skeleton{background:linear-gradient(90deg,#eef0f3 25%,#f8f9fa 50%,#eef0f3 75%);background-size:200% 100%;animation:shimmer 1.3s infinite;border-radius:8px;min-height:18px}.toast-region{position:fixed;right:18px;bottom:18px;z-index:300;display:grid;gap:8px}.toast{background:#172033;color:#fff;padding:11px 14px;border-radius:10px;box-shadow:0 12px 28px rgba(16,24,40,.24);font-size:13px;max-width:360px;animation:toast-in .2s ease}.toast.error{background:#8f211a}.toast.success{background:#176348}@keyframes toast-in{from{opacity:0;transform:translateY(8px)}}@keyframes shimmer{to{background-position:-200% 0}}

@media(max-width:1100px){.summary-grid{grid-template-columns:repeat(2,1fr)}.panel-grid{grid-template-columns:1fr}.kanban{grid-template-columns:repeat(4,280px)}}
@media(max-width:800px){:root{--topbar:60px}.sidebar{display:none}.main-shell{margin-left:0}.topbar{padding:0 16px}.topbar .search{width:100%}.top-actions .btn{display:none}.workspace{padding:22px 15px 88px}.page-head{align-items:center;margin-bottom:18px}.page-title p{font-size:12px}.page-head h1{font-size:25px}.head-actions .btn-secondary{display:none}.mobile-nav{display:grid;grid-template-columns:repeat(6,1fr);position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--line);z-index:60;padding:5px 5px calc(5px + env(safe-area-inset-bottom))}.mobile-nav button{border:0;background:transparent;font-size:10px;color:var(--muted);padding:6px 2px}.mobile-nav button span{display:block;font-size:17px;margin-bottom:1px}.mobile-nav button.active{color:var(--primary)}.summary-grid{gap:9px}.summary-card{padding:14px}.summary-card .metric{font-size:24px}.panel-body{padding:14px}.toolbar{align-items:flex-start}.filters{overflow:auto;flex-wrap:nowrap;width:100%;padding-bottom:3px}.kanban{display:block;overflow:visible}.mobile-status-tabs{display:flex;gap:6px;overflow:auto;margin:-3px 0 13px;padding-bottom:3px}.mobile-status-tabs button{white-space:nowrap;border:1px solid var(--line);background:#fff;border-radius:18px;padding:7px 11px;font-size:11px}.mobile-status-tabs button.active{background:#172033;color:#fff;border-color:#172033}.column{display:none;min-height:0;background:transparent;border:0;padding:0}.column.mobile-active{display:block}.column-head{display:none}.card-stack{gap:10px}.task-card{padding:16px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.modal{max-height:100dvh;border-radius:0;width:100%;height:100dvh}.overlay{padding:0}.modal-foot{padding-bottom:calc(15px + env(safe-area-inset-bottom))}.drawer{width:100%;inset:0}.drawer-actions{width:100%}.client-topbar{height:auto;min-height:64px;align-items:flex-start;padding:13px 16px;gap:12px}.client-topbar .wordmark span span{display:none}.client-nav{overflow:auto}.client-nav a{font-size:11px;padding:7px}.client-main{padding:25px 15px 80px}.client-hero{align-items:flex-start;flex-direction:column}.preview-stage{padding:7px;min-height:600px}.preview-frame{height:600px}.text-pair{grid-template-columns:1fr}.sticky-submit{bottom:calc(8px + env(safe-area-inset-bottom));align-items:stretch}.sticky-submit .help{display:none}.auth-shell{grid-template-columns:1fr}.auth-visual{display:none}.auth-panel{padding:24px;justify-content:flex-start}.auth-card{margin:auto 0}.request-item{grid-template-columns:1fr}.data-table{min-width:620px}.panel.table-panel{overflow:auto}}
@media(max-width:480px){.summary-grid{grid-template-columns:1fr 1fr}.summary-card .meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-head{gap:10px}.head-actions .btn{padding:8px 10px}.pin-row{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr 1fr}.screenshot-grid{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.upload-list{display:grid;gap:7px;margin-top:9px}.upload-item{display:grid;grid-template-columns:48px 1fr 34px;gap:10px;align-items:center;background:var(--surface-2);border:1px solid var(--line);border-radius:9px;padding:7px}.upload-item img{width:48px;height:42px;object-fit:cover;border-radius:6px}.upload-item span{font-size:12px;min-width:0;overflow:hidden;text-overflow:ellipsis}.upload-item small{display:block;color:var(--muted)}
@media(max-width:800px){input,select,textarea{font-size:16px}}
.toolbar>.filters{flex:1 1 auto}.filters select.filter-btn{width:auto;min-width:138px;flex:0 0 auto}

/* Board filters remain readable and reachable at narrow viewport widths. */
.toolbar,.toolbar>.filters{min-width:0}.filter-btn{white-space:nowrap}.view-toggle{flex-shrink:0}
.project-board{grid-template-columns:repeat(3,minmax(245px,1fr))}
.mobile-status-tabs[hidden]{display:none}
@media(max-width:800px){
  .toolbar{flex-wrap:wrap}.toolbar>.filters{flex-basis:100%;width:100%}
  .filters select.filter-btn{font-size:16px;min-height:44px;max-width:100%}
  .filter-btn{flex-shrink:0;min-height:44px}
  .project-board .column{margin-bottom:20px}.project-board .column-head{display:flex}
}
.screenshot{display:block}.comment-list{display:grid;gap:9px}.comment-item{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:11px}.comment-item>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.comment-item p{font-size:13px;line-height:1.5;margin:7px 0}.comment-item time{font-size:10px;color:var(--quiet)}
