:root{--color-primary:#0e1e45;--color-primary-dark:#091530;--color-primary-light:#152c66;--color-gold:#e6a303;--color-gold-light:#f5bc1f;--color-gold-dark:#c48a00;--color-success:#10b981;--color-success-dark:#059669;--color-warning:#e6a303;--color-danger:#ef4444;--color-danger-dark:#dc2626;--color-info:#3b6fd4;--gradient-primary:linear-gradient(135deg,#091530,#0e1e45 55%,#152c66);--gradient-gold:linear-gradient(135deg,#f5bc1f,#e6a303 55%,#c48a00);--bg-app:#f4f6fb;--bg-card:#fff;--text-primary:#1a2340;--text-secondary:#5b6785;--text-muted:#94a0bf;--border-light:#e4e8f4;--sidebar-width:260px;--radius:10px;--radius-lg:14px;--shadow-sm:0 2px 10px #0e1e450f;--shadow-md:0 8px 24px #0e1e451a;--shadow-lg:0 20px 50px #0e1e452e}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f4f6fb;background-color:var(--bg-app);color:#1a2340;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.app-shell{min-height:100vh}.app-sidebar-toggle{align-items:center;background:#0e1e45;background:var(--color-primary);border:none;border-radius:10px;box-shadow:0 8px 24px #0e1e451a;box-shadow:var(--shadow-md);color:#fff;cursor:pointer;display:none;height:42px;justify-content:center;left:14px;position:fixed;top:14px;width:42px;z-index:620}.app-sidebar-toggle svg{height:20px;width:20px}.app-sidebar-overlay{background:#0915308c;display:none;inset:0;position:fixed;z-index:590}.app-sidebar{background:linear-gradient(135deg,#091530,#0e1e45 55%,#152c66);background:var(--gradient-primary);bottom:0;left:0;min-height:100vh;overflow-y:auto;padding:22px 14px;position:fixed;top:0;width:260px;width:var(--sidebar-width);z-index:600}.app-sidebar,.sidebar-brand{display:flex;flex-direction:column}.sidebar-brand{align-items:flex-start;gap:8px;padding:6px 10px 22px;text-decoration:none}.sidebar-brand img{display:block;height:auto;max-width:190px;width:100%}.sidebar-brand-text{color:#fff;min-width:0}.sidebar-brand-text span{color:#ffffff8c;display:block;font-size:11.5px;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.sidebar-section-label{color:#fff6;font-size:10.5px;font-weight:700;letter-spacing:.08em;padding:14px 12px 6px;text-transform:uppercase}.nav-link{align-items:center;border-radius:9px;color:#ffffffb8;display:flex;font-size:13.5px;font-weight:500;gap:11px;margin-bottom:2px;padding:10px 12px;text-decoration:none;transition:background .2s,color .2s}.nav-link svg{flex-shrink:0;height:16px;width:16px}.nav-link:hover{background:#ffffff14;color:#fff}.nav-link.active{background:linear-gradient(135deg,#f5bc1f,#e6a303 55%,#c48a00);background:var(--gradient-gold);color:#091530;color:var(--color-primary-dark);font-weight:700}.sidebar-bottom{border-top:1px solid #ffffff1a;margin-top:auto;padding-top:14px}.sidebar-user{color:#ffffffd9;font-size:12.5px;padding:10px 12px}.sidebar-user strong{color:#fff;display:block;font-size:13.5px;margin-bottom:2px}.sidebar-logout-btn{align-items:center;background:#ef444429;border:1px solid #ef444447;border-radius:9px;color:#fca5a5;cursor:pointer;display:flex;font-size:13.5px;font-weight:600;gap:11px;margin-top:6px;padding:10px 12px;width:100%}.sidebar-logout-btn:hover{background:#ef444442}.sidebar-logout-btn svg{height:16px;width:16px}.app-main{margin-left:260px;margin-left:var(--sidebar-width);min-height:100vh}.app-topbar{align-items:center;background:#fff;border-bottom:1px solid #e4e8f4;border-bottom:1px solid var(--border-light);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:16px 28px;position:-webkit-sticky;position:sticky;top:0;z-index:50}.app-topbar h1{color:#1a2340;color:var(--text-primary);font-size:18px;font-weight:700}.app-topbar p{color:#94a0bf;color:var(--text-muted);font-size:12.5px;margin-top:2px}.app-main.dark{background:linear-gradient(180deg,#0a1628,#000)}.app-main.dark .app-topbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0a;border-bottom:1px solid #ffffff14}.app-main.dark .app-topbar h1{color:#fff}.app-main.dark .app-topbar p{color:#64748b}.app-main.dark .card,.app-main.dark .page-container{background:#ffffff0a;border-color:#ffffff14}.app-main.dark .card-title,.app-main.dark h2,.app-main.dark h3{color:#fff}.app-main.dark .card-title svg{color:#f5bc1f;color:var(--color-gold-light)}.app-main.dark .form-group label,.app-main.dark label,.app-main.dark p{color:#fff9}.app-main.dark .form-control,.app-main.dark .form-input,.app-main.dark .form-select,.app-main.dark .form-textarea{background:#ffffff0f;border-color:#ffffff1f;color:#fff}.app-main.dark .form-control:focus{border-color:#e6a303;border-color:var(--color-gold);box-shadow:0 0 0 3px #e6a30326}.app-main.dark .data-table,.app-main.dark .table{background:#0000}.app-main.dark .data-table th,.app-main.dark .table th{background:#ffffff0a;color:#ffffff80}.app-main.dark .data-table td,.app-main.dark .table td{border-color:#ffffff14;color:#ffffffd9}.app-main.dark .data-table tbody tr:hover,.app-main.dark .table tbody tr:hover{background:#ffffff08}.app-main.dark .btn-secondary{background:#ffffff14;color:#fff}.app-main.dark .btn-secondary:hover{background:#ffffff24}.app-main.dark .stat-card{background:#ffffff0a;border-color:#ffffff14}.app-main.dark .stat-label{color:#ffffff80}.app-main.dark .stat-value{color:#fff}.app-main.dark .modal{background:#101c38;color:#ffffffe0}.app-main.dark .modal h4,.app-main.dark .modal-header h3,.app-main.dark .modal-title{color:#fff}.app-main.dark .modal-close{color:#ffffff80}.app-main.dark .toggle-row{background:#ffffff0a;border-color:#ffffff14}.app-main.dark .toggle-label{color:#fff}.app-main.dark .toggle-sub{color:#ffffff73}.app-main.dark .pagination span{color:#fff9}.app-main.dark .pagination button{background:#ffffff0f;border-color:#ffffff1f;color:#fff}.container{margin:0 auto;max-width:1400px;padding:24px 28px}.card{background:#fff;background:var(--bg-card);border:1px solid #e4e8f4;border:1px solid var(--border-light);border-radius:14px;border-radius:var(--radius-lg);box-shadow:0 2px 10px #0e1e450f;box-shadow:var(--shadow-sm);margin-bottom:20px;padding:22px}.card-header{flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:20px}.card-header,.card-title{align-items:center;display:flex}.card-title{color:#1a2340;color:var(--text-primary);font-size:19px;font-weight:700;gap:9px}.card-title svg{color:#c48a00;color:var(--color-gold-dark);flex-shrink:0;height:19px;width:19px}.card ol,.card ul,.card>ol,.card>p,.card>ul{max-width:820px}.form-group{margin-bottom:15px}.form-group label,.form-label{color:#1a2340;color:var(--text-primary);display:block;font-size:13px;font-weight:600;margin-bottom:6px}.form-control,.form-input,.form-select,.form-textarea{background:#fff;border:1.5px solid #e4e8f4;border:1.5px solid var(--border-light);border-radius:8px;color:#1a2340;color:var(--text-primary);font-family:inherit;font-size:14px;padding:10px 12px;transition:border-color .2s,box-shadow .2s;width:100%}.form-control:focus,.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#0e1e45;border-color:var(--color-primary);box-shadow:0 0 0 3px #0e1e4514;outline:none}.form-textarea{min-height:80px;resize:vertical}.form-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:13.5px;font-weight:600;gap:7px;padding:10px 20px;text-align:center;text-decoration:none;transition:all .2s}.btn svg{height:15px;width:15px}.btn-primary{background:linear-gradient(135deg,#f5bc1f,#e6a303 55%,#c48a00);background:var(--gradient-gold);color:#091530;color:var(--color-primary-dark)}.btn-primary:hover{box-shadow:0 8px 20px #e6a30359;transform:translateY(-2px)}.btn-primary:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.btn-dark{background:linear-gradient(135deg,#091530,#0e1e45 55%,#152c66);background:var(--gradient-primary);color:#fff}.btn-dark:hover{box-shadow:0 8px 20px #0e1e454d;transform:translateY(-2px)}.btn-secondary{background:#eef1f8;color:#1a2340;color:var(--text-primary)}.btn-secondary:hover{background:#e2e6f2}.btn-success{background:#10b981;background:var(--color-success);color:#fff}.btn-success:hover{background:#059669;background:var(--color-success-dark)}.btn-danger{background:#fde8e8;color:#dc2626;color:var(--color-danger-dark)}.btn-danger:hover{background:#ef4444;background:var(--color-danger);color:#fff}.btn-small{font-size:12px;padding:6px 13px}.table-container{border-radius:10px;border-radius:var(--radius);overflow-x:auto}.data-table,.table{background:#fff;border-collapse:collapse;table-layout:auto;width:100%}.data-table td,.data-table th,.table td,.table th{border-bottom:1px solid #e4e8f4;border-bottom:1px solid var(--border-light);padding:12px 14px;text-align:left;vertical-align:middle;white-space:nowrap}.data-table th,.table th{background:#f7f8fc;color:#5b6785;color:var(--text-secondary);font-size:11.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.data-table td,.table td{color:#1a2340;color:var(--text-primary);font-size:13.5px}.data-table tbody tr:hover,.table tbody tr:hover{background-color:#f9fafc}.pagination{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:20px}.pagination button{background:#fff;border:1.5px solid #e4e8f4;border:1.5px solid var(--border-light);border-radius:8px;cursor:pointer;font-size:13px;padding:8px 12px}.pagination button:hover:not(:disabled){background:#0e1e45;background:var(--color-primary);border-color:#0e1e45;border-color:var(--color-primary);color:#fff}.pagination button:disabled{cursor:not-allowed;opacity:.5}.pagination span{color:#5b6785;color:var(--text-secondary);font-size:13px}.page-container{background:#fff;border:1px solid #e4e8f4;border:1px solid var(--border-light);border-radius:14px;border-radius:var(--radius-lg);box-shadow:0 2px 10px #0e1e450f;box-shadow:var(--shadow-sm);margin-bottom:20px;padding:22px}.page-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:20px}.modal-body{padding:15px 0}.modal-overlay{align-items:center;background:#0915308c;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.modal{background:#fff;border-radius:14px;border-radius:var(--radius-lg);box-shadow:0 20px 50px #0e1e452e;box-shadow:var(--shadow-lg);max-height:90vh;max-width:600px;overflow-y:auto;padding:28px;width:100%}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:18px}.modal-header h3,.modal-title{color:#1a2340;color:var(--text-primary);font-size:18px;font-weight:700}.modal-close{background:none;border:none;color:#94a0bf;color:var(--text-muted);cursor:pointer;font-size:20px;line-height:1;padding:4px}.modal-close:hover{color:#1a2340;color:var(--text-primary)}.modal-footer{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:22px}.alert{border-radius:8px;font-size:13.5px;margin-bottom:20px;padding:12px 15px}.alert-success{background:#e7f8ef;border:1px solid #bfe9d3;color:#147a4a}.alert-error{background:#fdecec;border:1px solid #f5c2c0;color:#b3261e}.alert-info{background:#eaf1fd;border:1px solid #c7dafa;color:#1d4ed8}.alert-warning{background:#fef6e3;border:1px solid #f6dfa6;color:#92660a}.loading{align-items:center;display:flex;justify-content:center;padding:40px}.spinner{animation:spin .9s linear infinite;border:3px solid #eef1f8;border-radius:50%;border-top-color:#e6a303;border-top:3px solid var(--color-gold);height:38px;width:38px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.stats-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:26px}.stat-card{background:#fff;border:1px solid #e4e8f4;border:1px solid var(--border-light);border-radius:14px;border-radius:var(--radius-lg);box-shadow:0 2px 10px #0e1e450f;box-shadow:var(--shadow-sm);gap:14px;padding:18px}.stat-card,.stat-icon{align-items:center;display:flex}.stat-icon{border-radius:12px;color:#fff;flex-shrink:0;height:44px;justify-content:center;width:44px}.stat-icon svg{height:20px;width:20px}.stat-card.stat-purple .stat-icon,.stat-purple .stat-icon{background:linear-gradient(135deg,#091530,#0e1e45 55%,#152c66);background:var(--gradient-primary)}.stat-card.stat-orange .stat-icon,.stat-orange .stat-icon{background:linear-gradient(135deg,#f5bc1f,#e6a303 55%,#c48a00);background:var(--gradient-gold);color:#091530;color:var(--color-primary-dark)}.stat-card.stat-green .stat-icon,.stat-green .stat-icon{background:linear-gradient(135deg,#34d399,#059669)}.stat-blue .stat-icon,.stat-card.stat-blue .stat-icon{background:linear-gradient(135deg,#60a5fa,#2563eb)}.stat-card.stat-danger .stat-icon,.stat-danger .stat-icon{background:linear-gradient(135deg,#f87171,#dc2626)}.stat-content{min-width:0}.stat-label{color:#5b6785;color:var(--text-secondary);font-size:12px;font-weight:500;margin-bottom:3px}.stat-value{color:#1a2340;color:var(--text-primary);font-size:24px;font-weight:800;line-height:1.1}.action-buttons{display:flex;flex-wrap:wrap;gap:8px}.file-upload{border:2px dashed #e4e8f4;border:2px dashed var(--border-light);border-radius:10px;cursor:pointer;padding:20px;text-align:center;transition:all .2s}.file-upload:hover{background:#fef8ec;border-color:#e6a303;border-color:var(--color-gold)}.file-upload input[type=file]{display:none}.badge{align-items:center;border-radius:999px;display:inline-flex;font-size:11.5px;font-weight:700;gap:5px;padding:3px 10px}.badge-success{background:#10b98124;color:#059669;color:var(--color-success-dark)}.badge-danger{background:#ef44441f;color:#dc2626;color:var(--color-danger-dark)}.badge-gold{background:#e6a30324;color:#c48a00;color:var(--color-gold-dark)}.badge-info{background:#3b6fd41f;color:#3b6fd4;color:var(--color-info)}.badge-muted{background:#eef1f8;color:#5b6785;color:var(--text-secondary)}.toggle-row{align-items:center;background:#f7f8fc;border:1px solid #e4e8f4;border:1px solid var(--border-light);border-radius:8px;display:flex;gap:12px;justify-content:space-between;padding:10px 12px}.toggle-row+.toggle-row{margin-top:8px}.toggle-label{color:#1a2340;color:var(--text-primary);font-size:13.5px;font-weight:600}.toggle-sub{color:#94a0bf;color:var(--text-muted);font-size:12px;margin-top:1px}.switch{flex-shrink:0;height:24px;position:relative;width:42px}.switch input{height:0;opacity:0;width:0}.switch-track{background:#d3d9ec;border-radius:999px;cursor:pointer;inset:0;position:absolute;transition:background .2s}.switch-track:before{background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;content:"";height:18px;left:3px;position:absolute;top:3px;transition:transform .2s;width:18px}.switch input:checked+.switch-track{background:#10b981;background:var(--color-success)}.switch input:checked+.switch-track:before{transform:translateX(18px)}.perm-matrix{border-collapse:collapse;width:100%}.perm-matrix td,.perm-matrix th{border-bottom:1px solid #e4e8f4;border-bottom:1px solid var(--border-light);font-size:12.5px;padding:8px 10px;text-align:center}.perm-matrix td:first-child,.perm-matrix th:first-child{font-weight:600;text-align:left}.perm-matrix input[type=checkbox]{accent-color:#0e1e45;accent-color:var(--color-primary);cursor:pointer;height:16px;width:16px}.invoice-sheet{background:#fff;margin:0 auto;max-width:820px;padding:40px}.invoice-header{align-items:flex-start;border-bottom:3px solid #0e1e45;border-bottom:3px solid var(--color-primary);display:flex;gap:16px;justify-content:space-between;margin-bottom:22px;padding-bottom:18px}.invoice-brand{align-items:center;display:flex;gap:12px}.invoice-brand img{height:52px}.invoice-brand strong{color:#0e1e45;color:var(--color-primary);display:block;font-size:16px}.invoice-brand span{color:#94a0bf;color:var(--text-muted);display:block;font-size:11.5px}.invoice-meta{color:#5b6785;color:var(--text-secondary);font-size:12.5px;text-align:right}.invoice-meta strong{color:#1a2340;color:var(--text-primary)}.invoice-table{border-collapse:collapse;margin:18px 0;width:100%}.invoice-table th{background:#0e1e45;background:var(--color-primary);color:#fff;font-size:11.5px;letter-spacing:.03em;padding:9px 12px;text-align:left;text-transform:uppercase}.invoice-table td{border-bottom:1px solid #e4e8f4;border-bottom:1px solid var(--border-light);font-size:13px;padding:9px 12px}.invoice-total-row td{border-bottom:none;border-top:2px solid #0e1e45;border-top:2px solid var(--color-primary);color:#0e1e45;color:var(--color-primary);font-size:15px;font-weight:800}@media print{.no-print{display:none!important}.invoice-sheet{max-width:none;padding:0}body{background:#fff}}@media (max-width:960px){.app-sidebar-toggle{display:flex}.app-sidebar{box-shadow:0 20px 50px #0e1e452e;box-shadow:var(--shadow-lg);transform:translateX(-100%);transition:transform .25s ease}body.sidebar-open .app-sidebar{transform:translateX(0)}body.sidebar-open .app-sidebar-overlay{display:block}.app-main{margin-left:0}.app-topbar{padding:14px 16px 14px 64px}.container{padding:18px 16px}}@media (max-width:768px){.card{padding:16px}.card-header{align-items:flex-start;flex-direction:column}.form-row{grid-template-columns:1fr}.data-table,.table{font-size:12px}.data-table td,.data-table th,.table td,.table th{padding:9px 10px}.modal{padding:20px}.stats-grid{gap:12px;grid-template-columns:repeat(2,1fr)}.action-buttons{width:100%}.action-buttons .btn{flex:1 1;justify-content:center}.invoice-sheet{padding:20px}.invoice-header{flex-direction:column}.invoice-meta{text-align:left}}@media (max-width:480px){.container{padding:14px}.btn{font-size:12.5px;padding:9px 15px}.card-title{font-size:17px}.stat-value{font-size:20px}.stats-grid{grid-template-columns:1fr}.table-container{-webkit-overflow-scrolling:touch}}@media (min-width:1600px){html{font-size:16.5px}.container{max-width:1620px;padding:28px 34px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}}@media (min-width:1920px){html{font-size:17.5px}:root{--sidebar-width:280px}.container{max-width:1860px;padding:34px 40px}.app-topbar{padding:20px 40px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}@media (min-width:2560px){html{font-size:19px}:root{--sidebar-width:300px}.container{max-width:2200px;padding:40px 48px}.app-topbar{padding:24px 48px}.sidebar-brand img{max-width:220px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}}@media (min-width:3200px){html{font-size:21px}:root{--sidebar-width:330px}.container{max-width:2600px;padding:48px 56px}.app-topbar{padding:28px 56px}.sidebar-brand img{max-width:250px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}.login-container{align-items:center;background:linear-gradient(135deg,#091530,#0e1e45 55%,#152c66);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-box{background:#fff;border-radius:16px;box-shadow:0 20px 60px #09153059;max-width:450px;overflow:hidden;width:100%}.login-header{background:linear-gradient(135deg,#0e1e45,#152c66);color:#fff;padding:30px 20px;text-align:center}.login-header h1{font-size:24px;margin-bottom:8px}.login-header p{font-size:16px;opacity:.9}.login-form{padding:40px 30px}.login-form h2{color:#333;font-size:22px;margin-bottom:25px;text-align:center}.btn-full{font-size:16px;margin-top:10px;padding:12px;width:100%}.login-info{background:#f8f9fa;border-radius:8px;margin-top:30px;padding:20px;text-align:center}.login-info p{color:#666;font-size:14px;margin:5px 0}.login-info code{background:#e9ecef;border-radius:3px;color:#495057;font-family:monospace;padding:2px 8px}@media (max-width:480px){.login-box{margin:10px}.login-form{padding:30px 20px}.login-header h1{font-size:20px}}
/*# sourceMappingURL=main.2928bfe8.css.map*/