*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--color-bg:#f8f9fa;--color-surface:#ffffff;--color-border:#dee2e6;--color-text:#212529;--color-text-muted:#6c757d;--color-primary:#0d6efd;--color-primary-hover:#0b5ed7;--color-danger:#dc3545;--color-warning:#ffc107;--color-warning-bg:#fff3cd;--color-success:#198754;--radius:6px;--shadow:0 1px 3px rgba(0,0,0,0.1)}body{font-family:system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.5;color:var(--color-text);background:var(--color-bg)}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:1100px;margin:0 auto;padding:0 1rem}.page{padding:2rem 0}.nav{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:.75rem 0}.nav-inner{display:flex;align-items:center;gap:1.5rem;max-width:1100px;margin:0 auto;padding:0 1rem}.nav-brand{font-weight:700;font-size:1.1rem;color:var(--color-text)}.nav-links{display:flex;gap:1rem;flex:1 1}.nav-right{margin-left:auto}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow)}.form-group{margin-bottom:1rem}label{display:block;margin-bottom:.25rem;font-weight:500;font-size:.875rem}input,select,textarea{width:100%;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius);font-size:.875rem;font-family:inherit;background:var(--color-surface);color:var(--color-text)}input:focus,select:focus,textarea:focus{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}textarea{resize:vertical;min-height:80px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border:1px solid transparent;border-radius:var(--radius);font-size:.875rem;font-weight:500;cursor:pointer;text-decoration:none;transition:background .15s}.btn:disabled{opacity:.65;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-secondary{background:transparent;border-color:var(--color-border);color:var(--color-text)}.btn-secondary:hover:not(:disabled){background:var(--color-bg)}.btn-danger{background:var(--color-danger);color:#fff}.btn-sm{padding:.25rem .6rem;font-size:.8rem}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.875rem}td,th{padding:.6rem .75rem;text-align:left;border-bottom:1px solid var(--color-border)}th{font-weight:600;background:var(--color-bg)}tr:hover td{background:#f0f4ff}.badge{display:inline-block;padding:.2em .6em;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.badge-intake{background:#e0f0ff;color:#0066cc}.badge-in_progress{background:#fff3cd;color:#856404}.badge-ready{background:#d1e7dd;color:#0a5c36}.badge-returned{background:#d3d3d3;color:#333}.badge-closed{background:#f8d7da;color:#842029}.badge-walk_in{background:#e2e3e5;color:#383d41}.badge-contract{background:#cfe2ff;color:#084298}.alert{padding:.75rem 1rem;border-radius:var(--radius);margin-bottom:1rem;font-size:.875rem}.alert-danger{background:#f8d7da;color:#842029;border:1px solid #f5c2c7}.alert-warning{background:var(--color-warning-bg);color:#664d03;border:1px solid #ffecb5}.alert-success{background:#d1e7dd;color:#0a5c36;border:1px solid #badbcc}.page-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.page-header h1{font-size:1.5rem;font-weight:700}.page-header-actions{margin-left:auto;display:flex;gap:.5rem}.text-muted{color:var(--color-text-muted)}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.gap-1{gap:.5rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.w-full{width:100%}.grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}.vault-hint{font-size:.8rem;color:var(--color-text-muted);margin-top:.25rem;padding:.4rem .6rem;background:var(--color-warning-bg);border-radius:var(--radius);border-left:3px solid var(--color-warning)}@media print{.no-print{display:none!important}}@media screen{.print-only{display:none!important}}