/* ProductFlow V2.0 · Enterprise Dashboard / Concept 03 */
:root{--ink:#14283c;--sub:#6f8190;--muted:#97a7b4;--border:#e7edf0;--soft:#f5f8f9;--paper:#fff;--teal:#12776b;--teal-dark:#0c665d;--mint:#e9f5f1;--navy:#1c3647;--shadow:0 13px 40px rgba(23,48,60,.035);--radius:15px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7f9fa;color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft Yahei",sans-serif;font-size:14px;line-height:1.6;font-weight:400}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.52;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible{outline:3px solid #a4dacc;outline-offset:2px}h1,h2,h3,p{margin-top:0}.ui-icon{width:19px;height:19px;flex:none;vertical-align:middle}
/* App chrome */
.app{display:grid;grid-template-columns:226px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:26px 16px 20px;border-right:1px solid #e7edef;background:#fff;display:flex;flex-direction:column}.brand{display:flex;gap:11px;align-items:center;margin:0 6px 47px;padding:0 1px}.brand-mark{display:grid;place-items:center;width:37px;height:37px;border-radius:11px;background:linear-gradient(145deg,#158a7b,#0c635a);color:white;font-size:21px;font-weight:800;box-shadow:0 6px 11px rgba(24,118,106,.14)}.brand-name{font-size:18px;font-weight:810;letter-spacing:-.75px;line-height:1.2}.brand-sub{font-size:9px;color:#9dabba;letter-spacing:.65px;margin-top:4px;line-height:1.5}.caption-nav{padding-left:15px;margin-bottom:12px;font-size:11px;font-weight:670;letter-spacing:1px;color:#8da0ad}.caption-nav span{font-size:9px;font-weight:600;color:#bac4cb;letter-spacing:1.1px;margin-left:4px}.sidebar-menu{display:grid;gap:5px}.nav{display:flex;align-items:center;gap:12px;width:100%;min-height:43px;padding:11px 15px;border:0;border-radius:9px;color:#697f8c;background:transparent;text-align:left;font-weight:600;font-size:13px;transition:background .16s,color .16s}.nav .ui-icon{width:17px;height:17px;stroke-width:1.8px}.nav:hover{color:var(--teal);background:#f5faf8}.nav.active{background:#e9f6f2;color:var(--teal);font-weight:770}.menu-count{margin-left:auto;font-size:10px;font-style:normal;background:#ffe9eb;color:#d3414e;border-radius:5px;min-width:20px;padding:0 5px;text-align:center}.sidebar-bottom{margin-top:auto;padding:12px 8px 0;color:#97a7b4;font-size:10px;line-height:2}.sidebar-edition{display:flex;gap:7px;align-items:center;color:#667d85;font-size:11px;font-weight:700}.edition-dot{width:6px;height:6px;background:#3da38f;border-radius:50%}.main{min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;height:64px;padding:0 34px;background:#fff;border-bottom:1px solid #e9eef1}.breadcrumb{font-size:12px;color:#9caab5}.breadcrumb span{margin:0 9px;color:#c7d0d5}.breadcrumb strong{color:#657985;font-weight:650}.identity{display:flex;gap:10px;align-items:center;color:#687a87}.identity-avatar{display:grid;place-items:center;border-radius:50%;background:#dbeee9;width:31px;height:31px;color:#207f74;font-weight:780}.identity-name{display:flex;flex-direction:column;align-items:flex-start;line-height:1.3}.identity-name b{font-size:11px;color:#233b48}.identity-name small{font-size:10px;color:#8d9da5}.identity .logout{margin-left:12px}.container{max-width:1510px;margin:0 auto;padding:26px 32px 72px}
/* Shared UI */
.eyebrow{font-size:10px;letter-spacing:2.2px;color:#8ea9a7;font-weight:800;text-transform:uppercase;display:flex;align-items:center;gap:14px}.eyebrow-line{height:1px;width:27px;background:#bedbd4}.btn{display:inline-flex;gap:7px;justify-content:center;align-items:center;border:1px solid #e2e9ed;border-radius:9px;padding:10px 16px;min-height:39px;background:white;color:#4b6270;font-size:12px;font-weight:720;line-height:1.4;white-space:nowrap;transition:background .15s,border-color .15s,transform .15s}.btn:hover{background:#f5f9f8;border-color:#c9dcd8}.btn.primary{background:linear-gradient(145deg,#178174,#08675c);color:#fff;border-color:#0b776c;box-shadow:0 6px 13px #11756812}.btn.primary:hover{background:linear-gradient(145deg,#12796d,#075f57);transform:translateY(-1px)}.btn.soft{background:#eaf7f2;color:#13786c;border-color:#d8e9e2}.btn.sm{min-height:31px;padding:6px 11px}.btn .ui-icon{width:15px;height:15px}.card{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.panel{padding:25px 27px}.pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;font-size:11px;color:#5f737f;background:#eef3f5;white-space:nowrap}.pill.teal{background:#e5f5ef;color:#187963}.pill.amber{background:#fff3df;color:#a06a18}.pill.blue{background:#eaf2fe;color:#366fa7}.muted{color:#91a2af;font-size:11px}.pagehead{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}.pagehead h1{font-size:27px;line-height:1.35;letter-spacing:-.7px;margin:6px 0}.pagehead p{color:var(--sub);font-size:12px;margin:0}
/* Dashboard specific */
.dashboard-page{padding-top:24px}.dash-hero{position:relative;overflow:hidden;isolation:isolate;display:flex;align-items:center;justify-content:space-between;min-height:172px;padding:25px 28px 25px 31px;border:1px solid #dfeee9;border-radius:16px;background:linear-gradient(101deg,#f1f8f7 0%,#f5faf8 35%,#e8f4f0 100%);margin-bottom:16px}.hero-copy{position:relative;z-index:2;max-width:65%}.dash-hero h1{font-size:29px;font-weight:790;letter-spacing:-1px;line-height:1.35;margin:11px 0 5px}.dash-hero h1 span{color:#14293b}.dash-hero p{font-size:12px;color:#657f87;margin:0 0 18px;max-width:600px}.hero-cta{padding:9px 17px;min-height:38px}.hero-art{position:absolute;right:0;bottom:0;top:10px;width:49%;z-index:0;opacity:.85}.hero-art svg{height:100%;width:100%}.hero-note{position:relative;z-index:2;font-size:11px;color:#7d9892;padding-left:19px;border-left:1px solid #c6dfd6;line-height:1.9;text-align:left;min-width:175px;margin-right:3px}.hero-note b{font-weight:620;color:#6d8985}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:16px}.kpi{position:relative;overflow:hidden;display:flex;gap:16px;align-items:flex-start;min-height:133px;padding:20px 21px}.kpi-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;flex:none}.kpi-icon .ui-icon{width:21px;height:21px;stroke-width:2}.metric-green .kpi-icon{background:#e8f7ef;color:#1c9a75}.metric-orange .kpi-icon{background:#fff4e3;color:#eca019}.metric-blue .kpi-icon{background:#eaf2ff;color:#3b84d8}.metric-purple .kpi-icon{background:#f0eafc;color:#9564d5}.kpi-copy{display:flex;flex-direction:column;align-items:start;min-width:0;z-index:1}.kpi-label{font-size:12px;color:#657989}.kpi strong{font-size:30px;line-height:1.25;font-weight:790;letter-spacing:-1px;margin-top:5px}.kpi small{color:#8da0ad;font-size:10px;margin-top:6px;line-height:1.4}.kpi-deco{position:absolute;right:-12px;bottom:0;width:43%;height:45px;opacity:.55;clip-path:polygon(0% 85%,20% 58%,37% 70%,56% 28%,73% 49%,100% 0%,100% 100%,0 100%)}.metric-green .kpi-deco{background:linear-gradient(to top,#d1efe1,transparent)}.metric-orange .kpi-deco{background:linear-gradient(to top,#ffebc9,transparent)}.metric-blue .kpi-deco{background:linear-gradient(to top,#deecff,transparent)}.metric-purple .kpi-deco{background:linear-gradient(to top,#e9e0ff,transparent)}
.insight-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(330px,1fr);gap:14px;margin-bottom:16px}.funnel-panel,.focus-panel{min-height:275px;padding:18px 21px}.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:17px}.section-head h2{font-size:16px;letter-spacing:-.25px;margin:0;font-weight:780}.section-head p{color:#9baab4;font-size:11px;margin:3px 0 0}.micro-help{color:#afbec3;font-size:13px;font-weight:500;margin-left:5px}.section-head .ui-icon{width:13px;height:13px}.funnel{display:flex;width:100%;height:149px;align-items:stretch;overflow:hidden;gap:0;margin:11px 0}.funnel-step{--fbg:#f0f5f5;--ftxt:#244052;flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:15px 18px 15px 25px;position:relative;border:0;background:var(--fbg);color:var(--ftxt);clip-path:polygon(0 0,calc(100% - 22px) 0,100% 50%,calc(100% - 22px) 100%,0 100%,22px 50%);margin-left:-12px;text-align:center;transition:filter .16s,transform .16s}.funnel-step:first-child{margin-left:0;padding-left:12px;clip-path:polygon(0 0,calc(100% - 22px) 0,100% 50%,calc(100% - 22px) 100%,0 100%,20px 50%,0 100%,0 0);clip-path:polygon(0 0,calc(100% - 22px) 0,100% 50%,calc(100% - 22px) 100%,0 100%,16px 50%,0 0)}.funnel-step:first-child:before{content:'';position:absolute;inset:0 auto 0 0;width:16px;background:inherit}.funnel-step:last-child{margin-right:0}.funnel-step:hover{filter:brightness(.97)}.funnel-step.selected{filter:saturate(1.5) brightness(.98);outline:0}.funnel-step:focus-visible{outline-offset:-4px}.funnel-step span{font-size:12px;font-weight:730;white-space:nowrap}.funnel-step strong{font-size:24px;font-weight:800;line-height:1.25}.funnel-step small{font-size:10px;opacity:.72}.funnel-step.f0{--fbg:#14796e;--ftxt:#fff}.funnel-step.f1{--fbg:#8cc7bc;--ftxt:#164b4b}.funnel-step.f2{--fbg:#c9e6e1;--ftxt:#255e60}.funnel-step.f3{--fbg:#edf3f3;--ftxt:#6e8792}.funnel-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;color:#9aabb4;margin-top:14px}.legend-dot{background:#339a84;width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:6px}.section-link{background:transparent;border:0;color:#178174;font-size:11px;font-weight:710;white-space:nowrap;display:flex;align-items:center;gap:5px}.section-link:hover{color:#0c5b56}.focus-count{background:#fff0ee;color:#de6460;font-size:10px;padding:1px 7px;border-radius:6px;margin-left:6px;vertical-align:middle}.focus-list{display:grid;gap:0}.focus-item{display:flex;align-items:center;gap:11px;width:100%;min-width:0;text-align:left;border:0;border-top:1px solid #edf2f4;background:transparent;padding:13px 3px}.focus-item:first-child{border-top:0}.focus-item:hover{background:#f8faf9}.focus-ico{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:9px}.focus-ico .ui-icon{width:17px;height:17px}.review-icon{background:#fff4e6;color:#e4a031}.task-icon{background:#e8f5ee;color:#229d79}.focus-main{flex:1;min-width:0}.focus-main b{font-size:12px;font-weight:720;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.focus-main small{color:#97a8b4;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.focus-time{font-size:10px;color:#9cabb6;white-space:nowrap}.focus-chevron{color:#a6b6bd;font-size:18px}.focus-empty{min-height:176px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#849a9e}.focus-empty b{font-size:12px;color:#58757b;margin:8px 0 3px}.focus-empty small{font-size:10px;max-width:230px}.check-ring{width:35px;height:35px;border-radius:50%;background:#e1f3ed;color:#208574;display:grid;place-items:center;font-size:16px}
.projects-panel{padding:18px 18px 10px}.projects-header{align-items:center;margin-bottom:16px;padding:0 4px}.section-counter{font-size:12px;color:#98aab2;font-weight:600;margin-left:4px}.project-tools{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;align-items:center}.project-tools select,.search-wrap{border:1px solid #e6ecf0;background:#fbfcfd;border-radius:9px;min-height:34px;color:#708493;font-size:11px}.project-tools select{padding:6px 27px 6px 10px;max-width:133px;cursor:pointer}.search-wrap{display:flex;align-items:center;gap:7px;padding-left:10px;min-width:210px}.search-wrap .ui-icon{width:14px;height:14px;color:#a4b4bd}.search{height:33px;min-width:0;width:190px;border:0;outline:none;background:transparent;padding:7px 9px 7px 0;color:#3e5360;font-size:11px}.search:focus{outline:0}.search-wrap:focus-within{border-color:#74b5a8;box-shadow:0 0 0 3px #e2f2ed}.projects-table-wrap{width:100%;overflow-x:auto}.projects-table{width:100%;border-collapse:collapse;table-layout:fixed;min-width:760px}.projects-table th{text-align:left;font-weight:620;color:#8fa2ad;background:#f5f8f9;font-size:11px;padding:10px 14px;white-space:nowrap}.projects-table th:first-child{border-radius:9px 0 0 9px;width:27%}.projects-table th:nth-child(2){width:16%}.projects-table th:nth-child(3){width:16%}.projects-table th:nth-child(4){width:19%}.projects-table th:nth-child(5){width:17%}.projects-table th:last-child{width:5%;border-radius:0 9px 9px 0;text-align:center}.projects-table td{border-bottom:1px solid #eff3f4;padding:12px 14px;font-size:12px;color:#486071;vertical-align:middle}.projects-table tr:last-child td{border-bottom:none}.project-row{cursor:pointer;transition:background .15s}.project-row:hover{background:#f8fbfa}.product{display:flex;align-items:center;gap:10px;min-width:0}.row-status-dot{width:7px;height:7px;border-radius:50%;background:#98b1b2;flex:none}.row-status-dot.is-blue{background:#5896e2}.row-status-dot.is-green{background:#3bb481}.product-name{min-width:0}.product-name b{display:block;font-size:12px;font-weight:740;color:#213448;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-name small{display:block;font-size:10px;color:#98a9b3;margin-top:2px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.owner-avatar{width:28px;height:28px;display:inline-grid;place-items:center;border-radius:50%;background:#e5edf1;color:#4e697c;font-size:11px;font-weight:750;vertical-align:middle}.owner-name{font-size:11px;color:#577181;margin-left:6px}.stage-pill,.status-pill{display:inline-flex;align-items:center;gap:7px;padding:5px 11px;font-size:11px;line-height:1.2;border-radius:999px;white-space:nowrap}.stage-pill i{width:6px;height:6px;background:currentColor;border-radius:50%;opacity:.8}.stage-pill.s0{background:#e8f7f0;color:#208969}.stage-pill.s1{background:#e9f2ff;color:#3b86ce}.stage-pill.s2{background:#f0e9ff;color:#8659ce}.stage-pill.s3{background:#e8f6f6;color:#168a89}.status-live{color:#237b67;background:#eaf7f0}.status-wait{color:#a8761d;background:#fff4e2}.status-result{color:#687b8b;background:#eff4f5}.updated-main{display:block;font-size:11px;color:#61788b}.updated-sub{display:block;font-size:10px;color:#9aacb5}.row-more{font-size:17px;color:#658293;letter-spacing:2px}.table-empty{min-height:220px;padding:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.empty-art{width:44px;height:44px;background:#eff7f5;color:#2b9480;border-radius:13px;display:grid;place-items:center;margin-bottom:11px}.empty-art .ui-icon{width:23px;height:23px}.table-empty b{font-size:13px}.table-empty p{color:#9aaab4;font-size:11px;margin:4px 0 12px}.disclaimer{font-size:11px;color:#a4b1b9;margin-top:19px}
/* Detail forms */
.details{display:grid;grid-template-columns:minmax(0,1fr) 282px;gap:17px}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:22px}.step{background:#fff;border:1px solid var(--border);padding:15px 16px;border-radius:12px;position:relative;overflow:hidden}.step span{font-size:10px;letter-spacing:1px;color:#9daebb}.step strong{font-size:13px;font-weight:730;display:block;margin-top:5px}.step.current{background:#eaf7f3;border-color:#96c9b9;color:#0c6a5c}.step.current:before{content:'';position:absolute;inset:0 auto 0 0;width:4px;background:var(--teal)}.step.completed strong:after{content:' ✓';color:#19957d}.form-title{margin-bottom:20px}.form-title h2{font-size:17px;margin:0 0 3px}.form-title p{color:#899ca7;font-size:12px;margin:0}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field.span2{grid-column:1/-1}.field label{font-size:12px;color:#4d6271;font-weight:690}.field input,.field textarea,.field select{border:1px solid #e2e9ed;border-radius:9px;padding:11px 12px;width:100%;min-width:0;color:#233b49;background:#fff;outline:0}.field input:focus,.field textarea:focus,.field select:focus{border-color:#75b9ad;box-shadow:0 0 0 3px #e6f5f1}.field input::placeholder,.field textarea::placeholder{color:#b2bec5}.field textarea{min-height:81px;resize:vertical}.field small{color:#99aab3;font-size:10px}.actionbar{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #eef2f3;padding-top:20px;margin-top:22px}.note{font-size:11px;color:#8e9fa9}.inner{margin-top:15px;padding:17px;border:1px solid #e6edee;border-radius:11px;background:#fafcfc}.inner summary{font-size:12px;font-weight:730;cursor:pointer;color:#425c65}.innercontent{margin-top:17px}.scoregrid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.scoreline{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px}.scoreline select,.riskline select{padding:7px 9px;border:1px solid #e0e8eb;border-radius:8px;background:white}.riskline{display:grid;grid-template-columns:1fr 105px;gap:9px;margin:9px 0;align-items:center;font-size:12px}.rule-result{border:1px solid #d4e9e2;background:#f1faf6;border-radius:12px;padding:16px;margin-top:18px}.rule-result strong{color:#15675c;font-size:14px}.rule-result p{color:#617f76;font-size:12px;margin:7px 0 0}.sidecard{padding:21px;margin-bottom:15px}.sidecard h3{font-size:13px;margin:0 0 16px}.timeline{display:flex;flex-direction:column;gap:14px}.timeline div{border-left:2px solid #dceae5;padding-left:13px;font-size:12px;color:#6f8491}.timeline .now{border-color:#17917c;font-weight:770;color:#186f66}.timeline small{font-size:10px;color:#a2afb8;display:block;margin-top:2px}.alert{background:#fff8ee;color:#997333;font-size:12px;border-radius:10px;padding:13px}.hint-banner{padding:13px 15px;border-radius:10px;background:#f1f7fb;border:1px solid #e2eef3;color:#688193;font-size:12px;margin-bottom:16px}
/* Tasks, approval, login */
.panelhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.panelhead h2{font-size:16px;margin:0}.task{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 3px;border-top:1px solid #edf1f3}.task-text{flex:1}.task-text b{font-size:12px}.task-text small{display:block;font-size:11px;color:#9aaab2;margin-top:3px}.review{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 3px;border-top:1px solid #edf1f3}.review b{font-size:13px}.block{border:1px solid #e6edf0;background:#f9fbfc;border-radius:12px;padding:18px;margin-bottom:13px}.block p{color:var(--sub);font-size:12px;margin:7px 0 0}.empty{padding:44px 14px;color:#9aaab4;text-align:center}.inline-form{display:flex;gap:10px}.inline-form input,.inline-form select{padding:9px;border:1px solid #e3ecef;border-radius:8px;flex:1;min-width:0}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 20% 10%,#e5f5f0,transparent 37%),radial-gradient(circle at 90% 90%,#e9f4f5,transparent 40%),#f6f9fa}.login{max-width:432px;width:100%;padding:36px}.login .brand-mark{width:45px;height:45px}.login h1{font-size:25px;margin:22px 0 5px}.login p{color:var(--sub);font-size:12px;margin-bottom:23px}.login .field{margin:0 0 17px}.login .btn{width:100%;margin-top:6px}.login-foot{font-size:10px;color:#97a7b1;margin-top:22px;text-align:center}.toast{position:fixed;top:max(24px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:9999;display:flex;align-items:center;gap:10px;width:max-content;max-width:min(480px,calc(100vw - 32px));box-sizing:border-box;padding:14px 20px;border:1px solid #d5e5e1;border-radius:14px;color:#253f46;background:#f7fcfa;box-shadow:0 8px 28px #1b353c18,0 2px 6px #1b353c08;font-size:13px;font-weight:500;line-height:1.6;overflow-wrap:anywhere;pointer-events:none;animation:toast-appear .22s ease-out,toast-disappear .18s ease-in 3.42s forwards}
.toast::before{content:"i";display:grid;place-items:center;flex:0 0 20px;width:20px;height:20px;border-radius:50%;background:#e0efea;color:#367e6d;font-family:Georgia,serif;font-size:14px;font-weight:700;line-height:1}
.toast--success{border-color:#a9d5c5}
.toast--success::before{content:"✓"}
.toast--warning{border-color:#edbc79;background:#fffaf2;color:#80521c}
.toast--warning::before{content:"!";background:#fff0d7;color:#ad6b17}
.toast--error{border-color:#e7a3a3;background:#fff7f7;color:#963d3d}
.toast--error::before{content:"!";background:#fbe4e4;color:#bf4848}
@keyframes toast-appear{from{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%,0)}}
@keyframes toast-disappear{to{opacity:0;transform:translate(-50%,-6px)}}
@media(prefers-reduced-motion:reduce){.toast{animation:none}}.hide{display:none!important}
@media(max-width:1300px){.app{grid-template-columns:205px minmax(0,1fr)}.container{padding:23px 24px 60px}.topbar{padding:0 24px}.insight-grid{grid-template-columns:minmax(0,1.2fr) minmax(295px,.85fr)}.focus-time{display:none}.kpi{padding:18px 15px;gap:12px}.project-tools select{max-width:110px}.search-wrap{min-width:180px}.search{width:152px}}
@media(max-width:1060px){.insight-grid{grid-template-columns:1fr}.funnel-panel,.focus-panel{min-height:auto}.focus-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.focus-item:nth-child(2){border-top:0}.dash-hero .hero-note{display:none}.hero-copy{max-width:76%}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.projects-header{align-items:flex-start;flex-direction:column}.project-tools{justify-content:flex-start;width:100%}.project-tools .search-wrap{flex:1}.project-tools .search{width:100%}}
@media(max-width:800px){.app{display:block}.sidebar{height:auto;position:static;display:flex;align-items:center;gap:12px;flex-direction:row;padding:12px 18px;overflow-x:auto;border-right:0;border-bottom:1px solid var(--border)}.brand{margin:0 14px 0 0;white-space:nowrap}.brand-sub,.caption-nav,.sidebar-bottom{display:none}.sidebar-menu{display:flex;gap:4px}.nav{white-space:nowrap;width:auto;padding:8px 11px;font-size:12px}.topbar{height:54px}.details{grid-template-columns:1fr}.hero-copy{max-width:84%}.dash-hero h1{font-size:26px}}
@media(max-width:580px){.container{padding:18px 14px 52px}.topbar{padding:0 16px}.breadcrumb{font-size:10px}.identity-avatar,.identity-name small{display:none}.sidebar{gap:4px;padding:10px}.brand-mark{width:30px;height:30px;font-size:18px}.brand-name{font-size:14px}.nav{gap:6px}.nav .ui-icon{width:15px;height:15px}.dash-hero{min-height:175px;padding:21px}.dash-hero h1{font-size:23px}.hero-copy{max-width:100%}.hero-art{opacity:.25;width:90%}.dash-hero p{font-size:11px}.kpis{gap:9px}.kpi{padding:13px;gap:9px;min-height:106px}.kpi-icon{width:34px;height:34px;border-radius:10px}.kpi-icon .ui-icon{width:17px;height:17px}.kpi strong{font-size:25px}.kpi small{font-size:9px}.kpi-label{font-size:11px}.insight-grid{gap:11px}.funnel-panel,.focus-panel{padding:16px}.funnel{height:116px}.funnel-step{padding:9px 3px 9px 19px;margin-left:-12px}.funnel-step:first-child{padding-left:6px}.funnel-step span{font-size:10px;white-space:normal;line-height:1.3}.funnel-step strong{font-size:19px}.funnel-step small{font-size:9px;white-space:nowrap}.funnel-foot{font-size:9px}.focus-list{grid-template-columns:1fr}.focus-item:nth-child(2){border-top:1px solid #edf2f4}.projects-panel{padding:16px 12px 8px}.project-tools{gap:7px}.project-tools .search-wrap{min-width:100%}.project-tools select{flex:1;max-width:none;font-size:10px}.pagehead{flex-direction:column;align-items:flex-start}.pagehead h1{font-size:24px}.pagehead p{font-size:11px}.formgrid,.scoregrid{grid-template-columns:1fr}.field.span2{grid-column:auto}.steps{gap:5px}.step{padding:8px}.step strong{font-size:11px}.step span{font-size:8px}.panel{padding:18px}.actionbar{align-items:stretch;flex-direction:column}.identity{gap:7px}.login{padding:26px}.sidebar-menu .nav{font-size:11px}}

/* V2.1 · Style 03 unified design system · Applies to every application page */
:root{--canvas:#f4f8f9;--border:#e2eaf0;--ink:#172e3f;--sub:#6d8190;--teal:#0f786c;--teal-dark:#0b645c;--mint:#eaf7f2;--shadow:0 6px 28px rgba(15,56,65,.038)}
body{background:var(--canvas);color:var(--ink)}
.sidebar{box-shadow:6px 0 30px rgba(30,66,72,.012);z-index:2}
.nav.active{box-shadow:inset 3px 0 0 #288d7c}
.topbar{height:68px;box-shadow:0 4px 18px rgba(33,66,76,.018)}
.container{max-width:1480px}
.card{border:1px solid #e3ebed;box-shadow:0 7px 29px rgba(22,59,68,.039)}
.btn{border-radius:10px;transition:transform .15s,background .15s,box-shadow .15s,border-color .15s}
.btn.primary{box-shadow:0 9px 17px rgba(18,113,101,.11)}
.btn:active{transform:translateY(1px)}
.field label{font-size:12px;color:#3e5661}
.field input,.field textarea,.field select{background:#fcfdfd;border-color:#dfe9eb;min-height:44px;border-radius:11px;transition:box-shadow .2s,border-color .2s}
.field textarea{min-height:94px;line-height:1.7}
.field input:hover,.field textarea:hover,.field select:hover{border-color:#b5d3cb}
.formgrid{column-gap:18px;row-gap:20px}
.form-title{margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid #eef2f2}
.form-title h2{font-size:19px;letter-spacing:-.35px;margin:7px 0 6px}
.form-title p{color:#8c9faa;font-size:12px;line-height:1.75}
.form-section-num{font-size:10px;font-weight:800;letter-spacing:1.35px;color:#249480}
.panel.primary-panel{padding:29px 31px 30px}
.sidecard{padding:24px;border-radius:15px}
.sidecard h3{font-size:13px;font-weight:760;display:flex;gap:8px;align-items:center;margin-bottom:20px}
.side-title-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#eaf6f2;color:var(--teal)}
.side-title-icon svg{width:15px;height:15px}
.subpage .eyebrow{font-size:10px;letter-spacing:1.7px;color:#699a95}
.page-banner{min-height:177px;overflow:hidden;isolation:isolate;position:relative;display:flex;justify-content:space-between;align-items:center;padding:27px 32px;margin-bottom:22px;border-radius:16px;border:1px solid #dcece8;background:linear-gradient(116deg,#eaf6f2 0%,#f5faf8 45%,#e4f2ef 100%)}
.page-banner:before{content:"";position:absolute;right:3%;top:-115%;height:290%;width:50%;border:1px solid #ffffffb8;border-radius:50%;transform:rotate(-13deg);pointer-events:none}
.page-banner:after{content:"";position:absolute;right:-7%;bottom:-220px;width:62%;height:340px;background:radial-gradient(ellipse,#a7d6c5aa 0%,#dff2ed30 42%,transparent 70%);z-index:-1;pointer-events:none}
.page-banner>div:first-child{position:relative;z-index:1;max-width:75%}
.page-banner h1{font-size:27px;line-height:1.4;letter-spacing:-.6px;margin:14px 0 6px;color:#153444}
.page-banner p{font-size:12px;line-height:1.7;color:#68838a;margin-bottom:0}
.page-banner-art{position:absolute;right:75px;top:13px;width:192px;height:154px;display:grid;place-items:center;opacity:.27;transform:rotate(-12deg);pointer-events:none}
.page-banner-art svg{width:115px;height:115px;stroke-width:.7;color:#1b8e7e}
.page-banner .banner-back{position:absolute;right:26px;top:24px;z-index:2;background:#fffdfdba}
.page-banner.project-banner h1{max-width:80%;overflow-wrap:anywhere}
.page-banner.project-banner p{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.project-status-hero{background:#fff;border:1px solid #cde5db;border-radius:99px;padding:3px 11px;color:#18836f;font-size:11px;font-weight:670}
.subpage .steps{gap:12px;margin:0 0 21px}
.subpage .step{padding:18px 20px;border-radius:13px;border:1px solid #e0e9ec;background:linear-gradient(120deg,#fff,#fafcfd);min-height:87px}
.subpage .step.current{background:linear-gradient(135deg,#ecf8f3,#f8fdfb);border-color:#8fc4b8;box-shadow:0 6px 25px rgba(21,128,107,.08)}
.subpage .step.current:before{width:5px}
.subpage .step strong{font-size:14px}
.subpage .step span{letter-spacing:.8px;color:#96a7b0}
.subpage .step.current span{color:#208675}
.subpage .details,.subpage .create-layout,.subpage .review-detail-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(270px,.75fr);gap:19px;align-items:start}
.subpage .details{grid-template-columns:minmax(0,1.7fr) 286px}
.subpage aside .sidecard+.sidecard{margin-top:16px}
.subpage aside .sidecard{margin-bottom:0}
.mini-line{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid #edf2f3;padding-top:12px;margin-top:12px;color:#8b9fa8;font-size:11px}
.mini-line strong{font-size:12px;color:#355461;font-weight:670;text-align:right;overflow-wrap:anywhere}
.side-ico{background:#e7f5ef;width:45px;height:45px;display:grid;place-items:center;border-radius:13px;color:#208775;margin-bottom:15px}
.side-ico .ui-icon{height:24px;width:24px}
.side-explainer p{font-size:12px;color:#8095a0;line-height:1.9;margin-bottom:20px}
.mini-help h3{margin-bottom:15px}
.mini-stage{display:flex;align-items:center;gap:11px;font-size:12px;color:#8093a0;padding:11px 4px;border-bottom:1px solid #f0f4f5}
.mini-stage:last-child{border-bottom:0}
.mini-stage span{background:#f0f4f5;color:#9eb0b8;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;font-size:10px;font-weight:800}
.mini-stage.active{color:#15776a;font-weight:770}
.mini-stage.active span{background:#dff3eb;color:#0e8b74}
.assessment-divider{display:flex;align-items:center;justify-content:space-between;gap:9px;margin:27px 0 10px;padding-bottom:13px;border-bottom:1px solid #edf1f2}
.assessment-divider b{font-size:13px}
.assessment-divider span{font-size:10px;color:#9dacb5}
.inner{border-color:#dfe9e9;background:#fcfefe;border-radius:12px;padding:0;margin:11px 0}
.inner summary{list-style:none;padding:17px 20px;display:flex;align-items:center;justify-content:space-between;font-size:13px;color:#385967}
.inner summary::-webkit-details-marker{display:none}
.inner summary:after{content:'⌄';font-size:21px;color:#8baaa4;line-height:1;transition:transform .2s}
.inner[open] summary:after{transform:rotate(180deg)}
.inner summary:hover{color:var(--teal);background:#f4faf7;border-radius:12px}
.innercontent{padding:6px 20px 21px;margin-top:0;border-top:1px solid #eff3f4}
.rule-result{background:linear-gradient(130deg,#eff9f4,#f8fcfb);border-color:#cde7dd;padding:20px}
.rule-result strong{font-size:15px}
.alert{line-height:1.7}
.sidecard .timeline{gap:18px;margin-left:5px}
.sidecard .timeline div{padding-left:17px;border-width:2px;position:relative}
.sidecard .timeline div:before{content:'';position:absolute;left:-6px;top:1px;width:9px;height:9px;background:#fff;border:2px solid #dceae5;border-radius:50%}
.sidecard .timeline .now:before{background:#20a187;border-color:#20a187;box-shadow:0 0 0 4px #e5f5f1}
.sub-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:20px}
.sub-kpi{padding:20px 23px;display:flex;align-items:center;gap:17px;min-height:119px}
.sub-kpi-icon{width:49px;height:49px;display:grid;place-items:center;border-radius:13px;flex:none}
.sub-kpi-icon.mint{background:#e2f6ec;color:#1e9874}.sub-kpi-icon.blue{background:#eaf2ff;color:#3e85d1}.sub-kpi-icon.amber{background:#fff3e0;color:#cf8e2c}
.sub-kpi small{font-size:11px;color:#778f9a;display:block}.sub-kpi strong{font-size:26px;line-height:1.25;display:block;margin:4px 0;font-weight:780}.sub-kpi p{font-size:10px;color:#a0afb8;margin:0}
.sub-kpi-icon svg{width:23px;height:23px}
.tasks-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,.9fr);gap:19px;align-items:start}
.panelhead{margin-bottom:20px}.panelhead h2{font-size:17px}.panel-subtitle{font-size:11px;color:#9baab3;margin:2px 0 0}
.redesigned-task{min-height:76px;padding:17px 5px;justify-content:flex-start;border-color:#edf1f2}
.redesigned-task .task-text b{font-size:13px}.redesigned-task .task-text small{font-size:11px}
.task-check{height:29px;width:29px;border-radius:10px;background:#f3f7f8;color:#a9b6bf;display:grid;place-items:center;flex:none}
.task-check.completed{background:#e9f7ee;color:#18856e}
.task-check svg{width:16px;height:16px}
.task-create-fields{display:grid;gap:19px}
.task-create-fields .btn{margin-top:7px;width:100%}
.review-list{display:grid}.redesigned-review{padding:18px 3px;gap:18px}
.review-icon{width:39px;height:39px;background:#eaf6f2;color:#188573;display:grid;place-items:center;border-radius:11px;flex:none}
.review-main{flex:1;display:grid;gap:4px;min-width:0}.review-main b{font-size:13px}.review-main small{font-size:11px;color:#9baab3}
.review-detail-layout .card.primary-panel{min-height:450px}
.decision-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.decision-summary>div{padding:19px 13px;border:1px solid #e6edef;border-radius:12px;background:#f9fcfc;min-width:0}
.decision-summary small{display:block;color:#8da3ac;font-size:11px;margin-bottom:7px}
.decision-summary strong{display:block;font-size:18px;line-height:1.4;color:#1b675d;overflow-wrap:anywhere}
.decision-summary strong span{font-size:11px;color:#9bafb4}
.auth-layout{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.04fr) minmax(460px,.96fr);background:#fff}
.auth-story{position:relative;overflow:hidden;background:linear-gradient(130deg,#e4f4ee,#d8eeeb 43%,#f2faf8);padding:39px 50px;display:flex;flex-direction:column;justify-content:space-between}
.auth-story:before{content:'';position:absolute;width:640px;height:640px;bottom:-390px;right:-190px;border-radius:50%;border:100px solid rgba(18,129,112,.065);transform:rotate(-20deg)}
.auth-story:after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 79% 27%,#a1d7ce88,transparent 36%);pointer-events:none}
.auth-logo{position:relative;z-index:1;display:flex;align-items:center;gap:13px;font-weight:810;font-size:19px;letter-spacing:-.5px}.auth-logo small{display:block;color:#829d9c;letter-spacing:1px;font-size:9px;margin-top:4px;font-weight:550}
.auth-story-copy{position:relative;z-index:1;max-width:650px;margin-top:auto;margin-bottom:auto;padding:65px 0}
.auth-story-copy h2{font-size:clamp(30px,3vw,48px);line-height:1.35;letter-spacing:-1.6px;margin:17px 0 22px;color:#173a46}
.auth-story-copy h2 span{color:#13816f}.auth-story-copy p{max-width:530px;color:#547b7c;font-size:14px;line-height:1.85}
.auth-stage-track{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:35px}
.auth-stage-track span{display:flex;align-items:center;gap:8px;color:#4d827b;font-size:11px;font-weight:650}
.auth-stage-track i{font-style:normal;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1px solid #a2d6ca;background:#f1faf5;color:#1d8a7c;font-weight:750}
.auth-story-bottom{position:relative;z-index:1;color:#90aaa6;font-size:11px}
.auth-form-area{padding:37px 55px;display:flex;flex-direction:column}
.auth-form-top{font-size:12px;color:#8ca1a6;text-align:right}
.auth-secure{color:#26987c;font-size:10px;margin-left:12px}
.auth-box{width:min(420px,100%);margin:auto}
.auth-box h1{font-size:32px;letter-spacing:-1px;margin:14px 0 4px}
.auth-box>p{font-size:13px;color:#8fa2aa;margin-bottom:32px}
.auth-box .field{margin-bottom:21px}
.auth-box .field input{height:48px}
.auth-box .btn{height:49px;width:100%;margin-top:8px}
.auth-foot{border-top:1px solid #eef2f3;margin-top:35px;padding-top:22px;color:#9cabaf;font-size:11px;line-height:1.85}
@media(max-width:1200px){.subpage .details{grid-template-columns:minmax(0,1fr) 260px}.create-layout,.review-detail-layout{grid-template-columns:minmax(0,1fr) 270px}.decision-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:980px){.tasks-layout{grid-template-columns:1fr}.subpage .details,.subpage .create-layout,.subpage .review-detail-layout{grid-template-columns:1fr}.subpage .details aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.subpage .details aside .sidecard+.sidecard{margin-top:0}.auth-layout{grid-template-columns:1fr}.auth-story{padding:26px 30px;min-height:180px}.auth-story-copy{padding:16px 0}.auth-story-copy h2{font-size:26px;margin:10px 0}.auth-story-copy p,.auth-stage-track,.auth-story-bottom{display:none}.auth-form-area{min-height:630px;padding:27px 35px}}
@media(max-width:670px){.page-banner{padding:22px 19px;min-height:160px}.page-banner h1{font-size:22px}.page-banner>div:first-child{max-width:94%}.page-banner-art{right:4px;width:110px;opacity:.12}.page-banner .banner-back{position:static;align-self:flex-start;margin-top:4px}.page-banner.project-banner h1{max-width:100%}.panel.primary-panel{padding:21px 17px}.subpage .steps{gap:6px}.subpage .step{padding:10px 8px;min-height:69px}.subpage .step span{font-size:8px}.subpage .step strong{font-size:11px}.sub-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.sub-kpi{padding:10px;display:block;min-height:99px}.sub-kpi-icon{width:28px;height:28px;border-radius:9px}.sub-kpi-icon svg{width:16px;height:16px}.sub-kpi strong{font-size:22px}.sub-kpi p{font-size:9px}.subpage .details aside{grid-template-columns:1fr}.decision-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.assessment-divider span{display:none}.review.redesigned-review{flex-wrap:wrap}.review.redesigned-review .btn{margin-left:auto}.auth-form-area{min-height:550px;padding:20px}.auth-story{min-height:170px}.auth-story-copy h2{font-size:22px}}

.auth-dingtalk-preview[hidden]{display:none}
.auth-dingtalk-preview{display:flex;align-items:center;gap:12px;box-sizing:border-box;width:100%;min-height:64px;margin:22px 0 2px;padding:10px 14px;border:1px solid #d9ebe5;border-radius:13px;background:rgba(255,255,255,.78);text-align:left}
.auth-dingtalk-preview.is-message{display:block;min-height:0;padding:10px 12px;color:#718d89;font-size:11px;line-height:1.6}
.auth-dingtalk-avatar{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;overflow:hidden;border-radius:50%;background:#dcefe9;color:#13816f;font-size:16px;font-weight:700}
.auth-dingtalk-avatar img{width:100%;height:100%;object-fit:cover}
.auth-dingtalk-name{display:grid;gap:4px;min-width:0}
.auth-dingtalk-name small{color:#8aa09c;font-size:10px}
.auth-dingtalk-name b{overflow:hidden;color:#28464c;font-size:13px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* ProductFlow V2.2 · Development lab. Matches Style03 enterprise cards and palette. */
.dev-workspace{display:flex;flex-direction:column;gap:22px;min-width:0}
.dev-workspace .form-title{margin-bottom:0}
.dev-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.dev-metrics>div{background:linear-gradient(148deg,#f1f9f6,#f8fbfd);border:1px solid #e0eeea;border-radius:13px;padding:13px 12px;min-width:0}
.dev-metrics small{display:block;color:#7c969f;font-size:10px;margin-bottom:7px}
.dev-metrics strong{color:#205f59;font-size:17px;line-height:1.25;overflow-wrap:anywhere}
.dev-section{background:#fff;border:1px solid #e2ecee;border-radius:16px;padding:20px;min-width:0;box-shadow:0 4px 14px rgba(24,64,74,.025)}
.dev-section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:19px}
.dev-section-heading h3{font-size:17px;margin:5px 0 6px;color:#23454d;line-height:1.4}
.dev-section-heading p{color:#8aa1a6;font-size:11px;line-height:1.7;margin:0}
.dev-kicker{font-size:9px;letter-spacing:1.2px;font-weight:800;color:#16a087}
.dev-inherit{display:flex;gap:12px;background:#f1f8f5;border:1px solid #dbebe4;border-radius:10px;padding:12px 13px;font-size:11px;line-height:1.7;margin-bottom:13px;color:#66817e}
.dev-inherit b{white-space:nowrap;color:#1e7b6b}
.dev-prd-group{border:1px solid #e8eff1;background:#fff;border-radius:11px;margin:9px 0;overflow:hidden}
.dev-prd-group summary{display:flex;align-items:center;gap:11px;padding:13px 14px;cursor:pointer;list-style:none;color:#334b53;font-size:12px}
.dev-prd-group summary::-webkit-details-marker{display:none}
.dev-prd-group summary b{flex:1;min-width:0}
.dev-prd-group summary>span:last-child{color:#94a8ac;font-size:10px}
.dev-prd-group[open] summary{background:#f5faf9;border-bottom:1px solid #e8eff1}
.dev-group-count{background:#dff2eb;border-radius:8px;padding:6px 8px;color:#148272;font-size:10px;font-weight:800}
.dev-prd-group>.formgrid{padding:15px 14px 18px}
.dev-prd-group textarea{min-height:70px}
.dev-actionrow{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:15px;flex-wrap:wrap}
.dev-actionrow span{font-size:11px;color:#94a8ac}
.dev-gates{display:flex;flex-direction:column;gap:11px}
.dev-gate{display:flex;align-items:flex-start;gap:11px;padding:15px 12px;border:1px solid #e6edef;border-radius:11px;background:#fcfdfd}
.dev-gate-number{flex:0 0 37px;background:#e1f4ef;color:#167a6d;font-size:12px;font-weight:800;border-radius:10px;display:grid;place-items:center;height:37px}
.dev-gate-main{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.dev-gate-main>b{display:block;flex-basis:100%;font-size:12px;color:#3b5860}
.dev-gate-main small{font-size:10px;color:#94a6aa;line-height:1.5;overflow-wrap:anywhere}
.dev-gate-main>small:first-of-type{flex-basis:100%}
.dev-inline-review,.dev-review-line{display:flex;align-items:center;gap:7px;flex-wrap:wrap;width:100%;margin-top:8px}
.dev-inline-review select,.dev-review-line select{width:92px;min-height:35px}
.dev-inline-review input,.dev-review-line input{flex:1;min-width:160px;min-height:35px}
.dev-samples{display:flex;flex-direction:column;gap:10px}
.dev-sample{background:#f8fbfb;border:1px solid #e4eeef;border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:8px}
.dev-sample-head{display:flex;align-items:center;justify-content:space-between;gap:9px}
.dev-sample-label{font-size:10px;font-weight:800;letter-spacing:1px;color:#178e7b}
.dev-sample>b{font-size:13px;color:#274750}
.dev-sample p{font-size:11px;line-height:1.65;color:#607d85;margin:0}
.dev-sample p.dev-risk{color:#ae7034}
.dev-muted{font-size:10px;color:#91a5aa;overflow-wrap:anywhere}
.dev-test-details{background:#f9fcfb;border:1px dashed #bfdcd4;border-radius:11px;padding:13px;margin-top:9px}
.dev-test-details summary{cursor:pointer;color:#177c6d;font-size:12px;font-weight:750}
.dev-test-details .formgrid{margin:13px 0}
.dev-test-details .btn{margin-top:3px}
.dev-new-sample{margin-top:14px}
.dev-golden{background:linear-gradient(145deg,#f5fbf9,#fff 66%);border-color:#cae6de}
.dev-golden-status{background:#e8f5f0;border:1px solid #c9e7db;border-radius:12px;padding:14px;color:#216b5d;font-size:12px}
.dev-golden-status p{font-size:11px;margin:7px 0 0;overflow-wrap:anywhere;color:#60857d}
.dev-golden-request{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:15px}
.dev-golden-request>.field:nth-child(2){grid-column:span 2}
.dev-golden-request>.btn{grid-column:span 2;justify-self:start}
.dev-warning{font-size:10px;line-height:1.8;color:#876735;background:#fff8eb;border:1px solid #f4e6c6;border-radius:10px;padding:12px;margin-top:15px}
.dev-workspace .pill.rose{background:#fff1ed;color:#b46a55}
@media(max-width:1200px){.dev-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dev-section{padding:15px}}
@media(max-width:670px){.dev-metrics{gap:7px}.dev-metrics strong{font-size:14px}.dev-gate{flex-wrap:wrap}.dev-gate>.btn{margin-left:48px}.dev-section-heading{flex-wrap:wrap}.dev-prd-group>.formgrid{padding:11px}.dev-golden-request{grid-template-columns:1fr}.dev-golden-request>.field:nth-child(2),.dev-golden-request>.btn{grid-column:span 1}.dev-inline-review>input,.dev-review-line>input{min-width:100%}}
/* V2.3 — D6 factory readiness and operational handoff; reuse enterprise design. */
.prod-section {margin-top:22px;border:1px solid #dcebe7;border-radius:20px;background:#fff;padding:26px;box-shadow:0 8px 32px rgba(17,66,57,.04)}
.prod-stepper{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:22px 0;}
.prod-stepper>div{min-width:0;display:flex;flex-direction:column;gap:8px;border:1px solid #e1eae8;background:#f6faf8;border-radius:12px;padding:14px;}
.prod-stepper small{font-size:11px;font-weight:750;color:#669a8b}.prod-stepper b{font-size:12px;color:#23463d}.prod-stepper .pill{font-size:11px;align-self:flex-start}
.prod-fields{margin-bottom:20px}.prod-result{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}
.prod-result>div{display:flex;flex-direction:column;gap:6px;padding:15px;border:1px solid #cce4dc;background:#eff9f4;border-radius:12px}
.prod-result span{font-size:12px;color:#647f77}.prod-result strong{font-size:18px;color:#125d4b}
.prod-approval-control{display:flex;flex-wrap:wrap;gap:10px;align-items:end;padding:17px;margin-top:14px;border:1px solid #cee2dc;border-radius:13px;background:#f1faf6}
.prod-approval-control label{flex:0 0 100%;font-size:13px;font-weight:700;color:#23574b}.prod-approval-control input{flex:2 1 240px;min-width:0}.prod-approval-control select{flex:0 0 120px}
@media(max-width:1050px){.prod-stepper{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:670px){.prod-section{padding:16px}.prod-stepper{grid-template-columns:repeat(2,minmax(0,1fr))}.prod-result{grid-template-columns:1fr}.prod-approval-control input,.prod-approval-control select{flex:1 1 100%}}

.prod-fieldset{padding:0;border:0;margin:0;min-width:0}.prod-fieldset[disabled]{opacity:.8}.prod-fieldset[disabled] input,.prod-fieldset[disabled] textarea{background:#f7faf9;cursor:not-allowed}
/* V2.4 — post launch customer-learning loop, Style 03 enterprise palette */
.retro-workspace{margin-top:26px;background:linear-gradient(160deg,#fbfefd,#fff 28%);scroll-margin-top:24px}
.retro-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:17px 0 20px}
.retro-kpis>div{background:linear-gradient(135deg,#eef8f4,#f8fbfa);border:1px solid #dcece7;border-radius:13px;padding:17px 14px;min-width:0}
.retro-kpis small{display:block;font-size:11px;color:#738f85;margin-bottom:8px}.retro-kpis strong{font-size:22px;color:#176756;font-weight:800}
.retro-fold{border:1px solid #dfeae7;background:white;border-radius:14px;margin:13px 0;overflow:hidden}
.retro-fold>summary{display:flex;align-items:center;gap:12px;padding:19px;cursor:pointer;list-style:none}
.retro-fold>summary::-webkit-details-marker{display:none}.retro-fold>summary>b{flex:1;font-size:15px;color:#254a44}.retro-fold[open]>summary{border-bottom:1px solid #ebf0ed;background:#f8fcfa}
.retro-step,.retro-number{width:35px;height:35px;display:grid;place-items:center;border-radius:11px;background:#e2f5eb;color:#167662;font-weight:800;font-size:12px;flex-shrink:0}
.retro-fold-body{padding:20px;min-width:0}.retro-fold-body .formgrid{margin:14px 0}.retro-fold-body .field textarea{min-height:85px}
.retro-record{padding:16px;border:1px solid #bfe3d5;border-radius:12px;background:#f1faf5;display:flex;flex-direction:column;gap:8px;font-size:12px;color:#41685d;overflow-wrap:anywhere}.retro-record>b{color:#1c634e;font-size:15px}.retro-record small{color:#729b8c}
.retro-empty{padding:17px;border:1px dashed #d1e5de;border-radius:12px;background:#f7fbf9;color:#74938b;font-size:12px}
.retro-data-table{overflow:auto;border:1px solid #e2eae7;border-radius:11px}.retro-data-table table{border-collapse:collapse;width:100%;font-size:11px;min-width:610px}.retro-data-table th{background:#f3f9f6;text-align:left;color:#568174}.retro-data-table td,.retro-data-table th{padding:11px;border-bottom:1px solid #e8f1ed}.retro-data-table td small{display:block;color:#9cb1a7;margin-top:3px}
.retro-form-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:20px;color:#31574f;font-size:13px}
.retro-feedback-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.retro-feedback{border:1px solid #e0ede7;border-radius:12px;padding:16px;min-width:0;overflow-wrap:anywhere}.retro-feedback-title{display:flex;justify-content:space-between;gap:10px;align-items:center}.retro-feedback-title b{font-size:13px}.retro-feedback>small{display:block;color:#879f95;font-size:11px;margin-top:8px}.retro-feedback p{font-size:12px;color:#607a70;line-height:1.7;margin:10px 0}.retro-feedback p.retro-resolved{color:#157661}
.retro-feedback-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.retro-feedback-actions select{max-width:110px}.retro-feedback-actions input{min-width:120px;flex:1}.retro-feedback-actions input,.retro-feedback-actions select{padding:9px;border-radius:9px;border:1px solid #d9e9e2}
.retro-inner{margin:12px 0;border:1px solid #e6eeeb;border-radius:12px;padding:13px}.retro-inner summary{cursor:pointer;color:#13836e;font-size:13px;font-weight:700}.retro-inner .btn{margin:12px 0}
.retro-action-list,.retro-audit{margin-top:16px;padding-top:12px;border-top:1px solid #e8eeeb}.retro-action-list>b,.retro-audit>b{display:block;font-size:12px;color:#315c50;margin-bottom:9px}.retro-action-list>div,.retro-audit>div{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:8px 0;border-bottom:1px solid #eff4f1;font-size:12px;color:#37564a}.retro-action-list small,.retro-audit small{font-size:10px;color:#8ca69a}
.retro-board-items{display:flex;flex-direction:column;gap:9px}.retro-board-item{display:flex;align-items:center;gap:13px;border:1px solid #e5efea;border-radius:12px;padding:16px}.retro-board-item>div:nth-child(2){flex:1;min-width:0}.retro-board-item b{display:block;font-size:13px;color:#284e44}.retro-board-item small{display:block;margin-top:5px;color:#91a49a;font-size:11px}.retro-number .ui-icon{width:18px}
@media(max-width:1060px){.retro-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:670px){.retro-fold-body{padding:12px}.retro-fold>summary{padding:12px}.retro-kpis strong{font-size:17px}.retro-feedback-list{grid-template-columns:1fr}.retro-board-item{flex-wrap:wrap}.retro-board-item .btn{margin-left:49px}.retro-action-list>div{flex-direction:column;gap:4px}}
/* Mobile detail page: override higher-specificity desktop two-column grid. */
@media(max-width:800px){.subpage .details,.subpage .create-layout,.subpage .review-detail-layout{grid-template-columns:minmax(0,1fr)}.subpage .details>.card,.subpage .details>.panel,.subpage .details>aside{min-width:0}.retro-workspace,.dev-workspace{min-width:0;max-width:100%}}

/* V2.5.1 · actionable sections and sample revision UX */
[id^="gate-"], [id^="sample-"], #golden-section, #production-section,
#operations-section, #postlaunch-section, #change-section { scroll-margin-top:110px; }
.sample-issues { grid-column:1/-1; min-width:0; }
.sample-issues > .field { width:100%; }
.sample-correction-fields { border-top:1px solid #e1eee8; margin:12px 0 16px; padding-top:12px; }
.dev-test-details[open] { scroll-margin-top:95px; }
#liveCostHint { min-height:22px; }
@media(max-width:680px) {
 .sample-correction-fields { grid-template-columns:minmax(0,1fr); }
 .prod-result { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* Team UAT: verified account switch dialog */
.switch-account-popover{position:fixed;z-index:65;right:24px;top:72px;width:min(360px,calc(100vw - 32px));padding:20px;border-radius:16px;background:white;border:1px solid #c9e3d8;box-shadow:0 18px 45px rgba(20,70,60,.18);color:#284d43}
.switch-account-title{display:flex;align-items:center;justify-content:space-between;gap:12px}
.switch-account-title>b{font-size:15px}.switch-account-popover p{font-size:12px;line-height:1.6;color:#708d82;margin:9px 0 16px}
.switch-account-fields{display:flex;flex-direction:column;gap:9px}
.switch-account-fields label{font-size:11px;font-weight:700;color:#325a4f}
.switch-account-fields select,.switch-account-fields input{width:100%;min-height:38px;border:1px solid #d5e4dd;border-radius:9px;padding:9px;background:#f9fcfb;font-size:13px;color:#204b40}
.switch-account-fields>.btn{margin-top:8px}
@media(max-width:700px){.switch-account-popover{right:14px;top:62px;padding:15px}}

/* V2.6 official Excel field specification interface, Style 03 */
.master-workspace{padding:0 0 18px;display:flex;flex-direction:column;gap:16px}
.master-module-tabs{display:flex;align-items:center;gap:6px;overflow-x:auto;scrollbar-width:thin;padding:7px 0 13px;margin:5px 0 3px;border-bottom:1px solid #e0ece8}
.master-module-tabs button{border:1px solid #dce9e5;flex-shrink:0;border-radius:11px;background:#f9fcfa;padding:11px 12px;font-size:11px;font-weight:650;color:#668779;cursor:pointer}
.master-module-tabs button:hover,.master-module-tabs button.active{background:#e6f5ed;border-color:#bddccf;color:#126f59}
.master-module-header{display:flex;align-items:start;justify-content:space-between;gap:12px}
.master-module-header h3{margin:6px 0;color:#183c35;font-size:20px}
.master-module-header p{font-size:12px;color:#748e82;line-height:1.7}
.master-subsection{border:1px solid #e0ebe6;border-radius:13px;background:#fff;margin:0 0 10px;overflow:hidden}
.master-subsection>summary{padding:15px 18px;background:#f8fbf9;color:#285f4d;cursor:pointer;font-size:13px;font-weight:700}
.master-subsection[open]>summary{border-bottom:1px solid #e7eeea}
.master-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;padding:19px}
.master-field{min-width:0;display:flex;flex-direction:column;gap:7px}
.master-wide{grid-column:1/-1}
.master-field label{font-size:12px;font-weight:650;color:#355e52}
.master-field input,.master-field select,.master-field textarea{border:1px solid #dce7e3;border-radius:10px;width:100%;min-width:0;background:#fbfdfc;padding:11px 12px;color:#254c3f;font:inherit;font-size:12px;outline:none}
.master-field textarea{resize:vertical;min-height:76px}
.master-field input:focus,.master-field select:focus,.master-field textarea:focus{border-color:#149075;box-shadow:0 0 0 3px #0e8d6b17}
.master-field input:disabled,.master-field select:disabled,.master-field textarea:disabled{background:#f0f5f3;color:#81948c}
/* Computed/read-only values must align visually with ordinary form controls. */
.master-result{background:transparent;border:0;border-radius:0;padding:0}
.master-result strong{display:flex;align-items:center;min-height:42px;
  border:1px solid #dce7e3;border-radius:10px;background:#f5f8f6;
  padding:10px 12px;font-size:12px;font-weight:650;line-height:1.5;
  color:#355e52;overflow-wrap:anywhere}
.master-field input[type="date"]{font-variant-numeric:tabular-nums}
.master-inherited{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}
.master-inherited div{min-width:0}
.master-inherited small{display:block;color:#7a978d;font-size:11px;margin-bottom:5px}
.master-inherited strong{display:block;font-size:12px;color:#265747;overflow-wrap:anywhere}
.master-legacy{margin-top:24px;padding:10px 16px;border:1px dashed #bedccf;border-radius:14px;background:#f8fcfa}
.master-legacy>summary{padding:12px 0;cursor:pointer;font-weight:700;font-size:13px;color:#186c57}
#master-fields{scroll-margin-top:90px}
@media(max-width:660px){.master-grid{grid-template-columns:minmax(0,1fr);padding:12px}.master-inherited{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* V2.6.1 only: approval actions inside the existing project-details field panel.
   All pre-existing dashboard, sidebar, navigation and cards CSS is unchanged. */
.master-approval-actions{margin-top:20px;padding:18px;border:1px solid #dcebe5;border-radius:13px;background:#f9fcfa}
.master-approval-actions h3{font-size:14px;color:#176b56;margin:0 0 13px}
.master-step-action{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 0;border-top:1px solid #e6f0eb;font-size:12px;color:#476c5c}
.master-step-action:first-of-type{border-top:0}
.master-step-action select,.master-step-action input{font:inherit;padding:10px;border:1px solid #d8e6df;background:white;color:#24483b;border-radius:9px}
.master-step-action input{flex:1;min-width:170px}
.master-step-action button{margin-left:auto}
@media(max-width:650px){.master-step-action button{margin-left:0}}

/* Scoped V2.6.1 navigation/field grouping; unrelated cards and layout untouched. */
.master-workspace .master-navigation{display:flex;flex-direction:column;gap:12px}
.master-workspace .master-nav-group{border:1px solid #e1ebe6;border-radius:12px;padding:12px 13px 2px;background:#fbfdfc;min-width:0}
.master-workspace .master-nav-heading{display:flex;align-items:center;gap:12px;color:#1d6754;font-size:12px;font-weight:750}
.master-workspace .master-nav-heading small{font-size:10px;font-weight:450;color:#879e96}
.master-workspace .master-nav-group .master-module-tabs{margin:3px 0 0;padding:8px 0 10px;border:0}
.master-workspace .master-flat-group .master-group-title{padding:13px 18px;border-bottom:1px solid #e7eeea;background:#f8fbf9;color:#285f4d;font-size:12px;font-weight:750}
.master-workspace .master-supplement-link{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;background:#f8fbf9;border:1px solid #e0ebe5;border-radius:11px;color:#487a68;font-size:12px}
.master-workspace .master-supplement-link button{font-size:11px}
.master-workspace .master-save-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}
@media(max-width:670px){
 .master-workspace .master-nav-heading{flex-wrap:wrap;gap:4px}
 .master-workspace .master-supplement-link{flex-wrap:wrap}
 .master-workspace .master-save-actions{width:100%}
 .master-workspace .master-save-actions .btn{flex:1}
}

/* V2.6.1 · module 04 only. All existing navigation, other field groups and UI unchanged. */
#master-competitors{display:flex;flex-direction:column;gap:12px}
#master-competitors [hidden]{display:none!important}
.master-competitor-intro,.master-competitor-count{font-size:11px;color:#7c968a;line-height:1.6;margin:0 0 3px}
.master-competitor-card{border:1px solid #dbe9e2;border-radius:13px;background:#fff;overflow:hidden}
.master-competitor-heading{min-height:52px;padding:11px 17px;background:#f7fbf9;border-bottom:1px solid #e2ede7;display:flex;align-items:center;gap:12px}
.master-competitor-heading strong{font-size:13px;color:#255e4b}
.master-competitor-heading .pill,.master-competitor-heading button{margin-left:auto}
.master-competitor-heading .master-competitor-remove{background:#fff;color:#957066;border:1px solid #e5dad2;font-size:11px;padding:7px 11px}
.master-competitor-add{align-self:stretch;background:#f8fcfa!important;color:#147e62!important;border:1px dashed #b4d7c8!important;min-height:49px}
.master-competitor-count{text-align:right;margin:1px 0 0}
.master-competitor-count strong{color:#11846b}

/* SOP input workspace. All overrides are scoped to project details. */
.detail-page .details{grid-template-columns:minmax(0,1fr)}
.detail-page .details>.primary-panel{padding:0;overflow:visible;border-radius:12px}
.detail-page .details>aside{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.detail-page .details>aside .sidecard{margin:0}
.detail-page .master-workspace{display:grid;grid-template-columns:224px minmax(0,1fr);gap:0;padding:0;color:#1f2937;align-items:start}
.master-workspace .master-navigation{position:sticky;top:80px;max-height:calc(100vh - 100px);overflow:auto;padding:22px 12px;gap:22px;background:#fafbfc;border-radius:12px 0 0 12px;scrollbar-width:thin}
.master-workspace .master-nav-group{border:0;background:none;padding:0;border-radius:0}
.master-workspace .master-nav-heading{padding:0 10px 8px;color:#667085;font-size:12px;font-weight:600;justify-content:space-between}
.master-workspace .master-nav-heading small{font-size:11px;color:#8993a1}
.master-workspace .master-nav-group:first-child .master-nav-heading small{display:none}
.master-workspace .master-nav-group .master-module-tabs{display:flex;flex-direction:column;align-items:stretch;overflow:visible;padding:0;margin:0;gap:3px}
.master-workspace .master-module-tabs button{display:flex;align-items:baseline;gap:10px;white-space:normal;text-align:left;border:0;border-radius:6px;background:transparent;color:#53616f;font-size:12px;font-weight:400;line-height:1.65;padding:9px 10px}
.master-workspace .master-module-tabs button:hover{background:#edf2f3;color:#263b44}
.master-workspace .master-module-tabs button.active{background:#e4f2ee;color:#096858;font-weight:650;box-shadow:inset 3px 0 #12776b}
.sop-nav-number{font-size:11px;font-variant-numeric:tabular-nums;color:#81918d;flex:0 0 19px}
.sop-mobile-nav{display:none}
.active .sop-nav-number{color:#12776b}
.sop-content{min-width:0;padding:28px 30px 0;border-left:1px solid #e8ecef}
.master-workspace .master-module-header{margin-bottom:22px;gap:16px}
.sop-context{color:#7b8794;font-size:12px;margin-bottom:7px}
.master-workspace .master-module-header h3{color:#1f2937;font-size:23px;line-height:1.4;letter-spacing:-.5px;margin:0 0 8px}
.master-workspace .master-module-header p{color:#75818e;font-size:13px;margin:0;line-height:1.6}
.master-workspace .master-module-header .pill{margin-top:27px;flex-shrink:0}
.sop-inherited{border:1px solid #e3e9ed;border-radius:7px;background:#fafcfc;margin-bottom:20px}
.sop-inherited>summary{padding:12px 16px;font-size:13px;font-weight:600;color:#46615d;cursor:pointer}
.sop-inherited>summary span{font-size:12px;font-weight:400;color:#7e8e94;margin-left:12px}
.master-workspace .master-inherited{padding:0 16px 16px;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}
.master-workspace .master-inherited small{font-size:12px;color:#7b8794}
.master-workspace .master-inherited strong{font-size:13px;color:#43545d;font-weight:500}
.sop-topics{display:flex;gap:20px;overflow-x:auto;border-bottom:1px solid #e4e7ec;scrollbar-width:thin;margin:2px 0 0}
.sop-topics>button{display:flex;align-items:center;gap:7px;white-space:nowrap;flex-shrink:0;border:0;border-bottom:2px solid transparent;background:transparent;color:#667085;padding:12px 0;font-size:14px;font-weight:500}
.sop-topics>button[aria-selected=true]{color:#12776b;border-bottom-color:#12776b;font-weight:650}
.sop-topics>button>span{font-size:10px;font-weight:400;color:#87939b;font-variant-numeric:tabular-nums}
.sop-topics>button[aria-selected=true]>span{color:#538d80}
.sop-topic-panel[hidden]{display:none!important}
.sop-form-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:46px;color:#8a949f;font-size:11px}
.master-workspace .master-subsection{border:1px solid #e5e9ee;border-radius:8px;background:#fff;margin:0 0 18px;box-shadow:none;overflow:visible}
.master-workspace .master-flat-group .master-group-title,.master-workspace .master-subsection>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fafbfc;color:#344054;padding:12px 18px;border-bottom:1px solid #edf0f3;border-radius:8px 8px 0 0;font-size:14px;font-weight:600}
.master-workspace .master-subsection>summary{cursor:pointer;justify-content:flex-start}
.master-workspace .master-subsection>summary::before{content:'›';color:#8a98a3;font-size:20px;line-height:1;transition:transform .15s}
.master-workspace .master-subsection[open]>summary::before{transform:rotate(90deg)}
.master-workspace .master-subsection>summary::-webkit-details-marker{display:none}
.master-workspace .master-subsection:not([open])>summary{border:0;border-radius:8px}
.sop-group-count{margin-left:auto;font-size:11px;font-weight:400;color:#8b97a3;white-space:nowrap}
.master-workspace .master-grid{gap:20px 22px;padding:20px;align-items:start}
.master-workspace .master-field{gap:8px}
.master-workspace .master-field label{font-size:13px;line-height:1.6;color:#475467;font-weight:500;overflow-wrap:anywhere}
.master-workspace .master-field input,.master-workspace .master-field select,.master-workspace .master-field textarea{font-size:14px;line-height:1.6;border:1px solid #d8dfe6;border-radius:6px;background:#fff;color:#253545;padding:8px 11px;min-height:40px;transition:border-color .15s,box-shadow .15s}
.master-workspace .master-field textarea{min-height:72px;max-height:500px;resize:vertical}
.master-workspace .master-field input:hover,.master-workspace .master-field select:hover,.master-workspace .master-field textarea:hover{border-color:#aebfc6}
.master-workspace .master-field input:focus,.master-workspace .master-field select:focus,.master-workspace .master-field textarea:focus{border-color:#12776b;box-shadow:0 0 0 3px #12776b12;outline:none}
.master-workspace .master-field input:focus-visible,.master-workspace .master-field select:focus-visible,.master-workspace .master-field textarea:focus-visible{outline:2px solid #12776b;outline-offset:2px}
.master-workspace .master-field input:disabled,.master-workspace .master-field select:disabled,.master-workspace .master-field textarea:disabled{background:#f8f9fb;color:#637181;border-color:#e8ecf0;opacity:1;-webkit-text-fill-color:#637181}
.master-workspace .master-result strong{background:#f2f7f6;border:0;border-radius:6px;color:#176c5d;font-size:18px;min-height:42px;padding:7px 12px;font-variant-numeric:tabular-nums}
.master-workspace .master-field .sop-native-choice{position:absolute;width:1px;height:1px;min-height:0;padding:0;border:0;opacity:0;pointer-events:none;clip-path:inset(50%)}
.sop-choice-group{display:flex;gap:0;width:fit-content;max-width:100%;border:1px solid #d8dfe6;border-radius:6px;overflow:hidden;background:#fff}
.sop-choice-group button{min-width:40px;min-height:39px;border:0;border-right:1px solid #e5e9ee;border-radius:0;background:#fff;color:#596675;padding:6px 12px;font-size:13px}
.sop-choice-group button:last-child{border-right:0}
.sop-choice-group button:hover{background:#f3f7f6}
.sop-choice-group button[aria-pressed=true]{color:#0c6c5d;background:#e5f3ee;box-shadow:inset 0 -2px #12776b;font-weight:650}
.master-workspace[data-module="02"] .master-grid,.master-workspace[data-module="06"] .master-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.master-workspace[data-module="02"] .master-grid{align-items:center}
.master-workspace[data-module="06"] .master-grid{grid-template-columns:minmax(205px,1fr) minmax(100px,.6fr) minmax(0,1.3fr);gap:16px}
.master-workspace[data-module="06"] .master-text-field{grid-column:auto}
.master-workspace[data-module="08"] .master-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.master-workspace[data-module="08"] .master-field:last-child{grid-column:1/-1;border-top:1px solid #edf0f3;padding-top:16px}
.master-workspace .dev-actionrow{position:sticky;bottom:0;z-index:8;display:flex;justify-content:space-between;align-items:center;gap:16px;background:#fff;border-top:1px solid #e4e9ed;box-shadow:0 -6px 18px #233b4905;padding:16px 0;margin-top:24px}
.sop-save-meta{display:flex;flex-direction:column;gap:3px;min-width:0}
.sop-save-meta b{color:#536570;font-size:12px;font-weight:500}
.sop-save-meta small{color:#94a0a9;font-size:10px}
.master-workspace[data-dirty=true] .sop-save-meta b{color:#a66b16}
.master-workspace .master-save-actions{gap:8px}
.master-workspace .master-save-actions .btn{font-size:12px;border-radius:6px;min-height:38px;padding:8px 13px;box-shadow:none}
.master-workspace .master-save-actions .btn.primary{background:#12776b}
.master-workspace.sop-relaxed .master-grid{gap:28px;padding:26px}
.master-workspace.sop-relaxed .master-field textarea{min-height:130px}
.detail-page .master-approval-actions{margin:0 30px 24px 254px;background:#fafcfc;border-radius:8px}
.master-workspace .master-competitor-card{border-color:#e5e9ee;border-radius:8px}
.master-workspace .master-competitor-heading{background:#fafbfc}
.master-workspace .master-competitor-add{border-radius:6px;min-height:40px}

@media(max-width:1200px){
 .detail-page .master-workspace{grid-template-columns:190px minmax(0,1fr)}
 .sop-content{padding:24px 22px 0}
 .detail-page .master-approval-actions{margin-left:212px;margin-right:22px}
 .master-workspace[data-module="08"] .master-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .master-workspace[data-module="06"] .master-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .master-workspace[data-module="06"] .master-text-field{grid-column:1/-1}
 .master-workspace .master-module-header h3{font-size:21px}
 .master-workspace .dev-actionrow{flex-wrap:wrap}
}
@media(max-width:980px){
 .detail-page .master-workspace{grid-template-columns:minmax(0,1fr)}
 .master-workspace .master-navigation{position:static;max-height:none;padding:14px 18px;gap:10px;border-bottom:1px solid #e4e9ed;border-radius:12px 12px 0 0}
 .master-workspace .master-nav-group .master-module-tabs{display:flex;flex-direction:row;overflow:auto;gap:6px}
 .master-workspace .master-module-tabs button{min-width:0;flex-shrink:0;white-space:nowrap;padding:7px 10px;background:#f0f3f5}
 .master-workspace .master-nav-heading{padding-left:0}
 .master-workspace .master-nav-group:nth-child(2) .master-module-tabs{display:none}
 .sop-mobile-nav{display:block;color:#667085;font-size:12px}
 .sop-mobile-nav select{display:block;width:100%;min-width:0;margin-top:6px;background:#fff;border:1px solid #d8e2e5;border-radius:6px;padding:10px 8px;color:#17695d;font-size:13px}
 .master-workspace .master-module-tabs button.active{box-shadow:none}
 .sop-content{border-left:0}
 .detail-page .master-approval-actions{margin:0 22px 22px}
 .detail-page .details>aside{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:660px){
 .sop-content{padding:20px 14px 0}
 .master-workspace .master-module-header h3{font-size:19px}
 .master-workspace .master-grid,.master-workspace[data-module="02"] .master-grid,.master-workspace[data-module="06"] .master-grid,.master-workspace[data-module="08"] .master-grid{grid-template-columns:minmax(0,1fr);gap:18px;padding:16px}
 .master-workspace .master-inherited{grid-template-columns:minmax(0,1fr)}
 .sop-inherited>summary span{display:block;margin-left:15px;margin-top:4px}
 .sop-topics{gap:18px}
 .sop-topics>button{font-size:13px}
 .master-workspace .dev-actionrow{padding:12px 0;gap:10px}
 .master-workspace .master-save-actions{width:100%}
 .master-workspace .master-save-actions .btn{white-space:normal;flex:1}
 .sop-save-meta small{display:none}
 .master-workspace.sop-relaxed .master-grid{padding:18px}
 .detail-page .master-approval-actions{margin:0 14px 20px}
}
@media(prefers-reduced-motion:reduce){.master-workspace *{transition:none!important;scroll-behavior:auto!important}}
.sop-field-help{font-size:11px;color:#778795;line-height:1.6}
.master-workspace input[readonly]{background:#f7f9fa;color:#375c55;cursor:default}
.master-workspace input.sop-threshold-pending{background:#fffbf3;border-color:#ead5ae}
.pf-date-control{position:relative;min-width:0;width:100%}
.pf-date-control>input[data-date-display]{width:100%;padding-right:42px!important;font-variant-numeric:tabular-nums}
.pf-date-control>input[data-date-display]::placeholder{color:#8b98a5;opacity:1}
.pf-date-control>input[data-date-display][aria-invalid=true]{border-color:#c85555}
.pf-date-control>input.pf-date-native{position:absolute!important;right:12px;bottom:0;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;border:0!important;opacity:0;pointer-events:none}
.pf-date-trigger{position:absolute;right:1px;top:1px;bottom:1px;width:37px;display:grid;place-items:center;padding:0;border:0;border-radius:0 6px 6px 0;background:transparent;color:#718391}
.pf-date-trigger:hover:not(:disabled){background:#edf5f2;color:#12776b}
.pf-date-trigger:disabled{opacity:.4;cursor:not-allowed}
.workflow-notice{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;margin:0 0 24px;border-left:4px solid #168675;background:#eef7f4;color:#204c45}
.workflow-notice strong{font-size:15px}.workflow-notice p{margin:7px 0 0;font-size:13px;line-height:1.7}.workflow-notice small{display:block;margin-top:8px;color:#627971}.workflow-notice .btn{flex-shrink:0}
.field-source{display:block;font-weight:400;font-size:11px;color:#6c8580;margin-top:4px}.gate-blockers{font-size:13px;line-height:1.8;color:#85642f;width:100%}
.master-workspace [hidden]{display:none!important}
.master-workspace[data-module="13"] .master-text-field{grid-column:1/-1}
.master-workspace[data-module="13"] #sop-panel-1 .master-text-field{grid-column:auto}
.master-workspace[data-module="13"] #sop-panel-1 .master-field:first-child{grid-column:1/-1;max-width:420px}
.compliance-verdict{font-style:normal;font-size:11px;font-weight:400;color:#647c77;margin-left:12px}
.master-workspace .master-grid{align-items:start}.master-workspace input:not(.pf-date-native),.master-workspace select{min-height:42px}
.master-approval-actions .master-step-action{flex-wrap:wrap;gap:12px}.master-step-action input{flex:1;min-width:200px}
@media(max-width:660px){.workflow-notice{align-items:flex-start;flex-direction:column;padding:16px}.master-step-action input{min-width:0;width:100%}}
/* Detail forms: stable input geometry, compact metadata, readable signed records. */
.master-workspace .sop-field-cell{min-width:0}
.master-workspace .sop-field-cell>.master-field{height:100%;min-width:0}
.master-workspace .sop-field-cell:has(.master-wide){grid-column:1/-1}
.master-workspace .sop-mixed-grid>.sop-long-cell{grid-column:1/-1}
.master-workspace .master-grid.sop-record-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 24px}
.master-workspace .sop-record-grid>.sop-long-cell{grid-column:1/-1}
.master-workspace .sop-record-grid.change>[data-key$="_type"]{grid-column:3;grid-row:1}
.master-workspace .sop-record-grid.sample>[data-key$="_decision"]{grid-column:3;grid-row:1}
.master-workspace .sop-record-grid .master-field textarea{min-height:88px}
.sop-record-meta{display:block;font-size:12px;font-weight:400;color:#6c7e8e;margin-top:5px}
.master-workspace .sop-read-field{gap:9px;padding:0 0 16px;border-bottom:1px solid #edf1f3;align-content:start}
.sop-read-label{font-size:12px;color:#71808e;line-height:1.5}
.sop-read-value{font-size:14px;color:#243e4d;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere;min-height:24px;user-select:text}
.sop-read-value.is-empty{color:#9ba6af;font-size:13px}
.master-workspace .master-grid.sop-compliance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.sop-compliance-grid>.sop-field-cell:first-child{grid-column:1/-1}
.master-workspace .sop-compliance-grid>.sop-field-cell:first-child select{max-width:380px}
.master-workspace[data-module="13"] #sop-panel-2 .sop-long-cell{grid-column:1/-1}
.master-workspace .sop-state,.compliance-verdict{display:inline-block;width:fit-content;padding:3px 10px;border-radius:5px;font-size:12px;line-height:1.7;background:#edf1f4;color:#596e7c}
.master-workspace .is-positive{color:#0a7462;background:#e8f5ef}
.master-workspace .is-negative{color:#aa413a;background:#fff0ed}
.master-workspace .is-pending{color:#966411;background:#fff7e6}
.master-workspace .sop-read-value.sop-state{min-height:0}
.master-workspace .field-source{background:#f0f7f4;border-left:2px solid #90bfb1;padding:5px 8px;line-height:1.65;width:fit-content}
.master-workspace .master-result strong{overflow-wrap:anywhere}
@media(max-width:660px){
 .master-workspace .master-grid.sop-record-grid,.master-workspace .master-grid.sop-compliance-grid{grid-template-columns:minmax(0,1fr)}
 .master-workspace .sop-record-grid.change>[data-key$="_type"],.master-workspace .sop-record-grid.sample>[data-key$="_decision"]{grid-column:auto;grid-row:auto}
 .master-workspace .sop-field-cell{grid-column:1/-1}
}
.sop-material-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;margin:16px 0;background:#eef7f4;border:1px solid #cce4dc;border-radius:8px}
.sop-material-toolbar strong{font-size:14px;color:#175d51}.sop-material-toolbar p{margin:6px 0 0;font-size:13px;color:#637b73;line-height:1.7}.sop-material-toolbar .btn{flex-shrink:0}.sop-material-toolbar .btn:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:660px){.sop-material-toolbar{align-items:flex-start;flex-direction:column}}
.sop-material-delete{margin-left:8px;flex-shrink:0;padding:6px 10px;border:1px solid transparent;border-radius:5px;background:transparent;color:#a45048;font-size:12px;font-weight:500;cursor:pointer}
.sop-material-delete:hover{background:#fff0ed;border-color:#f1d3cd;color:#a83229}.sop-material-delete:focus-visible{outline:2px solid #b95b50;outline-offset:2px}
.sop-confirm-dialog{width:min(440px,calc(100vw - 40px));max-height:calc(100vh - 48px);box-sizing:border-box;padding:28px;border:1px solid #e5e9ed;border-radius:14px;color:#243e4d;box-shadow:0 24px 80px #132e3840;background:#fff}
.sop-confirm-dialog::backdrop{background:rgba(20,37,48,.42);backdrop-filter:blur(3px)}
.sop-confirm-heading{display:flex;align-items:center;gap:12px}.sop-confirm-heading h2{margin:0;font-size:19px;font-weight:650}.sop-delete-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#fff0ed;color:#b64b40}.sop-delete-icon svg{width:20px;height:20px}
.sop-confirm-dialog p{font-size:14px;line-height:1.8;color:#6b7b87;margin:18px 0 0}.sop-confirm-dialog .sop-confirm-name{color:#334c58;background:#f6f8f9;padding:10px 12px;border-radius:6px;overflow-wrap:anywhere}
.sop-confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:26px}.sop-confirm-actions .btn{min-width:88px}.sop-confirm-actions .sop-danger-button{color:#fff;background:#b84f43;border-color:#b84f43}.sop-confirm-actions .sop-danger-button:hover{background:#9d3f35}
@media(max-width:660px){.master-workspace [data-material-slot]>summary{gap:8px;padding:12px}.sop-material-delete{padding:6px;margin-left:0}.sop-confirm-dialog{padding:22px}}
/* Project overview: use large screens for readable text instead of wide gutters. */
.container.dashboard-page{font-size:16px;line-height:1.65}
.dashboard-page :is(h1,h2,h3,b,strong,button,th,.btn,.section-link,.pill,.stage-pill,.status-pill){font-weight:400}
.dashboard-page .dash-hero{padding:30px 34px;min-height:200px}
.dashboard-page .dash-hero h1{font-size:34px;letter-spacing:0;line-height:1.45}
.dashboard-page .dash-hero p{font-size:16px;max-width:760px}
.dashboard-page .hero-note{font-size:14px}.dashboard-page .eyebrow{font-size:12px}
.dashboard-page .btn,.dashboard-page .section-link{font-size:14px;min-height:38px}
.dashboard-page .kpi{padding:24px;min-height:146px}
.dashboard-page .kpi-label{font-size:16px}.dashboard-page .kpi strong{font-size:34px;letter-spacing:0}.dashboard-page .kpi small{font-size:13px;color:#70838f}
.dashboard-page .section-head h2{font-size:21px;letter-spacing:0}.dashboard-page .section-head p{font-size:14px;color:#748590}
.dashboard-page .funnel-panel,.dashboard-page .focus-panel{padding:24px}
.dashboard-page .funnel{height:164px}.dashboard-page .funnel-step span{font-size:15px;font-weight:400;white-space:normal;line-height:1.6}.dashboard-page .funnel-step strong{font-size:28px}.dashboard-page .funnel-step small{font-size:13px}.dashboard-page .funnel-foot{font-size:12px;color:#738793}
.dashboard-page .focus-item{padding:15px 3px}.dashboard-page .focus-main b{font-size:16px;line-height:1.7}.dashboard-page .focus-main small{font-size:13px;color:#748590;line-height:1.7}.dashboard-page .focus-time{font-size:12px;color:#7d8d98}
.dashboard-page .projects-panel{padding:24px}.dashboard-page .projects-table th{font-size:14px;color:#6d8190}.dashboard-page .projects-table td{font-size:15px;padding-top:18px;padding-bottom:18px}
.dashboard-page .product-name b{font-size:16px;line-height:1.7}.dashboard-page .product-name small{font-size:12px;line-height:1.7;color:#778b98}.dashboard-page .owner-name{font-size:15px}
.dashboard-page .stage-pill,.dashboard-page .status-pill{font-size:13px;padding:5px 10px}.dashboard-page .updated-main{font-size:13px}.dashboard-page .updated-sub{font-size:12px}
.dashboard-page .project-tools{flex-wrap:wrap;gap:10px}.dashboard-page .project-tools input,.dashboard-page .project-tools select{font-size:14px;min-height:40px}.dashboard-page .search-wrap{min-width:240px}.dashboard-page .project-tools select{max-width:220px}
@media(max-width:1200px){.dashboard-page .insight-grid{grid-template-columns:minmax(0,1fr)}.dashboard-page .projects-header{flex-wrap:wrap}.dashboard-page .hero-copy{max-width:80%}.dashboard-page .hero-note{display:none}}
@media(max-width:660px){.dashboard-page .dash-hero{padding:22px;min-height:0}.dashboard-page .hero-copy{max-width:100%}.dashboard-page .dash-hero h1{font-size:27px}.dashboard-page .kpi{padding:16px;gap:10px}.dashboard-page .kpi-label{font-size:14px}.dashboard-page .kpi small{font-size:12px}.dashboard-page .funnel-panel,.dashboard-page .focus-panel,.dashboard-page .projects-panel{padding:16px}.dashboard-page .funnel-step span{font-size:13px}.dashboard-page .funnel-foot{flex-wrap:wrap}.dashboard-page .focus-time{display:none}.dashboard-page .project-tools,.dashboard-page .search-wrap{width:100%;min-width:0}.dashboard-page .section-head h2{font-size:19px}}
/* Generated raster artwork retains its original proportions. */
.dashboard-page .dash-hero{align-items:flex-start}
.dashboard-page .hero-art{top:0;right:0;bottom:0;width:58%;height:100%;opacity:1;pointer-events:none;mask-image:linear-gradient(to right,transparent,#000 28%)}
.dashboard-page .hero-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:right center}
@media(max-width:1200px){.dashboard-page .hero-art{width:48%;opacity:.5}}
@media(max-width:660px){.dashboard-page .hero-art{display:none}}

/* Overview cards double as keyboard-accessible project filters. */
.dashboard-page button.kpi{text-align:left;width:100%;font-family:inherit;color:inherit;cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s}
.dashboard-page button.kpi:hover{border-color:#8bc8bb;background:#fbfefd;box-shadow:0 4px 16px #12776b12}
.dashboard-page button.kpi.selected{border-color:#279b89;box-shadow:inset 0 0 0 1px #279b89;background:#f5fbf9}
.dashboard-page button.kpi:focus-visible{outline:3px solid #12776b;outline-offset:3px}

.projects-table th.project-actions-cell,.projects-table td.project-actions-cell{text-align:center;width:88px;padding-left:16px;padding-right:16px}
.project-more{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid transparent;border-radius:8px;background:transparent;color:#648797;font-size:20px;cursor:pointer;line-height:1}
.project-more:hover,.project-more:focus-visible{background:#eaf5f2;border-color:#b6dcd2;outline:2px solid transparent}
.project-action-menu{position:fixed;inset:auto;margin:0;width:190px;padding:6px;border:1px solid #e0e9e7;border-radius:12px;box-shadow:0 8px 30px #203d4426;background:white;color:#243e4d}
.project-action-menu button{display:block;width:100%;padding:12px;text-align:left;border:0;border-radius:7px;background:transparent;font:inherit;font-size:14px;cursor:pointer;color:inherit}
.project-action-menu button:hover,.project-action-menu button:focus-visible{background:#eff7f5;outline:none}.project-action-menu button.danger{color:#bd4848}.project-action-menu p{font-size:13px;padding:8px}
.project-name-field{margin-top:22px}.sop-confirm-dialog .project-dialog-error{color:#bd4848;margin-top:12px}

/* Keep field hints beside their headings so matching inputs stay aligned. */
.master-workspace .master-field>label,
.master-workspace .sop-read-label{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:12px;row-gap:4px}
.master-workspace .field-source{display:inline-flex;align-items:center;flex:0 1 auto;max-width:100%;margin:0;padding:0 7px;border-left:0;border-radius:4px;background:#f0f7f4;line-height:1.65;overflow-wrap:anywhere}
.master-workspace label>.sop-field-help{margin:0;font-weight:400}

/* Project heading and corner navigation. */
.detail-page>.project-banner>div:first-child{max-width:100%;width:100%;min-width:0}
.detail-page>.project-banner h1{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal;margin-bottom:0}
.detail-page>.project-banner .eyebrow{padding-right:104px}
.detail-page>.project-banner .banner-back{position:absolute;top:12px;right:12px;margin:0;padding:9px 14px;min-height:36px;border:1px solid #cce2dc;border-radius:10px;background:#ffffffeb;color:#296b5e;font-size:12px;font-weight:600;box-shadow:0 2px 6px #234b4010;transition:background .15s,border-color .15s,box-shadow .15s}
.detail-page>.project-banner .banner-back:hover{background:#fff;border-color:#8bbdac;box-shadow:0 4px 12px #234b401a}
.detail-page>.project-banner .banner-back:focus-visible{outline:2px solid #23816c;outline-offset:3px}
@media(max-width:670px){.detail-page>.project-banner>div:first-child{padding-top:28px}.detail-page>.project-banner .eyebrow{padding-right:0}.detail-page>.project-banner h1{font-size:22px}}

.detail-page>.project-banner .eyebrow{font-size:12px;line-height:1.6;letter-spacing:1.2px}

.center-tabs,.submission-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}
.center-tabs .btn{display:flex;align-items:center;gap:10px}.center-tab-count{padding:1px 7px;border-radius:12px;background:#ffffff40;font-size:12px}
.center-content{padding:0}.submission-dialog{width:min(620px,calc(100vw - 32px));max-height:85vh;overflow:auto;border:1px solid #d5e5df;border-radius:18px;padding:26px;color:#253f46;box-shadow:0 20px 60px #193d3a26}
.submission-dialog::backdrop{background:#18332d55}.submission-dialog form{text-align:right}.submission-dialog h2{font-size:20px;overflow-wrap:anywhere}.submission-dialog p{font-size:13px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.submission-steps>div{border-top:1px solid #e5eeea;padding:14px 0}.submission-steps small{display:block;color:#7b8f89;margin-top:5px}

/* Align the two task panels without changing other approval views. */
.approval-center-page .tasks-page .tasks-layout{gap:20px}
.approval-center-page .tasks-page .tasks-layout>.primary-panel,
.approval-center-page .tasks-page .task-create{padding:28px;min-width:0}
.approval-center-page .tasks-page .tasks-layout .panelhead{align-items:flex-start;gap:12px;min-height:70px;margin:0 0 22px;padding:0 0 20px;border-bottom:1px solid #edf1f2}
.approval-center-page .tasks-page .tasks-layout .panelhead h2{font-size:18px;line-height:1.5;margin:0;font-weight:700;letter-spacing:0}
.approval-center-page .tasks-page .tasks-layout .panel-subtitle{font-size:12px;line-height:1.7;color:#748892;margin:5px 0 0}
.approval-center-page .tasks-page .panelhead>.pill{margin-top:3px;flex-shrink:0}
.approval-center-page .tasks-page .task-create-fields{gap:20px}
.approval-center-page .tasks-page .task-create-fields .btn{margin-top:4px;min-height:42px}
.approval-center-page .tasks-page .task-list>.task:first-child{border-top:0}
.approval-center-page .tasks-layout-empty{align-items:stretch}
.approval-center-page .tasks-layout-empty>.primary-panel{display:flex;flex-direction:column}
.task-empty-state{flex:1;min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 16px;text-align:center}
.task-empty-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#edf7f3;color:#46917e;margin-bottom:16px}
.task-empty-icon .ui-icon{width:24px;height:24px}.task-empty-state b{font-size:15px;color:#4b626c;font-weight:600}.task-empty-state p{font-size:12px;line-height:1.9;color:#7a8e97;margin:8px 0 0}
@media(max-width:980px){.approval-center-page .tasks-page .task-empty-state{min-height:210px}}
@media(max-width:670px){.approval-center-page .tasks-page .tasks-layout>.primary-panel,.approval-center-page .tasks-page .task-create{padding:20px}.approval-center-page .tasks-page .tasks-layout .panelhead{min-height:0}.approval-center-page .tasks-page .tasks-layout .panelhead h2{font-size:17px}}

/* Reviewer inbox: match the approved task panel spacing and align row actions. */
.approval-center-page .approval-inbox>.primary-panel{padding:28px}
.approval-center-page .approval-inbox .panelhead{align-items:flex-start;gap:12px;min-height:70px;margin:0;padding:0 0 20px;border-bottom:1px solid #edf1f2}
.approval-center-page .approval-inbox .panelhead h2{font-size:18px;line-height:1.5;margin:0;font-weight:700}
.approval-center-page .approval-inbox .panel-subtitle{font-size:12px;line-height:1.7;color:#748892;margin:5px 0 0}
.approval-center-page .approval-inbox .panelhead>.pill{margin-top:3px;flex-shrink:0}
.approval-center-page .approval-inbox .redesigned-review{display:grid;grid-template-columns:40px minmax(0,1fr) 76px 120px;align-items:center;gap:18px;min-height:88px;padding:20px 0}
.approval-center-page .approval-inbox .redesigned-review:first-child{border-top:0}
.approval-center-page .approval-inbox .review-main b{font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.approval-center-page .approval-inbox .review-main small{font-size:12px;line-height:1.6;color:#748892;overflow-wrap:anywhere}
.approval-center-page .approval-inbox .redesigned-review>.pill{justify-self:center}
.approval-center-page .approval-inbox .redesigned-review>.btn{width:120px;min-height:36px;margin:0;justify-self:end}
.approval-center-page .approval-inbox .dev-warning{margin-bottom:20px;overflow-wrap:anywhere}
@media(max-width:670px){.approval-center-page .approval-inbox>.primary-panel{padding:20px}.approval-center-page .approval-inbox .panelhead{min-height:0;flex-wrap:wrap}.approval-center-page .approval-inbox .panelhead h2{font-size:17px}.approval-center-page .approval-inbox .redesigned-review{grid-template-columns:32px minmax(0,1fr);gap:12px}.approval-center-page .approval-inbox .review-icon{width:32px;height:32px}.approval-center-page .approval-inbox .review-main{grid-column:2}.approval-center-page .approval-inbox .redesigned-review>.pill{grid-column:2;justify-self:start}.approval-center-page .approval-inbox .redesigned-review>.btn{grid-column:2;justify-self:stretch;width:100%}}

/* Submission tracking uses the same panel rhythm as tasks and the inbox. */
.approval-center-page .submissions-panel{padding:28px}
.submissions-panel .panelhead{align-items:flex-start;gap:12px;margin:0 0 20px;padding-bottom:20px;border-bottom:1px solid #edf1f2}
.submissions-panel .panelhead h2{font-size:18px;line-height:1.5;margin:0;font-weight:700}.submissions-panel .panel-subtitle{font-size:12px;line-height:1.7;color:#748892;margin:5px 0 0}.submissions-panel .panelhead>.pill{margin-top:3px;flex-shrink:0}
.submissions-panel .submission-filters{gap:8px;margin-bottom:8px}.submissions-panel .submission-filters .btn{min-height:36px;gap:8px}.submission-filter-count{font-size:11px;font-variant-numeric:tabular-nums;opacity:.8}
.submissions-panel .redesigned-review{display:grid;grid-template-columns:minmax(0,1fr) 130px 120px;align-items:center;gap:18px;min-height:88px;padding:20px 0}
.submissions-panel .review-main b{font-size:14px;line-height:1.6;overflow-wrap:anywhere}.submissions-panel .review-main small{font-size:12px;line-height:1.6;color:#748892;overflow-wrap:anywhere}.submissions-panel .redesigned-review>.pill{justify-self:center;max-width:100%;white-space:normal;text-align:center}.submissions-panel .redesigned-review>.btn{width:120px;min-height:36px;margin:0;justify-self:end}.submissions-panel .pill.neutral{color:#657783;background:#eff3f5}
.submission-dialog .submission-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border-bottom:1px solid #e5eeea;padding-bottom:20px}.submission-dialog-head>div{min-width:0}.submission-dialog-head small{font-size:12px;color:#748892}.submission-dialog .submission-dialog-head h2{margin:6px 0 0;line-height:1.5}.submission-dialog-head form{margin:0;flex-shrink:0}
.submission-meta{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px;margin:22px 0;padding:18px;background:#f5f9f7;border-radius:10px}.submission-meta>div{min-width:0}.submission-meta dt{font-size:12px;color:#748892;margin-bottom:6px}.submission-meta dd{font-size:13px;line-height:1.6;margin:0;overflow-wrap:anywhere}.submission-history-title{font-size:14px;margin:24px 0 10px}.submission-dialog .submission-project{margin-top:20px;width:100%}
@media(max-width:670px){.approval-center-page .submissions-panel{padding:20px}.submissions-panel .panelhead{flex-wrap:wrap}.submissions-panel .panelhead h2{font-size:17px}.submissions-panel .redesigned-review{grid-template-columns:minmax(0,1fr) 120px;gap:12px}.submissions-panel .review-main{grid-column:1/-1}.submissions-panel .redesigned-review>.pill{justify-self:start}.submission-meta{grid-template-columns:1fr}.submission-dialog{padding:20px}}

/* Shared outer frame for every page inside the application shell. */
.app>.main>.container{--page-gutter:clamp(20px,2.5vw,56px);box-sizing:border-box;width:calc(100% - var(--page-gutter) - var(--page-gutter));max-width:2000px;min-width:0;margin:28px auto 64px;padding:24px;background:#fff;border-radius:12px}
@media(max-width:660px){.app>.main>.container{--page-gutter:14px;margin:18px auto 40px;padding:16px;border-radius:10px}}

/* Use the dashboard type scale across authenticated content pages. */
.app>.main>.container.subpage{font-size:16px;line-height:1.65;--page-title-size:34px;--section-title-size:21px}
.app>.main>.container.subpage .page-banner h1{font-size:var(--page-title-size);line-height:1.45;letter-spacing:0}
.app>.main>.container.subpage .page-banner p{font-size:16px;line-height:1.7}
.app>.main>.container.subpage :is(.panelhead h2,.form-title h2,.section-head h2,.master-module-header h3){font-size:var(--section-title-size);line-height:1.5;letter-spacing:0}
.app>.main>.container.subpage :is(.btn,.section-link,input,select,textarea){font-size:14px;line-height:1.6}
.app>.main>.container.subpage .btn{min-height:38px}
.app>.main>.container.subpage :is(.field label,.master-field label,.sop-read-label,.submission-filters,.master-module-tabs button,.master-nav-heading){font-size:14px;line-height:1.6}
.app>.main>.container.subpage :is(.field input,.field select,.master-field input,.master-field select){min-height:44px}
.app>.main>.container.subpage :is(.task-text b,.review-main b,.retro-board-item b,.sop-read-value,.master-inherited strong,.master-group-title,.master-subsection>summary,.sidecard h3,.dev-section-heading h3,.retro-heading h3){font-size:16px;line-height:1.7}
.app>.main>.container.subpage :is(.panel-subtitle,.form-title p,.section-head p,.master-module-header p,.alert,.dev-warning,.dev-muted,.retro-empty,.retro-record,.block p,.mini-help p,.side-explainer p){font-size:14px;line-height:1.75}
.app>.main>.container.subpage :is(.task-text small,.review-main small,.retro-board-item small,.field small,.field-source,.sop-field-help,.sop-form-tools,.sop-context,.master-inherited small,.sop-inherited>summary span,.mini-line,.timeline,.note,.dev-actionrow,.retro-action-list,.retro-audit){font-size:13px;line-height:1.7}
.app>.main>.container.subpage :is(.eyebrow,.form-section-num,.sop-nav-number,.center-tab-count,.submission-filter-count,.sop-group-count,.sop-record-meta){font-size:12px;line-height:1.6}
.app>.main>.container.subpage :is(.pill,.stage-pill,.status-pill){font-size:13px;line-height:1.5}
.app>.main>.container.subpage .sub-kpi small{font-size:16px;line-height:1.5}
.app>.main>.container.subpage .sub-kpi strong{font-size:34px;line-height:1.25}
.app>.main>.container.subpage .sub-kpi p{font-size:13px;line-height:1.65}
.app>.main>.container.subpage .sub-kpi{min-height:146px;min-width:0}
.app>.main>.container.subpage .task-empty-state b{font-size:16px;line-height:1.7}
.app>.main>.container.subpage .task-empty-state p{font-size:14px;line-height:1.8}
.app>.main>.container.subpage .step strong{font-size:16px;line-height:1.6}
.app>.main>.container.subpage .step span{font-size:12px;line-height:1.6}
.app>.main>.container.subpage table th{font-size:14px;line-height:1.6}
.app>.main>.container.subpage table td{font-size:15px;line-height:1.65}
.app>.main>.container.subpage :is(.panelhead,.master-module-header,.dev-actionrow){flex-wrap:wrap}
.app>.main>.container.subpage :is(.field label,.master-field label,.task-text,.sub-kpi>div){min-width:0;overflow-wrap:anywhere}
.app>.main>.container.subpage .task-check{flex-shrink:0}
.submission-dialog{font-size:16px;line-height:1.65}
.submission-dialog .submission-dialog-head h2{font-size:21px;line-height:1.5}
.submission-dialog :is(p,.btn,.submission-meta dd){font-size:14px;line-height:1.75}
.submission-dialog :is(small,.submission-meta dt){font-size:13px;line-height:1.7}
.submission-dialog .submission-history-title{font-size:16px;line-height:1.6}
@media(max-width:660px){
 .app>.main>.container.subpage{--page-title-size:27px;--section-title-size:19px}
 .app>.main>.container.subpage .sub-kpi small{font-size:14px}
 .app>.main>.container.subpage .sub-kpi p{font-size:12px}
 .app>.main>.container.subpage .sub-kpis{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}
 .app>.main>.container.subpage .sub-kpi{padding:16px;min-height:132px}
 .app>.main>.container.subpage .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
 .app>.main>.container.subpage .page-banner p{font-size:14px}
}

/* Keep title and hint on one line; native tooltips retain the full text. */
.master-workspace .master-field>label,.master-workspace .sop-read-label{flex-wrap:nowrap;min-width:0;max-width:100%;column-gap:12px;white-space:nowrap}
.master-workspace .field-label-text{display:block;flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.master-workspace :is(label,.sop-read-label):has(>.field-source,>.sop-field-help)>.field-label-text{max-width:65%}
.master-workspace :is(label,.sop-read-label)>:is(.field-source,.sop-field-help){display:block;flex:0 1 auto;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:help;margin:0}

/* Reserve a single header row: hints only use the space after the label. */
.app>.main>.container.subpage .master-workspace .master-field>label,
.app>.main>.container.subpage .master-workspace .sop-read-label{display:flex;align-items:center;flex-wrap:nowrap;width:100%;min-width:0;height:24px;gap:12px;white-space:nowrap;overflow:hidden}
.app>.main>.container.subpage .master-workspace .field-label-text{flex:0 1 auto;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.app>.main>.container.subpage .master-workspace :is(label,.sop-read-label):has(>.field-source,>.sop-field-help){display:grid;grid-template-columns:fit-content(65%) minmax(0,1fr)}
.app>.main>.container.subpage .master-workspace :is(label,.sop-read-label)>:is(.field-source,.sop-field-help){display:block;width:100%;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0;box-sizing:border-box}

/* Task actions stay in aligned columns, adapting to the actual panel width. */
.approval-center-page .tasks-page .task-list{container-type:inline-size;min-width:0}
.approval-center-page .tasks-page .redesigned-task{display:grid;grid-template-columns:29px minmax(0,1fr) 204px;align-items:center;gap:16px;padding:20px 0}
.approval-center-page .tasks-page .task-text{min-width:0;overflow-wrap:anywhere}
.approval-center-page .tasks-page .task-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:12px;min-width:0}
.approval-center-page .tasks-page .task-actions>.btn{width:100%;margin:0;white-space:nowrap;justify-content:center}
.approval-center-page .tasks-page .task-actions>.pill{justify-self:center;white-space:nowrap}
@container (max-width:540px){
 .approval-center-page .tasks-page .redesigned-task{grid-template-columns:29px minmax(0,1fr);gap:12px}
 .approval-center-page .tasks-page .task-check{align-self:start;margin-top:3px}
 .approval-center-page .tasks-page .task-actions{grid-column:2;width:100%;max-width:260px;justify-self:end}
}

/* New-user guide: shared page frame, consistent card headers and reading rhythm. */
.help-page{display:grid;gap:24px}
.help-page .page-banner{margin:0}
.help-page :is(.help-start,.help-menu-card,.help-flow,.help-reminders){padding:28px;min-width:0}
.help-page :is(h2,h3,p){margin:0}
.help-page h2{font-size:21px;line-height:1.5;color:var(--text)}
.help-page h3{font-size:19px;line-height:1.5}
.help-page p,.help-page li{font-size:15px;line-height:1.85;overflow-wrap:anywhere}
.help-page .help-kicker{display:block;font-size:13px;color:#137c70;margin-bottom:8px}
.help-start{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:32px;align-items:start}
.help-start>div>p,.help-section-heading>p{color:#667e89;margin-top:8px}
.help-steps{list-style:none;counter-reset:help-step;margin:0;padding:0;display:grid;gap:18px}
.help-steps li{counter-increment:help-step;position:relative;padding-left:42px}
.help-steps li::before{content:counter(help-step);position:absolute;left:0;top:2px;width:28px;height:28px;border-radius:50%;background:#e5f4ef;color:#147c6f;text-align:center;line-height:28px;font-weight:700}
.help-steps span,.help-reminder-grid span{display:block;color:#667e89;margin-top:4px}
.help-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:18px}
.help-menu-card{display:flex;flex-direction:column;gap:16px}
.help-menu-card header{display:flex;align-items:center;gap:12px;min-height:38px}
.help-icon{width:38px;height:38px;flex-shrink:0;display:grid;place-items:center;border-radius:11px;background:#e9f5f1;color:#147c6f}
.help-icon .ui-icon{width:20px;height:20px}
.help-menu-card .help-purpose{color:#667e89}
.help-menu-card :is(ol,ul){margin:0;padding-left:22px;display:grid;gap:8px}
.help-menu-card .help-example{padding:14px 16px;background:#f3f8f6;border-radius:10px}
.help-example b{display:block;color:#137c70;margin-bottom:4px}
.help-menu-card .help-footnote{font-size:14px;color:#667e89}
.help-menu-card>.btn{align-self:flex-start;margin-top:auto;min-height:40px}
.help-flow-list{margin:20px 0 0;padding-left:24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 40px}
.help-flow-list li::marker{color:#137c70;font-weight:700}
.help-flow-list p{color:#667e89;margin-top:6px}
.help-reminder-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 32px;margin-top:20px}
.help-reminder-grid>p{padding-left:14px;border-left:3px solid #abd8ce}
.help-sources{padding:0 4px;color:#6c828d}
.help-sources b,.help-sources p{font-size:13px;line-height:1.8}
.help-sources p{margin-top:6px}
@media(max-width:1000px){.help-start{grid-template-columns:1fr;gap:24px}}
@media(max-width:720px){.help-menu-grid,.help-flow-list,.help-reminder-grid{grid-template-columns:1fr}.help-page :is(.help-start,.help-menu-card,.help-flow,.help-reminders){padding:20px}.help-page{gap:20px}.help-page h2{font-size:19px}.help-page h3{font-size:18px}}

/* Workspace header and account controls share one readable baseline. */
.topbar{min-height:76px;height:auto;padding:16px clamp(20px,2.5vw,56px);gap:20px;flex-wrap:wrap}
.breadcrumb{display:flex;align-items:center;min-width:0;font-size:14px;line-height:1.6}
.breadcrumb strong{color:#284653;font-weight:650}
.identity{gap:12px;min-width:0}
.identity-avatar{width:38px;height:38px;font-size:15px;border:1px solid #cfe6df;flex-shrink:0}
.identity-name{gap:3px;min-width:0;max-width:180px}
.identity-name b{font-size:14px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.identity-name small{font-size:12px;color:#728691}
.identity .btn{min-height:36px;padding:7px 13px;font-size:13px;border-radius:9px;white-space:nowrap}
.identity .account-switch-trigger{margin-left:8px;background:#f1f8f5;border-color:#d6e9e2;color:#176f63}
.identity .account-switch-trigger[aria-expanded="true"]{background:#e4f3ed;border-color:#7db9a7}
.identity .logout{margin-left:0;color:#72818a;background:transparent}
.identity .logout:hover{color:#a33e42;background:#fff5f4;border-color:#ebcccc}
.sidebar-bottom{border-top:1px solid #edf1f3;padding:16px 10px 0;font-size:12px;line-height:1.7}
.sidebar-edition{font-size:12px;gap:8px;color:#405e69}
.sidebar-environment{margin-top:8px;color:#14796b;font-weight:600}
.sidebar-hint{margin-top:4px;color:#81939e}
.switch-account-popover{top:88px;box-sizing:border-box}
.switch-account-popover p{font-size:13px}
.switch-account-fields label{font-size:13px}
.switch-account-fields :is(input,select){min-height:42px;font-size:14px}
@media(max-width:700px){.topbar{padding:12px 16px;gap:12px}.identity{gap:8px}.identity-name{max-width:110px}.identity .account-switch-trigger{margin-left:0}.switch-account-popover{top:120px}}
@media(max-width:480px){.topbar{align-items:flex-start;flex-direction:column}.identity{width:100%}.identity-name{margin-right:auto}.identity .btn{padding:7px 10px}.breadcrumb{font-size:13px}}

.switch-account-popover{overflow-y:auto}

.progress-stage-body{padding:20px 24px}.progress-stage-body p{margin:0 0 12px;line-height:1.65}.progress-stage-body .master-field{margin-top:20px}.progress-stage-body .btn{margin-bottom:4px}

/* Progress overview: compact stage information beside freely editable notes. */
.master-workspace[data-module="progress"] .sop-form-tools{display:none}
.master-workspace[data-module="progress"] .master-module-header{margin-bottom:18px}
.master-workspace[data-module="progress"] .workflow-notice{padding:14px 18px;margin-bottom:22px;gap:18px}
.master-workspace[data-module="progress"] .workflow-notice p{margin:4px 0;font-size:13px}
.master-workspace[data-module="progress"] .workflow-notice small{font-size:12px}
.progress-overview-summary{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 18px;flex-wrap:wrap}
.progress-overview-summary strong{font-size:14px;font-weight:500;color:#45616d}
.progress-overview-summary b{font-size:20px;color:#14796b;margin:0 3px}
.progress-overview-summary>span{font-size:12px;color:#7c8e98}
.master-workspace[data-module="progress"] .progress-stage{margin-bottom:14px;border-color:#e0e8eb;overflow:hidden}
.master-workspace[data-module="progress"] .progress-stage.is-current{border-color:#86bdb2}
.progress-stage-heading{display:flex;align-items:center;gap:12px;padding:12px 20px;background:#f8fafb;border-bottom:1px solid #e9eff1}
.is-current .progress-stage-heading{background:#edf7f3}
.progress-stage-number{font-size:13px;font-weight:650;color:#84959f;font-variant-numeric:tabular-nums}
.is-complete .progress-stage-number,.is-current .progress-stage-number{color:#13786b}
.progress-stage-heading h4{font-size:16px;line-height:1.5;font-weight:650;color:#284653;margin:0;min-width:0;overflow-wrap:anywhere}
.progress-stage-status{flex-shrink:0;font-size:12px;color:#7c8b96;background:#edf1f4;padding:3px 10px;border-radius:20px}
.is-active .progress-stage-status{background:#fff3db;color:#906619}
.is-complete .progress-stage-status{background:#e5f3ed;color:#187563}
.progress-stage-heading>.btn{margin-left:auto;flex-shrink:0;font-size:13px!important;min-height:34px!important;padding:6px 12px;white-space:nowrap}
.progress-stage-heading>.btn span{margin-left:5px}
.master-workspace[data-module="progress"] .progress-stage-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:18px 20px;align-items:start}
.progress-stage-info,.progress-stage-note{min-width:0}
.progress-stage-meta{display:grid;gap:8px;margin:0}
.progress-stage-meta>div{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;align-items:baseline}
.progress-stage-meta dt{font-size:13px;color:#81929d}
.progress-stage-meta dd{margin:0;font-size:14px;color:#36505f;line-height:1.65;overflow-wrap:anywhere}
.progress-stage-next{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;margin-top:10px;align-items:baseline}
.progress-stage-next>span{font-size:13px;color:#81929d}
.progress-stage-body .progress-stage-next p{font-size:14px;line-height:1.65;margin:0;color:#36505f;overflow-wrap:anywhere}
.is-current .progress-stage-next p{color:#126f63;font-weight:550}
.progress-stage-body .progress-stage-detail{font-size:12px;color:#7b8f99;margin:8px 0 0;line-height:1.7;overflow-wrap:anywhere}
.master-workspace[data-module="progress"] .progress-stage-note .master-field{margin:0}
.master-workspace[data-module="progress"] .progress-stage-note textarea{min-height:72px;padding:9px 12px;background:#fcfdfd}
.master-workspace[data-module="progress"] .progress-stage-note .sop-read-value{min-height:0;border:0;background:transparent;padding:6px 0;white-space:pre-wrap;overflow-wrap:anywhere}
.progress-stage-history{margin-top:12px;font-size:13px;color:#687f8b}
.progress-stage-history summary{cursor:pointer;width:fit-content;padding:3px 0}
.progress-stage-history summary:focus-visible{outline:2px solid #12776b;outline-offset:3px}
.progress-stage-history ol{list-style:none;padding:0 0 0 12px;margin:10px 0 0;border-left:2px solid #e2ece8}
.progress-stage-history li+li{margin-top:12px}
.progress-stage-history li>div{display:flex;gap:12px;flex-wrap:wrap;align-items:baseline}
.progress-stage-history time{font-size:12px;color:#82939c}
.progress-stage-body .progress-stage-history p{font-size:13px;margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:1150px){.master-workspace[data-module="progress"] .progress-stage-body{grid-template-columns:minmax(0,1fr);gap:16px}.progress-stage-note{padding-top:14px;border-top:1px solid #edf1f3}}
@media(max-width:650px){.progress-stage-heading{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:8px;padding:12px 14px}.progress-stage-heading h4{font-size:15px}.progress-stage-heading>.btn{grid-column:2/-1;justify-self:start;margin:2px 0 0}.master-workspace[data-module="progress"] .progress-stage-body{padding:14px}.progress-stage-meta>div,.progress-stage-next{grid-template-columns:56px minmax(0,1fr);gap:10px}}

/* Quick screening: one continuous worksheet, with the original field controls. */
.master-workspace[data-module="02"] .sop-form-tools{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 16px}
.screening-progress{display:flex;gap:20px;color:#176f63;font-weight:600}
.screening-next{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.screening-next small{max-width:300px;font-size:12px;color:#788994}
.master-workspace[data-module="02"] .master-save-actions{align-items:center}
.screening-form{display:grid;gap:16px}
.screening-group{border:1px solid #e0e9ec;border-radius:8px;overflow:hidden;min-width:0}
.screening-heading{display:flex;align-items:baseline;gap:16px;padding:12px 18px;background:#f0f7f5;border-bottom:1px solid #e4edeb}
.screening-heading h4{margin:0;color:#136c62;font-size:16px;font-weight:650;flex-shrink:0}
.screening-heading p{margin:0;font-size:13px;color:#788994}
.screening-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(190px,.7fr) minmax(260px,1.5fr);gap:20px;align-items:center;padding:12px 18px}
.screening-row+.screening-row{border-top:1px solid #edf1f3}
.screening-question{display:flex;align-items:baseline;gap:18px;min-width:0;color:#284653;font-size:14px}
.screening-question>span{font-weight:650;color:#274558;min-width:12px}
.screening-question label{line-height:1.65;cursor:pointer}
.screening-form .master-field{margin:0;min-width:0}
.master-workspace[data-module="02"] .screening-answer :is(.master-field>label,.sop-read-label){display:none!important}
.screening-evidence .master-field{display:grid;grid-template-columns:68px minmax(0,1fr);align-items:center;gap:12px}
.master-workspace[data-module="02"] .screening-evidence :is(label,.sop-read-label){font-size:12px!important;color:#788994;margin:0;height:auto!important;overflow:visible!important;line-height:1.6}
.master-workspace[data-module="02"] .screening-form textarea{min-height:52px;padding:5px 12px;line-height:1.5;resize:vertical;border-radius:6px;width:100%;box-sizing:border-box}
.master-workspace[data-module="02"] .screening-evidence .field-label-text{white-space:normal!important;overflow:visible!important;text-overflow:clip}
.master-workspace[data-module="02"] .master-module-header{margin-bottom:8px}
.master-workspace[data-module="02"] .sop-form-tools{min-height:32px;margin-bottom:12px}
.master-workspace[data-module="02"] .screening-row{padding-top:8px;padding-bottom:8px}
.screening-form textarea:focus{border-color:#168477;outline:2px solid #dcefea;outline-offset:1px}
.screening-form .sop-choice-group{gap:6px;border:0;background:transparent;overflow:visible;width:100%}
.screening-form .sop-choice-group button{flex:1;border:1px solid #dce5eb;border-radius:6px;min-height:38px;white-space:nowrap;padding:6px 10px}
.screening-form .sop-choice-group button:last-child{border-right:1px solid #dce5eb}
.screening-form .sop-choice-group button[aria-pressed=true]{border-color:#178376;box-shadow:none;background:#e8f5f1;color:#106f63}
.screening-row[data-tone="risk"] button[aria-pressed=true]{border-color:#d69c89;background:#fff1eb;color:#a44329}
.screening-row[data-tone="pending"] button[aria-pressed=true]{border-color:#d6b66c;background:#fff8e9;color:#89631c}
.screening-form button:focus-visible{outline:2px solid #12776b;outline-offset:2px}
.screening-redline-help{display:block;font-size:12px;color:#788994;line-height:1.6;margin-top:6px}
.screening-decision{display:grid;gap:14px;padding:16px 18px}
.screening-decision>.master-field{display:grid;grid-template-columns:88px minmax(0,1fr);gap:16px;align-items:start}
.screening-decision .master-field>label,.screening-decision .sop-read-label{margin:8px 0 0}
.screening-decision .sop-choice-group{max-width:650px}
.screening-form .sop-read-value{border:0;padding:4px 0;min-height:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px!important}
.screening-answer .sop-read-value{font-weight:650}
.screening-row[data-tone="risk"] .screening-answer .sop-read-value{color:#a44329}
.screening-row[data-tone="pending"] .screening-answer .sop-read-value{color:#89631c}
.screening-row[data-tone="positive"] .screening-answer .sop-read-value{color:#106f63}
@media(max-width:1450px){.screening-row{grid-template-columns:minmax(180px,1fr) 190px minmax(200px,1.2fr);gap:14px}.screening-evidence .master-field{grid-template-columns:1fr;gap:5px}}
@media(max-width:1150px){.screening-row{grid-template-columns:minmax(0,1fr) 210px}.screening-evidence{grid-column:1/-1;padding-left:30px}.screening-evidence .master-field{grid-template-columns:68px minmax(0,1fr)}}
@media(max-width:650px){.screening-heading{align-items:flex-start;flex-direction:column;gap:4px;padding:12px 14px}.screening-row{grid-template-columns:minmax(0,1fr);gap:10px;padding:14px}.screening-answer,.screening-evidence{padding-left:30px}.screening-evidence .master-field{grid-template-columns:1fr}.screening-decision{padding:14px}.screening-decision>.master-field{grid-template-columns:1fr;gap:8px}.screening-decision .sop-choice-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.screening-progress{gap:16px}}
@media(max-width:650px){.master-workspace[data-module="02"] .dev-actionrow{gap:8px;padding:10px 0}.master-workspace[data-module="02"] .sop-save-meta small,.screening-next small{display:none}.master-workspace[data-module="02"] .master-save-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:8px}.screening-next{display:contents}}

/* Control panel: selected three-section layout, sharing progress overview tokens. */
.master-workspace[data-module="control"] .sop-content{container-type:inline-size;container-name:control-content}
.master-workspace[data-module="control"] .sop-form-tools{display:none}
.master-workspace[data-module="control"] .workflow-notice{padding:14px 18px;margin-bottom:22px;gap:18px}
.master-workspace[data-module="control"] .workflow-notice p{margin:4px 0;font-size:13px}
.master-workspace[data-module="control"] .workflow-notice small{font-size:12px}
.master-workspace[data-module="control"] .master-module-header{margin-bottom:22px}
.master-workspace[data-module="control"] .master-flat-group{margin:0 0 16px;border:1px solid #e0e8eb;border-radius:8px;overflow:hidden}
.master-workspace[data-module="control"] .master-flat-group .master-group-title{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;background:#edf7f3;border-bottom:1px solid #e9eff1}
.master-workspace[data-module="control"] .master-group-title h4{display:flex;align-items:center;gap:18px;margin:0;font-size:16px;line-height:24px;font-weight:650;color:#284653}
.control-group-number{font-size:13px;font-weight:650;color:#13786b;font-variant-numeric:tabular-nums}
.master-workspace[data-module="control"] .control-group-hint{font-size:12px;line-height:20px;color:#748994;font-weight:400;text-align:right}
.master-workspace[data-module="control"] .master-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 28px;padding:20px}
.master-workspace[data-module="control"] .control-targets .master-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 24px}
.master-workspace[data-module="control"] .control-status .master-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;padding:18px 20px}
.master-workspace[data-module="control"] .sop-field-cell{grid-column:auto;min-width:0}
.master-workspace[data-module="control"] .master-field{gap:8px;margin:0}
.master-workspace[data-module="control"] .master-field>.sop-field-help{white-space:normal;margin:0;line-height:1.6;font-size:12px;color:#748994}
.master-workspace[data-module="control"] .master-field>label{font-size:13px;line-height:22px}
.master-workspace[data-module="control"] .control-status .master-result strong{background:#f8f9fb;border:1px solid #e8ecf0;border-radius:6px;padding:8px 10px;font-size:14px;font-weight:500;line-height:24px;min-height:42px;color:#36505f;overflow-wrap:anywhere}
.master-workspace[data-module="control"] [data-key="special_threshold"] input{max-width:none;width:100%}
@container control-content (max-width:700px){
 .master-workspace[data-module="control"] .control-targets .master-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .master-workspace[data-module="control"] .control-status .master-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .master-workspace[data-module="control"] .master-group-title{flex-wrap:wrap;gap:4px}
 .master-workspace[data-module="control"] .control-group-hint{text-align:left}
}
@container control-content (max-width:440px){
 .master-workspace[data-module="control"] .master-grid,.master-workspace[data-module="control"] .control-targets .master-grid,.master-workspace[data-module="control"] .control-status .master-grid{grid-template-columns:minmax(0,1fr);padding:16px;gap:18px}
 .master-workspace[data-module="control"] .master-flat-group .master-group-title{padding:12px 16px;flex-direction:column;align-items:flex-start;gap:4px}
}

/* Match the compact overview density while retaining native form controls. */
.app>.main>.container.subpage .master-workspace[data-module="control"] .master-field{gap:6px}
.app>.main>.container.subpage .master-workspace[data-module="control"] .master-field>label{font-size:13px;line-height:22px}
.app>.main>.container.subpage .master-workspace[data-module="control"] .sop-field-help{font-size:12px;line-height:18px}
.app>.main>.container.subpage .master-workspace[data-module="control"] .master-grid{padding:18px 20px;row-gap:18px}
.app>.main>.container.subpage .master-workspace[data-module="control"] input,.app>.main>.container.subpage .master-workspace[data-module="control"] select{font-size:14px;min-height:38px;height:38px}
.app>.main>.container.subpage .master-workspace[data-module="control"] .control-status .master-result strong{min-height:40px;line-height:22px;padding:8px 10px}

/* Inset the native dropdown indicator while keeping native keyboard behavior. */
.master-workspace .sop-select{border:1px solid #d8dfe6;border-radius:6px;background:#fff;padding-right:12px;min-width:0}
.app>.main>.container.subpage .master-workspace .sop-select>select{display:block;border:0;border-radius:5px;background:transparent;min-height:42px;height:42px;padding:8px 0 8px 11px;box-shadow:none;outline:none}
.master-workspace .sop-select:hover:not(:has(select:disabled)){border-color:#aebfc6}
.master-workspace .sop-select:focus-within{border-color:#12776b;box-shadow:0 0 0 3px #12776b12}
.master-workspace .sop-select:has(select:focus-visible){outline:2px solid #12776b;outline-offset:2px}
.master-workspace .sop-select:has(select:disabled){background:#f8f9fb;border-color:#e8ecf0}

.master-workspace .sop-compliance-grid>.sop-field-cell:first-child .sop-select{max-width:380px}

/* Persistent unit labels distinguish percentages from decimal storage values. */
.sop-percent-input{position:relative;min-width:0;width:100%}
.master-workspace .sop-percent-input>input{padding-right:44px}
.sop-percent-input>span{position:absolute;right:14px;top:0;height:44px;display:flex;align-items:center;color:#718391;pointer-events:none;font-size:14px}
.sop-percent-input:has(input:disabled)>span{color:#87959f}
.master-workspace input::placeholder{color:#87959f;opacity:1}

/* Progress metadata shares the note label's 24px text row and 8px rhythm. */
.master-workspace[data-module="progress"] .progress-stage-meta dt,
.master-workspace[data-module="progress"] .progress-stage-meta dd,
.master-workspace[data-module="progress"] .progress-stage-next>span,
.master-workspace[data-module="progress"] .progress-stage-next p{line-height:24px}
.master-workspace[data-module="progress"] .progress-stage-next{margin-top:8px}
.app>.main>.container.subpage .master-workspace[data-module="progress"] .progress-stage-note .master-field>label{line-height:24px}

/* Basic information: field widths follow content, with room for short explanations. */
.master-workspace[data-module="01"] .sop-content{container-type:inline-size;container-name:basic-info}
.master-workspace[data-module="01"] .master-module-header{margin-bottom:12px}
.master-workspace[data-module="01"] .sop-form-tools{margin-bottom:14px}
.master-workspace[data-module="01"] .basic-group{margin-bottom:16px}
.master-workspace[data-module="01"] .basic-group .master-group-title{padding:12px 24px}
.master-workspace[data-module="01"] .master-grid{gap:20px 24px;padding:22px 24px;grid-template-columns:repeat(2,minmax(0,1fr))}
.master-workspace[data-module="01"] .sop-field-cell{grid-column:auto}
.master-workspace[data-module="01"] .basic-group-1 .master-grid{grid-template-columns:minmax(0,1fr)}
.master-workspace[data-module="01"] .master-field textarea{min-height:88px;line-height:1.65}
.app>.main>.container.subpage .master-workspace[data-module="01"] .master-field>label:has(.field-source){display:flex;gap:10px}
.app>.main>.container.subpage .master-workspace[data-module="01"] .master-field>label>.field-source{width:auto;flex:0 0 auto;max-width:45%;padding:1px 7px;border-radius:4px;font-size:12px}
@container basic-info (min-width:850px){
 .master-workspace[data-module="01"] .basic-group-0 .master-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
 .master-workspace[data-module="01"] .basic-group-0 .sop-field-cell{grid-column:span 2}
 .master-workspace[data-module="01"] .basic-group-0 :is([data-key="temp_name"],[data-key="category"]){grid-column:span 3}
 .master-workspace[data-module="01"] .basic-group-1 .master-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .master-workspace[data-module="01"] .basic-group-2 .master-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@container basic-info (max-width:540px){
 .master-workspace[data-module="01"] .master-grid{grid-template-columns:minmax(0,1fr);padding:18px;gap:18px}
 .master-workspace[data-module="01"] .basic-group .master-group-title{padding:12px 18px}
}

.sop-deep-selector{display:flex;align-items:end;gap:20px;flex-wrap:wrap;padding:16px 20px;margin-bottom:18px;background:#f3f8f6;border:1px solid #e0ebe6;border-radius:8px}
.sop-deep-selector>.master-field{width:360px;max-width:100%}
.sop-deep-selector>p{flex:1;min-width:200px;margin:0 0 8px;color:#6b808c;font-size:13px;line-height:1.7}
.master-workspace .sop-field-cell[hidden]{display:none}
.master-workspace[data-module="08"]:has(#deep-competitor-view option:checked:not([value="all"])) .master-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:700px){.master-workspace[data-module="08"]:has(#deep-competitor-view option:checked:not([value="all"])) .master-grid{grid-template-columns:minmax(0,1fr)}}

/* Market research: compact counts, distinct derived metrics, and room for evidence. */
.master-workspace[data-module="03"] .sop-content{container-type:inline-size;container-name:market-info}
.master-workspace[data-module="03"] .master-module-header{margin-bottom:12px}
.master-workspace[data-module="03"] .master-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px;padding:22px 24px}
.master-workspace[data-module="03"] .market-group .master-group-title{padding:12px 24px}
.master-workspace[data-module="03"] .sop-field-cell{grid-column:auto}
.master-workspace[data-module="03"] .market-group{margin-bottom:16px}
.master-workspace[data-module="03"] .market-share-result{padding:12px 16px;background:#f0f7f5;border-radius:6px;gap:4px}
.master-workspace[data-module="03"] .market-share-result strong{padding:0;min-height:32px;background:transparent;font-size:24px;line-height:32px;font-weight:650}
.master-workspace[data-module="03"] .market-share-result label small{margin-left:auto;font-size:12px;color:#738b87;font-weight:400;white-space:nowrap}
.master-workspace[data-module="03"] [data-key="benchmark_traffic"]{grid-column:1/-1}
.master-workspace[data-module="03"] .master-field textarea{min-height:100px}
.sop-unit-input{position:relative;min-width:0}
.master-workspace .sop-unit-input>input{padding-right:48px}
.sop-unit-input>span{position:absolute;right:14px;top:0;height:44px;display:flex;align-items:center;font-size:13px;color:#718391;pointer-events:none}
@container market-info (min-width:1000px){
 .master-workspace[data-module="03"] .market-group-0 .master-grid,.master-workspace[data-module="03"] .market-group-2 .master-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 .master-workspace[data-module="03"] :is([data-key="organic_share"],[data-key="ad_share"]){grid-column:span 2}
}
@container market-info (min-width:750px){
 .master-workspace[data-module="03"] .market-group-1 .master-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@container market-info (max-width:540px){
 .master-workspace[data-module="03"] .master-grid{grid-template-columns:minmax(0,1fr);padding:18px;gap:18px}
 .master-workspace[data-module="03"] .market-group .master-group-title{padding:12px 18px}
}

/* Screening: compact verdicts and aligned evidence in the review view. */
.screening-refined{container-type:inline-size;container-name:screening}
.screening-refined .screening-row,.screening-columns{grid-template-columns:minmax(220px,1fr) 210px minmax(280px,1.6fr);gap:24px;align-items:start}
.screening-refined.is-readonly .screening-row,.screening-refined.is-readonly .screening-columns{grid-template-columns:minmax(220px,1fr) 112px minmax(280px,1.6fr)}
.screening-columns{display:grid;padding:10px 18px;color:#738591;font-size:12px;background:#fafcfc;border-bottom:1px solid #edf1f3}
.master-workspace[data-module="02"] .screening-refined .screening-row{padding:16px 18px}
.screening-refined .screening-evidence .master-field{display:block}
.master-workspace[data-module="02"] .screening-refined .screening-evidence :is(label,.sop-read-label){position:absolute;width:1px;height:1px!important;overflow:hidden!important;clip-path:inset(50%)}
.master-workspace[data-module="02"] .screening-refined .sop-read-field{padding:0;border:0;gap:0}
.screening-refined .sop-read-value{padding:0;line-height:1.65!important}
.screening-refined.is-readonly .screening-answer .sop-read-value{display:inline-block;padding:2px 12px;background:#edf6f3;border-radius:5px}
.screening-refined.is-readonly .screening-row[data-tone="risk"] .screening-answer .sop-read-value{background:#fff1eb}
.screening-refined.is-readonly .screening-row[data-tone="pending"] .screening-answer .sop-read-value{background:#fff8e9}
.screening-refined .screening-decision [data-field-key="decision"] .sop-read-value{justify-self:start;padding:4px 14px;border-radius:5px;background:#edf6f3;color:#106f63;font-weight:650}
.screening-refined .screening-decision .sop-read-field{align-items:baseline}
.screening-refined .screening-decision .sop-read-label{margin:0;line-height:1.65}
@container screening (max-width:850px){
.screening-refined .screening-columns{display:none}
.screening-refined .screening-row,.screening-refined.is-readonly .screening-row{grid-template-columns:minmax(0,1fr) 180px;gap:12px}
.screening-refined.is-readonly .screening-row{grid-template-columns:minmax(0,1fr) 80px}
.screening-refined .screening-evidence{grid-column:1/-1;padding-left:30px}
.master-workspace[data-module="02"] .screening-refined .screening-evidence :is(label,.sop-read-label){position:static;width:auto;height:auto!important;clip-path:none;display:block;margin-bottom:6px}
}
@container screening (max-width:480px){
.screening-refined .screening-row,.screening-refined.is-readonly .screening-row{grid-template-columns:minmax(0,1fr)}
.screening-refined .screening-answer{padding-left:30px}
}

@container screening (min-width:851px){
.master-workspace[data-module="02"] .screening-refined .screening-evidence :is(label,.sop-read-label){display:none!important}
}
.screening-refined.is-readonly .screening-answer .sop-read-value{justify-self:start;width:fit-content;min-width:40px;text-align:center}

/* Competitor dossiers: identity, comparable metrics, then qualitative analysis. */
.competitor-refined{container-type:inline-size;container-name:competitors}
.competitor-refined .master-competitor-heading{padding:16px 24px;justify-content:space-between}
.competitor-refined .master-competitor-heading strong{font-size:16px;line-height:1.5;overflow-wrap:anywhere}
.competitor-card-actions{display:flex;align-items:center;gap:16px;flex-shrink:0}
.competitor-card-actions a{font-size:13px;color:#08796d;text-decoration:none}
.competitor-card-actions a:hover{text-decoration:underline}
.competitor-card-body{padding:24px;display:grid;gap:22px}
.competitor-identity,.competitor-metrics,.competitor-analysis{display:grid;gap:24px;align-items:start;min-width:0}
.competitor-identity{grid-template-columns:repeat(2,minmax(0,1fr))}
.competitor-identity[hidden]{display:none}
.competitor-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.competitor-analysis{grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #edf1f3;padding-top:20px}
.competitor-detail{min-width:0}
.master-workspace .competitor-refined .sop-read-field{border:0;padding:0;gap:8px}
.competitor-refined.is-readonly .competitor-metrics{padding:16px;background:#f5f9f8;border-radius:6px}
.master-workspace .competitor-refined .competitor-metrics .sop-read-value{font-size:18px;font-weight:600;line-height:1.6}
.master-workspace .competitor-refined textarea{min-height:96px}
@container competitors (max-width:850px){.competitor-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.competitor-analysis{grid-template-columns:minmax(0,1fr);gap:20px}}
@container competitors (max-width:480px){.competitor-identity,.competitor-metrics{grid-template-columns:minmax(0,1fr)}.competitor-refined .master-competitor-heading{padding:16px;align-items:flex-start;flex-direction:column}.competitor-card-body{padding:16px}.competitor-card-actions{flex-wrap:wrap}}

/* Editable competitor cards: grouped metrics and compact analysis notes. */
.competitor-refined:not(.is-readonly) .competitor-card-body{gap:20px}
.competitor-refined:not(.is-readonly) .competitor-metrics{padding:18px;background:#f3f8f7;border:1px solid #e6efec;border-radius:8px;gap:20px}
.competitor-refined:not(.is-readonly) .competitor-analysis{border-top:0;padding-top:0;gap:16px}
.competitor-refined:not(.is-readonly) .competitor-analysis>.competitor-detail{padding:16px;background:#f8fafb;border:1px solid #e7edef;border-radius:8px}
.master-workspace .competitor-refined:not(.is-readonly) .competitor-analysis textarea{min-height:88px;height:88px;line-height:1.65;padding:10px 12px;resize:vertical}
.master-workspace .competitor-refined:not(.is-readonly) :is(input,textarea){border-color:#ccdcd9;border-radius:6px;transition:border-color .15s,box-shadow .15s}
.master-workspace .competitor-refined:not(.is-readonly) :is(input,textarea):focus{border-color:#148477;outline:0;box-shadow:0 0 0 3px #14847718}
.competitor-unit{position:relative}
.competitor-unit>span{position:absolute;right:14px;top:0;height:44px;display:flex;align-items:center;pointer-events:none;color:#71858a;font-size:13px}
.master-workspace .competitor-unit>input{padding-right:56px}
.competitor-unit.has-prefix>span{left:14px;right:auto}
.master-workspace .competitor-unit.has-prefix>input{padding-left:34px;padding-right:12px}
@container competitors (max-width:480px){.competitor-refined:not(.is-readonly) .competitor-metrics{padding:14px}.competitor-refined:not(.is-readonly) .competitor-analysis>.competitor-detail{padding:14px}}

/* Initial business assessment: concise proposal and grouped cost model. */
.master-workspace[data-module="05"] .sop-content{container-type:inline-size;container-name:business}
.master-workspace[data-module="05"] .master-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px;padding:22px 24px}
.master-workspace[data-module="05"] .sop-field-cell{grid-column:auto;min-width:0}
.master-workspace[data-module="05"] .master-group-title{padding:13px 24px}
.master-workspace[data-module="05"] textarea{min-height:100px;height:100px;padding:12px;line-height:1.65}
.master-workspace[data-module="05"] .master-grid:has([data-key="risk"]){grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.master-workspace[data-module="05"] .master-grid:has([data-key="platform_fee_rate"]){background:#f6faf9}
.master-workspace[data-module="05"] .master-grid:has([data-key="converted_rmb_krw"]){background:#fafcfc}
.master-workspace[data-module="05"] .master-result{padding:14px 16px;background:#f0f7f5;border:1px solid #e2eeea;border-radius:7px;gap:8px}
.master-workspace[data-module="05"] .master-result strong{padding:0;background:transparent;font-size:21px;line-height:1.5;min-height:32px}
.master-workspace[data-module="05"] :is([data-key="net_profit_krw"],[data-key="net_margin"],[data-key="profit_status"]) .master-result{border-color:#bcdad2;background:#eaf5f1}
.master-workspace[data-module="05"] .master-field>label{height:auto;min-height:20px}
.master-workspace[data-module="05"] .field-label-text{white-space:normal;overflow:visible;text-overflow:clip}
.master-workspace[data-module="05"] :is(input,textarea):focus{border-color:#148477;outline:0;box-shadow:0 0 0 3px #14847718}
@container business (min-width:1000px){
.master-workspace[data-module="05"] .master-grid:has(:is([data-key="manufacturing_krw"],[data-key="platform_fee_rate"],[data-key="converted_rmb_krw"])){grid-template-columns:repeat(4,minmax(0,1fr))}
}
@container business (max-width:540px){
.master-workspace[data-module="05"] .master-grid,.master-workspace[data-module="05"] .master-grid:has([data-key="risk"]){grid-template-columns:minmax(0,1fr);padding:18px;gap:18px}
.master-workspace[data-module="05"] .master-group-title{padding:12px 18px}
}

.master-workspace[data-module="05"] .master-field textarea{min-height:100px;height:100px}

/* Product proposal shares one two-column alignment across both sections. */
.master-workspace[data-module="05"] .master-grid:has([data-key="difference"]) .master-field>label,
.master-workspace[data-module="05"] .master-grid:has([data-key="risk"]) .master-field>label{margin:0;min-height:20px;line-height:20px}
.master-workspace[data-module="05"] .master-grid:has([data-key="difference"]) .master-field,
.master-workspace[data-module="05"] .master-grid:has([data-key="risk"]) .master-field{gap:10px}
/* Align risk response with the adjacent risk selector. */
.master-workspace[data-module="05"] [data-key="risk_plan"] .master-field textarea{height:44px!important;min-height:44px;max-height:44px;padding:10px 12px;line-height:22px;resize:none;overflow-y:auto}
/* Timeline overview, scoped to the progress module. */
.master-workspace[data-module="progress"] .sop-content{container-type:inline-size;padding-bottom:48px}
.master-workspace[data-module="progress"] .sop-form-tools{display:none}
.master-workspace[data-module="progress"] .master-module-header{margin-bottom:16px}
.master-workspace[data-module="progress"] .progress-overview-summary{display:flex;align-items:center;gap:20px;margin:0 0 22px}
.progress-overview-summary>strong{white-space:nowrap;font-size:14px;font-weight:500}.progress-overview-summary b{color:#008979}
.progress-meter{flex:1;width:100%;min-width:40px;height:8px;border:0;border-radius:20px;overflow:hidden;appearance:none;background:#e4ebf0;color:#28bd86}
.progress-meter::-webkit-progress-bar{background:#e4ebf0;border-radius:20px}.progress-meter::-webkit-progress-value{background:#28bd86;border-radius:20px}.progress-meter::-moz-progress-bar{background:#28bd86;border-radius:20px}
.progress-overview-summary .progress-percent{font-size:13px;color:#167c70;min-width:30px;text-align:right}
.progress-timeline{position:relative;padding-left:54px}
.progress-timeline:before{content:'';position:absolute;top:25px;bottom:30px;left:17px;border-left:1px dashed #b9ded6}
.master-workspace[data-module="progress"] .progress-stage{position:relative;overflow:visible;border:1px solid #e0e8ee;border-radius:14px;margin:0 0 16px;background:#fff;box-shadow:0 3px 10px #243f4f03}
.master-workspace[data-module="progress"] .progress-stage.is-current{border-color:#99d8c9}
.progress-timeline-node{position:absolute;left:-54px;top:15px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#bdcbd7;color:#fff;font-size:15px;font-weight:700;box-shadow:0 0 0 5px #fff}
.is-current>.progress-timeline-node,.is-complete>.progress-timeline-node{background:#2cbe88}
.master-workspace[data-module="progress"] .progress-stage-heading{padding:12px 18px;gap:14px;border-radius:14px 14px 0 0;background:#f5f8fa;border-bottom:0;min-height:54px;box-sizing:border-box}
.master-workspace[data-module="progress"] .is-current>.progress-stage-heading{background:#edf9f5}
.master-workspace[data-module="progress"] .progress-stage-heading h4{font-size:16px;font-weight:650}
.master-workspace[data-module="progress"] .progress-stage-number{font-size:18px;color:#8296ac}
.master-workspace[data-module="progress"] .is-current .progress-stage-number,.master-workspace[data-module="progress"] .is-complete .progress-stage-number{color:#0ca977}
.master-workspace[data-module="progress"] .progress-stage-heading>.btn{display:flex;align-items:center;gap:10px;padding:6px 14px;box-shadow:none;min-height:34px!important}
.progress-stage-heading .ui-icon{width:16px;height:16px}
.master-workspace[data-module="progress"] .progress-stage-body{display:grid;grid-template-columns:minmax(110px,1fr) minmax(120px,1fr) minmax(180px,1.7fr) minmax(200px,1.7fr);gap:0;padding:16px 18px;align-items:stretch}
.progress-fact{display:flex;align-items:center;gap:10px;min-width:0;padding:4px 16px;border-right:1px solid #e9eff4}
.progress-fact:first-child{padding-left:0}.progress-fact>div{min-width:0}
.progress-fact small{display:block;font-size:12px;font-weight:400;color:#72859c;line-height:1.5;margin-bottom:5px}
.progress-fact strong{display:block;font-size:14px;font-weight:600;line-height:1.6;color:#243a53;overflow-wrap:anywhere}
.progress-fact-icon{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;border-radius:50%;background:#edf2f5;color:#43576b}
.progress-fact-icon .ui-icon{width:19px;height:19px}.progress-person .progress-fact-icon{background:#edf2ff;color:#3773ed}.progress-next .progress-fact-icon{background:#e6f8f1;color:#008a72}.progress-next strong{color:#0b8071}
.progress-stage:nth-child(3n+2) .progress-review .progress-fact-icon{background:#e9f9f0;color:#15a96e}.progress-stage:nth-child(3n) .progress-review .progress-fact-icon{background:#fff4dd;color:#d49a20}
.master-workspace[data-module="progress"] .progress-stage-note{position:relative;padding:0 0 0 18px;border:0;min-width:0}
.master-workspace[data-module="progress"] .progress-stage-note .master-field{margin:0;gap:5px}
.app>.main>.container.subpage .master-workspace[data-module="progress"] .progress-stage-note .master-field>label{font-size:13px;line-height:20px;margin:0;height:auto;color:#40556d}
.master-workspace[data-module="progress"] .progress-stage-note textarea{min-height:56px;height:56px;padding:8px 10px 22px;background:#fafbfd;border:1px solid #dae4ed;border-radius:8px;font-size:13px;line-height:1.5;resize:vertical}
.progress-stage-note textarea::placeholder{color:#8697aa}.progress-note-count{position:absolute;right:10px;bottom:5px;color:#7a8fa6;font-size:11px;pointer-events:none}
.progress-stage-extra{padding:0 18px 14px}.progress-stage-extra .progress-stage-detail{margin:0;color:#698097;font-size:12px}.progress-stage-extra .progress-stage-history{margin-top:8px}
@container(max-width:960px){.master-workspace[data-module="progress"] .progress-stage-body{grid-template-columns:minmax(95px,1fr) minmax(100px,1fr) minmax(140px,1.5fr) minmax(170px,1.5fr);padding:14px 12px}.progress-fact{gap:7px;padding:4px 10px}.progress-fact-icon{width:28px;height:28px}.progress-fact strong{font-size:13px}.master-workspace[data-module="progress"] .progress-stage-note{padding-left:12px}}
@container(max-width:680px){.master-workspace[data-module="progress"] .progress-stage-body{grid-template-columns:1fr 1fr;gap:16px 0}.progress-next{padding-left:0}.progress-person{border-right:0}.progress-timeline{padding-left:42px}.progress-timeline-node{left:-42px;width:28px;height:28px;font-size:13px}.progress-timeline:before{left:14px}}
@container(max-width:460px){.progress-timeline{padding-left:30px}.progress-timeline-node{left:-30px;width:24px;height:24px;font-size:12px}.progress-timeline:before{left:12px}.master-workspace[data-module="progress"] .progress-stage-heading{display:flex;flex-wrap:wrap;padding:12px;gap:8px}.master-workspace[data-module="progress"] .progress-stage-heading h4{font-size:14px;flex:1}.master-workspace[data-module="progress"] .progress-stage-heading>.btn{margin-left:auto}.master-workspace[data-module="progress"] .progress-stage-body{grid-template-columns:minmax(0,1fr);gap:12px}.progress-fact{padding:0;border:0}.master-workspace[data-module="progress"] .progress-stage-note{padding:0}.master-workspace[data-module="progress"] .progress-overview-summary{gap:10px}.progress-overview-summary>strong{font-size:12px}}

/* Keep the control summary readable above its save actions. */
.master-workspace[data-module="control"] .dev-actionrow{position:static;margin-top:8px}
.app>.main>.container.subpage .master-workspace[data-module="control"] .control-status .master-grid{padding:14px 20px}
.app>.main>.container.subpage .master-workspace[data-module="control"] .master-flat-group .master-group-title{padding-block:12px}

.account-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;margin:20px 0}.account-grid .panel{min-width:0}.account-grid p,.account-grid h2{overflow-wrap:anywhere}

.identity-avatar{position:relative;overflow:hidden}.identity-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%;background:#dbeee9}
/* Account management: table workspace and persistent edit drawer. */
.accounts-workspace{--ac-green:#078875;--ac-ink:#19364a;--ac-muted:#8192a7;padding:22px;max-width:1800px;margin:0 auto;color:var(--ac-ink)}
.accounts-workspace.drawer-open{margin-right:370px}.ac-hero{position:relative;overflow:hidden;min-height:124px;display:flex;align-items:center;border:1px solid #dceeed;border-radius:12px;background:#eaf7f4;margin-bottom:16px;padding:25px 24px}.ac-hero>div{position:relative;z-index:1}.ac-hero h1{margin:0 0 9px;font-size:28px;letter-spacing:-.7px;color:#142d3f}.ac-hero p{margin:0;font-size:13px;color:#698893;max-width:560px}.ac-hero-art{position:absolute;right:0;top:0;height:100%;width:52%;object-fit:cover;object-position:right center;pointer-events:none}
.ac-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.ac-stat{border:1px solid #e1eaef;background:#fff;border-radius:11px;padding:18px 20px;display:flex;align-items:center;gap:17px;text-align:left;color:var(--ac-ink);cursor:pointer;min-width:0}.ac-stat:hover,.ac-stat.selected{border-color:#6cbfaf;background:#f7fcfa}.ac-stat-icon{display:grid;place-items:center;width:54px;height:54px;flex:0 0 54px;border-radius:50%;background:#eaf7f2;color:#078875}.ac-stat-icon .ui-icon{width:25px;height:25px;stroke-width:2.2}.ac-stat-icon.admin{background:#fcf7e9;color:#c99524}.ac-stat strong{font-size:28px;line-height:1.1;display:block;font-weight:700}.ac-stat small{display:block;color:var(--ac-muted);font-size:12px;margin-top:7px;white-space:nowrap}.ac-chevron{margin-left:auto;font-size:23px;color:#7d94a4}
.ac-panel{border:1px solid #e0eaf0;border-radius:12px;background:#fff;padding:19px 20px 0;margin-bottom:14px;overflow:hidden}.ac-panel-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px}.ac-panel h2{font-size:17px;margin:0;white-space:nowrap}.ac-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.ac-tools select,.ac-table-footer select{border:1px solid #dae5ec;border-radius:6px;min-height:35px;padding:7px 11px;background:#fff;color:#354f65;font-size:12px;max-width:150px}.ac-search{display:flex;align-items:center;border:1px solid #dae5ec;border-radius:6px;padding:0 10px;gap:8px;width:200px;min-height:35px}.ac-search .ui-icon{width:15px;color:#8b9daf}.ac-search input{border:0;outline:none;width:100%;min-width:0;font-size:12px;padding:0;background:transparent}.ac-search:focus-within{outline:2px solid #138d7b;outline-offset:2px}.accounts-workspace .btn{font-size:12px;border-radius:6px;min-height:35px}.accounts-workspace .btn.primary{background:#078875;border-color:#078875;box-shadow:0 3px 8px #087c6c12;color:white}.accounts-workspace button:focus-visible,.accounts-workspace select:focus-visible,.accounts-workspace input:focus-visible{outline:2px solid #178d7c;outline-offset:3px}.accounts-workspace button:disabled{cursor:not-allowed;opacity:.45}
.ac-table-scroll{overflow-x:auto}.ac-table{width:100%;border-collapse:collapse;text-align:left;font-size:11px;white-space:nowrap}.ac-table th{background:#f5f8fa;color:#60738a;font-size:11px;font-weight:500;padding:11px 10px}.ac-table th:first-child{border-radius:6px 0 0 0}.ac-table th:last-child{border-radius:0 6px 0 0}.ac-table td{padding:12px 10px;border-bottom:1px solid #edf2f5;color:#344f69}.ac-table tr.active{background:#edf8f5}.ac-table tbody tr:hover{background:#f6fbfa}.ac-member{display:flex;align-items:center;gap:12px}.ac-member b{display:block;color:#20384c;font-size:13px;font-weight:650}.ac-member small{display:block;font-size:10px;color:#8594a6;margin-top:5px}.ac-avatar{width:40px;height:40px;flex:0 0 40px;background:#d8f1e8;color:#147e6e;border-radius:50%;display:grid;place-items:center;font-size:16px;font-weight:600;position:relative;overflow:hidden}.ac-table tbody tr:nth-child(even) .ac-avatar{background:#e1ebff;color:#3975dc}.ac-avatar.large{width:64px;height:64px;flex-basis:64px;font-size:25px}.ac-badge{display:inline-block;border-radius:4px;background:#e9f2ff;color:#3675c7;padding:3px 7px;font-size:10px;font-weight:600}.ac-badge.admin{background:#e1f3ed;color:#168570}.ac-badge.reviewer,.ac-badge.account{background:#f0e9ff;color:#8b5ac7}.ac-badge.project{background:#f2f5f7;color:#61778b}.ac-toggle-cell{display:flex;gap:8px;align-items:center}.ac-switch{display:inline-flex;align-items:center;justify-content:flex-start;flex:0 0 37px;width:37px;height:21px;min-height:21px;padding:2px;border:0;border-radius:20px;background:#ccd6de;cursor:pointer}.ac-switch span{width:17px;height:17px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #49636d35;transition:transform .15s}.ac-switch[aria-checked=true]{background:#078875}.ac-switch[aria-checked=true] span{transform:translateX(16px)}.ac-edit{padding:7px!important;background:#fff;border:1px solid #dce8ee;min-width:33px}.ac-edit .ui-icon{width:16px;height:16px}.ac-table-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 0;color:#8797a9;font-size:11px}.ac-table-footer>div{display:flex;align-items:center;gap:7px}.ac-table-footer .btn{min-height:28px;padding:3px 9px}.ac-page-number{display:grid;place-items:center;background:#078875;color:#fff;min-width:26px;height:27px;border-radius:4px}.ac-date-range{display:flex;align-items:center;gap:7px;border:1px solid #dae5ec;border-radius:6px;padding:7px;font-size:11px;color:#8094aa}.ac-date-range input{border:0;background:transparent;font:inherit;color:inherit;width:112px;min-width:0;padding:0}.ac-audit .ac-avatar{width:24px;height:24px;flex-basis:24px;font-size:12px}.ac-audit .ac-member{gap:8px}.ac-audit td{padding:7px 10px}.ac-audit td:nth-child(4){white-space:normal;min-width:220px;line-height:1.6}.ac-empty{text-align:center;padding:36px!important;color:#8c9aa8!important}.ac-error{color:#b44545;background:#fff2f2;border-radius:6px;padding:10px;font-size:12px}
.ac-drawer{position:fixed;right:0;top:64px;bottom:0;width:370px;background:#fff;z-index:30;border-left:1px solid #e1eaf0;box-shadow:-5px 0 20px #25455706;display:flex;flex-direction:column}.ac-drawer>header{display:flex;justify-content:space-between;align-items:center;min-height:60px;padding:14px 23px;border-bottom:1px solid #edf1f4}.ac-drawer>header h2{font-size:14px;margin:0}.ac-drawer-close{border:0;background:transparent;font-size:23px!important;font-weight:400;padding:0 6px;color:#55708a}.ac-drawer-body{overflow-y:auto;padding:20px 23px;flex:1}.ac-profile{display:flex;align-items:center;gap:15px;margin-bottom:30px}.ac-profile h3{font-size:16px!important;margin:0 0 5px!important}.ac-profile p{color:#8293a7;font-size:11px;margin:0 0 7px}.ac-drawer-body>h3{font-size:14px;margin:25px 0 13px}.ac-field{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#51677c;margin-bottom:14px}.ac-field input,.ac-field select{width:100%;min-height:34px;border:1px solid #dce6ee;border-radius:6px;background:#fff;color:#30465c;font-size:12px;padding:8px 11px}.ac-field input[readonly]{background:#f5f8fa;color:#7c90a3}.ac-field small{font-size:10px;color:#8b9bae}.ac-setting{display:flex;align-items:flex-start;gap:11px;margin:18px 0 23px}.ac-setting b{font-size:12px;font-weight:500}.ac-setting p{font-size:11px;color:#8a9bae;line-height:1.7;margin:3px 0 0}.ac-details{display:grid;grid-template-columns:92px 1fr;row-gap:13px;font-size:11px}.ac-details dt{color:#718397}.ac-details dd{margin:0;color:#36516b}.ac-drawer>footer{padding:17px 23px;border-top:1px solid #edf1f4;display:flex;justify-content:flex-end;gap:12px}.ac-drawer>footer .btn{min-width:73px;min-height:40px}.ac-drawer>footer .primary{min-width:123px}.ac-note{font-size:13px;line-height:1.9;color:#708599}.ac-drawer-shade{display:none}
@media(min-width:1500px){.accounts-workspace.drawer-open .ac-table{font-size:11px}.accounts-workspace.drawer-open .ac-table td{padding-left:9px;padding-right:9px}}
@media(max-width:1350px){.accounts-workspace.drawer-open{margin-right:340px}.ac-drawer{width:340px}.ac-panel-head{align-items:flex-start;flex-direction:column}.ac-tools{justify-content:flex-start}.ac-stat{padding:15px 12px;gap:10px}.ac-stat-icon{width:40px;height:40px;flex-basis:40px}.ac-stat strong{font-size:24px}.ac-stat small{font-size:11px}.ac-chevron{display:none}.ac-hero-art{opacity:.65}}
@media(max-width:1050px){.accounts-workspace.drawer-open{margin-right:0}.ac-drawer-shade{display:block;position:fixed;inset:0;background:#173c5133;z-index:29}.ac-drawer{top:0;width:370px;max-width:100vw}.ac-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.ac-hero-art{width:60%;opacity:.45}}
@media(max-width:580px){.accounts-workspace{padding:15px 12px}.ac-hero{padding:22px 16px}.ac-hero h1{font-size:23px}.ac-hero p{font-size:11px;line-height:1.8;max-width:240px}.ac-panel{padding:16px 12px 0}.ac-tools{width:100%;gap:8px}.ac-search{width:100%}.ac-tools select{flex:1;max-width:none;min-width:0}.ac-tools .primary{flex:1}.ac-date-range{width:100%;justify-content:space-between}.ac-date-range input{width:43%}.ac-stat{padding:15px 10px}.ac-stat-icon{width:36px;height:36px;flex-basis:36px}.ac-stat small{font-size:10px}.ac-table-footer{flex-wrap:wrap}.ac-drawer{width:100%}.ac-drawer-body{padding:18px 22px}}
/* Reference alignment: compact workspace rhythm and readable audit rows. */
@media(min-width:1051px){.accounts-workspace{padding-top:8px}.ac-stat{padding-top:16px;padding-bottom:16px}}
.ac-panel-head{margin-bottom:10px}.ac-table-footer{padding-top:10px;padding-bottom:10px}.ac-table{font-size:12px}.ac-table th{font-size:12px}.ac-audit td{padding-top:4px;padding-bottom:4px}.ac-audit .ac-avatar{width:21px;height:21px;flex-basis:21px}.ac-badge{width:max-content;max-width:100%;min-width:0}.ac-hero-art{object-fit:contain;object-position:right center}.ac-drawer-body>h3{margin-top:19px}.ac-profile{margin-bottom:23px}.ac-setting{margin:14px 0 18px}
@media(max-width:580px){.ac-table:not(.ac-audit) th:first-child,.ac-table:not(.ac-audit) td:first-child{position:sticky;left:0;background:#fff;z-index:1;min-width:140px;box-shadow:4px 0 8px #173c5108}.ac-table:not(.ac-audit) th:first-child{background:#f5f8fa}.ac-table:not(.ac-audit) tr.active td:first-child{background:#edf8f5}.ac-table-scroll{scrollbar-width:thin}.ac-table{font-size:11px}}


/* ProductFlow login refresh · Selected concept 02 */
.auth-layout{
  --auth-edge:max(32px,min(15vw,calc(50vw - 620px)));
  position:relative;isolation:isolate;overflow:hidden;
  min-height:100vh;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);
  background:
    radial-gradient(ellipse at 26% 28%,rgba(187,239,225,.72),transparent 38%),
    radial-gradient(ellipse at 74% 78%,rgba(214,244,236,.72),transparent 42%),
    linear-gradient(135deg,#effaf6 0%,#f7fcfa 52%,#f5faf9 100%);
}
.auth-layout::before,.auth-layout::after{
  content:"";position:absolute;z-index:-1;border-radius:50%;pointer-events:none;
}
.auth-layout::before{
  width:600px;height:600px;left:-355px;bottom:-410px;
  border:78px solid rgba(28,151,128,.075);
}
.auth-layout::after{
  width:540px;height:540px;right:-330px;bottom:-385px;
  border:72px solid rgba(46,170,146,.065);
}
.auth-story{
  min-width:0;position:relative;z-index:0;
  padding:38px 42px 38px var(--auth-edge);
  background:transparent;justify-content:space-between;
}
.auth-story::before,.auth-story::after{display:none}
.auth-logo{gap:14px;font-size:20px}
.auth-logo .brand-mark{width:42px;height:42px;border-radius:13px}
.auth-logo small{font-size:9px;letter-spacing:1.15px}
.auth-story-copy{
  max-width:660px;padding:44px 0;margin-top:auto;margin-bottom:auto;
}
.auth-story-copy .eyebrow{font-size:10px;letter-spacing:2.3px}
.auth-story-copy h2{
  font-size:clamp(34px,3.05vw,52px);line-height:1.3;
  letter-spacing:-1.55px;margin:20px 0 18px;color:#173a46;
}
.auth-story-copy h2 span{color:#108675}
.auth-story-copy p{display:block;max-width:500px;color:#648887;font-size:14px;line-height:1.9}
.auth-stage-track{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:start;gap:13px;margin-top:38px;max-width:650px;
}
.auth-stage-track span{
  position:relative;display:flex;flex-direction:column;align-items:flex-start;
  gap:10px;min-width:0;color:#5e8983;font-size:10px;line-height:1.55;
}
.auth-stage-track span:not(:last-child)::after{
  content:"";position:absolute;top:13px;left:36px;right:-6px;height:1px;background:#c5e4db;
}
.auth-stage-track i{
  position:relative;z-index:1;width:28px;height:28px;flex:none;
  border-color:#a8dcd0;background:#f7fffb;color:#138977;font-size:12px;
}
.auth-story-bottom{display:block;font-size:11px;color:#8eaaa5;margin-top:20px}
.auth-form-area{
  position:relative;z-index:1;min-width:0;min-height:0;
  display:flex;flex-direction:column;justify-content:center;align-items:stretch;
  padding:78px var(--auth-edge) 48px 42px;background:transparent;
}
.auth-form-top{
  position:absolute;top:28px;right:var(--auth-edge);
  text-align:right;font-size:11px;color:#819b9d;white-space:nowrap;
}
.auth-secure{font-size:10px;color:#148b75;margin-left:9px}
.auth-box{
  width:min(520px,100%);margin:auto;
  padding:clamp(34px,4vw,54px) clamp(24px,3.2vw,48px);
  border:1px solid rgba(255,255,255,.92);border-radius:26px;
  background:rgba(255,255,255,.84);
  box-shadow:0 26px 78px rgba(31,91,81,.095),0 3px 14px rgba(31,70,76,.035);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
}
.auth-box>.eyebrow{justify-content:center;text-align:center}
.auth-box h1{
  margin:17px 0 7px;text-align:center;font-size:32px;
  letter-spacing:-.9px;color:#193c49;
}
.auth-box>p:not(.alert):not([role=alert]){
  margin:0;text-align:center;font-size:13px;color:#81999f;
}
.auth-box>a.btn.auth-login-action{
  display:flex;align-items:center;justify-content:center;
  width:min(280px,100%);min-height:54px;height:54px;
  margin:31px auto 0;border-radius:12px;font-size:14px;font-weight:760;
  letter-spacing:.1px;white-space:normal;text-align:center;
  box-shadow:0 10px 23px rgba(13,126,107,.17);
}
.auth-box>a.btn.auth-login-action:hover{transform:translateY(-1px);box-shadow:0 13px 27px rgba(13,126,107,.2)}
.auth-box form{margin-top:28px}
.auth-box .field{margin-bottom:15px}
.auth-box .field label{font-size:12px}
.auth-box .field input{height:48px;border-radius:10px;background:#fbfdfc}
.auth-box form .btn{
  display:flex;width:min(280px,100%);min-height:52px;height:52px;
  margin:20px auto 0;border-radius:12px;
}
.auth-box .alert{margin:24px 0 0}
.auth-box>[role=alert]{margin:18px 0 0;text-align:center;color:#b34f50;font-size:12px;overflow-wrap:anywhere}
.auth-foot{
  margin-top:29px;padding-top:20px;border-top:1px solid #edf3f1;
  text-align:center;color:#8da3a5;font-size:11px;line-height:1.9;
}
@media(max-width:980px){
  .auth-layout{
    grid-template-columns:minmax(0,1fr) minmax(0,.92fr);
    --auth-edge:32px;
  }
  .auth-story{padding:34px 24px 34px 32px}
  .auth-story-copy h2{font-size:clamp(30px,3.6vw,40px);letter-spacing:-1px}
  .auth-stage-track{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 12px}
  .auth-stage-track span{font-size:10px}
  .auth-form-area{padding:72px 32px 34px 18px}
  .auth-form-top{right:32px}
  .auth-box{padding:38px 28px}
}
@media(max-width:760px){
  .auth-layout{
    grid-template-columns:minmax(0,1fr);gap:0;
    padding:25px 20px 30px;min-height:100vh;
  }
  .auth-story{padding:8px 4px 0;min-height:0}
  .auth-logo{font-size:18px}
  .auth-logo .brand-mark{width:38px;height:38px}
  .auth-story-copy{padding:30px 0 20px;margin:0}
  .auth-story-copy h2{font-size:clamp(27px,5.6vw,38px);line-height:1.3;margin:13px 0}
  .auth-story-copy p{font-size:12px;line-height:1.75;margin-bottom:0}
  .auth-stage-track{margin-top:22px;gap:13px}
  .auth-stage-track span{gap:7px;font-size:10px}
  .auth-stage-track i{width:25px;height:25px}
  .auth-stage-track span:not(:last-child)::after{top:12px;left:32px}
  .auth-story-bottom{display:none}
  .auth-form-area{
    min-height:0;padding:12px 0 0;
    display:flex;align-items:stretch;justify-content:flex-start;
  }
  .auth-form-top{position:static;text-align:center;white-space:normal;margin:0 0 14px;font-size:10px}
  .auth-box{width:min(520px,100%);margin:0 auto;padding:30px 24px;border-radius:22px}
  .auth-box h1{font-size:28px;margin-top:13px}
  .auth-box>a.btn.auth-login-action{margin-top:24px}
  .auth-foot{margin-top:23px;padding-top:16px}
}
@media(max-width:420px){
  .auth-layout{padding:20px 15px 24px}
  .auth-stage-track{gap:12px 8px}
  .auth-stage-track span{font-size:9px}
  .auth-box{padding:28px 19px}
  .auth-box h1{font-size:26px}
}


/* Dashboard hero and personal KPI are independent, side-by-side panels. */
.dashboard-hero-row{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:16px;margin:0 0 16px}
.dashboard-hero-row.has-kpi{grid-template-columns:minmax(0,1.7fr) minmax(360px,1fr)}
.dashboard-hero-row>.dash-hero{min-width:0;min-height:218px;margin:0;padding:28px 30px;border-radius:16px}
.dashboard-hero-row .hero-copy{max-width:70%;min-width:0;align-self:center}
.dashboard-hero-row .dash-hero h1{font-size:clamp(26px,2.15vw,33px);line-height:1.35;letter-spacing:-.5px;margin:10px 0 6px}
.dashboard-hero-row .dash-hero p{font-size:13px;line-height:1.75;max-width:600px;margin:0 0 16px}
.dashboard-hero-row .hero-art{top:0;right:0;bottom:0;width:54%;height:auto;opacity:.88;pointer-events:none}
.developer-kpi{box-sizing:border-box;position:relative;display:flex;flex-direction:column;gap:10px;min-width:0;min-height:218px;height:100%;padding:17px 18px 14px;border:1px solid #e0ebe6;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(32,76,67,.055);color:#173d36}
.developer-kpi-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}
.developer-kpi-title{display:flex;align-items:center;gap:10px;min-width:0}
.developer-kpi-icon{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:11px;background:#e3f5ee;color:#0b9277}
.developer-kpi-icon .ui-icon{width:20px;height:20px;stroke-width:2}
.developer-kpi-title>div{min-width:0}
.developer-kpi-heading h2{margin:0;color:#193a35;font-size:17px;font-weight:780;letter-spacing:-.3px;line-height:1.35}
.developer-kpi-heading p{margin:3px 0 0;color:#82938e;font-size:10px;line-height:1.4}
.developer-kpi-status{display:inline-flex;align-items:center;justify-content:center;flex:none;padding:5px 9px;border-radius:999px;font-size:10px;line-height:1.25;font-weight:700;white-space:nowrap}
.developer-kpi-status.is-progress{background:#edf4f1;color:#68847b}
.developer-kpi-status.is-warning{background:#fff0df;color:#a85e13}
.developer-kpi-status.is-complete{background:#e5f5ec;color:#187d60}
.developer-kpi-divider{height:1px;flex:none;background:#e8efeb}
.developer-kpi-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;min-width:0}
.developer-kpi-metric{min-width:0}
.developer-kpi-metric-label{margin-bottom:3px;color:#687e76;font-size:10px;line-height:1.4}
.developer-kpi-value{display:flex;align-items:baseline;gap:5px;white-space:nowrap}
.developer-kpi-value strong{color:#108b70;font-size:25px;font-weight:800;line-height:1.12;letter-spacing:-.7px;font-variant-numeric:tabular-nums}
.developer-kpi-value>span{color:#7b8f87;font-size:10px}
.developer-kpi-progress{height:6px;overflow:hidden;margin-top:6px;border-radius:999px;background:#e5efea}
.developer-kpi-progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#139779,#36ad8d);transition:width .25s ease}
.developer-kpi-meta{display:block;margin-top:4px;color:#7b8f87;font-size:10px;line-height:1.3}
.developer-kpi-reminder{display:flex;align-items:center;gap:9px;min-width:0;padding:8px 10px;border:1px solid transparent;border-radius:9px;background:#fff4e5;color:#995a0b}
.developer-kpi-reminder.is-warning{background:#fff4e5;border-color:#f4dfc2;color:#995a0b}
.developer-kpi-reminder.is-complete{background:#eaf7ef;border-color:#d6eddf;color:#1b7d60}
.developer-kpi-reminder-icon{display:grid;place-items:center;flex:none;width:24px;height:24px;border-radius:7px;background:rgba(255,255,255,.76)}
.developer-kpi-reminder-icon .ui-icon{width:16px;height:16px}
.developer-kpi-reminder>div{min-width:0}
.developer-kpi-reminder strong{display:block;font-size:10px;font-weight:760;line-height:1.4}
.developer-kpi-reminder small{display:block;margin-top:2px;font-size:9px;line-height:1.45;opacity:.92}
.developer-kpi-link{display:inline-flex;align-items:center;justify-content:flex-end;align-self:flex-end;gap:5px;min-height:17px;margin-top:auto;padding:0;border:0;background:transparent;color:#087f70;font-size:10px;font-weight:730;line-height:1.4;text-decoration:none;white-space:nowrap}
.developer-kpi-link:hover{color:#075b51;text-decoration:underline}
.developer-kpi-link .ui-icon{width:13px;height:13px}
.developer-kpi-empty{display:flex;align-items:center;justify-content:center;flex:1;min-height:60px;color:#809793;font-size:11px}
#dashboard-projects{scroll-margin-top:18px}
@media(max-width:1120px){.dashboard-hero-row.has-kpi{grid-template-columns:minmax(0,1.35fr) minmax(330px,1fr);gap:12px}.dashboard-hero-row>.dash-hero{padding:24px 22px}.dashboard-hero-row .dash-hero h1{font-size:27px}.developer-kpi{padding:15px}.developer-kpi-metrics{gap:10px}}
@media(max-width:980px){.dashboard-hero-row.has-kpi{grid-template-columns:minmax(0,1fr)}.dashboard-hero-row>.dash-hero{min-height:195px}.dashboard-hero-row .hero-copy{max-width:72%}.developer-kpi{min-height:0;height:auto;padding:17px}.developer-kpi-heading h2{font-size:18px}.developer-kpi-metric-label,.developer-kpi-meta{font-size:11px}.developer-kpi-value strong{font-size:27px}.developer-kpi-reminder strong{font-size:11px}.developer-kpi-reminder small{font-size:10px}}
@media(max-width:480px){.dashboard-hero-row{gap:12px}.dashboard-hero-row>.dash-hero{padding:21px 18px;min-height:0}.dashboard-hero-row .hero-copy{max-width:100%;padding-right:0}.dashboard-hero-row .dash-hero h1{font-size:25px}.dashboard-hero-row .dash-hero p{font-size:12px}.dashboard-hero-row .hero-art{width:70%;opacity:.4}.developer-kpi{padding:15px 13px;gap:10px}.developer-kpi-title{gap:8px}.developer-kpi-icon{width:35px;height:35px}.developer-kpi-heading h2{font-size:16px}.developer-kpi-heading p{font-size:9px}.developer-kpi-status{font-size:9px;padding:4px 7px}.developer-kpi-metrics{gap:10px}.developer-kpi-metric-label,.developer-kpi-meta{font-size:10px}.developer-kpi-value strong{font-size:24px}.developer-kpi-value>span{font-size:9px}.developer-kpi-reminder{align-items:flex-start;padding:8px}.developer-kpi-reminder strong{font-size:10px}.developer-kpi-reminder small{font-size:9px}}

/* Team KPI ranking: same dashboard position, with a compact preview and full ranking dialog. */
.team-kpi .team-kpi-ranking{display:flex;flex-direction:column;gap:5px;min-width:0}
.team-kpi-ranking-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
.team-kpi-ranking-heading b{font-size:10px;line-height:1.3;color:#24483f;font-weight:780}
.team-kpi-ranking-heading>span{font-size:8px;line-height:1.3;color:#8a9b95}
.team-kpi-rank-row{display:grid;grid-template-columns:25px minmax(0,1fr) 58px;align-items:center;gap:7px;min-width:0;padding:3px 0}
.team-kpi-rank-badge{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:#eff4f1;color:#72877f;font-size:9px;font-weight:800;font-variant-numeric:tabular-nums}
.team-kpi-rank-badge.rank-1{background:#fff0ce;color:#a56c0c}
.team-kpi-rank-badge.rank-2{background:#e8eef3;color:#536b80}
.team-kpi-rank-badge.rank-3{background:#f7eadf;color:#9b6b48}
.team-kpi-rank-person{display:flex;flex-direction:column;gap:2px;min-width:0}
.team-kpi-rank-person b{overflow:hidden;color:#29483f;font-size:10px;font-weight:730;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
.team-kpi-rank-person small{color:#84968f;font-size:8px;line-height:1.3}
.team-kpi-rank-month{display:flex;flex-direction:column;gap:4px;min-width:0}
.team-kpi-rank-month strong{color:#17866e;font-size:12px;line-height:1.1;text-align:right;font-weight:800;font-variant-numeric:tabular-nums}
.team-kpi-rank-month strong span{color:#91a29b;font-size:8px;font-weight:500}
.team-kpi-mini-progress{height:3px;overflow:hidden;border-radius:999px;background:#e7efea}
.team-kpi-mini-progress span{display:block;height:100%;border-radius:inherit;background:#159879}
.team-kpi-empty{padding:10px 8px;text-align:center;color:#82958e;font-size:10px;line-height:1.5}
.team-kpi .developer-kpi-link{margin-top:1px}
.team-kpi-dialog-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(18,43,39,.42);backdrop-filter:blur(3px)}
.team-kpi-dialog{box-sizing:border-box;display:flex;flex-direction:column;gap:16px;width:min(880px,calc(100vw - 36px));max-height:min(82vh,760px);overflow:hidden;padding:24px;border:1px solid #dfeae5;border-radius:18px;background:#fff;box-shadow:0 24px 80px rgba(18,51,43,.24);color:#1c3b34}
.team-kpi-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.team-kpi-dialog-header h2{margin:5px 0 4px;color:#1c3b34;font-size:22px;line-height:1.3;letter-spacing:-.5px}
.team-kpi-dialog-header p{margin:0;color:#7c9088;font-size:12px;line-height:1.5}
.team-kpi-dialog-close{display:grid;place-items:center;flex:none;width:34px;height:34px;border:1px solid #e1eae5;border-radius:10px;background:#fff;color:#6f8179;font-size:23px;line-height:1;cursor:pointer}
.team-kpi-dialog-close:hover{background:#f1f7f4;color:#1b806b}
.team-kpi-dialog-summary{display:flex;flex-wrap:wrap;gap:8px 22px;padding:12px 14px;border:1px solid #e5eee9;border-radius:10px;background:#f7faf8;color:#6f847b;font-size:11px}
.team-kpi-dialog-summary strong{margin-left:4px;color:#16856e;font-size:13px;font-weight:800}
.team-kpi-dialog-table-wrap{min-height:0;overflow:auto;border:1px solid #e6eeea;border-radius:11px}
.team-kpi-dialog-table{width:100%;border-collapse:separate;border-spacing:0;font-size:12px}
.team-kpi-dialog-table th{position:sticky;top:0;z-index:1;padding:12px 14px;background:#f4f8f6;color:#72877e;text-align:left;font-size:10px;font-weight:700;white-space:nowrap}
.team-kpi-dialog-table td{padding:12px 14px;border-top:1px solid #edf2ef;vertical-align:middle}
.team-kpi-dialog-table td:nth-child(2){min-width:150px}
.team-kpi-dialog-rank{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#eef4f1;color:#70867d;font-size:10px;font-weight:800}
.team-kpi-dialog-rank.rank-1{background:#fff0ce;color:#a56c0c}
.team-kpi-dialog-rank.rank-2{background:#e8eef3;color:#536b80}
.team-kpi-dialog-rank.rank-3{background:#f7eadf;color:#9b6b48}
.team-kpi-count{display:block;color:#16866f;font-size:15px;font-weight:800;line-height:1.2;font-variant-numeric:tabular-nums}
.team-kpi-count small{color:#8a9b94;font-size:10px;font-weight:500}
.team-kpi-dialog-sub{display:block;margin-top:4px;color:#7e9188;font-size:10px;line-height:1.35}
.team-kpi-dialog-progress{width:100px;max-width:100%;height:4px;overflow:hidden;margin-top:5px;border-radius:999px;background:#e5efea}
.team-kpi-dialog-progress span{display:block;height:100%;border-radius:inherit;background:#159879}
.team-kpi-person-status{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:700;white-space:nowrap}
.team-kpi-person-status.is-complete{background:#e5f5ec;color:#187d60}
.team-kpi-person-status.is-warning{background:#fff0df;color:#a85e13}
.team-kpi-person-status.is-progress{background:#edf4f1;color:#68847b}
.team-kpi-dialog-footer{color:#84968e;font-size:10px;line-height:1.5}
@media(max-width:980px){.team-kpi-dialog{padding:19px;gap:12px}.team-kpi-dialog-table th,.team-kpi-dialog-table td{padding:10px 9px}}
@media(max-width:600px){.team-kpi-dialog-backdrop{padding:10px}.team-kpi-dialog{width:100%;max-height:90vh;padding:15px;border-radius:14px}.team-kpi-dialog-header h2{font-size:18px}.team-kpi-dialog-header p{font-size:10px}.team-kpi-dialog-summary{gap:7px 12px;padding:10px;font-size:10px}.team-kpi-dialog-table{min-width:590px}.team-kpi-dialog-table th,.team-kpi-dialog-table td{padding:9px 10px}.team-kpi-ranking-heading>span{display:none}}

/* Team KPI internal polish only: the welcome hero, grid and personal KPI stay unchanged. */
.team-kpi{gap:8px;padding:15px 17px 13px}
.team-kpi .developer-kpi-heading h2{font-size:18px}
.team-kpi .developer-kpi-heading p{font-size:10px}
.team-kpi .developer-kpi-metric-label{font-size:11px}
.team-kpi .developer-kpi-value strong{font-size:28px}
.team-kpi .developer-kpi-metric .developer-kpi-meta{color:#83988e}
.team-kpi .developer-kpi-reminder{padding:7px 9px}
.team-kpi .developer-kpi-reminder.is-progress{background:#f0f7f4;border-color:#e0eee8;color:#4f7d6b}
.team-kpi .developer-kpi-reminder strong{font-size:10px}
.team-kpi .developer-kpi-reminder small{font-size:9px}
.team-kpi .team-kpi-ranking{gap:3px}
.team-kpi .team-kpi-ranking-heading b{font-size:11px}
.team-kpi .team-kpi-ranking-heading>span{font-size:9px}
.team-kpi .team-kpi-rank-row{padding:2px 0}
.team-kpi .team-kpi-rank-person b{font-size:11px}
.team-kpi .team-kpi-rank-person small{font-size:9px}
.team-kpi .team-kpi-rank-badge.is-unranked{background:#eff5f2;color:#819b90}
.team-kpi .team-kpi-rank-badge.is-unranked .ui-icon{width:14px;height:14px}
.team-kpi .developer-kpi-link{font-size:10px}
@media(max-width:480px){.team-kpi{padding:14px 13px}.team-kpi .developer-kpi-value strong{font-size:24px}.team-kpi .developer-kpi-heading h2{font-size:16px}}

.team-kpi-dialog-rank.is-unranked{background:#eff5f2;color:#819b90}
.team-kpi-dialog-rank.is-unranked .ui-icon{width:15px;height:15px}


/* Team KPI visual composition: ranked people left, stacked team targets right.
   Scoped to .team-kpi so the accepted personal KPI and welcome hero do not change. */
.team-kpi{container-type:inline-size;gap:12px;padding:19px 20px 15px}
.team-kpi>.developer-kpi-heading{min-width:0;gap:14px}
.team-kpi>.developer-kpi-heading .developer-kpi-title{gap:12px}
.team-kpi>.developer-kpi-heading .developer-kpi-icon{width:40px;height:40px}
.team-kpi>.developer-kpi-heading h2{font-size:19px;line-height:1.25}
.team-kpi>.developer-kpi-heading p{font-size:11px;line-height:1.4}
.team-kpi>.developer-kpi-divider{background:#e1ebe7}
.team-kpi-body{display:grid;grid-template-columns:minmax(0,41fr) minmax(0,59fr);align-items:stretch;gap:17px;min-width:0;flex:1}
.team-kpi-people{min-width:0;padding:6px 17px 0 0;border-right:1px solid #e1ebe7}
.team-kpi-people h3{margin:0 0 11px;color:#142a32;font-size:17px;font-weight:770;line-height:1.35}
.team-kpi-people-list{display:flex;flex-direction:column;gap:0}
.team-kpi-person-row{display:grid;grid-template-columns:34px 38px minmax(0,1fr);gap:9px;align-items:center;min-width:0;padding:10px 0 14px;border-bottom:1px solid #e6efeb}
.team-kpi-person-row:last-child{border-bottom:0}
.team-kpi-person-number{display:grid;place-items:center;width:34px;height:38px;border-radius:10px;background:#e6f7ef;color:#119675;font-size:15px;font-weight:800;letter-spacing:-.5px;font-variant-numeric:tabular-nums}
.team-kpi-person-number.rank-1,.team-kpi-person-number.rank-2,.team-kpi-person-number.rank-3{background:#e6f7ef;color:#119675}
.team-kpi-person-number.is-unranked{background:#e9f8f1;color:#138f73}
.team-kpi-person-avatar{display:grid;place-items:center;width:38px;height:40px;border-radius:10px;background:#f0f7f3;color:#94b1a7}
.team-kpi-person-avatar .ui-icon{width:23px;height:23px}
.team-kpi-person-copy{display:flex;flex-direction:column;gap:5px;min-width:0}
.team-kpi-person-copy b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#172b37;font-size:14px;font-weight:770;line-height:1.3}
.team-kpi-person-copy>span{color:#758a98;font-size:11px;line-height:1.35;white-space:nowrap}
.team-kpi-summary{display:flex;flex-direction:column;gap:10px;min-width:0}
.team-kpi-progress-tip{display:flex;align-items:center;gap:11px;min-width:0;padding:11px 12px;border:1px solid #d7efea;border-radius:12px;background:linear-gradient(110deg,#f0fbf8,#eaf8f4);color:#183740}
.team-kpi-progress-tip.is-warning{border-color:#f5e0c0;background:#fff4e5;color:#92631a}
.team-kpi-progress-tip.is-complete{border-color:#d6eddf;background:#eaf7ef;color:#167c63}
.team-kpi-tip-icon{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:10px;background:#fff;color:#12a17f}
.team-kpi-progress-tip.is-warning .team-kpi-tip-icon{color:#b67c20}
.team-kpi-progress-tip.is-complete .team-kpi-tip-icon{color:#167c63}
.team-kpi-tip-icon .ui-icon{width:21px;height:21px}
.team-kpi-progress-tip>div{min-width:0}
.team-kpi-progress-tip strong{display:block;font-size:14px;line-height:1.3;font-weight:780}
.team-kpi-progress-tip p{margin:4px 0 0;color:#6b8490;font-size:10px;line-height:1.55}
.team-kpi-progress-tip.is-warning p{color:#a17b3c}
.team-kpi-progress-tip.is-complete p{color:#568c76}
.team-kpi-target-card{display:flex;flex-direction:column;gap:5px;min-width:0;padding:12px 14px;border:1px solid #dcefeb;border-radius:12px;background:#fff}
.team-kpi-target-header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.team-kpi-target-header h4{margin:0;color:#142b37;font-size:15px;font-weight:780;line-height:1.4}
.team-kpi-target-header>span{color:#8197a5;font-size:10px;line-height:1.35;text-align:right}
.team-kpi-target-value{display:flex;align-items:baseline;gap:9px;min-width:0}
.team-kpi-target-value strong{color:#099979;font-size:37px;line-height:1;font-weight:820;letter-spacing:-1.5px;font-variant-numeric:tabular-nums}
.team-kpi-target-value>span{color:#738899;font-size:18px;line-height:1.25;white-space:nowrap}
.team-kpi-target-progress{height:8px;overflow:hidden;border-radius:999px;background:#dff0e9}
.team-kpi-target-progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0e9476,#47b69a);transition:width .25s ease}
.team-kpi-target-card p{margin:2px 0 0;color:#78909f;font-size:11px;line-height:1.45}
.team-kpi-summary>.developer-kpi-link{align-self:flex-end;justify-content:flex-end;margin:1px 0 0;min-height:24px;padding:0;color:#0d997a;font-size:12px;font-weight:760;white-space:normal;text-align:right}
.team-kpi-summary>.developer-kpi-link .ui-icon{width:15px;height:15px}
@container (max-width:600px){
 .team-kpi-body{grid-template-columns:minmax(0,1fr);gap:14px}
 .team-kpi-people{border-right:0;border-bottom:1px solid #e1ebe7;padding:0 0 12px}
 .team-kpi-people-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}
 .team-kpi-person-row{grid-template-columns:30px 32px minmax(0,1fr);gap:7px;padding:8px 0 10px}
 .team-kpi-person-number{width:30px;height:34px;font-size:13px}
 .team-kpi-person-avatar{width:32px;height:34px}
 .team-kpi-person-avatar .ui-icon{width:20px;height:20px}
 .team-kpi-person-copy b{font-size:12px}
 .team-kpi-person-copy>span{font-size:10px}
 .team-kpi-target-card{padding:11px 12px}
 .team-kpi-target-value strong{font-size:31px}
 .team-kpi-target-value>span{font-size:15px}
}
@container (max-width:410px){
 .team-kpi-people-list{grid-template-columns:minmax(0,1fr)}
 .team-kpi-person-row{border-bottom:1px solid #e6efeb}
 .team-kpi-person-row:last-child{border-bottom:0}
 .team-kpi-progress-tip strong{font-size:12px}
 .team-kpi-progress-tip p{font-size:10px}
 .team-kpi-target-header h4{font-size:13px}
 .team-kpi-target-header>span{font-size:9px}
}

.create-spinner{display:inline-block;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:create-spin .8s linear infinite;vertical-align:middle;margin-right:6px}
@keyframes create-spin{to{transform:rotate(360deg)}}
#createProject button:disabled{cursor:wait;opacity:.75}
@media(prefers-reduced-motion:reduce){.create-spinner{animation:none}}

/* Independent list-only SKU editor. */
.projects-table{min-width:1000px}
.projects-table th:first-child{width:23%}.projects-table th:nth-child(2){width:14%}.projects-table th:nth-child(3){width:16%}.projects-table th:nth-child(4){width:16%}.projects-table th:nth-child(5){width:13%}.projects-table th:nth-child(6){width:13%}
.project-sku-value{display:flex;align-items:center;gap:4px;min-width:0}.project-sku-value>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.project-sku-edit{display:inline-grid;place-items:center;flex:none;width:44px;height:44px;border:0;background:transparent;color:#64748b;cursor:pointer;border-radius:6px}.project-sku-edit:hover{background:#f1f5f9;color:#111}.project-sku-edit:focus-visible{outline:2px solid #2563eb}
.project-sku-form{display:grid;grid-template-columns:minmax(0,1fr) 32px 32px;gap:3px}.project-sku-form input{width:100%;min-width:0;height:40px;border:1px solid #cbd5e1;border-radius:6px;padding:6px;font:inherit}.project-sku-form button{border:0;border-radius:5px;background:#f1f5f9;color:#334155;cursor:pointer}.project-sku-form small{grid-column:1/-1;color:#b91c1c}

/* Dashboard owner photos and distinct project status colors. */
.projects-table .owner-avatar{position:relative;overflow:hidden;flex-shrink:0}
.projects-table .owner-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}
.projects-table .status-evaluation{background:#dbeafe;color:#1e40af}
.projects-table .status-development{background:#ccfbf1;color:#115e59}
.projects-table .status-review{background:#ede9fe;color:#5b21b6}
.projects-table .status-research{background:#ffedd5;color:#9a3412}
.projects-table .status-pending{background:#fef3c7;color:#92400e}
.projects-table .status-reserve{background:#e0e7ff;color:#3730a3}
.projects-table .status-complete{background:#dcfce7;color:#166534}
.projects-table .status-stopped{background:#fee2e2;color:#991b1b}
.projects-table .status-paused{background:#e2e8f0;color:#334155}
.projects-table .status-neutral{background:#f1f5f9;color:#475569}

/* Compact project list heading and filter toolbar. */
.dashboard-page #dashboard-projects .projects-header{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px 16px;align-items:center;margin-bottom:16px;flex-direction:initial}
.dashboard-page #dashboard-projects .projects-header>div:first-child{grid-column:1/4;grid-row:1;min-width:0}
.dashboard-page #dashboard-projects .projects-header h2{margin:0}
.dashboard-page #dashboard-projects .projects-header p{margin:5px 0 0}
.dashboard-page #dashboard-projects .project-tools{display:contents}
.dashboard-page #dashboard-projects .search-wrap{grid-column:4/7;grid-row:1;justify-self:end;width:100%;max-width:320px;min-width:0;box-sizing:border-box}
.dashboard-page #dashboard-projects .search-wrap .search{width:100%;min-width:0}
.dashboard-page #dashboard-projects .project-tools>.pf-select-control,.dashboard-page #dashboard-projects .project-tools>select:not(.pf-source-control){grid-column:span 2;grid-row:2;min-width:0;width:100%;max-width:none;margin:0;box-sizing:border-box}
@media(max-width:640px){.dashboard-page #dashboard-projects .projects-header{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dashboard-page #dashboard-projects .projects-header>div:first-child{grid-column:1/-1;grid-row:1}.dashboard-page #dashboard-projects .search-wrap{grid-column:1/-1;grid-row:2;max-width:none}.dashboard-page #dashboard-projects .project-tools>.pf-select-control,.dashboard-page #dashboard-projects .project-tools>select:not(.pf-source-control){grid-column:span 1;grid-row:auto}}