:root{--rail:#07192d;--nav:#0e2947;--nav-border:#1d3e60;--accent:#2d8cff;--accent2:#40c4a8;--bg:#f3f6fa;--panel:#fff;--panel-soft:#f8fafc;--text:#182536;--muted:#6b7a8d;--border:#dce4ec;--shadow:0 8px 28px rgba(15,39,64,.08);--shadow-sm:0 2px 8px rgba(15,39,64,.06);--rail-w:64px;--nav-w:248px;--topbar-h:68px}
:root[data-theme="dark"]{--bg:#0d1621;--panel:#132131;--panel-soft:#172738;--text:#e8eef5;--muted:#9eacba;--border:#2a3c4f;--shadow:0 10px 30px rgba(0,0,0,.22);--shadow-sm:0 2px 9px rgba(0,0,0,.18);--rail:#06111e;--nav:#0a1b2d;--nav-border:#18334f}
html body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:14px}body a{color:var(--accent);text-decoration:none}body button,body input,body select,body textarea{font:inherit}.app-shell{min-height:100vh;display:flex;background:var(--bg)}
.icon-rail{width:var(--rail-w);background:linear-gradient(180deg,var(--rail),#061421);display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:40;border-right:1px solid rgba(255,255,255,.06)}.rail-brand{height:68px;display:grid;place-items:center;border-bottom:1px solid rgba(255,255,255,.08)}.rail-brand span{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,var(--accent),#1ecab3);display:grid;place-items:center;color:#fff;font-weight:900;font-size:20px;box-shadow:0 7px 20px rgba(45,140,255,.3)}.rail-nav{padding:12px 8px;display:flex;flex-direction:column;gap:7px}.rail-link,.rail-button{height:46px;border-radius:10px;display:grid;place-items:center;color:#9fb2c7;position:relative;border:0;background:transparent;width:100%}.rail-link svg,.rail-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.rail-link:first-child svg path{fill:currentColor;stroke:none}.rail-link span,.rail-button span{position:absolute;left:57px;background:#07192d;color:white;padding:7px 10px;border-radius:6px;font-size:12px;opacity:0;pointer-events:none;transform:translateX(-4px);transition:.15s;white-space:nowrap;box-shadow:var(--shadow)}.rail-link:hover,.rail-button:hover{color:#fff;background:rgba(255,255,255,.07)}.rail-link:hover span,.rail-button:hover span{opacity:1;transform:none}.rail-link.active{background:linear-gradient(135deg,#1e6ecc,#318ff0);color:#fff;box-shadow:0 7px 18px rgba(24,112,210,.28)}.rail-bottom{margin-top:auto;padding:10px 8px 16px;display:flex;flex-direction:column;gap:7px}.nav-expand-button{display:none}.app-shell.nav-collapsed .nav-expand-button{display:grid}
.module-nav{position:fixed;left:var(--rail-w);top:0;bottom:0;width:var(--nav-w);background:var(--nav);color:#dce8f3;border-right:1px solid var(--nav-border);z-index:35;display:flex;flex-direction:column;transition:width .2s,transform .2s;overflow:hidden}.module-branding{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid var(--nav-border);min-width:248px}.module-branding strong{display:block;font-size:18px}.module-branding small{display:block;color:#8ea4ba;font-size:10px;margin-top:2px}.nav-collapse{width:30px;height:30px;border:1px solid #31506e;border-radius:7px;background:#102f50;color:#bcd0e3;font-size:22px}.module-section-title{font-size:10px;font-weight:800;letter-spacing:.15em;color:#6f8aa5;padding:20px 18px 8px;min-width:248px}.module-links{padding:0 10px;display:flex;flex-direction:column;gap:4px;min-width:248px;overflow:auto}.module-links a{display:block;color:#c6d5e3;padding:10px 11px;border-radius:8px;border-left:3px solid transparent}.module-links a span{display:block;font-weight:650}.module-links a small{display:block;color:#7891a9;font-size:10px;margin-top:2px}.module-links a:hover{background:#123454;color:#fff}.module-links a.active{background:#153c62;border-left-color:var(--accent2);color:#fff}.module-group-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#6f8aa5;padding:14px 10px 4px}.module-footer{margin-top:auto;border-top:1px solid var(--nav-border);padding:14px 18px;color:#7e96ad;font-size:11px;display:flex;align-items:center;gap:7px;min-width:248px}.status-dot{width:8px;height:8px;border-radius:50%;background:#3fc98f;box-shadow:0 0 0 3px rgba(63,201,143,.12)}.app-shell.nav-collapsed .module-nav{width:0;border:0}.app-shell.nav-collapsed .workspace-shell{margin-left:var(--rail-w)}
.workspace-shell{margin-left:calc(var(--rail-w) + var(--nav-w));min-width:0;flex:1;display:flex;transition:margin-left .2s}.workspace{min-width:0;flex:1}.workspace-topbar{height:var(--topbar-h);background:var(--panel);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:18px;padding:0 22px;position:sticky;top:0;z-index:25}.mobile-nav-button{display:none}.topbar-title{font-weight:750}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.top-icon-button{width:34px;height:34px;border:1px solid var(--border);background:var(--panel);color:var(--muted);border-radius:8px}.profile-block{display:flex;align-items:center;gap:9px}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#ddecff;color:#1768bb;font-weight:800;text-transform:uppercase}.profile-copy strong,.profile-copy small{display:block;white-space:nowrap}.profile-copy strong{font-size:12px}.profile-copy small{font-size:10px;color:var(--muted)}.signout-button{background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:7px 11px}.workspace-main{padding:24px 26px 48px;max-width:1650px;margin:0 auto}
.page-heading,.project-heading,.task-form-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.page-heading h1,.project-heading h1,.task-form-heading h1{font-size:25px;letter-spacing:-.02em;margin:0 0 5px}.page-heading p,.project-heading p,.task-form-heading p{margin:0;color:var(--muted);line-height:1.55}.eyebrow{font-size:10px;letter-spacing:.14em;color:var(--accent);font-weight:850;text-transform:uppercase}.project-title-line{display:flex;align-items:center;gap:7px}.title-caret{color:var(--muted)}
.panel,.client-card,.task-form-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:18px;box-shadow:var(--shadow-sm)}.message{padding:10px 13px;border-radius:8px;margin-bottom:12px;background:#e8f2ff;border:1px solid #cfe3ff;color:#23517d}.message.success{background:#eaf9f1;border-color:#c6edd8;color:#26704b}.message.error{background:#fff0ef;border-color:#ffd1ce;color:#8d2c26}
.project-tabs{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap;height:auto;border:0;align-items:initial}.project-tab{height:auto;padding:8px 11px;background:var(--panel);border:1px solid var(--border);border-radius:7px;color:var(--muted)}.project-tab.active{background:#173c61;color:#fff;border-color:#173c61}.board-toolbar{display:flex;gap:8px;flex-wrap:wrap;min-height:0;margin-bottom:14px}.primary-button,.toolbar-button{height:auto;border:1px solid var(--border);background:var(--panel);border-radius:7px;padding:8px 12px;color:var(--text)}.primary-button{background:var(--accent);border-color:var(--accent);color:#fff}.toolbar-button:disabled{opacity:.55}
.board-group{margin:0 0 24px}.group-title-row{display:flex;align-items:center;gap:8px;margin:20px 0 8px;padding:0;color:var(--text);min-height:0}.group-title-row h2{margin:0;font-size:15px}.group-count{font-size:10px;color:var(--muted);margin:0}.group-chevron{color:var(--accent);margin:0}.board-table-wrap{overflow:auto;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:10px;background:var(--panel);box-shadow:var(--shadow-sm);margin:0}.group-completed .board-table-wrap{border-left-color:var(--accent2)}.board-table{width:100%;border-collapse:collapse;background:var(--panel);min-width:800px;table-layout:auto}.board-table th,.board-table td{height:auto;border-right:0;border-bottom:1px solid var(--border);padding:10px 9px;vertical-align:middle}.board-table thead th{height:auto;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:var(--panel-soft);text-align:left;border-top:0}.board-table tr:last-child td{border-bottom:0}.board-table tbody tr:hover td{background:rgba(45,140,255,.035)}.board-table .check-col{width:36px;text-align:center}.board-table .add-col{width:35px}.status-cell{padding:10px 9px!important;text-align:left}.status-block{display:inline-flex;width:auto;min-height:0;align-items:center;padding:5px 8px;border-radius:999px;background:var(--status-color,#6b7a8d);color:#fff;font-size:10px;font-weight:750}.priority-pill{display:inline-flex;min-width:0;padding:4px 7px;border-radius:999px;background:#edf4ff;color:#2a69aa;font-size:10px;font-weight:700}.date-cell{text-align:left;color:var(--muted)}.fake-check{width:15px;height:15px;border:1px solid var(--border);border-radius:3px;display:inline-block;background:var(--panel)}.avatar-stack{justify-content:flex-start}.member-avatar{width:28px;height:28px;border-radius:50%;display:inline-grid;place-items:center;background:#ddecff;color:#1768bb;font-weight:800;font-size:11px;border:2px solid var(--panel);margin-left:-4px}.empty-avatar{background:var(--panel-soft);color:var(--muted)}.add-task-row td{background:var(--panel)!important}.add-task-row button{border:0;background:transparent;color:var(--accent);padding:5px 0}
.client-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;margin-top:18px}.client-card{margin:0;overflow:visible}.client-card-header{min-height:0;display:flex;align-items:center;gap:12px;padding:0 0 12px;border-bottom:1px solid var(--border)}.client-initial{width:42px;height:42px;border-radius:10px;background:#ddecff;color:#1768bb;display:grid;place-items:center;font-weight:850}.card-label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.client-card h2{margin:2px 0 0;font-size:17px}.project-card-list{padding:12px 0 0;display:flex;flex-direction:column;gap:7px}.project-card-row{display:flex;align-items:center;min-height:0;padding:11px;border:1px solid var(--border);border-radius:9px;color:var(--text);background:var(--panel-soft)}.project-card-row:hover{background:var(--panel);border-color:#b9cee3}.project-color-bar{width:4px;height:26px;background:var(--accent2);border-radius:4px;margin-right:10px}.project-card-name{flex:1;font-weight:700}.project-card-arrow{font-size:20px;color:var(--muted)}
.task-form-page{max-width:980px}.task-form-card{padding:20px}.form-section{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.form-section>label{font-weight:700}.form-section input[type=text],.form-section input[type=date],.form-section textarea,.form-section select{width:100%;height:auto;border:1px solid var(--border);border-radius:7px;padding:9px 10px;background:var(--panel);color:var(--text);margin:0}.form-section textarea{min-height:110px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.assignee-list{display:flex;flex-wrap:wrap;gap:8px}.assignee-option{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:9px;padding:8px 10px;background:var(--panel-soft)}.assignee-avatar{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#ddecff;color:#1768bb;font-size:11px;font-weight:800}.field-help{font-size:11px;color:var(--muted)}.form-actions{display:flex;justify-content:flex-end;gap:8px}.primary-action,.secondary-action{min-height:auto;border-radius:7px;padding:8px 12px}.primary-action{background:var(--accent)!important;border:1px solid var(--accent)!important;color:#fff!important}.secondary-action{background:var(--panel)!important;border:1px solid var(--border)!important;color:var(--text)!important}
.login-shell{min-height:100vh;width:100%;max-width:none;display:grid;place-items:center;background:linear-gradient(135deg,#07192d,#0f3154)}.login-brand{position:fixed;top:26px;left:28px;color:#fff;display:flex;align-items:center;gap:10px;margin:0;justify-content:flex-start}.login-logo{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--accent),#1ecab3);display:grid;place-items:center;font-weight:900;font-size:22px}.login-brand strong,.login-brand span{display:block}.login-brand span{font-size:10px;color:#a8c0d5}.login-main{width:min(430px,calc(100% - 32px))}.login-card{margin:0;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:28px;box-shadow:var(--shadow)}.login-form input{width:100%;height:auto;padding:10px;border:1px solid var(--border);border-radius:7px;background:var(--panel);color:var(--text);margin:0 0 12px}.login-button{width:100%;margin-top:8px;background:var(--accent);border:0;color:#fff;border-radius:7px;padding:10px 12px;font-weight:750}
.mobile-nav-scrim{display:none}@media(max-width:900px){.icon-rail{display:none}.module-nav{left:0;transform:translateX(-100%);width:var(--nav-w)!important}.app-shell.mobile-nav-open .module-nav{transform:translateX(0)}.workspace-shell,.app-shell.nav-collapsed .workspace-shell{margin-left:0}.mobile-nav-button{display:inline-flex;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:7px;padding:7px 10px}.mobile-nav-scrim{display:block;position:fixed;inset:0;background:rgba(6,16,27,.42);z-index:34;opacity:0;pointer-events:none;transition:.2s}.app-shell.mobile-nav-open .mobile-nav-scrim{opacity:1;pointer-events:auto}.workspace-main{padding:18px 14px 40px}.profile-copy{display:none}.form-grid{grid-template-columns:1fr}.client-grid{grid-template-columns:1fr}}
