.ob-root{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-soft)}.ob-header{gap:24px;padding:16px 40px;background:var(--bg);border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:10}.ob-header,.ob-header-brand{display:flex;align-items:center}.ob-header-brand{gap:10px;color:var(--ecl-blue-120)}.ob-progress-wrap{flex:1 1;display:flex;align-items:center;gap:14px;max-width:480px;margin:0 auto}.ob-progress-track{flex:1 1;height:4px;background:var(--ecl-grey-15);border-radius:2px;overflow:hidden}.ob-progress-fill{height:100%;background:var(--ecl-blue-100);border-radius:2px;transition:width .32s cubic-bezier(.4,0,.2,1)}.ob-progress-label{font-size:12px;font-weight:700;color:var(--fg-soft);white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ob-body{flex:1 1;display:flex;align-items:flex-start;justify-content:center;padding:56px 24px 120px}.ob-step-wrap{width:100%;max-width:680px}.ob-dots{display:flex;gap:6px;margin-bottom:24px}.ob-dot{width:8px;height:8px;border-radius:50%;background:var(--ecl-grey-15);transition:all .2s}.ob-dot.active{background:var(--ecl-blue-100);width:24px;border-radius:4px}.ob-dot.done{background:var(--ecl-blue-25)}.ob-step-content{margin-bottom:32px}.ob-nav{display:none}.ob-nav-bar{position:fixed;bottom:0;left:0;right:0;background:var(--bg);border-top:1px solid var(--border);box-shadow:0 -4px 16px rgba(0,30,80,.08);z-index:20;padding:0 24px}.ob-nav-inner{max-width:680px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0}.ob-skip-btn{background:transparent;border:0;font-family:inherit;font-size:13px;font-weight:600;color:var(--fg-soft);cursor:pointer;padding:8px 12px;border-radius:var(--r-md);text-decoration:underline;text-underline-offset:3px;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong)}.ob-skip-btn:hover{color:var(--fg);background:var(--ecl-grey-10);text-decoration:none}[data-theme=dark] .ob-nav-bar{background:var(--bg);border-top-color:var(--border);box-shadow:0 -4px 16px rgba(0,0,0,.3)}.ob-welcome-headline{font-size:28px;font-weight:700;color:var(--ecl-blue-120);margin-bottom:10px}.ob-welcome-sub{font-size:15px;color:var(--fg-soft);margin:0 0 28px;line-height:1.6;max-width:560px}.ob-feat-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:14px;gap:14px}.ob-feat-card{background:var(--bg);border:1px solid var(--border);padding:18px;display:flex;flex-direction:column;gap:8px}.ob-feat-icon{width:44px;height:44px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center}.ob-feat-title{font-size:15px;font-weight:700;color:var(--fg)}.ob-feat-desc{font-size:13px;color:var(--fg-soft);line-height:1.5}.ob-grid-2{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:10px;gap:10px}.ob-option-card{display:flex;align-items:center;gap:14px;padding:16px 18px;background:var(--bg);border:1.5px solid var(--border);cursor:pointer;text-align:left;font-family:inherit;position:relative;transition:border-color .12s,background .12s;border-radius:var(--r-md)}.ob-option-card.selected,.ob-option-card:hover{border-color:var(--ecl-blue-100);background:var(--ecl-blue-5)}.ob-option-card.selected{border-width:2px}.ob-option-icon{width:44px;height:44px;background:var(--ecl-blue-5);border:1px solid var(--ecl-blue-25);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;color:var(--ecl-blue-100);flex-shrink:0}.ob-option-card.selected .ob-option-icon{background:var(--ecl-blue-100);color:#fff;border-color:var(--ecl-blue-100)}.ob-option-label{font-size:14px;font-weight:700;color:var(--fg)}.ob-option-desc{font-size:12px;color:var(--fg-soft);margin-top:2px}.ob-check{position:absolute;top:10px;right:10px;color:var(--ecl-blue-100)}.ob-hint{font-size:13px;color:var(--fg-soft);margin:0 0 16px}.ob-chips-grid{display:flex;flex-wrap:wrap;gap:8px}.ob-chip-toggle{display:inline-flex;align-items:center;gap:5px;padding:8px 14px;background:var(--bg);border:1.5px solid var(--border-strong);border-radius:999px;font-family:inherit;font-size:13px;font-weight:600;color:var(--fg);cursor:pointer;transition:all .12s}.ob-chip-toggle:hover{border-color:var(--ecl-blue-100);background:var(--ecl-blue-5);color:var(--ecl-blue-120)}.ob-chip-toggle.selected{background:var(--ecl-blue-100);border-color:var(--ecl-blue-100);color:#fff}.ob-exp-list{display:flex;flex-direction:column;gap:10px}.ob-exp-option{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;background:var(--bg);border:1.5px solid var(--border);cursor:pointer;text-align:left;font-family:inherit;border-radius:var(--r-md);transition:all .12s}.ob-exp-option.selected,.ob-exp-option:hover{border-color:var(--ecl-blue-100);background:var(--ecl-blue-5)}.ob-exp-option.selected{border-width:2px}.ob-exp-label{font-size:15px;font-weight:700;color:var(--fg)}.ob-exp-desc{font-size:13px;color:var(--fg-soft);margin-top:3px}.ob-exp-radio{width:20px;height:20px;border-radius:50%;border:2px solid var(--border-strong);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .12s}.ob-exp-radio.selected{border-color:var(--ecl-blue-100);background:var(--ecl-blue-100);box-shadow:inset 0 0 0 3px #fff}.ob-notif-list{display:flex;flex-direction:column;gap:8px}.ob-notif-option{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);transition:background .12s}.ob-notif-option.selected{background:var(--ecl-blue-5);border-color:var(--ecl-blue-25)}.ob-notif-label{font-size:14px;font-weight:700;color:var(--fg)}.ob-notif-desc{font-size:12px;color:var(--fg-soft);margin-top:2px}.ob-toggle{width:44px;height:24px;border-radius:999px;background:var(--ecl-grey-25);position:relative;cursor:pointer;transition:background .18s;flex-shrink:0}.ob-toggle.active{background:var(--ecl-blue-100)}.ob-toggle-knob{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .18s cubic-bezier(.4,0,.2,1);display:block;box-shadow:0 1px 3px rgba(0,0,0,.2)}.ob-toggle.active .ob-toggle-knob{transform:translateX(20px)}[data-theme=dark] .ob-root{background:var(--bg)}[data-theme=dark] .ob-exp-option,[data-theme=dark] .ob-feat-card,[data-theme=dark] .ob-notif-option,[data-theme=dark] .ob-option-card{background:var(--bg-soft)}.profile-page{display:flex;flex-direction:column;height:100%;overflow:hidden}.profile-hero{background:linear-gradient(135deg,var(--ecl-blue-120) 0,var(--ecl-blue-100) 100%);padding:28px 40px;gap:20px;border-bottom:4px solid var(--ecl-yellow-100)}.profile-avatar-lg,.profile-hero{display:flex;align-items:center;flex-shrink:0}.profile-avatar-lg{width:64px;height:64px;border-radius:50%;background:var(--ecl-yellow-100);color:var(--ecl-blue-120);justify-content:center;font-weight:700;font-size:22px}.profile-tabs{display:flex;gap:0;background:var(--bg);border-bottom:1px solid var(--border);flex-shrink:0;overflow-x:auto}.profile-tab{display:inline-flex;align-items:center;gap:8px;padding:14px 24px;background:transparent;border:0;border-bottom:3px solid transparent;font-family:inherit;font-size:14px;font-weight:600;color:var(--fg-soft);cursor:pointer;white-space:nowrap;transition:all .12s}.profile-tab.active,.profile-tab:hover{background:var(--ecl-blue-5);color:var(--ecl-blue-120)}.profile-tab.active{border-bottom-color:var(--ecl-yellow-100);font-weight:700}.profile-body{flex:1 1;overflow-y:auto;background:var(--bg-soft)}.profile-tab-content{max-width:860px;margin:0 auto;padding:32px 40px 80px}.profile-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.profile-section-head+.profile-section-head{margin-top:32px}.profile-desc-block{background:var(--bg);border:1px solid var(--border);border-left:3px solid var(--ecl-blue-100);padding:16px 20px;margin-bottom:20px}.profile-field-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-soft);margin-bottom:8px}.profile-fields-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px 24px;gap:16px 24px}.profile-field{display:flex;flex-direction:column}.profile-field.full{grid-column:1/-1}.profile-field-value{font-size:14px;color:var(--fg);padding:10px 12px;background:var(--ecl-grey-5);border:1px solid var(--border);border-radius:var(--r-md);min-height:42px;display:flex;align-items:center}.profile-danger{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:40px;padding:20px;border:1px solid #f3b8be;background:var(--ecl-error-bg);border-radius:var(--r-md)}.profile-save-bar{display:flex;align-items:center;gap:14px;margin-top:28px;padding-top:20px;border-top:1px solid var(--border)}.matching-status-banner{display:flex;align-items:center;gap:8px;margin:12px 0;padding:10px 12px;font-size:13px;background:color-mix(in oklab,var(--ai-100) 12%,transparent);border-radius:8px}.matching-status-banner--error{background:color-mix(in oklab,#c0392b 12%,transparent)}.matching-status-banner--ok{background:color-mix(in oklab,#1e8e5a 12%,transparent)}.membership-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px}.membership-card{background:var(--bg);border:1px solid var(--border);padding:20px;display:flex;flex-direction:column;gap:10px;border-radius:var(--r-md);position:relative}.membership-card.current{border-color:var(--ecl-blue-100);border-width:2px;background:var(--ecl-blue-5)}.membership-current-badge{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--ecl-blue-100);color:#fff;font-size:11px;font-weight:700;padding:3px 12px;border-radius:999px;white-space:nowrap}.membership-name{font-size:18px;font-weight:700;color:var(--ecl-blue-120)}.membership-price{font-size:22px;font-weight:700;color:var(--fg);margin-bottom:4px}.membership-features{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px;flex:1 1}.membership-features li{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--fg)}.billing-table{width:100%;border-collapse:collapse;font-size:13px;margin-top:4px}.billing-table th{text-align:left;padding:10px 14px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-soft);background:var(--ecl-grey-5)}.billing-table td,.billing-table th{border-bottom:1px solid var(--border)}.billing-table td{padding:12px 14px;color:var(--fg)}.billing-table tr:last-child td{border-bottom:0}.billing-table tr:hover td{background:var(--ecl-blue-5)}.notif-list{display:flex;flex-direction:column}.notif-section-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-soft);padding:16px 0 8px}.notif-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;background:var(--bg);border:1px solid var(--border);margin-bottom:4px;border-radius:var(--r-md);transition:background .12s}.notif-row.active{background:var(--ecl-blue-5);border-color:var(--ecl-blue-25)}.notif-label{font-size:14px;font-weight:600;color:var(--fg)}.notif-desc{font-size:12px;color:var(--fg-soft);margin-top:2px}.entity-list{display:flex;flex-direction:column;gap:8px;margin-bottom:4px}.entity-card{display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--bg);border:1.5px solid var(--border);border-radius:var(--r-md);cursor:pointer;transition:all .12s}.entity-card.active,.entity-card:hover{border-color:var(--ecl-blue-100);background:var(--ecl-blue-5)}.entity-card.active{border-width:2px}.entity-avatar{width:40px;height:40px;border-radius:50%;background:var(--ecl-blue-100);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}[data-theme=dark] .entity-card{background:var(--bg-soft)}[data-theme=dark] .billing-table th{background:var(--ecl-grey-10)}[data-theme=dark] .membership-card{background:var(--bg-soft)}[data-theme=dark] .membership-card.current{background:var(--ecl-blue-5)}@media (max-width:1024px){.membership-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.profile-page{overflow:visible}.profile-hero{align-items:flex-start;padding:24px 20px}.profile-tab{padding:12px 16px}.profile-tab-content{padding:24px 20px 84px}.entity-card,.notif-row,.profile-danger,.profile-save-bar,.profile-section-head{align-items:flex-start;flex-direction:column}.membership-grid,.profile-fields-grid{grid-template-columns:1fr}.profile-danger .btn,.profile-save-bar .btn{width:100%;justify-content:center}.billing-table{min-width:560px}}@media (max-width:560px){.profile-hero{padding:22px 16px}.profile-avatar-lg{width:52px;height:52px;font-size:18px}.profile-tab,.profile-tab-content{padding-left:12px;padding-right:12px}}.projects-page{padding:28px 40px 80px;max-width:1200px;margin:0 auto}.projects-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}.projects-stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px;margin-bottom:20px}.prj-stat{background:var(--bg);border:1px solid var(--border);border-top:3px solid var(--ecl-blue-100);padding:14px 18px}.prj-stat-n{font-size:28px;font-weight:700;color:var(--ecl-blue-120);line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.prj-stat-l{font-size:11px;color:var(--fg-soft);text-transform:uppercase;letter-spacing:.04em;margin-top:5px}.projects-phase-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:20px}.projects-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:64px 24px;border:1px dashed var(--border);background:var(--bg-soft)}.projects-empty-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--ecl-blue-5);color:var(--ecl-blue-100);margin-bottom:16px}.projects-empty h2{color:var(--ecl-blue-120)}.projects-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:12px;gap:12px}.prj-list-card{background:var(--bg);border:1px solid var(--border);border-left:4px solid var(--phase-color,var(--ecl-blue-100));padding:16px 18px;cursor:pointer;transition:box-shadow .12s,border-color .12s}.prj-list-card.active,.prj-list-card:hover{box-shadow:var(--shadow-md)}.prj-list-card.active{background:var(--ecl-blue-5)}.prj-list-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:8px}.prj-list-name{font-size:15px;font-weight:700;color:var(--ecl-blue-120);margin-bottom:10px;line-height:1.3}.prj-list-meta{display:flex;gap:14px;font-size:12px;color:var(--fg-soft)}.prj-list-meta span{display:inline-flex;align-items:center;gap:4px}.prj-list-card{position:relative}.prj-list-top{padding-right:32px}.prj-card-menu{position:absolute;top:10px;right:10px;z-index:2}.prj-card-menu-btn{border-color:transparent;padding:4px}.prj-card-menu-btn svg{transform:rotate(90deg)}.prj-card-menu-btn[aria-expanded=true]{background:var(--ecl-blue-5);border-color:var(--border);color:var(--ecl-blue-120)}.prj-card-menu-pop{position:absolute;top:calc(100% + 4px);right:0;min-width:180px;background:var(--bg);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:var(--r-md);padding:4px;z-index:3}.prj-card-menu-item{display:block;width:100%;padding:8px 10px;border:0;background:transparent;font:inherit;font-size:13px;font-weight:600;text-align:left;cursor:pointer;border-radius:var(--r-sm,4px);color:var(--ecl-error)}.prj-card-menu-item:hover{background:var(--ecl-error-bg)}.prj-detail{display:flex;flex-direction:column;height:100%}.prj-detail-breadcrumb{align-items:center;gap:8px;padding:12px 32px;background:var(--ecl-blue-5);font-size:13px}.prj-detail-breadcrumb,.prj-detail-header{display:flex;border-bottom:1px solid var(--border);flex-shrink:0}.prj-detail-header{align-items:flex-start;justify-content:space-between;gap:24px;padding:24px 32px 20px;background:var(--bg)}.prj-detail-header-main{flex:1 1;min-width:0}.prj-detail-header-actions{display:flex;gap:8px;flex-shrink:0;align-items:flex-start;padding-top:4px}.prj-stepper-wrap{padding:20px 32px;background:var(--bg);border-bottom:1px solid var(--border);flex-shrink:0}.phase-stepper{gap:0}.phase-step,.phase-stepper{display:flex;align-items:center}.phase-step{gap:10px;background:transparent;border:0;cursor:pointer;font-family:inherit;padding:8px 12px;border-radius:var(--r-md);transition:background .12s}.phase-step:hover{background:var(--ecl-blue-5)}.phase-step-num{width:28px;height:28px;border-radius:50%;border:2px solid var(--border-strong);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--fg-soft);background:var(--bg);flex-shrink:0}.phase-step.done .phase-step-num{background:var(--ecl-success-bg);border-color:var(--ecl-success);color:var(--ecl-success)}.phase-step.active .phase-step-num{background:var(--step-color,var(--ecl-blue-100));border-color:var(--step-color,var(--ecl-blue-100));color:#fff}.phase-step-label{font-size:13px;font-weight:600;color:var(--fg-soft);white-space:nowrap}.phase-step.done .phase-step-label{color:var(--ecl-success)}.phase-step.active .phase-step-label{color:var(--step-color,var(--ecl-blue-120));font-weight:700}.phase-connector{flex:1 1;height:2px;background:var(--border);min-width:20px;max-width:60px}.phase-connector.done{background:var(--ecl-success)}.prj-phase-body{flex:1 1;overflow-y:auto;display:flex;flex-direction:column}.prj-phase-bar{display:flex;align-items:center;gap:12px;padding:14px 32px;background:var(--bg-soft);border-bottom:1px solid var(--border);flex-shrink:0}.prj-tab-pills{display:inline-flex;border:1px solid var(--border-strong);border-radius:var(--r-md);overflow:hidden}.prj-tab-pill{display:inline-flex;align-items:center;gap:6px;background:var(--bg);border:0;padding:7px 14px;font-family:inherit;font-size:13px;font-weight:600;color:var(--fg-soft);cursor:pointer}.prj-tab-pill.active{background:var(--ecl-blue-100);color:#fff}.prj-tab-pill .side-count{background:rgba(255,255,255,.3);color:#fff}.prj-docs-section,.prj-notes-section{padding:20px 32px 48px;display:flex;flex-direction:column;gap:12px;flex:1 1}.prj-quick-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:4px}.doc-list{display:flex;flex-direction:column;gap:4px}.doc-row{display:flex;align-items:center;gap:14px;padding:12px 16px;background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);transition:background .12s}.doc-row:hover{background:var(--ecl-blue-5)}.doc-row-ai{border-left:3px solid var(--ai-100)}.doc-row-ai,.doc-row-ai:hover{background:var(--ai-5)}.doc-type-icon{width:36px;height:36px;border-radius:var(--r-md);background:var(--ecl-grey-5);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--ecl-blue-100);flex-shrink:0}.doc-type-icon.ai{background:var(--ai-5);border-color:var(--ai-25);color:var(--ai-100)}.doc-row-main{flex:1 1;min-width:0}.doc-row-name{font-size:14px;font-weight:600;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-row-meta{display:flex;align-items:center;gap:8px;margin-top:3px;flex-wrap:wrap}.doc-row-actions{display:flex;gap:4px;flex-shrink:0}.prj-empty-phase{padding:40px;border:2px dashed var(--border);border-radius:var(--r-md);text-align:center}.prj-empty-phase,.upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-soft)}.upload-zone{gap:6px;padding:24px;border:2px dashed var(--border-strong);border-radius:var(--r-md);cursor:pointer;transition:all .15s;margin-top:4px}.upload-zone.drag,.upload-zone:hover{border-color:var(--ecl-blue-100);background:var(--ecl-blue-5)}.upload-zone.drag{box-shadow:inset 0 0 0 3px var(--ecl-blue-25)}.upload-zone-text{font-size:13px;color:var(--fg-soft)}.upload-zone-hint{font-size:11px;color:var(--ecl-grey-50)}.note-composer{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);padding:14px}.note-list{display:flex;flex-direction:column;gap:8px}.note-item{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);padding:14px 16px}.note-item-ai{border-left:3px solid var(--ai-100);background:var(--ai-5)}.note-item-head{justify-content:space-between;margin-bottom:6px}.note-author,.note-item-head{display:flex;align-items:center}.note-author{font-size:12px;font-weight:700;color:var(--fg-soft);gap:5px}.note-author.ai{color:var(--ai-100)}.note-item-text{font-size:14px;color:var(--fg);margin:0;line-height:1.55}.new-prj-modal{width:min(480px,95vw);background:var(--bg);border-radius:var(--r-md);box-shadow:var(--shadow-lg);border:1px solid var(--border);overflow:hidden;margin:auto;align-self:center}.modal-overlay{position:absolute;inset:0;background:rgba(0,30,80,.35);display:flex;align-items:center;justify-content:center;z-index:50;animation:overlayIn .2s ease}.btn-danger,.btn-danger:hover:not(:disabled){color:var(--ecl-error);border-color:var(--ecl-error)}.btn-danger:hover:not(:disabled){background:var(--ecl-error-bg)}.btn-danger:disabled{opacity:.45;cursor:not-allowed}.btn-danger .auth-spinner{border-color:color-mix(in srgb,var(--ecl-error) 35%,transparent);border-top-color:var(--ecl-error)}.grant-strip{gap:16px}.grant-strip,.grant-strip-steps{display:flex;align-items:center;flex-wrap:wrap}.grant-strip-steps{gap:0}.grant-strip-step{display:flex;align-items:center;gap:6px}.grant-strip-dot{width:20px;height:20px;border-radius:50%;border:2px solid var(--border-strong);background:var(--bg);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.grant-strip-label{font-size:12px;font-weight:600;color:var(--fg-soft);white-space:nowrap}.grant-strip-step.done .grant-strip-label{color:var(--ecl-success)}.grant-strip-line{width:32px;height:2px;background:var(--border);margin:0 4px;flex-shrink:0}.grant-strip-line.done{background:var(--ecl-success)}.pm2-stepper{gap:0;overflow-x:auto;padding-bottom:2px}.pm2-step,.pm2-stepper{display:flex;align-items:center}.pm2-step{gap:8px;background:transparent;border:0;cursor:pointer;font-family:inherit;padding:8px 12px;border-radius:var(--r-md);white-space:nowrap;transition:background .12s;flex-shrink:0}.pm2-step:hover{background:var(--ecl-blue-5)}.pm2-step-num{width:28px;height:28px;border-radius:50%;border:2px solid var(--border-strong);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--fg-soft);background:var(--bg);flex-shrink:0;transition:all .15s}.pm2-step.done .pm2-step-num{background:var(--ecl-success-bg);border-color:var(--ecl-success);color:var(--ecl-success)}.pm2-step.active .pm2-step-num{background:var(--step-c,var(--ecl-blue-100));border-color:var(--step-c,var(--ecl-blue-100));color:#fff}.pm2-step-label{font-size:13px;font-weight:600;color:var(--fg-soft)}.pm2-step.done .pm2-step-label{color:var(--ecl-success)}.pm2-step.active .pm2-step-label{color:var(--step-c,var(--ecl-blue-120));font-weight:700}.pm2-connector{width:24px;height:2px;background:var(--border);flex-shrink:0;transition:background .2s}.pm2-connector.done{background:var(--ecl-success)}.pm2-phase-content{display:flex;flex-direction:column;gap:16px}.pm2-phase-desc{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;background:var(--ecl-blue-5);border-left:3px solid var(--ecl-blue-100);border-radius:var(--r-md)}.pm2-suggested{padding:0}.gov-shell{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}.gov-tabs{display:flex;background:var(--ecl-grey-5);border-bottom:1px solid var(--border);overflow-x:auto}.gov-tab{display:inline-flex;align-items:center;gap:6px;padding:12px 18px;background:transparent;border:0;border-bottom:3px solid transparent;font-family:inherit;font-size:13px;font-weight:600;color:var(--fg-soft);cursor:pointer;white-space:nowrap;transition:all .12s}.gov-tab:hover{background:var(--ecl-blue-5);color:var(--ecl-blue-120)}.gov-tab.active{color:var(--ecl-blue-120);border-bottom-color:var(--ecl-yellow-100);background:var(--bg);font-weight:700}.gov-body{padding:16px 20px 20px}.gov-body,.gov-table-wrap{overflow-x:auto}.gov-table{width:100%;border-collapse:collapse;font-size:13px}.gov-table th{text-align:left;padding:9px 12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-soft);background:var(--ecl-grey-5);border-bottom:2px solid var(--border);white-space:nowrap}.gov-table td{padding:10px 12px;border-bottom:1px solid var(--border);color:var(--fg);vertical-align:middle}.gov-table tr:last-child td{border-bottom:0}.gov-table tr:hover td{background:var(--ecl-blue-5)}.gov-id{font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--fg-soft);white-space:nowrap}.gov-psr{display:flex;flex-direction:column;gap:12px}.gov-psr-row{display:flex;align-items:center;gap:16px;padding:10px 0;border-bottom:1px solid var(--border);font-size:14px}.gov-psr-row:last-of-type{border-bottom:0}.gov-psr-label{min-width:200px;font-weight:700;color:var(--ecl-blue-120);font-size:13px;flex-shrink:0}[data-theme=dark] .gov-tabs{background:var(--ecl-grey-10)}[data-theme=dark] .gov-shell,[data-theme=dark] .gov-tab.active{background:var(--bg-soft)}[data-theme=dark] .pm2-phase-desc{background:var(--ecl-blue-5)}[data-theme=dark] .pm2-step.active .pm2-step-num{color:#fff}.award-banner{display:flex;align-items:center;gap:18px;padding:20px 24px;background:linear-gradient(135deg,var(--ecl-blue-120) 0,var(--ecl-blue-100) 100%);border-radius:var(--r-md);margin-bottom:20px;border-left:4px solid var(--ecl-yellow-100)}.award-banner-icon{width:48px;height:48px;border-radius:50%;background:var(--ecl-yellow-100);color:var(--ecl-blue-120);display:flex;align-items:center;justify-content:center;flex-shrink:0}.award-banner-body{flex:1 1;min-width:0}.award-banner-title{font-size:16px;font-weight:700;color:#fff;margin-bottom:4px}.award-banner-sub{font-size:13px;color:rgba(255,255,255,.82);line-height:1.5}@media (max-width:1024px){.projects-page{padding:24px 28px 72px}.projects-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.projects-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.prj-detail-header{flex-direction:column}.prj-detail-header-actions{flex-wrap:wrap}.phase-stepper{overflow-x:auto;padding-bottom:4px}.phase-connector,.phase-step{flex-shrink:0}}@media (max-width:760px){.projects-page{padding:20px 16px 84px}.projects-header{flex-direction:column;gap:14px}.projects-header .btn{width:100%;justify-content:center}.projects-list,.projects-stats{grid-template-columns:1fr}.projects-empty{padding:44px 18px}.award-banner,.gov-psr-row,.grant-strip,.prj-list-meta{align-items:flex-start;flex-direction:column;gap:8px}.prj-detail-breadcrumb,.prj-detail-header,.prj-docs-section,.prj-notes-section,.prj-phase-bar,.prj-stepper-wrap{padding-left:16px;padding-right:16px}.prj-phase-bar,.prj-tab-pills{overflow-x:auto}.doc-row{align-items:flex-start}.doc-row-actions{flex-wrap:wrap;justify-content:flex-end}.gov-body{padding:14px}.gov-psr-label{min-width:0}.new-prj-modal{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow-y:auto}}@media (max-width:560px){.prj-detail-breadcrumb,.prj-detail-header,.prj-docs-section,.prj-notes-section,.prj-phase-bar,.prj-stepper-wrap,.projects-page{padding-left:12px;padding-right:12px}.grant-strip-label,.phase-step-label,.pm2-step-label{font-size:12px}.award-banner{padding:16px}}.write-page{padding:16px 24px 64px;max-width:1400px;margin:0 auto}.write-page .btn{transition:transform .14s cubic-bezier(.23,1,.32,1),background .14s ease,border-color .14s ease}.write-page .btn:active:not(:disabled){transform:scale(.97)}@media (hover:hover) and (pointer:fine){.write-page .btn-ai:hover{filter:none;background:color-mix(in oklab,var(--ai-100) 88%,#fff);border-color:color-mix(in oklab,var(--ai-100) 88%,#fff)}}.write-top{display:flex;align-items:flex-start;gap:20px;margin-bottom:18px}.write-top-main{flex:1 1;min-width:0}.write-top-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px;font-size:13px}.write-top-actions{display:flex;align-items:flex-end;gap:10px;flex-shrink:0}.write-chrome{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.write-chrome-identity{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.write-chrome-identity .write-title-field{flex:1 1;min-width:0}.write-chrome-identity .write-status{margin:6px 0 0;flex-shrink:0;max-width:18rem}.write-chrome-nav{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.write-chrome-actions{display:flex;align-items:flex-start;gap:10px;flex-shrink:0}.write-export-incomplete{display:flex;align-items:flex-start;gap:6px;margin:10px 0 0;color:#8a4b10;font-size:12px;line-height:1.4}.write-export-incomplete svg{flex-shrink:0;margin-top:1px}#write-export-part-b:focus-visible{outline:2px solid var(--ecl-yellow-100);outline-offset:2px}.write-chrome-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.write-title-field{display:block;min-width:0}.write-title-input{width:100%;margin:0;padding:2px 2px 6px 0;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--ecl-blue-120);font:inherit;font-size:24px;font-weight:700;letter-spacing:-.02em;line-height:1.2;border-radius:0}.write-title-input:hover{border-bottom-color:var(--border-strong)}.write-title-input:focus{outline:none;border-bottom-color:var(--ecl-blue-100)}.write-stepper{display:flex;align-items:center;gap:0;flex-wrap:wrap;margin:0 0 6px;padding:6px 8px;background:var(--ecl-blue-5);border:1px solid var(--ecl-blue-25)}.write-nav-kicker{font-size:11px;font-weight:700;color:var(--fg-soft);margin-right:10px;line-height:1.25;max-width:7.5rem}.write-nav-hint{flex-basis:100%;margin:4px 0 0;font-size:12px;line-height:1.4;color:var(--fg-soft);font-weight:400}.write-stepper-step{display:flex;align-items:center;gap:8px;background:transparent;border:0;padding:6px 8px;font:inherit;cursor:pointer;transition:transform .14s cubic-bezier(.23,1,.32,1)}.write-stepper-step:disabled{opacity:.4;cursor:not-allowed}.write-stepper-step:focus-visible{outline:2px solid var(--ecl-yellow-100);outline-offset:2px}.write-stepper-step:not(:disabled):active{transform:scale(.97)}.write-stepper-dot{width:22px;height:22px;border-radius:50%;border:2px solid var(--border-strong);background:var(--bg);display:flex;align-items:center;justify-content:center;color:var(--fg-soft);font-size:11px;font-weight:700;flex-shrink:0}.write-stepper-step.active .write-stepper-dot{background:var(--ecl-blue-100);border-color:var(--ecl-blue-100);color:#fff}.write-stepper-step.done .write-stepper-dot{background:var(--ecl-success);border-color:var(--ecl-success);color:#fff}.write-stepper-label{font-size:13px;font-weight:700;color:var(--fg-soft);white-space:nowrap}.write-stepper-step.active .write-stepper-label{color:var(--ecl-blue-120)}.write-stepper-step.done .write-stepper-label{color:var(--ecl-success)}.write-stepper-line{width:28px;height:2px;background:var(--border-strong);margin:0 4px;flex-shrink:0}.write-stepper-line.done{background:var(--ecl-success)}.write-status{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px}.write-status-label{font-size:11px;font-weight:700;letter-spacing:.02em;color:var(--fg-soft);flex-shrink:0}.write-status-chip-wrap{position:relative}.write-status-chip{display:inline-flex;align-items:center;gap:6px;margin:0;padding:4px 10px;border:1px solid var(--ecl-blue-25);background:var(--ecl-blue-5);color:var(--ecl-blue-120);font:inherit;font-size:13px;font-weight:700;cursor:pointer}.write-status-chip svg{transform:rotate(-90deg);transition:transform .14s cubic-bezier(.23,1,.32,1)}.write-status-chip.open svg{transform:rotate(90deg)}.write-status-chip:focus-visible{outline:2px solid var(--ecl-yellow-100);outline-offset:2px}.write-status-menu{position:absolute;z-index:4;top:calc(100% + 4px);right:0;left:auto;min-width:14rem;margin:0;padding:4px;list-style:none;background:var(--bg);border:1px solid var(--border-strong);box-shadow:0 8px 24px rgb(15 23 42/.08);transform-origin:top right;opacity:1;transform:scale(1) translateY(0);transition:opacity .16s cubic-bezier(.23,1,.32,1),transform .16s cubic-bezier(.23,1,.32,1)}@starting-style{.write-status-menu{opacity:0;transform:scale(.97) translateY(-4px)}}.write-status-option{display:block;width:100%;text-align:left;margin:0;padding:6px 8px;border:0;background:transparent;font:inherit;font-size:13px;cursor:pointer;color:var(--fg)}.write-status-option.current{font-weight:700;color:var(--ecl-blue-120);background:var(--ecl-blue-5)}.write-status-option:focus-visible,.write-status-option:hover{background:var(--ecl-blue-5)}.write-status-diverge .write-status-chip{border-color:var(--ecl-yellow-100)}.write-report>summary{cursor:pointer;list-style:revert}.write-save{font-size:12px;color:var(--fg-soft);white-space:nowrap}.write-save.saved{color:var(--ecl-success)}.write-save.error{color:var(--ecl-error)}.write-banner{background:var(--ecl-blue-5);border:1px solid var(--ecl-blue-25);padding:10px 14px;font-size:13px;margin-bottom:14px}.write-banner-error{background:var(--ecl-error-bg);border-color:var(--ecl-error);color:var(--ecl-error)}.write-banner-warning{background:var(--ecl-warning-bg);border-color:var(--ecl-warning);color:#8a4b10;display:flex;flex-direction:column;align-items:stretch;gap:10px}.write-banner-warning-copy p{margin:0}.write-banner-warning-title{font-weight:700;font-size:14px;margin:0 0 4px!important;color:var(--ecl-blue-120)}.write-banner-warning-actions{display:flex;flex-wrap:wrap;gap:8px}.write-grid{display:grid;grid-template-columns:240px minmax(0,1fr) 280px;grid-gap:12px;gap:12px;align-items:start}.write-grid-partners{grid-template-columns:minmax(0,1fr) 300px}.write-grid-solo{grid-template-columns:minmax(0,1fr)}.write-editor,.write-rail,.write-side{background:transparent;border:0}.write-rail{padding:4px 0 0}.write-editor{padding:16px 18px 20px;background:var(--bg);border:1px solid var(--border)}.write-side{gap:12px}.write-field,.write-side{display:flex;flex-direction:column}.write-field{gap:4px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-soft);margin-bottom:12px}.write-field .input,.write-field .select{text-transform:none;letter-spacing:0;font-size:13px}.write-field .select{max-width:100%}.write-sections{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.write-section-btn{display:flex;align-items:flex-start;gap:8px;width:100%;text-align:left;background:transparent;border:0;padding:8px;font:inherit;font-size:13px;line-height:1.35;color:var(--fg);cursor:pointer}@media (hover:hover) and (pointer:fine){.write-section-btn:hover{background:var(--bg-soft)}}.write-section-btn:active{transform:scale(.98)}.write-section-btn:focus-visible{outline:2px solid var(--ecl-yellow-100);outline-offset:2px}.write-section-btn.active{background:var(--ecl-blue-5);box-shadow:inset 3px 0 0 var(--ecl-blue-100)}.write-dot{width:8px;height:8px;margin-top:5px;border-radius:50%;background:var(--ecl-grey-25);border:1px solid var(--ecl-grey-75);flex-shrink:0}.write-dot-ready,.write-dot.filled{background:var(--ecl-success);border-color:var(--ecl-success)}.write-dot-draft{background:var(--ecl-warning);border-color:#8a4b10}.write-dot-empty{background:var(--bg);border-color:var(--ecl-grey-75)}.write-rail-progress{font-size:12px;font-weight:700;color:var(--ecl-blue-120);padding:4px 8px 10px;list-style:none}.write-readiness{font-size:10px;font-weight:700;text-transform:lowercase;letter-spacing:.02em;margin-top:2px;white-space:nowrap}.write-readiness-draft{color:#8a4b10}.write-readiness-ready{color:var(--ecl-success)}.write-section-title{flex:1 1}.write-req{font-size:10px;text-transform:uppercase;color:var(--fg-soft);margin-top:2px}.write-editor-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:10px}.write-editor-title{margin:0;font-size:18px;font-weight:700;color:var(--ecl-blue-120);line-height:1.3}.write-refine-section{margin-left:auto}.write-refine-section:focus-visible{outline:2px solid var(--ecl-yellow-100);outline-offset:2px}.write-refine-status{flex-basis:100%;margin:0;font-size:13px;line-height:1.45;min-height:1.45em;color:var(--fg-soft)}.write-refine-status.write-agent-error{color:var(--ecl-error)}.write-refine-status:empty{display:none}.write-textarea{min-height:48vh;resize:vertical;line-height:1.55}.write-min-chars{margin:8px 0 0;font-size:12px;line-height:1.45;color:var(--fg-soft)}.write-min-chars.is-short{color:var(--ecl-error)}.write-rail-error-code{margin:6px 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;letter-spacing:.02em;color:var(--fg-soft)}.write-volume{display:flex;flex-wrap:wrap;gap:6px 10px;margin:8px 0 0;font-size:12px;line-height:1.45;color:var(--fg-soft)}.write-volume-disclaimer{font-weight:600}.write-volume-card p{font-size:13px;line-height:1.45;margin:6px 0 0}.write-volume-hint{display:flex;align-items:flex-start;gap:6px;color:var(--fg);font-size:13px}.write-compliance-disclaimer{font-size:13px;line-height:1.45;margin:8px 0}.write-compliance-status{display:flex;align-items:flex-start;gap:8px;font-size:14px;font-weight:700;margin:8px 0;color:var(--fg)}.write-compliance-status-gaps{color:var(--fg)}.write-compliance-status-complete-draft{color:var(--ecl-blue-120)}.write-compliance-register{font-size:13px;margin:6px 0}.write-compliance-heuristic{font-size:12px;margin:0 0 8px}.write-compliance-notes{font-size:13px;margin:8px 0 0;padding-left:18px;color:var(--fg)}.write-compliance:focus-within{outline:2px solid var(--ecl-yellow-100);outline-offset:2px}.write-card{background:var(--bg);border:1px solid var(--border);padding:14px}.write-pcm{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:13px}.write-pcm li{display:flex;align-items:flex-start;gap:8px;color:var(--fg-soft)}.write-pcm li.done{color:var(--ecl-success)}.write-pcm-hint{font-size:12px;margin:8px 0 0;line-height:1.4}.write-diagnostic-cta{margin-top:12px;width:100%;justify-content:flex-start}.write-diagnostic-cta:focus-visible{outline:2px solid var(--ecl-yellow-100);outline-offset:2px}.write-chat-rail{display:flex;flex-direction:column;min-height:0;background:var(--bg-soft);border:1px solid var(--border)}.write-grid:not(.write-grid-partners) .write-chat-rail{min-height:200px}.write-rail-log{flex:1 1;overflow:auto;display:flex;flex-direction:column;gap:8px;padding:10px}.write-rail-empty{margin:0;font-size:13px}.write-rail-hint{flex-basis:100%;margin:4px 0 0;font-size:12px;line-height:1.45}.write-rail-turn{max-width:92%;padding:8px 10px;font-size:13px;line-height:1.45}.write-rail-turn-user{align-self:flex-end;background:var(--ecl-blue-5)}.write-rail-turn-agent{align-self:flex-start;background:var(--bg);border:1px solid var(--border)}.write-rail-running{margin:0;color:var(--fg-soft)}.write-rail-compliance{margin-top:8px}.write-rail-dock{position:-webkit-sticky;position:sticky;bottom:0;display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:8px;border-top:1px solid var(--border);background:var(--bg-soft)}.write-rail-action{width:100%;justify-content:flex-start;height:auto;white-space:normal;text-align:left;line-height:1.35}.write-agents{display:flex;flex-direction:column;gap:6px}.write-agents .btn{justify-content:flex-start;width:100%}.write-agents-lead,.write-agents-note{font-size:13px;line-height:1.5;margin:6px 0 10px;color:var(--fg-soft)}.write-agents-note{font-size:12px;margin:8px 0 0}.write-refine-chips{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));grid-gap:8px;gap:8px;margin-top:10px}.write-refine-chip{white-space:normal;text-align:left;cursor:pointer;font-family:inherit;line-height:1.35;width:100%;justify-content:flex-start}.write-refine-chip:focus-visible{outline:2px solid var(--ecl-yellow-100);outline-offset:2px}.write-refine-chip:disabled{opacity:.6;cursor:not-allowed}.write-agent-error{color:var(--ecl-error);font-size:13px;margin:8px 0 0}.write-report-body{font-size:13px;margin:8px 0;white-space:pre-wrap;color:var(--fg)}.write-agent-warnings{font-size:13px;margin:8px 0 0;padding-left:18px;color:var(--fg)}.write-agent-warnings li{margin-bottom:4px}.write-gap{list-style:none;margin:10px 0 0;padding:0;gap:14px}.write-gap,.write-gap-item{display:flex;flex-direction:column}.write-gap-item{gap:6px}.write-gap-prompt{font-size:13px;line-height:1.45;margin:0;color:var(--fg)}.write-gap-answer{font-size:13px;min-height:0;resize:vertical}.write-gap-skip{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--fg-soft);cursor:pointer}.write-partners-panel{padding:4px 0}.write-partners-title{margin:0 0 8px;font-size:18px;font-weight:700;color:var(--ecl-blue-120)}.write-partners-lead{font-size:13px;line-height:1.5;margin:0 0 20px}.write-partners-block{margin-bottom:24px}.write-partners-block-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.write-partners-subhead{margin:0;font-size:14px;font-weight:600}.write-partners-empty{font-size:13px;margin:0;line-height:1.45}.write-partners-roles-table{display:flex;flex-direction:column;gap:6px}.write-partners-roles-head{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-soft);padding:0 2px}.write-partners-role-row,.write-partners-roles-head{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) 72px 36px;grid-gap:8px;gap:8px}.write-partners-role-row{align-items:center}.write-partners-role-row .input{font-size:13px;padding:6px 8px}.write-partners-remove{flex-shrink:0;padding:4px 6px}.write-partners-partner-list{margin:0}.write-partners-partner-item{gap:10px}.write-partners-role-select{font-size:12px;max-width:160px;flex-shrink:0}.write-partners-shortlist{margin-top:12px;padding:12px;background:var(--ecl-blue-5);border:1px solid var(--ecl-blue-25)}.write-partners-shortlist-label{margin:0 0 8px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-soft)}.write-partners-shortlist-list{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:4px;max-height:240px;overflow-y:auto}.write-partners-shortlist-item{display:flex;align-items:flex-start;gap:10px;padding:8px;background:var(--bg);border:1px solid var(--border);cursor:pointer;font-size:13px}.write-partners-shortlist-item:hover{border-color:var(--ecl-blue-100)}.write-partners-shortlist-main{display:flex;flex-direction:column;gap:2px;min-width:0}.write-partners-shortlist-main strong{font-size:13px;color:var(--ecl-blue-120)}.write-partners-shortlist-main .muted{font-size:12px}.write-partners-shortlist-actions{display:flex;gap:8px;flex-wrap:wrap}.write-partners-hub-hint{font-size:13px;line-height:1.5;margin:0 0 20px;color:var(--fg-soft)}.write-partners-hub-link{color:var(--ecl-blue-120);font-weight:600;text-decoration:none}.write-partners-hub-link:hover{text-decoration:underline}.write-partners-findings{margin-bottom:16px;padding:10px 12px;border:1px solid var(--border);background:var(--bg)}.write-partners-findings ul{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.write-partners-findings li{display:flex;flex-wrap:wrap;align-items:flex-start;gap:6px;font-size:13px;line-height:1.45}.write-partners-findings:focus-within{outline:2px solid var(--ecl-yellow-100);outline-offset:2px}.write-dossier{display:flex;flex-direction:column;gap:6px}.write-dossier-head,.write-dossier-row{display:grid;grid-template-columns:minmax(7rem,1.2fr) 7rem minmax(8rem,1.4fr) 4.5rem minmax(5rem,.8fr) minmax(6rem,1fr) 36px;grid-gap:8px;gap:8px;align-items:center;font-size:13px}.write-dossier-head{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-soft);padding:0 2px}.write-dossier-row{padding:8px;border:1px solid var(--border);background:var(--bg)}.write-dossier-uncovered{background:var(--ecl-yellow-5,var(--ecl-blue-5));border-color:var(--ecl-yellow-100)}.write-dossier-flag{display:flex;align-items:center;gap:6px;font-weight:600}.write-dossier-row .write-partners-role-select{max-width:100%}.write-dossier-row:focus-within{outline:2px solid var(--ecl-yellow-100);outline-offset:2px}@media (prefers-reduced-motion:reduce){.write-dossier-uncovered,.write-partners-findings{transition:none}}@media (max-width:720px){.write-dossier-head{display:none}.write-dossier-head,.write-dossier-row{grid-template-columns:1fr}}.write-report p{color:var(--fg)}.write-params{margin:0 0 8px;border:1px solid var(--border);background:var(--bg)}.write-params-summary{display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px 10px;font-size:12px;font-weight:600;color:var(--ecl-blue-120);list-style:none}.write-params-summary-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.write-params[open] .write-params-summary-extra{display:none}.write-params-summary::-webkit-details-marker{display:none}.write-params-summary svg{flex-shrink:0;transition:transform .14s cubic-bezier(.23,1,.32,1)}.write-params[open] .write-params-summary svg{transform:rotate(180deg)}.write-params-summary:focus-visible{outline:2px solid var(--ecl-yellow-100);outline-offset:2px}.write-params-body{display:flex;flex-direction:column;gap:10px;padding:0 12px 12px;min-width:0}.write-params-facts{margin:0;width:100%;font-size:12px;line-height:1.4;color:var(--fg-soft);overflow-wrap:anywhere;padding-bottom:8px;border-bottom:1px solid var(--border)}.write-params-project{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;min-width:0}.write-params-project .input{font-size:13px;height:34px;padding:0 8px;box-sizing:border-box;min-width:0;line-height:32px}.write-params-project input[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.write-params-project input[type=number]::-webkit-inner-spin-button,.write-params-project input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}.write-params-acronym{flex:1 1 10rem;width:auto;max-width:18rem}.write-params-duration{flex:0 0 4.5rem;width:4.5rem}.write-params-trl{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:6px;flex:0 0 auto;min-width:0}.write-params-trl-prefix{font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--fg-soft);line-height:1}.write-params-trl .input{flex:0 0 3.25rem;width:3.25rem}.write-params-trl-arrow{color:var(--fg-soft);font-size:14px;line-height:1}@media (max-width:520px){.write-params-project{flex-wrap:wrap}.write-params-acronym{flex:1 1 100%;max-width:none;width:100%}}.write-diagnostic-empty,.write-diagnostic-message{font-size:13px;line-height:1.5;margin:8px 0 0}.write-findings{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}.write-finding{border:1px solid var(--border);padding:10px 12px;background:var(--bg)}.write-finding-blocker{border-left:3px solid var(--ecl-error)}.write-finding-warning{border-left:3px solid var(--ecl-warning)}.write-finding-info{border-left:3px solid var(--ecl-info)}.write-finding-title{margin:0 0 6px;font-size:14px;font-weight:700;color:var(--ecl-blue-120);line-height:1.35}.write-finding-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 8px;font-size:12px}.write-finding-severity{display:inline-flex;align-items:center;gap:4px;font-weight:700}.write-finding-blocker .write-finding-severity{color:var(--ecl-error)}.write-finding-warning .write-finding-severity{color:#8a4b10}.write-finding-info .write-finding-severity{color:var(--ecl-info)}.write-finding-axis{color:var(--fg-soft)}.write-finding-recommendation{margin:0;font-size:13px;line-height:1.45}.write-finding-evidence{margin-top:8px;font-size:12px;color:var(--fg-soft)}.write-finding-evidence summary{cursor:pointer;font-weight:600}.write-finding-evidence summary:focus-visible{outline:2px solid var(--ecl-yellow-100);outline-offset:2px}.write-finding-evidence p{margin:6px 0 0}abbr.write-abbr{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-underline-offset:2px;cursor:help;-webkit-text-decoration-color:var(--ecl-grey-50);text-decoration-color:var(--ecl-grey-50)}abbr.write-abbr:focus-visible{outline:2px solid var(--ecl-yellow-100);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-reduced-motion:reduce){.write-compliance,.write-page .btn,.write-params-summary svg,.write-rail-turn,.write-section-btn,.write-status-chip svg,.write-status-menu,.write-stepper-step,.write-volume{transition:none;transform:none}.write-refine-chip{transition:none}.write-page .btn:active:not(:disabled),.write-section-btn:active,.write-status-chip.open svg,.write-stepper-step:not(:disabled):active{transform:none}}@media (max-width:1100px){.write-grid,.write-grid-partners,.write-grid-solo{grid-template-columns:1fr}.write-textarea{min-height:40vh}.write-chrome-identity,.write-chrome-nav,.write-top{flex-wrap:wrap}.write-chrome-identity .write-status{max-width:none}.write-title-input{font-size:22px}}.write-stage-footer{margin-top:16px;padding-top:14px;border-top:1px solid var(--border);display:flex;flex-direction:column;align-items:flex-start;gap:8px}.write-stage-footer .btn{align-self:flex-start}.write-stage-footer-hint{margin:0;font-size:13px;line-height:1.45;color:var(--fg-soft)}.manage-page{padding:20px 28px 72px;max-width:1180px;margin:0 auto}.manage-card{background:var(--bg);border:1px solid var(--border);padding:20px 22px 24px}.manage-hint{display:block;margin-top:6px;font-size:12px;color:var(--fg-soft)}.manage-inline{display:grid;grid-template-columns:minmax(0,1.6fr) 72px 72px minmax(0,1fr) auto;grid-gap:8px;gap:8px;margin-top:12px;align-items:center}.manage-check{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.manage-check label{display:flex;gap:8px;align-items:center;font-size:14px}.manage-report{white-space:pre-wrap;font-size:13px;line-height:1.55;background:var(--bg-soft);border:1px solid var(--border);padding:12px 14px;margin-top:14px;overflow:auto}@media (max-width:800px){.manage-inline{grid-template-columns:1fr}.manage-page{padding:16px 14px 56px}}.ac-catalog{padding-bottom:64px}.ac-hero{background:linear-gradient(135deg,var(--ecl-blue-120) 0,var(--ecl-blue-100) 100%);padding:40px 48px 44px;border-bottom:4px solid var(--ecl-yellow-100);position:relative;overflow:hidden}.ac-hero:before{content:"";position:absolute;right:-100px;top:-100px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(255,214,23,.13) 0,transparent 70%)}.ac-hero-text{position:relative;z-index:1;max-width:900px;margin:0 auto}.ac-hero-stats{display:flex;align-items:center;gap:18px;margin-top:22px;color:rgba(255,255,255,.9);font-size:14px}.ac-hero-stats strong{color:var(--ecl-yellow-100);font-size:18px}.ac-hero-divider{width:1px;height:24px;background:rgba(255,255,255,.25)}.ac-section{max-width:1180px;margin:0 auto;padding:28px 48px 0}.ac-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.ac-section-head .h3{color:var(--ecl-blue-120)}.ac-continue-row{display:flex;flex-direction:column;gap:10px}.ac-continue-card{display:flex;align-items:center;gap:16px;background:var(--bg);border:1px solid var(--border);border-left:3px solid var(--ecl-blue-100);padding:14px 18px;cursor:pointer;transition:box-shadow .12s}.ac-continue-card:hover{box-shadow:var(--shadow-md)}.ac-continue-title{font-weight:700;font-size:14px;color:var(--ecl-blue-120)}.ac-continue-meta{font-size:12px;color:var(--fg-soft);margin-top:6px}.ac-track-filter{max-width:1180px;margin:28px auto 0;padding:0 48px;display:flex;gap:8px;flex-wrap:wrap}.ac-track-chip{padding:8px 16px;background:var(--bg);border:1.5px solid var(--border-strong);border-radius:999px;font-family:inherit;font-size:13px;font-weight:600;color:var(--fg);cursor:pointer;transition:all .12s}.ac-track-chip:hover{border-color:var(--ecl-blue-100);background:var(--ecl-blue-5)}.ac-track-chip.active{background:var(--ecl-blue-100);border-color:var(--ecl-blue-100);color:#fff}.ac-featured{display:grid;grid-template-columns:300px 1fr;grid-gap:28px;gap:28px;background:var(--bg);border:1px solid var(--border);padding:24px;cursor:pointer;transition:box-shadow .15s;align-items:center}.ac-featured:hover{box-shadow:var(--shadow-lg)}.ac-featured-meta{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;color:var(--fg-soft)}.ac-featured-meta span{display:inline-flex;align-items:center;gap:6px}.ac-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:18px;gap:18px}.ac-card{background:var(--bg);border:1px solid var(--border);cursor:pointer;transition:box-shadow .15s,transform .15s;display:flex;flex-direction:column;overflow:hidden}.ac-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.ac-card-body{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1 1}.ac-card-track{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.ac-card-title{font-size:16px;font-weight:700;color:var(--ecl-blue-120);line-height:1.3;margin:0 0 6px}.ac-card-tagline{font-size:13px;color:var(--fg-soft);line-height:1.45;margin:0 0 14px;flex:1 1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ac-card-meta{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--fg-soft);padding-top:12px;border-top:1px solid var(--border)}.ac-card-meta span{display:inline-flex;align-items:center;gap:5px}.ac-card-progress{gap:10px;margin-top:12px}.ac-card-progress,.ac-thumb{display:flex;align-items:center}.ac-thumb{position:relative;justify-content:center;overflow:hidden;flex-shrink:0}.ac-thumb-sm{width:56px;height:56px;border-radius:var(--r-md)}.ac-thumb-md{width:100%;height:150px}.ac-thumb-lg{width:100%;height:220px;border-radius:var(--r-md)}.ac-thumb-pattern{position:absolute;inset:0;background-image:radial-gradient(circle at 20% 30%,rgba(255,255,255,.12) 0,transparent 8%),radial-gradient(circle at 70% 60%,rgba(255,255,255,.1) 0,transparent 10%),radial-gradient(circle at 85% 20%,rgba(255,255,255,.08) 0,transparent 6%)}.ac-thumb-badge{position:absolute;top:10px;right:10px;background:rgba(0,0,0,.4);color:#fff;font-size:10px;font-weight:700;letter-spacing:.05em;padding:3px 8px;border-radius:var(--r-md);z-index:2}.ac-thumb-badge-feat{background:var(--ecl-yellow-100);color:var(--ecl-blue-120)}.ac-thumb-sm .ac-thumb-badge{display:none}.ac-progress-track{flex:1 1;height:6px;background:var(--ecl-grey-15);border-radius:3px;overflow:hidden}.ac-progress-track>span{display:block;height:100%;background:linear-gradient(90deg,var(--ecl-blue-100),var(--ecl-blue-75));border-radius:3px;transition:width .3s}.ac-progress-label{font-size:12px;font-weight:700;color:var(--ecl-blue-100)}.ac-detail{height:100%;overflow-y:auto}.ac-detail-hero{background:linear-gradient(135deg,var(--ecl-blue-120) 0,var(--ecl-blue-100) 100%);padding:28px 48px 36px;border-bottom:4px solid var(--ecl-yellow-100)}.ac-detail-hero-inner{max-width:1180px;margin:0 auto}.ac-detail-hero-grid{display:grid;grid-template-columns:1fr 320px;grid-gap:36px;gap:36px;align-items:center}.ac-detail-track{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:4px 12px;border-radius:var(--r-md)}.ac-detail-hero-meta{display:flex;gap:18px;flex-wrap:wrap;margin-top:18px;color:rgba(255,255,255,.9);font-size:14px}.ac-detail-hero-meta span{display:inline-flex;align-items:center;gap:6px}.ac-detail-body{max-width:1180px;margin:0 auto;padding:28px 48px 80px;display:grid;grid-template-columns:1fr 300px;grid-gap:32px;gap:32px;align-items:start}.ac-detail-main{min-width:0}.ac-detail-cta-card{display:flex;flex-direction:column;gap:14px;background:var(--ecl-blue-5);border:1px solid var(--ecl-blue-25);border-top:3px solid var(--ecl-blue-100);padding:18px 20px}.ac-detail-section{margin-bottom:32px}.ac-detail-section .h3{color:var(--ecl-blue-120)}.ac-learn-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px 24px;gap:12px 24px}.ac-learn-item{display:flex;gap:10px;font-size:14px;line-height:1.5}.ac-curriculum{display:flex;flex-direction:column;gap:12px}.ac-chapter{border:1px solid var(--border);background:var(--bg)}.ac-chapter-head{display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--ecl-blue-5);border-bottom:1px solid var(--border)}.ac-chapter-num{width:24px;height:24px;border-radius:50%;background:var(--ecl-blue-100);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.ac-chapter-title{font-weight:700;font-size:14px;color:var(--ecl-blue-120)}.ac-lesson-row{display:flex;align-items:center;gap:12px;width:100%;padding:12px 18px;background:transparent;border:0;border-bottom:1px solid var(--border);font-family:inherit;cursor:pointer;text-align:left;transition:background .12s}.ac-lesson-row:last-child{border-bottom:0}.ac-lesson-row:hover{background:var(--ecl-blue-5)}.ac-lesson-row-icon{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--border-strong);display:flex;align-items:center;justify-content:center;color:var(--ecl-blue-100);flex-shrink:0}.ac-lesson-row.done .ac-lesson-row-icon{background:var(--ecl-success-bg);border-color:var(--ecl-success);color:var(--ecl-success)}.ac-lesson-row-name{flex:1 1;font-size:14px;color:var(--fg);font-weight:500}.ac-lesson-row-dur,.ac-lesson-row.done .ac-lesson-row-name{color:var(--fg-soft)}.ac-lesson-row-dur{font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ac-detail-aside{display:flex;flex-direction:column;gap:16px;position:-webkit-sticky;position:sticky;top:16px}.ac-instructor-avatar{width:44px;height:44px;border-radius:50%;background:var(--ecl-blue-100);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;flex-shrink:0}.ac-cert-card{text-align:center;border-top:3px solid var(--ecl-yellow-100)}.ac-cert-icon{width:48px;height:48px;margin:0 auto 10px;border-radius:50%;background:#fff8d6;color:var(--ecl-yellow-120);justify-content:center}.ac-cert-icon,.ac-detail-row{display:flex;align-items:center}.ac-detail-row{justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--border);font-size:13px}.ac-detail-row:last-child{border-bottom:0}.ac-player{display:flex;height:100%;overflow:hidden}.ac-player-main{flex:1 1;overflow-y:auto;min-width:0}.ac-player-breadcrumb{padding:14px 32px;border-bottom:1px solid var(--border);background:var(--ecl-blue-5)}.ac-video{position:relative;aspect-ratio:16/9;max-height:480px;margin:24px 32px 0;border-radius:var(--r-md);overflow:hidden;cursor:pointer;background:#000}.ac-video-bg,.ac-video-bg:after{position:absolute;inset:0}.ac-video-bg:after{content:"";background:radial-gradient(circle at center,transparent 0,rgba(0,0,0,.35) 100%)}.ac-video-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:72px;height:72px;border-radius:50%;background:rgba(255,255,255,.95);color:var(--ecl-blue-120);border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;padding-left:4px;box-shadow:0 6px 24px rgba(0,0,0,.3);transition:transform .15s;z-index:2}.ac-video:hover .ac-video-play{transform:translate(-50%,-50%) scale(1.08)}.ac-video-meta{position:absolute;bottom:0;left:0;right:0;padding:16px 20px;z-index:2}.ac-video-ch{color:#fff;font-size:13px;font-weight:600;text-shadow:0 1px 4px rgba(0,0,0,.5)}.ac-video-progress{position:absolute;bottom:0;left:0;right:0;height:4px;background:rgba(255,255,255,.3);z-index:3}.ac-video-progress>span{display:block;height:100%;background:var(--ecl-yellow-100);transition:width .3s}.ac-lesson-info{padding:24px 32px 64px;max-width:760px}.ac-resources{margin-top:24px;padding:18px 20px;background:var(--bg-soft);border:1px solid var(--border)}.ac-resource-row{display:flex;align-items:center;gap:10px;padding:10px 0;font-size:14px;border-bottom:1px solid var(--border);cursor:pointer;color:var(--fg)}.ac-resource-row:last-child{border-bottom:0}.ac-resource-row:hover{color:var(--ecl-blue-100)}.ac-lesson-nav{display:flex;justify-content:space-between;gap:12px;margin-top:28px;padding-top:24px;border-top:1px solid var(--border)}.ac-player-sidebar{width:340px;flex-shrink:0;border-left:1px solid var(--border);background:var(--bg);overflow-y:auto}.ac-player-sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;position:-webkit-sticky;position:sticky;top:0;background:var(--bg);z-index:2}.ac-player-sidebar-head,.ac-sidebar-chapter{border-bottom:1px solid var(--border)}.ac-sidebar-ch-title{padding:12px 20px 8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-soft)}.ac-sidebar-lesson{display:flex;align-items:center;gap:10px;width:100%;padding:10px 20px;background:transparent;border:0;border-left:3px solid transparent;font-family:inherit;cursor:pointer;text-align:left;transition:background .12s}.ac-sidebar-lesson.active,.ac-sidebar-lesson:hover{background:var(--ecl-blue-5)}.ac-sidebar-lesson.active{border-left-color:var(--ecl-yellow-100)}.ac-sidebar-lesson-icon{width:22px;height:22px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--ecl-blue-100)}.ac-sidebar-lesson.done .ac-sidebar-lesson-icon{color:var(--ecl-success)}.ac-lesson-dot{width:8px;height:8px;border-radius:50%;border:1.5px solid var(--border-strong)}.ac-sidebar-lesson-name{flex:1 1;font-size:13px;color:var(--fg);line-height:1.35}.ac-sidebar-lesson.active .ac-sidebar-lesson-name{font-weight:700;color:var(--ecl-blue-120)}.ac-sidebar-lesson-dur{font-size:11px;color:var(--fg-soft);flex-shrink:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}[data-theme=dark] .ac-card,[data-theme=dark] .ac-chapter,[data-theme=dark] .ac-continue-card,[data-theme=dark] .ac-featured,[data-theme=dark] .ac-player-sidebar,[data-theme=dark] .ac-resources{background:var(--bg-soft)}[data-theme=dark] .ac-chapter-head{background:var(--ecl-blue-5)}@media (max-width:1000px){.ac-detail-body,.ac-detail-hero-grid,.ac-featured,.ac-learn-grid{grid-template-columns:1fr}.ac-player-sidebar{display:none}}@media (max-width:760px){.ac-detail-hero,.ac-hero{padding:28px 20px 32px}.ac-hero-stats{align-items:flex-start;flex-direction:column;gap:8px}.ac-hero-divider{display:none}.ac-detail-body,.ac-section,.ac-track-filter{padding-left:20px;padding-right:20px}.ac-section-head{align-items:flex-start;flex-direction:column;gap:10px}.ac-featured{padding:18px;gap:18px}.ac-grid{grid-template-columns:1fr}.ac-chapter-head,.ac-continue-card,.ac-lesson-nav,.ac-resource-row{align-items:flex-start;flex-direction:column}.ac-player{display:block;overflow-y:auto}.ac-player-main{overflow:visible}.ac-lesson-info,.ac-player-breadcrumb{padding-left:20px;padding-right:20px}.ac-video{margin:18px 20px 0}.ac-video-play{width:58px;height:58px}}@media (max-width:560px){.ac-detail-hero,.ac-hero{padding:24px 16px 28px}.ac-detail-body,.ac-lesson-info,.ac-player-breadcrumb,.ac-section,.ac-track-filter{padding-left:12px;padding-right:12px}.ac-video{margin-left:12px;margin-right:12px}.ac-thumb-lg{height:180px}}