:root{--fs-sky: #A9CEE2;--fs-mist: #E6F0F5;--fs-navy: #173D55;--fs-cloud: #F4F8FA;--fs-paper: #FAFCFD;--fs-steel: #496D82;--fs-signal: #2D82B5;--fs-midnight: #102A3B;--fs-bg: var(--fs-cloud);--fs-surface: var(--fs-paper);--fs-surface-2: var(--fs-mist);--fs-text: var(--fs-navy);--fs-text-dim: var(--fs-steel);--fs-accent: var(--fs-signal);--fs-header: var(--fs-midnight);--fs-border: var(--fs-sky);--fs-radius: 6px;--fs-shadow: 0 12px 32px rgba(23, 61, 85, .075);--fs-shadow-sm: 0 4px 12px rgba(23, 61, 85, .06);--fs-font: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--fs-sidebar-w: 236px;--fs-sidebar-w-collapsed: 64px;--fs-topbar-h: 56px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--fs-bg);color:var(--fs-text);font-family:var(--fs-font);font-size:14px}button{font-family:inherit}.btn{background:var(--fs-surface);color:var(--fs-text);border:1px solid var(--fs-border);border-radius:var(--fs-radius);padding:9px 14px;cursor:pointer;font-size:13px;transition:all .15s}.btn:hover{border-color:var(--fs-accent);color:var(--fs-accent)}.btn.primary{background:var(--fs-accent);border-color:var(--fs-accent);color:#fff;font-weight:600}.btn.primary:hover{background:#256a94;color:#fff}.btn.ghost{background:none;border-color:transparent;color:var(--fs-text-dim)}.btn.ghost:hover{color:var(--fs-accent)}.btn.danger{color:#b3402d}.card{background:var(--fs-surface);border:1px solid var(--fs-border);border-radius:var(--fs-radius);box-shadow:var(--fs-shadow)}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#102a3b73;display:grid;place-items:center;z-index:60}.modal{width:min(480px,92vw);padding:22px}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%);background:var(--fs-midnight);color:#fff;padding:10px 18px;border-radius:var(--fs-radius);box-shadow:var(--fs-shadow);z-index:80;font-size:13px}.toast.bad{background:#b3402d}.hero{min-height:100vh}.hero-stage{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 20px;background:linear-gradient(160deg,var(--fs-midnight) 0%,var(--fs-navy) 100%);color:#fff}.brand-xl.light{color:#fff;opacity:.9;font-size:20px}.hero-headline{font-size:clamp(30px,5vw,48px);font-weight:700;margin:18px 0 10px;letter-spacing:.5px}.hero-subhead{color:var(--fs-sky);font-size:clamp(14px,2vw,18px);margin:0 0 30px}.hero-cta{background:var(--fs-signal);color:#fff;border:none;border-radius:var(--fs-radius);padding:14px 34px;font-size:16px;font-weight:600;cursor:pointer;box-shadow:var(--fs-shadow);transition:transform .15s,background .15s}.hero-cta:hover{background:#256a94;transform:translateY(-2px)}.hero-tiles{display:flex;gap:18px;margin-top:54px;flex-wrap:wrap;justify-content:center}.hero-tile{display:flex;align-items:center;gap:10px;background:#a9cee21a;border:1px solid rgba(169,206,226,.28);color:var(--fs-mist);border-radius:var(--fs-radius);padding:14px 22px;font-size:14px;animation:heroFloat 4.2s ease-in-out infinite}.hero-tile-icon{font-size:20px}@keyframes heroFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}.welcome{min-height:100vh;display:grid;place-items:center;padding:20px}.welcome-inner{width:min(460px,94vw);text-align:center}.brand-xl{font-size:30px;font-weight:700;color:var(--fs-header);letter-spacing:.5px}.brand-xl span,.brand span{color:var(--fs-accent)}.tagline{color:var(--fs-text-dim);margin:8px 0 20px}.welcome .card{padding:22px}.tabs{display:flex;gap:8px;justify-content:center;margin-bottom:16px}.tab{background:none;border:1px solid var(--fs-border);color:var(--fs-text-dim);padding:8px 16px;border-radius:var(--fs-radius);cursor:pointer}.tab.on{color:var(--fs-text);border-color:var(--fs-accent);background:var(--fs-surface-2)}.persona-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.reg-form{display:grid;gap:10px;text-align:left}.reg-form input,.reg-form select,.reg-form textarea{background:var(--fs-surface);border:1px solid var(--fs-border);color:var(--fs-text);border-radius:var(--fs-radius);padding:10px;font-size:13px;font-family:inherit}.dim{color:var(--fs-text-dim);font-size:12px}.msg{margin-top:12px;font-size:13px}.boot{display:grid;place-items:center;height:100vh;color:var(--fs-text-dim)}.shell{display:grid;grid-template-columns:var(--fs-sidebar-w) 1fr;grid-template-rows:var(--fs-topbar-h) 1fr;height:100vh;transition:grid-template-columns .2s}.shell.collapsed{grid-template-columns:var(--fs-sidebar-w-collapsed) 1fr}.topbar{grid-column:1 / -1;display:flex;align-items:center;gap:12px;padding:0 16px;background:var(--fs-surface);border-bottom:1px solid var(--fs-border)}.topbar .brand{font-weight:700;font-size:15px;color:var(--fs-header);white-space:nowrap}.icon-btn{background:none;border:none;font-size:17px;cursor:pointer;color:var(--fs-text-dim);padding:6px;border-radius:var(--fs-radius)}.icon-btn:hover{background:var(--fs-surface-2);color:var(--fs-accent)}.spacer{flex:1}.topbar .who{color:var(--fs-text-dim);font-size:12px}.bell{position:relative}.bell .dot{position:absolute;top:2px;right:2px;width:8px;height:8px;background:var(--fs-accent);border-radius:50%}.user-menu{position:relative}.user-menu .menu{position:absolute;right:0;top:34px;background:var(--fs-surface);border:1px solid var(--fs-border);border-radius:var(--fs-radius);box-shadow:var(--fs-shadow);min-width:180px;padding:6px;z-index:50}.user-menu .menu button{display:block;width:100%;text-align:left;background:none;border:none;padding:9px 10px;border-radius:var(--fs-radius);cursor:pointer;color:var(--fs-text);font-size:13px}.user-menu .menu button:hover{background:var(--fs-surface-2)}.sidebar{background:var(--fs-midnight);color:var(--fs-sky);display:flex;flex-direction:column;overflow-y:auto}.sidebar .side-head{padding:14px 16px 10px;font-size:11px;letter-spacing:1.5px;color:var(--fs-steel);text-transform:uppercase;white-space:nowrap}.side-item{display:flex;align-items:center;gap:12px;padding:10px 16px;color:var(--fs-sky);text-decoration:none;font-size:13px;border-left:3px solid transparent;white-space:nowrap}.side-item:hover{background:#a9cee214;color:#fff}.side-item.on{border-left-color:var(--fs-accent);background:#2d82b52e;color:#fff}.side-item .si-icon{width:20px;text-align:center;flex-shrink:0}.shell.collapsed .side-item .si-label,.shell.collapsed .side-head{display:none}.side-foot{margin-top:auto;padding:12px 16px;font-size:11px;color:var(--fs-steel);white-space:nowrap}.shell.collapsed .side-foot{display:none}.main{overflow-y:auto;padding:24px}.main h2{margin:0 0 16px;font-size:17px;color:var(--fs-header)}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.tile{display:grid;gap:6px;background:var(--fs-surface);border:1px solid var(--fs-border);border-radius:var(--fs-radius);box-shadow:var(--fs-shadow-sm);padding:18px;color:var(--fs-text);text-decoration:none;transition:all .15s}.tile:hover{border-color:var(--fs-accent);transform:translateY(-2px);box-shadow:var(--fs-shadow)}.tile.soon{opacity:.55;cursor:default}.tile.soon:hover{border-color:var(--fs-border);transform:none;box-shadow:var(--fs-shadow-sm)}.tile-icon{font-size:24px}.tile-name{font-weight:600;color:var(--fs-header)}.tile-desc{color:var(--fs-text-dim);font-size:12px;min-height:30px}.tile-badge{font-size:11px;color:var(--fs-accent);border:1px solid var(--fs-border);border-radius:20px;padding:2px 10px;justify-self:start}.tile-badge.ok{color:#1c7a4d;border-color:#1c7a4d}.status-card{border:1px solid #D1E0EA;border-radius:var(--fs-radius);overflow:hidden;display:flex;flex-direction:column;background:var(--fs-surface)}.status-bar-top{width:100%;height:6px}.status-bar-top.blocked{background:#d64545}.status-bar-top.completed{background:#3da76a}.status-bar-top.pre-sales{background:#a9cee2}.status-bar-top.in-delivery{background:#2d82b5}.status-card .card-body{display:flex;flex-direction:column;gap:6px;padding:16px 20px}.status-card .project-name{font:600 15px var(--fs-font);color:var(--fs-midnight);overflow:hidden;max-width:100%;white-space:nowrap;text-overflow:ellipsis}.status-card .date{font:500 12px var(--fs-font);color:#7b9ab0}.status-card .status-line{display:flex;align-items:center;gap:8px;font:400 13px var(--fs-font);color:var(--fs-steel)}.status-card .next-step{font:400 13px var(--fs-font);color:var(--fs-steel);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.status-card .progress-track{background:var(--fs-surface-2);border-radius:4px;height:6px}.status-card .progress-fill{height:6px;border-radius:4px;background:var(--fs-accent)}.inbox{margin-top:30px}.inbox .count{background:var(--fs-accent);color:#fff;border-radius:12px;padding:1px 9px;font-size:12px}.inbox-row{display:flex;align-items:center;gap:10px;padding:12px 14px;margin-bottom:10px}.inbox-who{flex:1}.inbox-row select{background:var(--fs-surface);color:var(--fs-text);border:1px solid var(--fs-border);border-radius:var(--fs-radius);padding:8px;font-family:inherit}.foot{padding:10px 24px;color:var(--fs-text-dim);font-size:11px;text-align:center}.hamburger,.drawer-mask{display:none}@media (max-width: 820px){.shell{grid-template-columns:1fr}.hamburger{display:block}.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--fs-sidebar-w);z-index:70;transform:translate(-100%);transition:transform .2s}.shell.drawer-open .sidebar{transform:translate(0);box-shadow:var(--fs-shadow)}.shell.drawer-open .drawer-mask{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#102a3b66;z-index:65}.shell.collapsed{grid-template-columns:1fr}.topbar .who{display:none}}
