/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.inline{display:inline}.table{display:table}.border{border-style:var(--tw-border-style);border-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}.file-action,.row-actions button{color:#2e69b8;background:#f4f8fd;border:1px solid #d8e3f0;border-radius:5px;padding:5px 8px;font-size:8px}.workflow-actions{grid-template-columns:repeat(4,1fr);gap:7px;margin-top:13px;display:grid}.workflow-actions button{color:#526175;background:#f8fafc;border:1px solid #d9e1ea;border-radius:6px;min-height:34px;font-size:9px}.workflow-actions .approve{color:#117d55;background:#eaf8f1;border-color:#bfe8d4}.workflow-actions .reject{color:#c23e3e;background:#fff0f0;border-color:#f3c7c7}.files-modal{width:min(680px,100%)}.upload-form{gap:8px;margin-bottom:14px;display:flex}.upload-form input{border:1px solid #dce2ea;border-radius:7px;flex:1;padding:8px;font-size:9px}.upload-form button{color:#fff;background:#1769df;border:0;border-radius:7px;padding:0 14px;font-size:9px}.file-list{max-height:360px;overflow:auto}.file-list>div{border-bottom:1px solid #edf0f4;align-items:center;gap:10px;padding:10px 0;display:flex}.file-type{color:#286fcf;background:#e9f2ff;border-radius:8px;place-items:center;width:39px;height:39px;font-size:7px;font-weight:800;display:grid}.file-list>div>div{flex:1;min-width:0}.file-list strong,.file-list small{display:block}.file-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.file-list small{color:#8e9aab;margin-top:4px;font-size:8px}.file-list a,.file-list button{color:#2870ce;background:0 0;border:0;font-size:8px;text-decoration:none}.file-list button{color:#c53d3d}.upload-note{color:#8c98a9;margin-top:12px;font-size:8px;display:block}@media (width<=560px){.workflow-actions{grid-template-columns:1fr 1fr}.upload-form{flex-direction:column}.upload-form button{min-height:38px}.file-list>div{flex-wrap:wrap}.file-list>div>div{flex-basis:calc(100% - 55px)}}.success-toast{z-index:80;color:#174c39;background:#f0fbf6;border:1px solid #bfe8d4;border-radius:11px;align-items:center;gap:12px;min-width:300px;padding:14px 16px;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 18px 45px #0b1d1533}.success-toast>span{color:#fff;background:#169463;border-radius:50%;place-items:center;width:32px;height:32px;font-weight:800;display:grid}.success-toast strong,.success-toast small{display:block}.success-toast strong{font-size:10px}.success-toast small{color:#4f7867;margin-top:4px;font-size:9px}@media (width<=560px){.success-toast{min-width:0;bottom:14px;left:14px;right:14px}}.construction-form{max-height:90vh;overflow:auto}.form-section-title{color:#1769df;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid #e5ebf3;margin:16px 0 9px;padding-bottom:6px;font-size:9px;font-weight:800}.construction-form .login-submit{margin-top:16px;position:sticky;bottom:0;box-shadow:0 -10px 24px #fff}.progress-automation{margin-bottom:18px;padding:18px}.automation-head{justify-content:space-between;align-items:center;gap:18px;display:flex}.automation-head span{color:#1769df;letter-spacing:.12em;font-size:7px;font-weight:900}.automation-head h3{margin:4px 0;font-size:14px}.automation-head p{color:#7d8999;margin:0;font-size:9px}.automation-head form{align-items:center;gap:7px;display:flex}.automation-head input{border:1px dashed #b9cae0;border-radius:7px;max-width:210px;padding:8px;font-size:8px}.automation-head button{color:#fff;background:#1769df;border:0;border-radius:7px;padding:9px 13px;font-size:8px;font-weight:700}.import-message{color:#246148;background:#ebf8f1;border-radius:7px;margin-top:12px;padding:9px 11px;font-size:8px}.progress-tabs{gap:6px;margin:15px 0 8px;display:flex;overflow:auto}.progress-tabs button{white-space:nowrap;color:#66768a;background:#fff;border:1px solid #dfe6ee;border-radius:18px;padding:7px 10px;font-size:8px}.progress-tabs button.active{color:#fff;background:#1769df;border-color:#1769df}.s-curve-card{padding-top:4px}.curve-kpis{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:6px;display:grid}.curve-kpis>div{background:#f9fbfd;border:1px solid #e4eaf1;border-radius:8px;padding:10px 12px}.curve-kpis small,.curve-kpis strong{display:block}.curve-kpis small{color:#8996a7;font-size:7px}.curve-kpis strong{margin-top:3px;font-size:14px}.curve-kpis .positive{color:#159064}.curve-kpis .negative{color:#d94b4b}.s-curve-card svg{width:100%;max-height:255px}.grid-lines line{stroke:#e6ebf2;stroke-width:1px}.plan-line,.actual-line{fill:none;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.plan-line{stroke:#ef5555}.actual-line{stroke:#1b75e8}.curve-legend{align-items:center;gap:16px;font-size:8px;display:flex}.curve-legend span:before{content:"";vertical-align:middle;width:18px;height:3px;margin-right:5px;display:inline-block}.curve-legend .plan:before{background:#ef5555}.curve-legend .actual:before{background:#1b75e8}.curve-legend small{color:#8491a2;margin-left:auto}.three-week-list{border:1px solid #e5eaf0;border-radius:9px;margin-top:12px;overflow:hidden}.three-week-title,.three-week-list>div:not(.three-week-title){border-bottom:1px solid #edf1f5;grid-template-columns:minmax(220px,2fr) 1.2fr 1fr 1fr .6fr;align-items:center;gap:9px;padding:9px 12px;font-size:8px;display:grid}.three-week-title{background:#f5f8fc;justify-content:space-between;display:flex}.three-week-list strong,.three-week-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.three-week-list small{color:#7d8999}.three-week-list em{color:#13865b;font-style:normal;font-weight:700}.excel-empty{color:#8491a2;text-align:center;border:1px dashed #cbd7e6;border-radius:8px;margin-top:14px;padding:25px;font-size:9px}@media (width<=720px){.automation-head,.automation-head form{flex-direction:column;align-items:stretch}.automation-head input{max-width:none}.curve-kpis{grid-template-columns:1fr}.three-week-list>div:not(.three-week-title){grid-template-columns:1fr 1fr}.three-week-list strong{grid-column:1/-1}}.import-message{align-items:center;gap:8px;display:flex}.import-message.error{color:#a63636;background:#fff0f0}.import-spinner{border:2px solid #b7dfce;border-top-color:#16845d;border-radius:50%;width:13px;height:13px;animation:.8s linear infinite import-spin}@keyframes import-spin{to{transform:rotate(360deg)}}.curve-report-head{color:#fff;background:linear-gradient(120deg,#0f2542,#173e70);border-radius:9px;justify-content:space-between;align-items:flex-start;margin:14px 0;padding:14px 16px;display:flex}.curve-report-head small{letter-spacing:.12em;color:#9ec5fa;font-size:7px}.curve-report-head h3{margin:5px 0 3px;font-size:16px}.curve-report-head p{color:#bdd0e8;margin:0;font-size:8px}.curve-report-head>div:last-child{text-align:right}.curve-report-head b,.curve-report-head strong{display:block}.curve-report-head b{color:#9ec5fa;font-size:7px}.curve-report-head strong{margin-top:4px;font-size:13px}.curve-kpis{grid-template-columns:repeat(4,1fr)}.curve-chart{overflow:auto}.s-curve-card svg{min-width:680px}.grid-lines text{fill:#8290a2;font-size:8px}.status-line line{stroke:#f59e0b;stroke-width:1.5px;stroke-dasharray:5 4}.status-line text{fill:#b77808;font-size:7px;font-weight:800}.plan-dot{fill:#fff;stroke:#ef5555;stroke-width:1.5px}.actual-dot{fill:#fff;stroke:#1b75e8;stroke-width:2px}.actual-label{fill:#195fae;text-anchor:middle;font-size:6px;font-weight:700}.date-label{fill:#7d8998;font-size:6px}.weekly-analysis{border:1px solid #dfe6ee;border-radius:10px;margin-top:18px;overflow:hidden}.weekly-analysis-head{background:#f7f9fc;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.weekly-analysis-head h4{margin:0;font-size:11px}.weekly-analysis-head p{color:#8290a2;margin:3px 0 0;font-size:7px}.weekly-analysis-head>span,.week-status{border-radius:12px;padding:5px 8px;font-size:7px;font-weight:800;display:inline-block}.weekly-analysis-head .ahead,.week-status.ahead{color:#107149;background:#dcf5e9}.weekly-analysis-head .delay,.week-status.delay{color:#ad3434;background:#ffe4e4}.week-status.waiting{color:#6c7888;background:#edf1f5}.weekly-table-wrap{max-height:390px;overflow:auto}.weekly-analysis table{border-collapse:collapse;width:100%;font-size:7.5px}.weekly-analysis th{z-index:1;color:#536173;white-space:nowrap;background:#edf2f7;padding:8px 7px;position:sticky;top:0}.weekly-analysis td{text-align:center;white-space:nowrap;border-bottom:1px solid #edf1f4;padding:8px 7px}.weekly-analysis tr.future{color:#9aa5b3;background:#fbfcfd}.weekly-analysis .positive{color:#13865b;font-weight:800}.weekly-analysis .negative{color:#cf4242;font-weight:800}@media (width<=720px){.curve-report-head{flex-direction:column;gap:12px}.curve-report-head>div:last-child{text-align:left}.curve-kpis{grid-template-columns:1fr 1fr}}.forecast-panel{background:#f8fbff;border:1px solid #dbe5f0;border-radius:10px;margin-top:17px;padding:14px}.forecast-title{justify-content:space-between;align-items:flex-end;margin-bottom:10px;display:flex}.forecast-title small{color:#1769df;letter-spacing:.1em;font-size:7px;font-weight:900}.forecast-title h4{margin:3px 0 0;font-size:12px}.forecast-title>span{color:#7c8b9f;font-size:7px}.forecast-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.forecast-grid article{background:#fff;border:1px solid #e0e7ef;border-radius:8px;padding:11px}.forecast-grid small,.forecast-grid strong,.forecast-grid p{display:block}.forecast-grid small{color:#8592a3;font-size:7px}.forecast-grid strong{margin-top:5px;font-size:12px}.forecast-grid p{color:#7d8998;margin:4px 0 0;font-size:7px}.forecast-grid .positive{color:#11845a}.forecast-grid .negative{color:#ce4141}.forecast-note{color:#7b8797;margin:9px 0 0;font-size:7px}@media (width<=720px){.forecast-title{flex-direction:column;align-items:flex-start;gap:8px}.forecast-grid{grid-template-columns:1fr 1fr}}@media (width<=440px){.forecast-grid{grid-template-columns:1fr}}.progress-main-actions{align-items:center;gap:8px;display:flex}.progress-main-actions form{align-items:center;gap:7px;display:flex}.edit-progress-button{color:#1464cf!important;background:#eef5ff!important;border:1px solid #1464cf!important;padding:9px 13px!important}.progress-update-modal{width:min(700px,100%);max-height:92vh;overflow:auto}.update-summary{background:#f3f6fa;border-radius:7px;justify-content:space-between;gap:10px;margin:10px 0;padding:9px 11px;font-size:8px;display:flex}.update-summary span{color:#7c8999}.update-calculation{background:#f8fbff;border:1px solid #dce6f2;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;margin:13px 0;padding:11px;font-size:9px;display:flex}.update-calculation .positive{color:#10835a}.update-calculation .negative{color:#cb4141}@media (width<=800px){.progress-main-actions,.progress-main-actions form{flex-direction:column;align-items:stretch}}.curve-chart{position:relative}.grid-lines text{fill:#526984;font-size:12px;font-weight:700}.actual-label{fill:#0759bd;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round;font-size:11px;font-weight:900}.status-line text{font-size:11px;font-weight:900}.curve-hit{fill:#0000;cursor:crosshair;pointer-events:all}.plan-dot,.actual-dot{transition:r .12s,filter .12s}.plan-dot.hovered,.actual-dot.hovered{filter:drop-shadow(0 2px 4px #0b4e9d88)}.curve-tooltip{z-index:8;pointer-events:none;background:#fff;border:1px solid #bad0e8;border-radius:11px;width:290px;padding:14px;position:absolute;transform:translate(-50%,-106%);box-shadow:0 14px 34px #0b1f3a33}.curve-tooltip-head{border-bottom:1px solid #e7edf4;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:9px;display:flex}.curve-tooltip-head strong{font-size:12px}.curve-tooltip-head span{color:#66778c;white-space:nowrap;font-size:10px}.curve-tooltip-metrics{grid-template-columns:1fr 1fr;gap:7px;margin-top:10px;display:grid}.curve-tooltip-metrics span{color:#708096;background:#f4f7fa;border-radius:7px;padding:8px;font-size:9px}.curve-tooltip-metrics b{color:#18324f;margin-top:4px;font-size:13px;display:block}.tooltip-work{border-top:1px solid #e7edf4;margin-top:10px;padding-top:9px}.tooltip-work>strong{color:#18324f;margin-bottom:6px;font-size:10px;display:block}.tooltip-work p{color:#526174;justify-content:space-between;align-items:flex-start;gap:10px;margin:5px 0;font-size:9px;line-height:1.35;display:flex}.tooltip-work p b{color:#1769df;flex:none;font-size:10px}.tooltip-note,.tooltip-issue{border-radius:6px;margin:8px 0 0;padding:7px 8px;font-size:9px;line-height:1.45}.tooltip-note{color:#235b92;background:#edf6ff}.tooltip-issue{color:#a33b2e;background:#fff0ed}@media (width<=760px){.curve-tooltip{width:240px;padding:11px}.grid-lines text{font-size:11px}.actual-label{font-size:10px}}.curve-chart .curve-tooltip{width:auto;box-shadow:none;pointer-events:none;background:#f8fbff;margin:0 0 12px;padding:12px 14px;position:static;transform:none}.curve-chart .curve-tooltip-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width<=760px){.curve-chart .curve-tooltip{width:auto}.curve-chart .curve-tooltip-metrics{grid-template-columns:1fr 1fr}}.upload-time{color:#1769df;white-space:nowrap;margin-top:5px;font-size:8px;font-weight:700;display:block}.three-week-export{background:linear-gradient(135deg,#f4f9ff,#fff);border:1px solid #bdd4ee;border-radius:10px;justify-content:space-between;align-items:center;gap:18px;margin:16px 18px;padding:15px 17px;display:flex}.three-week-export>div:first-child{flex-direction:column;gap:4px;display:flex}.three-week-export small{color:#1769df;letter-spacing:.8px;font-size:8px;font-weight:900}.three-week-export strong{font-size:13px}.three-week-export span{color:#748399;font-size:9px}.three-week-export>div:last-child,.preview-actions{gap:8px;display:flex}.three-week-export button,.preview-actions button{color:#1d5fae;background:#fff;border:1px solid #bfd3ea;border-radius:7px;min-height:38px;padding:0 14px;font-size:9px;font-weight:800}.three-week-export button.download,.preview-actions button.download{color:#fff;background:#1769df;border-color:#1769df}.three-week-preview{width:min(1180px,96vw)}.preview-meta{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:13px;display:grid}.preview-meta span{color:#768599;background:#f5f8fb;border-radius:7px;padding:10px;font-size:9px}.preview-meta b{color:#18324f;margin-top:4px;font-size:10px;display:block}.three-week-preview .three-week-table-wrap{border:1px solid #e1e8f0;border-radius:8px;max-height:58vh}.three-week-preview td strong,.three-week-preview td small{display:block}.three-week-preview td small{color:#8290a3;margin-top:4px}.preview-actions{justify-content:flex-end;margin-top:14px}@media (width<=760px){.three-week-export{flex-direction:column;align-items:stretch}.three-week-export>div:last-child{grid-template-columns:1fr 1fr;display:grid}.preview-meta{grid-template-columns:1fr}.three-week-preview{width:96vw;padding:18px}}.three-week-export.from-curve{background:linear-gradient(135deg,#eaf4ff,#fff 70%);border-color:#9ec7f5;box-shadow:0 6px 18px #1769df14}.three-week-export.from-curve small{color:#0d5fc6}.three-week-export.from-curve strong{color:#123f76}.master-upload-form{align-items:center;display:flex}.master-upload-form input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.master-upload-form label{color:#fff;cursor:pointer;background:#1769df;border-radius:8px;justify-content:center;align-items:center;min-height:46px;padding:0 20px;font-size:11px;font-weight:900;display:flex;box-shadow:0 5px 14px #1769df33}.master-upload-form label:hover{background:#0f58bf}.master-required{border-width:2px}.master-required>div:first-child strong{font-size:15px}.master-required>div:first-child span{font-size:10px}.three-week-export-controls{grid-template-columns:minmax(220px,1.5fr) auto auto auto;gap:8px;align-items:end!important;display:grid!important}.three-week-export-controls .week-preview-selector{min-width:220px}.three-week-export-controls .week-preview-selector select{height:38px;font-size:10px}.three-week-export button.presentation-download,.preview-actions button.presentation-download{color:#fff;background:#6d45bd;border-color:#6d45bd}@media (width<=1050px){.three-week-export{flex-direction:column;align-items:stretch}.three-week-export-controls{grid-template-columns:1fr 1fr 1fr!important}.three-week-export-controls .week-preview-selector{grid-column:1/-1}}@media (width<=620px){.three-week-export-controls{grid-template-columns:1fr!important}.three-week-export-controls .week-preview-selector{grid-column:auto}}.generic-hidden{display:none}.template-preview-wrap{background:#fff;border:1px solid #26384d;border-radius:7px;max-height:58vh;overflow:auto}.template-preview-table{border-collapse:collapse;min-width:1780px;font-family:Browallia New,Arial,sans-serif}.template-preview-table th,.template-preview-table td{text-align:center;white-space:nowrap;border:1px solid #26384d;height:27px;padding:3px 5px;font-size:13px}.template-preview-table thead th{color:#172235;background:#fff;font-weight:800}.template-preview-table th.last-week{background:#fff000}.template-preview-table th.this-week{color:#fff;background:#1769df}.template-preview-table th.next-week{background:#f25bea}.template-preview-table th:nth-child(2),.template-preview-table td:nth-child(2){z-index:2;text-align:left;background:#fff;min-width:245px;position:sticky;left:42px}.template-preview-table th:first-child,.template-preview-table td:first-child{z-index:3;background:#fff;min-width:42px;position:sticky;left:0}.template-preview-table .section-row td{background:#e9eef5;font-weight:900}.template-preview-table .planning-row td{background:#fffbe8}.template-preview-table .actual-row td{color:#114f9d;background:#edf5ff}.template-preview-table td:last-child{text-align:left;white-space:normal;min-width:380px;max-width:520px;line-height:1.35}.three-week-export.from-curve button:disabled{opacity:.55;cursor:not-allowed}@media (width<=760px){.template-preview-wrap{max-height:64vh}.template-preview-table th,.template-preview-table td{font-size:11px}}.modal-backdrop:has(.three-week-preview){padding:0!important}.three-week-preview{border-radius:0!important;flex-direction:column!important;width:100vw!important;max-width:none!important;height:100dvh!important;max-height:none!important;padding:22px 28px 16px!important;display:flex!important;position:fixed!important;inset:0!important;overflow:hidden!important}.three-week-preview h2{text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 52px);overflow:hidden;margin-bottom:12px!important}.three-week-preview .preview-meta{flex:none;margin-bottom:12px}.three-week-preview .template-preview-wrap{flex:1;width:100%;max-width:100%;min-height:0;overflow:auto;max-height:none!important}.three-week-preview .template-preview-table thead{z-index:8;position:sticky;top:0}.three-week-preview .preview-actions{background:#fff;border-top:1px solid #e1e8f0;flex:none;margin-top:10px;padding-top:10px}.three-week-preview .modal-close{z-index:20;width:40px;height:40px;font-size:24px;position:fixed;top:16px;right:20px}@media (width<=760px){.three-week-preview{padding:16px 12px 10px!important}.three-week-preview .modal-close{top:10px;right:10px}}.preview-heading{flex:none;justify-content:space-between;align-items:flex-start;gap:70px;display:flex}.preview-heading>div{flex:1;min-width:0}.preview-heading p{color:#2c70d1;margin:0 0 5px;font-size:10px;font-weight:800}.week-preview-selector{color:#60728a;flex-direction:column;gap:6px;min-width:290px;font-size:10px;font-weight:800;display:flex}.week-preview-selector select{color:#123f76;background:#fff;border:2px solid #1769df;border-radius:8px;height:42px;padding:0 36px 0 13px;font-size:12px;font-weight:800}@media (width<=760px){.preview-heading{display:block}.week-preview-selector{min-width:0;margin:0 48px 10px 0}}.boq-module{flex-direction:column;gap:14px;min-width:0;display:flex}.boq-head{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.boq-head h1{margin:5px 0 2px;font-size:26px}.boq-head p{color:#64748b;margin:0}.ai-kicker{letter-spacing:.14em;color:#2563eb;font-size:11px;font-weight:900}.boq-actions{gap:8px;display:flex}.boq-actions button,.boq-toolbar button{background:#fff;border:1px solid #dbe3ee;border-radius:8px;padding:9px 12px;font-weight:750}.boq-actions .accent,.boq-toolbar .run{color:#fff;background:#0f172a;border-color:#0f172a}.boq-actions button:disabled{opacity:.45}.boq-metrics{grid-template-columns:repeat(5,1fr);gap:9px;display:grid}.boq-metrics article{background:#fff;border:1px solid #e3e8f0;border-radius:10px;flex-direction:column;padding:12px 14px;display:flex}.boq-metrics span{color:#64748b;font-size:12px}.boq-metrics b{margin-top:5px;font-size:21px}.boq-metrics small{color:#94a3b8;font-size:9px}.boq-toolbar{background:#fff;border:1px solid #e3e8f0;border-radius:10px;align-items:center;gap:8px;padding:8px;display:flex}.boq-toolbar select{border:1px solid #dbe3ee;border-radius:7px;min-width:340px;max-width:46%;padding:9px}.boq-toolbar>span{background:#f1f5f9;border-radius:99px;padding:6px 9px;font-size:12px}.boq-toolbar .run{margin-left:auto}.job.waiting_review{color:#c2410c;background:#fff7ed}.boq-message{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:9px 12px}.takeoff-workspace{grid-template-columns:minmax(520px,1.35fr) minmax(390px,.8fr);gap:10px;height:calc(100vh - 315px);min-height:560px;display:grid}.drawing-pane,.detection-pane{background:#fff;border:1px solid #dfe5ee;border-radius:10px;overflow:hidden}.drawing-pane{flex-direction:column;display:flex}.viewer-bar{border-bottom:1px solid #e2e8f0;align-items:center;gap:14px;height:42px;padding:0 12px;font-size:12px;display:flex}.viewer-bar a{color:#2563eb;margin-left:auto;font-weight:700}.pdf-stage{background:#cbd5e1;flex:1;position:relative;overflow:hidden}.pdf-stage iframe{background:#fff;border:0;width:100%;height:100%}.markup-box{border:3px solid;border-radius:3px;position:absolute}.markup-box span{color:#fff;background:#0f172a;border-radius:3px;padding:3px 6px;font-size:11px;font-weight:800;position:absolute;top:-23px;left:-3px}.detection-pane{overflow:auto}.detect-filter{z-index:3;background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:10px 12px;display:flex;position:sticky;top:0}.detect-filter select{border:1px solid #dbe3ee;border-radius:7px;padding:7px}.detection-card{border:1px solid #e2e8f0;border-radius:9px;margin:9px;padding:11px;scroll-margin:60px}.detection-card.verified{background:#f0fdf4;border-color:#86efac}.detection-card.rejected{opacity:.58}.detection-card header{align-items:center;gap:9px;display:flex}.detection-card header i{border-radius:3px;width:5px;height:34px}.detection-card header div{flex-direction:column;flex:1;display:flex}.detection-card header span{color:#64748b;font-size:11px}.detection-card header>strong{color:#0f766e;font-size:18px}.detect-grid{grid-template-columns:.7fr 1.6fr 1fr;gap:6px;margin:9px 0;display:grid}.detect-grid span{color:#64748b;flex-direction:column;font-size:10px;display:flex}.detect-grid b{color:#0f172a;font-size:12px}.detection-card code{white-space:normal;background:#f8fafc;border-radius:5px;padding:7px;font-size:11px;display:block}.detection-card footer{align-items:center;gap:5px;margin-top:9px;display:flex}.detection-card footer button{background:#fff;border:1px solid #dbe3ee;border-radius:6px;padding:6px 8px;font-size:11px}.detection-card footer .verify{color:#fff;background:#16a34a;border-color:#16a34a;margin-left:auto}.detection-card footer .reject{color:#dc2626}.status{text-transform:uppercase;color:#9a3412;font-size:10px;font-weight:900}.status.verified{color:#15803d}.boq-empty{color:#64748b;background:#fff;border:1px dashed #cbd5e1;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:300px;display:flex}.boq-empty b{color:#334155;font-size:18px}.boq-empty.compact{border:0;min-height:140px}.boq-upload{width:min(620px,92vw)}.boq-upload>small{color:#64748b;margin:9px 0;display:block}.boq-upload input[type=file]{background:#f8fafc;padding:8px}@media (width<=1000px){.boq-metrics{grid-template-columns:repeat(2,1fr)}.takeoff-workspace{grid-template-columns:1fr;height:auto}.drawing-pane{height:65vh}.detection-pane{max-height:65vh}.boq-head{flex-direction:column;align-items:flex-start}.boq-toolbar{flex-wrap:wrap}.boq-toolbar select{min-width:100%;max-width:100%}.boq-toolbar .run{margin-left:0}}.setup-grid{grid-template-columns:1.15fr .85fr;gap:14px;display:grid}.setup-list,.setup-form{padding:18px}.setup-list h3,.setup-form h3{margin:0 0 14px}.setup-group{margin-top:14px}.setup-group>b{color:#64748b;text-transform:uppercase;margin-bottom:7px;font-size:11px;display:block}.setup-group>span{border-top:1px solid #eef2f7;grid-template-columns:90px 1fr auto;gap:8px;padding:9px;font-size:12px;display:grid}.setup-group i{color:#2563eb;font-style:normal;font-weight:800}.setup-group small{color:#94a3b8}.setup-group em{color:#94a3b8;background:#f8fafc;padding:10px;font-size:11px;display:block}.setup-form{flex-direction:column;gap:10px;display:flex}.setup-form label{color:#64748b;flex-direction:column;gap:5px;font-size:11px;display:flex}.setup-form input,.setup-form select,.setup-form textarea{color:#0f172a;background:#fff;border:1px solid #dbe3ee;border-radius:7px;padding:9px}.setup-form textarea{min-height:80px}.date-pair{grid-template-columns:1fr 1fr;gap:8px;display:grid}.setup-form .primary{margin-top:4px}@media (width<=900px){.setup-grid{grid-template-columns:1fr}.setup-group>span{grid-template-columns:75px 1fr}.setup-group small{display:none}}:root{--nav:#101d2f;--blue:#1769e0;--text:#172235;--muted:#718096;--line:#e6eaf0;--canvas:#f4f6f9}*{box-sizing:border-box}html,body{background:var(--canvas);min-height:100%;color:var(--text);margin:0;font-family:Arial,Noto Sans Thai,sans-serif}button,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:flex}.sidebar{z-index:30;color:#d9e3f0;background:linear-gradient(#122238,#0c1828);border-right:1px solid #26374c;flex-direction:column;width:252px;height:100vh;display:flex;position:fixed;inset:0 auto 0 0}.brand{border-bottom:1px solid #26374c;align-items:center;gap:12px;height:76px;padding:0 20px;display:flex}.brand-mark{color:#fff;background:#2f76dd;border-radius:10px;place-items:center;width:37px;height:37px;font-weight:900;display:grid;box-shadow:0 7px 16px #07111f}.brand strong{color:#fff;font-size:16px;display:block}.brand span{color:#7990ad;letter-spacing:2.4px;margin-top:2px;font-size:8px;display:block}.close-menu{color:#fff;background:0 0;border:0;margin-left:auto;font-size:25px;display:none}.project-chip{background:#1c2d43;border:1px solid #2b4059;border-radius:10px;align-items:center;gap:10px;margin:15px 14px 4px;padding:11px;display:flex}.project-logo{color:#122238;background:#f7bd32;border-radius:7px;place-items:center;width:30px;height:30px;font-weight:900;display:grid}.project-chip div{flex:1;min-width:0}.project-chip small,.project-chip b{display:block}.project-chip small{color:#7790ad;font-size:9px}.project-chip b{white-space:nowrap;text-overflow:ellipsis;color:#fff;margin-top:2px;font-size:11px;overflow:hidden}nav{scrollbar-width:none;flex:1;padding:5px 10px 14px;overflow:auto}.nav-group{margin-top:15px}.nav-group p{color:#667c98;letter-spacing:.7px;margin:0 10px 6px;font-size:9px;font-weight:700}.nav-group button{color:#adbad0;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;width:100%;min-height:40px;padding:0 11px;font-size:12px;display:flex}.nav-group button:hover{color:#fff;background:#172b43}.nav-group button.active{color:#fff;background:#276cd0;box-shadow:0 7px 18px #091629}.nav-icon{text-align:center;width:17px;font-size:16px}.nav-group em{color:#c8d6e9;background:#31445e;border-radius:10px;place-items:center;min-width:19px;height:19px;margin-left:auto;font-size:9px;font-style:normal;display:grid}.user-card{border-top:1px solid #26374c;align-items:center;gap:10px;min-height:70px;padding:12px 17px;display:flex}.avatar{color:#fff;background:#3c7cdb;border-radius:50%;place-items:center;width:35px;height:35px;font-weight:700;display:grid}.user-card div:nth-child(2){flex:1}.user-card strong,.user-card span{display:block}.user-card strong{color:#fff;font-size:11px}.user-card span{color:#7890ad;margin-top:3px;font-size:9px}.user-card button{color:#8498b2;background:0 0;border:0}.workspace{width:calc(100% - 252px);min-height:100vh;margin-left:252px}.topbar{z-index:20;border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:64px;padding:0 28px;display:flex;position:sticky;top:0}.top-left,.top-actions{align-items:center;gap:12px;display:flex}.menu-button{background:0 0;border:0;font-size:20px;display:none}.crumb{color:#8a96a9;align-items:center;gap:9px;font-size:11px;display:flex}.crumb b{color:#ccd2dc}.crumb strong{color:#35445b}.top-actions button{border:1px solid var(--line);color:#68788e;background:#fff}.search{text-align:left;border-radius:7px;align-items:center;gap:8px;width:260px;height:34px;padding:0 10px;font-size:10px;display:flex}.search span{flex:1}.search kbd{border:1px solid #dce2ea;border-radius:4px;padding:2px 5px;font-size:8px}.round{border-radius:50%;width:34px;height:34px}.notify{position:relative}.notify i{color:#fff;background:#ef4444;border:2px solid #fff;border-radius:50%;place-items:center;width:15px;height:15px;font:7px Arial;display:grid;position:absolute;top:-4px;right:-3px}.content{max-width:1430px;margin:auto;padding:25px 30px 50px}.page-head{justify-content:space-between;align-items:end;gap:20px;margin-bottom:23px;display:flex}.page-head p{color:#8d99aa;margin:0 0 5px;font-size:10px}.page-head h1{margin:0;font-size:24px}.page-head small{color:#7e8a9c;margin-top:7px;font-size:11px;display:block}.head-actions{align-items:end;gap:10px;display:flex}.head-actions label{color:#77879a;font-size:9px}.head-actions select{color:#334155;background:#fff;border:1px solid #dce2ea;border-radius:7px;min-width:145px;height:38px;margin-top:4px;padding:0 12px;font-size:11px;display:block}.primary{color:#fff;background:#1769df;border:0;border-radius:7px;height:38px;padding:0 17px;font-size:11px;font-weight:700;box-shadow:0 5px 12px #b9d3fa}.stat-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px;display:grid}.stat-card{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:13px;min-height:112px;padding:17px;display:flex;position:relative;box-shadow:0 2px 8px #17223508}.stat-icon{border-radius:9px;flex:none;place-items:center;width:43px;height:43px;font-weight:900;display:grid}.stat-icon.amber{color:#d58a00;background:#fff4d9}.stat-icon.blue{color:#2074de;background:#e9f3ff}.stat-icon.violet{color:#7948c9;background:#f2ebff}.stat-icon.green{color:#1a9b65;background:#e5f8ef}.stat-card p{color:#768499;margin:0;font-size:10px}.stat-card h2{margin:5px 0 3px;font-size:24px}.stat-card small{color:#9aa5b5;font-size:8px}.stat-card small.positive{color:#159266}.stat-card>button{color:#aab4c2;background:0 0;border:0;position:absolute;top:9px;right:10px}.main-grid{grid-template-columns:minmax(0,1.75fr) minmax(280px,.85fr);gap:16px;margin-bottom:16px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px #17223508}.panel-title{border-bottom:1px solid #edf0f4;justify-content:space-between;align-items:center;gap:15px;min-height:67px;padding:14px 18px;display:flex}.panel-title h3{margin:0;font-size:13px}.panel-title p{color:#8b97a8;margin:5px 0 0;font-size:9px}.panel-title button{color:#3477d3;background:0 0;border:0;font-size:9px}.approval-row{border-bottom:1px solid #eff2f5;align-items:center;gap:12px;min-height:77px;padding:11px 17px;display:flex}.approval-row:last-child{border-bottom:0}.file-icon{border-radius:7px;flex:none;place-items:center;width:36px;height:42px;font-size:12px;font-weight:900;display:grid}.file-icon.amber{color:#c47c00;background:#fff3d8}.file-icon.blue{color:#236ed0;background:#e9f2ff}.file-icon.red{color:#e14444;background:#ffeded}.file-icon.violet{color:#7647c5;background:#f0eaff}.approval-main{flex:1;min-width:0}.tags{align-items:center;gap:5px;margin-bottom:5px;display:flex}.tags span{color:#60738b;background:#f0f3f7;border-radius:4px;padding:2px 6px;font-size:7px;font-weight:700}.tags i{border-radius:9px;margin-left:auto;padding:3px 7px;font-size:7px;font-style:normal}.tags i.amber{color:#a56d00;background:#fff2cb}.tags i.blue{color:#2368c2;background:#e6f0ff}.tags i.red{color:#d63d3d;background:#ffe6e6}.tags i.violet{color:#7542bd;background:#efe7fb}.approval-main strong{white-space:nowrap;text-overflow:ellipsis;font-size:10px;display:block;overflow:hidden}.approval-main small{color:#94a0b1;margin-top:5px;font-size:8px;display:block}.more{color:#9aa7b7;background:0 0;border:0;font-size:18px}.empty{text-align:center;color:#8b98a9;padding:45px;font-size:11px}.timeline{padding:5px 18px 13px}.timeline>div{gap:11px;padding:12px 0;display:flex;position:relative}.timeline>div:not(:last-child):after{content:"";background:#e8edf2;width:1px;position:absolute;top:38px;bottom:-10px;left:12px}.dot{z-index:1;border-radius:50%;flex:none;place-items:center;width:25px;height:25px;font-size:9px;font-weight:700;display:grid}.dot.green{color:#149564;background:#e3f7ee}.dot.blue{color:#2d72d5;background:#e7f1ff}.dot.amber{color:#c07c00;background:#fff0cd}.dot.violet{color:#7443bc;background:#efe7fb}.timeline p{margin:1px 0}.timeline strong,.timeline small{display:block}.timeline strong{font-size:9px}.timeline small{color:#94a0b0;margin-top:5px;font-size:8px}.project-grid{grid-template-columns:repeat(2,1fr);display:grid}.project-grid>article{padding:17px 20px 18px}.project-grid>article+article{border-left:1px solid #edf0f4}.project-top{align-items:center;gap:10px;display:flex}.project-top>span{color:#fff;border-radius:8px;place-items:center;width:37px;height:37px;font-size:10px;font-weight:800;display:grid}.project-top>div{flex:1}.project-top strong,.project-top small{display:block}.project-top strong{font-size:11px}.project-top small{color:#8c98a9;margin-top:3px;font-size:7px}.project-top button{color:#9da8b5;background:0 0;border:0}.progress-label{color:#748296;justify-content:space-between;margin-top:16px;font-size:8px;display:flex}.progress-label b{color:#35445b}.progress-track{background:#edf1f5;border-radius:4px;height:5px;margin-top:6px;overflow:hidden}.progress-track i{border-radius:4px;height:100%;display:block}.project-metrics{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:15px;display:grid}.project-metrics>div{background:#f7f9fb;border-radius:7px;padding:9px}.project-metrics small,.project-metrics b{display:block}.project-metrics small{color:#8b98aa;font-size:7px}.project-metrics b{margin-top:5px;font-size:11px}.project-metrics b.on-track{color:#11885c;font-size:9px}.overlay{display:none}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0b1625aa;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:15px;width:min(520px,100%);padding:27px;position:relative;box-shadow:0 30px 80px #07101f88}.modal-close{color:#68768a;background:#f0f3f6;border:0;border-radius:50%;width:30px;height:30px;font-size:19px;position:absolute;top:12px;right:12px}.modal>p{color:#2c70d1;margin:0 0 5px;font-size:10px;font-weight:700}.modal h2{margin:0 0 20px;font-size:20px}.create-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.create-grid button{text-align:left;background:#fff;border:1px solid #e1e6ed;border-radius:9px;min-height:85px;padding:14px}.create-grid button:hover{background:#f6faff;border-color:#2e78df}.create-grid strong,.create-grid span{display:block}.create-grid strong{font-size:12px}.create-grid span{color:#8491a3;margin-top:7px;font-size:9px;line-height:1.5}@media (width<=1050px){.stat-grid{grid-template-columns:repeat(2,1fr)}.main-grid{grid-template-columns:1fr}.search{width:210px}}@media (width<=760px){.sidebar{transition:all .2s;transform:translate(-100%);box-shadow:18px 0 50px #08142544}.sidebar.open{transform:translate(0)}.close-menu{display:block}.overlay{z-index:25;background:#09142399;border:0;display:block;position:fixed;inset:0}.workspace{width:100%;margin-left:0}.topbar{height:58px;padding:0 14px}.menu-button{display:block}.crumb span,.crumb b,.search,.top-actions .round:first-of-type{display:none}.content{padding:20px 14px 40px}.page-head{flex-direction:column;align-items:start}.head-actions{width:100%}.head-actions label{flex:1}.head-actions select{width:100%}.stat-grid{grid-template-columns:1fr 1fr;gap:9px}.stat-card{min-height:104px;padding:13px}.stat-icon{width:36px;height:36px}.stat-card h2{font-size:20px}.project-grid{grid-template-columns:1fr}.project-grid>article+article{border-top:1px solid #edf0f4;border-left:0}.approval-row{padding:11px 12px}.tags i{display:none}}@media (width<=470px){.page-head h1{font-size:21px}.primary{padding:0 11px}.stat-grid{grid-template-columns:1fr}.stat-card{min-height:92px}.project-metrics{gap:5px}.create-grid{grid-template-columns:1fr}}.module-tools{justify-content:space-between;align-items:end;gap:20px;margin:-4px 0 18px;display:flex}.module-tools h1{margin:0;font-size:24px}.module-tools p{color:#7e8a9c;margin:7px 0 0;font-size:11px}.module-summary{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px;display:grid}.module-summary article{border:1px solid var(--line);background:#fff;border-radius:10px;padding:16px 18px}.module-summary span,.module-summary b{display:block}.module-summary span{color:#7d8b9e;font-size:9px}.module-summary b{margin-top:7px;font-size:22px}.data-toolbar{border-bottom:1px solid #edf0f4;align-items:center;gap:9px;padding:13px 16px;display:flex}.data-search{color:#8d99a9;border:1px solid #dce2ea;border-radius:7px;flex:1;align-items:center;gap:8px;height:36px;padding:0 11px;display:flex}.data-search input{border:0;outline:0;width:100%;font-size:10px}.data-toolbar select,.data-toolbar button{color:#5e6d80;background:#fff;border:1px solid #dce2ea;border-radius:7px;height:36px;padding:0 12px;font-size:9px}.table-wrap{overflow:auto}table{border-collapse:collapse;white-space:nowrap;width:100%}th,td{text-align:left;border-bottom:1px solid #edf0f4;padding:13px 16px;font-size:9px}th{color:#7b889a;text-transform:uppercase;background:#f8fafc;font-size:8px}td{color:#445268}tbody tr:hover{background:#fafcff}.status-pill{border-radius:10px;padding:4px 8px;font-size:7px;font-weight:700;display:inline-flex}.status-pill.success{color:#12845a;background:#e4f7ee}.status-pill.pending{color:#9a6a07;background:#fff2cf}.status-pill.danger{color:#cf3d3d;background:#ffe8e8}.row-action{color:#91a0b2;background:0 0;border:0}.role-panel{margin-top:16px}.role-list{grid-template-columns:repeat(4,1fr);gap:10px;padding:16px;display:grid}.role-list span{border:1px solid #e5eaf0;border-radius:8px;align-items:center;gap:9px;padding:11px;font-size:9px;display:flex}.role-list b{color:#fff;background:#276cd0;border-radius:50%;place-items:center;width:22px;height:22px;font-size:8px;display:grid}@media (width<=760px){.module-tools{flex-direction:column;align-items:start}.module-tools .primary{width:100%}.module-summary{grid-template-columns:repeat(3,1fr);gap:7px}.data-toolbar{flex-wrap:wrap}.data-search{flex-basis:100%}.role-list{grid-template-columns:1fr 1fr}.table-wrap{margin-bottom:4px}}@media (width<=470px){.module-summary,.role-list{grid-template-columns:1fr}}.role-list .vip-role{color:#7a5710;background:#fff9e8;border-color:#d8b45a;font-weight:700}.role-list .vip-role b{background:#b88717}.auth-loading{color:#dce8f6;background:#101d2f;justify-content:center;align-items:center;gap:13px;min-height:100vh;font-size:12px;display:flex}.login-page{background:#fff;grid-template-columns:minmax(420px,1.1fr) minmax(420px,.9fr);min-height:100vh;display:grid}.login-visual{color:#fff;background:radial-gradient(circle at 90% 10%,#2574d844,#0000 34%),linear-gradient(145deg,#132945,#0b1727 72%);flex-direction:column;min-height:100vh;padding:42px 58px;display:flex;position:relative;overflow:hidden}.login-visual:after{content:"";border:70px solid #286ccc1f;border-radius:50%;width:480px;height:480px;position:absolute;bottom:-220px;right:-190px}.login-brand,.login-mobile-brand{align-items:center;gap:12px;display:flex}.login-brand span,.login-mobile-brand span{color:#fff;background:#2f76dd;border-radius:11px;place-items:center;width:42px;height:42px;font-weight:900;display:grid;box-shadow:0 10px 25px #030a14aa}.login-brand strong{font-size:16px}.login-message{margin:auto 0}.login-message p{color:#68a3f5;letter-spacing:2px;margin:0 0 18px;font-size:10px;font-weight:700}.login-message h1{letter-spacing:-1px;margin:0;font-size:42px;line-height:1.28}.login-message>span{color:#9fb2ca;max-width:490px;margin-top:22px;font-size:13px;line-height:1.8;display:block}.login-feature{z-index:1;background:#ffffff0a;border:1px solid #ffffff18;border-radius:11px;align-items:center;gap:13px;padding:15px;display:flex}.login-feature>i{color:#67a3f4;background:#246ac32d;border-radius:9px;place-items:center;width:34px;height:34px;font-style:normal;display:grid}.login-feature b,.login-feature small{display:block}.login-feature b{font-size:11px}.login-feature small{color:#8195ae;margin-top:5px;font-size:9px}.login-form-side{place-items:center;padding:40px;display:grid}.login-form-side form{width:min(380px,100%)}.login-mobile-brand{display:none}.login-form-side form>p{color:#236fd5;margin:0;font-size:11px;font-weight:700}.login-form-side h2{margin:8px 0 7px;font-size:29px}.login-form-side form>small{color:#8b98a9;margin-bottom:30px;font-size:11px;display:block}.login-form-side label{color:#445267;margin:0 0 18px;font-size:10px;font-weight:700;display:block}.login-form-side label>input,.password-input{background:#fff;border:1px solid #dce2ea;border-radius:8px;width:100%;height:45px;margin-top:7px}.login-form-side label>input{outline:0;padding:0 13px;font-size:11px}.password-input{align-items:center;display:flex;overflow:hidden}.password-input input{border:0;outline:0;flex:1;min-width:0;height:100%;padding:0 13px;font-size:11px}.password-input button{color:#3977ca;background:0 0;border:0;height:100%;padding:0 12px;font-size:9px}.login-form-side label>input:focus,.password-input:focus-within{border-color:#2c76db;box-shadow:0 0 0 3px #2c76db12}.login-error{color:#c53b3b;background:#ffeded;border-radius:7px;margin:-5px 0 15px;padding:10px 12px;font-size:9px}.login-submit{color:#fff;background:#1769df;border:0;border-radius:8px;width:100%;height:45px;font-size:11px;font-weight:700;box-shadow:0 7px 17px #b8d3fb}.login-submit:disabled{opacity:.65;cursor:wait}.login-help{text-align:center;color:#9aa5b4;margin-top:22px;font-size:9px}.readonly-badge{color:#7b590f;background:#fff8e5;border:1px solid #dfbd65;border-radius:17px;padding:8px 12px;font-size:9px;font-weight:700;display:inline-flex}@media (width<=850px){.login-page{grid-template-columns:1fr}.login-visual{display:none}.login-form-side{min-height:100vh;padding:28px}.login-mobile-brand{margin-bottom:45px;display:flex}.login-mobile-brand span{width:38px;height:38px}.login-mobile-brand strong{color:#172235;font-size:14px}}.user-profile{text-align:left;min-width:0;background:0 0!important;border:0!important;flex:1!important;padding:0!important}.password-modal label{color:#4f5d70;margin:13px 0;font-size:9px;font-weight:700;display:block}.password-modal label input{border:1px solid #dce2ea;border-radius:7px;outline:0;width:100%;height:40px;margin-top:6px;padding:0 11px;font-size:11px;display:block}.password-modal>small{color:#8895a6;margin:-3px 0 14px;font-size:8px;display:block}.password-success{color:#117c54;background:#e5f7ee;border-radius:7px;margin:0 0 14px;padding:10px 12px;font-size:9px}.permission-panel{margin-top:16px}.permission-save{font-weight:700;color:#fff!important;background:#1769df!important;border-radius:6px!important;height:32px!important;padding:0 13px!important}.permission-message{color:#117c54;background:#eaf8f1;padding:9px 16px;font-size:9px}.permission-wrap{overflow:auto}.permission-table th,.permission-table td{text-align:center}.permission-table th:first-child,.permission-table td:first-child{text-align:left;z-index:1;background:#fff;position:sticky;left:0}.permission-table thead th:first-child{background:#f8fafc}.permission-table td:first-child{min-width:150px}.permission-table td strong,.permission-table td small{display:block}.permission-table td small{color:#9a751f;margin-top:4px;font-size:7px}.permission-table input{accent-color:#1769df;width:15px;height:15px}.permission-table input:disabled{opacity:.55}.permission-table .vip-row td{background:#fffbef}.permission-table .vip-row td:first-child{background:#fff7dc}.audit-panel code{color:#285c9e;background:#edf5ff;border-radius:4px;padding:3px 6px;font-size:8px}.agent-cell{text-overflow:ellipsis;max-width:260px;overflow:hidden}.audit-panel tbody strong{font-size:9px}.row-description{color:#8b98a9;margin-top:4px;font-size:8px;display:block}.delete-action{color:#c93d3d;background:#fff3f3;border:1px solid #ffd0d0;border-radius:5px;padding:5px 8px;font-size:8px}.record-modal{width:min(620px,100%)}.record-form-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;display:grid}.record-form-grid label{color:#536174;font-size:9px;font-weight:700}.record-form-grid label.wide{grid-column:1/-1}.record-form-grid input,.record-form-grid select,.record-form-grid textarea{background:#fff;border:1px solid #dce2ea;border-radius:7px;outline:0;width:100%;min-height:40px;margin-top:6px;padding:9px 10px;font-size:10px;display:block}.record-form-grid textarea{resize:vertical;min-height:76px}@media (width<=560px){.record-form-grid{grid-template-columns:1fr}.record-form-grid label.wide{grid-column:auto}}.user-guide{color:#184f99;background:#edf5ff;border-bottom:1px solid #dceaff;align-items:center;gap:12px;padding:14px 17px;font-size:10px;display:flex}.user-guide span{color:#5f7490}.user-notice{border-radius:7px;margin-bottom:12px}.role-chip{color:#1c5fb8;background:#eaf3ff;border-radius:12px;padding:5px 9px;font-weight:700;display:inline-flex}.row-actions{gap:6px;display:flex}.row-actions button{color:#37618e;background:#f7faff;border:1px solid #dce5ef;border-radius:5px;padding:5px 8px;font-size:8px}.activate-action{color:#13724f!important;background:#ecf9f3!important;border-color:#c9ecdc!important}.role-explain{background:#f0f6ff;border-left:4px solid #1769df;border-radius:6px;flex-direction:column;gap:5px;margin:-7px 0 16px;padding:12px;display:flex}.role-explain b{font-size:11px}.role-explain span{color:#64758a;font-size:9px}.inline-password{position:relative}.inline-password input{padding-right:58px!important}.inline-password button{color:#1769df;background:0 0;border:0;height:30px;padding:0 8px;font-size:9px;position:absolute;top:11px;right:5px}.task-risk-summary{background:#f8fafc;border-top:1px solid #e8edf3;border-bottom:1px solid #e8edf3;grid-template-columns:repeat(5,1fr);gap:10px;padding:15px 18px;display:grid}.task-risk-summary article{background:#fff;border:1px solid #e1e8f0;border-radius:8px;padding:13px}.task-risk-summary small,.task-risk-summary strong{display:block}.task-risk-summary small{color:#77869a;font-size:8px}.task-risk-summary strong{margin-top:7px;font-size:16px}.three-week-list.professional{border:1px solid #e1e8f0;border-radius:9px;margin:16px 18px;overflow:hidden}.three-week-list.professional .three-week-title{background:#f7f9fc;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.three-week-list.professional .three-week-title div small{color:#8390a2;margin-top:4px;font-size:8px;display:block}.three-week-table-wrap{overflow:auto}.three-week-table-wrap table{min-width:980px}.three-week-table-wrap td:first-child strong,.three-week-table-wrap td:first-child small{display:block}.three-week-table-wrap td:first-child small{color:#8a97a8;margin-top:4px}.excel-empty{flex-direction:column;gap:6px;display:flex}.excel-empty strong{font-size:13px}.excel-empty span{color:#7f8ca0;font-size:10px}@media (width<=900px){.task-risk-summary{grid-template-columns:repeat(2,1fr)}}.period-work-panel{background:#f8fafc;border:1px solid #dfe6ef;border-radius:10px;margin:16px 18px;overflow:hidden}.period-work-head{background:#fff;border-bottom:1px solid #e5ebf2;justify-content:space-between;align-items:center;gap:15px;padding:15px 17px;display:flex}.period-work-head small{color:#1769df;letter-spacing:.8px;font-size:8px;font-weight:800}.period-work-head h4{margin:4px 0 0;font-size:14px}.period-tabs{background:#edf2f8;border-radius:8px;padding:3px;display:flex}.period-tabs button{color:#64748b;background:0 0;border:0;border-radius:6px;padding:8px 13px;font-size:9px}.period-tabs button.active{color:#fff;background:#1769df;box-shadow:0 3px 8px #1769df40}.period-caption{border-bottom:1px solid #e5ebf2;align-items:center;gap:10px;padding:11px 17px;display:flex}.period-caption b{font-size:11px}.period-caption span{color:#77869a;font-size:9px}.period-caption em{color:#245f9f;background:#e5f1ff;border-radius:10px;margin-left:auto;padding:4px 8px;font-size:8px;font-style:normal}.period-task-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:13px;display:grid}.period-task-grid article{background:#fff;border:1px solid #e0e7ef;border-radius:8px;padding:13px}.period-task-title{justify-content:space-between;align-items:start;gap:10px;display:flex}.period-task-title small,.period-task-title strong{display:block}.period-task-title small{color:#8795a7;font-size:7px}.period-task-title strong{margin-top:4px;font-size:10px}.period-task-title>span{border-radius:10px;padding:4px 7px;font-size:7px}.period-task-title>span.ahead{color:#117c54;background:#e4f7ee}.period-task-title>span.delay{color:#c73c3c;background:#ffe9e9}.period-task-grid article>p{color:#526174;min-height:30px;margin:10px 0;font-size:9px;line-height:1.6}.period-task-metrics{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.period-task-metrics span{color:#7a8798;background:#f5f7fa;border-radius:5px;padding:7px;font-size:7px}.period-task-metrics b{color:#26374c;margin-top:3px;font-size:9px;display:block}.period-task-grid footer{color:#8794a5;border-top:1px solid #edf1f5;justify-content:space-between;align-items:center;gap:8px;margin-top:9px;padding-top:8px;font-size:7px;display:flex}.period-task-grid footer em{color:#b45309;font-style:normal}.period-empty{text-align:center;color:#8290a2;grid-column:1/-1;padding:32px;font-size:10px}@media (width<=760px){.period-work-head{flex-direction:column;align-items:flex-start}.period-tabs{width:100%}.period-tabs button{flex:1}.period-task-grid{grid-template-columns:1fr}}.font-controls{background:#f6f8fb;border:1px solid #dce3ec;border-radius:8px;padding:3px;display:flex}.top-actions .font-controls button{color:#526275;background:0 0;border:0;border-radius:6px;min-width:38px;height:32px;padding:0 8px;font-size:12px;font-weight:800}.top-actions .font-controls button.active{color:#fff;background:#1769df;box-shadow:0 3px 8px #1769df40}.ui-large .content{zoom:1.12;width:89.285%}.ui-xlarge .content{zoom:1.25;width:80%}.ui-large .sidebar{font-size:1.06em}.ui-xlarge .sidebar{font-size:1.14em}.ui-large .progress-main-actions button,.ui-large .progress-main-actions input,.ui-large .period-tabs button{min-height:42px;font-size:11px}.ui-xlarge .progress-main-actions button,.ui-xlarge .progress-main-actions input,.ui-xlarge .period-tabs button{min-height:46px;font-size:12px}.ui-large .period-task-title strong,.ui-large .three-week-table-wrap td,.ui-large .weekly-table-wrap td{font-size:10px}.ui-xlarge .period-task-title strong,.ui-xlarge .three-week-table-wrap td,.ui-xlarge .weekly-table-wrap td{font-size:11px}@media (width<=760px){.font-controls{margin-left:auto}.top-actions{gap:6px}.ui-large .content,.ui-xlarge .content{zoom:1;width:100%}.top-actions .font-controls button{min-width:34px}}.import-stamp{background:#f3f8ff;border:1px solid #dce7f3;border-radius:8px;align-items:center;gap:0;margin:0 18px 14px;display:flex;overflow:hidden}.import-stamp>div{border-right:1px solid #dce7f3;min-width:180px;padding:10px 14px}.import-stamp>div:last-child{border-right:0;flex:1}.import-stamp small,.import-stamp strong{display:block}.import-stamp small{color:#71839a;font-size:8px}.import-stamp strong{color:#183f70;white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:10px;overflow:hidden}@media (width<=760px){.import-stamp{flex-direction:column;align-items:stretch}.import-stamp>div{border-bottom:1px solid #dce7f3;border-right:0;min-width:0}.import-stamp>div:last-child{border-bottom:0}}.company-showcase{margin:20px 0}.company-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.company-grid article{background:#fff;border:1px solid #dce4ee;border-radius:16px;align-items:center;gap:12px;padding:18px;display:flex;box-shadow:0 8px 24px #0f172a0d}.company-grid article>span{color:#08764b;background:#e8fff3;border-radius:12px;place-items:center;width:44px;height:44px;font-weight:900;display:grid}.company-grid article div{flex:1;min-width:0}.company-grid strong,.company-grid small{display:block}.company-grid strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.company-grid small{color:#64748b;margin-top:4px}.company-grid i{font-style:normal}.company-grid .locked{color:#64748b;background:#f8fafc}.company-grid .locked>span{color:#64748b;background:#e9eef5}@media (width<=1000px){.company-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.company-grid{grid-template-columns:1fr}}.user-create-modal{width:min(760px,96vw);max-height:92dvh;overflow:auto}.user-create-modal .record-form-grid{margin-top:18px}.access-picker{background:#fbfdff;border:1px solid #e2eaf3;border-radius:9px;margin:14px 0;padding:14px}.access-picker h4{color:#234368;margin:5px 0 10px;font-size:11px}.access-picker>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:16px;display:grid}.access-picker label{background:#fff;border:1px solid #e5ebf2;border-radius:7px;align-items:flex-start;gap:8px;padding:9px;font-size:9px;display:flex}.access-picker label.disabled{opacity:.45}.access-picker input{accent-color:#1769df;margin:2px 0 0}.access-picker label span{flex-direction:column;gap:3px;display:flex}.access-picker label b{color:#1769df}.security-note{color:#335574;background:#f2f8ff;border:1px solid #cfe2fb;border-radius:8px;flex-direction:column;gap:5px;margin:12px 0;padding:12px;font-size:9px;display:flex}.security-note b{color:#164f92;font-size:10px}.credential-modal{width:min(560px,94vw)}.credential-success{color:#117c54;letter-spacing:.4px;background:#e5f7ee;border-radius:20px;padding:6px 9px;font-size:9px;font-weight:800;display:inline-flex}.credential-modal>p{color:#718096;font-size:10px;line-height:1.6}.credential-card{background:#f8fbff;border:1px solid #d9e5f2;border-radius:10px;flex-direction:column;gap:7px;margin:15px 0;padding:15px;display:flex}.credential-card>small{color:#75859a;margin-top:7px;font-size:9px}.credential-card>strong{font-size:16px}.credential-secret,.credential-link{background:#fff;border:1px solid #e0e8f1;border-radius:7px;align-items:center;gap:6px;min-width:0;padding:8px;display:flex}.credential-secret code{overflow-wrap:anywhere;color:#174f92;flex:1;min-width:0;font-size:12px;font-weight:800}.credential-secret button,.credential-link button,.credential-actions button{color:#225b9b;background:#fff;border:1px solid #d4e0ed;border-radius:6px;flex:none;padding:7px 10px;font-size:9px;font-weight:700}.credential-link span{text-overflow:ellipsis;white-space:nowrap;color:#64758b;flex:1;min-width:0;font-size:9px;overflow:hidden}.credential-actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.credential-actions .primary{color:#fff;background:#1769df;border-color:#1769df}.password-rules{color:#6d7e93;font-size:9px}@media (width<=600px){.access-picker>div{grid-template-columns:1fr}.credential-actions{flex-direction:column}.credential-actions button{min-height:40px}.credential-secret{flex-wrap:wrap}.user-create-modal{padding:16px}.user-create-modal .record-form-grid{grid-template-columns:1fr}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.sidebar nav button.locked{opacity:.58}.sidebar nav button.locked:hover{background:#ffffff08}.nav-lock{filter:grayscale();background:0 0!important;margin-left:auto!important;padding:0!important;font-size:10px!important}.dashboard-modules{margin:16px 0 18px}.dashboard-section-head{justify-content:space-between;align-items:end;margin-bottom:11px;display:flex}.dashboard-section-head h3{color:#1e2b3d;margin:0;font-size:14px}.dashboard-section-head p{color:#8390a1;margin:4px 0 0;font-size:9px}.dashboard-section-head>span{color:#2466b6;background:#eef6ff;border:1px solid #dbe8f7;border-radius:15px;padding:6px 10px;font-size:8px;font-weight:700}.dashboard-module-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.dashboard-module-grid>button{text-align:left;background:#fff;border:1px solid #e1e7ef;border-radius:11px;align-items:center;gap:11px;min-height:92px;padding:15px;display:flex;position:relative;box-shadow:0 4px 13px #20344f0a}.dashboard-module-grid>button>i{color:#2e6fc5;background:#edf5ff;border-radius:10px;flex:none;place-items:center;width:38px;height:38px;font-size:11px;font-style:normal;font-weight:900;display:grid}.dashboard-module-grid>button>div{min-width:0}.dashboard-module-grid strong,.dashboard-module-grid small{display:block}.dashboard-module-grid strong{color:#263548;font-size:10px}.dashboard-module-grid small{color:#8b97a6;white-space:nowrap;text-overflow:ellipsis;margin-top:5px;font-size:7px;overflow:hidden}.dashboard-module-grid em{margin-left:auto;font-style:normal}.dashboard-module-grid .featured{background:linear-gradient(135deg,#edf6ff,#fff);border-color:#9bc1f4}.dashboard-module-grid .featured>i{color:#fff;background:linear-gradient(135deg,#176bdd,#43a0ef);box-shadow:0 7px 15px #176bdd30}.dashboard-module-grid .locked{cursor:not-allowed;box-shadow:none;background:#f9fafc}.dashboard-module-grid .locked>:not(.module-lock){opacity:.48}.module-lock{filter:grayscale();font-size:10px;position:absolute;top:10px;right:11px}.module-arrow{color:#2875d6;font-size:14px}.pd-page{padding-bottom:28px}.pd-hero{color:#fff;background:radial-gradient(circle at 82% 18%,#54b4ff55,#0000 28%),linear-gradient(135deg,#0d2747,#174c83 68%,#176fd3);border-radius:13px;justify-content:space-between;align-items:center;gap:20px;margin:0 0 14px;padding:22px 24px;display:flex;box-shadow:0 12px 25px #173b6b22}.pd-eyebrow{color:#75c1ff;letter-spacing:1.4px;font-size:8px;font-weight:900}.pd-hero h1{margin:6px 0 5px;font-size:23px}.pd-hero p{color:#bed3e9;margin:0;font-size:9px}.pd-upload{color:#0f4d8f;background:#fff;border:1px solid #fff5;border-radius:8px;height:38px;padding:0 16px;font-size:9px;font-weight:800;box-shadow:0 7px 18px #09213d55}.pd-stats{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px;display:grid}.pd-stats article{background:#fff;border:1px solid #e1e8f0;border-radius:10px;padding:14px 16px;position:relative;overflow:hidden}.pd-stats article:before{content:"";background:#397bd0;width:3px;position:absolute;top:0;bottom:0;left:0}.pd-stats article.pass:before{background:#20a36a}.pd-stats article.fail:before{background:#e05252}.pd-stats article.pending:before{background:#e4a62b}.pd-stats span,.pd-stats small,.pd-stats b{display:block}.pd-stats span{color:#6f7e90;font-size:8px}.pd-stats b{color:#1c2c40;margin:5px 0 2px;font-size:21px}.pd-stats small{color:#9ba7b5;font-size:7px}.pd-panel{background:#fff;border:1px solid #dfe7f0;border-radius:11px;overflow:hidden;box-shadow:0 6px 18px #253f5d0a}.pd-toolbar{background:#fafbfd;border-bottom:1px solid #e8edf3;gap:8px;padding:12px 14px;display:flex}.pd-search{color:#7e8ca0;background:#fff;border:1px solid #d9e1eb;border-radius:7px;flex:1;align-items:center;gap:8px;height:34px;padding:0 11px;display:flex}.pd-search input{border:0;outline:0;width:100%;font-size:9px}.pd-toolbar select,.pd-toolbar>button{color:#536477;background:#fff;border:1px solid #d9e1eb;border-radius:7px;height:34px;padding:0 11px;font-size:8px}.pd-table-wrap{overflow:auto}.pd-table{border-collapse:collapse;width:100%;min-width:940px}.pd-table th{text-align:left;color:#738196;letter-spacing:.3px;background:#f5f8fb;padding:10px 12px;font-size:7px;position:sticky;top:0}.pd-table td{color:#4a5b70;border-top:1px solid #edf1f5;padding:12px;font-size:8px}.pd-table td strong,.pd-table td span{display:block}.pd-table td strong{color:#26384e;font-size:9px}.pd-table td>span:not(.pd-rev):not(.pd-status){color:#8996a6;margin-top:4px;font-size:7px}.pd-rev{background:#eaf3ff;border-radius:11px;padding:4px 7px;font-weight:800;color:#2261aa!important;font-size:7px!important;display:inline-flex!important}.pd-status{white-space:nowrap;border-radius:12px;padding:5px 8px;font-weight:900;font-size:7px!important;display:inline-flex!important}.pd-status.pass{color:#11744e;background:#e4f7ee}.pd-status.fail{color:#be3434;background:#ffe8e8}.pd-status.not_evaluated{color:#98620a;background:#fff2d6}.pd-open{color:#1f68bd;background:#f0f7ff;border:1px solid #bcd5f4;border-radius:6px;padding:6px 9px;font-size:8px;font-weight:700}.pd-file-row td{background:#f8fbff;padding:0 14px 13px}.pd-files{gap:7px;display:grid}.pd-files article{background:#fff;border:1px solid #dfe8f3;border-radius:7px;align-items:center;gap:10px;padding:9px 10px;display:flex}.pd-file-icon{background:#e34d4d;border-radius:6px;place-items:center;width:34px;height:32px;font-weight:900;color:#fff!important;font-size:7px!important;display:grid!important}.pd-file-icon.xlsx,.pd-file-icon.xls{background:#1f9b64}.pd-file-icon.doc,.pd-file-icon.docx{background:#2e70c8}.pd-files article>div{flex:1;min-width:0}.pd-files article strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.pd-files article small{color:#8a97a7;margin-top:3px;font-size:7px;display:block}.pd-files a{color:#2566b3;background:#edf5ff;border-radius:5px;padding:6px 8px;font-size:7px;text-decoration:none}.pd-files a.download{color:#fff;background:#176bda}.pd-empty{color:#8290a2;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:190px;font-size:9px;display:flex}.pd-empty b{color:#41536a;font-size:12px}.pd-empty.error{color:#bd3434;background:#fff5f5}.pd-spinner{border:3px solid #dce9f8;border-top-color:#2474da;border-radius:50%;width:22px;height:22px;animation:.8s linear infinite pdspin}@keyframes pdspin{to{transform:rotate(360deg)}}.pd-upload-modal{width:min(700px,100vw - 28px);max-height:92vh;overflow:auto}.pd-upload-modal>p{color:#7a8798!important;margin:4px 0 16px!important}.pd-form-grid{grid-template-columns:1fr 1fr;gap:11px;display:grid}.pd-form-grid label{color:#536277;font-size:8px;font-weight:800}.pd-form-grid label.wide{grid-column:1/-1}.pd-form-grid input,.pd-form-grid select,.pd-form-grid textarea{background:#fff;border:1px solid #d9e2ec;border-radius:7px;outline:0;width:100%;min-height:38px;margin-top:6px;padding:8px 10px;font-size:9px;display:block}.pd-form-grid textarea{resize:vertical;min-height:55px}.pd-file-picker{background:#f2f8ff;border:1px dashed #8db7eb;border-radius:8px;padding:12px;color:#2869b7!important}.pd-file-picker input{background:#fff;padding:7px}.pd-file-picker>span{color:#7c8da1;margin-top:5px;font-size:7px;font-weight:400;display:block}.pd-upload-progress{color:#2e5d91;background:#eff6ff;border-radius:8px;margin:13px 0;padding:11px}.pd-upload-progress>div{justify-content:space-between;font-size:8px;display:flex}.pd-upload-progress>i{background:#d6e7fb;border-radius:6px;height:7px;margin:8px 0;display:block;overflow:hidden}.pd-upload-progress em{background:linear-gradient(90deg,#1769df,#46a3ef);border-radius:6px;height:100%;transition:width .2s;display:block}.pd-upload-progress small{color:#7a8da3;font-size:7px;display:block}@media (width<=1050px){.dashboard-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.pd-hero{flex-direction:column;align-items:flex-start}.pd-upload{width:100%}.pd-stats{grid-template-columns:repeat(2,1fr)}.pd-toolbar{flex-wrap:wrap}.pd-search{flex-basis:100%}.pd-form-grid{grid-template-columns:1fr}.pd-form-grid label.wide{grid-column:auto}.dashboard-module-grid{grid-template-columns:1fr}}.pd-row-actions{gap:5px;display:flex}.pd-zip{color:#14724c;white-space:nowrap;background:#edfaf4;border:1px solid #bddfcf;border-radius:6px;padding:6px 8px;font-size:7px;font-weight:800}.pd-zip:disabled{opacity:.65}.history-link{color:#1d68bd;background:0 0;border:0;margin-top:5px;padding:0;font-size:7px;text-decoration:underline;display:block}.history-highlight td{background:#fffdf2}.access-control{margin-top:16px}.access-toolbar{background:#f8fafc;border-top:1px solid #e8edf3;border-bottom:1px solid #e8edf3;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;display:flex}.access-toolbar>div{background:#e8eef6;border-radius:7px;padding:3px;display:flex}.access-toolbar button{color:#64758a;background:0 0;border:0;border-radius:5px;padding:7px 11px;font-size:8px}.access-toolbar button.active{color:#fff;background:#176bd9}.access-toolbar select{background:#fff;border:1px solid #d7e0eb;border-radius:6px;min-width:220px;height:32px;padding:0 9px;font-size:8px}.access-module-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:14px 16px;display:grid}.access-module-grid>button{text-align:left;background:#fff;border:1px solid #e0e6ee;border-radius:8px;align-items:center;gap:9px;padding:11px;display:flex}.access-module-grid>button>span{color:#376da9;background:#edf5ff;border-radius:7px;place-items:center;width:30px;height:30px;font-size:8px;font-weight:900;display:grid}.access-module-grid>button>div{flex:1;min-width:0}.access-module-grid strong,.access-module-grid small{display:block}.access-module-grid strong{font-size:8px}.access-module-grid small{color:#8996a5;margin-top:3px;font-size:7px}.access-module-grid i{font-size:9px;font-style:normal}.access-module-grid .enabled{background:#f4fbf8;border-color:#a9d9c4}.access-module-grid .enabled i{color:#168357}.access-module-grid .locked{opacity:.66;background:#f8f9fb}.project-access{background:#fafbfd;border:1px solid #dfe6ef;border-radius:8px;margin:0 16px 16px;padding:14px}.project-access h4{margin:0;font-size:10px}.project-access>p{color:#8190a2;margin:4px 0 10px;font-size:7px}.project-access>div{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.project-access label{background:#fff;border:1px solid #e0e6ed;border-radius:6px;align-items:center;gap:8px;padding:9px;display:flex}.project-access label span,.project-access label b{display:block}.project-access label span{color:#6e7d90;font-size:7px}.project-access label b{color:#263950;margin-bottom:3px;font-size:8px}@media (width<=900px){.access-module-grid{grid-template-columns:repeat(2,1fr)}.project-access>div{grid-template-columns:1fr 1fr}}@media (width<=560px){.access-toolbar{flex-direction:column;align-items:stretch}.access-toolbar select{width:100%}.access-module-grid,.project-access>div{grid-template-columns:1fr}}.latest-toggle{white-space:nowrap;align-items:center;gap:7px;flex-direction:row!important;font-size:13px!important;display:flex!important}.latest-toggle input{width:auto!important}.pd-doc{border-radius:999px;padding:5px 8px;font-size:11px;font-weight:900;display:inline-flex}.pd-doc.draft{color:#8a5b00;background:#fff4d6}.pd-doc.published{color:#08764b;background:#dff8e9}.pd-doc.superseded{color:#58677c;background:#e8edf4}.pd-form-grid small{color:#64748b;margin-top:6px;line-height:1.45;display:block}.permission-message.error{color:#b42318!important;background:#fff0f0!important}
