.gepp-root{display:flex;flex-direction:column;height:100%}.gepp-subnav{background:#fff;border-bottom:1px solid #e4e8ef;display:flex;flex-shrink:0;gap:2px;overflow-x:auto;padding:0 16px;scrollbar-width:none}.gepp-subnav::-webkit-scrollbar{display:none}.gepp-subnav-btn{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:#687385;cursor:pointer;display:flex;font-size:12.5px;font-weight:500;gap:6px;padding:10px 14px;transition:color .15s;white-space:nowrap}.gepp-subnav-btn:hover{color:#182230}.gepp-subnav-btn.active{border-bottom-color:#315efb;color:#315efb;font-weight:600}.gepp-content{background:#f5f7fb;flex:1 1;overflow-y:auto;padding:24px 28px}.gepp-top{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:20px}.gepp-top h1{color:#182230;font-size:22px;font-weight:800;margin:0}.gepp-muted{color:#687385;font-size:13px;margin:4px 0 0}.gepp-cards{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,1fr)}.gepp-card{background:#fff;border:1px solid #e4e8ef;border-radius:12px;box-shadow:0 2px 8px #1018280d;padding:18px}.gepp-label{color:#687385;font-size:12px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.gepp-metric{color:#182230;font-size:26px;font-weight:800;margin-top:6px}.gepp-two{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1.3fr .7fr}.gepp-three{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,1fr)}.gepp-panel{background:#fff;border:1px solid #e4e8ef;border-radius:12px;box-shadow:0 2px 8px #1018280d;padding:18px}.gepp-panel h3{color:#182230;font-size:14px;font-weight:700;margin:0 0 14px}.gepp-alert{border-radius:8px;font-size:13px;font-weight:500;padding:10px 14px}.gepp-alert-ok{background:#ecfdf3;color:#067647}.gepp-alert-warn{background:#fffaeb;color:#b54708}.gepp-alert-danger{background:#fef3f2;color:#b42318}.gepp-alert-info{background:#eef4ff;color:#3538cd}.gepp-chart{align-items:flex-end;display:flex;gap:12px;height:200px;padding:10px 0 0}.gepp-bar{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:5px;height:100%;justify-content:flex-end}.gepp-bar i{border-radius:5px 5px 0 0;display:block;min-height:4px;transition:height .3s;width:70%}.gepp-bar span{font-size:11px;font-weight:600}.gepp-bar b{color:#687385;font-size:11px}.gepp-progress{background:#e4e8ef;border-radius:10px;height:10px;overflow:hidden}.gepp-progress span{background:#315efb;border-radius:10px;display:block;height:100%;transition:width .4s}.gepp-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.gepp-toolbar input,.gepp-toolbar select{background:#fff;border:1px solid #e4e8ef;border-radius:8px;font:inherit;font-size:13px;padding:8px 10px}.gepp-toolbar input{min-width:220px}.gepp-table-wrap{overflow:auto}.gepp-table{border-collapse:collapse;width:100%}.gepp-table td,.gepp-table th{border-bottom:1px solid #e4e8ef;font-size:13px;padding:10px 12px;text-align:left;white-space:nowrap}.gepp-table th{background:#fafbfc;color:#687385;font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase}.gepp-table tr:last-child td{border-bottom:none}.gepp-table tr:hover td{background:#f8f9fc}.gepp-badge{background:#f2f4f7;border-radius:999px;color:#344054;display:inline-flex;font-size:11px;font-weight:700;padding:3px 8px}.gepp-badge.green{background:#ecfdf3;color:#067647}.gepp-badge.orange{background:#fffaeb;color:#b54708}.gepp-badge.red{background:#fef3f2;color:#b42318}.gepp-badge.blue{background:#eef4ff;color:#3538cd}.gepp-btn{background:#fff;border:1px solid #e4e8ef;border-radius:8px;color:#344054;cursor:pointer;font:inherit;font-size:13px;font-weight:600;padding:8px 14px;transition:background .15s}.gepp-btn:hover{background:#f8f9fc}.gepp-btn.primary{background:#315efb;border-color:#315efb;color:#fff}.gepp-btn.primary:hover{background:#2447c7}.gepp-btn-sm{background:none;border:none;border-radius:6px;color:#687385;cursor:pointer;font-size:14px;padding:4px 6px}.gepp-btn-sm:hover{background:#f2f4f7}.gepp-empty{color:#687385;font-size:13px;padding:32px;text-align:center}.gepp-modal{align-items:center;background:#10182880;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.gepp-modal-box{background:#fff;border-radius:14px;box-shadow:0 20px 60px #10182833;max-height:90vh;overflow:auto;padding:22px;width:min(680px,100%)}.gepp-modal-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:18px}.gepp-modal-head h2{font-size:17px;margin:0}.gepp-close{background:#f2f4f7;border:none;border-radius:8px;color:#344054;cursor:pointer;font-size:14px;padding:6px 10px}.gepp-close:hover{background:#e4e8ef}.gepp-form{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.gepp-form label{color:#475467;display:flex;flex-direction:column;font-size:12px;font-weight:700;gap:5px}.gepp-form input,.gepp-form select,.gepp-form textarea{background:#fff;border:1px solid #e4e8ef;border-radius:8px;font:inherit;font-size:13px;font-weight:400;padding:8px 10px;width:100%}.gepp-form input:focus,.gepp-form select:focus,.gepp-form textarea:focus{border-color:#315efb;outline:2px solid #315efb}.gepp-form .full{grid-column:1/-1}.gepp-form-row{font-size:14px}@media (max-width:1200px){.gepp-cards{grid-template-columns:repeat(2,1fr)}.gepp-three{grid-template-columns:1fr 1fr}}@media (max-width:900px){.gepp-content{padding:16px}.gepp-cards{grid-template-columns:1fr 1fr}.gepp-form,.gepp-three,.gepp-two{grid-template-columns:1fr}.gepp-form .full{grid-column:auto}.gepp-subnav-btn span:last-child{display:none}.gepp-subnav-btn{padding:10px}}:root{--primary:#4a6cf7;--primary-dark:#3558e8;--accent:#7c3aed;--dark:#1a1f3a;--dark2:#2d3561;--bg:#f5f6fa;--white:#fff;--gray:#6b7280;--gray-light:#e5e7eb;--success:#22c55e;--warning:#f59e0b;--danger:#ef4444;--sidebar-w:240px;--radius:12px;--shadow:0 2px 12px #00000012}.app-shell{background:#f5f6fa;background:var(--bg);height:100vh}.app-shell,.sidebar{display:flex;overflow:hidden}.sidebar{background:#1a1f3a;background:var(--dark);flex-direction:column;min-width:240px;min-width:var(--sidebar-w);padding:0;width:240px;width:var(--sidebar-w)}.sidebar-logo{-webkit-app-region:drag;align-items:center;border-bottom:1px solid #ffffff14;display:flex;gap:12px;padding:24px 20px 20px}.logo-icon{font-size:28px}.logo-title{color:#fff;font-size:15px;font-weight:700}.logo-sub{color:#ffffff73;font-size:11px;margin-top:2px}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:2px;overflow-y:auto;padding:12px 10px}.nav-item{align-items:center;border-radius:10px;color:#fff9;display:flex;font-size:14px;font-weight:500;gap:12px;padding:10px 12px;position:relative;text-align:left;transition:all .15s;width:100%}.nav-item:hover{background:#ffffff12;color:#fff}.nav-item.active{background:#4a6cf7;background:var(--primary);color:#fff}.nav-icon{font-size:18px;text-align:center;width:22px}.nav-label{flex:1 1}.nav-badge{align-items:center;animation:pulse 2s infinite;background:#ef4444;background:var(--danger);border-radius:10px;color:#fff;display:flex;font-size:11px;font-weight:700;height:20px;justify-content:center;min-width:20px;padding:0 5px}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.nav-group{margin-bottom:2px}.nav-group-header{align-items:center;background:none;border:none;border-radius:10px;color:#ffffff8c;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:10px;letter-spacing:.2px;padding:9px 12px;transition:all .15s;width:100%}.nav-group-header:hover{background:#ffffff0d;color:#fffc}.nav-group-header.has-active{color:#fff}.nav-group-icon{align-items:center;border-radius:8px;display:flex;flex-shrink:0;font-size:14px;height:26px;justify-content:center;width:26px}.nav-group-label{flex:1 1;text-align:left}.nav-chevron{color:#ffffff4d;font-size:16px;font-weight:300;line-height:1;transition:transform .2s}.nav-chevron.open{transform:rotate(90deg)}.nav-group-items{border-left:1px solid #ffffff12;display:flex;flex-direction:column;gap:1px;margin:2px 0 4px 12px;padding-left:12px}.nav-item-sub{font-size:13px!important;padding:8px 10px!important}.nav-item-sub .nav-icon{width:18px!important}.sidebar-footer{border-top:1px solid #ffffff14;padding:16px 20px}.sync-status{align-items:center;color:#ffffff80;display:flex;font-size:12px;gap:8px}.sync-dot{background:#6b7280;background:var(--gray);border-radius:50%;height:8px;width:8px}.sync-status.connected .sync-dot{background:#22c55e;background:var(--success)}.sync-status.connected{color:#ffffffb3}.main-content{display:flex;flex:1 1;flex-direction:column;overflow-y:auto;padding:28px}.page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.page-title{color:#1a1f3a;color:var(--dark);font-size:26px;font-weight:800}.page-subtitle{color:#6b7280;color:var(--gray);font-size:14px;margin-top:2px}.card{background:#fff;background:var(--white);border-radius:12px;border-radius:var(--radius);box-shadow:0 2px 12px #00000012;box-shadow:var(--shadow);padding:20px}.card-title{align-items:center;color:#1a1f3a;color:var(--dark);display:flex;font-size:15px;font-weight:700;gap:8px;margin-bottom:16px}.stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:24px}.stat-card{background:#fff;background:var(--white);border-radius:12px;border-radius:var(--radius);box-shadow:0 2px 12px #00000012;box-shadow:var(--shadow);cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:20px;transition:transform .15s,box-shadow .15s}.stat-card:hover{box-shadow:0 6px 20px #0000001a;transform:translateY(-2px)}.stat-icon{font-size:28px;margin-bottom:4px}.stat-value{color:#1a1f3a;color:var(--dark);font-size:32px;font-weight:800;line-height:1}.stat-label{color:#6b7280;color:var(--gray);font-size:13px}.stat-alert .stat-value{color:#ef4444;color:var(--danger)}.stat-alert{border-left:3px solid #ef4444;border-left:3px solid var(--danger)}.btn{align-items:center;border-radius:9px;display:inline-flex;font-size:14px;font-weight:600;gap:6px;padding:9px 18px;transition:all .15s}.btn-primary{background:#4a6cf7;background:var(--primary);color:#fff}.btn-primary:hover{background:#3558e8;background:var(--primary-dark)}.btn-success{background:#22c55e;background:var(--success);color:#fff}.btn-success:hover{opacity:.9}.btn-danger{background:#ef4444;background:var(--danger);color:#fff}.btn-danger:hover{opacity:.9}.btn-ghost{background:#e5e7eb;background:var(--gray-light);color:#1a1f3a;color:var(--dark)}.btn-ghost:hover{background:#d1d5db}.btn-sm{font-size:13px;padding:6px 12px}.table-wrap{border-radius:12px;border-radius:var(--radius);overflow-x:auto}table{border-collapse:collapse;font-size:14px;width:100%}thead th{background:#f5f6fa;background:var(--bg);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--gray-light);color:#6b7280;color:var(--gray);font-size:12px;font-weight:700;letter-spacing:.5px;padding:11px 14px;text-align:left;text-transform:uppercase}tbody tr{border-bottom:1px solid #f3f4f6;transition:background .1s}tbody tr:hover{background:#fafafa}tbody tr:last-child{border-bottom:none}tbody td{color:#1a1f3a;color:var(--dark);padding:12px 14px;vertical-align:middle}.badge{align-items:center;border-radius:20px;display:inline-flex;font-size:12px;font-weight:600;gap:4px;padding:4px 10px}.badge-warning{background:#fef3c7;color:#92400e}.badge-success{background:#d1fae5;color:#065f46}.badge-danger{background:#fee2e2;color:#991b1b}.badge-info{background:#dbeafe;color:#1e40af}.alert-banner{align-items:center;animation:slideIn .3s ease;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1.5px solid #f59e0b;border:1.5px solid var(--warning);border-radius:12px;border-radius:var(--radius);display:flex;gap:12px;margin-bottom:20px;padding:14px 18px}.alert-banner .alert-icon{font-size:22px}.alert-banner .alert-text{color:#92400e;flex:1 1;font-size:14px;font-weight:600}.alert-banner .alert-btn{background:#f59e0b26;border-radius:8px;color:#f59e0b;color:var(--warning);font-size:13px;font-weight:700;padding:6px 14px}.alert-banner .alert-btn:hover{background:#f59e0b4d}@keyframes slideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{align-items:center;animation:fadeIn .2s;background:#00000073;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{animation:scaleIn .2s;background:#fff;background:var(--white);border-radius:16px;box-shadow:0 20px 60px #00000040;max-height:90vh;max-width:95vw;overflow-y:auto;padding:28px;width:480px}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-title{color:#1a1f3a;color:var(--dark);font-size:18px;font-weight:800;margin-bottom:20px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.form-group{margin-bottom:16px}.form-label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}.form-input,.form-label{color:#1a1f3a;color:var(--dark)}.form-input{background:#fff;background:var(--white);border:1.5px solid #e5e7eb;border:1.5px solid var(--gray-light);border-radius:8px;font-size:14px;outline:none;padding:9px 12px;transition:border-color .15s;width:100%}.form-input:focus{border-color:#4a6cf7;border-color:var(--primary)}.form-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.avatar{background:linear-gradient(135deg,#4a6cf7,#7c3aed);background:linear-gradient(135deg,var(--primary),var(--accent));border-radius:50%;color:#fff;flex-shrink:0;font-size:14px;font-weight:700;height:38px;width:38px}.avatar,.loading-screen{align-items:center;display:flex;justify-content:center}.loading-screen{color:#6b7280;color:var(--gray);flex:1 1;flex-direction:column;gap:16px}.loading-spinner{animation:spin .8s linear infinite;border:3px solid #e5e7eb;border-top-color:#4a6cf7;border:3px solid var(--gray-light);border-radius:50%;border-top-color:var(--primary);height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.empty-state{align-items:center;color:#6b7280;color:var(--gray);display:flex;flex-direction:column;gap:10px;justify-content:center;padding:48px 24px}.empty-icon{font-size:48px;opacity:.4}.empty-text{font-size:15px;font-weight:600}.empty-sub{font-size:13px}.input-comment{border:1.5px solid #e5e7eb;border:1.5px solid var(--gray-light);border-radius:8px;font-size:13px;outline:none;padding:8px 10px;resize:none;width:100%}.input-comment:focus{border-color:#4a6cf7;border-color:var(--primary)}body.dark-mode{background:#0f1117;color:#e2e8f0}body.dark-mode .card{background:#1e2130;border-color:#2d3561;color:#e2e8f0}body.dark-mode .card-title{color:#93c5fd}body.dark-mode .form-input{border-color:#2d3561}body.dark-mode .form-input,body.dark-mode .modal{background:#1e2130;color:#e2e8f0}body.dark-mode .modal-overlay{background:#000c}body.dark-mode table thead tr{background:#162040}body.dark-mode table tbody tr:hover{background:#1a2540}body.dark-mode .btn-ghost{background:#2d3561;color:#e2e8f0}body.dark-mode .stat-card{background:#1e2130;border-color:#2d3561;color:#e2e8f0}body.dark-mode .empty-state{background:#1e2130}body.dark-mode .page-title{color:#e2e8f0}body.dark-mode .page-subtitle{color:#94a3b8}body.dark-mode .main-content{background:#0f1117}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;background:#f5f6fa;color:#1a1f3a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}button{background:none;border:none;cursor:pointer}button,input,select,textarea{font-family:inherit}a{color:inherit;text-decoration:none}
/*# sourceMappingURL=main.b969cf43.css.map*/