:root{--navy: #1B3A5C;--navy-deep: #122842;--navy-light: #2A4F75;--teal: #00B5AD;--teal-light: #33C9C2;--teal-soft: #E6F8F7;--white: #FFFFFF;--off-white: #F4F7FA;--gray-50: #F8FAFC;--gray-100: #EDF1F5;--gray-200: #D8DFE8;--gray-400: #8B9BB5;--gray-600: #5A6B85;--red: #E8465A;--red-soft: #FEF0F1;--green: #1DAA72;--green-soft: #E8F7F0;--orange: #E68A00;--orange-soft: #FFF5E0;--font-heading: "Plus Jakarta Sans", sans-serif;--font-body: "DM Sans", sans-serif;--shadow-sm: 0 1px 3px rgba(18, 40, 66, .06), 0 1px 2px rgba(18, 40, 66, .04);--shadow-md: 0 4px 12px rgba(18, 40, 66, .08), 0 2px 4px rgba(18, 40, 66, .04);--shadow-lg: 0 12px 40px rgba(18, 40, 66, .12), 0 4px 12px rgba(18, 40, 66, .06);--radius: 14px;--transition: .2s cubic-bezier(.4, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box}::selection{background:var(--teal);color:#fff}body{font-family:var(--font-body);background:var(--off-white);color:var(--navy);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:800;letter-spacing:-.02em}button{cursor:pointer;border:none;font-family:var(--font-heading);transition:all var(--transition)}button:hover{filter:brightness(1.05)}button:active{transform:scale(.97)}input,select,textarea{font-family:var(--font-body);transition:border-color var(--transition),box-shadow var(--transition)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--teal)!important;box-shadow:0 0 0 3px var(--teal-soft)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--gray-200);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeInBackdrop{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.75)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.page-content{animation:fadeIn .3s ease-out}.card{background:var(--white);border-radius:var(--radius);border:1px solid var(--gray-100);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition),transform var(--transition)}.card:hover{box-shadow:var(--shadow-md)}table tbody tr{transition:background var(--transition)}table tbody tr:hover{background:var(--gray-50)!important}.skeleton{background:linear-gradient(90deg,var(--gray-100) 25%,var(--gray-50) 50%,var(--gray-100) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite ease-in-out;border-radius:8px}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:6px;font-size:10px;font-weight:700;letter-spacing:.02em;white-space:nowrap}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%) scale(.9);padding:4px 10px;border-radius:6px;background:var(--navy-deep);color:#fff;font-size:11px;font-weight:600;white-space:nowrap;opacity:0;pointer-events:none;transition:all .15s ease}[data-tooltip]:hover:after{opacity:1;transform:translate(-50%) scale(1)}.main-content{flex:1;padding:28px 32px;overflow-y:auto;max-height:100vh}.mobile-header{display:none}.sidebar-wrapper{flex-shrink:0}.sidebar-overlay{display:none}@media (max-width: 1024px){.main-content{padding:20px}}@media (max-width: 768px){.mobile-header{display:flex;align-items:center;gap:12px;position:fixed;top:0;left:0;right:0;height:56px;padding:0 16px;background:var(--navy-deep);color:#fff;z-index:900;box-shadow:0 2px 8px #00000026}.hamburger-btn{background:none;border:none;padding:4px;display:flex;align-items:center;justify-content:center}.sidebar-wrapper{position:fixed;top:0;left:-260px;z-index:1001;transition:left .25s ease;box-shadow:4px 0 20px #0003}.sidebar-wrapper.open{left:0}.sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:1000;animation:fadeInBackdrop .2s ease}.main-content{padding:72px 16px 16px;max-height:none}.kpi-grid{grid-template-columns:1fr!important}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive table{min-width:500px}.login-form{width:calc(100vw - 32px)!important;max-width:400px;padding:28px 24px!important}.modal-content{width:calc(100vw - 32px)!important;max-width:460px;max-height:85vh!important;padding:24px!important}.page-header{flex-direction:column!important;align-items:flex-start!important;gap:12px!important}.filter-bar{flex-direction:column!important;align-items:flex-start!important}.filter-bar .date-filters{margin-left:0!important;width:100%}.stock-grid{grid-template-columns:1fr 1fr!important}.summary-grid{grid-template-columns:1fr!important}}.journal-operations{overflow:hidden}.journal-operation{display:grid;grid-template-columns:62px minmax(180px,1fr) minmax(150px,auto);gap:12px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--gray-100)}.journal-operation:last-child{border-bottom:0}.journal-operation-time{color:var(--gray-400);font-size:11px}.journal-operation-main{min-width:0}.journal-operation-client{margin-top:5px;font-size:13px;font-weight:700;color:var(--navy)}.journal-operation-author,.journal-operation-balance,.journal-operation-note{margin-top:3px;font-size:10px;font-weight:500;color:var(--gray-400)}.journal-operation-product{display:inline-block;margin-top:5px;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:700}.journal-operation-note{font-style:italic}.journal-operation-amount{text-align:right;font-size:13px;font-weight:800}.journal-operation-balance{max-width:170px;color:var(--gray-400);font-weight:500}@media (max-width: 768px){.journal-operation{grid-template-columns:46px minmax(0,1fr) minmax(104px,auto);gap:8px;padding:12px 10px}.journal-operation-client,.journal-operation-amount{font-size:12px}.journal-operation-balance{max-width:108px;font-size:9px}}.print-report-header{display:none}.stats-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px}.stats-summary-card{border-radius:14px;padding:18px;color:#fff}.stats-summary-sales{background:linear-gradient(135deg,#1565c0,#1e40af)}.stats-summary-collections{background:linear-gradient(135deg,#16804a,#16a34a)}.stats-summary-operations{background:linear-gradient(135deg,#0f766e,#0d9488)}.stats-summary-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;opacity:.78}.stats-summary-value{margin-top:6px;font-family:var(--font-heading);font-size:24px;font-weight:800}.stats-summary-note{margin-top:4px;font-size:11px;opacity:.75}.stats-insights-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:14px}.stats-insight-card{min-height:176px;border:1px solid var(--gray-100);border-radius:14px;padding:16px;background:var(--white)}.stats-insight-title{margin-bottom:10px;color:var(--navy);font-family:var(--font-heading);font-size:14px;font-weight:800}.stats-rank-row,.stats-alert-row{display:flex;align-items:center;gap:8px;padding:8px 0;border-top:1px solid var(--gray-100)}.stats-rank{display:grid;width:22px;height:22px;place-items:center;border-radius:50%;background:var(--gray-100);color:var(--gray-600);font-size:11px;font-weight:800}.stats-rank-1{background:#fff1bf;color:#a16207}.stats-rank-2{background:#edf0f4;color:#526b8b}.stats-rank-3{background:#fae6d5;color:#b45309}.stats-rank-name{flex:1;min-width:0;color:var(--navy);font-size:12px}.stats-rank-name small{display:block;margin-top:2px;color:var(--gray-400);font-size:10px}.stats-rank-amount{color:var(--green);font-size:11px;text-align:right}.stats-product-row{padding:7px 0}.stats-product-line{display:flex;justify-content:space-between;gap:8px;color:var(--navy);font-size:12px}.stats-product-line span{display:flex;align-items:center;gap:6px;font-weight:700}.stats-product-line i{width:8px;height:8px;border-radius:50%}.stats-product-line strong{font-size:11px}.stats-product-track{height:6px;overflow:hidden;margin-top:5px;border-radius:99px;background:var(--gray-100)}.stats-product-track div{height:100%;border-radius:inherit}.stats-alert-card{border-color:#fde3a7;background:#fffdf7}.stats-alert-row{justify-content:space-between;color:var(--navy);font-size:12px}.stats-alert-row strong{color:#b45309;font-size:11px;text-align:right}.stats-empty{padding:18px 0;color:var(--gray-400);font-size:12px;text-align:center}@media (max-width: 768px){.stats-summary-grid,.stats-insights-grid{grid-template-columns:1fr}.stats-summary-card{padding:15px}.stats-summary-value{font-size:21px}.stats-insight-card{min-height:0}}@media print{@page{size:A4;margin:7mm}body{background:#fff!important;color:#142d4c!important}.sidebar,.sidebar-wrapper,.sidebar-overlay,.mobile-header,.bottom-nav,.filter-bar,.no-print,button,nav{display:none!important}main,.main-content,.page-content{padding:0!important;margin:0!important;width:100%!important}.page-header{display:none!important}.print-report-header{display:block;margin-bottom:8px;padding-bottom:5px;border-bottom:1px solid #00b5ad}.print-report-header h1{margin:0 0 2px;font-size:15px}.print-report-header p{margin:1px 0;font-size:8px;color:#526b8b}.journal-day{margin-bottom:7px!important;break-inside:avoid}.journal-day-title{margin:0 0 3px!important;padding-left:2px!important;font-size:8px!important;letter-spacing:.05em!important}.journal-operations{border:1px solid #dbe3ee!important;box-shadow:none!important}.journal-operation{break-inside:avoid;padding:4px 7px;gap:7px;grid-template-columns:42px minmax(130px,1fr) minmax(105px,auto)}.journal-operation-time{font-size:8px}.journal-operation-main>span:first-child{padding:1px 5px!important;font-size:7px!important}.journal-operation-client{margin-top:2px;font-size:9px}.journal-operation-author,.journal-operation-balance,.journal-operation-note{margin-top:1px;font-size:7px}.journal-operation-product{margin-top:2px;padding:1px 5px;font-size:7px}.journal-operation-amount{font-size:9px}.journal-operation-balance{max-width:120px}}@media (max-width: 480px){.stock-grid{grid-template-columns:1fr!important}.main-content{padding:68px 12px 12px}}
