/* ═══ Style Block 1 ═══ */
.checklist-admin-shell {
  max-width: 1320px;
  margin: 0 auto;
  padding: 32px 40px 64px;
}

body.page-checklist-settings #header,
body.page-portal-bridal-checklist #header {
  background: linear-gradient(180deg, rgba(31, 63, 110, 0.96) 0%, rgba(22, 45, 78, 0.98) 100%);
  border-bottom-color: rgba(188, 208, 238, 0.38);
}

#checklist-settings-body,
#portal-bridal-checklist-body,
#portal-bridal-checklist-body,
#portal-bridal-checklist-body {
  background:
    radial-gradient(circle at top left, rgba(219, 226, 206, 0.65), transparent 32%),
    linear-gradient(180deg, #edf4fc 0%, #f3f8fd 100%);
  min-height: calc(100vh - 150px);
}

.checklist-admin-hero {
  margin-bottom: 24px;
}

.checklist-admin-kicker {
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #7a8ea4;
  font-weight: 600;
  margin-bottom: 8px;
}

.checklist-admin-title {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 40px;
  line-height: 1.05;
  color: #1a2232;
  font-weight: 500;
}

.checklist-admin-sub {
  margin-top: 10px;
  font-size: 14px;
  color: #5a6c7e;
  line-height: 1.7;
  max-width: 760px;
}

.checklist-admin-status {
  min-height: 22px;
  margin-bottom: 18px;
  font-size: 12px;
  color: #627287;
}

.checklist-admin-status.is-error {
  color: #2F5FA7;
}

.checklist-admin-status.is-success {
  color: #4a7a4e;
}

.checklist-admin-grid {
  display: grid;
  grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.6fr);
  gap: 20px;
  align-items: start;
}

.checklist-admin-card-stack {
  display: grid;
  gap: 20px;
}

.checklist-admin-card-wide {
  grid-column: span 1;
}

.checklist-admin-card {
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid #c8d8ec;
  border-radius: 18px;
  box-shadow: 0 16px 40px rgba(30, 50, 80, 0.05);
  overflow: hidden;
}

.checklist-admin-card-head {
  padding: 22px 22px 16px;
  border-bottom: 1px solid #dceaf7;
  background: linear-gradient(180deg, #f8fcff 0%, #e8f2fc 100%);
}

.checklist-admin-card-title {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 28px;
  color: #1a2232;
}

.checklist-admin-card-sub {
  margin-top: 6px;
  font-size: 12px;
  line-height: 1.6;
  color: #627287;
}

.checklist-admin-form {
  padding: 18px 22px;
  border-bottom: 1px solid #dceaf7;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.checklist-admin-label {
  font-size: 9px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #627287;
  font-weight: 700;
}

.checklist-admin-input {
  width: 100%;
  border: 1.5px solid #c8d8ec;
  border-radius: 10px;
  padding: 11px 12px;
  font-family: inherit;
  font-size: 13px;
  background: #f5f9ff;
  color: #222;
  outline: none;
}

.checklist-admin-input:focus {
  border-color: #2f5fa7;
  background: #fff;
}

.checklist-admin-textarea {
  min-height: 88px;
  resize: vertical;
}

.checklist-admin-check {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: #4a5e70;
  font-weight: 500;
}

.checklist-admin-check input {
  width: 16px;
  height: 16px;
  accent-color: #2f5fa7;
}

.checklist-admin-actions {
  display: flex;
  gap: 10px;
  margin-top: 6px;
}

.checklist-admin-btn {
  border: 1.5px solid #c2d4e6;
  background: #fff;
  color: #546278;
  border-radius: 999px;
  padding: 10px 14px;
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
}

.checklist-admin-btn.primary {
  background: #2f5fa7;
  color: #fff;
  border-color: #2f5fa7;
}

.checklist-admin-list {
  padding: 16px 18px 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.checklist-admin-empty {
  padding: 18px;
  border: 1px dashed #cfd8e8;
  border-radius: 12px;
  color: #7a8ea4;
  text-align: center;
  font-size: 12px;
  background: #f5f9fe;
}

.checklist-admin-item {
  border: 1px solid #dce8f4;
  border-radius: 14px;
  padding: 14px;
  background: #fff;
}

.checklist-admin-item.is-inactive {
  opacity: 0.65;
}

.checklist-admin-item-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.checklist-admin-item-title {
  font-size: 14px;
  color: #1f1f1f;
  font-weight: 600;
  line-height: 1.5;
}

.checklist-admin-item-meta {
  margin-top: 4px;
  font-size: 11px;
  color: #7a8ea4;
  line-height: 1.5;
}

.checklist-admin-item-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 12px;
}

.checklist-admin-section-group {
  padding: 6px 0 2px;
  border-top: 1px solid #dceaf7;
}

.checklist-admin-section-group:first-child {
  border-top: none;
}

.checklist-admin-section-title {
  padding: 6px 6px 4px;
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #627287;
  font-weight: 700;
}

.checklist-admin-btn.primary:hover {
  filter: brightness(1.02);
}

.checklist-admin-inline-btn {
  border: 1px solid #cad6e7;
  background: #fff;
  color: #546278;
  border-radius: 999px;
  padding: 7px 10px;
  font-size: 9px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
}

.checklist-admin-inline-btn.warn {
  color: #2F5FA7;
}

.clx-wrap {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.clx-category {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.clx-category-title {
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #627287;
  font-weight: 700;
}

.clx-subcategory {
  margin-left: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.clx-subcategory-title {
  font-size: 12px;
  color: #2f5fa7;
  font-weight: 600;
}

.clx-task-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 20px;
}

.clx-subcategory .clx-task-grid {
  margin-left: 2px;
}

.clx-task-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 11px;
  line-height: 1.55;
  color: #7a8ea4;
}

.clx-task-item.done {
  color: #222;
  font-weight: 500;
}

.clx-task-item .icon {
  flex-shrink: 0;
  margin-top: 1px;
  color: #b8cee2;
}

.clx-task-item.done .icon {
  color: #4a7a4e;
}

.clx-form-group {
  border: 1px solid #dce8f4;
  border-radius: 14px;
  background: #f5f9fe;
  overflow: hidden;
}

.clx-form-group-head {
  padding: 12px 14px;
  background: #eef4fb;
  border-bottom: 1px solid #dce8f4;
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #546278;
  font-weight: 700;
}

.clx-form-subgroup {
  padding: 12px 14px;
  border-top: 1px solid #e2ecf5;
}

.clx-form-subgroup:first-child {
  border-top: none;
}

.clx-form-subtitle {
  margin-bottom: 10px;
  font-size: 12px;
  color: #2f5fa7;
  font-weight: 600;
}

.clx-form-task-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 14px;
}

@media (max-width: 1100px) {
  .checklist-admin-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .checklist-admin-shell {
    padding: 18px 12px 52px;
  }

  .checklist-admin-title {
    font-size: 30px;
  }

  .checklist-admin-card-head,
  .checklist-admin-form,
  .checklist-admin-list {
    padding-left: 16px;
    padding-right: 16px;
  }

  .checklist-admin-actions {
    flex-direction: column;
  }

  .checklist-admin-btn {
    width: 100%;
  }

  .clx-task-grid,
  .clx-form-task-grid {
    grid-template-columns: 1fr;
  }
}

/* ═══ Style Block 2 ═══ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}body{font-family:'Jost','Helvetica Neue',sans-serif;background:#f4f7fc;color:#2c2c2c;font-size:13px;min-height:100vh;}input,select,textarea,button{font-family:inherit;}#header{background:#2c2c2c;border-bottom:1px solid #222;padding:24px 48px 20px;box-shadow:0 4px 16px rgba(0,0,0,0.15);transition:background 0.25s,border-color 0.25s;}#header-inner{max-width:1300px;margin:0 auto;}#header-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;}#logo-block{display:flex;align-items:center;gap:18px;}#logo-img{width:72px;height:auto;mix-blend-mode:screen;opacity:0.85;}#logo-text-name{font-family:'Cormorant Garamond',Georgia,serif;font-size:24px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;line-height:1.1;color:#dce8f4;transition:color 0.25s;}#logo-text-sub{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:14px;color:#aaa;letter-spacing:0.06em;margin-top:1px;transition:color 0.25s;}#logo-text-portal{font-size:8px;letter-spacing:0.22em;color:#777;text-transform:uppercase;margin-top:6px;padding-top:5px;border-top:1px solid #eee;}#add-btn{padding:11px 28px;border:1.5px solid #2c2c2c;background:#2c2c2c;color:#fff;font-size:10px;cursor:pointer;letter-spacing:0.16em;text-transform:uppercase;transition:all 0.2s;white-space:nowrap;}#add-btn:hover{background:#444;border-color:#444;}#nav-tabs{display:flex;gap:4px;flex-wrap:wrap;margin-top:18px;}.nav-tab{padding:8px 18px;background:transparent;border:1.5px solid rgba(255,255,255,0.18);border-radius:3px;color:rgba(255,255,255,0.9);font-family:'Jost',sans-serif;font-size:10px;font-weight:400;letter-spacing:0.12em;text-transform:uppercase;cursor:pointer;transition:background 0.15s,color 0.15s,border-color 0.15s;white-space:nowrap;}.nav-tab:hover{background:rgba(255,255,255,0.1);color:rgba(255,255,255,0.85);border-color:rgba(255,255,255,0.35);}.nav-tab.active{background:rgba(255,255,255,0.15);color:#fff;border-color:rgba(255,255,255,0.5);}.page{display:none;}.page.active{display:block;}#stats{display:none !important;margin-top:0;padding:0;border-top:none;flex-wrap:wrap;max-width:1300px;margin-left:auto;margin-right:auto;box-sizing:border-box;}.stat-item{padding-right:32px;margin-right:32px;border-right:1px solid #eee;}.stat-item:last-child{border-right:none;padding-right:0;margin-right:0;}.stat-num{font-family:'Cormorant Garamond',Georgia,serif;font-size:30px;font-weight:500;color:#2c2c2c;line-height:1;}.stat-num.warn{color:#2F5FA7;}.stat-label{font-size:9px;color:#666;letter-spacing:0.14em;text-transform:uppercase;margin-top:4px;font-weight:500;}#search-section{max-width:1300px;margin:0 auto;padding:20px 48px 0;}#search-wrap{position:relative;}#search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:15px;color:#bbb;pointer-events:none;}#search-input{width:100%;padding:11px 16px 11px 42px;border:1.5px solid #c9d8e8;font-size:13px;font-family:'Jost',sans-serif;background:#fff;outline:none;color:#2c2c2c;border-radius:4px;}#search-input:focus{border-color:#2c2c2c;}#table-section{max-width:1300px;margin:18px auto 0;padding:0 48px 50px;}.year-group{margin-bottom:32px;}.year-label{font-family:'Cormorant Garamond',Georgia,serif;font-size:13px;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;color:#555;margin-bottom:8px;padding-bottom:6px;border-bottom:1.5px solid #c9d8e8;}.year-label.past-label{color:#bbb;}.past-section{opacity:0.5;}.past-section:hover{opacity:0.7;transition:opacity 0.2s;}#table-footer-note{text-align:center;margin-top:10px;font-size:9px;color:#888;letter-spacing:0.1em;}.wedding-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #c9d8e8;border-radius:6px;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,0.04);margin-bottom:6px;table-layout:fixed;}.wedding-table thead tr{background:#2c2c2c;}.wedding-table th{padding:11px 14px;text-align:left;font-size:9px;font-weight:600;color:#ccc;letter-spacing:0.18em;text-transform:uppercase;white-space:nowrap;}.wedding-table th.center{text-align:center;}.wedding-table tbody tr.main-row{cursor:pointer;transition:background 0.12s;border-bottom:1px solid #e2ecf5;}.wedding-table tbody tr.main-row:hover{background:#f2f7fd !important;}.wedding-table td{padding:13px 14px;vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.wedding-table td.wrap{white-space:normal;}.wedding-table td.center{text-align:center;}.row-num{font-size:10px;color:#999;font-family:monospace;}.couple-cell{overflow:visible;text-overflow:clip;}.couple-line{display:flex;align-items:center;gap:10px;min-width:0;}.couple-name{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:15px;color:#2c2c2c;line-height:1.4;white-space:normal;word-break:break-word;display:block;min-width:0;}.dw-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 9px;border:1px solid #c9d6e8;font-size:10px;color:#555;letter-spacing:0.05em;border-radius:6px;flex-shrink:0;}.date-cell{font-size:12px;color:#333;white-space:nowrap;font-weight:400;}.guests-cell{font-size:12px;color:#333;font-weight:500;}.lead-cell{font-size:12px;color:#1a1a1a;font-weight:500;}.lead-empty{color:#aaa;}.asst-cell{font-size:11px;color:#444;font-weight:400;white-space:normal;word-break:break-word;}.dw-d{background:#edf2ed;border-color:#a8c4d8;color:#3a5e3a;}.dw-w{background:#f0edf5;border-color:#c4b8d0;color:#4a3a60;}.progress-bar-wrap{display:flex;align-items:center;gap:8px;min-width:110px;}.progress-track{flex:1;height:5px;background:#dde8f3;border-radius:99px;overflow:hidden;}.progress-fill{height:100%;border-radius:99px;transition:width 0.4s;}.progress-pct{font-size:10px;font-weight:500;min-width:30px;font-family:monospace;}.progress-sub{font-size:10px;color:#777;margin-top:3px;font-weight:400;}.edit-btn{padding:5px 16px;border:1.5px solid #2c2c2c;background:transparent;color:#2c2c2c;font-size:9px;cursor:pointer;letter-spacing:0.1em;text-transform:uppercase;border-radius:3px;transition:all 0.15s;}.edit-btn:hover{background:#2c2c2c;color:#fff;}.del-btn{padding:5px 10px;border:1.5px solid #e0d8d4;background:transparent;color:#ccc;font-size:11px;cursor:pointer;border-radius:3px;margin-left:5px;transition:all 0.15s;}.del-btn:hover{color:#c04a2a;border-color:#c04a2a;}tr.expand-row td{background:#f2f7fd;padding:0;border-bottom:1px solid #dde8f3;overflow:visible;white-space:normal;}.expand-inner{display:grid;grid-template-columns:200px 1fr;gap:28px;max-width:900px;}.expand-section-label{font-size:9px;letter-spacing:0.15em;color:#666;text-transform:uppercase;margin-bottom:8px;font-weight:600;}.expand-staff-line{font-size:12px;color:#333;line-height:2.1;font-weight:400;}.expand-staff-label{color:#666;margin-right:4px;font-weight:500;}.checklist-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px 24px;}.checklist-item{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:400;white-space:normal;color:#999;}.checklist-item.done{color:#2c2c2c;font-weight:500;}.checklist-item.pending{color:#999;}.check-icon{font-size:11px;}.checklist-item.done .check-icon{color:#4a7a4e;}.checklist-item.pending .check-icon{color:#bbb;}.notes-block{border-left:3px solid #bfd0e4;padding:10px 14px;font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:13px;color:#333;line-height:1.8;white-space:pre-wrap;background:#f5f9fe;border-radius:0 4px 4px 0;}.expand-notes-section{display:none;}.staff-summary{font-size:11px;color:#555;font-weight:300;line-height:1.7;white-space:normal;}.staff-summary .s-role{color:#666;font-size:10px;font-weight:500;}.staff-summary .s-name{color:#1a1a1a;font-weight:500;}.staff-summary .s-unassigned{color:#aaa;font-style:italic;}#footer{background:#dde0e8;padding:36px 48px;text-align:center;margin-top:10px;}#footer-logo{width:56px;height:auto;filter:grayscale(100%) opacity(60%);}#footer-name{font-family:'Cormorant Garamond',Georgia,serif;font-size:13px;letter-spacing:0.15em;text-transform:uppercase;color:#444;margin-top:10px;}#footer-addr{font-size:9px;color:#666;letter-spacing:0.08em;font-weight:400;margin-top:5px;}#modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:650;display:none;background:rgba(30,28,24,0.55);backdrop-filter:blur(6px);overflow:hidden;}#modal-overlay.open{display:block;}#modal-scroll-inner{position:absolute;top:0;left:0;right:0;bottom:0;overflow-y:auto;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;}#modal-box{background:#fff;width:min(700px,100%);border-radius:6px;box-shadow:0 32px 80px rgba(0,0,0,0.22);margin:0 auto;flex-shrink:0;}#modal-head{background:#2c2c2c;padding:22px 32px;display:flex;justify-content:space-between;align-items:center;border-radius:6px 6px 0 0;}#modal-head-logo{display:flex;align-items:center;gap:14px;}#modal-head-logo img{width:42px;height:auto;mix-blend-mode:screen;opacity:0.9;}#modal-title-sub{font-size:9px;letter-spacing:0.2em;color:#aaa;text-transform:uppercase;margin-bottom:4px;}#modal-title{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:20px;color:#fff;font-weight:400;}#modal-close{background:#444;border:none;cursor:pointer;font-size:16px;color:#ccc;padding:6px 10px;border-radius:4px;line-height:1;transition:background 0.15s;}#modal-close:hover{background:#555;color:#fff;}#modal-body{padding:28px 32px 32px;}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 28px;}.form-full{grid-column:1 / -1;}.form-label{font-size:9px;font-weight:600;color:#666;letter-spacing:0.14em;text-transform:uppercase;display:block;margin-bottom:5px;}.form-input{width:100%;padding:9px 12px;border:1.5px solid #c9d8e8;font-size:13px;font-family:'Jost',sans-serif;background:#f3f8ff;outline:none;color:#2c2c2c;border-radius:4px;transition:border-color 0.15s;}.form-input:focus{border-color:#2c2c2c;background:#fff;}.form-input.italic-style{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:14px;}textarea.form-input{min-height:68px;resize:vertical;}.section-divider{margin-top:22px;padding-top:18px;border-top:1px solid #dde8f3;}.section-title{font-size:9px;letter-spacing:0.15em;color:#666;text-transform:uppercase;margin-bottom:12px;font-weight:600;}.checklist-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 28px;background:#f2f7fd;padding:14px 16px;border-radius:4px;border:1px solid #dde8f3;}.check-label{display:flex;align-items:center;gap:9px;cursor:pointer;user-select:none;font-size:12px;color:#555;font-weight:300;}.custom-check{width:16px;height:16px;border:1.5px solid #bfd0e4;background:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;transition:all 0.15s;border-radius:3px;}.custom-check.checked{border-color:#2c2c2c;background:#2c2c2c;}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:22px;padding-top:18px;border-top:1px solid #dde8f3;}.btn-cancel{padding:10px 22px;border:1.5px solid #c9d8e8;background:#fff;font-size:10px;cursor:pointer;color:#888;letter-spacing:0.12em;text-transform:uppercase;border-radius:4px;transition:background 0.15s;}.btn-cancel:hover{background:#f4f7fc;}.btn-save{padding:10px 28px;border:none;background:#2c2c2c;color:#fff;font-size:10px;cursor:pointer;letter-spacing:0.14em;text-transform:uppercase;border-radius:4px;transition:background 0.15s;}.btn-save:hover{background:#444;}.mobile-cards{display:none;}.wedding-card{background:#fff;border:1px solid #c9d8e8;border-radius:8px;margin-bottom:10px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,0.05);}.card-header{padding:14px 16px 12px;border-bottom:1px solid #e2ecf5;display:flex;justify-content:space-between;align-items:flex-start;gap:10px;cursor:pointer;}.card-couple{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:16px;color:#2c2c2c;line-height:1.3;}.card-progress-bar-wrap{width:100%;display:flex;align-items:center;gap:8px;margin-top:6px;}.card-progress-track{flex:1;height:4px;background:#dde8f3;border-radius:99px;overflow:hidden;}.card-progress-fill{height:100%;border-radius:99px;}.card-meta{padding:10px 16px;display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;border-bottom:1px solid #e2ecf5;}.card-meta-label{font-size:8px;letter-spacing:0.12em;text-transform:uppercase;color:#666;margin-bottom:2px;font-weight:600;}.card-meta-value{font-size:12px;color:#1a1a1a;font-weight:500;}.card-meta-value.empty{color:#aaa;}.card-actions{padding:10px 16px;display:flex;gap:8px;justify-content:flex-end;align-items:center;border-top:1px solid #e2ecf5;}.card-expand-btn{flex:1;text-align:left;background:none;border:none;cursor:pointer;font-size:10px;color:#777;letter-spacing:0.08em;text-transform:uppercase;padding:0;font-family:inherit;}.card-expand-btn.open{color:#2c2c2c;}.card-checklist{padding:12px 16px 14px;border-top:1px solid #e2ecf5;background:#f2f7fd;}.card-checklist-title{font-size:8px;letter-spacing:0.15em;color:#666;text-transform:uppercase;margin-bottom:10px;font-weight:600;}.card-checklist-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;}.card-check-item{display:flex;align-items:center;gap:6px;font-size:11px;color:#888;font-weight:400;}.card-check-item.done{color:#1a1a1a;font-weight:500;}.card-check-icon{font-size:11px;flex-shrink:0;}.card-notes{margin:0 16px 12px;padding:8px 12px;border-left:2px solid #c9d8e8;font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:13px;color:#666;line-height:1.7;}.card-dw-badge{display:inline-block;padding:2px 8px;border-radius:2px;font-size:10px;letter-spacing:0.05em;font-weight:500;}.card-dw-d{background:#edf2ed;color:#3a5e3a;}.card-dw-w{background:#f0edf5;color:#4a3a60;}.past-card{opacity:0.5;}#cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;}.cal-day{background:#fff;border:1px solid #dde8f3;border-radius:4px;min-height:90px;padding:8px;position:relative;transition:background 0.1s;}.cal-day.other-month{background:#f3f8ff;}.cal-day.today{border-color:#2F5FA7;border-width:2px;}.cal-day-num{font-size:11px;color:#aaa;font-weight:500;margin-bottom:4px;}.cal-day.today .cal-day-num{color:#2F5FA7;font-weight:700;}.cal-day.has-wedding{background:#f8fbff;}.cal-wedding-chip{background:#2c2c2c;color:#fff;border-radius:3px;padding:3px 7px;font-size:10px;font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;cursor:pointer;margin-top:3px;line-height:1.4;transition:background 0.15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.cal-wedding-chip:hover{background:#4a3a60;}.cal-wedding-chip.dw-d{background:#1E3D6F;}.cal-wedding-chip.dw-d:hover{background:#2F5FA7;}.cal-wedding-chip.dw-w{background:#2c2c2c;}.cal-chip-pkg{font-size:8px;font-style:normal;font-family:'Jost',sans-serif;opacity:0.75;letter-spacing:0.05em;display:block;}.cal-tour-chip{background:#1e5f74;color:#fff;border-radius:3px;padding:3px 7px;font-size:10px;font-family:'Jost',sans-serif;cursor:pointer;margin-top:3px;line-height:1.4;transition:background 0.15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-left:3px solid #5bc4f0;}.cal-tour-chip:hover{background:#174d60;}.cal-chip-tour-label{font-size:8px;font-family:'Jost',sans-serif;opacity:0.8;letter-spacing:0.06em;display:block;text-transform:uppercase;letter-spacing:0.1em;}#cal-detail-box{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;width:min(560px,92vw);border-radius:8px;box-shadow:0 24px 64px rgba(0,0,0,0.28);max-height:85vh;display:flex;flex-direction:column;overflow:hidden;}#cal-detail-head{background:#2c2c2c;padding:20px 24px;display:flex;justify-content:space-between;align-items:flex-start;}#cal-detail-date{font-size:9px;letter-spacing:0.16em;color:#aaa;text-transform:uppercase;margin-bottom:5px;}#cal-detail-couple{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:22px;color:#fff;font-weight:400;}.cal-detail-close{background:none;border:1.5px solid #555;color:#aaa;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:12px;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all 0.15s;}.cal-detail-close:hover{border-color:#fff;color:#fff;}#cal-detail-body{overflow-y:auto;flex:1;}.cal-detail-section{padding:16px 24px;border-bottom:1px solid #e2ecf5;}.cal-detail-section:last-child{border-bottom:none;}.cal-detail-section-head{font-size:8px;letter-spacing:0.16em;text-transform:uppercase;color:#777;font-weight:700;margin-bottom:10px;}.cal-detail-row{display:flex;gap:8px;padding:3px 0;align-items:baseline;}.cal-detail-lbl{font-size:10px;color:#888;font-weight:500;min-width:110px;flex-shrink:0;}.cal-detail-val{font-size:13px;color:#1a1a1a;font-weight:400;}.cal-detail-val a{color:#1a1a1a;text-decoration:none;}.cal-detail-val a:hover{text-decoration:underline;}.cal-detail-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px 16px;}.cal-detail-check{display:flex;align-items:center;gap:6px;font-size:11px;}.cal-detail-check.done{color:#2c2c2c;font-weight:500;}.cal-detail-check.pending{color:#aaa;}.cal-detail-check .ck{color:#4a7a4e;font-size:11px;}.cal-detail-check.pending .ck{color:#ccc;}.cal-detail-text{font-size:12px;color:#333;line-height:1.7;}#cal-detail-footer{padding:14px 24px;border-top:1px solid #dde8f3;display:flex;justify-content:flex-end;background:#f2f7fd;}.cal-detail-edit-btn{padding:9px 20px;background:#2c2c2c;color:#fff;border:none;border-radius:4px;font-family:'Jost',sans-serif;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;cursor:pointer;transition:background 0.15s;}.cal-detail-edit-btn:hover{background:#4a3a60;}

  /* â•â• Page theme colours â•â• */
  body.page-weddings  #header { background: #2c2c2c; border-bottom-color: #1a1a1a; }
  body.page-calendar  #header { background: #2d4a35; border-bottom-color: #1e3526; }
  body.page-qa        #header { background: #1E3D6F; border-bottom-color: #142850; }
  body.page-worklogs  #header { background: #1e3250; border-bottom-color: #142240; }

  body.page-tasks     #header { background: #5b4a61; border-bottom-color: #47384c; }

  /* â•â• Tasks â•â• */
  #tasks-body { max-width: 1080px; margin: 0 auto; padding: 28px 32px 64px; box-sizing: border-box; }
  .tasks-shell { display: grid; grid-template-columns: minmax(320px, 400px) minmax(0, 1fr); gap: 24px; align-items: start; }
  .tasks-card { background:#fff; border:1px solid #dce8f4; border-radius:10px; box-shadow:0 2px 12px rgba(0,0,0,0.04); overflow:hidden; }
  .tasks-card-head { padding:20px 22px 16px; border-bottom:1px solid #e2ecf5; background:#f2f7fd; }
  .tasks-card-kicker { font-size:9px; letter-spacing:0.14em; text-transform:uppercase; color:#7a8ea4; font-weight:600; margin-bottom:7px; }
  .tasks-card-title { font-family:'Cormorant Garamond',Georgia,serif; font-size:26px; color:#1a1a1a; line-height:1.1; }
  .tasks-card-sub { font-size:12px; color:#7a8ea4; margin-top:5px; line-height:1.55; }
  .tasks-create-body { padding:20px 22px 22px; display:flex; flex-direction:column; gap:16px; }
  .tasks-field { display:flex; flex-direction:column; gap:6px; }
  .tasks-label { font-size:9px; letter-spacing:0.14em; text-transform:uppercase; color:#666; font-weight:600; }
  .tasks-input, .tasks-select { width:100%; border:1.5px solid #c9d8e8; border-radius:6px; padding:11px 12px; font-family:'Jost',sans-serif; font-size:13px; color:#1a1a1a; background:#f3f8ff; outline:none; transition:border-color 0.15s, background 0.15s; box-sizing:border-box; }
  .tasks-input:focus, .tasks-select:focus { border-color:#5b4a61; background:#fff; }
  .tasks-estimate-inputs { display:grid; grid-template-columns:minmax(0,1fr) 140px; gap:10px; }
  .tasks-estimate-value, .tasks-estimate-unit { min-width:0; }
  .tasks-help { font-size:11px; color:#8fa4bb; line-height:1.5; }
  .tasks-create-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
  .tasks-priority-picker { display:flex; gap:8px; }
  .priority-chip { border:1.5px solid #d8e5f2; background:#f8fafd; color:#6a82a0; border-radius:10px; padding:11px 14px; font-size:10px; letter-spacing:0.1em; text-transform:uppercase; cursor:pointer; transition:all 0.15s; display:inline-flex; align-items:center; gap:8px; font-weight:600; flex:1; justify-content:center; }
  .priority-chip::before { content:''; width:8px; height:8px; border-radius:50%; flex-shrink:0; }
  .priority-chip.low::before { background:#6f8b76; }
  .priority-chip.medium::before { background:#c08a28; }
  .priority-chip.high::before { background:#c0392b; }
  .priority-chip:hover { border-color:#5b4a61; color:#5b4a61; }
  .priority-chip.selected { color:#fff; border-color:transparent; }
  .priority-chip.low.selected { background:#6f8b76; }
  .priority-chip.medium.selected { background:#c08a28; }
  .priority-chip.high.selected { background:#2F5FA7; }
  .priority-chip.selected::before { background:rgba(255,255,255,0.5); }

  .tasks-create-row { display:flex; gap:12px; align-items:end; }
  .tasks-create-row .tasks-field:first-child { flex:1; }
  .tasks-add-btn { padding:12px 18px; min-width:132px; border:none; border-radius:6px; background:#2c2c2c; color:#fff; font-size:11px; letter-spacing:0.12em; text-transform:uppercase; cursor:pointer; transition:background 0.15s; }
  .tasks-add-btn:hover { background:#5b4a61; }
  .tasks-add-btn:disabled { background:#aaa; cursor:not-allowed; }
  #tasks-submit-status { font-size:12px; min-height:18px; }
  #tasks-submit-status.success { color:#4a7a4e; }
  #tasks-submit-status.error { color:#2F5FA7; }
  .tasks-summary { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #e2ecf5; }
  .tasks-summary-item { padding:16px 18px; border-right:1px solid #e2ecf5; }
  .tasks-summary-item:last-child { border-right:none; }
  .tasks-summary-num { font-family:'Cormorant Garamond',Georgia,serif; font-size:28px; color:#2c2c2c; line-height:1; }
  .tasks-summary-label { font-size:9px; letter-spacing:0.14em; text-transform:uppercase; color:#627287; margin-top:5px; font-weight:600; }
  .tasks-list-head { padding:20px 22px 14px; border-bottom:1px solid #e2ecf5; display:flex; justify-content:space-between; gap:12px; align-items:flex-start; flex-wrap:wrap; }
  .tasks-list-title-wrap { min-width:0; }
  .tasks-list-title { font-family:'Cormorant Garamond',Georgia,serif; font-size:24px; color:#1a1a1a; line-height:1.1; }
  .tasks-list-sub { font-size:12px; color:#7a8ea4; margin-top:5px; }
  .tasks-filter-tabs { display:flex; gap:8px; flex-wrap:wrap; }
  .tasks-filter-btn { padding:8px 14px; border-radius:999px; border:1.5px solid #c9d8e8; background:#fff; color:#6a82a0; font-size:10px; letter-spacing:0.1em; text-transform:uppercase; cursor:pointer; transition:all 0.15s; }
  .tasks-filter-btn:hover { border-color:#5b4a61; color:#5b4a61; }
  .tasks-filter-btn.active { background:#2c2c2c; border-color:#2c2c2c; color:#fff; }
  .tasks-filter-count { opacity:0.78; margin-left:4px; }
  .task-type-filter-strip { display:flex; gap:8px; flex-wrap:wrap; margin-top:4px; }
  .task-type-filter-btn { padding:7px 13px; border-radius:999px; border:1.5px solid #d4c8d9; background:#fff; color:#8a7191; font-size:10px; letter-spacing:0.08em; text-transform:uppercase; cursor:pointer; transition:all 0.15s; font-weight:600; }
  .task-type-filter-btn:hover { border-color:#5b4a61; color:#5b4a61; }
  .task-type-filter-btn.active { background:#5b4a61; border-color:#5b4a61; color:#fff; }
  #tasks-list-wrap { padding:12px 22px 22px; }
  .tasks-group { padding-top:8px; }
  .tasks-group + .tasks-group { margin-top:12px; }
  .tasks-group-label { font-size:9px; letter-spacing:0.16em; text-transform:uppercase; color:#7a8ea4; font-weight:700; margin:12px 2px; }
  .task-item { border:1px solid #d8e5f2; border-radius:10px; background:#fff; display:flex; gap:8px; align-items:center; padding:10px 12px; transition:box-shadow 0.15s, border-color 0.15s, background 0.15s; overflow:hidden; }
  .task-item + .task-item { margin-top:5px; }
  .task-item:hover { box-shadow:0 4px 12px rgba(0,0,0,0.05); border-color:#ccd8e9; }
  .task-item.is-complete { background:#f3f8ff; }
  .task-hitarea { flex:1; min-width:0; display:flex; gap:10px; align-items:center; padding:10px 12px; background:transparent; border:none; color:inherit; font:inherit; text-align:left; cursor:pointer; }
  .task-hitarea:hover .task-toggle { border-color:#5b4a61; }
  .task-hitarea:focus-visible { outline:2px solid #5b4a61; outline-offset:-2px; border-radius:10px; }
  .task-toggle { width:20px; height:20px; border-radius:50%; border:1.5px solid #c2d2e4; background:#fff; color:transparent; display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:all 0.15s; }
  .task-item.is-complete .task-toggle { background:#4a7a4e; border-color:#4a7a4e; color:#fff; }
  .task-main { min-width:0; flex:1; }
  .task-title { font-size:13px; color:#1a1a1a; font-weight:500; line-height:1.4; flex:1; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .task-item.is-complete .task-title { color:#7a8ea4; text-decoration:line-through; }
  .task-meta { display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin-top:8px; }
  .task-badge { display:inline-flex; align-items:center; gap:5px; padding:3px 8px; border-radius:999px; font-size:10px; letter-spacing:0.05em; font-weight:600; background:#eef4fb; color:#4e6a87; flex-shrink:0; }
  .task-badge .dot { width:6px; height:6px; border-radius:50%; background:currentColor; opacity:0.7; }
  .task-badge.pam { background:#e8ecf5; color:#4a5a7a; }
  .task-badge.gary { background:#e8f5ea; color:#4a7a4e; }
  .task-badge.maggie { background:#f5e8f0; color:#7a3a5a; }
  .task-badge.unassigned { background:#eaf3fb; color:#5a7fa8; border:1px dashed rgba(47,95,167,0.25); }
  .task-estimate-badge { background:#f3efe9; color:#627287; }
  .task-priority-badge { display:inline-flex; align-items:center; gap:6px; padding:4px 10px; border-radius:999px; font-size:10px; letter-spacing:0.06em; font-weight:600; background:#eef4fb; color:#4e6a87; }
  .task-priority-badge.low { background:#eaf1eb; color:#5a7760; }
  .task-priority-badge.medium { background:#e8f2fb; color:#5a7fa8; }
  .task-priority-badge.high { background:#e3eeff; color:#2F5FA7; }

  .task-time { font-size:11px; color:#8fa4bb; }
  .task-actions { display:flex; gap:6px; align-items:center; flex-shrink:0; padding:8px 10px 8px 0; }
  .task-action-btn { border:1.5px solid #c9d8e8; background:#fff; color:#6a82a0; border-radius:6px; padding:6px 8px; font-size:10px; letter-spacing:0.08em; text-transform:uppercase; cursor:pointer; transition:all 0.15s; }
  .task-action-btn:hover { border-color:#5b4a61; color:#5b4a61; }
  .task-action-btn.secondary { min-width:0; }
  .task-check-btn { width:28px; height:28px; min-width:28px; min-height:28px; aspect-ratio:1/1; border-radius:50%; border:1.5px solid #c2d2e4; background:#fff; color:transparent; display:flex; align-items:center; justify-content:center; flex-shrink:0; align-self:center; cursor:pointer; transition:all 0.15s; font-size:11px; padding:0; }
  .task-item.is-complete .task-check-btn { background:#4a7a4e; border-color:#4a7a4e; color:#fff; }
  .task-check-btn:hover { border-color:#5b4a61; }
  .task-edit-btn { border:none; background:none; color:#b0c0d4; font-size:14px; cursor:pointer; padding:2px 4px; flex-shrink:0; line-height:1; transition:color 0.15s; }
  .task-edit-btn:hover { color:#5b4a61; }
  .task-delete-btn:hover { border-color:#2F5FA7; color:#2F5FA7; background:#edf5ff; }
  .tasks-empty { text-align:center; padding:68px 20px; color:#b0c6da; }
  .tasks-empty-icon { font-size:42px; margin-bottom:10px; }
  .tasks-empty-title { font-size:16px; color:#7a8ea4; margin-bottom:6px; }
  .tasks-empty-sub { font-size:12px; color:#b0c6da; max-width:320px; margin:0 auto; line-height:1.6; }

  /* Task image upload (modal) */
  .task-image-field { margin-top:2px; }
  .task-image-file-input { display:none; }
  .task-image-drop-label { display:flex; align-items:center; justify-content:center; gap:10px; padding:14px 18px; border:1.5px dashed #c4d5e8; border-radius:10px; background:#f8fafd; color:#7a8ea4; font-size:12px; cursor:pointer; transition:border-color 0.15s, background 0.15s; width:100%; box-sizing:border-box; }
  .task-image-drop-label:hover { border-color:#5b4a61; background:#f8f3ff; color:#5b4a61; border-style:solid; }
  .task-image-drop-icon { font-size:15px; line-height:1; }
  .task-image-current { display:flex; align-items:center; gap:10px; padding:8px 10px; background:#f3f8ff; border:1px solid #d8e5f2; border-radius:6px; }
  .task-image-preview-img { width:52px; height:52px; object-fit:cover; border-radius:4px; border:1px solid #d8e5f2; flex-shrink:0; }
  .task-image-remove-btn { font-size:10px; letter-spacing:0.08em; text-transform:uppercase; color:#7a8ea4; background:none; border:1.5px solid #c9d8e8; border-radius:4px; padding:5px 10px; cursor:pointer; transition:all 0.15s; }
  .task-image-remove-btn:hover { border-color:#2F5FA7; color:#2F5FA7; }
  .task-image-error { font-size:11px; color:#c0392b; margin-top:2px; }
  /* Task image thumbnail (list) */
  .task-img-link { display:flex; align-items:center; padding:10px 0 10px 4px; flex-shrink:0; }
  .task-img-thumb { width:42px; height:42px; object-fit:cover; border-radius:4px; border:1.5px solid #d8e5f2; cursor:pointer; transition:border-color 0.15s; }
  .task-img-thumb:hover { border-color:#5b4a61; }

  /* â•â• Calendar â•â• */
  #cal-nav { display:flex; align-items:center; justify-content:center; gap:24px; margin-bottom:24px; }
  #cal-month-label { font-family:'Cormorant Garamond',Georgia,serif; font-size:26px; font-weight:600; color:#2c2c2c; letter-spacing:0.04em; min-width:220px; text-align:center; }
  .cal-nav-btn { background:none; border:1.5px solid #bfd0e4; color:#2c2c2c; width:36px; height:36px; border-radius:50%; cursor:pointer; font-size:16px; display:flex; align-items:center; justify-content:center; transition:all 0.15s; }
  .cal-nav-btn:hover { border-color:#2c2c2c; background:#fff; }
  #cal-grid-head { display:grid; grid-template-columns:repeat(7,1fr); gap:2px; margin-bottom:2px; }
  .cal-dow { text-align:center; font-size:9px; letter-spacing:0.14em; text-transform:uppercase; color:#888; font-weight:600; padding:6px 0; }
  #cal-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:2px; }
  .cal-day { background:#fff; border:1px solid #dde8f3; border-radius:4px; min-height:90px; padding:8px; position:relative; transition:background 0.1s; }
  .cal-day.other-month { background:#f3f8ff; }
  .cal-day.today { border-color:#2F5FA7; border-width:2px; }
  .cal-day-num { font-size:11px; color:#aaa; font-weight:500; margin-bottom:4px; }
  .cal-day.today .cal-day-num { color:#2F5FA7; font-weight:700; }
  .cal-day.has-wedding { background:#f8fbff; }
  .cal-wedding-chip { background:#2c2c2c; color:#fff; border-radius:3px; padding:3px 7px; font-size:10px; font-family:'Cormorant Garamond',Georgia,serif; font-style:italic; cursor:pointer; margin-top:3px; line-height:1.4; transition:background 0.15s; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .cal-wedding-chip:hover { background:#4a3a60; }
  .cal-wedding-chip.dw-d { background:#1E3D6F; }
  .cal-wedding-chip.dw-d:hover { background:#2F5FA7; }
  .cal-wedding-chip.dw-w { background:#2c2c2c; }
  .cal-chip-pkg { font-size:8px; font-style:normal; font-family:'Jost',sans-serif; opacity:0.75; letter-spacing:0.05em; display:block; }

  /* Detail popup */
  #cal-detail-box { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); background:#fff; width:min(560px,92vw); border-radius:8px; box-shadow:0 24px 64px rgba(0,0,0,0.28); max-height:85vh; display:flex; flex-direction:column; overflow:hidden; }
  #cal-detail-head { background:#2c2c2c; padding:20px 24px; display:flex; justify-content:space-between; align-items:flex-start; }
  #cal-detail-date { font-size:9px; letter-spacing:0.16em; color:#aaa; text-transform:uppercase; margin-bottom:5px; }
  #cal-detail-couple { font-family:'Cormorant Garamond',Georgia,serif; font-style:italic; font-size:22px; color:#fff; font-weight:400; }
  .cal-detail-close { background:none; border:1.5px solid #555; color:#aaa; width:30px; height:30px; border-radius:50%; cursor:pointer; font-size:12px; flex-shrink:0; display:flex; align-items:center; justify-content:center; transition:all 0.15s; }
  .cal-detail-close:hover { border-color:#fff; color:#fff; }
  #cal-detail-body { overflow-y:auto; flex:1; }
  .cal-detail-section { padding:16px 24px; border-bottom:1px solid #e2ecf5; }
  .cal-detail-section:last-child { border-bottom:none; }
  .cal-detail-section-head { font-size:8px; letter-spacing:0.16em; text-transform:uppercase; color:#777; font-weight:700; margin-bottom:10px; }
  .cal-detail-row { display:flex; gap:8px; padding:3px 0; align-items:baseline; }
  .cal-detail-lbl { font-size:10px; color:#888; font-weight:500; min-width:110px; flex-shrink:0; }
  .cal-detail-val { font-size:13px; color:#1a1a1a; font-weight:400; }
  .cal-detail-val a { color:#1a1a1a; text-decoration:none; }
  .cal-detail-val a:hover { text-decoration:underline; }
  .cal-detail-check-grid { display:grid; grid-template-columns:1fr 1fr; gap:5px 16px; }
  .cal-detail-check { display:flex; align-items:center; gap:6px; font-size:11px; }
  .cal-detail-check.done { color:#2c2c2c; font-weight:500; }
  .cal-detail-check.pending { color:#aaa; }
  .cal-detail-check .ck { color:#4a7a4e; font-size:11px; }
  .cal-detail-check.pending .ck { color:#ccc; }
  .cal-detail-text { font-size:12px; color:#333; line-height:1.7; }
  #cal-detail-footer { padding:14px 24px; border-top:1px solid #dde8f3; display:flex; justify-content:flex-end; background:#f2f7fd; }
  .cal-detail-edit-btn { padding:9px 20px; background:#2c2c2c; color:#fff; border:none; border-radius:4px; font-family:'Jost',sans-serif; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; cursor:pointer; transition:background 0.15s; }
  .cal-detail-edit-btn:hover { background:#4a3a60; }

  /* Mobile calendar */

  /* â•â• Q&A â•â• */
  #qa-body { flex:1; padding:28px 32px 48px; max-width:860px; width:100%; margin:0 auto; box-sizing:border-box; }

  /* Filter tabs */
  #qa-filters { display:flex; gap:6px; margin-bottom:24px; }
  .qa-filter-btn { padding:7px 16px; border-radius:20px; border:1.5px solid #c9d8e8; background:#fff; font-family:'Jost',sans-serif; font-size:10px; letter-spacing:0.1em; text-transform:uppercase; color:#888; cursor:pointer; transition:all 0.15s; }
  .qa-filter-btn.active { background:#2c2c2c; color:#fff; border-color:#2c2c2c; }
  .qa-filter-btn:hover:not(.active) { border-color:#2c2c2c; color:#2c2c2c; }

  /* Question cards */
  #qa-list { display:flex; flex-direction:column; gap:12px; }
  .qa-card { background:#fff; border:1px solid #dde8f3; border-radius:6px; overflow:hidden; transition:box-shadow 0.15s; }
  .qa-card:hover { box-shadow:0 4px 16px rgba(0,0,0,0.07); }
  .qa-card-head { padding:16px 20px; display:flex; gap:14px; align-items:flex-start; cursor:pointer; }
  .qa-card-status { width:20px; height:20px; border-radius:50%; flex-shrink:0; margin-top:2px; display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:700; }
  .qa-card-status.unanswered { background:#edf5ff; color:#2F5FA7; border:1.5px solid #b8d4f0; }
  .qa-card-status.answered { background:#edf5ee; color:#4a7a4e; border:1.5px solid #b4d4b8; }
  .qa-card-main { flex:1; min-width:0; }
  .qa-card-q { font-size:14px; color:#1a1a1a; font-weight:500; line-height:1.5; margin-bottom:5px; }
  .qa-card-meta { font-size:10px; color:#aaa; letter-spacing:0.04em; }
  .qa-card-meta span { margin-right:12px; }
  .qa-card-chevron { color:#ccc; font-size:12px; flex-shrink:0; transition:transform 0.2s; margin-top:4px; }
  .qa-card.open .qa-card-chevron { transform:rotate(180deg); }
  .qa-card-body { display:none; border-top:1px solid #e2ecf5; padding:0 20px 0 54px; }
  .qa-card.open .qa-card-body { display:block; }

  /* Answer area */
  .qa-answer-label { font-size:9px; letter-spacing:0.14em; text-transform:uppercase; color:#999; margin:14px 0 8px; }
  .qa-answer-text { font-size:13px; color:#333; line-height:1.75; padding-bottom:4px; white-space:pre-wrap; }
  .qa-answer-empty { font-size:12px; color:#bbb; font-style:italic; padding-bottom:4px; }
  .qa-answer-input { width:100%; box-sizing:border-box; border:1.5px solid #c9d8e8; border-radius:4px; padding:10px 12px; font-family:'Jost',sans-serif; font-size:13px; color:#1a1a1a; background:#f3f8ff; resize:vertical; min-height:80px; outline:none; transition:border 0.15s; }
  .qa-answer-input:focus { border-color:#2c2c2c; background:#fff; }
  .qa-card-actions { display:flex; gap:8px; padding:10px 0 16px; align-items:center; flex-wrap:wrap; }
  .qa-save-btn { padding:7px 16px; background:#2c2c2c; color:#fff; border:none; border-radius:4px; font-family:'Jost',sans-serif; font-size:10px; letter-spacing:0.1em; text-transform:uppercase; cursor:pointer; transition:background 0.15s; }
  .qa-save-btn:hover { background:#4a3a60; }
  .qa-edit-btn { padding:7px 14px; background:transparent; color:#888; border:1.5px solid #c9d8e8; border-radius:4px; font-family:'Jost',sans-serif; font-size:10px; letter-spacing:0.1em; text-transform:uppercase; cursor:pointer; transition:all 0.15s; }
  .qa-edit-btn:hover { border-color:#2c2c2c; color:#2c2c2c; }
  .qa-delete-btn { margin-left:auto; padding:7px 14px; background:transparent; color:#90b8d4; border:1.5px solid #d8e8f4; border-radius:4px; font-family:'Jost',sans-serif; font-size:10px; letter-spacing:0.1em; text-transform:uppercase; cursor:pointer; transition:all 0.15s; }
  .qa-delete-btn:hover { background:#edf5ff; border-color:#2F5FA7; color:#2F5FA7; }
  .qa-answered-by { font-size:10px; color:#aaa; margin-left:2px; }

  /* â"€â"€ Answerer picker (inside the inline answer form) â"€â"€ */
  .qa-answerer-wrap { margin-top:10px; }
  .qa-answerer-label { font-size:9px; letter-spacing:0.12em; text-transform:uppercase; color:#999; font-weight:700; margin-bottom:7px; }
  .qa-answerer-chips { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:8px; }
  .qa-answerer-chip { display:inline-flex; align-items:center; gap:7px; padding:7px 13px 7px 8px; border:1.5px solid #ccd8e9; border-radius:999px; background:#fff; color:#4e6075; font-size:12px; font-family:'Jost',sans-serif; cursor:pointer; transition:border-color .15s, background .15s; }
  .qa-answerer-chip:hover { border-color:#2c2c2c; }
  .qa-answerer-chip.selected { border-color:#2c2c2c; background:#eaf2fb; }
  .qa-answerer-icon { width:22px; height:22px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-size:10px; font-weight:700; color:#fff; flex-shrink:0; }
  .qa-answerer-icon.dan { background:#4a6e8a; }
  .qa-answerer-icon.marianne { background:#2e6b9e; }
  .qa-answerer-other { width:100%; box-sizing:border-box; border:1.5px solid #ccd8e9; border-radius:8px; padding:9px 12px; font-size:12px; font-family:'Jost',sans-serif; color:#333; background:#f3f8ff; outline:none; transition:border-color .15s; }
  .qa-answerer-other:focus { border-color:#6090b8; background:#fff; }
  .qa-answerer-other::placeholder { color:#bdd0e5; }

  /* Empty state */
  #qa-empty { text-align:center; padding:64px 32px; color:#bbb; }
  #qa-empty-icon { font-size:40px; margin-bottom:12px; }
  #qa-empty-msg { font-size:14px; color:#aaa; margin-bottom:6px; }
  #qa-empty-sub { font-size:12px; color:#ccc; }

  /* Add question modal */
  #qa-modal-overlay { display:none; position:fixed; top:0; left:0; right:0; bottom:0; z-index:800; background:rgba(20,18,16,0.5); }
  #qa-modal-box { position:fixed; top:50%; left:50%; transform:translate(-50%,-50%); background:#fff; width:min(560px,92vw); border-radius:8px; box-shadow:0 24px 64px rgba(0,0,0,0.28); overflow:hidden; }
  #qa-modal-head { background:#2c2c2c; padding:18px 24px; display:flex; justify-content:space-between; align-items:center; }
  #qa-modal-title { font-family:'Cormorant Garamond',Georgia,serif; font-style:italic; font-size:18px; color:#fff; }
  .qa-modal-close { background:none; border:1.5px solid #555; color:#aaa; width:30px; height:30px; border-radius:50%; cursor:pointer; font-size:12px; display:flex; align-items:center; justify-content:center; transition:all 0.15s; }
  .qa-modal-close:hover { border-color:#fff; color:#fff; }
  #qa-modal-body { padding:24px; }
  .qa-modal-label { font-size:9px; letter-spacing:0.14em; text-transform:uppercase; color:#888; margin-bottom:8px; display:block; }
  .qa-modal-input { width:100%; box-sizing:border-box; border:1.5px solid #c9d8e8; border-radius:4px; padding:10px 12px; font-family:'Jost',sans-serif; font-size:13px; color:#1a1a1a; background:#f3f8ff; resize:vertical; outline:none; transition:border 0.15s; }
  .qa-modal-input:focus { border-color:#2c2c2c; background:#fff; }
  .qa-modal-field { margin-bottom:16px; }
  #qa-modal-footer { padding:14px 24px; border-top:1px solid #dde8f3; display:flex; gap:10px; justify-content:flex-end; background:#f2f7fd; }
  .qa-modal-cancel { padding:9px 18px; background:transparent; color:#888; border:1.5px solid #c9d8e8; border-radius:4px; font-family:'Jost',sans-serif; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; cursor:pointer; }
  .qa-modal-cancel:hover { border-color:#2c2c2c; color:#2c2c2c; }
  .qa-modal-submit { padding:9px 20px; background:#2c2c2c; color:#fff; border:none; border-radius:4px; font-family:'Jost',sans-serif; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; cursor:pointer; transition:background 0.15s; }
  .qa-modal-submit:hover { background:#4a3a60; }

  /* Loading */
  #qa-loading { text-align:center; padding:48px; color:#aaa; font-size:13px; }

  /* â•â• Work Log â•â• */
  #wl-body { padding: 28px 32px 64px; max-width: 860px; margin: 0 auto; box-sizing: border-box; }

  /* Sub-tabs */
  #wl-subtabs { display: flex; gap: 0; margin-bottom: 28px; border-bottom: 2px solid #dce8f4; }
  .wl-subtab { padding: 11px 22px; background: none; border: none; border-bottom: 2px solid transparent; margin-bottom: -2px; font-family: 'Jost', sans-serif; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: #999; cursor: pointer; transition: all 0.15s; white-space: nowrap; }
  .wl-subtab:hover { color: #2c2c2c; }
  .wl-subtab.active { color: #2c2c2c; border-bottom-color: #2c2c2c; font-weight: 600; }

  /* Panel visibility */
  .wl-panel { display: none; }
  .wl-panel.active { display: block; }

  /* Form card */
  .wl-form-card { background: #fff; border: 1px solid #dce8f4; border-radius: 8px; overflow: hidden; box-shadow: 0 2px 12px rgba(0,0,0,0.04); }
  .wl-form-header { padding: 24px 28px 20px; border-bottom: 1px solid #e2ecf5; background: #f2f7fd; }
  .wl-form-title { font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-size: 22px; color: #1a1a1a; margin-bottom: 4px; }
  .wl-form-subtitle { font-size: 11px; color: #aaa; letter-spacing: 0.06em; }
  .wl-form-body { padding: 24px 28px; display: flex; flex-direction: column; gap: 18px; }
  .wl-form-footer { padding: 16px 28px; border-top: 1px solid #e2ecf5; background: #f2f7fd; display: flex; justify-content: space-between; align-items: center; }

  /* Fields */
  .wl-field-row { display: flex; gap: 16px; }
  .wl-field { display: flex; flex-direction: column; gap: 6px; flex: 1; }
  .wl-field-sm { flex: 1; min-width: 110px; max-width: 140px; }
  .wl-label { font-size: 9px; letter-spacing: 0.14em; text-transform: uppercase; color: #666; font-weight: 600; }
  .wl-label-hint { font-size: 11px; color: #aaa; margin-top: -2px; line-height: 1.5; }
  .wl-required { color: #2F5FA7; }
  .wl-optional { color: #bbb; font-size: 8px; letter-spacing: 0.08em; margin-left: 4px; }
  .wl-input { border: 1.5px solid #c9d8e8; border-radius: 4px; padding: 9px 12px; font-family: 'Jost', sans-serif; font-size: 13px; color: #1a1a1a; background: #f3f8ff; outline: none; transition: border 0.15s, background 0.15s; width: 100%; box-sizing: border-box; }
  .wl-input:focus { border-color: #2c2c2c; background: #fff; }
  .wl-select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23888'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; padding-right: 32px; cursor: pointer; }
  .wl-textarea { resize: vertical; line-height: 1.65; }
  .wl-textarea-sm { min-height: 64px; }

  /* Save button */
  .wl-save-btn { padding: 11px 28px; background: #2c2c2c; color: #fff; border: none; border-radius: 4px; font-family: 'Jost', sans-serif; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; cursor: pointer; transition: background 0.15s; }
  .wl-save-btn:hover { background: #4a3a60; }
  .wl-save-btn:disabled { background: #aaa; cursor: not-allowed; }
  #wl-submit-status { font-size: 12px; }
  #wl-submit-status.success { color: #4a7a4e; }
  #wl-submit-status.error { color: #2F5FA7; }

  /* History controls */
  .wl-history-controls { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 24px; flex-wrap: wrap; }
  .wl-history-left { display: flex; gap: 16px; flex-wrap: wrap; flex: 1; }
  .wl-nav-btn { padding: 8px 14px; background: #fff; border: 1.5px solid #c9d8e8; border-radius: 4px; font-family: 'Jost', sans-serif; font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: #555; cursor: pointer; transition: all 0.15s; white-space: nowrap; }
  .wl-nav-btn:hover { border-color: #2c2c2c; color: #2c2c2c; }

  /* History heading */
  .wl-hist-heading { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 20px; color: #1a1a1a; margin-bottom: 16px; font-style: italic; }

  /* Log cards */
  .wl-log-card { background: #fff; border: 1px solid #dce8f4; border-radius: 6px; padding: 20px 22px; margin-bottom: 12px; transition: box-shadow 0.15s; }
  .wl-log-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.07); }
  .wl-log-card-head { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
  .wl-log-avatar { width: 34px; height: 34px; border-radius: 50%; background: #2c2c2c; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 600; flex-shrink: 0; font-family: 'Jost', sans-serif; }
  .wl-log-avatar.pam    { background: #4a5a7a; }
  .wl-log-avatar.gary   { background: #4a7a4e; }
  .wl-log-avatar.maggie { background: #7a3a5a; }
  .wl-log-name  { font-size: 14px; font-weight: 600; color: #1a1a1a; }
  .wl-log-date-sub { font-size: 10px; color: #aaa; letter-spacing: 0.04em; }
  .wl-log-hours { margin-left: auto; background: #f4f7fc; border-radius: 12px; padding: 3px 10px; font-size: 10px; color: #666; letter-spacing: 0.06em; white-space: nowrap; }
  .wl-log-section { margin-bottom: 10px; }
  .wl-log-section-label { font-size: 8px; letter-spacing: 0.14em; text-transform: uppercase; color: #aaa; margin-bottom: 4px; font-weight: 600; }
  .wl-log-section-text { font-size: 13px; color: #333; line-height: 1.7; }
  .wl-log-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 20px; margin-top: 10px; }
  .wl-edit-meta { margin-top: 8px; font-size: 11px; color: #546278; line-height: 1.6; }
  .wl-edit-meta strong { color: #1a1a1a; }
  .wl-form-footer-actions { display:flex; gap:10px; align-items:center; margin-left:auto; }
  .wl-cancel-edit-btn { padding: 11px 18px; background: transparent; color: #666; border: 1.5px solid #c9d8e8; border-radius: 4px; font-family: 'Jost', sans-serif; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; cursor: pointer; transition: all 0.15s; }
  .wl-cancel-edit-btn:hover { border-color:#2c2c2c; color:#2c2c2c; }
  .wl-log-card-actions { display:flex; justify-content:flex-end; gap:10px; margin-top: 14px; }
  .wl-log-edit-btn { padding: 8px 14px; background:#fff; color:#2c2c2c; border:1.5px solid #c9d8e8; border-radius:4px; font-family:'Jost',sans-serif; font-size:10px; letter-spacing:0.1em; text-transform:uppercase; cursor:pointer; transition:all 0.15s; }
  .wl-log-edit-btn:hover { border-color:#2c2c2c; background:#f2f7fd; }
  .wl-log-modified { margin-top: 6px; font-size: 10px; color: #999; letter-spacing: 0.03em; }

  /* Empty + recent states */
  .wl-empty { text-align: center; padding: 48px 24px; color: #bbb; }
  .wl-empty-icon { font-size: 36px; margin-bottom: 10px; }
  .wl-empty-msg { font-size: 14px; color: #aaa; margin-bottom: 4px; }
  .wl-empty-sub { font-size: 12px; color: #ccc; }
  .wl-hist-recent-label { font-size: 9px; letter-spacing: 0.14em; text-transform: uppercase; color: #aaa; margin: 32px 0 12px; font-weight: 600; }
  .wl-recent-item { display: flex; align-items: center; gap: 12px; padding: 10px 14px; background: #fff; border: 1px solid #dce8f4; border-radius: 4px; margin-bottom: 6px; cursor: pointer; transition: all 0.15s; }
  .wl-recent-item:hover { border-color: #2c2c2c; background: #f2f7fd; }
  .wl-recent-date { font-size: 13px; color: #1a1a1a; font-weight: 500; flex: 1; }
  .wl-recent-badges { display: flex; gap: 5px; flex-wrap: wrap; }
  .wl-recent-badge { padding: 2px 8px; border-radius: 10px; font-size: 9px; letter-spacing: 0.06em; font-weight: 600; }
  .wl-recent-badge.pam    { background: #e8ecf5; color: #4a5a7a; }
  .wl-recent-badge.gary   { background: #e8f5ea; color: #4a7a4e; }
  .wl-recent-badge.maggie { background: #f5e8f0; color: #7a3a5a; }

  /* â•â• Expand panel â•â• */
  .expand-panel { background: #f3f8ff; border-top: 2px solid #dce8f4; }
  .exp-grid-top { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 0; border: 1px solid #dde8f3; border-top: none; }
  .exp-section { padding: 20px 24px; border-right: 1px solid #dde8f3; }
  .exp-section:last-child { border-right: none; }
  .exp-section-full { padding: 20px 24px; border-top: 1px solid #dde8f3; }
  .exp-section-head { font-size: 8px; letter-spacing: 0.16em; text-transform: uppercase; color: #888; font-weight: 700; margin-bottom: 14px; }

  /* â"€â"€ Grouped-by-category checklist layout (shared by table, cards, calendar, detail) â"€â"€ */
  .cl-cats-wrap { }
  .cl-cat-group { margin-bottom: 20px; }
  .cl-cat-group:last-child { margin-bottom: 0; }
  .cl-cat-head { font-size: 8px; letter-spacing: 0.16em; text-transform: uppercase; color: #7a8ea4; font-weight: 700; margin-bottom: 9px; padding-bottom: 5px; border-bottom: 1px solid #dde8f3; }
  .exp-row { display: flex; gap: 10px; padding: 4px 0; border-bottom: 1px solid #e8f0fb; align-items: baseline; }
  .exp-row:last-child { border-bottom: none; }
  .exp-lbl { font-size: 10px; color: #999; font-weight: 500; min-width: 120px; flex-shrink: 0; }
  .exp-val { font-size: 13px; color: #1a1a1a; }
  .exp-notes-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
  .exp-notes-label { font-size: 8px; letter-spacing: 0.14em; text-transform: uppercase; color: #888; font-weight: 700; margin-bottom: 8px; }
  .exp-notes-text { font-size: 13px; color: #333; line-height: 1.6; white-space: pre-wrap; }
  .exp-checklist-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px 20px; }
  .exp-check-item { display: flex; align-items: center; gap: 8px; font-size: 11px; color: #555; }
  .exp-check-item.done { color: #2c2c2c; }
  .exp-check-icon { width: 14px; height: 14px; border-radius: 3px; display: flex; align-items: center; justify-content: center; font-size: 9px; flex-shrink: 0; background: #eee; color: #ccc; }
  .exp-check-item.done .exp-check-icon { background: #4a7a4e; color: #fff; }
  .exp-actions { display: flex; gap: 10px; padding: 14px 24px; background: #f4f7fc; border-top: 1px solid #dce8f4; }
  .exp-files-wrap { padding: 16px 24px; border-top: 1px solid #dce8f4; background: #f3f8ff; }
  .exp-files-label { font-size: 8px; letter-spacing: 0.14em; text-transform: uppercase; color: #888; font-weight: 700; margin-bottom: 10px; }
  .exp-file-list { display: flex; flex-wrap: wrap; gap: 8px; }
  .exp-file-item { display: flex; align-items: center; gap: 6px; background: #fff; border: 1px solid #d2e0ef; border-radius: 5px; padding: 6px 10px; font-size: 11px; color: #2c2c2c; cursor: pointer; text-decoration: none; transition: border-color 0.15s; }
  .exp-file-item:hover { border-color: #2c2c2c; }
  .exp-no-files { font-size: 12px; color: #aaa; font-style: italic; }

  /* â•â• Avatar picker â•â• */
  #wl-avatar-picker { display: flex; gap: 16px; padding: 4px 0; }
  .wl-avatar-btn { display: flex; flex-direction: column; align-items: center; gap: 7px; cursor: pointer; }
  .wl-avatar-circle { width: 54px; height: 54px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 22px; font-weight: 700; font-family: 'Jost', sans-serif; color: #fff; border: 3px solid transparent; transition: all 0.15s; opacity: 0.45; }
  .wl-avatar-btn:hover .wl-avatar-circle { opacity: 0.75; transform: scale(1.06); }
  .wl-avatar-btn.selected .wl-avatar-circle { opacity: 1; border-color: #fff; box-shadow: 0 0 0 3px currentColor, 0 4px 14px rgba(0,0,0,0.18); transform: scale(1.08); }
  .wl-avatar-circle.pam    { background: #4a5a7a; }
  .wl-avatar-circle.gary   { background: #4a7a4e; }
  .wl-avatar-circle.maggie { background: #7a3a5a; }
  .wl-avatar-btn.selected.pam    .wl-avatar-circle { box-shadow: 0 0 0 3px #4a5a7a, 0 4px 14px rgba(74,90,122,0.3); }
  .wl-avatar-btn.selected.gary   .wl-avatar-circle { box-shadow: 0 0 0 3px #4a7a4e, 0 4px 14px rgba(74,122,78,0.3); }
  .wl-avatar-btn.selected.maggie .wl-avatar-circle { box-shadow: 0 0 0 3px #7a3a5a, 0 4px 14px rgba(122,58,90,0.3); }
  .wl-avatar-circle.dan { background: #5f4a7a; }
  .wl-avatar-circle.marianne { background: #2e6b9e; }
  .wl-avatar-circle.lindsey { background: #3f6f96; }
  .wl-avatar-btn.selected.dan .wl-avatar-circle { box-shadow: 0 0 0 3px #5f4a7a, 0 4px 14px rgba(95,74,122,0.3); }
  .wl-avatar-btn.selected.marianne .wl-avatar-circle { box-shadow: 0 0 0 3px #2e6b9e, 0 4px 14px rgba(154,98,57,0.3); }
  .wl-avatar-btn.selected.lindsey .wl-avatar-circle { box-shadow: 0 0 0 3px #3f6f96, 0 4px 14px rgba(63,111,150,0.3); }
  .wl-avatar-name { font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: #888; transition: color 0.15s; }
  .wl-avatar-btn.selected .wl-avatar-name { color: #1a1a1a; font-weight: 600; }



  /* â•â• Wedding Add/Edit Modal polish â•â• */
  #modal-overlay{padding:24px;}
  #modal-scroll-inner{padding:28px 16px;}
  #modal-box{width:min(1040px,96vw);border-radius:16px;overflow:hidden;background:#f5f9fe;border:1px solid #ccd8e9;box-shadow:0 28px 80px rgba(0,0,0,0.24);}
  #modal-head{padding:22px 28px;background:linear-gradient(135deg,#2c2c2c,#3b352f);display:flex;align-items:center;justify-content:space-between;gap:16px;}
  #modal-title{margin:0;font-family:'Cormorant Garamond',Georgia,serif;font-size:30px;font-style:italic;font-weight:500;color:#fff;line-height:1.1;}
  .modal-close-btn{width:38px;height:38px;border-radius:10px;border:1px solid rgba(255,255,255,0.22);background:rgba(255,255,255,0.08);color:#fff;font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .18s,border-color .18s,transform .18s;flex-shrink:0;}
  .modal-close-btn:hover{background:rgba(255,255,255,0.18);border-color:rgba(255,255,255,0.36);transform:translateY(-1px);}
  #modal-box > .ms:first-of-type{margin-top:0;}
  .ms{margin:18px 22px 0;background:#fff;border:1px solid #d5e3f0;border-radius:14px;box-shadow:0 4px 14px rgba(0,0,0,0.03);overflow:hidden;}
  .ms-head{padding:12px 16px;background:#f0f5fc;border-bottom:1px solid #d8e8f4;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#546278;}
  .ms > .f-row,.ms > #checklist-form,.ms > #file-upload-area,.ms > #file-upload-status,.ms > #modal-file-list{margin-left:16px;margin-right:16px;}
  .ms > .f-row:last-child{padding-bottom:16px;}
  .f-row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;padding:16px 16px 0;}
  .f-field{display:flex;flex-direction:column;gap:6px;min-width:0;grid-column:span 3;}
  .f-field[style*="flex:2"]{grid-column:span 7 !important;}
  .f-field[style*="flex:1"]{grid-column:span 6 !important;}
  .f-field label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#627287;font-weight:700;}
  .f-field input,.f-field select,.f-field textarea{width:100%;min-width:0;padding:11px 12px;border:1.5px solid #c9d6e8;border-radius:10px;background:#f5f9fe;color:#2c2c2c;font-size:13px;line-height:1.35;outline:none;transition:border-color .15s,box-shadow .15s,background .15s;appearance:none;}
  .f-field input:focus,.f-field select:focus,.f-field textarea:focus{border-color:#1E3D6F;box-shadow:0 0 0 4px rgba(47,95,167,.10);background:#fff;}
  .f-field textarea{min-height:108px;resize:vertical;}
  #f-couple{font-family:'Cormorant Garamond',Georgia,serif;font-size:18px;font-style:italic;}
  #f-date,#f-guests,#f-dw,#f-package-type,#f-grand-total,#f-runner1,#f-runner2,#f-valet1,#f-valet2,#f-valet3,#f-lead,#f-assistant,#f-contact-name,#f-contact-phone,#f-contact-email{min-height:44px;}
  #checklist-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 18px;padding:16px;}
  .modal-checklist-grid .check-label{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid #d8e5f2;border-radius:10px;background:#f5f9fe;min-height:100%;}
  .modal-checklist-grid .check-label:hover{border-color:#afc4d9;background:#fff;}
  .modal-checklist-grid .custom-check{margin-top:1px;}
  #file-upload-area{margin-top:16px;padding:20px;border:2px dashed #c9d6e8;border-radius:14px;background:linear-gradient(180deg,#f5f9fe,#f4f8fc);text-align:center;cursor:pointer;transition:border-color .18s,background .18s,transform .18s;}
  #file-upload-area:hover,#file-upload-area.dragging{border-color:#1E3D6F;background:#f5fbff;transform:translateY(-1px);}
  .upload-icon{font-size:26px;color:#1E3D6F;line-height:1;margin-bottom:6px;}
  .upload-text{font-size:13px;color:#5e554c;}
  #file-upload-status{padding:10px 16px 0;color:#627287;font-size:12px;}
  #modal-file-list{display:flex;flex-wrap:wrap;gap:10px;padding:14px 16px 18px;}
  #modal-file-list a,.modal-file-chip{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:8px 12px;border:1px solid #ccd8e9;border-radius:999px;background:#fff;font-size:12px;color:#2c2c2c;text-decoration:none;}
  #modal-file-list button{border:none;background:none;color:#2F5FA7;cursor:pointer;font-size:16px;line-height:1;}
  #modal-foot{display:flex;justify-content:flex-end;gap:12px;padding:20px 22px 22px;background:#f0f5fc;border-top:1px solid #d5e3f0;margin-top:18px;position:sticky;bottom:0;}
  .ghost-btn,.dark-btn{min-height:44px;padding:0 18px;border-radius:10px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s,border-color .15s,color .15s;}
  .ghost-btn{background:#fff;border:1.5px solid #c9d6e8;color:#546278;}
  .ghost-btn:hover{background:#f5faff;border-color:#b0c6da;color:#2c2c2c;}
  .dark-btn{background:#2c2c2c;border:1.5px solid #2c2c2c;color:#fff;box-shadow:0 10px 20px rgba(44,44,44,.15);}
  .dark-btn:hover{background:#4a3a60;border-color:#4a3a60;transform:translateY(-1px);}
  @media (max-width: 980px){
    #modal-box{width:min(92vw,760px);}
    .f-field{grid-column:span 6;}
    .f-field[style*="flex:2"]{grid-column:span 12 !important;}
    #checklist-form{grid-template-columns:repeat(2,minmax(0,1fr));}
  }

@media (max-width: 768px) {
    #header { padding: 12px 14px 10px; }
    #header-inner { flex-direction: column; gap: 10px; }
    #nav-tabs { gap: 4px; flex-wrap: wrap; justify-content: center; width: 100%; }
    .nav-tab { padding: 7px 10px; font-size: 9px; letter-spacing: 0.08em; flex: 1; text-align: center; min-width: 0; }
    #stats { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: #dce8f4; border: 1px solid #dce8f4; border-radius: 6px; overflow: hidden; margin: 14px 14px 0; padding: 0; }
    .stat-item { background: #fff; padding: 12px 10px; margin: 0; text-align: center; }
    .stat-num { font-size: 22px; }
    .stat-label { font-size: 8px; }
    #weddings-actions { padding: 10px 14px 0; }
    #add-btn { width: 100%; text-align: center; }
    #search-section { padding: 12px 14px 0; }
    #table-section  { padding: 0 14px 40px; margin-top: 12px; }
    .staff-summary { display: none; }
    .expand-panel { padding: 0; }
    .exp-grid-top  { grid-template-columns: 1fr; }
    .exp-section   { padding: 12px 14px; border-bottom: 1px solid #e2ecf5; }
    .exp-notes-grid { grid-template-columns: 1fr; gap: 10px; }
    .exp-row  { flex-direction: column; gap: 2px; }
    .exp-lbl  { min-width: unset; font-size: 8px; }
    .checklist-grid { grid-template-columns: 1fr; }
    .edit-btn { flex: 1; text-align: center; font-size: 10px; padding: 9px 12px; }
    #modal-overlay { padding: 0; }
    #modal-scroll-inner { padding: 0; align-items: flex-end; }
    #modal-box { width: 100%; max-width: 100%; max-height: 92vh; border-radius: 18px 18px 0 0; margin: 0; }
    #modal-head { padding: 18px 18px; }
    #modal-title { font-size: 24px; }
    .ms { margin: 14px 14px 0; border-radius: 12px; }
    .f-row { grid-template-columns: 1fr; gap: 14px; padding: 14px; }
    .f-field, .f-field[style*='flex:2'], .f-field[style*='flex:1'] { grid-column: auto !important; }
    #checklist-form { grid-template-columns: 1fr; padding: 14px; }
    #modal-foot { padding: 16px 14px 18px; flex-direction: column-reverse; }
    .ghost-btn, .dark-btn, #modal-save-btn { width: 100%; }
    #cal-body { padding: 12px 14px; }
    .cal-day { min-height: 52px; padding: 4px 3px; }
    .cal-wedding-chip { font-size: 8px; padding: 2px 4px; }
    #cal-detail-box { width: calc(100% - 24px); max-height: 85vh; margin: 12px; }
    #file-viewer-box { width:100% !important; height:100% !important; top:0 !important; left:0 !important; transform:none !important; border-radius:0 !important; max-height:100vh !important; }
    #qa-body { padding: 14px 14px 48px; }
    #qa-filters { gap: 5px; flex-wrap: wrap; margin-bottom: 16px; }
    .qa-filter-btn { padding: 6px 10px; font-size: 9px; flex: 1; text-align: center; }
    #wl-body { padding: 14px 14px 56px; }
    #wl-subtabs { gap: 0; overflow-x: auto; }
    .wl-subtab { padding: 10px 14px; font-size: 9px; white-space: nowrap; }
    .wl-form-footer { padding: 12px 16px; flex-direction: column; gap: 10px; align-items: stretch; }
    .wl-form-footer-actions { width:100%; flex-direction:column; align-items:stretch; margin-left:0; }
    .wl-cancel-edit-btn, .wl-save-btn { width: 100%; text-align: center; }
    .wl-save-btn { width: 100%; text-align: center; padding: 13px; }
    .wl-field-row { flex-direction: column; gap: 14px; }
    #wl-avatar-picker { gap: 20px; justify-content: center; padding: 8px 0; }
    .wl-avatar-circle { width: 62px; height: 62px; font-size: 24px; }
    .wl-log-grid  { grid-template-columns: 1fr; }
    .wl-recent-item { flex-direction: column; align-items: flex-start; gap: 6px; }

    #tasks-body { padding: 14px 14px 56px; }
    .tasks-shell { grid-template-columns: 1fr; gap: 16px; }
    .tasks-card-head { padding: 16px 16px 14px; }
    .tasks-card-title { font-size: 22px; }
    .tasks-card-sub, .tasks-list-sub { font-size: 11px; }
    .tasks-create-row { flex-direction: column; align-items: stretch; gap: 12px; }
    .tasks-add-btn { width: 100%; padding: 13px; }
    .tasks-summary { grid-template-columns: 1fr; }
    .tasks-summary-item { border-right: none; border-bottom: 1px solid #e2ecf5; }
    .tasks-summary-item:last-child { border-bottom: none; }
    .tasks-list-head { padding: 16px; }
    #tasks-list-wrap, .tasks-create-body { padding: 16px; }
    .tasks-filter-tabs { width: 100%; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
    .tasks-filter-btn { width: 100%; padding: 10px 8px; text-align: center; }
    .task-item { flex-direction: column; gap: 0; }
    .task-hitarea { width: 100%; padding: 14px 14px 10px; }
    .task-actions { width: 100%; justify-content: stretch; padding: 0 14px 14px; gap: 8px; }
    .task-action-btn { flex: 1; min-height: 40px; }
    .task-action-btn.secondary { min-width: 0; }
  }
  @media (max-width: 520px) {
    #tasks-body { padding-left: 10px; padding-right: 10px; }
    .tasks-card { border-radius: 8px; }
    .tasks-card-head, .tasks-create-body, #tasks-list-wrap, .tasks-list-head { padding-left: 14px; padding-right: 14px; }
    .tasks-list-title { font-size: 22px; }
    .tasks-filter-tabs { grid-template-columns: 1fr; }
    .tasks-filter-btn { border-radius: 12px; }
    .task-hitarea { gap: 12px; align-items: flex-start; }
    .task-toggle { width: 20px; height: 20px; }
    .task-title { font-size: 13px; }
    .task-meta { gap: 6px; }
    .task-badge, .task-time { font-size: 10px; }
    .task-actions { flex-direction: column; }
    .task-action-btn { width: 100%; }
  }
  @media (max-width: 400px) {
    .nav-tab { font-size: 8px; padding: 6px 7px; }
    .qa-filter-btn { font-size: 8px; padding: 5px 7px; }
  }

/* Wix paste-safe cleanup */
#logo-src-holder,
#footer-logo,
#modal-logo-img{display:none !important;}
#logo-block,
#modal-head-logo{gap:0 !important;}
#footer-name{margin-top:0 !important;}
button{font-family:inherit;}
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:2px solid #1E3D6F;
  outline-offset:2px;
}



/* ===== Wix display enhancements ===== */
#header-inner{max-width:1400px;}
#header-top{gap:24px;}
#nav-tabs{margin-top:0;margin-left:auto;justify-content:flex-end;}
#page-weddings,#page-calendar,#page-qa,#page-worklogs{padding-bottom:40px;}
#weddings-actions{max-width:1300px;margin:26px auto 0;padding:0 48px;display:flex;justify-content:flex-end;align-items:center;}
#add-btn{border-radius:999px;padding:13px 22px;font-size:11px;letter-spacing:0.14em;box-shadow:0 10px 24px rgba(44,44,44,0.14);}
#add-btn:hover{transform:translateY(-1px);}
#stats{padding-left:48px;padding-right:48px;gap:0;}
#search-section{padding-top:22px;}

#cal-body{max-width:1320px;margin:0 auto;padding:28px 32px 56px;}
#cal-nav{max-width:520px;margin:4px auto 26px;gap:34px;}
#cal-month-label{font-size:30px;min-width:280px;}
#cal-grid-head{gap:10px;margin-bottom:10px;}
#cal-grid{gap:10px;align-items:stretch;}
.cal-dow{padding:10px 0 8px;font-size:11px;letter-spacing:0.18em;}
.cal-day{min-height:138px;padding:12px;border-radius:12px;box-shadow:0 1px 0 rgba(44,44,44,0.03) inset;overflow:hidden;display:flex;flex-direction:column;}
.cal-day.has-wedding{box-shadow:0 0 0 1px rgba(47,95,167,0.08) inset;}
.cal-day-num{font-size:14px;font-weight:600;margin-bottom:8px;}
.cal-wedding-chip{display:block;white-space:normal;overflow:visible;text-overflow:unset;line-height:1.35;padding:10px 12px;border-radius:10px;margin-top:8px;box-shadow:0 8px 18px rgba(0,0,0,0.08);}
.cal-tour-chip{display:block;white-space:normal;overflow:visible;text-overflow:unset;line-height:1.35;padding:10px 12px;border-radius:10px;margin-top:8px;box-shadow:0 8px 18px rgba(0,0,0,0.10);}
.cal-chip-pkg{margin-top:4px;font-size:9px;line-height:1.3;opacity:0.85;}
.cal-chip-tour-label{margin-top:4px;font-size:9px;line-height:1.3;opacity:0.85;}
.cal-nav-btn{width:44px;height:44px;font-size:18px;background:rgba(255,255,255,0.65);backdrop-filter:blur(2px);}

#qa-body{max-width:1140px;padding:32px 32px 56px;}
.qa-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px;flex-wrap:wrap;}
#qa-filters{margin-bottom:0;flex-wrap:wrap;}
#qa-page-add-btn{padding:12px 18px;border-radius:999px;border:1.5px solid rgba(47,95,167,0.28);background:#fff;color:#1E3D6F;font-family:'Jost',sans-serif;font-size:11px;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;cursor:pointer;box-shadow:0 10px 24px rgba(47,95,167,0.10);transition:all 0.18s;}
#qa-page-add-btn:hover{transform:translateY(-1px);border-color:#1E3D6F;background:#f0f7ff;}
#qa-list{gap:16px;}
.qa-card{border-radius:12px;box-shadow:0 10px 22px rgba(0,0,0,0.04);}
#qa-empty{padding:88px 32px;background:#fff;border:1px solid #dde8f3;border-radius:16px;box-shadow:0 10px 22px rgba(0,0,0,0.03);}
#qa-empty-icon{font-size:56px;}
#qa-modal-overlay{display:none;position:fixed;inset:0;z-index:900;background:rgba(20,18,16,0.56);backdrop-filter:blur(6px);padding:20px;}
#qa-modal-overlay.open{display:flex;align-items:center;justify-content:center;}
#qa-modal-box{position:relative;top:auto;left:auto;transform:none;width:min(640px,100%);border-radius:18px;overflow:hidden;box-shadow:0 32px 80px rgba(0,0,0,0.26);}
#qa-modal-head{padding:22px 26px;background:linear-gradient(135deg,#1e3d6f,#142850);}
#qa-modal-title{font-size:28px;line-height:1.1;}
#qa-modal-body{padding:24px 26px 22px;background:#fff;}
#qa-modal-footer{padding:16px 26px;background:#f4f8fc;}
.qa-modal-input{border-radius:10px;padding:12px 14px;font-size:14px;}
textarea.qa-modal-input{min-height:128px;}
.qa-modal-submit,.qa-modal-cancel{border-radius:999px;padding:11px 18px;}

@media (max-width: 980px) {
  #weddings-actions,#search-section,#table-section,#stats{padding-left:20px;padding-right:20px;}
  #cal-body{padding:20px 16px 44px;}
  #cal-grid-head{gap:6px;}
  #cal-grid{gap:6px;}
  .cal-day{min-height:112px;padding:9px;border-radius:10px;}
  #qa-body{padding:22px 16px 44px;}
}

@media (max-width: 768px) {
  #header{padding:16px 14px 12px;}
  #header-top{align-items:flex-start;}
  #nav-tabs{margin-left:0;width:100%;justify-content:center;margin-top:10px;}
  #weddings-actions{padding:0 14px;margin-top:16px;justify-content:stretch;}
  #add-btn{width:100%;}
  #cal-month-label{font-size:24px;min-width:0;}
  #cal-grid-head{display:none;}
  #cal-grid{grid-template-columns:1fr;gap:10px;}
  .cal-day{min-height:auto;padding:12px;}
  .cal-day.other-month{display:none;}
  .cal-day-num{margin-bottom:6px;}
  .qa-toolbar{align-items:stretch;}
  #qa-page-add-btn{width:100%;}
  #qa-modal-overlay{padding:12px;}
  #qa-modal-box{width:100%;max-height:92vh;overflow:auto;border-radius:16px;}
}


/* === Final Wix polish overrides === */
#logo-block{gap:0 !important;align-items:flex-start !important;}
#logo-text-wrap{display:flex;flex-direction:column;gap:6px;}
#logo-text-name{font-size:26px !important;line-height:1.05 !important;letter-spacing:0.08em !important;white-space:nowrap;}
#logo-text-sub{font-family:'Jost','Helvetica Neue',sans-serif !important;font-style:normal !important;font-size:10px !important;letter-spacing:0.22em !important;text-transform:uppercase !important;color:#8fa4bb !important;padding-top:8px !important;border-top:1px solid rgba(255,255,255,0.75) !important;display:block !important;}
#logo-text-portal{display:none !important;}

#cal-detail-overlay{display:none;position:fixed;inset:0;z-index:950;background:rgba(20,18,16,0.58);backdrop-filter:blur(6px);padding:24px;align-items:center;justify-content:center;}
#cal-detail-box{position:relative !important;top:auto !important;left:auto !important;transform:none !important;width:min(720px,92vw) !important;max-height:min(86vh,900px) !important;border-radius:18px !important;box-shadow:0 32px 90px rgba(0,0,0,0.30) !important;}
#cal-detail-head{padding:24px 28px !important;border-radius:18px 18px 0 0 !important;}
#cal-detail-date{font-size:10px !important;letter-spacing:0.18em !important;}
#cal-detail-couple{font-size:28px !important;line-height:1.15 !important;max-width:540px;}
#cal-detail-body{padding:0 !important;}
.cal-detail-section{padding:18px 28px !important;}
.cal-detail-section-head{font-size:9px !important;letter-spacing:0.18em !important;margin-bottom:12px !important;}
.cal-detail-row{padding:6px 0 !important;}
.cal-detail-lbl{min-width:120px !important;}
.cal-detail-check-grid{grid-template-columns:1fr 1fr !important;gap:10px 18px !important;}
.cal-detail-text{white-space:pre-wrap;}
#cal-detail-footer{padding:16px 28px !important;}
.cal-detail-edit-btn{border-radius:999px !important;padding:10px 20px !important;}
.cal-detail-close{width:36px !important;height:36px !important;font-size:14px !important;}

@media (max-width: 768px){
  #logo-text-name{font-size:18px !important;white-space:normal;}
  #logo-text-sub{font-size:9px !important;letter-spacing:0.16em !important;}
  #cal-detail-overlay{padding:12px;}
  #cal-detail-box{width:100% !important;max-height:92vh !important;border-radius:16px !important;}
  #cal-detail-head{padding:18px 18px 16px !important;border-radius:16px 16px 0 0 !important;}
  #cal-detail-couple{font-size:22px !important;max-width:none;}
  .cal-detail-section{padding:16px 18px !important;}
  .cal-detail-row{flex-direction:column;gap:2px !important;align-items:flex-start !important;}
  .cal-detail-lbl{min-width:auto !important;}
  .cal-detail-check-grid{grid-template-columns:1fr !important;}
  #cal-detail-footer{padding:14px 18px !important;}
}

/* === File Viewer Modal === */
#file-viewer-overlay{
  display:none;
  position:fixed;
  inset:0;
  z-index:10000;
  background:rgba(20,18,16,0.72);
  backdrop-filter:blur(6px);
}
#file-viewer-box{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:min(960px,calc(100vw - 40px));
  height:min(88vh,860px);
  background:#fff;
  border-radius:14px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  box-shadow:0 32px 80px rgba(0,0,0,0.32);
}
#file-viewer-head{
  background:#2c2c2c;
  padding:14px 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-shrink:0;
}
.fv-head-left{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  flex:1;
}
.fv-head-icon{font-size:16px;flex-shrink:0;}
#file-viewer-name{
  font-family:'Jost',sans-serif;
  font-size:13px;
  color:#dce8f4;
  font-weight:500;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.fv-head-right{
  display:flex;
  align-items:center;
  gap:10px;
  flex-shrink:0;
}
.fv-download-btn{
  padding:7px 14px;
  border:1.5px solid rgba(255,255,255,0.28);
  border-radius:6px;
  background:transparent;
  color:#ccc;
  font-family:'Jost',sans-serif;
  font-size:10px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  text-decoration:none;
  white-space:nowrap;
  transition:all 0.15s;
}
.fv-download-btn:hover{background:rgba(255,255,255,0.12);color:#fff;}
.fv-close-btn{
  width:32px;
  height:32px;
  border-radius:50%;
  border:1.5px solid rgba(255,255,255,0.28);
  background:rgba(255,255,255,0.08);
  color:#ccc;
  font-size:14px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:all 0.15s;
}
.fv-close-btn:hover{background:rgba(255,255,255,0.2);color:#fff;}
#file-viewer-body{
  flex:1;
  overflow:auto;
  background:#f4f7fc;
  display:flex;
  align-items:stretch;
  justify-content:center;
}
#file-viewer-body iframe{
  width:100%;
  height:100%;
  border:none;
  display:block;
  flex:1;
}
#file-viewer-body img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  padding:16px;
  box-sizing:border-box;
  align-self:center;
}
.file-viewer-unsupported{
  text-align:center;
  padding:56px 24px;
  align-self:center;
}
.fv-icon{font-size:52px;margin-bottom:14px;}
.fv-filename{
  font-size:15px;
  font-weight:600;
  color:#2c2c2c;
  margin-bottom:8px;
  word-break:break-all;
}
.fv-msg{
  font-size:13px;
  color:#888;
  line-height:1.7;
  margin-bottom:22px;
  max-width:320px;
  margin-left:auto;
  margin-right:auto;
}
.fv-open-btn{
  display:inline-block;
  padding:12px 28px;
  background:#2c2c2c;
  color:#fff;
  border-radius:6px;
  text-decoration:none;
  font-family:'Jost',sans-serif;
  font-size:11px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  transition:background 0.15s;
}
.fv-open-btn:hover{background:#4a3a60;}


/* === Mobile premium tasks overrides === */
@media (max-width: 768px){
  body.page-tasks{background:#f0f5fb;}
  #tasks-body{padding:18px 12px 72px !important;}
  .tasks-shell{gap:18px !important;}
  .tasks-card{
    border-radius:18px !important;
    border:1px solid #dce8f4 !important;
    box-shadow:0 10px 30px rgba(67,100,140,0.08) !important;
    overflow:hidden !important;
  }
  .tasks-card-head{
    padding:18px 18px 14px !important;
    background:linear-gradient(180deg,#f5f9fe 0%, #eef4fb 100%) !important;
  }
  .tasks-card-kicker{font-size:8px !important; letter-spacing:0.18em !important; color:#8fa4bb !important;}
  .tasks-card-title{font-size:24px !important; line-height:1.05 !important;}
  .tasks-card-sub, .tasks-list-sub{font-size:12px !important; line-height:1.6 !important; color:#7a8ea4 !important;}
  .tasks-create-body{padding:16px 16px 18px !important; gap:14px !important;}
  .tasks-create-row{gap:10px !important;}
  .tasks-label{font-size:8px !important; letter-spacing:0.16em !important;}
  .tasks-input, .tasks-select{
    min-height:48px !important;
    padding:13px 14px !important;
    border-radius:14px !important;
    background:#f5f9fe !important;
    font-size:14px !important;
  }
  .tasks-add-btn{
    min-height:48px !important;
    border-radius:14px !important;
    box-shadow:0 8px 20px rgba(91,74,97,0.18) !important;
  }
  .tasks-summary{
    grid-template-columns:repeat(3,1fr) !important;
    gap:8px !important;
    padding:0 16px 16px !important;
    border-top:none !important;
    background:#fff !important;
  }
  .tasks-summary-item{
    border:none !important;
    background:#f4f8fc !important;
    border-radius:14px !important;
    padding:12px 10px !important;
    text-align:center !important;
  }
  .tasks-summary-num{font-size:24px !important;}
  .tasks-summary-label{font-size:8px !important; letter-spacing:0.12em !important; margin-top:4px !important;}
  .tasks-list-head{padding:18px 16px 12px !important; gap:14px !important;}
  .tasks-list-title{font-size:24px !important;}
  .tasks-filter-tabs{
    width:calc(100% + 8px) !important;
    display:flex !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    gap:8px !important;
    margin-right:-8px !important;
    padding-bottom:2px !important;
    scrollbar-width:none;
    -ms-overflow-style:none;
  }
  .tasks-filter-tabs::-webkit-scrollbar{display:none;}
  .tasks-filter-btn{
    width:auto !important;
    flex:0 0 auto !important;
    min-width:max-content !important;
    white-space:nowrap !important;
    border-radius:999px !important;
    padding:10px 14px !important;
    font-size:10px !important;
    background:#f4f8fc !important;
  }
  .tasks-filter-btn.active{
    background:#5b4a61 !important;
    border-color:#5b4a61 !important;
    box-shadow:0 8px 18px rgba(91,74,97,0.18) !important;
  }
  #tasks-list-wrap{padding:10px 12px 16px !important; background:#fff !important;}
  .tasks-group + .tasks-group{margin-top:18px !important;}
  .tasks-group-label{margin:8px 6px 12px !important; font-size:8px !important; letter-spacing:0.18em !important;}
  .task-item{
    flex-direction:column !important;
    gap:0 !important;
    border-radius:18px !important;
    border:1px solid #dce8f4 !important;
    box-shadow:0 8px 22px rgba(67,100,140,0.05) !important;
    background:linear-gradient(180deg,#ffffff 0%, #f5f9fe 100%) !important;
  }
  .task-item:has(> .task-title){
    flex-direction:row !important;
    align-items:center !important;
    gap:8px !important;
    padding:10px 12px !important;
  }
  .task-item:has(> .task-title) .task-title{
    margin-bottom:0 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    flex:1 !important;
    min-width:0 !important;
  }
  .task-item + .task-item{margin-top:14px !important;}
  .task-hitarea{
    width:100% !important;
    padding:16px 16px 12px !important;
    gap:14px !important;
    align-items:flex-start !important;
  }
  .task-toggle{
    width:24px !important;
    height:24px !important;
    border-radius:7px !important;
    margin-top:2px !important;
    border-width:1.5px !important;
  }
  .task-main{display:block !important;}
  .task-title{
    font-size:15px !important;
    line-height:1.55 !important;
    margin-bottom:10px !important;
    letter-spacing:0.01em;
  }
  .task-meta{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:8px !important;
  }
  .task-badge{
    padding:6px 10px !important;
    border-radius:999px !important;
    font-size:10px !important;
    letter-spacing:0.08em !important;
  }
  .task-time{
    display:block !important;
    font-size:11px !important;
    color:#7a8ea4 !important;
    line-height:1.5 !important;
  }
  .task-actions{
    width:100% !important;
    padding:0 16px 16px !important;
    gap:8px !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
  }
  .task-action-btn{
    min-height:42px !important;
    border-radius:12px !important;
    font-size:10px !important;
    letter-spacing:0.1em !important;
    background:#fff !important;
  }
  .task-action-btn.secondary{min-width:0 !important;}
  .task-delete-btn{grid-column:1 / -1 !important;}
  .tasks-empty{
    padding:52px 18px !important;
    border:1px dashed #dae4f0 !important;
    border-radius:18px !important;
    background:#f4f8fc !important;
  }
}

@media (max-width: 520px){
  #tasks-body{padding:16px 10px 68px !important;}
  .tasks-card-head{padding:16px 16px 12px !important;}
  .tasks-card-title,.tasks-list-title{font-size:22px !important;}
  .tasks-card-sub,.tasks-list-sub{font-size:11px !important;}
  .tasks-create-body{padding:14px 14px 16px !important;}
  .tasks-summary{padding:0 14px 14px !important; gap:6px !important;}
  .tasks-summary-item{padding:11px 8px !important;}
  .tasks-summary-num{font-size:22px !important;}
  .tasks-summary-label{font-size:7px !important;}
  .tasks-list-head{padding:16px 14px 10px !important;}
  #tasks-list-wrap{padding:8px 10px 14px !important;}
  .tasks-filter-btn{padding:9px 12px !important; font-size:9px !important;}
  .task-item{border-radius:16px !important;}
  .task-item:has(> .task-title){flex-direction:row !important; align-items:center !important; gap:8px !important; padding:10px 12px !important;}
  .task-hitarea{padding:14px 14px 10px !important; gap:12px !important;}
  .task-title{font-size:14px !important; margin-bottom:9px !important;}
  .task-item:has(> .task-title) .task-title{margin-bottom:0 !important;}
  .task-meta{gap:7px !important;}
  .task-actions{padding:0 14px 14px !important; grid-template-columns:1fr !important;}
  .task-delete-btn{grid-column:auto !important;}
}


/* === Interaction and picker enhancements === */
#cal-detail-overlay{align-items:flex-start;overflow-y:auto;-webkit-overflow-scrolling:touch;}
#cal-detail-box{position:relative !important; top:auto !important; left:auto !important; transform:none !important; margin:0 auto; width:min(720px,100%); max-height:none;}
#cal-detail-body{max-height:calc(100vh - 220px);}
.person-picker{display:flex;flex-wrap:wrap;gap:4px;}
.person-chip{display:inline-flex;flex-direction:column;align-items:center;gap:5px;padding:8px 6px;border:none;border-radius:10px;background:transparent;color:#4e6075;cursor:pointer;transition:all .15s ease;min-width:52px;}
.person-chip:hover{background:#f0f5fa;}
.person-chip:hover .person-chip-icon{transform:translateY(-2px);box-shadow:0 6px 14px rgba(0,0,0,0.14);}
.person-chip.selected{background:#f0f5fa;}
.person-chip.selected .person-chip-icon{box-shadow:0 0 0 2.5px #fff,0 0 0 4.5px #2c2c2c;}
.person-chip-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0;transition:transform .15s,box-shadow .15s;}
.person-chip-label{white-space:nowrap;font-size:10px;font-weight:500;letter-spacing:0.01em;color:#4e6075;}
.person-chip.selected .person-chip-label{color:#1a1a1a;font-weight:600;}
.person-chip.pam .person-chip-icon{background:#4a5a7a;}
.person-chip.gary .person-chip-icon{background:#4a7a4e;}
.person-chip.maggie .person-chip-icon{background:#7a3a5a;}
.person-chip.marianne .person-chip-icon{background:#2e6b9e;}
.person-chip.lindsey .person-chip-icon{background:#3f6f8f;}
.person-chip.other .person-chip-icon{background:#6a82a0;}
.qa-person-picker{margin-top:4px;}
.tasks-list-controls{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px 16px;}
.tasks-sort-wrap{display:flex;align-items:center;gap:8px;}
.tasks-sort-label{font-size:9px;letter-spacing:0.14em;text-transform:uppercase;color:#627287;font-weight:600;}
.tasks-sort-select{border:1.5px solid #c9d8e8;border-radius:999px;background:#fff;padding:9px 14px;font-size:11px;color:#3e5268;outline:none;}
.tasks-sort-select:focus{border-color:#5b4a61;}
.task-person-picker{margin-top:2px;}
.task-badge.marianne{background:#eaf3fb;color:#2e6b9e;}
.task-badge.lindsey{background:#e8f2f8;color:#3f6f8f;}
.task-badge.other{background:#e2ecf5;color:#6a82a0;}
.qa-askedby-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:999px;background:#eef4fb;color:#4e6a87;font-size:10px;font-weight:600;}
.qa-askedby-badge .dot{width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.72;}
.qa-askedby-badge.pam{background:#e8ecf5;color:#4a5a7a;}
.qa-askedby-badge.gary{background:#e8f5ea;color:#4a7a4e;}
.qa-askedby-badge.maggie{background:#f5e8f0;color:#7a3a5a;}
.qa-askedby-badge.marianne{background:#eaf3fb;color:#2e6b9e;}
.qa-askedby-badge.lindsey{background:#e8f2f8;color:#3f6f8f;}
.qa-askedby-badge.other{background:#e2ecf5;color:#6a82a0;}
@media (max-width: 768px){
  #cal-detail-overlay{padding:14px 10px 18px;align-items:flex-start;}
  #cal-detail-box{width:100%;max-width:100%;border-radius:12px;}
  #cal-detail-body{max-height:none;}
  .person-picker{gap:6px;}
  .person-chip{width:auto;justify-content:center;padding:8px 6px;}
  .tasks-list-controls{width:100%;justify-content:flex-start;}
  .tasks-sort-wrap{width:100%;}
  .tasks-sort-select{width:100%;border-radius:12px;}
}



/* === Wix embed height + compact mobile adjustments === */
html{height:auto;background:#f4f7fc;overflow-x:hidden;}
body{min-height:auto !important;height:auto;overflow:visible;}
#app{min-height:0;}
#footer{padding:22px 24px 24px;}
#footer-logo{display:none !important;}
#footer-name{margin-top:0 !important;}

@media (max-width: 768px){
  body{font-size:12px !important;}
  #conn-bar{padding:6px 12px !important;font-size:10px !important;}
  #header{
    position:sticky;
    top:0;
    z-index:120;
    padding:12px 10px 10px !important;
    box-shadow:0 3px 12px rgba(0,0,0,0.10) !important;
  }
  #header-inner{max-width:none !important;}
  #header-top{gap:10px !important;}
  #logo-block{width:100%;}
  #logo-text-wrap{gap:4px !important;}
  #nav-tabs{
    width:100% !important;
    display:flex !important;
    flex-wrap:nowrap !important;
    justify-content:flex-start !important;
    overflow-x:auto !important;
    gap:6px !important;
    padding-bottom:2px !important;
    scrollbar-width:none;
    -ms-overflow-style:none;
  }
  #nav-tabs::-webkit-scrollbar{display:none;}
  .nav-tab{flex:0 0 auto !important;padding:8px 12px !important;font-size:9px !important;letter-spacing:0.1em !important;}
  #stats{
    margin-top:12px !important;
    padding:0 10px !important;
    border-top:none !important;
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px !important;
    max-width:none !important;
  }
  .stat-item{
    padding:10px 8px !important;
    margin:0 !important;
    border-right:none !important;
    background:#fff;
    border:1px solid #dce8f4;
    border-radius:12px;
    text-align:center;
  }
  .stat-num{font-size:20px !important;}
  .stat-label{font-size:7px !important;letter-spacing:0.12em !important;}
  #weddings-actions,#search-section,#table-section,#cal-body,#qa-body,#tasks-body,#wl-body{padding-left:10px !important;padding-right:10px !important;}
  #weddings-actions{margin-top:12px !important;}
  #search-section{padding-top:10px !important;}
  #table-section{margin-top:10px !important;padding-bottom:22px !important;}
  .year-group{margin-bottom:18px !important;}
  .year-label{margin-bottom:6px !important;}
  .mobile-cards{display:block !important;}
  .wedding-table{display:none !important;}
  .wedding-card{border-radius:14px !important;margin-bottom:12px !important;box-shadow:0 6px 18px rgba(0,0,0,0.05) !important;}
  .card-header{padding:14px 14px 12px !important;}
  .card-meta{padding:10px 14px !important;gap:8px 10px !important;}
  .card-actions{padding:10px 14px !important;flex-wrap:wrap !important;}
  .card-checklist{padding:10px 14px 12px !important;}
  #cal-body{padding-top:14px !important;padding-bottom:24px !important;}
  #cal-nav{margin:0 auto 14px !important;gap:12px !important;}
  #cal-month-label{font-size:20px !important;line-height:1.2 !important;}
  .cal-nav-btn{width:40px !important;height:40px !important;}
  .cal-day{padding:10px !important;border-radius:12px !important;}
  .cal-wedding-chip{padding:8px 10px !important;margin-top:6px !important;box-shadow:none !important;}
  .cal-tour-chip{padding:8px 10px !important;margin-top:6px !important;box-shadow:none !important;}
  #qa-body{padding-top:14px !important;padding-bottom:24px !important;}
  .qa-toolbar{margin-bottom:14px !important;gap:12px !important;}
  #qa-empty{padding:36px 14px !important;}
  #tasks-body{padding-top:14px !important;padding-bottom:26px !important;}
  .tasks-shell{gap:14px !important;}
  .tasks-card-head{padding:16px 16px 12px !important;}
  .tasks-card-title,.tasks-list-title{font-size:21px !important;}
  .tasks-card-sub,.tasks-list-sub{font-size:11px !important;line-height:1.45 !important;}
  .tasks-create-body{padding:14px 14px 14px !important;gap:12px !important;}
  .tasks-summary{padding:0 14px 12px !important;gap:6px !important;}
  .tasks-summary-item{padding:10px 6px !important;border-radius:12px !important;}
  .tasks-summary-num{font-size:20px !important;}
  .tasks-summary-label{font-size:7px !important;}
  .tasks-list-head{padding:16px 14px 10px !important;gap:10px !important;}
  #tasks-list-wrap{padding:8px 10px 12px !important;}
  .tasks-group + .tasks-group{margin-top:14px !important;}
  .task-item + .task-item{margin-top:10px !important;}
  .task-hitarea{padding:13px 13px 10px !important;gap:12px !important;}
  .task-title{font-size:14px !important;line-height:1.45 !important;margin-bottom:8px !important;}
  .task-item:has(> .task-title){flex-direction:row !important; align-items:center !important; gap:8px !important; padding:10px 12px !important;}
  .task-item:has(> .task-title) .task-title{margin-bottom:0 !important;}
  .task-meta{gap:6px !important;}
  .task-badge{padding:5px 9px !important;font-size:9px !important;}
  .task-actions{padding:0 13px 13px !important;gap:7px !important;}
  .task-action-btn{min-height:40px !important;font-size:9px !important;}
  #wl-body{padding-top:14px !important;padding-bottom:24px !important;}
  .wl-form-header{padding:16px 16px 14px !important;}
  .wl-form-title{font-size:19px !important;}
  .wl-form-body{padding:16px !important;gap:14px !important;}
  .wl-form-footer{padding:12px 16px !important;}
  .wl-log-card{padding:16px 16px !important;}
  #footer{padding:12px 12px 14px !important;margin-top:0 !important;}
  #footer-name{font-size:11px !important;}
  #footer-addr{font-size:8px !important;}
  #stats{display:none !important;}
  #search-section{display:none !important;}
  .tasks-list-sub{display:none !important;}
  .tasks-summary{display:none !important;}
}

@media (max-width: 520px){
  #stats{gap:6px !important;}
  .stat-num{font-size:18px !important;}
  .stat-label{font-size:6px !important;}
  #header{padding:10px 8px 8px !important;}
  .nav-tab{padding:7px 10px !important;font-size:8px !important;}
  #logo-text-name{font-size:17px !important;}
  #logo-text-sub{font-size:8px !important;}
  #weddings-actions,#search-section,#table-section,#cal-body,#qa-body,#tasks-body,#wl-body{padding-left:8px !important;padding-right:8px !important;}
  .card-header,.card-meta,.card-actions,.card-checklist{padding-left:12px !important;padding-right:12px !important;}
  .tasks-filter-btn{padding:8px 11px !important;}
  .task-actions{grid-template-columns:1fr !important;}
  .task-delete-btn{grid-column:auto !important;}
}



/* === Responsive improvements: weddings, calendar, tasks modal === */
#cal-list-mobile{display:none;}
.cal-list-day{background:#fff;border:1px solid #dce8f4;border-radius:18px;padding:14px;box-shadow:0 8px 24px rgba(0,0,0,0.04);margin-bottom:12px;}
.cal-list-date{font-size:10px;letter-spacing:0.16em;text-transform:uppercase;color:#7d7268;font-weight:600;margin-bottom:10px;}
.cal-list-stack{display:flex;flex-direction:column;gap:10px;}
.cal-list-item{display:block;width:100%;text-align:left;background:#f4f8fc;border:1px solid #dce8f4;border-radius:14px;padding:13px 14px;cursor:pointer;transition:transform .15s,border-color .15s,background .15s;}
.cal-list-item:hover{background:#fff;border-color:#c9d6e8;transform:translateY(-1px);}
.cal-list-item-top{display:flex;gap:10px;align-items:flex-start;justify-content:space-between;}
.cal-list-couple{font-family:'Cormorant Garamond',Georgia,serif;font-size:22px;line-height:1.1;color:#1f1a17;}
.cal-list-badge{display:inline-flex;align-items:center;justify-content:center;min-width:32px;padding:4px 9px;border-radius:999px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;border:1px solid #c9d6e8;}
.cal-list-meta,.cal-list-staff{font-size:12px;color:#6e655d;line-height:1.5;margin-top:6px;}
.cal-mobile-empty{background:#fff;border:1px dashed #ccd8e9;border-radius:18px;padding:26px 18px;text-align:center;color:#7a8ea4;}
.cal-mobile-empty-icon{font-size:28px;margin-bottom:8px;}
.cal-mobile-empty-title{font-family:'Cormorant Garamond',Georgia,serif;font-size:24px;color:#2c2c2c;}
.cal-mobile-empty-sub{font-size:12px;margin-top:4px;}

/* === Mini-calendar strip (mobile) === */
#cal-mini-wrap{
  display:none;
  background:#fff;
  border:1px solid #ede8e0;
  border-radius:16px;
  padding:12px 10px 8px;
  margin-bottom:14px;
}
#cal-mini-head{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  margin-bottom:4px;
}
.cal-mini-dow{
  text-align:center;
  font-size:9px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#bbb;
  padding:2px 0 5px;
  font-weight:600;
}
#cal-mini-grid{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:1px;
}
.cal-mini-cell{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  padding:4px 1px 5px;
  background:none;
  border:none;
  cursor:pointer;
  border-radius:8px;
  min-height:40px;
  transition:background .12s;
  -webkit-tap-highlight-color:transparent;
}
.cal-mini-cell:active{ background:rgba(0,0,0,.06); }
.cal-mini-cell.other-month .cal-mini-num{ color:#d0cccc; }
.cal-mini-cell.selected{ background:rgba(44,44,44,.09); }
.cal-mini-cell.selected .cal-mini-num{ font-weight:700; }
.cal-mini-num{
  font-size:12px;
  color:#2c2c2c;
  font-weight:400;
  width:24px;
  height:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  line-height:1;
}
.cal-mini-cell.today .cal-mini-num{
  background:#2F5FA7;
  color:#fff;
  font-weight:600;
}
.cal-mini-dots{
  display:flex;
  gap:2px;
  margin-top:3px;
  flex-wrap:wrap;
  justify-content:center;
  max-width:28px;
}
.cal-mini-dot{
  width:5px;
  height:5px;
  border-radius:50%;
  flex-shrink:0;
}
.cal-mini-dot.wedding{ background:#2F5FA7; }
.cal-mini-dot.tour{ background:#1e5f74; }
.cal-mini-dot.rental{ background:#6f8b76; }
.cal-mini-dot.family{ background:#5e7b9e; }

/* Today button (hidden on desktop, shown on mobile) */
.cal-today-btn{
  display:none;
  border:1.5px solid #c9d8e8;
  background:#fff;
  color:#546278;
  border-radius:999px;
  padding:7px 14px;
  font-size:9px;
  letter-spacing:.1em;
  text-transform:uppercase;
  cursor:pointer;
  transition:all .15s;
  white-space:nowrap;
}
.cal-today-btn:hover{ border-color:#2c2c2c; color:#2c2c2c; }

@media (max-width:860px){
  #cal-mini-wrap{ display:block; }
  .cal-today-btn{ display:inline-flex; align-items:center; }
}

.tasks-overview-body{padding:18px 22px 10px;}
.tasks-open-modal-btn{width:100%;border:none;border-radius:999px;background:#5b4a61;color:#fff;padding:13px 18px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;box-shadow:0 10px 24px rgba(91,74,97,.18);}
.tasks-open-modal-btn:hover{background:#47384c;}
#task-modal-overlay{position:fixed;inset:0;z-index:920;background:rgba(20,18,16,.62);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;padding:20px;}
#task-modal-overlay.open{display:flex;}
#task-modal-box{width:min(680px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:20px;box-shadow:0 40px 100px rgba(0,0,0,.32);}
#task-modal-head{display:flex;align-items:flex-start;justify-content:space-between;padding:22px 26px 20px;background:linear-gradient(160deg,#f7f4fb 0%,#eef3fa 100%);border-bottom:1px solid #dce8f4;border-top:4px solid #5b4a61;border-radius:20px 20px 0 0;}
.task-modal-body{padding:24px 26px 28px !important;}
.task-modal-close{width:36px;height:36px;border-radius:50%;border:1.5px solid #dae4f0;background:#fff;color:#8fa4bb;cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0;}
.task-modal-close:hover{background:#f5eeff;border-color:#5b4a61;color:#5b4a61;}
body.task-modal-open{overflow:hidden;}
/* Modal-specific layout overrides */
#task-modal-head .tasks-card-kicker{color:#7060a0;font-size:9px;letter-spacing:0.16em;}
.task-modal-body .tasks-label{font-size:9px;letter-spacing:0.13em;color:#74869c;font-weight:700;}
.task-modal-body .tasks-create-grid{grid-template-columns:1fr;}
.task-modal-body .tasks-priority-picker .priority-chip{border-radius:10px;}
.task-modal-body .tasks-create-row{flex-direction:column;align-items:stretch;gap:8px;}
.task-modal-body #task-save-btn{width:100%;padding:15px;border-radius:10px;font-size:11px;letter-spacing:0.14em;background:linear-gradient(160deg,#5b4a61 0%,#47384c 100%);box-shadow:0 8px 24px rgba(91,74,97,0.22);transition:opacity .15s,box-shadow .15s;}
.task-modal-body #task-save-btn:hover{opacity:0.9;box-shadow:0 12px 32px rgba(91,74,97,0.30);}
.task-modal-body .tasks-help{font-size:11px;color:#9fb0c3;line-height:1.5;}
.task-modal-body textarea.tasks-input{resize:vertical;min-height:88px;}
.task-modal-body .tasks-field{gap:8px;}
.task-image-drop-icon{font-size:16px;line-height:1;}

@media (max-width: 980px){
  .mobile-cards{display:block !important;}
  .wedding-table{display:none !important;}
  .wedding-card{border-radius:18px !important;border:1px solid #dce8f4 !important;box-shadow:0 10px 24px rgba(0,0,0,.05) !important;overflow:hidden !important;}
  .card-header{padding:16px 16px 12px !important;display:block !important;}
  .card-couple{font-size:24px !important;line-height:1.05 !important;}
  .card-meta{grid-template-columns:1fr !important;gap:10px !important;padding:12px 16px !important;background:#fff !important;}
  .card-meta > div{padding:10px 12px;background:#f4f8fc;border:1px solid #dce8f4;border-radius:12px;}
  .card-meta-label{font-size:8px !important;margin-bottom:4px !important;}
  .card-meta-value{font-size:13px !important;line-height:1.5 !important;white-space:normal !important;}
  .card-actions{padding:12px 16px !important;gap:10px !important;flex-wrap:wrap !important;background:#fff;}
  .card-expand-btn{order:2;width:100%;text-align:center;padding-top:4px;font-size:10px !important;}
}

@media (max-width: 860px){
  #cal-grid-head,#cal-grid{display:none !important;}
  #cal-list-mobile{display:block;}
  #cal-body{padding:16px 12px 24px !important;}
  #cal-nav{gap:10px !important;margin-bottom:14px !important;}
  #cal-month-label{font-size:22px !important;}
}

@media (max-width: 700px){
  .tasks-shell{grid-template-columns:1fr !important;}
  #task-modal-overlay{padding:10px;}
  #task-modal-box{border-radius:18px;width:100%;max-height:94vh;}
  #task-modal-head{padding:18px 18px 14px;}
  .task-modal-body{padding:16px 16px 18px !important;}
  .task-modal-body .tasks-create-grid{grid-template-columns:1fr !important;}
  .task-modal-body .tasks-create-row{flex-direction:column;align-items:stretch;}
  .task-modal-body .tasks-add-btn{width:100%;}
}



/* === Mobile-first nav, calendar, and detail refinements === */
#nav-tabs{display:flex;align-items:center;gap:8px;}
.nav-tab{display:inline-flex;align-items:center;justify-content:center;gap:8px;}
.nav-ico{display:inline-flex;align-items:center;justify-content:center;font-size:15px;line-height:1;min-width:1em;}
.nav-label{display:inline-block;line-height:1;}

@media (max-width: 980px){
  #header-top{align-items:flex-start !important;}
  #nav-tabs{width:100%;overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap !important;justify-content:flex-start !important;padding-bottom:4px;scrollbar-width:none;}
  #nav-tabs::-webkit-scrollbar{display:none;}
  .nav-tab{flex:0 0 auto;min-width:78px;border-radius:16px !important;padding:10px 12px !important;flex-direction:column;gap:5px;font-size:9px !important;letter-spacing:.08em !important;}
  .nav-ico{font-size:18px;}
  .nav-label{font-size:9px;}
}

@media (max-width: 860px){
  #page-calendar{padding-bottom:18px !important;}
  #cal-body{padding:14px 10px 20px !important;}
  #cal-nav{position:sticky;top:0;z-index:4;background:#f4f7fc;padding:8px 2px 10px;margin:0 auto 10px !important;}
  #cal-month-label{font-size:20px !important;min-width:0 !important;flex:1;}
  .cal-nav-btn{width:40px;height:40px;background:#fff;border-color:#ccd8e9;box-shadow:0 4px 12px rgba(0,0,0,.05);}
  #cal-grid-head,#cal-grid{display:none !important;}
  #cal-list-mobile{display:block !important;min-height:180px;}
  .cal-list-day{padding:12px !important;border-radius:16px !important;margin-bottom:10px !important;}
  .cal-list-date{font-size:9px !important;margin-bottom:8px !important;}
  .cal-list-stack{gap:8px !important;}
  .cal-list-item{padding:12px !important;border-radius:12px !important;}
  .cal-list-item-top{display:block !important;}
  .cal-list-couple{display:block;font-size:20px !important;line-height:1.05 !important;padding-right:0 !important;}
  .cal-list-badge{display:inline-flex;margin-top:8px;}
  .cal-list-meta,.cal-list-staff{font-size:12px !important;line-height:1.45 !important;}
}

@media (max-width: 700px){
  #cal-detail-overlay{padding:0 !important;align-items:flex-end !important;}
  #cal-detail-box{width:100vw !important;max-width:100vw !important;max-height:90vh !important;border-radius:22px 22px 0 0 !important;}
  #cal-detail-head{padding:18px 18px 14px !important;position:sticky;top:0;z-index:2;}
  #cal-detail-date{font-size:9px !important;}
  #cal-detail-couple{font-size:24px !important;max-width:none !important;line-height:1.08 !important;}
  .cal-detail-close{width:36px !important;height:36px !important;}
  .cal-detail-section{padding:14px 16px !important;}
  .cal-detail-row{flex-direction:column !important;gap:3px !important;align-items:flex-start !important;}
  .cal-detail-lbl{min-width:0 !important;font-size:9px !important;letter-spacing:.08em;text-transform:uppercase;}
  .cal-detail-val{font-size:13px !important;line-height:1.45 !important;word-break:break-word;}
  .cal-detail-check-grid{grid-template-columns:1fr !important;gap:8px !important;}
  #cal-detail-footer{padding:12px 16px !important;}
  .cal-detail-edit-btn{width:100%;padding:12px 16px !important;}
}

@media (max-width: 980px){
  .year-group{margin-bottom:18px !important;}
  .year-label{margin-bottom:10px !important;}
  .mobile-cards{display:block !important;}
  .wedding-table{display:none !important;}
  .wedding-card{margin-bottom:14px !important;}
  .card-header{padding:16px 14px 12px !important;}
  .card-progress-bar-wrap{margin-top:10px !important;}
  .card-meta{grid-template-columns:1fr !important;gap:8px !important;padding:10px 14px 12px !important;}
  .card-meta > div{padding:10px 12px;background:#f4f8fc;border:1px solid #dce8f4;border-radius:12px;}
  .card-actions{padding:12px 14px !important;flex-direction:column;align-items:stretch !important;}
  .card-expand-btn{width:100%;text-align:center !important;order:2;}
  .edit-btn,.del-btn{width:100%;margin-left:0 !important;}
}

@media (max-width: 560px){
  #weddings-actions,#search-section,#table-section,#cal-body,#qa-body,#tasks-body,#wl-body{padding-left:10px !important;padding-right:10px !important;}
  .card-couple{font-size:22px !important;}
  .card-meta-value{font-size:13px !important;}
  .cal-mobile-empty{padding:22px 14px !important;}
}


.tasks-owner-strip{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.owner-filter-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1.5px solid #c9d8e8;border-radius:999px;background:#fff;color:#4e6075;cursor:pointer;transition:all .15s;}
.owner-filter-chip:hover{border-color:#a0bcd6;background:#f4f8fc;}
.owner-filter-chip.active{border-color:#2c2c2c;background:#2c2c2c;color:#fff;}
.owner-filter-chip-icon{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;background:rgba(44,44,44,.08);color:inherit;flex-shrink:0;}
.owner-filter-chip.active .owner-filter-chip-icon{background:rgba(255,255,255,.16);}
.owner-filter-chip.pam .owner-filter-chip-icon{background:#e8ecf5;color:#4a5a7a;}
.owner-filter-chip.gary .owner-filter-chip-icon{background:#e8f5ea;color:#4a7a4e;}
.owner-filter-chip.maggie .owner-filter-chip-icon{background:#f5e8f0;color:#7a3a5a;}
.owner-filter-chip.active.pam .owner-filter-chip-icon,.owner-filter-chip.active.gary .owner-filter-chip-icon,.owner-filter-chip.active.maggie .owner-filter-chip-icon{background:rgba(255,255,255,.16);color:#fff;}
.owner-filter-chip-label{font-size:11px;font-weight:600;letter-spacing:.04em;}
@media (max-width: 768px){
  #modal-overlay{padding:0 !important;}
  #modal-scroll-inner{padding:0 !important;align-items:flex-start !important;}
  #modal-box{margin:0 !important;width:100% !important;max-width:100% !important;max-height:100vh !important;border-radius:0 0 18px 18px !important;}
  #qa-modal-overlay.open,#task-modal-overlay.open,#cal-detail-overlay{align-items:flex-start !important;justify-content:center !important;}
  #qa-modal-overlay,#task-modal-overlay,#cal-detail-overlay{padding:0 !important;}
  #qa-modal-box,#task-modal-box,#cal-detail-box{width:100% !important;max-width:100% !important;max-height:100vh !important;border-radius:0 0 18px 18px !important;margin:0 !important;}
  #cal-detail-box{top:0 !important;left:0 !important;transform:none !important;}
  .tasks-owner-strip{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;-webkit-overflow-scrolling:touch;}
  .tasks-owner-strip::-webkit-scrollbar{display:none;}
}


<style id="mobile-fixes-20260310">
/* Additional mobile polish */
.card-exp-body{background:#f4f8fc;border-top:1px solid #dce8f4;}
.card-exp-section{padding:14px 16px;border-top:1px solid #efe6dc;}
.card-exp-section:first-child{border-top:none;}
.card-exp-head{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#7a8ea4;font-weight:700;margin-bottom:10px;}
.card-exp-row{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;padding:7px 0;align-items:start;}
.card-exp-lbl{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#8fa4bb;font-weight:600;}
.card-exp-val{font-size:14px;line-height:1.45;color:#2a2420;word-break:break-word;}
.card-exp-val a{color:#2a2420;text-decoration:underline;text-underline-offset:2px;}
.card-exp-empty{font-size:13px;color:#8fa4bb;font-style:italic;}
.card-exp-text{font-size:14px;line-height:1.65;color:#3b342f;white-space:pre-wrap;}
.card-checklist-grid{grid-template-columns:1fr 1fr;gap:8px 14px;}
.card-check-item{white-space:normal;align-items:flex-start;line-height:1.4;}

@media (max-width: 980px){
  #header{overflow:visible;}
  #nav-tabs{display:grid !important;grid-template-columns:repeat(9,minmax(0,1fr));gap:6px !important;width:100%;overflow:visible !important;flex-wrap:nowrap !important;justify-content:stretch !important;padding-bottom:0 !important;margin-top:16px !important;}
  .nav-tab{min-width:0 !important;width:100% !important;flex:1 1 0 !important;padding:10px 4px !important;border-radius:18px !important;gap:6px !important;}
  .nav-ico{font-size:18px !important;}
  .nav-label{white-space:normal !important;text-align:center !important;font-size:8px !important;line-height:1.1 !important;letter-spacing:.05em !important;}
}

@media (max-width: 860px){
  #cal-body{padding:12px 10px 28px !important;}
  #cal-nav{position:static !important;padding:0 2px 4px !important;}
  #cal-month-label{font-size:19px !important;text-align:center;}
  #cal-list-mobile{display:block !important;min-height:0 !important;padding-bottom:8px;}
  .cal-list-day{padding:12px !important;border-radius:16px !important;margin-bottom:12px !important;}
  .cal-list-date{font-size:9px !important;letter-spacing:.14em !important;}
  .cal-list-item{padding:13px 12px !important;}
  .cal-list-couple{font-size:18px !important;line-height:1.08 !important;}
  .cal-list-meta,.cal-list-staff{font-size:12px !important;line-height:1.45 !important;}
  .cal-list-item-main{display:block;}
  #footer{margin-top:0 !important;}
}

@media (max-width: 700px){
  .card-meta{grid-template-columns:1fr !important;}
  .card-actions{padding-top:10px !important;}
  .card-exp-section{padding:14px 14px;display:grid;grid-template-columns:1fr 1fr;gap:0;}
  .card-exp-section .card-exp-head{grid-column:1/-1;}
  .card-exp-section .cl-cats-wrap{grid-column:1/-1;}
  .card-exp-row{grid-template-columns:1fr;gap:3px;}
  .card-exp-lbl{font-size:9px;}
  .card-exp-val,.card-exp-text{font-size:13px;}
  .card-checklist-grid{grid-template-columns:1fr;gap:8px;}
  .card-expand-btn{border:1px solid #ccd9e8;border-radius:999px;padding:10px 14px !important;background:#fff;}
}

@media (max-width:768px){
  #nav-tabs{
    justify-content:center !important;
    align-items:center;
  }
}


/* Final mobile nav centering fix */
@media (max-width: 768px){
  #header-inner{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
  }
  #header-top{
    width:100% !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:10px !important;
  }
  #logo-block{
    width:100% !important;
    justify-content:center !important;
    text-align:center !important;
  }
  #nav-tabs{
    display:grid !important;
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
    gap:8px !important;
    width:min(100%, 420px) !important;
    max-width:420px !important;
    margin:12px auto 0 !important;
    overflow:visible !important;
    justify-content:center !important;
    align-content:center !important;
    padding-bottom:0 !important;
  }
  .nav-tab{
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    padding:10px 4px !important;
    gap:6px !important;
    border-radius:16px !important;
  }
  .nav-label{
    display:block !important;
    width:100% !important;
    text-align:center !important;
    white-space:normal !important;
    line-height:1.1 !important;
    font-size:8px !important;
    letter-spacing:.05em !important;
  }
}


@media (max-width:768px){
  /* .nav-tab-calendar shown on all screen sizes */
  #nav-tabs{grid-template-columns:repeat(3,minmax(0,1fr)) !important;max-width:440px !important;margin-left:auto !important;margin-right:auto !important;justify-content:center !important;}
}

  /* Ensure past rental/family entries remain editable */
  .rental-item .entry-actions,
  .family-item .entry-actions,
  .rental-card .entry-actions,
  .family-card .entry-actions { display:flex; gap:8px; flex-wrap:wrap; }

  .past-rentals .entry-actions,
  .past-family .entry-actions,
  #rentals-past-list .entry-actions,
  #family-past-list .entry-actions { display:flex !important; }

  @media (max-width: 900px) {
    .rental-item .entry-actions,
    .family-item .entry-actions,
    .rental-card .entry-actions,
    .family-card .entry-actions,
    .past-rentals .entry-actions,
    .past-family .entry-actions,
    #rentals-past-list .entry-actions,
    #family-past-list .entry-actions {
      display:flex !important;
      width:100%;
      justify-content:flex-start;
      margin-top:10px;
    }
  }


/* === Calendar category filters and chips === */
#cal-filter-bar{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  margin:0 auto 20px;
  max-width:1100px;
}
.cal-filter-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-radius:999px;
  border:1.5px solid #c9d8e8;
  background:#fff;
  color:#546278;
  font-size:10px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  cursor:pointer;
  transition:all 0.16s;
  box-shadow:0 4px 14px rgba(0,0,0,0.04);
}
.cal-filter-chip:hover{
  border-color:#2c2c2c;
  color:#2c2c2c;
}
.cal-filter-chip.active{
  background:#2c2c2c;
  color:#fff;
  border-color:#2c2c2c;
}
.cal-filter-icon{
  font-size:14px;
  line-height:1;
}
.cal-rental-chip{
  background:#6f8b76;
  color:#fff;
  border-radius:3px;
  padding:3px 7px;
  font-size:10px;
  font-family:'Jost',sans-serif;
  cursor:pointer;
  margin-top:3px;
  line-height:1.4;
  transition:background 0.15s;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  border-left:3px solid #aac6b2;
}
.cal-rental-chip:hover{ background:#56715d; }
.cal-family-chip{
  background:#5e7b9e;
  color:#fff;
  border-radius:3px;
  padding:3px 7px;
  font-size:10px;
  font-family:'Jost',sans-serif;
  cursor:pointer;
  margin-top:3px;
  line-height:1.4;
  transition:background 0.15s;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  border-left:3px solid #7ab0d4;
}
.cal-family-chip:hover{ background:#705a3a; }
.cal-event-chip{
  background:#5e82a8;
  color:#fff;
  border-radius:3px;
  padding:3px 7px;
  font-size:10px;
  font-family:'Jost',sans-serif;
  cursor:pointer;
  margin-top:3px;
  line-height:1.4;
  transition:background 0.15s;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  border-left:3px solid #60a4d0;
}
.cal-event-chip:hover{ background:#3a7a9e; }
.cal-list-item-event{ border-left:3px solid #5e82a8 !important; }
.cal-mini-dot.events{ background:#5e82a8; }
.cal-chip-mini-label{
  font-size:8px;
  font-family:'Jost',sans-serif;
  opacity:0.8;
  letter-spacing:0.08em;
  display:block;
  text-transform:uppercase;
}
.cal-list-item-rental .cal-list-badge{
  background:#6f8b76 !important;
  color:#fff !important;
  border-color:#6f8b76 !important;
}
.cal-list-item-family .cal-list-badge{
  background:#5e7b9e !important;
  color:#fff !important;
  border-color:#5e7b9e !important;
}
@media (max-width: 700px){
  #cal-filter-bar{
    justify-content:flex-start;
    overflow-x:auto;
    flex-wrap:nowrap;
    padding-bottom:4px;
    margin-bottom:14px;
  }
  .cal-filter-chip{
    flex:0 0 auto;
    padding:9px 12px;
  }
}

/* Filter chips: icon-only on very small screens */
@media (max-width:480px){
  .cal-filter-text{ display:none; }
  .cal-filter-chip{ padding:10px 12px; gap:0; }
  .cal-filter-icon{ font-size:16px; }
}

/* === Mobile list-view polish === */
/* Color-coded left accent on each event card */
.cal-list-item{
  border-left-width:3px;
  border-left-color:#2F5FA7; /* default = wedding terracotta */
}
.cal-list-item-tour{   border-left-color:#1e5f74; }
.cal-list-item-rental{ border-left-color:#6f8b76; }
.cal-list-item-family{ border-left-color:#5e7b9e; }

/* Date section header: pill style */
.cal-list-date{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:9px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#7a8ea4;
  font-weight:700;
  background:#eef4fb;
  border-radius:999px;
  padding:5px 12px;
  margin-bottom:12px;
}

/* Tighten up card couple name on tiny phones */
@media (max-width:400px){
  .cal-list-couple{ font-size:18px !important; }
  .cal-list-item{ padding:11px 12px !important; }
}

/* Better sticky nav layout with Today button */
@media (max-width:860px){
  #cal-nav{
    display:flex !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:8px !important;
  }
  #cal-month-label{
    flex:1 !important;
    text-align:center !important;
    font-family:'Cormorant Garamond',Georgia,serif;
    font-size:20px !important;
    font-style:italic;
    color:#1a1a1a;
  }
  .cal-today-btn{
    flex-shrink:0;
    font-size:9px;
    padding:7px 12px;
  }
}

/* Tighter padding for overall cal page on mobile */
@media (max-width:480px){
  #cal-body{ padding:12px 8px 20px !important; }
  #cal-mini-wrap{ padding:10px 8px 6px !important; border-radius:12px !important; }
  .cal-list-day{ padding:10px !important; border-radius:14px !important; }
}


/* === Tasks page cleanup === */
.tasks-shell-single{
  grid-template-columns:minmax(0,1fr) !important;
}
.tasks-board-card{
  width:100%;
}
.tasks-header-add-btn{
  border:none;
  border-radius:999px;
  background:#5b4a61;
  color:#fff;
  padding:12px 18px;
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(91,74,97,.16);
  white-space:nowrap;
}
.tasks-header-add-btn:hover{
  background:#47384c;
}
.tasks-list-controls{
  align-items:flex-start;
}
@media (max-width: 760px){
  .tasks-list-controls{
    justify-content:flex-start !important;
    width:100%;
  }
  .tasks-header-add-btn{
    width:100%;
    order:-1;
  }
}

/* === Stay cards: make summary clickable and details reliable === */
.stay-card{
  overflow:hidden;
}
.stay-card-summary{
  cursor:pointer;
}
.stay-card-summary-btn{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1.15fr) 24px;
  gap:18px;
  align-items:center;
  border:none;
  background:transparent;
  text-align:left;
  padding:0;
  font:inherit;
  color:inherit;
  cursor:pointer;
}
.stay-card-summary-btn:focus-visible{
  outline:2px solid #5b4a61;
  outline-offset:4px;
  border-radius:6px;
}
.stay-card-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
@media (max-width: 820px){
  .stay-card-summary-btn{
    grid-template-columns:1fr;
    gap:10px;
  }
}


/* === Stay cards interaction fix === */
.stay-card{
  background:#fff;
  border:1px solid #dce8f4;
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 2px 10px rgba(0,0,0,0.03);
}
.stay-card-summary{
  padding:18px 22px;
}
.stay-card-summary-btn{
  width:100%;
  display:grid;
  grid-template-columns:minmax(160px,1.15fr) minmax(180px,.95fr) minmax(180px,1.2fr) 28px;
  gap:22px;
  align-items:center;
  border:none;
  background:transparent;
  color:inherit;
  text-align:left;
  padding:0;
  margin:0;
  font:inherit;
  cursor:pointer;
}
.stay-card-summary-btn *{
  pointer-events:none;
}
.stay-card-summary-btn:hover .stay-card-name{
  text-decoration:underline;
}
.stay-card-chevron{
  justify-self:end;
  font-size:14px;
  color:#7a8ea4;
  transition:transform .18s ease;
}
.stay-card.expanded .stay-card-chevron{
  transform:rotate(180deg);
}
.stay-card-detail{
  display:none;
  padding:0 22px 20px;
  border-top:1px solid #e2ecf5;
  background:#f2f7fd;
}
.stay-card.expanded .stay-card-detail{
  display:block !important;
}
.stay-detail-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px 24px;
  padding-top:16px;
}
.stay-card-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  padding-top:16px;
}
.stay-action-btn{
  padding:10px 16px;
  border:1.5px solid #c9d8e8;
  background:#fff;
  color:#5d554d;
  border-radius:6px;
  font-size:10px;
  letter-spacing:.1em;
  text-transform:uppercase;
  cursor:pointer;
  transition:all .15s;
}
.stay-action-btn:hover{
  border-color:#5b4a61;
  color:#5b4a61;
}
.stay-action-btn.delete:hover{
  border-color:#2F5FA7;
  color:#2F5FA7;
  background:#edf5ff;
}
@media (max-width: 900px){
  .stay-card-summary-btn{
    grid-template-columns:1fr;
    gap:10px;
  }
  .stay-card-chevron{
    justify-self:start;
  }
  .stay-detail-grid{
    grid-template-columns:1fr;
  }
}


/* Stronger click support for rental/family cards */
.stay-card-summary{
  cursor:pointer !important;
  user-select:none;
}
.stay-card-summary > *{
  pointer-events:none;
}
.stay-card-summary .stay-card-summary-btn{
  pointer-events:none;
}
.stay-card-summary .stay-card-summary-btn *{
  pointer-events:none;
}
.stay-card-actions,
.stay-card-actions *{
  pointer-events:auto !important;
}



/* ===== Stay rows use full width better ===== */
.stay-card-summary-btn{
  width:100%;
  display:grid;
  grid-template-columns: 1.2fr 1.6fr 2fr auto;
  gap:40px;
  align-items:center;
}

.stay-card-summary{
  padding:24px 32px;
}

.stay-card-name{
  font-size:24px;
  line-height:1.2;
}

.stay-card-meta-value{
  font-size:16px;
  line-height:1.5;
}

.stay-chip-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.stay-card-chevron{
  justify-self:end;
  align-self:center;
  font-size:14px;
  opacity:.7;
}

.stay-card-summary-btn > div{
  min-width:0;
}

.stay-card-meta-value{
  white-space:normal;
}

@media (max-width:1200px){
  .stay-card-summary-btn{
    grid-template-columns:1.2fr 1.4fr 1.6fr auto;
    gap:28px;
  }
}

@media (max-width:900px){
  .stay-card-summary-btn{
    grid-template-columns:1fr;
    gap:14px;
  }
  .stay-card-chevron{
    justify-self:start;
  }
  .stay-card-name{
    font-size:20px;
  }
  .stay-card-meta-value{
    font-size:15px;
  }
  .stay-card-detail{
    padding:0 20px 20px;
  }
  .stay-detail-grid{
    grid-template-columns:1fr;
  }
}


/* === Task board top-right add button === */
.tasks-list-topbar{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  width:100%;
}
.tasks-list-controls{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:14px;
  flex-wrap:wrap;
}
.tasks-header-add-btn{
  margin-left:auto;
  flex:0 0 auto;
}
#tasks-list-wrap{
  min-height:120px;
}
@media (max-width: 860px){
  .tasks-list-topbar{
    flex-direction:column;
    align-items:stretch;
  }
  .tasks-header-add-btn{
    margin-left:0;
    width:100%;
  }
}


/* === Unified page widths across Tasks, Q&A, Work Log, Tours, Rentals, Family === */
#tasks-body,
#qa-body,
#wl-body,
#tours-body,
#rentals-body,
#family-body,
#events-body,
#meetings-body{
  max-width:1280px !important;
  width:100%;
  margin:0 auto !important;
  box-sizing:border-box;
}

#tasks-body{ padding:28px 32px 64px !important; }
#qa-body{ padding:28px 32px 48px !important; }
#wl-body{ padding:28px 32px 64px !important; }
#tours-body,
#rentals-body,
#family-body,
#events-body{ padding:28px 32px 64px !important; }

.tasks-shell,
.tasks-shell-single{
  max-width:none !important;
}

@media (max-width: 900px){
  #tasks-body,
  #qa-body,
  #wl-body,
  #tours-body,
  #rentals-body,
  #family-body,
  #events-body{
    padding:20px 20px 40px !important;
  }
}

@media (max-width: 640px){
  #tasks-body,
  #qa-body,
  #wl-body,
  #tours-body,
  #rentals-body,
  #family-body,
  #events-body{
    padding:16px 16px 32px !important;
  }
}


/* === Tours aligned with Rentals / Family === */
#tours-list,
#tours-upcoming-list,
#tours-past-list{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.tour-card,
.tour-row,
.tour-item{
  background:#fff;
  border:1px solid #dce8f4;
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 2px 10px rgba(0,0,0,0.03);
}

.tour-card-summary,
.tour-row-summary,
.tour-item-summary{
  padding:24px 32px;
  cursor:pointer;
}

.tour-card-summary-btn,
.tour-row-summary-btn,
.tour-item-summary-btn{
  width:100%;
  display:grid;
  grid-template-columns:1.1fr 1.4fr 1.5fr auto;
  gap:32px;
  align-items:center;
  border:none;
  background:transparent;
  color:inherit;
  text-align:left;
  padding:0;
  font:inherit;
  cursor:pointer;
}

.tour-summary-person{
  display:flex;
  align-items:center;
  gap:16px;
  min-width:0;
}

.tour-summary-avatar{
  width:48px;
  height:48px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  color:#fff;
  font-weight:600;
  font-size:18px;
  font-family:'Jost',sans-serif;
  background:#7a3a5a;
}

.tour-summary-main-name{
  font-size:18px;
  line-height:1.35;
  color:#1a1a1a;
  font-weight:500;
  white-space:normal;
}

.tour-summary-label{
  display:block;
  margin-bottom:10px;
  font-size:9px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#7a8ea4;
  font-weight:700;
}

.tour-summary-value{
  font-size:16px;
  line-height:1.5;
  color:#1a1a1a;
  white-space:normal;
}

.tour-status-chip{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:8px 14px;
  border-radius:999px;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:600;
  background:#eef3ea;
  color:#5e7a61;
}

.tour-status-chip.past{
  background:#f3efe9;
  color:#7a8ea4;
}

.tour-card-chevron,
.tour-row-chevron,
.tour-item-chevron{
  justify-self:end;
  align-self:center;
  font-size:14px;
  opacity:.7;
  transition:transform .18s ease;
}

.tour-card.expanded .tour-card-chevron,
.tour-row.expanded .tour-row-chevron,
.tour-item.expanded .tour-item-chevron{
  transform:rotate(180deg);
}

.tour-card-detail,
.tour-row-detail,
.tour-item-detail{
  display:none;
  padding:0 32px 24px;
  border-top:1px solid #e2ecf5;
  background:#f2f7fd;
}

.tour-card.expanded .tour-card-detail,
.tour-row.expanded .tour-row-detail,
.tour-item.expanded .tour-item-detail{
  display:block !important;
}

.tour-detail-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px 26px;
  padding-top:18px;
}

.tour-detail-label{
  font-size:9px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#888;
  font-weight:700;
  margin-bottom:8px;
}

.tour-detail-text{
  font-size:14px;
  color:#1a1a1a;
  line-height:1.6;
  white-space:pre-wrap;
}

.tour-card-actions,
.tour-row-actions,
.tour-item-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  padding-top:18px;
}

.tour-action-btn{
  padding:10px 16px;
  border:1.5px solid #c9d8e8;
  background:#fff;
  color:#5d554d;
  border-radius:6px;
  font-size:10px;
  letter-spacing:.1em;
  text-transform:uppercase;
  cursor:pointer;
  transition:all .15s;
}

.tour-action-btn:hover{
  border-color:#5b4a61;
  color:#5b4a61;
}

.tour-action-btn.delete:hover{
  border-color:#2F5FA7;
  color:#2F5FA7;
  background:#edf5ff;
}

@media (max-width: 1100px){
  .tour-card-summary-btn,
  .tour-row-summary-btn,
  .tour-item-summary-btn{
    grid-template-columns:1.1fr 1.3fr 1.3fr auto;
    gap:24px;
  }
}

@media (max-width: 900px){
  .tour-card-summary,
  .tour-row-summary,
  .tour-item-summary{
    padding:20px 20px;
  }

  .tour-card-summary-btn,
  .tour-row-summary-btn,
  .tour-item-summary-btn{
    grid-template-columns:1fr;
    gap:14px;
  }

  .tour-card-chevron,
  .tour-row-chevron,
  .tour-item-chevron{
    justify-self:start;
  }

  .tour-card-detail,
  .tour-row-detail,
  .tour-item-detail{
    padding:0 20px 20px;
  }

  .tour-detail-grid{
    grid-template-columns:1fr;
  }
}


/* === Task page layout cleanup === */
#tasks-body{
  max-width:1280px !important;
}
.tasks-page-topbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  margin:0 0 18px;
}
.tasks-page-topbar-spacer{
  flex:1 1 auto;
}
.tasks-page-add-btn{
  margin-left:auto;
  border:none;
  border-radius:999px;
  background:#5b4a61;
  color:#fff;
  padding:13px 20px;
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(91,74,97,.16);
  white-space:nowrap;
}
.tasks-page-add-btn:hover{
  background:#47384c;
}
.tasks-card.tasks-board-card{
  min-height:0;
}
.tasks-list-head{
  padding:24px 28px 18px;
}
.tasks-list-topbar{
  display:block !important;
}
.tasks-list-controls{
  margin-top:14px;
}
#tasks-list-wrap{
  min-height:0;
}
.tasks-empty{
  padding:96px 20px !important;
}
@media (max-width: 860px){
  .tasks-page-topbar{
    margin-bottom:14px;
  }
  .tasks-page-add-btn{
    width:100%;
  }
}


/* === Mobile tours row fix === */


.owner-filter-chip.dan .owner-filter-chip-icon{ background:#ece8f5; color:#5f4a7a; }
.owner-filter-chip.marianne .owner-filter-chip-icon{ background:#eaf3fb; color:#2e6b9e; }
.owner-filter-chip.lindsey .owner-filter-chip-icon{ background:#e7eff7; color:#3f6f96; }
.task-badge.dan{ background:#ece8f5; color:#5f4a7a; }
.task-badge.marianne{ background:#eaf3fb; color:#2e6b9e; }
.task-badge.lindsey{ background:#e7eff7; color:#3f6f96; }


/* === Q&A edit support === */
.qa-edit-answer-wrap{ margin-top:10px; }
.qa-edit-answer-wrap[hidden]{ display:none !important; }
.qa-edit-actions{ display:flex; gap:10px; flex-wrap:wrap; padding:10px 0 4px; }


/* === Q&A question edit support === */
.qa-question-edit-wrap{ margin-top:12px; }
.qa-question-edit-wrap[hidden]{ display:none !important; }
.qa-inline-question-edit-btn{ margin-left:0; }
.qa-question-edit-actions{ display:flex; gap:10px; flex-wrap:wrap; padding:10px 0 4px; }


/* === Mobile owner filter dropdown === */
@media (max-width:700px){
  .owner-filter-row{
    display:none !important;
  }
  .mobile-owner-filter{
    display:block !important;
    margin:14px 0 18px;
  }
}
.mobile-owner-filter{
  display:none;
}
.mobile-owner-filter select{
  width:100%;
  padding:12px 14px;
  border-radius:10px;
  border:1px solid #c9d6e8;
  font-size:14px;
  background:#fff;
}


/* === Mobile task owner filter compact dropdown fix === */
@media (max-width: 700px){
  .tasks-owner-strip,
  .owner-filter-row{
    display:none !important;
  }

  .mobile-owner-filter{
    display:block !important;
    width:100%;
    margin:14px 0 18px !important;
  }

  .mobile-owner-filter select{
    width:100%;
    padding:12px 14px;
    border-radius:10px;
    border:1px solid #c9d6e8;
    font-size:14px;
    background:#fff;
    color:#2c2c2c;
    appearance:auto;
  }
}


/* === Q&A question editing === */
.qa-question-edit-wrap[hidden]{
  display:none !important;
}
.qa-question-edit-wrap{
  margin:12px 0 8px;
}
.qa-question-edit-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:10px;
}


/* === Remove duplicate owner chips when dropdown present === */
@media (max-width:700px){
  .tasks-owner-strip,
  .owner-filter-row,
  .owner-filter-chip{
    display:none !important;
  }
}


/* === Wedding detail page === */
body.page-wedding-detail #header{ background:#2c2c2c; border-bottom-color:#1a1a1a; }
#wedding-detail-body{
  max-width:1280px;
  margin:0 auto;
  padding:28px 32px 64px;
  box-sizing:border-box;
}
.wdetail-topbar{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:16px;
  margin-bottom:18px;
}

.wdetail-topbar-center{
  min-width:0;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}

.wdetail-topbar-actions{
  display:flex;
  justify-content:flex-end;
}
.wdetail-topbar-kicker{
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#7a8ea4;
  margin-bottom:4px;
}
.wdetail-topbar-title{
  font-family: 'Cormorant Garamond', serif;
  font-size:15px;
  font-weight:600;
  line-height:1.25;
  color:#2f3f56;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:100%;
  letter-spacing:0.02em;
}
.wdetail-back-btn,
.wdetail-edit-btn{
  border:1.5px solid #c9d8e8;
  background:#fff;
  color:#5d554d;
  border-radius:999px;
  padding:11px 18px;
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  cursor:pointer;
  transition:all .15s;
  white-space:nowrap;
  flex-shrink:0;
}
.wdetail-back-btn:hover,
.wdetail-edit-btn:hover{
  border-color:#2c2c2c;
  color:#2c2c2c;
}
.wdetail-shell{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.wdetail-hero{
  background:#fff;
  border:1px solid #dce8f4;
  border-radius:12px;
  padding:24px 28px;
  box-shadow:0 2px 12px rgba(0,0,0,0.04);
}
.wdetail-hero-kicker{
  font-size:9px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#7a8ea4;
  font-weight:700;
  margin-bottom:8px;
}
.wdetail-hero-title{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:38px;
  line-height:1.1;
  color:#1a1a1a;
}
.wdetail-hero-sub{
  margin-top:10px;
  color:#6a82a0;
  font-size:14px;
  line-height:1.6;
}
.wdetail-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.wdetail-card{
  background:#fff;
  border:1px solid #dce8f4;
  border-radius:12px;
  padding:22px 24px;
  box-shadow:0 2px 12px rgba(0,0,0,0.04);
}
.wdetail-card-head{
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#7a8ea4;
  font-weight:700;
  margin-bottom:14px;
}
.wdetail-card-head-row{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  margin-bottom:16px;
}
.wdetail-card-sub{
  margin-top:6px;
  font-size:13px;
  color:#7a8ea4;
}
.wdetail-task-progress{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:24px;
  color:#2c2c2c;
  white-space:nowrap;
}
.wdetail-info-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 24px;
}
.wdetail-field-label{
  font-size:9px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#999;
  font-weight:700;
  margin-bottom:6px;
}
.wdetail-field-value{
  font-size:14px;
  color:#1a1a1a;
  line-height:1.55;
  white-space:normal;
  word-break:break-word;
}
.wdetail-field-value a{
  color:#1a1a1a;
  text-decoration:none;
}
.wdetail-field-value a:hover{
  text-decoration:underline;
}
.wdetail-empty{
  color:#aaa;
  font-style:italic;
}
.wdetail-notes{
  font-size:14px;
  line-height:1.7;
  color:#333;
  white-space:pre-wrap;
}
.wdetail-tasks-card{
  padding:22px 24px 24px;
}
.wdetail-task-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 16px;
}
.wdetail-task-item{
  display:flex;
  align-items:flex-start;
  gap:12px;
  border:1px solid #d8e5f2;
  border-radius:10px;
  padding:14px 14px;
  background:#fff;
  transition:border-color .15s, background .15s;
}
.wdetail-task-item.done{
  background:#f3f8ff;
}
.wdetail-task-item:hover{
  border-color:#ccd8e9;
}
.wdetail-task-check{
  width:22px;
  height:22px;
  border-radius:50%;
  border:1.5px solid #c2d2e4;
  background:#fff;
  color:transparent;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  margin-top:2px;
  cursor:pointer;
  transition:all .15s;
}
.wdetail-task-item.done .wdetail-task-check{
  background:#4a7a4e;
  border-color:#4a7a4e;
  color:#fff;
}
.wdetail-task-main{
  min-width:0;
  flex:1;
}
.wdetail-task-name{
  font-size:14px;
  color:#1a1a1a;
  line-height:1.5;
}
.wdetail-task-item.done .wdetail-task-name{
  color:#7a8ea4;
  text-decoration:line-through;
}
.wdetail-task-status{
  margin-top:6px;
  font-size:11px;
  color:#8fa4bb;
}
@media (max-width: 900px){
  #wedding-detail-body{
    padding:20px 20px 40px;
  }
  .wdetail-grid{
    grid-template-columns:1fr;
  }
  .wdetail-info-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .wdetail-task-list{
    grid-template-columns:1fr;
  }
  .wdetail-card-head-row{
    flex-direction:column;
    align-items:stretch;
  }
  .wdetail-hero-title{
    font-size:30px;
  }
}


/* === Wedding detail mobile/task UX polish === */
body.page-wedding-detail #footer{
  margin-top:18px;
}

.wdetail-shell{
  gap:20px;
}

.wdetail-tasks-card{
  position:relative;
}

.wdetail-task-list{
  align-items:stretch;
}

.wdetail-task-item{
  align-items:flex-start;
}

.wdetail-task-check{
  min-width:22px;
}

.wdetail-task-name{
  font-weight:500;
}

.wdetail-task-status{
  font-size:12px;
}

@media (max-width: 900px){
  #wedding-detail-body{
    max-width:100%;
    padding:18px 16px 34px !important;
  }

  .wdetail-topbar{
    margin-bottom:12px;
  }

  .wdetail-shell{
    gap:14px;
  }

  .wdetail-hero,
  .wdetail-card{
    border-radius:14px;
    padding:18px 18px;
  }

  .wdetail-hero-title{
    font-size:28px !important;
    line-height:1.08;
  }

  .wdetail-hero-sub{
    font-size:13px;
    line-height:1.55;
  }

  .wdetail-card-head{
    font-size:10px;
    margin-bottom:10px;
  }

  .wdetail-card-head-row{
    gap:10px;
    margin-bottom:12px;
  }

  .wdetail-card-sub{
    font-size:12px;
    line-height:1.5;
  }

  .wdetail-task-progress{
    font-size:22px;
  }

  .wdetail-task-list{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .wdetail-task-item{
    padding:14px 12px;
    border-radius:12px;
  }

  .wdetail-task-check{
    width:24px;
    height:24px;
    border-radius:50%;
    margin-top:1px;
  }

  .wdetail-task-name{
    font-size:15px;
    line-height:1.45;
  }

  .wdetail-task-status{
    margin-top:5px;
    font-size:12px;
    line-height:1.4;
  }

  .wdetail-info-grid{
    gap:12px 16px;
  }

  .wdetail-field-label{
    font-size:9px;
  }

  .wdetail-field-value{
    font-size:14px;
    line-height:1.55;
  }

  .wdetail-notes{
    font-size:14px;
    line-height:1.7;
  }

  .wdetail-back-btn,
  .wdetail-edit-btn,
  .wdetail-add-btn{
    min-height:46px;
    border-radius:999px;
    font-size:11px;
  }
}


@media (max-width: 640px){
  #wedding-detail-body{
    padding:14px 14px 28px !important;
  }

  .wdetail-topbar{
    gap:10px;
  }

  .wdetail-hero,
  .wdetail-card{
    padding:16px 16px;
  }

  .wdetail-hero-title{
    font-size:24px !important;
  }

  .wdetail-hero-sub{
    font-size:12px;
  }

  .wdetail-task-item{
    gap:10px;
  }

  .wdetail-task-check{
    width:26px;
    height:26px;
    font-size:13px;
  }

  .wdetail-task-name{
    font-size:15px;
  }

  .wdetail-card-head-row{
    flex-direction:column;
    align-items:stretch;
  }

  .wdetail-topbar{
    gap:8px;
  }
  .wdetail-back-btn{
    font-size:11px;
    padding:0 12px;
  }
  .wdetail-edit-btn{
    width:auto;
    font-size:11px;
    padding:0 14px;
  }

  .wdetail-task-progress{
    font-size:18px;
    align-self:flex-start;
  }

  /* Larger tap target for task checkboxes */
  .wdetail-task-check{
    width:28px;
    height:28px;
    border-radius:50%;
  }
  .wdetail-task-item{
    min-height:54px;
    align-items:center;
  }
  .wdetail-task-item.done{
    align-items:flex-start;
  }
  .wdetail-task-item.done .wdetail-task-check{
    margin-top:3px;
  }
}


/* === Wedding checklist categories === */
.wdetail-task-category-tabs{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:0 0 14px;
}
.wdetail-task-category-btn{
  border:1.5px solid #c9d8e8;
  background:#fff;
  color:#546278;
  border-radius:999px;
  padding:9px 14px;
  font-size:10px;
  letter-spacing:.1em;
  text-transform:uppercase;
  cursor:pointer;
  transition:all .15s;
}
.wdetail-task-category-btn:hover{
  border-color:#2c2c2c;
  color:#2c2c2c;
}
.wdetail-task-category-btn.active{
  background:#2c2c2c;
  border-color:#2c2c2c;
  color:#fff;
}
.wdetail-task-category-meta{
  font-size:12px;
  color:#7a8ea4;
  margin:0 0 14px;
  line-height:1.5;
}
/* (superseded by later 2Ã—2 grid rule) */


/* === Clean rebuild task + wedding detail fixes === */
.task-toggle{display:none !important;}
.task-hitarea{
  cursor:default !important;
  display:block !important;
  padding-left:16px !important;
}
.task-main{
  display:block !important;
  margin-left:0 !important;
}
.wdetail-task-category-tabs{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin:0 0 14px;
}
.wdetail-task-category-btn{
  border:1.5px solid #c9d8e8;
  background:#fff;
  color:#546278;
  border-radius:999px;
  padding:10px 14px;
  font-size:10px;
  letter-spacing:.1em;
  text-transform:uppercase;
  cursor:pointer;
}
.wdetail-task-category-btn.active{
  background:#2c2c2c;
  color:#fff;
  border-color:#2c2c2c;
}
.wdetail-task-category-meta{
  font-size:13px;
  color:#7a8ea4;
  line-height:1.5;
  margin:0 0 14px;
}
.wdetail-task-category-empty{
  color:#999;
  font-style:italic;
}

/* Wedding detail task board density + visual polish */
.wdetail-tasks-card{
  background:
    radial-gradient(circle at top right, rgba(47,95,167,0.06), transparent 30%),
    linear-gradient(180deg, #f8fbff 0%, #f4f8fd 100%);
  padding:24px 26px 26px;
}
.wdetail-task-progress{
  padding:10px 14px;
  border:1px solid #dce8f4;
  border-radius:999px;
  background:rgba(255,255,255,0.88);
  box-shadow:0 8px 20px rgba(52,40,30,0.05);
}
.wdetail-task-list{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.wdetail-task-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px 16px;
}
.wdetail-task-category-meta{
  display:none !important;
}
#wdetail-task-list > .wdetail-task-grid{
  margin-top:2px;
}
#wdetail-task-list > .clx-subcategory{
  margin-left:0;
  padding:18px 18px 18px;
  border:1px solid rgba(212,221,232,0.9);
  border-radius:22px;
  background:linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,250,253,0.96));
  box-shadow:0 14px 32px rgba(67,84,108,0.07);
  gap:14px;
}
#wdetail-task-list > .clx-subcategory .clx-subcategory-title{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:11px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:#6f675d;
  font-weight:700;
}
#wdetail-task-list > .clx-subcategory .clx-subcategory-title::before{
  content:'';
  width:10px;
  height:10px;
  border-radius:999px;
  background:linear-gradient(135deg, #5d7d56 0%, #8aa283 100%);
  box-shadow:0 0 0 4px rgba(93,125,86,0.12);
}
#wdetail-task-list > .clx-subcategory .wdetail-task-grid{
  margin-left:0;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px 16px;
}
@media (min-width:1180px){
  .wdetail-task-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
  #wdetail-task-list > .clx-subcategory .wdetail-task-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
}
@media (max-width:900px){
  #wdetail-task-list > .clx-subcategory{
    padding:14px 14px 16px !important;
    border-radius:14px !important;
  }
  .wdetail-task-grid,
  #wdetail-task-list > .clx-subcategory .wdetail-task-grid{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
}
/* (superseded by later 2Ã—2 grid rule) */


/* === Clean mobile section picker override === */
#mobile-page-picker-wrap{display:none;max-width:1300px;margin:0 auto;padding:14px 14px 0;}
.mobile-page-picker-card{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,#4d4c4a 0%,#595856 100%);border:1px solid rgba(255,255,255,0.14);border-radius:24px;padding:16px 18px;box-shadow:0 10px 24px rgba(0,0,0,0.12);}
.mobile-page-picker-icon{width:52px;height:52px;border-radius:16px;background:rgba(255,255,255,0.12);display:flex;align-items:center;justify-content:center;color:#fff;font-size:22px;flex:0 0 52px;}
.mobile-page-picker-copy{min-width:0;flex:1;}
.mobile-page-picker-label{font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:rgba(255,255,255,0.72);font-weight:600;margin-bottom:4px;}
.mobile-page-picker-select-wrap{position:relative;}
.mobile-page-picker-select-wrap::after{content:'\25BC';position:absolute;right:2px;top:50%;transform:translateY(-50%);font-size:12px;color:rgba(255,255,255,0.82);pointer-events:none;}
#mobile-page-picker{width:100%;appearance:none;-webkit-appearance:none;background:transparent;border:none;outline:none;color:#fff;font-family:'Jost','Helvetica Neue',sans-serif;font-size:19px;font-weight:600;line-height:1.2;padding:0 24px 0 0;cursor:pointer;}
#mobile-page-picker option{color:#2c2c2c;background:#fff;}
@media (max-width:700px){
  #nav-tabs{display:none !important;}
  #mobile-page-picker-wrap{display:none !important;}
}

/* ═══ Style Block 3 ═══ */
@media (max-width:700px){
  body #nav-tabs{display:none !important;}
  body #mobile-page-picker-wrap{display:none !important;}
}

/* ═══ Style Block 4 ═══ */
@media (max-width: 768px){
  /* Keep owner filters fully visible on mobile without horizontal scrolling */
  .tasks-owner-strip{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
    flex-wrap:unset !important;
    overflow:visible !important;
    padding-bottom:0 !important;
  }
  .owner-filter-chip{
    width:100% !important;
    min-width:0 !important;
    justify-content:center !important;
    padding:12px 10px !important;
  }
  .owner-filter-chip-label{
    font-size:12px !important;
  }

  /* Make work log form fit safely on narrow iPhone widths */
  #wl-body{
    padding-left:12px !important;
    padding-right:12px !important;
  }
  .wl-form-header,
  .wl-form-body,
  .wl-form-footer{
    padding-left:16px !important;
    padding-right:16px !important;
  }
  .wl-field,
  .wl-field-sm,
  .wl-field-row{
    min-width:0 !important;
    max-width:none !important;
  }
  .wl-input,
  #wl-date,
  #wl-hist-date,
  #wl-hours,
  #wl-hist-employee{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }
  input[type="date"].wl-input{
    -webkit-appearance:none;
    appearance:none;
    font-size:16px !important;
    line-height:1.25 !important;
    min-height:56px !important;
    padding:14px 14px !important;
    overflow:hidden !important;
  }
  input[type="date"].wl-input::-webkit-date-and-time-value{
    text-align:left;
  }
  .wl-label-hint{
    font-size:12px !important;
    line-height:1.45 !important;
  }
}

@media (max-width: 420px){
  .tasks-owner-strip{
    grid-template-columns:1fr 1fr !important;
  }
  .owner-filter-chip{
    border-radius:18px !important;
    gap:6px !important;
    padding:11px 8px !important;
  }
  .owner-filter-chip-icon{
    width:22px !important;
    height:22px !important;
    font-size:10px !important;
  }
  .owner-filter-chip-label{
    font-size:11px !important;
    letter-spacing:.02em !important;
  }
  .wl-form-title{
    font-size:28px !important;
  }
}

@media (max-width:768px){
  #nav-tabs{
    justify-content:center !important;
    align-items:center;
  }
}


/* === Mobile owner filter dropdown === */
@media (max-width:700px){
  .owner-filter-row{
    display:none !important;
  }
  .mobile-owner-filter{
    display:block !important;
    margin:14px 0 18px;
  }
}
.mobile-owner-filter{
  display:none;
}
.mobile-owner-filter select{
  width:100%;
  padding:12px 14px;
  border-radius:10px;
  border:1px solid #c9d6e8;
  font-size:14px;
  background:#fff;
}


/* === Remove duplicate owner chips when dropdown present === */
@media (max-width:700px){
  .tasks-owner-strip,
  .owner-filter-row,
  .owner-filter-chip{
    display:none !important;
  }
}

/* === Mobile task filter controls — compact & touch-friendly === */
@media (max-width:768px){
  /* Stack the entire controls area vertically with tight spacing */
  .tasks-list-controls{
    flex-direction:column !important;
    align-items:stretch !important;
    gap:8px !important;
  }

  /* Unfinished / Finished — full-width pair of equal buttons */
  .tasks-filter-tabs{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:6px !important;
    width:100% !important;
    overflow:visible !important;
    flex-wrap:unset !important;
    margin-right:0 !important;
  }
  .tasks-filter-btn{
    width:100% !important;
    text-align:center !important;
    white-space:nowrap !important;
    padding:11px 8px !important;
    font-size:11px !important;
    border-radius:10px !important;
  }

  /* All Tasks / Wedding / Non-Wedding — full-width row of 3 equal buttons */
  .task-type-filter-strip{
    display:grid !important;
    grid-template-columns:repeat(3,1fr) !important;
    gap:6px !important;
    width:100% !important;
    margin-top:0 !important;
  }
  .task-type-filter-btn{
    width:100% !important;
    text-align:center !important;
    white-space:nowrap !important;
    padding:10px 6px !important;
    font-size:9px !important;
    border-radius:10px !important;
  }
}

/* Extra-narrow phones: stack task-type buttons 1×3 vertically if they get too cramped */
@media (max-width:360px){
  .task-type-filter-strip{
    grid-template-columns:1fr !important;
  }
}

/* ═══ Style Block 5 ═══ */
/* â•â• Tours page layout â•â• */
#tours-body { padding: 28px 32px 64px; max-width: 900px; margin: 0 auto; box-sizing: border-box; }

/* Toolbar: tabs + add button */
#tours-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 28px; border-bottom: 2px solid #dce8f4; }
#tours-subtabs { display: flex; gap: 0; }
.tours-subtab { padding: 11px 22px; background: none; border: none; border-bottom: 2px solid transparent; margin-bottom: -2px; font-family: 'Jost', sans-serif; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: #999; cursor: pointer; transition: all 0.15s; white-space: nowrap; }
.tours-subtab:hover { color: #2c2c2c; }
.tours-subtab.active { color: #2c2c2c; border-bottom-color: #2c2c2c; font-weight: 600; }
#tours-add-btn { margin-bottom: 4px; padding: 10px 18px; border-radius: 999px; border: 1.5px solid rgba(47,95,167,0.28); background: #fff; color: #1E3D6F; font-family: 'Jost', sans-serif; font-size: 11px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; cursor: pointer; box-shadow: 0 6px 18px rgba(47,95,167,0.10); transition: all 0.18s; white-space: nowrap; }
#tours-add-btn:hover { transform: translateY(-1px); border-color: #1E3D6F; background: #f0f7ff; }

.tours-panel { display: none; }
.tours-panel.active { display: block; }

/* Filter row */
#tours-upcoming-filter-row, #tours-past-filter-row { margin-bottom: 20px; }

/* Avatar picker */
.tours-avatar-picker { display: flex; gap: 20px; padding: 4px 0; flex-wrap: wrap; }
.tours-avatar-btn { display: flex; flex-direction: column; align-items: center; gap: 7px; cursor: pointer; background: none; border: none; padding: 0; }
.tours-avatar-circle { width: 54px; height: 54px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 16px; font-weight: 700; font-family: 'Jost', sans-serif; color: #fff; border: 3px solid transparent; transition: all 0.15s; opacity: 0.45; }
.tours-avatar-btn:hover .tours-avatar-circle { opacity: 0.75; transform: scale(1.06); }
.tours-avatar-btn.selected .tours-avatar-circle { opacity: 1; border-color: #fff; transform: scale(1.08); }
.tours-avatar-circle.unassigned  { background: #b0c6da; }
.tours-avatar-btn.selected.unassigned .tours-avatar-circle { box-shadow: 0 0 0 3px #b0c6da, 0 4px 14px rgba(178,170,161,0.3); }
.tour-log-avatar.unassigned { background: #b0c6da; }
.tours-avatar-circle.mandy    { background: #5b4a61; }
.tours-avatar-circle.maggie   { background: #7a3a5a; }
.tours-avatar-circle.lindsey  { background: #3f6f8f; }
.tours-avatar-btn.selected.marianne .tours-avatar-circle { box-shadow: 0 0 0 3px #2e6b9e, 0 4px 14px rgba(143,93,63,0.3); }
.tours-avatar-btn.selected.mandy    .tours-avatar-circle { box-shadow: 0 0 0 3px #5b4a61, 0 4px 14px rgba(91,74,97,0.3); }
.tours-avatar-btn.selected.maggie   .tours-avatar-circle { box-shadow: 0 0 0 3px #7a3a5a, 0 4px 14px rgba(122,58,90,0.3); }
.tours-avatar-btn.selected.lindsey  .tours-avatar-circle { box-shadow: 0 0 0 3px #3f6f8f, 0 4px 14px rgba(63,111,143,0.3); }
.tours-avatar-name { font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: #888; transition: color 0.15s; }
.tours-avatar-btn.selected .tours-avatar-name { color: #1a1a1a; font-weight: 600; }

/* Upload area */
.tour-upload-area { margin-top: 4px; padding: 20px; border: 2px dashed #c9d6e8; border-radius: 10px; background: linear-gradient(180deg,#f5f9fe,#f4f8fc); text-align: center; cursor: pointer; transition: border-color .18s, background .18s; }
.tour-upload-area:hover, .tour-upload-area.dragging { border-color: #1E3D6F; background: #f5fbff; }
#tour-upload-status { padding: 6px 0 0; font-size: 12px; color: #627287; min-height: 20px; }
#tour-pdf-preview { margin-top: 10px; }
.tour-pdf-chip { display: inline-flex; align-items: center; gap: 8px; background: #fff; border: 1px solid #d2e0ef; border-radius: 20px; padding: 7px 12px; font-size: 12px; color: #2c2c2c; cursor: pointer; text-decoration: none; transition: border-color 0.15s; }
.tour-pdf-chip:hover { border-color: #2c2c2c; }
.tour-pdf-remove { background: none; border: none; color: #2F5FA7; font-size: 15px; cursor: pointer; line-height: 1; padding: 0 0 0 4px; }

/* Tour cards */
.tour-log-card { background: #fff; border: 1px solid #dce8f4; border-radius: 10px; margin-bottom: 10px; transition: box-shadow 0.15s; overflow: hidden; }
.tour-log-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.07); }
.tour-log-card.is-upcoming { border-left: 3px solid #4a7a4e; }
/* Collapsed summary row — always visible */
.tour-log-summary { display: grid; grid-template-columns: 40px minmax(0, 1.35fr) auto auto; align-items: center; gap: 16px; padding: 18px 20px; cursor: pointer; user-select: none; }
.tour-log-summary:hover { background: #f2f7fd; }
.tour-log-avatar { width: 34px; height: 34px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; flex-shrink: 0; font-family: 'Jost', sans-serif; color: #fff; }
.tour-log-avatar.marianne { background: #2e6b9e; }
.tour-log-avatar.mandy    { background: #5b4a61; }
.tour-log-avatar.maggie   { background: #7a3a5a; }
.tour-log-avatar.lindsey  { background: #3f6f8f; }
.tour-log-avatar.unassigned { background: #b0c6da; }
.tour-log-main { min-width: 0; }
.tour-log-meta { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:8px 10px; min-width: 210px; }
.tour-log-line { display:flex; align-items:center; flex-wrap:wrap; gap:8px 10px; margin-top:10px; }
.tour-log-pill { display:inline-flex; align-items:center; gap:7px; padding:6px 10px; border-radius:999px; background:#eaf2fb; color:#546278; font-size:10px; letter-spacing:0.12em; text-transform:uppercase; font-weight:600; }
.tour-log-pill.assignee { background:#dce8f4; color:#546278; }
.tour-log-summary-date { font-family:'Cormorant Garamond', Georgia, serif; font-size:34px; line-height:1.05; color:#1d1d1d; font-weight:600; letter-spacing:0.01em; }
.tour-log-summary-name { margin-top:6px; font-family:'Jost', 'Helvetica Neue', sans-serif; font-size:17px; line-height:1.35; color:#546278; font-weight:500; }
.tour-upcoming-badge { padding: 4px 9px; border-radius: 20px; background: #edf5ee; color: #4a7a4e; font-size: 9px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.tour-log-chevron { margin-left: 0; color: #bbb; font-size: 11px; transition: transform 0.2s; flex-shrink: 0; justify-self: end; }
.tour-log-card.expanded .tour-log-chevron { transform: rotate(180deg); }

@media (max-width: 960px) {
  .tour-log-summary { grid-template-columns: 40px minmax(0,1fr) auto auto; gap: 12px; padding: 16px; }
  .tour-log-summary-date { font-size: 24px; }
  .tour-log-meta { min-width: 0; flex-wrap: wrap; }
}
/* Expanded detail panel */
.tour-log-detail { display: none; border-top: 1px solid #e2ecf5; padding: 16px 20px 14px; background: #f2f7fd; }
.tour-log-card.expanded .tour-log-detail { display: block; }
.tour-log-section { margin-bottom: 10px; }
.tour-log-section:last-child { margin-bottom: 0; }
.tour-log-section-label { font-size: 8px; letter-spacing: 0.14em; text-transform: uppercase; color: #aaa; margin-bottom: 3px; font-weight: 600; }
.tour-log-section-text { font-size: 13px; color: #333; line-height: 1.6; }
.tour-log-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 14px; padding-top: 12px; border-top: 1px solid #dde8f3; }
.tour-log-edit-btn { padding: 7px 14px; background: #fff; color: #2c2c2c; border: 1.5px solid #c9d8e8; border-radius: 4px; font-family: 'Jost', sans-serif; font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; cursor: pointer; transition: all 0.15s; }
.tour-log-edit-btn:hover { border-color: #2c2c2c; background: #f2f7fd; }
.tour-log-del-btn { padding: 7px 14px; background: #fff; color: #2F5FA7; border: 1.5px solid #c9d8e8; border-radius: 4px; font-family: 'Jost', sans-serif; font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; cursor: pointer; transition: all 0.15s; }
.tour-log-del-btn:hover { border-color: #2F5FA7; background: #edf5ff; }
.tours-empty { text-align: center; padding: 52px 24px; color: #bbb; background: #fff; border: 1px dashed #dae4f0; border-radius: 12px; }
.tours-empty-icon { font-size: 36px; margin-bottom: 10px; }
.tours-empty-msg { font-size: 14px; color: #aaa; margin-bottom: 4px; }
.tours-empty-sub { font-size: 12px; color: #ccc; }

/* Modal */
#weddings-show-all-wrap { text-align: center; padding: 24px 0 8px; }
#weddings-show-all-btn { display: inline-flex; align-items: center; gap: 10px; padding: 13px 32px; background: #fff; border: 1.5px solid #c9d8e8; border-radius: 999px; font-family: 'Jost', sans-serif; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: #2c2c2c; cursor: pointer; box-shadow: 0 4px 14px rgba(0,0,0,0.06); transition: all 0.18s; }
#weddings-show-all-btn:hover { border-color: #2c2c2c; box-shadow: 0 6px 20px rgba(0,0,0,0.10); transform: translateY(-1px); }
#weddings-show-all-count { background: #2c2c2c; color: #fff; border-radius: 999px; padding: 2px 9px; font-size: 10px; letter-spacing: 0.06em; }
#tour-modal-overlay { display: none !important; position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 9999; background: rgba(20,18,16,0.56); backdrop-filter: blur(6px); }
#tour-modal-overlay.open { display: block !important; }
#tour-modal-box { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: min(600px, calc(100% - 40px)); max-height: 90vh; overflow-y: auto; background: #fff; border-radius: 18px; box-shadow: 0 32px 80px rgba(0,0,0,0.28); display: flex; flex-direction: column; }
#tour-modal-head { display: flex; align-items: flex-start; justify-content: space-between; padding: 22px 26px 18px; background: linear-gradient(135deg,#2c2c2c,#3b352f); border-radius: 18px 18px 0 0; flex-shrink: 0; }
#tour-modal-kicker { font-size: 9px; letter-spacing: 0.18em; text-transform: uppercase; color: #aaa; margin-bottom: 5px; }
#tour-modal-title { font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-size: 26px; color: #fff; font-weight: 400; line-height: 1.1; }
.tour-modal-close { width: 34px; height: 34px; border-radius: 50%; border: 1.5px solid rgba(255,255,255,0.28); background: rgba(255,255,255,0.08); color: #ccc; font-size: 14px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.15s; flex-shrink: 0; }
.tour-modal-close:hover { background: rgba(255,255,255,0.18); color: #fff; }
#tour-modal-body { padding: 24px 26px 0; flex: 1; overflow-y: auto; }
#tour-modal-foot { display: flex; align-items: center; gap: 12px; padding: 16px 26px 20px; border-top: 1px solid #dde8f3; background: #f2f7fd; border-radius: 0 0 18px 18px; flex-shrink: 0; }
#tour-submit-status.success { color: #4a7a4e; }
#tour-submit-status.error   { color: #2F5FA7; }

@media (max-width: 768px) {
  /* Body: remove side padding; add bottom room */
  #tours-body { padding: 0 0 80px; }

  /* Sticky toolbar */
  #tours-toolbar {
    position: sticky; top: 0; z-index: 10;
    flex-direction: row; flex-wrap: nowrap; align-items: center; justify-content: space-between;
    gap: 0; padding: 0 10px;
    background: #fff; border-bottom: 2px solid #dce8f4; margin-bottom: 0;
  }
  #tours-subtabs { border-bottom: none; flex-shrink: 0; }
  .tours-subtab { padding: 12px 14px; font-size: 10px; }

  /* Add button — compact in toolbar */
  #tours-add-btn {
    position: static; width: auto; text-align: center;
    padding: 8px 14px; border-radius: 999px; margin-bottom: 0;
    background: linear-gradient(135deg, #1E3D6F 0%, #2F5FA7 100%);
    color: #fff; border: none;
    box-shadow: 0 4px 12px rgba(31,61,111,0.28);
    font-size: 10px; letter-spacing: 0.08em;
  }

  /* Filter row — compact */
  #tours-upcoming-filter-row, #tours-past-filter-row {
    padding: 8px 12px; background: #f8fafd;
    border-bottom: 1px solid #edf2f9; margin-bottom: 0;
  }
  #tours-upcoming-filter-row .wl-field, #tours-past-filter-row .wl-field { min-width: 0; max-width: 180px; }
  #tours-upcoming-filter-row .wl-label, #tours-past-filter-row .wl-label { font-size: 9px; margin-bottom: 2px; }
  #tours-upcoming-filter-row .wl-select, #tours-past-filter-row .wl-select { padding: 6px 10px; font-size: 13px; }

  /* Cards container — tighter padding */
  #tours-upcoming-results, #tours-hist-results { padding: 8px 8px 0; }

  /* Cards — compact summary */
  .tour-log-card { border-radius: 10px; margin-bottom: 8px; }
  .tour-log-summary {
    grid-template-columns: 36px 1fr 18px !important;
    grid-template-rows: auto auto;
    grid-template-areas:
      "avatar main chevron"
      "avatar meta chevron";
    column-gap: 10px;
    row-gap: 4px;
    padding: 12px !important;
    align-items: start;
  }
  .tour-log-avatar { grid-area: avatar; width: 32px !important; height: 32px !important; font-size: 11px !important; margin-top: 2px; }
  .tour-log-main  { grid-area: main; min-width: 0; }
  .tour-log-summary-date {
    font-size: 13px !important;
    font-family: 'Jost', sans-serif !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em !important;
    color: #5a6a7e;
    line-height: 1.3;
  }
  .tour-log-summary-name {
    font-size: 15px; font-weight: 600; color: #1d2633;
    margin-top: 1px;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  }
  .tour-log-meta {
    grid-area: meta;
    display: flex; justify-content: flex-start; flex-wrap: wrap;
    gap: 5px; margin-top: 0; min-width: 0;
  }
  .tour-upcoming-badge { padding: 2px 7px; font-size: 8px; }
  .tour-log-pill { padding: 3px 8px; font-size: 9px; }
  .tour-log-chevron { grid-area: chevron; justify-self: end; align-self: center; font-size: 10px; }

  /* Expanded detail — tighter */
  .tour-log-detail { padding: 12px 12px 10px !important; }
  .tour-log-section { margin-bottom: 8px; }
  .tour-log-section-label { font-size: 8px; margin-bottom: 2px; }
  .tour-log-section-text { font-size: 12px; line-height: 1.5; }
  .tour-log-section-text a { word-break: break-all; }
  .tour-pdf-chip { padding: 5px 10px; font-size: 11px; }

  /* Action buttons — full width, stacked */
  .tour-log-actions {
    flex-direction: row; justify-content: stretch; gap: 8px;
    margin-top: 10px; padding-top: 10px;
  }
  .tour-log-edit-btn, .tour-log-del-btn {
    flex: 1; text-align: center; padding: 10px 12px; font-size: 11px;
  }

  /* Avatar picker in modal */
  .tours-avatar-picker { gap: 12px; }
  .tours-avatar-circle { width: 44px; height: 44px; font-size: 13px; }
  .tours-avatar-name { font-size: 9px; }

  /* Modal — bottom sheet */
  #tour-modal-overlay { padding: 0; }
  #tour-modal-overlay.open { display: block !important; padding: 0; }
  #tour-modal-box { top: auto; bottom: 0; left: 0; transform: none; width: 100%; max-width: 100%; border-radius: 18px 18px 0 0; max-height: 92vh; }
  #tour-modal-head { border-radius: 18px 18px 0 0; padding: 16px 16px 12px; }
  #tour-modal-title { font-size: 22px; }
  #tour-modal-body { padding: 14px 16px 0; }
  #tour-modal-foot { padding: 12px 16px 16px; }
  .tour-upload-area { padding: 14px; }

  /* Empty state */
  .tours-empty { padding: 36px 16px; }
}

/* Extra-small screens */
@media (max-width: 420px) {
  .tours-subtab { padding: 11px 10px; font-size: 9px; letter-spacing: 0.08em; }
  #tours-add-btn { padding: 7px 10px; font-size: 9px; }
  .tour-log-summary { padding: 10px !important; column-gap: 8px !important; }
  .tour-log-avatar { width: 28px !important; height: 28px !important; font-size: 10px !important; }
  .tour-log-summary-date { font-size: 12px !important; }
  .tour-log-summary-name { font-size: 14px; }
}

/* === Meetings page styles === */
#meetings-body { padding: 12px 22px 64px; max-width: 1360px; margin: 0 auto; box-sizing: border-box; }
#meetings-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 28px; border-bottom: 2px solid #dce8f4; }
#meetings-subtabs { display: flex; gap: 0; }
.meetings-subtab { padding: 11px 22px; background: none; border: none; border-bottom: 2px solid transparent; margin-bottom: -2px; font-family: 'Jost', sans-serif; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: #999; cursor: pointer; transition: all 0.15s; white-space: nowrap; }
.meetings-subtab:hover { color: #2c2c2c; }
.meetings-subtab.active { color: #2c2c2c; border-bottom-color: #2c2c2c; font-weight: 600; }
#meetings-add-btn { margin-bottom: 4px; padding: 10px 18px; border-radius: 999px; border: 1.5px solid rgba(90,58,122,0.28); background: #fff; color: #5a3a7a; font-family: 'Jost', sans-serif; font-size: 11px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; cursor: pointer; box-shadow: 0 6px 18px rgba(90,58,122,0.10); transition: all 0.18s; white-space: nowrap; }
#meetings-add-btn:hover { transform: translateY(-1px); border-color: #5a3a7a; background: #f9f5ff; }
.meetings-panel { display: none; }
.meetings-panel.active { display: block; }
#meetings-upcoming-filter-row, #meetings-past-filter-row { margin-bottom: 20px; }
.meetings-type-picker { display: flex; gap: 12px; padding: 4px 0; flex-wrap: wrap; }
.meetings-type-btn { display: flex; flex-direction: column; align-items: center; gap: 7px; cursor: pointer; background: none; border: 2px solid #e2ddf0; padding: 12px 18px; border-radius: 12px; transition: all 0.15s; font-family: 'Jost', sans-serif; }
.meetings-type-btn:hover { border-color: #5a3a7a; background: #f9f5ff; }
.meetings-type-btn.selected { border-color: #5a3a7a; background: #f0eafa; }
.meetings-type-icon { font-size: 22px; line-height: 1; }
.meetings-type-label { font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: #888; font-weight: 600; transition: color 0.15s; }
.meetings-type-btn.selected .meetings-type-label { color: #5a3a7a; }
.meetings-avatar-picker { display: flex; gap: 20px; padding: 4px 0; flex-wrap: wrap; }
.meetings-avatar-btn { display: flex; flex-direction: column; align-items: center; gap: 7px; cursor: pointer; background: none; border: none; padding: 0; }
.meetings-avatar-circle { width: 54px; height: 54px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 16px; font-weight: 700; font-family: 'Jost', sans-serif; color: #fff; border: 3px solid transparent; transition: all 0.15s; opacity: 0.45; }
.meetings-avatar-btn:hover .meetings-avatar-circle { opacity: 0.75; transform: scale(1.06); }
.meetings-avatar-btn.selected .meetings-avatar-circle { opacity: 1; border-color: #fff; transform: scale(1.08); }
.meetings-avatar-circle.marianne { background: #2e6b9e; }
.meetings-avatar-circle.mandy    { background: #5b4a61; }
.meetings-avatar-circle.maggie   { background: #7a3a5a; }
.meetings-avatar-circle.lindsey  { background: #3f6f8f; }
.meetings-avatar-circle.unassigned { background: #b0c6da; }
.meetings-avatar-btn.selected.marianne .meetings-avatar-circle { box-shadow: 0 0 0 3px #2e6b9e, 0 4px 14px rgba(143,93,63,0.3); }
.meetings-avatar-btn.selected.mandy    .meetings-avatar-circle { box-shadow: 0 0 0 3px #5b4a61, 0 4px 14px rgba(91,74,97,0.3); }
.meetings-avatar-btn.selected.maggie   .meetings-avatar-circle { box-shadow: 0 0 0 3px #7a3a5a, 0 4px 14px rgba(122,58,90,0.3); }
.meetings-avatar-btn.selected.lindsey  .meetings-avatar-circle { box-shadow: 0 0 0 3px #3f6f8f, 0 4px 14px rgba(63,111,143,0.3); }
.meetings-avatar-btn.selected.unassigned .meetings-avatar-circle { box-shadow: 0 0 0 3px #b0c6da, 0 4px 14px rgba(178,170,161,0.3); }
.meetings-avatar-name { font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: #888; transition: color 0.15s; }
.meetings-avatar-btn.selected .meetings-avatar-name { color: #1a1a1a; font-weight: 600; }
.meeting-log-card { background: #fff; border: 1px solid #dce8f4; border-radius: 10px; margin-bottom: 10px; transition: box-shadow 0.15s; overflow: hidden; }
.meeting-log-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.07); }
.meeting-log-card.is-upcoming { border-left: 3px solid #5a3a7a; }
.meeting-log-summary { display: grid; grid-template-columns: 40px minmax(0, 1.35fr) auto auto; align-items: center; gap: 16px; padding: 18px 20px; cursor: pointer; user-select: none; }
.meeting-log-summary:hover { background: #faf8ff; }
.meeting-log-avatar { width: 34px; height: 34px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; flex-shrink: 0; font-family: 'Jost', sans-serif; color: #fff; }
.meeting-log-avatar.marianne { background: #2e6b9e; }
.meeting-log-avatar.mandy    { background: #5b4a61; }
.meeting-log-avatar.maggie   { background: #7a3a5a; }
.meeting-log-avatar.lindsey  { background: #3f6f8f; }
.meeting-log-avatar.unassigned { background: #b0c6da; }
.meeting-log-main { min-width: 0; }
.meeting-log-meta { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:8px 10px; min-width: 210px; }
.meeting-log-pill { display:inline-flex; align-items:center; gap:7px; padding:6px 10px; border-radius:999px; background:#f0eafa; color:#5a3a7a; font-size:10px; letter-spacing:0.12em; text-transform:uppercase; font-weight:600; }
.meeting-log-pill.assignee { background:#dce8f4; color:#546278; }
.meeting-log-summary-date { font-family:'Cormorant Garamond', Georgia, serif; font-size:34px; line-height:1.05; color:#1d1d1d; font-weight:600; letter-spacing:0.01em; }
.meeting-log-summary-name { margin-top:6px; font-family:'Jost', 'Helvetica Neue', sans-serif; font-size:17px; line-height:1.35; color:#546278; font-weight:500; }
.meeting-upcoming-badge { padding: 4px 9px; border-radius: 20px; background: #f0eafa; color: #5a3a7a; font-size: 9px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.meeting-log-chevron { margin-left: 0; color: #bbb; font-size: 11px; transition: transform 0.2s; flex-shrink: 0; justify-self: end; }
.meeting-log-card.expanded .meeting-log-chevron { transform: rotate(180deg); }
@media (max-width: 960px) {
  .meeting-log-summary { grid-template-columns: 40px minmax(0,1fr) auto; }
  .meeting-log-meta { grid-column: 2 / 3; justify-content: flex-start; min-width: 0; }
}
@media (max-width: 640px) {
  .meeting-log-summary { grid-template-columns: 40px minmax(0,1fr); }
  .meeting-log-chevron { grid-column: 2 / 3; justify-self: start; }
}
.meeting-log-detail { display: none; border-top: 1px solid #e2ecf5; padding: 16px 20px 14px; background: #faf8ff; }
.meeting-log-card.expanded .meeting-log-detail { display: block; }
.meeting-log-section { margin-bottom: 10px; }
.meeting-log-section:last-child { margin-bottom: 0; }
.meeting-log-section-label { font-size: 8px; letter-spacing: 0.14em; text-transform: uppercase; color: #aaa; margin-bottom: 3px; font-weight: 600; }
.meeting-log-section-text { font-size: 13px; color: #333; line-height: 1.6; }
.meeting-log-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 14px; padding-top: 12px; border-top: 1px solid #dde8f3; }
.meeting-log-edit-btn { padding: 7px 14px; background: #fff; color: #2c2c2c; border: 1.5px solid #c9d8e8; border-radius: 4px; font-family: 'Jost', sans-serif; font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; cursor: pointer; transition: all 0.15s; }
.meeting-log-edit-btn:hover { border-color: #2c2c2c; background: #f2f7fd; }
.meeting-log-del-btn { padding: 7px 14px; background: #fff; color: #2F5FA7; border: 1.5px solid #c9d8e8; border-radius: 4px; font-family: 'Jost', sans-serif; font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; cursor: pointer; transition: all 0.15s; }
.meeting-log-del-btn:hover { border-color: #2F5FA7; background: #edf5ff; }
.meetings-empty { text-align: center; padding: 52px 24px; color: #bbb; background: #fff; border: 1px dashed #dae4f0; border-radius: 12px; }
.meetings-empty-icon { font-size: 36px; margin-bottom: 10px; }
.meetings-empty-msg { font-size: 14px; color: #aaa; margin-bottom: 4px; }
.meetings-empty-sub { font-size: 12px; color: #ccc; }
#meeting-modal-overlay { display: none !important; position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 9999; background: rgba(20,18,16,0.56); backdrop-filter: blur(6px); }
#meeting-modal-overlay.open { display: block !important; }
#meeting-modal-box { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: min(600px, calc(100% - 40px)); max-height: 90vh; overflow-y: auto; background: #fff; border-radius: 18px; box-shadow: 0 32px 80px rgba(0,0,0,0.28); display: flex; flex-direction: column; }
#meeting-modal-head { display: flex; align-items: flex-start; justify-content: space-between; padding: 22px 26px 18px; background: linear-gradient(135deg,#3a2550,#5a3a7a); border-radius: 18px 18px 0 0; flex-shrink: 0; }
#meeting-modal-kicker { font-size: 9px; letter-spacing: 0.18em; text-transform: uppercase; color: #c9b8e8; margin-bottom: 5px; }
#meeting-modal-title { font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic; font-size: 26px; color: #fff; font-weight: 400; line-height: 1.1; }
.meeting-modal-close { width: 34px; height: 34px; border-radius: 50%; border: 1.5px solid rgba(255,255,255,0.28); background: rgba(255,255,255,0.08); color: #ccc; font-size: 14px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.15s; flex-shrink: 0; }
.meeting-modal-close:hover { background: rgba(255,255,255,0.18); color: #fff; }
#meeting-modal-body { padding: 24px 26px 0; flex: 1; overflow-y: auto; }
#meeting-modal-foot { display: flex; align-items: center; gap: 12px; padding: 16px 26px 20px; border-top: 1px solid #dde8f3; background: #faf8ff; border-radius: 0 0 18px 18px; flex-shrink: 0; }
#meeting-submit-status.success { color: #4a7a4e; }
#meeting-submit-status.error   { color: #2F5FA7; }
.cal-meeting-chip { display:block; white-space:normal; overflow:visible; text-overflow:unset; line-height:1.35; padding:5px 8px; border-radius:8px; margin-top:4px; font-size:10px; font-weight:600; background:#5a3a7a; color:#fff; cursor:pointer; border-left:3px solid #3a2550; font-family:'Jost',sans-serif; letter-spacing:0.04em; }
.cal-meeting-chip:hover { background:#3a2550; }
.cal-chip-meeting-label { display:block; font-size:9px; font-weight:500; opacity:0.88; margin-top:1px; letter-spacing:0.06em; }
@media (max-width: 768px) {
  #meetings-body { padding: 14px 12px 56px; }
  #meetings-toolbar { flex-direction: column; align-items: stretch; gap: 12px; border-bottom: none; padding-bottom: 0; margin-bottom: 0; }
  #meetings-subtabs { border-bottom: 2px solid #dce8f4; }
  #meetings-add-btn { width: 100%; text-align: center; border-radius: 14px; margin-bottom: 12px; }
  .meetings-avatar-picker { gap: 12px; }
  .meetings-avatar-circle { width: 48px; height: 48px; font-size: 14px; }
  #meeting-modal-overlay { padding: 0; }
  #meeting-modal-overlay.open { display: block !important; padding: 0; }
  #meeting-modal-box { top: auto; bottom: 0; left: 0; transform: none; width: 100%; max-width: 100%; border-radius: 22px 22px 0 0; max-height: 92vh; }
  #meeting-modal-head { border-radius: 22px 22px 0 0; padding: 18px 18px 14px; }
  #meeting-modal-body { padding: 18px 18px 0; }
  #meeting-modal-foot { padding: 14px 18px 18px; }
}

/* === Mobile owner filter dropdown === */
@media (max-width:700px){
  .owner-filter-row{
    display:none !important;
  }
  .mobile-owner-filter{
    display:block !important;
    margin:14px 0 18px;
  }
}
.mobile-owner-filter{
  display:none;
}
.mobile-owner-filter select{
  width:100%;
  padding:12px 14px;
  border-radius:10px;
  border:1px solid #c9d6e8;
  font-size:14px;
  background:#fff;
}


/* === Remove duplicate owner chips when dropdown present === */
@media (max-width:700px){
  .tasks-owner-strip,
  .owner-filter-row,
  .owner-filter-chip{
    display:none !important;
  }
}

/* ═══ Style Block 6 ═══ */
/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   WEDDING PAGE — MOBILE POLISH
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* â"€â"€ 1. Wedding List â"€â"€ */

/* Hide desktop-only table hint on card view */
@media (max-width:980px){
  #table-footer-note{ display:none !important; }

  /* Card shell */
  .wedding-card{
    border-radius:20px !important;
    border:1px solid #dce8f4 !important;
    box-shadow:0 8px 28px rgba(0,0,0,0.07) !important;
    overflow:hidden !important;
    margin-bottom:16px !important;
  }

  /* Header: tap target for opening detail */
  .card-header{
    padding:18px 18px 14px !important;
    background:linear-gradient(180deg,#f5f9fe,#f4f8fc) !important;
    border-bottom:1px solid #dde8f3 !important;
    display:block !important;
  }

  /* Couple name: prominent serif headline */
  .card-couple{
    font-size:26px !important;
    line-height:1.05 !important;
    color:#1a1a1a !important;
    letter-spacing:-.01em !important;
    font-weight:700 !important;
  }

  /* Progress bar: taller, more readable */
  .card-progress-bar-wrap{
    margin-top:14px !important;
    gap:10px !important;
  }
  .card-progress-track{
    height:7px !important;
    border-radius:99px !important;
  }

  /* Staff summary strip */
  .staff-summary{
    font-size:12px !important;
    line-height:1.7 !important;
  }

  /* Meta: 2-column grid on tablet */
  .card-meta{
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
    padding:14px 18px !important;
    background:#fff !important;
    border-bottom:1px solid #e2ecf5 !important;
  }
  .card-meta > div{
    padding:12px 12px !important;
    background:#f4f8fc !important;
    border:1px solid #dce8f4 !important;
    border-radius:12px !important;
  }
  .card-meta-label{
    font-size:8px !important;
    letter-spacing:.12em !important;
    text-transform:uppercase !important;
    color:#7a8ea4 !important;
    font-weight:700 !important;
    margin-bottom:5px !important;
    display:block !important;
  }
  .card-meta-value{
    font-size:14px !important;
    font-weight:500 !important;
    color:#1a1a1a !important;
    line-height:1.4 !important;
    white-space:normal !important;
  }
  .card-meta-value.empty{ color:#bbb !important; font-style:italic !important; }

  /* Hide full-width expand button — replaced by arrow toggle in header */
  .card-actions{ display:none !important; }

  /* Small arrow toggle in card header */
  .card-mobile-toggle{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex-shrink:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
    position:absolute !important;
    top:10px !important;
    right:10px !important;
    width:32px !important;
    height:32px !important;
    min-width:32px !important;
    min-height:32px !important;
    aspect-ratio:1 !important;
    background:#fff !important;
    border:1.5px solid #ccd9e8 !important;
    border-radius:50% !important;
    font-size:11px !important;
    color:#4e6a84 !important;
    cursor:pointer !important;
    transition:background 0.15s,border-color 0.15s,color 0.15s !important;
    line-height:1 !important;
  }
  .card-mobile-toggle.open{
    background:#eef4fb !important;
    border-color:#afc4d9 !important;
    color:#2c2c2c !important;
  }

  /* Expanded section */
  .card-exp-body{ background:#f4f8fc !important; }
  .card-exp-section{ padding:16px 18px !important; }
  .card-exp-head{ margin-bottom:12px !important; }
  .card-exp-row{ padding:8px 0 !important; }
  .card-exp-lbl{ font-size:9px !important; }
  .card-exp-val{ font-size:14px !important; }
}

/* On small phones: stack meta to 1 column */
@media (max-width:560px){
  .card-meta{ grid-template-columns:1fr !important; }
  .card-couple{ font-size:24px !important; }
  .card-header{ padding:16px 14px 12px !important; }
  .card-actions{ padding:10px 14px !important; }
  .card-meta{ padding:12px 14px !important; }
  .card-exp-section{ padding:14px 14px !important; }
}

/* Add Wedding button: full-width on mobile */
@media (max-width:640px){
  #weddings-actions{ padding:14px 14px 0 !important; }
  #add-btn{
    width:100% !important;
    border-radius:12px !important;
    padding:14px 18px !important;
    font-size:11px !important;
    text-align:center !important;
  }
  #search-section{ padding:12px 14px 0 !important; }
}

/* Year group labels */
@media (max-width:980px){
  .year-label{
    font-size:12px !important;
    padding-bottom:8px !important;
    margin-bottom:12px !important;
  }
}


/* â"€â"€ 2. Wedding Detail — topbar â"€â"€ */

@media (max-width:900px){
  #wedding-detail-body{
    padding:14px 14px 48px !important;
  }
  .wdetail-topbar{
    gap:10px !important;
    margin-bottom:14px !important;
  }
  .wdetail-back-btn{
    padding:10px 16px !important;
    font-size:10px !important;
    letter-spacing:.1em !important;
  }
  .wdetail-edit-btn{
    padding:10px 16px !important;
    font-size:10px !important;
    letter-spacing:.1em !important;
  }
}

@media (max-width:480px){
  #wedding-detail-body{ padding:10px 10px 48px !important; }
  .wdetail-topbar{ gap:8px !important; }
  .wdetail-back-btn, .wdetail-edit-btn{
    padding:9px 12px !important;
    font-size:9px !important;
  }
}


/* â"€â"€ 3. Wedding Detail — hero + cards â"€â"€ */

@media (max-width:900px){
  .wdetail-shell{ gap:14px !important; }
  .wdetail-grid{ gap:14px !important; }

  .wdetail-hero{
    padding:18px 18px !important;
    border-radius:16px !important;
  }
  .wdetail-hero-kicker{ margin-bottom:6px !important; }
  .wdetail-hero-title{ font-size:28px !important; line-height:1.05 !important; }
  .wdetail-hero-sub{ font-size:13px !important; margin-top:8px !important; }

  .wdetail-card{
    padding:16px 18px !important;
    border-radius:14px !important;
  }
  .wdetail-tasks-card{ padding:16px 18px 20px !important; }

  /* Task progress: stack below heading */
  .wdetail-card-head-row{
    flex-direction:column !important;
    align-items:stretch !important;
    gap:4px !important;
    margin-bottom:14px !important;
  }
  .wdetail-task-progress{
    font-size:18px !important;
    color:#6a82a0 !important;
  }
}

@media (max-width:480px){
  .wdetail-hero{ padding:14px 14px !important; }
  .wdetail-hero-title{ font-size:24px !important; }
  .wdetail-card{ padding:14px 14px !important; }
  .wdetail-tasks-card{ padding:14px 14px 16px !important; }
}


/* â"€â"€ 4. Wedding Detail — info field boxes â"€â"€ */

@media (max-width:900px){
  .wdetail-info-grid{
    gap:10px !important;
  }
  .wdetail-info-grid > div{
    background:#f4f8fc;
    border:1px solid #dce8f4;
    border-radius:10px;
    padding:12px !important;
  }
  .wdetail-field-label{
    font-size:8px !important;
    margin-bottom:4px !important;
  }
  .wdetail-field-value{
    font-size:14px !important;
    line-height:1.5 !important;
  }
  .wdetail-notes{
    font-size:14px !important;
    line-height:1.7 !important;
  }
}


/* â"€â"€ 5. Wedding Detail — task checkboxes + items â"€â"€ */

@media (max-width:900px){
  /* Bigger touch-friendly checkboxes */
  .wdetail-task-check{
    width:28px !important;
    height:28px !important;
    border-radius:50% !important;
    flex-shrink:0 !important;
  }

  /* Task items: generous touch target */
  .wdetail-task-item{
    padding:14px 14px !important;
    border-radius:12px !important;
    min-height:56px !important;
    gap:14px !important;
    cursor:pointer !important;
  }
  .wdetail-task-item:active{ background:#eef4fb !important; }

  .wdetail-task-name{ font-size:14px !important; line-height:1.5 !important; }
  .wdetail-task-list{ gap:10px !important; }
}

@media (max-width:480px){
  .wdetail-task-item{ padding:12px 12px !important; min-height:52px !important; }
  .wdetail-task-name{ font-size:13px !important; }
  .wdetail-task-check{ width:26px !important; height:26px !important; }
}


/* â"€â"€ 6. Task category tabs — superseded by later 2Ã—2 grid rule â"€â"€ */

/* ═══ Style Block 7 ═══ */
.stay-card-summary{cursor:pointer !important;}
.stay-card-summary-btn{display:grid;width:100%;grid-template-columns:minmax(160px,1.15fr) minmax(180px,.95fr) minmax(180px,1.2fr) 28px;gap:22px;align-items:center;}
.stay-card-detail{display:none;}
.stay-card.expanded .stay-card-detail{display:block !important;}
@media (max-width:900px){.stay-card-summary-btn{grid-template-columns:1fr;gap:10px;}}

/* === Mobile owner filter dropdown === */
@media (max-width:700px){
  .owner-filter-row{
    display:none !important;
  }
  .mobile-owner-filter{
    display:block !important;
    margin:14px 0 18px;
  }
}
.mobile-owner-filter{
  display:none;
}
.mobile-owner-filter select{
  width:100%;
  padding:12px 14px;
  border-radius:10px;
  border:1px solid #c9d6e8;
  font-size:14px;
  background:#fff;
}


/* === Remove duplicate owner chips when dropdown present === */
@media (max-width:700px){
  .tasks-owner-strip,
  .owner-filter-row,
  .owner-filter-chip{
    display:none !important;
  }
}

/* ═══ Style Block 8 ═══ */
:root{
  --staff-shell-gap:24px;
  --staff-sidebar-width:290px;
  --staff-header-height:64px;
}

body{
  background:
    radial-gradient(circle at top left, rgba(238, 232, 223, 0.9), transparent 26%),
    radial-gradient(circle at top right, rgba(223, 232, 242, 0.82), transparent 24%),
    linear-gradient(180deg, #f2f7fc 0%, #edf3f9 45%, #e8f1f8 100%) !important;
}

#header{
  position:fixed !important;
  top:20px;
  left:20px;
  right:20px;
  z-index:220;
  padding:10px 20px !important;
  border-radius:30px;
  overflow:visible !important;
  background:rgba(255,255,255,0.84) !important;
  border:1px solid rgba(208, 216, 226, 0.9) !important;
  box-shadow:0 18px 42px rgba(66, 79, 98, 0.12) !important;
  backdrop-filter:blur(16px);
}

#header-inner{
  max-width:none !important;
}

#header-top{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  grid-template-areas:'brand user' !important;
  gap:18px !important;
  align-items:center !important;
}

#staff-sidebar{
  position:fixed;
  top:calc(20px + var(--staff-header-height) + var(--staff-shell-gap));
  left:20px;
  bottom:24px;
  width:var(--staff-sidebar-width);
  z-index:180;
}

#logo-block{
  grid-area:brand;
  gap:10px !important;
}

#logo-img{
  width:36px;
  height:36px;
  border-radius:10px;
}

#logo-text-name{
  color:#2b2b29 !important;
  font-size:17px !important;
  letter-spacing:0.03em !important;
  text-transform:none !important;
}

#logo-text-sub{
  color:#6d7885 !important;
  font-size:11px !important;
}

#logo-text-portal{
  color:#8e97a2 !important;
  border-top-color:rgba(198, 208, 220, 0.9) !important;
}

#nav-tabs{
  position:relative;
  width:100%;
  height:100%;
  display:flex !important;
  flex-direction:column;
  flex-wrap:nowrap !important;
  align-items:stretch;
  justify-content:flex-start !important;
  gap:8px !important;
  overflow:auto;
  padding:22px 14px 18px !important;
  margin:0 !important;
  border:1px solid rgba(208, 216, 226, 0.9);
  border-radius:30px;
  background:rgba(255,255,255,0.76) !important;
  box-shadow:0 16px 38px rgba(66, 79, 98, 0.1);
  backdrop-filter:blur(16px);
}

#nav-tabs::before{
  content:"Navigation";
  display:block;
  padding:4px 16px 12px;
  color:#8a93a0;
  font-size:11px;
  letter-spacing:.2em;
  text-transform:uppercase;
}

.nav-tab{
  width:100%;
  justify-content:flex-start !important;
  min-height:58px !important;
  padding:12px 16px !important;
  border-radius:18px !important;
  border:1px solid transparent !important;
  background:transparent !important;
  color:#475769 !important;
  box-shadow:none !important;
}

.nav-tab:hover{
  transform:translateX(2px) !important;
  background:rgba(240, 245, 250, 0.92) !important;
  border-color:rgba(198, 210, 223, 0.95) !important;
  color:#243447 !important;
}

.nav-tab.active{
  background:linear-gradient(135deg, rgba(255,255,255,0.98), rgba(231,239,247,0.98)) !important;
  border-color:rgba(184, 200, 220, 0.95) !important;
  color:#1f3145 !important;
  box-shadow:0 12px 24px rgba(92, 111, 134, 0.14) !important;
}

.nav-ico{
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  border-radius:12px !important;
  background:#f5f8fb !important;
  color:#5d7289 !important;
  font-size:16px !important;
  box-shadow:none !important;
}

.nav-tab.active .nav-ico{
  background:#dfe8f2 !important;
  color:#33485f !important;
}

.nav-label{
  font-size:12px !important;
  letter-spacing:.08em !important;
  text-transform:uppercase;
  text-align:left !important;
  white-space:normal !important;
  line-height:1.25 !important;
}

.ll-header-user{
  grid-area:user;
  margin-top:0 !important;
}

#app-main{
  margin-top:calc(20px + var(--staff-header-height) + var(--staff-shell-gap));
  margin-left:calc(20px + var(--staff-sidebar-width) + var(--staff-shell-gap));
  padding-right:20px;
}

#mobile-page-picker-wrap{
  margin-top:calc(20px + var(--staff-header-height) + 8px);
}

#search-section,
#table-section,
#cal-body,
#qa-body,
#wl-body,
#tasks-body,
#tours-body,
#rentals-body,
#family-body,
#events-body,
#page-admin-users,
#page-admin-permissions,
#wedding-detail-body,
#weddings-actions{
  max-width:none !important;
}

#page-weddings,
#page-calendar,
#page-qa,
#page-worklogs,
#page-tasks,
#page-tours,
#page-rentals,
#page-family,
#page-events,
#page-checklist-settings,
#page-portal-bridal-checklist,
#page-admin-users,
#page-admin-permissions{
  padding-right:0;
}

.staff-page-header{
  padding-top:0 !important;
}

@media (max-width: 1024px){
  :root{
    --staff-header-height:60px;
  }

  #header{
    left:14px;
    right:14px;
    top:14px;
    padding:16px 18px !important;
  border-radius:24px;
  }

  #staff-sidebar{
    left:14px;
    width:250px;
    top:calc(14px + var(--staff-header-height) + 16px);
    bottom:14px;
  }

  #nav-tabs{
    border-radius:24px;
  }

  #app-main{
    margin-left:280px;
    margin-right:14px;
  }
}

@media (max-width: 768px){
  #header{
    position:sticky !important;
    top:0;
    left:0;
    right:0;
    border-radius:0;
    padding:16px 14px 12px !important;
  }

  #header-top{
    grid-template-columns:1fr !important;
    grid-template-areas:
      'brand'
      'user' !important;
    gap:12px !important;
  }

  #nav-tabs{
    display:none !important;
  }

  #staff-sidebar{
    display:none !important;
  }

  #app-main{
    margin-top:0;
    margin-left:0;
    padding-right:0;
  }

  #footer{
    margin-left:0;
    margin-right:0;
    border-radius:0;
  }
}

/* ═══ Style Block 9 ═══ */
:root{
  --staff-content-max: min(1380px, calc(100vw - var(--staff-sidebar-width) - 92px));
  --staff-panel-border: rgba(201, 212, 225, 0.92);
  --staff-panel-bg: linear-gradient(180deg, rgba(255,255,255,0.97) 0%, rgba(250,252,255,0.95) 100%);
  --staff-panel-shadow: 0 20px 46px rgba(67, 84, 108, 0.10);
  --staff-soft-shadow: 0 14px 34px rgba(67, 84, 108, 0.08);
  --staff-ink: #243244;
  --staff-muted: #627287;
}

#header{
  min-height:108px;
}

#header::after{
  content:"";
  position:absolute;
  inset:auto 28px 0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(196, 208, 221, 0.8), transparent);
}

#logo-text-wrap{
  display:flex;
  flex-direction:column;
  gap:6px;
}

#staff-sidebar{
  filter:drop-shadow(0 18px 38px rgba(67, 84, 108, 0.10));
}

#nav-tabs{
  scrollbar-width:thin;
  scrollbar-color: rgba(167, 182, 199, 0.85) transparent;
}

#nav-tabs::-webkit-scrollbar{
  width:8px;
}

#nav-tabs::-webkit-scrollbar-thumb{
  background:rgba(167, 182, 199, 0.75);
  border-radius:999px;
}

#nav-tabs::after{
  content:"";
  display:block;
  min-height:10px;
}

.nav-tab{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  text-align:left !important;
}

.nav-tab.active{
  transform:none !important;
}

.nav-tab.active::before{
  content:"";
  position:absolute;
  left:8px;
  top:12px;
  bottom:12px;
  width:4px;
  border-radius:999px;
  background:linear-gradient(180deg, #8ca2ba 0%, #617a96 100%);
}

.nav-tab{
  position:relative;
  padding-left:18px !important;
}

#app-main{
  width:var(--staff-content-max);
  padding-bottom:42px;
}

#page-weddings,
#page-calendar,
#page-qa,
#page-worklogs,
#page-tasks,
#page-tours,
#page-rentals,
#page-family,
#page-events,
#page-checklist-settings,
#page-portal-bridal-checklist,
#page-admin-users,
#page-admin-permissions,
#page-wedding-detail{
  width:100%;
}

.staff-page-header{
  padding:0 0 18px !important;
}

.staff-page-header-inner{
  border-radius:28px !important;
  padding:28px 30px 24px !important;
  background:
    radial-gradient(circle at top right, rgba(219,229,240,0.46), transparent 26%),
    radial-gradient(circle at bottom left, rgba(236,228,218,0.24), transparent 24%),
    linear-gradient(135deg, rgba(255,255,255,0.99), rgba(249,251,254,0.98)) !important;
  border:1px solid var(--staff-panel-border) !important;
  box-shadow:var(--staff-panel-shadow) !important;
}

.staff-page-title{
  color:#1f2c3d !important;
}

.staff-page-sub{
  color:#526275 !important;
}

.staff-page-badge{
  background:rgba(247,250,253,0.98) !important;
  border-color:rgba(180,193,210,0.95) !important;
  color:#405166 !important;
}

#weddings-actions,
#search-section,
#table-section,
#cal-body,
#qa-body,
#wl-body,
#tasks-body,
#tours-body,
#rentals-body,
#family-body,
#events-body,
#wedding-detail-body,
#page-checklist-settings,
#page-portal-bridal-checklist,
#page-admin-users,
#page-admin-permissions{
  width:100%;
  margin-left:0 !important;
  margin-right:0 !important;
}

#weddings-actions{
  padding:0 0 16px !important;
}

#search-section,
#table-section,
#cal-body,
#qa-body,
#wl-body,
#tasks-body,
#tours-body,
#rentals-body,
#family-body,
#events-body,
#wedding-detail-body,
#page-checklist-settings,
#page-portal-bridal-checklist,
#page-admin-users,
#page-admin-permissions{
  border:1px solid var(--staff-panel-border);
  border-radius:28px;
  background:var(--staff-panel-bg);
  box-shadow:var(--staff-soft-shadow);
}

#search-section,
#table-section,
#cal-body,
#qa-body,
#wl-body,
#tasks-body,
#tours-body,
#rentals-body,
#family-body,
#events-body,
#wedding-detail-body{
  padding-left:24px !important;
  padding-right:24px !important;
}

#search-section,
#cal-body,
#qa-body,
#wl-body,
#tasks-body,
#tours-body,
#rentals-body,
#family-body,
#events-body,
#wedding-detail-body,
#page-checklist-settings,
#page-portal-bridal-checklist,
#page-admin-users,
#page-admin-permissions{
  margin-bottom:18px !important;
}

#table-section{
  padding-top:22px !important;
}

#search-wrap{
  border-radius:20px !important;
}

#search-input{
  font-size:16px !important;
}

#add-btn,
.tasks-page-add-btn,
#qa-page-add-btn,
.stay-add-btn,
.wdetail-edit-btn{
  border-radius:999px !important;
  min-height:52px;
  padding:0 22px !important;
  box-shadow:0 14px 28px rgba(92, 111, 134, 0.18);
}

#add-btn{
  background:linear-gradient(135deg, #7f91ad 0%, #60758f 100%) !important;
  border:none !important;
}

#add-btn:hover{
  background:linear-gradient(135deg, #70829c 0%, #53667d 100%) !important;
}

.year-group{
  margin-bottom:28px !important;
}

.wedding-table{
  background:#ffffff !important;
}

.wedding-table thead tr{
  background:linear-gradient(180deg, #394353 0%, #313a49 100%) !important;
}

.wedding-table th{
  color:rgba(255,255,255,0.92) !important;
}

.wedding-table tbody tr.main-row{
  transition:background .18s ease, transform .18s ease;
}

.wedding-table tbody tr.main-row:hover{
  background:#f8fbff !important;
}

tr.expand-row td{
  background:#f8fafc !important;
}

.tasks-card,
.qa-card,
.wl-form-card,
.wl-log-card,
.wl-recent-item,
.tour-log-card,
.stay-card,
.checklist-admin-card,
.ll-admin-panel,
.wdetail-card,
.wdetail-hero{
  border-radius:24px !important;
  border:1px solid var(--staff-panel-border) !important;
  background:linear-gradient(180deg, rgba(255,255,255,0.98), rgba(249,251,254,0.97)) !important;
  box-shadow:var(--staff-soft-shadow) !important;
}

.tasks-list-head,
.tasks-card-head,
.wl-form-header,
.checklist-admin-card-head,
.ll-admin-panel-head{
  border-radius:24px 24px 0 0;
}

#page-tasks #tasks-list-wrap,
#qa-list,
#wl-hist-results,
#tours-upcoming-results,
#tours-hist-results,
#rentals-upcoming-results,
#rentals-past-results,
#family-upcoming-results,
#family-past-results,
#events-upcoming-results,
#events-past-results{
  gap:16px !important;
}

@media (max-width: 1024px){
  :root{
    --staff-content-max: calc(100vw - 306px);
  }

  #app-main{
    padding-bottom:28px;
  }

  .staff-page-header-inner{
    padding:24px 24px 22px !important;
  }

  #search-section,
  #table-section,
  #cal-body,
  #qa-body,
  #wl-body,
  #tasks-body,
  #tours-body,
  #rentals-body,
  #family-body,
  #events-body,
  #wedding-detail-body{
    padding-left:18px !important;
    padding-right:18px !important;
  }
}

@media (max-width: 768px){
  #header::after{
    display:none;
  }

  #mobile-page-picker-wrap{
    margin-top:14px;
  }

  #search-section,
  #table-section,
  #cal-body,
  #qa-body,
  #wl-body,
  #tasks-body,
  #tours-body,
  #rentals-body,
  #family-body,
  #events-body,
  #wedding-detail-body,
  #page-checklist-settings,
  #page-portal-bridal-checklist,
  #page-admin-users,
  #page-admin-permissions{
    border-radius:22px;
    padding-left:14px !important;
    padding-right:14px !important;
  }

  .staff-page-header-inner{
    border-radius:22px !important;
    padding:20px 18px 18px !important;
  }
}

/* ═══ Style Block 10 ═══ */
.tour-log-card{
  border:1px solid rgba(203, 214, 226, 0.92) !important;
  border-radius:28px !important;
  background:
    radial-gradient(circle at top right, rgba(229, 236, 245, 0.44), transparent 24%),
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(249,251,254,0.97)) !important;
  box-shadow:0 18px 40px rgba(67, 84, 108, 0.08) !important;
  overflow:hidden;
}

.tour-log-card:hover{
  box-shadow:0 22px 48px rgba(67, 84, 108, 0.12) !important;
  transform:translateY(-1px);
}

.tour-log-card.is-upcoming{
  border-left:1px solid rgba(203, 214, 226, 0.92) !important;
}

.tour-log-summary{
  grid-template-columns:58px minmax(0, 1.3fr) auto auto !important;
  gap:18px !important;
  padding:24px 26px !important;
  background:linear-gradient(180deg, rgba(255,255,255,0.72), rgba(255,255,255,0.32));
}

.tour-log-summary:hover{
  background:linear-gradient(180deg, rgba(247,250,253,0.92), rgba(242,247,252,0.62)) !important;
}

.tour-log-avatar{
  width:40px !important;
  height:40px !important;
  border-radius:14px !important;
  font-size:14px !important;
  box-shadow:0 12px 24px rgba(91, 74, 97, 0.14);
}

.tour-log-main{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
}

.tour-log-summary-date{
  font-size:26px !important;
  line-height:1.08 !important;
  color:#1e2a39 !important;
}

.tour-log-summary-name{
  margin-top:8px !important;
  font-size:16px !important;
  color:#4d5d71 !important;
}

.tour-log-meta{
  gap:10px 12px !important;
  align-self:center;
}

.tour-upcoming-badge,
.tour-log-pill.assignee{
  min-height:32px;
  padding:0 12px !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  font-size:11px !important;
  letter-spacing:.12em !important;
}

.tour-upcoming-badge{
  background:#eef5ed !important;
  color:#527757 !important;
}

.tour-log-pill.assignee{
  background:#eef4fb !important;
  color:#4e6a87 !important;
}

.tour-log-chevron{
  width:34px;
  height:34px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,0.88);
  border:1px solid rgba(206, 216, 227, 0.95);
  color:#7e8b99 !important;
  font-size:12px !important;
}

.tour-log-detail{
  padding:0 26px 22px !important;
  border-top:1px solid rgba(223, 230, 238, 0.92) !important;
  background:linear-gradient(180deg, rgba(248,250,252,0.82), rgba(244,247,251,0.9)) !important;
}

.tour-log-detail-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:14px;
  padding-top:18px;
}

.tour-log-section{
  margin:0 !important;
  padding:16px 18px;
  border:1px solid rgba(212, 221, 232, 0.9);
  border-radius:18px;
  background:rgba(255,255,255,0.9);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.8);
}

.tour-log-section:nth-child(3),
.tour-log-section:nth-child(4),
.tour-log-section:nth-child(5){
  grid-column:1 / -1;
}

.tour-log-section-label{
  margin-bottom:8px !important;
  font-size:10px !important;
  letter-spacing:.14em !important;
  color:#8693a1 !important;
}

.tour-log-section-text{
  font-size:14px !important;
  line-height:1.75 !important;
  color:#2f3c4d !important;
}

.tour-log-section-text a{
  color:#2f3c4d !important;
}

.tour-pdf-chip{
  min-height:40px;
  padding:0 14px !important;
  border-radius:999px !important;
  border:1px solid rgba(201, 212, 225, 0.95) !important;
  background:#f8fbff !important;
  color:#41546b !important;
  box-shadow:none !important;
}

.tour-pdf-chip:hover{
  border-color:#9fb4cb !important;
  background:#f1f7fd !important;
}

.tour-log-actions{
  margin-top:18px !important;
  padding-top:16px !important;
  border-top:1px solid rgba(223, 230, 238, 0.92) !important;
  gap:12px !important;
}

.tour-log-edit-btn,
.tour-log-del-btn{
  min-height:44px;
  padding:0 16px !important;
  border-radius:999px !important;
  font-size:10px !important;
  letter-spacing:.12em !important;
}

.tour-log-edit-btn{
  border-color:rgba(198, 210, 223, 0.96) !important;
  background:#ffffff !important;
  color:#445569 !important;
}

.tour-log-edit-btn:hover{
  border-color:#9db3ca !important;
  background:#f5f9fd !important;
}

.tour-log-del-btn{
  border-color:rgba(228, 201, 197, 0.96) !important;
  background:#fff9f8 !important;
  color:#9a564d !important;
}

.tour-log-del-btn:hover{
  border-color:#d7a198 !important;
  background:#fff1ee !important;
}

@media (max-width: 980px){
  .tour-log-summary{
    grid-template-columns:58px minmax(0, 1fr) !important;
  }

  .tour-log-meta{
    grid-column:2 / 3;
    justify-content:flex-start !important;
  }

  .tour-log-chevron{
    position:absolute;
    top:24px;
    right:24px;
  }

  .tour-log-summary{
    position:relative;
    padding-right:72px !important;
  }
}

@media (max-width: 700px){
  .tour-log-summary{
    grid-template-columns:48px minmax(0, 1fr) !important;
    gap:14px !important;
    padding:18px 18px 18px 18px !important;
    padding-right:64px !important;
  }

  .tour-log-avatar{
    width:36px !important;
    height:36px !important;
    font-size:13px !important;
  }

  .tour-log-summary-date{
    font-size:19px !important;
  }

  .tour-log-summary-name{
    font-size:15px !important;
  }

  .tour-log-detail{
    padding:0 18px 18px !important;
  }

  .tour-log-detail-grid{
    grid-template-columns:1fr;
  }

  .tour-log-section:nth-child(3),
  .tour-log-section:nth-child(4),
  .tour-log-section:nth-child(5){
    grid-column:auto;
  }

  .tour-log-actions{
    flex-wrap:wrap;
    justify-content:stretch !important;
  }

  .tour-log-edit-btn,
  .tour-log-del-btn{
    flex:1 1 100%;
  }
}

/* ═══ Style Block 11 ═══ */
.wdetail-tasks-card{
  background:
    radial-gradient(circle at top right, rgba(223,231,241,0.42), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,250,253,0.97)) !important;
  border:1px solid rgba(206,216,228,0.92) !important;
  border-radius:28px !important;
  box-shadow:0 18px 42px rgba(67,84,108,0.08) !important;
}

.wdetail-task-grid{
  align-items:stretch;
}

.wdetail-task-item{
  min-height:88px;
  border:1px solid rgba(212,221,232,0.92) !important;
  border-radius:18px !important;
  padding:16px 16px !important;
  background:linear-gradient(180deg, rgba(255,255,255,0.98), rgba(250,252,255,0.95)) !important;
  box-shadow:0 10px 24px rgba(67,84,108,0.05);
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}

.wdetail-task-item:hover{
  transform:translateY(-1px);
  border-color:#b9cada !important;
  box-shadow:0 16px 28px rgba(67,84,108,0.09) !important;
  background:linear-gradient(180deg, rgba(252,254,255,0.99), rgba(246,250,254,0.97)) !important;
}

.wdetail-task-item.done{
  background:linear-gradient(180deg, rgba(247,250,246,0.98), rgba(242,247,243,0.96)) !important;
  border-color:rgba(190,210,191,0.95) !important;
  box-shadow:none;
}

.wdetail-task-check{
  width:28px !important;
  height:28px !important;
  min-width:28px !important;
  min-height:28px !important;
  max-width:28px !important;
  max-height:28px !important;
  border-radius:50% !important;
  margin-top:0 !important;
  padding:0 !important;
  box-sizing:border-box !important;
  aspect-ratio:1/1 !important;
}

/* ── Task main container ── */
.wdetail-task-main{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:6px;
  flex:1;
  min-width:0;
}

/* ── Task name ── */
.wdetail-task-name{
  font-size:15px !important;
  line-height:1.45 !important;
  color:#223042 !important;
  min-width:0;
  font-weight:600;
}

.wdetail-task-item.done .wdetail-task-name{
  color:#527a8a !important;
}

/* ── Head row: name + pills ── */
.wdetail-task-head-row{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  row-gap:6px;
}

/* ── Pill row ── */
.wdetail-task-pill-row{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  justify-content:flex-end;
  flex-shrink:0;
}

.wdetail-task-pill{
  max-width:100%;
  white-space:nowrap;
}

/* ── Status line (dates) ── */
.wdetail-task-status{
  display:block;
  width:100%;
  min-height:0;
  padding:7px 11px;
  border-radius:12px;
  background:#f5efe7;
  color:#6a82a0 !important;
  font-size:11px !important;
  letter-spacing:.06em !important;
  font-weight:600;
  white-space:normal;
  word-break:break-word;
  line-height:1.5;
}

.wdetail-task-item.done .wdetail-task-status{
  background:#e9f3ea;
  color:#55775b !important;
}

/* ── Timing line ── */
.wdetail-task-timing{
  white-space:normal;
  word-break:break-word;
  line-height:1.5;
  font-size:12px;
  color:#8fa4bb;
}

/* ━━ Tablet: 601–900px ━━ */
@media (max-width: 900px){
  .wdetail-task-item{
    min-height:0;
    border-radius:16px !important;
    padding:14px 16px !important;
    max-width:100%;
    box-sizing:border-box;
  }

  .wdetail-task-main{
    gap:5px;
  }

  .wdetail-task-head-row{
    flex-wrap:wrap;
    row-gap:4px;
  }

  .wdetail-task-name{
    font-size:14px !important;
    flex:1 1 0;
    min-width:0;
  }

  .wdetail-task-pill-row{
    flex-wrap:wrap;
    gap:5px;
  }

  .wdetail-task-pill{
    font-size:10px !important;
    padding:3px 8px !important;
  }

  /* Compact the status line */
  .wdetail-task-status{
    padding:5px 9px;
    font-size:10px !important;
    border-radius:10px;
  }

  .wdetail-task-timing{
    font-size:11px;
  }
}

/* ━━ Mobile: ≤600px ━━ */
@media (max-width: 600px){
  .wdetail-task-item{
    padding:12px 14px !important;
    border-radius:14px !important;
  }

  .wdetail-task-main{
    gap:4px;
  }

  /* Stack name above pills */
  .wdetail-task-head-row{
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:5px;
  }

  .wdetail-task-name{
    font-size:13.5px !important;
    width:100%;
  }

  .wdetail-task-pill-row{
    justify-content:flex-start;
    width:100%;
  }

  .wdetail-task-pill{
    font-size:9.5px !important;
    padding:3px 7px !important;
  }

  /* Collapse status to single compact line */
  .wdetail-task-status{
    padding:4px 8px;
    font-size:9.5px !important;
    border-radius:8px;
    letter-spacing:.04em !important;
  }

  .wdetail-task-timing{
    font-size:10.5px;
  }
}

/* ━━ Small mobile: ≤400px ━━ */
@media (max-width: 400px){
  .wdetail-task-item{
    padding:10px 12px !important;
    border-radius:12px !important;
  }

  .wdetail-task-name{
    font-size:13px !important;
  }

  .wdetail-task-pill{
    font-size:9px !important;
    padding:2px 6px !important;
  }

  .wdetail-task-status{
    padding:4px 7px;
    font-size:9px !important;
  }

  .wdetail-task-timing{
    font-size:10px;
  }
}

/* ═══ Style Block 12 ═══ */
@media (max-width: 900px){
  #header-top{
    position:relative;
  }

  #logo-block{
    padding-right:88px;
  }

  .ll-header-user{
    position:absolute;
    top:8px;
    right:12px;
    width:auto !important;
    margin-left:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }
}

@media (max-width: 520px){
  #logo-block{
    padding-right:78px;
  }
}

/* ═══ Style Block 13 ═══ */
@media (max-width: 900px){
  #app-main{
    padding-bottom:140px;
  }

  .tasks-shell{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }

  .tasks-create-grid,
  .tasks-summary,
  .form-grid,
  .checklist-form-grid,
  .checklist-admin-grid,
  .ll-admin-grid,
  .ll-admin-form-grid,
  .ll-admin-perm-row,
  .ll-cm-toolbar-grid,
  .ll-cm-overview-grid,
  .ll-cm-review-meta-grid,
  .ll-cm-review-form,
  .ll-cm-summary,
  .ll-cm-couple-grid,
  .ll-cm-info-list{
    grid-template-columns:1fr !important;
  }

  .tasks-create-row,
  .wl-field-row,
  .wl-history-controls,
  .wl-history-left{
    flex-direction:column !important;
    align-items:stretch !important;
  }

  .tasks-create-row .tasks-field:first-child{
    width:100%;
  }

  .tasks-add-btn,
  .wl-save-btn{
    width:100%;
  }

  #qa-filters,
  .tasks-filter-tabs,
  #wl-subtabs,
  #tours-subtabs,
  .stay-subtabs{
    overflow-x:auto;
    flex-wrap:nowrap;
    -webkit-overflow-scrolling:touch;
  }

  #qa-filters::-webkit-scrollbar,
  .tasks-filter-tabs::-webkit-scrollbar,
  #wl-subtabs::-webkit-scrollbar,
  #tours-subtabs::-webkit-scrollbar,
  .stay-subtabs::-webkit-scrollbar{
    display:none;
  }

  .qa-card-actions{
    flex-direction:column;
    align-items:stretch;
  }

  .qa-save-btn,
  .qa-edit-btn,
  .qa-delete-btn{
    width:100%;
  }

  .qa-delete-btn{
    margin-left:0;
  }
}

@media (max-width: 560px){
  .tasks-summary{
    grid-template-columns:1fr !important;
  }

  .card-meta,
  .card-checklist-grid,
  .cal-detail-check-grid{
    grid-template-columns:1fr !important;
  }
}

/* ═══ Style Block 14 ═══ */
@media (max-width: 900px){
  html{
    scroll-behavior:auto;
  }

  #header,
  #mobile-page-picker-wrap,
  .staff-mobile-bottom-nav,
  .staff-page-header-inner{
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }

  #header{
    position:relative !important;
    top:auto !important;
    background:rgba(255,255,255,0.98) !important;
  }

  body #mobile-page-picker-wrap{
    position:relative !important;
    top:auto !important;
  }

  body .mobile-page-picker-card{
    background:linear-gradient(135deg,#4a596e 0%,#556883 100%) !important;
  }

  .staff-mobile-bottom-nav{
    background:rgba(255,255,255,0.98) !important;
  }
}

/* ═══ Style Block 15 ═══ */
/* ═══════════════════════════════════════════════════════
   Legacy Lane Staff Portal — Unified Design System v2
   Applied last so it wins over all prior style blocks.
   Extends staff-sidebar-polish / staff-sidebar-redesign.
   ═══════════════════════════════════════════════════════ */

:root {
  /* ── Primary palette (blue-gray, matches #add-btn gradient) ── */
  --ll-primary:          #60758f;
  --ll-primary-dark:     #4d6078;
  --ll-primary-grad:     linear-gradient(135deg, #7f91ad 0%, #60758f 100%);
  --ll-primary-grad-hover: linear-gradient(135deg, #6d80a0 0%, #506070 100%);
  --ll-primary-light:    #dfe8f2;
  --ll-primary-light-bg: #f3f7fb;

  /* ── Danger / success ── */
  --ll-danger:           #9a564d;
  --ll-danger-bg:        #fff1ee;
  --ll-danger-border:    rgba(228, 201, 197, 0.96);
  --ll-success:          #527757;
  --ll-success-bg:       #eef5ed;

  /* ── Text hierarchy ── */
  --ll-ink:              #243244;
  --ll-ink-muted:        #627287;
  --ll-ink-subtle:       #8a96a4;

  /* ── Borders & backgrounds ── */
  --ll-border:           rgba(201, 212, 225, 0.92);
  --ll-border-focus:     #7a94ae;
  --ll-border-focus-ring: rgba(122, 148, 174, 0.22);

  /* ── Shared radii ── */
  --ll-btn-radius:       999px;
  --ll-input-radius:     12px;
  --ll-card-radius:      24px;

  /* ── Button sizing ── */
  --ll-btn-h:            44px;
  --ll-btn-shadow:       0 8px 20px rgba(67, 84, 108, 0.15);

  /* ── Modal header ── */
  --ll-modal-header:     linear-gradient(135deg, #2d3f54 0%, #1f2d3d 100%);
}

/* ─────────────────────────────────────────
   GLOBAL FOCUS RING (replaces old terracotta)
   ───────────────────────────────────────── */
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2.5px solid var(--ll-border-focus) !important;
  outline-offset: 2px !important;
}

/* ─────────────────────────────────────────
   FORM INPUT FOCUS STATES (all pages)
   ───────────────────────────────────────── */
.f-field input:focus,
.f-field select:focus,
.f-field textarea:focus,
.tasks-input:focus,
.tasks-select:focus,
.wl-input:focus,
.qa-answer-input:focus,
.qa-modal-input:focus,
.checklist-admin-input:focus,
#search-input:focus {
  border-color: var(--ll-border-focus) !important;
  box-shadow: 0 0 0 3.5px var(--ll-border-focus-ring) !important;
  background: #fff !important;
}

/* ─────────────────────────────────────────
   FORM INPUT RADIUS
   ───────────────────────────────────────── */
.tasks-input,
.tasks-select {
  border-radius: var(--ll-input-radius) !important;
  min-height: var(--ll-btn-h) !important;
}
.wl-input { border-radius: var(--ll-input-radius) !important; }
.qa-answer-input { border-radius: 10px !important; }
.qa-modal-input { border-radius: 10px !important; }
.checklist-admin-input { border-radius: 10px !important; }
#search-input { border-radius: 12px !important; }

/* ─────────────────────────────────────────
   PRIMARY ACTION BUTTONS (Save / Submit / Add)
   ───────────────────────────────────────── */
.dark-btn,
.wl-save-btn,
.qa-save-btn,
.qa-modal-submit,
.cal-detail-edit-btn {
  background: var(--ll-primary-grad) !important;
  border-color: transparent !important;
  border-radius: var(--ll-btn-radius) !important;
  min-height: var(--ll-btn-h) !important;
  box-shadow: var(--ll-btn-shadow) !important;
  color: #fff !important;
  font-size: 11px !important;
  letter-spacing: 0.13em !important;
}
.dark-btn:hover,
.wl-save-btn:hover,
.qa-save-btn:hover,
.qa-modal-submit:hover,
.cal-detail-edit-btn:hover {
  background: var(--ll-primary-grad-hover) !important;
  border-color: transparent !important;
  transform: translateY(-1px);
}
.wl-save-btn:disabled {
  background: #c8d3de !important;
  box-shadow: none !important;
  cursor: not-allowed !important;
  transform: none !important;
  opacity: 0.75 !important;
}

/* Checklist admin primary button */
.checklist-admin-btn.primary {
  background: var(--ll-primary-grad) !important;
  border-color: transparent !important;
  border-radius: var(--ll-btn-radius) !important;
  color: #fff !important;
  min-height: 40px !important;
  box-shadow: 0 6px 14px rgba(67, 84, 108, 0.15) !important;
}
.checklist-admin-btn.primary:hover {
  background: var(--ll-primary-grad-hover) !important;
  filter: none !important;
  transform: translateY(-1px);
}

/* Tasks add/save button (keeps purple tint from tasks theme) */
.tasks-add-btn {
  border-radius: var(--ll-btn-radius) !important;
  min-height: var(--ll-btn-h) !important;
  font-size: 11px !important;
  letter-spacing: 0.13em !important;
}
.tasks-page-add-btn,
.tasks-header-add-btn,
.tasks-open-modal-btn {
  border-radius: var(--ll-btn-radius) !important;
}

/* ─────────────────────────────────────────
   SECONDARY / GHOST BUTTONS
   ───────────────────────────────────────── */
.ghost-btn,
.wl-cancel-edit-btn,
.qa-edit-btn,
.qa-modal-cancel,
.wl-nav-btn,
.wl-log-edit-btn,
.checklist-admin-btn:not(.primary),
.checklist-admin-inline-btn {
  border-radius: var(--ll-btn-radius) !important;
}
.ghost-btn:hover,
.wl-cancel-edit-btn:hover,
.qa-edit-btn:hover,
.qa-modal-cancel:hover,
.wl-nav-btn:hover,
.wl-log-edit-btn:hover {
  border-color: #9fb4cb !important;
  background: var(--ll-primary-light-bg) !important;
  color: var(--ll-ink) !important;
}
.checklist-admin-btn:not(.primary):hover {
  border-color: #9fb4cb !important;
  background: var(--ll-primary-light-bg) !important;
}

/* Tour log buttons */
.tour-log-edit-btn {
  border-radius: var(--ll-btn-radius) !important;
}
.tour-log-edit-btn:hover {
  border-color: #9fb4cb !important;
  background: var(--ll-primary-light-bg) !important;
  color: var(--ll-primary) !important;
}

/* Edit button in wedding table */
.edit-btn {
  border-radius: 10px !important;
}
.edit-btn:hover {
  background: var(--ll-primary) !important;
  border-color: var(--ll-primary) !important;
  color: #fff !important;
}

/* ─────────────────────────────────────────
   DANGER / DELETE BUTTONS
   ───────────────────────────────────────── */
.qa-delete-btn,
.tour-log-del-btn,
.task-delete-btn {
  border-radius: var(--ll-btn-radius) !important;
}
.qa-delete-btn:hover,
.task-delete-btn:hover {
  background: var(--ll-danger-bg) !important;
  border-color: var(--ll-danger-border) !important;
  color: var(--ll-danger) !important;
}
.tour-log-del-btn:hover {
  background: var(--ll-danger-bg) !important;
  border-color: var(--ll-danger-border) !important;
  color: var(--ll-danger) !important;
}

/* ─────────────────────────────────────────
   MODAL HEADERS — unified dark navy
   ───────────────────────────────────────── */
#modal-head,
#qa-modal-head,
#tour-modal-head,
#cal-detail-head {
  background: var(--ll-modal-header) !important;
}
#file-viewer-head {
  background: linear-gradient(135deg, #2c3b4e 0%, #1f2d3d 100%) !important;
}

/* Ensure close buttons inside dark modal heads are visible */
.modal-close-btn,
.qa-modal-close,
.tour-modal-close,
.cal-detail-close {
  border-color: rgba(255,255,255,0.22) !important;
}
.modal-close-btn:hover,
.qa-modal-close:hover,
.tour-modal-close:hover,
.cal-detail-close:hover {
  border-color: rgba(255,255,255,0.55) !important;
  background: rgba(255,255,255,0.14) !important;
  color: #fff !important;
}

/* ─────────────────────────────────────────
   Q&A PAGE ADD BUTTON
   ───────────────────────────────────────── */
#qa-page-add-btn {
  border-color: rgba(77, 98, 120, 0.28) !important;
  color: var(--ll-primary) !important;
  background: #fff !important;
  box-shadow: 0 8px 20px rgba(77, 98, 120, 0.10) !important;
}
#qa-page-add-btn:hover {
  border-color: var(--ll-primary) !important;
  background: var(--ll-primary-light-bg) !important;
  transform: translateY(-1px);
}

/* Tours add button */
#tours-add-btn {
  border-color: rgba(77, 98, 120, 0.28) !important;
  color: var(--ll-primary) !important;
  box-shadow: 0 6px 18px rgba(77, 98, 120, 0.10) !important;
}
#tours-add-btn:hover {
  border-color: var(--ll-primary) !important;
  background: var(--ll-primary-light-bg) !important;
}

/* ─────────────────────────────────────────
   FILTER TABS & CHIPS — unified active state
   ───────────────────────────────────────── */
.qa-filter-btn.active,
.tasks-filter-btn.active {
  background: var(--ll-primary) !important;
  border-color: var(--ll-primary) !important;
  color: #fff !important;
  box-shadow: 0 6px 14px rgba(77, 98, 120, 0.20) !important;
}
.qa-filter-btn:hover:not(.active) {
  border-color: var(--ll-primary) !important;
  color: var(--ll-primary) !important;
}
.tasks-filter-btn:hover:not(.active) {
  border-color: var(--ll-primary) !important;
  color: var(--ll-primary) !important;
}

/* Sub-tabs (work log, tours) */
.wl-subtab.active,
.tours-subtab.active {
  color: var(--ll-primary) !important;
  border-bottom-color: var(--ll-primary) !important;
}
.wl-subtab:hover,
.tours-subtab:hover {
  color: var(--ll-primary) !important;
}

/* Owner filter chips */
.owner-filter-chip.active {
  background: var(--ll-primary) !important;
  border-color: var(--ll-primary) !important;
  box-shadow: 0 6px 14px rgba(77, 98, 120, 0.18) !important;
}
.owner-filter-chip:hover:not(.active) {
  border-color: #9fb4cb !important;
  background: var(--ll-primary-light-bg) !important;
}

/* Calendar filter chips */
.cal-filter-chip.active {
  background: var(--ll-primary) !important;
  border-color: var(--ll-primary) !important;
}
.cal-filter-chip:hover:not(.active) {
  border-color: var(--ll-primary) !important;
  color: var(--ll-primary) !important;
}

/* Calendar nav buttons */
.cal-nav-btn {
  border-color: var(--ll-border) !important;
}
.cal-nav-btn:hover {
  border-color: #9fb4cb !important;
  background: var(--ll-primary-light-bg) !important;
}
.cal-today-btn:hover {
  border-color: var(--ll-primary) !important;
  color: var(--ll-primary) !important;
}

/* ─────────────────────────────────────────
   PERSON / ASSIGNEE PICKER CHIPS
   ───────────────────────────────────────── */
.person-chip:hover {
  border-color: #9fb4cb !important;
  transform: translateY(-1px);
}
.person-chip.selected {
  border-color: var(--ll-primary) !important;
  background: var(--ll-primary-light-bg) !important;
  box-shadow: 0 4px 12px rgba(77, 98, 120, 0.12) !important;
}

/* Priority chips */
.priority-chip:hover {
  border-color: var(--ll-primary) !important;
  color: var(--ll-primary) !important;
}

/* ─────────────────────────────────────────
   TASK ITEM — unified interaction
   ───────────────────────────────────────── */
.task-hitarea:hover .task-toggle {
  border-color: var(--ll-primary) !important;
}
.task-hitarea:focus-visible {
  outline-color: var(--ll-border-focus) !important;
}
.task-item.is-complete .task-toggle {
  background: var(--ll-success) !important;
  border-color: var(--ll-success) !important;
}
.task-action-btn:hover {
  border-color: var(--ll-primary) !important;
  color: var(--ll-primary) !important;
  background: var(--ll-primary-light-bg) !important;
}

/* ─────────────────────────────────────────
   CUSTOM CHECKBOXES (wedding modal)
   ───────────────────────────────────────── */
.custom-check.checked {
  border-color: var(--ll-primary) !important;
  background: var(--ll-primary) !important;
}

/* ─────────────────────────────────────────
   CHECKLIST ITEM DONE ICONS
   ───────────────────────────────────────── */
.checklist-item.done .check-icon,
.card-check-item.done .card-check-icon,
.cal-detail-check.done .ck,
.clx-task-item.done .icon { color: var(--ll-success) !important; }
.exp-check-item.done .exp-check-icon {
  background: var(--ll-success) !important;
  color: #fff !important;
}

/* ─────────────────────────────────────────
   WEDDING DETAIL — task checkboxes
   ───────────────────────────────────────── */
.wdetail-task-item.done .wdetail-task-check {
  background: var(--ll-success) !important;
  border-color: var(--ll-success) !important;
  color: #fff !important;
}

/* ─────────────────────────────────────────
   CHECKLIST ADMIN CARD — palette alignment
   ───────────────────────────────────────── */
.checklist-admin-card {
  border-color: var(--ll-border) !important;
}
.checklist-admin-card-head {
  background: linear-gradient(180deg, rgba(245,248,252,0.98) 0%, rgba(237,244,250,0.96) 100%) !important;
  border-bottom-color: var(--ll-border) !important;
}

/* ─────────────────────────────────────────
   EMPTY STATES
   ───────────────────────────────────────── */
.tasks-empty,
.tours-empty,
.wl-empty {
  border-radius: var(--ll-card-radius) !important;
  border-color: var(--ll-border) !important;
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(247,250,254,0.96)) !important;
}

/* ─────────────────────────────────────────
   STATUS MESSAGES (success / error)
   ───────────────────────────────────────── */
#wl-submit-status.success,
#tasks-submit-status.success,
#tour-submit-status.success,
.checklist-admin-status.is-success { color: var(--ll-success) !important; }

#wl-submit-status.error,
#tasks-submit-status.error,
#tour-submit-status.error,
.checklist-admin-status.is-error { color: var(--ll-danger) !important; }

/* ─────────────────────────────────────────
   WEDDING TABLE HEADER
   ───────────────────────────────────────── */
.wedding-table thead tr {
  background: linear-gradient(180deg, #394353 0%, #303c4a 100%) !important;
}

/* ─────────────────────────────────────────
   HOVER SHADOWS — card hover depth
   ───────────────────────────────────────── */
.qa-card:hover {
  box-shadow: 0 14px 30px rgba(67, 84, 108, 0.10) !important;
}
.wl-log-card:hover {
  box-shadow: 0 14px 30px rgba(67, 84, 108, 0.10) !important;
}
.wl-recent-item:hover {
  border-color: #9fb4cb !important;
  background: var(--ll-primary-light-bg) !important;
}
.tour-log-card:hover {
  box-shadow: 0 22px 48px rgba(67, 84, 108, 0.12) !important;
}

/* ─────────────────────────────────────────
   FOOTER
   ───────────────────────────────────────── */
#footer {
  background: linear-gradient(180deg, rgba(238,243,248,0.95), rgba(230,237,244,0.98)) !important;
  border-top: 1px solid var(--ll-border) !important;
}
#footer-name { color: var(--ll-ink-muted) !important; }
#footer-addr { color: var(--ll-ink-subtle) !important; }

/* ─────────────────────────────────────────
   TYPOGRAPHY — heading colors
   ───────────────────────────────────────── */
.tasks-card-title,
.tasks-list-title,
.wl-form-title,
.checklist-admin-title { color: var(--ll-ink) !important; }

.tasks-card-sub,
.tasks-list-sub,
.checklist-admin-sub { color: var(--ll-ink-muted) !important; }

/* ─────────────────────────────────────────
   SHOW ALL BUTTON (wedding list)
   ───────────────────────────────────────── */
#weddings-show-all-btn:hover {
  border-color: #9fb4cb !important;
}
#weddings-show-all-count {
  background: var(--ll-primary) !important;
}

/* ─────────────────────────────────────────
   SEARCH INPUT radius
   ───────────────────────────────────────── */
#search-wrap { border-radius: 14px !important; overflow: hidden; }
#search-input { border-radius: 14px !important; }

/* ─────────────────────────────────────────
   MOBILE PAGE PICKER CARD
   ───────────────────────────────────────── */
.mobile-page-picker-card {
  background: linear-gradient(135deg, #4a596e 0%, #3a4a5c 100%) !important;
  border-radius: 22px !important;
}

/* ═══ Style Block 16 ═══ */
@media (max-width: 700px){
  #header{padding:14px 12px 12px !important;}
  #header-top{gap:10px !important;}
  #logo-block{gap:0 !important;}
  #logo-text-name{font-size:18px !important;line-height:1.05 !important;}
  #logo-text-portal{font-size:9px !important;letter-spacing:.18em !important;margin-top:8px !important;padding-top:7px !important;}
  #nav-tabs{display:grid !important;grid-template-columns:repeat(9,minmax(0,1fr));gap:5px !important;overflow:visible !important;flex-wrap:nowrap !important;justify-content:stretch !important;padding-bottom:0 !important;}
  .nav-tab{min-width:0 !important;width:100% !important;padding:10px 4px !important;border-radius:14px !important;gap:4px !important;}
  .nav-ico{font-size:18px !important;}
  .nav-label{font-size:7px !important;letter-spacing:.04em !important;white-space:normal !important;text-align:center !important;line-height:1.15 !important;}

  .card-exp-body{background:#f5f9fe !important;}
  .card-exp-section{padding:16px 14px !important;}
  .card-exp-head{font-size:9px !important;letter-spacing:.14em !important;color:#7a8ea4 !important;margin-bottom:10px !important;text-transform:uppercase;}
  .card-exp-row{display:block !important;padding:10px 0 !important;border-top:1px solid #dde8f3 !important;}
  .card-exp-row:first-of-type{border-top:none !important;padding-top:0 !important;}
  .card-exp-lbl{display:block !important;margin-bottom:4px !important;font-size:9px !important;letter-spacing:.12em !important;color:#8693a1 !important;}
  .card-exp-val,.card-exp-text{display:block !important;font-size:14px !important;line-height:1.45 !important;color:#1e2f3e !important;word-break:break-word !important;}
  .card-exp-empty{font-size:13px !important;line-height:1.45 !important;color:#7a8ea4 !important;}

  #cal-body{padding:14px 10px 20px !important;}
  #cal-nav{position:static !important;padding:0 2px 10px !important;}
  #cal-month-label{font-size:20px !important;text-align:center !important;}
  #cal-list-mobile{display:block !important;min-height:0 !important;padding-bottom:12px !important;}
  .cal-list-day{padding:12px !important;border-radius:16px !important;margin-bottom:12px !important;}
  .cal-list-date{font-size:9px !important;letter-spacing:.14em !important;}
  .cal-list-item{padding:12px !important;border-radius:12px !important;}
  .cal-list-couple{font-size:18px !important;line-height:1.08 !important;}
  .cal-list-meta,.cal-list-staff{font-size:12px !important;line-height:1.45 !important;}
}

@media (max-width:768px){
  #nav-tabs{
    justify-content:center !important;
    align-items:center;
  }
}


/* === Mobile owner filter dropdown === */
@media (max-width:700px){
  .owner-filter-row{
    display:none !important;
  }
  .mobile-owner-filter{
    display:block !important;
    margin:14px 0 18px;
  }
}
.mobile-owner-filter{
  display:none;
}
.mobile-owner-filter select{
  width:100%;
  padding:12px 14px;
  border-radius:10px;
  border:1px solid #c9d6e8;
  font-size:14px;
  background:#fff;
}


/* === Remove duplicate owner chips when dropdown present === */
@media (max-width:700px){
  .tasks-owner-strip,
  .owner-filter-row,
  .owner-filter-chip{
    display:none !important;
  }
}

/* ═══ Style Block 17 ═══ */
@media (max-width: 780px){
  #cal-body{padding:14px 12px 24px !important;}
  #cal-nav{display:grid !important;grid-template-columns:52px 1fr 52px;align-items:center;gap:10px !important;margin-bottom:14px !important;}
  #cal-month-label{font-size:20px !important;line-height:1.1 !important;text-align:center !important;min-width:0 !important;}
  .cal-nav-btn{width:52px !important;height:52px !important;}
  #cal-grid-head,#cal-grid{display:none !important;}
  #cal-list-mobile{display:block !important;min-height:120px !important;padding-bottom:12px !important;}
  .cal-list-day{background:#fff !important;border:1px solid #dce8f4 !important;border-radius:16px !important;padding:12px !important;margin-bottom:12px !important;box-shadow:0 8px 20px rgba(0,0,0,.04) !important;}
  .cal-list-date{font-size:10px !important;letter-spacing:.14em !important;text-transform:uppercase !important;color:#7a8ea4 !important;margin-bottom:10px !important;}
  .cal-list-stack{display:flex !important;flex-direction:column !important;gap:10px !important;}
  .cal-list-item{display:block !important;width:100% !important;text-align:left !important;padding:14px !important;border:1px solid #dce8f4 !important;border-radius:14px !important;background:#f4f8fc !important;}
  .cal-list-item-top{display:flex !important;align-items:flex-start !important;justify-content:space-between !important;gap:8px !important;}
  .cal-list-couple{font-size:20px !important;line-height:1.05 !important;}
  .cal-list-meta,.cal-list-staff{font-size:12px !important;line-height:1.45 !important;margin-top:6px !important;color:#4e6a84 !important;}
  #cal-detail-overlay.open{display:flex !important;align-items:flex-end !important;justify-content:center !important;padding:0 !important;}
  #cal-detail-box{position:relative !important;top:auto !important;left:auto !important;transform:none !important;width:100% !important;max-width:none !important;max-height:88vh !important;border-radius:22px 22px 0 0 !important;margin:0 !important;}
}

@media (max-width:768px){
  #nav-tabs{
    justify-content:center !important;
    align-items:center;
  }
}


/* === Mobile owner filter dropdown === */
@media (max-width:700px){
  .owner-filter-row{
    display:none !important;
  }
  .mobile-owner-filter{
    display:block !important;
    margin:14px 0 18px;
  }
}
.mobile-owner-filter{
  display:none;
}
.mobile-owner-filter select{
  width:100%;
  padding:12px 14px;
  border-radius:10px;
  border:1px solid #c9d6e8;
  font-size:14px;
  background:#fff;
}


/* === Remove duplicate owner chips when dropdown present === */
@media (max-width:700px){
  .tasks-owner-strip,
  .owner-filter-row,
  .owner-filter-chip{
    display:none !important;
  }
}

/* ═══ Style Block 18 ═══ */
/* Tour modal — guaranteed hidden until .open is added */
#tour-modal-overlay { display: none !important; }
#tour-modal-overlay.open { display: block !important; }

/* Single browser scroll — no inner scroll containers on root elements */
html, body { overflow-x: hidden !important; overflow-y: visible !important; height: auto !important; min-height: 0 !important; }

/* â•â• Property Rentals + Family â•â• */
body.page-rentals #header { background:#5f4730; border-bottom-color:#47331f; }
body.page-family #header { background:#5b4f3b; border-bottom-color:#433927; }
body.page-events #header { background:#3a4f5a; border-bottom-color:#2c3d47; }
#page-rentals,#page-family,#page-events{padding-bottom:40px;}
.stay-page-body{max-width:1080px;margin:0 auto;padding:28px 32px 64px;box-sizing:border-box;}
.stay-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:22px;padding-bottom:14px;border-bottom:1px solid #ece6df;}
.stay-subtabs{display:flex;gap:0;border-bottom:2px solid #dce8f4;}
.stay-subtab{padding:11px 22px;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;font-family:'Jost',sans-serif;font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:#999;cursor:pointer;transition:all 0.15s;white-space:nowrap;}
.stay-subtab:hover{color:#2c2c2c;}
.stay-subtab.active{color:#2c2c2c;border-bottom-color:#2c2c2c;font-weight:600;}
.stay-panel{display:none;}
.stay-panel.active{display:block;}
.stay-add-btn{padding:10px 18px;border-radius:999px;border:1.5px solid rgba(47,95,167,0.28);background:#fff;color:#2f5fa7;font-family:'Jost',sans-serif;font-size:11px;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;cursor:pointer;box-shadow:0 6px 18px rgba(47,95,167,0.10);transition:all 0.18s;white-space:nowrap;}
.stay-add-btn:hover{transform:translateY(-1px);border-color:#2f5fa7;background:#f0f7ff;}
.stay-add-btn.family-btn{border-color:rgba(47,95,167,0.28);color:#2f5fa7;box-shadow:0 6px 18px rgba(47,95,167,0.10);}
.stay-add-btn.family-btn:hover{border-color:#2f5fa7;background:#f0f7ff;}
.stay-card{background:#fff;border:1px solid #dce8f4;border-radius:10px;box-shadow:0 2px 12px rgba(0,0,0,0.04);overflow:hidden;}
.stay-card + .stay-card{margin-top:12px;}
.stay-card-summary{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(160px,.9fr) minmax(160px,.8fr) auto;gap:16px;align-items:center;padding:18px 20px;cursor:pointer;}
.stay-card-summary:hover{background:#f5f9fe;}
.stay-card-name{font-family:'Cormorant Garamond',Georgia,serif;font-size:24px;color:#1a1a1a;line-height:1.05;}
.stay-card-meta-label{font-size:8px;letter-spacing:0.14em;text-transform:uppercase;color:#999;margin-bottom:4px;font-weight:700;}
.stay-card-meta-value{font-size:13px;color:#333;line-height:1.5;}
.stay-chip-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.stay-chip{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:#f4efe9;color:#5f4730;font-size:10px;letter-spacing:0.06em;font-weight:600;white-space:nowrap;}
.stay-chip.family{background:#f2eee6;color:#5b4f3b;}
.stay-chip.events{background:#e8eef1;color:#3a4f5a;}
/* Card summary: keep homes on a single row, clip overflow gracefully */
.stay-card-summary-btn .stay-chip-row{flex-wrap:nowrap;overflow:hidden;}
.stay-card-summary-btn .stay-chip{max-width:160px;overflow:hidden;text-overflow:ellipsis;}
/* Single-column layout on mobile — full width, re-allow wrap */
@media(max-width:900px){.stay-card-summary-btn .stay-chip-row{flex-wrap:wrap;overflow:visible;}
.stay-card-summary-btn .stay-chip{max-width:none;overflow:visible;text-overflow:unset;}}
.stay-card-chevron{font-size:14px;color:#bbb;transition:transform 0.18s;}
.stay-card.expanded .stay-card-chevron{transform:rotate(180deg);}
.stay-card-detail{display:none;border-top:1px solid #e2ecf5;padding:16px 20px 18px;background:#f2f7fd;}
.stay-card.expanded .stay-card-detail{display:block;}
.stay-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 22px;}
.stay-detail-block-label{font-size:8px;letter-spacing:0.14em;text-transform:uppercase;color:#888;font-weight:700;margin-bottom:6px;}
.stay-detail-block-text{font-size:13px;color:#333;line-height:1.7;white-space:pre-wrap;word-break:break-word;}
.stay-card-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px;}
.stay-action-btn{padding:8px 14px;background:#fff;color:#2c2c2c;border:1.5px solid #c9d8e8;border-radius:4px;font-family:'Jost',sans-serif;font-size:10px;letter-spacing:0.1em;text-transform:uppercase;cursor:pointer;transition:all 0.15s;}
.stay-action-btn:hover{border-color:#2c2c2c;background:#fff;}
.stay-action-btn.delete:hover{border-color:#2F5FA7;color:#2F5FA7;background:#edf5ff;}
.stay-empty{text-align:center;padding:68px 20px;color:#b0c6da;background:#fff;border:1px solid #dce8f4;border-radius:10px;}
.stay-empty-icon{font-size:42px;margin-bottom:10px;}
.stay-empty-title{font-size:16px;color:#7a8ea4;margin-bottom:6px;}
.stay-empty-sub{font-size:12px;color:#b0c6da;max-width:320px;margin:0 auto;line-height:1.6;}
#stay-modal-overlay{display:none;position:fixed;inset:0;z-index:9999;background:rgba(20,18,16,0.56);backdrop-filter:blur(6px);}
#stay-modal-overlay.open{display:block;}
#stay-modal-box{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(680px,calc(100% - 40px));max-height:90vh;overflow-y:auto;background:#fff;border-radius:18px;box-shadow:0 32px 80px rgba(0,0,0,0.28);display:flex;flex-direction:column;}
#stay-modal-head{padding:20px 24px;background:#5f4730;border-radius:18px 18px 0 0;display:flex;justify-content:space-between;align-items:flex-start;gap:14px;}
body.page-family #stay-modal-head{background:#5b4f3b;}
body.page-events #stay-modal-head{background:#3a4f5a;}
#stay-modal-kicker{font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:#b0c8d9;margin-bottom:6px;font-weight:600;}
#stay-modal-title{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:28px;color:#fff;font-weight:400;line-height:1.1;}
.stay-modal-close{width:34px;height:34px;border-radius:50%;border:1.5px solid rgba(255,255,255,0.28);background:rgba(255,255,255,0.08);color:#ccc;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.15s;flex-shrink:0;}
.stay-modal-close:hover{background:rgba(255,255,255,0.18);color:#fff;}
#stay-modal-body{padding:24px 26px 0;flex:1;overflow-y:auto;}
#stay-modal-foot{display:flex;align-items:center;gap:12px;padding:16px 26px 20px;border-top:1px solid #dde8f3;background:#f2f7fd;border-radius:0 0 18px 18px;flex-shrink:0;}
#stay-submit-status.success{color:#4a7a4e;}
#stay-submit-status.error{color:#2F5FA7;}
.stay-property-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;background:#f2f7fd;padding:14px 16px;border-radius:6px;border:1px solid #dde8f3;}
.stay-check-label{display:flex;align-items:center;gap:9px;cursor:pointer;user-select:none;font-size:12px;color:#555;font-weight:400;}
.stay-check-label input{accent-color:#5f4730;width:16px;height:16px;}
@media (max-width: 900px){.stay-card-summary{grid-template-columns:1fr;gap:12px;}.stay-card-chevron{display:none;}.stay-detail-grid{grid-template-columns:1fr;}}
@media (max-width: 720px){.stay-page-body{padding:14px 12px 56px;}.stay-toolbar{flex-direction:column;align-items:stretch;gap:12px;border-bottom:none;padding-bottom:0;margin-bottom:0;}.stay-subtabs{border-bottom:2px solid #dce8f4;}.stay-add-btn{width:100%;text-align:center;border-radius:14px;margin-bottom:12px;}#stay-modal-box{top:auto;bottom:0;left:0;transform:none;width:100%;max-width:100%;border-radius:22px 22px 0 0;max-height:92vh;}#stay-modal-head{border-radius:22px 22px 0 0;padding:18px 18px 14px;}#stay-modal-body{padding:18px 18px 0;}#stay-modal-foot{padding:14px 18px 18px;}.stay-property-grid{grid-template-columns:1fr;}}


/* ===== Mobile / thin-width polish pass ===== */
@media (max-width: 960px){
  #conn-bar{padding:8px 14px !important;}
  #header{padding:14px 14px 12px !important;}
  #header-top{flex-direction:column;align-items:stretch;gap:12px;}
  #logo-block{justify-content:center;width:100%;}
  #logo-text-name{font-size:20px;}
  #logo-text-sub{font-size:12px;}
  #add-btn{width:100%;}
  #nav-tabs{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    width:100%;
    margin-top:14px;
  }
  .nav-tab{
    min-height:44px;
    padding:10px 12px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    white-space:normal;
    line-height:1.25;
    text-align:center;
  }
  .nav-label{display:block;}
  #search-section,
  #table-section,
  #cal-body,
  #qa-body,
  #wl-body,
  #tasks-body,
  .stay-page-body{padding-left:14px !important;padding-right:14px !important;}
  #table-section,
  #cal-body,
  #qa-body,
  #wl-body,
  #tasks-body,
  .stay-page-body{padding-bottom:56px !important;}
  #table-section{overflow-x:clip;}
  .exp-grid-top,
  .exp-notes-grid,
  .exp-checklist-grid,
  .checklist-grid,
  .card-checklist-grid,
  .card-meta,
  .tasks-create-grid,
  .checklist-form-grid,
  .cal-detail-check-grid,
  .stay-detail-grid,
  .stay-meta-grid,
  .stay-modal-grid,
  .stay-property-grid{grid-template-columns:1fr !important;}
  .expand-inner{grid-template-columns:1fr;gap:18px;}
  .exp-section,
  .exp-section-full,
  .cal-detail-section{padding:14px 16px;}
  .exp-actions,
  #cal-detail-footer{padding:14px 16px;flex-direction:column;}
  .exp-actions > *,
  #cal-detail-footer > *,
  .card-actions > *,
  .modal-actions > *,
  .tasks-create-row > *,
  .stay-card-actions > *,
  #stay-modal-foot > *{width:100%;}
  .wl-log-card,
  .qa-card,
  .tasks-card,
  .stay-card,
  .wedding-card{border-radius:14px;}
  .wl-log-card-actions,
  .qa-card-actions,
  .card-actions,
  .task-actions,
  .stay-card-actions{flex-direction:column;align-items:stretch;}
  .task-action-btn,
  .qa-save-btn,
  .qa-edit-btn,
  .qa-delete-btn,
  .wl-log-edit-btn,
  .edit-btn,
  .del-btn,
  .card-expand-btn,
  .cal-detail-edit-btn,
  .stay-card-btn,
  .stay-card-delete,
  .stay-add-btn{width:100%;text-align:center;}
  .qa-delete-btn{margin-left:0;}
  .task-item,
  .stay-card{overflow:hidden;}
  .task-meta,
  .stay-card-tags,
  .stay-card-homes{gap:6px;}
  .stay-toolbar{align-items:stretch;}
  .stay-subtabs,
  #qa-filters,
  #wl-subtabs{
    overflow-x:auto;
    scrollbar-width:none;
    -ms-overflow-style:none;
    flex-wrap:nowrap;
  }
  .stay-subtabs::-webkit-scrollbar,
  #qa-filters::-webkit-scrollbar,
  #wl-subtabs::-webkit-scrollbar{display:none;}
}

@media (max-width: 640px){
  #nav-tabs{grid-template-columns:repeat(2,minmax(0,1fr));}
  .nav-tab{justify-content:flex-start;text-align:left;}
  #logo-text-name{font-size:18px;letter-spacing:0.06em;}
  #logo-text-sub{font-size:11px;}
  #logo-text-portal{font-size:7px;letter-spacing:0.16em;}
  .stat-item{padding:10px 8px !important;}
  .stat-num{font-size:20px !important;}
  .year-label,
  .tasks-list-title,
  .tasks-card-title,
  .wl-form-title,
  #cal-month-label,
  .stay-page-title{font-size:20px !important;}
  .form-grid,
  .f-row{grid-template-columns:1fr !important;gap:12px !important;}
  .form-full{grid-column:auto;}
  #modal-body,
  #qa-modal-body,
  #stay-modal-body{padding:16px 16px 0 !important;}
  #modal-head,
  #qa-modal-head,
  #stay-modal-head{padding:16px !important;}
  #modal-foot,
  #qa-modal-footer,
  #stay-modal-foot{padding:14px 16px 16px !important;}
  #modal-title{font-size:20px !important;}
  .cal-day{min-height:58px !important;}
  .cal-wedding-chip,
  .cal-tour-chip{font-size:9px;line-height:1.3;}
  .wl-log-card-head{align-items:flex-start;flex-wrap:wrap;}
  .wl-log-hours{margin-left:0;}
  .qa-card-head{padding:14px 14px 12px;gap:10px;}
  .qa-card-body{padding:0 14px 0 14px;}
  .task-hitarea{padding:14px;}
  .task-actions{padding:0 14px 14px;}
  .stay-page-body{padding-top:14px !important;}
}

@media (max-width: 420px){
  body{font-size:12px;}
  #search-input,
  .form-input,
  .tasks-input,
  .tasks-select,
  .qa-answer-input,
  .qa-modal-input,
  .wl-input{font-size:16px !important;}
  .nav-tab{padding:9px 10px;font-size:9px;}
  .nav-ico{font-size:13px;}
  .task-badge,
  .task-priority-badge,
  .stay-tag,
  .stay-home-chip{font-size:9px;}
}

/* === Mobile owner filter dropdown === */
@media (max-width:700px){
  .owner-filter-row{
    display:none !important;
  }
  .mobile-owner-filter{
    display:block !important;
    margin:14px 0 18px;
  }
}
.mobile-owner-filter{
  display:none;
}
.mobile-owner-filter select{
  width:100%;
  padding:12px 14px;
  border-radius:10px;
  border:1px solid #c9d6e8;
  font-size:14px;
  background:#fff;
}


/* === Remove duplicate owner chips when dropdown present === */
@media (max-width:700px){
  .tasks-owner-strip,
  .owner-filter-row,
  .owner-filter-chip{
    display:none !important;
  }
}

/* â•â• Mobile UI polish — comprehensive pass â•â• */

/* Category tabs: 2Ã—2 grid on small screens — no horizontal scroll */
@media (max-width:640px){
  .wdetail-task-category-tabs{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    flex-wrap:unset !important;
    overflow-x:visible !important;
    overflow-y:visible !important;
    -webkit-overflow-scrolling:unset !important;
    scrollbar-width:unset !important;
    gap:8px !important;
    padding-bottom:0 !important;
    margin-bottom:14px !important;
  }
  .wdetail-task-category-btn{
    flex-shrink:unset !important;
    white-space:normal !important;
    width:100% !important;
    text-align:center !important;
    padding:12px 10px !important;
    font-size:9.5px !important;
    border-radius:14px !important;
    line-height:1.45 !important;
  }
  .wdetail-task-category-meta{
    font-size:11px;
    margin-bottom:10px;
  }
}

/* Calendar detail modal: avoid 100vw overflow on phones */
@media (max-width:700px){
  #cal-detail-box{
    width:100% !important;
    max-width:100% !important;
    left:0 !important;
    right:0 !important;
    top:auto !important;
    bottom:0 !important;
    transform:none !important;
    border-radius:22px 22px 0 0 !important;
    max-height:92vh !important;
  }
}

/* iOS safe-area padding for bottom sheets */
@supports (padding-bottom: env(safe-area-inset-bottom)){
  #stay-modal-foot,
  #tour-modal-foot,
  .modal-actions,
  #cal-detail-footer{
    padding-bottom:calc(16px + env(safe-area-inset-bottom)) !important;
  }
  #wedding-detail-body,
  .stay-page-body,
  #wl-body,
  #qa-body,
  #tasks-body,
  #tours-body{
    padding-bottom:calc(40px + env(safe-area-inset-bottom)) !important;
  }
}

/* Worklog: collapse 2-col grid on phones */
@media (max-width:640px){
  .wl-log-grid{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  .wl-form-footer{
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }
  .wl-form-footer-actions{
    width:100%;
    flex-direction:column;
    align-items:stretch;
    margin-left:0;
  }
}

/* Stay cards: full-width action buttons and tighter padding on phones */
@media (max-width:640px){
  .stay-card-summary{
    padding:16px 16px;
  }
  .stay-card-detail{
    padding:0 16px 16px !important;
  }
  .stay-action-btn{
    width:100%;
    text-align:center;
    min-height:44px;
  }
  .stay-detail-grid{
    gap:12px !important;
  }
  .stay-empty{
    padding:40px 16px;
  }
}

/* â•â•â• MOBILE NAV: compact horizontal scroll strip — overrides all grid rules above â•â•â• */
@media (max-width:860px){
  /* Allow header to show the scrolling nav — overflow:hidden clips it */
  #header,
  #header-inner,
  #header-top{
    overflow:visible !important;
  }

  #nav-tabs{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:none !important;
    gap:5px !important;
    width:100% !important;
    max-width:100% !important;
    padding:2px 2px 10px !important;
    margin-top:8px !important;
    justify-content:flex-start !important;
    align-items:stretch !important;
    /* kill any grid layout */
    grid-template-columns:none !important;
  }
  #nav-tabs::-webkit-scrollbar{ display:none !important; }

  .nav-tab{
    flex:0 0 auto !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:4px !important;
    padding:8px 11px !important;
    min-width:52px !important;
    max-width:none !important;
    border-radius:14px !important;
    text-align:center !important;
    white-space:nowrap !important;
  }

  .nav-ico{
    font-size:17px !important;
    line-height:1 !important;
  }

  .nav-label{
    font-size:8px !important;
    letter-spacing:.05em !important;
    line-height:1 !important;
    white-space:nowrap !important;
    text-align:center !important;
    max-width:none !important;
    word-break:normal !important;
  }
}

/* Minimum 44px touch targets for key action buttons on mobile */
@media (max-width:900px){
  .stay-add-btn,
  .stay-subtab,
  .wdetail-back-btn,
  .wdetail-edit-btn,
  .btn-save,
  .btn-cancel,
  .tasks-add-btn,
  .stay-action-btn{
    min-height:44px;
  }
}

/* ═══ Style Block 19 ═══ */
body.ll-auth-locked #header,
body.ll-auth-locked #mobile-page-picker-wrap,
body.ll-auth-locked .page,
body.ll-auth-locked #footer {
  filter: blur(2px);
  pointer-events: none;
  user-select: none;
}

body.ll-auth-locked {
  overflow: hidden !important;
}

#ll-auth-overlay {
  position: fixed;
  inset: 0;
  z-index: 5000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 28px;
  background:
    radial-gradient(circle at top left, rgba(219, 226, 206, 0.82), transparent 30%),
    linear-gradient(135deg, rgba(30, 40, 55, 0.92), rgba(40, 52, 70, 0.94));
  backdrop-filter: blur(12px);
}

#ll-auth-overlay.visible {
  display: flex;
}

.ll-auth-shell {
  width: 100%;
  max-height: calc(100vh - 56px);
  overflow: auto;
  background: transparent;
  border: none;
  box-shadow: none;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ll-auth-head {
  padding: 34px 38px 22px;
  border-bottom: 1px solid #dce8f4;
  background: linear-gradient(180deg, rgba(255,255,255,0.8), rgba(237,243,252,0.95));
}

.ll-auth-kicker,
.ll-admin-kicker {
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #6a82a0;
  font-weight: 600;
}

.ll-auth-title,
.ll-admin-title {
  margin-top: 8px;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 38px;
  line-height: 1.04;
  color: #1f231d;
}

.ll-auth-sub,
.ll-admin-sub {
  margin-top: 10px;
  max-width: 720px;
  color: #546278;
  font-size: 14px;
  line-height: 1.7;
}

.ll-auth-body {
  padding: 24px 38px 34px;
}

.ll-auth-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(320px, 0.95fr);
  gap: 24px;
  align-items: start;
}

.ll-auth-card,
.ll-admin-panel {
  background: #fff;
  border: 1px solid #dce8f4;
  border-radius: 18px;
  box-shadow: 0 18px 34px rgba(31, 35, 29, 0.05);
}

.ll-auth-card-head,
.ll-admin-panel-head {
  padding: 20px 22px 14px;
  border-bottom: 1px solid #dce8f4;
}

.ll-auth-card-title,
.ll-admin-panel-title {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 28px;
  color: #22281f;
}

.ll-auth-card-sub,
.ll-admin-panel-sub {
  margin-top: 5px;
  font-size: 12px;
  line-height: 1.6;
  color: #6a82a0;
}

.ll-auth-user-grid {
  padding: 18px 20px 22px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 14px;
}

.ll-user-card {
  position: relative;
  overflow: hidden;
  border: 1.5px solid #dce8f4;
  border-radius: 16px;
  padding: 16px 14px;
  background: linear-gradient(180deg, #fff 0%, #f5f9ff 100%);
  cursor: pointer;
  transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
  text-align: left;
  isolation: isolate;
  --ll-card-accent: #3c6fb8;
  --ll-card-accent-2: #2f5fa7;
  --ll-card-soft: rgba(47, 95, 167, 0.14);
  --ll-card-shadow: rgba(47, 95, 167, 0.22);
}

.ll-user-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at top right, var(--ll-card-soft), transparent 38%),
    linear-gradient(145deg, rgba(255,255,255,0.95), rgba(237,243,252,0.88));
  z-index: -2;
}

.ll-user-card::after {
  content: "";
  position: absolute;
  top: -24px;
  right: -14px;
  width: 94px;
  height: 94px;
  border-radius: 28px;
  background: linear-gradient(145deg, color-mix(in srgb, var(--ll-card-accent) 82%, white 18%), var(--ll-card-accent-2));
  opacity: 0.12;
  transform: rotate(18deg);
  z-index: -1;
}

.ll-user-card:hover {
  transform: translateY(-1px);
  border-color: color-mix(in srgb, var(--ll-card-accent) 35%, #b8cee2 65%);
  box-shadow: 0 14px 24px rgba(32, 37, 27, 0.08);
}

.ll-user-card.selected {
  border-color: var(--ll-card-accent-2);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--ll-card-shadow) 50%, white 50%), 0 18px 30px rgba(32, 37, 27, 0.12);
}

.ll-user-card.is-unassigned {
  opacity: 0.82;
}

.ll-login-avatar,
.ll-user-avatar,
.ll-current-user-avatar,
.ll-admin-user-avatar {
  width: 52px;
  height: 52px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #2f5fa7, #3c6fb8);
  color: #fff;
  font-size: 24px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.22);
}

.ll-login-avatar {
  width: 64px;
  height: 64px;
  border-radius: 22px;
  position: relative;
  background:
    radial-gradient(circle at 28% 24%, rgba(255,255,255,0.34), transparent 34%),
    linear-gradient(145deg, var(--ll-card-accent), var(--ll-card-accent-2));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.22),
    0 12px 22px color-mix(in srgb, var(--ll-card-shadow) 48%, transparent 52%);
  font-size: 23px;
  font-weight: 600;
  letter-spacing: -0.03em;
}

.ll-login-avatar::after {
  content: "";
  position: absolute;
  inset: 7px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.14);
}

.ll-user-name,
.ll-admin-user-name {
  margin-top: 12px;
  font-size: 15px;
  font-weight: 600;
  color: #242822;
}

.ll-user-name {
  margin-top: 14px;
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.ll-user-name::after {
  content: "";
  width: 34px;
  height: 1px;
  border-radius: 999px;
  background: linear-gradient(90deg, color-mix(in srgb, var(--ll-card-accent) 55%, white 45%), transparent);
}

.ll-admin-user-meta {
  margin-top: 4px;
  font-size: 11px;
  line-height: 1.5;
  color: #6a82a0;
}

.ll-auth-form {
  padding: 18px 22px 22px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.ll-auth-label,
.ll-admin-label {
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #5a7089;
  font-weight: 700;
}

.ll-auth-input,
.ll-admin-input,
.ll-admin-select {
  width: 100%;
  border: 1.5px solid #c9d6e8;
  border-radius: 12px;
  padding: 12px 13px;
  background: #f5f9ff;
  color: #232323;
  outline: none;
  font-size: 14px;
}

.ll-auth-input:focus,
.ll-admin-input:focus,
.ll-admin-select:focus {
  border-color: #2f5fa7;
  background: #fff;
}

.ll-auth-pin-wrap {
  position: relative;
}

.ll-auth-pin-wrap::after {
  content: "4 digits";
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #7a8ea4;
  pointer-events: none;
}

.ll-auth-error,
.ll-admin-status {
  min-height: 18px;
  font-size: 12px;
  line-height: 1.5;
  color: #c0392b;
}

.ll-auth-error.success,
.ll-admin-status.success {
  color: #3d7240;
}

.ll-auth-btn,
.ll-admin-btn {
  border: 1.5px solid #2f5fa7;
  background: #2f5fa7;
  color: #fff;
  border-radius: 999px;
  padding: 12px 18px;
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.16s ease, border-color 0.16s ease, opacity 0.16s ease;
}

.ll-auth-btn:hover,
.ll-admin-btn:hover {
  background: #3c6fb8;
  border-color: #3c6fb8;
}

.ll-auth-btn.secondary,
.ll-admin-btn.secondary {
  background: #fff;
  color: #546278;
  border-color: #c9d6e8;
}

.ll-auth-btn.secondary:hover,
.ll-admin-btn.secondary:hover {
  background: #edf3fc;
  border-color: #afc4d9;
}

.ll-auth-tip {
  padding: 12px 14px;
  border-radius: 12px;
  background: #eaf2fb;
  color: #546278;
  font-size: 12px;
  line-height: 1.6;
}

.ll-header-user {
  display: none;
  align-items: center;
  margin-left: auto;
  position: relative;
}

.ll-header-user.visible {
  display: flex;
}

.ll-current-user-avatar {
  width: 44px;
  height: 44px;
  border-radius: 13px;
  font-size: 18px;
  border: none;
  cursor: pointer;
  padding: 0;
  background: linear-gradient(135deg, #2f5fa7, #3c6fb8);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: box-shadow 0.18s, transform 0.14s;
}

.ll-current-user-avatar:hover {
  box-shadow: 0 0 0 3px rgba(255,255,255,0.22);
  transform: scale(1.05);
}

.ll-user-dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  min-width: 200px;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 8px 32px rgba(40,55,80,0.18), 0 2px 8px rgba(40,55,80,0.10);
  padding: 14px 0 10px;
  z-index: 9999;
  animation: llDropdownIn 0.16s ease;
}

.ll-user-dropdown.open {
  display: block;
}

@keyframes llDropdownIn {
  from { opacity: 0; transform: translateY(-6px) scale(0.97); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

.ll-user-dropdown-info {
  padding: 2px 18px 10px;
}

.ll-current-user-name {
  font-size: 14px;
  color: #2d3748;
  font-weight: 700;
  line-height: 1.3;
}

.ll-current-user-role {
  margin-top: 3px;
  font-size: 11px;
  color: #7a8aa0;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.ll-user-dropdown-divider {
  height: 1px;
  background: rgba(0,0,0,0.07);
  margin: 0 12px 8px;
}

.ll-logout-btn {
  display: block;
  width: 100%;
  text-align: left;
  padding: 9px 18px;
  border: none;
  background: transparent;
  color: #c0392b;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
  cursor: pointer;
  transition: background 0.14s;
}

.ll-logout-btn:hover {
  background: rgba(192,57,43,0.07);
}

@media (min-width: 961px) {
  #header {
    padding: 20px 34px 18px;
  }

  #header-inner {
    max-width: 1400px;
  }

  #header-top {
    display: grid;
    grid-template-columns: minmax(280px, auto) minmax(0, 1fr) auto;
    grid-template-areas:
      "brand nav user";
    align-items: start;
    column-gap: 24px;
    row-gap: 14px;
  }

  #logo-block {
    grid-area: brand;
    align-self: center;
  }

  #nav-tabs {
    grid-area: nav;
    margin-top: 0;
    margin-left: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-content: flex-start;
    gap: 8px;
    padding: 8px 10px;
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 22px;
    background: rgba(255,255,255,0.035);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);
  }

  .nav-tab {
    min-height: 38px;
    padding: 8px 14px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-color: rgba(255,255,255,0.14);
    background: rgba(255,255,255,0.025);
    color: #fff;
  }

  .nav-tab:hover {
    background: rgba(255,255,255,0.1);
    border-color: rgba(255,255,255,0.24);
    color: #fff;
    transform: translateY(-1px);
  }

  .nav-tab.active {
    background: linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.12) 100%);
    border-color: rgba(255,255,255,0.34);
    box-shadow: 0 10px 18px rgba(0,0,0,0.12);
  }

  .nav-ico {
    opacity: 0.86;
  }

  #tab-admin-users,
  #tab-admin-permissions {
    background: rgba(96, 148, 198, 0.08);
    border-color: rgba(96, 148, 198, 0.24);
    color: rgba(255, 255, 255, 0.88);
  }

  #tab-admin-users:hover,
  #tab-admin-permissions:hover,
  #tab-admin-users.active,
  #tab-admin-permissions.active {
    background: rgba(96, 148, 198, 0.16);
    border-color: rgba(120, 168, 214, 0.34);
    color: #d8eeff;
  }

  .ll-header-user {
    grid-area: user;
    align-self: center;
    margin-left: 0;
    padding: 6px 10px 6px 6px;
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 999px;
    background: rgba(255,255,255,0.04);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);
  }

  .ll-current-user-role {
    letter-spacing: 0.12em;
  }
}

#page-admin-users {
  padding: 30px 32px 58px;
  background:
    radial-gradient(circle at top right, rgba(215, 230, 245, 0.75), transparent 28%),
    linear-gradient(180deg, #edf3fc 0%, #f5f9ff 100%);
}

.ll-admin-shell {
  max-width: 1320px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.ll-admin-grid {
  display: grid;
  grid-template-columns: minmax(360px, 420px) minmax(0, 1fr);
  gap: 20px;
  align-items: start;
}

.ll-admin-panel-body {
  padding: 18px 20px 22px;
}

.ll-admin-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.ll-admin-form-grid .full {
  grid-column: 1 / -1;
}

.ll-admin-toggle-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  padding-top: 4px;
}

.ll-admin-checkbox {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: #4e493f;
}

.ll-admin-perm-grid {
  display: grid;
  gap: 10px;
}

.ll-admin-perm-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 92px 92px;
  gap: 10px;
  align-items: center;
  padding: 11px 12px;
  border: 1px solid #dce8f4;
  border-radius: 14px;
  background: #f5f9fe;
}

.ll-admin-perm-name {
  font-size: 13px;
  color: #2a2d28;
  font-weight: 500;
}

.ll-admin-perm-note {
  margin-top: 3px;
  font-size: 11px;
  color: #6a82a0;
}

.ll-admin-users-list {
  display: grid;
  gap: 12px;
}

.ll-admin-user-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
  border: 1px solid #dce8f4;
  border-radius: 16px;
  background: #fff;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.ll-admin-user-card:hover {
  border-color: #c0d4ed;
  box-shadow: 0 2px 8px rgba(47, 95, 167, 0.06);
}

.ll-admin-user-card .ll-admin-user-name {
  margin-top: 0;
}

.ll-admin-user-card.inactive {
  opacity: 0.62;
}

.ll-admin-user-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

.ll-admin-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border-radius: 999px;
  padding: 5px 8px;
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: #eef4fb;
  color: #696256;
}

.ll-admin-badge.admin {
  background: #e6efe0;
  color: #48643d;
}

.ll-admin-badge.inactive {
  background: #fde8e8;
  color: #c0392b;
}

.ll-admin-user-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.ll-admin-inline-btn {
  border: 1px solid #c9d6e8;
  background: #fff;
  color: #6b6459;
  border-radius: 999px;
  padding: 8px 11px;
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
  white-space: nowrap;
}

.ll-admin-inline-btn:hover {
  background: #f5f9fe;
  border-color: #a8bdd6;
  color: #2f5fa7;
}

.ll-admin-inline-btn:active {
  background: #eaf1fa;
}

.ll-admin-inline-btn.warn {
  color: #c0392b;
}

.ll-admin-inline-btn.warn:hover {
  background: #fef5f5;
  border-color: #e0a8a8;
}

.ll-admin-empty {
  padding: 24px;
  border: 1px dashed #ccd8e9;
  border-radius: 16px;
  background: #fdfcf9;
  color: #7a8ea4;
  text-align: center;
  font-size: 12px;
}

.ll-admin-user-select-grid {
  display: grid;
  gap: 10px;
}

.ll-admin-user-select {
  width: 100%;
  text-align: left;
  border: 1px solid #dce8f4;
  border-radius: 16px;
  background: #fff;
  padding: 14px 15px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  cursor: pointer;
}

.ll-admin-user-select.active {
  border-color: #2f5fa7;
  box-shadow: 0 0 0 3px rgba(47, 95, 167, 0.14);
  background: #f7f9fc;
}

.ll-admin-user-select-copy {
  min-width: 0;
}

.ll-admin-section-note {
  margin-top: 10px;
  font-size: 12px;
  color: #6a82a0;
  line-height: 1.6;
}

.ll-admin-selected-summary {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  border: 1px solid #dce8f4;
  border-radius: 16px;
  background: #f5f9fe;
  margin-bottom: 16px;
}

.ll-admin-selected-copy {
  min-width: 0;
}

.ll-hidden {
  display: none !important;
}

@media (max-width: 980px) {
  .ll-auth-grid,
  .ll-admin-grid {
    grid-template-columns: 1fr;
  }

  .ll-header-user {
    width: 100%;
    justify-content: space-between;
  }
}

@media (max-width: 640px) {
  #ll-auth-overlay {
    padding: 16px;
  }

  .ll-auth-head,
  .ll-auth-body,
  #page-admin-users {
    padding-left: 18px;
    padding-right: 18px;
  }

  .ll-auth-user-grid,
  .ll-admin-panel-body {
    padding-left: 16px;
    padding-right: 16px;
  }

  .ll-admin-form-grid,
  .ll-admin-perm-row {
    grid-template-columns: 1fr;
  }

  .ll-admin-user-card {
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-rows: auto auto;
  }

  .ll-admin-user-actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
    padding-top: 4px;
    border-top: 1px solid #eef3fa;
    margin-top: 2px;
  }

  .ll-login-avatar {
    width: 58px;
    height: 58px;
    border-radius: 20px;
    font-size: 21px;
  }

  .ll-auth-shell {
    width: 100%;
    max-height: calc(100vh - 32px);
  }

  .ll-auth-user-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .ll-auth-btn,
  .ll-admin-btn {
    width: 100%;
    min-height: 46px;
    justify-content: center;
  }

  #search-input,
  .form-input,
  .qa-modal-input,
  .wl-input,
  .tasks-input,
  .tasks-select,
  .ll-auth-input,
  .ll-admin-input {
    font-size: 16px;
  }
}

@media (max-width: 480px) {
  #ll-auth-overlay {
    padding: 10px;
    align-items: flex-start;
  }

  .ll-auth-head,
  .ll-auth-body {
    padding-left: 14px;
    padding-right: 14px;
  }

  .ll-auth-title,
  .ll-admin-title {
    font-size: 30px;
  }

  .ll-auth-sub,
  .ll-admin-sub {
    font-size: 13px;
  }

  .ll-user-dropdown {
    right: 0;
    left: auto;
  }

  .ll-admin-user-card {
    padding: 12px;
    gap: 10px;
  }

  .ll-admin-user-avatar {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    font-size: 18px;
  }

  .ll-admin-user-actions {
    gap: 6px;
  }

  .ll-admin-inline-btn {
    padding: 7px 10px;
    flex: 1;
    text-align: center;
  }
}

/* ── Mobile login layout: shown at all sizes ── */
.ll-auth-mobile-layout {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
}

/* ── Desktop login layout: hidden at all sizes ── */
.ll-auth-desktop-layout { display: none !important; }

/* ── Login card ── */
.ll-mob-card {
  width: 100%;
  max-width: 420px;
  background: rgba(250, 252, 255, 0.98);
  border-radius: 28px;
  border: 1px solid rgba(255, 255, 255, 0.55);
  box-shadow: 0 28px 72px rgba(0, 0, 0, 0.32);
  overflow: hidden;
}

.ll-mob-title {
  padding: 32px 32px 0;
  text-align: center;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 24px;
  font-weight: 600;
  color: #1f231d;
  line-height: 1.2;
}

.ll-mob-brand {
  padding: 40px 32px 26px;
  text-align: center;
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(240,246,255,0.92));
  border-bottom: 1px solid rgba(220, 232, 244, 0.8);
}

.ll-mob-mono {
  width: 60px;
  height: 60px;
  border-radius: 18px;
  background: linear-gradient(145deg, #2f5fa7, #3c6fb8);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.08em;
  margin-bottom: 14px;
  box-shadow: 0 10px 24px rgba(47, 95, 167, 0.32);
}

.ll-mob-wordmark {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 30px;
  color: #1f231d;
  line-height: 1.1;
}

.ll-mob-portal-tag {
  margin-top: 7px;
  font-size: 9.5px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #7a8ea4;
  font-weight: 600;
}

.ll-mob-form {
  padding: 28px 28px 34px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.ll-mob-field {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.ll-mob-label {
  font-size: 9.5px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #5a7089;
  font-weight: 700;
}

.ll-mob-input {
  width: 100%;
  border: 1.5px solid #c9d6e8;
  border-radius: 12px;
  padding: 14px 16px;
  background: #f5f9ff;
  color: #232323;
  outline: none;
  font-size: 16px;
  -webkit-appearance: none;
  appearance: none;
  box-sizing: border-box;
  transition: border-color 0.16s ease, background 0.16s ease, box-shadow 0.16s ease;
}

.ll-mob-input:focus {
  border-color: #2f5fa7;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(47, 95, 167, 0.10);
}

.ll-mob-select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' stroke='%235a7089' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  padding-right: 44px;
  cursor: pointer;
}

.ll-mob-error {
  min-height: 16px;
  font-size: 12px;
  line-height: 1.5;
  color: #c0392b;
  margin-top: -4px;
}

.ll-mob-error.success {
  color: #3d7240;
}

.ll-mob-btn {
  width: 100%;
  border: none;
  background: linear-gradient(145deg, #2f5fa7, #3c6fb8);
  color: #fff;
  border-radius: 12px;
  padding: 16px 18px;
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 700;
  cursor: pointer;
  transition: opacity 0.16s ease, transform 0.12s ease, box-shadow 0.16s ease;
  box-shadow: 0 8px 22px rgba(47, 95, 167, 0.28);
  margin-top: 4px;
}

.ll-mob-btn:hover {
  opacity: 0.92;
  transform: translateY(-1px);
  box-shadow: 0 12px 28px rgba(47, 95, 167, 0.34);
}

.ll-mob-btn:active {
  transform: translateY(0);
  opacity: 1;
}

/* ── Small-screen adjustments ── */
@media (max-width: 640px) {
  #ll-auth-overlay {
    padding: 16px;
  }
  .ll-mob-card {
    max-width: 380px;
  }
}

/* ═══ Style Block 20 ═══ */
.person-chip.dan .person-chip-icon{background:#5f4a7a;}
.checklist-admin-task-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.checklist-admin-field-help{font-size:11px;color:#7a8ea4;line-height:1.45;margin-top:6px;}
.task-item.is-wedding{border-color:#dce8f4;background:linear-gradient(180deg,#f8fbff 0%,#f4f8fc 100%);}
.task-item.is-wedding.is-urgent{border-color:#e0b19d;box-shadow:0 10px 24px rgba(155,74,42,.08);}
.task-state-badge,.task-context-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:10px;letter-spacing:.05em;font-weight:600;}
.task-state-badge.is-urgent{background:#ddeeff;color:#2F5FA7;}
.task-state-badge.is-available{background:#edf4eb;color:#4a7a4e;}
.task-state-badge.is-upcoming{background:#f3efe9;color:#627287;}
.task-state-badge.is-completed{background:#e8f0e9;color:#4a7a4e;}
.task-context-badge{background:#efe8dd;color:#6d6257;}
.task-item.is-wedding .task-main{display:block;}
.task-item.is-wedding{flex-wrap:wrap !important;}
.task-wedding-context{display:flex;align-items:center;gap:5px;width:100%;order:-1;margin-bottom:2px;font-size:11px;line-height:1.3;letter-spacing:.02em;}
.task-wedding-name{font-weight:600;color:#5a7a9e;}
.task-wedding-sep{color:#c2cdd8;font-size:9px;}
.task-wedding-subcat{color:#8a9bb0;font-weight:500;}
.task-item.is-wedding.is-urgent .task-wedding-name{color:#9b4a2a;}
.task-item.is-wedding.is-urgent .task-wedding-subcat{color:#b07a60;}
.task-item.is-wedding.is-complete .task-wedding-name{color:#7a8ea4;}
.task-item.is-wedding.is-complete .task-wedding-subcat{color:#9aabb8;}
.task-submeta{display:block;font-size:11px;color:#7a8ea4;line-height:1.6;margin-top:8px;}
.wdetail-task-head-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:nowrap;}
.wdetail-task-pill-row{display:flex;flex-wrap:nowrap;gap:6px;justify-content:flex-end;flex-shrink:0;}
.wdetail-task-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:10px;letter-spacing:.05em;font-weight:600;}
.wdetail-task-pill.owner{background:#f1ece5;color:#6b5f53;}
.wdetail-task-pill.status.is-urgent{background:#ddeeff;color:#2F5FA7;}
.wdetail-task-pill.status.is-available{background:#edf4eb;color:#4a7a4e;}
.wdetail-task-pill.status.is-upcoming{background:#f3efe9;color:#627287;}
.wdetail-task-pill.status.is-completed{background:#e8f0e9;color:#4a7a4e;}
.wdetail-task-item.is-upcoming{border-color:#dce8f4;background:#f5f9fe;}
.wdetail-task-item.is-urgent{border-color:rgba(155,74,42,.42);background:#fff6f2;}
.wdetail-task-item.done{border-color:#cdd8cb;background:#f6faf6;}
.wdetail-task-timing{font-size:11px;color:#7a8ea4;line-height:1.5;margin-top:6px;}
@media (max-width: 960px){
  .checklist-admin-task-grid{grid-template-columns:1fr;}
  .wdetail-task-head-row{flex-direction:column;}
  .wdetail-task-pill-row{justify-content:flex-start;}
}

/* ═══ Style Block 21 ═══ */
:root{
  --staff-bg:#f0f5fb;
  --staff-surface:#f8fbff;
  --staff-surface-strong:#ffffff;
  --staff-surface-soft:#f2f7fd;
  --staff-border:#dce8f4;
  --staff-border-strong:#c9d6e8;
  --staff-text:#1a2232;
  --staff-text-soft:#546070;
  --staff-text-muted:#7a8ea4;
  --staff-accent:#3f5342;
  --staff-accent-soft:#edf3ed;
  --staff-warm:#3a6090;
  --staff-danger:#2F5FA7;
  --staff-success:#4a7a4e;
  --staff-shadow-sm:0 8px 20px rgba(30,50,80,0.05);
  --staff-shadow-md:0 18px 44px rgba(30,50,80,0.08);
  --staff-radius-sm:12px;
  --staff-radius-md:18px;
  --staff-radius-lg:24px;
  --staff-space-1:4px;
  --staff-space-2:8px;
  --staff-space-3:12px;
  --staff-space-4:16px;
  --staff-space-5:20px;
  --staff-space-6:24px;
  --staff-space-7:32px;
  --staff-space-8:40px;
}

body{
  background:
    radial-gradient(circle at top left, rgba(210,225,248,0.5), transparent 26%),
    linear-gradient(180deg, #f4f7fc 0%, #eef3fa 100%);
  color:var(--staff-text);
}

#page-weddings,
#page-calendar,
#page-qa,
#page-worklogs,
#page-tasks,
#page-tours,
#page-rentals,
#page-family,
#page-events{
  min-height:calc(100vh - 132px);
}

#weddings-actions,
#search-section,
#table-section,
#cal-body,
#qa-body,
#wl-body,
#tasks-body,
#tours-body,
#rentals-body,
#family-body,
#events-body{
  max-width:1360px !important;
}

.staff-page-header{
  max-width:1360px;
  margin:0 auto;
  padding:32px 32px 10px;
}

.staff-page-header-inner{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  padding:0 0 18px;
  border-bottom:1px solid rgba(120,103,85,0.12);
}

.staff-page-copy{
  min-width:0;
}

.staff-page-kicker{
  font-size:10px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  font-weight:700;
  color:#6a82a0;
  margin-bottom:8px;
}

.staff-page-title{
  font-family:'Cormorant Garamond', Georgia, serif;
  font-size:42px;
  line-height:1.02;
  color:var(--staff-text);
  font-weight:500;
}

.staff-page-sub{
  margin-top:10px;
  max-width:760px;
  font-size:14px;
  line-height:1.7;
  color:var(--staff-text-soft);
}

.staff-page-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 16px;
  border-radius:999px;
  background:rgba(255,255,255,0.78);
  border:1px solid var(--staff-border);
  box-shadow:var(--staff-shadow-sm);
  color:var(--staff-text-soft);
  font-size:10px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  font-weight:700;
  white-space:nowrap;
}

.staff-page-actions,
.qa-toolbar,
.tasks-page-topbar,
#tours-toolbar,
.stay-toolbar,
#wl-subtabs{
  margin-top:18px;
}

#header{
  position:sticky;
  top:0;
  z-index:180;
  padding:18px 24px 14px !important;
  background:rgba(34, 37, 32, 0.94) !important;
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,255,255,0.08) !important;
  box-shadow:0 12px 28px rgba(16,18,15,0.16);
}

#header-inner{
  max-width:1360px;
  margin:0 auto;
}

#header-top{
  display:grid !important;
  grid-template-columns:minmax(240px, 320px) minmax(0, 1fr) auto;
  grid-template-areas:'brand nav user';
  gap:18px 24px;
  align-items:center;
}

#logo-block{
  grid-area:brand;
  display:flex;
  align-items:center;
  gap:14px;
}

#logo-img{
  width:54px;
  height:54px;
  border-radius:18px;
  box-shadow:0 10px 24px rgba(0,0,0,0.16);
}

#logo-text-name{
  color:#e8f4ff !important;
  letter-spacing:0.08em;
}

#logo-text-sub{
  color:rgba(200,220,248,0.72) !important;
}

#nav-tabs{
  grid-area:nav;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
  padding:4px 0;
}

.nav-tab{
  min-height:44px;
  padding:10px 16px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,0.1) !important;
  background:rgba(255,255,255,0.04) !important;
  color:rgba(210,228,252,0.82) !important;
  backdrop-filter:blur(10px);
  box-shadow:none !important;
  transition:transform .16s ease, background .16s ease, border-color .16s ease, color .16s ease;
}

.nav-tab:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,0.08) !important;
  border-color:rgba(255,255,255,0.16) !important;
  color:#fff !important;
}

.nav-tab.active{
  background:linear-gradient(180deg, rgba(200,220,255,0.18) 0%, rgba(200,220,255,0.08) 100%) !important;
  border-color:rgba(170,200,240,0.34) !important;
  color:#e8f4ff !important;
  box-shadow:0 10px 18px rgba(0,0,0,0.16) !important;
}

#tab-admin-users,
#tab-admin-permissions{
  background:rgba(96, 148, 198, 0.12) !important;
  border-color:rgba(120, 168, 214, 0.26) !important;
  color:#c8dff2 !important;
}

#tab-admin-users.active,
#tab-admin-permissions.active{
  background:linear-gradient(180deg, rgba(96,148,198,0.3) 0%, rgba(72,118,172,0.18) 100%) !important;
  border-color:rgba(140,180,220,0.4) !important;
  color:#dbeeff !important;
}

.staff-section-shell{
  background:rgba(255,255,255,0.72);
  border:1px solid rgba(170,196,228,0.58);
  border-radius:22px;
  box-shadow:var(--staff-shadow-sm);
  padding:20px 22px 22px;
}

.staff-section-shell + .staff-section-shell{
  margin-top:18px;
}

.tasks-card,
.qa-card,
.wl-form-card,
.wl-log-card,
.tour-log-card,
.stay-card,
.checklist-admin-card,
.ll-admin-panel,
.wdetail-card,
.wedding-card,
.wedding-table{
  border:1px solid var(--staff-border) !important;
  border-radius:var(--staff-radius-md) !important;
  background:rgba(255,255,255,0.9) !important;
  box-shadow:var(--staff-shadow-sm) !important;
}

.tasks-card-head,
.tasks-list-head,
.wl-form-header,
.checklist-admin-card-head,
.ll-admin-panel-head,
#qa-modal-head,
#stay-modal-head{
  background:linear-gradient(180deg, #f4f8fd 0%, #eef3fa 100%) !important;
  border-bottom:1px solid #dce8f4 !important;
}
#task-modal-head{
  background:linear-gradient(160deg, #f7f4fb 0%, #eef3fa 100%) !important;
  border-bottom:1px solid #dce8f4 !important;
  border-top:4px solid #5b4a61 !important;
}

#qa-modal-title,
#task-modal-title,
#stay-modal-title{
  color:var(--staff-text) !important;
}

.tasks-list-title,
.tasks-card-title,
.wl-form-title,
.checklist-admin-card-title,
.ll-admin-panel-title{
  font-family:'Cormorant Garamond', Georgia, serif;
  color:var(--staff-text);
}

#table-section,
#qa-body,
#wl-body,
#tasks-body,
#tours-body,
#rentals-body,
#family-body,
#events-body,
#cal-body{
  padding-top:20px !important;
  padding-bottom:64px !important;
}

#search-section,
#table-section,
#cal-body,
#qa-body,
#wl-body,
#tasks-body,
#tours-body,
#rentals-body,
#family-body,
#events-body,
#page-admin-users,
#page-admin-permissions{
  max-width:1360px;
  margin-left:auto;
  margin-right:auto;
}

#tables-container,
#qa-list,
#tasks-list-wrap,
#wl-hist-results,
#wl-hist-recent,
#tours-upcoming-results,
#tours-hist-results,
#rentals-upcoming-results,
#rentals-past-results,
#family-upcoming-results,
#family-past-results,
#events-upcoming-results,
#events-past-results{
  display:flex;
  flex-direction:column;
  gap:14px;
}

#table-footer-note,
#qa-loading,
#wl-hist-heading,
.wl-hist-recent-label,
.tasks-list-sub,
.tasks-card-sub,
.qa-card-meta,
.checklist-admin-card-sub,
.ll-admin-panel-sub{
  color:var(--staff-text-soft) !important;
}

#search-input,
.wl-input,
.tasks-input,
.qa-modal-input,
.checklist-admin-input,
.ll-admin-input,
.form-input{
  min-height:46px;
  border:1.5px solid var(--staff-border) !important;
  border-radius:14px !important;
  background:#f8fbff !important;
  color:var(--staff-text) !important;
  box-shadow:none !important;
}

textarea.wl-input,
textarea.tasks-input,
textarea.qa-modal-input,
textarea.checklist-admin-input,
textarea.ll-admin-input,
textarea.form-input{
  min-height:120px;
}

#search-input:focus,
.wl-input:focus,
.tasks-input:focus,
.qa-modal-input:focus,
.checklist-admin-input:focus,
.ll-admin-input:focus,
.form-input:focus{
  border-color:#a0bcd6 !important;
  box-shadow:0 0 0 4px rgba(181,157,128,0.12) !important;
}

#add-btn,
#qa-page-add-btn,
.tasks-page-add-btn,
#tours-add-btn,
.stay-add-btn,
.checklist-admin-btn.primary,
.ll-admin-btn,
.tasks-add-btn,
.wl-save-btn,
.qa-modal-submit,
.btn-save,
.cal-detail-edit-btn{
  min-height:44px;
  padding:11px 18px !important;
  border-radius:999px !important;
  border:1px solid rgba(62,80,100,0.2) !important;
  background:linear-gradient(180deg, #73839b 0%, #62728b 100%) !important;
  color:#fff !important;
  box-shadow:0 14px 28px rgba(62,80,100,0.14);
  letter-spacing:0.14em !important;
  text-transform:uppercase;
  font-size:10px !important;
}

.checklist-admin-btn,
.ll-admin-btn.secondary,
.btn-cancel,
.qa-modal-cancel,
.qa-edit-btn,
.task-action-btn,
.tour-log-edit-btn,
.tour-log-del-btn,
.wl-nav-btn,
.wl-cancel-edit-btn,
.edit-btn,
.del-btn{
  min-height:40px;
  border-radius:999px !important;
  border:1px solid var(--staff-border-strong) !important;
  background:#f8fbff !important;
  color:var(--staff-text-soft) !important;
  box-shadow:none !important;
}

.tasks-filter-btn,
.qa-filter-btn,
.wl-subtab,
.tours-subtab,
.stay-subtab,
.owner-filter-chip,
.wdetail-task-category-btn{
  border-radius:999px !important;
  border:1px solid var(--staff-border) !important;
  background:rgba(255,255,255,0.82) !important;
  color:var(--staff-text-soft) !important;
}

.tasks-filter-btn.active,
.qa-filter-btn.active,
.wl-subtab.active,
.tours-subtab.active,
.stay-subtab.active,
.owner-filter-chip.active,
.wdetail-task-category-btn.active{
  background:linear-gradient(180deg, #2f3b31 0%, #232c24 100%) !important;
  border-color:#2f3b31 !important;
  color:#fff !important;
  box-shadow:0 10px 18px rgba(35,44,36,0.16);
}

.tasks-filter-count,
.staff-page-badge strong{
  font-weight:700;
}

#qa-empty,
.tours-empty,
.stay-empty,
.ll-admin-empty{
  padding:38px 24px;
  border:1px dashed var(--staff-border-strong);
  border-radius:var(--staff-radius-md);
  background:rgba(255,255,255,0.62);
  color:var(--staff-text-soft);
  text-align:center;
}

#table-section .year-label,
#tours-toolbar,
.stay-toolbar,
#wl-subtabs{
  border-bottom-color:rgba(117,102,88,0.16) !important;
}

#page-admin-users,
#page-admin-permissions{
  padding:20px 24px 64px !important;
  min-height:calc(100vh - 170px);
}

.ll-admin-shell{
  gap:24px !important;
}

.ll-admin-grid{
  gap:22px !important;
}

.ll-admin-kicker,
.ll-auth-kicker{
  color:var(--staff-text-soft) !important;
  letter-spacing:.18em !important;
}

.ll-admin-title,
.ll-auth-title{
  color:var(--staff-text) !important;
  font-size:44px !important;
  line-height:1.03 !important;
}

.ll-admin-sub,
.ll-auth-sub{
  color:var(--staff-text-soft) !important;
  max-width:780px !important;
}

.ll-admin-status,
.ll-auth-error{
  min-height:22px;
  padding:10px 14px;
  border-radius:14px;
  background:rgba(255,255,255,0.7);
  border:1px solid rgba(170,196,228,0.55);
}

.ll-admin-status:empty,
.ll-auth-error:empty{
  padding:0;
  border:none;
  background:transparent;
}

#ll-auth-overlay{
  background:
    linear-gradient(180deg, rgba(27,30,26,0.72) 0%, rgba(20,23,20,0.78) 100%),
    radial-gradient(circle at top left, rgba(126,144,116,0.25), transparent 35%);
}

.ll-auth-shell{
  width:100% !important;
  border:none !important;
  box-shadow:none !important;
  background:transparent !important;
}

.ll-auth-head{
  padding:36px 40px 24px !important;
}

.ll-auth-body{
  padding:26px 40px 36px !important;
}

.ll-auth-card,
.ll-admin-panel{
  background:rgba(255,255,255,0.88) !important;
}

.ll-auth-tip{
  background:#eaf2fb !important;
  border:1px solid rgba(186,210,236,0.72);
}

.ll-current-user-name{
  color:#2d3748 !important;
}

.ll-current-user-role{
  color:#7a8aa0 !important;
}

@media (max-width: 960px){
  #header{
    padding:16px 18px 12px !important;
  }

  #header-top{
    grid-template-columns:1fr;
    grid-template-areas:
      'brand'
      'nav'
      'user';
  }

  #nav-tabs{
    justify-content:flex-start;
  }

  .staff-page-header{
    padding:22px 20px 8px;
  }

  .staff-page-header-inner{
    flex-direction:column;
    align-items:flex-start;
    padding-bottom:14px;
  }

  .staff-page-title{
    font-size:34px;
  }

  .ll-admin-title,
  .ll-auth-title{
    font-size:36px !important;
  }
}

@media (max-width: 640px){
  .staff-page-header{
    padding:18px 16px 6px;
  }

  .staff-page-title{
    font-size:28px;
  }

  .staff-page-sub{
    font-size:13px;
  }

  #page-admin-users,
  #page-admin-permissions{
    padding-left:16px !important;
    padding-right:16px !important;
  }

  .staff-section-shell{
    padding:16px;
    border-radius:18px;
  }

  .ll-auth-head,
  .ll-auth-body{
    padding-left:20px !important;
    padding-right:20px !important;
  }
}

/* ═══ Style Block 22 ═══ */
#header{
  padding:22px 28px 18px !important;
  overflow:visible;
}

#header-inner{
  max-width:1440px !important;
}

#header-top{
  grid-template-columns:minmax(320px, 1fr) auto !important;
  grid-template-areas:
    'brand user'
    'nav nav' !important;
  gap:22px 28px !important;
  align-items:center !important;
}

#logo-block{
  align-self:center;
  padding-top:2px;
}

#nav-tabs{
  width:100%;
  justify-content:flex-start !important;
  align-items:center;
  gap:12px !important;
  padding:18px 22px !important;
  margin-top:0 !important;
  border:1px solid rgba(255,255,255,0.08);
  border-radius:30px;
  background:rgba(255,255,255,0.035);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.03);
}

.nav-tab{
  min-height:48px !important;
  padding:11px 18px !important;
}

.ll-header-user{
  align-self:center;
  margin-top:2px;
  margin-right:8px;
  justify-self:end;
}

@media (min-width: 1180px){
  #nav-tabs{
    max-width:980px;
  }
}

@media (max-width: 1100px){
  #header-top{
    grid-template-columns:1fr !important;
    grid-template-areas:
      'brand'
      'user'
      'nav' !important;
  }

  .ll-header-user{
    justify-self:start;
    margin-right:0;
    margin-left:8px;
  }
}

/* ═══ Style Block 23 ═══ */
.staff-page-header{
  padding:20px 22px 6px !important;
}

.staff-page-header-inner{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:18px;
  align-items:end;
  padding:22px 24px 20px !important;
  border:1px solid rgba(205,215,229,0.88) !important;
  border-radius:24px !important;
  background:
    radial-gradient(circle at top right, rgba(222,230,240,0.42), transparent 28%),
    radial-gradient(circle at bottom left, rgba(236,228,218,0.22), transparent 24%),
    linear-gradient(135deg, rgba(255,255,255,0.99), rgba(251,252,254,0.98)) !important;
  box-shadow:0 20px 46px rgba(67, 84, 108, 0.10) !important;
}

.staff-page-copy{
  max-width:760px;
}

.staff-page-kicker{
  font-size:11px !important;
  letter-spacing:0.16em !important;
  margin-bottom:10px !important;
  color:#5d6b7d !important;
  display:block !important;
}

.staff-page-title{
  font-size:42px !important;
  line-height:0.98 !important;
  letter-spacing:0.01em !important;
  color:#1e2430 !important;
}

.staff-page-sub{
  display:block !important;
  margin-top:12px !important;
  font-size:14px !important;
  line-height:1.6 !important;
  color:#49576b !important;
  max-width:620px;
}

.staff-page-badge{
  display:inline-flex !important;
  align-items:center;
  align-self:start;
  gap:8px;
  min-height:38px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(180,193,210,0.95);
  background:rgba(247,250,253,0.98);
  color:#3f4f64 !important;
  font-size:10px;
  font-weight:700;
  letter-spacing:0.16em;
  text-transform:uppercase;
  box-shadow:0 10px 24px rgba(67,84,108,0.08);
}

#weddings-actions{
  max-width:1360px;
  margin:14px auto 0 !important;
  padding:0 22px !important;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  padding-bottom:14px !important;
}

#search-section{
  padding-top:0 !important;
}

#table-section{
  margin-top:12px !important;
}

.staff-section-shell{
  border-radius:24px !important;
  padding:18px 20px 20px !important;
  background:linear-gradient(180deg, rgba(255,255,255,0.98), rgba(252,253,255,0.96)) !important;
  border:1px solid rgba(209,218,231,0.9) !important;
  box-shadow:0 18px 42px rgba(67,84,108,0.08) !important;
}

#search-section.staff-section-shell{
  padding:18px 20px !important;
}

#table-section.staff-section-shell{
  padding:18px 20px 22px !important;
}

#search-wrap{
  position:relative;
  background:linear-gradient(180deg, rgba(255,255,255,0.99), rgba(250,252,255,0.98)) !important;
  border:1px solid rgba(198,210,225,0.96);
  border-radius:18px;
  padding:4px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.8);
}

#search-wrap::after{
  content:"";
  position:absolute;
  inset:12px;
  border-radius:14px;
  background:linear-gradient(90deg, rgba(227,236,247,0.22), transparent 28%);
  pointer-events:none;
}

#search-input{
  min-height:60px;
  padding-left:52px !important;
  border-radius:14px !important;
  border-color:transparent !important;
  background:transparent !important;
  font-size:15px !important;
  color:#314055 !important;
}

#search-input::placeholder{
  color:#68788d !important;
  opacity:1;
}

#search-icon{
  left:18px !important;
  z-index:1;
  color:#627389 !important;
  font-size:16px !important;
}

.year-label{
  margin-bottom:12px !important;
  padding-bottom:12px !important;
  color:#5a687c !important;
  border-bottom:1px solid rgba(212,221,233,0.95) !important;
}

.wedding-table{
  border-radius:22px !important;
  overflow:hidden;
}

.wedding-table th{
  padding-top:15px !important;
  padding-bottom:15px !important;
  font-size:10px !important;
  letter-spacing:0.16em !important;
}

.wedding-table td{
  padding-top:18px !important;
  padding-bottom:18px !important;
}

.couple-name{
  font-size:18px !important;
  color:#243042 !important;
}
.couple-name-link{
  font-size:18px !important;
  color:#243042 !important;
}

.date-cell,
.guests-cell,
.lead-cell,
.asst-cell{
  color:#354357 !important;
}

.progress-track{
  height:7px !important;
  background:#e3e9f1 !important;
}

.progress-fill{
  box-shadow:0 0 0 1px rgba(108,129,152,0.10);
}

.progress-sub{
  color:#6d7b8b !important;
}

.dw-badge{
  border-radius:10px !important;
  min-width:38px !important;
  height:34px !important;
  font-weight:600;
}

.nav-tab{
  gap:10px !important;
  padding:11px 16px !important;
}

.nav-ico{
  width:24px;
  height:24px;
  border-radius:8px;
  background:#eef3f8;
  color:#5c6f86;
  font-size:13px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.8);
}

.nav-tab.active .nav-ico{
  background:#d8e4f1;
  color:#31445c;
}

.nav-tab:hover .nav-ico{
  background:#e2ebf4;
  color:#41546b;
}

.nav-tab{
  color:#49586d !important;
  border-color:rgba(190,202,217,0.96) !important;
}

.nav-tab:hover{
  color:#233246 !important;
  background:#f7faff !important;
  border-color:#bccbdb !important;
}

.nav-tab.active{
  color:#1e2d42 !important;
  background:#e4edf7 !important;
  border-color:#b7c8dc !important;
}

#tab-admin-users,
#tab-admin-permissions{
  color:#2f5fa7 !important;
  background:#edf3fc !important;
  border-color:#c9d6e8 !important;
}

#tab-admin-users:hover,
#tab-admin-permissions:hover{
  color:#6f4f23 !important;
  background:#f7efde !important;
  border-color:#d8c19b !important;
}

#tab-admin-users.active,
#tab-admin-permissions.active{
  color:#1e3a5e !important;
  background:#f3e6cf !important;
  border-color:#a8c0d8 !important;
}

.ll-current-user-avatar{
  width:44px !important;
  height:44px !important;
  border-radius:13px !important;
  box-shadow:0 4px 12px rgba(47,95,167,0.18);
}

.ll-current-user-name{
  color:#2b3545 !important;
  font-size:14px !important;
}

.ll-current-user-role{
  color:#5d6c81 !important;
  font-size:10px !important;
}

#page-tasks .staff-page-header{
  padding-bottom:12px !important;
}

#tasks-body{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  padding-top:4px !important;
}

#page-tasks .tasks-page-topbar{
  margin:0 0 10px !important;
  padding:0 8px !important;
  justify-content:flex-end !important;
  border:none !important;
}

#page-tasks .tasks-page-topbar-spacer{
  display:none !important;
}

#page-tasks .tasks-shell-single{
  display:block !important;
}

#page-tasks .tasks-card.tasks-board-card{
  border-radius:26px !important;
  border:1px solid rgba(209,218,231,0.95) !important;
  background:linear-gradient(180deg, rgba(255,255,255,0.98), rgba(251,252,255,0.96)) !important;
  box-shadow:0 20px 44px rgba(67,84,108,0.09) !important;
  overflow:hidden;
}

#page-tasks .tasks-list-head{
  padding:24px 26px 18px !important;
  background:linear-gradient(180deg, #f4f8fd 0%, #eef3fa 100%) !important;
  border-bottom:1px solid rgba(212,221,233,0.92) !important;
}

#page-tasks .tasks-list-title{
  color:#1f2a39 !important;
}

#page-tasks .tasks-list-sub{
  color:#58677b !important;
}

#page-tasks .tasks-list-controls{
  margin-top:16px !important;
  gap:12px 14px !important;
  justify-content:flex-start !important;
}

#page-tasks .tasks-filter-btn{
  border-color:#cad5e2 !important;
  color:#55657a !important;
  background:#ffffff !important;
}

#page-tasks .tasks-filter-btn.active{
  background:#2f3a49 !important;
  border-color:#2f3a49 !important;
  color:#ffffff !important;
}

#page-tasks .owner-filter-chip{
  border-color:#cfdae7 !important;
  background:#ffffff !important;
  color:#55657a !important;
}

#page-tasks .owner-filter-chip.active{
  background:#2f3a49 !important;
  border-color:#2f3a49 !important;
  color:#ffffff !important;
  box-shadow:0 10px 20px rgba(47,58,73,0.18) !important;
}

#page-tasks #tasks-list-wrap{
  padding:8px 18px 20px !important;
  background:transparent !important;
}
#page-tasks .tasks-summary-item{
  padding:10px 18px !important;
}
#page-tasks .tasks-group{
  padding-top:2px !important;
}
#page-tasks .tasks-group-label{
  margin:6px 2px 10px !important;
}

#page-worklogs .staff-page-header-inner{
  background:
    radial-gradient(circle at top right, rgba(222,230,240,0.42), transparent 28%),
    radial-gradient(circle at bottom left, rgba(236,232,226,0.18), transparent 24%),
    linear-gradient(135deg, rgba(255,255,255,0.99), rgba(251,252,254,0.98)) !important;
  border-color:rgba(205,215,229,0.9) !important;
  box-shadow:0 18px 38px rgba(67, 84, 108, 0.08) !important;
}

#page-worklogs .staff-page-kicker{
  color:#5d6b7d !important;
}

#page-worklogs .staff-page-sub{
  color:#49576b !important;
}

#page-worklogs .staff-page-badge{
  background:rgba(247,250,253,0.98) !important;
  border-color:rgba(180,193,210,0.95) !important;
  color:#3f4f64 !important;
}

#page-worklogs #wl-subtabs{
  border-bottom:1px solid rgba(212,221,233,0.92) !important;
}

#page-worklogs .wl-subtab{
  background:#ffffff !important;
  border:1px solid rgba(209,218,231,0.96) !important;
  color:#5a687c !important;
  box-shadow:none !important;
}

#page-worklogs .wl-subtab:hover{
  background:#f7faff !important;
  border-color:#bccbdb !important;
  color:#233246 !important;
}

#page-worklogs .wl-subtab.active{
  background:#e4edf7 !important;
  border-color:#b7c8dc !important;
  color:#1e2d42 !important;
  box-shadow:0 10px 24px rgba(100,116,139,0.12) !important;
}

#page-worklogs .wl-form-card,
#page-worklogs .wl-log-card,
#page-worklogs .wl-recent-item{
  border-color:rgba(219,226,236,0.96) !important;
  background:#ffffff !important;
  box-shadow:0 16px 34px rgba(67,84,108,0.06) !important;
}

#page-worklogs .wl-form-header,
#page-worklogs .wl-form-footer{
  background:linear-gradient(180deg, #f4f8fd 0%, #eef3fa 100%) !important;
  border-color:rgba(212,221,233,0.92) !important;
}

#page-worklogs .wl-form-title,
#page-worklogs .wl-hist-heading{
  color:#1f2a39 !important;
}

#page-worklogs .wl-label{
  color:#5c6c80 !important;
}

#page-worklogs .wl-label-hint,
#page-worklogs .wl-log-date-sub,
#page-worklogs .wl-log-section-label,
#page-worklogs .wl-empty-msg,
#page-worklogs .wl-empty-sub,
#page-worklogs .wl-hist-recent-label{
  color:#7a8799 !important;
}

#page-worklogs .wl-input,
#page-worklogs .wl-select{
  background:#ffffff !important;
  border-color:#cfdae7 !important;
  color:#314055 !important;
}

#page-worklogs .wl-input:focus,
#page-worklogs .wl-select:focus{
  border-color:#bac7d9 !important;
  box-shadow:0 0 0 4px rgba(186,199,217,0.18) !important;
}

#page-worklogs .wl-save-btn{
  background:linear-gradient(180deg,#73839b 0%,#62728b 100%) !important;
  border-color:#62728b !important;
  box-shadow:0 14px 28px rgba(98,114,139,0.16) !important;
}

#page-worklogs .wl-save-btn:hover{
  background:#5d6d86 !important;
  border-color:#5d6d86 !important;
}

#page-worklogs .wl-cancel-edit-btn,
#page-worklogs .wl-log-edit-btn,
#page-worklogs .wl-nav-btn{
  background:#ffffff !important;
  border-color:#cfdae7 !important;
  color:#55657a !important;
}

#page-worklogs .wl-cancel-edit-btn:hover,
#page-worklogs .wl-log-edit-btn:hover,
#page-worklogs .wl-nav-btn:hover{
  background:#f7faff !important;
  border-color:#bccbdb !important;
  color:#233246 !important;
}

#page-worklogs .wl-log-hours{
  background:#eef3f8 !important;
  color:#5c6f86 !important;
}

#page-worklogs .wl-recent-item:hover{
  background:#f7faff !important;
  border-color:#bccbdb !important;
}

#page-worklogs .wl-recent-date,
#page-worklogs .wl-log-name,
#page-worklogs .wl-log-section-text,
#page-worklogs .wl-edit-meta strong{
  color:#243042 !important;
}

#wl-panel-history{
  padding: 28px 0 40px;
}

#checklist-settings-body,
#portal-bridal-checklist-body{
  background:
    radial-gradient(circle at top left, rgba(226,232,242,0.32), transparent 26%),
    radial-gradient(circle at top right, rgba(240,244,250,0.72), transparent 24%),
    linear-gradient(180deg, #ffffff 0%, #fafbfd 48%, #f5f7fb 100%) !important;
}

.checklist-admin-shell,
#page-admin-users .ll-admin-shell,
#page-admin-permissions .ll-admin-shell{
  background:transparent !important;
}

#page-admin-users,
#page-admin-permissions{
  background:
    radial-gradient(circle at top left, rgba(226,232,242,0.24), transparent 24%),
    radial-gradient(circle at top right, rgba(240,244,250,0.58), transparent 22%),
    linear-gradient(180deg, #ffffff 0%, #fafbfd 48%, #f5f7fb 100%) !important;
  padding-top:20px !important;
}

#page-admin-users .ll-admin-shell > div:first-child,
#page-admin-permissions .ll-admin-shell > div:first-child{
  padding:22px 24px 20px !important;
  border:1px solid rgba(205,215,229,0.88) !important;
  border-radius:24px !important;
  background:
    radial-gradient(circle at top right, rgba(222,230,240,0.42), transparent 28%),
    radial-gradient(circle at bottom left, rgba(236,232,226,0.18), transparent 24%),
    linear-gradient(135deg, rgba(255,255,255,0.99), rgba(251,252,254,0.98)) !important;
  box-shadow:0 20px 46px rgba(67,84,108,0.08) !important;
}

.checklist-admin-hero{
  margin-bottom:20px !important;
}

.checklist-admin-kicker{
  color:#5d6b7d !important;
}

.checklist-admin-title{
  color:#1f2a39 !important;
}

.ll-admin-kicker{
  color:#5d6b7d !important;
}

.ll-admin-title{
  color:#1f2a39 !important;
  font-size:42px !important;
  line-height:.98 !important;
}

.checklist-admin-sub,
.checklist-admin-status{
  color:#58677b !important;
}

.ll-admin-sub{
  color:#58677b !important;
}

.checklist-admin-card,
.ll-admin-panel{
  background:rgba(255,255,255,0.96) !important;
  border:1px solid rgba(219,226,236,0.96) !important;
  box-shadow:0 18px 38px rgba(67,84,108,0.06) !important;
}

.checklist-admin-card-head,
.ll-admin-panel-head{
  background:linear-gradient(180deg, #f4f8fd 0%, #eef3fa 100%) !important;
  border-bottom:1px solid rgba(212,221,233,0.92) !important;
}

.checklist-admin-card-title,
.ll-admin-panel-title,
.ll-admin-title{
  color:#1f2a39 !important;
}

.checklist-admin-card-sub,
.ll-admin-panel-sub,
.ll-admin-sub{
  color:#58677b !important;
}

.checklist-admin-label,
.ll-admin-label{
  color:#5c6c80 !important;
}

.checklist-admin-input,
.ll-admin-input,
.ll-admin-select{
  background:#ffffff !important;
  border-color:#cfdae7 !important;
  color:#314055 !important;
}

.checklist-admin-input:focus,
.ll-admin-input:focus,
.ll-admin-select:focus{
  border-color:#bac7d9 !important;
  box-shadow:0 0 0 4px rgba(186,199,217,0.18) !important;
  background:#ffffff !important;
}

.checklist-admin-btn,
.ll-admin-btn{
  border-color:#cfdae7 !important;
  background:#ffffff !important;
  color:#55657a !important;
}

.checklist-admin-btn:hover,
.ll-admin-btn:hover{
  background:#f7faff !important;
  border-color:#bccbdb !important;
  color:#233246 !important;
}

.checklist-admin-btn.primary,
.ll-admin-btn.primary{
  background:linear-gradient(180deg,#73839b 0%,#62728b 100%) !important;
  border-color:#62728b !important;
  color:#ffffff !important;
  box-shadow:0 14px 28px rgba(98,114,139,0.16) !important;
}

.checklist-admin-btn.primary:hover,
.ll-admin-btn.primary:hover{
  background:#5d6d86 !important;
  border-color:#5d6d86 !important;
  color:#ffffff !important;
}

.checklist-admin-empty,
.checklist-admin-item,
.ll-admin-user-card,
.ll-admin-selected-summary{
  background:#ffffff !important;
  border-color:rgba(219,226,236,0.96) !important;
  color:#314055 !important;
}

.checklist-admin-item-meta,
.ll-admin-user-meta,
.ll-admin-selected-copy,
.ll-admin-status{
  color:#58677b !important;
}

.checklist-admin-inline-btn{
  border-color:#cfdae7 !important;
  color:#55657a !important;
  background:#ffffff !important;
}

.checklist-admin-inline-btn:hover{
  background:#f7faff !important;
  border-color:#bccbdb !important;
  color:#233246 !important;
}

#tours-body{
  max-width:1360px !important;
  padding:12px 22px 64px !important;
}

#tours-toolbar{
  margin-top:10px !important;
  margin-bottom:14px !important;
  padding:0 4px;
  border-bottom:1px solid rgba(117,102,88,0.16) !important;
  align-items:center !important;
}

#tours-subtabs{
  gap:10px !important;
}

.tours-subtab{
  min-height:44px !important;
  padding:10px 18px !important;
}

#tours-add-btn{
  margin-bottom:0 !important;
}

.tours-panel{
  background:rgba(255,255,255,0.86) !important;
  border:1px solid rgba(170,196,228,0.58) !important;
  border-radius:18px !important;
  padding:16px 16px 18px !important;
}

#tours-upcoming-filter-row,
#tours-past-filter-row{
  margin-bottom:14px !important;
  padding:0 2px !important;
}

.tour-log-card{
  border-radius:18px !important;
  margin-bottom:12px !important;
}

.tour-log-summary{
  padding:20px 22px !important;
  gap:18px !important;
}

.tour-log-summary-date{
  font-size:28px !important;
  line-height:1.08 !important;
}

.tour-log-summary-name{
  margin-top:8px !important;
  font-size:15px !important;
  color:#5e5348 !important;
}

.tour-log-meta{
  gap:8px !important;
}

/* Keep rentals / family / events aligned with the cleaner dashboard pages */
#rentals-body,
#family-body,
#events-body{
  max-width:1360px !important;
  margin:0 auto !important;
  padding:12px 22px 64px !important;
  box-sizing:border-box !important;
}

#rentals-body .stay-toolbar,
#family-body .stay-toolbar,
#events-body .stay-toolbar,
#meetings-body .stay-toolbar{
  margin-top:10px !important;
  margin-bottom:14px !important;
  padding:0 4px 14px !important;
  align-items:center !important;
  border-bottom:1px solid rgba(117,102,88,0.16) !important;
}

#rentals-body .stay-subtabs,
#family-body .stay-subtabs,
#events-body .stay-subtabs,
#meetings-body .stay-subtabs{
  gap:10px !important;
  border-bottom:none !important;
}

#rentals-body .stay-subtab,
#family-body .stay-subtab,
#events-body .stay-subtab,
#meetings-body .stay-subtab{
  min-height:44px !important;
  padding:10px 18px !important;
  border:1px solid rgba(209,218,231,0.96) !important;
  border-radius:999px !important;
  margin-bottom:0 !important;
  background:#ffffff !important;
  color:#5a687c !important;
}

#rentals-body .stay-subtab.active,
#family-body .stay-subtab.active,
#events-body .stay-subtab.active,
#meetings-body .stay-subtab.active{
  background:#e4edf7 !important;
  color:#1e2d42 !important;
  border-color:#b7c8dc !important;
  box-shadow:0 10px 24px rgba(100,116,139,0.12) !important;
}

#rentals-body .stay-add-btn,
#family-body .stay-add-btn,
#events-body .stay-add-btn,
#meetings-body .stay-add-btn{
  margin-bottom:0 !important;
  border-color:#62728b !important;
  background:linear-gradient(180deg,#73839b 0%,#62728b 100%) !important;
  color:#ffffff !important;
  box-shadow:0 14px 28px rgba(98,114,139,0.16) !important;
}

#rentals-body .stay-add-btn:hover,
#family-body .stay-add-btn:hover,
#events-body .stay-add-btn:hover,
#meetings-body .stay-add-btn:hover{
  transform:translateY(-1px) !important;
  border-color:#5d6d86 !important;
  background:#5d6d86 !important;
}

#family-body .stay-add-btn.family-btn,
#family-body .stay-add-btn.family-btn:hover{
  border-color:#62728b !important;
  background:linear-gradient(180deg,#73839b 0%,#62728b 100%) !important;
  color:#ffffff !important;
  box-shadow:0 14px 28px rgba(98,114,139,0.16) !important;
}

#rentals-panel-upcoming,
#rentals-panel-past,
#family-panel-upcoming,
#family-panel-past,
#events-panel-upcoming,
#events-panel-past,
#meetings-panel-upcoming,
#meetings-panel-past{
  background:rgba(255,255,255,0.86) !important;
  border:1px solid rgba(170,196,228,0.58) !important;
  border-radius:18px !important;
  padding:16px !important;
}

#rentals-body .stay-card,
#family-body .stay-card,
#events-body .stay-card{
  border-radius:18px !important;
  border:1px solid rgba(218,206,190,0.82) !important;
  box-shadow:0 10px 28px rgba(79,64,49,0.07) !important;
}

#rentals-body .stay-card + .stay-card,
#family-body .stay-card + .stay-card,
#events-body .stay-card + .stay-card{
  margin-top:14px !important;
}

#rentals-body .stay-card-summary,
#family-body .stay-card-summary,
#events-body .stay-card-summary{
  padding:0 !important;
}

#rentals-body .stay-card-summary-btn,
#family-body .stay-card-summary-btn,
#events-body .stay-card-summary-btn{
  grid-template-columns:minmax(180px,1.05fr) minmax(250px,1.15fr) minmax(260px,1.2fr) 22px !important;
  gap:18px !important;
  align-items:center !important;
  padding:22px 24px !important;
}

#rentals-body .stay-card-name,
#family-body .stay-card-name,
#events-body .stay-card-name{
  font-size:18px !important;
  line-height:1.16 !important;
}

#rentals-body .stay-card-meta-label,
#family-body .stay-card-meta-label,
#events-body .stay-card-meta-label{
  margin-bottom:8px !important;
  font-size:10px !important;
  letter-spacing:0.18em !important;
  color:#7a8ea4 !important;
}

#rentals-body .stay-card-meta-value,
#family-body .stay-card-meta-value,
#events-body .stay-card-meta-value{
  font-size:15px !important;
  line-height:1.45 !important;
  color:#322b24 !important;
}

#rentals-body .stay-chip-row,
#family-body .stay-chip-row,
#events-body .stay-chip-row{
  gap:8px !important;
}

#rentals-body .stay-chip,
#family-body .stay-chip,
#events-body .stay-chip{
  padding:7px 12px !important;
  font-size:11px !important;
  letter-spacing:0.03em !important;
}

#rentals-body .stay-card-summary-btn .stay-chip-row,
#family-body .stay-card-summary-btn .stay-chip-row,
#events-body .stay-card-summary-btn .stay-chip-row{
  flex-wrap:wrap !important;
  overflow:visible !important;
}

#rentals-body .stay-card-summary-btn .stay-chip,
#family-body .stay-card-summary-btn .stay-chip,
#events-body .stay-card-summary-btn .stay-chip{
  max-width:none !important;
}

#rentals-body .stay-card-chevron,
#family-body .stay-card-chevron,
#events-body .stay-card-chevron{
  font-size:12px !important;
  color:#a8bccf !important;
}

#rentals-body .stay-card-detail,
#family-body .stay-card-detail,
#events-body .stay-card-detail{
  padding:18px 24px 22px !important;
  background:#f4f8fc !important;
}

@media (max-width: 960px){
  #rentals-body,
  #family-body,
  #events-body{
    padding:10px 14px 56px !important;
  }

  #rentals-body .stay-toolbar,
  #family-body .stay-toolbar,
  #events-body .stay-toolbar{
    padding:0 2px 12px !important;
  }

  #rentals-body .stay-card-summary-btn,
  #family-body .stay-card-summary-btn,
  #events-body .stay-card-summary-btn{
    grid-template-columns:1fr !important;
    gap:14px !important;
    padding:18px 18px 20px !important;
  }

  #rentals-body .stay-card-name,
  #family-body .stay-card-name,
  #events-body .stay-card-name{
    font-size:20px !important;
  }
}

@media (max-width: 960px){
  .staff-page-header{
    padding:16px 16px 2px !important;
  }

  .staff-page-title{
    font-size:26px !important;
  }

  .staff-page-sub{
    font-size:13px !important;
  }

  #weddings-actions{
    padding:0 16px !important;
    margin-top:14px !important;
    padding-bottom:14px !important;
  }

  #search-section,
  #table-section{
    margin-left:14px !important;
    margin-right:14px !important;
  }

  #tours-body{
    padding:0 0 96px !important;
  }

  #tours-toolbar{
    padding:0 8px !important;
    margin-bottom:0 !important;
    margin-top:0 !important;
  }

  .tours-panel{
    padding:0 !important;
  }
}

/* ═══ Style Block 24 ═══ */
:root{
  --staff-bg:#f0f5fb;
  --staff-surface:#f8fbff;
  --staff-surface-strong:#ffffff;
  --staff-surface-soft:#f2f7fd;
  --staff-border:#dbe2ec;
  --staff-border-strong:#ccd5e2;
  --staff-text:#1a2232;
  --staff-text-soft:#546070;
  --staff-text-muted:#7a8ea4;
  --staff-accent:#4a6080;
  --staff-accent-soft:#eef3f8;
  --staff-warm:#3a6090;
  --staff-danger:#a45151;
  --staff-success:#4a7a9e;
  --staff-shadow-sm:0 10px 24px rgba(30,50,80,0.06);
  --staff-shadow-md:0 24px 60px rgba(30,50,80,0.08);
}

body{
  background:
    radial-gradient(circle at top left, rgba(226,232,242,0.58), transparent 24%),
    radial-gradient(circle at top right, rgba(244,246,250,0.94), transparent 22%),
    linear-gradient(180deg,#ffffff 0%,#fafbfd 48%,#f5f7fb 100%) !important;
}

#header{
  background:rgba(255,255,255,0.92) !important;
  border-bottom:1px solid rgba(219,226,236,0.96) !important;
  box-shadow:0 12px 34px rgba(39,49,66,0.08) !important;
}

#logo-text-name,
#logo-text-sub,
#logo-text-portal{
  color:var(--staff-text) !important;
}

#logo-text-sub{
  opacity:.62;
}

#header-user{
  background:rgba(255,255,255,0.96) !important;
  border:1px solid rgba(219,226,236,0.96) !important;
  box-shadow:0 10px 24px rgba(39,49,66,0.06) !important;
}

#header-user-name{
  color:var(--staff-text) !important;
}

#header-user-role{
  color:var(--staff-text-soft) !important;
}

#logout-btn{
  background:#ffffff !important;
  border-color:var(--staff-border) !important;
  color:var(--staff-text) !important;
  box-shadow:none !important;
}

#logout-btn:hover{
  background:#f1f5fb !important;
  border-color:#c8d2e1 !important;
}

#nav-wrap{
  background:rgba(255,255,255,0.84) !important;
  border:1px solid rgba(219,226,236,0.96) !important;
  box-shadow:0 16px 36px rgba(39,49,66,0.06) !important;
}

.nav-tab{
  background:#ffffff !important;
  border:1px solid rgba(219,226,236,0.96) !important;
  color:var(--staff-text-soft) !important;
  box-shadow:none !important;
}

.nav-tab:hover{
  background:#f3f7fc !important;
  border-color:#ced7e4 !important;
  color:var(--staff-text) !important;
}

.nav-tab.active{
  background:#eaf0f8 !important;
  border-color:#cbd5e3 !important;
  color:#2b3545 !important;
  box-shadow:0 10px 24px rgba(100,116,139,0.12) !important;
}

.staff-page-kicker,
.staff-page-badge{
  display:none !important;
}

.staff-page-header{
  padding:24px 24px 8px !important;
}

.staff-page-header-inner{
  border-bottom:1px solid rgba(218,225,235,0.92) !important;
  padding-bottom:14px !important;
}

.staff-page-title{
  font-size:36px !important;
  color:#241f1d !important;
  letter-spacing:0 !important;
}

.staff-section-shell,
.tours-panel,
#rentals-panel-upcoming,
#rentals-panel-past,
#family-panel-upcoming,
#family-panel-past,
#events-panel-upcoming,
#events-panel-past,
.tasks-card,
.qa-card,
.wl-card,
.wdetail-card,
.mobile-page-picker-card{
  background:rgba(255,255,255,0.94) !important;
  border-color:rgba(219,226,236,0.96) !important;
  box-shadow:var(--staff-shadow-sm) !important;
}

.year-label,
#tours-toolbar,
.stay-toolbar,
#wl-subtabs,
.tasks-page-topbar,
.qa-toolbar{
  border-bottom-color:rgba(219,226,236,0.92) !important;
}

#search-input,
.tasks-input,
.tasks-select,
.wl-input,
.wl-select,
.form-input,
#tours-upcoming-filter,
#tours-past-filter{
  background:#ffffff !important;
  border-color:var(--staff-border) !important;
  box-shadow:none !important;
}

#search-input:focus,
.tasks-input:focus,
.tasks-select:focus,
.wl-input:focus,
.wl-select:focus,
.form-input:focus,
#tours-upcoming-filter:focus,
#tours-past-filter:focus{
  border-color:#bac7d9 !important;
  box-shadow:0 0 0 4px rgba(186,199,217,0.18) !important;
}

.wedding-table,
.tour-log-card,
.stay-card{
  background:#ffffff !important;
  border-color:rgba(219,226,236,0.96) !important;
  box-shadow:var(--staff-shadow-sm) !important;
}

.wedding-table thead tr{
  background:#2f3744 !important;
}

.wedding-table th{
  color:#edf2f7 !important;
}

.wedding-table tbody tr.main-row:hover,
.stay-card-summary:hover,
.tour-log-summary:hover{
  background:#f8fbff !important;
}

#add-btn,
.tasks-page-add-btn,
#tours-add-btn,
.stay-add-btn,
.checklist-admin-btn.primary,
.ll-admin-btn,
.tasks-add-btn,
.btn-save,
.cal-detail-edit-btn{
  background:linear-gradient(180deg,#73839b 0%,#62728b 100%) !important;
  border-color:#62728b !important;
  color:#ffffff !important;
  box-shadow:0 14px 28px rgba(98,114,139,0.16) !important;
}

#add-btn:hover,
.tasks-page-add-btn:hover,
#tours-add-btn:hover,
.stay-add-btn:hover,
.checklist-admin-btn.primary:hover,
.ll-admin-btn:hover,
.tasks-add-btn:hover,
.btn-save:hover,
.cal-detail-edit-btn:hover{
  background:#5d6d86 !important;
  border-color:#5d6d86 !important;
}

/* Task modal save button: use brand purple */
.task-modal-body #task-save-btn{
  background:linear-gradient(160deg,#5b4a61 0%,#47384c 100%) !important;
  border-color:#5b4a61 !important;
  box-shadow:0 8px 24px rgba(91,74,97,0.22) !important;
}
.task-modal-body #task-save-btn:hover{
  background:linear-gradient(160deg,#4d3d53 0%,#3a2e3f 100%) !important;
  border-color:#4d3d53 !important;
  box-shadow:0 12px 32px rgba(91,74,97,0.30) !important;
}

.stay-subtab.active,
.tours-subtab.active,
.tasks-subtab.active,
.qa-subtab.active,
#wl-subtabs .wl-subtab.active{
  background:#ebf1f8 !important;
  border-color:#cbd6e5 !important;
  color:#2d3748 !important;
  box-shadow:0 10px 24px rgba(100,116,139,0.10) !important;
}

.stay-subtab,
.tours-subtab,
.tasks-subtab,
.qa-subtab,
#wl-subtabs .wl-subtab{
  background:#ffffff !important;
  border-color:rgba(219,226,236,0.96) !important;
  color:var(--staff-text-soft) !important;
}

#footer{
  background:#edf2f8 !important;
}

@media (max-width: 960px){
  .staff-page-header-inner{
    grid-template-columns:1fr;
  }

  .staff-page-title{
    font-size:30px !important;
  }

  .staff-page-badge{
    justify-self:start;
  }

  #page-tasks .tasks-list-head{
    padding:20px 18px 16px !important;
  }

  #page-tasks #tasks-list-wrap{
    padding:8px 14px 16px !important;
  }
}

/* ═══ Style Block 25 ═══ */
#bride-messages-body{
  max-width:1360px;
  margin:0 auto;
  padding:8px 22px 64px;
}

.bride-msg-shell{
  display:grid;
  grid-template-columns:minmax(280px, 360px) minmax(0, 1fr);
  gap:18px;
  align-items:start;
}

.bride-msg-sidebar-card,
.bride-msg-main-card{
  background:rgba(255,255,255,0.96);
  border:1px solid rgba(219,226,236,0.96);
  border-radius:24px;
  box-shadow:0 18px 38px rgba(67,84,108,0.06);
  overflow:hidden;
}

.bride-msg-sidebar-head,
.bride-msg-convo-head{
  padding:20px 22px 16px;
  border-bottom:1px solid rgba(212,221,233,0.92);
  background:linear-gradient(180deg, #f4f8fd 0%, #eef3fa 100%);
}

.bride-msg-convo-actions{
  margin-top:14px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.bride-msg-sidebar-title,
.bride-msg-convo-title{
  font-family:'Cormorant Garamond', Georgia, serif;
  font-size:28px;
  color:#1f2a39;
}

.bride-msg-sidebar-sub,
.bride-msg-convo-sub{
  margin-top:6px;
  color:#58677b;
  font-size:12px;
  line-height:1.6;
}

.bride-msg-thread-list{
  max-height:calc(100vh - 330px);
  overflow:auto;
  padding:10px;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.bride-msg-thread-btn{
  width:100%;
  text-align:left;
  border:1px solid rgba(209,218,231,0.96);
  background:#ffffff;
  border-radius:18px;
  padding:14px 14px 12px;
  cursor:pointer;
  transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease, background .16s ease;
}

.bride-msg-thread-btn:hover{
  border-color:#bccbdb;
  background:#f7faff;
  transform:translateY(-1px);
}

.bride-msg-thread-btn.active{
  border-color:#b7c8dc;
  background:#eaf1f9;
  box-shadow:0 12px 22px rgba(100,116,139,0.12);
}

.bride-msg-thread-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.bride-msg-thread-name{
  font-size:15px;
  font-weight:700;
  color:#243042;
}

.bride-msg-thread-date{
  margin-top:4px;
  font-size:11px;
  color:#6f7f93;
}

.bride-msg-thread-time{
  font-size:10px;
  color:#7a8799;
  white-space:nowrap;
}

.bride-msg-thread-preview{
  margin-top:10px;
  font-size:12px;
  line-height:1.55;
  color:#58677b;
}

.bride-msg-thread-meta{
  margin-top:10px;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.bride-msg-badge{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 10px;
  border-radius:999px;
  font-size:10px;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:700;
  background:#eef3f8;
  color:#51657d;
}

.bride-msg-badge.staff{
  background:#e7eef8;
  color:#42556f;
}

.bride-msg-badge.unread{
  background:#eaf1f9;
  color:#27405f;
}

.bride-msg-badge.active-thread{
  background:#eef4ec;
  color:#49634a;
}

.bride-msg-detail{
  min-height:640px;
  display:flex;
  flex-direction:column;
}

.bride-msg-convo-body{
  padding:18px 22px;
  display:flex;
  flex-direction:column;
  gap:12px;
  min-height:360px;
  max-height:520px;
  overflow:auto;
  background:linear-gradient(180deg, rgba(250,252,255,0.72), rgba(255,255,255,0.94));
}

.bride-msg-bubble{
  max-width:min(78%, 640px);
  padding:14px 16px 12px;
  border-radius:18px;
  border:1px solid rgba(209,218,231,0.96);
  background:#ffffff;
  box-shadow:0 10px 20px rgba(67,84,108,0.05);
}

.bride-msg-bubble.from-couple{
  align-self:flex-start;
}

.bride-msg-bubble.from-staff{
  align-self:flex-end;
  background:#eaf1f9;
  border-color:#bfd0e3;
}

.bride-msg-bubble-text{
  color:#243042;
  font-size:14px;
  line-height:1.7;
  white-space:pre-wrap;
}

.bride-msg-bubble-meta{
  margin-top:8px;
  font-size:11px;
  color:#6f7f93;
}

.bride-msg-compose{
  padding:18px 22px 22px;
  border-top:1px solid rgba(212,221,233,0.92);
  background:#ffffff;
}

.bride-msg-compose-label{
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#5c6c80;
  font-weight:700;
}

.bride-msg-compose-row{
  margin-top:10px;
  display:flex;
  gap:12px;
  align-items:flex-end;
}

.bride-msg-compose-box{
  flex:1 1 auto;
}

.bride-msg-compose textarea{
  width:100%;
  min-height:120px;
  resize:vertical;
  border:1px solid #cfdae7;
  border-radius:18px;
  padding:14px 16px;
  font:inherit;
  font-size:14px;
  color:#314055;
  background:#ffffff;
  outline:none;
}

.bride-msg-compose textarea:focus{
  border-color:#bac7d9;
  box-shadow:0 0 0 4px rgba(186,199,217,0.18);
}

.bride-msg-send-btn{
  min-width:148px;
  min-height:48px;
  border:none;
  border-radius:999px;
  background:linear-gradient(180deg,#73839b 0%,#62728b 100%);
  color:#ffffff;
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:700;
  cursor:pointer;
  box-shadow:0 14px 28px rgba(98,114,139,0.16);
}

.bride-msg-send-btn:hover{
  background:#5d6d86;
}

.bride-msg-inline-btn{
  min-height:38px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid #cfdae7;
  background:#ffffff;
  color:#55657a;
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:700;
  cursor:pointer;
}

.bride-msg-inline-btn:hover{
  background:#f7faff;
  border-color:#bccbdb;
  color:#233246;
}

.bride-msg-inline-btn.primary{
  background:linear-gradient(180deg,#73839b 0%,#62728b 100%);
  border-color:#62728b;
  color:#ffffff;
  box-shadow:0 12px 24px rgba(98,114,139,0.14);
}

.bride-msg-inline-btn.primary:hover{
  background:#5d6d86;
  border-color:#5d6d86;
  color:#ffffff;
}

.bride-msg-status{
  min-height:18px;
  margin-top:10px;
  font-size:12px;
  color:#58677b;
}

.bride-msg-status.error{
  color:#2F5FA7;
}

.bride-msg-empty{
  padding:36px 24px;
  text-align:center;
  color:#7a8799;
  font-size:13px;
}

@media (max-width: 960px){
  #bride-messages-body{
    padding:8px 14px 48px;
  }

  .bride-msg-shell{
    grid-template-columns:1fr;
  }

  .bride-msg-thread-list,
  .bride-msg-convo-body{
    max-height:none;
  }

  .bride-msg-compose-row{
    flex-direction:column;
    align-items:stretch;
  }

  .bride-msg-convo-actions{
    flex-direction:column;
  }

  .bride-msg-send-btn{
    width:100%;
  }

  .bride-msg-bubble{
    max-width:100%;
  }
}

/* ═══ Style Block 26 ═══ */
.staff-mobile-bottom-nav{
  display:none;
}

@media (max-width: 900px){
  html,
  body{
    overflow-x:hidden;
  }

  body{
    background:
      radial-gradient(circle at top left, rgba(226,232,242,0.72), transparent 28%),
      radial-gradient(circle at top right, rgba(248,250,253,0.94), transparent 24%),
      linear-gradient(180deg,#ffffff 0%,#f8fbff 52%,#f2f6fb 100%) !important;
    padding-bottom:104px;
  }

  #header{
    position:sticky;
    top:0;
    z-index:200;
    padding:14px 14px 12px !important;
    border-radius:0 0 24px 24px;
    backdrop-filter:blur(18px);
  }

  #header-inner{
    max-width:none;
  }

  #header-top{
    gap:10px;
  }

  #logo-block{
    gap:12px;
    width:100%;
  }

  #logo-img{
    width:54px;
  }

  #logo-text-name{
    font-size:21px !important;
    letter-spacing:.04em !important;
  }

  #logo-text-sub{
    font-size:12px !important;
  }

  #logo-text-portal{
    margin-top:4px !important;
    padding-top:4px !important;
  }

  #staff-sidebar{
    display:none !important;
  }

  body #mobile-page-picker-wrap{
    display:block !important;
    padding:12px 14px 10px !important;
    position:sticky;
    top:92px;
    z-index:180;
  }

  body .mobile-page-picker-card{
    border-radius:26px !important;
    padding:14px 16px !important;
    box-shadow:0 16px 34px rgba(39,49,66,0.10) !important;
    background:linear-gradient(135deg,#425066 0%,#52627c 100%) !important;
  }

  body .mobile-page-picker-icon{
    width:48px !important;
    height:48px !important;
    flex:0 0 48px !important;
    border-radius:16px !important;
    background:rgba(255,255,255,0.16) !important;
  }

  body #mobile-page-picker{
    min-height:48px;
    font-size:18px !important;
  }

  #app-main{
    padding-top:0;
  }

  #page-weddings,
  #page-calendar,
  #page-qa,
  #page-tasks,
  #page-worklogs,
  #page-bride-messages,
  #page-tours,
  #page-rentals,
  #page-family,
  #page-events,
  #page-checklist-settings,
  #page-portal-bridal-checklist{
    padding-bottom:24px;
  }

  .staff-page-header{
    padding:10px 14px 2px !important;
  }

  .staff-page-header-inner{
    padding:18px 18px 14px !important;
    border:1px solid rgba(219,226,236,0.96);
    border-radius:24px;
    background:rgba(255,255,255,0.94);
    box-shadow:0 16px 34px rgba(39,49,66,0.06);
  }

  .staff-page-title{
    font-size:28px !important;
    line-height:1.04 !important;
  }

  .staff-page-sub{
    font-size:13px !important;
    line-height:1.7 !important;
  }

  #weddings-actions,
  #search-section,
  #table-section,
  #cal-body,
  #qa-body,
  #tasks-body,
  #wl-body,
  #tours-body,
  #bride-messages-body,
  #rentals-body,
  #family-body,
  #events-body,
  #checklist-settings-body,
  #portal-bridal-checklist-body,
  #portal-bridal-checklist-body,
  #portal-bridal-checklist-body{
    padding-left:14px !important;
    padding-right:14px !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  .staff-section-shell,
  .tasks-card,
  .qa-card,
  .tour-log-card,
  .stay-card,
  .bride-msg-sidebar-card,
  .bride-msg-main-card,
  .checklist-admin-card,
  .wdetail-card,
  .wdetail-hero{
    border-radius:24px !important;
    box-shadow:0 16px 34px rgba(39,49,66,0.08) !important;
  }

  #search-input,
  .tasks-input,
  .tasks-select,
  .wl-input,
  .form-input,
  .checklist-admin-input,
  #tours-upcoming-filter,
  #tours-hist-filter{
    min-height:48px;
    border-radius:16px !important;
    font-size:15px !important;
  }

  textarea.tasks-input,
  textarea.wl-input,
  textarea.form-input,
  textarea.checklist-admin-input,
  .bride-msg-compose textarea{
    min-height:120px;
  }

  #add-btn,
  .tasks-page-add-btn,
  #qa-page-add-btn,
  #tours-add-btn,
  .stay-add-btn,
  .checklist-admin-btn,
  .bride-msg-send-btn,
  .bride-msg-inline-btn,
  .btn-save,
  .btn-cancel,
  .wdetail-edit-btn{
    min-height:50px;
    border-radius:16px !important;
  }

  #weddings-actions{
    margin-top:6px !important;
    padding-bottom:8px !important;
  }

  #add-btn{
    width:100%;
  }

  .card-header,
  .card-meta,
  .card-actions,
  .card-checklist{
    padding-left:14px !important;
    padding-right:14px !important;
  }

  .card-meta{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .card-meta > div{
    padding:10px 12px;
    border:1px solid rgba(219,226,236,0.96);
    border-radius:14px;
    background:#f7faff;
  }

  #modal-scroll-inner,
  #task-modal-overlay{
    padding:0 !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }

  #modal-box,
  #task-modal-box{
    width:100% !important;
    min-height:100dvh;
    border-radius:24px 24px 0 0 !important;
    margin-top:32px !important;
  }

  #modal-head,
  #task-modal-head{
    padding:18px 18px 16px !important;
    border-radius:24px 24px 0 0 !important;
  }

  #modal-body,
  .task-modal-body{
    padding:18px 18px 28px !important;
  }

  .form-grid,
  .tasks-create-grid,
  .checklist-admin-grid,
  .bride-msg-shell{
    grid-template-columns:1fr !important;
  }

  .tasks-list-controls,
  .qa-toolbar,
  .tasks-page-topbar,
  .stay-toolbar,
  #tours-toolbar,
  .bride-msg-convo-actions,
  .checklist-admin-actions{
    gap:12px !important;
  }

  .qa-toolbar,
  .tasks-page-topbar,
  .stay-toolbar,
  #tours-toolbar{
    align-items:stretch !important;
  }

  #tours-toolbar{
    flex-wrap:wrap !important;
  }

  #tours-subtabs{
    flex:1 1 auto;
    min-width:0;
  }

  .tasks-owner-strip,
  .vendor-chip-row,
  .stay-subtabs,
  #tours-subtabs,
  .tasks-filter-tabs{
    scrollbar-width:none;
  }

  .staff-mobile-bottom-nav{
    position:fixed;
    left:12px;
    right:12px;
    bottom:12px;
    z-index:220;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:8px;
    padding:10px;
    border-radius:28px;
    border:1px solid rgba(219,226,236,0.96);
    background:rgba(255,255,255,0.96);
    box-shadow:0 18px 34px rgba(39,49,66,0.12);
    backdrop-filter:blur(18px);
  }

  .staff-mobile-bottom-nav button{
    min-height:58px;
    border:none;
    background:transparent;
    border-radius:18px;
    color:var(--staff-text-soft);
    font:inherit;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    padding:8px 6px;
  }

  .staff-mobile-bottom-nav button.is-active{
    background:#edf3fa;
    color:#243042;
    box-shadow:0 10px 24px rgba(100,116,139,0.12);
  }

  .staff-mobile-bottom-nav-ico{
    font-size:18px;
    line-height:1;
  }

  .staff-mobile-bottom-nav-label{
    font-size:10px;
    letter-spacing:.08em;
    text-transform:uppercase;
    font-weight:700;
  }
}

@media (max-width: 520px){
  .staff-mobile-bottom-nav{
    left:10px;
    right:10px;
    bottom:10px;
    gap:6px;
    padding:8px;
  }

  #logo-text-name{
    font-size:19px !important;
  }

  .staff-page-title{
    font-size:24px !important;
  }
}

/* ═══ Style Block 27 ═══ */
#page-couple-management{
  min-height:calc(100vh - 132px);
}

.ll-cm-shell{
  max-width:1300px;
  margin:0 auto;
  padding:28px 20px 56px;
  display:flex;
  flex-direction:column;
  gap:18px;
}

.ll-cm-hero,
.ll-cm-toolbar-card,
.ll-cm-list-panel,
.ll-cm-detail-panel,
.ll-cm-state-card,
.ll-cm-stat-card,
.ll-cm-info-card,
.ll-cm-review-card{
  background:var(--staff-surface-strong,#fff);
  border:1px solid var(--staff-border,#dce8f4);
  border-radius:20px;
  box-shadow:var(--staff-shadow-sm,0 10px 24px rgba(30,50,80,0.06));
}

.ll-cm-hero{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  padding:28px;
  background:
    radial-gradient(circle at top right, rgba(47,95,167,0.08), transparent 34%),
    linear-gradient(180deg,#f8fbff 0%,#eef5fd 100%);
}

.ll-cm-hero-copy{
  min-width:0;
}

.ll-cm-kicker,
.ll-cm-field-label,
.ll-cm-panel-title,
.ll-cm-tab-note,
.ll-cm-review-meta-label,
.ll-cm-info-list-label,
.ll-cm-state-title,
.ll-cm-summary-label,
.ll-cm-stat-label{
  font-size:10px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--staff-text-muted,#7a8ea4);
}

.ll-cm-title{
  margin:10px 0 8px;
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:38px;
  line-height:1.05;
  color:var(--staff-text,#1a2232);
}

.ll-cm-sub,
.ll-cm-panel-sub,
.ll-cm-state-copy,
.ll-cm-tab-note,
.ll-cm-review-meta-value,
.ll-cm-inline-note,
.ll-cm-info-list-value,
.ll-cm-timeline-meta{
  font-size:13px;
  line-height:1.65;
  color:var(--staff-text-soft,#546070);
}

.ll-cm-hero-actions{
  flex-shrink:0;
  display:flex;
  gap:10px;
  align-items:center;
}

.ll-cm-toolbar-card{
  padding:20px 24px;
}

.ll-cm-toolbar-search-row{
  margin-bottom:16px;
}

.ll-cm-toolbar-filter-row{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr)) auto;
  gap:12px;
  align-items:end;
  padding-top:16px;
  border-top:1px solid var(--staff-border,#dce8f4);
}

.ll-cm-field{
  display:flex;
  flex-direction:column;
  gap:7px;
  min-width:0;
}

.ll-cm-field-actions{
  justify-content:flex-end;
  align-self:flex-end;
}

.ll-cm-input{
  width:100%;
  min-height:44px;
  border:1px solid var(--staff-border-strong,#c9d6e8);
  border-radius:12px;
  background:#fff;
  color:var(--staff-text,#1a2232);
  font:inherit;
  font-size:13px;
  padding:0 14px;
  outline:none;
  transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.ll-cm-input:focus{
  border-color:var(--staff-warm,#3a6090);
  box-shadow:0 0 0 4px rgba(47,95,167,0.12);
  transform:translateY(-1px);
}

.ll-cm-btn{
  min-height:44px;
  border:none;
  border-radius:12px;
  padding:0 16px;
  font:inherit;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease, color .16s ease;
}

.ll-cm-btn:hover{
  transform:translateY(-1px);
}

.ll-cm-btn.primary{
  background:var(--staff-text,#1a2232);
  color:#fff;
  box-shadow:0 12px 24px rgba(32,28,24,0.12);
}

.ll-cm-btn.secondary{
  background:#fff;
  color:var(--staff-text,#1a2232);
  border:1px solid var(--staff-border-strong,#c9d6e8);
}

.ll-cm-btn.secondary:hover{
  background:#f0f7ff;
}

.ll-cm-btn:disabled{
  cursor:wait;
  opacity:.62;
  transform:none;
  box-shadow:none;
}

.ll-cm-dashboard{
  display:grid;
  grid-template-columns:minmax(320px,380px) minmax(0,1fr);
  gap:16px;
  align-items:start;
}

.ll-cm-dashboard > *{
  min-width:0;
}

.ll-cm-list-panel,
.ll-cm-detail-panel{
  padding:20px;
  min-width:0;
}

.ll-cm-panel-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  margin-bottom:16px;
}

.ll-cm-panel-title{
  color:var(--staff-text,#1a2232);
}

.ll-cm-couple-list{
  display:flex;
  flex-direction:column;
  gap:12px;
  max-height:980px;
  overflow:auto;
  padding-right:8px;
  scrollbar-gutter:stable;
}

.ll-cm-couple-card{
  width:100%;
  border:1px solid var(--staff-border,#dce8f4);
  border-radius:18px;
  background:linear-gradient(180deg,#fff 0%,#f4f9ff 100%);
  text-align:left;
  padding:16px;
  cursor:pointer;
  overflow:hidden;
  transition:border-color .16s ease, transform .16s ease, box-shadow .16s ease, background .16s ease;
}

.ll-cm-couple-card:hover,
.ll-cm-couple-card:focus-visible{
  border-color:rgba(47,95,167,0.5);
  box-shadow:0 16px 34px rgba(30,50,80,0.08);
  transform:translateY(-1px);
  outline:none;
}

.ll-cm-couple-card.is-selected{
  border-color:rgba(47,95,167,0.72);
  background:linear-gradient(180deg,#f8fbff 0%,#eef5fd 100%);
  box-shadow:0 18px 36px rgba(30,50,80,0.12);
}

.ll-cm-couple-head{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:12px;
  align-items:flex-start;
}

.ll-cm-couple-names{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:18px;
  line-height:1.2;
  color:var(--staff-text,#1a2232);
  overflow-wrap:anywhere;
}

.ll-cm-couple-meta{
  margin-top:5px;
  font-size:12px;
  color:var(--staff-text-soft,#546070);
}

.ll-cm-progress-row{
  display:flex;
  align-items:center;
  gap:10px;
  margin:15px 0 14px;
}

.ll-cm-progress-track{
  position:relative;
  flex:1;
  height:7px;
  border-radius:999px;
  background:#dce8f4;
  overflow:hidden;
}

.ll-cm-progress-fill{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#3a6090 0%,#2f5fa7 100%);
}

.ll-cm-progress-value{
  min-width:42px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  color:var(--staff-text,#1a2232);
}

.ll-cm-couple-grid,
.ll-cm-review-meta-grid,
.ll-cm-info-list,
.ll-cm-overview-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 12px;
}

.ll-cm-couple-grid{
  margin-top:2px;
  grid-template-columns:1fr;
  gap:8px;
}

.ll-cm-couple-grid-item,
.ll-cm-review-meta-item,
.ll-cm-info-list-item{
  min-width:0;
}

.ll-cm-couple-grid-label{
  display:block;
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--staff-text-muted,#7a8ea4);
  margin-bottom:4px;
}

.ll-cm-couple-grid-value{
  display:block;
  font-size:13px;
  font-weight:600;
  color:var(--staff-text,#1a2232);
  line-height:1.45;
  white-space:normal;
  overflow-wrap:anywhere;
}

.ll-cm-couple-badges,
.ll-cm-detail-badges,
.ll-cm-review-card-badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}

.ll-cm-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:0 11px;
  border-radius:999px;
  border:1px solid #c9d6e8;
  background:#f8f4ee;
  color:var(--staff-text-soft,#546070);
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}

.ll-cm-chip.tone-success{
  background:#eef6ee;
  border-color:#bfd1bb;
  color:#3e6a42;
}

.ll-cm-chip.tone-warn{
  background:#eaf2fb;
  border-color:#a8c5e8;
  color:#3a6090;
}

.ll-cm-chip.tone-danger{
  background:#fff0ec;
  border-color:#e2b4a8;
  color:#2F5FA7;
}

.ll-cm-chip.tone-info{
  background:#eef3f9;
  border-color:#c7d5e6;
  color:#425e79;
}

.ll-cm-chip.tone-neutral{
  background:#f7f3ee;
  border-color:#ccd8e9;
  color:#74695c;
}

.ll-cm-detail-shell{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.ll-cm-detail-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
}

.ll-cm-detail-kicker{
  font-size:10px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--staff-text-muted,#7a8ea4);
}

.ll-cm-detail-title{
  margin:8px 0 6px;
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:34px;
  line-height:1.05;
  color:var(--staff-text,#1a2232);
  overflow-wrap:anywhere;
}

.ll-cm-detail-sub{
  font-size:13px;
  color:var(--staff-text-soft,#546070);
  line-height:1.65;
  max-width:760px;
}

.ll-cm-detail-head-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  flex-shrink:0;
}

.ll-cm-detail-tabs{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  border-bottom:1px solid var(--staff-border,#dce8f4);
  padding-bottom:12px;
  overflow:auto;
  scrollbar-width:none;
}

.ll-cm-detail-tabs::-webkit-scrollbar{
  display:none;
}

.ll-cm-detail-tab{
  min-height:38px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid transparent;
  background:transparent;
  color:var(--staff-text-soft,#546070);
  font:inherit;
  font-size:11px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  cursor:pointer;
  transition:background .16s ease, color .16s ease, border-color .16s ease;
}

.ll-cm-detail-tab:hover{
  background:#f7f2eb;
  color:var(--staff-text,#1a2232);
}

.ll-cm-detail-tab.active{
  background:#f5eee5;
  color:var(--staff-text,#1a2232);
  border-color:#c9d6e8;
}

.ll-cm-detail-body{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.ll-cm-overview-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.ll-cm-stat-card{
  padding:18px;
}

.ll-cm-stat-value{
  margin-top:8px;
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:28px;
  line-height:1.05;
  color:var(--staff-text,#1a2232);
}

.ll-cm-info-panels{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.ll-cm-info-card{
  padding:20px;
}

.ll-cm-info-card-title{
  font-size:11px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--staff-text,#1a2232);
  margin-bottom:14px;
}

.ll-cm-info-list{
  gap:12px 16px;
}

.ll-cm-info-list-label{
  display:block;
  margin-bottom:4px;
}

.ll-cm-info-list-value{
  display:block;
  color:var(--staff-text,#1a2232);
  font-weight:600;
}

.ll-cm-timeline{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.ll-cm-timeline-item{
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  gap:14px;
  align-items:flex-start;
}

.ll-cm-timeline-dot{
  width:12px;
  height:12px;
  border-radius:50%;
  background:var(--staff-warm,#3a6090);
  margin-top:7px;
  box-shadow:0 0 0 4px rgba(47,95,167,0.12);
}

.ll-cm-timeline-body{
  padding:16px 18px;
  border:1px solid var(--staff-border,#dce8f4);
  border-radius:18px;
  background:#f8fbff;
}

.ll-cm-timeline-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  flex-wrap:wrap;
  margin-bottom:8px;
}

.ll-cm-timeline-message{
  font-size:14px;
  line-height:1.6;
  color:var(--staff-text,#1a2232);
}

.ll-cm-doc-note{
  font-size:12px;
  color:var(--staff-text-soft,#546070);
  padding:14px 16px;
  border-radius:16px;
  border:1px solid rgba(170,196,228,0.6);
  background:#f0f7ff;
}

.ll-cm-review-list{
  display:flex;
  flex-direction:column;
  gap:16px;
}
/* ── CM Seating View ── */
.ll-cm-seating-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:16px;}
.ll-cm-stat-card{background:#f8fbff;border:1px solid #d9e2ef;border-radius:12px;padding:14px 12px;text-align:center;}
.ll-cm-stat-num{font-size:22px;font-weight:700;color:#2f5fa7;line-height:1.2;}
.ll-cm-stat-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#66758a;margin-top:4px;}
.ll-cm-seating-meals{font-size:12px;color:#66758a;margin-bottom:16px;padding:10px 14px;background:#f8fbff;border:1px solid #d9e2ef;border-radius:10px;line-height:1.7;}
.ll-cm-seating-meals strong{color:#1f2733;font-weight:600;}
.ll-cm-seating-table-card{background:#fff;border:1px solid #d9e2ef;border-radius:12px;margin-bottom:14px;overflow:hidden;}
.ll-cm-seating-table-head{padding:12px 16px;font-size:14px;font-weight:600;color:#1f2733;background:#f4f8fd;border-bottom:1px solid #d9e2ef;}
.ll-cm-seating-table-count{font-weight:400;color:#66758a;font-size:12px;}
.ll-cm-seating-table{width:100%;border-collapse:collapse;font-size:12px;}
.ll-cm-seating-table th{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#66758a;padding:8px 12px;text-align:left;border-bottom:1px solid #eef2f7;background:#fafcff;}
.ll-cm-seating-table td{padding:7px 12px;border-bottom:1px solid #f0f4f8;color:#1f2733;}
.ll-cm-seating-table tr:last-child td{border-bottom:none;}
@media (max-width:900px){.ll-cm-seating-stats{grid-template-columns:repeat(3,1fr);}}

.ll-cm-review-card{
  padding:20px;
}

.ll-cm-review-card-head{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
}

.ll-cm-review-card-title{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:24px;
  line-height:1.1;
  color:var(--staff-text,#1a2232);
}

.ll-cm-review-card-sub{
  margin-top:6px;
  font-size:13px;
  color:var(--staff-text-soft,#546070);
}

.ll-cm-review-meta-grid{
  margin-top:16px;
}

.ll-cm-review-meta-label{
  display:block;
  margin-bottom:4px;
}

.ll-cm-review-meta-value{
  display:block;
  color:var(--staff-text,#1a2232);
  font-weight:600;
}

.ll-cm-review-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px;
}

.ll-cm-review-form{
  display:grid;
  grid-template-columns:minmax(190px,240px) minmax(0,1fr);
  gap:14px;
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid var(--staff-border,#dce8f4);
}

.ll-cm-review-field{
  display:flex;
  flex-direction:column;
  gap:7px;
  min-width:0;
}

.ll-cm-review-field.full{
  grid-column:1 / -1;
}

.ll-cm-review-textarea{
  min-height:108px;
  padding:12px 14px;
  resize:vertical;
}

.ll-cm-review-save-row{
  grid-column:1 / -1;
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
}

.ll-cm-inline-status{
  min-height:20px;
  font-size:12px;
  color:var(--staff-text-soft,#546070);
}

.ll-cm-inline-status.success{
  color:var(--staff-success,#4a7a4e);
}

.ll-cm-inline-status.error{
  color:var(--staff-danger,#2F5FA7);
}

.ll-cm-state-card{
  padding:24px 22px;
  text-align:center;
}

.ll-cm-state-title{
  color:var(--staff-text,#1a2232);
}

.ll-cm-state-copy{
  margin-top:8px;
  margin-bottom:14px;
}

.ll-cm-state-card .ll-cm-btn{
  margin:0 auto;
}

@media (max-width: 1180px){
  .ll-cm-summary{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .ll-cm-toolbar-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .ll-cm-overview-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 1040px){
  .ll-cm-dashboard,
  .ll-cm-info-panels{
    grid-template-columns:1fr;
  }

  .ll-cm-couple-list{
    max-height:none;
  }
}

@media (max-width: 760px){
  .ll-cm-shell{
    padding:22px 12px 110px;
  }

  .ll-cm-hero,
  .ll-cm-list-panel,
  .ll-cm-detail-panel,
  .ll-cm-toolbar-card,
  .ll-cm-review-card,
  .ll-cm-info-card,
  .ll-cm-stat-card,
  .ll-cm-summary-card{
    padding:18px;
    border-radius:18px;
  }

  .ll-cm-hero,
  .ll-cm-detail-head,
  .ll-cm-review-card-head,
  .ll-cm-review-save-row{
    flex-direction:column;
    align-items:stretch;
  }

  .ll-cm-title{
    font-size:30px;
  }

  .ll-cm-detail-title{
    font-size:28px;
  }

  .ll-cm-summary,
  .ll-cm-toolbar-grid,
  .ll-cm-couple-grid,
  .ll-cm-review-meta-grid,
  .ll-cm-review-form,
  .ll-cm-overview-grid,
  .ll-cm-info-list{
    grid-template-columns:1fr;
  }
}

/* ═══ Style Block 28 ═══ */
html{
  overflow-x:hidden;
  scroll-padding-top:112px;
}

body{
  overflow-x:hidden;
  font-size:14px;
  line-height:1.6;
  background:
    radial-gradient(circle at top left, rgba(210, 225, 248, 0.5), transparent 24%),
    radial-gradient(circle at top right, rgba(218, 234, 252, 0.5), transparent 24%),
    linear-gradient(180deg, #f4f7fc 0%, #eef3fa 100%);
}

button,
input,
select,
textarea{
  min-height:44px;
}

:focus-visible{
  outline:3px solid rgba(77,91,66,0.32);
  outline-offset:3px;
}

#header{
  position:sticky;
  top:0;
  z-index:320;
  padding:18px 24px 16px;
  backdrop-filter:blur(18px);
  background:rgba(44,44,44,0.94);
}

#header-inner{
  max-width:none;
}

#header-top{
  max-width:1400px;
  margin:0 auto;
}

#logo-block{
  gap:14px;
}

#logo-text-name{
  font-size:23px;
}

#staff-sidebar{
  position:fixed;
  top:136px;
  left:18px;
  bottom:18px;
  width:248px;
  padding:0;
  z-index:80;
  border-radius:28px;
  background:rgba(255,255,255,0.78);
  border:1px solid rgba(222,216,203,0.96);
  box-shadow:0 22px 48px rgba(56, 62, 52, 0.08);
  overflow:hidden;
}

#nav-tabs{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:0 !important;
  padding:18px 12px;
}

#nav-tabs::before,
#nav-tabs::after{
  display:none !important;
}

.nav-tab{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:52px;
  padding:12px 14px !important;
  border-radius:18px !important;
  white-space:normal;
  text-align:left;
  background:rgba(255,255,255,0.72);
  border:1px solid rgba(219,213,202,0.96) !important;
  color:#516055 !important;
}

.nav-tab:hover{
  background:#fff !important;
  border-color:rgba(163,177,165,0.9) !important;
  color:#223126 !important;
}

.nav-tab.active{
  background:linear-gradient(135deg, #f4f7f1 0%, #e4ebdf 100%) !important;
  color:#223126 !important;
  box-shadow:0 14px 28px rgba(77,91,66,0.12);
}

.nav-ico{
  width:32px;
  height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:rgba(77,91,66,0.08);
  font-size:16px !important;
}

.nav-label{
  font-size:11px !important;
  letter-spacing:.1em !important;
}

#app-main{
  margin-left:286px !important;
  padding:24px 22px 128px !important;
}

.staff-page-header{
  display:none !important;
}

.staff-page-header,
.staff-section-shell,
#weddings-actions,
#stats,
#search-section,
#table-section,
#cal-body,
#qa-body,
#tasks-body,
#wl-body,
#tours-body,
#rentals-body,
#family-body,
#events-body,
#checklist-settings-body,
#wedding-detail-body,
#page-admin-users .ll-admin-shell,
#page-admin-permissions .ll-admin-shell{
  max-width:1380px;
  margin-left:auto;
  margin-right:auto;
}

.staff-page-header{
  margin-bottom:18px;
}

.staff-page-header-inner{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  padding:24px 26px !important;
  border-radius:26px !important;
  box-shadow:0 18px 40px rgba(69, 79, 64, 0.08);
}

.staff-page-title{
  font-size:34px !important;
}

.staff-page-sub{
  max-width:70ch;
  font-size:14px !important;
}

#stats{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  padding:0 0 20px !important;
  margin-top:0 !important;
}

.stat-item{
  margin:0;
  padding:18px 20px;
  border-radius:22px;
  border:1px solid rgba(221,214,202,0.96);
  background:rgba(255,255,255,0.86);
  box-shadow:0 14px 28px rgba(64, 68, 58, 0.05);
}

.stat-num{
  font-size:38px;
}

.stat-label{
  font-size:10px;
}

#weddings-actions{
  padding:0 0 18px !important;
  margin-top:0 !important;
}

#add-btn,
.tasks-page-add-btn,
#qa-page-add-btn{
  min-height:48px;
  border-radius:999px;
  font-size:11px;
  letter-spacing:.14em;
  box-shadow:0 12px 24px rgba(44,44,44,0.12);
}

#search-section{
  padding:0 0 18px !important;
}

#search-wrap{
  padding:0;
  background:rgba(255,255,255,0.92);
  border:1px solid rgba(221,214,202,0.96);
  border-radius:22px;
  box-shadow:0 14px 28px rgba(64, 68, 58, 0.05);
}

#search-input{
  min-height:54px;
  border:none;
  background:transparent;
  padding-left:46px;
}

#table-section{
  padding:0 0 28px !important;
}

.wedding-table{
  border-radius:24px !important;
  overflow:hidden;
  box-shadow:0 18px 36px rgba(64, 68, 58, 0.06) !important;
}

.wedding-table th{
  padding:14px 16px !important;
  font-size:10px !important;
}

.wedding-table td{
  padding:16px !important;
}

.expand-inner{
  gap:22px;
}

.mobile-cards{
  display:grid;
  gap:16px;
}

.wedding-card{
  border-radius:22px !important;
  box-shadow:0 16px 32px rgba(64, 68, 58, 0.07) !important;
  border:1px solid rgba(221,214,202,0.96) !important;
}

.card-header{
  padding:18px 18px 14px;
}

.card-actions{
  padding:14px 18px;
}

/* Mobile-only arrow toggle — hidden on desktop */
.card-mobile-toggle{
  display:none;
}

/* Desktop table toggle button */
.desktop-toggle-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  border-radius:50%;
  border:1px solid #d0d5dd;
  background:#fff;
  color:#666;
  font-size:11px;
  cursor:pointer;
  transition:all 0.15s ease;
  padding:0;
  line-height:1;
}
.desktop-toggle-btn:hover{
  background:#eef4fb;
  border-color:#afc4d9;
  color:#2c2c2c;
}
.desktop-toggle-btn.open{
  background:#eef4fb;
  border-color:#afc4d9;
  color:#2c2c2c;
}

/* Couple name as clickable link on desktop */
.couple-name-link{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-style:italic;
  font-size:15px;
  color:#2c2c2c;
  line-height:1.4;
  white-space:normal;
  word-break:break-word;
  display:block;
  min-width:0;
  text-decoration:none;
  cursor:pointer;
}
.couple-name-link:hover{
  text-decoration:underline;
  color:#1a2636;
}

/* Remove pointer cursor from main-row since whole row is no longer clickable */
.wedding-table tbody tr.main-row{
  cursor:default;
}

#mobile-page-picker-wrap,
.staff-mobile-bottom-nav{
  display:none;
}

.ll-auth-shell{
  max-width:none;
  border-radius:0;
  overflow:auto;
  background:transparent;
  border:none;
  box-shadow:none;
}

.ll-auth-head{
  padding:26px 28px 18px;
}

.ll-auth-sub{
  max-width:64ch;
}

.ll-auth-grid{
  grid-template-columns:minmax(0,1.15fr) 320px;
  gap:18px;
}

.ll-auth-user-grid{
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  max-height:340px;
  overflow:auto;
  padding-right:4px;
}

.ll-user-card{
  min-height:88px;
  border-radius:20px;
}

/* ll-auth-extra and ll-auth-pill styles removed */

.ll-empty-state-card{
  display:grid;
  gap:8px;
  padding:28px 24px;
  border-radius:24px;
  background:rgba(255,255,255,0.9);
  border:1px dashed rgba(185,176,163,0.9);
  text-align:center;
  color:#6b655d;
}

.ll-empty-state-card strong{
  color:#2c2c2c;
  font-size:18px;
}

@media (max-width: 1100px){
  #staff-sidebar{
    width:222px;
  }

  #app-main{
    margin-left:252px !important;
  }

  .staff-page-title{
    font-size:30px !important;
  }

  #stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .ll-auth-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width: 900px){
  html{
    scroll-padding-top:84px;
  }

  #staff-sidebar,
  #nav-tabs{
    display:none !important;
  }

  #header{
    padding:14px 12px 12px;
  }

  #header-top{
    justify-content:center;
  }

  #app-main{
    margin-left:0 !important;
    padding:0 0 116px !important;
  }

  #app-main,
  .page,
  #page-weddings,
  #page-calendar,
  #page-qa,
  #page-tasks,
  #page-worklogs,
  #page-bride-messages,
  #page-tours,
  #page-rentals,
  #page-family,
  #page-events,
  #page-checklist-settings,
  #page-portal-bridal-checklist,
  #page-wedding-detail{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  #page-weddings > *,
  #page-calendar > *,
  #page-qa > *,
  #page-tasks > *,
  #page-worklogs > *,
  #page-bride-messages > *,
  #page-tours > *,
  #page-rentals > *,
  #page-family > *,
  #page-events > *,
  #page-checklist-settings > *,
  #page-portal-bridal-checklist > *,
  #page-wedding-detail > *{
    width:100% !important;
    max-width:none !important;
  }

  body #mobile-page-picker-wrap{
    display:block !important;
    max-width:1380px;
    padding:12px 14px 0 !important;
  }

  .mobile-page-picker-card{
    border-radius:22px !important;
    box-shadow:0 16px 34px rgba(46, 56, 68, 0.12);
    background:linear-gradient(135deg,#58646d 0%,#6f6b61 100%) !important;
  }

  .staff-mobile-bottom-nav{
    display:grid !important;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:8px;
  }

  .staff-page-header,
  .staff-section-shell,
  #weddings-actions,
  #stats,
  #search-section,
  #table-section,
  #cal-body,
  #qa-body,
  #tasks-body,
  #wl-body,
  #tours-body,
  #rentals-body,
  #family-body,
  #events-body,
  #checklist-settings-body,
  #wedding-detail-body,
  #page-admin-users .ll-admin-shell,
  #page-admin-permissions .ll-admin-shell{
    padding-left:14px !important;
    padding-right:14px !important;
  }

  .staff-page-header-inner{
    padding:20px 18px !important;
    align-items:flex-start;
    flex-direction:column;
  }

  .staff-page-title{
    font-size:26px !important;
  }

  #stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  #weddings-actions{
    padding:0 14px 14px !important;
  }

  #search-section{
    padding:0 14px 14px !important;
  }

  #table-section{
    padding:0 14px 20px !important;
  }

  #weddings-actions,
  #stats,
  #search-section,
  #table-section,
  .staff-page-header,
  .staff-section-shell{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  #search-wrap,
  #tables-container,
  .ll-empty-state-card{
    width:100% !important;
  }

  .wedding-table{
    display:none !important;
  }

  .mobile-cards{
    display:grid !important;
  }

  .wedding-card{
    margin-bottom:0 !important;
  }

  #stats{display:none !important;}
  #search-section{display:none !important;}
  .tasks-list-sub{display:none !important;}
  .tasks-summary{display:none !important;}
}

@media (max-width: 560px){
  #stats{
    grid-template-columns:1fr;
  }

  .card-meta{
    grid-template-columns:1fr !important;
  }

  .staff-mobile-bottom-nav{
    left:10px !important;
    right:10px !important;
    bottom:10px !important;
  }

  .ll-auth-head,
  .ll-auth-body{
    padding:20px 18px !important;
  }

  .ll-auth-grid{
    gap:14px;
  }
}

/* ═══ Style Block 29 ═══ */
.skip-link{
  position:fixed;
  top:14px;
  left:14px;
  z-index:280;
  padding:12px 16px;
  border-radius:999px;
  background:#fff;
  color:#1f2c3d;
  border:1px solid rgba(205,214,227,0.96);
  box-shadow:0 16px 32px rgba(39,49,66,0.16);
  transform:translateY(-180%);
  transition:transform .2s ease;
}

.skip-link:focus{
  transform:translateY(0);
}

#logo-text-portal{
  display:block !important;
  min-height:1.2em;
  color:rgba(232,228,222,0.72);
  border-top-color:rgba(255,255,255,0.12);
}

.ll-page-intro{
  max-width:1320px;
  margin:0 auto 18px;
  padding:24px 20px 0;
}

.ll-page-intro-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  padding:26px 28px;
  border-radius:28px;
  background:
    radial-gradient(circle at top right, rgba(222,230,240,0.45), transparent 28%),
    radial-gradient(circle at bottom left, rgba(244,239,231,0.34), transparent 24%),
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(250,250,247,0.96));
  border:1px solid rgba(221,214,202,0.96);
  box-shadow:0 18px 42px rgba(39,49,66,0.08);
}

.ll-page-intro-copy{
  display:grid;
  gap:10px;
}

.ll-page-intro-kicker{
  font-size:10px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#7a8ea4;
}

.ll-page-intro-title{
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:38px;
  line-height:1.04;
  color:#23291e;
}

.ll-page-intro-sub{
  max-width:66ch;
  font-size:14px;
  line-height:1.75;
  color:#66705c;
}

.ll-page-intro-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.ll-page-intro-chip,
.ll-page-intro-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.ll-page-intro-chip{
  background:rgba(247,243,235,0.98);
  border:1px solid rgba(230,221,209,0.96);
  color:#5f6658;
}

.ll-page-intro-side{
  display:grid;
  gap:10px;
  align-content:start;
  justify-items:end;
}

.ll-page-intro-badge{
  background:#edf3fa;
  border:1px solid #ccd8e7;
  color:#41536d;
}

.ll-page-intro-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
}

.ll-page-action-inline{
  min-height:46px;
  padding:0 16px;
  border-radius:999px;
  border:1px solid rgba(209,218,231,0.96);
  background:#fff;
  color:#2a3546;
  font-size:11px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(100,116,139,0.12);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.ll-page-action-inline:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 28px rgba(100,116,139,0.18);
}

.ll-page-action-inline.primary{
  background:linear-gradient(180deg,#73839b 0%,#62728b 100%);
  color:#fff;
  border-color:#62728b;
}

.ll-mobile-picker-note{
  margin-top:8px;
  font-size:12px;
  line-height:1.55;
  color:#66705c;
}

#search-input{
  padding-right:52px !important;
}

.ll-search-clear{
  position:absolute;
  top:50%;
  right:12px;
  transform:translateY(-50%);
  width:34px;
  height:34px;
  border:none;
  border-radius:999px;
  background:#edf3fa;
  color:#51637c;
  font-size:16px;
  cursor:pointer;
}

.ll-search-clear[hidden]{
  display:none !important;
}

#tables-container .ll-empty-state-card{
  min-height:180px;
  display:grid;
  place-items:center;
  text-align:center;
}

@media (max-width: 900px){
  .skip-link{
    top:10px;
    left:10px;
    padding:10px 14px;
  }

  .ll-page-intro{
    padding:12px 14px 0;
    margin-bottom:14px;
  }

  .ll-page-intro-card{
    grid-template-columns:1fr;
    gap:14px;
    padding:20px 18px;
    border-radius:24px;
  }

  .ll-page-intro-title{
    font-size:28px;
  }

  .ll-page-intro-sub{
    font-size:13px;
    line-height:1.7;
  }

  .ll-page-intro-side,
  .ll-page-intro-actions{
    justify-items:start;
    justify-content:flex-start;
  }
}

@media (max-width: 520px){
  .ll-page-action-inline{
    width:100%;
    justify-content:center;
  }
}

.staff-page-header,
.ll-page-intro,
.wdetail-hero,
.checklist-admin-hero,
.ll-cm-hero,
#page-admin-users .ll-admin-shell > div:first-child,
#page-admin-permissions .ll-admin-shell > div:first-child{
  display:none !important;
}

.mobile-cards{
  display:none !important;
}

#weddings-actions{
  margin-top:0 !important;
  padding-top:20px !important;
}

#cal-body,
#qa-body,
#tasks-body,
#wl-body,
#bride-messages-body,
#tours-body,
#rentals-body,
#family-body,
#events-body,
#wedding-detail-body,
.checklist-admin-shell,
.ll-cm-shell,
#page-admin-users .ll-admin-shell,
#page-admin-permissions .ll-admin-shell{
  padding-top:20px !important;
}

@media (max-width: 900px){
  .mobile-cards{
    display:grid !important;
  }

  #weddings-actions{
    padding-top:14px !important;
  }

  #cal-body,
  #qa-body,
  #tasks-body,
  #wl-body,
  #bride-messages-body,
  #tours-body,
  #rentals-body,
  #family-body,
  #events-body,
  #wedding-detail-body,
  .checklist-admin-shell,
  .ll-cm-shell,
  #page-admin-users .ll-admin-shell,
  #page-admin-permissions .ll-admin-shell{
    padding-top:14px !important;
  }
}

/* ═══ Style Block 30 ═══ */
body{
  --ll-shell-bg:#f6f8fc;
  --ll-surface:#f9fbff;
  --ll-surface-strong:#ffffff;
  --ll-border:#d9e2ef;
  --ll-text:#1f2733;
  --ll-muted:#66758a;
  --ll-olive:#2f5fa7;
  --ll-olive-deep:#1f3f6e;
  background:
    radial-gradient(circle at top left, rgba(226, 233, 245, 0.62), transparent 26%),
    radial-gradient(circle at top right, rgba(241, 245, 252, 0.92), transparent 22%),
    linear-gradient(180deg, #ffffff 0%, #f6f8fc 100%) !important;
  overflow:hidden;
}

#header{
  position:sticky !important;
  top:0 !important;
  left:auto !important;
  right:auto !important;
  margin:0 !important;
  min-height:auto !important;
  padding:0 32px !important;
  border:0 !important;
  border-top:3px solid #1e3a5f !important;
  border-bottom:1px solid rgba(200,214,232,0.7) !important;
  border-radius:0 !important;
  background:linear-gradient(180deg, #edf2f8 0%, #f4f7fb 100%) !important;
  box-shadow:0 2px 16px rgba(20,35,60,0.08) !important;
  backdrop-filter:none;
}

#header::after{
  display:none !important;
}

#header-inner{
  max-width:1360px !important;
  margin:0 auto !important;
  height:54px !important;
  display:flex !important;
  align-items:center !important;
}

#header-top{
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  flex-wrap:nowrap !important;
  gap:24px !important;
  width:100% !important;
}

#logo-img{
  mix-blend-mode:normal !important;
  opacity:1 !important;
}

#logo-block{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
}

#logo-text-wrap{
  display:flex !important;
  flex-direction:column !important;
  gap:2px !important;
}

#logo-text-name{
  color:#162842 !important;
  font-size:15px !important;
  font-weight:500 !important;
  line-height:1.2 !important;
  letter-spacing:0.01em !important;
  text-transform:none !important;
  white-space:nowrap !important;
}

#logo-text-sub{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  color:#7a90aa !important;
  font-family:'Jost','Helvetica Neue',sans-serif !important;
  font-style:normal !important;
  font-size:9px !important;
  font-weight:400 !important;
  letter-spacing:0.22em !important;
  text-transform:uppercase !important;
  opacity:1 !important;
}

#logo-text-portal{
  display:none !important;
}

.ll-current-user-name{
  color:#162842 !important;
  font-size:13px !important;
  font-weight:600 !important;
  line-height:1.2 !important;
}

.ll-current-user-role{
  color:#7a90aa !important;
  font-size:10px !important;
  letter-spacing:0.05em !important;
}

#staff-sidebar{
  position:fixed !important;
  top:75px !important;
  left:18px !important;
  bottom:18px !important;
  width:226px !important;
  padding:0 !important;
  border-radius:26px !important;
  background:rgba(245, 250, 255, 0.92) !important;
  border:1px solid rgba(190,210,235,0.94) !important;
  box-shadow:0 24px 48px rgba(30, 50, 80, 0.08) !important;
  backdrop-filter:blur(12px);
  overflow:auto !important;
}

#nav-tabs{
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
  margin:0 !important;
  padding:18px 14px !important;
}

.nav-tab{
  display:grid !important;
  grid-template-columns:38px minmax(0,1fr) !important;
  align-items:center !important;
  gap:12px !important;
  min-height:52px !important;
  padding:10px 14px !important;
  border-radius:16px !important;
  border:1px solid transparent !important;
  background:transparent !important;
  color:var(--ll-text) !important;
  box-shadow:none !important;
  text-align:left !important;
}

.nav-tab:hover{
  background:#eef4ff !important;
  border-color:rgba(188, 208, 238, 0.9) !important;
  color:var(--ll-text) !important;
}

.nav-tab.active{
  background:linear-gradient(135deg, #3c6fb8 0%, #2f5fa7 100%) !important;
  border-color:#2f5fa7 !important;
  color:#ffffff !important;
  box-shadow:0 12px 24px rgba(47, 95, 167, 0.22) !important;
}

.nav-ico{
  width:38px !important;
  height:38px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:12px !important;
  background:#eef4ff !important;
  color:#2f5fa7 !important;
  font-size:16px !important;
}

.nav-tab.active .nav-ico{
  background:rgba(255,255,255,0.18) !important;
  color:#ffffff !important;
}

.nav-label{
  font-size:11px !important;
  font-weight:600 !important;
  letter-spacing:0.12em !important;
  text-transform:uppercase !important;
}

#app-main{
  margin-top:0 !important;
  margin-left:264px !important;
  min-width:0 !important;
  padding:26px 26px 96px !important;
  height:calc(100vh - 118px - 32px);
  overflow-y:auto;
}

#mobile-page-picker-wrap,
.staff-mobile-bottom-nav{
  display:none !important;
}

#weddings-actions,
#stats,
#search-section,
#table-section,
#cal-body,
#qa-body,
#tasks-body,
#wl-body,
#tours-body,
#rentals-body,
#family-body,
#events-body,
#checklist-settings-body,
#wedding-detail-body{
  max-width:1400px !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

#weddings-actions{
  display:flex !important;
  justify-content:flex-start !important;
  padding:0 0 18px !important;
}

#add-btn,
.tasks-page-add-btn,
#qa-page-add-btn{
  min-height:48px !important;
  padding:0 22px !important;
  border-radius:999px !important;
  border:1px solid var(--ll-olive-deep) !important;
  background:var(--ll-olive) !important;
  color:#e8f4ff !important;
  font-size:11px !important;
  letter-spacing:0.14em !important;
  box-shadow:0 12px 24px rgba(30, 50, 80, 0.16) !important;
}

#add-btn:hover,
.tasks-page-add-btn:hover,
#qa-page-add-btn:hover{
  background:var(--ll-olive-deep) !important;
  border-color:var(--ll-olive-deep) !important;
  transform:none !important;
}

#stats{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:14px !important;
  padding:0 0 20px !important;
}

.stat-item{
  margin:0 !important;
  padding:18px 18px !important;
  border:1px solid rgba(190,210,235,0.94) !important;
  border-radius:20px !important;
  background:rgba(255,255,255,0.88) !important;
  box-shadow:0 14px 30px rgba(30, 50, 80, 0.05) !important;
}

.stat-num{
  font-size:36px !important;
  color:var(--ll-text) !important;
}

.stat-num.warn{
  color:#c06020 !important;
}

.stat-label{
  font-size:10px !important;
  color:#627287 !important;
  letter-spacing:0.15em !important;
}

#search-section{
  padding:0 0 18px !important;
}

#search-wrap{
  position:relative !important;
  overflow:hidden !important;
  background:rgba(255,255,255,0.92) !important;
  border:1px solid rgba(190,210,235,0.94) !important;
  border-radius:20px !important;
  box-shadow:0 14px 30px rgba(30, 50, 80, 0.05) !important;
}

#search-icon{
  left:18px !important;
  color:#7a8ea4 !important;
}

#search-input{
  min-height:56px !important;
  padding:14px 54px 14px 50px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:var(--ll-text) !important;
  font-size:14px !important;
}

#search-input::placeholder{
  color:#8fa4bb !important;
}

.ll-search-clear{
  position:absolute;
  right:12px;
  top:50%;
  width:32px;
  height:32px;
  transform:translateY(-50%);
  border:0;
  border-radius:999px;
  background:#e8f0fa;
  color:#4a6080;
  font-size:18px;
  line-height:1;
  cursor:pointer;
}

.ll-search-clear:hover{
  background:#dce8f4;
}

#table-section{
  padding:0 0 24px !important;
}

.year-label{
  margin-bottom:10px !important;
  padding-bottom:8px !important;
  border-bottom:1px solid rgba(190,210,235,0.94) !important;
  color:#546278 !important;
}

.wedding-table{
  overflow:hidden !important;
  border:1px solid rgba(190,210,235,0.94) !important;
  border-radius:20px !important;
  background:rgba(255,255,255,0.96) !important;
  box-shadow:0 18px 36px rgba(30, 50, 80, 0.06) !important;
}

.wedding-table thead tr{
  background:#eaf2fb !important;
}

.wedding-table th{
  padding:14px 16px !important;
  border-bottom:1px solid rgba(190,210,235,0.88) !important;
  color:#546278 !important;
  font-size:10px !important;
}

.wedding-table td{
  padding:16px !important;
}

.wedding-table tbody tr.main-row:hover{
  background:#f0f7ff !important;
}

tr.expand-row td{
  background:#f2f7fd !important;
}

.wedding-card{
  border-radius:20px !important;
  border:1px solid rgba(190,210,235,0.94) !important;
  background:rgba(255,255,255,0.96) !important;
  box-shadow:0 16px 30px rgba(30, 50, 80, 0.06) !important;
}

#table-footer-note{
  margin-top:14px !important;
  font-size:10px !important;
  color:#7a8ea4 !important;
}

@media (max-width: 1180px){
  #staff-sidebar{
    width:210px !important;
  }

  #app-main{
    margin-left:246px !important;
    padding-right:20px !important;
    padding-left:20px !important;
  }

  #stats{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px){
  #header{
    position:relative !important;
    top:auto !important;
    padding:16px 16px 14px !important;
    border-radius:0 0 22px 22px !important;
  }

  #header-top{
    flex-direction:column !important;
    align-items:flex-start !important;
  }

  #logo-text-name{
    font-size:16px !important;
  }

  #logo-text-sub{
    font-size:9px !important;
    letter-spacing:0.20em !important;
  }

  #logo-text-portal{
    display:none !important;
  }

  #staff-sidebar,
  #nav-tabs,
  .staff-mobile-bottom-nav{
    display:none !important;
  }

  body #mobile-page-picker-wrap{
    display:block !important;
    position:sticky;
    top:84px;
    z-index:220;
    max-width:none !important;
    padding:12px 16px 0 !important;
  }

  .mobile-page-picker-card{
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    padding:14px 16px !important;
    border-radius:20px !important;
    background:rgba(255,255,255,0.94) !important;
    border:1px solid rgba(190,210,235,0.94) !important;
    box-shadow:0 14px 30px rgba(30, 50, 80, 0.08) !important;
  }

  .mobile-page-picker-icon{
    width:44px !important;
    height:44px !important;
    flex:0 0 44px !important;
    border-radius:14px !important;
    background:var(--ll-olive) !important;
    color:#e8f4ff !important;
    font-size:18px !important;
  }

  .mobile-page-picker-copy{
    display:block !important;
    min-width:0 !important;
  }

  .mobile-page-picker-select-wrap::after{
    right:0 !important;
    color:#546278 !important;
  }

  #mobile-page-picker{
    min-height:44px !important;
    padding-right:22px !important;
    color:var(--ll-text) !important;
    font-size:18px !important;
    font-weight:600 !important;
  }

  .ll-mobile-picker-note{
    margin-top:4px;
    color:#7d7368;
    font-size:11px;
    line-height:1.4;
  }

  #app-main{
    margin-left:0 !important;
    padding:18px 16px 56px !important;
  }

  #weddings-actions,
  #stats,
  #search-section,
  #table-section,
  #cal-body,
  #qa-body,
  #tasks-body,
  #wl-body,
  #tours-body,
  #rentals-body,
  #family-body,
  #events-body,
  #checklist-settings-body,
  #wedding-detail-body{
    width:100% !important;
    max-width:none !important;
  }

  #stats{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }

  .wedding-table{
    display:none !important;
  }

  .mobile-cards{
    display:grid !important;
    gap:14px;
  }
}

@media (max-width: 560px){
  #stats{
    grid-template-columns:1fr !important;
  }

  #weddings-actions{
    padding-bottom:14px !important;
  }

  #add-btn,
  .tasks-page-add-btn,
  #qa-page-add-btn{
    width:100% !important;
    justify-content:center !important;
  }

  .stat-item{
    padding:16px !important;
  }
}

/* ═══ Style Block 31 ═══ */
/* ───────────────────────────────────────────────────────────────────────────
   Subscribe to Calendar — button bar + modal
   ─────────────────────────────────────────────────────────────────────────── */

/* Subscribe bar (sits below the calendar grid) */
#cal-subscribe-bar {
  max-width: 1320px;
  margin: 28px auto 0;
  padding: 0 32px 8px;
  display: flex;
  justify-content: center;
}

#cal-subscribe-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 22px;
  background: transparent;
  border: 1.5px solid #c8d8ea;
  border-radius: 999px;
  font-family: 'Jost', sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.07em;
  color: #6a7d90;
  cursor: pointer;
  transition: border-color 0.18s, color 0.18s, background 0.18s;
}

#cal-subscribe-btn:hover,
#cal-subscribe-btn:focus-visible {
  border-color: #2F5FA7;
  color: #2F5FA7;
  background: rgba(47,95,167,0.04);
  outline: none;
}

.cal-sub-icon { font-size: 13px; }

/* Modal overlay */
#cal-sub-modal-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 1100;
  background: rgba(20,18,16,0.56);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  padding: 24px;
  align-items: center;
  justify-content: center;
}
#cal-sub-modal-overlay.open { display: flex; }

/* Modal box */
#cal-sub-modal {
  background: #fff;
  border-radius: 18px;
  width: min(520px, 100%);
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 32px 90px rgba(0,0,0,0.28);
}

/* Header */
#cal-sub-modal-head {
  background: #2c2c2c;
  padding: 22px 28px;
  border-radius: 18px 18px 0 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

#cal-sub-modal-title-text {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-style: italic;
  font-size: 21px;
  color: #fff;
  font-weight: 400;
}

#cal-sub-modal-close {
  background: none;
  border: 1.5px solid #555;
  color: #aaa;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  cursor: pointer;
  font-size: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color 0.15s, color 0.15s;
  flex-shrink: 0;
}
#cal-sub-modal-close:hover,
#cal-sub-modal-close:focus-visible { border-color: #fff; color: #fff; outline: none; }

/* Body */
#cal-sub-modal-body { padding: 26px 28px 28px; }

.cal-sub-intro {
  font-size: 13px;
  color: #555;
  line-height: 1.65;
  margin: 0 0 20px;
}

.cal-sub-label {
  font-family: 'Jost', sans-serif;
  font-size: 9px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #888;
  font-weight: 600;
  margin-bottom: 8px;
}

/* URL row */
.cal-sub-url-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
}

#cal-sub-url-input {
  flex: 1;
  min-width: 0;
  font-family: 'Jost', monospace, sans-serif;
  font-size: 11px;
  color: #333;
  background: #f2f7fd;
  border: 1.5px solid #dde8f3;
  border-radius: 8px;
  padding: 9px 12px;
  cursor: text;
  outline: none;
  line-height: 1.45;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: border-color 0.15s;
}
#cal-sub-url-input:focus { border-color: #2F5FA7; }

#cal-sub-copy-btn {
  flex-shrink: 0;
  padding: 9px 16px;
  background: #2c2c2c;
  color: #fff;
  border: none;
  border-radius: 8px;
  font-family: 'Jost', sans-serif;
  font-size: 11px;
  letter-spacing: 0.08em;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.15s;
}
#cal-sub-copy-btn:hover { background: #444; }
#cal-sub-copy-btn.copied { background: #2d6a4f; }
#cal-sub-copy-btn:focus-visible { outline: 2px solid #2F5FA7; outline-offset: 2px; }

/* Open in Apple Calendar button */
#cal-sub-webcal-btn {
  width: 100%;
  padding: 13px 20px;
  background: #1E3D6F;
  color: #fff;
  border: none;
  border-radius: 10px;
  font-family: 'Jost', sans-serif;
  font-size: 13px;
  letter-spacing: 0.06em;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.15s;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
#cal-sub-webcal-btn:hover { background: #2F5FA7; }
#cal-sub-webcal-btn:focus-visible { outline: 2px solid #2F5FA7; outline-offset: 2px; }

/* Divider */
.cal-sub-divider {
  border: none;
  border-top: 1px solid #e2ecf5;
  margin: 20px 0;
}

/* Instructions */
.cal-sub-steps { font-size: 12.5px; color: #555; line-height: 1.7; }

.cal-sub-steps-title {
  font-family: 'Jost', sans-serif;
  font-size: 9px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #888;
  font-weight: 600;
  margin-bottom: 8px;
}

.cal-sub-steps ol {
  margin: 0 0 10px;
  padding-left: 18px;
}
.cal-sub-steps li { margin-bottom: 4px; }

.cal-sub-note {
  font-size: 11px;
  color: #999;
  font-style: italic;
  margin: 8px 0 0;
}

/* Footer (regenerate + privacy note) */
.cal-sub-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid #e2ecf5;
}

#cal-sub-regen-btn {
  background: none;
  border: none;
  font-family: 'Jost', sans-serif;
  font-size: 11px;
  color: #aaa;
  cursor: pointer;
  padding: 0;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color 0.15s;
}
#cal-sub-regen-btn:hover { color: #c0392b; }
#cal-sub-regen-btn:focus-visible { outline: 2px solid #c0392b; outline-offset: 2px; }

.cal-sub-token-note {
  font-size: 10px;
  color: #bbb;
  text-align: right;
  flex: 1;
}

/* Responsive */
@media (max-width: 600px) {
  #cal-subscribe-bar { padding: 0 12px 8px; }
  #cal-sub-modal-overlay { padding: 10px; }
  #cal-sub-modal { border-radius: 14px; }
  #cal-sub-modal-head { padding: 18px 20px; border-radius: 14px 14px 0 0; }
  #cal-sub-modal-body { padding: 18px 20px 22px; }
  .cal-sub-url-row { flex-direction: column; align-items: stretch; }
  #cal-sub-copy-btn { width: 100%; text-align: center; padding: 11px 16px; }
  .cal-sub-footer { flex-direction: column; align-items: flex-start; gap: 8px; }
  .cal-sub-token-note { text-align: left; }
}

/* ═══ Style Block 32 ═══ */
/* ════════════════════════════════════════════════════════════════
   Legacy Lane Staff Portal — Color + UI Polish Pass (2026-03-18)
   Normalises all warm/brown/green/tan tones to the blue-based
   design system. Applied last so these declarations win cascade.
   ════════════════════════════════════════════════════════════════ */

/* ─── 1. Checklist/bridal settings page: remove green radial gradient ─── */
#checklist-settings-body,
#portal-bridal-checklist-body {
  background:
    radial-gradient(circle at top left, rgba(215, 230, 245, 0.65), transparent 32%),
    linear-gradient(180deg, #edf4fc 0%, #f3f8fd 100%) !important;
}

/* ─── 2. Auth admin overlay: warm brown + green bg → dark navy ─── */
#ll-auth-overlay {
  background:
    radial-gradient(circle at top left, rgba(215, 230, 248, 0.7), transparent 30%),
    linear-gradient(135deg, rgba(32, 44, 62, 0.94), rgba(20, 32, 48, 0.96)) !important;
}

/* ─── 3. Auth shell: transparent for mobile-style layout ─── */
.ll-auth-shell {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* ─── 4. Auth head: warm cream gradient → blue-white ─── */
.ll-auth-head {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(244, 249, 255, 0.97)) !important;
}

/* ─── 5. Auth text colours: warm brown tones → blue-neutral ink ─── */
.ll-auth-kicker,
.ll-admin-kicker {
  color: var(--ll-ink-subtle) !important;
}
.ll-auth-title,
.ll-admin-title {
  color: var(--ll-ink) !important;
}
.ll-auth-sub,
.ll-admin-sub {
  color: var(--ll-ink-muted) !important;
}
.ll-auth-card-head,
.ll-admin-panel-head {
  border-bottom-color: var(--ll-border) !important;
}
.ll-auth-card-title,
.ll-admin-panel-title {
  color: var(--ll-ink) !important;
}
.ll-auth-card-sub,
.ll-admin-panel-sub {
  color: var(--ll-ink-muted) !important;
}
.ll-auth-label,
.ll-admin-label {
  color: var(--ll-ink-subtle) !important;
}

/* ─── 6. Auth success status: dark green → primary blue ─── */
.ll-auth-error.success,
.ll-admin-status.success {
  color: var(--ll-primary) !important;
}

/* ─── 7. Auth secondary btn: warm brown text/hover → blue-neutral ─── */
.ll-auth-btn.secondary,
.ll-admin-btn.secondary {
  color: var(--ll-ink-muted) !important;
}
.ll-auth-btn.secondary:hover,
.ll-admin-btn.secondary:hover {
  background: var(--ll-primary-light-bg) !important;
  border-color: #b0c6da !important;
}

/* ─── 8. User card in auth: warm cream background → blue-neutral ─── */
.ll-user-card {
  background: linear-gradient(180deg, #fff 0%, #f4f8ff 100%) !important;
}
.ll-user-card::before {
  background:
    radial-gradient(circle at top right, var(--ll-card-soft, rgba(47,95,167,.12)), transparent 38%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(242, 248, 255, 0.9)) !important;
}
.ll-user-card:hover {
  box-shadow: 0 14px 24px rgba(30, 50, 80, 0.08) !important;
}
.ll-user-card.selected {
  box-shadow: 0 0 0 3px rgba(47, 95, 167, 0.22), 0 18px 30px rgba(30, 50, 80, 0.12) !important;
}
.ll-user-name,
.ll-admin-user-name {
  color: var(--ll-ink) !important;
}

/* ─── 9. Admin nav tabs: warm gold text → neutral white ─── */
#tab-admin-users,
#tab-admin-permissions {
  color: var(--ll-text) !important;
}

/* ─── 10. Mobile card expansion: warm brown text → blue-neutral ink ─── */
.card-exp-val,
.card-exp-text {
  color: var(--ll-ink) !important;
}
.card-exp-val a {
  color: var(--ll-primary) !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.card-exp-section {
  border-top-color: var(--ll-border) !important;
}

/* ─── 11. Upload text: warm brown → muted ink ─── */
.upload-text {
  color: var(--ll-ink-muted) !important;
}

/* ─── 12. Calendar rental chip: green → muted blue ─── */
.cal-rental-chip {
  background: #5a7fa8 !important;
  border-left-color: #8db5d4 !important;
}
.cal-rental-chip:hover {
  background: #4b6e94 !important;
}
.cal-family-chip:hover {
  background: #4b6b8a !important;
}
.cal-list-item-rental {
  border-left-color: #5a7fa8 !important;
}
.cal-list-item-rental .cal-list-badge {
  background: #5a7fa8 !important;
  border-color: #5a7fa8 !important;
}

/* ─── 13. Calendar filter chip active: dark-black → primary blue ─── */
.cal-filter-chip.active {
  background: var(--ll-primary) !important;
  border-color: var(--ll-primary) !important;
  color: #fff !important;
}
.cal-filter-chip:hover:not(.active) {
  border-color: var(--ll-primary) !important;
  color: var(--ll-primary) !important;
}

/* ─── 14. Task completion toggle: green → primary blue ─── */
.task-item.is-complete .task-toggle {
  background: var(--ll-primary) !important;
  border-color: var(--ll-primary) !important;
  color: #fff !important;
}

/* ─── 15. Task badge + avatar/badge "gary": dark green → blue ─── */
.task-badge.gary {
  background: #e6eef8 !important;
  color: #3d6b9e !important;
}
.wl-log-avatar.gary,
.wl-avatar-circle.gary {
  background: #3d6b9e !important;
}
.wl-recent-badge.gary {
  background: #e6eef8 !important;
  color: #3d6b9e !important;
}
.wl-avatar-btn.selected.gary .wl-avatar-circle {
  box-shadow: 0 0 0 3px #3d6b9e, 0 4px 14px rgba(61, 107, 158, 0.3) !important;
}
.qa-askedby-badge.gary {
  background: #e6eef8 !important;
  color: #3d6b9e !important;
}

/* ─── 16. Submit/save success text: green → primary blue ─── */
#tasks-submit-status.success,
#wl-submit-status.success {
  color: var(--ll-primary) !important;
}

/* ─── 17. Calendar detail check icon: green → primary ─── */
.cal-detail-check .ck {
  color: var(--ll-primary) !important;
}

/* ─── 18. Q&A card "Answered" status: green → blue ─── */
.qa-card-status.answered {
  background: var(--ll-primary-light-bg) !important;
  color: var(--ll-primary) !important;
  border-color: var(--ll-primary-light) !important;
}

/* ─── 19. Expense checklist "done" icon: green → primary blue ─── */
.exp-check-item.done .exp-check-icon {
  background: var(--ll-primary) !important;
  color: #fff !important;
}

/* ─── 20. Checklist admin inline warn/error: blue (confusing) → danger ─── */
.checklist-admin-inline-btn.warn {
  color: var(--ll-danger) !important;
}
.checklist-admin-status.is-error {
  color: var(--ll-danger) !important;
}

/* ─── 21. Wedding detail page success notes (.ll-success tokens) ─── */
#ll-design-system-v2 .clx-task-item.done .icon,
.clx-task-item.done .icon {
  color: var(--ll-primary) !important;
}

/* ─── 22. Focus ring: consistent blue everywhere ─── */
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2.5px solid var(--ll-border-focus) !important;
  outline-offset: 2px !important;
}
.nav-tab:focus-visible,
.cal-filter-chip:focus-visible {
  outline: 2.5px solid var(--ll-border-focus) !important;
  outline-offset: 2px !important;
}

/* ─── 23. Mobile: improve touch target sizes for action buttons ─── */
@media (max-width: 900px) {
  .wl-nav-btn,
  .wl-log-edit-btn,
  .tour-log-edit-btn,
  .tour-log-del-btn,
  .qa-edit-btn,
  .qa-delete-btn {
    min-height: 44px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

  .card-exp-section {
    padding: 14px 16px !important;
  }

  .wl-history-controls {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
  }
  .wl-history-left {
    flex-wrap: wrap !important;
    gap: 8px !important;
  }
}

/* ─── 24. Auth admin card head: remove warm beige border ─── */
.ll-auth-card-head {
  background: linear-gradient(180deg, #f4f9ff 0%, #eef4fb 100%) !important;
  border-bottom-color: var(--ll-border) !important;
}
.ll-admin-panel-head {
  background: linear-gradient(180deg, #f4f9ff 0%, #eef4fb 100%) !important;
  border-bottom-color: var(--ll-border) !important;
}

/* ─── 25. Normalise ll-auth-card / ll-admin-panel box-shadow ─── */
.ll-auth-card,
.ll-admin-panel {
  box-shadow: 0 18px 34px rgba(30, 50, 80, 0.06) !important;
}

/* ─── 26. Done/complete check icons: --ll-success green → primary blue ─── */
.checklist-item.done .check-icon,
.card-check-item.done .card-check-icon,
.cal-detail-check.done .ck,
.clx-task-item.done .icon {
  color: var(--ll-primary) !important;
}
.wdetail-task-item.done .wdetail-task-check {
  background: var(--ll-primary) !important;
  border-color: var(--ll-primary) !important;
  color: #fff !important;
}

/* ─── 27. Status success messages: green → primary blue ─── */
#tour-submit-status.success,
.checklist-admin-status.is-success {
  color: var(--ll-primary) !important;
}

/* ─── 28. Tour upcoming badge: dark green → blue ─── */
.tour-upcoming-badge {
  background: var(--ll-primary-light-bg) !important;
  color: var(--ll-primary) !important;
}

/* ─── 29. Update --ll-success token so var() references cascade correctly ─── */
:root {
  --ll-success: var(--ll-primary);
  --ll-success-bg: var(--ll-primary-light-bg);
}

/* ═══ Style Block 33 ═══ */
/* ── Hamburger button: hidden on desktop, shown on mobile ── */
#mobile-menu-btn {
  display: none;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  background: none;
  border: none;
  border-radius: 10px;
  color: #243244;
  cursor: pointer;
  padding: 0;
  transition: background 0.14s;
  z-index: 2;
  position: relative;
}

#mobile-menu-btn:hover {
  background: rgba(201, 212, 225, 0.5);
}

/* ── Mobile nav drawer: hidden by default ── */
#mobile-nav-drawer {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9500;
}

#mobile-nav-drawer.open {
  display: block;
}

#mobile-nav-drawer-overlay {
  position: absolute;
  inset: 0;
  background: rgba(20, 30, 48, 0.46);
  animation: mndFadeIn 0.2s ease;
}

#mobile-nav-drawer-panel {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: min(290px, 84vw);
  background: #fff;
  box-shadow: 14px 0 44px rgba(40, 55, 80, 0.2);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  animation: mndSlideIn 0.22s cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes mndFadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

@keyframes mndSlideIn {
  from { transform: translateX(-100%); }
  to   { transform: translateX(0); }
}

#mobile-nav-drawer-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 14px 14px 18px;
  border-bottom: 1px solid rgba(201, 212, 225, 0.8);
  flex-shrink: 0;
}

#mobile-nav-drawer-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: 'Cormorant Garamond', 'Georgia', serif;
  font-size: 15px;
  font-weight: 600;
  color: #243244;
  letter-spacing: 0.01em;
}

#mobile-nav-drawer-logo {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  object-fit: contain;
  display: none;
  flex-shrink: 0;
}

#mobile-nav-drawer-close {
  width: 34px;
  height: 34px;
  border: none;
  background: rgba(220, 228, 238, 0.6);
  border-radius: 10px;
  font-size: 16px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #627287;
  flex-shrink: 0;
  line-height: 1;
  transition: background 0.14s;
}

#mobile-nav-drawer-close:hover {
  background: rgba(201, 212, 225, 0.9);
}

#mobile-nav-drawer-list {
  overflow-y: auto;
  flex: 1;
  padding: 10px 10px 28px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  -webkit-overflow-scrolling: touch;
}

.mobile-nav-drawer-btn {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px 14px;
  background: none;
  border: none;
  border-radius: 12px;
  width: 100%;
  text-align: left;
  cursor: pointer;
  color: #243244;
  font-size: 14px;
  font-weight: 500;
  font-family: 'Jost', 'Helvetica Neue', sans-serif;
  letter-spacing: 0.01em;
  transition: background 0.13s;
  -webkit-tap-highlight-color: transparent;
}

.mobile-nav-drawer-btn:hover,
.mobile-nav-drawer-btn.mnd-active {
  background: rgba(220, 228, 238, 0.7);
}

.mobile-nav-drawer-btn.mnd-active {
  color: var(--ll-primary, #60758f);
  font-weight: 600;
}

.mobile-nav-drawer-ico {
  font-size: 17px;
  width: 22px;
  text-align: center;
  flex-shrink: 0;
}

/* ── Mobile-only overrides ── */
@media (max-width: 768px) {

  /* Show hamburger */
  #mobile-menu-btn {
    display: flex !important;
  }

  /* 3-column header layout */
  #header {
    position: relative !important;
    top: auto !important;
    left: 0 !important;
    right: 0 !important;
    border-radius: 0 !important;
    padding: 10px 12px !important;
    min-height: unset !important;
  }

  #header::after {
    display: none !important;
  }

  #header-inner {
    max-width: none !important;
  }

  #header-top {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    position: relative !important;
    grid-template-columns: unset !important;
    grid-template-areas: unset !important;
    gap: 0 !important;
    min-height: 44px;
  }

  /* Centered logo — absolute so it doesn't push left/right items */
  #logo-block {
    position: absolute !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: auto !important;
    padding-right: 0 !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
    pointer-events: none;
  }

  #logo-text-sub,
  #logo-text-portal {
    display: none !important;
  }

  #logo-text-name {
    font-size: 14px !important;
    letter-spacing: 0.02em !important;
    color: #243244 !important;
    font-weight: 600 !important;
    white-space: nowrap;
  }

  #logo-img {
    width: 28px !important;
    height: 28px !important;
    border-radius: 8px !important;
  }

  /* User avatar to the right */
  .ll-header-user {
    position: static !important;
    top: auto !important;
    right: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    z-index: 2;
    flex-shrink: 0;
    align-self: center;
  }

  /* Hide mobile page picker card — replaced by drawer */
  #mobile-page-picker-wrap {
    display: none !important;
  }
}

/* ═══ Style Block 34 ═══ */
/* ===== Mobile font-size cap: largest ~12px ===== */
@media (max-width: 768px) {
  /* Stats */
  #stats { display:none !important; }
  .stat-num { font-size: 12px !important; line-height: 1.2 !important; }

  /* Calendar headings */
  #cal-month-label { font-size: 12px !important; min-width: 0 !important; }
  .cal-list-couple { font-size: 12px !important; }
  .cal-mobile-empty-title { font-size: 12px !important; }
  #cal-detail-couple { font-size: 12px !important; }

  /* Tasks headings */
  .tasks-card-title,
  .tasks-list-title { font-size: 12px !important; }
  .tasks-summary-num { font-size: 12px !important; }
  .task-title { font-size: 12px !important; }

  /* Modal titles */
  #modal-title { font-size: 12px !important; }
  #qa-modal-title { font-size: 12px !important; }
  #tour-modal-title { font-size: 12px !important; }
  #meeting-modal-title { font-size: 12px !important; }
  #stay-modal-title { font-size: 12px !important; }

  /* Section/form titles */
  .wl-form-title { font-size: 12px !important; }
  .stay-page-title { font-size: 12px !important; }
  .wl-hist-heading { font-size: 12px !important; }

  /* Wedding cards */
  .card-couple { font-size: 12px !important; }
  #f-couple { font-size: 12px !important; }
  .couple-name { font-size: 12px !important; }

  /* Tour / meeting log summary */
  .tour-log-summary-date { font-size: 12px !important; }
  .tour-log-summary-name { font-size: 12px !important; }
  .meeting-log-summary-date { font-size: 12px !important; }
  .meeting-log-summary-name { font-size: 12px !important; }

  /* Work log */
  .wl-log-name { font-size: 12px !important; }
  .wl-avatar-circle { font-size: 11px !important; }

  /* Stays */
  .stay-card-name { font-size: 12px !important; }
  .stay-empty-title { font-size: 12px !important; }

  /* File viewer */
  .fv-filename { font-size: 12px !important; }

  /* Card expansion panels */
  .card-exp-val,
  .card-exp-text { font-size: 12px !important; }
  .card-exp-empty { font-size: 12px !important; }

  /* Logo */
  #logo-text-name { font-size: 12px !important; }

  /* Wedding detail */
  .wdetail-hero-title { font-size: 12px !important; }
  .wdetail-field-value,
  .wdetail-notes { font-size: 12px !important; }

  /* Tours/meetings empty message */
  .tours-empty-msg,
  .meetings-empty-msg { font-size: 12px !important; }

  /* Nav icons — shrink to reduce nav bar height */
  .nav-ico { font-size: 14px !important; }
}

/* ═══════════════════════════════════════════════════════
   STOCK CHECKLISTS
   ═══════════════════════════════════════════════════════ */

/* Page backgrounds */
body.page-stock-checklists #header,
body.page-stock-checklist-editor #header,
body.page-stock-checklist-detail #header,
body.page-stock-checklist-template #header {
  background: linear-gradient(180deg, rgba(31, 63, 110, 0.96) 0%, rgba(22, 45, 78, 0.98) 100%);
  border-bottom-color: rgba(188, 208, 238, 0.38);
}

#sc-index-body,
#sc-detail-body,
#sc-template-body {
  background:
    radial-gradient(circle at top left, rgba(219, 226, 206, 0.65), transparent 32%),
    linear-gradient(180deg, #edf4fc 0%, #f3f8fd 100%);
  min-height: calc(100vh - 150px);
}

#sc-editor-body {
  background: linear-gradient(180deg, #edf4fc 0%, #f3f8fd 100%);
  min-height: calc(100vh - 150px);
}

/* Index: Stats row */
.sc-stats-row {
  display: flex;
  gap: 12px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}

.sc-stat-card {
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid #c8d8ec;
  border-radius: 14px;
  padding: 16px 20px;
  min-width: 120px;
  text-align: center;
  box-shadow: 0 4px 12px rgba(30, 50, 80, 0.04);
}

.sc-stat-num {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 32px;
  font-weight: 600;
  color: #1a2232;
  line-height: 1;
}

.sc-stat-label {
  font-size: 9px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #627287;
  font-weight: 600;
  margin-top: 4px;
}

/* Index: Toolbar */
.sc-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}

.sc-filter-tabs {
  display: flex;
  gap: 4px;
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid #c8d8ec;
  border-radius: 12px;
  padding: 3px;
}

.sc-filter-tab {
  border: none;
  background: transparent;
  color: #627287;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 8px 16px;
  border-radius: 10px;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
  font-family: inherit;
}

.sc-filter-tab:hover {
  background: rgba(47, 95, 167, 0.08);
}

.sc-filter-tab.active {
  background: #2f5fa7;
  color: #fff;
}

.sc-new-btn {
  padding: 11px 22px !important;
  font-size: 11px !important;
}

/* Index: List */
.sc-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.sc-card {
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid #c8d8ec;
  border-radius: 16px;
  padding: 18px 22px;
  display: flex;
  align-items: center;
  gap: 16px;
  cursor: pointer;
  transition: box-shadow 0.15s, border-color 0.15s, transform 0.1s;
  box-shadow: 0 4px 12px rgba(30, 50, 80, 0.04);
}

.sc-card:hover {
  border-color: #a0bce0;
  box-shadow: 0 8px 24px rgba(30, 50, 80, 0.08);
  transform: translateY(-1px);
}

.sc-card-left {
  flex: 1;
  min-width: 0;
}

.sc-card-date {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 20px;
  color: #1a2232;
  font-weight: 500;
  line-height: 1.2;
}

.sc-card-meta {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-top: 6px;
  flex-wrap: wrap;
}

.sc-card-meta-item {
  font-size: 11px;
  color: #627287;
}

.sc-card-right {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

.sc-badge {
  display: inline-block;
  padding: 5px 12px;
  border-radius: 999px;
  font-size: 9px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 700;
}

.sc-badge-draft {
  background: #fef3e2;
  color: #8a6a2a;
  border: 1px solid #e8d4a0;
}

.sc-badge-completed {
  background: #edf5ed;
  color: #3a5e3a;
  border: 1px solid #b0d0b0;
}

.sc-card-progress {
  width: 54px;
  height: 54px;
  position: relative;
}

.sc-card-progress svg {
  width: 54px;
  height: 54px;
  transform: rotate(-90deg);
}

.sc-card-progress-text {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
  color: #1a2232;
}

.sc-card-actions {
  display: flex;
  gap: 6px;
  flex-shrink: 0;
}

.sc-card-action {
  border: 1px solid #c8d8ec;
  background: #fff;
  color: #546278;
  border-radius: 10px;
  padding: 8px 14px;
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
  font-family: inherit;
  font-weight: 600;
  transition: background 0.15s, border-color 0.15s;
}

.sc-card-action:hover {
  background: #f0f4fa;
  border-color: #a0bce0;
}

.sc-card-action.primary {
  background: #2f5fa7;
  color: #fff;
  border-color: #2f5fa7;
}

.sc-card-action.primary:hover {
  filter: brightness(1.08);
}
.sc-card-action.danger {
  background: #d9534f;
  color: #fff;
  border-color: #d9534f;
}
.sc-card-action.danger:hover {
  filter: brightness(1.08);
}

.sc-empty {
  padding: 40px 20px;
  text-align: center;
  color: #7a8ea4;
  border: 1px dashed #cfd8e8;
  border-radius: 16px;
  background: rgba(245, 249, 254, 0.8);
}

.sc-empty-icon {
  font-size: 36px;
  margin-bottom: 10px;
}

.sc-empty-msg {
  font-size: 14px;
  font-weight: 600;
  color: #546278;
}

.sc-empty-sub {
  font-size: 12px;
  margin-top: 4px;
}

/* ── Editor ── */

.sc-editor-shell {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 20px 80px;
}

.sc-editor-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 0;
  position: sticky;
  top: 0;
  z-index: 50;
  background: linear-gradient(180deg, #edf4fc 0%, rgba(237, 244, 252, 0.96) 100%);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(200, 216, 236, 0.6);
  margin-bottom: 16px;
}

.sc-editor-topbar-left {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.sc-editor-topbar-right {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

.sc-back-btn {
  border: 1px solid #c8d8ec;
  background: #fff;
  color: #546278;
  border-radius: 10px;
  padding: 8px 14px;
  font-size: 12px;
  cursor: pointer;
  font-family: inherit;
  font-weight: 500;
  transition: background 0.15s;
}

.sc-back-btn:hover {
  background: #f0f4fa;
}

.sc-editor-title {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 22px;
  color: #1a2232;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sc-save-indicator {
  font-size: 11px;
  color: #627287;
  white-space: nowrap;
}

.sc-save-indicator.saving {
  color: #8a6a2a;
}

.sc-save-indicator.saved {
  color: #4a7a4e;
}

.sc-save-indicator.error {
  color: #c04a2a;
}

/* Progress bar */
.sc-editor-progress {
  margin-bottom: 16px;
}

.sc-progress-bar-outer {
  width: 100%;
  height: 6px;
  background: #dce8f4;
  border-radius: 3px;
  overflow: hidden;
}

.sc-progress-bar-inner {
  height: 100%;
  background: linear-gradient(90deg, #2f5fa7, #4a7a4e);
  border-radius: 3px;
  transition: width 0.3s ease;
}

.sc-progress-label {
  display: flex;
  justify-content: space-between;
  font-size: 10px;
  color: #627287;
  margin-top: 4px;
  letter-spacing: 0.06em;
}

/* Steps nav */
.sc-editor-steps {
  display: flex;
  gap: 4px;
  margin-bottom: 20px;
  overflow-x: auto;
  padding-bottom: 4px;
}

.sc-step-btn {
  border: 1px solid #c8d8ec;
  background: rgba(255, 255, 255, 0.8);
  color: #546278;
  border-radius: 10px;
  padding: 8px 14px;
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  font-family: inherit;
  font-weight: 600;
  white-space: nowrap;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
  position: relative;
}

.sc-step-btn:hover {
  background: #f0f4fa;
}

.sc-step-btn.active {
  background: #2f5fa7;
  color: #fff;
  border-color: #2f5fa7;
}

.sc-step-btn.has-data::after {
  content: '';
  position: absolute;
  top: 4px;
  right: 4px;
  width: 6px;
  height: 6px;
  background: #4a7a4e;
  border-radius: 50%;
}

.sc-step-btn.active.has-data::after {
  background: #a0e0a0;
}

/* Section content */
.sc-section-card {
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid #c8d8ec;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(30, 50, 80, 0.04);
}

.sc-section-header {
  padding: 20px 22px 16px;
  border-bottom: 1px solid #dceaf7;
  background: linear-gradient(180deg, #f8fcff 0%, #e8f2fc 100%);
}

.sc-section-title {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 26px;
  color: #1a2232;
  font-weight: 500;
}

.sc-section-subtitle {
  font-size: 12px;
  color: #627287;
  margin-top: 4px;
}

.sc-section-body {
  padding: 16px 18px 20px;
}

/* Grouped navigation hubs */
.staff-hub-shell{
  max-width:1300px;
  margin:0 auto 24px;
  padding:28px 48px 0;
}
.staff-hub-shell__panel{
  border:1px solid #d7e2ee;
  border-radius:24px;
  padding:24px 26px 22px;
  box-shadow:0 16px 36px rgba(23,34,46,0.08);
  position:relative;
  overflow:hidden;
  background:linear-gradient(160deg, rgba(255,255,255,0.96) 0%, rgba(247,250,254,0.98) 100%);
}
.staff-hub-shell__panel::after{
  content:"";
  position:absolute;
  inset:auto -40px -48px auto;
  width:180px;
  height:180px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(255,255,255,0.38) 0%, rgba(255,255,255,0) 72%);
  pointer-events:none;
}
.staff-hub-shell--schedule .staff-hub-shell__panel{
  background:
    radial-gradient(circle at top right, rgba(72,150,176,0.22) 0%, rgba(72,150,176,0) 42%),
    linear-gradient(160deg, #f8fcff 0%, #eef7fb 100%);
  border-color:#cfe0ea;
}
.staff-hub-shell--couple .staff-hub-shell__panel{
  background:
    radial-gradient(circle at top right, rgba(180,122,122,0.18) 0%, rgba(180,122,122,0) 42%),
    linear-gradient(160deg, #fffaf9 0%, #fdf2f0 100%);
  border-color:#ead8d4;
}
.staff-hub-shell--settings .staff-hub-shell__panel{
  background:
    radial-gradient(circle at top right, rgba(183,144,89,0.16) 0%, rgba(183,144,89,0) 40%),
    linear-gradient(160deg, #fffdf8 0%, #f8f4ea 100%);
  border-color:#e7dcc4;
}
.staff-hub-shell__eyebrow{
  font-size:10px;
  font-weight:600;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:#607185;
  margin-bottom:10px;
}
.staff-hub-shell__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.staff-hub-shell__copy{
  min-width:0;
}
.staff-hub-shell__title-row{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.staff-hub-shell__title{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:34px;
  line-height:1;
  color:#243142;
  letter-spacing:0.01em;
}
.staff-hub-shell__current{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(255,255,255,0.82);
  border:1px solid rgba(74,101,130,0.16);
  font-size:10px;
  font-weight:600;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:#506175;
}
.staff-hub-shell__sub{
  margin-top:10px;
  max-width:760px;
  font-size:14px;
  line-height:1.6;
  color:#5e6d80;
}
.staff-hub-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:20px;
}
.staff-hub-tab{
  border:1px solid #ced9e6;
  background:rgba(255,255,255,0.82);
  color:#556679;
  border-radius:999px;
  padding:10px 16px;
  font-size:10px;
  font-weight:600;
  letter-spacing:0.14em;
  text-transform:uppercase;
  cursor:pointer;
  transition:transform 0.16s ease, box-shadow 0.16s ease, background 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}
.staff-hub-tab:hover{
  transform:translateY(-1px);
  color:#223044;
  border-color:#aebed0;
  box-shadow:0 10px 20px rgba(30,43,59,0.08);
}
.staff-hub-tab.is-active{
  color:#fff;
  border-color:transparent;
  box-shadow:0 14px 28px rgba(30,43,59,0.14);
}
.staff-hub-shell--schedule .staff-hub-tab.is-active{
  background:linear-gradient(135deg, #1e7385 0%, #2d98ae 100%);
}
.staff-hub-shell--couple .staff-hub-tab.is-active{
  background:linear-gradient(135deg, #8b4c59 0%, #b96577 100%);
}
.staff-hub-shell--settings .staff-hub-tab.is-active{
  background:linear-gradient(135deg, #8a6a34 0%, #bb9556 100%);
}

#tab-tours .nav-label,
#tab-couple-management .nav-label,
#tab-site-settings .nav-label{
  white-space:normal;
  line-height:1.2;
  text-align:center;
}

@media (max-width: 900px){
  .staff-hub-shell{
    padding:22px 20px 0;
    margin-bottom:20px;
  }
  .staff-hub-shell__panel{
    padding:20px 18px 18px;
    border-radius:20px;
  }
  .staff-hub-shell__title{
    font-size:28px;
  }
}

@media (max-width: 640px){
  .staff-hub-shell{
    padding:18px 12px 0;
  }
  .staff-hub-shell__title{
    font-size:24px;
  }
  .staff-hub-shell__sub{
    font-size:13px;
  }
  .staff-hub-tabs{
    gap:8px;
    overflow-x:auto;
    padding-bottom:2px;
    flex-wrap:nowrap;
  }
  .staff-hub-tabs::-webkit-scrollbar{
    display:none;
  }
  .staff-hub-tab{
    flex:0 0 auto;
    padding:10px 14px;
    letter-spacing:0.1em;
  }
}

.sc-section-stack {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* Grid: property grid mode */
.sc-grid-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

.sc-grid-table th {
  position: sticky;
  top: 0;
  background: #f0f5fc;
  padding: 10px 6px;
  font-size: 9px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #546278;
  font-weight: 700;
  text-align: center;
  border-bottom: 2px solid #dce8f4;
  white-space: nowrap;
}

.sc-grid-table th:first-child {
  text-align: left;
  padding-left: 12px;
  min-width: 160px;
}

.sc-grid-table td {
  padding: 6px;
  border-bottom: 1px solid #eef3fa;
  vertical-align: middle;
}

.sc-grid-table td:first-child {
  padding-left: 12px;
  font-size: 13px;
  color: #1a2232;
  font-weight: 500;
}

.sc-grid-table tr:last-child td {
  border-bottom: none;
}

.sc-grid-table tr:hover td {
  background: rgba(47, 95, 167, 0.02);
}

/* Status pills */
.sc-pill-group {
  display: flex;
  justify-content: center;
  gap: 2px;
}

.sc-pill {
  border: 1.5px solid #d0dae8;
  background: #fff;
  color: #8a98aa;
  border-radius: 8px;
  padding: 5px 8px;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.06em;
  cursor: pointer;
  transition: all 0.12s;
  font-family: inherit;
  text-transform: uppercase;
  min-width: 32px;
  text-align: center;
}

.sc-pill:hover {
  border-color: #a0bce0;
  background: #f5f9ff;
}

.sc-pill.ok {
  background: #e8f5e8;
  color: #2d6a2d;
  border-color: #a0d0a0;
}

.sc-pill.low {
  background: #fef8e8;
  color: #8a6a1a;
  border-color: #e0cc80;
}

.sc-pill.missing {
  background: #fdeef0;
  color: #a03030;
  border-color: #e0a0a0;
}

/* Item note toggle */
.sc-item-note-btn {
  border: none;
  background: transparent;
  color: #b0bcc8;
  font-size: 14px;
  cursor: pointer;
  padding: 2px 4px;
  border-radius: 4px;
  transition: color 0.15s;
}

.sc-item-note-btn:hover,
.sc-item-note-btn.has-note {
  color: #2f5fa7;
}

.sc-item-note-input {
  width: 100%;
  border: 1px solid #d0dae8;
  border-radius: 8px;
  padding: 6px 10px;
  font-size: 12px;
  font-family: inherit;
  background: #fafcff;
  color: #222;
  margin-top: 4px;
  outline: none;
}

.sc-item-note-input:focus {
  border-color: #2f5fa7;
  background: #fff;
}

/* Single location mode (no grid) */
.sc-single-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.sc-single-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border: 1px solid #eef3fa;
  border-radius: 12px;
  background: #fafcff;
  transition: background 0.1s;
}

.sc-single-item:hover {
  background: #f0f5fc;
}

.sc-single-item-name {
  flex: 1;
  font-size: 13px;
  color: #1a2232;
  font-weight: 500;
  min-width: 0;
}

.sc-single-item-pills {
  display: flex;
  gap: 3px;
  flex-shrink: 0;
}

/* Section notes */
.sc-section-notes {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #dceaf7;
}

.sc-section-notes-label {
  font-size: 9px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #627287;
  font-weight: 700;
  margin-bottom: 6px;
}

.sc-section-notes-input {
  width: 100%;
  border: 1.5px solid #c8d8ec;
  border-radius: 12px;
  padding: 10px 14px;
  font-size: 13px;
  font-family: inherit;
  background: #f5f9ff;
  color: #222;
  min-height: 60px;
  resize: vertical;
  outline: none;
}

.sc-section-notes-input:focus {
  border-color: #2f5fa7;
  background: #fff;
}

/* Editor navigation */
.sc-editor-nav {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid rgba(200, 216, 236, 0.5);
}

.sc-nav-btn {
  border: 1px solid #c8d8ec;
  background: #fff;
  color: #546278;
  border-radius: 12px;
  padding: 12px 24px;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
  font-family: inherit;
  font-weight: 600;
  transition: background 0.15s, border-color 0.15s;
}

.sc-nav-btn:hover {
  background: #f0f4fa;
  border-color: #a0bce0;
}

.sc-nav-btn.primary {
  background: #2f5fa7;
  color: #fff;
  border-color: #2f5fa7;
}

.sc-nav-btn.primary:hover {
  filter: brightness(1.08);
}

.sc-nav-btn.complete {
  background: #3a5e3a;
  color: #fff;
  border-color: #3a5e3a;
}

.sc-nav-btn.complete:hover {
  filter: brightness(1.1);
}

/* Overview step */
.sc-overview-card {
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid #c8d8ec;
  border-radius: 18px;
  padding: 24px;
  box-shadow: 0 8px 24px rgba(30, 50, 80, 0.04);
}

.sc-location-step-card {
  margin-bottom: 18px;
}

.sc-overview-field {
  margin-bottom: 16px;
}

.sc-overview-label {
  font-size: 9px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #627287;
  font-weight: 700;
  margin-bottom: 6px;
}

.sc-overview-value {
  font-size: 14px;
  color: #1a2232;
  line-height: 1.5;
}

.sc-overview-sections {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 10px;
  margin-top: 16px;
}

.sc-overview-section-card {
  border: 1px solid #dce8f4;
  border-radius: 12px;
  padding: 14px;
  background: #f8fcff;
  display: flex;
  align-items: center;
  gap: 10px;
}

.sc-overview-section-name {
  font-size: 13px;
  color: #1a2232;
  font-weight: 500;
  flex: 1;
}

.sc-overview-section-count {
  font-size: 11px;
  color: #627287;
  white-space: nowrap;
}

/* Review step */
.sc-review-section {
  margin-bottom: 20px;
}

.sc-review-section-title {
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #627287;
  font-weight: 700;
  margin-bottom: 10px;
  padding-bottom: 6px;
  border-bottom: 1px solid #dceaf7;
}

.sc-review-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 0;
  font-size: 12px;
}

.sc-review-item-name {
  color: #1a2232;
  font-weight: 500;
  flex: 1;
}

.sc-review-item-location {
  color: #627287;
  font-size: 11px;
}

.sc-review-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}

.sc-review-dot.ok { background: #4a7a4e; }
.sc-review-dot.low { background: #c4a030; }
.sc-review-dot.missing { background: #c04a2a; }

.sc-review-summary {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-bottom: 20px;
}

.sc-review-summary-card {
  background: #fff;
  border: 1px solid #dce8f4;
  border-radius: 14px;
  padding: 16px;
  text-align: center;
}

.sc-review-summary-num {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 28px;
  font-weight: 600;
  line-height: 1;
}

.sc-review-summary-num.ok { color: #3a5e3a; }
.sc-review-summary-num.low { color: #8a6a1a; }
.sc-review-summary-num.missing { color: #c04a2a; }

.sc-review-summary-label {
  font-size: 9px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #627287;
  font-weight: 600;
  margin-top: 4px;
}

/* Detail page */
.sc-detail-hero {
  margin-bottom: 24px;
}

.sc-detail-title {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 34px;
  color: #1a2232;
  font-weight: 500;
}

.sc-detail-meta {
  display: flex;
  gap: 16px;
  align-items: center;
  margin-top: 8px;
  flex-wrap: wrap;
}

.sc-detail-meta-item {
  font-size: 12px;
  color: #627287;
}

.sc-detail-back {
  margin-bottom: 16px;
}

.sc-detail-section-card {
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid #c8d8ec;
  border-radius: 16px;
  margin-bottom: 16px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(30, 50, 80, 0.04);
}

.sc-detail-section-head {
  padding: 16px 20px;
  border-bottom: 1px solid #dceaf7;
  background: linear-gradient(180deg, #f8fcff 0%, #e8f2fc 100%);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 22px;
  color: #1a2232;
  font-weight: 500;
}

.sc-detail-section-body {
  padding: 14px 18px;
}

.sc-detail-notes {
  margin-top: 20px;
  padding: 18px;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid #c8d8ec;
  border-radius: 16px;
}

.sc-detail-notes-title {
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #627287;
  font-weight: 700;
  margin-bottom: 8px;
}

.sc-detail-notes-text {
  font-size: 13px;
  color: #1a2232;
  line-height: 1.6;
  white-space: pre-wrap;
}

/* Responsive */
/* ── Toolbar right group ── */
.sc-toolbar-right {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

/* ═══════════════════════════════════════════════════════
   STOCK CHECKLIST — RESPONSIVE (tablet)
   ═══════════════════════════════════════════════════════ */
@media (max-width: 900px) {
  /* Index cards: stack vertically */
  .sc-card {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
  .sc-card-right {
    width: 100%;
    justify-content: space-between;
  }
  .sc-card-actions {
    gap: 8px;
  }
  .sc-card-action {
    padding: 10px 16px;
    font-size: 11px;
  }

  /* Editor topbar: allow wrapping */
  .sc-editor-topbar {
    flex-wrap: wrap;
  }

  /* Review summary: stack */
  .sc-review-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  /* Grid table: slightly smaller on tablet */
  .sc-grid-table {
    font-size: 12px;
  }
  .sc-grid-table th,
  .sc-grid-table td {
    padding: 6px 4px;
  }
  .sc-pill {
    padding: 6px 8px;
    font-size: 9px;
    min-width: 30px;
  }
}

/* ═══════════════════════════════════════════════════════
   STOCK CHECKLIST — RESPONSIVE (mobile)
   ═══════════════════════════════════════════════════════ */
@media (max-width: 600px) {

  /* ── Editor shell ── */
  .sc-editor-shell {
    padding: 0 8px 80px;
  }

  /* ── Editor topbar: stack into rows ── */
  .sc-editor-topbar {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    padding: 10px 0;
  }
  .sc-editor-topbar-left {
    gap: 8px;
  }
  .sc-editor-title {
    font-size: 15px;
  }
  .sc-editor-topbar-right {
    display: flex;
    justify-content: stretch;
    gap: 8px;
    flex-wrap: nowrap;
  }
  .sc-editor-topbar-right .checklist-admin-btn {
    flex: 1;
    text-align: center;
    padding: 12px 8px;
    font-size: 11px;
  }
  .sc-save-indicator {
    display: none;
  }
  .sc-back-btn {
    padding: 10px 14px;
    font-size: 13px;
  }

  /* ── Step nav: horizontal scroll with larger touch targets ── */
  .sc-editor-steps {
    gap: 6px;
    padding-bottom: 6px;
    -webkit-overflow-scrolling: touch;
  }
  .sc-step-btn {
    padding: 10px 14px;
    font-size: 11px;
    min-height: 40px;
  }

  /* ── Section card ── */
  .sc-section-header {
    padding: 14px 14px 12px;
  }
  .sc-section-title {
    font-size: 20px;
  }
  .sc-section-body {
    padding: 8px 0 16px;
  }

  /* ── Toolbar: stack ── */
  .sc-toolbar {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }
  .sc-toolbar-right {
    width: 100%;
    display: flex;
  }
  .sc-toolbar-right .checklist-admin-btn {
    flex: 1;
    text-align: center;
    padding: 12px 8px;
  }
  .sc-filter-tabs {
    width: 100%;
    justify-content: stretch;
  }
  .sc-filter-tab {
    flex: 1;
    text-align: center;
    padding: 10px 8px;
    font-size: 11px;
  }
  .sc-new-btn {
    width: 100%;
  }

  /* ── Index cards: bigger touch targets ── */
  .sc-card {
    padding: 14px;
  }
  .sc-card-actions {
    gap: 8px;
    width: 100%;
  }
  .sc-card-action {
    flex: 1;
    text-align: center;
    padding: 12px 10px;
    font-size: 11px;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  /* ── GRID TABLE → STACKED CARD LAYOUT ──
     Instead of horizontal scrolling, each item becomes a card
     with locations listed vertically beneath. */
  .sc-grid-scroll {
    overflow-x: visible;
  }
  .sc-grid-table {
    display: block;
    font-size: 14px;
  }
  .sc-grid-table thead {
    display: none;
  }
  .sc-grid-table tbody {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .sc-grid-table tr {
    display: block;
    background: #f8fbff;
    border: 1px solid #dce8f4;
    border-radius: 14px;
    padding: 12px;
  }
  .sc-grid-table tr:hover td {
    background: transparent;
  }
  /* Note rows */
  .sc-grid-table tr[id^="sc-note-row-"] {
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0 4px 0;
    margin-top: -6px;
  }
  .sc-grid-table tr[id^="sc-note-row-"] td {
    padding: 4px 0 !important;
  }
  /* Item name cell */
  .sc-grid-table td:first-child {
    display: block;
    padding: 0 0 8px 0;
    font-size: 15px;
    font-weight: 600;
    color: #1a2232;
    border-bottom: 1px solid #e4ecf5;
    margin-bottom: 8px;
  }
  /* Location cells */
  .sc-grid-table td[data-label] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 0;
    border-bottom: 1px solid #eef3fa;
  }
  .sc-grid-table td[data-label]:last-child {
    border-bottom: none;
  }
  .sc-grid-table td[data-label]::before {
    content: attr(data-label);
    font-size: 12px;
    font-weight: 600;
    color: #546278;
    flex-shrink: 0;
    margin-right: 12px;
  }

  /* ── Pills: large touch targets ── */
  .sc-pill {
    padding: 10px 14px;
    font-size: 12px;
    min-width: 44px;
    min-height: 40px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .sc-pill-group {
    gap: 6px;
  }

  /* ── Single-location items: bigger ── */
  .sc-single-item {
    padding: 12px;
    gap: 10px;
    flex-wrap: wrap;
  }
  .sc-single-item-name {
    font-size: 14px;
    width: 100%;
  }
  .sc-single-item-pills {
    width: 100%;
    gap: 6px;
  }
  .sc-single-item-pills .sc-pill {
    flex: 1;
  }

  /* ── Note inputs ── */
  .sc-item-note-btn {
    font-size: 18px;
    padding: 4px 8px;
    min-width: 32px;
    min-height: 32px;
  }
  .sc-item-note-input {
    padding: 10px 12px;
    font-size: 14px;
    border-radius: 10px;
  }

  /* ── Section notes ── */
  .sc-section-notes {
    margin-top: 16px;
    padding: 16px 12px 0;
  }
  .sc-section-notes-input {
    padding: 12px 14px;
    font-size: 14px;
    min-height: 70px;
  }

  /* ── Nav buttons ── */
  .sc-editor-nav {
    gap: 8px;
    margin-top: 16px;
    padding: 12px 0 0;
  }
  .sc-nav-btn {
    flex: 1;
    text-align: center;
    padding: 14px 12px;
    font-size: 12px;
    min-height: 48px;
    border-radius: 14px;
  }

  /* ── Overview ── */
  .sc-overview-sections {
    grid-template-columns: 1fr;
  }
  .sc-overview-card {
    padding: 18px 14px;
  }
  .sc-overview-section-card {
    padding: 12px;
  }

  /* ── Review ── */
  .sc-review-summary {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }
  .sc-review-summary-card {
    padding: 12px 8px;
  }
  .sc-review-summary-num {
    font-size: 24px;
  }

  /* ── Detail page ── */
  .sc-detail-title {
    font-size: 24px;
  }
  .sc-detail-section-body {
    padding: 10px 12px;
  }
  .sc-detail-actions {
    flex-direction: column;
  }
  .sc-detail-action-btn {
    width: 100%;
    text-align: center;
    padding: 12px 16px;
    font-size: 12px;
    min-height: 44px;
  }

  /* ── Stat cards ── */
  .sc-stats-row {
    gap: 8px;
  }
  .sc-stat-card {
    flex: 1;
    min-width: 0;
    padding: 12px 8px;
  }
  .sc-stat-num {
    font-size: 24px;
  }
  .sc-stat-label {
    font-size: 8px;
  }

  /* ── Dashboard ── */
  .sc-dash-summary-row {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }
  .sc-dash-summary-card {
    padding: 14px 10px;
  }
  .sc-dash-summary-num {
    font-size: 28px;
  }
  .sc-dash-bar-row {
    grid-template-columns: 70px 1fr;
    gap: 8px;
  }
  .sc-dash-bar-label {
    font-size: 9px;
  }
  .sc-dash-chart-card {
    padding: 16px 12px;
  }

  /* ── Dashboard item trends table → stacked ── */
  .sc-dash-item-table thead {
    display: none;
  }
  .sc-dash-item-table,
  .sc-dash-item-table tbody,
  .sc-dash-item-table tr,
  .sc-dash-item-table td {
    display: block;
  }
  .sc-dash-item-table tr {
    padding: 12px 14px;
    border-bottom: 1px solid #eef3fa;
  }
  .sc-dash-item-table td {
    padding: 2px 0;
    font-size: 13px;
  }
  .sc-dash-item-table td:first-child {
    font-weight: 600;
    font-size: 14px;
    margin-bottom: 4px;
  }

  /* ── Notifications ── */
  .sc-notification {
    padding: 14px;
    gap: 10px;
    flex-wrap: wrap;
  }
  .sc-notification-btn {
    padding: 10px 14px;
    font-size: 11px;
    min-height: 40px;
  }
}

/* ── Notifications area ── */
.sc-notification {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 16px 20px;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid #e0a0a0;
  border-left: 4px solid #c04a2a;
  border-radius: 14px;
  margin-bottom: 16px;
  box-shadow: 0 4px 12px rgba(192, 74, 42, 0.08);
  animation: sc-notify-in 0.3s ease;
}

@keyframes sc-notify-in {
  from { opacity: 0; transform: translateY(-8px); }
  to { opacity: 1; transform: translateY(0); }
}

.sc-notification-icon {
  font-size: 22px;
  flex-shrink: 0;
  margin-top: 2px;
}

.sc-notification-content {
  flex: 1;
  min-width: 0;
}

.sc-notification-title {
  font-size: 13px;
  font-weight: 700;
  color: #8a3a2a;
  margin-bottom: 4px;
}

.sc-notification-text {
  font-size: 12px;
  color: #546278;
  line-height: 1.5;
}

.sc-notification-actions {
  display: flex;
  gap: 8px;
  margin-top: 8px;
}

.sc-notification-btn {
  border: 1px solid #c8d8ec;
  background: #fff;
  color: #546278;
  border-radius: 8px;
  padding: 6px 12px;
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  font-family: inherit;
  font-weight: 600;
}

.sc-notification-btn:hover {
  background: #f0f4fa;
}

.sc-notification-dismiss {
  border: none;
  background: transparent;
  color: #b0bcc8;
  font-size: 18px;
  cursor: pointer;
  padding: 0 4px;
  flex-shrink: 0;
}

.sc-notification-dismiss:hover {
  color: #8a3a2a;
}

.sc-notification.info {
  border-color: #a0bce0;
  border-left-color: #2f5fa7;
}

.sc-notification.info .sc-notification-title {
  color: #2f5fa7;
}

/* ── Detail: Print/Export bar ── */
.sc-detail-actions {
  display: flex;
  gap: 8px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}

.sc-detail-action-btn {
  border: 1px solid #c8d8ec;
  background: #fff;
  color: #546278;
  border-radius: 10px;
  padding: 9px 16px;
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
  font-family: inherit;
  font-weight: 600;
  transition: background 0.15s, border-color 0.15s;
}

.sc-detail-action-btn:hover {
  background: #f0f4fa;
  border-color: #a0bce0;
}

/* ── Dashboard page ── */
body.page-stock-checklist-dashboard #header {
  background: linear-gradient(180deg, rgba(31, 63, 110, 0.96) 0%, rgba(22, 45, 78, 0.98) 100%);
  border-bottom-color: rgba(188, 208, 238, 0.38);
}

#sc-dash-body {
  background:
    radial-gradient(circle at top left, rgba(219, 226, 206, 0.65), transparent 32%),
    linear-gradient(180deg, #edf4fc 0%, #f3f8fd 100%);
  min-height: calc(100vh - 150px);
}

.sc-dash-back {
  margin-bottom: 20px;
}

.sc-dash-summary-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 12px;
  margin-bottom: 24px;
}

.sc-dash-summary-card {
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid #c8d8ec;
  border-radius: 16px;
  padding: 20px;
  text-align: center;
  box-shadow: 0 4px 12px rgba(30, 50, 80, 0.04);
}

.sc-dash-summary-num {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 36px;
  font-weight: 600;
  line-height: 1;
  color: #1a2232;
}

.sc-dash-summary-num.ok { color: #3a5e3a; }
.sc-dash-summary-num.low { color: #8a6a1a; }
.sc-dash-summary-num.missing { color: #c04a2a; }

.sc-dash-summary-label {
  font-size: 9px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #627287;
  font-weight: 600;
  margin-top: 6px;
}

.sc-dash-chart-area {
  margin-bottom: 24px;
}

.sc-dash-chart-card {
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid #c8d8ec;
  border-radius: 18px;
  padding: 24px;
  box-shadow: 0 8px 24px rgba(30, 50, 80, 0.04);
}

.sc-dash-chart-title {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 24px;
  color: #1a2232;
  font-weight: 500;
  margin-bottom: 16px;
}

.sc-dash-chart-subtitle {
  font-size: 12px;
  color: #627287;
  margin-bottom: 16px;
}

/* Bar chart via CSS */
.sc-dash-bars {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.sc-dash-bar-row {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 12px;
  align-items: center;
}

.sc-dash-bar-label {
  font-size: 11px;
  color: #546278;
  text-align: right;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sc-dash-bar-track {
  height: 24px;
  background: #eef3fa;
  border-radius: 6px;
  overflow: hidden;
  display: flex;
}

.sc-dash-bar-seg {
  height: 100%;
  transition: width 0.4s ease;
  position: relative;
}

.sc-dash-bar-seg.ok { background: #b8dab8; }
.sc-dash-bar-seg.low { background: #f0dca0; }
.sc-dash-bar-seg.missing { background: #f0b0b0; }

.sc-dash-bar-values {
  display: flex;
  gap: 8px;
  margin-left: 8px;
  font-size: 10px;
  color: #627287;
  white-space: nowrap;
  align-items: center;
}

/* Item trends: frequent flagged items table */
.sc-dash-item-trends {
  margin-top: 0;
}

.sc-dash-item-card {
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid #c8d8ec;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(30, 50, 80, 0.04);
}

.sc-dash-item-card-head {
  padding: 20px 22px 16px;
  border-bottom: 1px solid #dceaf7;
  background: linear-gradient(180deg, #f8fcff 0%, #e8f2fc 100%);
}

.sc-dash-item-card-title {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 24px;
  color: #1a2232;
  font-weight: 500;
}

.sc-dash-item-card-sub {
  font-size: 12px;
  color: #627287;
  margin-top: 4px;
}

.sc-dash-item-table {
  width: 100%;
  border-collapse: collapse;
}

.sc-dash-item-table th {
  text-align: left;
  padding: 10px 18px;
  font-size: 9px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #546278;
  font-weight: 700;
  border-bottom: 1px solid #dce8f4;
  background: #f8fbff;
}

.sc-dash-item-table td {
  padding: 10px 18px;
  font-size: 13px;
  color: #1a2232;
  border-bottom: 1px solid #eef3fa;
}

.sc-dash-item-table tr:last-child td {
  border-bottom: none;
}

.sc-dash-item-table tr:hover td {
  background: rgba(47, 95, 167, 0.02);
}

.sc-dash-trend-bar {
  display: inline-block;
  height: 8px;
  border-radius: 4px;
  min-width: 4px;
}

.sc-dash-trend-bar.low { background: #e0cc80; }
.sc-dash-trend-bar.missing { background: #e0a0a0; }

.checklist-admin-status.is-error {
  color: #8a3a2a;
}

.checklist-admin-status.is-info {
  color: #2f5fa7;
}

.checklist-admin-inline-btn.warn {
  color: #8a3a2a;
  border-color: #e0b7ad;
  background: #fff7f5;
}

.sc-page-alerts {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 18px;
}

.sc-banner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  border-radius: 16px;
  border: 1px solid #c8d8ec;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 6px 18px rgba(30, 50, 80, 0.05);
}

.sc-banner.info {
  border-color: #b7cce6;
  background: linear-gradient(180deg, rgba(247, 251, 255, 0.98) 0%, rgba(236, 244, 253, 0.98) 100%);
}

.sc-banner.warning {
  border-color: #e5d29b;
  background: linear-gradient(180deg, rgba(255, 251, 239, 0.98) 0%, rgba(255, 247, 225, 0.98) 100%);
}

.sc-banner.error {
  border-color: #e0b7ad;
  background: linear-gradient(180deg, rgba(255, 248, 246, 0.98) 0%, rgba(255, 241, 238, 0.98) 100%);
}

.sc-banner-copy {
  flex: 1;
  min-width: 0;
}

.sc-banner-title {
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #1a2232;
  font-weight: 700;
}

.sc-banner-text {
  margin-top: 6px;
  font-size: 13px;
  color: #546278;
  line-height: 1.6;
}

.sc-banner-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.sc-banner-meta {
  font-size: 12px;
  color: #627287;
  line-height: 1.5;
}

.sc-loading-panel {
  padding: 28px 20px;
  text-align: center;
  color: #627287;
  border: 1px dashed #cfd8e8;
  border-radius: 16px;
  background: rgba(245, 249, 254, 0.82);
  font-size: 13px;
}

@keyframes sc-shimmer {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(100%); }
}

.sc-stat-card.is-loading {
  position: relative;
  min-height: 92px;
  overflow: hidden;
  border-color: #dce8f4;
  background: linear-gradient(180deg, rgba(244, 248, 253, 0.95) 0%, rgba(236, 243, 250, 0.95) 100%);
}

.sc-stat-card.is-loading::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.7) 45%, transparent 100%);
  animation: sc-shimmer 1.4s infinite;
}

.sc-card {
  outline: none;
}

.sc-card:focus-visible {
  border-color: #2f5fa7;
  box-shadow: 0 0 0 3px rgba(47, 95, 167, 0.16), 0 10px 26px rgba(30, 50, 80, 0.08);
}

.sc-card-action:focus-visible,
.sc-detail-action-btn:focus-visible,
.sc-pill:focus-visible,
.sc-item-note-btn:focus-visible,
.checklist-admin-inline-btn:focus-visible {
  outline: 2px solid #2f5fa7;
  outline-offset: 2px;
}

.sc-card-progress-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}

.sc-card-progress-meta {
  font-size: 10px;
  color: #627287;
  text-align: center;
  min-width: 96px;
  line-height: 1.45;
}

.sc-card-actions {
  flex-wrap: wrap;
  justify-content: flex-end;
}

.sc-template-summary {
  margin-bottom: 18px;
}

.sc-template-readonly .checklist-admin-form {
  opacity: 0.78;
}

.sc-template-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
  margin-bottom: 12px;
}

.sc-template-summary-card {
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid #c8d8ec;
  border-radius: 16px;
  padding: 18px 16px;
  text-align: center;
  box-shadow: 0 6px 18px rgba(30, 50, 80, 0.04);
}

.sc-template-summary-value {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 34px;
  line-height: 1;
  color: #1a2232;
  font-weight: 600;
}

.sc-template-summary-label {
  margin-top: 6px;
  font-size: 9px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #627287;
  font-weight: 700;
}

.sc-template-health-card {
  border: 1px solid #c8d8ec;
  border-radius: 16px;
  padding: 18px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 6px 18px rgba(30, 50, 80, 0.04);
}

.sc-template-health-card.warning {
  border-color: #e5d29b;
  background: linear-gradient(180deg, rgba(255, 251, 239, 0.98) 0%, rgba(255, 247, 225, 0.98) 100%);
}

.sc-template-health-card.success {
  border-color: #b8d6bf;
  background: linear-gradient(180deg, rgba(247, 252, 247, 0.98) 0%, rgba(239, 248, 239, 0.98) 100%);
}

.sc-template-health-title {
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #1a2232;
  font-weight: 700;
}

.sc-template-health-sub {
  margin-top: 6px;
  font-size: 13px;
  color: #546278;
  line-height: 1.6;
}

.sc-template-health-list {
  margin: 14px 0 0 18px;
  color: #546278;
  font-size: 13px;
  line-height: 1.7;
}

.sc-template-health-empty {
  margin-top: 12px;
  font-size: 13px;
  color: #4a7a4e;
  line-height: 1.6;
}

.sc-single-item {
  align-items: flex-start;
}

.sc-single-item-main {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.sc-detail-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 12px;
  margin-bottom: 20px;
}

.sc-detail-note-row td {
  background: #fbfdff;
}

.sc-detail-note-text {
  padding: 0 4px 2px;
  font-size: 12px;
  color: #627287;
  line-height: 1.6;
  white-space: pre-wrap;
}

.sc-note-chip {
  display: inline-flex;
  align-items: center;
  margin-left: 8px;
  padding: 2px 8px;
  border-radius: 999px;
  background: #eef4fb;
  border: 1px solid #c8d8ec;
  color: #546278;
  font-size: 9px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 700;
}

.sc-detail-item-note {
  font-size: 12px;
  color: #627287;
  line-height: 1.55;
  white-space: pre-wrap;
}

.checklist-admin-btn[disabled],
.sc-card-action[disabled],
.sc-detail-action-btn[disabled] {
  opacity: 0.58;
  cursor: not-allowed;
  filter: none;
}

@media (max-width: 900px) {
  .sc-banner {
    flex-direction: column;
  }

  .sc-banner-actions {
    width: 100%;
  }
}

@media (max-width: 600px) {
  .sc-banner-actions .checklist-admin-btn {
    width: 100%;
  }

  .sc-card-progress-wrap {
    width: 100%;
  }

  .sc-card-progress-meta {
    min-width: 0;
  }

  .sc-template-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sc-detail-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Print styles */
@media print {
  body * { visibility: hidden; }
  #page-stock-checklist-detail,
  #page-stock-checklist-detail * { visibility: visible; }
  #page-stock-checklist-detail {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
  }
  .sc-detail-back,
  .sc-detail-actions,
  .sc-back-btn,
  .checklist-admin-btn,
  #header,
  #staff-sidebar,
  .staff-mobile-bottom-nav,
  #mobile-nav-drawer,
  #conn-bar { display: none !important; }

  .sc-detail-section-card {
    break-inside: avoid;
    box-shadow: none;
    border-color: #ccc;
  }
  .sc-pill {
    border-width: 1px;
    font-size: 8px;
    padding: 2px 4px;
  }
  .sc-grid-table th, .sc-grid-table td {
    padding: 3px 4px;
    font-size: 10px;
  }
  /* Reset mobile card layout back to table for print */
  .sc-grid-table { display: table; }
  .sc-grid-table thead { display: table-header-group; }
  .sc-grid-table tbody { display: table-row-group; }
  .sc-grid-table tr { display: table-row; background: none; border: none; padding: 0; }
  .sc-grid-table td { display: table-cell; }
  .sc-grid-table td[data-label]::before { display: none; }
}


