*{box-sizing:border-box;font-family:system-ui,Segoe UI,Roboto,Arial,sans-serif}
body{margin:0;background:#f6f7fb;color:#111}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#0f172a;color:#fff}
.brand{font-weight:700}
main{max-width:1100px;margin:16px auto;padding:0 12px}
.screen{display:none}
.screen.active{display:block}
.nav{display:flex;gap:8px;margin:10px 0}
.nav.hidden{display:none}
.navbtn{padding:6px 10px;border:1px solid #cbd5e1;border-radius:8px;background:#fff}
.card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 4px rgba(0,0,0,.04);padding:14px}
.card h2{margin:6px 0 12px}
label{display:block;margin-top:8px;font-size:14px;color:#334155}
input,select{padding:8px;border:1px solid #cbd5e1;border-radius:8px;margin:6px 0}
button{cursor:pointer}
.primary{background:#2563eb;color:#fff;border:none;border-radius:8px;padding:10px 12px;margin-top:8px}
.error{color:#dc2626;margin-top:6px;font-size:14px}
.hint{opacity:.7;font-size:12px;margin-top:8px}
.list{display:grid;gap:10px}
.card.room{position:relative;padding-left:10px}
.strip{position:absolute;left:0;top:0;bottom:0;width:6px;border-radius:12px 0 0 12px}
.strip.checkout{background:#14b8a6}.strip.full{background:#6366f1}.strip.stay{background:#f97316}
.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;margin-left:6px}
.st-not{background:#e5e7eb}.st-prog{background:#3b82f6;color:#fff}.st-rfi{background:#f59e0b;color:#fff}.st-fail{background:#ef4444;color:#fff}.st-maint{background:#7c3aed;color:#fff}.st-pass{background:#10b981;color:#fff}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.table table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden}
.table th,.table td{border-bottom:1px solid #e5e7eb;padding:8px;text-align:left}
.flex{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
input[type="file"]{border:none;padding:0}
.note-input{width:100%;min-height:60px;border:1px solid #cbd5e1;border-radius:8px;padding:8px}
.mini{width:60px}
