@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(../media/41e95f694c5c4549-s.2b_sldcwg6mn_.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF4,U+1CF7-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B0A}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6c55a692938ebbbc-s.1emuuracu50qd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a218039a3287bcfd-s.p.43zbiuwnnoiok.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(../media/bdc7e24a509eb931-s.0ynx40_3oa9rk.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF4,U+1CF7-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B0A}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0da9c7f357bd9d4d-s.1975l3y3401x_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(../media/8e6fa89aa22d24ec-s.p.2o7m9ogm38dql.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0a7740363b4d4863-s.3ji57o093q1kd.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF4,U+1CF7-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B0A}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5f9d24ebef5d5292-s.19xuq3td7fwu_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e2334d715941921e-s.p.3o_v2fun1jzxk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b53057dbf91a7acf-s.11ypmpdlzqdb_.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF4,U+1CF7-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B0A}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(../media/798ea22d9983e047-s.3go-kn2r40gie.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(../media/47fe1b7cd6e6ed85-s.p.3bh2vc0w-r-ll.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins Fallback;src:local(Arial);ascent-override:93.62%;descent-override:31.21%;line-gap-override:8.92%;size-adjust:112.16%}.poppins_27c1d5ca-module__9rNIbG__className{font-family:Poppins,Poppins Fallback;font-style:normal}.poppins_27c1d5ca-module__9rNIbG__variable{--font-poppins:"Poppins", "Poppins Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.3hlisc-pwq13z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/26f284dcc38c84c0-s.3hlisc-pwq13z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3_z45zcoc-xoz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_4689ec65-module__WOmaXq__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_4689ec65-module__WOmaXq__variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--color-bg:#f4f6f8;--color-surface:#fff;--color-ink:#1f2937;--color-muted:#667085;--color-line:#e4e7ec;--color-ok:#2f9e44;--color-ok-bg:#eaf7ec;--color-error:#d6483f;--color-error-bg:#fcedec;--navy:#1b3a6b;--navy-dark:#122a4e;--green:#5ca83c;--rose-bg:#fbf1f1;--tag-bg:#eef0f2;--font-sans:var(--font-poppins), "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono-stack:var(--font-mono), "JetBrains Mono", ui-monospace, monospace;--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--shadow-sm:0 3px 12px #122a4e0d;--shadow-md:0 12px 28px #122a4e17}*{box-sizing:border-box}.mono{font-family:var(--font-mono-stack)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}body{background:var(--color-bg);color:var(--color-ink);font-family:var(--font-sans);margin:0}h1,h2,h3{color:var(--navy-dark);margin:0;font-weight:600}button{font-family:inherit}a{color:var(--navy)}.sg-label{color:var(--color-muted);letter-spacing:.04em;font-size:11.5px;font-weight:700}.fbox{background:#f8f6f1;border-radius:7px;margin-bottom:10px;padding:9px 11px}.fbox-label{letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted);margin-bottom:3px;font-size:10.5px;font-weight:800}.fbox p{color:var(--color-ink);margin:0;font-size:12.5px;line-height:1.4}.cr-add{color:var(--navy);cursor:pointer;background:0 0;border:none;margin-top:2px;padding:2px 0;font-family:inherit;font-size:12px;font-weight:600}.cr-add:hover{text-decoration:underline}.link-btn{color:var(--navy);font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;margin:0;padding:0}.link-btn:hover{text-decoration:underline}.link-btn:focus-visible{outline:2px solid var(--navy);outline-offset:2px}main{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.status-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);text-align:center;width:100%;max-width:480px;box-shadow:var(--shadow-sm);padding:32px 36px}.status-card h1{margin:0 0 8px;font-size:20px}.status-card p.subtitle{color:var(--color-muted);margin:0 0 24px;font-size:13px}.status-badge{border-radius:20px;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:600;display:inline-flex}.status-badge.loading{background:var(--color-line);color:var(--color-muted)}.status-badge.available{background:var(--color-ok-bg);color:var(--color-ok)}.status-badge.unavailable{background:var(--color-error-bg);color:var(--color-error)}.status-detail{color:var(--color-muted);margin-top:16px;font-size:12.5px}.auth-form{text-align:left;flex-direction:column;gap:14px;margin-top:20px;display:flex}.auth-field{flex-direction:column;gap:6px;display:flex}.auth-field label{color:var(--color-muted);font-size:13px;font-weight:600}.auth-field input{border:1px solid var(--color-line);border-radius:8px;padding:10px 12px;font-size:14px}.auth-submit{background:var(--navy);color:#fff;cursor:pointer;border:none;border-radius:8px;margin-top:6px;padding:10px 16px;font-size:14px;font-weight:600}.auth-submit:hover:not(:disabled){background:var(--navy-dark)}.auth-submit:focus-visible{outline:2px solid var(--navy-dark);outline-offset:2px}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-error{color:var(--color-error);background:var(--color-error-bg);border-radius:8px;margin-top:4px;padding:10px 12px;font-size:13px}.app-shell{flex-direction:column;gap:12px;display:flex}.app-shell-actions{gap:10px;margin-top:16px;display:flex}.auth-secondary-button{border:1px solid var(--color-line);color:var(--color-ink);cursor:pointer;background:0 0;border-radius:8px;padding:8px 14px;font-family:inherit;font-size:13px;text-decoration:none;display:inline-block}.auth-secondary-button:hover{border-color:var(--navy)}.auth-secondary-button:focus-visible{outline:2px solid var(--navy);outline-offset:1px}.wide-card{text-align:left;max-width:860px}.wide-card h1{text-align:center}.app-shell-nav{gap:16px;margin-top:8px;font-size:13px;display:flex}.project-list{flex-direction:column;gap:8px;margin:16px 0;padding:0;list-style:none;display:flex}.project-row{border:1px solid var(--color-line);background:var(--color-surface);cursor:pointer;text-align:left;border-radius:8px;justify-content:space-between;align-items:center;width:100%;padding:12px 16px;font-size:14px;display:flex}.project-row-aggregate{border-color:var(--navy);margin-bottom:12px}.project-row-tag{color:var(--color-muted);font-size:12px}.section-title{margin:24px 0 8px;font-size:15px}.inline-form{gap:8px;display:flex}.data-table-wrap{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);margin:12px 0;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:12.5px}.data-table th{text-align:left;letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted);border-bottom:1px solid var(--color-line);white-space:nowrap;background:linear-gradient(#fbfcfd 0%,#f5f7f9 100%);padding:11px 14px;font-size:10.5px;font-weight:600}.data-table td{text-align:left;border-bottom:1px solid var(--color-line);padding:11px 14px}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:#fafbfc}.data-table-actions{flex-wrap:wrap;gap:6px;display:flex}.data-table-actions-nowrap{text-align:center;white-space:nowrap}.data-table-actions-group{align-items:center;gap:6px;display:inline-flex}.data-table-truncate{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.data-table th.data-table-num,.data-table td.data-table-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.data-table-pct{white-space:nowrap;font-family:var(--font-mono-stack);align-items:baseline;gap:2px;font-size:12px;display:inline-flex}.checkbox-list{border:1px solid var(--color-line);border-radius:6px;margin:8px 0;padding:10px 12px}.checkbox-list legend{padding:0 4px;font-size:13px;font-weight:600}.checkbox-list-item{padding:3px 0;font-size:13px;display:block}.checkbox-list-item input{margin-right:6px}.checkbox-list-tag{color:#8a8f98;font-style:italic}.checkbox-list-empty{color:#8a8f98;margin:0;font-size:13px}.checkbox-list-group-legend{justify-content:space-between;align-items:baseline;gap:12px;width:100%;display:flex}.checkbox-list-group-actions{white-space:nowrap;font-size:12px;font-weight:400}.wizard-steps{color:var(--color-muted);flex-wrap:wrap;gap:12px;margin:16px 0;font-size:12px;display:flex}.wizard-step-active{color:var(--color-ink);font-weight:600}.print-only{display:none}.dashboard-shell{max-width:1180px}.dashboard-empty{background:var(--color-bg);color:var(--color-muted);border-radius:8px;margin:12px 0;padding:14px 16px;font-size:13.5px}.area-tabs{flex-wrap:wrap;gap:8px;margin:16px 0;display:flex;overflow-x:auto}.area-tab{border:1px solid var(--color-line);background:var(--color-surface);color:var(--color-ink);cursor:pointer;white-space:nowrap;border-radius:20px;padding:8px 14px;font-size:13px}.area-tab-active{background:var(--navy);border-color:var(--navy);color:#fff;font-weight:600}.dashboard-card{border:1px solid var(--color-line);background:var(--color-surface);border-radius:10px;margin:14px 0;padding:16px 18px}.dashboard-card h2{margin:0 0 10px;font-size:15px}.synthetic-header{cursor:pointer;text-align:left;width:100%;color:var(--color-ink);background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;padding:0;font-family:inherit;font-size:14px;display:flex}.synthetic-badge{background:var(--color-line);color:var(--color-muted);border-radius:14px;padding:4px 12px;font-size:13px;font-weight:600}.synthetic-badge-alert{background:var(--color-error-bg);color:var(--color-error)}.kpi-rows{flex-direction:column;gap:14px;margin:12px 0;display:flex}.kpi-row-label{margin-bottom:6px;font-size:13px;font-weight:600}.kpi-row-dimmed{opacity:.6}.kpi-cards{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;display:grid}.kpi-card{border:1px solid var(--color-line);background:var(--color-bg);border-radius:8px;padding:8px 10px}.kpi-card-label{color:var(--color-muted);text-transform:uppercase;letter-spacing:.02em;font-size:10.5px}.kpi-card-value{margin-top:2px;font-size:14px;font-weight:600}.kpi-card-value-muted{color:var(--color-muted);font-size:12px;font-style:italic;font-weight:400}.bullet-chart{flex-direction:column;gap:12px;margin:10px 0;display:flex}.bullet-row{grid-template-columns:minmax(90px,160px) 1fr;align-items:center;gap:10px;display:grid}.bullet-row-label{text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.bullet-track{background:0 0;height:22px;position:relative}.bullet-meta{background:#c8d1db;border-radius:4px;height:16px;position:absolute;top:3px;left:0}.bullet-realizado{background:#1f3a5f;border-radius:4px;height:8px;position:absolute;top:7px;left:0}.bullet-value{color:var(--color-muted);margin-left:4px;font-size:11px}.legend-row{color:var(--color-muted);gap:16px;margin-bottom:6px;font-size:12px;display:flex}.legend-swatch{vertical-align:middle;border-radius:2px;width:10px;height:10px;margin-right:5px;display:inline-block}.product-bars{flex-direction:column;gap:8px;margin-top:10px;display:flex}.product-bar-track{background:var(--color-bg);border-radius:4px;height:14px;overflow:hidden}.product-bar-fill{background:var(--navy);height:100%}.stacked-bars{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:10px;display:grid}.stacked-bar-group h3{margin:0 0 8px;font-size:13px}.stacked-bar-track{border:1px solid var(--color-line);border-radius:6px;height:22px;display:flex;overflow:hidden}.stacked-bar-segment{height:100%}.status-concluido{background:var(--color-ok)}.status-em_andamento{background:var(--navy)}.status-nao_iniciado{background:#b0b8c1}.status-em_atraso{background:var(--color-error)}.stacked-bar-legend{color:var(--color-muted);flex-wrap:wrap;gap:10px;margin-top:8px;font-size:11.5px;display:flex}.italic-muted{color:var(--color-muted);font-style:italic}@media (max-width:640px){.bullet-row{grid-template-columns:1fr}}.field{text-align:left;margin-bottom:14px}.field label{color:var(--color-ink);margin-bottom:5px;font-size:12px;font-weight:600;display:block}.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea{border:1px solid var(--color-line);width:100%;color:var(--color-ink);background:#fff;border-radius:7px;padding:10px 12px;font-family:inherit;font-size:13.5px}.field textarea{resize:vertical;min-height:64px}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:2px solid var(--navy);outline-offset:1px}.field-hint{color:var(--color-muted);margin-top:4px;font-size:11.5px}.grid2{grid-template-columns:1fr 1fr;gap:14px;display:grid}.grid3{grid-template-columns:1fr 1fr 1fr;gap:14px;display:grid}.grid4{grid-template-columns:1fr 1fr 1fr 1fr;gap:14px;display:grid}.grid6{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}.fieldCompact label{white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;overflow:hidden}.fieldCompact input:not([type=checkbox]):not([type=radio]),.fieldCompact select{padding:8px;font-size:12px}@media (max-width:760px){.grid6{grid-template-columns:1fr 1fr 1fr}}@media (max-width:560px){.grid2,.grid3,.grid4,.grid6{grid-template-columns:1fr}}.modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.btn-cancel{border:1px solid var(--color-line);cursor:pointer;color:var(--color-ink);background:#fff;border-radius:7px;padding:10px 18px;font-family:inherit;font-size:13.5px;font-weight:600}.btn-cancel:hover{border-color:var(--navy)}.btn-save{background:var(--navy-dark);color:#fff;cursor:pointer;border:none;border-radius:7px;padding:10px 20px;font-family:inherit;font-size:13.5px;font-weight:700}.btn-save:hover:not(:disabled){background:var(--navy)}.btn-save:disabled{opacity:.65;cursor:not-allowed}.btn-cancel:focus-visible,.btn-save:focus-visible{outline:2px solid var(--navy);outline-offset:2px}.form-error{color:var(--color-error);background:var(--color-error-bg);border-radius:8px;margin:0 0 14px;padding:10px 12px;font-size:13px}.listbox{border:1px solid var(--color-line);border-radius:8px;max-height:170px;padding:6px 4px;overflow-y:auto}.listbox label{border-radius:5px;align-items:center;gap:9px;margin:0;padding:6px 10px;font-size:12.5px;font-weight:400;display:flex}.listbox label:hover{background:var(--color-bg)}.listbox input[type=checkbox]{border:none;flex:none;width:auto;padding:0}.page-head-hero{background:linear-gradient(155deg, var(--navy-dark) 0%, var(--navy) 130%);border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-md);margin-bottom:26px;padding:34px 28px}.page-head-hero .eyebrow{letter-spacing:.1em;text-transform:uppercase;color:#8faddd;margin-bottom:10px;font-size:12px;font-weight:700}.page-head-hero h1{color:#fff;margin:0;font-size:28px;font-weight:700}.page-head-hero p{color:#c7d3e8;max-width:60ch;margin:12px auto 0;font-size:14px;line-height:1.5}.section-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--green);margin-bottom:4px;font-size:11px;font-weight:700}.section-title{color:var(--navy-dark);margin:0;font-size:18px}.section-divider{border-top:1px solid var(--color-line);margin:36px 0 18px;padding-top:24px}.proj-meta-strip{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:0 0 34px;display:grid}.pm-box{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);padding:14px 16px;transition:transform .15s,box-shadow .15s}.pm-box:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.pm-l{color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px;font-size:11px}.pm-v{color:var(--color-ink);font-size:13.5px;font-weight:600;line-height:1.4}.catalog-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:36px;display:grid}.catalog-grid-base{grid-template-columns:repeat(3,minmax(240px,1fr))}@media (max-width:760px){.catalog-grid-base{grid-template-columns:1fr}}.catalog-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);color:inherit;box-shadow:var(--shadow-sm);padding:16px;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s;display:block}a.catalog-card:hover{border-color:var(--navy);box-shadow:var(--shadow-md);transform:translateY(-2px)}a.catalog-card:focus-visible{outline:2px solid var(--navy);outline-offset:2px}.cc-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.cc-head h3{color:var(--color-ink);margin:0;font-size:14px}.catalog-row{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:center;padding:8px 2px;font-size:12.5px;display:flex}.catalog-row:last-child{border-bottom:none}.catalog-row .cr-code{font-family:var(--font-mono-stack);color:var(--color-muted);margin-right:8px;font-size:11px}.catalog-row .cr-actions{color:var(--color-muted);flex:none;gap:8px;display:flex}.catalog-row .cr-actions button{color:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:12px;font-weight:600}.catalog-row .cr-actions button:hover{color:var(--navy);text-decoration:underline}.segment-tabs{flex-wrap:wrap;justify-content:center;gap:8px;margin:26px 0 22px;display:flex}.seg-tab{border:1px solid var(--color-line);color:var(--color-ink);cursor:pointer;background:#fff;border-radius:8px;padding:9px 18px;font-family:inherit;font-size:13.5px;font-weight:600;text-decoration:none;display:inline-block}.seg-tab:hover:not(.seg-tab-active){border-color:var(--navy)}.seg-tab-active{background:var(--navy-dark);color:#fff;border-color:var(--navy-dark)}.btn-new{background:var(--navy-dark);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;padding:11px 18px;font-family:inherit;font-size:13.5px;font-weight:700;text-decoration:none;display:inline-flex}.btn-new:hover{background:var(--navy)}.btn-new:focus-visible{outline:2px solid var(--navy-dark);outline-offset:2px}.btn-sm{border-radius:var(--radius-sm);border:1px solid var(--color-line);cursor:pointer;color:var(--color-ink);background:#fff;align-items:center;gap:5px;padding:7px 13px;font-family:inherit;font-size:12.5px;font-weight:600;display:inline-flex}.btn-sm:disabled{opacity:.5;cursor:not-allowed}.btn-sm:hover{border-color:var(--navy)}.btn-sm:focus-visible{outline:2px solid var(--navy);outline-offset:1px}.btn-sm.primary{background:var(--navy);color:#fff;border-color:var(--navy)}.btn-outline{border:1px solid var(--color-line);color:var(--color-ink);cursor:pointer;background:#fff;border-radius:7px;align-items:center;gap:6px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.btn-outline:hover{border-color:var(--navy)}.btn-outline:focus-visible{outline:2px solid var(--navy);outline-offset:1px}.new-row{justify-content:flex-end;gap:10px;margin-bottom:18px;display:flex}.empty-note{color:var(--color-muted);padding:10px 2px;font-size:12.5px}.card-toggle-btn{border-radius:var(--radius-sm);border:1px solid var(--color-line);background:var(--color-bg);width:100%;color:var(--color-ink);cursor:pointer;justify-content:space-between;align-items:center;gap:8px;margin-top:14px;padding:10px 14px;font-family:inherit;font-size:12.5px;font-weight:700;display:flex}.card-toggle-btn:hover{border-color:var(--navy)}.card-toggle-btn:focus-visible{outline:2px solid var(--navy);outline-offset:1px}.db-cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.db-cards-ab{grid-template-columns:1fr 1fr}@media (max-width:760px){.db-cards-ab{grid-template-columns:1fr}}.db-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:18px 20px}.db-card-head{color:var(--navy-dark);border-bottom:1px solid var(--color-line);align-items:center;gap:8px;margin-bottom:14px;padding-bottom:10px;font-size:13.5px;font-weight:700;display:flex}.db-row{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:center;gap:10px;padding:9px 0;font-size:12.5px;display:flex}.db-row:last-child{border-bottom:none}.db-row .db-label{color:var(--color-muted)}.db-row .db-value{color:var(--color-ink);font-weight:700;font-family:var(--font-mono-stack);text-align:right}.db-value-variation{color:var(--color-muted);font-size:.9em;font-weight:600}.db-row .db-value.db-value-stack{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.db-diag-cols{grid-template-columns:1fr 1fr;gap:20px;padding-top:2px;display:grid}@media (max-width:760px){.db-diag-cols{grid-template-columns:1fr}}.db-diag-col{flex-direction:column;gap:6px;padding:9px 0;font-size:12.5px;display:flex}.db-diag-col+.db-diag-col{border-left:1px solid var(--color-line);padding-left:20px}@media (max-width:760px){.db-diag-col+.db-diag-col{border-left:none;border-top:1px solid var(--color-line);padding-top:16px;padding-left:0}}.db-diag-col .db-label{color:var(--color-muted)}.db-diag-col .db-value{color:var(--color-ink);font-weight:700;font-family:var(--font-mono-stack);text-align:left;white-space:pre-wrap;word-break:break-word}.compare-filters{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-wrap:wrap;gap:16px;margin-bottom:20px;padding:16px 20px;display:flex}.compare-filters .field{flex:1;min-width:150px;margin-bottom:0}.compare-scroll-wrap{align-items:flex-start;gap:8px;max-width:100%;display:flex}.compare-arrow{border:1px solid var(--color-line);cursor:pointer;width:34px;height:34px;color:var(--color-muted);background:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;margin-top:70px;display:flex}.compare-arrow:hover{border-color:var(--navy);color:var(--navy)}.compare-scroll{scroll-behavior:smooth;flex:1;gap:16px;min-width:0;padding-bottom:8px;display:flex;overflow-x:auto}.compare-col{flex-direction:column;flex:none;gap:12px;width:270px;display:flex}.compare-col-head{background:var(--navy-dark);color:#fff;border-radius:var(--radius-sm);padding:14px 16px;font-size:14px;font-weight:700}.compare-gap-alert .db-value{color:var(--color-error)}.compare-months-wrap{max-height:220px;overflow-y:auto}@media (max-width:640px){.compare-arrow{display:none}.compare-col{width:240px}}.screen-projects{background:var(--color-bg);min-height:100vh;padding:60px 20px}.proj-wrap{max-width:640px;margin:0 auto}.proj-wrap .brand-logo{text-align:left;color:var(--navy-dark);letter-spacing:-.02em;font-size:22px;font-weight:800}.proj-wrap .brand-logo span{color:var(--green)}.proj-wrap h1{margin:26px 0 4px;font-size:20px}.proj-wrap .sub{color:var(--color-muted);margin-bottom:26px;font-size:13.5px}.proj-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);cursor:pointer;text-align:left;width:100%;box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;margin-bottom:12px;padding:18px 20px;font-family:inherit;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex}.proj-card:hover{box-shadow:var(--shadow-md);border-color:var(--navy);transform:translateY(-2px)}.proj-card:focus-visible{outline:2px solid var(--navy);outline-offset:2px}.proj-name{color:var(--navy-dark);font-size:15px;font-weight:700}.proj-period{color:var(--color-muted);margin-top:3px;font-size:12px}.proj-status{background:var(--color-ok-bg);color:var(--color-ok);white-space:nowrap;border-radius:12px;padding:4px 10px;font-size:11px;font-weight:700}.proj-status.planning{background:var(--tag-bg);color:var(--color-muted)}.proj-new{border:1.5px dashed var(--color-line);text-align:left;width:100%;color:var(--color-muted);cursor:pointer;background:0 0;border-radius:10px;margin-top:6px;padding:16px 20px;font-family:inherit;font-size:14px;font-weight:600;text-decoration:none;display:block}.proj-new:hover{border-color:var(--navy);color:var(--navy)}.proj-new:focus-visible{outline:2px solid var(--navy);outline-offset:2px}@page{size:landscape}@media print{.no-print{display:none!important}.print-only{display:block}.print-area{box-shadow:none;border:none}html,body{height:auto!important;overflow:visible!important}.data-table tr{break-inside:avoid}}
