.waitlist-page{min-height:100vh;align-items:center;justify-content:center;padding:32px 20px}.waitlist-card,.waitlist-page{display:flex;background:var(--bg)}.waitlist-card{width:min(520px,100%);flex-direction:column;gap:16px;padding:36px 32px;border:1px solid var(--border);border-radius:16px}.waitlist-card p{margin:0;font-size:15px;line-height:1.55;color:var(--fg)}.waitlist-admin .muted,.waitlist-card .muted{color:var(--fg-soft);font-size:14px}.waitlist-retry{padding:10px 12px;border-radius:10px;background:var(--ecl-warning-bg,#fff6e8)}.waitlist-actions{display:flex;flex-wrap:wrap;gap:10px}.waitlist-admin .btn:disabled,.waitlist-page .btn:disabled{opacity:.55;cursor:not-allowed}.waitlist-admin{min-height:100vh;padding:32px 24px 64px;background:var(--bg);color:var(--fg)}.waitlist-admin-head{display:flex;gap:16px;align-items:flex-start;max-width:1100px;margin:0 auto 20px}.waitlist-admin-head p{margin:6px 0 0}.waitlist-admin-alert,.waitlist-admin-note{max-width:1100px;margin:0 auto 16px}.waitlist-admin-note{padding:10px 12px;border-radius:10px;background:var(--ecl-success-bg);color:var(--ecl-success)}.waitlist-bulk,.waitlist-filters,.waitlist-table-wrap{max-width:1100px;margin-left:auto;margin-right:auto}.waitlist-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.waitlist-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:12px}.waitlist-table{width:100%;border-collapse:collapse;font-size:14px}.waitlist-table td,.waitlist-table th{padding:12px 14px;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}.waitlist-table th{font-size:12px;letter-spacing:.02em;color:var(--fg-soft)}.waitlist-row-actions{display:flex;flex-wrap:wrap;gap:8px}.waitlist-status{display:inline-flex;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:700;background:var(--ecl-grey-10)}.waitlist-status-approved{color:var(--ecl-success)}.waitlist-status-rejected{color:var(--ecl-error,#b42318)}.waitlist-status-waitlist{color:var(--primary)}.waitlist-bulk{margin-top:28px;padding:20px;border:1px solid var(--border);border-radius:12px}.waitlist-bulk h2,.waitlist-preview h3{margin:0 0 8px;font-size:16px}.waitlist-bulk-input{width:100%;margin:12px 0;min-height:140px;resize:vertical}.waitlist-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:16px;gap:16px;margin-top:16px}.waitlist-preview ul{margin:0;padding-left:18px}@media (max-width:720px){.waitlist-card{padding:24px 18px}.waitlist-admin{padding:20px 14px 48px}}.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-class-grid,.profile-fields-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px 24px;gap:16px 24px}.profile-class-grid{margin-bottom:20px}.profile-class-note{grid-column:1/-1;margin:-8px 0 0;font-size:12px;color:var(--fg-soft)}.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-class-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}}.app-main:has(>.write-page){display:flex;flex-direction:column;overflow:hidden}.write-page{display:flex;align-items:stretch;width:100%;max-width:none;margin:0;padding:0;overflow:hidden}.write-main,.write-page{flex:1 1 auto;min-height:0}.write-main{min-width:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:16px 24px 64px}.write-page-with-side .write-main{padding-right:20px}.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:8px;margin-bottom:12px}.write-chrome-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.write-chrome-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:auto}.write-chrome-actions .write-status{margin:0}#write-export-part-b:focus-visible{outline:2px solid var(--ecl-yellow-100);outline-offset:2px}.write-chrome-call{flex:0 1 auto;min-width:0;max-width:min(36rem,55%);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.write-chrome-call-spacer{flex:1 1;min-width:0}.write-chrome-params{display:flex;flex-wrap:wrap;align-items:flex-end;min-width:0}.write-title-field{display:block;min-width:0}.write-title-input{display:block;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.25;border-radius:0;resize:none;overflow:hidden;overflow-wrap:anywhere;white-space:pre-wrap;field-sizing:content;min-height:calc(1.25em + 8px)}.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{flex-direction:column;align-items:stretch;gap:0;margin:0 0 12px;padding:0 0 12px;border:0;border-bottom:1px solid var(--border)}.write-stepper,.write-stepper-step{display:flex;background:transparent}.write-stepper-step{align-items:center;gap:8px;width:100%;border:0;padding:6px 8px;font:inherit;cursor:pointer;text-align:left;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-step.active{background:var(--ecl-blue-5);box-shadow:inset 3px 0 0 var(--ecl-blue-100)}.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:2px;height:10px;margin:0 0 0 18px;background:var(--border-strong);flex-shrink:0}.write-stepper-line.done{background:var(--ecl-success)}.write-nav-col{display:flex;flex-direction:column;min-width:0;padding-top:4px}.write-status{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin: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}.gen-spinner{display:inline-block;width:14px;height:14px;margin-right:8px;vertical-align:-2px;border:2px solid var(--ecl-blue-25);border-top-color:var(--ecl-blue-100);border-radius:50%;animation:spin .7s linear infinite}.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);grid-gap:12px;gap:12px;align-items:start}.write-editor,.write-rail{background:transparent;border:0}.write-rail{padding:0}.write-editor{padding:16px 18px 20px;background:var(--bg);border:1px solid var(--border)}.write-side{flex:0 0 clamp(280px,28vw,360px);align-self:stretch;display:flex;flex-direction:column;gap:0;min-height:0;margin:0;padding:12px 12px 12px 14px;border-left:1px solid var(--border);background:var(--bg);box-sizing:border-box}.write-side>.write-chat-rail{flex:1 1 auto;min-height:0}.write-field{display:flex;flex-direction:column;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-md-editor{display:flex;flex-direction:column;gap:0;border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--bg);overflow:hidden}.write-md-editor.is-loading{min-height:48vh;border:1px solid var(--border-strong)}.write-md-toolbar{display:flex;align-items:center;gap:4px;padding:6px 8px;border-bottom:1px solid var(--border);background:var(--bg-soft)}.write-md-tool{min-width:28px;height:28px;padding:0 8px;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--ecl-blue-120);font:inherit;font-size:13px;font-weight:700;cursor:pointer}.write-md-tool:hover{background:var(--ecl-blue-5);border-color:var(--ecl-blue-25)}.write-md-tool.is-active{background:var(--ecl-blue-5);border-color:var(--ecl-blue-100)}.write-md-surface{border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;min-height:0;resize:none;background:transparent}.write-md-prose{min-height:48vh;padding:14px 16px;outline:none;line-height:1.55;color:var(--fg);font-size:14px}.write-md-prose>*+*{margin-top:.75em}.write-md-prose h2,.write-md-prose h3,.write-md-prose h4{color:var(--ecl-blue-120);line-height:1.3;margin:1.1em 0 .35em}.write-md-prose h2{font-size:1.2em}.write-md-prose h3{font-size:1.08em}.write-md-prose h4{font-size:1em}.write-md-prose p{margin:0}.write-md-prose ol,.write-md-prose ul{margin:0;padding-left:1.3em}.write-md-prose li+li{margin-top:.25em}.write-md-prose a{color:var(--ecl-blue-100);text-decoration:underline}.write-md-prose table{width:100%;border-collapse:collapse;font-size:13px}.write-md-prose td,.write-md-prose th{border:1px solid var(--border);padding:6px 8px;text-align:left;vertical-align:top}.write-md-prose th{background:var(--ecl-blue-5);color:var(--ecl-blue-120);font-weight:700}.write-md-prose p.is-editor-empty:first-child:before{color:var(--fg-soft);content:attr(data-placeholder);float:left;height:0;pointer-events:none}.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-blue-120);font-weight:500}.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-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-strong);overflow:hidden}.write-chat-rail-head{position:-webkit-sticky;position:sticky;top:0;z-index:2;flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--ecl-blue-5);border-bottom:1px solid var(--border)}.write-chat-rail-eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-soft)}.write-chat-rail-close{margin-left:auto}.write-chat-mobile-toggle{display:none}.write-rail-log{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:8px;padding:12px}.write-rail-empty{margin:0;font-size:13px}.write-rail-hint{margin:0;font-size:12px;line-height:1.4}.write-rail-turn{max-width:92%;padding:10px 12px;font-size:14px;line-height:1.5;border-radius:var(--r-sm);box-shadow:0 1px 0 rgba(0,0,0,.04)}.write-rail-turn-user{align-self:flex-end;background:var(--ecl-blue-5);border:1px solid var(--ecl-blue-25,var(--border-strong));color:var(--fg)}.write-rail-turn-meta{margin:0 0 4px;font-size:11px;line-height:1.3;color:var(--fg-soft)}.write-rail-turn-message{margin:0}.write-rail-turn-agent{align-self:flex-start;background:var(--bg);border:1px solid var(--border-strong);color:var(--fg)}.write-rail-turn-running{opacity:.9}.write-rail-running{margin:0;font-size:13px;color:var(--fg-soft);font-style:italic}.write-rail-compliance{margin-top:8px}.write-rail-tools{flex:0 0 auto;margin:0;border-top:1px solid var(--border);background:var(--bg)}.write-rail-tools-summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;font-size:12px;font-weight:700;color:var(--ecl-blue-120);cursor:pointer;list-style:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.write-rail-tools-summary::-webkit-details-marker{display:none}.write-rail-tools-summary svg{flex-shrink:0;transform:rotate(-90deg);transition:transform .14s cubic-bezier(.23,1,.32,1);color:var(--fg-soft)}.write-rail-tools[open]>.write-rail-tools-summary svg{transform:rotate(90deg)}.write-rail-tools-summary:focus-visible{outline:2px solid var(--ecl-yellow-100);outline-offset:-2px}.write-rail-tools .write-rail-actions{padding:0 10px 10px}.write-rail-tools .write-rail-hint{padding:0 12px 10px}.write-rail-dock{flex:0 0 auto;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:8px 10px 10px;border-top:1px solid var(--border);background:var(--bg-soft)}.write-rail-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.write-rail-action{width:auto;max-width:100%;justify-content:center;min-height:32px;height:auto;padding:6px 10px;white-space:normal;text-align:center;line-height:1.2}.write-rail-composer{display:flex;gap:6px;align-items:flex-end}.write-rail-input{flex:1 1;min-width:0;min-height:36px;max-height:120px;height:36px;resize:none;overflow-x:hidden;overflow-y:hidden;field-sizing:content;font:inherit;font-size:14px;line-height:1.35;padding:8px 10px;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--bg);color:var(--fg);box-sizing:border-box}.write-rail-input:focus{outline:2px solid var(--ecl-blue-75,var(--ecl-blue-100));outline-offset:1px}.write-rail-send{flex:0 0 auto;width:36px;height:36px;min-width:36px;padding:0;display:inline-flex;align-items:center;justify-content:center}.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{flex-wrap:wrap;align-items:flex-end;gap:10px 14px;flex:1 1 auto}.write-param,.write-params{display:flex;margin:0;min-width:0}.write-param{flex-direction:column;gap:3px}.write-param-label{font-size:11px;font-weight:700;letter-spacing:.02em;color:var(--fg-soft);line-height:1.2}.write-param-control{display:inline-flex;align-items:center;gap:6px;min-width:0}.write-param-suffix{font-size:12px;font-weight:600;color:var(--fg-soft);line-height:1;white-space:nowrap}.write-params .input{font-size:13px;height:32px;padding:0 8px;box-sizing:border-box;min-width:0;line-height:30px}.write-params input[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.write-params input[type=number]::-webkit-inner-spin-button,.write-params input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}.write-params-acronym{width:10.5rem;max-width:100%}.write-params-duration{width:4.25rem}.write-params-trl .input{width:3.1rem}.write-params-trl-arrow{color:var(--fg-soft);font-size:14px;line-height:1}@media (max-width:520px){.write-params-acronym{width:100%}.write-param:has(.write-params-acronym){flex:1 1 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-rail-tools-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){.app-main:has(>.write-page){display:block;overflow-y:auto}.write-page{flex-direction:column;flex:none;height:auto;min-height:100%}.write-main,.write-page{overflow:visible}.write-page-with-side .write-main{padding-right:24px}.write-grid{grid-template-columns:1fr}.write-textarea{min-height:40vh}.write-chrome-toolbar,.write-top{flex-wrap:wrap}.write-chrome-call{max-width:100%}.write-chrome-actions{width:100%;justify-content:flex-end}.write-title-input{font-size:22px}.write-side{flex:none;position:static;width:auto;height:auto;max-height:none;margin:0;padding:0;border-left:0;background:transparent}.write-chat-mobile-toggle{display:inline-flex;position:fixed;right:16px;bottom:16px;z-index:45;align-items:center;gap:8px;box-shadow:0 8px 24px rgba(0,0,0,.16)}.write-side:has(.write-chat-rail-open) .write-chat-mobile-toggle{display:none}.write-chat-rail{position:fixed;left:0;right:0;bottom:0;z-index:46;height:min(78dvh,640px);max-height:min(78dvh,640px);border-radius:var(--r-md) var(--r-md) 0 0;border-bottom:0;box-shadow:0 -10px 32px rgba(0,0,0,.14);transform:translateY(110%);transition:transform .2s cubic-bezier(.23,1,.32,1);pointer-events:none}.write-chat-rail-open{transform:translateY(0);pointer-events:auto}.write-chat-rail-close{display:inline-flex}}@media (min-width:1101px){.write-chat-rail-close{display:none}}@media (max-width:1100px) and (prefers-reduced-motion:reduce){.write-chat-rail{transition:none}}.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)}.drawer-overlay.copilot-open .drawer{width:min(680px,100%);min-width:0}.copilot-rail{flex:0 0 min(420px,100%);min-width:0;display:flex;flex-direction:column;background:var(--bg-soft);border-left:1px solid var(--border-strong);animation:drawerIn .22s cubic-bezier(.2,.7,.2,1)}.copilot-rail-head{display:flex;align-items:flex-start;gap:8px;padding:14px 16px;background:var(--ecl-blue-5);border-bottom:1px solid var(--border)}.copilot-rail-head-main{min-width:0;flex:1 1}.copilot-rail-head-actions{display:flex;align-items:center;gap:4px}.copilot-rail-eyebrow{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-soft)}.copilot-rail-score{font-size:11px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--ai-100);background:var(--bg);border:1px solid var(--border);border-radius:var(--r-sm);padding:1px 6px}.copilot-rail-title{margin:4px 0 0;font-size:14px;line-height:1.35;font-weight:600}.copilot-rail-log{flex:1 1;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:12px}.copilot-rail-error,.copilot-rail-note{margin:0;font-size:13px}.copilot-rail-error{color:var(--ecl-error)}.copilot-rail-turn{max-width:92%;padding:10px 12px;font-size:14px;line-height:1.5;white-space:pre-wrap;border-radius:var(--r-sm);box-shadow:0 1px 0 rgba(0,0,0,.04)}.copilot-rail-turn-user{align-self:flex-end;background:var(--ecl-blue-5);border:1px solid var(--ecl-blue-25,var(--border-strong));color:var(--fg)}.copilot-rail-turn-agent{align-self:flex-start;background:var(--bg);border:1px solid var(--border-strong);color:var(--fg)}.copilot-rail-turn-pending{opacity:.72}.copilot-rail-turn-running{opacity:.9}.copilot-rail-running{margin:0;font-size:13px;color:var(--fg-soft);font-style:italic}.chat-md{display:flex;flex-direction:column;gap:.45em}.chat-md-heading,.chat-md-list,.chat-md-p{margin:0}.chat-md-list{padding-left:1.2em}.chat-md-table{width:100%;border-collapse:collapse;font-size:12.5px;margin:.2em 0}.chat-md-table td,.chat-md-table th{border:1px solid var(--border);padding:5px 7px;text-align:left;vertical-align:top}.chat-md-table th{background:var(--ecl-blue-5);color:var(--ecl-blue-120);font-weight:700}.chat-md code{font-size:.92em;padding:.05em .3em;background:var(--bg-soft);border-radius:3px}.chat-md a{color:var(--ecl-blue-100);text-decoration:underline}.copilot-rail-chips{display:flex;flex-direction:column;gap:4px;padding:8px 12px 0}.copilot-rail-chip{width:100%;justify-content:flex-start;height:auto;white-space:normal;text-align:left;line-height:1.35}.copilot-rail-composer{display:flex;align-items:flex-end;gap:6px;padding:10px 12px}.copilot-rail-input{flex:1 1;min-width:0;min-height:36px;max-height:120px;height:36px;resize:none;overflow-x:hidden;overflow-y:hidden;field-sizing:content;font:inherit;font-size:13px;line-height:1.45;padding:8px 10px;color:var(--fg);background:var(--bg);border:1px solid var(--border);border-radius:var(--r-sm);box-sizing:border-box}.copilot-rail-input:focus-visible{outline:2px solid var(--ecl-blue-100);outline-offset:1px}.copilot-rail-send{flex:0 0 auto}.copilot-rail-foot{display:flex;flex-direction:column;gap:6px;padding:12px;border-top:1px solid var(--border);background:var(--bg-soft)}.copilot-rail-start{width:100%;justify-content:center;min-height:40px;font-weight:600;gap:8px;box-shadow:0 1px 2px rgba(0,40,104,.12)}.copilot-rail-start:disabled{box-shadow:none}.copilot-rail-hint{margin:0;font-size:12px;line-height:1.45}.copilot-rail-banner{margin:0 0 10px;padding:10px 12px;background:var(--ecl-blue-5);border:1px solid var(--ecl-blue-25);font-size:13px;line-height:1.45}.copilot-mobile-only{display:none}@media (max-width:720px){.copilot-mobile-only{display:inline-flex}.drawer-overlay.copilot-open .drawer{display:none}.drawer-overlay.copilot-open .copilot-rail{flex:1 1 100%;border-left:none}.drawer-overlay.copilot-open.copilot-show-bando .drawer{display:flex;width:100%}.drawer-overlay.copilot-open.copilot-show-bando .copilot-rail{display:none}}@media (prefers-reduced-motion:reduce){.copilot-rail{animation:none}}.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}}