/* =============================================================
   SUPERVISOR.CSS — All supervisor/front desk tabs
   Merged from: hk-list.css + front-board.css + cleaning-sheet.css
                + lost-found.css + assignment.css + inspection.css
   ============================================================= */


/* ===== HK List ===== */

.hk-summary{display:flex;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.hk-chip{padding:12px 24px;border-radius:24px;font-size:1.1rem;font-weight:600}
.hk-chip.todo{background:#e3f2fd;color:#1565c0}
.hk-chip.inprog{background:#fff3e0;color:#ef6c00}
.hk-chip.done{background:#e8f5e9;color:#2e7d32}
.hk-filters{display:flex;gap:12px;margin-bottom:18px;flex-wrap:wrap;align-items:center}
.hk-floor-btn{padding:12px 28px;border-radius:24px;font-size:1.15rem;font-weight:700;
  border:3px solid #e0e0e0;background:#fff;color:#555;transition:all .15s;min-height:52px}
.hk-floor-btn.active{border-color:#1a237e;background:#e8eaf6;color:#1a237e}
.hk-floor-btn:hover:not(.active){border-color:#9fa8da;background:#f5f7ff}
.hk-card{background:#fff;border-radius:14px;padding:22px 24px;margin-bottom:18px;
  box-shadow:0 2px 6px rgba(0,0,0,.08);display:flex;align-items:center;gap:24px;
  transition:transform .15s,box-shadow .15s;cursor:pointer;border-left:48px solid #ccc}
.hk-card:active{transform:scale(.98);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.hk-card.priority-10{border-left-color:#e53935}
.hk-card.priority-20{border-left-color:#fb8c00}
.hk-card.priority-30{border-left-color:#fdd835}
.hk-card.priority-50{border-left-color:#66bb6a}
.hk-room{font-size:2.6rem;font-weight:800;min-width:90px;text-align:center}
.hk-info{flex:1;min-width:0}
.hk-info-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:4px}
.hk-guest{font-size:1.05rem;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hk-eta{font-size:1rem;color:#555}
.hk-status-btn{min-width:160px;min-height:68px;padding:16px 22px;border-radius:14px;
  font-size:1.25rem;font-weight:700;text-align:center;transition:all .2s;flex-shrink:0}
.hk-status-btn.TODO{background:#e3f2fd;color:#1565c0;border:3px solid #90caf9}
.hk-status-btn.IN_PROGRESS{background:#fff3e0;color:#ef6c00;border:3px solid #ffcc80}
.hk-status-btn.DONE{background:#e8f5e9;color:#2e7d32;border:3px solid #a5d6a7}

/* ===== Bulk Edit ===== */
.hk-bulk-toggle{padding:12px 24px;border-radius:24px;font-size:1.1rem;font-weight:600;
  border:3px solid #7986cb;background:#fff;color:#3949ab;transition:all .15s;min-height:52px;
  margin-left:auto}
.hk-bulk-toggle.active{background:#3949ab;color:#fff;border-color:#3949ab}
.hk-card .bulk-check{width:36px;height:36px;accent-color:#1a237e;flex-shrink:0;cursor:pointer}
.hk-card.selected{background:#e8eaf6;box-shadow:0 0 0 3px #7986cb}
.bulk-bar{position:fixed;bottom:0;left:0;right:0;background:#1a237e;color:#fff;
  padding:14px 24px;display:flex;align-items:center;gap:14px;z-index:150;
  box-shadow:0 -4px 16px rgba(0,0,0,.2);flex-wrap:wrap}
.bulk-bar-count{font-size:1.1rem;font-weight:700;margin-right:auto}
.bulk-bar-btn{padding:12px 24px;border-radius:10px;font-size:1rem;font-weight:700;
  min-height:48px;border:2px solid rgba(255,255,255,.3)}
.bulk-bar-btn.b-todo{background:#e3f2fd;color:#1565c0}
.bulk-bar-btn.b-inprog{background:#fff3e0;color:#ef6c00}
.bulk-bar-btn.b-done{background:#e8f5e9;color:#2e7d32}
.bulk-bar-btn.b-sel{background:rgba(255,255,255,.15);color:#fff}


/* ===== Front Board ===== */

.front-table{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;
  overflow:hidden;box-shadow:0 2px 6px rgba(0,0,0,.08)}
.front-table th{background:#1a237e;color:#fff;padding:14px 12px;font-size:1rem;
  text-align:left;white-space:nowrap;user-select:none}
.front-table th.sortable{cursor:pointer;position:relative;padding-right:28px}
.front-table th.sortable:hover{background:#283593}
.front-table th.sortable::after{content:'⇅';position:absolute;right:8px;top:50%;
  transform:translateY(-50%);font-size:.85rem;opacity:.5}
.front-table th.sortable.asc::after{content:'▲';opacity:1}
.front-table th.sortable.desc::after{content:'▼';opacity:1}
.front-table td{padding:14px 12px;border-bottom:1px solid #eee;font-size:1.05rem;vertical-align:top}
.front-table tr:last-child td{border-bottom:none}
.front-table tr:hover{background:#f5f7ff}
.room-status{font-weight:700;font-size:.95rem;padding:6px 12px;border-radius:8px;display:inline-block}
.room-status.occupied{background:#e8f5e9;color:#2e7d32}
.room-status.departing{background:#fff3e0;color:#ef6c00}
.room-status.vacant{background:#e0e0e0;color:#555}
.front-table .room-num{font-weight:800;font-size:1.3rem;cursor:pointer;color:#1a237e;
  text-decoration:underline;text-decoration-style:dotted}

/* ===== Door Notification Panel ===== */
.dn-panel{
  background:#fff;border-radius:14px;box-shadow:0 2px 8px rgba(0,0,0,.08);
  margin-bottom:20px;overflow:hidden;
}
.dn-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 16px;background:#f5f7ff;border-bottom:1px solid #e8eaf6;
}
.dn-title{font-weight:700;font-size:1rem;color:#1a237e;display:flex;align-items:center;gap:8px}
.dn-badge{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:22px;height:22px;border-radius:11px;
  background:#e53935;color:#fff;font-size:.75rem;font-weight:700;padding:0 6px;
}
.dn-mode-selector{display:flex;gap:4px}
.dn-mode-btn{
  padding:6px 12px;border-radius:8px;border:1px solid #ccc;
  background:#fff;color:#555;font-size:.8rem;font-weight:600;
  cursor:pointer;transition:all .15s;
}
.dn-mode-btn:hover{border-color:#1a237e;color:#1a237e}
.dn-mode-btn.active{background:#1a237e;color:#fff;border-color:#1a237e}

/* Bulk bar */
.dn-bulk-bar{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 16px;background:#fff3e0;border-bottom:1px solid #ffe0b2;
  font-size:.9rem;font-weight:600;color:#e65100;
}
.dn-bulk-btn{
  padding:6px 16px;border-radius:8px;border:none;
  background:#ef6c00;color:#fff;font-size:.85rem;font-weight:700;
  cursor:pointer;
}
.dn-bulk-btn:hover{background:#e65100}

/* Notification list */
.dn-list{padding:8px 12px;display:flex;flex-direction:column;gap:8px}
.dn-item{
  padding:10px 14px;border-radius:10px;
  border:1px solid #e0e0e0;background:#fafafa;
}
.dn-item.pending{border-color:#bbdefb;background:#e3f2fd}
.dn-item-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.dn-item-time{font-size:.8rem;color:#666;font-weight:600}
.dn-item-staff{font-size:.85rem;font-weight:600;color:#333}
.dn-item-photo{
  font-size:.7rem;font-weight:600;color:#1e88e5;
  padding:2px 6px;border-radius:4px;background:#e3f2fd;
}
.dn-item-entries{display:flex;flex-wrap:wrap;gap:6px}
.dn-entry{display:flex;align-items:center;gap:4px}
.dn-entry-room{font-size:.9rem;font-weight:700;color:#333}
.dn-entry-status{
  font-size:.7rem;font-weight:700;color:#fff;
  padding:2px 8px;border-radius:5px;
}
.dn-item-memo{font-size:.8rem;color:#666;margin-top:6px;font-style:italic}
/* ---- Notification card: horizontal layout (content left, buttons right) ---- */
.dn-item.pending{display:flex;align-items:stretch;gap:0}
.dn-item-content{flex:1;min-width:0}
.dn-item-actions-right{
  display:flex;flex-direction:column;gap:4px;margin-left:10px;flex-shrink:0;
  justify-content:center;
}
.dn-apply-btn-big{
  padding:14px 20px;border-radius:10px;border:none;
  background:#1e88e5;color:#fff;font-size:1rem;font-weight:700;
  cursor:pointer;min-width:72px;min-height:52px;transition:background .15s;
}
.dn-apply-btn-big:hover{background:#1565c0}
.dn-apply-btn-big:active{background:#0d47a1}
.dn-dismiss-btn-big{
  padding:14px 20px;border-radius:10px;border:2px solid #e53935;
  background:#fff;color:#e53935;font-size:1rem;font-weight:700;
  cursor:pointer;min-width:72px;min-height:52px;transition:all .15s;
}
.dn-dismiss-btn-big:hover{background:#ffebee}
.dn-dismiss-btn-big:active{background:#ffcdd2}

/* ---- Sub-tab bar (door status / staff reports) ---- */
.dn-subtab-bar{display:flex;border-bottom:2px solid #e0e0e0;background:#fff}
.dn-subtab{
  flex:1;padding:12px 16px;font-size:.95rem;font-weight:600;color:#666;
  border:none;background:none;border-bottom:3px solid transparent;
  text-align:center;cursor:pointer;transition:all .15s;min-height:48px;
  display:flex;align-items:center;justify-content:center;gap:6px;
}
.dn-subtab.active{color:#1a237e;border-bottom-color:#1a237e;background:#f5f7ff}
.dn-subtab:hover:not(.active){background:#fafafa}

/* ---- Staff notification tags ---- */
.sn-item-tag{
  display:inline-block;padding:3px 10px;border-radius:6px;
  font-size:.8rem;font-weight:600;background:#fff3e0;color:#e65100;
}
.sn-photo-badge{font-size:.75rem;color:#1e88e5;margin-top:4px;font-weight:600}
.dn-item-room-tag{
  font-size:.85rem;font-weight:700;color:#1a237e;
  background:#e8eaf6;padding:2px 8px;border-radius:4px;
}

/* ---- Room unit (tile + cleaning bar as one block) ---- */
.ri-unit{display:flex;flex-direction:column;cursor:pointer;transition:transform .1s}
.ri-unit:active{transform:scale(.96)}

/* ---- Room tile (fixed height, same size for all rooms) ---- */
.ri-tile{background:#fff;border-radius:8px 8px 0 0;padding:6px 8px;
  box-shadow:0 1px 3px rgba(0,0,0,.07);display:flex;flex-direction:column;
  border-left:5px solid #ccc;height:110px}
.ri-tile.st-occupied{border-left-color:#1e88e5;background:#f3f8ff}
.ri-tile.st-departing{border-left-color:#9e9e9e;background:#f5f5f5}
.ri-tile.st-vacant{border-left-color:#e0e0e0;background:#fafafa}

/* Status label (full-width bar) */
.ri-status-label{display:block;padding:2px 8px;border-radius:4px;
  font-size:.75rem;font-weight:700;white-space:nowrap;margin:2px 0}
.ri-status-label.occupied{background:#bbdefb;color:#0d47a1}
.ri-status-label.departing{background:#e0e0e0;color:#616161}
.ri-status-label.vacant{background:#f0f0f0;color:#999}

/* Guest info */
.ri-guest-info{font-size:.7rem;color:#555;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis}

/* Spacer pushes notes to bottom */
.ri-spacer{flex:1}

/* Notes area (bottom of tile) */
.ri-notes{display:flex;gap:2px;flex-wrap:wrap;align-items:flex-end}

/* ---- Cleaning bar (below tile, separate) ---- */
.ri-clean-bar{display:flex;align-items:center;justify-content:space-between;
  padding:4px 8px;border-radius:0 0 8px 8px;
  font-size:.7rem;font-weight:700;white-space:nowrap;overflow:hidden;
  min-height:24px}
.ri-clean-bar.task-TODO{background:#e0e0e0;color:#666}
.ri-clean-bar.task-IN_PROGRESS{background:#fff3e0;color:#ef6c00}
.ri-clean-bar.task-DONE{background:#c8e6c9;color:#2e7d32}
.ri-clean-bar.task-none{background:#f5f5f5;color:#bbb}
.ri-clean-type{font-weight:800;overflow:hidden;text-overflow:ellipsis}
.ri-clean-status{font-weight:600;flex-shrink:0}

/* ---- Legend separator ---- */
.ri-legend-sep{width:1px;height:14px;background:#ccc;margin:0 4px}

/* ---- Lights-off dimming (vacant from before) ---- */
.ri-unit.ri-dimmed{opacity:0.25;filter:saturate(0.2);transition:opacity .2s,filter .2s}
.ri-unit.ri-dimmed:active{opacity:0.5;filter:saturate(0.5)}

/* Empty state */
.dn-empty{padding:20px;text-align:center;color:#999;font-size:.9rem}

/* Applied section */
.dn-applied-section{border-top:1px solid #e0e0e0}
.dn-applied-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 16px;font-size:.85rem;color:#888;
}
.dn-clear-btn{
  padding:4px 10px;border-radius:6px;border:1px solid #ddd;
  background:#fff;color:#999;font-size:.75rem;cursor:pointer;
}
.dn-clear-btn:hover{border-color:#e53935;color:#e53935}
.dn-applied-list{padding:4px 12px 10px}
.dn-item.applied{
  padding:6px 12px;border-radius:8px;
  background:#fafafa;border:1px solid #eee;
  display:flex;align-items:center;gap:8px;
  font-size:.85rem;color:#999;margin-bottom:4px;
}
.dn-entry-mini{font-size:.8rem;color:#888;margin-right:6px}


/* ===== Cleaning Sheet ===== */

/* ===== Cleaning Sheet: Header ===== */
.sheet-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:12px}
.sheet-header h2{font-size:1.25rem}
.sheet-header-right{display:flex;align-items:center;gap:8px}
.sheet-date-picker{padding:6px 10px;border:1px solid #ccc;border-radius:8px;font-size:.9rem;
  background:#fff;color:#333;cursor:pointer}
.sheet-date-picker:focus{border-color:#1a237e;outline:none}
.btn-print{background:#1a237e;color:#fff;padding:14px 28px;border-radius:10px;
  font-size:1.05rem;font-weight:600;min-height:56px}
.btn-print:hover{background:#283593}
.sheet-meta{margin-top:12px;font-size:.85rem;color:#666;text-align:right}

/* ===== Cleaning Sheet: Table (screen & print shared) ===== */
.sheet-table{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;
  overflow:hidden;box-shadow:0 2px 6px rgba(0,0,0,.08)}
.sheet-table th{background:#37474f;color:#fff;padding:10px 8px;font-size:.85rem;text-align:left;white-space:nowrap}
.sheet-table th.th-sortable{cursor:pointer;user-select:none;transition:background .15s}
.sheet-table th.th-sortable:hover{background:#455a64}
.sort-arrow{font-size:.7rem;margin-left:3px;opacity:.85}
.sheet-table td{padding:8px 8px;border-bottom:1px solid #eee;font-size:.85rem;vertical-align:top}
.sheet-table .td-room{font-weight:700;font-size:1.05rem;white-space:nowrap}
.sheet-table .td-time{white-space:nowrap}
.sheet-table .td-notes{white-space:normal;font-size:.8rem;min-width:120px}
.sheet-table .td-guest{white-space:nowrap}
.sheet-table tr:nth-child(even){background:#fafafa}

/* Notes: auto-generated + editable comment */
.notes-auto{margin-bottom:4px;color:#666;font-size:.78rem}
.notes-input{width:100%;padding:4px 6px;border:1px solid #ddd;border-radius:4px;font-size:.8rem;
  background:#fafafa;color:#333;outline:none;min-width:100px}
.notes-input:focus{border-color:#1a237e;background:#fff}
.notes-comment-print{display:none}
.notes-edit-row{display:flex;gap:4px;align-items:center}
.notes-edit-row .notes-input{flex:1}
.sheet-save-btn{background:#1a237e;color:#fff;border:none;border-radius:4px;
  padding:4px 10px;font-size:.75rem;cursor:pointer;white-space:nowrap}
.sheet-save-btn:hover{background:#283593}

/* ===== Filters & Column Toggle ===== */
.sheet-filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px;
  padding:10px 12px;background:#f5f5f5;border-radius:10px}
.sheet-filter-group{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.sheet-filter-label{font-size:.78rem;font-weight:600;color:#555;margin-right:2px;white-space:nowrap}
.sheet-filter-btn{background:#fff;border:1px solid #ccc;border-radius:6px;
  padding:4px 10px;font-size:.78rem;cursor:pointer;color:#333;transition:all .15s}
.sheet-filter-btn:hover{border-color:#1a237e;color:#1a237e}
.sheet-filter-btn.active{background:#1a237e;color:#fff;border-color:#1a237e}

.sheet-col-toggle{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-bottom:10px}
.sheet-col-btn{background:#e8eaf6;border:1px solid #c5cae9;border-radius:6px;
  padding:3px 10px;font-size:.75rem;cursor:pointer;color:#333;transition:all .15s}
.sheet-col-btn:hover{border-color:#1a237e}
.sheet-col-btn.active{background:#3949ab;color:#fff;border-color:#3949ab}

/* Guest: show icon version on screen, text on print */
.guest-print{display:none}

/* ===== Type Legend ===== */
.sheet-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:10px;padding:8px 4px;
  font-size:.8rem;color:#666;border-top:1px solid #e0e0e0}
.sheet-legend span{white-space:nowrap}

/* ===== Print ===== */
@media print{
  body{background:#fff;font-size:9pt}
  .header,.tab-bar,.no-print,#tab-hk,#tab-front,#tab-lf,#tab-assign,#tab-inspect,.modal-overlay{display:none!important}
  #tab-sheet{display:block!important}
  main{padding:0;max-width:100%}
  .sheet-table{box-shadow:none;border:1px solid #333;border-radius:0}
  .sheet-table th{background:#333!important;color:#fff!important;-webkit-print-color-adjust:exact;
    print-color-adjust:exact;padding:6px 6px;font-size:8pt}
  .sheet-table td{border:1px solid #ccc;padding:5px 6px;font-size:8pt}
  .sheet-table .td-notes{min-width:80px}
  .notes-auto{margin-bottom:2px}
  .notes-edit-row{display:none}
  .notes-comment-print{display:inline;font-style:italic;color:#333}
  .guest-screen{display:none}
  .guest-print{display:inline}
  .badge,.tag-exception,.tag-severity,.badge-policy{border:1px solid #999;
    -webkit-print-color-adjust:exact;print-color-adjust:exact}
  .sheet-legend{border-top:1px solid #999;padding-top:6px;font-size:7.5pt;color:#333}
}


/* ===== Lost & Found ===== */

.lf-register{background:#fff;border-radius:16px;padding:20px;margin-bottom:20px;
  box-shadow:0 2px 8px rgba(0,0,0,.08)}
.lf-register h3{font-size:1.1rem;margin-bottom:14px;color:#1a237e}
.lf-form-row{display:flex;gap:12px;margin-bottom:12px;flex-wrap:wrap;align-items:center}
.lf-input{padding:12px 16px;border:2px solid #e0e0e0;border-radius:10px;font-size:1rem;
  min-height:52px;flex:1;min-width:120px;transition:border-color .2s}
.lf-input:focus{outline:none;border-color:#1a237e}
.lf-input-sm{max-width:140px}
.lf-btn-add{background:#1a237e;color:#fff;padding:12px 28px;border-radius:12px;
  font-size:1.05rem;font-weight:700;min-height:52px;transition:background .2s}
.lf-btn-add:hover{background:#283593}
.lf-filters{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap}
.lf-filter-btn{padding:10px 22px;border-radius:24px;font-size:1rem;font-weight:600;
  border:3px solid #e0e0e0;background:#fff;color:#555;transition:all .15s;min-height:48px}
.lf-filter-btn.active{border-color:#1a237e;background:#e8eaf6;color:#1a237e}
.lf-filter-btn:hover:not(.active){border-color:#9fa8da;background:#f5f7ff}
.lf-count{font-size:.9rem;color:#888;margin-bottom:12px}
.lf-table{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;
  overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.lf-table th{background:#1a237e;color:#fff;padding:14px 12px;font-size:.9rem;
  font-weight:600;text-align:left;white-space:nowrap}
.lf-table td{padding:12px;border-bottom:1px solid #f0f0f0;font-size:.95rem;vertical-align:middle}
.lf-table tr:last-child td{border-bottom:none}
.lf-table tr:hover{background:#f8f9ff}
.lf-status-sel{padding:8px 12px;border:2px solid #e0e0e0;border-radius:8px;font-size:.9rem;
  font-weight:600;min-height:42px;background:#fff}
.lf-status-sel.stored{border-color:#1e88e5;color:#1e88e5}
.lf-status-sel.return_plan{border-color:#f57c00;color:#f57c00}
.lf-status-sel.returned{border-color:#43a047;color:#43a047}
.lf-thumb{width:50px;height:50px;object-fit:cover;border-radius:8px;border:1px solid #e0e0e0;cursor:pointer}
.lf-no-items{text-align:center;padding:40px;color:#999;font-size:1.1rem}
.lf-img-row{display:flex;gap:12px;align-items:center}


/* ===== Assignment Tab ===== */

.assign-summary{display:flex;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.assign-summary-chip{padding:10px 20px;border-radius:20px;font-size:1rem;font-weight:600;
  display:flex;align-items:center;gap:8px;background:#fff;
  box-shadow:0 1px 4px rgba(0,0,0,.08)}
.assign-staff-dot{width:14px;height:14px;border-radius:50%;flex-shrink:0}
.assign-staff-filter{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap;align-items:center}
.assign-staff-btn{padding:12px 20px;border-radius:24px;font-size:1.05rem;font-weight:700;
  border:3px solid #e0e0e0;background:#fff;color:#555;transition:all .15s;min-height:52px;
  display:flex;align-items:center;gap:8px}
.assign-staff-btn.active{border-color:#1a237e;background:#e8eaf6;color:#1a237e}
.assign-staff-btn:hover:not(.active){border-color:#9fa8da;background:#f5f7ff}
.assign-table{margin-top:4px}
.assign-table td{vertical-align:middle}
.assign-table tr{border-left:5px solid #ccc}
.assign-sel{min-height:44px;padding:6px 10px;border-radius:8px;
  border:2px solid #e0e0e0;font-size:.95rem;font-weight:600;background:#fff;width:100%;
  color:#333;appearance:auto}
.assign-sel:focus{border-color:#1a237e;outline:none}

/* View toggle */
.assign-view-toggle{display:flex;gap:6px;margin-bottom:14px}
.assign-view-btn{padding:10px 22px;border-radius:20px;font-size:1rem;font-weight:700;
  border:3px solid #e0e0e0;background:#fff;color:#555;min-height:48px;
  display:flex;align-items:center;gap:6px;transition:all .15s;cursor:pointer}
.assign-view-btn.active{border-color:#1a237e;background:#e8eaf6;color:#1a237e}
.assign-view-btn:hover:not(.active){border-color:#9fa8da;background:#f5f7ff}

/* Assignment grid */
.assign-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}
.assign-grid-cell{background:#fff;border-radius:10px;padding:8px 10px;
  box-shadow:0 1px 4px rgba(0,0,0,.08);display:flex;flex-direction:column;gap:3px;
  border-left:5px solid #ccc;min-height:0;transition:transform .1s}
.assign-grid-cell:active{transform:scale(.96)}
.assign-grid-cell.st-occupied{border-left-color:#1e88e5;background:#f3f8ff}
.assign-grid-cell.st-departing{border-left-color:#f57c00;background:#fff8f0}
.assign-grid-cell.st-vacant{border-left-color:#66bb6a;background:#f5fef5}
.assign-grid-cell.no-task{opacity:.4;pointer-events:none}
.assign-grid-cell.staff-dim{opacity:.25}
.assign-grid-room{font-size:1.2rem;font-weight:800;color:#1a1a2e;line-height:1}
.assign-grid-badges{display:flex;gap:3px;flex-wrap:wrap;align-items:center}
.assign-grid-staff{font-size:.75rem;font-weight:700;color:#555;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.assign-grid-cell .assign-sel{min-height:36px;font-size:.8rem;padding:3px 6px;border-width:1.5px}


/* ===== Inspection Tab ===== */

.insp-summary{display:flex;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.insp-chip{padding:12px 24px;border-radius:24px;font-size:1.1rem;font-weight:600}
.insp-chip.pending{background:#fff3e0;color:#ef6c00}
.insp-chip.completed{background:#e8f5e9;color:#2e7d32}
.insp-filters{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap}
.insp-filter-btn{padding:10px 22px;border-radius:24px;font-size:1rem;font-weight:600;
  border:3px solid #e0e0e0;background:#fff;color:#555;transition:all .15s;min-height:48px}
.insp-filter-btn.active{border-color:#1a237e;background:#e8eaf6;color:#1a237e}
.insp-filter-btn:hover:not(.active){border-color:#9fa8da;background:#f5f7ff}
.insp-card{background:#fff;border-radius:14px;padding:14px 18px;margin-bottom:12px;
  box-shadow:0 2px 6px rgba(0,0,0,.08);border-left:6px solid #66bb6a}
.insp-card.inspected{border-left-color:#2e7d32;opacity:.8}
.insp-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;
  flex-wrap:wrap;gap:6px}
.insp-card-room{font-size:1.6rem;font-weight:800;color:#1a1a2e}
.insp-card-meta{font-size:.9rem;color:#666;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.insp-rating-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;margin-bottom:10px}
.insp-rating-row{display:flex;align-items:center;gap:8px}
.insp-rating-label{min-width:100px;font-size:.95rem;font-weight:600;color:#333}
.insp-rating-btns{display:flex;gap:6px}
.insp-rating-btn{width:46px;height:46px;border-radius:10px;font-size:1.3rem;font-weight:800;
  border:3px solid #e0e0e0;background:#fff;color:#999;transition:all .15s;
  display:flex;align-items:center;justify-content:center}
.insp-rating-btn:hover{border-color:#90caf9;background:#f5f7ff}
.insp-rating-btn.selected.rate-4{border-color:#2e7d32;background:#e8f5e9;color:#2e7d32}
.insp-rating-btn.selected.rate-3{border-color:#1565c0;background:#e3f2fd;color:#1565c0}
.insp-rating-btn.selected.rate-2{border-color:#ef6c00;background:#fff3e0;color:#ef6c00}
.insp-rating-btn.selected.rate-1{border-color:#c62828;background:#ffebee;color:#c62828}
.insp-note-input{width:100%;min-height:44px;padding:10px 14px;border:2px solid #e0e0e0;
  border-radius:10px;font-size:.95rem;resize:vertical;box-sizing:border-box}
.insp-note-input:focus{outline:none;border-color:#1a237e}
.insp-save-btn{padding:10px 24px;border-radius:10px;font-size:1rem;font-weight:700;
  min-height:46px;background:#1a237e;color:#fff;transition:background .2s;margin-top:6px}
.insp-save-btn:hover{background:#283593}
.insp-save-btn.saved{background:#43a047}
.insp-avg-section{background:#fff;border-radius:16px;padding:20px;margin-bottom:20px;
  box-shadow:0 2px 8px rgba(0,0,0,.08)}
.insp-avg-section h3{font-size:1.1rem;color:#1a237e;margin-bottom:12px}
.insp-avg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}
.insp-avg-item{text-align:center;padding:14px;border-radius:12px;background:#f5f7ff}
.insp-avg-item .label{font-size:.9rem;color:#666;margin-bottom:4px}
.insp-avg-item .value{font-size:2rem;font-weight:800;color:#1a237e}
.insp-avg-item .symbol{font-size:1.2rem}
