:root{color-scheme:light;--bg: #f2fcf5;--surface: #ffffff;--surface-soft: #ecf6ef;--surface-green: #e6f4ec;--nav: #003820;--nav-strong: #002817;--text: #151d19;--muted: #5a675f;--line: #dde7e0;--green: #0f5132;--green-2: #006b5d;--blue: #235c72;--cyan: #1e9c89;--gold: #8a630b;--red: #b42318;--shadow: 0 4px 12px rgba(15, 81, 50, .06);font-family:Noto Sans SC,Alibaba PuHuiTi,HarmonyOS Sans SC,MiSans,Microsoft YaHei,PingFang SC,sans-serif;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:1200px;min-height:100vh;background:var(--bg);color:var(--text)}button,select,input,textarea{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:34px;padding:0 14px;border:1px solid transparent;border-radius:6px;background:var(--green);color:#fff;cursor:pointer;text-decoration:none;transition:background .18s ease,border-color .18s ease,transform .18s ease}button:hover,.button:hover{background:#0f6a41;transform:translateY(-1px)}button.secondary,.button.secondary{background:#fff;color:var(--green);border-color:var(--line)}button.ghost,.button.ghost{background:transparent;color:var(--blue);border-color:var(--line)}select,input{min-height:34px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:0 10px;color:var(--text)}.app-shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}.side-nav{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;background:var(--nav);color:#d7e8e2;padding:0;overflow-y:auto;box-shadow:4px 0 14px #0038202e}.side-nav__brand{display:flex;align-items:center;gap:12px;padding:30px 24px 28px;border-bottom:1px solid rgba(31,95,64,.78)}.side-nav__brand strong{display:block;color:#fff;font-size:16px}.side-nav__brand span{display:block;color:#84c39bb8;font-size:12px;margin-top:8px}.side-nav__logo{width:40px;height:40px;display:grid;place-items:center;flex:0 0 auto;border-radius:8px;color:var(--nav);background:#f7faf8;box-shadow:0 2px 8px #0000001f}.side-nav nav{display:grid;flex:1;align-content:start;gap:6px;overflow-y:auto;padding:20px 10px}.side-nav a{display:flex;align-items:center;gap:13px;min-height:40px;padding:0 18px;color:#ffffffad;text-decoration:none;border-radius:8px;border:1px solid transparent;font-size:14px;font-weight:600}.side-nav a:hover{color:#fff;background:#0f5132b8}.side-nav a.active{color:#fff;background:#775a1a;border-color:transparent;box-shadow:0 8px 20px #00000024}.side-nav__user{display:flex;align-items:center;gap:12px;padding:18px 20px;border-top:1px solid rgba(31,95,64,.78)}.side-nav__avatar{display:grid;width:36px;height:36px;place-items:center;border-radius:999px;color:#84c39b;background:#0f5132eb}.side-nav__user strong{display:block;color:#fff;font-size:13px}.side-nav__user span:not(.side-nav__avatar){display:block;margin-top:3px;color:#84c39bb8;font-size:11px}.app-main{min-width:0;display:flex;flex-direction:column}.top-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:72px;padding:0 24px;background:#fffffff5;border-bottom:1px solid var(--line);box-shadow:0 1px 6px #151d1914;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.top-header__title strong{display:block;color:var(--green);font-size:24px;line-height:1.25;font-weight:800}.top-header__scope{display:flex;align-items:center;gap:18px;margin-top:3px;color:var(--text);font-size:13px;font-weight:700}.top-header__scope>span{padding-bottom:4px;border-bottom:2px solid var(--green)}.top-header__actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;color:var(--muted);font-size:13px;white-space:nowrap}.top-header__status>span,.role-switcher{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:var(--surface-soft)}.top-header__button{min-height:44px;padding:0 16px;border-color:#b8c8bf;color:var(--green);background:#fff;font-weight:700}.top-header__button--primary{color:#fff;background:var(--green);border-color:var(--green)}.top-header__button--primary:hover{background:#0b4429}.top-header__icon-button{width:38px;min-height:38px;padding:0;border:0;border-radius:999px;color:#21312b;background:transparent}.top-header__icon-button:hover{color:var(--green);background:var(--surface-soft)}.role-switcher select{min-height:24px;border:0;padding:0;background:transparent}.mock-banner{margin:0;border:0;border-bottom:1px solid #8a630b;border-radius:0;color:#271900;background:#ffdea5;padding:11px 18px;font-size:13px;font-weight:700;text-align:center}.content-area{padding:24px 26px 92px}.content-area--big-screen{padding:18px 24px 30px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px}.page-header h1{margin:7px 0;font-size:26px;line-height:1.2}.page-header p{margin:0;color:var(--muted);max-width:760px;line-height:1.7}.page-header__eyebrow{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:5px;background:#dff2e9;color:var(--green);font-size:12px;font-weight:700}.page-header__actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.section-grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.metric-card,.panel,.table-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.metric-card{padding:16px;min-height:114px;border-top:3px solid var(--green)}.metric-card--blue{border-top-color:var(--blue)}.metric-card--cyan{border-top-color:var(--cyan)}.metric-card--gold{border-top-color:var(--gold)}.metric-card--red{border-top-color:var(--red)}.metric-card__label{color:var(--muted);font-size:13px}.metric-card__value{margin-top:9px;font-size:30px;line-height:1;font-weight:800}.metric-card__value span{margin-left:4px;color:var(--muted);font-size:14px;font-weight:600}.metric-card__helper{margin-top:10px;color:var(--muted);font-size:12px}.panel,.table-panel{padding:16px}.mock-module-card{display:grid;min-height:150px;align-content:center;gap:12px;color:#181c1b}.mock-module-card svg{color:var(--green)}.mock-module-card span{color:var(--muted);font-size:13px;font-weight:700}.mock-module-card strong{color:var(--text);font-size:22px;line-height:1.35}.plan-generation-page{display:grid;max-width:1680px;margin:0 auto;gap:16px;color:#181c1b}.plan-generation-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.plan-generation-hero h1{margin:7px 0;color:#111d18;font-size:28px;line-height:1.25;font-weight:900}.plan-generation-hero p{max-width:780px;margin:0;color:#404942;font-size:14px;line-height:1.7}.plan-generation-hero__actions,.plan-generation-submit-bar>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.plan-generation-action{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:8px;padding:0 16px;border:1px solid #c0c9c0;border-radius:8px;background:#fff;color:#0f5132;font-size:14px;font-weight:900;text-decoration:none;white-space:nowrap;box-shadow:0 2px 8px #0f51320a}button.plan-generation-action:hover,a.plan-generation-action:hover{border-color:#95d4ac;background:#f7faf8;color:#003820}.plan-generation-action--primary{border-color:#003820;background:#003820;color:#fff}button.plan-generation-action--primary:hover,a.plan-generation-action--primary:hover{border-color:#0f5132;background:#0f5132;color:#fff}.plan-generation-action--soft{border-color:#95d4ac;background:#e8f7ee}.plan-generation-action--ghost{background:#fff}.plan-generation-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.plan-generation-kpi{display:grid;min-width:0;min-height:116px;align-content:center;gap:9px;padding:18px 20px;border:1px solid #d6e0da;border-left:4px solid #0f5132;border-radius:8px;background:#fff;box-shadow:0 3px 12px #0f51320d}.plan-generation-kpi--cyan{border-left-color:#1e9c89}.plan-generation-kpi--gold{border-left-color:#c28a17}.plan-generation-kpi--red{border-left-color:#ba1a1a}.plan-generation-kpi span{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#404942;font-size:13px;font-weight:800}.plan-generation-kpi span svg{color:#0f5132}.plan-generation-kpi--cyan span svg{color:#1e9c89}.plan-generation-kpi--gold span svg{color:#9b6b08}.plan-generation-kpi--red span svg{color:#ba1a1a}.plan-generation-kpi strong{color:#101c17;font-size:32px;line-height:1;font-weight:900}.plan-generation-kpi small{overflow:hidden;color:#707971;font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.plan-generation-workspace{display:grid;grid-template-columns:minmax(430px,.92fr) minmax(430px,1.08fr);gap:16px;align-items:start}.plan-generation-panel{min-width:0;overflow:hidden;border:1px solid #cbd8d0;border-radius:8px;background:#fff;box-shadow:0 3px 12px #0f51320d}.plan-generation-panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid #dfe7e2;background:#f7faf8}.plan-generation-panel__header h2{display:flex;align-items:center;gap:9px;margin:0;color:#0b2e1d;font-size:19px;line-height:1.35;font-weight:900}.plan-generation-panel__header h2 svg{color:#0f5132}.plan-generation-panel__header p{margin:5px 0 0;color:#707971;font-size:12px;font-weight:700;line-height:1.5}.plan-generation-config{padding-bottom:20px}.plan-generation-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 16px;padding:20px}.plan-generation-field{display:grid;min-width:0;gap:7px}.plan-generation-field--wide{grid-column:1 / -1}.plan-generation-field span,.plan-generation-rule-state>span{color:#404942;font-size:12px;font-weight:900}.plan-generation-field select,.plan-generation-field input{min-width:0;min-height:44px;border-color:#c0c9c0;border-radius:8px;background-color:#fbfdfc;font-weight:700}.plan-generation-field select:focus,.plan-generation-field input:focus{border-color:#0f5132;box-shadow:0 0 0 2px #0f513224;outline:0}.plan-generation-segment{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.plan-generation-segment button{width:100%;min-width:0;min-height:42px;padding:0 10px;border-color:#c0c9c0;border-radius:8px;background:#fff;color:#404942;font-weight:900;box-shadow:none}.plan-generation-segment button:hover,.plan-generation-segment button.is-active{border-color:#0f5132;background:#e8f7ee;color:#003820;transform:none}.plan-generation-rule-state{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:0 20px;padding:15px 0;border-top:1px solid #e1e8e3;border-bottom:1px solid #e1e8e3}.plan-generation-rule-state label{display:inline-flex;align-items:center;gap:7px;color:#181c1b;font-size:14px;font-weight:800}.plan-generation-rule-state input,.plan-generation-switch-list input{accent-color:#0f5132}.plan-generation-preference{display:grid;gap:14px;padding:18px 20px 0}.plan-generation-preference h3{display:flex;align-items:center;gap:8px;margin:0;color:#5d4202;font-size:17px;font-weight:900}.plan-generation-switch-list{display:grid;gap:10px}.plan-generation-switch-list label{display:flex;min-height:38px;align-items:center;gap:9px;padding:0 12px;border:1px solid #e0d6bd;border-radius:8px;background:#fffaf0;color:#271900;font-size:13px;font-weight:800}.plan-generation-preference p{margin:0;color:#704f09;font-size:12px;font-weight:700;line-height:1.7}.plan-generation-cockpit{display:grid;gap:16px}.plan-generation-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px 20px}.plan-generation-summary-grid article{display:grid;gap:8px;padding:14px;border:1px solid #dfe7e2;border-radius:8px;background:#fbfdfc}.plan-generation-summary-grid span{color:#404942;font-size:12px;font-weight:800}.plan-generation-summary-grid strong{color:#003820;font-size:29px;line-height:1;font-weight:900}.plan-generation-summary-grid small{margin-left:4px;color:#404942;font-size:13px;font-weight:800}.plan-generation-confidence{display:flex;align-items:center;gap:18px;margin:0 20px 20px;padding:16px;border:1px solid #efd18b;border-radius:8px;background:#fffbf1}.plan-generation-confidence__ring{--confidence: 98%;position:relative;display:grid;width:112px;height:112px;flex:0 0 auto;place-items:center;border-radius:999px;background:conic-gradient(#c28a17 var(--confidence),#eadfca 0)}.plan-generation-confidence__ring:after{position:absolute;top:10px;right:10px;bottom:10px;left:10px;border-radius:inherit;background:#fff;content:""}.plan-generation-confidence__ring strong,.plan-generation-confidence__ring span{position:relative;z-index:1;display:block;text-align:center}.plan-generation-confidence__ring strong{align-self:end;color:#5d4202;font-size:23px;line-height:1;font-weight:900}.plan-generation-confidence__ring span{align-self:start;margin-top:4px;color:#704f09;font-size:12px;font-weight:900}.plan-generation-confidence p{margin:0;color:#404942;font-size:14px;font-weight:700;line-height:1.8}.plan-generation-confidence b{color:#9b6b08}.plan-generation-alert-list{display:grid;gap:12px;padding:18px 20px 20px}.plan-generation-alert{display:grid;gap:8px;padding:14px;border:1px solid #ead9a5;border-radius:8px;background:#fffaf0}.plan-generation-alert--red{border-color:#f2c2bd;background:#fff3f1}.plan-generation-alert strong{color:#6c4a05;font-size:15px;line-height:1.35}.plan-generation-alert--red strong{color:#ba1a1a}.plan-generation-alert p{margin:0;color:#2f3b36;font-size:13px;line-height:1.7}.plan-generation-alert button{justify-self:start;min-height:32px;padding:0;border:0;background:transparent;color:#0f5132;font-size:13px;font-weight:900;box-shadow:none}.plan-generation-alert button:hover{background:transparent;color:#003820;transform:none}.plan-generation-flow{padding-bottom:18px}.plan-generation-flow .plan-generation-panel__header{align-items:center}.plan-generation-stepper{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:18px 20px 0}.plan-generation-step{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);min-width:0;gap:10px;padding:14px;border:1px solid #dfe7e2;border-radius:8px;background:#fbfdfc}.plan-generation-step:after{position:absolute;top:50%;right:-11px;width:11px;height:1px;background:#c0c9c0;content:""}.plan-generation-step:last-child:after{display:none}.plan-generation-step__index{display:grid;width:28px;height:28px;place-items:center;border-radius:999px;background:#e6e9e7;color:#404942;font-size:13px;font-weight:900}.plan-generation-step strong{display:block;color:#181c1b;font-size:14px;font-weight:900}.plan-generation-step small{display:block;margin-top:4px;overflow:hidden;color:#707971;font-size:12px;font-weight:700;line-height:1.45;text-overflow:ellipsis}.plan-generation-step--done{border-color:#b9ddc9;background:#edf8f1}.plan-generation-step--done .plan-generation-step__index{background:#0f5132;color:#fff}.plan-generation-step--active{border-color:#1e9c89;background:#eefbf8;box-shadow:inset 0 3px #1e9c89}.plan-generation-step--active .plan-generation-step__index{background:#1e9c89;color:#fff}.plan-generation-step--warn{border-color:#e3bd62;background:#fff9e8}.plan-generation-step--warn .plan-generation-step__index{background:#c28a17;color:#fff}.plan-generation-step--pending{background:#fff}.plan-generation-draft .plan-generation-panel__header{align-items:center}.plan-generation-link{display:inline-flex;align-items:center;gap:6px;color:#0f5132;font-size:13px;font-weight:900;text-decoration:none;white-space:nowrap}.plan-generation-link:hover{color:#003820}.plan-generation-table-wrap{overflow:auto}.plan-generation-table{width:100%;min-width:1100px;border-collapse:collapse}.plan-generation-table th{padding:14px 16px;border-bottom:1px solid #dfe7e2;color:#0f5132;background:#eaf3ef;font-size:13px;font-weight:900;text-align:left;white-space:nowrap}.plan-generation-table td{padding:14px 16px;border-bottom:1px solid #edf2ef;color:#263630;font-size:13px;line-height:1.5;vertical-align:middle}.plan-generation-table tbody tr:nth-child(2n) td{background:#fbfdfc}.plan-generation-table tbody tr:hover td{background:#f1f8f4}.plan-generation-table td strong,.plan-generation-table td small{display:block}.plan-generation-table td strong{color:#111d18;font-size:13px;font-weight:900}.plan-generation-table td small{margin-top:4px;color:#707971;font-size:12px;font-weight:700}.plan-generation-submit-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid #cbd8d0;border-radius:8px;background:#fbfdfc;box-shadow:0 3px 12px #0f51320d}@media(max-width:1500px){.plan-generation-workspace{grid-template-columns:minmax(0,1fr)}.plan-generation-cockpit{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-generation-stepper{grid-template-columns:repeat(5,minmax(150px,1fr));overflow-x:auto}}.panel__header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.panel h2,.table-panel h2{margin:0;font-size:17px}.panel p{color:var(--muted);line-height:1.7}.filter-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:12px;margin-bottom:14px}.data-table{width:100%;overflow:auto}.data-table table{width:100%;min-width:820px;border-collapse:collapse}.data-table th{color:#50615d;background:#f2f7f5;text-align:left;font-size:13px;font-weight:700;padding:11px 12px;border-bottom:1px solid var(--line);white-space:nowrap}.data-table td{padding:12px;border-bottom:1px solid #edf2ef;color:#283a36;font-size:13px;vertical-align:middle}.data-table--compact td,.data-table--compact th{padding:9px 10px}.data-table tr:hover td{background:#fbfdfc}.data-table__empty{text-align:center;color:var(--muted)}.status-tag{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:5px;font-size:12px;border:1px solid #dae4df;background:#f6faf8;color:#41514d;white-space:nowrap}.status-tag--green{color:#0b6b42;border-color:#bfe4d0;background:#e8f7ee}.status-tag--blue{color:#24557a;border-color:#c8dced;background:#eaf3fa}.status-tag--cyan{color:#0b7480;border-color:#bce4e8;background:#e5f7f8}.status-tag--gold{color:#84620d;border-color:#ead9a5;background:#fff7da}.status-tag--red{color:#9f302b;border-color:#f0c0bc;background:#fff0ee}.status-tag--gray{color:#58625f;background:#eef2f1}.progress-bar{width:100%;height:8px;border-radius:999px;background:#e5eee9;overflow:hidden}.progress-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green),var(--cyan))}.flow-list{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.flow-node{padding:13px;border-radius:7px;border:1px solid var(--line);background:var(--surface-soft);color:var(--text);text-align:left;cursor:pointer}.flow-node strong{display:block;margin-bottom:6px}.flow-node small{color:var(--muted);line-height:1.5}.flow-node:hover{border-color:#b5d8c8;background:#f8fcfa}.source-card{position:relative;display:grid;gap:4px;padding:11px 32px 11px 12px;border:1px solid var(--line);border-radius:7px;background:var(--surface-soft);color:var(--text);text-decoration:none}.source-card span{color:var(--cyan);font-size:12px;font-weight:700}.source-card small{color:var(--muted)}.source-card svg{position:absolute;top:12px;right:12px;color:var(--muted)}.source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.split-workspace{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr) minmax(320px,.95fr);gap:14px;align-items:start}.contract-text{max-height:560px;overflow:auto;line-height:1.8;color:#2b3f3a;background:#fbfdfc;border:1px solid var(--line);border-radius:7px;padding:14px;white-space:pre-wrap}.contract-text mark{background:#fff1b8;color:#5c450b;padding:2px 4px;border-radius:4px}.field-list{display:grid;gap:10px}.field-row{display:grid;grid-template-columns:120px minmax(0,1fr) 62px;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:7px;background:#fbfdfc}.field-row span:first-child,.field-row span:last-child{color:var(--muted);font-size:12px}.rule-review-page{display:flex;flex-direction:column;gap:18px}.rule-review-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(280px,1.08fr);gap:14px}.rule-review-metric,.rule-review-ops,.rule-review-panel{background:#fff;border:1px solid #c7d4cc;border-radius:8px;box-shadow:0 4px 12px #0f513212}.rule-review-metric{display:flex;align-items:center;justify-content:space-between;min-height:104px;padding:20px 22px}.rule-review-metric--danger{border-color:#ffc5c0;box-shadow:0 5px 16px #ba1a1a14}.rule-review-metric span,.rule-review-ops span{display:block;color:#293a34;font-size:15px;font-weight:700}.rule-review-metric strong{display:block;margin-top:11px;color:#003820;font-size:34px;line-height:1;font-weight:800}.rule-review-metric--danger strong{color:#ba1a1a}.rule-review-metric strong small{margin-left:7px;color:#5a675f;font-size:14px;font-weight:700}.rule-review-metric__value--gold{color:#855300!important}.rule-review-metric__icon{display:grid!important;width:56px;height:56px;place-items:center;border-radius:999px}.rule-review-metric__icon--green{color:#0f5132;background:#b0f1c7}.rule-review-metric__icon--red{color:#ba1a1a;background:#ffdad6}.rule-review-metric__icon--gold{color:#855300;background:#ffddb8}.rule-review-ops{display:flex;flex-direction:column;justify-content:center;gap:14px;min-height:104px;padding:18px 20px}.rule-review-ops small{display:block;margin-top:5px;color:#707971;font-size:12px;font-weight:600}.rule-review-ops__buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.rule-review-ops__buttons button{min-width:0;white-space:normal}.rule-review-workspace{display:grid;grid-template-columns:300px minmax(420px,1.08fr) minmax(380px,.98fr);gap:14px;align-items:stretch}.rule-review-panel{display:flex;min-width:0;min-height:680px;flex-direction:column;overflow:hidden}.rule-review-panel__header{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:76px;padding:16px 20px;border-bottom:1px solid #c0c9c0;background:#f7faf8}.rule-review-panel__header h2{margin:0;color:#123522;font-size:20px;line-height:1.25}.rule-review-panel__header p{margin:5px 0 0;color:#5a675f;font-size:12px;font-weight:700}.rule-review-panel__title-row{display:flex;align-items:center;gap:12px;min-width:0}.rule-review-panel__title-row svg,.rule-review-panel__header>svg{flex:0 0 auto;color:#0f5132}.rule-review-queue__body{display:grid;align-content:start;gap:18px;padding:12px}.rule-review-group__title{display:flex;align-items:center;gap:10px;padding:2px 8px 10px;color:#404942;font-size:12px;font-weight:800}.rule-review-group--danger .rule-review-group__title{color:#ba1a1a}.rule-review-group__title i{flex:1;height:1px;background:#d7dbd9}.rule-review-group--danger .rule-review-group__title i{background:#ba1a1a3d}button.rule-review-task{position:relative;display:grid;width:100%;justify-content:stretch;gap:8px;min-height:138px;padding:14px 14px 13px;border-color:#c0c9c0;border-radius:8px;background:#fbfdfc;color:#181c1b;text-align:left}button.rule-review-task:hover{border-color:#95d4ac;background:#f4fbf6}button.rule-review-task--active{border-color:#0f5132;background:#eefbf3;box-shadow:inset 4px 0 #0f5132}button.rule-review-task--conflict{border-color:#ba1a1a73;background:#fff8f7}button.rule-review-task--conflict:hover,button.rule-review-task--conflict.rule-review-task--active{border-color:#ba1a1a;box-shadow:inset 4px 0 #ba1a1a}.rule-review-task__topline,.rule-review-task__meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.rule-review-task__topline strong{color:#003820;font-size:12px;font-weight:800}.rule-review-task__topline em{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;background:#dff2e9;color:#0f5132;font-size:11px;font-style:normal;font-weight:800;white-space:nowrap}.rule-review-task--conflict .rule-review-task__topline strong{color:#ba1a1a}.rule-review-task--conflict .rule-review-task__topline em{color:#fff;background:#ba1a1a}.rule-review-task b{color:#151d19;font-size:15px;line-height:1.35}.rule-review-task small{overflow:hidden;color:#404942;font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.rule-review-task__meta>span:first-child{display:inline-flex;align-items:center;gap:5px;color:#855300;font-size:12px;font-weight:800}.rule-review-document-stage{flex:1;min-height:0;overflow:auto;padding:32px 30px;background:#faf9f6}.rule-review-document-paper{max-width:520px;min-height:590px;margin:0 auto;padding:42px 48px;border:1px solid rgba(192,201,192,.6);background:#fff;box-shadow:0 8px 22px #2d313014}.rule-review-document-paper header{margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid #e0e3e1;text-align:center}.rule-review-document-paper h3{margin:0;color:#263b34;font-size:20px;line-height:1.45}.rule-review-document-paper h4{margin:24px 0 12px;color:#181c1b;font-size:18px;line-height:1.55}.rule-review-document-paper p{margin:0 0 18px;color:#25352f;font-size:15px;line-height:1.9}.rule-review-clause-highlight{position:relative;margin:22px 0;padding:16px 18px 16px 20px;border-left:4px solid #ffb95f;border-radius:0 7px 7px 0;background:#fff0dc}.rule-review-clause-highlight:after{position:absolute;right:-18px;top:50%;width:18px;border-top:2px dashed #ffb95f;content:""}.rule-review-clause-highlight__icon{position:absolute;top:18px;left:-18px;display:grid;width:28px;height:28px;place-items:center;border-radius:999px;color:#734700;background:#ffb95f;box-shadow:0 0 0 4px #fff0dc}.rule-review-clause-highlight mark{padding:0 3px;border-radius:4px;color:#2a1700;background:#ffddb8e6;font-weight:900}.rule-review-panel__footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border-top:1px solid #c0c9c0;background:#f7faf8}.rule-review-panel__footer button{color:#003820;border-color:transparent}.rule-review-result__body{display:grid;flex:1;align-content:start;gap:16px;min-height:0;overflow:auto;padding:30px}.rule-review-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.rule-review-field-card{position:relative;display:grid;gap:12px;min-height:92px;padding:16px;border:1px solid #c0c9c0;border-radius:8px;background:#fff}.rule-review-field-card--wide{min-height:112px}.rule-review-field-card--confirm{border:2px solid #ffb95f;background:#fffaf2;box-shadow:0 6px 18px #ffb95f1f}.rule-review-field-card__label,.rule-review-field-card>span{display:inline-flex;align-items:center;gap:5px;color:#5a675f;font-size:13px;font-weight:700}.rule-review-field-card strong{color:#181c1b;font-size:16px;line-height:1.45}.rule-review-field-card__value{padding:10px 12px;border:1px solid #c0c9c0;border-radius:6px;background:#fff}.rule-review-field-card small{color:#5a675f;font-size:12px;line-height:1.55}.rule-review-field-card em{display:inline-flex;width:fit-content;min-height:26px;align-items:center;padding:0 9px;border-radius:6px;background:#e6e9e7;font-style:normal}.rule-review-field-card--risk strong{display:inline-flex;align-items:center;gap:6px;color:#ba1a1a}.rule-review-confirm-badge{position:absolute;top:-13px;right:16px;display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:5px;color:#734700;background:#ffb95f;font-size:12px;font-weight:800;box-shadow:0 2px 6px #85530024}.rule-review-ai-note{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:12px 14px;border:1px dashed #c0c9c0;border-radius:8px;color:#404942;background:#f7faf8}.rule-review-ai-note svg{color:#855300;margin-top:2px}.rule-review-ai-note p{margin:0;font-size:13px;line-height:1.7}.rule-review-actions{display:grid;gap:12px;padding:16px 20px 18px;border-top:1px solid #c0c9c0;background:#f7faf8}.rule-review-actions__meta,.rule-review-actions__secondary{display:flex;align-items:center;gap:10px}.rule-review-actions__meta{justify-content:space-between;color:#404942;font-size:12px;font-weight:700}.rule-review-actions__meta button{min-height:28px;padding:0 8px;color:#0f5132;border-color:transparent}.rule-review-actions__primary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rule-review-actions__primary button{min-height:58px;font-size:15px;font-weight:800;white-space:normal}.rule-review-actions__primary button.secondary{border-color:#0f5132}.rule-review-actions__secondary{flex-wrap:wrap}.rule-review-actions__secondary button{min-height:44px;padding:0 13px;white-space:normal}.rule-review-danger-button{color:#ba1a1a!important;border-color:transparent!important}.rule-review-next-button{margin-left:auto;color:#181c1b!important;background:#e6e9e7!important;border-color:#e6e9e7!important}.rule-review-empty{display:grid;min-height:180px;place-items:center;color:#707971;font-size:13px;font-weight:700}.rule-review-empty--small{min-height:66px;border:1px dashed #c0c9c0;border-radius:8px;background:#fbfdfc}@media(max-width:1450px){.rule-review-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.rule-review-workspace{grid-template-columns:300px minmax(0,1fr)}.rule-review-result{grid-column:1 / -1;min-height:560px}.rule-review-queue,.rule-review-source{min-height:640px}}.mock-map{position:relative;min-height:320px;border-radius:8px;border:1px solid #cfe0d9;background:linear-gradient(90deg,rgba(19,122,75,.08) 1px,transparent 1px),linear-gradient(rgba(21,139,154,.08) 1px,transparent 1px),#f5faf7;background-size:34px 34px;overflow:hidden}.mock-map__item{position:absolute;min-width:156px;padding:10px;border-radius:7px;border:1px solid rgba(255,255,255,.7);box-shadow:0 12px 30px #122f2829;color:#fff}.mock-map__item--green{background:#16855c}.mock-map__item--yellow{background:#b8891a}.mock-map__item--red{background:#bf4740}.mock-map__item strong{display:block;margin-bottom:5px}.big-screen-page{background:#10243a;border-radius:8px;padding:18px;color:#ecf7f2;box-shadow:var(--shadow)}.big-screen-page .page-header p,.big-screen-page .page-header__eyebrow{color:#cde2db}.big-screen-page .page-header__eyebrow{background:#28a97d33}.big-screen-grid{display:grid;grid-template-columns:310px minmax(0,1fr) 330px;gap:14px}.big-panel{background:#ffffff14;border:1px solid rgba(205,226,219,.2);border-radius:8px;padding:14px}.big-panel h2{margin:0 0 12px;font-size:16px}.big-summary-inline{border-left:4px solid #55bfd0;padding-left:12px;margin-top:12px;color:#ecf7f2}.big-summary-inline h2{display:flex;align-items:center;gap:6px}.big-summary-inline p{margin:0;color:#d7e8e2;line-height:1.7}.ai-summary{border-left:4px solid var(--cyan);background:var(--surface);border-radius:8px;padding:14px}.ai-summary h2{margin:0 0 10px;font-size:16px}.ai-summary p{margin:0}.report-metric-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.report-metric-strip div{display:grid;gap:6px}.report-metric-strip span{color:var(--muted);font-size:12px}.report-metric-strip strong{font-size:22px}.chat-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px}.quick-question-list{display:grid;gap:9px}.quick-question-list button{justify-content:flex-start;min-height:42px;text-align:left;white-space:normal}.chat-window{min-height:560px;display:grid;grid-template-rows:1fr auto;gap:14px}.message-list{display:grid;align-content:start;gap:12px;max-height:520px;overflow:auto}.message{max-width:78%;padding:12px 14px;border-radius:8px;line-height:1.7}.message--user{justify-self:end;color:#fff;background:var(--green)}.message--assistant{justify-self:start;background:var(--surface-soft);border:1px solid var(--line)}.chat-input{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px}.chat-input input{width:100%}.ai-chat-page{display:grid;grid-template-columns:minmax(250px,.66fr) minmax(0,1.5fr) minmax(292px,.84fr);max-width:1680px;margin:0 auto;gap:16px;align-items:start;color:#17231d}.ai-chat-panel{min-width:0;overflow:hidden;border:1px solid #d6e0da;border-radius:8px;background:#fff;box-shadow:0 3px 12px #0f51320d}.ai-chat-role-panel{position:sticky;top:132px;display:flex;max-height:calc(100vh - 156px);min-height:650px;flex-direction:column}.ai-chat-panel__header,.ai-chat-dialog__header,.ai-chat-side-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid #dfe7e2;background:#f7faf8}.ai-chat-panel__header h2,.ai-chat-dialog__header h1,.ai-chat-side-card__header h2{margin:3px 0 0;color:#10201a;font-size:18px;line-height:1.35;font-weight:900}.ai-chat-dialog__header h1{font-size:20px}.ai-chat-eyebrow{display:inline-flex;min-height:22px;align-items:center;color:#0f5132;font-size:12px;font-weight:900}.ai-chat-role-card{display:flex;gap:12px;margin:14px;padding:14px;border:1px solid #cde4d5;border-radius:8px;background:linear-gradient(135deg,#effaf3,#f7fbff)}.ai-chat-role-card__icon{display:grid;width:42px;height:42px;flex:0 0 auto;place-items:center;border-radius:8px;color:#fff;background:#0f5132}.ai-chat-role-card strong{display:block;color:#10201a;font-size:15px;font-weight:900}.ai-chat-role-card p,.ai-chat-permission-note p{margin:5px 0 0;color:#4f5c55;font-size:12px;font-weight:700;line-height:1.65}.ai-chat-question-groups{display:grid;align-content:start;gap:13px;flex:1;overflow-y:auto;padding:0 14px 14px}.ai-chat-question-group{display:grid;gap:8px}.ai-chat-question-group__title{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.ai-chat-question-group__title span{color:#0f5132;font-size:13px;font-weight:900}.ai-chat-question-group__title small{overflow:hidden;color:#707971;font-size:11px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.ai-chat-quick-list{display:grid;gap:7px}.ai-chat-quick-list button,.ai-chat-followups button{display:grid;width:100%;min-height:38px;min-width:0;grid-template-columns:auto minmax(0,1fr);justify-content:stretch;gap:8px;padding:9px 10px;border:1px solid #dfe7e2;border-radius:7px;color:#25332f;background:#fff;font-size:12px;font-weight:800;line-height:1.45;text-align:left;box-shadow:none}.ai-chat-quick-list button:hover,.ai-chat-followups button:hover,.ai-chat-source-strip button:hover,.ai-chat-command-list button:hover,.ai-chat-source-list button:hover{border-color:#95d4ac;color:#003820;background:#eff9f3;transform:none}.ai-chat-quick-list svg,.ai-chat-followups svg{margin-top:2px;color:#0f5132}.ai-chat-empty{padding:20px 12px;border:1px dashed #c9d8d0;border-radius:8px;color:#707971;background:#fbfdfc;font-size:13px;font-weight:800;text-align:center}.ai-chat-permission-note{display:flex;align-items:flex-start;gap:10px;margin:0 14px 14px;padding:13px;border:1px solid #ead9a5;border-radius:8px;color:#6c4a05;background:#fffaf0}.ai-chat-permission-note strong{color:#5d4202;font-size:13px;font-weight:900}.ai-chat-dialog{display:grid;min-height:calc(100vh - 156px);grid-template-rows:auto auto minmax(460px,1fr) auto}.ai-chat-dialog__header{align-items:center;background:#fff}.ai-chat-dialog__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}.ai-chat-mode{display:inline-flex;min-height:34px;align-items:center;gap:7px;padding:0 10px;border:1px solid #d6e0da;border-radius:6px;color:#235c72;background:#f1f7fb;font-size:12px;font-weight:900;white-space:nowrap}.ai-chat-action,.ai-chat-message__actions button,.ai-chat-side-card__header button{display:inline-flex;min-height:34px;align-items:center;justify-content:center;gap:7px;padding:0 12px;border:1px solid #c0c9c0;border-radius:7px;background:#fff;color:#0f5132;font-size:13px;font-weight:900;white-space:nowrap;box-shadow:none}.ai-chat-action:hover,.ai-chat-message__actions button:hover,.ai-chat-side-card__header button:hover{border-color:#95d4ac;background:#f7faf8;color:#003820;transform:none}.ai-chat-action--primary{border-color:#0f5132;color:#fff;background:#0f5132}.ai-chat-action--primary:hover{border-color:#0b4429;color:#fff;background:#0b4429}.ai-chat-action--ghost{background:#fff}.ai-chat-action:disabled{opacity:.55;cursor:not-allowed}.ai-chat-action:disabled:hover{border-color:#c0c9c0;background:#0f5132;transform:none}.ai-chat-notice{display:flex;align-items:center;gap:8px;margin:12px 16px 0;padding:10px 12px;border:1px solid #d8e4ee;border-radius:8px;color:#465965;background:#f5f9fc;font-size:12px;font-weight:800;line-height:1.5}.ai-chat-notice svg{flex:0 0 auto;color:#235c72}.ai-chat-message-list{display:grid;align-content:start;gap:14px;overflow-y:auto;padding:16px}.ai-chat-conversation-empty{display:grid;min-height:220px;place-items:center;align-content:center;gap:8px;border:1px dashed #c9d8d0;border-radius:8px;color:#707971;background:#fbfdfc;text-align:center}.ai-chat-conversation-empty svg{color:#0f5132}.ai-chat-conversation-empty strong{color:#25332f;font-size:15px;font-weight:900}.ai-chat-conversation-empty span{color:#707971;font-size:12px;font-weight:800}.ai-chat-message{display:grid;min-width:0;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:start}.ai-chat-message--user{max-width:78%;justify-self:end;grid-template-columns:minmax(0,1fr) 42px}.ai-chat-message--user .ai-chat-message__avatar{grid-column:2;color:#fff;background:#235c72}.ai-chat-message--user .ai-chat-message__bubble{grid-column:1;grid-row:1;border-color:#0f5132;color:#fff;background:#0f5132}.ai-chat-message--user .ai-chat-message__meta,.ai-chat-message--user .ai-chat-message__meta span,.ai-chat-message--user .ai-chat-message__bubble p{color:#fff}.ai-chat-message__avatar{display:grid;width:42px;height:42px;place-items:center;border-radius:999px;color:#0f5132;background:#e8f7ee}.ai-chat-message__bubble{min-width:0;padding:13px 14px;border:1px solid #dfe7e2;border-radius:8px;background:linear-gradient(135deg,#f4fbf7,#fbfdfc 72%)}.ai-chat-message__meta{display:flex;flex-wrap:wrap;align-items:center;gap:7px 11px;color:#707971;font-size:12px;font-weight:800}.ai-chat-message__meta strong{color:#0f5132;font-size:13px;font-weight:900}.ai-chat-message__bubble p{margin:9px 0 0;color:#1f2f28;font-size:14px;font-weight:700;line-height:1.85}.ai-chat-source-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.ai-chat-source-strip button{display:grid;min-height:46px;min-width:0;grid-template-columns:auto auto minmax(0,1fr);align-items:center;justify-content:stretch;gap:6px;padding:9px;border:1px solid #d6e0da;border-radius:7px;color:#25332f;background:#fff;font-size:12px;font-weight:800;text-align:left;box-shadow:none}.ai-chat-source-strip button>span{color:#0f5132;font-weight:900;white-space:nowrap}.ai-chat-source-strip button>strong{overflow:hidden;color:#25332f;text-overflow:ellipsis;white-space:nowrap}.ai-chat-source-strip svg{color:#0f5132}.ai-chat-message__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.ai-chat-message__actions button{min-height:32px;padding:0 10px;font-size:12px}.ai-chat-thinking{display:flex;align-items:center;gap:7px;color:#4f5c55;font-size:13px;font-weight:900}.ai-chat-thinking span{width:7px;height:7px;border-radius:999px;background:#0f5132;animation:ai-chat-pulse 1.1s infinite ease-in-out}.ai-chat-thinking span:nth-child(2){animation-delay:.16s}.ai-chat-thinking span:nth-child(3){animation-delay:.32s}@keyframes ai-chat-pulse{0%,80%,to{opacity:.28;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.ai-chat-composer{display:grid;gap:10px;padding:14px 16px 16px;border-top:1px solid #dfe7e2;background:#fbfdfc}.ai-chat-composer__status{display:flex;flex-wrap:wrap;align-items:center;gap:9px;color:#707971;font-size:12px;font-weight:800}.ai-chat-composer__status span{display:inline-flex;align-items:center;gap:5px}.ai-chat-composer__status svg{color:#0f5132}.ai-chat-composer__input{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:start;padding:11px 12px;border:1px solid #c0c9c0;border-radius:8px;background:#fff}.ai-chat-composer__input:focus-within{border-color:#0f5132;box-shadow:0 0 0 2px #0f51321f}.ai-chat-composer__input svg{margin-top:4px;color:#0f5132}.ai-chat-composer__input textarea{width:100%;min-height:66px;resize:vertical;border:0;outline:0;color:#17231d;background:transparent;font-size:14px;font-weight:700;line-height:1.7}.ai-chat-composer__input small{margin-top:5px;color:#707971;font-size:12px;font-weight:800;white-space:nowrap}.ai-chat-composer__actions{display:flex;justify-content:flex-end;gap:9px}.ai-chat-side-panel{position:sticky;top:132px;display:grid;max-height:calc(100vh - 156px);gap:16px;overflow-y:auto}.ai-chat-side-card{display:grid}.ai-chat-side-card__header{align-items:center;padding:14px 16px}.ai-chat-side-card__header h2{font-size:17px}.ai-chat-side-card__header button{min-height:30px;padding:0 9px;font-size:12px}.ai-chat-source-list,.ai-chat-followups,.ai-chat-command-list{display:grid;gap:9px;padding:12px}.ai-chat-source-list button{display:grid;min-width:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 10px;border:1px solid #dfe7e2;border-radius:8px;color:#25332f;background:#fff;text-align:left;box-shadow:none}.ai-chat-source-list__icon{display:grid;width:38px;height:38px;place-items:center;border-radius:8px;color:#0f5132;background:#e8f7ee}.ai-chat-source-list__icon--risk{color:#b42318;background:#fff0ee}.ai-chat-source-list__icon--report{color:#235c72;background:#eef6fb}.ai-chat-source-list__icon--abnormal_data{color:#8a630b;background:#fff8e8}.ai-chat-source-list button small,.ai-chat-source-list button em{display:block;overflow:hidden;color:#707971;font-size:11px;font-style:normal;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.ai-chat-source-list button strong{display:block;overflow:hidden;margin:3px 0;color:#17231d;font-size:13px;font-weight:900;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.ai-chat-source-list>button>svg{color:#0f5132}.ai-chat-followups button{grid-template-columns:auto minmax(0,1fr) auto}.ai-chat-followups button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-chat-command-list{padding-top:4px}.ai-chat-command-list button{display:flex;min-height:42px;align-items:center;justify-content:flex-start;gap:10px;padding:0 12px;border:1px solid transparent;border-radius:7px;color:#25332f;background:#fbfdfc;font-size:13px;font-weight:900;box-shadow:none}.ai-chat-command-list svg{color:#0f5132}@media(max-width:1500px){.ai-chat-page{grid-template-columns:minmax(230px,.58fr) minmax(0,1.42fr)}.ai-chat-side-panel{position:static;grid-column:1 / -1;grid-template-columns:repeat(3,minmax(0,1fr));max-height:none;overflow:visible}.ai-chat-role-panel{top:122px}}@media(max-width:1280px){.ai-chat-page{grid-template-columns:1fr}.ai-chat-role-panel{position:static;max-height:none;min-height:0}.ai-chat-question-groups{max-height:360px}.ai-chat-side-panel{grid-template-columns:1fr}.ai-chat-message--user{max-width:92%}.ai-chat-source-strip{grid-template-columns:1fr}}.dashboard-page{display:grid;gap:24px}.dashboard-metric-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:16px}button.dashboard-stat-card{position:relative;display:flex;min-width:0;min-height:112px;flex-direction:column;align-items:stretch;justify-content:space-between;gap:8px;padding:16px 18px;overflow:hidden;border:1px solid var(--line);border-radius:8px;color:var(--text);background:#fffffff5;box-shadow:var(--shadow);text-align:left}button.dashboard-stat-card:before{position:absolute;inset:0 auto 0 0;width:4px;background:transparent;content:""}button.dashboard-stat-card:hover{border-color:#1e9c898c;background:#fff;box-shadow:0 10px 24px #0f51321a}button.dashboard-stat-card--green:before{background:var(--green)}button.dashboard-stat-card--teal strong,button.dashboard-stat-card--green strong{color:var(--green)}button.dashboard-stat-card--gold strong{color:var(--gold)}button.dashboard-stat-card--red:before{background:var(--red)}button.dashboard-stat-card--red strong{color:var(--red)}.dashboard-stat-card__label{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;color:#404942;font-size:14px;font-weight:600;line-height:1.45}.dashboard-stat-card__label svg{flex:0 0 auto;color:#40494280}.dashboard-stat-card strong{display:block;color:#0a1110;font-size:30px;line-height:1}.dashboard-stat-card small{color:var(--green-2);font-size:12px;line-height:1.35}.dashboard-section-title{display:flex;align-items:center;gap:8px;margin:0 0 14px;color:var(--text);font-size:18px;line-height:1.35}.dashboard-section-title svg{color:var(--green)}.dashboard-flow-card{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:start;gap:10px;min-height:148px;padding:30px 34px 24px;border:1px solid var(--line);border-radius:12px;background:#fffffff5;box-shadow:var(--shadow)}.dashboard-flow-card__track{position:absolute;top:54px;right:58px;left:58px;height:4px;border-radius:999px;background:#dbe5de}.dashboard-flow-card__track--active{right:280px;background:var(--green-2)}button.dashboard-flow-step{position:relative;z-index:1;display:grid;justify-items:center;min-width:0;min-height:88px;padding:0;border:0;color:var(--text);background:transparent;text-align:center}button.dashboard-flow-step:hover{color:var(--green);background:transparent}.dashboard-flow-step__icon{display:grid;width:42px;height:42px;place-items:center;border:5px solid #f2fcf5;border-radius:999px;color:#fff;background:var(--green-2);box-shadow:0 2px 8px #006b5d29;transition:transform .18s ease}button.dashboard-flow-step:hover .dashboard-flow-step__icon{transform:scale(1.08)}.dashboard-flow-step--gold .dashboard-flow-step__icon{background:#6f4d06}.dashboard-flow-step--gray .dashboard-flow-step__icon{color:#59665f;background:#dbe5de}.dashboard-flow-step strong{margin-top:10px;font-size:15px}.dashboard-flow-step small{min-height:22px;margin-top:5px;padding:2px 9px;border-radius:999px;color:#006b5d;background:#88f6e0;font-size:12px}.dashboard-flow-step--gold small{color:#5d4202;background:#ffdea5}.dashboard-flow-step--gray small{color:#59665f;background:#e6f0e9}.dashboard-grid{display:grid;gap:18px}.dashboard-grid--middle{grid-template-columns:minmax(0,2fr) minmax(320px,.95fr);align-items:stretch}.dashboard-grid--bottom{grid-template-columns:minmax(0,1.45fr) minmax(360px,1fr)}.dashboard-card{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fffffff5;box-shadow:var(--shadow)}.dashboard-card__header{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:66px;padding:16px 20px;border-bottom:1px solid var(--line);background:#ffffffd1}.dashboard-card__header h2{display:flex;align-items:center;gap:9px;margin:0;color:var(--text);font-size:18px;line-height:1.3}.dashboard-card__header h2 svg{color:var(--green)}.dashboard-card__link{display:inline-flex;align-items:center;gap:5px;color:var(--green);font-size:14px;font-weight:700;text-decoration:none}.dashboard-card__link:hover{color:var(--green-2)}.dashboard-table-wrap{padding:18px;overflow-x:auto}.dashboard-table{width:100%;min-width:0;border-collapse:collapse;color:var(--text);font-size:13px;table-layout:fixed}.dashboard-table th:nth-child(1),.dashboard-table td:nth-child(1){width:30%}.dashboard-table th:nth-child(2),.dashboard-table td:nth-child(2){width:10%}.dashboard-table th:nth-child(3),.dashboard-table td:nth-child(3){width:15%}.dashboard-table th:nth-child(4),.dashboard-table td:nth-child(4){width:13%}.dashboard-table th:nth-child(5),.dashboard-table td:nth-child(5){width:9%}.dashboard-table th:nth-child(6),.dashboard-table td:nth-child(6){width:12%}.dashboard-table th:nth-child(7),.dashboard-table td:nth-child(7){width:11%}.dashboard-table th{padding:13px 10px;color:#404942;background:#ecf6ef;font-weight:700;text-align:left}.dashboard-table th:first-child{border-radius:8px 0 0 8px}.dashboard-table th:last-child{border-radius:0 8px 8px 0}.dashboard-table td{padding:14px 10px;border-bottom:1px solid #dbe5de;line-height:1.45;vertical-align:middle;overflow-wrap:anywhere}.dashboard-table td strong{font-weight:700}.dashboard-table__danger{color:var(--red);font-weight:800}.dashboard-progress-cell{display:flex;align-items:center;gap:8px;min-width:104px}.dashboard-progress-track{display:block;width:52px;height:7px;overflow:hidden;border-radius:999px;background:#dbe5de}.dashboard-progress-fill{display:block;height:100%;border-radius:inherit;background:var(--green-2)}.dashboard-progress-fill--medium{background:var(--gold)}.dashboard-progress-fill--high{background:var(--red)}.dashboard-ai-card{position:relative}.dashboard-ai-card:before{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at top right,rgba(0,107,93,.12),transparent 46%);content:""}.dashboard-ai-card__body{position:relative;z-index:1;display:flex;min-height:304px;flex-direction:column;justify-content:center;padding:26px 28px}.dashboard-ai-bubble{position:relative;padding:20px 20px 18px;border:1px solid #d1e0d8;border-radius:10px;background:#ecf6ef}.dashboard-ai-bubble>svg{position:absolute;top:-18px;left:-18px;width:34px;height:34px;padding:6px;border:1px solid #c0c9c0;border-radius:999px;color:var(--green-2);background:#f2fcf5}.dashboard-ai-bubble p{margin:0;color:var(--text);font-size:14px;line-height:1.8}.dashboard-ai-bubble strong{color:var(--green)}.dashboard-ai-bubble mark{color:var(--red);background:transparent;font-weight:800;text-decoration:underline;text-decoration-style:dashed;text-underline-offset:4px}.dashboard-ai-bubble__suggestion{margin-top:16px!important;padding-top:16px;border-top:1px dashed #c0c9c0;color:var(--green-2)!important;font-weight:700}.dashboard-ai-card__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px}.dashboard-ai-card__actions .button{min-height:44px}.dashboard-count-pill{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;color:#fff;background:var(--red);font-size:13px;font-weight:800}.dashboard-todo-list{display:grid;padding:8px 10px 16px}button.dashboard-todo-item{display:grid;grid-template-columns:24px minmax(0,1fr) auto auto 18px;align-items:center;gap:12px;min-height:66px;padding:12px 8px;border:0;border-bottom:1px solid #dbe5de;border-radius:8px;color:var(--text);background:transparent;text-align:left}button.dashboard-todo-item:last-child{border-bottom:0}button.dashboard-todo-item:hover{background:#ecf6ef}.dashboard-todo-item__check{width:22px;height:22px;border:2px solid #707971;border-radius:5px}.dashboard-todo-item__content{display:grid;gap:5px;min-width:0}.dashboard-todo-item__content strong{overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.dashboard-todo-item__content strong.is-danger{color:var(--red)}.dashboard-todo-item__content small{overflow:hidden;color:var(--muted);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.dashboard-risk-list{display:grid;gap:14px;max-height:328px;padding:18px;overflow-y:auto}button.dashboard-risk-item{display:grid;gap:10px;min-height:126px;padding:15px;border:1px solid #f3b8b2;border-radius:10px;color:var(--text);background:#ffdad659;text-align:left}button.dashboard-risk-item:hover{border-color:var(--red);background:#ffdad680}button.dashboard-risk-item--medium{border-color:#e9c178;background:#ffdea552}button.dashboard-risk-item--medium:hover{border-color:var(--gold);background:#ffdea575}.dashboard-risk-item__top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.dashboard-risk-item__top strong{color:var(--red);font-size:15px}.dashboard-risk-item--medium .dashboard-risk-item__top strong{color:var(--gold)}.dashboard-risk-item small{color:var(--green);font-size:13px;font-weight:700}.dashboard-risk-item p{margin:0;padding:10px;border:1px solid #d1e0d8;border-radius:7px;background:#fffc;font-size:13px;line-height:1.65}.dashboard-floating-actions{position:fixed;right:34px;bottom:28px;z-index:20;display:flex;gap:12px}.dashboard-floating-actions a{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 17px;border:1px solid #c0c9c0;border-radius:999px;color:var(--text);background:#fffffff0;box-shadow:0 8px 20px #0f51321f;font-size:14px;font-weight:700;text-decoration:none}.dashboard-floating-actions a:hover{color:var(--green);transform:translateY(-1px)}.dashboard-floating-actions .dashboard-floating-actions__primary{color:#fff;background:var(--green);border-color:var(--green)}.dashboard-floating-actions .dashboard-floating-actions__primary:hover{color:#fff;background:#0b4429}.dashboard-drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;justify-content:flex-end}.dashboard-drawer__scrim{position:absolute;top:0;right:0;bottom:0;left:0;min-height:0;border:0;border-radius:0;background:#151d1933}.dashboard-drawer__scrim:hover{background:#151d193d;transform:none}.dashboard-drawer__panel{position:relative;z-index:1;display:flex;width:420px;max-width:calc(100vw - 40px);flex-direction:column;gap:18px;padding:28px;border-left:1px solid var(--line);background:#fff;box-shadow:-12px 0 30px #0f513229}.dashboard-drawer__close{position:absolute;top:16px;right:16px;width:34px;min-height:34px;padding:0;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:#fff}.dashboard-drawer__eyebrow{width:fit-content;min-height:24px;padding:3px 9px;border-radius:999px;color:var(--green);background:#ecf6ef;font-size:12px;font-weight:800}.dashboard-drawer__panel h2{margin:0;padding-right:34px;font-size:22px;line-height:1.45}.dashboard-drawer__panel p{margin:0;color:var(--muted);line-height:1.8}.dashboard-drawer__meta,.dashboard-drawer__sources{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#f8fbf9}.dashboard-drawer__meta span{color:#2f3d36;font-size:14px;line-height:1.6}.dashboard-drawer__sources strong{color:var(--text)}.dashboard-drawer__sources a{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--green);text-decoration:none}@media(max-width:1440px){.top-header__title strong{font-size:20px}.top-header__button{padding:0 12px}.dashboard-metric-grid{gap:12px}button.dashboard-stat-card{padding:14px}.dashboard-stat-card strong{font-size:26px}}.big-screen-page.leader-screen{display:grid;gap:14px;padding:0;color:var(--text);background:transparent;border-radius:0;box-shadow:none}.leader-screen__header{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding:2px 0 0;border-bottom:1px solid #dbe5de}.leader-screen__header h1{margin:0;color:#0a2216;font-size:28px;line-height:1.25;font-weight:800}.leader-screen__header p{display:flex;align-items:center;gap:14px;margin:8px 0 11px;color:#384841;font-size:14px}.leader-screen__header p span{width:1px;height:14px;background:#c7d5cd}.leader-screen__toolbar{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;min-width:560px}.leader-screen__toolbar select,.leader-screen__outline-button,.leader-screen__primary-button{min-height:40px;border-radius:8px;font-size:14px;font-weight:700}.leader-screen__toolbar select{min-width:144px;border-color:#d6e2dc}.leader-screen__outline-button{padding:0 15px;border:1px solid #d6e2dc;color:#0f5132;background:#fff}.leader-screen__outline-button:hover{border-color:#1e9c89a6;background:#f5fbf7}.leader-screen__primary-button{padding:0 16px;border:1px solid var(--green);color:#fff;background:var(--green)}.leader-screen__primary-button:disabled{opacity:.82;cursor:progress}.leader-screen__tabs{display:inline-flex;min-height:40px;padding:3px;border:1px solid #d6e2dc;border-radius:8px;background:#fff}.leader-screen__tabs button{min-height:32px;padding:0 15px;border:0;border-radius:6px;color:#25362f;background:transparent;font-weight:700}.leader-screen__tabs button:hover,.leader-screen__tabs button.is-active{color:#fff;background:var(--green-2);transform:none}.leader-screen__spin{animation:leader-spin 1s linear infinite}@keyframes leader-spin{to{transform:rotate(360deg)}}.leader-screen__notice{width:fit-content;min-height:36px;padding:9px 18px;border:1px solid #f0ca79;border-radius:8px;color:#9a5a00;background:linear-gradient(90deg,#fff5de,#fff5de47);font-size:14px;font-weight:800}.leader-kpi-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px}.leader-kpi-card{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:12px;min-height:94px;padding:14px;border:1px solid #dde7e0;border-radius:8px;background:#fffffff5;box-shadow:0 6px 18px #0f51320f}.leader-kpi-card__icon{display:grid;width:46px;height:46px;place-items:center;border-radius:999px;color:#fff;background:#2f943d}.leader-kpi-card--teal .leader-kpi-card__icon{background:#1eaa9a}.leader-kpi-card--gold .leader-kpi-card__icon{background:#d99c0a}.leader-kpi-card--red .leader-kpi-card__icon{background:#d92d20}.leader-kpi-card--blue .leader-kpi-card__icon{background:#2386c8}.leader-kpi-card--ai .leader-kpi-card__icon{background:#c89b36}.leader-kpi-card span:not(.leader-kpi-card__icon){display:block;color:#3d4d45;font-size:13px;font-weight:800}.leader-kpi-card strong{display:block;margin-top:4px;color:#0f5132;font-size:32px;line-height:1}.leader-kpi-card--gold strong{color:#9a6400}.leader-kpi-card--red strong{color:#b42318}.leader-kpi-card--blue strong{color:#1f7fb8}.leader-kpi-card--ai strong{color:#b7791f;font-size:26px}.leader-kpi-card small{display:block;margin-top:8px;color:#426158;font-size:12px}.leader-main-grid{display:grid;grid-template-columns:280px minmax(0,1.35fr) 330px 300px;gap:12px;align-items:stretch}.leader-panel{overflow:hidden;border:1px solid #dce7e1;border-radius:8px;background:#fffffff5;box-shadow:0 6px 18px #0f51320f}.leader-panel h2{margin:0;color:#14231c;font-size:17px;line-height:1.3}.leader-panel__header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:12px 14px;border-bottom:1px solid #dce7e1}.leader-panel__header span{color:#53655d;font-size:13px}.leader-panel__header button{min-height:30px;width:30px;padding:0;border:0;color:#31423a;background:transparent}.leader-progress-panel{padding:14px 10px 10px}.leader-progress-panel>h2{padding:0 4px 10px}.leader-progress-list{display:grid;gap:8px}.leader-progress-card,.leader-delay-card{display:grid;align-items:center;gap:12px;min-height:100px;padding:12px;border:1px solid #e0eae4;border-radius:8px;background:#fff}.leader-progress-card{grid-template-columns:78px minmax(0,1fr)}.leader-progress-ring{position:relative;display:grid;width:72px;height:72px;place-items:center;border-radius:999px;background:conic-gradient(#43a047 var(--ring-value),#e5eee9 0)}.leader-progress-ring:before{position:absolute;width:52px;height:52px;border-radius:inherit;background:#fff;content:""}.leader-progress-ring--teal{background:conic-gradient(#1eaa9a var(--ring-value),#e5eee9 0)}.leader-progress-ring strong{position:relative;z-index:1;color:#15803d;font-size:20px}.leader-progress-ring--teal strong{color:#1e9c89}.leader-progress-card h3,.leader-delay-card h3{margin:0;color:#172421;font-size:15px}.leader-progress-card p,.leader-delay-card p{margin:5px 0 0;color:#53655d;font-size:12px}.leader-progress-card small{display:block;margin-top:8px;color:#0f6c4a;font-size:12px}.leader-delay-card{grid-template-columns:46px minmax(0,1fr) auto;color:#d92d20}.leader-delay-card svg{padding:10px;width:44px;height:44px;border:3px solid #d92d20;border-radius:999px}.leader-delay-card strong{color:#d92d20;font-size:24px}.leader-map-panel{min-height:430px}.leader-map{position:relative;height:430px;overflow:hidden;background:linear-gradient(90deg,rgba(15,81,50,.06) 1px,transparent 1px),linear-gradient(rgba(15,81,50,.05) 1px,transparent 1px),radial-gradient(circle at 22% 66%,rgba(70,177,130,.2),transparent 28%),#eef6f1;background-size:38px 38px,38px 38px,auto,auto}.leader-map:before{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.55;background:linear-gradient(25deg,transparent 10%,rgba(255,255,255,.7) 11%,transparent 12%),linear-gradient(112deg,transparent 20%,rgba(255,255,255,.8) 21%,transparent 22%),linear-gradient(156deg,transparent 32%,rgba(255,255,255,.72) 33%,transparent 34%),linear-gradient(80deg,transparent 45%,rgba(255,255,255,.7) 46%,transparent 47%);content:""}.leader-map__city{position:absolute;top:24px;left:50%;z-index:2;transform:translate(-50%);color:#0f2118e6;font-size:24px;font-weight:900}.leader-map__water{position:absolute;z-index:1;border-radius:45%;background:#75c4ca61;filter:blur(1px)}.leader-map__water--one{right:-70px;bottom:-24px;width:240px;height:130px}.leader-map__water--two{left:150px;bottom:20px;width:210px;height:74px}.leader-map__vectors{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;width:100%;height:100%}.leader-map__park{fill:#ffda5047;stroke:#d99c0a;stroke-width:4}.leader-map__park--two{fill:#42a0522e}.leader-map__road{fill:none;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 2px rgba(0,0,0,.14))}.leader-map__road--green{stroke:#2b9b46}.leader-map__road--red{stroke:#d92d20}.leader-map__node{fill:#fff;stroke-width:5}.leader-map__node--green{stroke:#2b9b46}.leader-map__node--red{stroke:#d92d20}button.leader-map-marker{position:absolute;z-index:4;display:grid;min-width:198px;max-width:242px;min-height:68px;gap:4px;padding:10px 12px;border:1px solid #e4b246;border-radius:8px;color:#172421;background:#fffceeeb;box-shadow:0 10px 22px #0f51321f;text-align:left}button.leader-map-marker:hover,button.leader-map-marker.is-active{border-color:#1e9c89;background:#fff}button.leader-map-marker--green{border-color:#45a654}button.leader-map-marker--red{border-color:#d92d20;background:#fff5f2f2}.leader-map-marker strong{overflow:hidden;color:#172421;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.leader-map-marker span,.leader-map-marker small{color:#33443c;font-size:12px}.leader-map-marker small{width:fit-content;padding:2px 7px;border-radius:999px;color:#fff;background:#d99c0a}.leader-map-marker--green small{background:#15803d}.leader-map-marker--red small{background:#d92d20}.leader-map__legend{position:absolute;left:16px;bottom:14px;z-index:5;display:grid;gap:7px;padding:10px 12px;border:1px solid #dce7e1;border-radius:8px;background:#ffffffe6}.leader-map__legend span{display:flex;align-items:center;gap:7px;color:#31423a;font-size:12px;font-weight:800}.leader-map__legend span:before{width:10px;height:10px;border-radius:999px;content:""}.leader-map__legend .is-red:before{background:#d92d20}.leader-map__legend .is-gold:before{background:#d99c0a}.leader-map__legend .is-green:before{background:#15803d}.leader-map-popover{position:absolute;right:14px;bottom:14px;z-index:6;width:270px;padding:12px;border:1px solid #d92d20;border-radius:8px;background:#fffffff5;box-shadow:0 12px 28px #0f51322e}.leader-map-popover--green{border-color:#15803d}.leader-map-popover--yellow{border-color:#d99c0a}.leader-map-popover button{position:absolute;top:8px;right:8px;width:24px;min-height:24px;padding:0;border:0;color:#53655d;background:transparent}.leader-map-popover strong,.leader-map-popover span,.leader-map-popover p{display:block;padding-right:26px}.leader-map-popover strong{color:#172421;font-size:14px}.leader-map-popover span{margin-top:4px;color:#0f5132;font-size:12px;font-weight:800}.leader-map-popover p{margin:8px 0 0;color:#3f5149;font-size:12px;line-height:1.65}.leader-risk-list-panel,.leader-risk-detail-panel{min-height:430px}.leader-risk-list{display:grid;gap:8px;padding:10px}button.leader-risk-row{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:68px;padding:10px;border:1px solid #efe0bd;border-radius:8px;color:#172421;background:#fff;text-align:left}button.leader-risk-row:hover,button.leader-risk-row.is-active{border-color:#f0a5a0;background:#fff7f5;transform:none}button.leader-risk-row--medium:hover,button.leader-risk-row--medium.is-active{border-color:#e4bd63;background:#fff9ec}button.leader-risk-row--low:hover,button.leader-risk-row--low.is-active{border-color:#8fd0a1;background:#f1fbf4}.leader-risk-row__icon{color:#d92d20}.leader-risk-row--medium .leader-risk-row__icon{color:#d99c0a}.leader-risk-row--low .leader-risk-row__icon{color:#15803d}.leader-risk-row__content{display:grid;gap:4px;min-width:0}.leader-risk-row__content strong,.leader-risk-row__content small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leader-risk-row__content strong{font-size:14px}.leader-risk-row__content small{color:#53655d;font-size:12px}.leader-risk-row__action{min-height:28px;padding:5px 8px;border:1px solid #dce7e1;border-radius:6px;color:#31423a;background:#fff;font-size:12px;font-weight:800}.leader-risk-detail{padding:12px 14px 16px}.leader-risk-detail__title{display:grid;gap:9px;padding-bottom:12px;border-bottom:1px solid #dce7e1}.leader-risk-detail__title strong{color:#172421;font-size:16px}.leader-risk-detail p{margin:12px 0;color:#53655d;font-size:13px}.leader-risk-detail dl{display:grid;gap:11px;margin:0}.leader-risk-detail dl div{display:grid;gap:5px}.leader-risk-detail dt{color:#263a31;font-size:13px;font-weight:900}.leader-risk-detail dd{margin:0;color:#3d4d45;font-size:12px;line-height:1.6}.leader-risk-empty{padding:18px;color:#53655d}.leader-bottom-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(360px,.9fr);gap:12px}.leader-trend-panel,.leader-ai-panel{min-height:282px}.leader-ai-panel__content{position:relative;padding:18px 20px 16px}.leader-ai-panel__content>svg{position:absolute;right:18px;top:12px;color:#1e9c891f}.leader-ai-panel__content h3{max-width:620px;margin:0;color:#0f8f52;font-size:20px;line-height:1.45}.leader-ai-panel__content p{max-width:720px;margin:12px 0 0;color:#172421;font-size:15px;line-height:1.75}.leader-ai-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}.leader-ai-actions span{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:48px;padding:0 10px;border:1px solid #dce7e1;border-radius:8px;color:#0f5132;background:#f5fbf7;font-size:13px;font-weight:800;white-space:nowrap}@media(max-width:1500px){.leader-screen__header{display:grid}.leader-screen__toolbar{justify-content:flex-start;min-width:0}.leader-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.leader-main-grid{grid-template-columns:260px minmax(0,1fr) 320px}.leader-risk-detail-panel{grid-column:2 / 4;min-height:260px}}.project-ledger-page{display:grid;gap:16px;max-width:1680px;margin:0 auto;color:#0b1c30}.project-ledger-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.project-ledger-kpi-card,.project-ledger-panel,.project-ledger-filter{border:1px solid #e2e8f0;border-radius:8px;background:#fff;box-shadow:0 2px 6px #0f51320d}.project-ledger-kpi-card{display:grid;align-content:center;gap:18px;min-height:126px;padding:20px 26px}.project-ledger-kpi-card__top{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#1f2b24;font-size:14px;font-weight:700}.project-ledger-kpi-card__top svg{color:#0f5132}.project-ledger-kpi-card strong{color:#06131f;font-size:32px;line-height:1;font-weight:900}.project-ledger-kpi-card--danger .project-ledger-kpi-card__top svg,.project-ledger-kpi-card--danger strong{color:#ba1a1a}.project-ledger-filter{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:16px 20px}.project-ledger-filter__group,.project-ledger-filter__actions{display:flex;align-items:center;gap:16px;min-width:0}.project-ledger-filter select{min-width:150px;min-height:42px;border-color:#d9e4ee;border-radius:6px;color:#172421;background-color:#fff;font-size:14px}.project-ledger-filter select:focus,.project-ledger-search:focus-within{border-color:#1e9c89;box-shadow:0 0 0 2px #1e9c8929;outline:0}.project-ledger-search{display:flex;align-items:center;gap:9px;width:300px;min-height:42px;padding:0 13px;border:1px solid #d9e4ee;border-radius:6px;background:#fff;color:#31423a}.project-ledger-search input{width:100%;min-height:0;padding:0;border:0;color:#172421;background:transparent}.project-ledger-search input:focus{outline:0}.project-ledger-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 18px;border:1px solid #0f5132;border-radius:6px;color:#fff;background:#0f5132;font-size:14px;font-weight:800;text-decoration:none;white-space:nowrap}.project-ledger-button:hover{color:#fff;background:#0c643d}.project-ledger-button--primary{min-width:174px}.project-ledger-button--outline{min-width:174px;color:#007163;border-color:#1e9c89;background:#fff}.project-ledger-button--outline:hover{color:#0f5132;background:#f5fbf7}.project-ledger-workspace{display:grid;grid-template-columns:minmax(0,2fr) minmax(340px,.9fr);gap:24px;align-items:stretch}.project-ledger-panel{overflow:hidden}.project-ledger-panel__header,.project-ledger-spatial-panel__header{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:66px;padding:18px 24px;border-bottom:1px solid #e2e8f0;background:#fbfdff}.project-ledger-panel__header--compact{min-height:62px}.project-ledger-panel h2{margin:0;color:#071323;font-size:20px;line-height:1.3;font-weight:900}.project-ledger-text-button{min-height:30px;padding:0;border:0;color:#007163;background:transparent;font-size:14px;font-weight:800}.project-ledger-text-button:hover{color:#0f5132;background:transparent;transform:none}.project-ledger-table-wrap{overflow-x:auto}.project-ledger-table{width:100%;min-width:920px;border-collapse:collapse}.project-ledger-table th{padding:15px 20px;border-bottom:1px solid #e2e8f0;color:#071323;background:#f8fafb;font-size:13px;line-height:1.45;font-weight:900;text-align:left;white-space:nowrap}.project-ledger-table td{padding:17px 20px;border-bottom:1px solid #e2e8f0;color:#21312b;font-size:14px;line-height:1.55;vertical-align:middle}.project-ledger-table tbody tr{cursor:pointer}.project-ledger-table tbody tr:nth-child(2n) td{background:#fbfcfd}.project-ledger-table tbody tr:hover td,.project-ledger-table tbody tr.is-selected td{background:#f4fbf7}.project-ledger-table tbody tr.is-selected td:first-child{box-shadow:inset 4px 0 #0f5132}.project-ledger-table__code{color:#071323;font-weight:900;letter-spacing:0}.project-ledger-name-button{min-height:0;padding:0;border:0;color:#0f5132;background:transparent;font-weight:800;line-height:1.55;text-align:left}.project-ledger-name-button:hover{color:#007163;background:transparent;text-decoration:underline;transform:none}.project-ledger-progress{display:flex;align-items:center;gap:10px;min-width:128px}.project-ledger-progress__track{display:block;width:78px;height:7px;overflow:hidden;border-radius:999px;background:#d9e8ff}.project-ledger-progress__bar{display:block;height:100%;border-radius:inherit}.project-ledger-progress__bar--success{background:#0f5132}.project-ledger-progress__bar--danger{background:#ba1a1a}.project-ledger-progress strong{color:#404942;font-size:13px;font-weight:700}.project-ledger-risk{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:3px 9px;border-radius:6px;font-size:12px;font-weight:900;white-space:nowrap}.project-ledger-risk--success{color:#166534;background:#f0fdf4}.project-ledger-risk--warning{color:#92400e;background:#fffbeb}.project-ledger-risk--danger{color:#991b1b;background:#fef2f2}.project-ledger-status{display:inline-flex;align-items:center;gap:8px;color:#404942;font-size:13px;white-space:nowrap}.project-ledger-status span{width:6px;height:6px;border-radius:999px;background:#166534}.project-ledger-row-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px}.project-ledger-row-actions button{width:30px;min-height:30px;padding:0;border:0;border-radius:6px;color:#007163;background:transparent}.project-ledger-row-actions button:hover{color:#0f5132;background:#e8f7ee;transform:none}.project-ledger-spatial-panel{display:flex;flex-direction:column;padding:0 26px 24px}.project-ledger-spatial-panel__header{margin:0 -26px;border-bottom:0;background:#fff}.project-ledger-spatial-panel__header svg{color:#1e9c89}.project-ledger-map-canvas{position:relative;min-height:440px;overflow:hidden;border:1px solid #dce7f3;border-radius:8px;background:radial-gradient(circle,rgba(30,156,137,.28) 1.2px,transparent 1.4px),#eaf2ff;background-size:22px 22px}.project-ledger-map-canvas__park,.project-ledger-map-canvas__road{position:absolute;z-index:2;display:grid;place-items:center;font-size:12px;font-weight:900}.project-ledger-map-canvas__park--one{top:118px;left:70px;width:128px;height:156px;border:2px solid #166534;border-radius:10px;color:#166534;background:#f0fdf4b8;transform:rotate(6deg)}.project-ledger-map-canvas__park--two{right:62px;bottom:92px;width:100px;height:100px;border:2px solid #b45309;border-radius:999px;color:#92400e;background:#fffbebcc}.project-ledger-map-canvas__road{height:24px;border-radius:999px;box-shadow:0 8px 16px #0f51321a}.project-ledger-map-canvas__road--green{top:142px;right:54px;width:154px;border:1px solid #166534;background:#f0fdf4b3;transform:rotate(47deg)}.project-ledger-map-canvas__road--red{left:72px;bottom:178px;width:186px;border:1px solid #991b1b;background:#fef2f2c7;transform:rotate(-11deg)}.project-ledger-spatial-summary{display:grid;gap:8px;margin-top:22px;padding:14px 20px;border:1px solid #dce7f3;border-radius:6px;background:#f8fbff}.project-ledger-spatial-summary div{display:flex;align-items:center;justify-content:space-between;gap:16px;color:#404942;font-size:15px}.project-ledger-spatial-summary strong{color:#071323;font-size:18px}.project-ledger-spatial-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.project-ledger-title-with-pill{display:flex;align-items:center;gap:16px;min-width:0}.project-ledger-title-with-pill span{display:inline-flex;align-items:center;min-height:28px;padding:4px 10px;border:1px solid #c8dced;border-radius:999px;color:#38556f;background:#edf6ff;font-size:13px;font-weight:800;white-space:nowrap}.project-ledger-table--regions{min-width:1000px}.project-ledger-table--regions tbody tr{cursor:default}.project-ledger-percent{font-weight:900}.project-ledger-percent--success{color:#166534}.project-ledger-percent--warning{color:#92400e}.project-ledger-percent--danger{color:#991b1b}.project-ledger-empty{padding:32px 20px;color:#707971;text-align:center}@media(max-width:1500px){.project-ledger-kpis{gap:14px}.project-ledger-filter{grid-template-columns:1fr}.project-ledger-filter__actions{justify-content:space-between}.project-ledger-workspace{grid-template-columns:minmax(0,1.65fr) minmax(330px,.85fr);gap:16px}.project-ledger-table th,.project-ledger-table td{padding-right:14px;padding-left:14px}.project-ledger-map-canvas{min-height:400px}}.contract-rule-page{display:grid;gap:16px;max-width:1680px;margin:0 auto;color:#181c1b}.contract-rule-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.contract-rule-hero h1{margin:0;color:#181c1b;font-size:28px;line-height:1.3;font-weight:900}.contract-rule-hero p{margin:5px 0 0;color:#404942;font-size:14px;line-height:1.55}.contract-rule-hero__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px}.contract-rule-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 16px;border:1px solid #c0c9c0;border-radius:8px;color:#181c1b;background:#fff;font-size:14px;font-weight:800;text-decoration:none;white-space:nowrap;box-shadow:0 2px 8px #0f51320a}button.contract-rule-action:hover,a.contract-rule-action:hover{color:#0f5132;border-color:#95d4ac;background:#f7faf8;transform:translateY(-1px)}.contract-rule-action--soft{color:#0f5132;border-color:#95d4ac;background:#e8f7ee}.contract-rule-action--primary{color:#fff;border-color:#003820;background:#003820}button.contract-rule-action--primary:hover,a.contract-rule-action--primary:hover{color:#fff;border-color:#0f5132;background:#0f5132}.contract-rule-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.contract-rule-kpi-card{position:relative;display:flex;align-items:center;min-width:0;min-height:104px;gap:16px;overflow:hidden;padding:18px 20px;border:1px solid #e0e6e2;border-radius:12px;background:#fff;box-shadow:0 2px 12px #0f51320a}.contract-rule-kpi-card:after{position:absolute;right:-18px;bottom:-20px;width:82px;height:82px;border-radius:18px;background:#0f51320a;content:""}.contract-rule-kpi-card__icon{display:grid;width:54px;height:54px;flex:0 0 auto;place-items:center;border-radius:999px;color:#0f5132;background:#0f513224}.contract-rule-kpi-card--success .contract-rule-kpi-card__icon{color:#2e7d32;background:#e8f5e9}.contract-rule-kpi-card--warning .contract-rule-kpi-card__icon{color:#e65100;background:#fff3e0}.contract-rule-kpi-card--danger{border-color:#ba1a1a47}.contract-rule-kpi-card--danger .contract-rule-kpi-card__icon{color:#ba1a1a;background:#ffdad6}.contract-rule-kpi-card--amber .contract-rule-kpi-card__icon{color:#b45309;background:#fff8e1}.contract-rule-kpi-card span:not(.contract-rule-kpi-card__icon){display:block;color:#404942;font-size:13px;font-weight:700}.contract-rule-kpi-card strong{display:flex;align-items:baseline;gap:4px;margin-top:5px;color:#181c1b;font-size:28px;line-height:1;font-weight:900}.contract-rule-kpi-card small{color:#707971;font-size:13px;font-weight:700}.contract-rule-kpi-card--danger strong{color:#ba1a1a}.contract-rule-table-panel{display:flex;min-height:560px;overflow:hidden;flex-direction:column;border:1px solid #e0e6e2;border-radius:12px;background:#fff;box-shadow:0 2px 12px #0f51320a}.contract-rule-filter-row{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid #e0e3e1;background:#fbfdfc}.contract-rule-search{display:flex;align-items:center;min-width:280px;min-height:42px;flex:1 1 320px;gap:10px;padding:0 14px;border:1px solid #c0c9c0;border-radius:8px;color:#404942;background:#f7faf8}.contract-rule-search:focus-within,.contract-rule-filter-row select:focus{border-color:#0f5132;box-shadow:0 0 0 2px #0f513224;outline:0}.contract-rule-search input{width:100%;min-height:0;padding:0;border:0;color:#181c1b;background:transparent;outline:0}.contract-rule-filter-row select{min-width:148px;min-height:42px;border-color:#c0c9c0;border-radius:8px;background-color:#f7faf8;font-size:14px}button.contract-rule-filter-button{display:grid;width:42px;min-height:42px;padding:0;place-items:center;border:1px solid transparent;border-radius:8px;color:#0f5132;background:#fff;box-shadow:none}button.contract-rule-filter-button:hover{border-color:#95d4ac;color:#003820;background:#e8f7ee;transform:none}.contract-rule-table-wrap{flex:1;overflow:auto}.contract-rule-table{width:100%;min-width:1120px;border-collapse:collapse}.contract-rule-table th{position:sticky;top:0;z-index:1;padding:14px 20px;border-bottom:1px solid #e0e6e2;color:#0f5132;background:#eaf3ef;font-size:14px;line-height:1.4;font-weight:900;text-align:left;white-space:nowrap}.contract-rule-table th:last-child{text-align:right}.contract-rule-table td{padding:15px 20px;border-bottom:1px solid #e7ede9;color:#181c1b;font-size:14px;line-height:1.45;vertical-align:middle}.contract-rule-table tbody tr{cursor:pointer;border-left:3px solid transparent}.contract-rule-table tbody tr:nth-child(2n) td{background:#f1f4f26b}.contract-rule-table tbody tr:hover,.contract-rule-table tbody tr.is-selected{border-left-color:#0f5132}.contract-rule-table tbody tr:hover td,.contract-rule-table tbody tr.is-selected td{background:#f3fbf6}.contract-rule-table__code{color:#10201a;font-weight:900;white-space:nowrap}.contract-rule-table__muted{color:#404942}.contract-rule-table__empty{padding:48px 20px;color:#707971;text-align:center}.contract-rule-confidence{display:inline-flex;align-items:center;gap:10px;min-width:112px}.contract-rule-confidence__value{min-width:38px;font-weight:900}.contract-rule-confidence__value--high{color:#2e7d32}.contract-rule-confidence__value--medium{color:#b45309}.contract-rule-confidence__value--low{color:#ba1a1a}.contract-rule-confidence__track{display:block;width:64px;height:7px;overflow:hidden;border-radius:999px;background:#e0e3e1}.contract-rule-confidence__bar{display:block;height:100%;border-radius:inherit}.contract-rule-confidence__bar--high{background:#2e7d32}.contract-rule-confidence__bar--medium{background:#f57f17}.contract-rule-confidence__bar--low{background:#ba1a1a}button.contract-rule-plan-count{min-width:34px;min-height:30px;padding:0 8px;border:0;border-radius:6px;color:#0f5132;background:transparent;font-weight:900;box-shadow:none}button.contract-rule-plan-count:hover{color:#003820;background:#e8f7ee;transform:none}.contract-rule-row-actions{display:flex;justify-content:flex-end;gap:5px;opacity:0;transition:opacity .18s ease}.contract-rule-table tbody tr:hover .contract-rule-row-actions,.contract-rule-table tbody tr.is-selected .contract-rule-row-actions{opacity:1}.contract-rule-row-actions button{display:grid;width:30px;min-height:30px;padding:0;place-items:center;border:0;border-radius:6px;color:#404942;background:transparent;box-shadow:none}.contract-rule-row-actions button:hover{color:#0f5132;background:#e8f7ee;transform:none}.contract-rule-table-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 20px;border-top:1px solid #e0e3e1;color:#404942;background:#fbfdfc;font-size:13px}.contract-rule-pagination{display:flex;align-items:center;gap:5px}.contract-rule-pagination button{display:grid;width:32px;min-height:32px;padding:0;place-items:center;border:1px solid #c0c9c0;border-radius:6px;color:#404942;background:#fff;font-size:13px;font-weight:800;box-shadow:none}.contract-rule-pagination button:hover{color:#0f5132;border-color:#95d4ac;background:#e8f7ee;transform:none}.contract-rule-pagination .is-current{color:#fff;border-color:#003820;background:#003820}.contract-rule-drawer-layer{position:fixed;top:0;right:0;bottom:0;left:240px;z-index:60;display:flex;justify-content:flex-end;background:#2d31306b;animation:contractRuleFadeIn .18s ease-out}.contract-rule-drawer{display:flex;width:min(45vw,690px);min-width:520px;height:100%;flex-direction:column;overflow:hidden;background:#fff;box-shadow:-20px 0 42px #151d193d;animation:contractRuleSlideIn .24s ease-out}.contract-rule-drawer__header,.contract-rule-drawer__footer{flex:0 0 auto;background:#f7faf8}.contract-rule-drawer__header{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:98px;padding:20px 28px;border-bottom:1px solid #c0c9c0}.contract-rule-drawer__header h2{margin:0;color:#181c1b;font-size:20px;line-height:1.35;font-weight:900}.contract-rule-drawer__header p{margin:4px 0 0;color:#181c1b;font-family:Noto Sans SC,Microsoft YaHei,sans-serif;font-size:13px}.contract-rule-drawer__header-actions{display:flex;align-items:center;gap:12px}button.contract-rule-drawer-edit{min-height:40px;padding:0 14px;border:0;border-radius:6px;color:#003820;background:#0f513229;font-weight:900;box-shadow:none}button.contract-rule-drawer-edit:hover{color:#003820;background:#0f51323d;transform:none}button.contract-rule-drawer-close{display:grid;width:42px;min-height:42px;padding:0;place-items:center;border:0;border-radius:999px;color:#181c1b;background:transparent;box-shadow:none}button.contract-rule-drawer-close:hover{color:#003820;background:#e0e3e1;transform:none}.contract-rule-drawer__body{display:flex;flex:1;flex-direction:column;gap:24px;overflow-y:auto;padding:30px 28px 28px;background:#f7faf8}.contract-rule-detail-card,.contract-rule-mini-card{border:1px solid #c0c9c0;border-radius:12px;background:#fff;box-shadow:0 2px 10px #0f51320d}.contract-rule-detail-card{padding:22px 24px}.contract-rule-detail-card h3,.contract-rule-source-card h3,.contract-rule-mini-card h3{display:flex;align-items:center;gap:10px;margin:0;color:#003820;font-size:18px;line-height:1.45;font-weight:900}.contract-rule-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 26px;margin-top:20px}.contract-rule-detail-field{display:grid;gap:7px;min-width:0}.contract-rule-detail-field>span{color:#404942;font-size:13px;font-weight:700}.contract-rule-detail-field strong{min-width:0;color:#181c1b;font-size:15px;line-height:1.55;font-weight:800}.contract-rule-soft-pill{display:inline-flex;width:fit-content;min-height:28px;align-items:center;padding:3px 10px;border-radius:6px;color:#181c1b;background:#e6e9e7;font-size:14px;font-weight:800}.contract-rule-link-text{display:inline-flex;align-items:center;gap:5px;color:#0f5132}.contract-rule-requirement-box{display:flex;align-items:center;gap:16px;margin-top:20px;padding:16px;border:1px solid rgba(192,201,192,.7);border-radius:8px;background:#f7faf8}.contract-rule-requirement-box__icon{display:grid;width:52px;height:52px;flex:0 0 auto;place-items:center;border-radius:999px;color:#0f5132;background:#0f513224}.contract-rule-requirement-box span{display:block;color:#404942;font-size:13px;font-weight:800}.contract-rule-requirement-box strong{display:block;margin-top:5px;color:#181c1b;font-size:18px;line-height:1.5;font-weight:900}.contract-rule-copy-block{display:grid;gap:9px;margin-top:18px}.contract-rule-copy-block span{color:#404942;font-size:13px;font-weight:800}.contract-rule-copy-block p{margin:0;padding:16px;border:1px solid rgba(192,201,192,.7);border-radius:8px;color:#181c1b;background:#f7faf8;font-size:14px;line-height:1.85}.contract-rule-source-card{position:relative;overflow:hidden;padding:22px 24px;border-radius:12px;color:#eef1ef;background:#29322f;box-shadow:0 12px 26px #151d1924}.contract-rule-source-card:after{position:absolute;top:-56px;right:-46px;width:160px;height:160px;border-radius:999px;background:#0f51325c;content:""}.contract-rule-source-card h3{position:relative;z-index:1;color:#ffdea5}.contract-rule-source-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(150px,.82fr) minmax(0,1.3fr);gap:16px;margin-top:18px}.contract-rule-source-meta{display:grid;gap:12px}.contract-rule-source-meta div{display:grid;gap:5px;padding:14px;border:1px solid rgba(192,201,192,.24);border-radius:8px;background:#2d31309e}.contract-rule-source-meta span{color:#c0c9c0;font-size:12px;font-weight:800}.contract-rule-source-meta strong{color:#b0f1c7;font-size:20px;line-height:1.25}.contract-rule-source-meta div:first-child strong{color:#fff;font-size:14px}.contract-rule-source-meta small{color:#c0c9c0;font-size:12px;line-height:1.45}.contract-rule-source-snippet{position:relative;min-height:170px;padding:38px 18px 18px;border:1px solid #c0c9c0;border-radius:8px;color:#181c1b;background:#f7faf8;box-shadow:inset 0 0 18px #151d190f}.contract-rule-source-snippet>span{position:absolute;top:10px;right:10px;padding:3px 8px;border-radius:5px;color:#404942;background:#e6e9e7;font-size:11px;font-weight:800}.contract-rule-source-snippet p{margin:0;color:#181c1b;font-size:13px;line-height:1.85}.contract-rule-side-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.contract-rule-mini-card{min-height:178px;padding:20px 22px}.contract-rule-mini-card h3{color:#181c1b;font-size:15px}.contract-rule-mini-card h3 svg{color:#0f5132}.contract-rule-mini-card ul{display:grid;gap:13px;margin:18px 0 0;padding:0;list-style:none}.contract-rule-mini-card li{display:flex;align-items:flex-start;gap:9px;color:#404942;font-size:13px;line-height:1.5}.contract-rule-mini-card li svg{flex:0 0 auto;margin-top:1px;color:#2e7d32}.contract-rule-mini-card li svg.is-muted{color:#707971}.contract-rule-mini-card--danger{position:relative;overflow:hidden;border-color:#ba1a1a42}.contract-rule-mini-card--danger:after{position:absolute;top:-34px;right:-28px;width:100px;height:100px;border-radius:999px;background:#ba1a1a0f;content:""}.contract-rule-mini-card--danger h3,.contract-rule-mini-card--danger h3 svg{color:#ba1a1a}.contract-rule-mini-card--danger p{position:relative;z-index:1;margin:18px 0 0;color:#404942;font-size:13px;line-height:1.85}.contract-rule-audit-card{margin-bottom:8px}.contract-rule-audit-timeline{display:grid;gap:20px;margin-top:20px;padding-left:18px;border-left:2px solid #e0e3e1}.contract-rule-audit-timeline article{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px}.contract-rule-audit-timeline__icon{display:grid;width:32px;height:32px;place-items:center;border-radius:999px;color:#404942;background:#e6e9e7;box-shadow:0 0 0 6px #fff;transform:translate(-35px)}.contract-rule-audit-timeline__icon--done{color:#2e7d32;background:#e8f5e9}.contract-rule-audit-timeline article>div{margin-left:-34px}.contract-rule-audit-timeline strong,.contract-rule-audit-timeline time{display:block}.contract-rule-audit-timeline strong{color:#181c1b;font-size:14px}.contract-rule-audit-timeline time{margin-top:4px;color:#707971;font-size:12px}.contract-rule-audit-timeline p{margin:8px 0 0;padding:10px 12px;border-radius:7px;color:#404942;background:#f7faf8;font-size:13px;line-height:1.6}.contract-rule-drawer__footer{display:flex;justify-content:flex-end;gap:12px;padding:18px 28px;border-top:1px solid #c0c9c0}@keyframes contractRuleFadeIn{0%{opacity:0}to{opacity:1}}@keyframes contractRuleSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}@media(max-width:1500px){.contract-rule-hero{display:grid}.contract-rule-hero__actions{justify-content:flex-start}.contract-rule-kpi-grid{gap:12px}.contract-rule-filter-row{flex-wrap:wrap}.contract-rule-drawer{width:min(52vw,660px)}}.daily-logs-page{display:grid;max-width:1680px;margin:0 auto;gap:16px;color:#181c1b}.daily-logs-warning{display:flex;align-items:flex-start;gap:14px;padding:15px 18px;border:1px solid #efaaa3;border-left:4px solid #b42318;border-radius:8px;color:#7a1d17;background:#fff3f1}.daily-logs-warning svg{flex:0 0 auto;margin-top:2px;color:#b42318}.daily-logs-warning strong,.daily-logs-warning span{display:block}.daily-logs-warning strong{font-size:15px;font-weight:900}.daily-logs-warning span{margin-top:4px;color:#5f2a25;font-size:13px;line-height:1.55}.daily-logs-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.daily-logs-eyebrow{display:inline-flex;min-height:24px;align-items:center;padding:0 9px;border:1px solid #b9ddc9;border-radius:6px;color:#0f5132;background:#e8f7ee;font-size:12px;font-weight:900}.daily-logs-hero h1{margin:8px 0 5px;color:#101c17;font-size:28px;line-height:1.25;font-weight:900}.daily-logs-hero p{max-width:760px;margin:0;color:#404942;font-size:14px;line-height:1.65}.daily-logs-hero__actions,.daily-logs-row-actions,.daily-logs-drawer__footer,.daily-logs-modal__footer{display:flex;align-items:center}.daily-logs-hero__actions{flex-wrap:wrap;justify-content:flex-end;gap:10px}button.daily-logs-action,.daily-logs-action{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:8px;padding:0 14px;border:1px solid #c0c9c0;border-radius:8px;color:#0f5132;background:#fff;font-size:13px;font-weight:900;white-space:nowrap;box-shadow:none}button.daily-logs-action:hover,.daily-logs-action:hover{border-color:#95d4ac;color:#003820;background:#f7faf8;transform:translateY(-1px)}.daily-logs-action--primary{border-color:#003820;color:#fff;background:#003820}button.daily-logs-action--primary:hover,.daily-logs-action--primary:hover{border-color:#0f5132;color:#fff;background:#0f5132}.daily-logs-action--soft{border-color:#8ccfac;background:#e8f7ee}.daily-logs-action--danger{border-color:#efaaa3;color:#b42318;background:#fff3f1}button.daily-logs-action--danger:hover{border-color:#d97d75;color:#8f1f17;background:#fff0ee}.daily-logs-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.daily-logs-kpi{display:grid;min-width:0;min-height:124px;align-content:space-between;gap:10px;padding:16px;border:1px solid #d6e0da;border-top:4px solid #0f5132;border-radius:8px;background:#fff;box-shadow:0 3px 12px #0f51320d}.daily-logs-kpi--gold{border-top-color:#b7791f}.daily-logs-kpi--red{border-top-color:#b42318}.daily-logs-kpi--cyan{border-top-color:#1e9c89}.daily-logs-kpi__top{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#404942;font-size:12px;font-weight:900}.daily-logs-kpi__top svg{color:#0f5132}.daily-logs-kpi--gold .daily-logs-kpi__top svg{color:#b7791f}.daily-logs-kpi--red .daily-logs-kpi__top svg{color:#b42318}.daily-logs-kpi--cyan .daily-logs-kpi__top svg{color:#1e9c89}.daily-logs-kpi strong{color:#101c17;font-size:32px;line-height:1;font-weight:900}.daily-logs-kpi small{margin-left:4px;color:#707971;font-size:13px;font-weight:800}.daily-logs-kpi p{overflow:hidden;margin:0;color:#707971;font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.daily-logs-flow{display:grid;grid-template-columns:minmax(260px,.54fr) minmax(0,1.46fr);gap:14px;padding:16px 18px;border:1px solid #d6e0da;border-radius:8px;background:#fff;box-shadow:0 3px 12px #0f51320a}.daily-logs-flow__title{display:flex;align-items:center;gap:12px}.daily-logs-flow__title svg{color:#0f5132}.daily-logs-flow__title strong,.daily-logs-flow__title span{display:block}.daily-logs-flow__title strong{color:#10201a;font-size:15px;font-weight:900}.daily-logs-flow__title span{margin-top:4px;color:#707971;font-size:12px;line-height:1.5}.daily-logs-flow__steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.daily-logs-flow-step{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;min-width:0;padding:12px;border:1px solid #dfe7e2;border-radius:8px;background:#fbfdfc}.daily-logs-flow-step span{display:grid;width:28px;height:28px;place-items:center;border-radius:999px;color:#404942;background:#e6e9e7;font-size:12px;font-weight:900}.daily-logs-flow-step strong,.daily-logs-flow-step small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.daily-logs-flow-step strong{color:#181c1b;font-size:13px;font-weight:900}.daily-logs-flow-step small{margin-top:3px;color:#707971;font-size:11px;font-weight:700}.daily-logs-flow-step--done{border-color:#b9ddc9;background:#edf8f1}.daily-logs-flow-step--done span{color:#fff;background:#0f5132}.daily-logs-flow-step--active{border-color:#1e9c89;background:#eefbf8;box-shadow:inset 0 3px #1e9c89}.daily-logs-flow-step--active span{color:#fff;background:#1e9c89}.daily-logs-flow-step--warn{border-color:#e3bd62;background:#fff9e8}.daily-logs-flow-step--warn span{color:#fff;background:#b7791f}.daily-logs-workbench{overflow:hidden;border:1px solid #d6e0da;border-radius:8px;background:#fff;box-shadow:0 3px 12px #0f51320d}.daily-logs-tabs{display:flex;align-items:center;gap:0;border-bottom:1px solid #dfe7e2;background:#fbfdfc}.daily-logs-tabs button{position:relative;min-height:52px;padding:0 22px;border:0;border-right:1px solid #dfe7e2;border-radius:0;color:#404942;background:transparent;font-size:14px;font-weight:900;box-shadow:none}.daily-logs-tabs button:hover{color:#003820;background:#f2f7f5;transform:none}.daily-logs-tabs button.is-active{color:#003820;background:#fff}.daily-logs-tabs button.is-active:after{position:absolute;right:0;bottom:-1px;left:0;height:3px;background:#0f5132;content:""}.daily-logs-tabs button span{display:inline-grid;min-width:22px;height:22px;place-items:center;padding:0 6px;border-radius:999px;color:#404942;background:#e7ede9;font-size:12px}.daily-logs-tabs button.is-active span{color:#fff;background:#0f5132}.daily-logs-filters{display:grid;grid-template-columns:minmax(300px,1.3fr) repeat(8,minmax(118px,1fr)) 42px;gap:10px;padding:14px 16px;border-bottom:1px solid #dfe7e2;background:#fff}.daily-logs-search{display:flex;min-width:0;min-height:40px;align-items:center;gap:9px;padding:0 12px;border:1px solid #c0c9c0;border-radius:8px;color:#404942;background:#f7faf8}.daily-logs-search input{width:100%;min-height:0;min-width:0;padding:0;border:0;color:#181c1b;background:transparent;outline:0}.daily-logs-filters select,.daily-logs-filters>input{min-width:0;min-height:40px;border-color:#c0c9c0;border-radius:8px;background-color:#f7faf8;font-size:13px;font-weight:700}.daily-logs-search:focus-within,.daily-logs-filters select:focus,.daily-logs-filters>input:focus{border-color:#0f5132;box-shadow:0 0 0 2px #0f513224;outline:0}button.daily-logs-filter-reset{display:grid;min-height:40px;padding:0;place-items:center;border:1px solid #c0c9c0;border-radius:8px;color:#0f5132;background:#fff;box-shadow:none}button.daily-logs-filter-reset:hover{border-color:#95d4ac;background:#e8f7ee;transform:none}.daily-logs-table-shell{min-width:0}.daily-logs-table-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid #dfe7e2;background:#fbfdfc}.daily-logs-table-header h2{margin:0;color:#10201a;font-size:18px;font-weight:900}.daily-logs-table-header p{margin:5px 0 0;color:#707971;font-size:12px;font-weight:700;line-height:1.5}.daily-logs-table-header>span{display:inline-flex;min-height:28px;align-items:center;padding:0 10px;border:1px solid #c0c9c0;border-radius:999px;color:#0f5132;background:#fff;font-size:12px;font-weight:900;white-space:nowrap}.daily-logs-table-wrap{width:100%;overflow:auto}.daily-logs-table{width:100%;min-width:1180px;border-collapse:collapse}.daily-logs-table--wide{min-width:1860px}.daily-logs-table--abnormal{min-width:1580px}.daily-logs-table--materials{min-width:1280px}.daily-logs-table th{position:sticky;top:0;z-index:1;padding:12px 14px;border-bottom:1px solid #dfe7e2;color:#0f5132;background:#edf4f0;font-size:12px;font-weight:900;text-align:left;white-space:nowrap}.daily-logs-table td{padding:12px 14px;border-bottom:1px solid #e7ede9;color:#25332f;font-size:13px;line-height:1.45;vertical-align:middle}.daily-logs-table tbody tr:nth-child(2n) td{background:#f7faf88f}.daily-logs-table tbody tr:hover td,.daily-logs-click-row.is-selected td{background:#f2fbf6}.daily-logs-click-row{cursor:pointer;border-left:3px solid transparent}.daily-logs-click-row.is-selected{border-left-color:#0f5132}.daily-logs-row--warning td,.daily-logs-row--medium td{background:#fffaf0}.daily-logs-row--high td{background:#fff4f2}.daily-logs-row--low td{background:#f7faf8}.daily-logs-code,.daily-logs-mono{color:#10201a;font-family:IBM Plex Sans,Cascadia Mono,Consolas,monospace;font-weight:900;white-space:nowrap}.daily-logs-main-cell{display:grid;gap:4px;min-width:0}.daily-logs-main-cell strong{color:#181c1b;font-size:13px;font-weight:900}.daily-logs-main-cell span{color:#707971;font-size:12px;font-weight:700}.daily-logs-missing,.daily-logs-photo-empty{display:inline-flex;min-height:24px;align-items:center;padding:0 8px;border:1px solid #f0c0bc;border-radius:5px;color:#9f302b;background:#fff0ee;font-size:12px;font-weight:800;white-space:nowrap}.daily-logs-photo-strip{display:inline-flex;align-items:center;gap:5px}button.daily-logs-photo-thumb{display:grid;width:28px;min-height:28px;padding:0;place-items:center;border:1px solid #c0c9c0;border-radius:6px;color:#0f5132;background:#fff;box-shadow:none}button.daily-logs-photo-thumb:hover{border-color:#95d4ac;background:#e8f7ee;transform:none}button.daily-logs-photo-thumb span{display:none}.daily-logs-photo-strip strong{color:#404942;font-size:12px;white-space:nowrap}.daily-logs-row-actions{gap:4px;justify-content:flex-end}.daily-logs-row-actions button{display:grid;width:30px;min-height:30px;padding:0;place-items:center;border:0;border-radius:6px;color:#404942;background:transparent;box-shadow:none}.daily-logs-row-actions button:hover{color:#0f5132;background:#e8f7ee;transform:none}.daily-logs-empty{padding:34px 20px;color:#707971;text-align:center}.daily-logs-score{display:inline-flex;min-width:148px;align-items:center;gap:10px}.daily-logs-score>span{display:block;width:88px;height:8px;overflow:hidden;border-radius:999px;background:#e0e3e1}.daily-logs-score i{display:block;height:100%;border-radius:inherit;background:#1e9c89}.daily-logs-score strong{min-width:38px;color:#10201a;font-size:13px;font-weight:900}.daily-logs-drawer-layer{position:fixed;top:0;right:0;bottom:0;left:240px;z-index:60;display:flex;justify-content:flex-end;background:#2d31306b;animation:dailyLogsFadeIn .18s ease-out}button.daily-logs-drawer__scrim{position:absolute;top:0;right:0;bottom:0;left:0;min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}button.daily-logs-drawer__scrim:hover{background:transparent;transform:none}.daily-logs-drawer{position:relative;z-index:1;display:flex;width:min(47vw,720px);min-width:560px;height:100%;flex-direction:column;overflow:hidden;background:#fff;box-shadow:-20px 0 42px #151d193d;animation:dailyLogsSlideIn .24s ease-out}.daily-logs-drawer__header{display:flex;min-height:100px;align-items:center;justify-content:space-between;gap:18px;padding:20px 26px;border-bottom:1px solid #c0c9c0;background:#f7faf8}.daily-logs-drawer__header span,.daily-logs-modal__header span{display:block;color:#0f5132;font-size:12px;font-weight:900}.daily-logs-drawer__header h2,.daily-logs-modal__header h2{margin:4px 0 0;color:#181c1b;font-size:21px;line-height:1.32;font-weight:900}.daily-logs-drawer__header p{margin:5px 0 0;color:#404942;font-size:13px;font-weight:700}.daily-logs-drawer__header button,.daily-logs-modal__header button{display:grid;width:40px;min-height:40px;padding:0;place-items:center;border:0;border-radius:999px;color:#181c1b;background:transparent;box-shadow:none}.daily-logs-drawer__header button:hover,.daily-logs-modal__header button:hover{color:#003820;background:#e0e3e1;transform:none}.daily-logs-drawer__body{display:grid;flex:1;gap:16px;overflow-y:auto;padding:20px 24px 24px;background:#f7faf8}.daily-logs-drawer-alert{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid #efd18b;border-radius:8px;color:#704f09;background:#fffaf0;font-size:13px;font-weight:800;line-height:1.55}.daily-logs-drawer-alert svg{flex:0 0 auto;margin-top:1px}.daily-logs-detail-card{padding:18px;border:1px solid #d6e0da;border-radius:8px;background:#fff;box-shadow:0 2px 10px #0f51320a}.daily-logs-detail-card h3{display:flex;align-items:center;gap:8px;margin:0;color:#003820;font-size:16px;font-weight:900}.daily-logs-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 18px;margin-top:16px}.daily-logs-detail-field{display:grid;gap:5px;min-width:0}.daily-logs-detail-field>span{color:#707971;font-size:12px;font-weight:900}.daily-logs-detail-field strong{min-width:0;color:#181c1b;font-size:14px;line-height:1.55;font-weight:800}.daily-logs-copy-block{display:grid;gap:7px;margin-top:14px}.daily-logs-copy-block span{color:#707971;font-size:12px;font-weight:900}.daily-logs-copy-block p{margin:0;padding:12px;border:1px solid #e0e6e2;border-radius:8px;color:#25332f;background:#fbfdfc;font-size:13px;line-height:1.7}.daily-logs-timeline{padding:18px;border:1px solid #d6e0da;border-radius:8px;background:#fff}.daily-logs-timeline h3{margin:0;color:#181c1b;font-size:16px;font-weight:900}.daily-logs-timeline ol{display:grid;gap:14px;margin:16px 0 0;padding:0 0 0 18px;border-left:2px solid #dfe7e2;list-style:none}.daily-logs-timeline li{position:relative;display:grid;gap:4px}.daily-logs-timeline li:before{position:absolute;top:3px;left:-25px;width:12px;height:12px;border:3px solid #fff;border-radius:999px;background:#0f5132;box-shadow:0 0 0 1px #b9ddc9;content:""}.daily-logs-timeline strong{color:#181c1b;font-size:13px;font-weight:900}.daily-logs-timeline span{color:#707971;font-size:12px;line-height:1.55}.daily-logs-drawer__footer{flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid #c0c9c0;background:#fff}.daily-logs-modal-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:28px;background:#2d313070;animation:dailyLogsFadeIn .18s ease-out}.daily-logs-modal,.daily-logs-photo-modal{width:min(660px,100%);max-height:calc(100vh - 56px);overflow:hidden;border:1px solid #c0c9c0;border-radius:12px;background:#fff;box-shadow:0 22px 54px #151d193d}.daily-logs-photo-modal{width:min(760px,100%)}.daily-logs-modal__header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px;border-bottom:1px solid #dfe7e2;background:#f7faf8}.daily-logs-fix-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:20px 22px 22px}.daily-logs-fix-form label{display:grid;gap:7px;min-width:0}.daily-logs-fix-form label span{color:#404942;font-size:12px;font-weight:900}.daily-logs-fix-form select,.daily-logs-fix-form textarea{min-width:0;border:1px solid #c0c9c0;border-radius:8px;color:#181c1b;background:#fbfdfc;font:inherit}.daily-logs-fix-form select{min-height:42px;padding:0 10px}.daily-logs-fix-form textarea{resize:vertical;padding:10px 12px;line-height:1.6}.daily-logs-fix-form__wide,.daily-logs-upload-placeholder,.daily-logs-modal__footer{grid-column:1 / -1}.daily-logs-upload-placeholder{display:grid;min-height:112px;place-items:center;gap:6px;padding:16px;border:1px dashed #95d4ac;border-radius:8px;color:#0f5132;background:#f7faf8;text-align:center}.daily-logs-upload-placeholder strong{color:#003820;font-size:14px;font-weight:900}.daily-logs-upload-placeholder span{color:#707971;font-size:12px;font-weight:700}.daily-logs-modal__footer{justify-content:flex-end;gap:10px;margin-top:2px}.daily-logs-photo-canvas{display:grid;min-height:360px;place-items:center;align-content:center;gap:10px;margin:22px 22px 0;border:1px solid #c0c9c0;border-radius:10px;color:#0f5132;background:linear-gradient(135deg,rgba(15,81,50,.08) 25%,transparent 25%) 0 0 / 28px 28px,linear-gradient(135deg,transparent 75%,rgba(30,156,137,.12) 75%) 0 0 / 28px 28px,#f7faf8}.daily-logs-photo-canvas strong{color:#003820;font-size:18px;font-weight:900}.daily-logs-photo-canvas span{color:#707971;font-size:13px;font-weight:700}.daily-logs-photo-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:18px 22px 22px;border:1px solid #dfe7e2;border-radius:8px;overflow:hidden}.daily-logs-photo-meta div{padding:12px;border-right:1px solid #dfe7e2;background:#fbfdfc}.daily-logs-photo-meta div:last-child{border-right:0}.daily-logs-photo-meta dt{color:#707971;font-size:12px;font-weight:900}.daily-logs-photo-meta dd{margin:5px 0 0;color:#181c1b;font-size:13px;font-weight:800}@keyframes dailyLogsFadeIn{0%{opacity:0}to{opacity:1}}@keyframes dailyLogsSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}@media(max-width:1500px){.daily-logs-hero{display:grid}.daily-logs-hero__actions{justify-content:flex-start}.daily-logs-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.daily-logs-flow{grid-template-columns:1fr}.daily-logs-flow__steps{grid-template-columns:repeat(5,minmax(160px,1fr));overflow-x:auto}.daily-logs-filters{grid-template-columns:minmax(280px,1fr) repeat(4,minmax(130px,1fr)) 42px}.daily-logs-search{grid-column:span 2}.daily-logs-drawer{width:min(56vw,700px)}}.progress-analysis-page{display:grid;max-width:1680px;margin:0 auto;gap:16px;color:#181c1b}.progress-analysis-kpis{display:grid;grid-template-columns:repeat(8,minmax(108px,1fr));gap:10px}.progress-analysis-kpi{display:grid;min-width:0;min-height:116px;align-content:space-between;gap:10px;padding:14px;border:1px solid #d6e0da;border-top:4px solid #0f5132;border-radius:8px;background:#fff;box-shadow:0 3px 12px #0f51320d}.progress-analysis-kpi--blue{border-top-color:#235c72}.progress-analysis-kpi--cyan{border-top-color:#1e9c89}.progress-analysis-kpi--gold{border-top-color:#b7791f}.progress-analysis-kpi--red{border-top-color:#b42318}.progress-analysis-kpi__top{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#404942;font-size:12px;font-weight:900}.progress-analysis-kpi__top svg{flex:0 0 auto;color:#0f5132}.progress-analysis-kpi--blue .progress-analysis-kpi__top svg{color:#235c72}.progress-analysis-kpi--cyan .progress-analysis-kpi__top svg{color:#1e9c89}.progress-analysis-kpi--gold .progress-analysis-kpi__top svg{color:#b7791f}.progress-analysis-kpi--red .progress-analysis-kpi__top svg{color:#b42318}.progress-analysis-kpi strong{color:#101c17;font-size:27px;line-height:1;font-weight:900;font-variant-numeric:tabular-nums}.progress-analysis-kpi small{margin-left:4px;color:#707971;font-size:12px;font-weight:800}.progress-analysis-kpi p{overflow:hidden;margin:0;color:#707971;font-size:11px;font-weight:700;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.progress-analysis-filter{display:grid;grid-template-columns:minmax(260px,1.35fr) repeat(6,minmax(116px,1fr)) 92px;gap:10px;padding:12px;border:1px solid #d6e0da;border-radius:8px;background:#fff;box-shadow:0 2px 10px #0f51320a}.progress-analysis-search{display:flex;min-width:0;min-height:40px;align-items:center;gap:9px;padding:0 12px;border:1px solid #c0c9c0;border-radius:8px;color:#404942;background:#f7faf8}.progress-analysis-search input{width:100%;min-width:0;min-height:0;padding:0;border:0;background:transparent;outline:0}.progress-analysis-filter select,.progress-analysis-filter>button{min-width:0;min-height:40px;border-radius:8px;font-size:13px;font-weight:800}.progress-analysis-filter select{border-color:#c0c9c0;background-color:#f7faf8}.progress-analysis-search:focus-within,.progress-analysis-filter select:focus{border-color:#0f5132;box-shadow:0 0 0 2px #0f513224;outline:0}.progress-analysis-layout{display:grid;grid-template-columns:minmax(0,1fr) 318px;gap:16px;align-items:start}.progress-analysis-main{display:grid;min-width:0;gap:16px}.progress-analysis-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.progress-analysis-panel,.progress-analysis-workbench,.progress-analysis-ai-card,.progress-analysis-risk-panel,.progress-analysis-link-panel{min-width:0;overflow:hidden;border:1px solid #d6e0da;border-radius:8px;background:#fff;box-shadow:0 3px 12px #0f51320d}.progress-analysis-panel{padding:16px}.progress-analysis-panel__header,.progress-analysis-side-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.progress-analysis-panel__header h2,.progress-analysis-side-header h2,.progress-analysis-link-panel h2,.progress-analysis-ai-card h2{margin:0;color:#10201a;font-size:17px;line-height:1.35;font-weight:900}.progress-analysis-panel__header p{margin:4px 0 0;color:#707971;font-size:12px;font-weight:700}.progress-analysis-combo-chart{display:grid;grid-template-columns:minmax(160px,.76fr) minmax(220px,1.24fr);gap:12px;align-items:center}.progress-analysis-table-wrap{width:100%;overflow:auto}.progress-analysis-table{width:100%;min-width:1040px;border-collapse:collapse}.progress-analysis-table--wide{min-width:1480px}.progress-analysis-table--summary{min-width:1180px}.progress-analysis-table th{padding:11px 12px;border-bottom:1px solid #dfe7e2;color:#0f5132;background:#edf4f0;font-size:12px;font-weight:900;text-align:left;white-space:nowrap}.progress-analysis-table td{padding:11px 12px;border-bottom:1px solid #edf2ef;color:#25332f;font-size:12px;line-height:1.45;vertical-align:middle}.progress-analysis-table tbody tr:nth-child(2n) td{background:#f7faf89e}.progress-analysis-table tbody tr:hover td{background:#f2fbf6}.progress-analysis-table td strong{color:#101c17;font-weight:900}.progress-analysis-code{color:#10201a;font-family:Cascadia Mono,Consolas,monospace;font-weight:900;white-space:nowrap}.progress-analysis-link-button{display:inline;min-height:0;padding:0;border:0;border-radius:0;color:#0f5132;background:transparent;font-size:inherit;font-weight:900;line-height:1.45;text-align:left;box-shadow:none}.progress-analysis-link-button:hover{color:#006b5d;background:transparent;transform:none}.progress-analysis-subtext{display:block;margin-top:3px;color:#707971;font-size:11px;font-weight:700}.progress-analysis-advice{min-width:230px;color:#404942}.progress-analysis-empty{padding:34px 20px;color:#707971;text-align:center}.progress-analysis-muted{color:#707971;font-size:12px;font-weight:700}.progress-analysis-source-list{display:inline-flex;max-width:210px;flex-wrap:wrap;gap:5px;vertical-align:middle}.progress-analysis-source-list span,.progress-analysis-source-list em{display:inline-flex;min-height:22px;align-items:center;padding:0 7px;border:1px solid #dfe7e2;border-radius:999px;color:#404942;background:#fbfdfc;font-size:11px;font-style:normal;font-weight:800;white-space:nowrap}.progress-analysis-ratio{display:inline-flex;min-width:128px;align-items:center;gap:9px}.progress-analysis-ratio__track{display:block;width:82px;height:8px;overflow:hidden;border-radius:999px;background:#e0e3e1}.progress-analysis-ratio__bar{display:block;height:100%;border-radius:inherit;background:#0f5132}.progress-analysis-ratio__bar--gold{background:#b7791f}.progress-analysis-ratio__bar--red{background:#b42318}.progress-analysis-ratio strong{min-width:36px;color:#10201a;font-size:12px;font-weight:900;font-variant-numeric:tabular-nums}.progress-analysis-row-actions{display:flex;flex-wrap:wrap;gap:5px}.progress-analysis-row-actions button{min-height:28px;padding:0 8px;border-color:#d6e0da;border-radius:6px;color:#0f5132;background:#fff;font-size:12px;font-weight:900;box-shadow:none}.progress-analysis-row-actions button:hover{border-color:#95d4ac;background:#e8f7ee;transform:none}.progress-analysis-workbench{display:grid}.progress-analysis-tabs{display:flex;align-items:center;border-bottom:1px solid #dfe7e2;background:#fbfdfc}.progress-analysis-tabs button{position:relative;min-height:52px;padding:0 22px;border:0;border-right:1px solid #dfe7e2;border-radius:0;color:#404942;background:transparent;font-size:14px;font-weight:900;box-shadow:none}.progress-analysis-tabs button:hover{color:#003820;background:#f2f7f5;transform:none}.progress-analysis-tabs button.is-active{color:#003820;background:#fff}.progress-analysis-tabs button.is-active:after{position:absolute;right:0;bottom:-1px;left:0;height:3px;background:#0f5132;content:""}.progress-analysis-tabs span{display:inline-grid;min-width:22px;height:22px;margin-left:7px;place-items:center;padding:0 6px;border-radius:999px;color:#404942;background:#e7ede9;font-size:12px}.progress-analysis-tabs button.is-active span{color:#fff;background:#0f5132}.progress-analysis-aside{display:grid;gap:16px}.progress-analysis-ai-card,.progress-analysis-risk-panel,.progress-analysis-link-panel{padding:16px}.progress-analysis-ai-card{border-color:#95d4ac;background:linear-gradient(180deg,#e8f7ee,#fff 92%)}.progress-analysis-ai-card__title{display:flex;align-items:flex-start;gap:10px}.progress-analysis-ai-card__title svg{flex:0 0 auto;color:#0f5132}.progress-analysis-ai-card__title span{display:block;margin-top:3px;color:#707971;font-size:11px;font-weight:800}.progress-analysis-ai-card>strong{display:block;margin-top:18px;color:#0f5132;font-size:43px;line-height:1;font-weight:900;font-variant-numeric:tabular-nums}.progress-analysis-ai-card p,.progress-analysis-detail-card p{margin:12px 0 0;color:#404942;font-size:13px;font-weight:700;line-height:1.7}.progress-analysis-ai-card small{display:block;margin-top:12px;padding:10px;border:1px solid #efd18b;border-radius:8px;color:#704f09;background:#fffaf0;font-size:12px;font-weight:800;line-height:1.55}.progress-analysis-side-header{align-items:center}.progress-analysis-side-header button{min-height:28px;padding:0;border:0;color:#0f5132;background:transparent;font-size:12px;font-weight:900;box-shadow:none}.progress-analysis-side-header button:hover{color:#003820;background:transparent;transform:none}.progress-analysis-risk-list{display:grid;gap:9px}button.progress-analysis-risk-item{display:flex;min-height:64px;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;border:1px solid #dfe7e2;border-left:4px solid #0f5132;border-radius:8px;color:#181c1b;background:#fbfdfc;text-align:left;box-shadow:none}button.progress-analysis-risk-item:hover{border-color:#b9ddc9;background:#f2fbf6;transform:none}button.progress-analysis-risk-item--high{border-left-color:#b42318}button.progress-analysis-risk-item--medium{border-left-color:#b7791f}.progress-analysis-risk-item strong,.progress-analysis-risk-item small{display:block}.progress-analysis-risk-item strong{color:#181c1b;font-size:13px;font-weight:900;line-height:1.35}.progress-analysis-risk-item small{margin-top:4px;overflow:hidden;color:#707971;font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.progress-analysis-link-panel ol{display:grid;gap:9px;margin:14px 0 0;padding:0;list-style:none}.progress-analysis-link-panel li{display:flex;align-items:center;gap:10px;min-height:38px;color:#25332f;font-size:13px;font-weight:800}.progress-analysis-link-panel li span{display:grid;width:28px;height:28px;flex:0 0 auto;place-items:center;border-radius:999px;color:#fff;background:#0f5132;font-size:11px;font-weight:900}.progress-analysis-drawer-layer{position:fixed;top:0;right:0;bottom:0;left:240px;z-index:70;display:flex;justify-content:flex-end;background:#2d31306b;animation:progressAnalysisFadeIn .18s ease-out}button.progress-analysis-drawer__scrim{position:absolute;top:0;right:0;bottom:0;left:0;min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}button.progress-analysis-drawer__scrim:hover{background:transparent;transform:none}.progress-analysis-drawer{position:relative;z-index:1;display:flex;width:min(48vw,720px);min-width:560px;height:100%;flex-direction:column;overflow:hidden;background:#fff;box-shadow:-20px 0 42px #151d193d;animation:progressAnalysisSlideIn .24s ease-out}.progress-analysis-drawer__header{display:flex;min-height:104px;align-items:center;justify-content:space-between;gap:18px;padding:20px 26px;border-bottom:1px solid #c0c9c0;background:#f7faf8}.progress-analysis-drawer__header span{display:block;color:#0f5132;font-size:12px;font-weight:900}.progress-analysis-drawer__header h2{margin:4px 0 0;color:#181c1b;font-size:21px;line-height:1.32;font-weight:900}.progress-analysis-drawer__header p{margin:5px 0 0;color:#404942;font-size:13px;font-weight:700}.progress-analysis-drawer__header button{display:grid;width:40px;min-height:40px;padding:0;place-items:center;border:0;border-radius:999px;color:#181c1b;background:transparent;box-shadow:none}.progress-analysis-drawer__header button:hover{color:#003820;background:#e0e3e1;transform:none}.progress-analysis-drawer__body{display:grid;flex:1;align-content:start;gap:16px;overflow-y:auto;padding:20px 24px 24px;background:#f7faf8}.progress-analysis-detail-card{padding:18px;border:1px solid #d6e0da;border-radius:8px;background:#fff;box-shadow:0 2px 10px #0f51320a}.progress-analysis-detail-card h3{margin:0;color:#003820;font-size:16px;font-weight:900}.progress-analysis-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 18px;margin-top:16px}.progress-analysis-detail-field{display:grid;min-width:0;gap:5px}.progress-analysis-detail-field>span,.progress-analysis-source-card>span{color:#707971;font-size:12px;font-weight:900}.progress-analysis-detail-field strong,.progress-analysis-source-card strong{min-width:0;color:#181c1b;font-size:14px;line-height:1.55;font-weight:800}.progress-analysis-source-card{display:grid;gap:7px;margin-top:14px;padding:12px;border:1px solid #e0e6e2;border-radius:8px;background:#fbfdfc}.progress-analysis-source-stack{display:grid;gap:10px}.progress-analysis-source-stack .progress-analysis-source-card{margin-top:0}.progress-analysis-drawer__footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid #c0c9c0;background:#fff}@keyframes progressAnalysisFadeIn{0%{opacity:0}to{opacity:1}}@keyframes progressAnalysisSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}@media(max-width:1500px){.progress-analysis-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.progress-analysis-filter{grid-template-columns:minmax(260px,1fr) repeat(3,minmax(130px,1fr))}.progress-analysis-layout{grid-template-columns:1fr}.progress-analysis-aside{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1280px){.progress-analysis-chart-grid,.progress-analysis-aside,.progress-analysis-combo-chart{grid-template-columns:1fr}.progress-analysis-drawer{width:min(62vw,700px)}}.report-center-page{display:grid;max-width:1680px;margin:0 auto;gap:16px;color:#181c1b}.report-center-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.report-center-hero h1{margin:0;color:#101c17;font-size:28px;line-height:1.25;font-weight:900}.report-center-hero p{margin:7px 0 0;color:#404942;font-size:14px;line-height:1.6;font-weight:700}.report-center-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.report-center-actions button,.report-center-preview__footer button{min-height:42px;border-radius:8px;font-weight:900;white-space:nowrap}.report-center-actions button:disabled,.report-center-preview button:disabled{cursor:not-allowed;opacity:.55;transform:none}.report-center-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.report-center-kpi{position:relative;display:flex;min-width:0;min-height:104px;align-items:center;gap:16px;overflow:hidden;padding:18px 20px;border:1px solid #d6e0da;border-radius:8px;background:#fff;box-shadow:0 3px 12px #0f51320d}.report-center-kpi--pending{border-color:#1f9d72;background:#dcf6e6}.report-center-kpi__icon{position:relative;z-index:1;display:grid;width:52px;height:52px;flex:0 0 auto;place-items:center;border-radius:8px;color:#404942;background:#e6e9e7}.report-center-kpi--pending .report-center-kpi__icon{color:#0f5132;background:#0f51321a}.report-center-kpi--cyan .report-center-kpi__icon{color:#006b5d;background:#dff4f1}.report-center-kpi--green .report-center-kpi__icon{color:#1f7b3b;background:#e7f5e9}.report-center-kpi div{position:relative;z-index:1;display:grid;min-width:0;gap:8px}.report-center-kpi span:not(.report-center-kpi__icon){color:#404942;font-size:13px;font-weight:800}.report-center-kpi--pending span:not(.report-center-kpi__icon){color:#0f5132}.report-center-kpi strong{color:#101c17;font-size:28px;line-height:1;font-weight:900;font-variant-numeric:tabular-nums}.report-center-kpi small{margin-left:5px;color:#404942;font-size:13px;font-weight:800}.report-center-kpi__watermark{position:absolute;right:-22px;bottom:-22px;color:#0f5132;opacity:.1}.report-center-workspace{display:grid;grid-template-columns:minmax(0,1fr) 364px;gap:16px;align-items:start}.report-center-list-panel,.report-center-preview{min-width:0;overflow:hidden;border:1px solid #d6e0da;border-radius:8px;background:#fff;box-shadow:0 3px 12px #0f51320d}.report-center-list-panel{display:grid;align-content:start;gap:16px;min-height:650px;padding:16px}.report-center-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(138px,1fr));gap:10px}.report-center-filter-grid select,.report-center-filter-grid>input,.report-center-search{width:100%;min-width:0;min-height:42px;border:1px solid #c0c9c0;border-radius:8px;background:#fbfdfc;color:#181c1b;font-size:14px;font-weight:700}.report-center-filter-grid select,.report-center-filter-grid>input{padding:0 11px}.report-center-search{display:flex;grid-column:span 2;align-items:center;gap:9px;padding:0 12px;color:#404942}.report-center-search input{width:100%;min-width:0;min-height:0;padding:0;border:0;background:transparent;outline:0}.report-center-filter-grid select:focus,.report-center-filter-grid>input:focus,.report-center-search:focus-within{border-color:#0f5132;box-shadow:0 0 0 2px #0f51321f;outline:0}.report-center-table-shell{width:100%;min-height:540px;overflow:auto;border:1px solid #dfe7e2;border-radius:8px}.report-center-table{width:100%;min-width:1080px;border-collapse:collapse}.report-center-table th{position:sticky;top:0;z-index:1;padding:12px;border-bottom:1px solid #dfe7e2;color:#404942;background:#edf2ef;font-size:12px;font-weight:900;text-align:left;white-space:nowrap}.report-center-table td{max-width:260px;padding:13px 12px;border-bottom:1px solid #edf2ef;color:#25332f;font-size:13px;line-height:1.45;vertical-align:middle}.report-center-table tbody tr:nth-child(2n) td{background:#f8fbf9}.report-center-table tbody tr:hover td,.report-center-table tbody tr.is-selected td{background:#eff9f3}.report-center-table tbody tr.is-selected td:first-child{box-shadow:inset 3px 0 #0f5132}.report-center-code{color:#10201a;font-family:Cascadia Mono,Consolas,monospace;font-size:12px;font-weight:900;white-space:nowrap}.report-center-title-button,.report-center-row-actions button{min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.report-center-title-button{display:block;max-width:320px;overflow:hidden;color:#10201a;font-size:13px;font-weight:900;line-height:1.45;text-align:left;text-overflow:ellipsis;white-space:nowrap}.report-center-title-button:hover,.report-center-title-button[aria-pressed=true]{color:#0f5132;background:transparent;transform:none}.report-center-row-actions{display:flex;flex-wrap:wrap;gap:10px}.report-center-row-actions button{display:inline-flex;align-items:center;gap:4px;color:#0f5132;font-size:13px;font-weight:900}.report-center-row-actions button:hover{color:#006b5d;background:transparent;transform:none}.report-center-empty{padding:34px 20px;color:#707971;font-size:13px;font-weight:800;text-align:center}.report-center-preview{position:sticky;top:92px;display:flex;max-height:calc(100vh - 128px);min-height:650px;flex-direction:column}.report-center-preview__header{display:flex;min-height:64px;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid #dfe7e2;background:#edf2ef}.report-center-preview__header h2{margin:0;color:#10201a;font-size:18px;font-weight:900}.report-center-preview__header button{display:grid;width:34px;min-height:34px;padding:0;place-items:center;border:0;color:#404942;background:transparent}.report-center-preview__header button:hover{color:#0f5132;background:#dfe7e2;transform:none}.report-center-preview__body{display:grid;flex:1;align-content:start;gap:20px;overflow-y:auto;padding:22px 20px}.report-center-document-title{display:grid;justify-items:center;gap:8px;text-align:center}.report-center-document-title h3{margin:0;color:#050807;font-size:20px;line-height:1.45;font-weight:900}.report-center-document-title p{margin:0;color:#5f6964;font-size:12px;font-weight:700;line-height:1.6}.report-center-ai-summary{display:grid;gap:10px;padding:15px;border:1px solid #dfe7e2;border-radius:8px;background:#f7faf8}.report-center-ai-summary div,.report-center-preview-section h4{display:flex;align-items:center;gap:8px}.report-center-ai-summary div{color:#0f5132;font-size:14px;font-weight:900}.report-center-ai-summary p{margin:0;color:#25332f;font-size:14px;font-weight:700;line-height:1.85}.report-center-preview-section{display:grid;gap:12px}.report-center-preview-section h4{margin:0;color:#10201a;font-size:16px;font-weight:900}.report-center-preview-section h4 span{display:grid;width:24px;height:24px;place-items:center;color:#0f5132}.report-center-preview-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.report-center-preview-metric{display:grid;gap:8px;padding:13px;border:1px solid #dfe7e2;border-radius:8px;background:#fbfdfc}.report-center-preview-metric span{color:#5f6964;font-size:12px;font-weight:800}.report-center-preview-metric strong{color:#10201a;font-size:21px;line-height:1;font-weight:900;font-variant-numeric:tabular-nums}.report-center-preview-metric small{margin-left:3px;color:#5f6964;font-size:12px;font-weight:800}.report-center-preview-metric--green strong{color:#0f5132}.report-center-preview-metric--gold strong{color:#8a630b}.report-center-preview-metric--red strong{color:#b42318}.report-center-finding-list{display:grid;gap:9px;margin:0;padding:0;list-style:none}.report-center-finding-list li{position:relative;padding-left:16px;color:#25332f;font-size:13px;font-weight:700;line-height:1.75}.report-center-finding-list li:before{position:absolute;top:.76em;left:0;width:6px;height:6px;border-radius:999px;background:#0f5132;content:""}.report-center-source-list{display:grid;gap:9px}.report-center-source-list a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;min-height:42px;align-items:center;gap:8px;padding:9px 10px;border:1px solid #dfe7e2;border-radius:8px;color:#25332f;background:#fbfdfc;font-size:13px;text-decoration:none}.report-center-source-list a:hover{border-color:#95d4ac;background:#eff9f3}.report-center-source-list a span{display:inline-flex;min-height:22px;align-items:center;padding:0 7px;border-radius:5px;color:#0f5132;background:#e8f7ee;font-size:11px;font-weight:900;white-space:nowrap}.report-center-source-list a strong{overflow:hidden;color:#25332f;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.report-center-source-list a svg{color:#0f5132}.report-center-preview__footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:16px 18px;border-top:1px solid #dfe7e2;background:#f7faf8}.report-center-empty--preview{display:grid;flex:1;place-items:center}@media(max-width:1320px){.report-center-workspace{grid-template-columns:minmax(0,1fr) 330px}.report-center-preview{top:82px}}@media(max-width:1180px){.report-center-hero{display:grid}.report-center-actions{justify-content:flex-start}.report-center-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.report-center-workspace{grid-template-columns:1fr}.report-center-preview{position:static;max-height:none}}.policy-adjustment-page{display:grid;max-width:1680px;margin:0 auto;gap:16px;color:#181c1b}.policy-adjustment-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.policy-adjustment-hero h1{margin:7px 0;color:#101c17;font-size:28px;line-height:1.25;font-weight:900}.policy-adjustment-hero p{max-width:820px;margin:0;color:#404942;font-size:14px;font-weight:700;line-height:1.7}.policy-adjustment-actions,.policy-adjustment-toolbar__actions,.policy-adjustment-row-actions{display:flex;flex-wrap:wrap;gap:10px}.policy-adjustment-actions,.policy-adjustment-toolbar__actions{justify-content:flex-end}.policy-adjustment-action{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:8px;padding:0 15px;border:1px solid #c0c9c0;border-radius:8px;background:#fff;color:#0f5132;font-size:14px;font-weight:900;text-decoration:none;white-space:nowrap;box-shadow:0 2px 8px #0f51320a}button.policy-adjustment-action:hover,a.policy-adjustment-action:hover{border-color:#95d4ac;background:#f7faf8;color:#003820;transform:none}.policy-adjustment-action--primary{border-color:#003820;background:#003820;color:#fff}button.policy-adjustment-action--primary:hover,a.policy-adjustment-action--primary:hover{border-color:#0f5132;background:#0f5132;color:#fff}.policy-adjustment-action--soft{border-color:#6ad9c4;background:#e9f6f4;color:#006b5d}.policy-adjustment-action--ghost{background:#fff}.policy-adjustment-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.policy-adjustment-kpi{display:flex;min-width:0;min-height:112px;align-items:center;gap:16px;padding:18px 20px;border:1px solid #d6e0da;border-radius:8px;background:#fff;box-shadow:0 3px 12px #0f51320d}.policy-adjustment-kpi__icon{display:grid;width:52px;height:52px;flex:0 0 auto;place-items:center;border-radius:8px;color:#0f5132;background:#e8f7ee}.policy-adjustment-kpi--teal .policy-adjustment-kpi__icon{color:#006b5d;background:#dff4f1}.policy-adjustment-kpi--red .policy-adjustment-kpi__icon{color:#b42318;background:#fff0ee}.policy-adjustment-kpi--green .policy-adjustment-kpi__icon{color:#0b6b42;background:#e7f5e9}.policy-adjustment-kpi div{display:grid;min-width:0;gap:8px}.policy-adjustment-kpi span:not(.policy-adjustment-kpi__icon){color:#404942;font-size:13px;font-weight:800}.policy-adjustment-kpi strong{color:#101c17;font-size:31px;line-height:1;font-weight:900;font-variant-numeric:tabular-nums}.policy-adjustment-kpi--teal strong{color:#006b5d}.policy-adjustment-kpi--red strong{color:#b42318}.policy-adjustment-kpi--green strong{color:#0f5132}.policy-adjustment-kpi small{margin-left:5px;color:#5f6964;font-size:13px;font-weight:800}.policy-adjustment-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) minmax(126px,150px) minmax(126px,150px) auto;gap:14px;align-items:center;padding:16px;border:1px solid #d6e0da;border-radius:8px;background:#fff;box-shadow:0 3px 12px #0f51320d}.policy-adjustment-search,.policy-adjustment-toolbar select{min-width:0;min-height:42px;border:1px solid #c0c9c0;border-radius:8px;background:#fbfdfc;color:#181c1b;font-size:14px;font-weight:700}.policy-adjustment-search{display:flex;align-items:center;gap:9px;padding:0 12px;color:#404942}.policy-adjustment-search input{width:100%;min-width:0;min-height:0;padding:0;border:0;background:transparent;outline:0}.policy-adjustment-toolbar select{width:100%;padding:0 11px}.policy-adjustment-search:focus-within,.policy-adjustment-toolbar select:focus{border-color:#0f5132;box-shadow:0 0 0 2px #0f51321f;outline:0}.policy-adjustment-workspace{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(340px,.95fr) minmax(560px,1.36fr);gap:16px;align-items:stretch}.policy-adjustment-panel{min-width:0;overflow:hidden;border:1px solid #cbd8d0;border-radius:8px;background:#fff;box-shadow:0 3px 12px #0f51320d}.policy-adjustment-panel__header{display:flex;min-height:64px;align-items:center;justify-content:space-between;gap:14px;padding:15px 16px;border-bottom:1px solid #dfe7e2;background:#edf2ef}.policy-adjustment-panel__header h2{display:flex;align-items:center;gap:8px;margin:0;color:#10201a;font-size:20px;line-height:1.3;font-weight:900}.policy-adjustment-panel__header svg{color:#0f5132}.policy-adjustment-policy-list__body{display:grid;align-content:start;gap:10px;max-height:710px;overflow-y:auto;padding:10px}button.policy-adjustment-policy-card{position:relative;display:grid;min-height:128px;width:100%;min-width:0;align-content:start;justify-content:stretch;gap:9px;padding:14px;overflow:hidden;border:1px solid #d7dfdb;border-radius:8px;background:#fff;color:#181c1b;text-align:left;box-shadow:none}button.policy-adjustment-policy-card:before{position:absolute;inset:0 auto 0 0;width:4px;background:transparent;content:""}button.policy-adjustment-policy-card:hover{border-color:#95d4ac;background:#f7faf8;transform:none}button.policy-adjustment-policy-card.is-active{border-color:#0f5132;background:#eefdf2}button.policy-adjustment-policy-card.is-active:before{background:#0f5132}.policy-adjustment-policy-card__topline,.policy-adjustment-policy-card__bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}.policy-adjustment-policy-card code,.policy-adjustment-table code{color:#707971;font-family:Cascadia Mono,Consolas,monospace;font-size:12px;font-weight:900}.policy-adjustment-policy-card strong{color:#101c17;font-size:15px;line-height:1.42;font-weight:900}.policy-adjustment-policy-card__meta,.policy-adjustment-policy-card__bottom small{color:#5f6964;font-size:12px;font-weight:700;line-height:1.45}.policy-adjustment-empty{padding:34px 16px;color:#707971;font-size:13px;font-weight:800;text-align:center}.policy-adjustment-ai{display:flex;min-height:650px;flex-direction:column}.policy-adjustment-mode{display:inline-flex;min-height:24px;align-items:center;padding:0 9px;border:1px solid #ffe0b2;border-radius:999px;color:#9b6b08;background:#fff7da;font-size:12px;font-weight:800;white-space:nowrap}.policy-adjustment-ai__body{display:grid;align-content:start;gap:18px;padding:18px 20px 20px}.policy-adjustment-notice{display:flex;align-items:flex-start;gap:8px;padding:12px;border:1px solid #b9ddc9;border-radius:8px;color:#404942;background:#effaf3;font-size:13px;font-weight:700;line-height:1.55}.policy-adjustment-notice svg{flex:0 0 auto;color:#8a630b}.policy-adjustment-insight-block{display:grid;gap:11px}.policy-adjustment-insight-block h3{display:flex;align-items:center;gap:8px;margin:0;color:#10201a;font-size:16px;font-weight:900}.policy-adjustment-insight-block h3 span{display:block;width:4px;height:18px;border-radius:999px;background:#0f5132}.policy-adjustment-insight-block h3 span.is-red{background:#b42318}.policy-adjustment-insight-block p{margin:0;padding:15px;border:1px solid #dfe7e2;border-radius:8px;color:#25332f;background:#fbfdfc;font-size:14px;font-weight:700;line-height:1.85}.policy-adjustment-ai-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.policy-adjustment-ai-grid section{display:grid;align-content:start;gap:9px;min-height:98px;padding:13px;border:1px solid #dfe7e2;border-radius:8px;background:#fbfdfc}.policy-adjustment-ai-grid section>span{color:#707971;font-size:12px;font-weight:900}.policy-adjustment-ai-grid strong{color:#10201a;font-size:14px;font-weight:900}.policy-adjustment-ai-grid a{color:#0f5132;font-size:12px;font-weight:900;text-decoration:none}.policy-adjustment-chip-row,.policy-adjustment-project-tags{display:flex;flex-wrap:wrap;gap:8px}.policy-adjustment-chip-row small,.policy-adjustment-project-tags small{display:inline-flex;min-height:24px;align-items:center;padding:0 9px;border-radius:6px;color:#25332f;background:#e7ede9;font-size:12px;font-weight:800}.policy-adjustment-project-tags small{border:1px solid #d7dfdb;background:#fff}.policy-adjustment-risk-stack{display:grid;gap:10px}.policy-adjustment-risk-card{display:flex;align-items:flex-start;gap:10px;padding:13px;border:1px solid #b9ddc9;border-radius:8px;background:#effaf3}.policy-adjustment-risk-card--red{border-color:#f0c0bc;background:#fff0ee}.policy-adjustment-risk-card--gold{border-color:#ead9a5;background:#fffaf0}.policy-adjustment-risk-card svg{flex:0 0 auto;margin-top:2px;color:#8a630b}.policy-adjustment-risk-card--red svg,.policy-adjustment-risk-card--red strong{color:#b42318}.policy-adjustment-risk-card strong{color:#6c4a05;font-size:14px;font-weight:900}.policy-adjustment-risk-card p{margin:4px 0 0;padding:0;border:0;color:#404942;background:transparent;font-size:13px;line-height:1.65}.policy-adjustment-ledger{display:flex;min-height:650px;flex-direction:column}.policy-adjustment-ledger__title{display:flex;min-width:0;align-items:center;gap:10px}.policy-adjustment-download,.policy-adjustment-row-actions button,.policy-adjustment-row-actions a{display:inline-flex;min-height:30px;align-items:center;justify-content:center;gap:5px;padding:0 8px;border:1px solid transparent;border-radius:6px;color:#0f5132;background:transparent;font-size:12px;font-weight:900;text-decoration:none;box-shadow:none;white-space:nowrap}.policy-adjustment-download{color:#404942}.policy-adjustment-download:hover,.policy-adjustment-row-actions button:hover,.policy-adjustment-row-actions a:hover{border-color:#95d4ac;background:#eff9f3;color:#003820;transform:none}.policy-adjustment-table-wrap{flex:1;overflow:auto}.policy-adjustment-table{width:100%;min-width:760px;border-collapse:collapse}.policy-adjustment-table th{position:sticky;top:0;z-index:1;padding:12px;border-bottom:1px solid #d6e0da;color:#404942;background:#f2f5f3;font-size:12px;font-weight:900;text-align:left;white-space:nowrap}.policy-adjustment-table td{padding:14px 12px;border-bottom:1px solid #edf2ef;color:#25332f;font-size:13px;line-height:1.5;vertical-align:middle}.policy-adjustment-table tbody tr:nth-child(2n) td{background:#f9fafa}.policy-adjustment-table tbody tr:hover td{background:#eff9f3}.policy-adjustment-table td:nth-child(2){width:150px}.policy-adjustment-table td:nth-child(2) strong{color:#25332f;font-size:13px;line-height:1.45;font-weight:900}.policy-adjustment-plan-change{display:grid;gap:7px;min-width:0}.policy-adjustment-plan-change__old,.policy-adjustment-plan-change__new{display:flex;align-items:flex-start;gap:7px;color:#5f6964;font-size:12px;font-weight:800;line-height:1.5}.policy-adjustment-plan-change__old{text-decoration:line-through}.policy-adjustment-plan-change__new{padding:8px;border:1px solid #6ad9c4;border-radius:7px;color:#006b5d;background:#e9f6f4;text-decoration:none}.policy-adjustment-plan-change__new svg{flex:0 0 auto;margin-top:1px}.policy-adjustment-plan-change small{color:#707971;font-size:11px;font-weight:800}@media(max-width:1500px){.policy-adjustment-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.policy-adjustment-toolbar{grid-template-columns:minmax(260px,1fr) repeat(2,minmax(126px,150px))}.policy-adjustment-toolbar__actions{grid-column:1 / -1;justify-content:flex-start}.policy-adjustment-workspace{grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr)}.policy-adjustment-ledger{grid-column:1 / -1}}@media(max-width:1280px){.policy-adjustment-hero{display:grid}.policy-adjustment-actions{justify-content:flex-start}.policy-adjustment-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.policy-adjustment-toolbar,.policy-adjustment-workspace{grid-template-columns:1fr}.policy-adjustment-toolbar__actions,.policy-adjustment-ledger{grid-column:auto}.policy-adjustment-policy-list__body{max-height:none}}.settings-page{position:relative;display:grid;max-width:1680px;margin:0 auto;gap:16px;color:#181c1b}.settings-toast{position:fixed;top:96px;right:28px;z-index:30;min-width:220px;padding:12px 16px;border:1px solid #95d4ac;border-radius:8px;color:#003820;background:#effaf3;font-size:13px;font-weight:900;box-shadow:0 8px 24px #0f513224}.settings-status-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.settings-status-card{display:grid;min-width:0;min-height:108px;align-content:center;gap:8px;padding:18px 20px;border:1px solid #d6e0da;border-radius:8px;background:#fff;box-shadow:0 3px 12px #0f51320d}.settings-status-card svg{color:#0f5132}.settings-status-card span{color:#5f6964;font-size:12px;font-weight:900}.settings-status-card strong{overflow:hidden;color:#10201a;font-size:17px;line-height:1.4;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.settings-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:18px;border-bottom:1px solid #cbd8d0}.settings-eyebrow{display:inline-flex;min-height:24px;align-items:center;padding:0 9px;border-radius:6px;color:#0f5132;background:#dff2e9;font-size:12px;font-weight:900}.settings-hero h1{margin:9px 0 8px;color:#003820;font-size:34px;line-height:1.18;font-weight:900}.settings-hero p{max-width:820px;margin:0;color:#404942;font-size:14px;font-weight:700;line-height:1.7}.settings-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}button.settings-action{min-height:42px;padding:0 15px;border-radius:8px;font-size:14px;font-weight:900;white-space:nowrap;box-shadow:0 2px 8px #0f51320a}button.settings-action:hover{transform:none}.settings-action--ghost{border-color:#c0c9c0;color:#25332f;background:#fff}.settings-action--ghost:hover{border-color:#95d4ac;color:#003820;background:#f7faf8}.settings-action--primary{border-color:#003820;color:#fff;background:#003820}.settings-action--primary:hover{border-color:#0f5132;background:#0f5132}.settings-workspace{display:grid;grid-template-columns:320px minmax(0,1fr);gap:16px;align-items:start}.settings-local-nav,.settings-detail-panel{min-width:0;border:1px solid #cbd8d0;border-radius:8px;background:#fff;box-shadow:0 3px 12px #0f51320d}.settings-local-nav{position:sticky;top:94px;overflow:hidden}.settings-local-nav__title{display:flex;min-height:64px;align-items:center;gap:10px;padding:0 18px;border-bottom:1px solid #dfe7e2;color:#10201a;background:#f7faf8}.settings-local-nav__title svg{color:#0f5132}.settings-local-nav__title strong{font-size:15px;font-weight:900}.settings-local-nav nav{display:grid;gap:4px;padding:10px}button.settings-nav-button{position:relative;display:grid;grid-template-columns:22px minmax(0,1fr);width:100%;min-height:46px;justify-content:stretch;padding:0 14px;border:1px solid transparent;border-radius:8px;color:#404942;background:transparent;font-size:14px;font-weight:800;text-align:left;box-shadow:none}button.settings-nav-button:hover{border-color:#dfe7e2;color:#003820;background:#f7faf8;transform:none}button.settings-nav-button.is-active{border-color:#b9ddc9;color:#003820;background:#eef8f2;box-shadow:inset 4px 0 #1e9c89}.settings-nav-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-detail-panel{display:flex;min-height:720px;flex-direction:column;overflow:hidden}.settings-detail-panel__header{display:flex;min-height:78px;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px;border-bottom:1px solid #dfe7e2;background:#fbfdfc}.settings-detail-panel__header h2{margin:0;color:#0f5132;font-size:22px;line-height:1.35;font-weight:900}.settings-detail-panel__header p{margin:5px 0 0;color:#5f6964;font-size:13px;font-weight:700;line-height:1.5}.settings-detail-panel__status{display:flex;flex:0 0 auto;align-items:center;gap:9px;color:#5f6964;font-size:13px;font-weight:800}.settings-detail-panel__body{flex:1;padding:22px}.settings-data-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.settings-data-card{display:grid;min-height:202px;align-content:start;gap:12px;padding:17px;border:1px solid #d6e0da;border-radius:8px;background:#fff;transition:border-color .18s ease,background .18s ease}.settings-data-card:hover,.settings-data-card.is-enabled{border-color:#9bd9ca}.settings-data-card.is-enabled{background:#fbfffd}.settings-data-card__top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px}.settings-data-card__top strong{overflow:hidden;color:#10201a;font-size:16px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.settings-data-card__top svg{color:#9eaba4}.settings-data-dot{display:block;width:9px;height:9px;border-radius:999px;background:#1e9c89}.settings-data-card__number{display:flex;align-items:baseline;gap:7px}.settings-data-card__number strong{color:#003820;font-size:32px;line-height:1;font-weight:900;font-variant-numeric:tabular-nums}.settings-data-card__number span,.settings-data-card p,.settings-data-card small{color:#5f6964;font-size:13px;font-weight:700;line-height:1.55}.settings-data-card p{min-height:40px;margin:0}.settings-data-card small{font-family:Cascadia Mono,Consolas,monospace;font-size:12px}.settings-data-card__actions{display:grid;grid-template-columns:auto 1fr 1fr;gap:8px;align-items:center;margin-top:auto;padding-top:12px;border-top:1px solid #edf2ef}.settings-data-card__actions button:not(.settings-switch),button.settings-inline-action{min-height:30px;padding:0 8px;border:1px solid transparent;border-radius:6px;color:#0f5132;background:transparent;font-size:12px;font-weight:900;box-shadow:none}.settings-data-card__actions button:not(.settings-switch):hover,button.settings-inline-action:hover{border-color:#95d4ac;color:#003820;background:#eff9f3;transform:none}button.settings-switch{position:relative;width:44px;min-height:26px;padding:0;border:0;border-radius:999px;background:#b9c3bd;box-shadow:none}button.settings-switch:hover{background:#9eaba4;transform:none}button.settings-switch span{position:absolute;top:4px;left:4px;width:18px;height:18px;border-radius:999px;background:#fff;transition:transform .18s ease}button.settings-switch.is-on{background:#1e9c89}button.settings-switch.is-on span{transform:translate(18px)}.settings-ai-preview{margin:0 22px 22px;padding:18px;border:1px solid #dfe7e2;border-radius:8px;background:#f7faf8}.settings-ai-preview h3{margin:0 0 13px;color:#0f5132;font-size:18px;font-weight:900}.settings-ai-preview div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.settings-ai-preview label{display:flex;min-height:44px;align-items:center;gap:10px;padding:0 13px;border:1px solid #d6e0da;border-radius:8px;background:#fff;color:#25332f;font-size:14px;font-weight:800}.settings-warning{display:flex;align-items:center;gap:10px;margin-top:auto;padding:15px 22px;border-top:1px solid #ead9a5;color:#7a5808;background:#fff8df;font-size:13px}.settings-warning svg{flex:0 0 auto;color:#c28a17}.settings-basic-grid,.settings-map-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.settings-info-row{display:grid;gap:8px;padding:16px;border:1px solid #dfe7e2;border-radius:8px;background:#fbfdfc}.settings-info-row span{color:#5f6964;font-size:12px;font-weight:900}.settings-info-row strong{color:#10201a;font-size:16px;line-height:1.45;font-weight:900}.settings-wide-section{display:grid;grid-column:1 / -1;gap:14px;padding:18px;border:1px solid #dfe7e2;border-radius:8px;background:#f7faf8}.settings-wide-section h4{margin:0;color:#0f5132;font-size:17px;font-weight:900}.settings-health-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.settings-health-grid span{min-height:38px;padding:10px 12px;border:1px solid #d6e0da;border-radius:8px;color:#25332f;background:#fff;font-size:13px;font-weight:800}.settings-role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.settings-role-card,.settings-dictionary-card,.settings-ai-card,.settings-template-card{display:grid;align-content:start;gap:12px;padding:17px;border:1px solid #d6e0da;border-radius:8px;background:#fff}.settings-role-card__title{display:flex;align-items:center;gap:10px}.settings-role-card__title span,.settings-ai-card div>span{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border-radius:8px;color:#0f5132;background:#e8f7ee}.settings-role-card strong,.settings-dictionary-card strong,.settings-ai-card strong,.settings-template-card strong{color:#10201a;font-size:16px;font-weight:900}.settings-role-card p,.settings-dictionary-card p,.settings-ai-card p,.settings-template-card p{margin:0;color:#25332f;font-size:13px;font-weight:700;line-height:1.7}.settings-role-card small{color:#5f6964;font-size:12px;font-weight:800;line-height:1.6}.settings-dictionary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.settings-dictionary-card>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.settings-dictionary-card p{min-height:44px;color:#5f6964}.settings-interface-layout{display:grid;gap:16px}.settings-interface-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.settings-interface-cards article{display:grid;gap:9px;padding:17px;border:1px solid #dfe7e2;border-radius:8px;background:#fbfdfc}.settings-interface-cards svg{color:#1e9c89}.settings-interface-cards span{color:#5f6964;font-size:12px;font-weight:900}.settings-interface-cards strong{color:#10201a;font-size:17px;line-height:1.4;font-weight:900}.settings-table{width:100%;min-width:760px;border-collapse:collapse}.settings-table th{padding:12px;border-bottom:1px solid #d6e0da;color:#404942;background:#f2f5f3;font-size:12px;font-weight:900;text-align:left;white-space:nowrap}.settings-table td{padding:13px 12px;border-bottom:1px solid #edf2ef;color:#25332f;font-size:13px;font-weight:700;line-height:1.55}.settings-table tbody tr:hover td{background:#eff9f3}.settings-ai-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.settings-ai-card div{display:flex;align-items:center;justify-content:space-between;gap:12px}.settings-ai-state{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 16px}.settings-ai-state strong{color:#1e9c89;font-size:34px;line-height:1;font-weight:900}.settings-ai-state span,.settings-ai-state p{color:#25332f;font-size:14px;font-weight:800}.settings-ai-state p{width:100%;margin:0;line-height:1.7}.settings-map-layout{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr);gap:16px}.settings-map-preview{position:relative;min-height:350px;overflow:hidden;border:1px solid #cbd8d0;border-radius:8px;background:linear-gradient(90deg,rgba(15,81,50,.08) 1px,transparent 1px),linear-gradient(rgba(15,81,50,.08) 1px,transparent 1px),#f4faf6;background-size:38px 38px}.settings-map-preview:before{position:absolute;top:42px;right:30px;bottom:70px;left:44px;border:2px dashed #9bc8b1;border-radius:36% 52% 42% 45%;background:#1e9c8914;content:""}.settings-map-point{position:absolute;display:inline-flex;min-height:28px;align-items:center;padding:0 9px;border:1px solid currentColor;border-radius:999px;background:#fff;font-family:Cascadia Mono,Consolas,monospace;font-size:11px;font-weight:900;box-shadow:0 5px 14px #0f51321f}.settings-map-point:nth-child(1){top:26%;left:18%}.settings-map-point:nth-child(2){top:58%;left:32%}.settings-map-point:nth-child(3){top:34%;left:58%}.settings-map-point:nth-child(4){top:66%;left:64%}.settings-map-point--low{color:#0f7a43}.settings-map-point--medium{color:#8a630b}.settings-map-point--high{color:#b42318}.settings-template-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.settings-template-card svg{color:#0f5132}.settings-template-card span{color:#1e9c89;font-size:13px;font-weight:900}@media(max-width:1500px){.settings-status-grid,.settings-data-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-workspace{grid-template-columns:280px minmax(0,1fr)}.settings-role-grid,.settings-dictionary-grid,.settings-template-grid,.settings-ai-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1280px){.settings-hero{display:grid}.settings-actions{justify-content:flex-start}.settings-workspace,.settings-map-layout{grid-template-columns:1fr}.settings-local-nav{position:static}.settings-local-nav nav{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-status-grid,.settings-data-grid,.settings-interface-cards,.settings-ai-preview div,.settings-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.plans-page{position:relative;display:grid;max-width:1680px;margin:0 auto;gap:16px;color:#17251d}.plans-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:6px}.plans-eyebrow{display:inline-flex;min-height:24px;align-items:center;padding:0 9px;border-radius:6px;color:#0f5132;background:#dff2e9;font-size:12px;font-weight:900}.plans-hero h1{margin:8px 0 7px;color:#10201a;font-size:30px;line-height:1.2;font-weight:900}.plans-hero p{max-width:820px;margin:0;color:#4f5f57;font-size:14px;font-weight:700;line-height:1.7}.plans-actions{display:flex;max-width:760px;flex-wrap:wrap;justify-content:flex-end;gap:10px}.plans-actions>span{display:inline-flex;min-height:34px;align-items:center;color:#78847e;font-size:12px;font-weight:800;white-space:nowrap}button.plans-action,.plans-action{display:inline-flex;min-height:34px;align-items:center;justify-content:center;gap:7px;padding:0 13px;border:1px solid #cfdad4;border-radius:6px;color:#26362e;background:#fff;font-size:13px;font-weight:900;text-decoration:none;white-space:nowrap;box-shadow:0 2px 8px #0f51320a}button.plans-action:hover,.plans-action:hover{border-color:#9fd7b7;color:#003820;background:#f7fbf9;transform:none}button.plans-action--primary,.plans-action--primary{border-color:#003820;color:#fff;background:#003820}button.plans-action--primary:hover,.plans-action--primary:hover{border-color:#0f5132;color:#fff;background:#0f5132}button.plans-action--ghost{color:#5f6964;background:#fbfdfc}.plans-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.plans-kpi{display:flex;min-width:0;min-height:92px;align-items:center;gap:16px;padding:16px 18px;border:1px solid #d6e0da;border-radius:8px;background:#fff;box-shadow:0 3px 12px #0f51320d}.plans-kpi__icon{display:grid;width:48px;height:48px;flex:0 0 auto;place-items:center;border-radius:8px;color:#0f5132;background:#e8f7ee}.plans-kpi div{display:grid;min-width:0;gap:5px}.plans-kpi span:not(.plans-kpi__icon){overflow:hidden;color:#4f5f57;font-size:13px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.plans-kpi strong{color:#141f1a;font-size:32px;line-height:1;font-weight:900;font-variant-numeric:tabular-nums}.plans-kpi--green .plans-kpi__icon{color:#0f6f3f;background:#e4f5eb}.plans-kpi--gold .plans-kpi__icon{color:#a77509;background:#fff5df}.plans-kpi--red .plans-kpi__icon{color:#d93626;background:#fff0ed}.plans-kpi--red strong{color:#d93626}.plans-filter-panel{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr)) auto;gap:10px;align-items:end;padding:12px;border:1px solid #d6e0da;border-radius:8px;background:#fff;box-shadow:0 3px 12px #0f51320d}.plans-filter-panel label{display:grid;min-width:0;gap:6px;color:#34453c;font-size:12px;font-weight:900}.plans-filter-panel select{width:100%;min-width:0;min-height:32px;border-color:#d1ddd6;border-radius:6px;color:#5f6964;background-color:#fbfdfc;font-size:12px;font-weight:800}.plans-filter-panel__actions{display:flex;gap:8px;justify-content:flex-end}.plans-workspace{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:16px;align-items:start}.plans-main-column,.plans-side-column{display:grid;min-width:0;gap:16px}.plans-panel{min-width:0;overflow:hidden;border:1px solid #d6e0da;border-radius:8px;background:#fff;box-shadow:0 3px 12px #0f51320d}.plans-panel__header{display:flex;min-height:60px;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-bottom:1px solid #e2ebe6;background:#fbfdfc}.plans-panel__header--compact{align-items:flex-start}.plans-panel__header h2{margin:0;color:#10201a;font-size:18px;line-height:1.35;font-weight:900}.plans-panel__header p{margin:4px 0 0;color:#6b7771;font-size:12px;font-weight:700;line-height:1.5}.plans-panel__header svg{flex:0 0 auto;color:#0f5132}.plans-panel__badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.plans-table-wrap{overflow:auto}.plans-table{width:100%;border-collapse:collapse;table-layout:fixed}.plans-table--plans{min-width:1420px}.plans-table--tasks{min-width:1500px}.plans-table th{height:36px;padding:9px 8px;border-bottom:1px solid #dfe8e2;color:#34453c;background:#f4f8f6;font-size:12px;font-weight:900;text-align:left;white-space:nowrap}.plans-table td{height:47px;padding:9px 8px;border-bottom:1px solid #ebf1ee;color:#2f3f37;font-size:12px;font-weight:700;line-height:1.45;vertical-align:middle}.plans-table tbody tr{cursor:pointer}.plans-table tbody tr:nth-child(2n) td{background:#fbfcfb}.plans-table tbody tr:hover td,.plans-table tbody tr.is-selected td{background:#eff9f3}.plans-table tbody tr.is-selected td:first-child{box-shadow:inset 4px 0 #1e9c89}.plans-table--plans th:nth-child(1),.plans-table--plans th:nth-child(5),.plans-table--plans th:nth-child(8),.plans-table--plans th:nth-child(9),.plans-table--plans th:nth-child(10),.plans-table--plans th:nth-child(11),.plans-table--plans th:nth-child(12),.plans-table--plans th:nth-child(14),.plans-table--plans th:nth-child(15){width:76px}.plans-table--plans th:nth-child(2){width:190px}.plans-table--plans th:nth-child(4){width:150px}.plans-table--plans th:nth-child(6),.plans-table--plans th:nth-child(7){width:96px}.plans-table--plans th:nth-child(13){width:94px}.plans-table--plans th:nth-child(16){width:160px}.plans-table--tasks th:nth-child(1),.plans-table--tasks th:nth-child(4),.plans-table--tasks th:nth-child(5),.plans-table--tasks th:nth-child(10){width:112px}.plans-table--tasks th:nth-child(2){width:180px}.plans-table--tasks th:nth-child(3),.plans-table--tasks th:nth-child(6),.plans-table--tasks th:nth-child(7){width:94px}.plans-table--tasks th:nth-child(8),.plans-table--tasks th:nth-child(9),.plans-table--tasks th:nth-child(11),.plans-table--tasks th:nth-child(12),.plans-table--tasks th:nth-child(13),.plans-table--tasks th:nth-child(14){width:76px}.plans-table--tasks th:nth-child(15){width:155px}.plans-code{color:#193f2a;font-family:Cascadia Mono,Consolas,monospace;font-size:11px;font-weight:900}.plans-main-cell,.plans-source-cell{display:grid;min-width:0;gap:3px}.plans-main-cell strong,.plans-source-cell strong{overflow:hidden;color:#17251d;font-size:12px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.plans-main-cell span,.plans-source-cell span{overflow:hidden;color:#738078;font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.plans-danger-text{color:#d93626!important;font-weight:900!important}.plans-percent{display:block;margin-bottom:4px;color:#23342b;font-size:11px;font-weight:900;text-align:center}.plans-progress{height:8px;overflow:hidden;border:1px solid #d6e2dc;border-radius:999px;background:#eef3f0}.plans-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2fa162,#08763e)}.plans-progress--danger span{background:linear-gradient(90deg,#f07a5d,#d93626)}.plans-pill{display:inline-flex;min-height:22px;align-items:center;justify-content:center;padding:0 8px;border:1px solid currentColor;border-radius:5px;font-size:12px;font-weight:900;white-space:nowrap}.plans-pill--green{color:#08743c;background:#e8f6ee}.plans-pill--blue{color:#2e6ac7;background:#e8f1ff}.plans-pill--cyan{color:#006b5d;background:#e9f6f4}.plans-pill--gold{color:#b77711;background:#fff4df}.plans-pill--red{color:#d93626;background:#fff0ed}.plans-pill--gray{color:#52615a;background:#eef1f0}.plans-row-actions{display:flex;flex-wrap:wrap;gap:4px 8px}.plans-row-actions button,.plans-row-actions a{min-height:auto;padding:0;border:0;color:#1f65ad;background:transparent;font-size:12px;font-weight:900;text-decoration:none;box-shadow:none}.plans-row-actions button:hover,.plans-row-actions a:hover{color:#003820;background:transparent;text-decoration:underline;transform:none}.plans-empty{height:76px!important;color:#6b7771!important;text-align:center}.plans-pager{display:flex;min-height:48px;align-items:center;justify-content:center;gap:14px;padding:0 14px;border-top:1px solid #edf2ef;color:#48564f;font-size:13px;font-weight:800}.plans-pager select,.plans-pager input{width:52px;min-height:28px;margin:0 5px;text-align:center}.plans-pager button{width:28px;min-height:28px;padding:0;border:1px solid #dbe4df;border-radius:5px;color:#46564d;background:#fff;box-shadow:none}.plans-pager button:hover,.plans-pager button.is-active{border-color:#0f5132;color:#fff;background:#0f5132;transform:none}.plans-calendar-panel,.plans-conflict-panel{align-self:start}.plans-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:12px 14px;overflow:hidden;border:1px solid #d6e1dc;border-radius:6px}.plans-tabs button{min-height:34px;padding:0 8px;border:0;border-radius:0;color:#435148;background:#f9fbfa;font-size:13px;font-weight:900;box-shadow:none}.plans-tabs button:hover,.plans-tabs button.is-active{color:#fff;background:#0f5132;transform:none}.plans-monthbar{display:grid;grid-template-columns:28px minmax(0,1fr) 28px auto;gap:6px;align-items:center;margin:0 14px 10px;color:#4a564f}.plans-monthbar button{width:28px;min-height:28px;padding:0;border:0;color:#52615a;background:transparent;box-shadow:none}.plans-monthbar button:hover{color:#0f5132;background:#eef8f2;transform:none}.plans-monthbar strong{overflow:hidden;color:#26362e;font-size:15px;font-weight:900;text-align:center;text-overflow:ellipsis;white-space:nowrap}.plans-monthbar strong span{color:#6b7771;font-size:12px}.plans-monthbar>span{display:inline-flex;min-height:28px;align-items:center;justify-content:center;padding:0 10px;border:1px solid #dbe3df;border-radius:5px;color:#52615a;background:#f0f4f2;font-size:12px;font-weight:900}.plans-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding:0 14px 10px}.plans-calendar__week{display:grid;min-height:26px;place-items:center;color:#34453c;font-size:12px;font-weight:900}.plans-calendar__day{position:relative;display:grid;min-height:64px;align-content:start;gap:3px;padding:6px 4px 4px;border-top:1px solid #edf3ef;border-right:1px solid #f0f4f2;color:#495850;font-size:11px}.plans-calendar__day:nth-child(7n+7){border-right:0}.plans-calendar__day strong{color:#2f3f37;font-size:12px;font-weight:900}button.plans-calendar-event{display:block;width:100%;min-height:17px;overflow:hidden;padding:0 3px;border:0;border-radius:3px;font-size:10px;font-weight:900;line-height:17px;text-align:left;text-overflow:ellipsis;white-space:nowrap;box-shadow:none}button.plans-calendar-event:hover{filter:brightness(.98);transform:none}.plans-calendar-event--green{color:#08743c;background:#dceee2}.plans-calendar-event--blue,.plans-calendar-event--cyan{color:#2e6ac7;background:#dfeaff}.plans-calendar-event--gold{color:#9b6b08;background:#fff1cf}.plans-calendar-event--red{color:#d74035;background:#ffe0df}.plans-calendar-event--gray{color:#59645e;background:#ecefed}.plans-calendar-more{display:inline-flex;min-height:17px;align-items:center;padding:0 4px;border-radius:3px;color:#08743c;background:#e3f3e8;font-size:10px;font-weight:900}.plans-calendar-legend{display:flex;flex-wrap:wrap;gap:9px 12px;padding:0 14px 14px;color:#5a6761;font-size:12px;font-weight:800}.plans-calendar-legend span{display:inline-flex;align-items:center;gap:5px}.plans-calendar-legend i{width:7px;height:7px;border-radius:999px}.plans-calendar-legend .is-green{background:#37a25d}.plans-calendar-legend .is-blue{background:#2f7ff6}.plans-calendar-legend .is-gray{background:#99a39e}.plans-calendar-legend .is-red{background:#e43d30}.plans-calendar-legend b{width:0;height:0;border-right:5px solid transparent;border-bottom:9px solid #e6992f;border-left:5px solid transparent}.plans-conflict-list{display:grid;padding:4px 16px 12px}.plans-conflict-list article{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:64px;border-bottom:1px solid #edf2ef}.plans-conflict-list article:last-child{border-bottom:0}.plans-conflict-list svg{color:#e98b2a}.plans-conflict-list article:first-child svg,.plans-conflict-list article:first-child strong{color:#d93626}.plans-conflict-list strong{display:block;color:#e98b2a;font-size:15px;font-weight:900}.plans-conflict-list p{margin:4px 0 0;color:#5b6861;font-size:12px;font-weight:700;line-height:1.5}.plans-conflict-list button{min-height:28px;padding:0;border:0;color:#1f65ad;background:transparent;font-size:12px;font-weight:900;box-shadow:none}.plans-conflict-list button:hover{color:#003820;background:transparent;text-decoration:underline;transform:none}.plans-detail-panel{position:sticky;bottom:14px;z-index:5;overflow:hidden;border:1px solid #9fc7b0;border-radius:8px;background:#fffffffa;box-shadow:0 -8px 26px #0f51321f}.plans-detail-panel__header{display:flex;min-height:46px;align-items:center;justify-content:space-between;gap:14px;padding:9px 14px 9px 18px;border-bottom:1px solid #e2ebe5;background:#fbfdfc}.plans-detail-panel__header span{color:#0f5132;font-size:12px;font-weight:900}.plans-detail-panel__header h2{margin:2px 0 0;color:#17251d;font-size:17px;font-weight:900}.plans-detail-panel__header div:last-child{display:flex;gap:8px}.plans-detail-panel__header button{width:30px;min-height:30px;padding:0;border:0;color:#5c6862;background:transparent;box-shadow:none}.plans-detail-panel__header button:hover{color:#0f5132;background:#eef8f2;transform:none}.plans-detail-grid{display:grid;grid-template-columns:minmax(260px,1.15fr) minmax(180px,.75fr) minmax(220px,.8fr) minmax(220px,1fr)}.plans-detail-grid section{min-width:0;padding:14px 16px;border-right:1px solid #e5ece8}.plans-detail-grid section:last-child{border-right:0}.plans-detail-grid h3{margin:0 0 9px;color:#17251d;font-size:14px;font-weight:900}.plans-detail-grid dl{display:grid;gap:4px;margin:0}.plans-detail-grid dl div{display:grid;grid-template-columns:70px minmax(0,1fr);gap:8px}.plans-detail-grid dt,.plans-detail-grid dd,.plans-link-list,.plans-risk-note{margin:0;color:#33423a;font-size:12px;font-weight:700;line-height:1.6}.plans-detail-grid dt{color:#6b7771;font-weight:900}.plans-link-list{display:grid;gap:7px;padding:0;list-style:none}.plans-link-list li{display:grid;grid-template-columns:16px minmax(0,1fr) auto;gap:6px;align-items:center}.plans-link-list svg{color:#0f5132}.plans-link-list a,.plans-inline-link{color:#1f65ad;font-size:12px;font-weight:900;text-decoration:none}.plans-link-list a:hover,.plans-inline-link:hover{color:#003820;text-decoration:underline}.plans-inline-link{display:inline-flex;margin-top:13px}.plans-photo-strip{display:flex;gap:8px;margin-bottom:12px}.plans-photo-thumb{position:relative;display:block;width:88px;height:58px;overflow:hidden;border-radius:6px;background:#dfe7e2}.plans-photo-thumb--flower{background:linear-gradient(160deg,rgba(15,81,50,.18),transparent 45%),linear-gradient(135deg,#6ba04f,#e8cd68)}.plans-photo-thumb--rain{background:linear-gradient(160deg,rgba(255,255,255,.2),transparent 45%),linear-gradient(135deg,#7fa0b6,#344951)}.plans-photo-thumb:after{position:absolute;right:10px;bottom:8px;width:44px;height:12px;border-radius:999px;background:#ffffffb8;content:""}button.plans-inline-button{min-height:28px;padding:0;border:0;color:#1f65ad;background:transparent;font-size:12px;font-weight:900;box-shadow:none}button.plans-inline-button:hover{color:#003820;background:transparent;text-decoration:underline;transform:none}.plans-risk-note{margin-bottom:10px}.plans-ai-panel{position:fixed;bottom:28px;left:266px;z-index:30;width:360px;overflow:hidden;border:1px solid #8dbba0;border-radius:8px;background:#fffffffa;box-shadow:0 12px 30px #0f51322e}.plans-ai-panel__header{display:flex;min-height:42px;align-items:center;justify-content:space-between;gap:12px;padding:0 13px 0 15px;border-bottom:1px solid #e2ebe5}.plans-ai-panel__header strong{color:#17251d;font-size:15px;font-weight:900}.plans-ai-panel__header button{width:28px;min-height:28px;padding:0;border:0;color:#6f7b75;background:transparent;box-shadow:none}.plans-ai-panel__header button:hover{color:#0f5132;background:#eef8f2;transform:none}.plans-ai-panel__body{display:grid;grid-template-columns:158px minmax(0,1fr);gap:14px;padding:14px}.plans-ai-fields{display:grid;gap:7px}.plans-ai-fields select{width:100%;min-width:0;min-height:30px;border-color:#dce6e1;border-radius:5px;color:#5d6963;font-size:12px;font-weight:800}.plans-ai-status{display:grid;align-content:center;gap:7px;text-align:center}.plans-ai-status p{margin:0;color:#26362e;font-size:12px;font-weight:900}.plans-ai-status strong{color:#0f5132;font-size:12px;font-weight:900}.plans-ai-status button{min-height:30px;border:0;border-radius:5px;color:#8d9691;background:#e7eae8;font-size:12px;font-weight:900;box-shadow:none;cursor:not-allowed}.plans-ai-status button:hover{background:#e7eae8;transform:none}@media(max-width:1500px){.plans-hero{display:grid}.plans-actions{justify-content:flex-start}.plans-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.plans-filter-panel{grid-template-columns:repeat(4,minmax(120px,1fr))}.plans-filter-panel__actions{justify-content:flex-start}.plans-workspace{grid-template-columns:1fr}.plans-side-column{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.plans-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.plans-detail-grid section:nth-child(2){border-right:0}}@media(max-width:1280px){.plans-kpis,.plans-filter-panel,.plans-side-column,.plans-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.plans-ai-panel{left:260px;width:340px}}
