:root{font-family:Arial,Helvetica,sans-serif;color:#1e293b;background:#f4f6f8}*{box-sizing:border-box}body{margin:0;background:#f4f6f8}header{height:68px;background:#111827;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 28px}.brand{font-weight:800;letter-spacing:1px}.brand span{font-weight:400;color:#f59e0b}.top-user{display:flex;gap:12px;align-items:center;font-size:14px}nav{background:white;padding:0 28px;border-bottom:1px solid #e5e7eb;display:flex;gap:24px}nav a{padding:15px 0;text-decoration:none;color:#334155;font-weight:600}.content{max-width:1180px;margin:0 auto;padding:30px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0}.card,.panel,.login-card{background:white;border-radius:14px;box-shadow:0 2px 12px rgba(0,0,0,.06)}.card{padding:24px}.card strong{display:block;font-size:34px}.card span{color:#64748b}.panel{padding:24px;margin-top:20px}.login-body{min-height:100vh;display:grid;place-items:center;background:#111827}.login-card{width:min(430px,92vw);padding:34px}.login-card h1{margin-bottom:4px}.muted{color:#64748b;margin-top:0}label{display:block;margin:18px 0 8px;font-weight:600}input{width:100%;padding:13px;border:1px solid #cbd5e1;border-radius:9px;font-size:16px}button{background:#f59e0b;border:0;border-radius:9px;padding:12px 18px;font-weight:700;cursor:pointer}.login-card button{width:100%;margin-top:18px}.linkbtn{background:transparent;color:white;padding:5px}.error{background:#fee2e2;color:#991b1b;padding:12px;border-radius:8px;margin:14px 0}table{width:100%;border-collapse:collapse;background:white;border-radius:12px;overflow:hidden}th,td{text-align:left;padding:13px;border-bottom:1px solid #e5e7eb}.inline-form{display:flex;gap:10px;margin:18px 0}.inline-form input{max-width:340px}@media(max-width:760px){.cards{grid-template-columns:1fr}.content{padding:18px}header{padding:0 16px}.top-user{font-size:12px}nav{padding:0 16px;overflow:auto}}

select{width:100%;padding:13px;border:1px solid #cbd5e1;border-radius:9px;font-size:16px;background:white}
.success{background:#dcfce7;color:#166534;padding:12px;border-radius:8px;margin:14px 0}
.user-create{display:grid;grid-template-columns:2fr 1fr 2fr auto;gap:12px;align-items:end}
.user-create label{margin:0}
.mini-form{display:flex;gap:6px;align-items:center}
.mini-form input,.mini-form select{min-width:130px;padding:8px;font-size:14px}
.mini-form button{padding:8px 10px}
.dangerbtn{background:#ef4444;color:white}
.table-wrap{overflow:auto}
@media(max-width:900px){.user-create{grid-template-columns:1fr}.mini-form{min-width:240px}}

.badge{display:inline-block;padding:7px 10px;border-radius:999px;font-weight:800;font-size:12px}
.badge-todo{background:#fee2e2;color:#991b1b}
.badge-doing{background:#fef3c7;color:#92400e}
.badge-done{background:#dcfce7;color:#166534}
.badge-wait{background:#e0e7ff;color:#3730a3}
.status-todo{border-left:6px solid #ef4444}
.status-doing{border-left:6px solid #f59e0b}
.status-done{border-left:6px solid #22c55e}
.status-wait{border-left:6px solid #6366f1}
.cleaning-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.cleaning-card{background:white;border-radius:14px;padding:20px;box-shadow:0 2px 12px rgba(0,0,0,.06)}
.cleaning-card-head{display:flex;justify-content:space-between;gap:12px;align-items:center}
.cleaning-card h2{margin:0}
.cleaning-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.cleaning-actions form{margin:0}
.btn-todo{background:#ef4444;color:white}
.btn-doing{background:#f59e0b}
.btn-done{background:#22c55e;color:white}
.btn-wait{background:#6366f1;color:white}
.small{font-size:12px}
@media(max-width:760px){
  .cleaning-grid{grid-template-columns:1fr}
  .cleaning-actions{display:grid;grid-template-columns:1fr 1fr}
  .cleaning-actions button{width:100%}
}

.status-issue{border-left:6px solid #dc2626}
.issue-create{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.issue-create label{margin:0}
.issue-create .wide{grid-column:1/-1}
.issue-create button{grid-column:1/-1;justify-self:start}
textarea{width:100%;padding:13px;border:1px solid #cbd5e1;border-radius:9px;font:inherit;resize:vertical}
.issue-list{display:grid;gap:14px}
.issue-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:18px}
.issue-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.issue-top h3{margin:0 0 5px}
.issue-badges{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.issue-status-reported{background:#fee2e2;color:#991b1b}
.issue-status-in_progress{background:#fef3c7;color:#92400e}
.issue-status-resolved{background:#dcfce7;color:#166534}
.issue-severity-minor{background:#e2e8f0;color:#334155}
.issue-severity-urgent{background:#ffedd5;color:#9a3412}
.issue-severity-blocks{background:#fecaca;color:#7f1d1d}
.severity-blocks{border-left:6px solid #dc2626}
.severity-urgent{border-left:6px solid #f97316}
.severity-minor{border-left:6px solid #94a3b8}
.issue-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.btn-neutral{background:#e2e8f0;color:#334155}
@media(max-width:760px){
  .issue-create{grid-template-columns:1fr}
  .issue-create .wide,.issue-create button{grid-column:auto}
  .issue-top{display:block}
  .issue-badges{justify-content:flex-start;margin-top:10px}
  .issue-actions{display:grid;grid-template-columns:1fr}
  .issue-actions button{width:100%}
}

.reservation-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.reservation-form label{margin:0}
.reservation-form .wide{grid-column:1/-1}
.reservation-form button{grid-column:1/-1;justify-self:start}
@media(max-width:1000px){.reservation-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){
  .reservation-form{grid-template-columns:1fr}
  .reservation-form .wide,.reservation-form button{grid-column:auto}
}

.cancel-link{display:inline-flex;align-items:center;padding:12px 4px;color:#475569;text-decoration:none;font-weight:700}
.reservation-actions{display:flex;flex-wrap:wrap;gap:6px;min-width:220px}
.reservation-actions form{margin:0}
.small-action{display:inline-block;border:0;border-radius:7px;padding:7px 9px;font-size:12px;font-weight:700;text-decoration:none;background:#e2e8f0;color:#334155;cursor:pointer}
.reservation-status-active{background:#dbeafe;color:#1d4ed8}
.reservation-status-completed{background:#dcfce7;color:#166534}
.reservation-status-cancelled{background:#e2e8f0;color:#475569}
.reservation-status-no_show{background:#fee2e2;color:#991b1b}

.supla-ok{background:#dcfce7;color:#166534}
.supla-off{background:#e2e8f0;color:#475569}
.supla-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.supla-form label{margin:0}
.supla-form .wide{grid-column:1/-1}
.supla-form button{grid-column:1/-1;justify-self:start}
.checkline{display:flex!important;align-items:center;gap:10px}
.checkline input{width:auto}
.supla-tests{display:flex;gap:12px;flex-wrap:wrap}
.supla-tests form{margin:0}
@media(max-width:700px){
  .supla-form{grid-template-columns:1fr}
  .supla-form .wide,.supla-form button{grid-column:auto}
  .supla-tests{display:grid;grid-template-columns:1fr 1fr}
  .supla-tests button{width:100%}
}
