/* Solven Backoffice — styles
 * Generated from backoffice.html timeens de module-opsplitsing.
 * Edit here; import via <link> in backoffice.html.
 */

:root{
  --bg:#07111f;--panel:#0d1b2f;--panel2:#0a1a2d;--line:#25415f;
  --text:#f1f7ff;--muted:#9eb4cc;--blue:#38a3ff;--blue2:#74c7ff;
  --green:#36d399;--orange:#ffb020;--red:#ff5c7a;--white:#ffffff;
}
*{box-sizing:border-box}
body{margin:0;background:#07111f;color:var(--text);font-family:system-ui,-apple-system,Segoe UI,sans-serif}
.app{display:grid;grid-template-columns:260px 1fr;min-height:100vh}
.sidebar{background:#081827;border-right:1px solid var(--line);padding:18px;position:sticky;top:0;height:100vh}
.logo{font-size:24px;font-weight:950;letter-spacing:-.04em;margin-bottom:4px}
.logo span{color:var(--blue)}
.sub{color:var(--muted);font-size:12px;margin-bottom:20px}
.nav{display:grid;gap:8px}
.nav button{border:1px solid transparent;background:transparent;color:#b7cce3;text-align:left;border-radius:14px;padding:12px 12px;font-weight:850;cursor:pointer}
.nav button:hover{background:#10233d}
.nav button.active{background:linear-gradient(135deg,#173a63,#10233d);border-color:#2a5d8d;color:var(--white)}
.main{padding:22px;min-width:0}
.topbar{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}
h1,h2,h3,p{margin:0}
h1{font-size:30px;letter-spacing:-.04em}
p{color:var(--muted);font-size:14px;line-height:1.45}
.badge{border-radius:999px;background:#173152;color:#74c7ff;padding:8px 11px;font-size:12px;font-weight:950;white-space:nowrap}
.screen{display:none}.screen.active{display:block}
.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:16px;margin-bottom:14px;min-width:0}
.metric{background:linear-gradient(145deg,#0d1b2f,#0a1a2d);border:1px solid #25415f;border-radius:20px;padding:16px}
.metric b{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}
.metric span{font-size:28px;font-weight:950;letter-spacing:-.04em}
.metric.good span{color:#7df0c7}.metric.warn span{color:#ffd36d}.metric.bad span{color:#ff9bae}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}
input,select,textarea{background:#081827;border:1px solid #2b4a6b;color:var(--text);border-radius:13px;padding:11px 12px;font-size:14px;outline:0}
textarea{min-height:100px;width:100%}
button.primary,button.ghost,button.good,button.warn,button.bad{border:0;border-radius:13px;padding:11px 13px;font-size:14px;font-weight:950;cursor:pointer}
button.primary{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#06111f}
button.good{background:linear-gradient(135deg,#26ce91,#78f0c5);color:#06111f}
button.warn{background:#332812;color:#ffd36d;border:1px solid rgba(255,176,32,.55)}
button.bad{background:#32131d;color:#ff9bae;border:1px solid rgba(255,92,122,.55)}
button.ghost{background:#142945;color:var(--text);border:1px solid #2c4d70}
.table-wrap{overflow:auto;border:1px solid #25415f;border-radius:18px}
table{width:100%;border-collapse:collapse;min-width:860px;background:#0a1a2d}
th,td{border-bottom:1px solid #1d3652;padding:12px;text-align:left;font-size:13px;vertical-align:top}
th{color:#b7dcff;background:#10233d;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
tr:hover td{background:#0f2239}
.status{display:inline-block;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:950;background:#173152;color:#74c7ff}
.status.good{background:rgba(54,211,153,.14);color:#7df0c7}
.status.warn{background:rgba(255,176,32,.15);color:#ffd36d}
.status.bad{background:rgba(255,92,122,.15);color:#ff9bae}
.split{display:grid;grid-template-columns:minmax(0,1.2fr) 380px;gap:14px}
.detail{position:sticky;top:18px}
.detail-line{display:flex;justify-content:space-between;gap:12px;background:#081827;border:1px solid #284865;border-radius:14px;padding:10px 12px;margin-top:8px}
.detail-line b{font-size:13px}.detail-line span{font-size:13px;color:#b7dcff;text-align:right}
.board{display:grid;grid-template-columns:repeat(5,minmax(220px,1fr));gap:12px;overflow:auto;padding-bottom:6px}
.lane{background:#0a1a2d;border:1px solid #223b59;border-radius:18px;padding:12px;min-height:420px}
.lane h3{font-size:15px;margin-bottom:10px;color:#b7dcff}
.task{background:#081827;border:1px solid #284865;border-radius:15px;padding:12px;margin-bottom:10px}
.task b{display:block;font-size:14px;margin-bottom:5px}
.task span{display:block;color:var(--muted);font-size:12px;line-height:1.4}
.alert{border-radius:18px;padding:13px;background:#211a0c;border:1px solid rgba(255,176,32,.55);margin-top:10px}
.alert.bad{background:#32131d;border-color:rgba(255,92,122,.55)}
.alert.good{background:#0d241f;border-color:rgba(54,211,153,.55)}
.toast{position:fixed;right:22px;bottom:22px;background:#10233d;border:1px solid #2d547c;border-radius:18px;padding:13px 14px;opacity:0;transition:.22s;box-shadow:0 16px 50px rgba(0,0,0,.35);z-index:99}
.toast.show{opacity:1}
.mobile-note{display:none}
@media(max-width:980px){
  .app{grid-template-columns:1fr}
  .sidebar{position:relative;height:auto}
  .nav{grid-template-columns:repeat(2,1fr)}
  .grid4,.grid3,.grid2,.split{grid-template-columns:1fr}
  .detail{position:relative;top:0}
  .mobile-note{display:block}
}

.clickable{cursor:pointer}
.clickable:hover{outline:1px solid rgba(116,199,255,.55);box-shadow:0 0 0 3px rgba(56,163,255,.08)}
.metric.clickable:hover{transform:translateY(-1px)}
tr.clickable:hover td{background:#132944!important}
.task.clickable:hover,.alert.clickable:hover,.lane .task:hover{outline:1px solid rgba(116,199,255,.55)}

.user-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}
.user-card{background:#081827;border:1px solid #284865;border-radius:16px;padding:12px}
.user-card.active{border-color:rgba(54,211,153,.55);background:#0d241f}
.user-card.inactive{opacity:.65}
.user-card b{display:block;font-size:14px;margin-bottom:4px}
.user-card span{display:block;font-size:12px;color:var(--muted);line-height:1.45}
.permission-list{display:grid;gap:8px;margin-top:10px}
.permission-item{background:#0a1a2d;border:1px solid #223b59;border-radius:14px;padding:10px 12px;font-size:13px;color:#b7dcff}
.user-form-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
@media(max-width:980px){.user-grid,.user-form-grid{grid-template-columns:1fr}}

.tech-availability{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:8px}
.av-day{border:1px solid #284865;background:#081827;border-radius:11px;padding:7px;text-align:center;font-size:11px;font-weight:900;color:#b7dcff}
.av-day.off{background:#32131d;border-color:rgba(255,92,122,.55);color:#ff9bae}
.tech-assign-panel{background:#081827;border:1px solid #284865;border-radius:16px;padding:12px;margin-top:10px}
.tech-type-pill{display:inline-block;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:950;background:rgba(56,163,255,.14);color:#74c7ff;margin-top:6px}
.tech-type-pill.zzp{background:rgba(255,176,32,.15);color:#ffd36d}
.tech-type-pill.inactive{background:rgba(255,92,122,.15);color:#ff9bae}

.planning-warning{background:#32131d;border:1px solid rgba(255,92,122,.55);border-radius:14px;padding:10px;margin-top:8px;color:#ffb7c5;font-size:13px}
.planning-ok{background:#0d241f;border:1px solid rgba(54,211,153,.55);border-radius:14px;padding:10px;margin-top:8px;color:#7df0c7;font-size:13px}
.capacity-bar{height:8px;background:#162b47;border-radius:999px;overflow:hidden;margin-top:8px}
.capacity-fill{height:100%;background:linear-gradient(90deg,var(--green),var(--orange));width:0%}
.capacity-fill.over{background:linear-gradient(90deg,var(--red),#ff91a5)}
.assignment-panel{background:#081827;border:1px solid #284865;border-radius:16px;padding:12px;margin-top:12px}
.assignment-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:10px}
@media(max-width:980px){.assignment-grid{grid-template-columns:1fr}}

.quote-flow{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px;overflow:auto;padding-bottom:6px}
.quote-step{background:#0a1a2d;border:1px solid #223b59;border-radius:18px;padding:12px;min-height:260px}
.quote-step h3{font-size:15px;color:#b7dcff;margin-bottom:10px}
.quote-card{background:#081827;border:1px solid #284865;border-radius:15px;padding:12px;margin-bottom:10px}
.quote-card.ready{border-color:rgba(54,211,153,.55);background:#0d241f}
.quote-card.blocked{border-color:rgba(255,92,122,.55);background:#32131d}
.quote-card b{display:block;font-size:14px;margin-bottom:5px}
.quote-card span{display:block;font-size:12px;color:var(--muted);line-height:1.45}
.quote-builder{background:#081827;border:1px solid #284865;border-radius:16px;padding:12px;margin-top:10px}
.quote-lines{display:grid;gap:8px;margin-top:10px}
.quote-line{display:grid;grid-template-columns:1.5fr .5fr .7fr .7fr;gap:8px;align-items:center;background:#0a1a2d;border:1px solid #223b59;border-radius:14px;padding:10px}
.quote-line input{width:100%}

.e2e-flow{display:grid;grid-template-columns:repeat(8,minmax(160px,1fr));gap:10px;overflow:auto;padding-bottom:8px}
.e2e-step{background:#081827;border:1px solid #284865;border-radius:16px;padding:12px;min-height:130px}
.e2e-step.done{background:#0d241f;border-color:rgba(54,211,153,.55)}
.e2e-step.blocked{background:#32131d;border-color:rgba(255,92,122,.55)}
.e2e-step b{display:block;font-size:13px;margin-bottom:5px}
.e2e-step span{display:block;font-size:12px;color:var(--muted);line-height:1.4}
.test-report{display:grid;gap:8px;margin-top:10px}
.test-check{display:flex;justify-content:space-between;gap:10px;background:#081827;border:1px solid #284865;border-radius:14px;padding:10px 12px}
.test-check.ok{background:#0d241f;border-color:rgba(54,211,153,.55)}
.test-check.fail{background:#32131d;border-color:rgba(255,92,122,.55)}
.test-check b{font-size:13px}.test-check span{font-size:12px;color:#b7dcff;text-align:right}
.mobile-sync-card{background:#0a1a2d;border:1px solid #223b59;border-radius:16px;padding:12px;margin-top:10px}
.mobile-sync-card b{display:block;font-size:14px;margin-bottom:4px}
.mobile-sync-card span{display:block;font-size:12px;color:var(--muted);line-height:1.45}

.intake-clean-note{background:#081827;border:1px solid #284865;border-radius:16px;padding:12px;margin:10px 0;color:#b7dcff;font-size:13px;line-height:1.45}
.intake-form-compact{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.intake-form-compact .full{grid-column:1/-1}
@media(max-width:980px){.intake-form-compact{grid-template-columns:1fr}}

.material-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.material-price{color:#7df0c7;font-weight:950}
@media(max-width:980px){.material-admin-grid{grid-template-columns:1fr}}

.logic-flow{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px;overflow:auto}
.logic-card{background:#081827;border:1px solid #284865;border-radius:16px;padding:14px}
.logic-card.ok{background:#0d241f;border-color:rgba(54,211,153,.55)}
.logic-card.warn{background:#211a0c;border-color:rgba(255,176,32,.55)}
.logic-card.bad{background:#32131d;border-color:rgba(255,92,122,.65)}
.logic-card b{display:block;font-size:14px;margin-bottom:6px}
.logic-card span{display:block;color:#b7dcff;font-size:12px;line-height:1.45}
.sync-table-tag{display:inline-flex;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:950;background:#142945;border:1px solid #2c4d70;color:#b7dcff}

.week-planning-wrap{overflow:auto;border-radius:22px;border:1px solid rgba(255,255,255,.10)}
.week-grid{min-width:1100px;display:grid;grid-template-columns:180px repeat(5,1fr);background:#07111f}
.week-head,.week-tech,.week-cell{border-right:1px solid #223c5d;border-bottom:1px solid #223c5d;padding:12px}
.week-head{background:#10233d;color:#b7dcff;font-weight:950;font-size:13px;text-transform:uppercase;letter-spacing:.04em}
.week-tech{background:#081827;font-weight:950}
.week-tech span{display:block;color:var(--muted);font-size:12px;font-weight:700;margin-top:4px}
.week-cell{min-height:138px;background:#081827}
.slot{border-radius:14px;padding:10px;margin-bottom:8px;border:1px solid #284865;background:#0c2036;cursor:pointer}
.slot b{display:block;font-size:13px;margin-bottom:4px}
.slot span{display:block;font-size:12px;color:#b7dcff;line-height:1.35}
.slot.available{background:#0d241f;border-color:rgba(54,211,153,.55)}
.slot.partial{background:#211a0c;border-color:rgba(255,176,32,.55)}
.slot.full{background:#32131d;border-color:rgba(255,92,122,.65)}
.slot:hover{outline:2px solid rgba(116,199,255,.35)}
.week-legend{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}
.legend-item{display:inline-flex;align-items:center;gap:6px;border:1px solid #284865;background:#081827;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:850;color:#b7dcff}
.legend-dot{width:10px;height:10px;border-radius:999px;display:inline-block}
.dot-green{background:#36d399}.dot-orange{background:#ffb020}.dot-red{background:#ff5c7a}
.assign-panel{background:#081827;border:1px solid #284865;border-radius:18px;padding:14px;margin-top:12px}
.assign-panel b{display:block;margin-bottom:6px}
.assign-panel span{display:block;color:var(--muted);font-size:13px;line-height:1.45}

.leak-row{cursor:pointer}
.leak-row:hover{outline:2px solid rgba(116,199,255,.35)}
.leak-detail{background:#081827;border:1px solid #284865;border-radius:18px;padding:14px;margin-top:12px}
.leak-detail b{display:block;margin-bottom:6px}
.leak-detail p{margin:0 0 10px;color:var(--muted);font-size:13px;line-height:1.45}
.leak-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.leak-actions button{width:auto}
.leak-critical{background:#32131d!important;border-color:rgba(255,92,122,.65)!important}
.leak-warning{background:#211a0c!important;border-color:rgba(255,176,32,.55)!important}
.leak-ok{background:#0d241f!important;border-color:rgba(54,211,153,.55)!important}

/*  - Operational color system */
:root{
  --bg:#07111F!important;--panel:#0D1B2F!important;--panel2:#081827!important;--line:#284865!important;
  --text:#F3F8FF!important;--muted:#A9B8CC!important;
  --blue:#38A3FF!important;--blue2:#74C7FF!important;
  --green:#36D399!important;--greenBg:#0D241F!important;
  --orange:#FFB020!important;--orangeBg:#211A0C!important;
  --red:#FF5C7A!important;--redBg:#32131D!important;
}
.primary,.btn.primary{background:linear-gradient(135deg,#38A3FF,#74C7FF)!important;color:#06111F!important}
.good,.ok,.status.good,.metric.good,.completed-card,.completed-row{background:#0D241F!important;border-color:rgba(54,211,153,.58)!important;color:#7DF0C7!important}
.warn,.status.warn,.metric.warn{background:#211A0C!important;border-color:rgba(255,176,32,.62)!important;color:#FFD36D!important}
.bad,.missing,.status.bad,.metric.bad{background:#32131D!important;border-color:rgba(255,92,122,.68)!important;color:#FFB7C5!important}
.leak-critical{background:#32131D!important;border-color:rgba(255,92,122,.68)!important}
.leak-warning{background:#211A0C!important;border-color:rgba(255,176,32,.62)!important}
.leak-ok{background:#0D241F!important;border-color:rgba(54,211,153,.58)!important}
.slot.available,.available{background:#0D241F!important;border-color:rgba(54,211,153,.58)!important}
.slot.partial,.partial{background:#211A0C!important;border-color:rgba(255,176,32,.62)!important}
.slot.full,.full{background:#32131D!important;border-color:rgba(255,92,122,.68)!important}
.status-blue{background:#10233d!important;border:1px solid rgba(56,163,255,.58)!important;color:#B7DCFF!important}
.status-green{background:#0D241F!important;border:1px solid rgba(54,211,153,.58)!important;color:#7DF0C7!important}
.status-orange{background:#211A0C!important;border:1px solid rgba(255,176,32,.62)!important;color:#FFD36D!important}
.status-red{background:#32131D!important;border:1px solid rgba(255,92,122,.68)!important;color:#FFB7C5!important}
.color-system-note{background:#081827;border:1px solid #284865;border-radius:14px;padding:10px 12px;margin-top:10px;color:#A9B8CC;font-size:12px;line-height:1.45}
.color-system-card{background:#081827;border:1px solid #284865;border-radius:18px;padding:14px;margin-top:12px}
.bookkeeper-card{background:#081827;border:1px solid #284865;border-radius:18px;padding:14px;margin-top:12px}
.bookkeeper-card h2{margin-top:0}
.bookkeeper-pack{background:#0D241F;border:1px solid rgba(54,211,153,.58);border-radius:16px;padding:12px;margin-top:10px}
.bookkeeper-pack b{display:block;color:#7DF0C7;margin-bottom:6px}
.bookkeeper-pack span{display:block;color:#BFF7E3;font-size:13px;line-height:1.45}
.bookkeeper-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.bookkeeper-actions button{width:auto}

.control-row{cursor:pointer}
.control-row:hover{outline:2px solid rgba(116,199,255,.35)}
.control-detail{background:#081827;border:1px solid #284865;border-radius:18px;padding:14px;margin-top:12px}
.control-detail b{display:block;margin-bottom:6px}
.control-detail p{margin:0 0 10px;color:var(--muted);font-size:13px;line-height:1.45}
.control-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.control-actions button{width:auto}
.control-ready{background:#0D241F!important;border-color:rgba(54,211,153,.58)!important}
.control-review{background:#211A0C!important;border-color:rgba(255,176,32,.62)!important}
.control-blocked{background:#32131D!important;border-color:rgba(255,92,122,.68)!important}

.entity-row{cursor:pointer}
.entity-row:hover{outline:2px solid rgba(116,199,255,.35)}
.entity-detail{background:#081827;border:1px solid #284865;border-radius:18px;padding:14px;margin-top:12px}
.entity-detail b{display:block;margin-bottom:6px}
.entity-detail p{margin:0 0 10px;color:var(--muted);font-size:13px;line-height:1.45}
.entity-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.entity-actions button{width:auto}
.entity-ready{background:#0D241F!important;border-color:rgba(54,211,153,.58)!important}
.entity-warn{background:#211A0C!important;border-color:rgba(255,176,32,.62)!important}
.entity-risk{background:#32131D!important;border-color:rgba(255,92,122,.68)!important}

.clickable-item{cursor:pointer}
.clickable-item:hover{outline:2px solid rgba(116,199,255,.35);filter:brightness(1.06)}
.clickable-hint{font-size:11px;color:#B7DCFF;margin-top:6px;font-weight:900}
.action-chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 9px;background:#10233d;border:1px solid rgba(56,163,255,.5);color:#B7DCFF;font-size:11px;font-weight:950;margin:2px}
.router-detail{background:#081827;border:1px solid #284865;border-radius:18px;padding:14px;margin-top:12px}
.router-detail b{display:block;margin-bottom:6px}
.router-detail p{margin:0 0 10px;color:var(--muted);font-size:13px;line-height:1.45}
.router-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.router-actions button{width:auto}

.real-action-note{background:#081827;border:1px solid #284865;border-radius:14px;padding:10px 12px;margin-top:10px;color:#A9B8CC;font-size:12px;line-height:1.45}
.target-highlight{outline:3px solid rgba(56,163,255,.65)!important;box-shadow:0 0 0 6px rgba(56,163,255,.12)!important}
.router-actions button,.leak-actions button,.control-actions button{min-height:44px}

.dossier-panel{background:#081827;border:1px solid #284865;border-radius:18px;padding:14px;margin:12px 0}
.dossier-panel h2{margin:0 0 10px}
.dossier-grid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:10px}
.dossier-field{background:#0D1B2F;border:1px solid #284865;border-radius:14px;padding:10px 12px}
.dossier-field b{display:block;color:#B7DCFF;font-size:12px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}
.dossier-field span{display:block;color:#F3F8FF;font-size:13px;line-height:1.4}
.dossier-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.dossier-actions button{width:auto}
@media(max-width:980px){.dossier-grid{grid-template-columns:1fr}}

/*  - Light professional interface */
:root{
  --bg:#F4F7FB!important;--panel:#FFFFFF!important;--panel2:#F8FAFD!important;--line:#D7E2EF!important;
  --text:#102033!important;--muted:#5E7087!important;--blue:#1F7AE0!important;--blue2:#5EA8FF!important;
  --green:#159A6B!important;--greenBg:#E8F7F1!important;--orange:#B97800!important;--orangeBg:#FFF4DB!important;
  --red:#D83A56!important;--redBg:#FFE9EE!important;
}
html,body,.app,main,.main,.layout,.content{background:#F4F7FB!important;color:#102033!important}
.card,.hero,.topbar,.more-sheet,.week-cell,.week-tech,.week-head,.dossier-panel,.router-detail,.entity-detail,.control-detail,.leak-detail,.bookkeeper-card,.color-system-card,.assign-panel,.detail,.table-wrap{
  background:#FFFFFF!important;border-color:#D7E2EF!important;color:#102033!important;box-shadow:0 10px 30px rgba(16,32,51,.06)!important;
}
.hero{background:linear-gradient(135deg,#FFFFFF,#F1F6FD)!important}
p,span,.muted,.status,.screen-name,.note,.real-action-note,.color-system-note{color:#5E7087!important}
h1,h2,h3,b,strong,label{color:#102033!important}
input,select,textarea{background:#FFFFFF!important;border-color:#C8D7EA!important;color:#102033!important}
input::placeholder,textarea::placeholder{color:#8A9BB0!important}
button.ghost,.ghost{background:#FFFFFF!important;color:#1F7AE0!important;border:1px solid #BFD5F2!important}
.primary,.btn.primary{background:linear-gradient(135deg,#1F7AE0,#5EA8FF)!important;color:#FFFFFF!important;border:0!important}
.good,.ok,.status.good,.metric.good,.completed-card,.completed-row,.slot.available,.available,.control-ready,.leak-ok,.entity-ready{
  background:#E8F7F1!important;border-color:#A8E3CD!important;color:#096947!important;
}
.warn,.status.warn,.metric.warn,.slot.partial,.partial,.control-review,.leak-warning,.entity-warn{
  background:#FFF4DB!important;border-color:#FFD27A!important;color:#7A5000!important;
}
.bad,.missing,.status.bad,.metric.bad,.slot.full,.full,.control-blocked,.leak-critical,.entity-risk{
  background:#FFE9EE!important;border-color:#FFB8C5!important;color:#9E1830!important;
}
.nav{background:rgba(255,255,255,.96)!important;border-top:1px solid #D7E2EF!important;box-shadow:0 -10px 30px rgba(16,32,51,.08)!important}
/* theme consolidated */
.row,.photo,.material-item,.catalog-result,.slot,.check,.dossier-field,.time-summary,.sync-strip,.next-action{
  background:#FFFFFF!important;border-color:#D7E2EF!important;color:#102033!important;
}
table{background:#FFFFFF!important;color:#102033!important}
th{background:#EFF5FC!important;color:#102033!important;border-color:#D7E2EF!important}
td{border-color:#E4ECF5!important;color:#102033!important}
.leak-row:hover,.control-row:hover,.entity-row:hover,.clickable-item:hover{outline:2px solid rgba(31,122,224,.28)!important;filter:none!important}
.badge,.action-chip,.sync-table-tag,.qty-pill{background:#EAF3FF!important;border-color:#BFD5F2!important;color:#1F7AE0!important}
.toast{background:#102033!important;color:#FFFFFF!important;border-color:#102033!important}
/*  - Hybrid dark/light professional interface */
:root{
  --bg:#F4F7FB!important;
  --panel:#FFFFFF!important;
  --panel2:#F8FAFD!important;
  --line:#D7E2EF!important;
  --text:#102033!important;
  --muted:#5E7087!important;

  --dark:#07111F!important;
  --darkPanel:#0D1B2F!important;
  --darkLine:#284865!important;

  --blue:#1F7AE0!important;
  --blue2:#5EA8FF!important;
  --green:#159A6B!important;
  --greenBg:#E8F7F1!important;
  --orange:#B97800!important;
  --orangeBg:#FFF4DB!important;
  --red:#D83A56!important;
  --redBg:#FFE9EE!important;
}

html,body,.app,main,.main,.layout,.content{
  background:#F4F7FB!important;
  color:#102033!important;
}

/* Dark premium frame */
.topbar,.nav,.sidebar,aside,header{
  background:#07111F!important;
  border-color:#284865!important;
  color:#F3F8FF!important;
  box-shadow:0 10px 30px rgba(7,17,31,.18)!important;
}

.topbar h1,.topbar h2,.topbar b,.topbar strong,
.sidebar h1,.sidebar h2,.sidebar b,aside h1,aside h2,aside b,
header h1,header h2,header b{
  color:#F3F8FF!important;
}

.topbar p,.topbar span,.sidebar p,.sidebar span,aside p,aside span,header p,header span{
  color:#A9B8CC!important;
}

.nav button{
  color:#A9B8CC!important;
}

.nav button.active{
  background:#10233D!important;
  color:#FFFFFF!important;
  border:1px solid rgba(56,163,255,.45)!important;
}

/* Light workspace */
.card,.hero,.week-cell,.week-tech,.week-head,.dossier-panel,.router-detail,.entity-detail,.control-detail,.leak-detail,
.bookkeeper-card,.color-system-card,.assign-panel,.detail,.table-wrap,.row,.photo,.material-item,.catalog-result,.slot,.check,.dossier-field,.time-summary,.sync-strip,.next-action{
  background:#FFFFFF!important;
  border-color:#D7E2EF!important;
  color:#102033!important;
  box-shadow:0 10px 30px rgba(16,32,51,.06)!important;
}

.hero{
  background:linear-gradient(135deg,#FFFFFF,#EEF5FF)!important;
  border-top:4px solid #1F7AE0!important;
}

h1,h2,h3,b,strong,label{
  color:#102033!important;
}

p,span,.muted,.status,.screen-name,.note,.real-action-note,.color-system-note{
  color:#5E7087!important;
}

input,select,textarea{
  background:#FFFFFF!important;
  border-color:#C8D7EA!important;
  color:#102033!important;
}

button.ghost,.ghost{
  background:#FFFFFF!important;
  color:#1F7AE0!important;
  border:1px solid #BFD5F2!important;
}

.primary,.btn.primary{
  background:linear-gradient(135deg,#1F7AE0,#5EA8FF)!important;
  color:#FFFFFF!important;
  border:0!important;
}

.good,.ok,.status.good,.metric.good,.completed-card,.completed-row,.slot.available,.available,.control-ready,.leak-ok,.entity-ready{
  background:#E8F7F1!important;
  border-color:#A8E3CD!important;
  color:#096947!important;
}

.warn,.status.warn,.metric.warn,.slot.partial,.partial,.control-review,.leak-warning,.entity-warn{
  background:#FFF4DB!important;
  border-color:#FFD27A!important;
  color:#7A5000!important;
}

.bad,.missing,.status.bad,.metric.bad,.slot.full,.full,.control-blocked,.leak-critical,.entity-risk{
  background:#FFE9EE!important;
  border-color:#FFB8C5!important;
  color:#9E1830!important;
}

table{
  background:#FFFFFF!important;
  color:#102033!important;
}

th{
  background:#EFF5FC!important;
  color:#102033!important;
  border-color:#D7E2EF!important;
}

td{
  border-color:#E4ECF5!important;
  color:#102033!important;
}

.badge,.action-chip,.sync-table-tag,.qty-pill{
  background:#EAF3FF!important;
  border-color:#BFD5F2!important;
  color:#1F7AE0!important;
}

.toast{
  background:#07111F!important;
  color:#FFFFFF!important;
  border-color:#284865!important;
}

/*  - Selected  color system by ChatGPT
   Draft: premium navy frame + calm light workspace + strict operational status colors.
*/
:root{
  --pf-ink:#08111F!important;
  --pf-navy:#0B1628!important;
  --pf-navy2:#132A46!important;
  --pf-slate:#24364F!important;

  --pf-bg:#F5F7FA!important;
  --pf-surface:#FFFFFF!important;
  --pf-soft:#F1F5F9!important;
  --pf-line:#D8E1EC!important;

  --pf-text:#132033!important;
  --pf-muted:#64748B!important;

  --pf-blue:#2563EB!important;
  --pf-blue2:#60A5FA!important;

  --pf-green:#16A34A!important;
  --pf-green-bg:#EAF8EF!important;

  --pf-amber:#D97706!important;
  --pf-amber-bg:#FFF7E6!important;

  --pf-red:#DC2626!important;
  --pf-red-bg:#FEECEC!important;

  --bg:#F5F7FA!important;
  --panel:#FFFFFF!important;
  --panel2:#F1F5F9!important;
  --line:#D8E1EC!important;
  --text:#132033!important;
  --muted:#64748B!important;
  --blue:#2563EB!important;
  --blue2:#60A5FA!important;
  --green:#16A34A!important;
  --greenBg:#EAF8EF!important;
  --orange:#D97706!important;
  --orangeBg:#FFF7E6!important;
  --red:#DC2626!important;
  --redBg:#FEECEC!important;
}

html,body,.app,main,.main,.layout,.content{
  background:#F5F7FA!important;
  color:#132033!important;
}

/* Premium dark frame */
.topbar,.nav,.sidebar,aside,header{
  background:linear-gradient(135deg,#08111F,#132A46)!important;
  border-color:#24364F!important;
  color:#FFFFFF!important;
  box-shadow:0 14px 36px rgba(8,17,31,.18)!important;
}

.topbar h1,.topbar h2,.topbar b,.topbar strong,
.sidebar h1,.sidebar h2,.sidebar b,
aside h1,aside h2,aside b,
header h1,header h2,header b{
  color:#FFFFFF!important;
}

.topbar p,.topbar span,.sidebar p,.sidebar span,aside p,aside span,header p,header span{
  color:#CBD5E1!important;
}

.nav button{
  color:#CBD5E1!important;
}

.nav button.active{
  background:rgba(37,99,235,.18)!important;
  color:#FFFFFF!important;
  border:1px solid rgba(96,165,250,.52)!important;
}

/* Light workspace */
.card,.hero,.week-cell,.week-tech,.week-head,.dossier-panel,.router-detail,.entity-detail,.control-detail,.leak-detail,
.bookkeeper-card,.color-system-card,.assign-panel,.detail,.table-wrap,.row,.photo,.material-item,.catalog-result,.slot,.check,.dossier-field,.time-summary,.sync-strip,.next-action{
  background:#FFFFFF!important;
  border-color:#D8E1EC!important;
  color:#132033!important;
  box-shadow:0 12px 32px rgba(15,23,42,.07)!important;
}

.hero{
  background:linear-gradient(135deg,#FFFFFF,#F1F6FF)!important;
  border-top:4px solid #2563EB!important;
}

h1,h2,h3,b,strong,label{
  color:#132033!important;
}

p,span,.muted,.status,.screen-name,.note,.real-action-note,.color-system-note{
  color:#64748B!important;
}

input,select,textarea{
  background:#FFFFFF!important;
  border-color:#CBD5E1!important;
  color:#132033!important;
}

input::placeholder,textarea::placeholder{
  color:#94A3B8!important;
}

button.ghost,.ghost{
  background:#FFFFFF!important;
  color:#2563EB!important;
  border:1px solid #BBD0F8!important;
}

.primary,.btn.primary{
  background:linear-gradient(135deg,#2563EB,#60A5FA)!important;
  color:#FFFFFF!important;
  border:0!important;
}

.good,.ok,.status.good,.metric.good,.completed-card,.completed-row,.slot.available,.available,.control-ready,.leak-ok,.entity-ready{
  background:#EAF8EF!important;
  border-color:#B8E9C8!important;
  color:#116832!important;
}

.warn,.status.warn,.metric.warn,.slot.partial,.partial,.control-review,.leak-warning,.entity-warn{
  background:#FFF7E6!important;
  border-color:#F5D48B!important;
  color:#8A4B00!important;
}

.bad,.missing,.status.bad,.metric.bad,.slot.full,.full,.control-blocked,.leak-critical,.entity-risk{
  background:#FEECEC!important;
  border-color:#F7B4B4!important;
  color:#991B1B!important;
}

table{
  background:#FFFFFF!important;
  color:#132033!important;
}

th{
  background:#EEF4FB!important;
  color:#132033!important;
  border-color:#D8E1EC!important;
}

td{
  border-color:#E5ECF4!important;
  color:#132033!important;
}

.badge,.action-chip,.sync-table-tag,.qty-pill{
  background:#EEF4FF!important;
  border-color:#BBD0F8!important;
  color:#2563EB!important;
}

.toast{
  background:#08111F!important;
  color:#FFFFFF!important;
  border-color:#24364F!important;
}

/*  - contrast fix for colored boxes */
:root{
  --status-green-bg:#EAF7EF!important;
  --status-green-border:#B9DEC7!important;
  --status-green-text:#155B3A!important;

  --status-orange-bg:#FFF4E5!important;
  --status-orange-border:#F0C48A!important;
  --status-orange-text:#7A4300!important;

  --status-red-bg:#FDECEE!important;
  --status-red-border:#E6B0B8!important;
  --status-red-text:#8A1F2D!important;

  --status-blue-bg:#EEF4FF!important;
  --status-blue-border:#BDD2F6!important;
  --status-blue-text:#184EAA!important;
}

/* green states */
.good,.ok,.status.good,.metric.good,.completed-card,.completed-row,.slot.available,.available,
.control-ready,.leak-ok,.entity-ready{
  background:var(--status-green-bg)!important;
  border-color:var(--status-green-border)!important;
  color:var(--status-green-text)!important;
}
.good *,.ok *,.status.good *,.metric.good *,.completed-card *,.completed-row *,.slot.available *,.available *,
.control-ready *,.leak-ok *,.entity-ready *{
  color:inherit!important;
}

/* orange states */
.warn,.status.warn,.metric.warn,.slot.partial,.partial,.control-review,.leak-warning,.entity-warn{
  background:var(--status-orange-bg)!important;
  border-color:var(--status-orange-border)!important;
  color:var(--status-orange-text)!important;
}
.warn *,.status.warn *,.metric.warn *,.slot.partial *,.partial *,.control-review *,.leak-warning *,.entity-warn *{
  color:inherit!important;
}

/* red states */
.bad,.missing,.status.bad,.metric.bad,.slot.full,.full,.control-blocked,.leak-critical,.entity-risk{
  background:var(--status-red-bg)!important;
  border-color:var(--status-red-border)!important;
  color:var(--status-red-text)!important;
}
.bad *,.missing *,.status.bad *,.metric.bad *,.slot.full *,.full *,.control-blocked *,.leak-critical *,.entity-risk *{
  color:inherit!important;
}

/* blue info/action chips */
.badge,.action-chip,.sync-table-tag,.qty-pill{
  background:var(--status-blue-bg)!important;
  border-color:var(--status-blue-border)!important;
  color:var(--status-blue-text)!important;
}
.badge *,.action-chip *,.sync-table-tag *,.qty-pill *{
  color:inherit!important;
}

/* general box readability */
.metric,.check,.dossier-field,.router-detail,.entity-detail,.control-detail,.leak-detail,
.card,.bookkeeper-card,.material-item,.catalog-result,.row,.slot{
  text-shadow:none!important;
}
.metric b,.metric span,.check b,.check span,.dossier-field b,.dossier-field span,
.router-detail b,.router-detail p,.entity-detail b,.entity-detail p,
.control-detail b,.control-detail p,.leak-detail b,.leak-detail p{
  opacity:1!important;
}

/* ensure buttons inside colored blocks remain readable */
.good button,.warn button,.bad button,.ok button,.available button,.partial button,.full button{
  color:#FFFFFF!important;
}

/* 153 nav icon upgrade */
.nav button,.bottom-nav button,.tabbar button,.footer-nav button{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
}
.nav-icon{
  width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;
}
.nav-icon svg{
  width:20px;height:20px;stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round;
}
.nav-label{line-height:1.1}

.intake-plan-card{background:#FFFFFF;border:1px solid #D8E1EC;border-radius:18px;padding:14px;margin:12px 0;box-shadow:0 12px 32px rgba(15,23,42,.07)}
.intake-plan-card h2{margin:0 0 8px}
.intake-type-toggle{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}
.intake-type-toggle button{min-height:44px}
.intake-type-toggle button.active{background:linear-gradient(135deg,#2563EB,#60A5FA)!important;color:#FFFFFF!important}
.plan-type-badge{display:inline-flex;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:950;background:#EEF4FF;color:#2563EB;border:1px solid #BBD0F8}
.plan-type-badge.intake{background:#EAF8EF;color:#155B3A;border-color:#B9DEC7}
.plan-type-badge.workorder{background:#EEF4FF;color:#184EAA;border-color:#BDD2F6}

/*  */
button,a,[onclick],.clickable-item,.row,.slot,.metric,.card[data-click-type]{
  pointer-events:auto!important;
  cursor:pointer!important;
}
button:disabled{
  opacity:.55!important;
  cursor:not-allowed!important;
}
.nav button,.bottom-nav button,.tabbar button,.footer-nav button{
  -webkit-tap-highlight-color:rgba(37,99,235,.18)!important;
  touch-action:manipulation!important;
}
.click-target-outline:focus-visible{
  outline:3px solid rgba(37,99,235,.45)!important;
  outline-offset:2px!important;
}

/*  */
button,
a,
[onclick],
.row,
.card,
.metric,
.slot,
.week-cell,
.week-tech,
.leak-row,
.control-row,
.entity-row,
.clickable-item,
.dossier-panel,
.dossier-field,
.router-detail,
.control-detail,
.leak-detail,
.bookkeeper-pack,
.material-item,
.catalog-result,
[class*="planning"],
[class*="Planning"]{
  pointer-events:auto!important;
}

button,
a,
[onclick],
.row,
.metric,
.slot,
.leak-row,
.control-row,
.entity-row,
.clickable-item,
.dossier-field,
.bookkeeper-pack,
.material-item,
.catalog-result,
.clickable-card,
.openable-card,
.card:has(button){
  cursor:pointer!important;
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:rgba(37,99,235,.18)!important;
}

.card-clickable{
  cursor:pointer!important;
  touch-action:manipulation!important;
}

.card-clickable:hover,
.openable-card:hover,
.row:hover,
.slot:hover{
  outline:2px solid rgba(37,99,235,.28)!important;
}

/*  */
.pf-action-panel{
  position:fixed;
  left:18px;
  right:18px;
  bottom:18px;
  z-index:99999;
  background:#FFFFFF;
  border:1px solid #D8E1EC;
  border-radius:22px;
  box-shadow:0 24px 60px rgba(15,23,42,.24);
  padding:16px;
  max-width:720px;
  margin:0 auto;
}
.pf-action-panel h3{
  margin:0 0 6px;
  font-size:20px;
  color:#132033;
  letter-spacing:-.03em;
}
.pf-action-panel p{
  margin:0 0 12px;
  color:#64748B;
  font-size:13px;
  line-height:1.45;
}
.pf-action-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.pf-action-buttons button{
  border:0;
  border-radius:14px;
  padding:11px 13px;
  font-weight:900;
  min-height:44px;
}
.pf-action-primary{background:linear-gradient(135deg,#2563EB,#60A5FA);color:#FFFFFF}
.pf-action-good{background:#EAF8EF;color:#155B3A;border:1px solid #B9DEC7!important}
.pf-action-warn{background:#FFF4E5;color:#7A4300;border:1px solid #F0C48A!important}
.pf-action-bad{background:#FDECEE;color:#8A1F2D;border:1px solid #E6B0B8!important}
.pf-action-ghost{background:#FFFFFF;color:#2563EB;border:1px solid #BBD0F8!important}
.pf-action-close{
  position:absolute;
  top:10px;
  right:10px;
  width:34px;
  height:34px;
  border-radius:999px!important;
  padding:0!important;
  background:#F1F5F9!important;
  color:#132033!important;
}
@media(max-width:700px){
  .pf-action-panel{left:10px;right:10px;bottom:10px;padding:14px}
  .pf-action-buttons button{flex:1 1 calc(50% - 8px)}
}

/* Contrast fix for dark cards / alerts / tasks */
.alert,
.alert b,
.alert p,
.alert span,
.alert strong,
.alert small,
.task,
.task b,
.task p,
.task span,
.task strong,
.task small,
.leak-detail,
.leak-detail b,
.leak-detail p,
.control-detail,
.control-detail b,
.control-detail p,
.bookkeeper-pack,
.bookkeeper-pack b,
.bookkeeper-pack p,
.material-item,
.material-item b,
.material-item p{
  color:#F8FAFC !important;
}

.alert{
  background:#2B2111 !important;
  border-color:#C79A2B !important;
}

.alert.bad,
.leak-critical,
.control-blocked,
.entity-risk{
  background:#FAEDEF !important;
  border-color:#D9919D !important;
  color:#842533 !important;
}
.alert.bad *,
.leak-critical *,
.control-blocked *,
.entity-risk *{
  color:#842533 !important;
}

.alert.good,
.leak-ok,
.control-ready,
.entity-ready{
  background:#EAF8EF !important;
  border-color:#97D0AD !important;
  color:#155B3A !important;
}
.alert.good *,
.leak-ok *,
.control-ready *,
.entity-ready *{
  color:#155B3A !important;
}

.alert:not(.bad):not(.good) b,
.task b,
.leak-warning b,
.entity-warn b,
.control-review b{
  color:#FFFFFF !important;
}

.alert:not(.bad):not(.good) p,
.alert:not(.bad):not(.good) span,
.task span,
.leak-warning p,
.leak-warning span,
.entity-warn p,
.entity-warn span,
.control-review p,
.control-review span{
  color:#E5EDF7 !important;
}

.leak-warning,
.entity-warn,
.control-review{
  background:#FFF4E5 !important;
  border-color:#E4BD79 !important;
  color:#7A4300 !important;
}
.leak-warning *,
.entity-warn *,
.control-review *{
  color:#7A4300 !important;
}

.task{
  background:#0F1D31 !important;
  border-color:#355578 !important;
}

.task button,
.alert button,
.leak-detail button,
.control-detail button,
.bookkeeper-pack button,
.material-item button{
  color:inherit;
}

.status{
  font-weight:900 !important;
}

/* Object action fix */
.pf-object-panel{
  position:fixed;
  left:14px;
  right:14px;
  bottom:14px;
  z-index:100000;
  background:#FFFFFF;
  border:1px solid #D8E1EC;
  border-radius:22px;
  box-shadow:0 24px 60px rgba(15,23,42,.25);
  padding:16px;
  max-width:760px;
  margin:0 auto;
}
.pf-object-panel h3{margin:0 0 6px;font-size:20px;color:#132033;letter-spacing:-.03em}
.pf-object-panel p{margin:0 0 12px;color:#64748B;font-size:13px;line-height:1.45}
.pf-object-actions{display:flex;gap:8px;flex-wrap:wrap}
.pf-object-actions button{border-radius:14px;border:0;padding:11px 13px;min-height:44px;font-weight:900}
.pf-primary{background:linear-gradient(135deg,#2563EB,#60A5FA);color:#FFFFFF}
.pf-good{background:#EAF8EF;color:#155B3A;border:1px solid #B9DEC7!important}
.pf-warn{background:#FFF4E5;color:#7A4300;border:1px solid #F0C48A!important}
.pf-bad{background:#FDECEE;color:#8A1F2D;border:1px solid #E6B0B8!important}
.pf-close{position:absolute;right:10px;top:10px;width:34px;height:34px;border-radius:999px!important;background:#F1F5F9!important;color:#132033!important;padding:0!important}
@media(max-width:700px){.pf-object-actions button{flex:1 1 calc(50% - 8px)}}

/* Global backoffice contrast fix */
:root{
  --bo-card-text:#F8FAFC;
  --bo-card-muted:#D7E2F1;
  --bo-dark-bg:#081827;
  --bo-dark-line:#284865;
}

.task,
.alert,
.slot,
.assign-panel,
.leak-detail,
.control-detail,
.entity-detail,
.router-detail,
.bookkeeper-card,
.bookkeeper-pack,
.color-system-card,
.real-action-note,
.detail-line,
.pf-target-note,
.pf-object-panel .pf-meta-dark{
  color:var(--bo-card-text)!important;
}

.task b,.task strong,.task h1,.task h2,.task h3,.task h4,.task h5,.task h6,.task label,.task .title,.task .name,
.alert b,.alert strong,.alert h1,.alert h2,.alert h3,.alert h4,.alert h5,.alert h6,.alert label,.alert .title,.alert .name,
.slot b,.slot strong,.slot h1,.slot h2,.slot h3,.slot h4,.slot h5,.slot h6,.slot label,.slot .title,.slot .name,
.assign-panel b,.assign-panel strong,.assign-panel label,
.leak-detail b,.control-detail b,.entity-detail b,.router-detail b,
.bookkeeper-card b,.bookkeeper-card strong,.bookkeeper-card h1,.bookkeeper-card h2,.bookkeeper-card h3,.bookkeeper-card h4,.bookkeeper-card h5,.bookkeeper-card h6,
.bookkeeper-pack b,.bookkeeper-pack strong,.color-system-card b,.color-system-card strong,.real-action-note b,
.detail-line b,.detail-line strong{
  color:#F8FAFC!important;
}

.task p,.task span,.task small,.task div,
.alert p,.alert span,.alert small,.alert div,
.slot p,.slot span,.slot small,.slot div,
.assign-panel p,.assign-panel span,.assign-panel small,.assign-panel div,
.leak-detail p,.leak-detail span,.leak-detail small,.leak-detail div,
.control-detail p,.control-detail span,.control-detail small,.control-detail div,
.entity-detail p,.entity-detail span,.entity-detail small,.entity-detail div,
.router-detail p,.router-detail span,.router-detail small,.router-detail div,
.bookkeeper-card p,.bookkeeper-card span,.bookkeeper-card small,.bookkeeper-card div,
.bookkeeper-pack p,.bookkeeper-pack span,.bookkeeper-pack small,.bookkeeper-pack div,
.color-system-card p,.color-system-card span,.color-system-card small,.color-system-card div,
.real-action-note p,.real-action-note span,.real-action-note small,.real-action-note div,
.detail-line span,.detail-line small,.detail-line div{
  color:var(--bo-card-muted)!important;
}

.detail-line{
  background:var(--bo-dark-bg)!important;
  border-color:var(--bo-dark-line)!important;
}
.detail-line b{opacity:1!important}
.detail-line span{text-align:right;color:#D7E2F1!important}

.task,
.alert:not(.good):not(.warn):not(.bad),
.slot,
.assign-panel,
.leak-detail,
.control-detail,
.entity-detail,
.router-detail,
.bookkeeper-card,
.color-system-card,
.real-action-note{
  background:var(--bo-dark-bg)!important;
  border-color:var(--bo-dark-line)!important;
}

.bookkeeper-pack{
  background:#0D241F!important;
  border-color:rgba(54,211,153,.58)!important;
}
.bookkeeper-pack b{color:#F1FFF8!important}
.bookkeeper-pack span,.bookkeeper-pack p,.bookkeeper-pack div{color:#DDF9EC!important}

.leak-warning,.control-review,.entity-warn{
  background:#FFF4E5!important;
  border-color:#E4BD79!important;
  color:#7A4300!important;
}
.leak-warning *, .control-review *, .entity-warn *{
  color:#7A4300!important;
}

.leak-critical,.control-blocked,.entity-risk,
.alert.bad,.bad,.missing,.status.bad,.metric.bad{
  background:#FAEDEF!important;
  border-color:#D9919D!important;
  color:#842533!important;
}
.leak-critical *, .control-blocked *, .entity-risk *,
.alert.bad *, .bad *, .missing *, .status.bad *, .metric.bad *{
  color:#842533!important;
}

.leak-ok,.control-ready,.entity-ready,
.alert.good,.good,.ok,.status.good,.metric.good,.completed-card,.completed-row{
  background:#EAF8EF!important;
  border-color:#97D0AD!important;
  color:#155B3A!important;
}
.leak-ok *, .control-ready *, .entity-ready *,
.alert.good *, .good *, .ok *, .status.good *, .metric.good *, .completed-card *, .completed-row *{
  color:#155B3A!important;
}

.warn,.status.warn,.metric.warn,
.status-orange,.status-red,.status-green,.status-blue{
  font-weight:900!important;
}

.card input,.card select,.card textarea,
.panel input,.panel select,.panel textarea,
.detail input,.detail select,.detail textarea,
#intake input,#intake select,#intake textarea,
#workorders input,#workorders select,#workorders textarea,
#quotes input,#quotes select,#quotes textarea,
#bookkeeper input,#bookkeeper select,#bookkeeper textarea,
#materialcatalog input,#materialcatalog select,#materialcatalog textarea,
#users input,#users select,#users textarea,
#technicians input,#technicians select,#technicians textarea{
  color:#132033!important;
  background:#FFFFFF!important;
}

label{color:#132033!important}
.dark-card label,.task label,.alert label,.slot label,.assign-panel label,.router-detail label,.control-detail label,.leak-detail label,.entity-detail label,.bookkeeper-card label,.bookkeeper-pack label,.detail-line label{
  color:#F8FAFC!important;
}

button.ghost{
  color:#3766D8!important;
}

.pf-object-panel p,.pf-action-panel p{color:#64748B!important}

/* Nav no-action-panel fix */
.nav button, nav button, .sidebar button, [id^="nav-"]{
  pointer-events:auto!important;
  cursor:pointer!important;
}


/* Utility spacing classes — replaces inline style="margin-top:Npx" */
.mt-8  { margin-top: 8px;  }
.mt-12 { margin-top: 12px; }
.mt-14 { margin-top: 14px; }
