:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1c2b26;background:#f5f7f5;font-synthesis:none;text-rendering:optimizeLegibility;--green: #176f59;--green-dark: #125541;--green-soft: #e8f3ee;--muted: #718078;--border: #e2e9e4;--surface: #fff}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#f5f7f5}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #80baa5;outline-offset:2px}.app{width:min(100% - 64px,1320px);margin:0 auto}.topbar{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:11px;flex:0 0 auto}.brand-mark{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--green);color:#fff;font-size:1.25rem;font-weight:750;letter-spacing:-.08em}.brand-name{color:#183b30;font-size:1.08rem;font-weight:720;letter-spacing:-.035em}.brand-name span{display:block;margin-top:2px;color:#839188;font-size:.59rem;font-weight:750;letter-spacing:.16em}.controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px 16px}.viewer-select{display:flex;align-items:center;gap:9px;color:#67766e;font-size:.8rem}.viewer-select select,.user-session button{min-height:36px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:#263a31;padding:7px 10px}.user-session{display:flex;align-items:center;gap:10px;font-size:.88rem;font-weight:600}.scopes{display:flex;gap:3px;padding:4px;border:1px solid var(--border);border-radius:10px;background:#edf1ee}.scopes button{border:0;border-radius:7px;background:transparent;color:#617068;padding:7px 10px;font-size:.78rem;font-weight:600;white-space:nowrap}.scopes button.active{background:#fff;color:var(--green-dark);box-shadow:0 1px 3px #1c2b2618}.demo{margin:0;color:var(--muted);font-size:.72rem;white-space:nowrap}.section-nav{display:flex;gap:5px;margin:0;padding:14px 0 0;overflow-x:auto;border-bottom:1px solid var(--border);scrollbar-width:thin}.nav-item{position:relative;flex:0 0 auto;border:0;border-radius:8px 8px 0 0;background:transparent;color:#66746d;padding:11px 13px 14px;font-size:.84rem;font-weight:560;transition:color .16s ease,background .16s ease}.nav-item:hover{background:#ebf1ed;color:var(--green-dark)}.nav-item.active{background:transparent;color:var(--green-dark);font-weight:700}.nav-item.active:after{position:absolute;right:12px;bottom:-1px;left:12px;height:3px;border-radius:3px 3px 0 0;background:var(--green);content:""}.content{min-height:420px;padding:32px 0 56px}h1,h2,h3{color:#20352c;letter-spacing:-.035em}h2{margin:0 0 22px;font-size:clamp(1.45rem,2.5vw,1.9rem)}h3{margin:28px 0 13px;font-size:1.08rem}p{line-height:1.55}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.page-heading h2{margin:0}.eyebrow{margin:0 0 7px;color:#819087;font-size:.68rem;font-weight:750;letter-spacing:.14em}.period{padding:8px 12px;border:1px solid var(--border);border-radius:9px;background:#fff;color:#4c6156;font-size:.82rem;font-weight:650;text-transform:capitalize}.kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}.kpi{min-width:0;display:flex;flex-direction:column;justify-content:space-between;gap:16px;padding:18px 17px;border:1px solid var(--border);border-radius:13px;background:var(--surface);box-shadow:0 3px 12px #20352c08}.kpi span{color:#78867e;font-size:.78rem;font-weight:550}.kpi strong{overflow-wrap:anywhere;color:#21372d;font-size:clamp(1.12rem,1.7vw,1.45rem);letter-spacing:-.045em}.kpi-positive{border-color:#d6e9df;background:#f6fbf8}.kpi-positive strong{color:var(--green)}.kpi-primary{border-color:var(--green-dark);background:var(--green-dark)}.kpi-primary span{color:#c3ded2}.kpi-primary strong{color:#fff}.hint,.notice{color:#718078;font-size:.84rem}.dashboard>.hint{margin:12px 0 24px}.notice{margin:0 0 16px;padding:12px 15px;border:1px solid #f0dfb8;border-radius:10px;background:#fffaf0;color:#796333}.section-title{margin:28px 0 12px;font-size:1.05rem}.chart{width:100%;min-height:260px;padding:18px 14px 10px;overflow:hidden;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:0 3px 12px #20352c08}.recharts-cartesian-grid line{stroke:#e8ede9}.recharts-text{fill:#75827b;font-size:12px}.recharts-default-tooltip{border:1px solid var(--border)!important;border-radius:9px!important;box-shadow:0 6px 20px #20352c14!important}.bars,.list{margin:0;padding:0;list-style:none}.bars li{display:grid;grid-template-columns:minmax(140px,210px) minmax(80px,1fr) auto;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #edf1ee}.bars li>span{color:#33473d;font-size:.88rem}.bars small{grid-column:1 / -1;color:var(--muted)}.bar{height:9px;overflow:hidden;border-radius:99px;background:#e8eeea}.bar i{display:block;height:100%;border-radius:inherit;background:#43977a}.bar i.over{background:#dc8a5b}.list li{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 3px;border-bottom:1px solid #edf1ee}button{min-height:38px;padding:8px 13px;border:1px solid #d5dfd9;border-radius:9px;background:#fff;color:#32473c;font-size:.85rem;font-weight:600;transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease}button:hover:not(:disabled){border-color:#a9c5b7;background:#f5faf7}.actions{display:flex;flex-wrap:wrap;gap:9px;margin:12px 0}.content section>button,.form>button,.actions button,.login-form>button,.empty button{border-color:var(--green);background:var(--green);color:#fff}.content section>button:hover:not(:disabled),.form>button:hover:not(:disabled),.actions button:hover:not(:disabled),.login-form>button:hover:not(:disabled),.empty button:hover:not(:disabled){border-color:var(--green-dark);background:var(--green-dark);color:#fff}.form{display:flex;flex-wrap:wrap;align-items:end;gap:14px;margin:12px 0}.form label,label.block{display:flex;flex-direction:column;gap:6px;color:#4f6258;font-size:.82rem;font-weight:600}.form label{min-width:min(190px,100%)}.form fieldset,fieldset.form{padding:16px;border:1px solid var(--border);border-radius:12px}legend{padding:0 7px;color:#52665b;font-size:.84rem;font-weight:650}input,select,textarea{min-height:40px;max-width:100%;padding:9px 11px;border:1px solid #d7e0da;border-radius:8px;background:#fff;color:#263a31;font-size:.88rem}textarea{width:100%;resize:vertical}input[type=file]{min-height:42px;padding:6px}label.block{display:flex;margin:14px 0}.content label.block textarea{width:100%}table{width:100%;border-collapse:collapse;border-spacing:0}th,td{padding:11px 12px;border-bottom:1px solid #e8eeea;text-align:left;font-size:.86rem}th{background:#f5f8f6;color:#687970;font-size:.74rem;font-weight:700;letter-spacing:.035em}tbody tr:hover{background:#f8faf8}.neg,.error-text{color:#b84d43}.pos,.ok-text{color:var(--green)}.error-text,.ok-text{font-size:.88rem}.empty{padding:36px 20px;border:1px dashed #d7e1da;border-radius:12px;color:#6e7c73;text-align:center}.empty strong{color:#3a5044}.empty.error{color:#b84d43}.empty p{margin:8px 0}.rec{margin:13px 0;padding:14px 18px;border:1px solid var(--border);border-left:4px solid #9aa5b1;border-radius:10px;background:#fff}.rec h3{margin:0 0 7px;font-size:1rem}.rec p{margin:7px 0;color:#5e6f65;font-size:.88rem}.rec.ok{border-left-color:#3e9476;background:#f8fcf9}.rec.attention{border-left-color:#d88a4b;background:#fffbf5}.rec.info{border-left-color:#668d9a;background:#f7fbfc}.rec summary{color:#52675b;cursor:pointer;font-size:.83rem;font-weight:600}.login-shell{min-height:100vh;display:grid;place-items:center;padding-top:40px;padding-bottom:40px}.login-card{width:min(100%,480px);padding:34px;border:1px solid var(--border);border-radius:18px;background:#fff;box-shadow:0 18px 60px #20352c12}.login-brand{margin-bottom:30px}.login-card h2{margin-bottom:22px}.login-form{display:grid;gap:15px}.login-form label{min-width:0}.login-form>button{width:100%;margin-top:4px}.login-card>p:last-child{margin-bottom:0}@media(max-width:980px){.app{width:min(100% - 40px,1320px)}.topbar{align-items:flex-start;padding:19px 0}.controls{gap:9px}.demo{width:100%;text-align:right}.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:640px){.app{width:min(100% - 28px,1320px)}.topbar{flex-direction:column;align-items:stretch;gap:15px}.controls{justify-content:flex-start}.demo{text-align:left}.scopes{max-width:100%;overflow-x:auto}.scopes button{padding:7px 8px}.section-nav{margin-right:-14px;padding-top:8px}.nav-item{padding:10px 10px 13px;font-size:.8rem}.content{padding-top:24px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.kpi{padding:14px 12px;gap:12px}.kpi strong{font-size:1.1rem}.page-heading{align-items:flex-end}.bars li{grid-template-columns:1fr auto;gap:8px}.bars li .bar{grid-column:1 / -1;grid-row:2}.bars li b{font-size:.83rem}.chart{min-height:240px;padding:12px 4px 8px}.chart .recharts-cartesian-axis-tick{font-size:10px}table{display:block;overflow-x:auto;white-space:nowrap}th,td{padding:10px}.form{align-items:stretch}.form label{width:100%}.form>button{align-self:flex-start}.login-card{padding:25px 20px}.user-session{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
