:root{--bg:#f3f6fb;--bg-muted:#e8eef7;--surface:#ffffff;--surface-strong:#ffffff;--surface-tint:#f8fbff;--sidebar:#0d1726;--sidebar-soft:#122033;--sidebar-line:rgba(255,255,255,0.08);--line:rgba(13,23,38,0.09);--line-strong:rgba(13,23,38,0.16);--text:#132033;--muted:#66768e;--primary:#0b7667;--primary-strong:#075e53;--primary-soft:rgba(11,118,103,0.12);--warning:#c67a12;--danger:#c0392b;--success:#1f8f5f;--radius-xl:28px;--radius-lg:22px;--radius-md:16px;--radius-sm:12px;--shadow-lg:0 18px 42px rgba(18,34,56,0.1);--shadow-md:0 12px 28px rgba(18,34,56,0.06)}*{box-sizing:border-box}html{min-height:100%;background:radial-gradient(circle at top left,rgba(11,118,103,.1),transparent 22%),radial-gradient(circle at top right,rgba(58,107,181,.08),transparent 24%),linear-gradient(180deg,#f7f9fc,#edf3f9)}body{margin:0;min-height:100vh;color:var(--text);font-family:Avenir Next,Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;background:transparent}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}.portal-grid-host,.portal-grid-mount{width:100%;min-width:0}.portal-grid-host .portal-grid-x-scroll,.portal-grid-mount .portal-grid-x-scroll{scrollbar-width:thin;scrollbar-color:rgba(99,123,158,.75) rgba(232,239,247,.95)}.portal-grid-host .portal-grid-x-scroll::-webkit-scrollbar,.portal-grid-mount .portal-grid-x-scroll::-webkit-scrollbar{height:12px}.portal-grid-host .portal-grid-x-scroll::-webkit-scrollbar-track,.portal-grid-mount .portal-grid-x-scroll::-webkit-scrollbar-track{background:rgba(232,239,247,.95);border-radius:999px}.portal-grid-host .portal-grid-x-scroll::-webkit-scrollbar-thumb,.portal-grid-mount .portal-grid-x-scroll::-webkit-scrollbar-thumb{background:linear-gradient(90deg,rgba(129,149,178,.92),rgba(88,109,140,.92));border-radius:999px;border:2px solid rgba(232,239,247,.95)}.portal-grid-host .portal-grid-x-scroll::-webkit-scrollbar-thumb:hover,.portal-grid-mount .portal-grid-x-scroll::-webkit-scrollbar-thumb:hover{background:linear-gradient(90deg,rgba(94,117,151,.96),rgba(70,92,127,.96))}.auth-shell{min-height:100vh;padding:28px 16px;display:grid;place-items:center}.modal-toggle,.nav-toggle{position:fixed;opacity:0;pointer-events:none}.workspace-shell{min-height:100vh;display:grid;grid-template-columns:minmax(240px,292px) minmax(0,1fr);grid-gap:20px;gap:20px;padding:18px;transition:grid-template-columns .18s ease,gap .18s ease}.sidebar-shell{min-width:0;transition:width .18s ease}.sidebar-card{position:-webkit-sticky;position:sticky;top:18px;min-height:calc(100vh - 36px);max-height:calc(100vh - 36px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;grid-gap:18px;gap:18px;padding:22px;border-radius:28px;color:#eff6ff;background:radial-gradient(circle at top right,rgba(39,166,149,.24),transparent 22%),linear-gradient(180deg,#101b2c,#0d1726);border:1px solid var(--sidebar-line);box-shadow:var(--shadow-lg);overflow:hidden;contain:paint;transition:transform .18s ease,opacity .14s ease}.sidebar-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.brand-block{display:grid;grid-gap:12px;gap:12px}.brand-mark,.hero-title,.page-title,.panel-title,.shell-title,.stat-value{letter-spacing:-.035em}.brand-mark{width:-moz-fit-content;width:fit-content;display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 14px;border-radius:999px;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.brand-mark-strong{color:#d4fff7;background:rgba(34,211,187,.12);border:1px solid rgba(134,239,224,.18)}.brand-copy{display:grid;grid-gap:4px;gap:4px}.brand-copy strong{font-size:1.08rem}.brand-copy span,.sidebar-group-title,.sidebar-note{color:rgba(226,236,248,.72)}.profile-card{display:flex;align-items:center;gap:12px;padding:14px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06)}.profile-avatar{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#12a594,#0b7667);color:#f7fffd;font-weight:800}.checkbox-grid,.kv-list,.line-items,.list,.page,.panel-grid,.report-grid,.sidebar-nav,.stack,.stack-sm,.stat-grid,.two-column{display:grid}.stack{gap:16px}.stack-sm{gap:10px}.sidebar-nav{min-height:0;overflow-y:auto;padding-right:4px}.sidebar-nav::-webkit-scrollbar{width:8px}.sidebar-nav::-webkit-scrollbar-thumb{border-radius:999px;background:rgba(255,255,255,.14)}.sidebar-group{display:grid;grid-gap:10px;gap:10px}.sidebar-group-title{padding:0 4px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.sidebar-links{display:grid;grid-gap:8px;gap:8px}.sidebar-link{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 14px;border-radius:16px;border:1px solid transparent;color:rgba(239,246,255,.84);transition:transform .14s ease,background .14s ease,border-color .14s ease,color .14s ease}.sidebar-link:hover{transform:translateX(2px);background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.08)}.sidebar-link.active{color:#f8fffe;background:linear-gradient(135deg,rgba(18,165,148,.22),rgba(62,121,255,.16));border-color:rgba(167,243,208,.18)}.sidebar-link-mark{width:10px;height:10px;flex:0 0 10px;border-radius:999px;background:rgba(255,255,255,.24)}.sidebar-link.active .sidebar-link-mark{background:#68f0da;box-shadow:0 0 0 4px rgba(104,240,218,.12)}.sidebar-link-text{flex:1 1;font-weight:600}.sidebar-link-short{font-size:.74rem;color:rgba(239,246,255,.56)}.sidebar-footer{align-self:end;padding-top:16px}.sidebar-note{padding:14px;border-radius:16px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.03);font-size:.92rem;line-height:1.45}.sidebar-logout{width:100%;border-color:rgba(255,255,255,.12);color:#f8fbff}.desktop-nav-trigger,.mobile-nav-trigger,.modal-backdrop,.sidebar-backdrop,.sidebar-close,.sidebar-collapse-trigger{display:none}.desktop-nav-trigger,.mobile-nav-trigger,.sidebar-close,.sidebar-collapse-trigger{border-radius:14px;border:1px solid rgba(19,32,51,.12);background:rgba(255,255,255,.82);cursor:pointer}.desktop-nav-trigger,.mobile-nav-trigger{width:44px;height:44px;align-items:center;justify-content:center;gap:4px;flex:0 0 44px}.desktop-nav-trigger span,.mobile-nav-trigger span{display:block;width:18px;height:2px;border-radius:999px;background:var(--text)}.sidebar-header-actions{display:flex;align-items:center;gap:10px}.sidebar-collapse-trigger{position:relative;width:40px;height:40px;flex:0 0 40px;border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.06)}.sidebar-collapse-trigger span{position:absolute;top:18px;width:12px;height:2px;border-radius:999px;background:#eff6ff}.sidebar-collapse-trigger span:first-child{left:12px;transform:rotate(45deg)}.sidebar-collapse-trigger span:last-child{left:12px;transform:rotate(-45deg)}.sidebar-close{position:relative;width:40px;height:40px;flex:0 0 40px;border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.06)}.sidebar-close span{position:absolute;top:18px;left:10px;width:18px;height:2px;border-radius:999px;background:#eff6ff}.sidebar-close span:first-child{transform:rotate(45deg)}.sidebar-close span:last-child{transform:rotate(-45deg)}.modal-backdrop{z-index:70;display:none;background:rgba(7,12,20,.48);opacity:0;transition:opacity .18s ease}.modal-backdrop,.modal-shell{position:fixed;inset:0;pointer-events:none}.modal-shell{z-index:80;display:grid;place-items:center;padding:24px;visibility:hidden;opacity:0;transition:opacity .18s ease}.modal-card{width:min(100%,820px);max-height:min(88vh,960px);overflow-y:auto;padding:24px;border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.8);background:var(--surface);box-shadow:var(--shadow-lg);pointer-events:auto;contain:paint}.modal-close{position:relative;width:40px;height:40px;flex:0 0 40px;border-radius:14px;border:1px solid rgba(19,32,51,.12);background:rgba(255,255,255,.84);cursor:pointer}.modal-close span{position:absolute;top:18px;left:10px;width:18px;height:2px;border-radius:999px;background:var(--text)}.modal-close span:first-child{transform:rotate(45deg)}.modal-close span:last-child{transform:rotate(-45deg)}.modal-actions{display:flex;justify-content:flex-end;grid-column:1/-1}.modal-toggle:checked+.modal-backdrop{display:block;opacity:1;pointer-events:auto}.modal-backdrop.is-open,.modal-toggle:checked+.modal-backdrop+.modal-shell{opacity:1;pointer-events:auto}.modal-backdrop.is-open{display:block}.modal-shell.is-open{visibility:visible;opacity:1;pointer-events:auto}.content-shell{min-width:0;display:grid;grid-template-rows:auto 1fr;grid-gap:18px;gap:18px}.content-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 24px;border-radius:26px;border:1px solid rgba(255,255,255,.7);background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,251,255,.99)),linear-gradient(135deg,rgba(11,118,103,.08),rgba(58,107,181,.08));box-shadow:var(--shadow-md);contain:paint}.content-body{min-width:0}.eyebrow{color:var(--primary);font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.button-row,.card-actions,.chip-row,.content-title-row,.topbar-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.shell-title{margin:6px 0 0;font-size:clamp(1.6rem,3vw,2.4rem)}.auth-card,.panel{background:var(--surface);border:1px solid rgba(255,255,255,.8);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);contain:paint}.auth-card{width:min(100%,540px);padding:30px}.hero-title{margin:0 0 12px;font-size:clamp(2.3rem,6vw,4rem);line-height:.94}.hero-copy,.muted,.page-copy{color:var(--muted)}.empty-state,.field input,.field label,.field select,.field textarea,.hero-copy,.kv-row,.notice,.page-copy,.sidebar-note{line-height:1.45}.field{display:grid;grid-gap:8px;gap:8px}.field label{font-size:.92rem;font-weight:700}.field input,.field select,.field textarea{width:100%;padding:13px 14px;color:var(--text);background:rgba(247,250,255,.96);border:1px solid rgba(19,32,51,.11);border-radius:var(--radius-sm);outline:none;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}.field input:focus,.field select:focus,.field textarea:focus{border-color:rgba(11,118,103,.35);box-shadow:0 0 0 4px rgba(11,118,103,.08);background:#ffffff}.measurement-input{width:100%;min-width:110px;padding:11px 12px;color:var(--text);background:rgba(247,250,255,.96);border:1px solid rgba(19,32,51,.11);border-radius:var(--radius-sm);outline:none;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}.measurement-input:focus{border-color:rgba(11,118,103,.35);box-shadow:0 0 0 4px rgba(11,118,103,.08);background:#ffffff}.field textarea{min-height:120px;resize:vertical}.field-checkbox{align-content:start}.field-checkbox input[type=checkbox]{width:18px;height:18px;margin:4px 0 0;padding:0;accent-color:var(--primary)}.button,.button-danger,.button-ghost,.button-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border-radius:999px;border:1px solid transparent;font-size:.94rem;font-weight:700;line-height:1;white-space:nowrap;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,background .14s ease}.button-danger:hover,.button-ghost:hover,.button-secondary:hover,.button:hover{transform:translateY(-1px)}.button{color:#f9fffd;background:linear-gradient(135deg,var(--primary),var(--primary-strong));box-shadow:0 10px 24px rgba(11,118,103,.18)}.button-secondary{background:var(--surface-strong);border-color:rgba(19,32,51,.12)}.button-ghost{background:transparent;border-color:rgba(19,32,51,.1)}.page{gap:18px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.content-topbar>*,.dashboard-panel-head>*,.page-header>*{min-width:0}.page-title{margin:0;font-size:clamp(1.7rem,3.4vw,2.5rem)}.page-title-inline-meta{display:inline-block;margin-left:.35rem;font-size:.62em;font-weight:700;color:var(--muted);letter-spacing:-.02em;vertical-align:middle}.page-copy{margin:8px 0 0;max-width:760px}.panel{padding:22px}.hero-panel{display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr);align-items:stretch}.hero-panel-main,.hero-panel-side{display:grid;grid-gap:14px;gap:14px}.hero-panel-side{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.hero-kpi{display:grid;grid-gap:6px;gap:6px;padding:16px;min-width:0;border-radius:var(--radius-md);border:1px solid rgba(19,32,51,.08);background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(244,249,255,.92)),linear-gradient(135deg,rgba(11,118,103,.05),rgba(58,107,181,.06));overflow:hidden}.hero-kpi strong{display:block;max-width:100%;min-width:0;font-size:1.6rem;letter-spacing:-.03em;line-height:.98;white-space:nowrap;text-wrap:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hero-kpi-label{color:var(--muted);font-size:.84rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.dashboard-hero{position:relative;overflow:hidden;display:grid;grid-gap:20px;gap:20px;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);background:radial-gradient(circle at top right,rgba(32,201,151,.14),transparent 28%),radial-gradient(circle at bottom left,rgba(34,91,176,.12),transparent 32%),linear-gradient(180deg,rgba(252,254,255,.98),rgba(242,247,253,.96))}.dashboard-hero-management{border-color:rgba(19,32,51,.1)}.dashboard-hero.panel{padding:16px 18px}.dashboard-hero-management .page-copy{margin-top:0;max-width:640px;font-size:.96rem}.dashboard-hero-management .button-row{gap:8px}.dashboard-hero-management .button,.dashboard-hero-management .button-ghost,.dashboard-hero-management .button-secondary{min-height:40px;padding:0 14px}.dashboard-hero:after{content:"";position:absolute;inset:auto -80px -120px auto;width:280px;height:280px;border-radius:50%;background:rgba(34,197,166,.06);pointer-events:none}.dashboard-hero-main,.dashboard-hero-side{position:relative;z-index:1;display:grid;grid-gap:10px;gap:10px}.dashboard-hero-side{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start}.dashboard-hero-management .dashboard-hero-side{grid-template-columns:repeat(3,minmax(96px,1fr));gap:10px}.dashboard-hero-management .hero-kpi{gap:4px;padding:12px 14px}.dashboard-hero-management .hero-kpi strong{font-size:1.24rem}.dashboard-hero-management .hero-kpi-label{font-size:.74rem}.dashboard-management-grid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:repeat(12,minmax(0,1fr))}.dashboard-span-4{grid-column:span 4}.dashboard-span-5{grid-column:span 5}.dashboard-span-7{grid-column:span 7}.dashboard-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}.dashboard-metric-strip{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.dashboard-flow-item,.dashboard-metric-card,.dashboard-project-card,.dashboard-signal-item,.dashboard-status-card{min-width:0;border-radius:var(--radius-md);border:1px solid rgba(19,32,51,.08);background:rgba(255,255,255,.78);overflow:hidden}.dashboard-metric-card{display:grid;grid-gap:8px;gap:8px;padding:16px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(246,250,255,.92)),linear-gradient(135deg,rgba(11,118,103,.04),rgba(58,107,181,.05))}.dashboard-metric-card strong{display:block;max-width:100%;min-width:0;font-size:1.45rem;letter-spacing:-.03em;line-height:1;white-space:nowrap;text-wrap:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dashboard-metric-label{color:var(--muted);font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.dashboard-status-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-status-card{display:grid;grid-gap:8px;gap:8px;padding:18px}.dashboard-status-card span{font-size:.82rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.dashboard-status-card strong{display:block;max-width:100%;min-width:0;font-size:2rem;letter-spacing:-.04em;line-height:.98;white-space:nowrap;text-wrap:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dashboard-status-card small{color:var(--muted);font-size:.9rem;line-height:1.45}.dashboard-status-card.is-success{background:linear-gradient(180deg,rgba(237,252,245,.92),rgba(255,255,255,.94))}.dashboard-status-card.is-success span,.dashboard-status-card.is-success strong{color:var(--success)}.dashboard-status-card.is-warn{background:linear-gradient(180deg,rgba(255,247,237,.92),rgba(255,255,255,.94))}.dashboard-status-card.is-warn span,.dashboard-status-card.is-warn strong{color:var(--warning)}.dashboard-status-card.is-danger{background:linear-gradient(180deg,rgba(255,241,242,.92),rgba(255,255,255,.94))}.dashboard-status-card.is-danger span,.dashboard-status-card.is-danger strong{color:var(--danger)}.dashboard-flow-list,.dashboard-project-lane,.dashboard-signal-list{display:grid;grid-gap:12px;gap:12px}.dashboard-project-lane{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.dashboard-project-card{display:grid;grid-gap:12px;gap:12px;padding:16px}.dashboard-flow-item,.dashboard-signal-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px}.dashboard-flow-item strong,.dashboard-signal-item strong{color:#17283d}.dashboard-flow-item strong,.dashboard-signal-item span{display:block;max-width:100%;min-width:0;line-height:1;white-space:nowrap;text-wrap:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dashboard-signal-item span{font-weight:800;color:#264669}.panel-title{margin:0 0 14px;font-size:1.16rem}.filter-form,.form-grid,.panel-grid,.stat-grid,.two-column{gap:16px}.panel-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.stat-card{padding:20px;min-width:0;border-radius:var(--radius-lg);border:1px solid rgba(19,32,51,.08);background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(247,250,255,.94)),linear-gradient(135deg,rgba(11,118,103,.05),rgba(58,107,181,.04));box-shadow:inset 0 1px 0 rgba(255,255,255,.85);overflow:hidden}.stat-card h3{margin:0 0 10px;color:var(--muted);font-size:.92rem;font-weight:700}.stat-value{display:block;max-width:100%;min-width:0;font-size:clamp(1.25rem,3.2vw,2.3rem);font-weight:800;line-height:.96;white-space:nowrap;text-wrap:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.filter-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:end}.data-grid-toolbar{display:grid;grid-gap:16px;gap:16px;padding:16px;border-radius:var(--radius-md);border:1px solid rgba(19,32,51,.08);background:rgba(248,251,255,.82)}.data-grid-filters{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.data-grid-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.checkbox-card,.empty-state,.line-item,.list-item,.mini-card,.notice,.report-card{border-radius:var(--radius-md);border:1px solid rgba(19,32,51,.08)}.empty-state,.notice{padding:16px}.notice{background:rgba(247,250,255,.92)}.notice.success{background:rgba(31,143,95,.09);border-color:rgba(31,143,95,.18)}.notice.error{background:rgba(192,57,43,.08);border-color:rgba(192,57,43,.18)}.notice.warn{background:rgba(198,122,18,.1);border-color:rgba(198,122,18,.2)}.chip{gap:8px;max-width:100%;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.76);border:1px solid rgba(19,32,51,.09);font-size:.9rem;font-weight:600;overflow-wrap:anywhere}.badge,.chip{display:inline-flex;align-items:center}.badge{gap:6px;padding:6px 10px;border-radius:999px;background:rgba(19,32,51,.06);font-size:.8rem;font-weight:800}.badge.warn{color:var(--warning);background:rgba(198,122,18,.12)}.badge.danger{color:var(--danger);background:rgba(192,57,43,.12)}.badge.success{color:var(--success);background:rgba(31,143,95,.12)}.kv-list,.list{gap:10px}.list-item,.mini-card,.report-card{background:rgba(255,255,255,.82);contain:paint;min-width:0;overflow:hidden}.mini-card,.report-card{padding:16px}.report-card{gap:14px}.outage-alert{display:grid;grid-gap:4px;gap:4px}.mini-card-head,.report-head{align-items:flex-start;flex-wrap:wrap}.kv-row,.mini-card-head,.report-head{display:flex;justify-content:space-between;gap:12px}.kv-row{color:var(--muted);font-size:.95rem}.table-wrap{overflow-x:auto;background:rgba(255,255,255,.7)}.project-grid-shell,.table-wrap{border-radius:var(--radius-md);border:1px solid rgba(19,32,51,.08)}.project-grid-shell{overflow:hidden;background:rgba(255,255,255,.72)}.project-grid-header,.project-grid-row{display:grid;grid-template-columns:minmax(140px,.9fr) minmax(220px,1.4fr) minmax(170px,.9fr) minmax(190px,1fr) minmax(180px,1fr) minmax(140px,.7fr)}.project-grid-header{position:-webkit-sticky;position:sticky;top:0;z-index:2;background:rgba(240,246,255,.98);box-shadow:inset 0 -1px 0 rgba(19,32,51,.08)}.project-grid-body{max-height:70vh;overflow:auto}.project-grid-row:nth-child(2n){background:rgba(248,251,255,.66)}.project-grid-row+.project-grid-row{border-top:1px solid rgba(19,32,51,.08)}.project-grid-cell{min-width:0;padding:13px 14px;border-right:1px solid rgba(19,32,51,.06)}.project-grid-cell:last-child{border-right:none}.project-grid-cell-head{align-self:stretch}.project-grid-action-cell{display:flex;align-items:center}.project-grid-mobile-label{display:none;color:var(--muted);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.portal-grid-devtools-launcher[hidden],.portal-grid-devtools[hidden]{display:none!important}.table-grid-wrap{max-height:70vh;overflow:auto}.table{width:100%;border-collapse:collapse}.table-grid{min-width:920px}.table td,.table th{padding:13px 14px;text-align:left;vertical-align:top;border-bottom:1px solid rgba(19,32,51,.08)}.table th{color:var(--muted);font-size:.88rem;font-weight:800;background:rgba(246,249,255,.96)}.table-grid th{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:rgba(240,246,255,.98);box-shadow:inset 0 -1px 0 rgba(19,32,51,.08)}.table-head-stack{display:grid;grid-gap:10px;gap:10px;min-width:0}.table-head-label{color:var(--muted);font-size:.88rem;font-weight:800}.table-head-hint{color:var(--muted);font-size:.8rem;font-weight:600}.table-sort-button{display:inline-flex;align-items:center;gap:8px;padding:0;border:none;background:transparent;color:inherit;font-weight:800}.table-filter-input{padding:8px 10px;border-radius:10px;border:1px solid rgba(19,32,51,.11);background:rgba(255,255,255,.96);color:var(--text)}.table-filter-input,.table-filter-reset{width:100%;min-height:36px}.table-grid tbody tr:nth-child(2n) td{background:rgba(248,251,255,.66)}.table-cell-stack{display:grid;grid-gap:4px;gap:4px}.table-action-cell{white-space:nowrap}.portal-grid-inline-actions{display:flex;align-items:center;justify-content:flex-start}.portal-grid-mini-action{min-height:34px;padding-inline:12px;font-size:.86rem}.portal-grid-mini-action[disabled]{cursor:not-allowed;opacity:.58;transform:none;box-shadow:none}.table tr:last-child td{border-bottom:none}.photo-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(132px,1fr))}.photo-card{overflow:hidden;background:rgba(255,255,255,.94)}.photo-card img{width:100%;aspect-ratio:1;object-fit:cover}.line-items{gap:12px}.line-item{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));padding:14px;background:rgba(248,251,255,.88)}.checkbox-grid{gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.checkbox-card{display:flex;align-items:flex-start;gap:10px;padding:12px;background:rgba(248,251,255,.84)}.checkbox-card input{margin-top:3px}.progress-bar{height:10px;overflow:hidden;border-radius:999px;background:rgba(19,32,51,.08)}.progress-value{height:100%;border-radius:inherit;background:linear-gradient(90deg,#0b7667,#3a6bb5)}@media (min-width:980px){.desktop-nav-trigger,.sidebar-collapse-trigger{display:inline-flex}#sidebar-collapse-toggle:checked~.workspace-shell{grid-template-columns:0 minmax(0,1fr);gap:0}#sidebar-collapse-toggle:checked~.workspace-shell .sidebar-shell{width:0}#sidebar-collapse-toggle:checked~.workspace-shell .sidebar-card{transform:translateX(-108%);opacity:0;pointer-events:none}#sidebar-collapse-toggle:checked~.workspace-shell .sidebar-collapse-trigger span:first-child{transform:rotate(-45deg)}#sidebar-collapse-toggle:checked~.workspace-shell .sidebar-collapse-trigger span:last-child{transform:rotate(45deg)}.two-column{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr)}}@media (max-width:1180px) and (min-width:980px){.dashboard-hero,.dashboard-hero-management,.two-column{grid-template-columns:1fr}.dashboard-management-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.dashboard-span-4,.dashboard-span-5,.dashboard-span-7{grid-column:span 6}.dashboard-hero-management .dashboard-hero-side{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:979px){.workspace-shell{grid-template-columns:1fr}.sidebar-shell{position:fixed;inset:0 auto 0 0;z-index:40;width:min(86vw,320px);pointer-events:none}.sidebar-card{position:relative;top:0;min-height:100vh;max-height:100vh;border-radius:0 28px 28px 0;transform:translateX(-110%);transition:transform .18s ease;pointer-events:auto}.sidebar-backdrop{position:fixed;inset:0;z-index:30;background:rgba(7,12,20,.42);opacity:0;pointer-events:none;transition:opacity .18s ease}#nav-toggle:checked~.sidebar-backdrop{display:block;opacity:1;pointer-events:auto}#nav-toggle:checked~.workspace-shell .sidebar-card{transform:translateX(0)}.content-topbar{flex-direction:column;align-items:stretch;padding:18px}.content-topbar .topbar-actions{width:100%;justify-content:flex-start}.content-topbar .topbar-actions>*{max-width:100%}.dashboard-hero,.dashboard-hero-management,.dashboard-management-grid,.hero-panel,.two-column{grid-template-columns:1fr}.dashboard-hero,.dashboard-hero.panel{gap:16px}.dashboard-hero-management .dashboard-hero-side,.dashboard-hero-side,.dashboard-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-span-4,.dashboard-span-5,.dashboard-span-7{grid-column:auto}.dashboard-flow-item,.dashboard-signal-item{align-items:flex-start;flex-wrap:wrap}.dashboard-flow-item strong,.dashboard-signal-item span{white-space:normal;text-wrap:balance;line-height:1.2}.mobile-nav-trigger,.sidebar-close{display:inline-flex}.content-title-row{align-items:center}.modal-shell{padding:16px}.data-grid-filters{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.project-grid-shell{border:none;background:transparent}.project-grid-header{position:static;grid-template-columns:1fr;gap:12px;padding:16px;border:1px solid rgba(19,32,51,.08);border-radius:var(--radius-md);background:rgba(240,246,255,.96);box-shadow:none}.project-grid-body{max-height:none;overflow:visible;display:grid;grid-gap:12px;gap:12px}.project-grid-row{grid-template-columns:1fr;border:1px solid rgba(19,32,51,.08);border-radius:var(--radius-md);box-shadow:0 10px 24px rgba(18,34,56,.05)}.project-grid-row,.project-grid-row:nth-child(2n){background:rgba(255,255,255,.88)}.project-grid-row+.project-grid-row{border-top:1px solid rgba(19,32,51,.08)}.project-grid-cell{border-right:none;border-bottom:1px solid rgba(19,32,51,.06)}.project-grid-cell:last-child{border-bottom:none}.project-grid-mobile-label{display:inline-flex}}@media (max-width:1240px) and (min-width:980px){.project-grid-shell{overflow-x:auto}.project-grid-header,.project-grid-row{min-width:1040px}}@media (max-width:860px){.dashboard-hero-management .dashboard-hero-side,.dashboard-hero-side,.dashboard-status-grid{grid-template-columns:1fr}.dashboard-flow-item,.dashboard-signal-item{display:grid;grid-template-columns:1fr;grid-gap:8px;gap:8px}}@media (max-width:640px){.workspace-shell{padding:12px;gap:12px}.auth-card,.content-topbar,.panel,.sidebar-card{border-radius:22px}.sidebar-card{border-radius:0 22px 22px 0;padding:18px}.sidebar-links{grid-template-columns:1fr}.content-title-row,.mini-card-head,.page-header,.report-head{align-items:flex-start}.content-topbar,.dashboard-panel-head,.page-header{gap:12px}.button,.button-ghost,.button-row,.button-row a,.button-row button,.button-secondary,.chip-row,.content-topbar>:first-child,.dashboard-panel-head>:first-child,.page-header>:first-child,.topbar-actions,.topbar-actions a{width:100%}.dashboard-hero-management .dashboard-hero-side,.dashboard-hero-side,.dashboard-metric-strip,.dashboard-project-lane,.dashboard-status-grid,.data-grid-filters,.filter-form,.form-grid,.hero-panel-side,.panel-grid,.stat-grid{grid-template-columns:1fr}.dashboard-flow-item,.dashboard-signal-item,.kv-row{display:grid;grid-template-columns:1fr;grid-gap:6px;gap:6px}.dashboard-hero.panel,.panel{padding:16px}.dashboard-metric-card,.dashboard-project-card,.dashboard-status-card,.hero-kpi,.stat-card{padding:14px}.dashboard-metric-card strong,.dashboard-status-card strong,.hero-kpi strong,.stat-value{font-size:clamp(1.08rem,7vw,1.6rem)}.mobile-nav-trigger{width:42px;height:42px}.shell-title{font-size:1.4rem}.modal-card{padding:18px;border-radius:22px}.modal-actions{justify-content:stretch}.modal-actions .button{width:100%}.data-grid-toolbar{padding:14px}.data-grid-meta{width:100%}.table-grid-wrap{max-height:none}}.solvion-swal-popup{border-radius:18px!important;border:1px solid rgba(148,163,184,.18)!important;background:rgba(15,23,42,.96)!important;box-shadow:0 22px 50px rgba(15,23,42,.24)!important}.solvion-swal-title{color:#f8fafc!important;font-size:.95rem!important;font-weight:700!important;line-height:1.45!important}.solvion-swal-text{color:rgba(226,232,240,.92)!important;font-size:.82rem!important;line-height:1.5!important}.solvion-swal-cancel,.solvion-swal-confirm{border-radius:12px!important;padding:.72rem 1rem!important;font-weight:700!important;box-shadow:none!important}.solvion-swal-confirm{background:#2563eb!important}.solvion-swal-cancel{background:#e2e8f0!important;color:#0f172a!important}.assignment-catalog-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.resource-summary-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-top:16px}.resource-summary-card{padding:16px;border-radius:18px;border:1px solid #d8e2ef;background:linear-gradient(180deg,#fcfdff,#f4f8fd)}.resource-summary-label{margin-bottom:10px;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#5f738b}.resource-tag-list{display:flex;flex-wrap:wrap;gap:8px}.resource-empty{font-size:.92rem;color:#64748b}.assignment-shell{width:100%;margin:0 auto 20px;background:linear-gradient(180deg,#fbfcff,#f2f6fb);border:1px solid #d9e3f0;border-radius:18px;box-shadow:0 18px 35px rgba(26,43,71,.08);overflow:hidden}.assignment-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid #dde6f2;background:linear-gradient(135deg,#f7faff,#eef4fb)}.assignment-title{margin:0;font-size:16px;font-weight:700;color:#1d3557}.assignment-subtitle{margin:4px 0 0;font-size:12px;color:#62748a}.assignment-table-wrapper{width:100%;overflow:auto;max-height:72vh;background:#f8fbff}.assignment-table{width:100%;min-width:980px;border-collapse:separate;border-spacing:0;table-layout:fixed}.assignment-table td,.assignment-table th{padding:10px 12px;text-align:left;border-right:1px solid #dfe7f1;border-bottom:1px solid #dfe7f1;vertical-align:top;overflow:hidden;word-wrap:break-word;background:#ffffff}.assignment-table td:last-child,.assignment-table th:last-child{border-right:none}.assignment-table th{position:-webkit-sticky;position:sticky;top:0;z-index:30;background:linear-gradient(180deg,#eef4fb,#e5edf8);color:#1d3557;font-weight:700;font-size:13px;letter-spacing:.02em}.assignment-table thead tr.filter-row th{top:44px;z-index:29;background:#f8fbff;padding:8px 10px}.assignment-table tbody tr:nth-child(2n) td{background:#f9fbfe}.assignment-table tbody tr:hover td{background:#eef5ff}.assignment-row{transition:background .18s ease}.table-index{text-align:center!important;font-weight:700;color:#49617f}.chip-container{display:flex;flex-wrap:wrap;gap:4px}.assignment-chip{display:inline-flex;align-items:center;padding:5px 8px;margin:1px;color:#ffffff;border-radius:999px;font-size:12px;font-weight:600;position:relative;box-shadow:0 6px 14px rgba(15,23,42,.16)}.assignment-chip .close{margin-left:5px;color:#ffffff;font-size:13px;font-weight:700;cursor:pointer}.chip-static{background:linear-gradient(135deg,#23406c,#365f92)}.chip-cell{height:auto;position:relative;cursor:pointer;overflow:visible!important}.chip-cell:after{content:"+";position:absolute;top:8px;right:10px;width:20px;height:20px;border-radius:50%;background:#e9f2fb;color:#2f5d8a;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:13px}.chip-cell:hover:after{background:#dbeafb}.assignment-select-box{display:block;position:fixed;background-color:#ffffff;padding:10px;border:1px solid #d6e0eb;border-radius:12px;min-height:150px;box-shadow:0 18px 35px rgba(24,39,75,.16);overflow-y:auto;z-index:2000}.assignment-select-backdrop{position:fixed;inset:0;z-index:1990;border:0;padding:0;margin:0;background:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:default}.assignment-select-title{margin-bottom:8px;font-size:12px;font-weight:700;color:#29425c}.assignment-select{width:100%;min-height:180px;padding:6px;border:1px solid #dce6f2;background:#f8fbff;color:#29425c;border-radius:8px}.button-danger{color:#fff7f7;background:linear-gradient(135deg,#d14b3f,var(--danger));box-shadow:0 10px 24px rgba(192,57,43,.18)}@media (max-width:768px){.assignment-table{min-width:860px}.assignment-select-box{width:min(300px,calc(100vw - 24px))!important}}