:root{--bg-primary:#0e0d0b;--bg-secondary:#161410;--bg-card:#1d1a15;--bg-card-hover:#201d18;--border:#2a2520;--border-subtle:#332e26;--text-primary:#f2ead8;--text-secondary:#c8bfa8;--text-muted:#7a7060;--accent-green:#d4621a;--accent-green-dim:#d4621a1f;--accent-red:#c05050;--accent-red-dim:#c050501f;--accent-blue:#5a8fbf;--accent-blue-dim:#5a8fbf26}*,:before,:after{box-sizing:border-box}html{scrollbar-color:#2a2520 #0e0d0b;scrollbar-width:thin}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}body{background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:DM Sans,system-ui,sans-serif;font-size:15px;line-height:1.6}h1,h2,h3{letter-spacing:-.02em;margin:0;font-family:Playfair Display,serif;font-weight:700;line-height:1.1}input[type=text],input[type=email],input[type=password],input[type=number],input[type=datetime-local]{border:1px solid var(--border-subtle);background:var(--bg-card);width:100%;color:var(--text-primary);border-radius:2px;outline:none;padding:10px 14px;font-family:DM Sans,system-ui,sans-serif;font-size:14px;transition:border-color .15s}input:focus{border-color:var(--accent-green)}input::placeholder{color:var(--text-muted)}select{border:1px solid var(--border-subtle);background:var(--bg-card);width:100%;color:var(--text-primary);cursor:pointer;border-radius:2px;outline:none;padding:10px 14px;font-family:DM Sans,system-ui,sans-serif;font-size:14px;transition:border-color .15s}select:focus{border-color:var(--accent-green)}.page{max-width:640px;margin:0 auto;padding:0 20px 80px}.page-wide{max-width:960px;margin:0 auto;padding:0 20px 80px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:2px;padding:20px 24px}.card-hover{transition:background .15s,border-color .15s}.card-hover:hover{background:var(--bg-card-hover);border-color:var(--border-subtle)}.btn-primary{background:var(--accent-green);color:#fff;cursor:pointer;letter-spacing:.02em;border:none;border-radius:2px;padding:11px 24px;font-family:DM Sans,system-ui,sans-serif;font-size:14px;font-weight:500;transition:background .15s,transform .15s}.btn-primary:hover:not(:disabled){background:#e8742a;transform:translateY(-1px)}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-secondary{color:var(--text-secondary);border:1px solid var(--border-subtle);cursor:pointer;background:0 0;border-radius:2px;padding:11px 24px;font-family:DM Sans,system-ui,sans-serif;font-size:14px;font-weight:400;transition:border-color .15s,color .15s}.btn-secondary:hover:not(:disabled){border-color:var(--text-muted);color:var(--text-primary)}.btn-secondary:disabled{opacity:.45;cursor:not-allowed}.btn-danger{background:var(--accent-red);color:#fff;cursor:pointer;border:none;border-radius:2px;padding:11px 24px;font-family:DM Sans,system-ui,sans-serif;font-size:14px;font-weight:500;transition:opacity .15s}.btn-danger:hover:not(:disabled){opacity:.85}.btn-danger:disabled{opacity:.45;cursor:not-allowed}.btn-sm{padding:6px 14px;font-size:12.5px}.tabs{border-bottom:1px solid var(--border);margin-bottom:24px;display:flex}.tab{color:var(--text-muted);cursor:pointer;letter-spacing:.01em;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;margin-right:28px;padding:10px 0;font-family:DM Sans,system-ui,sans-serif;font-size:13.5px;font-weight:400;transition:color .15s,border-color .15s}.tab:hover{color:var(--text-secondary)}.tab.active{color:var(--text-primary);border-bottom-color:var(--accent-green)}.badge{letter-spacing:.06em;text-transform:uppercase;border-radius:1px;padding:2px 8px;font-family:DM Mono,monospace;font-size:9.5px;font-weight:500}.badge-professor{color:#5a8fbf;background:#5a8fbf26}.badge-restaurant{color:#5a9e5a;background:#5a9e5a1f}.badge-open{background:var(--accent-green-dim);color:var(--accent-green)}.badge-closed{color:var(--text-muted);background:#ffffff0d}.error-msg{background:var(--accent-red-dim);color:var(--accent-red);border:1px solid #c050504d;border-radius:2px;padding:10px 14px;font-size:13px}.success-msg{background:var(--accent-green-dim);color:var(--accent-green);border:1px solid #d4621a4d;border-radius:2px;padding:10px 14px;font-size:13px}.loading-screen{min-height:100vh;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;background:var(--bg-primary);justify-content:center;align-items:center;font-family:DM Mono,monospace;font-size:12px;display:flex}
