@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";:root{--font-main:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--bg-primary:#f0f1f5;--bg-secondary:#fff;--bg-sidebar:#0e1625;--text-primary:#0c121d;--text-secondary:#242e42;--text-muted:#47536b;--accent-gold:#cb8b0b;--accent-gold-hover:#ae7604;--accent-gold-glow:#c79f2733;--success:#0f8a38;--success-glow:#2e7d3226;--warning:#c74605;--warning-glow:#d8431526;--danger:#ae1323;--border-color:#b3bbcc;--border-focus:var(--accent-gold);--shadow-sm:0 2px 8px #00000014;--shadow-md:0 8px 24px #0f22401f;--shadow-lg:0 16px 40px #0f22402e;--sidebar-width:260px;--header-height:70px;--border-radius:12px;--transition-smooth:border-color .25s ease, background-color .25s ease, box-shadow .25s ease, color .25s ease}[data-theme=dark]{--bg-primary:#0f1219;--bg-secondary:#1d212b;--bg-sidebar:#0b0d14;--text-primary:#fff;--text-secondary:#dcdfe5;--text-muted:#abb0ba;--border-color:#3d4352;--accent-gold:#f4b925;--accent-gold-hover:#fac642;--accent-gold-glow:#d4af3740;--success:#1dc95c;--warning:#f96f1f;--shadow-sm:0 2px 8px #00000040;--shadow-md:0 8px 24px #0006;--shadow-lg:0 16px 40px #00000080}*{box-sizing:border-box;font-family:var(--font-main);scrollbar-width:thin;scrollbar-color:var(--border-color) transparent;margin:0;padding:0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}body{background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:var(--transition-smooth);overflow:hidden}.app-container{grid-template-columns:var(--sidebar-width) 1fr;width:100vw;height:100vh;display:grid}@media (width<=991px){.app-container{grid-template-columns:1fr}}.sidebar{background-color:var(--bg-sidebar);color:#fff;z-index:10;height:100vh;transition:var(--transition-smooth);border-right:1px solid #ffffff1f;flex-direction:column;padding:24px 16px;display:flex;position:relative;overflow-y:auto}.sidebar-logo{align-items:center;gap:12px;margin-bottom:36px;padding-left:8px;display:flex}.logo-circle{background:linear-gradient(135deg, var(--accent-gold), #fff);color:#000;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:16px;font-weight:800;display:flex;box-shadow:0 0 15px #d4af3766}.logo-text h1{letter-spacing:.5px;background:linear-gradient(135deg, var(--accent-gold) 30%, #fff 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:16px;font-weight:800}.logo-text span{color:#a0aec0;text-transform:uppercase;letter-spacing:1px;font-size:9px;display:block}.sidebar-menu{flex-direction:column;flex-grow:1;gap:8px;display:flex}.menu-item{border-radius:var(--border-radius);color:#e2e8f0;cursor:pointer;transition:var(--transition-smooth);border:1px solid #0000;align-items:center;gap:12px;padding:12px 16px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.menu-item:hover{color:#fff;background-color:#ffffff14}.menu-item.active{background-color:var(--accent-gold);border-color:var(--accent-gold);color:#000;font-weight:700}.menu-item-icon{font-size:18px}.sidebar-footer{border-top:1px solid #ffffff26;flex-direction:column;gap:12px;padding-top:16px;display:flex}.user-profile{color:#fff;align-items:center;gap:10px;font-size:13px;display:flex}.user-avatar{background-color:var(--accent-gold);color:#000;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-weight:700;display:flex}.main-wrapper{flex-direction:column;height:100vh;display:flex;overflow:hidden}.header{height:var(--header-height);background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);z-index:5;transition:var(--transition-smooth);justify-content:space-between;align-items:center;padding:0 32px;display:flex}.header-title h2{color:var(--text-primary);font-size:20px;font-weight:800}.header-title p{color:var(--text-secondary);font-size:12px;font-weight:500}.header-actions{align-items:center;gap:20px;display:flex}.theme-toggle{border:2px solid var(--border-color);cursor:pointer;width:36px;height:36px;color:var(--text-primary);transition:var(--transition-smooth);background:0 0;border-radius:50%;justify-content:center;align-items:center;font-size:16px;display:flex}.theme-toggle:hover{background-color:var(--bg-primary);border-color:var(--text-primary)}.content-pane{background-color:var(--bg-primary);flex-grow:1;padding:32px;overflow-y:auto}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;margin-bottom:32px;display:grid}.glass-card{background-color:var(--bg-secondary);border:2px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);transition:var(--transition-smooth);padding:24px;position:relative;overflow:hidden}.glass-card:before{content:"";width:5px;height:100%;transition:var(--transition-smooth);background:0 0;position:absolute;top:0;left:0}.glass-card:hover{box-shadow:var(--shadow-md);border-color:var(--text-muted);transform:translateY(-2px)}.glass-card.accent-gold:before{background:var(--accent-gold)}.glass-card.accent-success:before{background:var(--success)}.glass-card.accent-warning:before{background:var(--warning)}.metric-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.metric-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:13px;font-weight:700}.metric-icon{border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;font-weight:700;display:flex}.metric-icon.gold{background-color:var(--accent-gold-glow);color:var(--accent-gold);border:1px solid var(--accent-gold)}.metric-icon.success{background-color:var(--success-glow);color:var(--success);border:1px solid var(--success)}.metric-icon.warning{background-color:var(--warning-glow);color:var(--warning);border:1px solid var(--warning)}.metric-value{color:var(--text-primary);margin-bottom:6px;font-size:26px;font-weight:800}.metric-subtext{color:var(--text-muted);font-size:12px;font-weight:500}.sections-grid{grid-template-columns:2fr 1.2fr;gap:24px;margin-bottom:32px;display:grid}@media (width<=991px){.sections-grid{grid-template-columns:1fr}}.card-title-bar{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.card-title-bar h3{color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;font-size:16px;font-weight:800}.form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:20px;display:grid}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--text-primary);font-size:12px;font-weight:700}.form-input,.form-select,.form-textarea{background-color:var(--bg-primary);border:2px solid var(--border-color);color:var(--text-primary);transition:var(--transition-smooth);border-radius:8px;width:100%;padding:10px 14px;font-size:13px;font-weight:600}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-gold-glow);background-color:var(--bg-secondary);outline:none}.btn{cursor:pointer;transition:var(--transition-smooth);border:2px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:13px;font-weight:700;display:inline-flex}.btn-primary{background-color:var(--accent-gold);color:#000;border-color:var(--accent-gold)}.btn-primary:hover{background-color:var(--accent-gold-hover);border-color:var(--accent-gold-hover);transform:translateY(-1px)}.btn-secondary{border-color:var(--text-primary);color:var(--text-primary);background-color:#0000}.btn-secondary:hover{background-color:var(--bg-primary)}.btn-danger{background-color:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover{opacity:.9}.btn-success{background-color:var(--success);border-color:var(--success);color:#fff}.btn-success:hover{opacity:.9}.table-container{width:100%;margin-top:10px;overflow-x:auto}.custom-table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.custom-table th{color:var(--text-primary);border-bottom:3px solid var(--border-color);background-color:#0000;padding:12px 16px;font-weight:700}.custom-table td{border-bottom:2px solid var(--border-color);color:var(--text-primary);padding:14px 16px;font-weight:500}.custom-table tbody tr:hover{background-color:#0000000a}[data-theme=dark] .custom-table tbody tr:hover{background-color:#ffffff0d}.financial-sheet{flex-direction:column;gap:8px;margin-top:15px;display:flex}.sheet-row{border-bottom:1.5px dashed var(--border-color);color:var(--text-primary);justify-content:space-between;padding:8px 12px;font-size:13px;font-weight:600;display:flex}.sheet-row.indent{color:var(--text-secondary);padding-left:28px}.sheet-row.header-row{border-bottom:2px solid var(--text-primary);background-color:#0f22400a;margin-top:8px;font-size:14px;font-weight:800}[data-theme=dark] .sheet-row.header-row{background-color:#ffffff0a}.sheet-row.total-row{border-bottom:4px double var(--text-primary);background-color:var(--accent-gold-glow);border-top:1.5px solid var(--text-primary);margin-top:12px;font-size:15px;font-weight:800}.badge{border:1.5px solid #0000;border-radius:50px;align-items:center;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.badge-success{background-color:var(--success-glow);color:var(--success);border-color:var(--success)}.badge-warning{background-color:var(--warning-glow);color:var(--warning);border-color:var(--warning)}.badge-danger{color:var(--danger);background-color:#d32f2f26}.badge-info{color:#3b82f6;background-color:#3b82f626}.alert-banner{background-color:var(--warning-glow);border:2px solid var(--warning);border-radius:var(--border-radius);color:var(--text-primary);justify-content:space-between;align-items:center;margin-bottom:24px;padding:16px 20px;font-size:13px;font-weight:600;display:flex}.alert-message{align-items:center;gap:12px;display:flex}.alert-icon{color:var(--warning);font-size:18px}.modal-overlay{backdrop-filter:blur(5px);z-index:1100;background-color:#000000b3;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.modal-content{background-color:var(--bg-secondary);border:2px solid var(--text-primary);border-radius:var(--border-radius);width:100%;max-width:500px;box-shadow:var(--shadow-lg);padding:32px;animation:.2s ease-out modalFadeIn}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-header h3{font-size:18px;font-weight:800}.modal-close{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;font-size:24px;font-weight:700}.modal-close:hover{color:var(--text-primary)}.modal-body{max-height:70vh;padding:10px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border-color);justify-content:flex-end;gap:12px;margin-top:16px;padding-top:12px;display:flex}.printable-invoice{color:#000;background:#fff;border:1px dashed #000;width:100%;max-width:320px;margin:0 auto;padding:16px;font-family:Courier New,Courier,monospace,sans-serif;font-size:12px;line-height:1.4}.invoice-header{text-align:center;border-bottom:1px dashed #000;flex-direction:column;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}.invoice-title{text-align:center;margin-top:8px}.invoice-details{border-bottom:1px dashed #000;flex-direction:column;gap:4px;margin-bottom:16px;padding-bottom:12px;font-size:11px;display:flex}.invoice-table{border-collapse:collapse;width:100%;margin-bottom:16px}.invoice-table th,.invoice-table td{text-align:left;border-bottom:1px dashed #000;padding:6px 2px;font-size:11px}.invoice-table th{color:#000;text-transform:uppercase;background-color:#0000;font-weight:700}.invoice-totals{border-bottom:1px dashed #000;width:100%;margin-top:8px;padding-bottom:12px;font-size:11px}.invoice-totals-row{justify-content:space-between;padding:4px 0;font-weight:600;display:flex}.invoice-totals-row.grand{border-top:1px dashed #000;margin-top:4px;padding-top:8px;font-size:13px;font-weight:700}.invoice-footer{text-align:center;color:#333;border-top:none;margin-top:16px;padding-top:8px;font-size:10px}.clickable-row{cursor:pointer;transition:all .2s}.clickable-row:hover{color:var(--accent-gold)!important;background-color:#d4af3714!important}.mobile-toggle-btn{border:1px solid var(--border-color);cursor:pointer;color:var(--text-primary);transition:var(--transition-smooth);background:0 0;border-radius:8px;justify-content:center;align-items:center;padding:6px 12px;font-size:20px;display:none}.mobile-toggle-btn:hover{background-color:var(--border-color)}.mobile-close-btn{color:#a0aec0;cursor:pointer;transition:var(--transition-smooth);background:0 0;border:none;font-size:28px}.mobile-close-btn:hover{color:#fff}@media (width<=991px){.app-container{grid-template-columns:1fr;height:100vh;overflow:hidden}.sidebar{z-index:1000;width:280px;height:100vh;box-shadow:var(--shadow-lg);transition:left .3s cubic-bezier(.4,0,.2,1);position:fixed;top:0;left:-280px}.sidebar.open{left:0}.sidebar-backdrop{backdrop-filter:blur(3px);z-index:999;background-color:#00000080;width:100vw;height:100vh;position:fixed;top:0;left:0}.main-wrapper{height:100vh;overflow:hidden}.header{padding:0 16px}.content-pane{padding:16px}.metrics-grid{grid-template-columns:1fr;gap:16px}.form-grid{grid-template-columns:1fr!important;gap:12px!important}.mobile-toggle-btn{display:inline-flex!important}.mobile-close-btn{display:block!important}}.form-input.input-error,.form-select.input-error,.form-textarea.input-error{box-shadow:0 0 0 2px #d32f2f2e;border-color:var(--danger)!important}.thermal-receipt{color:#000;background:#fff;width:100%;max-width:300px;margin:0 auto;padding:10px 6px;font-family:Courier New,Courier,monospace;font-size:12px;line-height:1.45}.thermal-receipt .r-center{text-align:center}.thermal-receipt .r-bold{font-weight:700}.thermal-receipt .r-divider{border-top:1px dashed #000;height:0;margin:6px 0}.thermal-receipt .r-row{justify-content:space-between;gap:8px;display:flex}.thermal-receipt table{border-collapse:collapse;width:100%;font-size:12px}.thermal-receipt th,.thermal-receipt td{text-align:left;padding:2px 0;font-weight:400}.thermal-receipt th{border-bottom:1px dashed #000;font-weight:700}.doc-print{color:#111;background:#fff;border:2px solid #0f2240;max-width:720px;margin:0 auto;padding:28px;font-family:Segoe UI,Arial,sans-serif;font-size:12px;line-height:1.5}.doc-print .doc-head{border-bottom:3px double #0f2240;justify-content:space-between;align-items:flex-start;margin-bottom:14px;padding-bottom:14px;display:flex}.doc-print .doc-brand{color:#0f2240;letter-spacing:1px;font-size:20px;font-weight:800}.doc-print .doc-brand span{color:#b8860b}.doc-print .doc-type{color:#0f2240;text-align:right;text-transform:uppercase;font-size:18px;font-weight:800}.doc-print .doc-meta{grid-template-columns:1fr 1fr;gap:4px 24px;margin-bottom:14px;display:grid}.doc-print .doc-meta div{border-bottom:1px dotted #ccc;justify-content:space-between;padding:3px 0;display:flex}.doc-print .doc-meta strong{color:#0f2240}.doc-print table.doc-lines{border-collapse:collapse;width:100%;margin:10px 0 14px}.doc-print table.doc-lines th{color:#fff;text-transform:uppercase;text-align:left;background:#0f2240;padding:7px 8px;font-size:11px}.doc-print table.doc-lines td{border-bottom:1px solid #ddd;padding:7px 8px}.doc-print .doc-total-row{color:#0f2240;border-top:2px solid #0f2240;justify-content:flex-end;gap:24px;padding-top:8px;font-size:14px;font-weight:800;display:flex}.doc-print .doc-sign{grid-template-columns:repeat(3,1fr);gap:24px;margin-top:42px;display:grid}.doc-print .doc-sign div{text-align:center;color:#333;border-top:1px solid #111;padding-top:6px;font-size:11px}.doc-print .doc-foot{text-align:center;color:#666;border-top:1px dashed #999;margin-top:18px;padding-top:8px;font-size:10px}@media print{body *{visibility:hidden}.print-area,.print-area *{visibility:visible}.print-area{position:absolute;top:0;left:0}.thermal-receipt.print-area{padding:4px;width:80mm!important;max-width:80mm!important}.doc-print.print-area{border:none;width:100%;max-width:100%;padding:12px}}
