.four-page{max-width:1840px;margin:0 auto;padding:24px clamp(12px,2vw,32px);color:#142e3d}.four-head,.four-gantt-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.four-head h1{margin:4px 0 12px;font-size:clamp(26px,3vw,38px)}.four-head p{margin:0;color:#526e80;font-size:13px}.four-cut,.four-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.four-page button,.four-page select{border:1px solid #cbd9e3;border-radius:6px;background:#fff;color:#193a4d;padding:7px 11px;font:inherit;cursor:pointer}.four-page button:disabled{cursor:default;opacity:.55}.four-page button:focus-visible,.four-page input:focus-visible,.four-page select:focus-visible{outline:2px solid #008c80;outline-offset:2px}.four-tabs{display:flex;gap:3px;border-bottom:1px solid #d7e2e9;margin-bottom:12px}.four-tabs button{border-bottom-left-radius:0;border-bottom-right-radius:0}.four-page button[aria-pressed=true]{background:#e0f5f0;border-color:#00a390}.four-inputs,.four-gantt{background:#fff;border:1px solid #d8e2eb;border-radius:9px;padding:12px;margin-bottom:12px}.four-inputs h2,.four-gantt h2{font-size:18px;margin:0}.four-inputs summary{cursor:pointer;font-weight:650}.four-upload{display:flex;gap:16px;align-items:end;flex-wrap:wrap;margin-top:12px}.four-inputs label{display:grid;gap:6px;font-size:13px}.four-inputs>label{margin:14px 0}.four-inputs input{max-width:100%}.four-inputs span{overflow-wrap:anywhere}.four-viewer{position:relative;isolation:isolate;height:clamp(285px,44vh,560px);background:#aabcca;border-radius:9px;overflow:hidden;margin-bottom:12px}.four-canvas{width:100%;height:100%}.four-canvas canvas{display:block;width:100%;height:100%;touch-action:none}.four-viewer-message{position:absolute;inset:0;display:grid;place-content:center;margin:0;padding:20px;text-align:center;pointer-events:none}.four-fit{position:absolute;right:12px;top:12px}.four-legend{position:absolute;bottom:12px;left:12px;display:flex;gap:11px;flex-wrap:wrap;background:#102b3bea;color:#fff;padding:8px 10px;border-radius:6px;font-size:12px}.four-legend span:before{content:"";display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;background:#91a0aa}.four-legend span:nth-child(2):before{background:#11aa98}.four-legend span:nth-child(3):before{background:#e1e6e9}.four-legend span:nth-child(4):before{background:#e0a13d}.four-primary{background:#007e70!important;color:#fff!important}.four-seek{width:100%;accent-color:#008a7e;margin:12px 0}.four-table-scroll{overflow:auto;max-height:390px;border:1px solid #d8e2eb;border-radius:6px}.four-table{min-width:calc(510px + var(--track-width))}.four-row{display:grid;width:100%;grid-template-columns:100px 240px 85px 85px minmax(var(--track-width),1fr);min-height:36px;text-align:left;align-items:stretch}.four-row>span:not(.four-track){display:flex;align-items:center;padding:6px 10px;border-right:1px solid #e0e9ee;line-height:1.25}.four-columns{position:sticky;top:0;z-index:2;background:#f4f7fa;font-weight:700}.four-task.four-row{border:0;border-top:1px solid #e2eaf0;border-radius:0;padding:0;font-size:12px}.four-task.active{background:#ecfaf7}.four-task:hover{background:#edf5f8}.four-track{position:relative;display:block;min-height:32px;background:repeating-linear-gradient(90deg,transparent,transparent 79px,#dce7ed 80px)}.four-track span{position:absolute;top:9px;padding-left:5px;font-size:11px;white-space:nowrap}.four-bar{position:absolute;top:11px;height:12px;border-radius:4px;background:#7791a6}.four-task.active .four-bar{background:#009a88}.four-task.future .four-bar{background:#e4edf6;border:1px solid #839bb2}.four-task.existing .four-bar{background:#b8c4ca}.four-playhead{position:absolute;width:2px;inset-block:0;background:#008e80;z-index:1;pointer-events:none}.four-error{color:#a22b28;background:#fff4f1;padding:12px;border-radius:6px}.four-empty{padding:8px 12px}@media(max-width:650px){.four-head{align-items:start}.four-legend{right:12px}.four-gantt{padding:8px}.four-controls{font-size:12px}}.four-controls select{width:auto;min-width:132px}.four-gantt-head{justify-content:flex-start}.four-gantt-head h2{margin-right:14px}.four-table-scroll{position:relative}.four-task>span:nth-child(3),.four-task>span:nth-child(4){white-space:nowrap;font-size:11px}.four-model-toolbar{padding:14px 16px}.four-model-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.four-model-toolbar .four-upload-button{display:inline-flex;align-items:center;gap:10px;margin:0;position:relative;padding:9px 13px;background:#087e71;color:#fff;border-radius:7px;font-weight:700;cursor:pointer;overflow:hidden}.four-upload-button span{font-weight:400;color:#d8fffa}.four-upload-button input{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}.four-upload-button:focus-within{outline:2px solid #008a80;outline-offset:3px}.four-model-toolbar ul{display:flex;gap:8px;flex-wrap:wrap;list-style:none;margin:12px 0 0;padding:0}.four-model-toolbar li{padding:6px 9px;border-radius:5px;background:#eef5f8;color:#234658;font-size:12px;overflow-wrap:anywhere}.four-model-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(248px,28%);gap:12px;align-items:start}.four-model-layout .four-viewer{height:clamp(380px,67vh,780px);background:#aabcca}.four-properties{max-height:clamp(380px,67vh,780px);overflow:auto;background:#fff;border:1px solid #d8e2eb;border-radius:9px;color:#183649}.four-properties header{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;padding:13px 15px;border-bottom:1px solid #e0e9ee}.four-properties h2{font-size:16px;margin:0}.four-properties p{padding:0 15px;color:#526e80}.four-element-title{padding:13px 15px;background:#eef8f6;display:grid;gap:6px;overflow-wrap:anywhere}.four-element-title span{color:#09796c;font-size:12px}.four-element-title small{color:#526e80}.four-properties dl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);margin:0;font-size:12px}.four-properties dt,.four-properties dd{padding:8px 10px;border-bottom:1px solid #e5edf2;margin:0;overflow-wrap:anywhere}.four-properties dt{font-weight:650;color:#426278}@media(max-width:760px){.four-model-layout{grid-template-columns:1fr}.four-properties{max-height:350px}.four-model-layout .four-viewer{height:52vh;min-height:270px}}.four-federated-page{max-width:none;min-height:100dvh;display:flex;flex-direction:column;gap:12px}.four-federated-page .four-head{flex:none}.four-federated-page .four-head h1{margin-bottom:2px}.four-federated-page .four-model-toolbar{flex:none;margin-bottom:0}.four-federated-page [hidden]{display:none!important}.four-federated-page .four-model-layout{position:relative;display:flex;flex:1;min-height:clamp(300px,55vh,550px);border:1px solid #9db0bf;border-radius:10px;background:#aabcca;isolation:isolate}.four-federated-page .four-model-layout .four-viewer{position:absolute;inset:0;height:auto;min-height:0;margin:0;border-radius:9px}.four-federated-page .four-canvas{position:absolute;inset:0;width:auto;height:auto}.four-properties-toggle{position:absolute;top:54px;right:12px;z-index:2}.four-federated-page .four-properties{position:absolute;z-index:3;top:94px;right:12px;bottom:12px;width:min(335px,calc(100% - 24px));height:max-content;max-height:calc(100% - 106px);border-color:#a5b8c5;box-shadow:0 4px 18px #15334426}.four-simulation-page{max-width:none;min-height:100dvh;display:flex;flex-direction:column;gap:12px}.four-simulation-page .four-head h1{margin-bottom:2px}.four-simulation-page .four-inputs{margin-bottom:0}.four-simulation-page [hidden]{display:none!important}.four-schedule-files .four-upload{margin-top:0}.four-simulation-layout{display:grid;grid-template-columns:minmax(0,2.35fr) minmax(280px,1fr);gap:12px;min-height:clamp(450px,57dvh,640px)}.four-simulation-layout.four-simulation-empty{grid-template-columns:minmax(0,1fr)}.four-simulation-view{position:relative;min-width:0;border:1px solid #9db0bf;border-radius:10px;background:#aabcca}.four-simulation-view .four-viewer{position:absolute;inset:0;height:auto;margin:0}.four-simulation-view .four-canvas{position:absolute;inset:0;width:auto;height:auto}.four-simulation-view{min-height:0}.four-planned{padding:20px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}.four-planned .four-total{font-size:clamp(36px,4vw,58px);line-height:1;color:#008477;font-variant-numeric:tabular-nums}.four-planned>span,.four-playback-dates{font-size:12px;color:#4a6677}.four-planned time{font-size:15px;font-weight:700;text-transform:capitalize;border-top:1px solid #dce7ee;padding-top:12px;margin-top:4px;width:100%}.four-planned .four-seek{margin:8px 0 0}.four-playback-dates{display:flex;justify-content:space-between;width:100%;gap:8px}.four-simulation-sidebar{display:grid;grid-template-rows:auto 1fr;gap:12px;min-width:0}.four-schedule-layout .four-gantt{min-width:0;margin:0}.four-schedule-layout .four-gantt-head{margin-bottom:12px}.four-schedule-layout .four-table-scroll{max-height:clamp(235px,30dvh,350px);overflow-y:scroll;scrollbar-gutter:stable;overscroll-behavior:contain}.four-schedule-layout .four-table{min-width:calc(420px + var(--track-width))}.four-schedule-layout .four-row{grid-template-columns:78px 156px 88px 98px minmax(var(--track-width),1fr)}.four-schedule-layout .four-columns>span{font-size:11px}.four-schedule-layout .four-columns .four-track{min-height:46px}.four-schedule-layout .four-columns .four-track span{top:26px}.four-year{position:absolute;top:4px;padding-left:5px;color:#233f50;font-size:11px;z-index:2;background:#f4f7fa}.four-schedule-layout .four-task>span:nth-child(4){font-weight:700;font-variant-numeric:tabular-nums}.four-curve{min-width:0;padding:16px}.four-curve p,.four-curve small{color:#4a6677;font-size:12px}.four-curve svg{display:block;width:100%;height:auto;max-height:205px}.four-curve svg text{font:10px Arial,sans-serif;fill:#486475}@media(max-width:760px),(min-width:1001px)and (max-width:1120px){.four-simulation-layout{grid-template-columns:minmax(0,1fr);min-height:0}.four-simulation-view{min-height:clamp(300px,50dvh,560px)}.four-planned{padding:14px}}.four-planned time{text-transform:none}.four-planned time:first-letter{text-transform:uppercase}.four-schedule-layout .four-row>span:nth-child(-n+4){position:sticky;background:#fff;z-index:1;overflow-wrap:anywhere}.four-schedule-layout .four-row>span:first-child{left:0}.four-schedule-layout .four-row>span:nth-child(2){left:78px}.four-schedule-layout .four-columns>span:nth-child(-n+4){background:#f4f7fa}.four-schedule-layout .four-task.active>span:nth-child(-n+4){background:#ecfaf7}.four-schedule-layout .four-task.is-selected,.four-schedule-layout .four-task.is-selected>span:nth-child(-n+4){background:#e0f5f0}.four-schedule-layout .four-row>span:nth-child(3){left:234px}.four-schedule-layout .four-row>span:nth-child(4){left:322px}@media(max-width:720px){.four-schedule-layout .four-row>span:nth-child(-n+4){position:static}}.four-task{cursor:pointer}.four-row>span.four-activity{gap:2px;padding-right:5px}.four-task .four-summary-toggle,.four-summary-spacer{flex:0 0 22px}.four-task .four-summary-toggle{display:grid;place-items:center;align-self:flex-start;height:22px;padding:0;border-color:transparent;background:transparent;color:#007e70;font-size:17px}.four-task .four-summary-toggle:hover{background:#def3ef;border-color:#cbd9e3}.four-task .four-activity-name{min-width:0;padding:3px 0;border:0;background:transparent;text-align:left;line-height:inherit;overflow-wrap:anywhere}:root{font-family:Arial,Helvetica,sans-serif;color:#253449;background:#f5f7fa;font-synthesis:none;font-size:14px;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}input::file-selector-button{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:9px}button:disabled{opacity:.5;cursor:default}a{color:inherit;text-decoration:none}button,a{transition:background .15s,color .15s}button svg{flex-shrink:0}h1,h2,p{margin:0}.app-shell{display:flex;min-height:100vh}.sidebar{width:232px;background:#102333;color:#b8c6d2;position:fixed;inset:0 auto 0 0;padding:31px 20px;display:flex;flex-direction:column}.logo{color:#fff;display:flex;align-items:center;gap:12px;font-size:24px;font-weight:800;letter-spacing:1.5px;padding:0 9px}.logo small{display:block;letter-spacing:2.2px;font-size:11px;font-weight:500;margin-top:3px;color:#9ab2c4}.logo-symbol{display:grid;place-items:center;background:#1bc6aa;color:#102333;width:38px;height:42px;border-radius:9px;font-size:30px;font-weight:800;letter-spacing:-3px;padding-right:3px}.workspace-label{font-size:11px;letter-spacing:1.6px;font-weight:700;color:#718b9f;margin:40px 10px 16px}.workspace{display:flex;gap:10px;align-items:center;margin:0 9px;font-size:13px;color:#eef5fa}.workspace small{display:block;color:#819bad;margin-top:4px;font-size:12px}.workspace-avatar{padding:10px 7px;background:#263f51;border-radius:8px;font-size:13px;font-weight:700}nav{display:grid;gap:8px}nav a,nav button{display:flex;align-items:center;justify-content:flex-start;gap:12px;border:0;background:none;border-radius:7px;color:#9fb3c3;font-size:14px;padding:13px 14px;text-align:left}nav a:hover,nav button:hover{background:#1b3346;color:#fff}nav .nav-active{background:#173d43;color:#62dbc6;font-weight:700}nav a span{margin-left:auto;font-size:12px;color:#52bba9;background:#1d514f;padding:3px 6px;border-radius:4px}.sidebar-bottom{margin-top:auto;font-size:13px;padding:24px 10px 0;border-top:1px solid #283b4b;color:#b7c7d2}.local-dot{display:inline-block;width:6px;height:6px;background:#48d7ab;border-radius:50%;margin-right:6px}.sidebar-bottom p{font-size:12px;color:#718c9f;margin-top:12px}.sidebar-bottom small{font-size:12px;color:#718c9f}.main-area{margin-left:232px;width:calc(100% - 232px)}.topbar{height:72px;border-bottom:1px solid #e5eaf0;background:#fff;padding:0 38px;display:flex;align-items:center;justify-content:space-between;font-size:13px;color:#718095}.topbar span{margin:0 12px;color:#a6b2bf}.topbar-right{display:flex;align-items:center;gap:18px}.topbar-right .local-tag{font-size:11px;font-weight:700;color:#588075;background:#eff7f4;letter-spacing:1px;padding:5px 8px;border-radius:4px;margin:0}.topbar-right .avatar{background:#edf0f5;color:#576a80;display:grid;place-items:center;height:33px;width:33px;border-radius:50%;font-size:13px;margin:0}main{max-width:1600px;margin:auto;padding:35px 38px 22px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.eyebrow{font-size:11px;letter-spacing:1.8px;color:#799098;font-weight:700;margin-bottom:8px}h1{font-size:32px;line-height:1.2;letter-spacing:-.7px;font-weight:700;color:#1b2c3e}.page-heading p:not(.eyebrow){font-size:14px;color:#667b90;margin-top:9px}.button{border-radius:7px;padding:11px 16px;border:1px solid transparent;font-size:14px;font-weight:600}.primary{background:#087f73;color:#fff;box-shadow:0 3px 6px #087f7314}.primary:hover{background:#066b61}.secondary{background:#fff;border-color:#d8e1e8;color:#56677a}.source-banner{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid #dce9ed;background:#eff7f8;border-radius:8px;padding:15px 18px;margin-bottom:22px}.source-banner>div{display:flex;align-items:center;gap:13px}.source-dot{width:8px;height:8px;border-radius:50%;background:#168c8a;flex-shrink:0}.source-banner strong{font-size:13px;color:#276364}.source-banner p{font-size:12px;color:#64888d;margin-top:5px}.source-banner button{border:0;background:none;color:#2b7676;font-size:13px;white-space:nowrap}.filter-panel{display:flex;align-items:flex-end;gap:13px;padding:18px;background:#fff;border:1px solid #e5eaf0;border-radius:9px;margin-bottom:22px}.filter-panel label{flex:1;min-width:0;font-size:12px;font-weight:700;color:#526579}select{display:block;width:100%;margin-top:7px;border:1px solid #e3e8ee;background:#fff;border-radius:5px;padding:9px;color:#536174;font-size:13px;height:40px}.icon-button{height:40px;min-width:40px;border-radius:6px;border:1px solid #e4eaf0;background:#fff;color:#77899b}.text-button{border:0;background:none;font-size:13px;color:#087f73;padding:9px}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.metric-card{background:#fff;border:1px solid #e5eaf0;border-radius:9px;padding:18px 20px}.metric-top{display:flex;align-items:center;justify-content:space-between;color:#526579;font-size:13px;font-weight:700;gap:10px}.metric-icon{width:33px;height:33px;border-radius:8px;display:grid;place-items:center}.metric-icon.neutral{background:#f0f3f7;color:#60758a}.metric-icon.teal{background:#e6f5f0;color:#149884}.metric-icon.blue{background:#eef3fd;color:#6286cf}.metric-icon.orange{background:#fff3e8;color:#d39350}.metric-value{display:block;font-size:38px;line-height:1.15;font-variant-numeric:tabular-nums;letter-spacing:-1px;margin:9px 0 7px;color:#233447;font-weight:700}.metric-card p{font-size:11px;color:#718296;line-height:1.5}.metric-footnote{font-size:12px;color:#8593a3;margin:10px 1px 0}.overview-grid{display:grid;grid-template-columns:1.9fr 1fr;gap:20px;margin-top:22px}.panel{border:1px solid #e5eaf0;background:#fff;border-radius:9px;overflow:hidden}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 21px 0}h2{font-size:17px;line-height:1.3;font-weight:700;color:#21364b;letter-spacing:-.2px}.panel-heading p{font-size:12px;color:#6b7f93;margin-top:6px;line-height:1.5}.chart-tag{font-size:10px;letter-spacing:1px;background:#f5f7fa;color:#8796a6;padding:6px;border-radius:4px}.legend{display:flex;gap:16px;padding:17px 23px;color:#8593a2;font-size:11px}.legend span{display:flex;align-items:center;gap:6px}.legend i,.completion-caption i{display:inline-block;width:7px;height:7px;border-radius:2px}.teal{background:#26ac9b}.blue{background:#7da1de}.orange{background:#dfae78}.pale{background:#e9f1f2}.month-chart{height:175px;padding:20px 24px 0;display:flex;gap:14px;overflow-x:auto;background:repeating-linear-gradient(to top,transparent 0,transparent 43px,#f3f5f8 43px,#f3f5f8 44px);margin:0 20px}.month-group{flex:1;min-width:35px;display:flex;align-items:center;flex-direction:column;justify-content:flex-end}.month-bars{height:132px;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:6px}.month-bars>div{width:22px;max-width:40%;min-height:1px;border-radius:4px 4px 0 0;position:relative}.month-bars span{position:absolute;top:-17px;font-size:11px;color:#738296;width:100%;text-align:center}.month-group small{font-size:11px;color:#8f9cab;white-space:nowrap;margin-top:13px}.chart-note{font-size:11px;color:#718296;padding:17px 22px;line-height:1.6}.completion .panel-heading{padding-bottom:14px}.donut{width:150px;height:150px;margin:10px auto 18px;border-radius:50%;background:conic-gradient(#26ac9b var(--progress),#edf3f4 0);display:grid;place-items:center;transform:rotate(-90deg)}.donut>div{width:125px;height:125px;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(90deg)}.donut strong{font-size:32px;letter-spacing:-1px}.donut strong small{font-size:16px;margin-left:2px;color:#97a6b4}.donut span{font-size:11px;color:#95a1af;margin-top:4px}.completion-caption{display:flex;justify-content:center;gap:20px;font-size:11px;color:#8e9ba9;padding:4px 12px 20px}.completion-caption strong{color:#42576c;margin-left:5px}.distribution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px}.mini-icon{color:#a3b3bf;background:#f6f8fa;padding:6px;border-radius:5px;display:flex}.bars{padding:22px}.bar-row{margin-bottom:17px}.bar-row:last-child{margin-bottom:0}.bar-row>div:first-child{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:#62758a;margin-bottom:8px}.bar-row strong{color:#53677a;font-size:13px}.bar-track{height:5px;background:#f1f5f8;border-radius:4px;overflow:hidden}.bar-track i{display:block;height:100%;border-radius:4px}.bars>small{font-size:11px;color:#97a4b0}.chart-empty{padding:50px 25px;text-align:center;color:#9ca8b3;font-size:13px}.issues-panel{margin-top:22px;scroll-margin-top:20px}.issues-panel .panel-heading{align-items:center;padding-bottom:20px}.count-badge{background:#eef3f5;color:#78919b;font-size:12px;padding:3px 7px;border-radius:4px;margin-left:6px}.search{display:flex;gap:8px;align-items:center;border:1px solid #e4eaf0;border-radius:6px;padding:9px 10px;color:#9aa7b5}.search input{border:0;width:205px;font-size:12px;outline:none;color:#52677a}.search input::placeholder{color:#94a1af}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left;white-space:nowrap}th{font-size:11px;color:#5d7084;font-weight:700;letter-spacing:.5px;background:#fafbfd;border-top:1px solid #f0f2f5;border-bottom:1px solid #edf1f4;padding:13px 17px}th:first-child,td:first-child{padding-left:22px}td{padding:16px 17px;border-bottom:1px solid #f0f3f6;color:#62758a}.issue-id{font-size:11px;color:#1e9c8d;display:block;margin-bottom:5px}.issue-title{font-size:13px;color:#344e66;display:block;max-width:260px;white-space:normal;line-height:1.5;font-weight:700}.status-badge{font-size:11px;padding:5px 8px;border-radius:5px;display:inline-block;background:#f1f3f6;color:#8291a1}.status-badge.open,.status-badge.pending{color:#a77933;background:#fff7e9}.status-badge.in_progress,.status-badge.in_review{background:#edf3ff;color:#6287c4}.status-badge.closed{background:#e9f6f0;color:#2e9a78}.overdue{color:#c07a55}.overdue small{display:block;margin-top:4px;font-size:10px}.history-button{font-size:12px;border:0;background:#f2f7f8;color:#42978c;border-radius:5px;padding:6px 8px}.muted{color:#a4b0bc;font-size:11px}.table-footer{padding:15px 21px;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#96a3b2}.table-footer>div{display:flex;align-items:center;gap:12px}.table-footer button{font-size:11px;background:#fff;border:1px solid #e4eaf0;padding:6px 9px;border-radius:5px;color:#7a8c9d}.page-footer{display:flex;justify-content:space-between;gap:16px;padding-top:23px;font-size:11px;color:#96a4b2}.loading{text-align:center;padding:90px;color:#8296a2}.error-message{background:#fff0ed;border:1px solid #f3d6d0;color:#ac584b;font-size:14px;border-radius:7px;padding:16px;line-height:1.6}.notice{display:flex;align-items:center;gap:10px;font-size:14px;background:#eaf6ee;color:#418467;padding:15px;border-radius:7px;margin-bottom:15px}.empty-state{text-align:center;background:#fff;padding:35px;border:1px dashed #d1e3e0;border-radius:9px;margin-top:22px}.empty-icon{display:inline-flex;padding:15px;background:#eff8f5;color:#3e9b8b;border-radius:50%;margin-bottom:14px}.empty-state h2{font-size:18px}.empty-state p{font-size:14px;color:#8998a7;margin:10px 0 20px}.no-results{text-align:center;padding:40px;color:#9aabb8}.modal{border:1px solid #e2e9ef;border-radius:14px;padding:28px;max-width:570px;width:calc(100% - 32px);max-height:90vh;color:#485e70;box-shadow:0 20px 90px #10233330}.modal::backdrop{background:#10233399;backdrop-filter:blur(3px)}.modal-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.modal h2{font-size:24px}.modal form>p,.modal>p{font-size:14px;line-height:1.7;margin-bottom:18px}.modal form>label{display:block;font-size:14px;font-weight:600}.modal input:not([type=file]){display:block;width:100%;border:1px solid #dae3ea;border-radius:7px;padding:12px;margin-top:8px;color:#435b6e}.field-hint{font-size:12px!important;color:#718296;margin-top:8px;line-height:1.6}.modal form>p.field-hint{margin-bottom:20px}.modal .file-drop{display:flex;flex-direction:column;align-items:center;gap:10px;padding:22px;border:1px dashed #9dc9c1;border-radius:9px;background:#f5faf9;color:#43897f;margin-bottom:20px}.file-drop span{font-size:12px;color:#92a8a3}.file-drop input{max-width:100%;font-size:13px;font-weight:400}.file-drop input::file-selector-button{border:0;background:#e2efec;color:#347e73;padding:8px;border-radius:5px;cursor:pointer;margin-right:10px}.import-help{background:#f7f9fb;border-radius:7px;padding:16px;font-size:13px;line-height:1.7;color:#8595a4}.import-help strong{color:#5e7385}.import-help p{margin-top:7px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.revision{border:1px solid #e1e8ed;border-radius:8px;padding:16px;margin-top:15px}.revision>div{display:flex;justify-content:space-between;gap:15px;align-items:center}.revision small{font-size:12px;color:#9ba7b1}.revision p{margin:12px 0;font-size:14px}.revision dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:0}.revision dt{font-size:11px;color:#a0adb5}.revision dd{font-size:13px;margin:3px 0 0;color:#657d8b}.panel,.metric-card,.filter-panel{box-shadow:0 2px 12px #233f5603}.metric-card{border-radius:12px;border-top:3px solid #dce6ed;padding-top:17px}.metric-card:nth-child(2){border-top-color:#e8ad61}.metric-card:nth-child(3){border-top-color:#26ac9b}.metric-card:nth-child(4){border-top-color:#de9576}.metric-value{margin:14px 0 9px}.metric-card p{min-height:2.8em}.distribution-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.distribution-expand{padding:4px 0;margin-top:12px;font-size:12px}.overview-grid{grid-template-columns:minmax(0,1.9fr) minmax(0,1fr)}.overview-grid>.panel{min-width:0}.distribution-grid>.panel{min-width:0}.detail-selection{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f0f8f6;border-top:1px solid #dcedea;border-bottom:1px solid #dcedea;padding:12px 22px;color:#4c7c75;font-size:12px}.detail-selection>span{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.detail-selection strong{color:#24796a}.detail-selection-count{color:#789a92;font-size:11px;margin-left:5px}.detail-selection button{border:1px solid #cce0da;border-radius:5px;background:#fff;color:#408576;padding:5px 8px;font-size:11px;white-space:nowrap}.issues-panel .table-scroll{scrollbar-width:thin}.issues-panel tbody tr:hover{background:#fafcfd}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}@media(min-width:1600px){main{padding-top:40px}.metric-card{padding:22px}.metric-value{font-size:42px}.month-chart{height:190px}.month-bars{height:145px}}@media(max-width:1200px){.sidebar{width:195px;padding:26px 14px}.logo{font-size:21px}.main-area{margin-left:195px;width:calc(100% - 195px)}main{padding:28px 24px}.topbar{padding:0 24px}.page-heading{align-items:flex-start}h1{font-size:28px}.metrics-grid{gap:12px}.metric-card{padding:15px}.metric-top{font-size:12px}.metric-card p{font-size:10px}.filter-panel{gap:9px}.distribution-grid{gap:14px}.panel-heading{padding:17px 16px 0}.panel-heading p{font-size:11px}.bars{padding:20px 16px}.completion-caption{gap:12px}}@media(max-width:900px){.sidebar{width:72px;align-items:center;padding:24px 8px}.logo{padding:0}.logo>span:last-child,.workspace-label,.workspace,nav a span,.sidebar-bottom{display:none}nav{margin-top:45px;width:100%}nav a,nav button{font-size:0;gap:0;justify-content:center;padding:14px 10px}nav svg{width:20px;height:20px}.main-area{margin-left:72px;width:calc(100% - 72px)}.filter-panel{flex-wrap:wrap}.filter-panel label{flex:1 1 26%}.distribution-grid{grid-template-columns:1fr 1fr}.distribution-grid>.panel:last-child{grid-column:1/-1}.overview-grid{grid-template-columns:1.6fr 1fr;gap:14px}.source-banner p{line-height:1.7}.completion-caption{flex-direction:column;align-items:center;gap:8px}.metrics-grid{grid-template-columns:repeat(2,1fr)}.metric-top{font-size:14px}.metric-card p{font-size:12px}}@media(max-width:600px){main{padding:22px 14px}.topbar{height:58px;padding:0 14px;font-size:11px}.topbar-right{gap:8px}.page-heading{flex-direction:column;gap:16px}h1{font-size:26px}.page-heading p:not(.eyebrow){font-size:13px;line-height:1.6}.source-banner{align-items:flex-start;flex-direction:column;padding:14px;gap:12px}.source-banner button{margin-left:17px}.filter-panel{padding:12px}.filter-panel label{flex-basis:40%}.metric-card{padding:13px}.metric-top{font-size:12px}.metric-icon{width:26px;height:26px}.metric-value{font-size:32px}.metric-card p{font-size:10px}.overview-grid,.distribution-grid{grid-template-columns:1fr}.distribution-grid>.panel:last-child{grid-column:auto}.completion-caption{flex-direction:row;margin-bottom:4px}.issues-panel .panel-heading{align-items:flex-start;flex-direction:column}.search,.search input{width:100%}.page-footer{flex-direction:column;font-size:10px}.table-footer{gap:12px;align-items:flex-start;flex-direction:column}.modal{padding:22px}.revision>div{align-items:flex-start;flex-direction:column;gap:6px}}
