:root{--c-primary:#0F4C5C;--c-secondary:#2A9D8F;--c-sage:#87B7A3;--c-accent:#E9C46A;--c-bg:#FAF8F4;--c-card:#FFFFFF;--c-text:#1A2E35;--c-text-2:#5A7A85;--c-text-3:#9BBBC5;--c-border:#E0EBE7;--c-border-2:#EEF4F2;--c-ai-bg:#E8F5F0;--c-ai-border:#B8DDD5;--c-danger:#C96A6A;--c-success:#3D9E6E;--c-warning:#B08000;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-full:999px;--shadow-sm:0 1px 4px rgba(15,76,92,0.07);--shadow-md:0 4px 14px rgba(15,76,92,0.10)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Heebo,Assistant,Arial,sans-serif;background:var(--c-bg);color:var(--c-text);font-size:14px;line-height:1.6}a{color:inherit;text-decoration:none}.app-shell{display:flex;flex-direction:column;min-height:100vh}.app-topbar{display:flex;align-items:center;gap:14px;padding:10px 20px;background:var(--c-primary);color:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:40;height:56px}.topbar-brand{display:flex;flex-direction:column;line-height:1.1;color:#fff}.topbar-brand .logo-text{font-size:16px;font-weight:700}.topbar-brand .logo-sub{font-size:10px;color:rgba(255,255,255,.55)}.topbar-search{flex:1 1;max-width:520px;display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:var(--r-md);background:rgba(255,255,255,.12);color:rgba(255,255,255,.85);border:1px solid rgba(255,255,255,.15);font-size:14px;cursor:text;font-family:inherit}.topbar-search:hover{background:rgba(255,255,255,.18)}.topbar-search .kbd{font-size:11px;padding:2px 6px;border-radius:5px;background:rgba(255,255,255,.15);color:rgba(255,255,255,.7)}.topbar-actions,.topbar-search .kbd{-webkit-margin-start:auto;margin-inline-start:auto}.topbar-actions{display:flex;align-items:center;gap:8px}.topbar-gear{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--r-md);color:rgba(255,255,255,.85);font-size:18px}.topbar-gear:hover{background:rgba(255,255,255,.12);color:#fff}.brand-menu{position:relative}.brand-menu-btn{font-family:inherit;background:transparent;border:none;cursor:pointer;text-align:start;padding:4px 8px;border-radius:var(--r-md)}.brand-menu-btn:hover{background:rgba(255,255,255,.1)}.brand-menu-list{position:absolute;top:calc(100% + 6px);inset-inline-start:0;z-index:60;min-width:180px;background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--r-md);box-shadow:0 12px 32px rgba(0,0,0,.18);padding:6px;display:flex;flex-direction:column}.brand-menu-item{padding:9px 12px;border-radius:var(--r-md);font-size:14px;font-weight:600;color:var(--c-text-2);cursor:pointer}.brand-menu-item:hover{background:var(--c-ai-bg);color:var(--c-primary)}.switcher-backdrop{position:fixed;inset:0;z-index:100;background:rgba(15,76,92,.35);display:flex;align-items:flex-start;justify-content:center;padding-top:12vh}.switcher-panel{width:min(560px,92vw);background:var(--c-card);border-radius:var(--r-lg);box-shadow:0 20px 60px rgba(0,0,0,.25);overflow:hidden;display:flex;flex-direction:column;max-height:70vh}.switcher-input{width:100%;border:none;-webkit-border-after:1px solid var(--c-border);border-block-end:1px solid var(--c-border);padding:16px 18px;font-size:16px;font-family:inherit;outline:none;background:transparent;color:var(--c-text)}.switcher-list{overflow-y:auto;padding:6px}.switcher-section{font-size:11px;font-weight:700;letter-spacing:.6px;color:var(--c-text-3);padding:10px 12px 4px}.switcher-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--r-md);cursor:pointer;color:var(--c-text)}.switcher-item.active,.switcher-item:hover{background:var(--c-ai-bg)}.switcher-item .si-name{font-weight:600;font-size:14px;color:var(--c-primary)}.switcher-item .si-meta{font-size:12px;color:var(--c-text-3);-webkit-margin-start:auto;margin-inline-start:auto;white-space:nowrap}.switcher-empty{padding:28px;text-align:center;color:var(--c-text-3);font-size:14px}.client-layout{display:grid;grid-template-columns:216px 1fr;align-items:start}.client-rail{position:-webkit-sticky;position:sticky;top:56px;align-self:start;-webkit-border-end:1px solid var(--c-border);border-inline-end:1px solid var(--c-border);padding:18px 14px;display:flex;flex-direction:column;min-height:calc(100vh - 56px)}.rail-head{padding:0 6px 14px;-webkit-border-after:1px solid var(--c-border-2);border-block-end:1px solid var(--c-border-2);-webkit-margin-after:12px;margin-block-end:12px}.rail-nav{display:flex;flex-direction:column;gap:2px}.rail-item{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:var(--r-md);font-size:14px;font-weight:600;color:var(--c-text-2);cursor:pointer}.rail-item:hover{background:var(--c-bg);color:var(--c-primary)}.rail-item.active{background:var(--c-secondary);color:#fff}.rail-item.locked{color:var(--c-text-3);cursor:not-allowed}.rail-item.locked:hover{background:transparent;color:var(--c-text-3)}.rail-divider{height:1px;background:var(--c-border-2);margin:10px 6px}.rail-section{font-size:11px;font-weight:700;letter-spacing:.5px;color:var(--c-text-3);padding:4px 12px}.rail-mi{display:inline-block;width:16px;text-align:center;font-size:12px;flex-shrink:0}.rail-item.current:not(.active){color:var(--c-primary);background:var(--c-ai-bg)}.rail-foot{-webkit-margin-before:auto;margin-block-start:auto;-webkit-padding-before:14px;padding-block-start:14px}.client-main{min-width:0;padding:22px 26px}@media (max-width:760px){.client-layout{grid-template-columns:1fr}.client-rail{position:static;min-height:0;-webkit-border-end:none;border-inline-end:none;-webkit-border-after:1px solid var(--c-border);border-block-end:1px solid var(--c-border)}}.main-content{flex:1 1;min-width:0;display:flex;flex-direction:column}.page-header{display:flex;align-items:center;justify-content:space-between;padding:18px 28px;-webkit-border-after:1px solid var(--c-border);border-block-end:1px solid var(--c-border);background:var(--c-card)}.page-title{font-size:20px;font-weight:700;color:var(--c-primary)}.page-subtitle{font-size:13px;color:var(--c-text-2)}.page-body{padding:24px 28px;flex:1 1}.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid transparent;border-radius:var(--r-md);padding:9px 16px;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;background:none}.btn-primary{background:var(--c-secondary);color:#fff}.btn-primary:hover{background:#23887b}.btn-secondary{background:var(--c-primary);color:#fff}.btn-outline{border-color:var(--c-border);color:var(--c-primary);background:var(--c-card)}.btn-ghost{color:var(--c-secondary)}.btn-sm{padding:6px 12px;font-size:13px}.btn-xs{padding:4px 10px;font-size:12px}.card{background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--r-md);box-shadow:var(--shadow-sm)}.card-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;-webkit-border-after:1px solid var(--c-border-2);border-block-end:1px solid var(--c-border-2)}.card-title{font-weight:600;color:var(--c-primary)}.card-body{padding:16px 18px}.badge{font-size:11.5px;font-weight:600;padding:2px 10px;border-radius:var(--r-full)}.badge-active{background:#E4F5F3;color:#1A6B63}.badge-done{background:#D4F0E4;color:#1A6644}.badge-pending{background:#FDF0D5;color:#8A6D1F}.form-group{-webkit-margin-after:14px;margin-block-end:14px}.form-label{display:block;font-size:13px;font-weight:600;color:var(--c-text-2);-webkit-margin-after:5px;margin-block-end:5px}.form-input,.form-select,.form-textarea{width:100%;border:1px solid var(--c-border);border-radius:var(--r-md);padding:9px 12px;font-size:14px;font-family:inherit;color:var(--c-text);background:var(--c-card)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--c-secondary)}.form-textarea{min-height:90px;resize:vertical}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.flex-1{flex:1 1}.mb-2{-webkit-margin-after:8px;margin-block-end:8px}.mb-4{-webkit-margin-after:16px;margin-block-end:16px}.mt-4{-webkit-margin-before:16px;margin-block-start:16px}.text-sm{font-size:13px}.text-xs{font-size:12px}.text-2{color:var(--c-text-2)}.text-3{color:var(--c-text-3)}.font-semibold{font-weight:600}.empty-state{text-align:center;padding:48px 20px;color:var(--c-text-2)}.empty-icon{font-size:40px;-webkit-margin-after:10px;margin-block-end:10px}