:root{color:#0f172a;font-synthesis:none;text-rendering:optimizelegibility;background:#e7edf5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible{outline-offset:3px;outline:3px solid #2563eb75}input:focus,input:focus-visible,select:focus,select:focus-visible,textarea:focus,textarea:focus-visible{box-shadow:none;outline:none}h1,h2,p{margin:0}.app-shell{--bg:#e7edf5;--rail:#0f172a;--rail-soft:#162033;--surface:#fff;--surface-soft:#f5f8fc;--surface-warm:#eef3f9;--border:#0f172a1c;--border-strong:#2563eb4d;--text:#0f172a;--muted:#64748b;--soft:#475569;--accent:#2563eb;--accent-2:#0d9488;--success:#059669;--warning:#d97706;--danger:#dc2626;--shadow:0 1px 2px #0f172a0d, 0 12px 32px #0f172a14;--surface-0:#e7edf5;--surface-1:#fff;--border-soft:#0f172a14;--text-muted:#64748b;--shadow-lg:0 18px 44px #0f172a1c;--inset-highlight:#ffffffd1;--control-height:42px;--screen-gap:14px;--panel-padding:14px;--header-padding:18px;background:var(--bg);color:var(--text);min-height:100vh}.theme-dark{--bg:#0b1020;--rail:#070b14;--rail-soft:#101828;--surface:#111827;--surface-soft:#0f172a;--surface-warm:#151f2f;--border:#94a3b829;--border-strong:#60a5fa5c;--text:#eef2f7;--muted:#94a3b8;--soft:#cbd5e1;--accent:#3b82f6;--accent-2:#14b8a6;--success:#34d399;--warning:#fbbf24;--danger:#fb7185;--shadow:0 22px 54px #00000047;--surface-0:#0b1020;--surface-1:#111827;--border-soft:#94a3b829;--text-muted:#94a3b8;--shadow-lg:0 22px 54px #00000047;--inset-highlight:#ffffff0a}.theme-light .panel-card,.theme-light .overview-header,.theme-light .page-header,.theme-light .project-browser,.theme-light .activity-panel,.theme-light .insight-panel,.theme-light .metric-group{border-color:color-mix(in srgb, var(--border) 88%, #fff);box-shadow:var(--shadow)}.theme-light .overview-groups section,.theme-light .stat,.theme-light .kpi-card,.theme-light .manager-kpi-card,.theme-light .people-card,.theme-light .kanban-column,.theme-light .project-mini-card,.theme-light .approval-card,.theme-light .date-calendar-popover{box-shadow:0 1px 2px #0f172a0a,0 10px 24px #0f172a0f}.theme-light .overview-groups section{background:linear-gradient(180deg, var(--surface) 0%, var(--surface-soft) 100%);box-shadow:inset 0 1px 0 var(--inset-highlight)}.theme-light .stat.tone-accent,.theme-light .stat.tone-success,.theme-light .stat.tone-warning,.theme-light .stat.tone-danger{box-shadow:inset 0 1px 0 var(--inset-highlight)}.theme-light .project-mini-card.active{border-color:color-mix(in srgb, var(--accent) 34%, var(--border));box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 14%, transparent), 0 12px 28px #2563eb1f}.theme-light .project-mini-card-main:hover{background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 3%, var(--surface)) 0%, var(--surface-soft) 100%)}.theme-light .segment-nav,.theme-light .person-tab-nav{background:color-mix(in srgb, var(--accent) 4%, var(--surface-soft));border-color:color-mix(in srgb, var(--accent) 10%, var(--border));box-shadow:inset 0 1px 0 var(--inset-highlight)}.theme-light .segment-nav button.active,.theme-light .person-tab-nav button.active{background:var(--surface);border-color:color-mix(in srgb, var(--accent) 20%, var(--border));color:var(--accent);font-weight:800;box-shadow:0 1px 2px #0f172a0f,0 6px 16px #2563eb1a}.theme-light .ghost-button{background:var(--surface);box-shadow:inset 0 1px 0 var(--inset-highlight)}.theme-light .ghost-button:hover{background:var(--surface-soft);border-color:color-mix(in srgb, var(--accent) 18%, var(--border))}.theme-light .primary-button{box-shadow:0 1px 2px #2563eb2e,0 12px 24px #2563eb38}.theme-light input,.theme-light select,.theme-light .date-picker-field,.theme-light .screen-filter>div,.theme-light .screen-filter>.date-picker-filter{background:var(--surface);box-shadow:inset 0 1px 2px #0f172a0a}.theme-light .data-table-wrap{background:var(--surface);border-color:color-mix(in srgb, var(--border) 88%, #fff);box-shadow:0 1px 2px #0f172a0a,0 10px 24px #0f172a0d}.theme-light .data-table-row-link:hover,.theme-light .data-table-row-link:focus-visible{background:color-mix(in srgb, var(--accent) 5%, var(--surface-soft))}.theme-light .dev-picker-card{background:linear-gradient(180deg, #fff 0%, var(--surface-soft) 100%);border-color:color-mix(in srgb, var(--accent) 14%, var(--border))}.theme-light .dev-allocation-card{background:linear-gradient(180deg, #fff 0%, var(--surface-soft) 100%)}.theme-light .project-detail-status,.theme-light .project-detail-toolbar{background:0 0}.theme-light .project-detail-status{background:#fff;border-radius:12px;padding:14px 16px}.theme-light .project-activities-panel{background:#fff;border-radius:12px}.theme-light .project-gp-picker{background:linear-gradient(180deg, #fff 0%, color-mix(in srgb, var(--surface-soft) 88%, #dbeafe) 100%);border:1px solid color-mix(in srgb, var(--accent) 14%, var(--border));box-shadow:inset 0 1px 0 var(--inset-highlight), 0 8px 22px #0f172a0d;border-radius:12px;padding:12px}.theme-light .project-gp-picker .search-field{border-color:color-mix(in srgb, var(--accent) 12%, var(--border));background:#fff}.theme-light .danger-panel{background:color-mix(in srgb, var(--danger) 5%, var(--surface))}.theme-light .kpi-card.tone-accent,.theme-light .kpi-card.tone-success,.theme-light .kpi-card.tone-warning,.theme-light .kpi-card.tone-danger,.theme-light .kpi-card.tone-info{box-shadow:inset 0 1px 0 var(--inset-highlight), 0 8px 20px #0f172a0d}.app-frame{min-height:100vh;position:relative}.sidebar-overlay{cursor:pointer;opacity:0;pointer-events:none;z-index:30;background:#0f172a85;border:0;transition:opacity .28s;position:fixed;inset:0}.app-frame.sidebar-open .sidebar-overlay{opacity:1;pointer-events:auto}.sidebar-toggle{z-index:50;transition:left .28s cubic-bezier(.4,0,.2,1);position:fixed;top:18px;left:18px}.top-toolbar{z-index:50;align-items:center;gap:10px;transition:left .28s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:18px;left:18px}.top-toolbar .sidebar-toggle{position:static;top:auto;left:auto}.app-frame.sidebar-open .sidebar-toggle,.app-frame.sidebar-open .top-toolbar{left:352px}.rail{background:var(--rail);color:#e5edf7;isolation:isolate;z-index:40;grid-template-rows:auto auto auto 1fr auto;gap:16px;width:340px;max-width:min(340px,88vw);height:100dvh;padding:20px;transition:transform .28s cubic-bezier(.4,0,.2,1);display:grid;position:fixed;top:0;left:0;overflow:hidden;transform:translate(calc(-100% - 12px));box-shadow:18px 0 40px #0f172a47}.rail.open{transform:translate(0)}.rail-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.rail-header-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.rail-close{flex-shrink:0}.brand-block{grid-template-columns:44px 1fr;align-items:center;gap:12px;display:grid}.brand-mark{color:#172033;background:#fff;border-radius:8px;justify-content:center;align-items:center;width:44px;height:44px;font-weight:900;display:inline-flex;overflow:hidden}.brand-mark-image{padding:4px}.brand-mark-image img{object-fit:contain;width:100%;height:100%;display:block}.brand-block strong,.brand-block small{display:block}.brand-block strong{font-size:1rem}.brand-block small{color:#9aa8bd;margin-top:3px;font-size:.78rem}.rail-controls{background:var(--rail-soft);border:1px solid #ffffff14;border-radius:8px;gap:12px;padding:12px;display:grid}.field-control,.switch-control,label{color:var(--soft);gap:7px;font-size:.76rem;font-weight:800;display:grid}.rail .field-control,.rail .switch-control{color:#cbd5e1}.field-control>span{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:8px;grid-template-columns:18px 1fr;align-items:center;gap:8px;padding:0 10px;display:grid}.field-control svg{color:#93c5fd}.field-hint{color:var(--muted);font-size:.68rem;font-weight:600;line-height:1.35}.field-control-period{gap:8px}.rail-month-filter{color:#cbd5e1;min-width:0}.rail-month-filter>div{background:#ffffff0f;border-color:#ffffff1a}.rail-month-filter svg{color:#93c5fd}.rail-date-range{gap:8px;display:grid}.rail-date-field{color:#94a3b8;gap:6px;font-size:.72rem;font-weight:700;display:grid}.rail-date-field .date-picker-field{width:100%}.rail-date-field .date-picker-field-trigger{width:100%;min-height:36px}.date-picker-field.is-disabled,.date-picker-filter.is-disabled{opacity:.55;pointer-events:none}.field-control select:disabled{cursor:not-allowed;opacity:.55}.currency-prefix{color:var(--muted);font-size:.8rem;font-weight:900}.rail .currency-prefix{color:#93c5fd}.switch-control{align-items:center;gap:10px;display:flex}.switch-control input{accent-color:var(--accent);width:18px;height:18px;min-height:18px}input,select{background:var(--surface);border:1px solid var(--border);color:var(--text);min-height:var(--control-height);border-radius:8px;width:100%;padding:9px 11px}.rail select,.rail input{color:#f8fafc;background:0 0;border:0;min-height:40px;padding:0}input::placeholder{color:#98a2b3}.section-title{color:inherit;align-items:center;gap:8px;display:flex}.section-title h2{color:inherit;letter-spacing:0;font-size:.86rem}.section-title svg{color:#93c5fd}.project-list{gap:8px;min-height:0;padding-right:2px;display:grid;overflow:auto}.project-row{color:#e5edf7;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:6px 1fr auto;align-items:center;gap:10px;width:100%;min-height:68px;padding:10px;transition:background .16s,border-color .16s,transform .16s;display:grid}.project-row:hover,.project-row.active{background:#ffffff14;border-color:#ffffff1f}.project-row.active{box-shadow:inset 3px 0 #93c5fd}.project-row.completed{border-color:#0478573d}.project-marker{border-radius:999px;width:5px;height:34px;display:block}.project-row strong,.project-row small{overflow-wrap:anywhere;display:block}.project-row strong{font-size:.88rem}.project-row small{color:#a8b3c5;margin-top:3px;font-size:.76rem;line-height:1.35}.project-row em{color:#bfdbfe;white-space:nowrap;background:#93c5fd1f;border:1px solid #93c5fd38;border-radius:999px;align-items:center;gap:4px;padding:4px 7px;font-size:.72rem;font-style:normal;font-weight:850;display:inline-flex}.rail-footer{border-top:1px solid #ffffff14;flex-wrap:wrap;align-items:center;gap:10px;padding-top:16px;display:flex}.rail-user{flex:140px;gap:2px;min-width:0;display:grid}.rail-user strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rail-nav{align-content:start;gap:8px;min-height:0;display:grid;overflow-y:auto}.rail-nav button{color:#cbd5e1;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;width:100%;min-height:42px;padding:9px 11px;transition:background .16s,border-color .16s,color .16s;display:flex}.rail-nav button:hover,.rail-nav button.active{color:#fff;background:#ffffff14;border-color:#ffffff1f}.rail-nav svg{color:#93c5fd}.content-area{gap:14px;min-height:100vh;padding:22px 22px 22px 76px;display:grid}.screen{gap:var(--screen-gap);flex-direction:column;min-width:0;display:flex}.screen-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.screen-actions{align-items:end;gap:10px;display:flex}.entry-header-actions{gap:8px;min-width:146px;display:grid}.entry-header-actions .compact-action{width:100%}.email-action-tooltip-host{width:100%;display:grid;position:relative}.email-action-tooltip-host .action-tooltip{box-shadow:var(--shadow);color:#e2e8f0;opacity:0;pointer-events:none;z-index:20;background:#0f172a;border:1px solid #ffffff1f;border-radius:8px;width:min(240px,70vw);padding:8px 10px;font-size:.76rem;font-weight:700;line-height:1.35;transition:opacity .16s,transform .16s;position:absolute;top:calc(100% + 8px);right:0;transform:translateY(4px)}.email-action-tooltip-host:hover .action-tooltip,.email-action-tooltip-host:focus-within .action-tooltip{opacity:1;transform:translateY(0)}.email-action-tooltip-host .email-action-button:disabled{pointer-events:none}.screen-filter{color:var(--soft);gap:6px;min-width:180px;display:grid}.screen-filter>span{font-size:.72rem;font-weight:850}.screen-filter>div,.screen-filter>.date-picker-filter{background:var(--surface);border:1px solid var(--border);min-height:var(--control-height);border-radius:8px;grid-template-columns:18px 1fr auto;align-items:center;gap:8px;padding:0 10px;display:grid;position:relative}.date-filter{min-width:220px;position:relative}.date-filter .date-picker-filter{grid-template-columns:30px 1fr auto}.period-date-filter{grid-template-columns:auto minmax(150px,1fr) auto minmax(150px,1fr) auto;align-items:end;min-width:min(560px,52vw);display:grid}.period-date-filter>span{align-self:center}.period-date-filter .compact-action{min-height:var(--control-height);white-space:nowrap}.custom-period-panel,.dashboard-secondary-filters{justify-content:flex-end;align-items:center;gap:10px;display:flex}.custom-period-panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;padding:10px}.timesheet-readonly-notice{background:color-mix(in srgb, var(--accent) 10%, var(--surface));border:1px solid color-mix(in srgb, var(--accent) 24%, var(--border));color:var(--text-muted);border-radius:8px;margin:0;padding:10px 12px;font-size:.92rem}.date-picker-trigger,.date-filter-value{background:0 0;border:0;min-height:40px;padding:0}.date-picker-trigger{color:var(--accent);justify-content:center;align-items:center;display:inline-flex}.date-filter-value{color:var(--muted);text-align:left}.date-filter-value.selected{color:var(--text)}.date-clear-button{color:var(--muted);background:0 0;border:0;justify-content:center;align-items:center;width:30px;height:30px;padding:0;display:inline-flex}.date-clear-button:hover{color:var(--accent)}.date-calendar-popover{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);z-index:20;border-radius:16px;width:292px;padding:14px;position:absolute;top:calc(100% + 8px);left:0}.date-calendar-header{grid-template-columns:34px 1fr 34px;align-items:center;gap:8px;margin-bottom:12px;display:grid}.date-calendar-header strong{color:var(--text);text-align:center;text-transform:capitalize;font-size:.92rem}.date-calendar-header button,.date-calendar-grid button{color:var(--text);background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.date-calendar-header button{height:34px}.date-calendar-header button:hover,.date-calendar-grid button:hover{background:var(--surface-soft)}.date-calendar-weekdays,.date-calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.date-calendar-weekdays{color:var(--muted);text-align:center;margin-bottom:6px;font-size:.7rem;font-weight:800}.date-calendar-grid button{aspect-ratio:1;font-size:.86rem}.date-calendar-grid button.outside-month{color:var(--muted);opacity:.55}.date-calendar-grid button.today{box-shadow:inset 0 0 0 1px var(--border-strong)}.date-calendar-grid button.selected{background:var(--accent);color:#fff}.date-calendar-grid button.selected:hover{background:var(--accent)}.date-calendar-grid button:disabled{cursor:not-allowed;opacity:.35}.date-picker-field{background:var(--surface);border:1px solid var(--border);min-height:var(--control-height);border-radius:8px;align-items:center;gap:8px;width:100%;padding:0 11px;display:flex;position:relative}.date-picker-field-trigger{color:var(--text);min-height:calc(var(--control-height) - 2px);text-align:left;background:0 0;border:0;flex:auto;align-items:center;gap:8px;padding:0;display:flex}.date-picker-field-trigger svg{color:var(--accent);flex-shrink:0}.date-picker-field-placeholder{color:var(--muted)}.date-picker-field-value{color:var(--text)}.date-picker-field-clear{color:var(--muted);background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;padding:0;display:inline-flex}.date-picker-field-clear:hover,.screen-filter svg{color:var(--accent)}.screen-filter select{color:inherit;font:inherit;min-height:calc(var(--control-height) - 2px);background:0 0;border:0;padding:0}.person-summary-filters{margin-bottom:0}.screen-heading h1{font-size:clamp(1.65rem,2.2vw,2.3rem)}.screen-copy{color:var(--muted);max-width:620px;margin-top:7px;font-size:.9rem;line-height:1.45}.panel-card,.project-browser{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;flex-direction:column;gap:12px;min-width:0;padding:14px;display:flex}.compact-action{width:auto}.overview-header,.page-header{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;flex-direction:column;align-items:stretch;gap:18px;padding:18px;display:flex}.page-header{flex-direction:row;justify-content:space-between;align-items:center}.page-header-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:end;gap:10px;max-width:min(100%,920px);display:flex}.page-header>div{min-width:0}.page-header h1{font-size:clamp(1.45rem,2vw,2rem)}.page-header p{color:var(--muted);max-width:720px;margin-top:8px;font-size:.92rem;line-height:1.45}.eyebrow{color:var(--accent);letter-spacing:0;text-transform:uppercase;margin-bottom:6px;font-size:.68rem;font-weight:900;display:block}h1{color:var(--text);font-size:clamp(1.75rem,2.2vw,2.45rem);line-height:1}h2{color:var(--text);font-size:1rem}.overview-header p{color:var(--muted);margin-top:8px;font-size:.92rem;line-height:1.45}.overview-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.overview-groups section{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;gap:10px;padding:11px;display:grid}.group-label{color:var(--accent);align-items:center;gap:8px;display:flex}.group-label strong{text-transform:uppercase;font-size:.74rem}.finance-label{color:var(--accent-2)}.topbar-stats{grid-template-columns:1fr;gap:7px;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:8px;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:42px;padding:9px 10px;display:grid}.stat svg{color:var(--accent);width:18px;height:18px}.stat span{color:var(--muted);font-size:.72rem;font-weight:800}.stat strong{color:var(--text);white-space:nowrap;font-size:1rem;line-height:1}.stat.good strong,.stat.tone-success strong,.positive{color:var(--success)}.stat.danger strong,.stat.tone-danger strong,.negative{color:var(--danger)}.stat.tone-warning strong{color:var(--warning)}.stat.tone-accent strong,.stat.tone-accent svg{color:var(--accent)}.stat.tone-success svg{color:var(--success)}.stat.tone-warning svg{color:var(--warning)}.stat.tone-danger svg{color:var(--danger)}.stat.tone-warning{background:color-mix(in srgb, var(--warning) 8%, var(--surface));border-color:color-mix(in srgb, var(--warning) 22%, var(--border))}.stat.tone-success{background:color-mix(in srgb, var(--success) 8%, var(--surface));border-color:color-mix(in srgb, var(--success) 22%, var(--border))}.stat.tone-danger{background:color-mix(in srgb, var(--danger) 8%, var(--surface));border-color:color-mix(in srgb, var(--danger) 22%, var(--border))}.stat.tone-accent{background:color-mix(in srgb, var(--accent) 8%, var(--surface));border-color:color-mix(in srgb, var(--accent) 22%, var(--border))}.project-stage{gap:14px;display:grid}.project-workspace-grid{grid-template-columns:minmax(250px,300px) minmax(0,1fr);align-items:start;gap:14px;display:grid}.project-browser{max-height:calc(100vh - 120px);position:sticky;top:18px;overflow:auto}.project-browser .panel-heading{padding-bottom:2px}.project-list-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.project-list-summary span{background:var(--surface-soft);border:1px solid var(--border);color:var(--muted);text-align:center;border-radius:8px;padding:7px 8px;font-size:.72rem;font-weight:850}.project-list-summary .completed-summary{color:var(--success);border-color:#04785738}.project-browser .project-list{gap:6px}.project-list-groups{gap:14px;display:grid}.project-list-section{gap:8px;display:grid}.project-list-section h3{color:var(--muted);letter-spacing:0;text-transform:uppercase;margin:0;font-size:.72rem}.local-list .project-row{min-height:58px;color:var(--text);padding:8px}.local-list .project-row:hover,.local-list .project-row.active{background:var(--surface-soft);border-color:var(--border)}.local-list .project-row.active{box-shadow:inset 3px 0 0 var(--accent)}.local-list .project-row.completed{background:#0478570e;border-color:#04785752}.local-list .project-row.completed.active{box-shadow:inset 3px 0 0 var(--success);border-color:#0478576b}.local-list .project-row small{color:var(--muted)}.local-list .project-row em{color:var(--accent);background:#2563eb14;border-color:#2563eb29}.local-list .project-row strong{font-size:.82rem;line-height:1.18}.local-list .project-row small{font-size:.72rem}.local-list .project-row em{font-size:.68rem}.local-list .project-row .completed-pill{color:var(--success);background:#0478571a;border-color:#04785738}.project-detail-shell{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;gap:12px;padding:14px;display:grid}.detail-section-heading{border-bottom:1px solid var(--border);gap:2px;padding-bottom:10px;display:grid}.detail-section-heading .eyebrow{margin:0}.detail-section-heading h2{font-size:.98rem}.project-hero,.activity-panel,.insight-panel,.metric-group{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px}.project-hero{box-shadow:none;border-color:#0000;grid-template-columns:minmax(0,1fr) auto auto;align-items:start;gap:12px;padding:0 0 2px;display:grid;position:relative}.project-hero:before{display:none}.project-identity h2{overflow-wrap:anywhere;font-size:clamp(1.35rem,2vw,1.9rem);line-height:1.08}.project-client-label{align-items:center;gap:8px;display:flex}.project-client-label i{background:var(--project-color);border-radius:999px;width:9px;height:9px;display:inline-block}.meta-row{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.meta-row span{background:var(--surface-soft);border:1px solid var(--border);color:var(--soft);border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:800}.hero-actions{gap:8px;display:flex}.hero-actions .primary-button{width:auto;min-width:142px}.project-status{background:#04785714;border:1px solid #04785733;border-radius:8px;grid-column:1/-1;grid-template-columns:30px 1fr;align-items:start;gap:11px;padding:11px;display:grid}.project-status.success{background:#04785714;border-color:#0478573d}.project-status>span{color:var(--success);background:#0478571f;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.project-status strong{margin-bottom:3px;display:block}.project-status p{color:var(--soft);font-size:.84rem;font-weight:650;line-height:1.45}.project-status.warning,.project-status.attention{background:#b4530917;border-color:#b453093d}.project-status.warning>span,.project-status.attention>span{color:var(--warning);background:#b4530921}.project-status.danger{background:#b4231814;border-color:#b423183d}.project-status.danger>span{color:var(--danger);background:#b423181f}.project-metrics{grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);gap:12px;display:grid}.project-detail-shell .metric-group{box-shadow:none}.metric-group{gap:11px;padding:13px;display:grid}.metric-group-heading{gap:3px;display:grid}.metric-group h3{color:var(--text);order:2;font-size:.96rem}.metric-group-heading .eyebrow{order:1;margin:0}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:8px;display:grid}.finance-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}.metric-grid>div{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;gap:6px;min-height:72px;padding:10px;display:grid}.metric-grid span{color:var(--muted);text-transform:uppercase;font-size:.68rem;font-weight:900}.metric-grid strong{color:var(--text);white-space:nowrap;font-size:clamp(1rem,1.3vw,1.25rem);line-height:1}.featured-metric{background:color-mix(in srgb, var(--accent) 6%, var(--surface-warm));border-left:3px solid var(--accent)}.finance-group .featured-metric{background:color-mix(in srgb, var(--accent-2) 8%, var(--surface-warm));border-left-color:var(--accent-2)}.featured-metric strong{overflow-wrap:anywhere}.finance-group{border-color:#0f766e3d}.finance-group .eyebrow,.finance-group .metric-grid span{color:var(--accent-2)}.workbench{grid-template-columns:minmax(0,1fr) minmax(300px,360px);align-items:start;gap:12px;display:grid}.activity-panel,.insight-panel{gap:12px;padding:14px;display:grid}.panel-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.panel-heading-with-actions{flex-wrap:wrap;align-items:flex-start}.panel-heading-with-actions .search-field{flex:220px;max-width:320px}.compact-heading{align-items:start}.empty-state.compact{min-height:auto;padding:28px 18px}.panel-heading h2{align-items:center;gap:8px;font-size:1rem;display:inline-flex}.panel-copy,.panel-heading p{color:var(--muted);margin-top:4px;font-size:.84rem;line-height:1.4}.progress-section{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;gap:10px;padding:13px;display:grid}.meter-copy{color:var(--soft);justify-content:space-between;font-size:.84rem;font-weight:800;display:flex}.meter-track{background:#94a3b83d;border-radius:999px;height:10px;overflow:hidden}.meter-track span{border-radius:inherit;min-width:4px;height:100%;transition:width .26s;display:block}.entries{display:grid}.entries-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.entries-summary>div,.entries-summary-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;gap:6px;padding:13px;display:grid}.entries-summary-card-button{color:inherit;cursor:pointer;text-align:left;transition:border-color .16s,transform .16s}.entries-summary-card-button:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--border));transform:translateY(-1px)}.entries-summary-card-button small{color:var(--muted);font-size:.72rem;font-weight:700}.entry-stats-modal{gap:16px;display:grid}.entry-stats-hero{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.entry-stats-hero>div{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;gap:6px;padding:12px;display:grid}.entry-stats-hero span{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:850}.entry-stats-hero strong{color:var(--text);font-size:1.35rem}.entry-stats-table{gap:8px;display:grid}.entry-stats-table-wrap .data-table{min-width:100%}.entry-stats-table-head,.entry-stats-table-row{grid-template-columns:minmax(0,1.6fr) 120px 120px;align-items:center;gap:12px;display:grid}.entry-stats-table-head span{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:850}.entry-stats-table-row{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;padding:10px 12px}.entry-stats-table-row strong:last-child,.entry-stats-table-head span:not(:first-child),.entry-stats-table-row strong:nth-child(2){text-align:right}.entry-stats-project{align-items:center;gap:10px;min-width:0;display:inline-flex}.entry-stats-table-row.total{background:color-mix(in srgb, var(--accent) 8%, var(--surface-soft));border-color:color-mix(in srgb, var(--accent) 24%, var(--border));font-weight:800}.entries-summary span{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:850}.entries-summary strong{color:var(--text);font-size:1.2rem}.entries-grid{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.entries-grid-head,.entries-grid .table-entry-row{grid-template-columns:var(--entry-date-width,148px) var(--entry-project-width,220px) var(--entry-task-width,200px) var(--entry-hours-width,88px) var(--entry-reviewer-width,148px) minmax(0, 1fr) minmax(calc(var(--entry-status-width,180px) + 88px), 320px);align-items:center;gap:16px;width:100%;min-width:980px;display:grid}.entry-resizable-head{align-items:center;min-width:0;min-height:40px;display:flex;position:relative}.entry-resizable-head .sortable-table-head-button{flex:1;min-width:0}.entry-column-resizer{cursor:col-resize;touch-action:none;z-index:1;width:16px;height:100%;position:absolute;top:0;right:-8px}.entry-column-resizer:after{content:"";background:0 0;border-radius:999px;width:2px;transition:background .15s;position:absolute;top:25%;bottom:25%;left:50%;transform:translate(-50%)}.entry-column-resizer:hover:after,.entry-resizable-head:hover .entry-column-resizer:after,body.resizing-entry-column .entry-column-resizer:after{background:color-mix(in srgb, var(--accent) 70%, transparent)}body.resizing-entry-column{cursor:col-resize;-webkit-user-select:none;user-select:none}.entry-head-trailing,.entry-cell-trailing{grid-template-columns:var(--entry-status-width,180px) 76px;justify-self:end;align-items:center;gap:12px;width:100%;min-width:0;display:grid}.entry-grid-spacer{min-width:0}.entries-grid-head{border-bottom:1px solid var(--border);color:var(--soft);min-height:52px;padding:0 14px;font-size:.82rem;font-weight:850}.entries-grid-head .entry-head-hours .sortable-table-head-button,.entries-grid-head .entry-head-reviewer .sortable-table-head-button{text-align:left;justify-content:flex-start}.entries-grid .entry-cell-hours,.entries-grid .entry-cell-reviewer{text-overflow:ellipsis;white-space:nowrap;justify-self:start;overflow:hidden}.entries-grid .entry-cell-reviewer{color:var(--muted);font-size:.82rem}.entries-grid-head .entry-head-actions{color:var(--soft);text-align:right;justify-self:end;font-size:.82rem;font-weight:850}.entries-grid--no-actions .entries-grid-head,.entries-grid--no-actions .table-entry-row{grid-template-columns:var(--entry-date-width,148px) var(--entry-project-width,220px) var(--entry-task-width,200px) var(--entry-hours-width,88px) var(--entry-reviewer-width,148px) minmax(0, 1fr) minmax(var(--entry-status-width,180px), 240px)}.entries-grid--no-actions .entry-head-trailing,.entries-grid--no-actions .entry-cell-trailing{grid-template-columns:var(--entry-status-width,180px)}.entries-sort-button,.entries-grid-head .sortable-table-head-button{color:inherit;cursor:pointer;font-weight:inherit;text-align:left;background:0 0;border:0;justify-content:flex-start;align-items:center;gap:6px;width:100%;min-width:0;min-height:40px;padding:0;display:inline-flex}.entries-sort-button:hover,.entries-sort-button.active,.entries-grid-head .sortable-table-head-button:hover,.entries-grid-head .sortable-table-head-button.active{color:var(--accent)}.entries-sort-button svg,.entries-grid-head .sortable-table-head-button svg{flex:none}.entries-grid .table-entry-row{border-bottom:1px solid var(--border);border-top:0;min-height:64px;padding:0 14px}.entries-grid .entry-cell{min-width:0}.entries-grid .entry-cell-date{color:var(--soft);text-overflow:ellipsis;white-space:nowrap;font-weight:750;overflow:hidden}.entries-grid .entry-cell-project{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.entries-grid .entry-cell-task{flex-direction:column;display:flex;overflow:hidden}.entries-grid .entry-cell-task .entry-description,.entries-grid .entry-cell-task .entry-description-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.entries-grid .entry-cell-status{justify-self:start;align-items:center;width:100%;min-width:0;max-width:100%;min-height:34px;display:flex}.entries-grid .entry-cell-actions{justify-self:end}.entries-grid .table-entry-row strong,.entries-grid .table-entry-row span{min-width:0}.entries-grid .table-entry-row b{justify-self:start}.entries-grid .table-entry-row .entry-actions{justify-self:end}.entry-status-select{border-radius:999px;min-height:34px;padding:6px 10px;font-size:.76rem;font-weight:850}.entry-status-pill{white-space:nowrap;border:1px solid #0000;border-radius:999px;padding:4px 8px;font-size:.72rem;font-style:normal;font-weight:850}.entry-description{flex-wrap:nowrap;align-items:center;gap:5px;width:fit-content;min-width:0;display:inline-flex}.entry-row .entry-description,.entries-grid .table-entry-row .entry-description{white-space:nowrap;max-width:100%;margin-top:0;display:inline-flex;overflow:hidden}.entry-row .entry-description-text,.entries-grid .table-entry-row .entry-description-text{text-overflow:ellipsis;min-width:0;margin-top:0;display:inline;overflow:hidden}.entry-he-badge{color:#facc15;white-space:nowrap;background:#facc152e;border:1px solid #facc156b;border-radius:999px;flex:none;align-items:center;width:auto;margin-top:0;padding:2px 5px;font-size:.58rem;font-weight:900;line-height:1;display:inline-flex}.entry-status-select.status-rejected,.entry-status-pill.status-rejected{background:color-mix(in srgb, var(--danger) 10%, transparent);border-color:color-mix(in srgb, var(--danger) 24%, transparent);color:var(--danger)}.entry-status-select.status-pending-approval,.entry-status-pill.status-pending-approval{color:var(--warning);background:#b4530917;border-color:#b4530938}.entry-status-select.status-approved,.entry-status-pill.status-approved{color:var(--success);background:#0478571a;border-color:#0478573d}.entry-status-select.status-send-email,.entry-status-pill.status-send-email{color:var(--accent);background:#2563eb17;border-color:#2563eb33}.entry-status-select.status-awaiting-team-release,.entry-status-pill.status-awaiting-team-release{color:#7c3aed;background:#7c3aed1a;border-color:#7c3aed3d}.entry-actions{justify-content:flex-end;gap:6px;display:flex}.entries-table .entry-row:first-child{border-top:0}.entry-row{border-top:1px solid var(--border);grid-template-columns:1fr auto auto auto;align-items:center;gap:10px;min-height:62px;padding:13px 0;display:grid}.entry-row:first-child{border-top:0}.entry-row strong,.entry-row span{overflow-wrap:anywhere;display:block}.entry-row span{color:var(--muted);margin-top:3px;font-size:.78rem}.entry-review-meta,.entry-review-note,.entry-reviewer-cell{color:var(--muted);font-size:.78rem;font-style:normal;line-height:1.35;display:block}.entry-review-note{margin-top:2px}.entry-reviewer-cell{font-size:.82rem}.entry-row b{color:var(--accent);white-space:nowrap;background:#2563eb14;border:1px solid #2563eb29;border-radius:999px;padding:4px 8px;font-size:.78rem}.release-summary{background:linear-gradient(135deg,#2563eb1f,#0f766e1a);border:1px solid #2563eb2e;border-radius:8px;gap:12px;padding:15px;display:grid}.release-summary>div{gap:5px;display:grid}.release-summary span,.overtime-box span{color:var(--accent);text-transform:uppercase;font-size:.68rem;font-weight:900}.release-summary strong{white-space:nowrap;font-size:1.18rem}.planning-board{align-items:start}.planning-status-card{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;grid-template-columns:34px 1fr;align-items:center;gap:12px;padding:14px;display:grid}.planning-status-card svg{color:var(--accent)}.planning-status-card strong,.planning-status-card span{display:block}.planning-status-card span{color:var(--muted);margin-top:3px;font-size:.84rem;line-height:1.4}.planning-status-card.success{border-color:#0478573d}.planning-status-card.success svg{color:var(--success)}.planning-status-card.warning{border-color:#b453093d}.planning-status-card.warning svg{color:var(--warning)}.planning-status-card.danger{border-color:#b423183d}.planning-status-card.danger svg{color:var(--danger)}.planning-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:10px;display:grid}.planning-kpi-grid>div{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;gap:5px;min-height:118px;padding:12px;display:grid}.planning-kpi-grid svg{color:var(--accent)}.planning-kpi-grid span{color:var(--muted);text-transform:uppercase;font-size:.68rem;font-weight:900}.planning-kpi-grid strong{font-size:clamp(1rem,1.4vw,1.35rem);line-height:1}.planning-kpi-grid small{color:var(--muted);font-size:.78rem;font-weight:750}.planning-kpi-grid small.positive{color:var(--success)}.planning-kpi-grid small.negative{color:var(--danger)}.planning-layout{grid-template-columns:minmax(0,1fr) minmax(300px,360px);align-items:start;gap:12px;display:grid}.daily-plan-card{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;gap:12px;padding:13px;display:grid}.daily-plan-card .section-title{align-items:start}.daily-plan-card .section-title p{color:var(--muted);margin-top:3px;font-size:.82rem;line-height:1.35}.planning-project-list{gap:8px;display:grid}.planning-project-row{background:var(--surface);border:1px solid var(--border);border-radius:8px;grid-template-columns:6px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:86px;padding:10px;display:grid}.planning-project-row.has-overtime{border-color:#2563eb47}.planning-project-row strong,.planning-project-row small{overflow-wrap:anywhere;display:block}.planning-project-row small{color:var(--muted);margin-top:3px;font-size:.76rem}.planning-project-row .mini-meter-track{margin-top:9px}.planning-allocation{background:var(--surface-soft);border:1px solid var(--border);text-align:right;border-radius:8px;gap:3px;min-width:104px;padding:8px;display:grid}.planning-allocation span{color:var(--accent);text-transform:uppercase;font-size:.66rem;font-weight:900}.planning-allocation strong{font-size:1rem}.planning-checklist{background:var(--surface);border:1px solid var(--border);border-radius:8px;gap:6px;padding:10px;display:grid}.planning-checklist strong,.planning-checklist span{display:block}.planning-checklist span{color:var(--muted);font-size:.78rem;line-height:1.35}.release-summary small,.overtime-box small{color:var(--muted);font-size:.78rem;font-weight:750;line-height:1.35}.overtime-box{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;gap:12px;padding:13px;display:grid}.overtime-box.active{background:#b4530914;border-color:#b453093d}.overtime-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.overtime-stats>div{background:var(--surface);border:1px solid var(--border);border-radius:8px;gap:4px;padding:10px;display:grid}.summary-toggle{background:var(--surface-soft);border:1px solid var(--border);color:var(--text);border-radius:8px;grid-template-columns:1fr auto auto;align-items:center;gap:8px;width:100%;min-height:42px;padding:9px 11px;display:grid}.summary-toggle span{text-align:left;font-weight:850}.summary-toggle em,.overtime-pill{color:var(--accent);background:#2563eb17;border:1px solid #2563eb29;border-radius:999px;padding:3px 8px;font-size:.74rem;font-style:normal;font-weight:850}.summary-toggle svg{color:var(--muted);transition:transform .18s}.summary-toggle.open svg{transform:rotate(180deg)}.summary-list{opacity:0;gap:8px;max-height:0;transition:max-height .24s,opacity .16s;display:grid;overflow:hidden}.summary-list.open{opacity:1;max-height:900px}.dashboard-screen .summary-list,.planning-screen .summary-list{max-height:none}.project-mini-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;display:grid}.project-mini-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;display:grid;overflow:hidden}.project-mini-card.active{border-color:var(--border-strong)}.project-mini-card.completed{border-color:#0478573d}.project-mini-card-main{color:var(--text);text-align:left;background:0 0;border:0;gap:12px;padding:13px;display:grid}.project-mini-card-main:hover{background:var(--surface-soft)}.project-mini-card-head{grid-template-columns:6px 1fr;align-items:center;gap:10px;display:grid}.project-mini-card-head strong,.project-mini-card-head small{overflow-wrap:anywhere;display:block}.project-mini-card-head strong{font-size:.9rem}.project-mini-card-head small{color:var(--muted);margin-top:3px;font-size:.74rem}.project-mini-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.project-mini-metrics>span{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;gap:4px;padding:8px;display:grid}.project-mini-metrics .saved-hours-card{background:#0478571a;border-color:#0478573d;grid-column:1/-1}.project-mini-metrics small{color:var(--muted);text-transform:uppercase;font-size:.66rem;font-weight:900}.project-mini-metrics em{color:var(--muted);font-size:.72rem;font-style:normal;font-weight:800}.project-mini-metrics strong{color:var(--text);white-space:nowrap;font-size:.82rem}.project-mini-metrics .saved-hours-card strong{color:var(--success)}.project-mini-metrics .saved-hours-card strong.negative{color:var(--danger)}.mini-meter-track{background:#94a3b833;border-radius:999px;height:8px;display:block;overflow:hidden}.mini-meter-track span{border-radius:inherit;min-width:4px;height:100%;display:block}.project-mini-card-footer{border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;align-items:center;min-height:48px;padding:7px 8px 7px 13px;font-size:.76rem;font-weight:850;display:flex}.report-panel{gap:14px;width:100%;max-width:none}.report-config{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(220px,280px);align-items:end;gap:18px;padding:14px;display:grid}.report-preview-hero{background:linear-gradient(135deg,#2563eb1f,#0f766e14);border:1px solid #2563eb2e;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px;display:grid}.report-preview-hero h2{margin-top:3px;font-size:clamp(1.25rem,1.9vw,1.8rem)}.report-preview-hero p{color:var(--muted);margin-top:6px;line-height:1.4}.report-readiness{background:var(--surface);color:var(--success);white-space:nowrap;border:1px solid #04785738;border-radius:999px;align-items:center;gap:7px;padding:8px 11px;font-size:.8rem;font-weight:850;display:inline-flex}.report-preview-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.report-preview-grid>div{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;gap:6px;min-height:104px;padding:12px;display:grid}.report-preview-grid svg{color:var(--accent)}.report-preview-grid span{color:var(--muted);text-transform:uppercase;font-size:.68rem;font-weight:900}.report-preview-grid strong{font-size:clamp(1.05rem,1.4vw,1.35rem);line-height:1}.report-preview-grid small{color:var(--muted);font-size:.78rem;font-weight:750}.report-preview-grid .positive{color:var(--success)}.report-preview-grid .negative{color:var(--danger)}.report-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.report-actions button{background:var(--surface-soft);border:1px solid var(--border);color:var(--text);text-align:left;border-radius:8px;grid-template-columns:30px 1fr;align-items:start;gap:12px;min-height:104px;padding:15px;display:grid}.report-actions svg{color:var(--accent);width:24px;height:24px}.report-actions strong,.report-actions small{display:block}.report-actions strong{font-size:1rem}.report-actions small{color:var(--muted);margin-top:6px;line-height:1.4}.report-includes{background:var(--surface-soft);border:1px solid var(--border);color:var(--muted);border-radius:8px;gap:4px;padding:12px;display:grid}.report-includes strong{color:var(--text)}.summary-card{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;padding:10px}.summary-card.completed{border-color:#04785747}.summary-card-head{grid-template-columns:6px 1fr auto;align-items:center;gap:10px;display:grid}.summary-card-head strong,.summary-card-head small{overflow-wrap:anywhere;display:block}.summary-card-head b{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.summary-card-head strong{font-size:.86rem}.summary-card-head small{color:var(--muted);margin-top:2px;font-size:.75rem}.completed-pill{color:var(--success);background:#0478571a;border:1px solid #04785738;border-radius:999px;padding:3px 8px;font-size:.74rem;font-weight:850}.primary-button,.ghost-button,.icon-button,.danger-button,.danger-button-outline,.accent-button-outline{border-radius:8px;justify-content:center;align-items:center;gap:8px;transition:background .16s,border-color .16s,box-shadow .16s,transform .16s;display:inline-flex}.primary-button{background:var(--accent);color:#fff;min-height:var(--control-height);border:1px solid #ffffff1a;gap:8px;width:auto;padding:9px 14px;box-shadow:0 12px 24px #2563eb2e}.login-form .primary-button,.login-form .ghost-button,.rail .primary-button{width:100%}.primary-button:hover,.ghost-button:hover,.icon-button:hover,.danger-button:hover,.danger-button-outline:hover,.accent-button-outline:hover{transform:translateY(-1px)}.primary-button:disabled,.ghost-button:disabled,.icon-button:disabled,.danger-button:disabled,.danger-button-outline:disabled,.accent-button-outline:disabled{opacity:.62;transform:none}.button-spinner,.spin{animation:.85s linear infinite button-spin}@keyframes button-spin{to{transform:rotate(360deg)}}.form-hint{color:var(--muted);margin:0;font-size:.82rem;line-height:1.45}.password-reset-card{max-width:440px}.reset-state{color:var(--muted);text-align:center;place-items:center;gap:10px;padding:24px 8px 10px;display:grid}.reset-state strong{color:var(--text);font-size:1.1rem}.reset-state-error svg{color:var(--danger)}.reset-user-summary{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;gap:4px;padding:12px;display:grid}.reset-user-summary small{color:var(--muted)}.ghost-button{background:var(--surface-soft);border:1px solid var(--border);color:var(--text);min-height:var(--control-height);gap:7px;width:auto;padding:8px 11px}.rail .ghost-button{color:#e5edf7;background:#ffffff0f;border-color:#ffffff1a}.icon-button{background:var(--surface-soft);border:1px solid var(--border);color:var(--soft);height:var(--control-height);width:var(--control-height);flex:none}.rail .icon-button{color:#e5edf7;background:#ffffff0f;border-color:#ffffff1a}.danger-button{background:var(--danger);color:#fff;min-height:var(--control-height);border:1px solid #ffffff1a;gap:8px;width:auto;padding:9px 14px}.danger-button-outline{background:color-mix(in srgb, var(--danger) 8%, var(--surface));border:1px solid color-mix(in srgb, var(--danger) 34%, var(--border));border-color:color-mix(in srgb, var(--danger) 34%, var(--border));box-shadow:none;color:var(--danger);min-height:var(--control-height);width:auto;padding:8px 14px}.danger-button-outline:hover{background:var(--danger);border-color:var(--danger);color:#fff}.accent-button-outline{background:color-mix(in srgb, var(--accent) 8%, var(--surface));border:1px solid color-mix(in srgb, var(--accent) 34%, var(--border));box-shadow:none;color:var(--accent);min-height:var(--control-height);gap:8px;width:auto;padding:8px 14px;font-weight:800}.accent-button-outline:hover{background:var(--accent);border-color:var(--accent);box-shadow:0 10px 22px color-mix(in srgb, var(--accent) 28%, transparent);color:#fff}.form-grid{grid-template-columns:.8fr 1.2fr;gap:9px;display:grid}.release-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-numbers-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.project-form-section{border-top:1px solid var(--border);gap:12px;padding-top:14px;display:grid}.project-form-section-title{gap:3px;display:grid}.project-form-section-title strong{color:var(--text);font-size:.86rem}.project-form-section-title small{color:var(--muted);line-height:1.35}.project-release-grid,.project-date-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-color-section{gap:10px}.entry-modal-grid{grid-template-columns:1fr .7fr .8fr}.swatches{flex-wrap:wrap;gap:8px;display:flex}.swatches button{border:2px solid #0000;border-radius:999px;width:26px;height:26px;box-shadow:inset 0 0 0 1px #ffffffa6}.swatches button.selected{border-color:var(--text);box-shadow:0 0 0 3px #2563eb2e}.modal-backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:20;background:#0f172a8f;justify-content:center;align-items:center;padding:20px;animation:.18s ease-out both backdropIn;display:flex;position:fixed;inset:0}.drawer-backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:20;background:#0f172a80;justify-content:flex-end;align-items:stretch;animation:.18s ease-out both backdropIn;display:flex;position:fixed;inset:0}.drawer-panel{background:var(--surface);border-left:1px solid var(--border);grid-template-rows:auto minmax(0,1fr);width:min(560px,100vw);max-width:min(560px,100vw);height:100vh;animation:.26s cubic-bezier(.2,.8,.2,1) both drawerIn;display:grid;box-shadow:-28px 0 72px #00000042}.drawer-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;padding:18px 20px;display:flex}.drawer-header>span{align-items:center;gap:9px;min-width:0;display:inline-flex}.drawer-header svg{color:var(--accent);flex:none}.drawer-header h2{overflow-wrap:anywhere}.drawer-body{min-height:0;padding:18px 20px 20px;overflow:auto}.project-drawer-form{min-height:100%}.project-drawer-form .modal-actions{background:color-mix(in srgb, var(--surface) 94%, transparent);border-top:1px solid var(--border);margin:4px -20px -20px;padding:14px 20px 20px;position:sticky;bottom:-20px}.confirm-portal .modal-backdrop{z-index:400}.confirm-portal{color:var(--text);pointer-events:none;position:relative}.confirm-portal .modal-backdrop{pointer-events:auto}.confirm-portal .modal-card{width:min(480px,100%);min-width:min(100%,360px)}.modal-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;gap:16px;width:min(620px,100%);max-width:620px;max-height:min(760px,100vh - 40px);padding:18px;animation:.22s cubic-bezier(.2,.8,.2,1) both modalIn;display:grid;overflow:auto;box-shadow:0 28px 72px #00000047}.modal-card.danger{border-color:#b4231842}.modal-header{justify-content:space-between;align-items:center;gap:14px;display:flex}.modal-header>span{align-items:center;gap:9px;min-width:0;display:inline-flex}.modal-header svg{color:var(--accent);flex:none}.modal-header h2{overflow-wrap:anywhere}.modal-form{gap:12px;display:grid}.person-profile-form,.person-contract-form{grid-template-columns:repeat(2,minmax(0,1fr))}.person-profile-form>label:first-child,.person-profile-form>label:nth-child(2),.person-profile-form .modal-actions,.person-contract-form .modal-actions{grid-column:1/-1}.person-contract-form .file-input-label{border:1px dashed var(--border-strong);border-radius:8px;padding:12px}.person-contract-form .file-input-label input{margin-top:6px}.person-contract-form .file-input-label small{color:var(--muted);overflow-wrap:anywhere;margin-top:6px;display:block}.person-contract-list{border-top:1px solid var(--border);gap:12px;padding-top:16px;display:grid}.person-contract-list-heading{justify-content:space-between;align-items:center;display:flex}.person-contract-list-heading h3{color:var(--soft);letter-spacing:.02em;text-transform:uppercase;margin:0;font-size:.78rem}.person-contract-list-heading span,.person-contract-item small{color:var(--muted);font-size:.75rem;font-weight:750}.person-contract-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px;display:grid}.person-contract-item{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;gap:12px;padding:14px;display:grid}.person-contract-item-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.person-contract-item-head strong,.person-contract-item-head small{overflow-wrap:anywhere;display:block}.person-contract-item-head strong{color:var(--text);font-size:.9rem}.person-contract-dates{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.person-contract-dates span{color:var(--text);font-size:.78rem;font-weight:850}.person-contract-dates small{text-transform:uppercase;margin-bottom:3px;font-size:.66rem;display:block}.modal-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.modal-actions .primary-button,.modal-actions .ghost-button,.modal-actions .danger-button{width:auto}.option-hero,.confirm-copy{background:var(--surface-soft);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:13px;line-height:1.5}.option-hero{grid-template-columns:8px 1fr;align-items:center;gap:12px;display:grid}.option-hero strong,.option-hero small{overflow-wrap:anywhere;display:block}.option-hero small,.confirm-copy p{color:var(--muted);margin-top:4px;line-height:1.4}.confirm-copy strong{color:var(--text)}.activity-log-detail{gap:14px;display:grid}.activity-log-detail-hero{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;gap:4px;padding:13px;display:grid}.activity-log-detail-hero small{color:var(--muted)}.activity-log-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;display:grid}.activity-log-detail-grid>div{gap:4px;display:grid}.activity-log-detail-wide{grid-column:1/-1}.activity-log-detail-grid dt{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:600}.activity-log-detail-grid dd{margin:0}.activity-log-detail-mono{word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.86rem}.completion-hours-field{color:var(--soft);gap:6px;font-size:.82rem;font-weight:800;display:grid}.completion-hours-field input{background:var(--surface-soft);border:1px solid var(--border);color:var(--text);border-radius:8px;min-height:42px;padding:0 12px}.option-grid,.export-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.option-grid button,.export-actions button{background:var(--surface-soft);border:1px solid var(--border);color:var(--text);text-align:left;border-radius:8px;grid-template-columns:24px 1fr;align-items:start;gap:10px;min-height:88px;padding:13px;display:grid}.option-grid button svg,.export-actions svg{color:var(--accent)}.option-grid button strong,.option-grid button small,.export-actions strong,.export-actions small{display:block}.option-grid button small,.export-actions small{color:var(--muted);margin-top:4px;font-size:.78rem;line-height:1.35}.option-grid .danger-option svg,.option-grid .danger-option strong{color:var(--danger)}.empty-list,.empty-state{color:var(--muted);text-align:center}.empty-list{padding:18px 0 4px}.empty-list.compact{color:#a8b3c5;border:1px dashed #fff3;border-radius:8px;padding:16px}.empty-state{border:1px solid var(--border);border-radius:8px;place-content:center;align-items:center;min-height:420px;display:grid}.empty-state svg{margin:0 auto 12px}@keyframes backdropIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:translateY(18px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes drawerIn{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important}}@media (width<=1180px){.app-frame.sidebar-open .sidebar-toggle{left:calc(min(340px,88vw) + 12px)}.rail{width:340px;max-width:min(340px,88vw)}.overview-header,.project-metrics,.project-workspace-grid,.planning-layout,.workbench{grid-template-columns:1fr}.project-browser{position:static}.overview-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.sidebar-toggle,.app-frame.sidebar-open .sidebar-toggle{top:16px;left:16px;right:auto}.content-area{padding:16px 16px 16px 68px}.project-list{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-groups{grid-template-columns:1fr}.project-mini-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.metric-grid,.finance-grid,.planning-kpi-grid,.report-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-preview-hero{grid-template-columns:1fr;align-items:start}.project-detail-toolbar{grid-template-columns:1fr}.project-detail-toolbar-actions{justify-content:stretch}.project-detail-toolbar-actions .accent-button-outline,.project-detail-toolbar-actions .project-complete-button{flex:1 1 0}}@media (width<=640px){:root{font-size:14px}.rail,.content-area{padding:12px}.content-area{padding-left:62px}.project-list,.project-mini-grid,.overview-groups,.topbar-stats,.entries-summary,.metric-grid,.finance-grid,.planning-kpi-grid,.report-preview-grid,.report-actions,.form-grid,.release-grid,.project-numbers-grid,.project-release-grid,.project-date-grid,.option-grid,.export-actions{grid-template-columns:1fr}.project-hero{grid-template-columns:1fr;padding:16px}.hero-actions,.panel-heading,.screen-heading,.screen-actions,.custom-period-panel,.dashboard-secondary-filters,.report-config,.report-preview-hero,.modal-actions{grid-template-columns:1fr;align-items:stretch;display:grid}.hero-actions{grid-template-columns:1fr 42px}.hero-actions .primary-button{width:100%}.period-date-filter{grid-template-columns:1fr;min-width:0}.entry-row:not(.table-entry-row){grid-template-columns:1fr auto}.planning-project-row{grid-template-columns:6px minmax(0,1fr);align-items:stretch}.planning-allocation{text-align:left;grid-column:2}.entry-row:not(.table-entry-row) .entry-status-pill{justify-self:start}.entry-row:not(.table-entry-row) .entry-actions{grid-column:1/-1;justify-content:flex-end}.entry-row .icon-button{grid-column:auto}.modal-backdrop{align-items:end;padding:10px}.modal-card{max-height:calc(100vh - 20px);padding:14px}.drawer-panel{border-left:0;width:100vw;max-width:100vw}.drawer-header,.drawer-body{padding:14px}.project-drawer-form .modal-actions{margin:4px -14px -14px;padding:12px 14px 14px;bottom:-14px}.modal-actions .primary-button,.modal-actions .ghost-button,.modal-actions .danger-button{width:100%}}.app-shell{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--shadow-sm:0 1px 2px #0f172a0d, 0 4px 12px #0f172a0a;--shadow-md:0 12px 30px #0f172a14;--focus-ring:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent)}.app-shell button,.app-shell input,.app-shell select,.app-shell textarea{border-radius:var(--radius-sm)}.app-shell button{transition:background-color .16s,border-color .16s,box-shadow .16s,color .16s,transform .16s}.app-shell button:active:not(:disabled){transform:translateY(1px)}.app-shell button:focus-visible,.app-shell input:focus-visible,.app-shell select:focus-visible,.app-shell textarea:focus-visible{box-shadow:var(--focus-ring);outline:none}.app-shell input,.app-shell select,.app-shell textarea{border:1px solid var(--border);min-height:var(--control-height);transition:border-color .16s,box-shadow .16s,background-color .16s}.app-shell input:hover,.app-shell select:hover,.app-shell textarea:hover{border-color:color-mix(in srgb, var(--accent) 24%, var(--border))}.app-shell input:focus,.app-shell select:focus,.app-shell textarea:focus{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}.app-shell input::placeholder,.app-shell textarea::placeholder{color:var(--muted);opacity:.82}.app-shell .panel-card,.app-shell .project-browser,.app-shell .activity-panel,.app-shell .insight-panel,.app-shell .metric-group,.app-shell .page-header,.app-shell .overview-header{border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.app-shell .panel-heading{gap:var(--space-4)}.app-shell .panel-heading h2,.app-shell .section-title h2{letter-spacing:0}.app-shell .panel-copy,.app-shell .screen-copy,.app-shell .page-header p,.app-shell .overview-header p{color:var(--muted);line-height:1.5}.app-shell .eyebrow{color:var(--accent);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:800;line-height:1.2}.app-shell .primary-button,.app-shell .ghost-button,.app-shell .danger-button,.app-shell .danger-button-outline,.app-shell .accent-button-outline{align-items:center;gap:var(--space-2);justify-content:center;min-height:40px;padding:0 14px;display:inline-flex}.app-shell .primary-button{background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-sm);color:#fff;font-weight:750}.app-shell .primary-button:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 88%, #000);border-color:color-mix(in srgb, var(--accent) 88%, #000);box-shadow:0 8px 18px color-mix(in srgb, var(--accent) 22%, transparent)}.app-shell .ghost-button{background:var(--surface);border:1px solid var(--border);color:var(--text);font-weight:700}.app-shell .ghost-button:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 5%, var(--surface));border-color:color-mix(in srgb, var(--accent) 28%, var(--border));color:var(--accent)}.app-shell .danger-button,.app-shell .danger-button-outline{border:1px solid color-mix(in srgb, var(--danger) 35%, var(--border));color:var(--danger);background:0 0;font-weight:700}.app-shell .danger-button:hover:not(:disabled),.app-shell .danger-button-outline:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 8%, var(--surface));border-color:var(--danger)}.app-shell .accent-button-outline{background:color-mix(in srgb, var(--accent) 5%, var(--surface));border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));color:var(--accent);font-weight:750}.app-shell .accent-button-outline:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 10%, var(--surface));border-color:var(--accent)}.app-shell .compact-action{min-height:36px;padding-inline:11px}.app-shell .icon-button{justify-content:center;align-items:center;min-width:40px;height:40px;padding:0;display:inline-flex}.app-shell .screen,.app-shell .manager-screen{gap:var(--space-5)}.app-shell .screen-heading,.app-shell .screen-toolbar,.app-shell .page-header,.app-shell .overview-header{margin-bottom:var(--space-5)}.app-shell .screen-heading h1,.app-shell .page-header h1,.app-shell .overview-header h1{letter-spacing:-.025em}.app-shell .kpi-card,.app-shell .manager-kpi-card,.app-shell .stat,.app-shell .people-card,.app-shell .approval-card,.app-shell .project-mini-card,.app-shell .kanban-column,.app-shell .calendar-summary-card,.app-shell .planning-kpi-grid>div{border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.app-shell .kpi-card:hover,.app-shell .manager-kpi-card:hover,.app-shell .people-card:hover,.app-shell .approval-card:hover,.app-shell .calendar-summary-card:hover{border-color:color-mix(in srgb, var(--accent) 22%, var(--border));box-shadow:var(--shadow-md)}.app-shell .data-table-wrap,.app-shell .entries-grid,.app-shell .sortable-table-wrap{border:1px solid var(--border);border-radius:var(--radius-md);overflow:auto}.app-shell .data-table th,.app-shell .entries-grid-head,.app-shell .sortable-table th{background:color-mix(in srgb, var(--surface-soft) 86%, var(--accent));color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:800}.app-shell .data-table tr:hover td,.app-shell .entries-grid-row:hover,.app-shell .sortable-table tbody tr:hover{background:color-mix(in srgb, var(--accent) 4%, var(--surface))}.app-shell .segment-nav,.app-shell .person-tab-nav{border-radius:var(--radius-md);align-items:center;gap:4px;padding:4px}.app-shell .segment-nav button,.app-shell .person-tab-nav button{border-radius:var(--radius-sm);min-height:38px}.app-shell .search-field,.app-shell .screen-filter>div,.app-shell .date-picker-field,.app-shell .date-picker-filter{border-radius:var(--radius-sm)}.app-shell .modal-backdrop,.app-shell .drawer-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.app-shell .modal-card,.app-shell .drawer-panel,.app-shell .entry-stats-modal,.app-shell .activity-log-detail-modal{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 24px 70px #0f172a33}.app-shell .modal-header,.app-shell .drawer-header{border-bottom:1px solid var(--border-soft);padding-bottom:var(--space-4)}.app-shell .modal-card,.app-shell .drawer-panel{overflow:hidden}.app-shell .modal-actions,.app-shell .form-actions-inline{gap:var(--space-3)}.app-shell .feedback-toast{border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.app-shell .rail-nav button{border-radius:var(--radius-sm);border:1px solid #0000;min-height:42px}.app-shell .rail-nav button:hover,.app-shell .rail-nav button.active{border-color:color-mix(in srgb, var(--accent) 28%, transparent)}.app-shell .project-marker{border-radius:999px}@media (width<=720px){.app-shell{--panel-padding:12px;--header-padding:14px}.app-shell .screen-heading,.app-shell .screen-toolbar,.app-shell .page-header,.app-shell .overview-header{margin-bottom:var(--space-4)}.app-shell .page-header h1,.app-shell .overview-header h1,.app-shell .screen-heading h1{font-size:clamp(1.65rem,7vw,2.2rem)}.app-shell .primary-button,.app-shell .ghost-button,.app-shell .danger-button,.app-shell .danger-button-outline,.app-shell .accent-button-outline{min-height:42px}.app-shell .screen-actions,.app-shell .entry-header-actions,.app-shell .form-actions-inline,.app-shell .modal-actions{flex-wrap:wrap}.app-shell .calendar-workspace,.app-shell .project-workspace-grid,.app-shell .dashboard-layout,.app-shell .manager-overview-grid{grid-template-columns:1fr}.app-shell .delivery-calendar-card,.app-shell .delivery-agenda-panel,.app-shell .panel-card,.app-shell .insight-panel{border-radius:var(--radius-md)}.app-shell .delivery-calendar-grid{min-width:640px}.app-shell .delivery-calendar-card{overflow-x:auto}.app-shell .data-table-wrap,.app-shell .entries-grid,.app-shell .sortable-table-wrap{-webkit-overflow-scrolling:touch}}.app-shell button:disabled,.app-shell input:disabled,.app-shell select:disabled,.app-shell textarea:disabled{opacity:.58}.app-shell .empty-state,.app-shell .empty-list{background:color-mix(in srgb, var(--surface-soft) 78%, var(--surface));border:1px dashed var(--border);border-radius:var(--radius-md);color:var(--muted);padding:var(--space-6)}.app-shell .loading-state,.app-shell .screen-skeleton{border-radius:var(--radius-md)}.app-shell .status-pill,.app-shell .badge,.app-shell .project-status,.app-shell .completed-pill,.app-shell .allocation-tag,.app-shell .payment-status-badge{border-radius:999px;font-weight:750}.app-loading{color:var(--text-muted);place-items:center;min-height:100vh;display:grid}.screen-skeleton{gap:16px;width:100%;display:grid}.app-loading .screen-skeleton{max-width:980px;padding:24px}.screen-skeleton-header,.screen-skeleton-toolbar,.screen-skeleton-card,.screen-skeleton-panel,.screen-skeleton-row{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-soft);border-radius:8px}.screen-skeleton-header{gap:12px;padding:24px;display:grid}.screen-skeleton-toolbar{flex-wrap:wrap;align-items:center;gap:12px;padding:14px;display:flex}.screen-skeleton-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.screen-skeleton-card{gap:12px;min-height:126px;padding:18px;display:grid}.screen-skeleton-panel{gap:8px;padding:12px;display:grid}.screen-skeleton-row{box-shadow:none;grid-template-columns:12px minmax(0,1fr) minmax(120px,220px);align-items:center;gap:14px;min-height:58px;padding:12px 14px;display:grid}.skeleton-line,.skeleton-pill,.skeleton-dot{background:linear-gradient(90deg, transparent, #ffffff80, transparent), color-mix(in srgb, var(--muted) 18%, var(--surface));background-size:220% 100%,100% 100%;border-radius:999px;animation:1.25s ease-in-out infinite skeleton-shimmer;display:block;position:relative;overflow:hidden}.skeleton-line-kicker{width:min(150px,45%);height:12px}.skeleton-line-title{width:min(420px,82%);height:34px}.skeleton-line-subtitle{width:min(620px,95%);height:16px}.skeleton-line-small{width:44%;height:12px}.skeleton-line-value{width:66%;height:28px}.skeleton-line-body{width:86%;height:14px}.skeleton-line-row-main{width:78%;height:16px}.skeleton-line-row-meta{width:100%;height:16px}.skeleton-pill{width:138px;height:44px}.skeleton-pill.wide{width:min(260px,100%)}.skeleton-dot{width:12px;height:12px}.screen-skeleton.compact .screen-skeleton-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@keyframes skeleton-shimmer{0%{background-position:180% 0,0 0}to{background-position:-80% 0,0 0}}.login-shell{background:radial-gradient(circle at top, #6366f12e, transparent 42%), var(--surface-0);isolation:isolate;place-items:center;min-height:100vh;padding:24px;display:grid;position:relative}.login-shell--custom-bg{background-color:#0f172a;background-position:50%;background-repeat:no-repeat;background-size:cover}.login-shell--custom-bg:before{content:"";pointer-events:none;z-index:0;background:linear-gradient(#0f172a6b,#0f172a9e);position:absolute;inset:0}.login-shell--custom-bg>.login-card{z-index:1;position:relative}.login-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;gap:20px;width:min(100%,420px);max-width:420px;padding:24px;display:grid}.login-brand{grid-template-columns:44px 1fr;align-items:center;gap:12px;display:grid}.login-brand-copy{gap:4px;min-width:0;display:grid}.login-brand-copy strong{font-size:1.05rem;line-height:1.2;display:block}.login-brand-copy small{color:var(--muted);font-size:.88rem;line-height:1.35;display:block}.login-form{gap:14px;display:grid}.login-form label{gap:8px;display:grid}.sso-login-button{color:#172033;cursor:pointer;font:inherit;min-height:var(--control-height);background:#fff;border:1px solid #cfd8e3;border-radius:8px;justify-content:center;align-items:center;gap:10px;width:100%;padding:10px 14px;font-weight:800;transition:background .16s,border-color .16s,box-shadow .16s,transform .16s;display:inline-flex}.sso-login-button:hover{background:#f8fafc;border-color:#9fb0c5;transform:translateY(-1px);box-shadow:0 10px 22px #0f172a14}.microsoft-login-mark{grid-template-rows:repeat(2,8px);grid-template-columns:repeat(2,8px);gap:2px;width:18px;height:18px;display:grid}.microsoft-login-mark span:first-child{background:#f25022}.microsoft-login-mark span:nth-child(2){background:#7fba00}.microsoft-login-mark span:nth-child(3){background:#00a4ef}.microsoft-login-mark span:nth-child(4){background:#ffb900}.login-divider{color:var(--muted);text-transform:uppercase;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;font-size:.78rem;font-weight:800;display:grid}.login-divider:before,.login-divider:after{background:var(--border);content:"";height:1px}.login-error{color:var(--danger);margin:0}.login-success{color:#0f766e;background:#e6f3f1;border:1px solid #b8ded6;border-radius:8px;margin:0;padding:11px 12px;font-size:.9rem;font-weight:700}.login-form-actions{justify-content:flex-end;margin-top:-4px;display:flex}.login-forgot-link{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-size:.88rem;font-weight:700;text-decoration:underline}.login-forgot-link:hover{color:var(--accent-2)}.login-forgot-copy{color:var(--muted);margin:0;font-size:.92rem;line-height:1.5}.login-back-button{color:var(--muted);font-weight:700}.login-back-button:hover{color:var(--text)}.feedback-portal{pointer-events:none;z-index:90;background:0 0;min-height:0;position:fixed;inset:0}.feedback-stack{pointer-events:auto;gap:10px;width:100%;max-width:min(420px,100vw - 32px);display:grid;position:fixed;top:16px;right:16px}.feedback-toast{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent);box-shadow:var(--shadow);color:var(--text);border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:flex-start;gap:10px;padding:13px 12px;display:grid}.feedback-toast-error{border-left-color:var(--danger)}.feedback-toast-success{border-left-color:var(--success)}.feedback-toast-icon{color:var(--accent);place-items:center;margin-top:1px;display:grid}.feedback-toast-error .feedback-toast-icon{color:var(--danger)}.feedback-toast-success .feedback-toast-icon{color:var(--success)}.feedback-toast-copy{gap:4px;min-width:0;display:grid}.feedback-toast-copy strong{font-size:.9rem;line-height:1.25}.feedback-toast-copy span{color:var(--muted);font-size:.82rem;line-height:1.35}.feedback-toast-close{color:var(--muted);background:0 0;border:0;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:inline-flex}.feedback-toast-close:hover{color:var(--text)}.login-hints{gap:6px;display:grid}.login-hints small{color:var(--muted)}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.kpi-grid-wide{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}.kpi-grid-tight{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}.kpi-card,.manager-kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;align-items:flex-start;gap:12px;min-height:92px;padding:14px;display:flex}.kpi-card-icon,.manager-kpi-card>svg{background:var(--surface-soft);border:1px solid var(--border);color:var(--accent);border-radius:8px;flex-shrink:0;place-items:center;width:38px;height:38px;display:grid}.kpi-card-body,.manager-kpi-card>div{gap:4px;min-width:0;display:grid}.kpi-card-body small,.kpi-card-body em,.manager-kpi-card small,.manager-kpi-card em{color:var(--muted);font-style:normal;display:block}.kpi-card-body em,.manager-kpi-card em{font-size:.76rem}.kpi-card-body strong,.manager-kpi-card strong{color:var(--text);font-size:1.35rem;line-height:1.1;display:block}.kpi-card.tone-accent{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 7%, var(--surface)), var(--surface));border-color:color-mix(in srgb, var(--accent) 24%, var(--border));box-shadow:inset 3px 0 0 var(--accent)}.kpi-card.tone-success{background:linear-gradient(135deg, color-mix(in srgb, var(--success) 8%, var(--surface)), var(--surface));border-color:color-mix(in srgb, var(--success) 24%, var(--border));box-shadow:inset 3px 0 0 var(--success)}.kpi-card.tone-warning{background:linear-gradient(135deg, color-mix(in srgb, var(--warning) 9%, var(--surface)), var(--surface));border-color:color-mix(in srgb, var(--warning) 26%, var(--border));box-shadow:inset 3px 0 0 var(--warning)}.kpi-card.tone-danger{background:linear-gradient(135deg, color-mix(in srgb, var(--danger) 9%, var(--surface)), var(--surface));border-color:color-mix(in srgb, var(--danger) 26%, var(--border));box-shadow:inset 3px 0 0 var(--danger)}.kpi-card.tone-info{background:linear-gradient(135deg, color-mix(in srgb, var(--accent-2) 8%, var(--surface)), var(--surface));border-color:color-mix(in srgb, var(--accent-2) 24%, var(--border));box-shadow:inset 3px 0 0 var(--accent-2)}.kpi-card.tone-accent .kpi-card-icon{background:color-mix(in srgb, var(--accent) 14%, var(--surface));border-color:color-mix(in srgb, var(--accent) 28%, var(--border));color:var(--accent)}.kpi-card.tone-accent strong{color:var(--accent)}.kpi-card.tone-success .kpi-card-icon{background:color-mix(in srgb, var(--success) 14%, var(--surface));border-color:color-mix(in srgb, var(--success) 28%, var(--border));color:var(--success)}.kpi-card.tone-success strong{color:var(--success)}.kpi-card.tone-warning .kpi-card-icon{background:color-mix(in srgb, var(--warning) 14%, var(--surface));border-color:color-mix(in srgb, var(--warning) 28%, var(--border));color:var(--warning)}.kpi-card.tone-warning strong{color:var(--warning)}.kpi-card.tone-danger .kpi-card-icon{background:color-mix(in srgb, var(--danger) 14%, var(--surface));border-color:color-mix(in srgb, var(--danger) 28%, var(--border));color:var(--danger)}.kpi-card.tone-danger strong{color:var(--danger)}.kpi-card.tone-info .kpi-card-icon{background:color-mix(in srgb, var(--accent-2) 14%, var(--surface));border-color:color-mix(in srgb, var(--accent-2) 28%, var(--border));color:var(--accent-2)}.kpi-card.tone-info strong{color:var(--accent-2)}.value-emphasis{color:var(--accent);font-weight:850}.text-success{color:var(--success);font-weight:850}.text-warning{color:var(--warning);font-weight:850}.text-danger{color:var(--danger);font-weight:850}.kpi-card-label-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.kpi-card-tooltip-host{flex-shrink:0;display:grid;position:relative}.kpi-card-info-button{color:var(--muted);cursor:help;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;padding:0;display:inline-flex}.kpi-card-info-button:hover,.kpi-card-info-button:focus-visible{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent);outline:none}.kpi-card-tooltip{box-shadow:var(--shadow);color:#e2e8f0;opacity:0;pointer-events:none;z-index:30;background:#0f172a;border:1px solid #ffffff1f;border-radius:8px;width:min(260px,72vw);padding:10px 12px;font-size:.76rem;font-weight:600;line-height:1.4;transition:opacity .16s,transform .16s;position:absolute;top:calc(100% + 8px);right:0;transform:translateY(4px)}.kpi-card-tooltip-host:hover .kpi-card-tooltip,.kpi-card-tooltip-host:focus-within .kpi-card-tooltip{opacity:1;transform:translateY(0)}.section-block{gap:10px;display:grid}.section-block+.section-block{margin-top:4px}.project-execution-section .kpi-grid{gap:8px}.project-execution-section .kpi-card{box-shadow:none;border-color:#0000;min-height:78px;padding:12px}.project-execution-section .kpi-card.tone-accent{box-shadow:inset 2px 0 0 var(--accent)}.project-execution-section .kpi-card.tone-info{box-shadow:inset 2px 0 0 var(--accent-2)}.project-execution-section .kpi-card.tone-warning{box-shadow:inset 2px 0 0 var(--warning)}.project-execution-section .kpi-card.tone-success{box-shadow:inset 2px 0 0 var(--success)}.project-execution-section .kpi-card.tone-danger{box-shadow:inset 2px 0 0 var(--danger)}.project-execution-section .kpi-card-icon{background:0 0}.data-table-wrap,.manager-table-wrap{overflow-x:auto}.data-table,.manager-table{border-collapse:collapse;width:100%;min-width:720px}.data-table th,.data-table td,.manager-table th,.manager-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:11px 10px}.data-table th,.manager-table th{color:var(--muted);letter-spacing:.02em;text-transform:uppercase;font-size:.72rem;font-weight:800}.data-table-row-link{cursor:pointer;transition:background-color .15s}.data-table-row-link:hover,.data-table-row-link:focus-visible{background:color-mix(in srgb, var(--accent) 8%, var(--surface));outline:none}.sortable-table-head-button{color:inherit;cursor:pointer;font:inherit;text-transform:inherit;background:0 0;border:none;align-items:center;gap:6px;padding:0;display:inline-flex}.sortable-table-head-button:hover,.sortable-table-head-button.active{color:var(--text)}.sortable-table-head-button svg{opacity:.65;flex-shrink:0}.sortable-table-head-button.active svg{opacity:1}.sortable-list-controls{flex-wrap:wrap;gap:8px 14px;margin-bottom:12px;display:flex}.sortable-list-controls .sortable-table-head-button{color:var(--muted);letter-spacing:.02em;text-transform:uppercase;font-size:.72rem;font-weight:800}.approval-table-actions{flex-wrap:wrap;gap:8px;display:flex}.project-detail-hero{background:0 0;border:0;border-radius:0;grid-template-columns:minmax(360px,.9fr) minmax(360px,1.1fr);gap:16px;padding:0;display:grid}.project-detail-status{background:color-mix(in srgb, var(--surface) 88%, #020617);border:0;border-left:3px solid color-mix(in srgb, var(--accent) 80%, transparent);border-radius:12px;flex-direction:column;align-items:stretch;gap:12px;padding:14px 16px;display:flex}.project-detail-status.is-active{border-left-color:var(--accent)}.project-detail-status.is-completed{border-left-color:var(--success)}.project-detail-status-main{align-items:center;gap:12px;min-width:0;display:flex}.project-detail-status-main .project-marker{box-shadow:none}.project-owner-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.project-gp-picker{background:color-mix(in srgb, var(--text) 4%, transparent);box-shadow:none;border:0;border-radius:12px;gap:8px;padding:12px;display:grid}.project-gp-picker.is-form{box-shadow:none}.project-gp-header{gap:4px;display:grid}.project-gp-header strong{color:var(--text);letter-spacing:.05em;text-transform:uppercase;font-size:.8rem;font-weight:800}.project-gp-header small{color:var(--soft);font-size:.8rem;line-height:1.4}.gp-current-card{background:color-mix(in srgb, var(--text) 4%, transparent);border:0;border-radius:10px;align-items:center;gap:12px;padding:10px;display:flex}.gp-current-card .dev-allocation-avatar{background:color-mix(in srgb, var(--accent) 18%, var(--surface));border-color:color-mix(in srgb, var(--accent) 42%, var(--border));width:44px;height:44px}.gp-current-card-body{gap:4px;min-width:0;display:grid}.gp-current-card-body strong{color:var(--text);font-size:.98rem;font-weight:800}.gp-current-card-body small{color:var(--soft);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.gp-current-card-body em{background:color-mix(in srgb, var(--accent) 14%, transparent);border:1px solid color-mix(in srgb, var(--accent) 34%, var(--border));color:var(--accent);border-radius:999px;width:fit-content;padding:3px 9px;font-size:.72rem;font-style:normal;font-weight:800;display:inline-flex}.project-gp-actions{gap:10px;display:grid}.gp-assign-self-button{justify-content:center;width:100%}.project-gp-picker .search-field{background:color-mix(in srgb, var(--text) 4%, transparent);box-shadow:none;border-color:#0000;width:100%;min-width:0}.project-gp-picker .search-field:focus-within{box-shadow:none;border-color:#0000}.project-gp-picker .search-field input::placeholder{color:var(--muted)}.theme-light .gp-current-card{background:color-mix(in srgb, var(--accent) 6%, #fff)}.project-detail-status-copy{align-items:center;gap:12px;min-width:0;display:flex}.project-detail-status-label{letter-spacing:.02em;border:1px solid;border-radius:999px;padding:4px 9px;font-size:.76rem;font-weight:800;display:inline-flex}.project-detail-status.is-active .project-detail-status-label{color:var(--accent)}.project-detail-status.is-completed .project-detail-status-label{color:var(--success)}.project-status-badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;padding:6px 10px;font-size:.72rem;font-weight:850;line-height:1;display:inline-flex}.project-status-badge.is-active{background:color-mix(in srgb, var(--accent) 10%, transparent);border-color:color-mix(in srgb, var(--accent) 24%, transparent);color:var(--accent)}.project-status-badge.is-completed{background:color-mix(in srgb, var(--success) 12%, transparent);border-color:color-mix(in srgb, var(--success) 28%, transparent);color:var(--success)}.project-detail-status .panel-copy{margin-top:4px}.project-detail-toolbar{background:0 0;border:0;border-radius:0;align-self:end;align-items:end;gap:12px;width:100%;padding:0;display:grid}.project-detail-toolbar-actions{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.project-detail-toolbar .kanban-status-field{min-width:0;margin:0}.project-detail-toolbar .kanban-status-field select{width:100%}.project-complete-button{background:var(--success);border:1px solid color-mix(in srgb, var(--success) 70%, #000);box-shadow:0 12px 24px color-mix(in srgb, var(--success) 30%, transparent);color:#fff;min-height:var(--control-height);white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-weight:800;transition:background .16s,border-color .16s,box-shadow .16s,transform .16s;display:inline-flex}.project-complete-button:hover{background:color-mix(in srgb, var(--success) 90%, #fff);box-shadow:0 14px 28px color-mix(in srgb, var(--success) 36%, transparent);transform:translateY(-1px)}.project-complete-button.is-reopen{background:var(--surface-soft);border-color:var(--border);box-shadow:none;color:var(--text);font-weight:600}.project-complete-button.is-reopen:hover{background:var(--surface);border-color:color-mix(in srgb, var(--border) 70%, var(--text));box-shadow:none}.project-team-form{gap:16px}.project-activities-readonly-list{flex-direction:column;gap:8px;display:flex}.form-actions-inline{justify-content:flex-end;margin-top:16px;display:flex}.danger-panel{background:color-mix(in srgb, var(--danger) 4%, var(--surface));border-color:color-mix(in srgb, var(--danger) 24%, var(--border))}.danger-panel-body{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.danger-panel-copy h2{margin:0;font-size:1rem}.danger-panel-copy .panel-copy{margin-top:4px}.danger-panel .danger-button{flex-shrink:0;justify-self:start;width:auto}.danger-panel-confirm{width:100%}.table-project-cell,.manager-project-cell{align-items:flex-start;gap:10px;display:flex}.table-person-cell{gap:4px;display:grid}.inline-select-action{align-items:center;gap:8px;max-width:220px;display:inline-flex}.inline-select-action select{background:var(--surface);border:1px solid var(--border);color:var(--text);font:inherit;border-radius:10px;min-width:160px;min-height:38px;padding:0 34px 0 12px;font-weight:800}.inline-select-action select:disabled{color:var(--muted);cursor:not-allowed;opacity:.72}.contract-status-tag{border-radius:999px;width:fit-content;padding:5px 8px;font-size:.68rem;font-weight:900;line-height:1;display:inline-flex}.contract-status-tag.is-ended{background:color-mix(in srgb, var(--danger) 10%, var(--surface));border:1px solid color-mix(in srgb, var(--danger) 28%, var(--border));color:var(--danger)}.table-project-cell small,.manager-project-cell small,.table-person-cell small{color:var(--muted);font-size:.76rem;line-height:1.35;display:block}.allocation-tag{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;width:fit-content;min-height:30px;padding:8px 12px;font-size:.78rem;font-weight:800;line-height:1;display:inline-flex}.allocation-tag.is-allocated{background:color-mix(in srgb, #10b981 12%, var(--surface));border-color:color-mix(in srgb, #10b981 34%, var(--border));color:#059669}.allocation-tag.is-unallocated{background:color-mix(in srgb, #ef4444 10%, var(--surface));border-color:color-mix(in srgb, #ef4444 32%, var(--border));color:#dc2626}.chart-grid,.manager-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.chart-list,.manager-chart{gap:10px;display:grid}.chart-row,.manager-chart-row{grid-template-columns:minmax(110px,140px) minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.chart-label,.manager-chart-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chart-track,.manager-chart-track{background:#94a3b82e;border-radius:999px;height:10px;overflow:hidden}.chart-fill,.manager-chart-fill{background:var(--accent);border-radius:inherit;min-width:0;height:100%}.chart-fill.tone-success,.manager-chart-fill.tone-success{background:var(--success)}.chart-fill.tone-warning,.manager-chart-fill.tone-warning{background:var(--warning)}.chart-value,.manager-chart-value{color:var(--text);text-align:right;min-width:72px;font-size:.92rem}.line-chart-shell{gap:10px;margin-bottom:14px;display:grid}.line-chart{width:100%;max-width:100%;height:auto;max-height:158px;display:block}.line-chart-grid{stroke:#94a3b82e;stroke-width:1px}.line-chart-axis-y,.line-chart-axis-x{fill:var(--soft);font-size:10px}.line-chart-path{stroke:var(--accent);stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5px}.line-chart.tone-success .line-chart-path,.line-chart.tone-success .line-chart-point{stroke:var(--success)}.line-chart.tone-warning .line-chart-path,.line-chart.tone-warning .line-chart-point{stroke:var(--warning)}.line-chart-point{fill:var(--panel);stroke:var(--accent);stroke-width:2.5px}.line-chart.tone-success .line-chart-point{fill:var(--panel)}.line-chart-legend{flex-wrap:wrap;gap:8px;display:flex}.line-chart-legend-item{border:1px solid var(--border);background:#94a3b814;border-radius:999px;align-items:center;gap:6px;padding:4px 8px;font-size:.72rem;display:inline-flex}.line-chart-legend-item strong{color:var(--soft);font-weight:750}.line-chart-legend-item em{color:var(--text);font-style:normal;font-weight:850}.person-rate-form{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;align-content:start;gap:10px;margin-top:0;padding:12px;display:grid}.person-rate-card{gap:16px}.person-allocation-heat-card{gap:14px;overflow:visible}.person-availability-pill{--availability-tone:var(--success);background:color-mix(in srgb, var(--availability-tone) 10%, var(--surface-soft));border:1px solid color-mix(in srgb, var(--availability-tone) 28%, var(--border));border-radius:8px;flex:none;gap:3px;max-width:280px;padding:9px 12px;display:grid}.person-availability-pill.is-partial{--availability-tone:#2563eb}.person-availability-pill.is-busy{--availability-tone:var(--warning)}.person-availability-pill small{color:var(--muted);text-transform:uppercase;font-size:.68rem;font-weight:900;line-height:1}.person-availability-pill strong{color:var(--availability-tone);font-size:.86rem;font-weight:900;line-height:1.2}.person-availability-pill span{color:var(--muted);font-size:.72rem;font-weight:750;line-height:1.25}.person-allocation-heat{justify-content:space-evenly;gap:14px;width:100%;height:180px;padding:8px 2px 58px;display:flex;overflow-x:auto}.person-allocation-heat-month{color:var(--muted);text-align:center;flex-direction:column;flex:0 0 82px;align-items:center;gap:8px;min-width:82px;font-size:.72rem;font-weight:800;display:flex}.allocation-heat-orb{--heat-color:#2563eb;border:1px solid color-mix(in srgb, var(--heat-color) 34%, var(--border));border-radius:999px;outline:none;justify-content:center;align-items:center;width:58px;height:58px;display:inline-flex;position:relative}.allocation-heat-orb>span:not(.allocation-heat-tooltip){background:var(--heat-color);opacity:.16;border-radius:999px;position:absolute;inset:3px}.allocation-heat-orb>span:not(.allocation-heat-tooltip):nth-child(2){opacity:.26;inset:8px}.allocation-heat-orb>span:not(.allocation-heat-tooltip):nth-child(3){opacity:.38;inset:13px}.allocation-heat-orb>span:not(.allocation-heat-tooltip):nth-child(4){opacity:.5;inset:18px}.allocation-heat-orb>span:not(.allocation-heat-tooltip):nth-child(5){opacity:.64;inset:23px}.allocation-heat-orb>span:not(.allocation-heat-tooltip):nth-child(6){opacity:.82;inset:28px}.allocation-heat-orb strong{color:var(--text);z-index:1;font-size:.8rem;font-weight:900;line-height:1;position:relative}.allocation-heat-orb.is-empty{background:var(--surface-soft);border-color:var(--border)}.allocation-heat-orb.is-empty>span:not(.allocation-heat-tooltip){background:var(--border);opacity:.28}.allocation-heat-orb.is-empty strong{color:var(--muted)}.allocation-heat-orb.heat-level-1{--heat-color:#60a5fa}.allocation-heat-orb.heat-level-2{--heat-color:#3b82f6}.allocation-heat-orb.heat-level-3{--heat-color:#2563eb}.allocation-heat-orb.heat-level-4{--heat-color:#1d4ed8}.allocation-heat-orb.heat-level-5,.allocation-heat-orb.heat-level-6{--heat-color:#1e40af}.allocation-heat-tooltip{background:var(--text);box-shadow:var(--shadow-sm);color:var(--surface);opacity:0;pointer-events:none;visibility:hidden;z-index:5;border-radius:8px;min-width:172px;padding:8px 10px;font-size:.72rem;font-weight:900;line-height:1.2;transition:opacity .16s,transform .16s;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%,4px)}.allocation-heat-tooltip small{color:color-mix(in srgb, var(--surface) 78%, transparent);margin-top:3px;font-size:.66rem;font-weight:700;display:block}.allocation-heat-orb:hover .allocation-heat-tooltip,.allocation-heat-orb:focus .allocation-heat-tooltip{opacity:1;visibility:visible;transform:translate(-50%)}.person-allocation-heat-month:first-child .allocation-heat-tooltip{left:0;transform:translateY(4px)}.person-allocation-heat-month:last-child .allocation-heat-tooltip{left:auto;right:0;transform:translateY(4px)}.person-allocation-heat-month:first-child .allocation-heat-orb:hover .allocation-heat-tooltip,.person-allocation-heat-month:first-child .allocation-heat-orb:focus .allocation-heat-tooltip,.person-allocation-heat-month:last-child .allocation-heat-orb:hover .allocation-heat-tooltip,.person-allocation-heat-month:last-child .allocation-heat-orb:focus .allocation-heat-tooltip{transform:translate(0)}.allocation-heat-label{white-space:nowrap}.person-rate-card .panel-heading{align-items:flex-start}.person-rate-current{background:color-mix(in srgb, var(--success) 10%, var(--surface-soft));border:1px solid color-mix(in srgb, var(--success) 28%, var(--border));text-align:right;border-radius:8px;flex-shrink:0;padding:10px 14px}.person-rate-current strong{color:var(--success);margin-top:2px;font-size:1.2rem;line-height:1.2;display:block}.person-rate-current small{color:var(--muted);text-transform:uppercase;font-size:.68rem;font-weight:800;display:block}.person-rate-body{grid-template-columns:minmax(0,1.5fr) minmax(240px,320px);align-items:stretch;gap:14px;display:grid}.person-rate-chart .line-chart-shell{margin-bottom:0}.person-rate-form-title{color:var(--muted);letter-spacing:.02em;text-transform:uppercase;font-size:.68rem;font-weight:900}.person-rate-form .primary-button{justify-self:start;width:auto}@media (width<=720px){.person-profile-form,.person-contract-form{grid-template-columns:1fr}.person-profile-form>label:first-child,.person-profile-form>label:nth-child(2),.person-profile-form .modal-actions,.person-contract-form .modal-actions{grid-column:auto}.person-contract-dates{grid-template-columns:1fr}}.person-rate-history{border-top:1px solid var(--border);gap:10px;padding-top:14px;display:grid}.person-rate-history-title{color:var(--soft);letter-spacing:.02em;text-transform:uppercase;font-size:.72rem;font-weight:900}.person-rate-history .data-table{min-width:0}.table-icon-actions{justify-content:flex-end;gap:6px;display:flex}.icon-button-danger{color:var(--danger)}.icon-button-danger:hover{background:color-mix(in srgb, var(--danger) 12%, transparent);border-color:color-mix(in srgb, var(--danger) 28%, transparent);color:var(--danger)}.dashboard-filters{flex-wrap:wrap;justify-content:flex-end;align-items:end;gap:10px;display:flex}.dashboard-filters.is-start{justify-content:flex-start}.dashboard-filters-clear:not(.is-visible){opacity:0;pointer-events:none}.screen-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 14px;display:flex}.screen-toolbar .segment-nav{flex:0 auto}.screen-toolbar .dashboard-filters{flex:420px;justify-content:flex-end}.dashboard-panel-wide{margin-bottom:2px}.legend-dot{border-radius:999px;width:10px;height:10px;margin-right:6px;display:inline-block}.legend-dot.tone-success{background:var(--success)}.legend-dot.tone-warning{background:var(--warning)}.legend-dot.tone-accent{background:var(--accent)}.monthly-chart,.hours-trend-chart,.financial-breakdown{gap:14px;display:grid}.monthly-chart-legend,.financial-breakdown-list{flex-wrap:wrap;gap:10px 18px;display:flex}.monthly-chart-projection-note{color:var(--muted);font-size:.78rem}.monthly-chart-plot,.hours-trend-plot{grid-template-columns:repeat(auto-fit,minmax(54px,1fr));align-items:end;gap:10px;min-height:220px;padding-bottom:4px;display:grid;overflow-x:auto}.monthly-chart-column,.hours-trend-column{place-items:center;gap:8px;min-width:54px;display:grid}.monthly-chart-column.is-projection,.hours-trend-column.is-projection{opacity:.72}.monthly-chart-bars{grid-template-columns:repeat(3,10px);align-items:end;gap:4px;width:100%;height:160px;display:grid}.monthly-chart-bar{background:var(--accent);border-radius:999px 999px 4px 4px;width:100%;min-height:0}.monthly-chart-bar.tone-success{background:var(--success)}.monthly-chart-bar.tone-warning{background:var(--warning)}.monthly-chart-column.is-projection .monthly-chart-bar,.hours-trend-column.is-projection .hours-trend-fill{background-image:repeating-linear-gradient(-45deg, transparent, transparent 4px, color-mix(in srgb, currentColor 18%, transparent) 4px, color-mix(in srgb, currentColor 18%, transparent) 8px)}.monthly-chart-column small,.hours-trend-column small{color:var(--muted);text-transform:lowercase;font-size:.72rem}.monthly-chart-column strong,.hours-trend-column strong{font-size:.78rem}.hours-trend-track{background:#94a3b82e;border-radius:10px;justify-content:center;align-items:end;width:18px;height:160px;display:flex;overflow:hidden}.hours-trend-fill{background:var(--accent);border-radius:10px 10px 4px 4px;width:100%;min-height:0}.financial-breakdown-stack{background:#94a3b82e;border-radius:999px;width:100%;height:18px;display:flex;overflow:hidden}.financial-breakdown-segment{min-width:0;height:100%;display:block}.financial-breakdown-segment.tone-success{background:var(--success)}.financial-breakdown-segment.tone-warning{background:var(--warning)}.financial-breakdown-segment.tone-accent{background:var(--accent)}.financial-breakdown-row{justify-content:space-between;align-items:center;min-width:min(100%,280px);display:flex}.financial-breakdown-row span{align-items:center;gap:2px;display:inline-flex}.finance-dual-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.finance-breakdown-list-panel{gap:16px;display:grid}.finance-breakdown-total{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;padding-bottom:12px;display:flex}.finance-breakdown-total span{color:var(--muted);text-transform:uppercase;font-size:.82rem;font-weight:700}.finance-breakdown-total strong{font-size:1.5rem}.finance-breakdown-total.tone-success strong{color:var(--success)}.finance-breakdown-total.tone-warning strong{color:var(--warning)}.finance-breakdown-total.tone-accent strong{color:var(--accent)}.kanban-column[data-tone=budget] .kanban-column-header{border-top:3px solid var(--muted)}.kanban-column[data-tone=wait] .kanban-column-header{border-top:3px solid var(--warning)}.kanban-column[data-tone=prep] .kanban-column-header,.kanban-column[data-tone=dev] .kanban-column-header{border-top:3px solid var(--accent)}.kanban-column[data-tone=done] .kanban-column-header{border-top:3px solid var(--success)}.kanban-column[data-tone=paid] .kanban-column-header{border-top:3px solid var(--accent-2)}.finance-breakdown-rows,.finance-dre-list{gap:10px;display:grid}.finance-breakdown-detail-row,.finance-dre-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.finance-breakdown-detail-row span,.finance-dre-row span{color:var(--text);gap:2px;display:grid}.finance-breakdown-detail-row small{color:var(--muted);font-size:.76rem}.finance-breakdown-detail-row strong,.finance-dre-row strong{white-space:nowrap;font-size:.95rem}.finance-dre-row.emphasis{border-top:1px solid var(--border);margin-top:4px;padding-top:12px}.finance-dre-row.emphasis strong{color:var(--accent);font-size:1.05rem}.payment-status-badge{letter-spacing:.02em;text-transform:uppercase;border-radius:999px;padding:4px 10px;font-size:.72rem;font-weight:800;display:inline-flex}.payment-status-badge.pending{background:color-mix(in srgb, var(--warning) 16%, transparent);color:var(--warning)}.payment-status-badge.paid{background:color-mix(in srgb, var(--success) 16%, transparent);color:var(--success)}.payment-table-actions{flex-wrap:wrap;gap:8px;display:flex}.invoice-file-cell{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.invoice-file-cell span{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.search-field,.manager-search-field{background:var(--surface);border:1px solid var(--border);min-height:var(--control-height);border-radius:8px;align-items:center;gap:10px;min-width:min(360px,100%);padding:0 12px;display:flex}.search-field svg,.manager-search-field svg{color:var(--accent);flex-shrink:0}.search-field input,.manager-search-field input{min-height:calc(var(--control-height) - 2px);background:0 0;border:0;width:100%;padding:0}.segment-nav,.person-tab-nav{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px;padding:6px;display:flex}.segment-nav button,.person-tab-nav button{box-sizing:border-box;color:var(--muted);height:var(--control-height);background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;display:inline-flex}.segment-nav button.active,.person-tab-nav button.active{background:var(--surface);border-color:var(--border);color:var(--text);box-shadow:var(--shadow)}.people-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.people-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);text-align:left;border-radius:8px;align-items:flex-start;gap:14px;padding:14px;transition:border-color .16s,transform .16s;display:flex}.people-card:hover{border-color:var(--border-strong);transform:translateY(-1px)}.people-card-body{gap:4px;display:grid}.people-card-body small,.people-card-body em,.people-card-body span{color:var(--muted);display:block}.people-card-icon{background:var(--surface-soft);border:1px solid var(--border);color:var(--accent);border-radius:8px;flex-shrink:0;place-items:center;width:42px;height:42px;display:grid}.approval-list{gap:12px;display:grid}.approval-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:14px;display:flex}.approval-card small{color:var(--muted);display:block}.approval-actions{flex-wrap:wrap;gap:8px;display:flex}.nav-badge{background:var(--danger);color:#fff;text-align:center;border-radius:999px;min-width:20px;margin-left:auto;padding:2px 6px;font-size:.72rem;font-style:normal;font-weight:700}.notification-panel{position:relative}.notification-rail-drawer{background:var(--rail);color:#e5edf7;z-index:6;grid-template-rows:auto 1fr;padding:20px;transition:transform .24s cubic-bezier(.4,0,.2,1);display:grid;position:absolute;inset:0;transform:translate(100%)}.notification-rail-drawer.open{transform:translate(0)}.notification-rail-drawer-header{border-bottom:1px solid #ffffff14;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:12px;display:grid}.notification-rail-drawer-header strong{display:block}.notification-rail-drawer-header small{color:#94a3b8;font-size:.75rem;display:block}.notification-rail-list{min-height:0;overflow-y:auto}.notification-rail-drawer .notification-item{color:#e5edf7;background:#ffffff0d;border-color:#ffffff14}.notification-rail-drawer .notification-item.unread{border-color:#93c5fd59}.notification-rail-drawer .notification-item small{color:#94a3b8}.notification-trigger{position:relative}.notification-badge{background:var(--danger);color:#fff;border-radius:999px;place-items:center;min-width:18px;height:18px;font-size:.68rem;font-weight:700;display:grid;position:absolute;top:-4px;right:-4px}.notification-dropdown{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);z-index:30;border-radius:8px;gap:10px;width:min(360px,80vw);max-height:420px;padding:12px;display:grid;position:absolute;top:calc(100% + 8px);right:0;overflow:auto}.notification-dropdown-header{justify-content:space-between;align-items:center;display:flex}.notification-list{flex-direction:column;gap:8px;display:flex}.notification-item{background:var(--surface-soft);border:1px solid var(--border);text-align:left;border-radius:8px;grid-template-columns:minmax(0,1fr) 34px;align-items:start;gap:8px;height:120px;padding:10px;display:grid}.notification-item-content{color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;align-content:start;gap:4px;min-width:0;padding:0;display:grid}.notification-item.unread{border-color:var(--border-strong)}.notification-item-content strong,.notification-item-content span,.notification-item small{text-overflow:ellipsis;overflow:hidden}.notification-item-content span{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.notification-item small{color:var(--muted)}.notification-delete-button{width:34px;height:34px}.dev-allocation-section{gap:12px;display:grid}.dev-allocation-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.dev-allocation-header small{color:var(--muted);margin-top:4px;line-height:1.4;display:block}.dev-allocation-picker{z-index:2;gap:0;display:grid;position:relative}.dev-allocation-picker.is-open .search-field{border-color:color-mix(in srgb, var(--accent) 40%, var(--border));box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent);border-bottom-right-radius:0;border-bottom-left-radius:0}.dev-allocation-picker .search-field{z-index:2;width:100%;min-width:0;position:relative}.dev-picker-dropdown{background:var(--surface);border:1px solid color-mix(in srgb, var(--accent) 28%, var(--border));border-top:none;border-radius:0 0 10px 10px;gap:6px;max-height:280px;margin-top:-1px;padding:8px;display:grid;overflow-y:auto;box-shadow:0 16px 36px #0f172a24}.dev-picker-card{background:color-mix(in srgb, var(--text) 12%, var(--surface));border:1px solid color-mix(in srgb, var(--text) 18%, var(--border));color:var(--text);cursor:pointer;text-align:left;border-radius:8px;align-items:center;gap:12px;width:100%;padding:12px;transition:background .16s,border-color .16s,box-shadow .16s,transform .16s;display:flex}.dev-picker-card:hover,.dev-picker-card:focus-visible{background:color-mix(in srgb, var(--accent) 8%, var(--surface));border-color:color-mix(in srgb, var(--accent) 42%, var(--border));box-shadow:var(--shadow);outline:none;transform:translateY(-1px)}.dev-picker-card-icon{background:color-mix(in srgb, var(--accent) 12%, var(--surface-soft));border:1px solid color-mix(in srgb, var(--accent) 24%, var(--border));color:var(--accent);border-radius:10px;flex-shrink:0;place-items:center;width:42px;height:42px;display:grid}.dev-picker-card-body{flex:auto;gap:2px;min-width:0;display:grid}.dev-picker-card-body strong{color:var(--text);font-size:.9rem}.dev-picker-card-body small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.dev-picker-card-body em{color:var(--success);font-size:.78rem;font-style:normal;font-weight:800}.dev-picker-card-action{background:color-mix(in srgb, var(--accent) 10%, var(--surface));border:1px solid color-mix(in srgb, var(--accent) 24%, var(--border));color:var(--accent);border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:6px 10px;font-size:.72rem;font-weight:800;transition:background .16s,color .16s;display:inline-flex}.dev-picker-card:hover .dev-picker-card-action{background:var(--accent);border-color:var(--accent);color:#fff}.dev-picker-empty{color:var(--muted);margin:0;padding:8px 4px;font-size:.84rem}.dev-allocation-list{gap:12px;display:grid}.dev-allocation-card{background:var(--surface-soft);border:1px solid var(--border);border-radius:10px;grid-template-columns:minmax(0,1.4fr) minmax(140px,200px) auto;align-items:end;gap:12px;padding:14px;display:grid}.dev-allocation-card.has-billing-rate{grid-template-columns:minmax(0,1.25fr) minmax(120px,160px) minmax(140px,180px) auto}.role-billing-card{gap:18px;display:grid}.role-billing-header{align-items:center;gap:12px;display:flex}.role-billing-header strong{color:var(--text);font-size:1rem;display:block}.role-billing-header small{color:var(--muted);margin-top:3px;font-size:.82rem;line-height:1.4;display:block}.role-billing-icon{background:color-mix(in srgb, var(--success) 12%, var(--surface));border:1px solid color-mix(in srgb, var(--success) 28%, var(--border));color:var(--success);border-radius:10px;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.role-billing-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.role-billing-grid label{color:var(--muted);gap:7px;font-size:.78rem;font-weight:800;display:grid}.role-billing-grid input{color:var(--text);font-size:.9rem;font-weight:800}.dev-allocation-identity{align-items:center;gap:12px;min-width:0;display:flex}.dev-allocation-avatar{background:color-mix(in srgb, var(--accent) 10%, var(--surface));border:1px solid color-mix(in srgb, var(--accent) 22%, var(--border));color:var(--accent);border-radius:10px;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.dev-allocation-identity strong{color:var(--text);font-size:.92rem;display:block}.dev-allocation-identity small{color:var(--muted);font-size:.75rem;display:block}.dev-allocation-rate{color:var(--success);margin-top:2px;font-size:.78rem;font-weight:800;display:block}.dev-allocation-remove{background:color-mix(in srgb, var(--danger) 8%, var(--surface));border:1px solid color-mix(in srgb, var(--danger) 30%, var(--border));color:var(--danger);height:var(--control-height);border-radius:8px;flex-shrink:0;align-self:end;align-items:center;gap:6px;padding:0 12px;font-size:.78rem;font-weight:800;transition:background .16s,border-color .16s,color .16s,transform .16s;display:inline-flex}.dev-allocation-remove:hover{background:var(--danger);border-color:var(--danger);color:#fff;transform:translateY(-1px)}.dev-allocation-section.is-compact{gap:10px}.dev-allocation-section.is-compact .dev-allocation-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.dev-allocation-section.is-compact .dev-allocation-header-copy strong{letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:800}.dev-allocation-add-button{min-height:34px;padding:6px 10px}.dev-allocation-empty-hint{color:var(--muted);margin:0;padding:2px 0;font-size:.8rem}.dev-allocation-table{gap:0;display:grid}.dev-allocation-table-head{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;flex-direction:column;align-items:flex-end;gap:8px;width:100%;padding:0 80px 0 4px;font-size:.72rem;font-weight:700;display:flex}.dev-allocation-table.has-billing-rate .dev-allocation-table-head{text-align:right;grid-template-columns:minmax(0,1fr) 88px 110px 34px;padding-right:4px;display:grid}.dev-allocation-table.has-billing-rate .dev-allocation-table-head span:first-child{grid-column:2}.dev-allocation-row{border:0;border-top:1px solid color-mix(in srgb, var(--text) 7%, var(--border));background:0 0;border-radius:0;grid-template-columns:minmax(0,1fr) 88px 34px;align-items:center;gap:8px;padding:10px 4px;display:grid}.dev-allocation-row.has-billing-rate{grid-template-columns:minmax(0,1fr) 88px 110px 34px}.dev-allocation-table-head+.dev-allocation-row{border-top:0}.dev-allocation-row-identity{align-items:center;gap:10px;min-width:0;display:flex}.dev-allocation-row-identity strong{text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;display:block;overflow:hidden}.dev-allocation-row-identity small{color:var(--muted);font-size:.72rem;display:block}.dev-allocation-row .dev-allocation-avatar{width:32px;height:32px}.dev-allocation-hours-field{gap:0;display:grid}.dev-allocation-hours-field input{text-align:right;min-height:34px;padding:6px 8px}.dev-allocation-row-remove{border:1px solid var(--border);color:var(--muted);background:0 0;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.dev-allocation-row-remove:hover{background:color-mix(in srgb, var(--danger) 12%, var(--surface));border-color:color-mix(in srgb, var(--danger) 40%, var(--border));color:var(--danger)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.project-activities-section{gap:14px;display:grid}.project-activities-panel{background:color-mix(in srgb, var(--surface) 92%, #020617);border-color:color-mix(in srgb, var(--text) 8%, var(--border));border-radius:12px}.project-comments-panel{gap:16px;display:grid}.project-comments-drawer-content{flex-direction:column;gap:16px;min-height:100%;display:flex}.project-comments-drawer-copy{margin:0}.project-comments-trigger{position:relative}.project-comments-trigger-badge{background:var(--accent);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:1.35rem;padding:.2rem .45rem;font-size:.72rem;font-weight:700;line-height:1;display:inline-flex}.contributor-project-drawer{gap:22px;display:grid}.contributor-project-drawer-hero{gap:10px;display:grid}.contributor-project-drawer-title{align-items:flex-start;gap:12px;display:flex}.contributor-project-drawer-title strong{font-size:1.05rem;display:block}.contributor-project-drawer-title small{color:var(--muted);margin-top:4px;font-size:.82rem;display:block}.contributor-project-drawer-section{gap:12px;display:grid}.contributor-project-owner-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.contributor-project-owner-card{background:color-mix(in srgb, var(--surface) 94%, #020617);border:1px solid color-mix(in srgb, var(--text) 8%, var(--border));border-radius:12px;gap:6px;padding:12px 14px;display:grid}.contributor-project-owner-card span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:700}.kpi-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.project-comments-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.project-comments-count{background:color-mix(in srgb, var(--accent) 12%, var(--surface));border:1px solid color-mix(in srgb, var(--accent) 24%, var(--border));color:var(--accent);border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:.82rem;font-weight:700;display:inline-flex}.project-comment-form textarea,.project-comment-edit textarea{resize:vertical;width:100%;min-height:108px}.project-comments-list{gap:12px;display:grid}.project-comment-card{background:color-mix(in srgb, var(--surface) 94%, #020617);border:1px solid color-mix(in srgb, var(--text) 8%, var(--border));border-radius:12px;gap:10px;padding:14px 16px;display:grid}.project-comment-card-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.project-comment-card-header strong{font-size:.95rem;display:block}.project-comment-card-header small{color:var(--muted);margin-top:4px;font-size:.78rem;line-height:1.45;display:block}.project-comment-edited{color:color-mix(in srgb, var(--accent) 70%, var(--muted));font-style:normal;font-weight:600}.project-comment-body{color:var(--text);white-space:pre-wrap;margin:0;font-size:.92rem;line-height:1.55}.project-comment-actions{gap:4px;display:inline-flex}.project-comment-edit{gap:10px;display:grid}.project-comment-replies{border-left:2px solid color-mix(in srgb, var(--accent) 24%, var(--border));gap:10px;margin-left:10px;padding-left:12px;display:grid}.project-comment-card.is-reply{background:color-mix(in srgb, var(--surface) 98%, var(--accent))}.project-comment-reply-form{gap:10px;display:grid}.project-comment-reply-form textarea{resize:vertical;width:100%;min-height:84px}.project-activities-summary{border:0;border-bottom:1px solid color-mix(in srgb, var(--text) 8%, var(--border));background:0 0;border-radius:0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:0 0 12px;display:flex}.project-activities-summary-copy strong{font-size:.92rem;display:block}.project-activities-summary-copy small{color:var(--soft);margin-top:2px;font-size:.78rem;line-height:1.35;display:block}.project-activities-totals{flex-wrap:wrap;gap:8px;display:flex}.project-activities-total-pill{background:color-mix(in srgb, var(--text) 4%, transparent);color:var(--muted);border:0;border-radius:999px;padding:5px 10px;font-size:.74rem}.project-activities-total-pill strong{color:var(--text);margin-left:4px;font-size:.74rem}.project-activities-total-pill.is-project{border-color:color-mix(in srgb, var(--accent) 34%, var(--border));color:var(--soft)}.project-activities-total-pill.is-project strong{color:var(--accent)}.project-activities-list{gap:14px;display:grid}.project-activity-card{--activity-card-accent:var(--accent);background:color-mix(in srgb, var(--text) 3%, transparent);border:0;border-left:4px solid var(--activity-card-accent);box-shadow:none;border-radius:10px;display:grid;overflow:hidden}.project-activity-card.activity-status-not-started{--activity-card-accent:#94a3b8}.project-activity-card.activity-status-in-progress{--activity-card-accent:#3b82f6}.project-activity-card.activity-status-pending-deploy{--activity-card-accent:#f59e0b}.project-activity-card.activity-status-completed{--activity-card-accent:#22c55e}.project-activity-card.activity-color-0,.project-activity-readonly-card.activity-color-0{--activity-card-accent:#3b82f6}.project-activity-card.activity-color-1,.project-activity-readonly-card.activity-color-1{--activity-card-accent:#14b8a6}.project-activity-card.activity-color-2,.project-activity-readonly-card.activity-color-2{--activity-card-accent:#a855f7}.project-activity-card.activity-color-3,.project-activity-readonly-card.activity-color-3{--activity-card-accent:#f59e0b}.project-activity-card.activity-color-4,.project-activity-readonly-card.activity-color-4{--activity-card-accent:#ef4444}.project-activity-card.activity-color-5,.project-activity-readonly-card.activity-color-5{--activity-card-accent:#22c55e}.project-activity-card-header{border-bottom:1px solid color-mix(in srgb, var(--text) 7%, var(--border));background:0 0;grid-template-columns:auto auto minmax(0,1fr) minmax(86px,110px) minmax(150px,190px) auto auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.project-activity-index{border:1px solid color-mix(in srgb, var(--activity-card-accent) 42%, var(--border));color:var(--activity-card-accent);background:0 0;border-radius:999px;place-items:center;width:28px;height:28px;font-size:.78rem;font-weight:800;display:grid}.project-activity-card-icon{background:color-mix(in srgb, var(--activity-card-accent) 14%, var(--surface-soft));border:1px solid color-mix(in srgb, var(--activity-card-accent) 28%, var(--border));color:var(--activity-card-accent);border-radius:8px;flex-shrink:0;place-items:center;width:34px;height:34px;display:grid}.project-activity-fields{min-width:0;display:contents}.project-activity-name-field,.project-activity-hours-field,.project-activity-status-field{gap:4px;min-width:0;display:grid}.project-activity-name-field span,.project-activity-hours-field span,.project-activity-status-field span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.7rem;font-weight:700}.project-activity-name-field input,.project-activity-hours-field input,.project-activity-status-field select{min-height:36px;padding:7px 10px}.project-activity-name-field input{background:var(--surface);border:1px solid color-mix(in srgb, var(--activity-card-accent) 22%, var(--border));font-weight:800}.project-activity-hours-field input,.project-activity-status-field select,.dev-allocation-hours-field input{background:var(--surface);border:1px solid color-mix(in srgb, var(--text) 14%, var(--border))}.project-activity-status-select,.project-activity-status-pill{--activity-status-bg:color-mix(in srgb, var(--muted) 12%, transparent);--activity-status-border:color-mix(in srgb, var(--muted) 32%, var(--border));--activity-status-color:var(--muted);background:var(--activity-status-bg);border-color:var(--activity-status-border);color:var(--activity-status-color);font-weight:800}.entry-modal-context{background:color-mix(in srgb, var(--accent) 6%, var(--surface));border:1px solid color-mix(in srgb, var(--accent) 28%, var(--border));border-radius:10px;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) auto;gap:10px;padding:12px;display:grid}.entry-modal-context label{gap:6px;display:grid}.entry-modal-context label>span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:800}.entry-modal-activity-pill{background:var(--activity-status-bg);border:1px solid var(--activity-status-border);color:var(--activity-status-color);text-transform:uppercase;white-space:nowrap;border-radius:999px;place-self:end start;min-height:36px;padding:9px 12px;font-size:.72rem;font-weight:900}.entry-description-stack{gap:4px;display:grid}.entry-activity-label{color:var(--accent);align-items:center;gap:5px;font-size:.75rem;font-weight:800;display:inline-flex}.entry-activity-label:before{content:"";background:currentColor;border-radius:999px;width:6px;height:6px}.activity-status-not-started{--activity-status-bg:color-mix(in srgb, #94a3b8 14%, var(--surface));--activity-status-border:color-mix(in srgb, #94a3b8 44%, var(--border));--activity-status-color:#cbd5e1}.activity-status-in-progress{--activity-status-bg:color-mix(in srgb, #3b82f6 18%, var(--surface));--activity-status-border:color-mix(in srgb, #3b82f6 54%, var(--border));--activity-status-color:#93c5fd}.activity-status-pending-deploy{--activity-status-bg:color-mix(in srgb, #f59e0b 18%, var(--surface));--activity-status-border:color-mix(in srgb, #f59e0b 54%, var(--border));--activity-status-color:#fcd34d}.activity-status-completed{--activity-status-bg:color-mix(in srgb, #22c55e 18%, var(--surface));--activity-status-border:color-mix(in srgb, #22c55e 54%, var(--border));--activity-status-color:#86efac}.theme-light .activity-status-not-started{--activity-status-bg:#f0f1f3;--activity-status-border:color-mix(in srgb, #64748b 28%, var(--border));--activity-status-color:#334155}.theme-light .activity-status-in-progress{--activity-status-bg:#e9effd;--activity-status-border:color-mix(in srgb, #2563eb 30%, var(--border));--activity-status-color:#1d4ed8}.theme-light .activity-status-pending-deploy{--activity-status-bg:#faefe1;--activity-status-border:color-mix(in srgb, #d97706 32%, var(--border));--activity-status-color:#92400e}.theme-light .activity-status-completed{--activity-status-bg:#e6f5f0;--activity-status-border:color-mix(in srgb, #059669 30%, var(--border));--activity-status-color:#047857}.project-activity-hours-field input{text-align:right}.project-activity-meta{place-items:end;gap:2px;min-width:72px;display:grid}.project-activity-dev-count{color:var(--muted);font-size:.72rem;font-weight:700}.project-activity-balance{color:var(--success);white-space:nowrap;font-size:.72rem;font-weight:800}.project-activity-balance.is-over{color:var(--danger)}.project-activity-balance.is-even{color:var(--accent)}.project-activity-remove{border:1px solid var(--border);color:var(--muted);background:0 0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.project-activity-remove:hover{background:color-mix(in srgb, var(--danger) 12%, var(--surface));border-color:color-mix(in srgb, var(--danger) 40%, var(--border));color:var(--danger)}.project-activity-body{background:0 0;padding:12px 14px 14px}.project-activity-add{justify-self:start}.project-activities-readonly{gap:12px;display:grid}.project-activity-readonly-card{--activity-card-accent:var(--accent);background:var(--surface-soft);border:0;border-left:4px solid var(--activity-card-accent);border-radius:10px;gap:8px;padding:12px 14px;display:grid}.project-activity-readonly-card header{justify-content:space-between;align-items:center;gap:12px;display:flex}.project-activity-readonly-card header div{gap:3px;display:grid}.project-activity-readonly-card header small{border:1px solid var(--activity-status-border);color:var(--activity-status-color);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;justify-self:start;padding:3px 8px;font-size:.72rem;font-weight:800}.currency-field{align-items:center;gap:8px;display:flex}.person-back-button{margin-bottom:8px}label textarea{background:var(--surface);border:1px solid var(--border);resize:vertical;border-radius:8px;width:100%;min-height:96px;padding:10px 12px}.kanban-screen{flex-direction:column;gap:16px;height:calc(100dvh - 44px);min-height:0;max-height:calc(100dvh - 44px);display:flex;overflow:hidden}.kanban-screen .page-header{flex-shrink:0}.kanban-board{scrollbar-gutter:stable;overscroll-behavior:contain;touch-action:pan-x pan-y;flex:auto;align-items:stretch;gap:12px;min-height:0;padding-bottom:10px;display:flex;overflow:auto}.kanban-board::-webkit-scrollbar{height:8px}.kanban-board::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--muted) 45%, transparent);border-radius:999px}.kanban-column{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;flex-direction:column;flex:0 0 280px;align-self:stretch;width:280px;min-height:0;display:flex}.kanban-column.drag-over{border-color:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 40%, transparent)}.kanban-column-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:10px;padding:12px;display:flex}.kanban-column-header strong{font-size:.92rem;display:block}.kanban-column-header small{color:var(--muted);margin-top:4px;font-size:.72rem;line-height:1.35;display:block}.kanban-column-header em{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:999px;flex-shrink:0;min-width:24px;padding:2px 8px;font-size:.75rem;font-style:normal;font-weight:700}.kanban-column-tools{flex-shrink:0;align-items:center;gap:6px;display:flex}.screen-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.export-actions-inline{align-items:center;gap:4px;display:inline-flex}.export-actions-inline.is-compact .export-action-button{width:28px;min-width:28px;height:28px;padding:0}.export-action-button{color:var(--muted)}.export-action-button:hover{color:var(--text)}.page-header-actions .export-actions-inline{margin-right:4px}.kanban-column-body{overscroll-behavior-x:auto;overscroll-behavior-y:contain;flex-direction:column;flex:auto;gap:10px;min-height:0;padding:12px;display:flex;overflow:hidden auto}.kanban-column-body::-webkit-scrollbar{width:6px}.kanban-column-body::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--muted) 40%, transparent);border-radius:999px}.kanban-empty{color:var(--muted);text-align:center;padding:12px 0;font-size:.82rem}.kanban-card{background:var(--surface);border:1px solid var(--border);cursor:grab;text-align:left;border-radius:8px;gap:10px;padding:12px;transition:border-color .15s,transform .15s;display:grid}.kanban-card:hover{border-color:var(--border-strong)}.kanban-card.dragging{opacity:.55}.kanban-card-heading{align-items:flex-start;gap:10px;display:flex}.kanban-card-heading strong{font-size:.88rem;line-height:1.25;display:block}.kanban-card-heading small{color:var(--muted);font-size:.75rem;display:block}.kanban-card-meta{color:var(--muted);flex-wrap:wrap;gap:8px;font-size:.72rem;display:flex}.kanban-status-field{min-width:180px}.calendar-screen{gap:18px}.calendar-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.calendar-summary-card{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--primary);box-shadow:var(--shadow-sm);border-radius:8px;align-items:center;gap:12px;padding:14px 16px;display:flex}.calendar-summary-card.is-warning{border-left-color:var(--warning)}.calendar-summary-card svg{background:color-mix(in srgb, var(--primary) 10%, var(--surface-soft));border:1px solid color-mix(in srgb, var(--primary) 22%, var(--border));color:var(--primary);border-radius:8px;flex:none;width:36px;height:36px;padding:8px}.calendar-summary-card.is-warning svg{background:color-mix(in srgb, var(--warning) 10%, var(--surface-soft));border-color:color-mix(in srgb, var(--warning) 26%, var(--border));color:var(--warning)}.calendar-summary-card>span{gap:3px;min-width:0;display:grid}.calendar-summary-card small{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:900}.calendar-summary-card strong{color:var(--text);font-size:1.55rem;font-weight:900;line-height:1}.calendar-summary-card em{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-style:normal;font-weight:750;overflow:hidden}.calendar-workspace{grid-template-columns:minmax(0,1fr) minmax(300px,360px);align-items:start;gap:16px;display:grid}.delivery-calendar-card{gap:16px}.delivery-calendar-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.delivery-calendar-toolbar h2{color:var(--text);text-transform:capitalize;margin:2px 0 0;font-size:1.34rem;font-weight:900}.delivery-calendar-actions{align-items:center;gap:8px;display:flex}.delivery-schedule-chart{background:linear-gradient(180deg, color-mix(in srgb, var(--surface-soft) 82%, var(--surface)), var(--surface));border:1px solid var(--border);border-radius:8px;gap:12px;padding:14px;display:grid;overflow-x:auto}.delivery-schedule-heading{justify-content:space-between;align-items:end;gap:12px;min-width:760px;display:flex}.delivery-schedule-heading strong{color:var(--text);margin-top:2px;font-size:1rem;font-weight:900;display:block}.delivery-schedule-meta{justify-items:end;gap:5px;display:grid}.delivery-schedule-meta small{color:var(--muted);font-size:.76rem;font-weight:800}.delivery-schedule-meta span{background:color-mix(in srgb, var(--primary) 9%, var(--surface));border:1px solid color-mix(in srgb, var(--primary) 24%, var(--border));color:var(--primary);border-radius:999px;padding:3px 8px;font-size:.68rem;font-weight:900}.delivery-schedule-scale{grid-template-columns:180px minmax(520px,1fr);min-width:760px;display:grid;position:relative}.delivery-schedule-scale:after{background:repeating-linear-gradient(to right, transparent 0, transparent calc(25% - 1px), color-mix(in srgb, var(--border) 86%, transparent) calc(25% - 1px), color-mix(in srgb, var(--border) 86%, transparent) 25%);content:"";grid-column:2;height:12px}.delivery-schedule-scale span{color:var(--muted);left:var(--tick-left);grid-column:2;font-size:.68rem;font-weight:850;position:absolute;top:0;transform:translate(-50%)}.delivery-schedule-list{gap:9px;min-width:760px;display:grid}.delivery-schedule-row{appearance:none;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:180px minmax(520px,1fr);gap:10px;min-height:38px;padding:0;display:grid}.delivery-schedule-label{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;min-width:0;display:grid}.delivery-schedule-label strong,.delivery-schedule-label small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.delivery-schedule-label strong{color:var(--text);font-size:.78rem;font-weight:900}.delivery-schedule-label small{color:var(--muted);font-size:.64rem;font-weight:750}.delivery-schedule-track{background:repeating-linear-gradient(to right, transparent 0, transparent calc(25% - 1px), color-mix(in srgb, var(--border) 86%, transparent) calc(25% - 1px), color-mix(in srgb, var(--border) 86%, transparent) 25%);border-radius:999px;align-self:center;height:28px;position:relative}.delivery-schedule-bar{background:linear-gradient(90deg, color-mix(in srgb, var(--project-color,var(--primary)) 86%, #fff), var(--project-color,var(--primary)));box-shadow:0 5px 14px color-mix(in srgb, var(--project-color,var(--primary)) 22%, transparent);color:#fff;height:18px;left:var(--bar-start);min-width:42px;width:var(--bar-span);border-radius:999px;justify-content:flex-end;align-items:center;padding:0 8px;display:inline-flex;position:absolute;top:5px}.delivery-schedule-bar.is-completed{opacity:.72}.delivery-schedule-bar em{font-size:.64rem;font-style:normal;font-weight:900;line-height:1}.delivery-schedule-row:hover .delivery-schedule-bar{box-shadow:0 0 0 2px color-mix(in srgb, var(--project-color,var(--primary)) 28%, transparent)}.delivery-calendar-grid{background:var(--border);border:1px solid var(--border);border-radius:8px;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.delivery-calendar-weekday{background:color-mix(in srgb, var(--surface-soft) 78%, var(--surface));color:var(--muted);text-align:center;text-transform:uppercase;padding:10px 8px;font-size:.72rem;font-weight:900}.delivery-calendar-day{background:var(--surface);grid-template-rows:auto 1fr;gap:8px;min-height:148px;padding:10px;display:grid}.delivery-calendar-day.is-muted{background:color-mix(in srgb, var(--surface-soft) 62%, var(--surface))}.delivery-calendar-day.is-today{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--primary) 42%, transparent)}.delivery-calendar-day.has-deliveries{background:linear-gradient(180deg, color-mix(in srgb, var(--primary) 4%, var(--surface)), var(--surface))}.delivery-calendar-day-header{justify-content:space-between;align-items:center;display:flex}.delivery-calendar-day-header strong{color:var(--text);font-size:.9rem;font-weight:900}.delivery-calendar-day-header span{background:color-mix(in srgb, var(--primary) 12%, var(--surface-soft));border:1px solid color-mix(in srgb, var(--primary) 30%, var(--border));color:var(--primary);border-radius:999px;padding:2px 6px;font-size:.64rem;font-weight:900}.delivery-calendar-deliveries{align-content:start;gap:6px;display:grid}.delivery-calendar-project,.delivery-agenda-item{appearance:none;background:var(--surface);border:1px solid var(--border);color:inherit;cursor:pointer;font:inherit;text-align:left;border-radius:8px}.delivery-calendar-project{background:color-mix(in srgb, var(--primary) 4%, var(--surface));grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;min-width:0;padding:7px;display:grid}.delivery-calendar-project:hover,.delivery-agenda-item:hover{border-color:color-mix(in srgb, var(--primary) 34%, var(--border));box-shadow:var(--shadow-sm)}.delivery-calendar-project.is-completed{opacity:.72}.delivery-calendar-project span{min-width:0}.delivery-calendar-project strong,.delivery-calendar-project small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.delivery-calendar-project strong{color:var(--text);font-size:.72rem;font-weight:900}.delivery-calendar-project small{color:var(--muted);font-size:.64rem;font-weight:750}.delivery-calendar-more{color:var(--primary);padding-left:4px;font-size:.68rem;font-weight:900}.delivery-agenda-panel{gap:14px;position:sticky;top:18px}.delivery-agenda-list{gap:8px;display:grid}.delivery-agenda-item{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.delivery-agenda-item span{gap:2px;min-width:0;display:grid}.delivery-agenda-item strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;font-weight:900;overflow:hidden}.delivery-agenda-item small,.delivery-agenda-item em{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-style:normal;font-weight:750;overflow:hidden}.delivery-agenda-item b{color:var(--primary);white-space:nowrap;font-size:.78rem;font-weight:900}@media (width<=760px){.page-header{flex-direction:column;align-items:stretch}.page-header-actions,.screen-toolbar .dashboard-filters{justify-content:flex-start;width:100%;max-width:none}.screen-toolbar{align-items:stretch}.person-rate-body{grid-template-columns:1fr}.person-rate-card .panel-heading,.person-allocation-heat-card .panel-heading{flex-direction:column;align-items:stretch}.person-availability-pill{max-width:none}.project-owner-grid,.calendar-summary-grid,.calendar-workspace{grid-template-columns:1fr}.delivery-agenda-panel{position:static}.delivery-calendar-toolbar{flex-direction:column;align-items:stretch}.delivery-calendar-actions{justify-content:flex-start}.delivery-calendar-grid{min-width:760px}.delivery-calendar-card{overflow-x:auto}.person-rate-current{text-align:left}.entry-modal-context{grid-template-columns:1fr}.entry-modal-activity-pill{align-self:auto}.kanban-screen{height:auto;max-height:none;overflow:visible}.kanban-board{min-height:360px;max-height:calc(100dvh - 240px)}.kanban-column{flex-basis:min(260px,78vw);width:min(260px,78vw)}.kpi-grid,.kpi-grid-wide,.kpi-grid-tight,.chart-grid,.finance-dual-grid,.manager-chart-grid,.people-grid,.screen-skeleton-grid,.screen-skeleton.compact .screen-skeleton-grid{grid-template-columns:1fr}.screen-skeleton-row{grid-template-columns:12px minmax(0,1fr)}.skeleton-line-row-meta{grid-column:2;width:64%}.dev-allocation-card,.dev-allocation-card.has-billing-rate,.chart-row,.manager-chart-row{grid-template-columns:1fr}.approval-card{flex-direction:column;align-items:stretch}.search-field,.manager-search-field{min-width:100%}.project-detail-hero{grid-template-columns:1fr}.project-detail-toolbar,.project-detail-status{width:100%;min-width:0}.project-detail-toolbar-actions{flex-wrap:wrap;width:100%}.project-detail-toolbar{grid-template-columns:1fr}.project-detail-toolbar-actions .accent-button-outline,.project-detail-toolbar-actions .project-complete-button{flex:auto;justify-content:center}.project-activity-card-header{grid-template-columns:auto auto minmax(0,1fr);grid-template-areas:"index icon fields""meta meta meta""remove remove remove"}.project-activity-index{grid-area:index}.project-activity-card-icon{grid-area:icon}.project-activity-fields{grid-area:fields;grid-template-columns:1fr;display:grid}.project-activity-meta{grid-area:meta;justify-items:start}.project-activity-remove{grid-area:remove;justify-self:end}.dev-allocation-table-head{display:none}.dev-allocation-row{grid-template-columns:minmax(0,1fr) 80px 34px}}.platform-shell{min-height:100vh;padding:22px}.platform-frame{gap:14px;max-width:1440px;margin:0 auto;display:grid}.platform-login-shell{justify-content:center;align-items:center;display:flex}.platform-login-card{gap:18px;width:min(100%,480px);max-width:480px}.platform-login-brand small{color:var(--muted)}.platform-login-intro{background:color-mix(in srgb, var(--accent) 6%, var(--surface-soft));border:1px solid color-mix(in srgb, var(--accent) 16%, var(--border));border-radius:12px;grid-template-columns:auto 1fr;align-items:flex-start;gap:12px;padding:14px;display:grid}.platform-login-icon{background:var(--surface);border:1px solid var(--border);color:var(--accent);border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.platform-login-intro h1{letter-spacing:-.02em;font-size:1.05rem}.platform-login-intro p{color:var(--muted);margin-top:4px;font-size:.92rem;line-height:1.5}.platform-login-form label{gap:8px;display:grid}.platform-token-field>span{background:var(--surface-soft);border:1px solid var(--border);min-height:var(--control-height);border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:0 10px;display:grid}.platform-token-field>span:focus-within{border-color:color-mix(in srgb, var(--accent) 34%, var(--border));box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 14%, transparent)}.platform-token-field input{color:var(--text);background:0 0;border:0;outline:none;width:100%;min-width:0;padding:10px 0}.platform-token-field svg{color:var(--muted);flex-shrink:0}.platform-token-toggle{color:var(--muted)}.platform-login-warning{background:color-mix(in srgb, var(--warning) 8%, var(--surface));border:1px solid color-mix(in srgb, var(--warning) 24%, var(--border));color:var(--soft);border-radius:10px;margin:0;padding:10px 12px;font-size:.88rem;line-height:1.45}.platform-login-dev-hint{background:var(--surface-soft);border:1px dashed color-mix(in srgb, var(--accent) 24%, var(--border));color:var(--muted);border-radius:10px;gap:4px;padding:12px;font-size:.82rem;display:grid}.platform-login-dev-hint strong{color:var(--text);font-size:.84rem}.platform-login-footer{border-top:1px solid var(--border);padding-top:4px}.platform-login-back{color:var(--muted);align-items:center;gap:8px;font-size:.88rem;text-decoration:none;display:inline-flex}.platform-login-back:hover{color:var(--accent)}.platform-login-checking{text-align:center;gap:12px}.platform-login-checking p{color:var(--muted);margin:0}.platform-login-mark{background:color-mix(in srgb, var(--accent) 12%, var(--surface-soft));border:1px solid color-mix(in srgb, var(--accent) 24%, var(--border));color:var(--accent);border-radius:16px;justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex}.platform-login-form,.platform-tenant-form{gap:0;display:grid}.platform-tenant-section:first-child{border-top:0;padding-top:0}.platform-tenant-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-tenant-form label{color:var(--soft);gap:8px;font-size:.76rem;font-weight:800;display:grid}.platform-tenant-form input,.platform-tenant-form select,.platform-tenant-form textarea{background:var(--surface-soft);border:1px solid var(--border);color:var(--text);font:inherit;min-height:var(--control-height);border-radius:10px;width:100%;padding:10px 12px}.platform-tenant-form input:focus,.platform-tenant-form select:focus,.platform-tenant-form textarea:focus{border-color:color-mix(in srgb, var(--accent) 34%, var(--border));box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent);outline:none}.platform-tenant-form textarea{resize:vertical;min-height:96px}.platform-checkbox-row{background:var(--surface-soft);border:1px solid var(--border);cursor:pointer;border-radius:10px;grid-template-columns:auto minmax(0,1fr);align-items:flex-start;gap:10px;margin-bottom:12px;padding:12px;display:grid}.platform-tenant-form .platform-checkbox-row input[type=checkbox]{width:18px;height:18px;min-height:18px;margin-top:2px}.platform-checkbox-row span{gap:3px;display:grid}.platform-checkbox-row strong{color:var(--text);font-size:.9rem}.platform-checkbox-row small{color:var(--muted);font-size:.8rem;font-weight:600;line-height:1.4}.platform-tenant-color-row{grid-template-columns:52px minmax(0,1fr) 42px;align-items:center;gap:10px;display:grid}.platform-tenant-color-row input[type=color]{border:1px solid var(--border);cursor:pointer;width:52px;height:42px;min-height:42px;padding:4px}.platform-tenant-color-preview{border:1px solid var(--border);border-radius:10px;width:42px;height:42px;display:block;box-shadow:inset 0 1px 2px #0f172a14}.platform-login-bg-preview{border:1px solid var(--border);background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:10px;width:100%;height:120px}.platform-tenant-form .modal-actions{background:color-mix(in srgb, var(--surface) 94%, transparent);border-top:1px solid var(--border);z-index:1;margin:8px -20px -20px;padding:14px 20px 20px;position:sticky;bottom:-20px}.platform-toolbar{grid-template-columns:minmax(240px,1fr) 190px 220px;align-items:end;gap:12px;padding:14px;display:grid}.platform-metrics-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}.platform-metric-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-height:86px;padding:14px;display:grid}.platform-metric-card small{color:var(--muted);text-transform:uppercase;font-size:.74rem;font-weight:800;line-height:1.25;display:block}.platform-metric-card strong{color:var(--text);margin-top:4px;font-size:1.1rem;line-height:1.2;display:block}.platform-metric-icon{background:color-mix(in srgb, var(--accent) 10%, var(--surface-soft));border:1px solid color-mix(in srgb, var(--accent) 20%, var(--border));color:var(--accent);border-radius:8px;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.platform-metric-icon.active,.platform-metric-icon.success{background:color-mix(in srgb, var(--success) 10%, var(--surface-soft));border-color:color-mix(in srgb, var(--success) 24%, var(--border));color:var(--success)}.platform-metric-icon.warning{background:color-mix(in srgb, var(--warning) 10%, var(--surface-soft));border-color:color-mix(in srgb, var(--warning) 24%, var(--border));color:var(--warning)}.platform-metric-icon.danger{background:color-mix(in srgb, var(--danger) 10%, var(--surface-soft));border-color:color-mix(in srgb, var(--danger) 24%, var(--border));color:var(--danger)}.platform-status-filter{margin:0}.platform-status-filter>span{min-height:var(--control-height);grid-template-columns:minmax(0,1fr)}.platform-status-filter select{appearance:none;color:var(--text);cursor:pointer;font:inherit;min-height:calc(var(--control-height) - 2px);background:0 0;border:0;width:100%;padding:0}.platform-nav{flex-wrap:wrap;gap:8px;margin-bottom:4px;display:flex}.platform-nav-link{background:var(--surface);border:1px solid var(--border);color:var(--soft);border-radius:999px;align-items:center;gap:8px;min-height:38px;padding:0 14px;font-size:.82rem;font-weight:800;text-decoration:none;transition:background .16s,border-color .16s,color .16s;display:inline-flex}.platform-nav-link:hover{border-color:color-mix(in srgb, var(--accent) 28%, var(--border));color:var(--text)}.platform-nav-link.active{background:color-mix(in srgb, var(--accent) 10%, var(--surface));border-color:color-mix(in srgb, var(--accent) 34%, var(--border));color:var(--text)}.platform-finance-toolbar{grid-template-columns:minmax(220px,1fr) minmax(180px,220px) auto;align-items:end}.platform-finance-period-field input[type=month]{color:var(--text);font:inherit;min-height:calc(var(--control-height) - 2px);background:0 0;border:0;width:100%;padding:0}.platform-finance-period-actions{flex-wrap:wrap;justify-content:flex-end;align-items:end;gap:8px;display:flex}.platform-finance-period-copy{margin:-4px 0 8px}.platform-audit-toolbar{grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(140px,1fr)) auto;align-items:end;gap:12px;margin-bottom:16px;display:grid}.platform-audit-meta{color:#64748b;align-items:center;gap:8px;margin-bottom:12px;font-size:.92rem;font-weight:700;display:flex}.platform-audit-loading{color:#64748b;justify-content:center;align-items:center;gap:10px;min-height:180px;font-weight:700;display:flex}.platform-audit-pagination{justify-content:flex-end;align-items:center;gap:12px;margin-top:16px;display:flex}.platform-seat-panel{border:1px solid color-mix(in srgb, var(--border) 80%, transparent);border-radius:14px;gap:14px;margin-top:14px;padding:14px;display:grid}.platform-seat-panel-copy p{color:#64748b;margin:6px 0 0;font-size:.92rem}.platform-seat-upgrade-hint{color:#64748b;margin:0;font-size:.92rem;line-height:1.45}.platform-finance-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.platform-finance-metrics{margin-bottom:0}.platform-api-error{background:color-mix(in srgb, var(--warning) 8%, var(--surface));border-color:color-mix(in srgb, var(--warning) 26%, var(--border));color:var(--text);align-items:flex-start;gap:12px;padding:14px;display:flex}.platform-api-error svg{color:var(--warning);flex-shrink:0}.platform-api-error p{color:var(--muted);margin-top:4px;line-height:1.45}.platform-tenant-cell{gap:3px;display:grid}.platform-tenant-cell span{color:var(--muted);font-size:.82rem}.platform-status-badge{border:1px solid var(--border);border-radius:999px;padding:4px 10px;font-size:.78rem;font-weight:800;display:inline-flex}.platform-status-badge.active{background:color-mix(in srgb, var(--success) 10%, var(--surface));border-color:color-mix(in srgb, var(--success) 30%, var(--border));color:var(--success)}.platform-status-badge.suspended{background:color-mix(in srgb, var(--warning) 10%, var(--surface));border-color:color-mix(in srgb, var(--warning) 30%, var(--border));color:var(--warning)}.platform-status-badge.archived{background:var(--surface-soft);color:var(--muted)}.platform-payment-badge{border:1px solid var(--border);border-radius:999px;width:max-content;padding:4px 9px;font-size:.74rem;font-weight:800;display:inline-flex}.platform-payment-badge.paid{background:color-mix(in srgb, var(--success) 10%, var(--surface));border-color:color-mix(in srgb, var(--success) 30%, var(--border));color:var(--success)}.platform-payment-badge.pending{background:color-mix(in srgb, var(--accent) 9%, var(--surface));border-color:color-mix(in srgb, var(--accent) 26%, var(--border));color:var(--accent)}.platform-payment-badge.overdue{background:color-mix(in srgb, var(--danger) 9%, var(--surface));border-color:color-mix(in srgb, var(--danger) 28%, var(--border));color:var(--danger)}.platform-payment-badge.canceled{background:var(--surface-soft);color:var(--muted)}.platform-billing-cell,.platform-date-cell,.platform-login-integration-cell{gap:4px;min-width:150px;display:grid}.platform-billing-cell span,.platform-date-cell span,.platform-login-integration-cell small,.platform-muted-text{color:var(--muted);font-size:.78rem}.platform-billing-cell strong,.platform-date-cell strong{color:var(--text);font-size:.84rem}.platform-integration-badge{border:1px solid var(--border);border-radius:999px;width:max-content;padding:4px 9px;font-size:.74rem;font-weight:800;display:inline-flex}.platform-integration-badge.enabled{background:color-mix(in srgb, var(--accent) 9%, var(--surface));border-color:color-mix(in srgb, var(--accent) 26%, var(--border));color:var(--accent)}.platform-domain-list{flex-wrap:wrap;gap:6px;max-width:320px;display:flex}.platform-domain-list span{background:var(--surface-soft);border:1px solid var(--border);color:var(--soft);border-radius:999px;padding:3px 8px;font-size:.78rem}.platform-row-actions{flex-wrap:wrap;gap:6px;display:flex}.platform-row-actions .ghost-button,.platform-row-actions .danger-button-outline{height:32px;padding:0 10px}@media (width<=760px){.platform-tenant-grid{grid-template-columns:1fr}}@media (width<=1180px){.platform-metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.platform-shell{padding:12px}.platform-metrics-grid,.platform-finance-grid,.platform-finance-toolbar,.platform-toolbar{grid-template-columns:1fr}.platform-row-actions{flex-direction:column}}.platform-detail-metrics{margin-bottom:18px}.platform-detail-section{margin-bottom:16px}.platform-tenant-detail-form{gap:16px;display:grid}.platform-plan-summary{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.platform-plan-summary span{color:var(--soft);background:#2563eb14;border:1px solid #2563eb29;border-radius:999px;padding:6px 12px;font-size:.82rem}.platform-detail-footnote{margin-top:14px}.theme-dark .platform-plan-summary span{background:#60a5fa1f;border-color:#60a5fa33}.landing-page{color:var(--text);scroll-behavior:smooth;background:linear-gradient(#f7f9fc 0%,#eef4f8 52%,#f8faf7 100%);min-height:100vh}@keyframes landing-fade-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes landing-menu-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes landing-bar-grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes landing-bar-width{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.landing-hero-animate-item{animation:.65s cubic-bezier(.22,1,.36,1) both landing-fade-up}.landing-hero-animate-item-delayed{animation-delay:.14s}.landing-hero-animate-item-delayed .landing-preview-chart i{transform-origin:bottom;animation:.55s cubic-bezier(.22,1,.36,1) both landing-bar-grow}.landing-hero-animate-item-delayed .landing-preview-chart i:first-child{animation-delay:.42s}.landing-hero-animate-item-delayed .landing-preview-chart i:nth-child(2){animation-delay:.5s}.landing-hero-animate-item-delayed .landing-preview-chart i:nth-child(3){animation-delay:.58s}.landing-hero-animate-item-delayed .landing-preview-chart i:nth-child(4){animation-delay:.66s}.landing-hero-animate-item-delayed .landing-preview-chart i:nth-child(5){animation-delay:.74s}.landing-hero-animate-item-delayed .landing-preview-list span:after{transform-origin:0;animation:.65s cubic-bezier(.22,1,.36,1) both landing-bar-width}.landing-hero-animate-item-delayed .landing-preview-list span:first-child:after{animation-delay:.48s}.landing-hero-animate-item-delayed .landing-preview-list span:nth-child(2):after{animation-delay:.58s}.landing-hero-animate-item-delayed .landing-preview-list span:nth-child(3):after{animation-delay:.68s}.landing-reveal{opacity:0;transition:opacity .55s cubic-bezier(.22,1,.36,1),transform .55s cubic-bezier(.22,1,.36,1);transform:translateY(22px)}.landing-reveal.landing-reveal-visible{opacity:1;transform:translateY(0)}.landing-reveal-visible .landing-proof article,.landing-reveal-visible .landing-pain-card,.landing-reveal-visible .landing-module-card,.landing-reveal-visible .landing-audience-card,.landing-reveal-visible .landing-faq-item,.landing-reveal-visible .pricing-card,.landing-reveal-visible .landing-flow-list li{animation:.48s cubic-bezier(.22,1,.36,1) both landing-fade-up}.landing-reveal-visible .landing-proof article:nth-child(2),.landing-reveal-visible .landing-pain-card:nth-child(2),.landing-reveal-visible .landing-module-card:nth-child(2),.landing-reveal-visible .landing-audience-card:nth-child(2),.landing-reveal-visible .landing-faq-item:nth-child(2),.landing-reveal-visible .pricing-card:nth-child(2),.landing-reveal-visible .landing-flow-list li:nth-child(2){animation-delay:60ms}.landing-reveal-visible .landing-proof article:nth-child(3),.landing-reveal-visible .landing-pain-card:nth-child(3),.landing-reveal-visible .landing-module-card:nth-child(3),.landing-reveal-visible .landing-audience-card:nth-child(3),.landing-reveal-visible .landing-faq-item:nth-child(3),.landing-reveal-visible .pricing-card:nth-child(3),.landing-reveal-visible .landing-flow-list li:nth-child(3){animation-delay:.12s}.landing-reveal-visible .landing-module-card:nth-child(4),.landing-reveal-visible .landing-faq-item:nth-child(4),.landing-reveal-visible .pricing-card:nth-child(4),.landing-reveal-visible .landing-flow-list li:nth-child(4){animation-delay:.18s}.landing-reveal-visible .landing-module-card:nth-child(5),.landing-reveal-visible .landing-faq-item:nth-child(5),.landing-reveal-visible .pricing-card:nth-child(5){animation-delay:.24s}.landing-reveal-visible .landing-module-card:nth-child(6),.landing-reveal-visible .landing-faq-item:nth-child(6){animation-delay:.3s}.landing-header{z-index:20;gap:0;max-width:1180px;margin:0 auto;padding:22px 24px 0;display:grid;position:relative}.landing-header-bar{justify-content:space-between;align-items:center;gap:16px;width:100%;display:flex}.landing-header-actions{flex:none;align-items:center;gap:8px;display:flex}.landing-menu-toggle{color:var(--text);background:#ffffffb8;border:1px solid #dce5ef;border-radius:8px;justify-content:center;align-items:center;width:38px;height:38px;transition:background .18s,border-color .18s,color .18s,transform .18s;display:none}.landing-menu-toggle:active{transform:scale(.96)}.landing-menu-toggle:hover{color:var(--accent);border-color:#b8c7d9}.landing-brand{color:var(--text);grid-template-columns:44px 1fr;align-items:center;gap:12px;text-decoration:none;transition:opacity .18s,transform .18s;display:grid}.landing-brand:hover{opacity:.92}.landing-brand strong{font-size:1rem;display:block}.landing-brand small{color:var(--soft);margin-top:3px;font-size:.78rem;display:block}.landing-nav{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.landing-nav-link,.landing-nav-action{color:var(--text);border-radius:8px;align-items:center;min-height:38px;padding:0 12px;font-size:.9rem;font-weight:700;text-decoration:none;transition:background .18s,border-color .18s,color .18s,transform .18s;display:inline-flex}.landing-nav-link:hover,.landing-nav-action:hover{color:var(--accent)}.landing-nav-action{color:#fff;background:#101827}.landing-nav-action:hover{color:#fff;background:#1d293d;transform:translateY(-1px)}.landing-page main{gap:72px;max-width:1180px;margin:0 auto;padding:54px 24px 64px;display:grid}.landing-hero{text-align:center;justify-items:center;gap:30px;display:grid}.landing-kicker{color:#0f766e;letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:8px;margin:0 0 14px;font-size:.78rem;font-weight:900;display:inline-flex}.landing-hero-copy h1,.landing-section-head h2,.landing-split-section h2,.landing-security-copy h2,.landing-access-copy h2{letter-spacing:0}.landing-hero-copy h1{max-width:15ch;margin:0 0 20px;font-size:clamp(2.65rem,5.6vw,5.25rem);line-height:1.02}.landing-lead{color:#40506a;max-width:74ch;margin:0 0 28px;font-size:clamp(1.05rem,2vw,1.32rem);line-height:1.7}.landing-hero-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.landing-cta,.landing-secondary-cta{min-height:var(--control-height);justify-content:center;align-items:center;min-width:164px;padding:9px 14px;text-decoration:none;transition:background .18s,border-color .18s,color .18s,transform .18s,box-shadow .18s;display:inline-flex}.landing-cta:hover,.landing-secondary-cta:hover,.landing-contact-submit:hover,.pricing-cta:hover{transform:translateY(-2px)}.landing-hero-actions .landing-cta{color:#fff;background:#101827;border-color:#101827}.landing-hero-actions .landing-cta:hover{color:#fff;background:#1d293d;border-color:#1d293d}.landing-secondary-cta{border:1px solid var(--border);color:var(--text);background:#fffc;box-shadow:0 1px 2px #0f172a0d}.landing-secondary-cta:hover{color:var(--text);background:#fff;border-color:#b8c7d9}.landing-solution-strip{justify-items:center;gap:18px;width:100%;display:grid}.landing-solution-strip p{color:#2f3d52;margin:0;font-size:1.08rem;font-weight:750}.landing-solution-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;width:100%;display:grid}.landing-solution-card{color:var(--text);text-align:center;background:#ffffffd1;border:1px solid #dce5ef;border-radius:8px;place-items:center;gap:10px;min-height:120px;padding:16px 10px;text-decoration:none;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid;box-shadow:0 16px 34px #0f172a0f}.landing-solution-card:hover{border-color:#b8c7d9;transform:translateY(-2px);box-shadow:0 18px 40px #0f172a1a}.landing-solution-card span{color:#0f766e;background:#f0f7f5;border-radius:8px;justify-content:center;align-items:center;width:46px;height:46px;display:inline-flex}.landing-solution-card strong{font-size:.9rem;line-height:1.22}.landing-product-preview{text-align:left;background:#fff;border:1px solid #778aa047;border-radius:18px;width:min(920px,100%);min-height:440px;overflow:hidden;box-shadow:0 24px 70px #0f172a24}.landing-preview-topbar{color:#fff;background:#101827;align-items:center;gap:8px;min-height:48px;padding:0 18px;display:flex}.landing-preview-topbar span{background:#90a4b8;border-radius:999px;width:9px;height:9px}.landing-preview-topbar strong{margin-left:auto;font-size:.82rem}.landing-preview-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px;display:grid}.landing-preview-kpis article,.landing-preview-body section,.landing-module-card,.landing-proof article,.landing-access-box{background:#f8fafc;border:1px solid #dce5ef;border-radius:8px}.landing-preview-kpis article{gap:8px;padding:16px;display:grid}.landing-preview-kpis small,.landing-preview-heading small{color:#64748b;font-size:.78rem;font-weight:700}.landing-preview-kpis strong{font-size:1.45rem}.landing-preview-body{grid-template-columns:minmax(0,1.2fr) minmax(180px,.8fr);gap:14px;padding:0 18px 18px;display:grid}.landing-preview-body section{padding:18px}.landing-preview-heading{justify-content:space-between;align-items:center;margin-bottom:18px;font-weight:900;display:flex}.landing-preview-list{gap:14px;display:grid}.landing-preview-list span{color:#334155;gap:8px;font-size:.88rem;font-weight:800;display:grid}.landing-preview-list span:after{background:linear-gradient(90deg, #2563eb 0 var(--bar), #e2e8f0 var(--bar) 100%);content:"";border-radius:999px;height:9px}.landing-preview-chart{grid-template-columns:repeat(5,1fr);align-items:end;gap:9px;height:150px;display:grid}.landing-preview-chart i{background:#0f766e;border-radius:8px 8px 3px 3px;display:block}.landing-preview-chart i:first-child{height:48%}.landing-preview-chart i:nth-child(2){background:#2563eb;height:72%}.landing-preview-chart i:nth-child(3){background:#d97706;height:56%}.landing-preview-chart i:nth-child(4){height:84%}.landing-preview-chart i:nth-child(5){background:#2563eb;height:64%}.landing-proof{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.landing-proof article{gap:8px;padding:20px;display:grid}.landing-proof strong{font-size:1.2rem}.landing-pain-section,.landing-audience-section{gap:28px;display:grid}.landing-pain-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.landing-pain-card{background:#fff;border:1px solid #dce5ef;border-radius:12px;display:grid;overflow:hidden;box-shadow:0 14px 34px #0f172a0d}.landing-pain-before,.landing-pain-after{gap:8px;padding:18px 20px;display:grid}.landing-pain-before{background:#f8fafc;border-bottom:1px solid #e8eef5}.landing-pain-after{background:#f0f9f7}.landing-pain-before small,.landing-pain-after small{color:#64748b;letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:900}.landing-pain-after small{color:#0f766e}.landing-pain-before p,.landing-pain-after p{color:#334155;margin:0;line-height:1.55}.landing-audience-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.landing-audience-card{background:#fff;border:1px solid #dce5ef;border-radius:12px;gap:12px;padding:22px;display:grid}.landing-audience-card h3{margin:0;font-size:1.05rem}.landing-faq-section{gap:28px;display:grid}.landing-faq-list{gap:12px;display:grid}.landing-faq-item{background:#fff;border:1px solid #dce5ef;border-radius:12px;padding:0 20px}.landing-faq-item summary{cursor:pointer;padding:18px 0;list-style:none}.landing-faq-item summary::-webkit-details-marker{display:none}.landing-faq-item h3{margin:0;font-size:1.02rem;line-height:1.45}.landing-faq-item p{color:#52627a;border-top:1px solid #e8eef5;margin:0;padding:0 0 18px;line-height:1.65}.landing-access-copy code{background:#eef2f7;border-radius:6px;padding:2px 6px;font-size:.88em}.landing-access-examples{gap:14px;display:grid}.landing-proof span,.landing-section-head p,.landing-split-section p,.landing-security-copy p,.landing-access-copy p,.landing-module-card p,.landing-audience-card p{color:#52627a;margin:0;line-height:1.65}.landing-section{gap:26px;display:grid}.landing-section-head{max-width:760px}.landing-section-head h2,.landing-split-section h2,.landing-security-copy h2,.landing-access-copy h2{margin:0 0 14px;font-size:clamp(1.75rem,3vw,2.55rem);line-height:1.08}.landing-module-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.landing-module-card{gap:12px;padding:22px;display:grid}.landing-module-icon{color:#0f766e;background:#e6f3f1;border-radius:8px;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.landing-module-card h3{margin:0;font-size:1.02rem}.landing-split-section,.landing-security,.landing-access,.landing-contact{border-top:1px solid #778aa040;grid-template-columns:minmax(0,.95fr) minmax(320px,1.05fr);align-items:center;gap:32px;padding-top:54px;display:grid}.landing-flow-list,.landing-assurance-list{gap:12px;margin:0;padding:0;display:grid}.landing-flow-list li,.landing-assurance-list span{color:#26364d;background:#ffffffb8;border:1px solid #dce5ef;border-radius:8px;align-items:center;gap:12px;min-height:54px;padding:12px 14px;font-weight:750;display:flex}.landing-flow-list li{list-style:none}.landing-flow-list svg,.landing-assurance-list svg{color:#0f766e;flex:none}.landing-access-box{gap:10px;padding:24px;display:grid}.landing-access-box svg{color:#2563eb}.landing-access-box span{font-weight:900}.landing-access-box code{color:#fff;overflow-wrap:anywhere;background:#101827;border-radius:8px;padding:13px 14px;font-size:.92rem;display:block}.landing-access-box small{color:#64748b;line-height:1.5}.landing-contact{align-items:start}.landing-contact-copy{gap:16px;display:grid}.landing-contact-copy h2,.pricing-hero h1{letter-spacing:0;margin:0;font-size:clamp(1.9rem,3.8vw,3rem);line-height:1.05}.landing-contact-copy p,.pricing-hero p,.pricing-setup p,.pricing-card p{color:#52627a;margin:0;line-height:1.65}.landing-contact-form{background:#fff;border:1px solid #dce5ef;border-radius:12px;gap:14px;padding:22px;display:grid;box-shadow:0 18px 45px #0f172a14}.landing-contact-form label{color:#26364d;gap:7px;font-size:.86rem;font-weight:800;display:grid}.landing-contact-form input,.landing-contact-form select,.landing-contact-form textarea{color:var(--text);font:inherit;background:#f8fafc;border:1px solid #dce5ef;border-radius:8px;min-height:44px;padding:10px 12px}.landing-contact-form textarea{resize:vertical;min-height:112px}.landing-contact-message,.landing-contact-submit,.landing-contact-success{grid-column:1/-1}.landing-contact-honeypot{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.landing-contact-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;grid-column:1/-1;margin:0;padding:11px 12px;font-size:.9rem;font-weight:700}.landing-contact-submit{background:#101827;border-color:#101827}.landing-contact-success{color:#0f766e;background:#e6f3f1;border:1px solid #b8ded6;border-radius:8px;margin:0;padding:11px 12px;font-size:.9rem;font-weight:800}.pricing-page main{gap:42px}.pricing-hero{text-align:center;justify-items:center;max-width:840px;margin:0 auto;display:grid}.pricing-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.pricing-card{background:#fff;border:1px solid #dce5ef;border-radius:12px;gap:16px;padding:22px;display:grid;position:relative}.pricing-card-featured{border-color:#2563eb;box-shadow:0 18px 45px #2563eb1f}.pricing-badge{color:#fff;background:#2563eb;border-radius:999px;padding:5px 9px;font-size:.76rem;font-weight:900;position:absolute;top:16px;right:16px}.pricing-card h2{margin:0;padding-right:82px;font-size:1.3rem}.pricing-value{gap:6px;display:grid}.pricing-value-per-user{flex-wrap:wrap;align-items:baseline;gap:4px;display:flex}.pricing-value-per-user strong{letter-spacing:0;font-size:2rem}.pricing-value-total{color:#64748b;margin:0;font-size:.92rem;font-weight:800}.pricing-value-custom{gap:8px}.pricing-value-custom strong{letter-spacing:0;font-size:1.65rem}.pricing-value-custom p{color:#64748b;margin:0;font-size:.92rem;font-weight:700;line-height:1.45}.pricing-value span,.pricing-card small{color:#64748b;font-weight:800}.pricing-card ul,.pricing-setup ul{gap:10px;margin:0;padding:0;display:grid}.pricing-card li,.pricing-setup li{color:#26364d;align-items:center;gap:9px;font-size:.92rem;font-weight:750;list-style:none;display:flex}.pricing-card li svg,.pricing-setup li svg{color:#0f766e;flex:none}.pricing-cta{background:#101827;border-color:#101827;margin-top:auto;text-decoration:none}.pricing-setup{background:#fff;border:1px solid #dce5ef;border-radius:12px;grid-template-columns:minmax(0,.95fr) minmax(320px,1.05fr);align-items:center;gap:24px;padding:28px;display:grid}.pricing-setup h2{letter-spacing:0;margin:0 0 12px;font-size:clamp(1.6rem,3vw,2.25rem);line-height:1.08}.landing-footer{border-top:1px solid var(--border);color:var(--soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;max-width:1180px;margin:0 auto;padding:22px 24px 34px;font-size:.84rem;display:flex}.landing-pain-card,.landing-audience-card,.landing-module-card,.landing-faq-item,.landing-proof article,.pricing-card,.landing-product-preview{transition:border-color .2s,box-shadow .22s,transform .22s}.landing-pain-card:hover,.landing-audience-card:hover,.landing-module-card:hover,.pricing-card:hover,.landing-product-preview:hover{transform:translateY(-3px)}.landing-faq-item[open]{box-shadow:0 12px 28px #0f172a14}.landing-faq-item summary{transition:color .18s}.landing-theme-toggle{color:var(--text);background:#ffffffb8;border:1px solid #dce5ef;border-radius:8px;justify-content:center;align-items:center;width:38px;height:38px;transition:background .18s,border-color .18s,color .18s,transform .18s;display:inline-flex}.landing-theme-toggle:active{transform:scale(.96)rotate(-8deg)}.landing-theme-toggle:hover{color:var(--accent);border-color:#b8c7d9}.landing-page.theme-dark .landing-faq-item[open]{box-shadow:var(--shadow);box-shadow:var(--shadow)}.landing-page.theme-dark{background:linear-gradient(#0b1020 0%,#0f172a 52%,#111827 100%)}.landing-page.theme-dark .landing-lead,.landing-page.theme-dark .landing-solution-strip p,.landing-page.theme-dark .landing-proof span,.landing-page.theme-dark .landing-section-head p,.landing-page.theme-dark .landing-split-section p,.landing-page.theme-dark .landing-access-copy p,.landing-page.theme-dark .landing-module-card p,.landing-page.theme-dark .landing-audience-card p,.landing-page.theme-dark .landing-contact-copy p,.landing-page.theme-dark .pricing-hero p,.landing-page.theme-dark .pricing-card p{color:var(--soft)}.landing-page.theme-dark .landing-kicker,.landing-page.theme-dark .landing-flow-list svg,.landing-page.theme-dark .landing-module-icon,.landing-page.theme-dark .pricing-card li svg{color:var(--accent-2)}.landing-page.theme-dark .landing-nav-action,.landing-page.theme-dark .landing-hero-actions .landing-cta,.landing-page.theme-dark .landing-contact-submit,.landing-page.theme-dark .pricing-cta{color:#fff;background:#1d4ed8;border-color:#1d4ed8}.landing-page.theme-dark .landing-nav-action:hover,.landing-page.theme-dark .landing-hero-actions .landing-cta:hover{color:#fff;background:#2563eb;border-color:#2563eb}.landing-page.theme-dark .landing-secondary-cta,.landing-page.theme-dark .landing-theme-toggle,.landing-page.theme-dark .landing-menu-toggle{border-color:var(--border);box-shadow:none;color:var(--text);background:#111827d1}.landing-page.theme-dark .landing-secondary-cta:hover,.landing-page.theme-dark .landing-theme-toggle:hover,.landing-page.theme-dark .landing-menu-toggle:hover{background:var(--surface);border-color:var(--border-strong);color:var(--text)}.landing-page.theme-dark .landing-product-preview,.landing-page.theme-dark .landing-pain-card,.landing-page.theme-dark .landing-audience-card,.landing-page.theme-dark .landing-faq-item,.landing-page.theme-dark .landing-contact-form,.landing-page.theme-dark .pricing-card{background:var(--surface);border-color:var(--border);box-shadow:var(--shadow)}.landing-page.theme-dark .landing-preview-kpis article,.landing-page.theme-dark .landing-preview-body section,.landing-page.theme-dark .landing-module-card,.landing-page.theme-dark .landing-proof article,.landing-page.theme-dark .landing-access-box{background:var(--surface-soft);border-color:var(--border)}.landing-page.theme-dark .landing-pain-before{background:var(--surface-soft);border-bottom-color:var(--border)}.landing-page.theme-dark .landing-pain-after{background:#14b8a614}.landing-page.theme-dark .landing-pain-before p,.landing-page.theme-dark .landing-pain-after p,.landing-page.theme-dark .landing-preview-list span,.landing-page.theme-dark .landing-flow-list li,.landing-page.theme-dark .pricing-card li{color:var(--text)}.landing-page.theme-dark .landing-pain-before small,.landing-page.theme-dark .landing-pain-after small,.landing-page.theme-dark .landing-preview-kpis small,.landing-page.theme-dark .landing-preview-heading small,.landing-page.theme-dark .landing-access-box small,.landing-page.theme-dark .pricing-value span,.landing-page.theme-dark .pricing-value-total,.landing-page.theme-dark .pricing-value-custom p,.landing-page.theme-dark .pricing-card small{color:var(--muted)}.landing-page.theme-dark .landing-module-icon{background:#14b8a624}.landing-page.theme-dark .landing-flow-list li{border-color:var(--border);background:#111827b8}.landing-page.theme-dark .landing-faq-item p,.landing-page.theme-dark .landing-contact-form label{color:var(--soft)}.landing-page.theme-dark .landing-faq-item p{border-top-color:var(--border)}.landing-page.theme-dark .landing-access-copy code{background:#94a3b81f}.landing-page.theme-dark .landing-access-box code{color:#e2e8f0;background:#070b14}.landing-page.theme-dark .landing-contact-form input,.landing-page.theme-dark .landing-contact-form select,.landing-page.theme-dark .landing-contact-form textarea{background:var(--surface-soft);border-color:var(--border);color:var(--text)}.landing-page.theme-dark .landing-contact-success{color:var(--accent-2);background:#14b8a61f;border-color:#14b8a647}.landing-page.theme-dark .landing-contact-error{color:#fca5a5;background:#ef44441f;border-color:#ef444447}.landing-page.theme-dark .landing-preview-list span:after{background:linear-gradient(90deg, var(--accent) 0 var(--bar), #94a3b838 var(--bar) 100%)}.landing-page.theme-dark .landing-split-section,.landing-page.theme-dark .landing-access,.landing-page.theme-dark .landing-contact{border-top-color:var(--border)}.landing-page.theme-dark .pricing-card-featured{border-color:var(--accent);box-shadow:0 18px 45px #2563eb33}@media (width<=980px){.landing-header{gap:0;padding-inline:18px}.landing-menu-toggle{display:inline-flex}.landing-nav{grid-template-columns:1fr;gap:6px;width:100%;margin-top:14px;display:none}.landing-nav.is-open{background:#ffffffeb;border:1px solid #dce5ef;border-radius:12px;padding:10px;animation:.28s cubic-bezier(.22,1,.36,1) both landing-menu-in;display:grid;box-shadow:0 18px 40px #0f172a1a}.landing-page.theme-dark .landing-nav.is-open{border-color:var(--border);box-shadow:var(--shadow);background:#111827f5}.landing-nav-link,.landing-nav-action{justify-content:flex-start;width:100%;min-height:44px;padding-inline:14px}.landing-nav-action{margin-top:4px}.landing-page main{padding-top:28px}.landing-hero,.landing-split-section,.landing-security,.landing-access,.landing-contact,.landing-module-grid,.landing-proof,.landing-pain-grid,.landing-audience-grid,.landing-faq-list,.landing-solution-grid,.pricing-grid,.pricing-setup{grid-template-columns:1fr}.landing-hero-copy h1{max-width:15ch}.landing-solution-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=981px){.landing-header{align-items:center;gap:20px;display:flex}.landing-header-bar{flex:none;width:auto}.landing-header-actions{flex:none;order:3;display:flex}.landing-menu-toggle{display:none}.landing-nav{flex-wrap:wrap;flex:1;order:2;justify-content:flex-end;align-items:center;gap:8px;width:auto;margin-top:0;display:flex}}@media (width<=640px){.landing-hero-copy h1{max-width:none;font-size:2.3rem}.landing-solution-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-solution-card{min-height:108px}.landing-product-preview{min-height:auto}.landing-preview-kpis,.landing-preview-body{grid-template-columns:1fr}}
