:root{--bg:#F4F7F5;--surface:#FFFFFF;--surface-2:#FAFBFB;--sidebar:#1A3A2B;--sidebar-2:#224836;--sidebar-active:#A7E3B8;--sidebar-active-ink:#123528;--sidebar-ink:#BFD6C9;--sidebar-sec:#7E9A8B;--green:#2A8C6E;--green-600:#237A5F;--green-700:#1C6650;--green-50:#E9F5EF;--green-100:#D3EBE0;--teal-1:#1F6B54;--teal-2:#2E9077;--teal-3:#5EB79C;--teal-4:#93D4BF;--teal-5:#C3E7DA;--ink:#152A22;--ink-2:#46584F;--ink-3:#7A8C83;--ink-4:#A2B0A8;--line:#E3E9E5;--line-2:#EEF2EF;--field:#F2F5F3;--field-border:#D6DEDA;--focus:#3FA07A;--ok:#1F7A4D;--ok-bg:#E7F4EC;--warn:#9A6B12;--warn-bg:#FBF1DC;--danger:#C0392B;--danger-bg:#FBEAE8;--info:#2A8C6E;--info-bg:#E9F5EF;--sad:#C2410C;--sad-bg:#FCEBE3;--mid:#A16207;--mid-bg:#FBF3DC;--happy:#1F7A4D;--happy-bg:#E7F4EC;--kpi-gold:#B98A2E;--kpi-gold-bg:#F6EDD9;--kpi-teal:#2A8C6E;--kpi-teal-bg:#E9F5EF;--kpi-blue:#2F6FB0;--kpi-blue-bg:#E7F0FA;--kpi-violet:#6B4FB0;--kpi-violet-bg:#EEEAF9;--r-sm:7px;--r:10px;--r-lg:14px;--r-xl:18px;--sh-sm:0 1px 2px rgba(16,30,24,.04);--sh:0 1px 2px rgba(16,30,24,.05),0 4px 12px rgba(16,30,24,.04);--sh-lg:0 12px 32px -8px rgba(16,30,24,.16),0 4px 12px rgba(16,30,24,.06);--ring:0 0 0 3px rgba(63,160,122,.15);--ease:cubic-bezier(.4,0,.2,1);--f:-apple-system,BlinkMacSystemFont,"Segoe UI","Inter",Roboto,Helvetica,Arial,system-ui,sans-serif}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{font-family:var(--f);background:var(--bg);color:var(--ink);font-size:14px;line-height:1.55;letter-spacing:-.006em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1{font-size:21px;letter-spacing:-.021em}h1,h2{font-weight:600}h2{font-size:18px;letter-spacing:-.018em}h3{font-size:14.5px;font-weight:600;letter-spacing:-.012em}::selection{background:var(--green-100);color:var(--ink)}*{scrollbar-width:thin;scrollbar-color:var(--field-border) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--field-border);border:3px solid transparent;background-clip:padding-box;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--ink-4);background-clip:padding-box}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}p{color:var(--ink-2)}a{color:inherit;text-decoration:none}.muted{color:var(--ink-2)}.cap{font-size:12px}.cap,.tiny{color:var(--ink-3)}.tiny{font-size:11px}.hidden{display:none!important}.mono{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}input,select,textarea{width:100%;background:var(--surface);border:1px solid var(--field-border);border-radius:var(--r-sm);box-shadow:0 1px 2px rgba(16,30,24,.05);min-height:34px;padding:8px 12px;font:inherit;font-size:13px;line-height:1.4;color:var(--ink);outline:none;transition:color .18s var(--ease),border-color .18s var(--ease),box-shadow .18s var(--ease),background .18s var(--ease)}input:hover:not(:focus):not(:disabled),select:hover:not(:focus):not(:disabled),textarea:hover:not(:focus):not(:disabled){border-color:var(--ink-4)}input:focus,select:focus,textarea:focus{border-color:var(--focus);background-color:var(--surface);box-shadow:var(--ring)}input:disabled,select:disabled,textarea:disabled{background-color:var(--field);color:var(--ink-3);opacity:.6;cursor:not-allowed}input::placeholder,textarea::placeholder{color:var(--ink-4)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%237A8C83' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer}select:focus{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%233FA07A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")}select option{color:var(--ink)}input[type=checkbox],input[type=radio]{width:auto;min-height:0;box-shadow:none;accent-color:var(--green)}input[type=date]{cursor:pointer}textarea{resize:vertical;min-height:64px;line-height:1.55}label{display:block;font-size:12px;font-weight:500;color:var(--ink-2);letter-spacing:.002em;margin-bottom:6px}.field{margin-bottom:14px}.field-err{display:block;font-size:11.5px;color:var(--danger);margin-top:4px}.field.bad input,.field.bad select,.field.bad textarea{border-color:var(--danger);background-color:var(--danger-bg)}.req{color:var(--danger)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:var(--r);padding:9px 15px;font:inherit;font-size:13px;font-weight:550;letter-spacing:-.006em;cursor:pointer;transition:background .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease),box-shadow .18s var(--ease),transform .05s var(--ease);white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn:active:not(:disabled){transform:translateY(.5px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--green);color:#fff;box-shadow:0 1px 2px rgba(28,102,80,.18)}.btn-primary:hover:not(:disabled){background:var(--green-600);box-shadow:0 2px 8px rgba(28,102,80,.24)}.btn-sec{background:var(--surface);color:var(--ink);border-color:var(--line)}.btn-sec:hover:not(:disabled){background:var(--surface-2);border-color:var(--field-border)}.btn-ghost{background:transparent;color:var(--ink-2);padding:7px 11px}.btn-ghost:hover:not(:disabled){background:var(--line-2);color:var(--ink)}.btn-danger{background:var(--danger-bg);color:var(--danger)}.btn-danger:hover:not(:disabled){background:#f6dcd9}.btn-ok{background:var(--ok-bg);color:var(--ok)}.btn-ok:hover:not(:disabled){background:#d8eede}.btn-sm{padding:6px 10px;font-size:12.5px}.btn-block{width:100%}.btn-icon{padding:8px;width:34px;height:34px}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:20px;font-size:11.5px;font-weight:600;line-height:1.4}.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.b-ok{background:var(--ok-bg);color:var(--ok)}.b-warn{background:var(--warn-bg);color:var(--warn)}.b-danger{background:var(--danger-bg);color:var(--danger)}.b-info{background:var(--info-bg);color:var(--info)}.b-neutral,.tag{background:var(--line-2);color:var(--ink-2)}.tag{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);border-radius:var(--r-sm);padding:2px 8px;font-size:11.5px;font-weight:500}.tag-green{background:var(--green-50);border-color:transparent;color:var(--green)}.tag .x{cursor:pointer;opacity:.5}.tag .x:hover{opacity:1}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm)}.card-p{padding:18px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:14px;gap:14px}.tbl-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-sm)}table{width:100%;border-collapse:collapse;font-size:13px}thead th{text-align:left;padding:11px 14px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);background:var(--surface-2);border-bottom:1px solid var(--line)}tbody td{padding:11px 14px;border-bottom:1px solid var(--line-2);vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--surface-2)}.t-actions{display:flex;gap:4px;justify-content:flex-end}.t-link,.t-name{font-weight:600}.t-link{color:var(--green);cursor:pointer}.t-link:hover{color:var(--green-600);text-decoration:underline}.t-link.del{color:var(--danger)}.t-link.del:hover{color:#9a2f24}.backdrop{position:fixed;inset:0;background:rgba(11,20,15,.5);display:flex;align-items:center;justify-content:center;z-index:80;padding:16px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .18s var(--ease)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);width:100%;max-width:600px;max-height:94vh;overflow-y:auto;box-shadow:var(--sh-lg);animation:pop .2s var(--ease)}.modal-sm{max-width:440px}.modal-lg{max-width:940px}.modal-xl{max-width:1140px}@keyframes pop{0%{transform:scale(.96) translateY(8px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.modal-h{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 20px;border-bottom:1px solid var(--line)}.modal-h .mt{font-size:16px;font-weight:650}.modal-h .ms{font-size:12.5px;color:var(--ink-3);margin-top:2px}.x-btn{cursor:pointer;color:var(--ink-3);font-size:20px;line-height:1;background:none;border:none}.x-btn:hover{color:var(--ink)}.modal-b{padding:20px}.modal-f{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--line);background:var(--surface-2);border-radius:0 0 var(--r-xl) var(--r-xl)}.modal-f.between{justify-content:space-between}#toasts{position:fixed;top:16px;right:16px;z-index:99;flex-direction:column;max-width:350px}#toasts,.toast{display:flex;gap:10px}.toast{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--green);border-radius:var(--r);padding:12px 14px;box-shadow:var(--sh-lg);animation:sl .16s ease}.toast.ok{border-left-color:var(--ok)}.toast.warn{border-left-color:var(--warn)}.toast.danger{border-left-color:var(--danger)}.toast.info{border-left-color:var(--info)}.toast .ti{font-size:15px;flex-shrink:0}.toast .tt{font-weight:600;font-size:13px}.toast .tm{font-size:12px;color:var(--ink-2);margin-top:1px}@keyframes sl{0%{transform:translateX(18px);opacity:0}to{transform:translateX(0);opacity:1}}.tabs{display:flex;gap:2px;background:var(--line-2);border-radius:var(--r);padding:3px;width:-moz-fit-content;width:fit-content}.tab{padding:7px 14px;font-size:12.5px;font-weight:550;color:var(--ink-3);cursor:pointer;border-radius:var(--r-sm);transition:background .18s var(--ease),color .18s var(--ease),box-shadow .18s var(--ease)}.tab:hover:not(.active){color:var(--ink-2)}.tab.active{background:var(--surface);color:var(--ink);box-shadow:var(--sh-sm)}.tg{width:40px;height:23px;border-radius:20px;background:var(--field);border:1px solid var(--field-border);position:relative;cursor:pointer;flex-shrink:0;transition:background .15s}.tg:after{content:"";position:absolute;top:2px;left:2px;width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:var(--sh-sm);transition:left .15s}.tg.on{background:var(--green)}.tg.on:after{left:19px}#login{display:flex;min-height:100vh}.lg-cta{flex:1 1;background:linear-gradient(160deg,#1A3A2B,#224836);color:#fff;display:flex;align-items:center;justify-content:center;padding:48px;position:relative;overflow:hidden}.lg-deco{position:absolute;inset:0;opacity:.06}.lg-cta-in{max-width:430px;position:relative;z-index:2}.lg-cta-in h2{color:#fff;font-size:28px;line-height:1.22;font-weight:650;margin-bottom:14px;letter-spacing:-.02em}.lg-cta-in p{color:#C7D8CE;font-size:15px;line-height:1.65}.lg-list{margin-top:26px;display:flex;flex-direction:column;gap:13px}.lg-li{display:flex;gap:11px;align-items:flex-start}.lg-ck{flex-shrink:0;width:21px;height:21px;border-radius:50%;background:var(--sidebar-active);color:var(--sidebar-active-ink);display:flex;align-items:center;justify-content:center;font-size:11px;margin-top:1px}.lg-li span{color:#C7D8CE;font-size:13.5px}.lg-form{flex:1 1;display:flex;align-items:center;justify-content:center;padding:40px;background:var(--surface)}.lg-box{width:100%;max-width:360px}.lg-brand{gap:11px;margin-bottom:30px}.lg-brand,.logo{display:flex;align-items:center}.logo{width:38px;height:38px;border-radius:var(--r);background:var(--green);color:#fff;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0}.pick{display:flex;flex-direction:column;gap:7px;margin-top:4px}.pick-o{border:1px solid var(--field-border);background:var(--field);border-radius:var(--r);padding:10px 12px;cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:10px}.pick-o:hover{border-color:var(--focus)}.pick-o.on{border-color:var(--green);background:var(--green-50)}.pick-o .pi{width:30px;height:30px;border-radius:7px;background:var(--surface);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.pick-o.on .pi{background:var(--green);color:#fff;border-color:transparent}.pick-o .pn{font-weight:600;font-size:13px}.pick-o .ps{font-size:11px;color:var(--ink-3)}.pick-o.on .ps{color:var(--green)}#app-shell,.side{display:flex;min-height:100vh}.side{width:240px;background:var(--sidebar);flex-direction:column;flex-shrink:0;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-x:hidden;overflow-y:auto;transition:width .3s var(--ease)}.side .lbl,.side-brand-txt,.side-logout,.side-user-info{transition:opacity .18s var(--ease);white-space:nowrap}.side-brand{gap:10px;padding:18px 16px;transition:gap .3s var(--ease)}.side-brand,.side-collapse{display:flex;align-items:center}.side-collapse{margin-left:auto;width:26px;height:26px;flex-shrink:0;border:none;border-radius:8px;background:rgba(255,255,255,.07);color:var(--sidebar-ink);font-size:17px;line-height:1;cursor:pointer;justify-content:center;transition:background .15s var(--ease),color .15s var(--ease),transform .3s var(--ease)}.side-collapse:hover{background:rgba(167,227,184,.18);color:#fff}.side.collapsed{width:76px}.side.collapsed .side-brand{flex-direction:column;gap:12px;padding:18px 0}.side.collapsed .side-collapse{margin-left:0;transform:rotate(180deg)}.side.collapsed .lbl,.side.collapsed .side-brand-txt,.side.collapsed .side-logout,.side.collapsed .side-user-info{display:none}.side.collapsed .logo{margin:0 auto}.side.collapsed .side-i{width:44px;height:44px;margin:3px auto;padding:0;justify-content:center;gap:0;border-radius:11px}.side.collapsed .side-i .ic{width:auto;font-size:17px}.side.collapsed .side-sec{height:0;margin:8px 18px;padding:0;border-top:1px solid rgba(255,255,255,.09);font-size:0;color:transparent;overflow:hidden}.side.collapsed .side-foot{padding:12px 0}.side.collapsed .side-user{justify-content:center;padding:8px 0;background:transparent}.side-brand b{color:#fff;font-size:15px;font-weight:600}.side-brand .cap,.side-sec{color:var(--sidebar-sec)}.side-sec{font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;padding:14px 18px 6px}.side-i{display:flex;align-items:center;gap:11px;padding:10px 14px;margin:2px 12px;border-radius:11px;color:var(--sidebar-ink);font-size:13.5px;font-weight:500;cursor:pointer;transition:background .25s var(--ease),color .25s var(--ease)}.side-i:hover{background:rgba(255,255,255,.06);color:#fff}.side-i.on{background:var(--sidebar-active);font-weight:600}.side-i.on,.side-i.on .ic{color:var(--sidebar-active-ink)}.side-i .ic{width:18px;text-align:center;font-size:15px}.side-foot{margin-top:auto;padding:12px}.side-user{background:rgba(255,255,255,.05);border-radius:var(--r);padding:10px;gap:9px}.av,.side-user{display:flex;align-items:center}.av{width:32px;height:32px;border-radius:50%;background:var(--green);color:#fff;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0}.main{flex:1 1;min-width:0;flex-direction:column}.main,.top{display:flex}.top{background:var(--surface);border-bottom:1px solid var(--line);padding:14px 32px;align-items:center;gap:14px;position:-webkit-sticky;position:sticky;top:0;z-index:30;width:100%}.top .burger{display:none}.top-t{flex:1 1;min-width:0}.top-t h1{font-size:18px}.top-t .cap{margin-top:1px}.switcher{display:flex;align-items:center;gap:5px;background:var(--field);border:1px solid var(--line);border-radius:20px;padding:3px 5px 3px 11px;font-size:11.5px;color:var(--ink-3)}.switcher select{width:auto;min-height:0;border:none;padding:3px 20px 3px 4px;background-position:right 2px center;font-size:11.5px;font-weight:600;color:var(--green);cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%232A8C6E' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")}.switcher select,.switcher select:focus{background-color:transparent;box-shadow:none}.content{padding:24px 32px;flex:1 1;width:100%;max-width:100%}.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));grid-gap:14px;gap:14px}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px 17px;box-shadow:var(--sh-sm);transition:border-color .18s var(--ease),box-shadow .18s var(--ease)}.kpi:hover{border-color:var(--field-border);box-shadow:var(--sh)}.kpi-top{gap:11px;margin-bottom:12px}.kpi-ico,.kpi-top{display:flex;align-items:center}.kpi-ico{width:38px;height:38px;border-radius:10px;justify-content:center;font-size:17px;flex-shrink:0;background:var(--kpi-teal-bg);color:var(--kpi-teal)}.kpi-ico.gold{background:var(--kpi-gold-bg);color:var(--kpi-gold)}.kpi-ico.teal{background:var(--kpi-teal-bg);color:var(--kpi-teal)}.kpi-ico.blue{background:var(--kpi-blue-bg);color:var(--kpi-blue)}.kpi-ico.violet{background:var(--kpi-violet-bg);color:var(--kpi-violet)}.kpi .kl{font-size:11.5px;color:var(--ink-3);font-weight:550}.kpi .kl,.kpi .kv{display:flex;align-items:center;gap:6px}.kpi .kv{font-size:25px;font-weight:620;margin-top:5px;line-height:1;letter-spacing:-.03em;color:var(--ink)}.kpi .kv .arw{font-size:15px}.kpi .kf{font-size:11.5px;margin-top:9px;color:var(--ink-3)}.kpi .kf.up{color:var(--ok)}.kpi .kf.down{color:var(--danger)}.kbar{height:5px;background:var(--line-2);margin-top:11px;overflow:hidden}.kbar,.kbar span{border-radius:5px}.kbar span{display:block;height:100%;background:linear-gradient(90deg,var(--green-600),var(--green));transition:width .7s var(--ease)}.sec-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.sec-head,.toolbar{display:flex;flex-wrap:wrap}.toolbar{gap:10px;align-items:flex-end;margin-bottom:16px}.toolbar .field{margin-bottom:0;min-width:150px}.search{position:relative;flex:1 1;min-width:200px;max-width:320px}.search input{padding-left:32px;border-radius:20px}.search .si{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--ink-3);font-size:13px}.filters-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 16px;margin-bottom:16px;box-shadow:var(--sh-sm)}.filters-row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.filters-row .field{margin-bottom:0;min-width:140px;flex:1 1}.empty{text-align:center;padding:50px 20px;color:var(--ink-3)}.empty .ei{font-size:30px;margin-bottom:8px;opacity:.7}.empty .et{font-weight:600;color:var(--ink-2)}.chart{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;box-shadow:var(--sh-sm)}.chart h3{margin-bottom:4px}.lc-line{stroke-dasharray:1000;stroke-dashoffset:1000;animation:lcDraw 1.1s var(--ease) forwards}@keyframes lcDraw{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.lc-line{animation:none;stroke-dashoffset:0}}.chart .cap{margin-bottom:14px}.chart-head{justify-content:space-between;align-items:flex-start;gap:12px}.bar,.chart-head{display:flex;margin-bottom:14px}.bar{align-items:center;gap:14px}.bar .bl{width:180px;font-size:12px;line-height:1.3;color:var(--ink-2);font-weight:500;flex-shrink:0;text-align:right;white-space:normal;overflow-wrap:break-word;word-break:break-word}.bt{flex:1 1;background:var(--line-2);height:22px;overflow:hidden}.bf,.bt{border-radius:6px}.bf{height:100%;background:linear-gradient(90deg,var(--green-600),var(--green));display:flex;align-items:center;justify-content:flex-end;padding-right:8px;color:#fff;font-size:10.5px;font-weight:600;min-width:24px;width:0;animation:barGrow .7s var(--ease) forwards}@keyframes barGrow{0%{width:0}to{width:var(--bw,100%)}}@media (prefers-reduced-motion:reduce){.bf{animation:none;width:var(--bw,100%)}}.bar .bv{width:44px;font-size:10px;color:var(--ink-3);text-align:right;flex-shrink:0}.area-fill{fill:url(#gkAreaGrad)}.area-grad-from{stop-color:var(--teal-2);stop-opacity:.28}.area-grad-to{stop-color:var(--teal-2);stop-opacity:0}.area-line{stroke:var(--teal-2);stroke-width:2.5;fill:none}.chart-tip{background:var(--sidebar);color:#fff;border-radius:var(--r);padding:8px 11px;font-size:11px;box-shadow:var(--sh-lg)}.chart-tip b{color:#fff;font-size:13px}.donut-wrap{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.donut{--v1:40;--v2:25;--v3:20;--v4:10;width:150px;height:150px;border-radius:50%;flex-shrink:0;background:conic-gradient(var(--teal-1) 0 40%,var(--teal-2) 40% 65%,var(--teal-3) 65% 85%,var(--teal-4) 85% 100%);-webkit-mask:radial-gradient(circle 40px at 50% 50%,transparent 98%,#000 100%);mask:radial-gradient(circle 40px at 50% 50%,transparent 98%,#000 100%)}.legend{display:flex;flex-direction:column;gap:10px}.legend-i{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-2)}.legend-i .lg-dot{width:10px;height:10px;border-radius:3px;flex-shrink:0}.legend-i .lg-v{margin-left:auto;font-weight:600;color:var(--ink)}.c1{background:var(--teal-1)}.c2{background:var(--teal-2)}.c3{background:var(--teal-3)}.c4{background:var(--teal-4)}.grid-2{grid-template-columns:1fr 1fr;grid-gap:14px}.grid-2,.grid-3{display:grid;gap:14px}.grid-3{grid-template-columns:repeat(3,1fr);grid-gap:14px}.stack{flex-direction:column;gap:14px}.flex,.stack{display:flex}.ac{align-items:center}.jb{justify-content:space-between}.g2{gap:8px}.g3{gap:12px}.wrap{flex-wrap:wrap}.divider{height:1px;background:var(--line);margin:14px 0}.hint{background:var(--info-bg);border:1px solid var(--green-100);border-radius:var(--r);padding:11px 13px;font-size:12.5px;color:var(--ink-2);display:flex;gap:9px;margin-bottom:16px}.sent{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;flex-shrink:0}.sent.bem{background:var(--happy-bg)}.sent.indiferente{background:var(--mid-bg)}.sent.estressado{background:var(--sad-bg)}.sent-pick{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}.sent-o{border:1px solid var(--field-border);border-radius:var(--r-lg);padding:14px 8px;text-align:center;cursor:pointer;transition:all .15s;background:var(--surface)}.sent-o:hover{border-color:var(--focus)}.sent-o.on{border-width:2px;padding:13px 7px}.sent-o.on.bem{border-color:var(--happy);background:var(--happy-bg)}.sent-o.on.indiferente{border-color:var(--mid);background:var(--mid-bg)}.sent-o.on.estressado{border-color:var(--sad);background:var(--sad-bg)}.sent-o svg{width:42px;height:42px;display:block;margin:0 auto 7px}.sent-o .sl{font-size:12.5px;font-weight:600}.sig{width:100%;height:170px;background:var(--surface);border:1px dashed var(--field-border);border-radius:var(--r);touch-action:none;display:block}.geo{background:var(--field);border:1px solid var(--line);border-radius:var(--r);padding:11px;display:flex;gap:10px;align-items:center;font-size:12.5px;color:var(--ink-2)}.mtx td,.mtx th{text-align:center}.mtx td:first-child,.mtx th:first-child{text-align:left}.cell-ok{color:var(--ok);font-weight:700}.cell-no{color:var(--danger);font-weight:700}.cell-dash{color:var(--ink-4)}.att{display:flex;align-items:center;gap:11px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r);margin-bottom:8px;background:var(--surface)}.att .ai{flex:1 1;min-width:0}.att .ai b{font-size:13px;font-weight:600;display:block}@media(max-width:1200px){.kpis{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}@media(max-width:1000px){.grid-2,.grid-3{grid-template-columns:1fr}.top{padding:12px 16px}}@media(max-width:720px){.switcher{display:none}.kpi{padding:14px}.kpi .kv{font-size:23px}.filters-row .field,.filters-row .search{min-width:100%;max-width:none;flex:1 1 100%}.filters-row .btn{flex:1 1}}@media(max-width:860px){#login{flex-direction:column}.lg-cta{padding:30px 24px;min-height:auto}.lg-cta-in h2{font-size:22px}.lg-list{display:none}.side{position:fixed;left:-250px;z-index:60;transition:left .25s var(--ease)}.side.open{left:0}.side.collapsed{width:240px}.side.collapsed .side-brand{flex-direction:row;gap:10px;padding:18px 16px}.side.collapsed .lbl,.side.collapsed .side-user-info{display:inline}.side.collapsed .side-brand-txt{display:block}.side.collapsed .side-logout{display:inline-flex}.side.collapsed .side-sec{height:auto;margin:0;padding:14px 18px 6px;border-top:none;font-size:10px;color:var(--sidebar-sec);overflow:visible}.side.collapsed .logo{margin:0}.side.collapsed .side-user{padding:10px;background:rgba(255,255,255,.05)}.side.collapsed .side-i{width:auto;height:auto;margin:2px 12px;padding:10px 14px;justify-content:flex-start;gap:11px;border-radius:11px}.side .side-collapse{display:none}.top .burger{display:inline-flex}.content{padding:16px}#backdrop.show{display:block;position:fixed;inset:0;background:rgba(13,22,17,.42);z-index:55}table.resp thead{display:none}table.resp tbody tr{display:block;border:1px solid var(--line);border-radius:var(--r);margin-bottom:10px;padding:4px 0;background:var(--surface)}table.resp tbody td{display:flex;justify-content:space-between;gap:14px;padding:8px 14px;border:none;text-align:right}table.resp tbody td:before{content:attr(data-l);font-weight:600;color:var(--ink-3);font-size:11px;text-transform:uppercase;text-align:left}table.resp tbody td.tac{justify-content:flex-end}.sent-pick{grid-template-columns:1fr}.donut-wrap{justify-content:center}}@media(max-width:560px){.content{padding:14px}.kpis{grid-template-columns:1fr 1fr;gap:10px}.card-p,.chart{padding:15px}.top-t h1{font-size:16px}.modal-f{flex-wrap:wrap}.modal-f .btn{flex:1 1}.bar .bl{width:118px}.att{flex-wrap:wrap}.att .ai{flex-basis:100%}}#backdrop{display:none}.spinner{width:34px;height:34px;border:3px solid var(--line);border-top-color:var(--green);border-radius:50%;margin:6px auto 4px;animation:spin .8s linear infinite}.busy-overlay{position:fixed;inset:0;z-index:200;justify-content:center;background:rgba(11,20,15,.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:progress;animation:fadeIn .15s var(--ease)}.busy-box,.busy-overlay{display:flex;align-items:center}.busy-box{flex-direction:column;gap:6px;padding:28px 34px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--sh-lg);animation:pop .2s var(--ease)}.busy-box .spinner{width:40px;height:40px}.busy-msg{font-size:14px;font-weight:600;color:var(--ink)}@keyframes spin{to{transform:rotate(1turn)}}