:root{--cmp-navy:#003d6b;--cmp-navy-700:#00335b;--cmp-navy-900:#002342;--cmp-lime:#cdd100;--cmp-cyan:#0bb4ed;--cmp-bg:#f4f6f9;--cmp-surface:#ffffff;--cmp-border:#e4e9f0;--cmp-text:#16263a;--cmp-text-muted:#64748b;--cmp-success:#16a34a;--cmp-success-bg:#dcfce7;--cmp-warning:#d97706;--cmp-warning-bg:#fef3c7;--cmp-danger:#dc2626;--cmp-danger-bg:#fee2e2;--cmp-info-bg:#e0f2fe;--cmp-font-sans:"Inter",system-ui,sans-serif;--cmp-font-display:"Sora","Inter",system-ui,sans-serif;--cmp-font-mono:"JetBrains Mono",ui-monospace,monospace;--cmp-sidebar-w:248px;--cmp-sidebar-collapsed:64px;--cmp-topbar-h:56px;--cmp-radius:10px;--cmp-shadow:0 1px 2px rgba(16,38,58,0.06),0 1px 3px rgba(16,38,58,0.04);--cmp-shadow-lg:0 10px 30px rgba(16,38,58,0.18)}[data-theme=dark]{--cmp-bg:#0a1825;--cmp-surface:#0f2436;--cmp-border:#1e3a52;--cmp-text:#e8eef4;--cmp-text-muted:#93a7ba}*{box-sizing:border-box}body,html{margin:0;background:var(--cmp-bg);color:var(--cmp-text);font-family:var(--cmp-font-sans);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--cmp-font-display);margin:0}a{color:inherit}.cmp-shell{display:grid;grid-template-columns:var(--cmp-sidebar-w) 1fr;min-height:100vh;transition:grid-template-columns .2s ease}.cmp-shell.collapsed{grid-template-columns:var(--cmp-sidebar-collapsed) 1fr}.cmp-sidebar{position:relative;background:var(--cmp-surface);border-right:1px solid var(--cmp-border);display:flex;flex-direction:column;gap:4px;padding:12px 10px;overflow-y:auto}.cmp-brand{display:flex;align-items:center;gap:10px;padding:6px 10px 14px;font-family:var(--cmp-font-display);font-weight:700;font-size:16px;color:var(--cmp-navy);white-space:nowrap}.cmp-brand-dot{width:13px;height:13px;border-radius:50%;background:var(--cmp-lime);box-shadow:0 0 0 3px rgba(205,209,0,.25);flex:0 0 auto}.cmp-shell.collapsed .cmp-brand-text,.cmp-shell.collapsed .cmp-nav-count,.cmp-shell.collapsed .cmp-nav-label,.cmp-shell.collapsed .cmp-nav-text{display:none}.cmp-nav-label{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--cmp-text-muted);padding:14px 10px 4px}.cmp-nav-item{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:8px;color:var(--cmp-text);text-decoration:none;font-size:14px;cursor:pointer;transition:background .12s}.cmp-nav-item:hover{background:var(--cmp-bg)}.cmp-nav-item.active{background:rgba(0,61,107,.08);color:var(--cmp-navy);font-weight:600;box-shadow:inset 3px 0 0 var(--cmp-navy)}.cmp-nav-icon{flex:0 0 18px;width:18px;height:18px;display:grid;place-items:center;color:var(--cmp-text-muted)}.cmp-nav-item.active .cmp-nav-icon{color:var(--cmp-navy)}.cmp-nav-text{flex:1 1;white-space:nowrap;overflow:hidden}.cmp-nav-count{background:var(--cmp-bg);color:var(--cmp-text-muted);border-radius:999px;font-size:11px;font-weight:600;padding:1px 8px}.cmp-nav-parent{width:100%;background:none;border:none;font:inherit;text-align:left}.cmp-nav-parent.active-parent{color:var(--cmp-navy);font-weight:600}.cmp-nav-parent.active-parent .cmp-nav-icon{color:var(--cmp-navy)}.cmp-chevron{color:var(--cmp-text-muted);transition:transform .15s;font-size:16px}.cmp-chevron.open{transform:rotate(90deg)}.cmp-submenu{margin:2px 0;display:flex;flex-direction:column}.cmp-subitem{padding:8px 11px 8px 41px;font-size:13.5px}.cmp-subitem.active{background:rgba(0,61,107,.08);color:var(--cmp-navy);font-weight:600;box-shadow:inset 3px 0 0 var(--cmp-navy)}.cmp-breadcrumb{display:flex;gap:6px;align-items:center;font-size:13px;color:var(--cmp-text-muted);margin-bottom:8px}.cmp-breadcrumb span:last-child{color:var(--cmp-text)}.cmp-collapse{position:absolute;top:14px;right:-12px;width:24px;height:24px;border-radius:50%;background:var(--cmp-surface);border:1px solid var(--cmp-border);color:var(--cmp-text-muted);display:grid;place-items:center;cursor:pointer;z-index:5;box-shadow:var(--cmp-shadow)}.cmp-main{display:flex;flex-direction:column;min-width:0}.cmp-topbar{position:-webkit-sticky;position:sticky;top:0;height:var(--cmp-topbar-h);background:var(--cmp-navy);color:#fff;justify-content:space-between;padding:0 18px;z-index:20}.cmp-topbar,.cmp-topbar-left{display:flex;align-items:center}.cmp-topbar-left{gap:12px}.cmp-hamb{display:none;background:none;border:none;color:#fff;font-size:22px;cursor:pointer}.cmp-topbar-actions{display:flex;align-items:center;gap:14px}.cmp-iconbtn{background:rgba(255,255,255,.12);border:none;color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer;display:grid;place-items:center}.cmp-avatar{display:flex;align-items:center;gap:8px}.cmp-avatar-circle{width:32px;height:32px;border-radius:50%;background:var(--cmp-lime);color:var(--cmp-navy-900);display:grid;place-items:center;font-weight:700;font-size:13px}.cmp-avatar-name{font-size:14px}.cmp-content{padding:24px;max-width:1280px;width:100%}.cmp-pagehead{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:16px}.cmp-page-title{font-size:26px}.cmp-page-sub{color:var(--cmp-text-muted);margin:6px 0 0;font-size:14px;max-width:70ch}.cmp-tabs{display:flex;gap:4px;border-bottom:1px solid var(--cmp-border);margin-bottom:20px;overflow-x:auto}.cmp-tab{padding:10px 14px;font-size:14px;font-weight:500;color:var(--cmp-text-muted);cursor:pointer;white-space:nowrap;background:none;border:none;border-bottom:2px solid transparent}.cmp-tab:hover{color:var(--cmp-text)}.cmp-tab.active{color:var(--cmp-navy);border-bottom-color:var(--cmp-navy);font-weight:600}.cmp-search{display:flex;align-items:center;gap:10px;background:var(--cmp-surface);border:1px solid var(--cmp-border);border-radius:var(--cmp-radius);padding:10px 14px;flex:1 1}.cmp-search input{border:none;outline:none;width:100%;font-size:14px;background:transparent;color:var(--cmp-text)}.cmp-results{color:var(--cmp-text-muted);font-size:13px;white-space:nowrap}.cmp-card{background:var(--cmp-surface);border:1px solid var(--cmp-border);border-radius:var(--cmp-radius);padding:18px;box-shadow:var(--cmp-shadow)}.cmp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:16px;gap:16px}.cmp-card-foot{margin:14px -18px -18px;padding:12px 18px;border-top:1px solid var(--cmp-border);display:flex;justify-content:space-between;font-size:14px;cursor:pointer;border-radius:0 0 var(--cmp-radius) var(--cmp-radius)}.cmp-badge,.cmp-card-foot{background:var(--cmp-bg);align-items:center;font-weight:600}.cmp-badge{display:inline-flex;gap:6px;padding:3px 11px;border-radius:999px;font-size:12px;color:var(--cmp-text)}.cmp-badge--lime{background:var(--cmp-lime);color:var(--cmp-navy-900)}.cmp-badge--cyan{background:var(--cmp-cyan);color:#fff}.cmp-badge--navy{background:var(--cmp-navy);color:#fff}.cmp-status{display:inline-flex;align-items:center;gap:6px;padding:3px 11px;border-radius:999px;font-size:12px;font-weight:600}.cmp-status:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.cmp-status--success{background:var(--cmp-success-bg);color:var(--cmp-success)}.cmp-status--error{background:var(--cmp-danger-bg);color:var(--cmp-danger)}.cmp-status--warning{background:var(--cmp-warning-bg);color:var(--cmp-warning)}.cmp-status--neutral{background:var(--cmp-bg);color:var(--cmp-text-muted)}.cmp-status--info{background:var(--cmp-info-bg);color:#0369a1}.cmp-btn{font-family:var(--cmp-font-sans);font-size:14px;font-weight:600;border:1px solid transparent;border-radius:8px;padding:9px 16px;cursor:pointer;background:var(--cmp-navy);color:#fff;display:inline-flex;align-items:center;gap:8px}.cmp-btn:hover{background:var(--cmp-navy-700)}.cmp-btn--pill{border-radius:999px}.cmp-btn--ghost{background:transparent;color:var(--cmp-text);border-color:var(--cmp-border)}.cmp-btn--ghost:hover{background:var(--cmp-bg)}.cmp-btn--cyan{background:var(--cmp-cyan)}.cmp-btn--cyan:hover{background:#0aa0d4}.cmp-btn--danger{background:var(--cmp-danger)}.cmp-btn--danger:hover{background:#b91c1c}.cmp-btn:disabled{opacity:.55;cursor:default}.cmp-table-wrap{background:var(--cmp-surface);border:1px solid var(--cmp-border);border-radius:var(--cmp-radius);overflow:hidden;box-shadow:var(--cmp-shadow)}.cmp-table{width:100%;border-collapse:collapse;font-size:14px}.cmp-table th{text-align:left;padding:12px 16px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--cmp-text-muted);background:var(--cmp-bg);font-weight:600}.cmp-table td{padding:13px 16px;border-top:1px solid var(--cmp-border)}.cmp-table tbody tr:hover{background:var(--cmp-bg)}.cmp-table .filter-row td{padding:8px 16px;background:var(--cmp-surface);border-top:1px solid var(--cmp-border)}.cmp-table input,.cmp-table select{width:100%;padding:6px 8px;border:1px solid var(--cmp-border);border-radius:7px;font-size:13px;background:var(--cmp-surface);color:var(--cmp-text)}.cmp-rowlink{cursor:pointer}.cmp-table input[type=checkbox]{width:16px;height:16px;accent-color:var(--cmp-navy);cursor:pointer}.cmp-th-sort{-webkit-user-select:none;-moz-user-select:none;user-select:none}.cmp-th-sort:hover{color:var(--cmp-text)}.cmp-grid-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.cmp-search-wrap{flex:0 1 320px;min-width:200px}.cmp-grid-count{font-size:12px;color:var(--cmp-text-muted);white-space:nowrap}.cmp-selbar{display:flex;align-items:center;gap:16px;padding:9px 14px;margin-bottom:12px;background:var(--cmp-cyan-50,rgba(11,180,237,.1));border:1px solid var(--cmp-cyan);border-radius:10px;font-size:13px}.cmp-linkbtn{background:none;border:none;color:var(--cmp-cyan);font-weight:600;font-size:13px;cursor:pointer;padding:0}.cmp-linkbtn:hover{text-decoration:underline}.cmp-colchooser{position:absolute;top:calc(100% + 6px);left:0;z-index:30;background:var(--cmp-surface);border:1px solid var(--cmp-border);border-radius:10px;box-shadow:var(--cmp-shadow-lg);padding:10px 12px;min-width:200px;max-height:320px;overflow:auto;display:grid;grid-gap:8px;gap:8px}.cmp-colchooser label{display:flex;align-items:center;gap:8px;font-size:13px;white-space:nowrap;cursor:pointer}.cmp-crumb-link{background:none;border:none;padding:0;font:inherit;color:var(--cmp-cyan);cursor:pointer;text-decoration:none}.cmp-crumb-link:hover{text-decoration:underline}.cmp-filterpanel{background:var(--cmp-surface);border:1px solid var(--cmp-border);border-radius:var(--cmp-radius);box-shadow:var(--cmp-shadow);margin-bottom:12px}.cmp-filterpanel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 16px;border-bottom:1px solid var(--cmp-border);font-weight:600;font-size:13px}.cmp-filterpanel-body{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:12px 16px;gap:12px 16px;padding:14px 16px}.cmp-filterpanel-body .cmp-field{margin-bottom:0}.cmp-pager{display:flex;align-items:center;gap:10px;margin-top:12px}.cmp-pager select{width:auto;padding:7px 10px;border:1px solid var(--cmp-border);border-radius:8px;background:var(--cmp-surface);color:var(--cmp-text);font-size:13px}.cmp-pager .cmp-btn{padding:7px 12px;font-size:13px}.cmp-field{display:block;margin-bottom:12px}.cmp-field>span{display:block;font-size:12px;color:var(--cmp-text-muted);margin-bottom:5px}.cmp-input{width:100%;padding:9px 11px;border:1px solid var(--cmp-border);border-radius:8px;font-size:14px;background:var(--cmp-surface);color:var(--cmp-text)}.cmp-input:focus{outline:none;border-color:var(--cmp-cyan);box-shadow:0 0 0 3px rgba(11,180,237,.15)}.cmp-muted{color:var(--cmp-text-muted)}.cmp-mono{font-family:var(--cmp-font-mono)}.cmp-overlay{position:fixed;inset:0;background:rgba(16,38,58,.45);z-index:60;display:grid;place-items:center;padding:16px}.cmp-modal{background:var(--cmp-surface);border-radius:14px;box-shadow:var(--cmp-shadow-lg);width:100%;max-width:560px;max-height:90vh;overflow:auto}.cmp-modal--wide{max-width:880px}.cmp-modal-head{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 0}.cmp-modal-head h2{font-size:20px}.cmp-modal-body{padding:18px 24px}.cmp-modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:0 24px 22px}.cmp-x{background:none;border:none;font-size:22px;line-height:1;cursor:pointer;color:var(--cmp-text-muted)}.cmp-drawer{position:fixed;top:0;right:0;bottom:0;width:480px;max-width:92%;background:var(--cmp-surface);box-shadow:var(--cmp-shadow-lg);z-index:60;transform:translateX(100%);transition:transform .25s ease;display:flex;flex-direction:column}.cmp-drawer.open{transform:none}.cmp-drawer-head{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--cmp-border)}.cmp-drawer-head h2{font-size:18px}.cmp-drawer-body{padding:20px 22px;overflow-y:auto;flex:1 1}.cmp-drawer-foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 22px;border-top:1px solid var(--cmp-border)}.cmp-checklist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.cmp-checklist li{display:flex;align-items:center;gap:10px;color:var(--cmp-success);font-weight:500}.cmp-checklist li:before{content:"✓";display:grid;place-items:center;width:20px;height:20px;border-radius:50%;border:2px solid var(--cmp-success);font-size:12px}.cmp-scrim{display:none}@media (max-width:900px){.cmp-shell,.cmp-shell.collapsed{grid-template-columns:1fr}.cmp-sidebar{position:fixed;top:0;left:0;bottom:0;width:82%;max-width:300px;transform:translateX(-100%);transition:transform .25s;z-index:50;box-shadow:var(--cmp-shadow-lg)}.cmp-sidebar.open{transform:none}.cmp-collapse{display:none}.cmp-hamb{display:block}.cmp-scrim.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:40}.cmp-drawer{width:100%}.cmp-grid{grid-template-columns:1fr}}.cmp-nav-group-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--cmp-text-muted);margin-bottom:6px}.cmp-kanban{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px}@media (max-width:900px){.cmp-kanban{display:flex;overflow-x:auto}.cmp-kanban>div{min-width:200px}}.cmp-launcher{position:absolute;right:0;top:calc(100% + 8px);z-index:50;padding:12px;width:320px;max-width:calc(100vw - 24px)}.cmp-launcher-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;max-height:min(60vh,420px);overflow-y:auto}.cmp-applauncher-tile{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;border:1px solid var(--cmp-border);border-radius:10px;background:var(--cmp-surface);color:var(--cmp-text);cursor:pointer;text-align:center}.cmp-applauncher-tile:hover{border-color:var(--cmp-navy);box-shadow:0 2px 8px rgba(0,0,0,.08)}@media (max-width:900px){.cmp-launcher{position:fixed;top:calc(var(--cmp-topbar-h) + 8px);right:12px;left:12px;width:auto;max-width:none}.cmp-launcher-grid{grid-template-columns:1fr;max-height:min(70vh,460px)}.cmp-applauncher-tile{flex-direction:row;align-items:center;gap:12px;text-align:left;padding:11px 12px}}