:root{--bg:#f3f5f3;--paper:#fff;--ink:#233c35;--muted:#697b73;--line:#dce4df;--brand:#173e35;--green:#2d6855;--soft:#edf3ee;--warn:#9b482c;--warn-bg:#fbede6;--blue:#3b607c;--radius:10px;--font:'Pretendard','Noto Sans KR','Malgun Gothic',system-ui,sans-serif;color-scheme:light;font-family:var(--font)}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font-size:14px;line-height:1.65;word-break:keep-all;overflow-wrap:anywhere}h1,h2,h3,h4,p{margin:0}h1{font-size:29px;letter-spacing:-1.2px;line-height:1.4}h2{font-size:18px;letter-spacing:-.6px;line-height:1.5}h3{font-size:16px;line-height:1.5}h4{font-size:13px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default}small{font-size:11px}strong,b{font-weight:650}button,a{ -webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #598d73;outline-offset:3px}.skip{position:fixed;top:-90px;left:15px;z-index:100;background:var(--brand);color:#fff;padding:15px}.skip:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.muted{color:var(--muted)}.small{font-size:12px}.danger-text{color:var(--warn)!important}.nowrap{white-space:nowrap}.section-gap{margin-top:24px}.sidebar{position:fixed;inset:0 auto 0 0;width:218px;background:#fff;border-right:1px solid var(--line);padding:29px 18px;z-index:40;display:flex;flex-direction:column}.brand{display:flex;gap:10px;align-items:center;font-size:20px;font-weight:750;letter-spacing:-.8px;line-height:1.3;padding:0 6px}.brand-symbol{width:36px;height:39px;border-radius:8px;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:17px;letter-spacing:-1px}.brand small{display:block;font-size:8px;letter-spacing:1.7px;color:var(--muted);font-weight:500;margin-top:6px}.nav-section{display:block;font-size:9px;letter-spacing:1.5px;color:var(--muted);padding:0 14px;margin:38px 0 13px}.sidebar nav{display:flex;flex-direction:column;gap:5px}.sidebar nav>a{display:flex;align-items:center;gap:13px;padding:12px 13px;border-radius:6px;color:#5e7368;font-size:13px;font-weight:550;min-height:44px}.sidebar nav>a>span:first-child{font-size:17px;width:20px;text-align:center;line-height:1.1}.sidebar nav>a:hover{background:#f0f4f0;color:var(--brand)}.sidebar nav>a[aria-current]{background:var(--brand);color:#fff}.nav-count{margin-left:auto;background:#e3eee4;color:#254b3b;padding:0 6px;font-size:10px;border-radius:4px}.nav-divider{margin:27px 0 8px}.sidebar-bottom{margin-top:auto;padding:25px 10px 0}.sidebar-bottom>a{font-size:11px;color:#536b5d}.company-mark{font-weight:650;font-size:12px;margin-bottom:23px}.company-mark small{display:block;color:var(--muted);font-weight:400;font-size:10px;margin-top:4px}.online-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#678870;margin-right:5px}.version{display:block;color:#738779;margin-top:14px;font-size:9px;letter-spacing:1px}.shell{margin-left:218px}.topbar{min-height:78px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.97);display:flex;align-items:center;gap:22px;padding:15px 34px;position:sticky;top:0;z-index:30}.breadcrumb{font-size:11px;color:#687a71;white-space:nowrap}.breadcrumb span{padding:0 13px;color:#a7b5ab}.global-search{margin-left:auto;display:flex;align-items:center;max-width:250px;border:1px solid var(--line);border-radius:6px;background:#fafcf9}.global-search input{width:200px;max-width:100%;border:0;background:transparent;padding:9px 12px;font-size:11px;outline-offset:0}.global-search button{background:none;border:0;padding:5px 12px;font-size:21px;color:#657a6d}.notification-link{font-size:18px;position:relative;color:#5d7868}.notification-link>span{position:absolute;top:-9px;right:-12px;background:var(--warn);color:#fff;border:2px solid white;border-radius:10px;padding:0 4px;font-size:8px;line-height:13px}.account{display:flex;align-items:center;gap:10px;padding-left:21px;border-left:1px solid var(--line)}.avatar{background:#e9efe6;display:grid;place-items:center;width:33px;height:33px;border-radius:50%;color:#3d5d48;font-size:12px}.account-name{font-size:12px;font-weight:650;line-height:1.4;white-space:nowrap}.account-name small{display:block;color:#77877b;font-size:9px;font-weight:400;margin-top:3px}.logout{font-size:10px;background:none;border:0;padding:10px 0 10px 8px;color:#65796b;white-space:nowrap}.menu-toggle{display:none}.main{padding:35px 34px 24px;max-width:1650px;margin:auto;min-width:0}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:0 0 26px}.page-heading p:not(.eyebrow){color:var(--muted);margin-top:8px;font-size:12px}.eyebrow{color:#6b8071;font-size:9px;letter-spacing:1.3px;margin-bottom:10px;font-weight:650}.eyebrow span{margin:0 8px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--brand);border-radius:6px;background:var(--brand);color:#fff;padding:11px 17px;font-size:12px;font-weight:600;line-height:1.5;white-space:nowrap;min-height:41px}.button:hover{background:#245243;border-color:#245243}.button:active{transform:translateY(1px)}.button.secondary{color:#365747;border-color:#ccd8ce;background:#fff}.button.secondary:hover{background:#eaf1e9;border-color:#9db5a1}.small-button{font-size:11px;padding:8px 12px;min-height:35px}.actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.text-link{color:var(--green);font-size:11px;font-weight:600;white-space:nowrap}.text-link:hover{text-decoration:underline;text-underline-offset:4px}.back{color:#69806e;display:inline-block;font-size:11px;margin-bottom:18px}.overline{display:block;font-size:8px;letter-spacing:1.5px;color:#738577;margin-bottom:7px;font-weight:600}.demo-strip,.info-strip{background:#edf2e9;border:1px solid #d5dfcb;border-radius:7px;padding:12px 16px;font-size:11px;color:#4d6846;margin-bottom:23px;line-height:1.9}.demo-strip b{font-size:10px;border:1px solid #b8cab0;padding:2px 6px;border-radius:3px;margin-right:9px}.demo-strip a,.info-strip a{font-weight:650;text-decoration:underline;text-underline-offset:3px;margin-left:7px}.info-strip{background:#eef3f7;border-color:#d5e0e8;color:#3e5d73}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:24px}.metric{display:block;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:22px 23px}.metric>span{display:flex;justify-content:space-between;font-size:11px;font-weight:600;color:#657b6b}.metric i{font-style:normal;font-size:12px;color:#97a79a}.metric strong{display:block;font-size:33px;line-height:1.5;font-weight:650;letter-spacing:-1px;margin-top:7px}.metric strong small{font-size:11px;font-weight:400;color:var(--muted);margin-left:7px;letter-spacing:0}.metric p{font-size:10px;color:#7a887d;margin-top:8px}.metric.urgent strong{color:var(--warn)}.metric:hover{border-color:#afc4b3}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(290px,1fr);gap:22px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);min-width:0;overflow:hidden}.panel-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:24px 25px 21px}.stage-summary{display:flex;gap:9px;margin:0 25px 12px;border:1px solid #e0e7df;border-radius:6px;background:#f8faf7;padding:11px 13px}.stage-summary a{display:flex;align-items:center;gap:6px;font-size:10px;color:#5e7563;flex:1;white-space:nowrap}.stage-summary strong{margin-left:auto;padding-right:10px}.stage-dot{width:6px;height:6px;background:#9dafa3;border-radius:50%;display:inline-block;flex-shrink:0}.stage-dot.in_progress{background:#4b7b65}.stage-dot.completed{background:#59778b}.table-scroll{width:100%;overflow-x:auto;overscroll-behavior-x:contain}.data-table{border-collapse:collapse;width:100%;text-align:left;font-size:12px}.data-table th{font-size:10px;color:#7c8a7f;font-weight:500;background:#fbfcfa;border-bottom:1px solid var(--line);padding:12px 20px;white-space:nowrap}.data-table td{padding:18px 20px;border-bottom:1px solid #edf0ec;vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table td small{display:block;color:#7c897e;font-size:10px;margin-top:5px}.row-title{font-weight:650;font-size:12px;line-height:1.7}.row-title:hover{color:#548063;text-decoration:underline;text-underline-offset:4px}.badge{display:inline-block;font-size:10px;font-weight:550;white-space:nowrap;line-height:1.5;color:#5b7061;background:#eef2ed;padding:5px 8px;border-radius:4px}.badge.review{background:#eff1e8;color:#677347}.badge.in_progress,.badge.working{background:#e8f1e9;color:#39644a}.badge.completed{background:#e8f0f6;color:#3d6178}.badge.supplement{background:var(--warn-bg);color:#a65332}.badge.submitted{background:#edf1f6;color:#4a6682}.badge.waiting_documents{background:#f4efdf;color:#816c33}.badge.not_applicable{background:#f1f1ef;color:#7e857b}.progress-cell{min-width:106px}.progress-label{display:flex;justify-content:space-between;gap:14px;font-size:9px;color:#7e8d80;margin-bottom:6px}.progress-label b{color:#52715a}.progress-track{height:4px;background:#e8eee6;border-radius:4px;overflow:hidden}.progress-track span{height:100%;display:block;background:#547b60;border-radius:4px}.person-name{white-space:nowrap;font-size:11px}.due-list{padding:0 22px 8px}.due-item{display:flex;align-items:center;gap:12px;padding:16px 0;border-top:1px solid #edf0ea}.due-mark{width:8px;height:8px;background:#d0ddcf;border-radius:50%;flex-shrink:0;align-self:flex-start;margin-top:18px}.due-mark.late{background:#bb7656}.due-item>div{min-width:0}.due-item small{font-size:9px;display:block;color:#839180;margin-bottom:3px}.due-item strong{display:block;font-size:12px}.due-item>div>span{display:block;font-size:9px;color:#859182;margin-top:5px}.due-pill{display:inline-block;font-size:9px;font-weight:550;white-space:nowrap;background:#edf3e9;padding:4px 7px;border-radius:4px;color:#627b57}.due-item>.due-pill{margin-left:auto;flex-shrink:0}.due-pill.late{background:var(--warn-bg);color:#a75736}.panel-bottom{display:flex;align-items:center;justify-content:space-between;background:#fafcf8;border-top:1px solid var(--line);padding:13px 24px;color:#567353;font-size:11px}.activity-row{padding:16px 25px;display:flex;align-items:center;gap:14px;border-top:1px solid #edf0eb;font-size:11px}.activity-dot{width:6px;height:6px;background:#8aa184;border-radius:50%;flex-shrink:0}.activity-row>div{flex:1;min-width:0}.activity-row b{font-size:11px}.activity-row>div>span{color:#7c8d7d;font-size:10px;margin-left:7px}.activity-row p{color:#71816f;font-size:10px;margin-top:5px}.activity-row>a{font-size:10px;color:#6c8368;max-width:155px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-row time{font-size:9px;color:#91a18d;white-space:nowrap}.empty{text-align:center;padding:50px 24px;color:#758572;font-size:12px}.empty strong{display:block;color:#4e6a50;font-size:14px}.empty p{margin:9px auto 17px;font-size:12px;max-width:400px}.empty.compact{padding:30px 20px;font-size:11px}.empty.compact p{font-size:11px;margin-bottom:0}.footer{display:flex;justify-content:space-between;gap:20px;color:#8a9985;font-size:9px;border-top:1px solid #dfe7da;margin-top:38px;padding-top:18px}.filters{display:flex;gap:13px;align-items:flex-end;padding:20px;margin-bottom:23px}.filters>div{flex:1;min-width:100px}.filters>div:first-child{flex:2}.filters label{display:block;font-size:10px;color:#6b7f69;margin-bottom:6px}.filters input,.filters select{width:100%;font-size:11px;padding:10px 12px;background:#fff;border:1px solid #d6e0d0;border-radius:5px;color:#38543d;min-height:40px}.results-head{display:flex;gap:7px;align-items:center;justify-content:space-between;margin-bottom:13px;color:#6d8167;font-size:11px}.results-head>span>strong{color:#3a5b3e}.pagination{display:flex;align-items:center;justify-content:center;gap:24px;border-top:1px solid var(--line);padding:17px;font-size:11px;color:#74886b}.pagination a{color:#375b3b}.editor{padding:28px 30px;max-width:1080px}.editor.narrow{max-width:680px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:21px 25px}.field{min-width:0}.field label{display:block;margin-bottom:7px;font-size:12px;font-weight:600;color:#425b43}.field input:not([type=checkbox]),.field select,.field textarea{width:100%;border:1px solid #cfdcc8;border-radius:5px;background:#fff;color:#263e2a;padding:11px 12px;min-height:43px;line-height:1.6}.field textarea{resize:vertical;min-height:80px}.field select[multiple]{min-height:115px}.field input:disabled,.field select:disabled,.field textarea:disabled{background:#f4f7f0;color:#687b5e;border-color:#e0e6da;opacity:1}.field input::placeholder,.field textarea::placeholder{color:#7b8d72}.field:has(textarea),.field:has(select[multiple]),.form-grid>.form-errors{grid-column:1/-1}.checkbox-field{display:flex;align-items:center;gap:15px}.checkbox-field label{margin:0}.checkbox-field input{width:18px;height:18px;accent-color:var(--brand)}.required{color:#a2673d;font-size:10px}.help{font-size:10px;color:#75876b;margin-top:7px;line-height:1.8}.help ul{margin:3px 0;padding-left:17px}.errorlist{list-style:none;margin:0;padding:0}.field-errors,.form-errors{color:#9d462b;font-size:11px;line-height:1.8;margin-top:7px}.form-errors{border:1px solid #eccdbb;background:#fff4ec;border-radius:5px;padding:13px 16px;margin:0 0 20px}.field.has-error input,.field.has-error select,.field.has-error textarea{border-color:#be7c55}.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:22px;margin-top:28px}.form-actions>.small{margin-right:auto}.flashes{margin-bottom:20px}.flash{background:#e7f1e1;border:1px solid #c5d9b9;color:#426635;padding:14px 18px;border-radius:6px;font-size:12px}.project-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:24px 0}.project-facts>div{padding:0 24px;border-right:1px solid var(--line)}.project-facts>div:last-child{border:0}.project-facts>div>span{display:block;font-size:10px;color:#829075}.project-facts strong{display:block;font-size:20px;margin-top:9px}.project-facts strong small{display:inline;font-size:12px;font-weight:400}.project-facts>div>small{display:block;font-size:10px;color:#718264;margin-top:7px}.project-summary{font-size:12px;color:#687d5c;margin:20px 0 0}.section-tabs{display:flex;gap:23px;overflow:auto;white-space:nowrap;border-bottom:1px solid #cfdcc7;margin:26px 0 0;scrollbar-width:thin}.section-tabs a{display:block;font-size:12px;padding:14px 2px;color:#687f5c;font-weight:600}.section-tabs a:hover{border-bottom:2px solid var(--brand);color:var(--brand)}.detail-section{margin-top:36px;scroll-margin-top:100px}.section-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:15px}.phase-group{margin-top:12px}.phase-group>summary{list-style:none;display:flex;align-items:center;gap:9px;padding:19px 22px;font-size:13px;cursor:pointer;font-weight:650}.phase-group summary::-webkit-details-marker{display:none}.phase-group summary small{margin-left:8px;color:#91a185;font-size:10px;font-weight:400}.expand-sign{margin-left:auto;color:#859a79}.phase-group[open] .expand-sign{transform:rotate(45deg)}.phase-group[open]>summary{border-bottom:1px solid var(--line);background:#f9fcf6}.caption{font-size:10px;color:#8b9b7e;margin-top:12px}.coverage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.coverage-grid>.empty{grid-column:1/-1}.coverage-card{padding:24px}.coverage-card h3{margin-top:16px}.coverage-card>p{font-size:11px;color:#78896b;margin:9px 0 15px}.coverage-date{padding:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:16px}.coverage-date small{display:block;color:#7b8d6c;font-size:10px}.coverage-date strong{font-size:12px;display:block;margin:7px 0}.coverage-date>span{font-size:10px;color:#5e7c4d}.claim-link{display:flex;gap:12px;justify-content:space-between;border-top:1px solid var(--line);padding:12px 0;font-size:11px;margin-bottom:12px}.claim-link>span{font-size:10px;color:#768e63}.notes-panel{padding:24px}.note-form{border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:8px}.note-form .button{margin-top:10px}.note{padding:20px 0;border-bottom:1px solid #edf1e7}.note:last-child{border-bottom:0}.note>div{display:flex;justify-content:space-between;gap:20px;font-size:12px}.note time{font-size:10px;color:#8a9c7a}.note p{font-size:12px;line-height:1.9;margin-top:12px;color:#506a43}.supplement-card{padding:25px;margin-bottom:15px}.supplement-heading{display:flex;justify-content:space-between;gap:20px;align-items:center}.inline-facts{display:flex;flex-wrap:wrap;gap:15px;font-size:10px;color:#829674;margin:17px 0;padding-bottom:15px;border-bottom:1px solid var(--line)}.supplement-card h4{font-size:11px;margin-top:18px;color:#779164}.supplement-card p{font-size:12px;margin-top:8px;color:#425d36;line-height:1.9}.supplement-card>.text-link{display:block;margin-top:18px}.document-chip{display:block;padding:10px;background:#f0f5eb;margin-top:13px;font-size:11px;border-radius:4px}.link-list>a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 23px;border-top:1px solid var(--line);font-size:12px}.link-list>a>span{font-size:11px;color:#718a60}.timeline{padding:5px 25px}.timeline>article{display:flex;gap:15px;padding:23px 0;border-bottom:1px solid var(--line)}.timeline>article>.activity-dot{margin-top:8px}.timeline>article>div{flex:1;min-width:0}.timeline h4 small{font-size:10px;color:#809573;font-weight:400;margin-left:10px}.timeline p{margin-top:8px;font-size:12px;line-height:1.8}.change-line{font-size:10px!important;color:#7d946f;overflow-wrap:anywhere;word-break:break-word}.change-line code{background:#f0f5e9;border-radius:3px;padding:2px 4px;font-size:9px;color:#4c7040}.assignment-history{margin-top:20px}.assignment-history summary{padding:18px 24px;cursor:pointer;font-size:12px;color:#627e52}.handover-row{display:flex;gap:25px;justify-content:space-between;align-items:center;padding:20px 25px;border-top:1px solid var(--line)}.handover-row p{font-size:11px;color:#759062;margin-top:6px}.filter-tabs{display:flex;gap:8px;margin-bottom:20px}.filter-tabs>a{padding:8px 13px;border:1px solid #cfddc4;border-radius:5px;font-size:11px;color:#678553;background:#fff}.filter-tabs>a[aria-current]{background:var(--brand);color:#fff;border-color:var(--brand)}.notification{display:flex;align-items:center;gap:16px;padding:23px 25px;border-bottom:1px solid var(--line)}.notification>div{flex:1;min-width:0}.notification h3{font-size:13px}.notification p{font-size:11px;color:#81986f;margin-top:6px}.notification .activity-dot{background:#c9d6bf}.notification.unread{background:#f8fcf3}.notification.unread .activity-dot{background:#608d45}.integration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.integration-card{padding:25px;display:flex;align-items:flex-start;flex-direction:column}.service-label{font-size:10px;color:#7f966c}.integration-card h2{margin-top:7px;margin-bottom:17px}.connection-status{font-size:10px;background:#f1f4eb;color:#879b75;padding:4px 8px;border-radius:4px;margin-bottom:12px}.connection-status.ready{background:#edf5e6;color:#557b37}.integration-card p{font-size:11px;color:#80966d;line-height:1.9}.integration-card .button{margin-top:12px}.full-width{width:100%}.login-page{background:#fff}.login-layout{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr}.login-brand{background:var(--brand);color:#eaf3e5;position:relative;overflow:hidden;padding:45px 52px;display:flex;flex-direction:column;justify-content:space-between;min-height:100dvh}.login-brand>.brand{position:relative;z-index:2;color:#fff;width:max-content}.login-brand .brand-symbol{background:#e8f0dd;color:var(--brand)}.login-brand .brand small{color:#97b892}.login-brand>div:not(.solar-grid){position:relative;z-index:2}.login-brand h1{font-size:clamp(30px,3.2vw,45px);line-height:1.55;font-weight:550;letter-spacing:-1.9px}.login-brand .eyebrow{color:#a8c19b;font-size:10px}.login-brand>div>p:not(.eyebrow){font-size:13px;color:#abc59e;margin-top:25px;line-height:2}.login-caption{font-size:10px;color:#a0bd91;position:relative;z-index:2}.solar-grid{position:absolute;inset:45% -30% -35% -40%;transform:perspective(500px) rotateX(57deg) rotateZ(-15deg);background:repeating-linear-gradient(90deg,transparent 0 78px,#d9efc314 78px 79px),repeating-linear-gradient(0deg,transparent 0 48px,#d9efc314 48px 49px);pointer-events:none;mask-image:linear-gradient(transparent,#000)}.login-form{display:grid;place-items:center;padding:50px 40px}.login-box{width:min(100%,355px)}.login-box>.overline{font-size:9px;letter-spacing:1.6px;margin-bottom:18px}.login-box h2{font-size:27px;letter-spacing:-1.1px}.login-box>p{font-size:12px;color:#859476;margin-top:12px;margin-bottom:33px}.login-box .field{margin-bottom:21px}.login-box .button{margin-top:8px;min-height:47px}.login-note{margin-top:26px;color:#8b9b7c;font-size:10px;line-height:2;border-top:1px solid var(--line);padding-top:21px}
@media(min-width:1550px){.main{padding-top:43px}.dashboard-grid{grid-template-columns:minmax(0,1.8fr) minmax(320px,1fr)}.metric{padding:25px 28px}.data-table td{padding-top:20px;padding-bottom:20px}}
@media(max-width:1150px){.sidebar{width:195px;padding-left:13px;padding-right:13px}.shell{margin-left:195px}.main{padding:28px 24px}.topbar{padding-left:24px;padding-right:24px;gap:16px}.global-search{display:none}.account{margin-left:auto}.dashboard-grid{grid-template-columns:1fr}.due-list{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}.metrics{gap:12px}.metric{padding:18px}.data-table th,.data-table td{padding-left:18px;padding-right:18px}.integration-grid,.coverage-grid{grid-template-columns:1fr 1fr}}
@media(max-width:767px){.sidebar{width:235px;transform:translateX(-100%);transition:transform .2s ease;box-shadow:15px 0 35px #173e3512}.sidebar.open{transform:translateX(0)}.shell{margin-left:0}.topbar{padding:13px 17px;min-height:67px;gap:12px}.menu-toggle{display:block;border:1px solid #d7e0d2;border-radius:5px;background:#fff;color:#486240;width:34px;height:35px;flex-shrink:0}.breadcrumb{font-size:10px}.breadcrumb span{padding:0 7px}.breadcrumb{max-width:150px;overflow:hidden;text-overflow:ellipsis}.account{border:0;padding:0;gap:5px}.account-name{display:none}.avatar{width:28px;height:28px;font-size:10px}.logout{font-size:9px;padding-left:3px}.notification-link{margin-left:auto;font-size:16px}.main{padding:26px 16px 20px}h1{font-size:25px;letter-spacing:-1px}.page-heading{align-items:flex-start;margin-bottom:21px;flex-wrap:wrap;gap:16px}.page-heading p:not(.eyebrow){font-size:11px;line-height:1.9}.page-heading .button{font-size:11px;padding:9px 13px;min-height:37px}.eyebrow{font-size:8px;letter-spacing:1.1px}.metrics{grid-template-columns:1fr 1fr;gap:11px}.metric{padding:18px 17px}.metric strong{font-size:30px;margin-top:8px}.metric p{font-size:9px;line-height:1.8}.metric>span{font-size:10px}.metric strong small{font-size:10px}.demo-strip,.info-strip{font-size:10px;padding:11px 13px;line-height:2}.demo-strip a{display:inline-block;margin-left:0}.panel-heading{padding:21px 19px 17px}h2{font-size:17px}.stage-summary{margin:0 18px 12px;padding:10px;gap:12px;flex-wrap:wrap}.stage-summary a{font-size:9px;gap:5px}.stage-summary strong{padding-right:0}.data-table{min-width:580px}.data-table th{font-size:9px;padding:11px 16px}.data-table td{font-size:11px;padding:17px 16px}.row-title{font-size:11px}.due-list{display:block;padding:0 19px 7px}.due-item{padding:16px 0}.activity-row{padding:16px 19px;flex-wrap:wrap;gap:10px}.activity-row>div{flex-basis:75%}.activity-row>a{margin-left:16px;font-size:9px}.activity-row time{margin-left:auto;font-size:9px}.activity-row p{font-size:10px}.footer{font-size:8px;gap:15px;line-height:1.9}.footer span:last-child{display:none}.filters{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:18px}.filters>div:first-child{grid-column:1/-1}.filters>div{min-width:0}.filters>.button{min-height:40px;align-self:end}.results-head{font-size:10px;flex-wrap:wrap;gap:8px}.results-head .small{font-size:9px}.editor{padding:22px 19px}.form-grid{grid-template-columns:1fr;gap:19px}.field label{font-size:11px}.field input:not([type=checkbox]),.field select,.field textarea{font-size:14px}.help{font-size:10px}.form-actions{flex-wrap:wrap}.form-actions>.small{width:100%;font-size:10px}.project-facts{grid-template-columns:1fr 1fr;padding:20px 0;gap:22px 0}.project-facts>div{padding:0 18px}.project-facts>div:nth-child(2){border:0}.project-facts strong{font-size:18px;margin-top:6px}.project-facts>div>small{font-size:9px}.project-facts>div>span{font-size:9px}.project-facts strong small{font-size:10px}.section-tabs{gap:19px;margin-top:22px}.section-tabs a{font-size:11px;padding:13px 0}.detail-section{margin-top:28px;scroll-margin-top:86px}.phase-group>summary{padding:16px 17px;font-size:12px}.phase-group summary small{font-size:9px}.caption{font-size:9px;line-height:1.9}.coverage-grid,.integration-grid{grid-template-columns:1fr}.coverage-card,.supplement-card,.integration-card{padding:21px}.coverage-date strong{font-size:13px}.notes-panel{padding:20px}.note time{font-size:9px}.note p{font-size:12px}.inline-facts{gap:8px 15px}.timeline{padding:0 18px}.timeline h4{font-size:12px}.timeline h4 small{display:block;margin-left:0;margin-top:6px}.timeline p{font-size:11px}.handover-row{padding:20px;align-items:flex-start;flex-wrap:wrap}.notification{padding:20px 18px;align-items:flex-start;gap:10px;flex-wrap:wrap}.notification>.activity-dot{margin-top:9px}.notification>div{flex-basis:85%}.notification>form{margin-left:16px}.notification h3{font-size:12px}.notification p{font-size:10px}.login-layout{grid-template-columns:1fr}.login-brand{min-height:290px;padding:26px 26px 30px}.login-brand .brand{font-size:19px}.login-brand .brand-symbol{width:33px;height:36px;font-size:16px}.login-brand>div:not(.solar-grid){margin-top:35px}.login-brand h1{font-size:28px;line-height:1.5;letter-spacing:-1.3px}.login-brand .eyebrow{font-size:9px;margin-bottom:10px}.login-brand>div>p:not(.eyebrow),.login-caption{display:none}.login-form{padding:35px 25px 40px}.login-box h2{font-size:24px}.login-box>.overline{font-size:8px;margin-bottom:10px}.login-box>p{font-size:11px;margin-bottom:27px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Shared text contrast and density for operational screens. */
:root{--muted:#5d6e65}
.eyebrow,.overline,.metric>span,.metric p,.metric i,.progress-label,.data-table th,.data-table td small,.due-item small,.due-item>div>span,.activity-row p,.activity-row time,.activity-row>div>span,.footer,.version,.help,.caption,.service-label,.integration-card p,.login-box>p,.login-note,.project-facts>div>span,.project-facts>div>small,.phase-group summary small,.inline-facts,.note time,.account-name small{color:var(--muted)}
.field input::placeholder,.field textarea::placeholder{color:#61745a}
.connection-status{color:#586d4e}.badge.review{color:#576239}.badge.not_applicable{color:#5f6958}.due-pill{color:#49643d}.due-pill.late{color:#9b482c}
.data-table{font-size:13px}.row-title{font-size:13px}.data-table td small{font-size:11px}.due-item strong{font-size:13px}.due-item small,.due-item>div>span,.activity-row p{font-size:11px}.login-brand .eyebrow{color:#b9cdb1}
@media(max-width:767px){.data-table td,.row-title{font-size:12px}.data-table td small{font-size:10px}.due-item strong{font-size:13px}}

.sidebar{overflow-y:auto;overscroll-behavior:contain}.sidebar nav{flex-shrink:0}.sidebar-bottom{flex-shrink:0}

/* Operational progress report: one scrollable matrix, with plant names kept in view. */
.calendar-controls{display:grid;grid-template-columns:minmax(140px,1fr) minmax(0,2fr) minmax(0,1.5fr) auto;align-items:end;gap:16px;padding:22px;margin-bottom:24px}.calendar-controls>div{min-width:0}.calendar-controls label{display:block;font-size:12px;font-weight:600;margin-bottom:7px}.calendar-controls input,.calendar-controls select{width:100%;min-width:0;height:44px;padding:8px 10px;background:#fff;color:var(--ink);border:1px solid #ccd8ce;border-radius:6px;font-size:13px}.calendar-controls .button{min-height:44px}.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px}.calendar-heading .actions{gap:13px}.calendar-caption{margin-bottom:12px}.calendar-weekdays,.calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{background:var(--soft);font-size:12px;text-align:center;border-bottom:1px solid var(--line);padding:10px 0}.calendar-cell{min-width:0;min-height:145px;padding:11px 9px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.calendar-cell:last-child{border-right:0}.calendar-week:last-child .calendar-cell{border-bottom:0}.calendar-cell h3{font-size:12px;display:flex;align-items:center;gap:7px;margin-bottom:9px}.calendar-cell h3 small{font-size:10px;color:var(--green)}.calendar-cell.is-today{box-shadow:inset 0 3px var(--green);background:#f8fbf5}.calendar-cell.outside{background:#f7f8f5;color:#849184}.calendar-event{display:block;margin-top:8px;padding:8px;border:1px solid #d6e4d7;background:#eff5ed;border-radius:5px;line-height:1.65}.calendar-event:hover{border-color:#6b9075}.calendar-event strong,.calendar-event span,.calendar-event small{display:block}.calendar-event strong{font-size:12px}.calendar-event span{font-size:11px}.calendar-event small{font-size:10px;color:var(--muted)}.calendar-event.late{background:#fff4ee;border-color:#ebd3c4}.calendar-event.late strong{color:var(--warn)}.calendar-empty{font-size:10px;color:var(--muted);margin-top:14px}.calendar-full-date{display:none}.calendar-day-view .calendar-week{grid-template-columns:1fr}.calendar-day-view .calendar-cell{padding:22px;border-right:0}.calendar-day-view .calendar-event{padding:14px}.calendar-day-view .calendar-full-date{display:inline}
@media(max-width:1050px){.calendar-controls{grid-template-columns:1fr 1fr}.calendar-cell{padding:9px 6px}.calendar-event{padding:6px}.calendar-event strong{font-size:11px}}
@media(max-width:767px){.calendar-controls{padding:18px 16px;gap:14px 12px}.calendar-controls input,.calendar-controls select{font-size:16px}.calendar-heading .progress-switch{width:auto}.calendar-heading h2{font-size:17px}.calendar-weekdays{display:none}.calendar-week{display:block}.calendar-cell{min-height:0;border-right:0;padding:16px}.calendar-cell.outside{display:none}.calendar-cell h3{font-size:13px}.calendar-full-date{display:inline}.calendar-event{padding:10px;margin-top:10px}.calendar-event strong{font-size:13px}.calendar-event span{font-size:12px}.calendar-event small{font-size:11px}.calendar-empty{font-size:11px;margin-top:8px}.calendar-week:last-child .calendar-cell{border-bottom:1px solid var(--line)}.calendar-week:last-child .calendar-cell:last-child{border-bottom:0}}
.progress-filter-panel{margin-bottom:23px}
.progress-filter-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;cursor:pointer;padding:19px 24px;color:var(--ink);background:#fbfcf9}
.progress-filter-panel>summary::-webkit-details-marker{display:none}
.progress-filter-panel>summary:focus-visible{outline:3px solid #547b60;outline-offset:-3px}
.progress-filter-heading{display:block;min-width:0}
.progress-filter-heading strong{display:block;font-size:14px;font-weight:650;line-height:1.5}
.progress-filter-heading small{display:block;margin-top:4px;font-size:12px;line-height:1.6;color:#60735d}
.progress-filter-toggle{display:flex;align-items:center;gap:9px;flex-shrink:0;padding:7px 11px;border:1px solid #d6e0d0;border-radius:6px;background:#fff;color:#49643f;font-size:12px}
.filter-chevron{font-size:17px;line-height:1;transform:translateY(-2px)}
.filter-collapse{display:none}
.progress-filter-panel[open] .filter-expand{display:none}
.progress-filter-panel[open] .filter-collapse{display:inline}
.progress-filter-panel[open] .filter-chevron{transform:rotate(180deg) translateY(-2px)}
.progress-filter-form{padding:24px;border-top:1px solid var(--line)}
.progress-filter-primary{display:grid;grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr));gap:16px}
.progress-filter-secondary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:20px;padding-top:20px;border-top:1px solid #edf1e9}
.progress-filter-field{min-width:0}
.progress-filter-field label{display:block;margin-bottom:8px;font-size:12px;font-weight:600;line-height:1.4;color:#425c40}
.progress-filter-field input,.progress-filter-field select{display:block;width:100%;min-width:0;height:44px;margin:0;padding:10px 12px;border:1px solid #ccd8c5;border-radius:6px;background:#fff;color:var(--ink);font:inherit;font-size:13px;line-height:1.5}
.progress-filter-field select{padding-right:24px;text-overflow:ellipsis}
.progress-filter-field input::placeholder{color:#6a7c62}
.progress-filter-field input:hover,.progress-filter-field select:hover{border-color:#8ba47e}
.progress-filter-field input:focus-visible,.progress-filter-field select:focus-visible{outline:2px solid #547b60;outline-offset:2px;border-color:#547b60}
.progress-filter-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.progress-filter-actions p{margin:0;color:#60735d;font-size:12px;line-height:1.7}
.progress-filter-buttons{display:flex;gap:8px;flex-shrink:0}
.progress-filter-buttons .button{min-height:44px;min-width:96px;justify-content:center;font-size:13px}
.progress-results{flex-wrap:wrap;gap:14px;line-height:1.8}
.progress-switch{display:flex;border:1px solid var(--line);border-radius:6px;padding:3px;background:var(--paper)}
.progress-switch a{padding:7px 12px;font-size:11px;border-radius:4px;color:var(--muted)}
.progress-switch a[aria-current]{background:#e8f1e9;color:#254f3c;font-weight:650}
.progress-hint{margin-bottom:12px}
.progress-scroll{max-height:68vh;overflow:auto;position:relative}
.progress-scroll:focus-visible{outline:3px solid #547b60;outline-offset:-3px}
.progress-matrix{width:max-content;min-width:100%;table-layout:fixed}
.progress-matrix thead th{position:sticky;top:0;z-index:2;min-width:145px;width:145px;max-width:145px;white-space:normal;line-height:1.7;padding:14px;font-size:11px;color:#435e4b;background:#f4f7f1}
.progress-matrix th.plant-column{position:sticky;left:0;min-width:220px;width:220px;max-width:220px;border-right:1px solid var(--line);background:var(--paper);z-index:1;padding:16px 18px;text-align:left}
.progress-matrix thead th.plant-column{z-index:3;top:0;background:#f4f7f1}
.progress-matrix tbody th{border-bottom:1px solid var(--line);font-weight:400;vertical-align:top}
.progress-matrix tbody tr:last-child th{border-bottom:0}
.progress-matrix .plant-column>.badge{margin:9px 3px 10px 0}
.progress-matrix .plant-column>small{display:block;font-size:11px;font-weight:400;color:var(--muted);line-height:1.7;margin-top:5px}
.progress-matrix td{vertical-align:top;padding:0;border-right:1px solid #edf0ec}
.progress-matrix td:last-child{border-right:0}
.milestone-link{display:block;padding:18px 14px;min-height:120px;line-height:1.7}
.milestone-link:hover,.milestone-link:focus-visible{background:#f0f6ee}
.milestone-link:focus-visible{outline:2px solid #547b60;outline-offset:-2px}
.progress-matrix .milestone-link small{font-size:11px;line-height:1.7}
.progress-matrix .milestone-link small.danger-text{color:#9b482c}
.progress-priority{display:block;margin-top:12px;border-top:1px solid var(--line);padding-top:10px;font-size:11px;line-height:1.8;color:#375d46}
.progress-priority small{display:block;font-size:10px;color:var(--muted)}
.milestone-missing{display:inline-block;color:var(--muted);font-size:11px;padding:18px 14px}
.progress-legend{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:18px 0 10px}
.progress-legend .milestone-missing{padding:3px 0}
@media(max-width:1050px){.progress-filter-primary,.progress-filter-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-filter-search{grid-column:1/-1}}
@media(max-width:767px){.progress-filter-panel>summary{padding:16px}.progress-filter-heading small{font-size:11px}.progress-filter-form{padding:18px 16px}.progress-filter-primary,.progress-filter-secondary{gap:16px 12px}.progress-filter-field input,.progress-filter-field select{font-size:16px;padding:9px 10px}.progress-filter-field select{padding-right:22px}.progress-filter-secondary{margin-top:20px;padding-top:20px}.progress-filter-actions{flex-direction:column;align-items:stretch;gap:14px;margin-top:20px;padding-top:16px}.progress-filter-actions p{font-size:11px}.progress-filter-buttons{display:grid;grid-template-columns:1fr 1fr}.progress-filter-buttons .button{width:100%;min-width:0}.progress-matrix th.plant-column{min-width:160px;width:160px;max-width:160px;padding:13px 12px}.progress-matrix thead th{min-width:140px;width:140px;max-width:140px}.progress-scroll{max-height:70vh}.progress-matrix .plant-column>small{font-size:10px}.progress-switch{width:100%}.progress-switch a{flex:1;text-align:center}.progress-metrics .metric{padding:16px}.progress-metrics .metric>span{font-size:11px;line-height:1.7}.progress-metrics .metric p{line-height:1.7}.milestone-link{padding:15px 12px}.progress-matrix .milestone-link small{font-size:11px}}
