#belair-cleaner-cabin-tasks {
  display:none;
  position:fixed;
  inset:0;
  z-index:2147480300;
  font-family:inherit;
}

#belair-cleaner-cabin-tasks.active { display:block; }
#belair-cleaner-cabin-tasks .cct-backdrop { position:absolute; inset:0; background:rgba(11,26,21,.68); backdrop-filter:blur(3px); }
#belair-cleaner-cabin-tasks .cct-shell { position:absolute; inset:3vh 3vw; display:flex; flex-direction:column; overflow:hidden; border-radius:20px; background:#f5f7f5; box-shadow:0 24px 80px rgba(0,0,0,.32); }
#belair-cleaner-cabin-tasks .cct-header { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; padding:20px 22px; background:#173f34; color:#fff; }
#belair-cleaner-cabin-tasks .cct-header h2 { margin:2px 0 3px; font-size:1.55rem; }
#belair-cleaner-cabin-tasks .cct-header p { margin:0; color:#d9ebe3; font-size:.86rem; }
#belair-cleaner-cabin-tasks .cct-kicker { color:#bfe0d1; font-size:.7rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
#belair-cleaner-cabin-tasks .cct-close { width:46px; min-width:46px; height:46px; border:1px solid rgba(255,255,255,.35); border-radius:50%; background:rgba(255,255,255,.12); color:#fff; font-size:1.7rem; cursor:pointer; }
#belair-cleaner-cabin-tasks .cct-body { flex:1; overflow:auto; padding:18px 20px 34px; }
body.cct-open { overflow:hidden; }

