:root{--font-heading:"Playfair Display", Georgia, serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-script:"Allura", cursive;--color-primary:#8c7355;--color-primary-hover:#766045;--color-primary-active:#5e4c36;--color-primary-light:#f6f2ec;--color-primary-subtle:#efe8df;--color-bg:#faf8f5;--color-surface:#fff;--color-surface-hover:#f8f5f0;--color-surface-alt:#f3efe9;--color-border:#e8e2d9;--color-border-subtle:#f0ece5;--color-border-strong:#d5cabe;--color-text:#1c1a18;--color-text-secondary:#5e5851;--color-text-muted:#847c73;--color-text-light:#faf8f5;--color-success:#2e6b47;--color-success-bg:#eef6f1;--color-success-border:#c8e3d2;--color-danger:#a33333;--color-danger-bg:#fbefef;--color-danger-border:#f1cdcd;--color-warning:#94601a;--color-warning-bg:#fdf6ec;--color-warning-border:#f5e1c3;--color-info:#3c6382;--color-info-bg:#edf3f7;--color-info-border:#c9dbe8;--sidebar-width:260px;--header-height:64px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--shadow-sm:0 1px 2px #1c1a180a;--shadow-md:0 4px 12px #1c1a180f;--shadow-lg:0 8px 24px #1c1a1817;--transition-fast:.15s ease;--transition-normal:.2s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.5}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-text);font-weight:600;line-height:1.25}a{color:var(--color-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary-hover)}button{font-family:var(--font-body);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);border:none;outline:none;font-weight:500}input,select,textarea{font-family:var(--font-body);color:var(--color-text);font-size:14px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn{border-radius:var(--radius-sm);letter-spacing:.01em;min-height:40px;transition:all var(--transition-fast);justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:500;display:inline-flex}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.btn-primary:active:not(:disabled){background-color:var(--color-primary-active)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background-color:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background-color:var(--color-surface-hover);border-color:var(--color-border-strong)}.btn-secondary:disabled{opacity:.55;cursor:not-allowed}.btn-danger{background-color:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background-color:#8c2a2a}.btn-sm{min-height:32px;padding:4px 10px;font-size:12px}.form-group{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.form-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);font-size:12px;font-weight:500}.form-control{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;min-height:42px;color:var(--color-text);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);padding:8px 12px;font-size:14px}.form-control:focus{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.form-error{color:var(--color-danger);margin-top:2px;font-size:12px}.card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:24px}.badge{border-radius:var(--radius-sm);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:500;display:inline-flex}.badge-success{background-color:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success-border)}.badge-danger{background-color:var(--color-danger-bg);color:var(--color-danger);border:1px solid var(--color-danger-border)}.badge-warning{background-color:var(--color-warning-bg);color:var(--color-warning);border:1px solid var(--color-warning-border)}.badge-info{background-color:var(--color-info-bg);color:var(--color-info);border:1px solid var(--color-info-border)}.badge-neutral{background-color:var(--color-surface-alt);color:var(--color-text-secondary);border:1px solid var(--color-border)}.table-container{border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);width:100%;overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%}.data-table th{background-color:var(--color-surface-alt);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);white-space:nowrap;padding:12px 16px;font-size:11px;font-weight:600}.data-table td{border-bottom:1px solid var(--color-border-subtle);color:var(--color-text);vertical-align:middle;padding:14px 16px;font-size:13px}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background-color:var(--color-surface-hover)}.state-box{text-align:center;background-color:var(--color-surface);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);flex-direction:column;justify-content:center;align-items:center;padding:48px 24px;display:flex}.state-box h3{font-family:var(--font-heading);margin-bottom:6px;font-size:18px}.state-box p{color:var(--color-text-muted);max-width:400px;margin-bottom:16px;font-size:13px}@media print{body,html{color:#000!important;background:#fff!important;margin:0!important;padding:0!important}.no-print,.sidebar,.header,.no-print-overlay:not(.invoice-modal-overlay){display:none!important}.invoice-modal-overlay{background:#fff!important;padding:0!important;display:block!important;position:static!important;inset:auto!important;overflow:visible!important}.invoice-modal-overlay .card{max-width:100%!important;max-height:none!important;box-shadow:none!important;border:none!important;padding:0!important;overflow:visible!important}.printable-area{padding:0!important;display:block!important;overflow:visible!important}}
