:root{--bg: #f4f7fb;--panel: #ffffff;--primary: #0a67c7;--primary-dark: #084f98;--danger: #c62828;--success: #1e8e3e;--text: #1f2937;--muted: #6b7280;--border: #d8e0eb;--shadow: 0 10px 30px rgba(20, 38, 70, .08)}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:linear-gradient(135deg,#e7eef9,#f6f9fc);color:var(--text)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(420px,100%);background:#fffffffa;border-radius:22px;padding:28px;box-shadow:var(--shadow);border:1px solid var(--border);text-align:center}.login-logo{width:110px;height:auto;margin-bottom:16px}.app-shell{min-height:100vh;display:grid;grid-template-columns:300px 1fr}.sidebar{background:#0e2036;color:#fff;padding:22px;display:flex;flex-direction:column;gap:20px}.brand{display:flex;align-items:center;gap:14px}.brand h1{font-size:1.1rem;margin:0}.brand p{margin:4px 0 0;color:#a8bfd8}.brand-logo{width:56px;height:56px;object-fit:contain;background:#fff;border-radius:14px;padding:6px}.nav-links{display:grid;gap:10px}.nav-links a{padding:12px 14px;border-radius:12px;background:#ffffff14}.user-card{background:#ffffff14;border-radius:16px;padding:14px;display:grid;gap:6px}.content{padding:24px}.page-header h2{margin:0 0 18px}.grid{display:grid;gap:18px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.one{grid-template-columns:1fr}.form-grid{display:grid;gap:12px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}label span{display:block;font-size:.9rem;margin-bottom:6px;color:var(--muted)}input,select{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:#fff}.panel{background:var(--panel);border-radius:18px;padding:18px;box-shadow:var(--shadow);border:1px solid var(--border)}.panel h3{margin-top:0}.btn{border:0;padding:12px 16px;border-radius:12px;cursor:pointer;font-weight:700}.btn.primary{background:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-dark)}.btn.danger{background:var(--danger);color:#fff}.alert{border-radius:12px;padding:12px 14px}.alert.error{background:#fde8e8;color:#9b1c1c}.alert.success{background:#e8f5e9;color:#1b5e20}.info-list{display:grid;gap:10px}.helper{color:var(--muted);font-size:.92rem}.qr-reader{width:100%;max-width:360px;margin:0 auto}.tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.tab-btn{background:#fff;border:1px solid var(--border);border-radius:999px;padding:10px 16px;cursor:pointer}.tab-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.table-wrap{overflow:auto}.app-table{width:100%;border-collapse:collapse;min-width:680px}.app-table th,.app-table td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:left;font-size:.94rem}.app-table th{background:#f7faff}@media (max-width: 980px){.app-shell,.grid.two,.form-grid.three{grid-template-columns:1fr}.sidebar{position:sticky;top:0;z-index:10}}.action-row{display:flex;gap:10px;margin-top:8px}.action-row.wrap{flex-wrap:wrap}.table-actions{display:flex;gap:8px;flex-wrap:wrap}.code-cell{max-width:220px;word-break:break-all;font-size:.82rem}.qr-preview-box{margin-top:14px;padding:14px;border:1px dashed var(--border);border-radius:14px;display:grid;justify-items:center;background:#fafcff}.qr-preview-image{width:220px;max-width:100%;height:auto}.btn.small{padding:8px 12px;font-size:.88rem}