.cct-success, .cct-error, .cct-loading { border-radius:13px; padding:12px 14px; margin-bottom:14px; }
.cct-success { background:#e8f6ed; color:#27633e; font-weight:850; }
.cct-error { display:flex; flex-direction:column; gap:8px; background:#fff0ee; color:#8a342d; }
.cct-loading { display:flex; align-items:center; gap:10px; background:#fff; color:#4a5a52; }
.cct-loading span { width:18px; height:18px; border:3px solid #dce7e1; border-top-color:#1e6a4c; border-radius:50%; animation:cct-spin .8s linear infinite; }
@keyframes cct-spin { to { transform:rotate(360deg); } }

.cct-notifications { margin-bottom:15px; border:1px solid #e6b878; border-radius:14px; background:#fff9ee; padding:12px; }
.cct-section-title { display:flex; justify-content:space-between; margin-bottom:8px; }
.cct-section-title div { display:flex; flex-direction:column; }
.cct-section-title span { color:#7f6a4c; font-size:.72rem; }
.cct-notification { display:flex; width:100%; flex-direction:column; gap:3px; margin-top:7px; border:1px solid #efd4ae; border-radius:10px; background:#fff; padding:10px 11px; text-align:left; cursor:pointer; }
.cct-notification strong { color:#734817; }
.cct-notification span { color:#5e554c; font-size:.78rem; line-height:1.4; }
.cct-notification small { color:#8a8177; }

.cct-create { margin-bottom:15px; border:1px solid #cbded4; border-radius:14px; background:#fff; overflow:hidden; }
.cct-create-toggle { display:flex; align-items:center; gap:9px; width:100%; border:0; background:#e9f5ef; color:#205b42; padding:13px 14px; text-align:left; cursor:pointer; }
.cct-create-toggle span { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:#226848; color:#fff; font-size:1.3rem; }
.cct-create-form { display:flex; flex-direction:column; gap:12px; padding:14px; }
.cct-create-form label, .cct-admin label, .cct-complete label { display:flex; flex-direction:column; gap:5px; color:#45534c; font-size:.76rem; font-weight:850; }
.cct-create-form input, .cct-create-form textarea, .cct-create-form select, .cct-admin input, .cct-admin textarea, .cct-admin select, .cct-complete textarea { box-sizing:border-box; width:100%; min-height:43px; border:1px solid #cdd8d2; border-radius:9px; background:#fff; padding:8px 9px; font:inherit; font-size:16px; color:#29362f; }
.cct-create-form textarea, .cct-admin textarea, .cct-complete textarea { resize:vertical; }
.cct-grid, .cct-admin-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.cct-admin-grid .full { grid-column:1/-1; }
.cct-file { border:1px dashed #8eb4a1; border-radius:10px; padding:11px; background:#f8fbf9; }
.cct-file small { color:#748077; font-weight:600; }
.cct-file-list { border-radius:8px; background:#f0f3f1; color:#657168; padding:8px 10px; font-size:.72rem; overflow-wrap:anywhere; }
.cct-form-message, .cct-inline-message { min-height:18px; color:#37624b; font-size:.75rem; font-weight:800; }
.cct-form-message.error, .cct-inline-message.error { color:#943b34; }
.cct-submit { align-self:flex-end; }

.cct-toolbar { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-bottom:14px; }
.cct-filters { display:flex; flex-wrap:wrap; gap:7px; }
.cct-filter { display:flex; align-items:center; gap:6px; border:1px solid #ced9d3; border-radius:999px; background:#fff; color:#46534d; padding:7px 10px; font:inherit; font-size:.76rem; font-weight:800; cursor:pointer; }
.cct-filter span { display:grid; min-width:20px; height:20px; place-items:center; border-radius:999px; background:#edf1ef; font-size:.68rem; }
.cct-filter.active { border-color:#236548; background:#236548; color:#fff; }
.cct-filter.active span { background:rgba(255,255,255,.2); }
.cct-search { display:flex; min-width:235px; flex-direction:column; gap:4px; color:#607069; font-size:.7rem; font-weight:800; }
.cct-search input { min-height:40px; border:1px solid #ced9d3; border-radius:9px; padding:8px 10px; font:inherit; font-size:16px; }

.cct-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(330px,1fr)); gap:13px; }
.cct-card { border:1px solid #d8e0dc; border-radius:14px; background:#fff; padding:14px; box-shadow:0 3px 12px rgba(24,57,44,.05); }
.cct-card.due-soon { border:2px solid #d9852f; box-shadow:0 5px 18px rgba(217,133,47,.15); }
.cct-card-top { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }
.cct-card h3 { margin:3px 0 0; color:#263c32; font-size:1rem; }
.cct-site { color:#206145; font-size:.72rem; font-weight:950; text-transform:uppercase; letter-spacing:.045em; }
.cct-status { border-radius:999px; padding:5px 8px; font-size:.67rem; font-weight:950; white-space:nowrap; }
.cct-status.open { background:#edf2ef; color:#4b5d54; }
.cct-status.scheduled { background:#e4f1ff; color:#285c8f; }
.cct-status.delayed { background:#fff0d8; color:#875312; }
.cct-status.completed { background:#e6f5eb; color:#27643e; }
.cct-status.cancelled { background:#f0eeee; color:#706565; }
.cct-description { color:#515e57; font-size:.82rem; line-height:1.48; white-space:pre-wrap; }
.cct-meta { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin:10px 0; }
.cct-meta span { display:flex; flex-direction:column; border-radius:8px; background:#f5f7f6; padding:7px 8px; color:#56635c; font-size:.71rem; }
.cct-meta strong { color:#384a40; font-size:.64rem; text-transform:uppercase; }
.cct-due-warning { border-radius:9px; background:#fff1df; color:#824d14; padding:9px 10px; font-size:.75rem; font-weight:850; line-height:1.4; }
.cct-note { display:flex; flex-direction:column; gap:3px; margin-top:9px; border-left:4px solid #769985; background:#f3f7f4; padding:8px 9px; font-size:.75rem; }
.cct-note.completed { border-color:#3c8a5b; background:#edf8f0; }
.cct-evidence { margin-top:10px; }
.cct-evidence > strong { color:#49594f; font-size:.72rem; }
.cct-evidence > div { display:flex; flex-wrap:wrap; gap:6px; margin-top:6px; }
.cct-evidence button { border:1px solid #c8d8cf; border-radius:8px; background:#f4faf6; color:#285b42; padding:7px 9px; font:inherit; font-size:.72rem; font-weight:850; cursor:pointer; }
.cct-admin, .cct-complete { margin-top:11px; border:1px solid #dce3df; border-radius:10px; background:#fafcfa; padding:9px; }
.cct-admin summary, .cct-complete summary { color:#315743; font-size:.78rem; font-weight:950; cursor:pointer; }
.cct-admin-grid { margin-top:10px; }
.cct-admin-actions { display:flex; flex-wrap:wrap; gap:7px; margin-top:9px; }
.cct-admin-actions .danger { border-color:#e0b3ad; color:#8c3931; background:#fff2f0; }
.cct-complete label { margin:9px 0; }
.cct-card footer { margin-top:10px; color:#818a85; font-size:.66rem; }
.cct-empty { grid-column:1/-1; display:flex; flex-direction:column; align-items:center; gap:5px; border:1px dashed #cad5cf; border-radius:14px; background:#fff; padding:35px 15px; color:#66746d; }

.cct-button-badge { display:inline-grid; place-items:center; min-width:20px; height:20px; margin-left:auto; border-radius:999px; background:#c94e41; color:#fff; padding:0 5px; font-size:.64rem; font-weight:950; }
.cct-button-badge[hidden] { display:none !important; }
.cct-toast { position:fixed; z-index:2147480700; right:16px; top:16px; display:flex; width:min(390px,calc(100vw - 32px)); flex-direction:column; gap:4px; border:1px solid #d8b074; border-radius:13px; background:#fff9ee; color:#5a4529; padding:12px 14px; box-shadow:0 15px 40px rgba(0,0,0,.24); text-align:left; cursor:pointer; }
.cct-toast strong { color:#7c4b13; }
.cct-toast span { font-size:.78rem; line-height:1.4; }

@media (max-width:900px) {
  #belair-cleaner-cabin-tasks .cct-shell { inset:0; border-radius:0; padding-bottom:calc(var(--belair-mobile-nav-height,76px) + env(safe-area-inset-bottom)); }
  #belair-cleaner-cabin-tasks .cct-header { padding:15px 14px 12px; }
  #belair-cleaner-cabin-tasks .cct-header h2 { font-size:1.3rem; }
  #belair-cleaner-cabin-tasks .cct-header p { font-size:.74rem; }
  #belair-cleaner-cabin-tasks .cct-body { padding:13px 11px 24px; }
  .cct-toolbar { align-items:stretch; flex-direction:column; }
  .cct-search { min-width:0; }
  .cct-list { grid-template-columns:1fr; }
  .cct-grid, .cct-admin-grid, .cct-meta { grid-template-columns:1fr; }
  .cct-admin-actions { flex-direction:column; }
  .cct-admin-actions button, .cct-submit { width:100%; }
  .cct-toast { top:10px; right:10px; width:calc(100vw - 20px); }
}
