*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0f1117;--surface: #1a1d26;--surface2: #22263a;--border: #2e3350;--accent: #4f8ef7;--accent2: #7c5cbf;--success: #3ecf8e;--warn: #f0b429;--danger: #f05252;--text: #e2e8f0;--muted: #8892a4;--radius: 10px}body{background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,sans-serif;font-size:14px;min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.layout{display:flex;min-height:100vh}.sidebar{width:220px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:24px 0;flex-shrink:0;min-height:100vh;position:sticky;top:0;align-self:flex-start}.sidebar-logo{padding:0 20px 24px;display:flex;align-items:center}.sidebar nav a{display:flex;align-items:center;gap:10px;padding:10px 20px;color:var(--muted);transition:background .15s,color .15s;border-radius:0}.sidebar nav a:hover,.sidebar nav a.active{background:var(--surface2);color:var(--text);text-decoration:none}.sidebar nav a.active{border-left:3px solid var(--accent);padding-left:17px}.main{flex:1;overflow-y:auto}.page{padding:32px;max-width:1200px}h1{font-size:22px;font-weight:700;margin-bottom:20px}h2{font-size:17px;font-weight:600;margin-bottom:12px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:16px}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:7px;border:none;cursor:pointer;font-size:13px;font-weight:500;transition:opacity .15s}.btn:hover{opacity:.85}.btn-primary{background:var(--accent);color:#fff}.btn-success{background:var(--success);color:#0f1117}.btn-danger{background:var(--danger);color:#fff}.btn-ghost{background:var(--surface2);color:var(--text);border:1px solid var(--border)}input,select,textarea{background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:7px;padding:8px 12px;font-size:13px;outline:none;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:var(--accent)}input[type=file]{padding:6px}.form-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.form-row input,.form-row select{flex:1;min-width:120px}label{font-size:12px;color:var(--muted);display:block;margin-bottom:4px}.field{margin-bottom:12px}table{width:100%;border-collapse:collapse}thead th{background:var(--surface2);padding:10px 12px;text-align:left;font-size:12px;color:var(--muted);font-weight:500}tbody tr{border-bottom:1px solid var(--border)}tbody tr:hover{background:#ffffff08}td{padding:10px 12px}.badge{display:inline-block;padding:2px 8px;border-radius:99px;font-size:11px;font-weight:600}.badge-blue{background:#4f8ef733;color:var(--accent)}.badge-green{background:#3ecf8e33;color:var(--success)}.badge-yellow{background:#f0b42933;color:var(--warn)}.badge-red{background:#f0525233;color:var(--danger)}.search-bar{display:flex;gap:10px;margin-bottom:20px}.search-bar input{flex:1}.grid-cells{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}.cell-tile{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:10px;cursor:pointer;transition:border-color .15s,background .15s;text-align:center}.cell-tile:hover{border-color:var(--accent);background:var(--surface)}.cell-tile.occupied{border-color:var(--success)}.cell-tile-code{font-size:12px;font-weight:600}.cell-tile-count{font-size:11px;color:var(--muted);margin-top:4px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:28px;min-width:360px;max-width:560px;width:100%;max-height:90vh;overflow-y:auto}.modal-title{font-size:17px;font-weight:700;margin-bottom:18px}.modal-footer{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.tabs{display:flex;gap:4px;margin-bottom:20px}.tab{padding:7px 16px;border-radius:7px;cursor:pointer;color:var(--muted);border:1px solid transparent;font-size:13px}.tab:hover{color:var(--text)}.tab.active{background:var(--surface2);border-color:var(--border);color:var(--text)}.empty{color:var(--muted);padding:32px;text-align:center}.status-pending{color:var(--warn)}.status-in_progress{color:var(--accent)}.status-completed{color:var(--success)}.qr-img{display:block;margin:12px auto;border-radius:8px;background:#fff;padding:8px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
