:root{--bg-color: #f2ede8;--bg-main: #f2ede8;--panel-bg: #ffffff;--panel-border: rgba(0, 0, 0, .08);--text-main: #1c1826;--text-muted: #7a7088;--accent: #7c3aed;--accent-hover: #6d28d9;--success: #059669;--warning: #d97706;--danger: #dc2626;--radius: 12px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,-apple-system,sans-serif;background-color:var(--bg-color);color:var(--text-main);line-height:1.5;min-height:100vh;background-image:radial-gradient(at 0% 0%,rgba(124,58,237,.07) 0px,transparent 50%),radial-gradient(at 100% 100%,rgba(167,139,250,.08) 0px,transparent 50%);background-attachment:fixed}.app-container{max-width:1200px;margin:0 auto;padding:2rem}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2.5rem;padding-bottom:1rem;border-bottom:1px solid var(--panel-border)}.logo{display:flex;align-items:center;gap:.75rem;font-size:1.5rem;font-weight:700;letter-spacing:-.025em;cursor:pointer;color:var(--text-main)!important;text-decoration:none}.logo:hover{text-decoration:none}.logo-icon{color:var(--accent)}a{color:var(--accent);text-decoration:none;transition:color .2s}a:visited{color:var(--accent)}a:hover{color:var(--accent-hover);text-decoration:underline}.card{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--radius);padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 1px 4px #0000000f}.table-container{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:.875rem 1.5rem;border-bottom:1px solid var(--panel-border);font-size:.75rem}th{background-color:#00000008;color:var(--text-muted);font-size:.75rem;font-weight:600;text-transform:uppercase}tbody tr:hover{background-color:#7c3aed0a;cursor:pointer}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600}.badge-success{background:#0596691f;color:var(--success)}.badge-warning{background:#d977061f;color:var(--warning)}.badge-danger{background:#dc26261f;color:var(--danger)}.product-img{width:48px;height:48px;border-radius:4px;object-fit:cover;background:#e8e2dc}.parent-row{background:#00000003}.child-row{background:#00000005}.child-row td{padding-left:4rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading{display:flex;justify-content:center;align-items:center;padding:4rem}.loading-icon{animation:spin 1s linear infinite;color:var(--accent)}.filter-bar{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:2rem;gap:1.5rem}.date-inputs{display:flex;gap:1rem}.input-group{display:flex;flex-direction:column;gap:.5rem}.input-group label{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase}input[type=date],input[type=number],input[type=text],textarea{background:var(--panel-bg);border:1px solid var(--panel-border);color:var(--text-main);padding:.6rem 1rem;border-radius:8px;outline:none;font-size:.9rem}input:focus,textarea:focus{border-color:var(--accent)}.no-spinner::-webkit-outer-spin-button,.no-spinner::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.no-spinner{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.btn{padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;border:none;display:flex;align-items:center;gap:.5rem;transition:all .2s}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-danger{background:#dc26261a;color:var(--danger);border:1px solid rgba(220,38,38,.2)}.btn-danger:hover{background:#dc26262e}.deduction-form{display:grid;grid-template-columns:1fr 1fr 2fr auto;gap:1rem;padding:1.5rem;background:#00000005;border-radius:var(--radius);align-items:end;margin-bottom:2rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:var(--panel-bg);padding:1.5rem;border-radius:var(--radius);border:1px solid var(--panel-border);box-shadow:0 1px 4px #0000000f}.stat-label{font-size:.875rem;color:var(--text-muted);margin-bottom:.5rem}.stat-value{font-size:1.75rem;font-weight:700}
