@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--sidebar-bg: #14141E;--sidebar-w: 240px;--bg-main: #F5F5F7;--bg-card: #FFFFFF;--bg-card-dark: #1E1E2E;--brand: #02732A;--brand-light: #55BF0A;--brand-grad: linear-gradient(135deg, #02732A, #55BF0A);--accent-yellow: #D4FA3D;--accent-dark: #1A1A2E;--text-0: #111111;--text-1: #555555;--text-2: #6B7280;--text-inv:#FFFFFF;--red: #EF4444;--red-bg: rgba(239,68,68,.1);--yellow: #F59E0B;--yellow-bg: rgba(245,158,11,.12);--blue: #3B82F6;--blue-bg: rgba(59,130,246,.1);--green: #22C55E;--green-bg: rgba(34,197,94,.1);--coral-1: #F87171;--amber-1: #FBBF24;--blue-1: #60A5FA;--tp: var(--brand-light);--wh: var(--blue);--r-sm: 8px;--r: 14px;--r-lg: 20px;--shadow: 0 2px 12px rgba(0,0,0,.06);--shadow-md: 0 4px 24px rgba(0,0,0,.1);--font: "Inter", sans-serif;--green-1: var(--brand-light);--red-1: var(--red);--line: #E5E7EB;--line-strong: #E5E7EB;--bg-2: var(--bg-main);--font-display: var(--font)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font);font-size:14px;background:var(--bg-main);color:var(--text-0);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:var(--font);cursor:pointer}input,select,textarea{font-family:var(--font);font-size:13px;background:#f5f5f7;border:1px solid #E5E7EB;color:var(--text-0);border-radius:var(--r-sm);padding:7px 10px;outline:none;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px #02732a1f;background:#fff}button:focus-visible,a:focus-visible,[role=button]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--brand);outline-offset:2px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes slideIn{0%{transform:translate(32px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes panelIn{0%{transform:translateY(100%)}to{transform:translateY(0)}}.app-shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh}.sidebar{background:var(--sidebar-bg);display:flex;flex-direction:column;align-items:stretch;padding:18px 0;position:sticky;top:0;height:100vh;overflow-y:auto;overflow-x:hidden;z-index:10}.sidebar-logo{width:36px;height:36px;border-radius:10px;background:var(--brand-grad);display:flex;align-items:center;justify-content:center;margin-bottom:28px;flex-shrink:0}.sidebar-brand{display:flex;align-items:center;gap:10px;margin-bottom:24px;padding:0 16px}.sidebar-brand-icon{width:34px;height:34px;border-radius:9px;background:var(--brand-grad);display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-brand-text{display:block;color:var(--text-inv);overflow:hidden}.sidebar-brand-text h1{font-size:18px;font-weight:800;line-height:1.15;letter-spacing:.01em;white-space:nowrap}.sidebar-brand-text .eyebrow{font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#ffffff8c;margin-top:2px;white-space:nowrap}.nav-section-label{padding-left:16px;margin:10px 0 2px;color:#ffffff73;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.sidebar-nav{flex:1;display:flex;flex-direction:column;align-items:stretch;gap:4px;width:100%;padding:0 8px}.nav-item{width:44px;height:44px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;color:#ffffffc7;cursor:pointer;transition:all .15s;position:relative}.nav-item:hover{background:#ffffff14;color:#fffffff2}.nav-item.active{background:#55bf0a2e;color:var(--brand-light)}.nav-item:after{content:attr(data-label);position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%);background:#0d0d1a;color:#fff;font-size:11px;font-weight:600;padding:5px 10px;border-radius:6px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s;box-shadow:0 4px 12px #00000059;z-index:100}.nav-item:before{content:"";position:absolute;left:calc(100% + 6px);top:50%;transform:translateY(-50%);border:5px solid transparent;border-right-color:#0d0d1a;opacity:0;transition:opacity .15s;pointer-events:none;z-index:100}.nav-item:hover:after,.nav-item:hover:before{opacity:1}.sidebar-footer{margin-top:auto;display:flex;flex-direction:row;align-items:center;gap:10px;padding:12px 16px}.sidebar-avatar{width:34px;height:34px;border-radius:50%;background:var(--brand-grad);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff;cursor:pointer;flex-shrink:0}.sidebar-user-name{font-size:12.5px;font-weight:600;color:var(--text-inv);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{font-size:10.5px;color:#ffffff73;text-transform:capitalize;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.main-area{display:flex;flex-direction:column;min-width:0;background:var(--bg-main)}.topbar{padding:18px 24px 0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.topbar-title{font-size:20px;font-weight:700;color:var(--text-0)}.topbar-title span{color:var(--brand)}.page{padding:16px 24px 40px;animation:fadeIn .2s ease}.grid{display:grid;gap:12px}.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))}.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}@media (max-width:1100px){.grid-5{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:900px){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:480px){.grid-2,.grid-3,.grid-4,.grid-5{grid-template-columns:1fr}}.card{background:var(--bg-card);border-radius:var(--r);padding:16px 18px;box-shadow:var(--shadow)}.kpi-card{background:var(--bg-card);border-radius:var(--r);padding:16px 18px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:6px;position:relative;overflow:hidden;min-height:110px}.kpi-card.accent{background:var(--accent-yellow)}.kpi-card.dark{background:var(--accent-dark)}.kpi-badge{position:absolute;top:14px;right:14px;width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center}.kpi-value{font-size:34px;font-weight:800;line-height:1;letter-spacing:-1px}.kpi-card.accent .kpi-value{color:var(--text-0)}.kpi-card.dark .kpi-value{color:var(--text-inv)}.kpi-label{font-size:11px;font-weight:600;color:var(--text-2);text-transform:uppercase;letter-spacing:.05em}.kpi-card.accent .kpi-label{color:#0000008c}.kpi-card.dark .kpi-label{color:#ffffff73}.kpi-sub{font-size:11.5px;color:var(--text-2)}.kpi-card.accent .kpi-sub{color:#0000008c}.kpi-card.dark .kpi-sub{color:#ffffff73}.card-title{font-size:14px;font-weight:700;color:var(--text-0);margin-bottom:4px}.card-sub{font-size:12px;color:var(--text-2);margin-bottom:12px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-header h3{font-size:15px;font-weight:700}.btn{font-family:var(--font);font-weight:600;font-size:13px;background:var(--brand-grad);color:#fff;border:none;border-radius:var(--r-sm);padding:8px 16px;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:6px;box-shadow:0 2px 8px #02732a40}.btn:hover{filter:brightness(1.08);transform:translateY(-1px)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none;filter:none}.btn.secondary{background:#f0f0f2;border:1px solid #E5E7EB;color:var(--text-1);box-shadow:none}.btn.secondary:hover{background:#e8e8ea;color:var(--text-0);border-color:#ccc}.btn.danger{background:var(--red);color:#fff;box-shadow:none;border:none}.btn.small{padding:4px 12px;font-size:12px}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:var(--text-2);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.05em;padding:7px 10px;border-bottom:1px solid #F0F0F2;white-space:nowrap}td{padding:9px 10px;border-bottom:1px solid #F5F5F7;color:var(--text-0)}tr:last-child td{border-bottom:none}tr:hover td{background:#fafafa}.tbl-wrap{overflow-x:auto}.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:600;white-space:nowrap}.badge-green{background:var(--green-bg);color:#15803d}.badge-amber{background:var(--yellow-bg);color:#b45309}.badge-coral{background:var(--red-bg);color:#dc2626}.badge-red{background:var(--red-bg);color:var(--red)}.badge-blue{background:var(--blue-bg);color:#2563eb}.badge-gray{background:#f0f0f2;color:var(--text-1)}.badge-tp{background:#55bf0a1f;color:var(--brand)}.badge-wh{background:var(--blue-bg);color:var(--blue)}.form-group{margin-bottom:14px}.form-group label{display:block;font-size:12px;color:var(--text-1);margin-bottom:5px;font-weight:500}.form-group input,.form-group select,.form-group textarea{width:100%}.form-row{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.filterbar{background:var(--bg-card);border-radius:var(--r);padding:10px 14px;margin-bottom:14px;display:flex;gap:10px;flex-wrap:wrap;align-items:center;box-shadow:var(--shadow)}.filterbar label{font-size:11px;color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.filterbar .group{display:flex;align-items:center;gap:6px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:100;display:flex;align-items:flex-start;justify-content:flex-end}.modal-panel{background:var(--bg-card);height:100vh;overflow-y:auto;padding:22px;border-left:1px solid #E5E7EB;box-shadow:-8px 0 32px #0000001f;animation:slideIn .22s ease}.modal-close{float:right;background:#f5f5f7;border:1px solid #E5E7EB;color:var(--text-1);border-radius:var(--r-sm);width:28px;height:28px;font-size:14px;margin-bottom:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .12s}.modal-close:hover{background:#ebebed}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:#111;color:#fff;padding:10px 18px;border-radius:var(--r);font-size:13px;z-index:200;box-shadow:0 8px 24px #00000040;animation:slideUp .25s ease;display:flex;align-items:center;gap:8px}.toast:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--brand-light);flex-shrink:0}.toast.error:before{background:var(--red)}.muted{color:var(--text-2)}.empty-state{padding:40px;text-align:center;color:var(--text-2);font-size:13px}.progress-track{height:4px;background:#f0f0f2;border-radius:4px;overflow:hidden}.progress-fill{height:100%;border-radius:4px;transition:width .4s ease}.wa-btn{display:inline-flex;align-items:center;gap:5px;background:#25d366;color:#fff;font-weight:600;font-size:12px;padding:4px 10px;border-radius:var(--r-sm);white-space:nowrap;transition:background .12s}.wa-btn:hover{background:#1db954}.diag-item{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #F0F0F2;font-size:13px}.diag-item:last-child{border-bottom:none}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}@media (max-width: 1024px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;top:0;left:-280px;width:260px;height:100vh;z-index:50;transition:left .25s ease;box-shadow:none;align-items:flex-start;padding:18px 0}.sidebar.sidebar-open{left:0;box-shadow:4px 0 32px #0006}.sidebar.sidebar-open .nav-item{width:100%;justify-content:flex-start;padding:9px 16px;border-radius:0;gap:12px}.sidebar.sidebar-open .nav-item:after,.sidebar.sidebar-open .nav-item:before{display:none}.sidebar.sidebar-open .sidebar-brand{padding:18px 16px 14px;width:100%}.sidebar.sidebar-open .sidebar-brand-text{display:block!important}.sidebar.sidebar-open .sidebar-footer{padding:12px 16px;width:100%;flex-direction:row;gap:10px}.sidebar.sidebar-open .sidebar-avatar{width:32px;height:32px}.sidebar-brand-text{display:none}.nav-section-label{padding-left:12px}.hamburger-btn{display:flex!important}.topbar{padding-left:64px}}@media (max-width: 640px){.page{padding:12px 14px 40px}.topbar{padding-top:14px;padding-bottom:0;padding-left:60px}.grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
