:root{--ink:#211f1b;--soft:#6c685f;--faint:#9a958b;--teal:#0f6e56;--teal-d:#0a4f3e;--terra:#b24a26;--gold:#8a6a1f;--bg:#f3f0e9;--sidebar:#faf8f4;--glass:#ffffff;--glass-strong:#ffffff;--glass-brd:rgba(33,31,27,.09);--field:#ffffff;--surface:#ffffff;--surface-2:#faf8f3;--line:rgba(33,31,27,.09);--line2:rgba(33,31,27,.14);--ok-bg:#eaf1ee;--ok-tx:#0f6e56;--okfg:#3f7a5e;--sage:#6f9a85;--wait-bg:#f3eedf;--wait-tx:#8a6a1f;--info-bg:#e9eff5;--info-tx:#1b5a93;--mut-bg:#efece6;--mut-tx:#6c685f;--danger:#b24a26;--terra-d:#a23b22;--shadow-card:0 1px 3px rgba(70,55,30,.05);--radius:12px;--radius-md:10px;--radius-sm:7px;--display:"Inter",system-ui,-apple-system,sans-serif;--body:"Inter",system-ui,-apple-system,sans-serif}:root[data-theme=dark]{--ink:#eceae6;--soft:#a3a099;--faint:#74726c;--teal:#4f9384;--teal-d:#69ab9c;--terra:#d98a5c;--gold:#cBA45f;--bg:#191a1d;--sidebar:#1c1e21;--glass:#212327;--glass-strong:#23262b;--glass-brd:#31343a;--field:#23262b;--surface:#212327;--surface-2:#1c1e21;--line:#2a2c31;--line2:#3a3d44;--ok-bg:#22332e;--ok-tx:#6fc2ad;--okfg:#6fc2ad;--sage:#5fa389;--wait-bg:#332f1f;--wait-tx:#d6b766;--info-bg:#21303a;--info-tx:#84b6d8;--mut-bg:#262830;--mut-tx:#a3a099;--danger:#df8a5c;--terra-d:#e3a079;--shadow-card:0 1px 3px rgba(0,0,0,.35);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}.cal-add{display:flex;align-items:center;justify-content:center;cursor:cell;position:relative;overflow:hidden}.cal-rate{font-size:8px;color:#ddd7ca;font-variant-numeric:tabular-nums;pointer-events:none;white-space:nowrap}.cal-plus{position:absolute;opacity:0;transition:opacity .12s;font-weight:700;font-size:14px;color:var(--teal-d);line-height:1}.cal-add:hover{background:#0f6e561a}.cal-add:hover .cal-rate{opacity:0}.cal-add:hover .cal-plus{opacity:.95}.cal-unit:hover{background:#0f6e560d}body{margin:0;color:var(--ink);font-family:var(--body);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;font-size:14px;letter-spacing:-.006em;background:var(--bg)}h1,h2,h3,.display{font-family:var(--display);font-weight:600;letter-spacing:-.015em;margin:0}a{color:inherit}.glass{background:var(--glass);border:1px solid var(--glass-brd);box-shadow:var(--shadow-card);border-radius:var(--radius)}.card{padding:18px 20px}.muted{color:var(--soft)}.faint{color:var(--faint)}.h-page{font-family:var(--display);font-size:20px;font-weight:600;letter-spacing:-.015em}.sub{color:var(--soft);font-size:13.5px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:16px}.page-head .page-crumb{font-size:11.5px;color:var(--faint);margin-bottom:3px}.page-head .page-sub{color:var(--soft);font-size:13px;margin-top:2px}.page-head .page-actions{display:flex;gap:8px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:7px;font-family:var(--body);font-size:13.5px;font-weight:500;padding:9px 14px;border-radius:var(--radius-sm);border:1px solid var(--line2);background:var(--field);color:var(--ink);cursor:pointer;transition:.12s}.btn:hover{background:var(--surface-2)}.btn-primary{border:1px solid var(--teal);color:#fff;background:var(--teal);box-shadow:none}.btn-primary:hover{background:var(--teal-d);border-color:var(--teal-d);filter:none;color:#fff}.btn:disabled{opacity:.5;cursor:default}.btn-ghost{border:1px solid transparent;background:transparent;color:var(--teal)}.btn-ghost:hover{background:var(--field)}.btn-danger{border:1px solid var(--terra);color:var(--terra);background:transparent}.btn-danger:hover{background:#c4663b14}.state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:38px 18px;color:var(--soft)}.state-ico{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:var(--field);margin-bottom:6px}.state-ico.ok{color:var(--teal)}.state-ico.err{color:var(--terra)}.state-title{font-size:15px;font-weight:600;color:var(--ink)}.state-sub{font-size:13px;max-width:340px}.skeleton-row{display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:12px;padding:12px 13px;margin-bottom:9px}.skeleton-dot{width:32px;height:32px;border-radius:9px;flex:none}.field{display:block;margin-bottom:13px}.field>span{display:block;font-size:12.5px;color:var(--soft);margin-bottom:5px;font-weight:500}.input,input:not([type]),input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=tel],input[type=search],input[type=url],select,textarea{width:100%;font-family:var(--body);font-size:14px;color:var(--ink);background:var(--field);border:1px solid var(--line2);border-radius:9px;padding:10px 12px;outline:none;transition:.13s}.input::placeholder,input::placeholder,textarea::placeholder{color:var(--faint)}.input:hover,input:not([type]):hover,input[type=text]:hover,input[type=email]:hover,input[type=number]:hover,input[type=tel]:hover,input[type=search]:hover,select:hover,textarea:hover{border-color:var(--line2)}.input:focus,input:not([type]):focus,input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=number]:focus,input[type=date]:focus,input[type=tel]:focus,input[type=search]:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0f6e5621}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:32px;cursor:pointer;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236c685f' stroke-width='2.5' 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;background-size:12px}input[type=date]::-webkit-calendar-picker-indicator{opacity:.45;cursor:pointer}.nav-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);color:var(--soft);font-size:13px;font-weight:450;cursor:pointer;transition:.12s;border:none;background:none;width:100%;text-align:left}.nav-item:hover{background:#211f1b0a;color:var(--ink)}.nav-item.active{background:var(--ok-bg);color:var(--teal-d);font-weight:550}.nav-item.active svg{color:var(--teal-d)}.badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;padding:3px 9px;border-radius:var(--radius-sm)}.badge-ok{background:var(--ok-bg);color:var(--ok-tx)}.badge-wait{background:var(--wait-bg);color:var(--wait-tx)}.badge-info{background:var(--info-bg);color:var(--info-tx)}.badge-mut{background:var(--mut-bg);color:var(--mut-tx)}.kpi{padding:15px 16px}.kpi .kpi-l{font-size:12.5px;color:var(--soft);font-weight:500}.kpi .kpi-v{font-family:var(--display);font-size:23px;font-weight:600;line-height:1.05;margin-top:7px;letter-spacing:-.02em;min-width:0;overflow-wrap:anywhere}.brand{display:flex;align-items:center;gap:10px}.brand-mark{width:30px;height:30px;border-radius:7px;background:var(--teal);display:flex;align-items:center;justify-content:center;color:#eafff6;box-shadow:none}.brand-name{font-family:var(--display);font-size:17px;font-weight:600;letter-spacing:-.01em}.avatar{width:30px;height:30px;border-radius:7px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:12px;font-family:var(--display)}@keyframes cmt-spin{to{transform:rotate(360deg)}}.spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--line2);border-top-color:var(--teal);border-radius:50%;animation:cmt-spin .6s linear infinite;flex:none}.loading{display:flex;align-items:center;justify-content:center;gap:9px;color:var(--faint);font-size:13.5px;padding:34px 16px}@keyframes cmt-shimmer{to{background-position:-200% 0}}.skeleton{background:linear-gradient(90deg,#211f1b0d 25%,#211f1b1a 37%,#211f1b0d 63%);background-size:200% 100%;animation:cmt-shimmer 1.3s linear infinite;border-radius:var(--radius-sm)}:root[data-theme=dark] .skeleton{background:linear-gradient(90deg,#ffffff0d 25%,#ffffff1a 37%,#ffffff0d 63%);background-size:200% 100%}:root[data-theme=dark] .nav-item:hover{background:#ffffff0d}:root[data-theme=dark] .avatar{background:#3a3d44;color:#eceae6}:root[data-theme=dark] select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23a3a099' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")}
