:root{--bg:#f4f7f6;--panel:#fff;--text:#17201d;--muted:#73807b;--green:#167a59;--green2:#25a875;--line:#e5ebe8;--danger:#c64a4a;--shadow:0 14px 40px rgba(24,48,40,.06)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{text-decoration:none;color:inherit}.shell{display:flex;min-height:100vh;--sidebar-width:248px}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);background:#10251e;color:#fff;padding:26px 18px;display:flex;flex-direction:column;transition:width .24s ease,padding .24s ease;z-index:20}.brand{display:flex;gap:12px;align-items:center;padding:0 10px 20px;min-width:0}.brandMark{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#34c98c,#1b8d65);display:grid;place-items:center;font-weight:800;font-size:20px;flex:0 0 38px}.brand span,.brand strong{display:block;white-space:nowrap}.brand span{font-size:11px;color:#8fb4a6;margin-top:2px}.brandText{min-width:0;overflow:hidden;transition:opacity .18s ease,width .24s ease}.sidebarToggle{height:36px;border:1px solid #23483b;background:#143128;color:#87aa9d;border-radius:10px;margin:0 4px 14px;padding:0 10px;display:flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .18s ease,color .18s ease}.sidebarToggle:hover{background:#193d31;color:#fff}.sidebar nav{display:grid;gap:6px}.sidebar nav a{display:flex;align-items:center;gap:11px;padding:12px 13px;color:#9eb8ae;border-radius:11px;font-size:14px;white-space:nowrap;overflow:hidden}.sidebar nav a svg{flex:0 0 auto}.sidebar nav a span{overflow:hidden;transition:opacity .18s ease}.sidebar nav a.active,.sidebar nav a:hover{background:#183a2e;color:#fff}.sidebarBottom{margin-top:auto;padding:18px 12px;border-top:1px solid #234338;display:grid;gap:5px;color:#789b8e;white-space:nowrap;overflow:hidden}.sidebarBottom small{letter-spacing:.14em}.content{margin-left:var(--sidebar-width);width:calc(100% - var(--sidebar-width));padding:38px 44px 56px;transition:margin-left .24s ease,width .24s ease}.sidebarCollapsed{--sidebar-width:76px}.sidebarCollapsed .sidebar{padding-left:10px;padding-right:10px}.sidebarCollapsed .brand{justify-content:center;padding-left:0;padding-right:0}.sidebarCollapsed .brandText,.sidebarCollapsed .sidebar nav a span,.sidebarCollapsed .sidebarBottom{opacity:0;width:0;pointer-events:none}.sidebarCollapsed .sidebarToggle{width:44px;margin-left:auto;margin-right:auto;padding:0}.sidebarCollapsed .sidebar nav a{justify-content:center;gap:0;padding-left:0;padding-right:0}.sidebarCollapsed .sidebarBottom{padding-left:0;padding-right:0}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.eyebrow,.panelHead span{font-size:10px;font-weight:800;letter-spacing:.14em;color:var(--green);margin:0 0 6px}.topbar h1{font-size:31px;letter-spacing:-.04em;margin:0}.topbar p:not(.eyebrow){color:var(--muted);margin:7px 0}.actions{display:flex;gap:10px}.actions a,.actions button,.filters button,.panelHead button,.sourceActions button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 13px;font-weight:650;color:#34423d}.actions a,.actions button,.sourceActions button{display:flex;align-items:center;gap:8px}.actions .primary,.sourceActions .primary{border-color:var(--green);background:var(--green);color:#fff}.filters{display:flex;gap:8px;margin:28px 0 18px;padding:10px;background:#edf2f0;border-radius:13px}.filters button{min-width:150px;text-align:left;color:#7a8782;font-size:11px}.filters b{display:block;color:#25332e;font-size:13px;margin-top:2px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px}.kpis article,.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.kpis article{padding:20px;position:relative}.kpis article>small,.kpis article>span{display:block;color:var(--muted);font-size:12px}.kpis article>strong{display:block;font-size:25px;margin:8px 0 7px;letter-spacing:-.03em}.kpis .icon{position:absolute;right:17px;top:17px;width:36px;height:36px;border-radius:11px;background:#ecf7f2;color:var(--green);display:grid;place-items:center}.kpis small.up{color:var(--green)}.kpis small.danger{color:var(--danger)}.grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px}.panel{padding:21px}.span2{grid-column:span 2}.span3{grid-column:span 3}.panelHead{display:flex;justify-content:space-between;align-items:center}.panelHead h2{font-size:17px;margin:0}.panelHead button{font-size:11px;padding:8px 10px}.chart{height:265px;display:flex;margin-top:24px}.axis{display:flex;flex-direction:column;justify-content:space-between;color:#9aa6a2;font-size:10px;padding:0 10px 24px 0}.bars{flex:1 1;justify-content:space-around;border-left:1px solid var(--line);border-bottom:1px solid var(--line);background:repeating-linear-gradient(0deg,#fff 0,#fff 63px,#eef2f0 64px)}.barGroup,.bars{display:flex;align-items:flex-end}.barGroup{height:100%;width:11%;position:relative;justify-content:center;padding-bottom:22px}.bar{width:34px;background:linear-gradient(180deg,#2fa978,#167a59);border-radius:7px 7px 2px 2px;opacity:.94}.barGroup small{position:absolute;bottom:-18px;color:#7d8984}.goalLine{position:absolute;left:0;right:0;bottom:78%;border-top:2px dashed #a9bbb4}.donut{width:154px;height:154px;margin:28px auto 18px;border-radius:50%;background:conic-gradient(var(--green2) 0 78%,#e9efec 78%);display:grid;place-items:center;position:relative}.donut:after{content:"";position:absolute;width:108px;height:108px;border-radius:50%;background:#fff}.donut div{z-index:1;text-align:center}.donut span,.donut strong{display:block}.donut strong{font-size:30px}.donut span{font-size:11px;color:var(--muted)}.legend{display:flex;justify-content:center;gap:13px;font-size:10px;color:var(--muted)}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:4px}.dot.ok{background:#2ba676}.dot.warn{background:#d6a42e}.dot.bad{background:#cb5555}.goalTable{margin-top:12px}.goalRow{display:grid;grid-template-columns:2fr 1fr 1fr 1.6fr;align-items:center;padding:16px 4px;border-top:1px solid var(--line);gap:18px}.goalRow:first-child{border-top:0}.goalRow span{display:block;font-size:10px;color:var(--muted);margin-bottom:4px}.goalRow strong{font-size:13px}.goalName{display:flex;align-items:center;gap:10px;color:var(--green)}.goalName span{margin:2px 0 0}.progressWrap{display:flex;gap:10px;align-items:center}.progress{height:7px;background:#e9efec;border-radius:99px;overflow:hidden;flex:1 1}.progress i{display:block;height:100%;background:var(--green2);border-radius:99px}.sourcePage{min-height:100vh;padding:34px;background:radial-gradient(circle at top right,#e7f5ef 0,transparent 34%),var(--bg)}.sourceWrap{max-width:1180px;margin:0 auto}.backLink{display:inline-flex;align-items:center;gap:7px;color:#66736e;font-size:13px;font-weight:650;margin-bottom:24px}.sourceHeader{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:24px}.sourceHeader h1{font-size:32px;letter-spacing:-.04em;margin:0}.sourceHeader p:not(.eyebrow){color:var(--muted);margin:7px 0;max-width:690px}.readonlyBadge{display:flex;align-items:center;gap:8px;background:#e9f7f0;border:1px solid #cce9dc;color:var(--green);padding:10px 13px;border-radius:10px;font-size:12px;font-weight:750}.sourceGrid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr);gap:18px}.connectionCard,.sourceHelp{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.connectionCard{padding:25px}.sourceHelp{padding:26px}.formSectionTitle{display:flex;gap:11px;align-items:center;padding-bottom:20px;border-bottom:1px solid var(--line);color:var(--green)}.formSectionTitle div{display:grid;gap:3px}.formSectionTitle strong{color:var(--text)}.formSectionTitle span{font-size:12px;color:var(--muted)}.connectionForm{display:grid;grid-template-columns:1fr 180px;gap:16px;margin-top:22px}.connectionForm label{display:grid;gap:7px;font-size:12px;font-weight:700;color:#45524e}.connectionForm label.full{grid-column:1/-1}.connectionForm input:not([type=checkbox]){height:44px;border:1px solid #dce5e1;border-radius:10px;padding:0 12px;background:#fbfcfc;color:var(--text);outline:none;font:inherit}.connectionForm input:not([type=checkbox]):focus{border-color:#5bb594;box-shadow:0 0 0 3px rgba(37,168,117,.09)}.sourceOptions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.checkLabel{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:9px!important;padding:13px;border:1px solid var(--line);border-radius:11px;background:#fafcfb}.checkLabel input{margin-top:3px}.checkLabel span{display:grid;gap:3px}.checkLabel small{color:var(--muted);font-weight:500;line-height:1.35}.connectionResult{display:flex;align-items:flex-start;gap:9px;padding:13px 14px;border-radius:11px;margin-top:17px}.connectionResult.success{background:#edf8f3;color:#176e51;border:1px solid #d1ecdf}.connectionResult.error{background:#fff3f3;color:#a64040;border:1px solid #f0d4d4}.connectionResult div{display:grid;gap:3px}.connectionResult span{font-size:11px;opacity:.8}.sourceActions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.sourceActions button{cursor:pointer}.sourceActions button:disabled{opacity:.6;cursor:default}.spin{animation:spin .8s linear infinite}.stepTag{display:inline-block;font-size:10px;font-weight:850;letter-spacing:.14em;color:var(--green);background:#ecf7f2;padding:6px 8px;border-radius:7px}.sourceHelp h2{font-size:21px;line-height:1.2;margin:15px 0 22px}.sourceSteps{display:grid;gap:17px}.sourceSteps>div{display:flex;gap:12px}.sourceSteps b{width:31px;height:31px;border-radius:9px;background:#eff5f2;color:var(--green);display:grid;place-items:center;font-size:10px;flex:none}.sourceSteps span{display:grid;gap:3px}.sourceSteps strong{font-size:13px}.sourceSteps small{color:var(--muted);line-height:1.35}.securityNote{background:#f5f8f7;border-radius:12px;padding:15px;margin-top:23px}.securityNote strong{font-size:12px}.securityNote p{font-size:11px;line-height:1.55;color:var(--muted);margin:6px 0 0}@keyframes spin{to{transform:rotate(1turn)}}@media(max-width:1050px){.shell{--sidebar-width:210px}.sidebarCollapsed{--sidebar-width:76px}.kpis{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.span2,.span3{grid-column:span 1}.content{padding:28px}.goalRow{grid-template-columns:1.5fr 1fr 1fr}.sourceGrid{grid-template-columns:1fr}}@media(max-width:760px){.sidebar{display:none}.content{margin:0;width:100%;padding:22px}.sourceHeader,.topbar{display:block}.actions{margin-top:18px}.filters{overflow:auto}.kpis{grid-template-columns:1fr}.goalRow{grid-template-columns:1fr 1fr}.progressWrap{grid-column:span 2}.sourcePage{padding:22px}.readonlyBadge{display:inline-flex;margin-top:14px}.connectionForm{grid-template-columns:1fr}.connectionForm label.full{grid-column:auto}.sourceOptions{grid-template-columns:1fr}.sourceActions{flex-direction:column}.sourceActions button{justify-content:center}}body{font-size:14px}button,input,select,textarea{font-size:inherit}.checkLabel small,.connectionForm label,.formSectionTitle span,.securityNote p,.sourceHeader p:not(.eyebrow),.sourceSteps small{font-size:12px}.backLink,.connectionForm input:not([type=checkbox]),.readonlyBadge,.sourceSteps strong{font-size:13px}.actions a,.actions button,.sourceActions button{font-size:12px}body{font-size:15px}button,input,select,textarea{font-size:14px}body{font-size:16px}button,input,select,textarea{font-size:15px}li,p{line-height:1.5}small{font-size:12px}.eyebrow,.panelHead span{font-size:11px}