/* Roots Operator – professional UI layer v4
   Loaded after app.css. Functional logic remains in app.js. */
:root {
  --ro-bg: #071011;
  --ro-bg-2: #0a1415;
  --ro-surface: #0d1718;
  --ro-surface-2: #111d1e;
  --ro-surface-3: #162425;
  --ro-surface-hover: #19292a;
  --ro-line: rgba(207, 173, 91, .14);
  --ro-line-strong: rgba(207, 173, 91, .28);
  --ro-text: #f4f1e8;
  --ro-muted: #9da9a5;
  --ro-dim: #75817d;
  --ro-gold: #d6ad4d;
  --ro-gold-bright: #f0c766;
  --ro-gold-soft: rgba(214,173,77,.12);
  --ro-forest: #244d38;
  --ro-forest-2: #173528;
  --ro-forest-soft: rgba(55,111,77,.18);
  --ro-green: #6aa477;
  --ro-red: #c66058;
  --ro-red-soft: rgba(198,96,88,.14);
  --ro-blue: #6c9fbd;
  --ro-radius: 14px;
  --ro-radius-sm: 10px;
  --ro-shadow: 0 18px 50px rgba(0,0,0,.25);
}

/* --- global typography & surfaces --- */
html, body {
  background: var(--ro-bg) !important;
  color: var(--ro-text) !important;
  font-family: Inter, "Segoe UI Variable", "Segoe UI", system-ui, -apple-system, sans-serif !important;
  font-size: 15px;
  letter-spacing: 0 !important;
}
body, button, input, select, textarea { font-family: inherit !important; }
h1,h2,h3,h4,.card .v,.ro-stat strong { font-family: inherit !important; }
body { background-image: radial-gradient(1000px 460px at 92% -12%, rgba(214,173,77,.05), transparent 55%) !important; }

.app { grid-template-columns: 226px minmax(0,1fr) !important; background: transparent; }
.sidebar {
  background: linear-gradient(180deg,#081314 0%,#071112 100%) !important;
  border-right: 1px solid rgba(255,255,255,.06) !important;
  padding: 18px 14px !important;
  gap: 12px !important;
  box-shadow: 16px 0 45px rgba(0,0,0,.18);
}
.brand { margin: 0 8px 18px !important; gap: 11px !important; }
.logo,.brand-logo { width: 50px !important; height:50px !important; border-radius:12px !important; background:#050909 !important; }
.brand h1 { font-size: 16px !important; font-weight: 800 !important; line-height:1.05 !important; color:#fff !important; text-transform:uppercase; letter-spacing:.02em !important; }
.brand small { color: var(--ro-gold) !important; font-size:10px !important; letter-spacing:.08em; text-transform:uppercase; margin-top:5px !important; }
.nav-group-btn { color:#74847e !important; font-size:10px !important; letter-spacing:.14em !important; padding:8px 10px !important; }
.nav-group-btn:hover { background: transparent !important; color:#9aaba5 !important; }
.nav-items { gap:2px; }
.nav-items button {
  color:#c7cfcc !important;
  padding:10px 11px !important;
  border-radius:10px !important;
  gap:10px !important;
  font-size:13px !important;
  font-weight:560;
  transition: background .15s ease,color .15s ease,transform .15s ease;
}
.nav-items button:hover { background:#102022 !important; color:#fff !important; transform:translateX(1px); }
.nav-items button.active {
  background: linear-gradient(90deg,#214a36,#193b2d) !important;
  color:#fff !important;
  box-shadow: inset 3px 0 0 var(--ro-gold) !important;
}
.nav-items button.active .nav-ico { color:#f1d071; }
.nav-ico { width:17px !important; height:17px !important; opacity:.86 !important; }
.nav-badge { margin-left:auto; background:#2a3430 !important; color:var(--ro-gold-bright) !important; border:1px solid rgba(214,173,77,.18); }
.userbox {
  background:transparent !important; border-top:1px solid rgba(255,255,255,.06) !important;
  padding:14px 4px 0 !important; font-size:11px !important;
}
.userbox .who { background:#0d1a1b; border:1px solid rgba(255,255,255,.05); border-radius:12px; padding:9px; }
.avatar { border-radius:50% !important; background:#d8b35a !important; color:#162017 !important; }
.userbox select { background:#0c1718 !important; border-color:rgba(255,255,255,.08) !important; font-size:11px; }
.sys-ok { color:#7f8e88 !important; font-size:10px !important; margin-top:7px; }
.sys-ok.ok::before { content:""; display:inline-block; width:7px;height:7px;border-radius:50%;background:#70a97b;margin-right:6px; }

.main { padding: 26px 30px 70px !important; max-width: 1720px; width:100%; margin:0 auto; }
.topbar { align-items:center !important; margin-bottom:22px !important; min-height:52px; border-bottom:1px solid rgba(255,255,255,.06); padding-bottom:18px; }
.topbar h2 { font-size:28px !important; font-weight:780 !important; letter-spacing:-.035em !important; color:#fff !important; }
.topbar p { color:var(--ro-muted) !important; font-size:13px; margin-top:5px !important; }
#helpBtn { width:34px; min-width:34px; height:34px; border-radius:50% !important; padding:0 !important; background:#0d191a !important; color:#d3d9d6 !important; }

.card,.modal,.sheet,.board,.pool,.table-wrap,.filter-bar,.plan-tools {
  background:var(--ro-surface) !important;
  border:1px solid rgba(255,255,255,.075) !important;
  border-radius:var(--ro-radius) !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
}
.card { padding:16px !important; }
.card .k,.k,.ro-kicker {
  color:#b5c1bd !important; font-size:10px !important; font-weight:750 !important;
  text-transform:uppercase; letter-spacing:.13em !important;
}
.card .v { font-size:28px !important; color:#fff; font-weight:780 !important; }
.hint,.ro-muted { color:var(--ro-muted) !important; }
.problem { background:#111d1b !important; border-left:2px solid var(--ro-gold) !important; border-radius:8px !important; padding:10px 12px !important; }

input,select,textarea {
  background:#0a1516 !important;
  color:var(--ro-text) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:9px !important;
  min-height:42px;
  box-shadow:none !important;
}
input::placeholder,textarea::placeholder { color:#65736f !important; }
input:focus,select:focus,textarea:focus { border-color:rgba(214,173,77,.55) !important; box-shadow:0 0 0 3px rgba(214,173,77,.08) !important; }
label { color:#c4cfcb; font-size:12px; }

.btn {
  border-radius:9px !important;
  min-height:40px;
  padding:9px 14px !important;
  background:#122022 !important;
  border:1px solid rgba(255,255,255,.10) !important;
  color:#e9edeb !important;
  font-weight:650 !important;
  box-shadow:none !important;
  transform:none !important;
}
.btn:hover { background:#18292b !important; border-color:rgba(255,255,255,.16) !important; transform:none !important; }
.btn.primary {
  background:linear-gradient(180deg,#e1ba5c,#c99d3a) !important;
  color:#17150e !important;
  border-color:#e5c36e !important;
  font-weight:800 !important;
}
.btn.primary:hover { background:linear-gradient(180deg,#ebc96f,#d7aa45) !important; }
.btn.danger { background:#2a1718 !important; color:#efa7a1 !important; border-color:rgba(198,96,88,.34) !important; }
.btn.ghost { background:transparent !important; border-color:transparent !important; color:#aab5b1 !important; }
.btn.sm { min-height:34px !important; padding:7px 10px !important; font-size:12px !important; }
.tag,.ro-badge { border-radius:999px !important; padding:4px 8px !important; font-size:10px !important; font-weight:750; border:1px solid rgba(255,255,255,.08); background:#152223 !important; color:#cbd3d0 !important; }
.tag.ok,.ro-badge.ok { background:rgba(83,139,92,.13) !important; color:#90c69a !important; border-color:rgba(83,139,92,.32) !important; }
.tag.warn,.ro-badge.gold { background:var(--ro-gold-soft) !important; color:#f0c766 !important; border-color:rgba(214,173,77,.38) !important; }
.tag.bad,.ro-badge.bad { background:var(--ro-red-soft) !important; color:#e99a94 !important; border-color:rgba(198,96,88,.34) !important; }
.ro-badge.subtle { background:#102020 !important; color:#8fa19b !important; }

/* --- dashboard --- */
body[data-view="dashboard"] .topbar { display:none !important; }
body[data-view="dashboard"] .main { padding-top:18px !important; }
.ro-hero {
  position:relative; min-height:230px; overflow:hidden; border-radius:18px;
  border:1px solid rgba(255,255,255,.08);
  background-image:url('/assets/hero-festival.jpg'); background-size:cover; background-position:center 55%;
  margin-bottom:16px;
}
.ro-hero-shade { position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,10,10,.94) 0%,rgba(3,10,10,.68) 35%,rgba(3,10,10,.18) 68%,rgba(3,10,10,.55) 100%),linear-gradient(0deg,rgba(3,10,10,.72),transparent 62%); }
.ro-hero-copy { position:absolute;left:28px;bottom:27px;z-index:1;max-width:720px; }
.ro-eyebrow { color:var(--ro-gold-bright);font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:800;margin-bottom:8px; }
.ro-hero h1 { margin:0;color:#fff;font-size:38px;line-height:1.02;letter-spacing:-.045em;font-weight:830; }
.ro-hero p { margin:8px 0 0;color:#e8ece9;font-size:15px; }
.ro-hero-quote { position:absolute;right:32px;bottom:28px;z-index:1;color:#e5bd5d;font-size:18px;line-height:1.25;font-style:italic;text-align:right;opacity:.9;transform:rotate(-2deg); }
.ro-dashboard-grid { display:grid;gap:14px;grid-template-columns:repeat(12,minmax(0,1fr)); }
.ro-dashboard-grid.crew .ro-next-shift { grid-column:span 6; }
.ro-dashboard-grid.crew .ro-presence { grid-column:span 6; }
.ro-dashboard-grid.crew .ro-quick { grid-column:span 5; }
.ro-dashboard-grid.crew .ro-news, .ro-dashboard-grid.crew .ro-notices { grid-column:span 6; }
.ro-dashboard-grid.staff .ro-presence { grid-column:span 4; }
.ro-dashboard-grid.staff .ro-attention { grid-column:span 8; }
.ro-dashboard-grid.staff > .ro-panel:nth-of-type(n+3) { grid-column:span 6; }
.ro-panel { background:linear-gradient(180deg,#0d191a,#0b1516);border:1px solid rgba(255,255,255,.075);border-radius:14px;padding:17px;min-width:0; }
.ro-panel-head { display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:11px; }
.ro-panel h3,.ro-section-head h3 { margin:3px 0 0;font-size:17px;line-height:1.2;color:#fff;font-weight:750;letter-spacing:-.02em; }
.ro-next-shift { background:linear-gradient(145deg,#10281d,#0c1917 62%) !important;border-color:rgba(82,145,99,.32) !important; }
.ro-next-shift h3 { font-size:25px; }
.ro-shift-place { color:#fff;font-size:18px;margin:18px 0 13px; }
.ro-shift-place span { color:#b7c4bf;font-size:14px; }
.ro-face-row { display:flex;align-items:center;gap:6px;min-height:38px;margin:6px 0 15px; }
.ro-face-row > span:not(.face) { color:#b7c4bf;font-size:11px;margin-right:4px; }
.ro-face-row .face { width:30px;height:30px;border-radius:50%; }
.ro-presence-actions { display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 8px;align-items:center; }
.ro-status-dot { display:inline-flex;align-items:center;gap:7px;color:#c8d0cd;font-size:12px; }
.ro-status-dot::before { content:"";width:8px;height:8px;border-radius:50%;background:#79847f; }
.ro-status-dot.ok::before { background:#72aa7c;box-shadow:0 0 0 4px rgba(114,170,124,.10); }
.ro-status-dot.off::before { background:#b4655f; }
.ro-status-dot.wait::before { background:#d1a34d; }
.ro-note { color:#aeb9b5;background:#0a1415;border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:10px 12px;font-size:12px;line-height:1.45; }
.ro-quick-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:10px; }
.ro-quick-card { border:1px solid rgba(255,255,255,.075);background:#101c1d;color:#fff;border-radius:12px;padding:16px 12px;text-align:left;cursor:pointer;min-height:124px;display:flex;flex-direction:column;justify-content:flex-end;transition:.15s ease; }
.ro-quick-card:hover { transform:translateY(-2px);background:#142324;border-color:rgba(214,173,77,.25); }
.ro-quick-card b { font-size:14px;margin-top:10px; }
.ro-quick-card small { color:#8e9b96;margin-top:4px; }
.ro-quick-ico { color:var(--ro-gold-bright);font-size:25px;line-height:1; }
.ro-feed { display:flex;flex-direction:column;gap:1px; }
.ro-feed-item { display:grid;grid-template-columns:8px minmax(0,1fr) auto;gap:10px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.055);align-items:start; }
.ro-feed-item:last-child { border-bottom:0; }
.ro-feed-item b { font-size:13px;color:#fff; }
.ro-feed-item p { margin:2px 0 0;color:#c4cdca;font-size:12px;line-height:1.4; }
.ro-feed-item time { color:#65726e;font-size:10px; }
.ro-feed-mark { width:5px;height:5px;border-radius:50%;background:var(--ro-gold);margin-top:7px; }
.ro-feed-mark.warn { background:#d39d47; }
.ro-feed-mark.info { background:#6c9fbd; }
.ro-empty { color:#79847f;padding:16px 0;font-size:12px; }
.ro-conflict-tabs,.ro-page-tabs { display:flex;gap:7px;align-items:center;flex-wrap:wrap; }
.ro-pill { background:#0b1718;border:1px solid rgba(255,255,255,.09);color:#aeb8b4;padding:7px 10px;border-radius:8px;font-size:11px;cursor:pointer; }
.ro-pill.active { background:#163727;color:#fff;border-color:#2e6348; }
.ro-pill b { color:var(--ro-gold-bright);margin-left:4px; }
.ro-mini-list > div { display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.05); }
.ro-mini-list span { color:#8b9894;font-size:11px; }
.ro-stats-wrap { margin-top:16px;padding:15px;background:#0b1516;border:1px solid rgba(255,255,255,.07);border-radius:14px; }
.ro-section-head { display:flex;justify-content:space-between;margin-bottom:11px; }
.ro-stats { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px; }
.ro-stat { background:#0f1b1c;border:1px solid rgba(255,255,255,.06);border-radius:11px;padding:13px 14px; }
.ro-stat span,.ro-stat small { color:#8f9c97;font-size:10px;display:block; }
.ro-stat strong { display:block;color:#fff;font-size:22px;margin:5px 0 3px;font-weight:790; }
.ro-stat strong i { font-size:12px;color:#84918d;font-style:normal;font-weight:600; }
.crew-hours .ro-stats { grid-template-columns:repeat(3,1fr); }

/* --- professional list pages (my plan, open, swap) --- */
.ro-page-tabs { margin-bottom:14px;border-bottom:1px solid rgba(255,255,255,.06);padding-bottom:12px; }
.ro-plan-hours { margin-left:auto;color:#8f9b97;font-size:12px; }
.ro-shift-list,.ro-market-list { display:flex;flex-direction:column;gap:8px; }
.ro-shift-row,.ro-market-row {
  display:grid;grid-template-columns:62px 120px minmax(150px,1.1fr) minmax(120px,.9fr) auto minmax(145px,auto);
  gap:13px;align-items:center;background:#0d1718;border:1px solid rgba(255,255,255,.075);border-radius:12px;padding:11px 13px;
}
.ro-shift-row:hover,.ro-market-row:hover { background:#101d1e;border-color:rgba(255,255,255,.11); }
.ro-date-tile { width:48px;height:48px;border-radius:9px;background:#142122;border:1px solid rgba(255,255,255,.08);display:grid;place-items:center;align-content:center;line-height:1; }
.ro-date-tile b { font-size:11px;color:#d5dcd9; }
.ro-date-tile small { font-size:10px;color:#899590;margin-top:4px; }
.ro-shift-time b,.ro-shift-main b { color:#fff;font-size:13px;display:block; }
.ro-shift-time small,.ro-shift-main small,.ro-shift-crew small,.ro-slot-info small,.ro-market-owner small { color:#84918d;font-size:10px;display:block;margin-top:3px; }
.ro-shift-crew { min-width:0; }
.ro-avatar-stack { display:flex;align-items:center;min-height:27px; }
.ro-avatar-stack .face { width:27px;height:27px;border-radius:50%;border:2px solid #0d1718;margin-left:-7px; }
.ro-avatar-stack .face:first-child { margin-left:0; }
.ro-avatar-more { width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#23302d;color:#bac4c0;font-size:9px;margin-left:-6px;border:2px solid #0d1718; }
.ro-shift-status { justify-self:start; }
.ro-shift-actions { justify-self:end;display:flex;gap:6px;align-items:center;flex-wrap:wrap; }
.ro-plan-hint { margin-top:12px;max-width:780px; }
.ro-empty-card { background:#0d1718;border:1px dashed rgba(255,255,255,.10);border-radius:12px;color:#84918d;padding:28px;text-align:center; }
.ro-filter-strip { display:flex;align-items:center;gap:10px;justify-content:space-between;min-height:54px;padding:9px 11px;margin-bottom:12px;background:#0b1516;border:1px solid rgba(255,255,255,.07);border-radius:11px;color:#8e9a96;font-size:11px; }
.ro-filter-strip select { min-width:200px; }
.ro-open-row { grid-template-columns:62px 115px minmax(170px,1.2fr) minmax(100px,.7fr) 80px minmax(150px,auto); }
.ro-slot-info b { color:#fff;display:block; }
.ro-market-row { grid-template-columns:62px 118px minmax(160px,1fr) minmax(150px,.9fr) minmax(170px,auto); }
.ro-market-bids { grid-column:2/-1;border-top:1px solid rgba(255,255,255,.06);padding-top:7px; }
.ro-bid-row { display:flex;justify-content:space-between;gap:12px;align-items:center;padding:7px 0;color:#aab5b1;font-size:11px; }
.ro-market-owner { display:flex;flex-direction:column;gap:4px;align-items:flex-start; }
.ro-tab-action { margin-left:auto; }

/* --- profile --- */
.ro-profile-grid { display:grid;grid-template-columns:240px minmax(0,1.15fr) minmax(280px,.85fr);gap:14px;align-items:start; }
.ro-profile-id { text-align:center;position:sticky;top:18px; }
.ro-profile-face .face { width:92px;height:92px;border-radius:50%;border:3px solid rgba(214,173,77,.55); }
.ro-profile-id h3 { margin:13px 0 2px;font-size:20px; }
.ro-stack-actions { display:flex;flex-direction:column;gap:7px;margin-top:12px; }
.ro-form-grid { display:grid;grid-template-columns:1fr 1fr;gap:12px; }
.ro-form-grid label,.ro-extra-fields label { display:flex;flex-direction:column;gap:5px; }
.ro-profile-prefs .ro-check-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0; }
.ro-check { display:flex;gap:8px;align-items:center;background:#0a1516;border:1px solid rgba(255,255,255,.07);border-radius:9px;padding:10px; }
.ro-check input { min-height:0 !important; }
.ro-switch-row { display:grid;grid-template-columns:1fr 120px;align-items:center;gap:12px;margin:12px 0; }
.ro-extra-fields { display:grid;gap:10px;margin-top:16px;padding-top:15px;border-top:1px solid rgba(255,255,255,.06); }
.ro-save-wide { width:100%;margin-top:14px; }

/* --- tables / admin generic --- */
table { border-collapse:separate !important;border-spacing:0 !important;width:100%; }
th { color:#899590 !important;font-size:10px !important;text-transform:uppercase;letter-spacing:.08em;font-weight:700 !important;background:#0a1415 !important;border-bottom:1px solid rgba(255,255,255,.08) !important; }
td { border-bottom:1px solid rgba(255,255,255,.055) !important;color:#d8dddb; }
th,td { padding:10px 11px !important; }
tbody tr:hover td { background:#0f1b1c; }
.table-wrap { overflow:auto; }
.filter-bar { display:flex;gap:8px;align-items:center;padding:10px !important;margin-bottom:12px; }

/* --- planning: intentionally calmer, work-oriented --- */
body[data-view="plan"] .main { max-width:none; padding:18px 18px 50px !important; }
body[data-view="plan"] .topbar { margin-bottom:12px !important;padding-bottom:12px; }
body[data-view="plan"] .topbar h2 { font-size:26px !important; }
.plan-tools { padding:9px 10px !important;display:flex !important;gap:8px !important;align-items:center !important;background:#0a1516 !important;margin-bottom:10px !important; }
.plan-tools select,.plan-tools input { min-height:38px !important; }
.plan-tools #areaF { min-width:170px; }
.plan-tools #poolQ { width:220px; }
.plan-tools .chip { background:#101c1d !important;border:1px solid rgba(255,255,255,.07) !important;border-radius:8px !important;padding:8px 10px !important; }
.plan-tools-actions { margin-left:auto;display:flex;gap:6px; }
.plan-wrap.plan-tl { display:grid !important;grid-template-columns:minmax(0,1fr) 320px !important;gap:10px !important;align-items:start; }
.plan-board { min-width:0; }
.plan-daybar { display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 8px !important; }
.cmd-day { display:flex;gap:8px;align-items:baseline;min-width:200px;justify-content:center; }
.cmd-day b { color:#fff;font-size:16px; }
.board { background:#081213 !important;padding:9px !important;overflow:auto; }
.tl { min-width:820px; }
.tl-head,.tl-row { display:grid !important;grid-template-columns:120px minmax(0,1fr) !important; }
.tl-lab { color:#d5dbd8 !important;font-weight:650;font-size:11px !important;padding:0 8px !important;display:flex;align-items:center; }
.tl-track { background-color:#091415 !important;background-image:linear-gradient(to right,rgba(255,255,255,.045) 1px,transparent 1px) !important;background-size:calc(100% / 16) 100% !important;border-bottom:1px solid rgba(255,255,255,.055) !important; }
.tl-head .tl-track { min-height:30px !important;border-bottom:1px solid rgba(255,255,255,.07) !important; }
.tl-tick { color:#75847e !important;font-size:9px !important;top:8px !important; }
.tl-block { border-radius:8px !important;border:1px solid rgba(255,255,255,.10) !important;background:#152123 !important;color:#e8ecea !important;padding:5px 7px !important;text-align:left !important;box-shadow:none !important;display:grid !important;grid-template-columns:1fr auto !important;grid-template-rows:auto auto !important;gap:1px 5px !important;overflow:hidden; }
.tl-block b { font-size:10px !important;color:#fff !important;grid-column:1; }
.tl-block em { font-style:normal;font-size:8px;color:#9aa6a2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;grid-column:1; }
.tl-block span { font-size:9px !important;color:#98a49f !important;grid-column:2;grid-row:1/3;align-self:center; }
.tl-block.full { background:#13231e !important;border-color:rgba(83,139,92,.30) !important; }
.tl-block.open { background:#241f14 !important;border-color:rgba(214,173,77,.42) !important; }
.tl-block.dropped { background:#2a1718 !important;border-color:rgba(198,96,88,.50) !important; }
.tl-block.sel { border-color:var(--ro-gold-bright) !important;box-shadow:0 0 0 2px rgba(214,173,77,.16) !important;z-index:4; }
.tl-block:hover { filter:brightness(1.08); }
.pool { padding:12px !important;position:sticky;top:12px;max-height:calc(100vh - 120px);overflow:auto; }
.pool .k { margin-bottom:8px; }
.pool-item { background:#0b1718 !important;border:1px solid rgba(255,255,255,.065) !important;border-radius:9px !important;padding:8px !important;margin-bottom:6px !important;display:grid !important;grid-template-columns:32px minmax(0,1fr) auto auto !important;gap:8px !important;align-items:center !important; }
.pool-item:hover { background:#102022 !important;border-color:rgba(214,173,77,.18) !important; }
.pool-item .face { width:31px;height:31px;border-radius:50%; }
.pool-meta b { font-size:11px;color:#fff; }
.pool-meta .hint { font-size:9px !important;line-height:1.25; }
.score-btn { font-size:9px !important;white-space:nowrap; }
.pick-bar { background:#0a1516 !important;border:1px solid rgba(255,255,255,.07) !important;border-radius:10px !important;padding:10px !important;margin-top:10px !important;color:#8d9995 !important; }
.pick-bar.active { border-color:rgba(214,173,77,.24) !important;background:#0e1918 !important; }
.pick-main b { color:#fff; }
.role-pill { background:#0c1718 !important;border:1px solid rgba(255,255,255,.08) !important;color:#a7b1ad !important;border-radius:7px !important;padding:6px 8px !important; }
.role-pill.on { background:#302812 !important;border-color:#7a6329 !important;color:#efd06f !important; }
.tl-detail { display:flex;gap:7px;flex-wrap:wrap;margin-top:8px; }
.person-chip { background:#0d191a !important;border:1px solid rgba(255,255,255,.07) !important;border-radius:9px !important; }
.plan-foot { gap:10px !important; }
.plan-foot .card { min-height:110px; }

/* shift plan boards */
.area-board { padding:0 !important;overflow:hidden;margin-bottom:12px !important; }
.area-board-head { background:#0a1516;border-bottom:1px solid rgba(255,255,255,.07);padding:13px 15px !important; }
.area-board-title { font-size:17px !important;color:#fff !important; }
.area-day { padding:12px 14px !important;border-bottom:1px solid rgba(255,255,255,.05); }
.area-day > b { color:var(--ro-gold-bright);font-size:11px;text-transform:uppercase;letter-spacing:.08em; }
.area-slots { display:grid !important;grid-template-columns:repeat(auto-fit,minmax(210px,1fr)) !important;gap:8px !important;margin-top:8px; }
.area-slot { background:#0e191a !important;border:1px solid rgba(255,255,255,.065) !important;border-radius:9px !important;padding:10px !important; }
.area-slot header { border-bottom:0 !important;margin-bottom:6px; }

/* modals */
.modal-bg { background:rgba(0,0,0,.72) !important;backdrop-filter:blur(5px); }
.modal { background:#0c1718 !important;border:1px solid rgba(255,255,255,.10) !important;border-radius:15px !important;box-shadow:0 26px 80px rgba(0,0,0,.55) !important; }
.modal h3 { font-size:20px !important;color:#fff; }
.toast { background:#0d1a1b !important;border:1px solid rgba(255,255,255,.10) !important;color:#f2f5f3 !important;border-radius:11px !important;box-shadow:0 20px 60px rgba(0,0,0,.45) !important; }

/* responsive */
@media (max-width: 1280px) {
  .app { grid-template-columns:210px minmax(0,1fr) !important; }
  .main { padding:22px 22px 60px !important; }
  .ro-dashboard-grid.crew .ro-next-shift { grid-column:span 6; }
  .ro-dashboard-grid.crew .ro-presence { grid-column:span 6; }
  .ro-dashboard-grid.crew .ro-quick { grid-column:span 12; }
  .ro-stats { grid-template-columns:repeat(3,1fr); }
  .ro-profile-grid { grid-template-columns:210px minmax(0,1fr); }
  .ro-profile-prefs { grid-column:2; }
  .ro-shift-row,.ro-market-row { grid-template-columns:58px 105px minmax(150px,1fr) auto minmax(140px,auto); }
  .ro-shift-crew { display:none; }
  .ro-open-row { grid-template-columns:58px 105px minmax(150px,1fr) 75px minmax(145px,auto); }
  .plan-wrap.plan-tl { grid-template-columns:minmax(0,1fr) 280px !important; }
}
@media (max-width: 1050px) {
  .app { grid-template-columns:1fr !important; }
  .sidebar { position:fixed !important;z-index:90;left:0;top:0;width:250px;transform:translateX(-105%);transition:transform .18s ease;box-shadow:30px 0 70px rgba(0,0,0,.5); }
  .sidebar.open { transform:translateX(0); }
  .menu-toggle,.menu-close { display:inline-flex !important; }
  .nav-scrim { display:none;position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.55); }
  .sidebar.open + .nav-scrim { display:block; }
  .main { max-width:none;padding:18px 18px 50px !important; }
  .ro-dashboard-grid.staff .ro-presence,.ro-dashboard-grid.staff .ro-attention,.ro-dashboard-grid.staff > .ro-panel:nth-of-type(n+3) { grid-column:span 12; }
  .ro-profile-grid { grid-template-columns:1fr 1fr; }
  .ro-profile-id { position:static; }
  .ro-profile-prefs { grid-column:1/-1; }
  .plan-wrap.plan-tl { grid-template-columns:1fr !important; }
  .pool { position:static;max-height:none; }
  body[data-view="plan"] .main { padding:14px !important; }
}
@media (max-width: 760px) {
  body { font-size:14px; }
  .main { padding:12px 11px 45px !important; }
  .topbar { align-items:flex-start !important;gap:8px !important;padding-bottom:12px;margin-bottom:12px !important; }
  .topbar h2 { font-size:23px !important; }
  .topbar .row:first-child { flex-wrap:nowrap !important; }
  .ro-hero { min-height:210px;border-radius:14px; }
  .ro-hero-copy { left:18px;bottom:20px;right:16px; }
  .ro-hero h1 { font-size:31px; }
  .ro-hero-quote { display:none; }
  .ro-dashboard-grid.crew > *,.ro-dashboard-grid.staff > * { grid-column:1/-1 !important; }
  .ro-quick-grid { grid-template-columns:1fr; }
  .ro-quick-card { min-height:82px;display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;align-items:center;column-gap:8px; }
  .ro-quick-ico { grid-row:1/3; }
  .ro-stats,.crew-hours .ro-stats { grid-template-columns:1fr 1fr; }
  .ro-shift-row,.ro-market-row,.ro-open-row { grid-template-columns:52px minmax(0,1fr) auto;gap:8px;padding:10px; }
  .ro-shift-time { grid-column:2;grid-row:1; }
  .ro-shift-main { grid-column:2;grid-row:2; }
  .ro-shift-status,.ro-slot-info { grid-column:3;grid-row:1;justify-self:end; }
  .ro-shift-actions { grid-column:2/4;grid-row:3;justify-self:stretch; }
  .ro-shift-actions .btn { flex:1; }
  .ro-market-owner { grid-column:2/4;grid-row:3; }
  .ro-market-row .ro-shift-actions { grid-row:4; }
  .ro-market-bids { grid-column:1/-1;grid-row:5; }
  .ro-bid-row { flex-direction:column;align-items:flex-start; }
  .ro-filter-strip { align-items:stretch;flex-direction:column; }
  .ro-filter-strip select { min-width:0;width:100%; }
  .ro-tab-action { margin-left:0;width:100%;order:10; }
  .ro-page-tabs { align-items:stretch; }
  .ro-plan-hours { width:100%;margin-left:0;margin-top:4px; }
  .ro-profile-grid { grid-template-columns:1fr; }
  .ro-profile-prefs { grid-column:auto; }
  .ro-form-grid { grid-template-columns:1fr; }
  .ro-profile-prefs .ro-check-grid { grid-template-columns:1fr 1fr; }
  .plan-tools { flex-wrap:wrap; }
  .plan-tools > * { flex:1 1 150px; }
  .plan-tools-actions { margin-left:0;width:100%; }
  .plan-tools-actions .btn { flex:1; }
  .plan-mobile { display:grid;gap:10px; }
  .plan-m-area { background:#0a1516;border:1px solid rgba(255,255,255,.07);border-radius:10px;padding:10px; }
  .plan-m-area h3 { margin:0 0 8px;color:#fff;font-size:14px; }
  .plan-m-shift { width:100%;display:flex;justify-content:space-between;align-items:center;background:#111d1e;border:1px solid rgba(255,255,255,.08);color:#fff;border-radius:8px;padding:10px;margin:5px 0;text-align:left; }
  .plan-m-shift.open { border-color:rgba(214,173,77,.35);background:#211d13; }
  .plan-m-shift.full { border-color:rgba(83,139,92,.22);background:#12201b; }
  .plan-m-shift.sel { border-color:var(--ro-gold-bright);box-shadow:0 0 0 2px rgba(214,173,77,.14); }
  .area-slots { grid-template-columns:1fr !important; }
  .modal { width:min(94vw,560px) !important;max-height:88vh;overflow:auto; }
}
@media (max-width: 470px) {
  .ro-stats,.crew-hours .ro-stats { grid-template-columns:1fr; }
  .ro-hero h1 { font-size:28px; }
  .ro-panel { padding:14px; }
  .ro-profile-prefs .ro-check-grid { grid-template-columns:1fr; }
  .ro-date-tile { width:44px;height:44px; }
}

@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior:auto !important;transition:none !important;animation:none !important; }
}
.ro-analytics { margin-top:12px;border-top:1px solid rgba(255,255,255,.06);padding-top:10px; }
.ro-analytics summary { cursor:pointer;color:#aab5b1;font-size:11px;font-weight:700;list-style:none; }
.ro-analytics summary::-webkit-details-marker { display:none; }
.ro-analytics summary::after { content:" +";color:var(--ro-gold); }
.ro-analytics[open] summary::after { content:" –"; }
.ro-analytics .stat-grid { margin-top:10px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px; }
.ro-analytics .stat-card { background:#0d191a !important;border:1px solid rgba(255,255,255,.06) !important;border-radius:10px !important;padding:12px !important; }

/* ======================================================================
   v6 fine tuning + professional admin workspace
   ====================================================================== */
:root {
  --ro-muted: #b7c2be;
  --ro-dim: #929f9a;
  --ro-text-soft: #d4dcd9;
  --ro-panel-edge: rgba(255,255,255,.095);
}
html, body { font-size: 16px !important; }
.hint,.ro-muted { color:var(--ro-muted) !important; }
label { color:#d0d8d5 !important; font-size:13px !important; }
input::placeholder,textarea::placeholder { color:#84918c !important; }
.topbar p { color:#b8c4c0 !important; font-size:14px !important; line-height:1.5; }
.card .k,.k,.ro-kicker { color:#bdc8c4 !important; font-size:11px !important; }
.nav-items button { font-size:14px !important; }

/* Primary actions are gold. Green is reserved for status / success only. */
.btn.primary,
.ro-shift-actions .btn.primary,
.ro-tab-action.btn.primary {
  background:linear-gradient(180deg,#e7c364,#cfa642) !important;
  border-color:#ebcb78 !important;
  color:#18150d !important;
  box-shadow:0 7px 22px rgba(188,143,42,.10) !important;
}
.btn.primary:hover,
.ro-shift-actions .btn.primary:hover,
.ro-tab-action.btn.primary:hover { background:linear-gradient(180deg,#f0d078,#d9b14d) !important; }
.ro-badge.ok,.tag.ok { background:rgba(69,126,86,.18) !important; border-color:rgba(91,156,108,.36) !important; color:#a8ddb4 !important; }

/* Open shift rows: explicit areas prevent action buttons from wrapping out of cards. */
.ro-open-row {
  grid-template-columns:62px 126px minmax(190px,1.2fr) minmax(130px,.7fr) 82px minmax(175px,auto) !important;
  grid-template-areas:"date time main crew slot actions";
  align-items:center !important;
  overflow:hidden;
}
.ro-open-row > .ro-date-tile { grid-area:date; }
.ro-open-row > .ro-shift-time { grid-area:time; }
.ro-open-row > .ro-shift-main { grid-area:main; }
.ro-open-row > .ro-shift-crew { grid-area:crew; }
.ro-open-row > .ro-slot-info { grid-area:slot; }
.ro-open-row > .ro-shift-actions { grid-area:actions; justify-self:end; min-width:0; }
.ro-open-row .ro-shift-actions .btn { white-space:nowrap; max-width:100%; }
.ro-shift-time b,.ro-shift-main b,.ro-slot-info b { font-size:15px !important; }
.ro-shift-time small,.ro-shift-main small,.ro-slot-info small { font-size:12px !important; color:#aeb9b5 !important; }
.ro-market-row,.ro-shift-row { padding:14px 16px !important; min-height:78px; }

/* Better modal used by "Eigene Schicht anbieten". */
.ro-offer-picker { width:min(720px,94vw) !important; }
.ro-modal-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:8px; }
.ro-modal-head h3 { margin:2px 0 0 !important; }
.ro-shift-choice-list { display:grid; gap:8px; margin:16px 0; max-height:46vh; overflow:auto; padding-right:3px; }
.ro-shift-choice {
  display:grid !important;
  grid-template-columns:auto 54px 130px minmax(0,1fr);
  align-items:center; gap:12px;
  background:#0f1b1c; border:1px solid rgba(255,255,255,.09); border-radius:11px;
  padding:10px 12px; cursor:pointer; transition:border-color .15s ease,background .15s ease;
}
.ro-shift-choice:hover { background:#132122; border-color:rgba(214,173,77,.25); }
.ro-shift-choice:has(input:checked) { background:#181d17; border-color:rgba(222,183,83,.62); box-shadow:inset 3px 0 0 var(--ro-gold); }
.ro-shift-choice > input { min-height:0 !important; width:17px; height:17px; accent-color:#d6ad4d; }
.ro-shift-choice .ro-date-tile { width:48px; height:48px; }
.ro-choice-time,.ro-choice-main { display:grid; gap:2px; }
.ro-choice-time b,.ro-choice-main b { color:#fff; font-size:14px; }
.ro-choice-time small,.ro-choice-main small { color:var(--ro-muted); font-size:12px; }
.ro-modal-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:16px; }

/* ----------------------------------------------------------------------
   Planning workspace: calmer, larger and readable from a normal monitor.
   ---------------------------------------------------------------------- */
body[data-view="plan"] .main { max-width:1880px !important; }
body[data-view="plan"] .topbar { margin-bottom:14px !important; }
body[data-view="plan"] .plan-tools {
  min-height:66px; padding:11px 13px !important; gap:10px !important;
  background:#0b1617 !important; border-color:var(--ro-panel-edge) !important;
}
body[data-view="plan"] .plan-tools input,
body[data-view="plan"] .plan-tools select { min-height:44px !important; font-size:14px !important; }
body[data-view="plan"] .plan-tools .hint { font-size:13px !important; }
body[data-view="plan"] .plan-wrap.plan-tl { grid-template-columns:minmax(0,1fr) 340px !important; gap:14px !important; }
body[data-view="plan"] .plan-board,
body[data-view="plan"] .pool { min-width:0; }
body[data-view="plan"] .plan-daybar { margin:2px 0 10px; }
body[data-view="plan"] .cmd-day b { font-size:20px !important; }
body[data-view="plan"] .cmd-day .hint { font-size:12px !important; }
body[data-view="plan"] .board { padding:14px !important; background:#0a1415 !important; }
body[data-view="plan"] .tl { min-width:900px; }
body[data-view="plan"] .tl-head { height:40px !important; }
body[data-view="plan"] .tl-row { border-top:1px solid rgba(255,255,255,.055) !important; }
body[data-view="plan"] .tl-lab {
  width:148px !important; min-width:148px !important;
  color:#eef2f0 !important; font-size:14px !important; font-weight:750 !important;
  padding:0 14px 0 2px !important;
}
body[data-view="plan"] .tl-track { margin-left:148px !important; }
body[data-view="plan"] .tl-tick { color:#b3bebb !important; font-size:11px !important; top:7px !important; }
body[data-view="plan"] .tl-track::before { opacity:.25; }
body[data-view="plan"] .tl-block {
  background:#142022 !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:9px !important;
  color:#f2f5f3 !important;
  padding:7px 9px !important;
  box-shadow:inset 3px 0 0 #596863 !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  transition:border-color .14s ease,background .14s ease,box-shadow .14s ease !important;
}
body[data-view="plan"] .tl-block b { font-size:13px !important; font-weight:800 !important; color:#fff !important; }
body[data-view="plan"] .tl-block em { font-size:11px !important; color:#b8c3bf !important; }
body[data-view="plan"] .tl-block span { font-size:11px !important; color:#d0d8d5 !important; font-weight:700; }
body[data-view="plan"] .tl-block.full {
  background:#13201d !important; border-color:rgba(88,136,101,.30) !important;
  box-shadow:inset 3px 0 0 #547b60 !important;
}
body[data-view="plan"] .tl-block.open {
  background:#191c19 !important; border-color:rgba(214,173,77,.32) !important;
  box-shadow:inset 3px 0 0 #caa84e !important;
}
body[data-view="plan"] .tl-block.dropped {
  background:#211718 !important; border-color:rgba(198,96,88,.36) !important;
  box-shadow:inset 3px 0 0 #b65a53 !important;
}
body[data-view="plan"] .tl-block.sel {
  background:#211f18 !important; border-color:#e3bd5b !important;
  box-shadow:inset 3px 0 0 #f0c766,0 0 0 2px rgba(214,173,77,.13) !important;
  z-index:4;
}
body[data-view="plan"] .pool {
  padding:14px !important; background:#0b1617 !important;
  border-color:var(--ro-panel-edge) !important;
}
body[data-view="plan"] .pool .k { font-size:11px !important; margin-bottom:10px; }
body[data-view="plan"] .pool-item { grid-template-columns:38px minmax(0,1fr) auto auto !important; padding:10px !important; gap:9px !important; }
body[data-view="plan"] .pool-item .face { width:36px !important; height:36px !important; }
body[data-view="plan"] .pool-meta b { font-size:13px !important; }
body[data-view="plan"] .pool-meta .hint { font-size:11px !important; line-height:1.35 !important; color:#aeb9b5 !important; }
body[data-view="plan"] .score-btn { font-size:10px !important; }
body[data-view="plan"] .pick-bar { padding:13px 14px !important; font-size:13px !important; }
body[data-view="plan"] .pick-main b { font-size:15px !important; }
body[data-view="plan"] .pick-main .hint,.role-pick-wrap { font-size:12px !important; }
body[data-view="plan"] .tl-detail { font-size:13px !important; }
body[data-view="plan"] .plan-foot .card { padding:16px !important; }

/* Mobile plan remains cards instead of forcing a tiny timeline. */
body[data-view="plan"] .plan-m-shift { font-size:13px !important; padding:12px !important; }
body[data-view="plan"] .plan-m-shift span { color:#bac5c1 !important; }

/* ----------------------------------------------------------------------
   Unified staff/admin workspaces.
   ---------------------------------------------------------------------- */
.ro-workspace-nav {
  display:flex; align-items:center; gap:14px; margin:0 0 16px;
  padding:8px 10px; background:#0a1516; border:1px solid rgba(255,255,255,.075);
  border-radius:12px; overflow:hidden;
}
.ro-workspace-label {
  flex:0 0 auto; padding:0 8px; color:#93a19c; font-size:10px; font-weight:800;
  text-transform:uppercase; letter-spacing:.14em;
}
.ro-workspace-links { display:flex; gap:4px; min-width:0; overflow-x:auto; scrollbar-width:thin; }
.ro-workspace-links button {
  display:inline-flex; align-items:center; gap:7px; border:0; background:transparent; color:#b9c3c0;
  border-radius:8px; padding:8px 10px; white-space:nowrap; cursor:pointer; font:inherit; font-size:12px; font-weight:650;
}
.ro-workspace-links button:hover { background:#122022; color:#fff; }
.ro-workspace-links button.active { background:#1a2b25; color:#f0d072; box-shadow:inset 0 -2px 0 #d6ad4d; }
.ro-workspace-links .nav-ico { width:15px !important; height:15px !important; }

body.staff-mode:is([data-view="festival"],[data-view="admin"],[data-view="build"],[data-view="form"],[data-view="rules"],[data-view="checklist"],[data-view="crew"],[data-view="hours"],[data-view="conflicts"]) #content {
  color:#e8edeb;
}
body.staff-mode:is([data-view="festival"],[data-view="admin"],[data-view="build"],[data-view="form"],[data-view="rules"],[data-view="checklist"]) .card {
  padding:20px !important; border-color:rgba(255,255,255,.085) !important; background:#0c1718 !important;
}
body.staff-mode:is([data-view="festival"],[data-view="admin"],[data-view="build"],[data-view="form"],[data-view="rules"],[data-view="checklist"]) .card h3,
.ro-admin-section h3 { margin:4px 0 12px !important; font-size:18px !important; color:#fff !important; letter-spacing:-.015em; }
body.staff-mode:is([data-view="festival"],[data-view="admin"],[data-view="build"],[data-view="form"],[data-view="rules"],[data-view="checklist"]) .hint { font-size:12.5px !important; line-height:1.55 !important; color:#acb8b4 !important; }
body.staff-mode:is([data-view="festival"],[data-view="admin"],[data-view="build"],[data-view="form"],[data-view="rules"],[data-view="checklist"]) input,
body.staff-mode:is([data-view="festival"],[data-view="admin"],[data-view="build"],[data-view="form"],[data-view="rules"],[data-view="checklist"]) select,
body.staff-mode:is([data-view="festival"],[data-view="admin"],[data-view="build"],[data-view="form"],[data-view="rules"],[data-view="checklist"]) textarea {
  font-size:14px !important; min-height:44px;
}

/* Festival settings: clear two-column admin workspace instead of loose cards. */
body[data-view="festival"] #content > .grid {
  display:grid !important; grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr) !important;
  gap:14px !important; align-items:start;
}
body[data-view="festival"] #content > .grid > .card:first-child { grid-row:span 2; }
body[data-view="festival"] .day-edit { padding:12px 0 !important; }
body[data-view="festival"] .day-edit .row { display:grid !important; grid-template-columns:minmax(120px,.7fr) minmax(190px,1fr) minmax(190px,1fr) auto auto; gap:8px !important; }
body[data-view="festival"] #scw { display:grid; grid-template-columns:1fr 1fr; gap:8px 14px; }

/* Areas & activities */
.ro-admin-area-workspace.area-split { grid-template-columns:280px minmax(0,1fr) !important; gap:14px !important; align-items:start; }
.ro-admin-navcard { position:sticky; top:12px; padding:12px !important; }
.ro-admin-navcard #areaPick { margin-bottom:10px; }
.area-item { padding:11px 12px !important; border-radius:9px !important; border:1px solid transparent; }
.area-item:hover { background:#122022 !important; }
.area-item.on { background:#192a24 !important; border-color:rgba(214,173,77,.18); box-shadow:inset 3px 0 0 #d6ad4d; }
.area-item b { color:#f2f5f3 !important; font-size:13px !important; }
.area-item span { color:#a7b3af !important; font-size:11px !important; }
.ro-admin-editor { min-width:0; }
.ro-admin-editor > h3 { font-size:21px !important; padding-bottom:12px; border-bottom:1px solid rgba(255,255,255,.06); }
.ro-admin-editor .detail-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:12px !important; }
.ro-admin-editor .act-row {
  display:grid !important; grid-template-columns:minmax(180px,1fr) auto auto auto auto !important;
  gap:8px !important; align-items:center; padding:9px 0; border-bottom:1px solid rgba(255,255,255,.055);
}
.ro-admin-editor .act-row:last-child { border-bottom:0; }

/* Shift builder */
.ro-admin-section { position:relative; overflow:hidden; }
.ro-admin-section-primary { border-color:rgba(214,173,77,.18) !important; }
.ro-admin-section-primary::before { content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:#d6ad4d; opacity:.75; }
body[data-view="build"] #content > .card { max-width:none; }
body[data-view="build"] .pat-slot {
  display:grid !important; grid-template-columns:120px 120px minmax(180px,1fr) minmax(260px,1.4fr) auto !important;
  gap:8px !important; align-items:center; padding:9px; margin-bottom:6px;
  background:#0a1516; border:1px solid rgba(255,255,255,.06); border-radius:9px;
}
body[data-view="build"] .chip,body[data-view="admin"] .chip { font-size:12px !important; color:#ced6d3 !important; }
.ro-admin-danger-zone { border-color:rgba(198,96,88,.13) !important; }

/* Registration form, rules and checklist tables */
body.staff-mode:is([data-view="form"],[data-view="rules"],[data-view="crew"],[data-view="hours"]) .card:has(table) { overflow-x:auto; }
body.staff-mode:is([data-view="form"],[data-view="rules"],[data-view="crew"],[data-view="hours"]) table { min-width:780px; font-size:13.5px !important; }
body.staff-mode:is([data-view="form"],[data-view="rules"],[data-view="crew"],[data-view="hours"]) th {
  color:#aebbb6 !important; font-size:11px !important; text-transform:uppercase; letter-spacing:.06em; background:#091415 !important;
  padding:11px 10px !important;
}
body.staff-mode:is([data-view="form"],[data-view="rules"],[data-view="crew"],[data-view="hours"]) td {
  color:#e2e8e5 !important; padding:10px !important; border-color:rgba(255,255,255,.055) !important;
}
body.staff-mode:is([data-view="form"],[data-view="rules"],[data-view="crew"],[data-view="hours"]) tbody tr:hover td { background:#101d1e !important; }
.ro-admin-summary.cards { grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:10px !important; }
.ro-admin-summary .card { min-height:100px; }
.ro-checklist-panel .check-row { background:#0a1516 !important; border:1px solid rgba(255,255,255,.06) !important; border-left:0 !important; margin:7px 0; padding:12px !important; }
.ro-checklist-panel .check-row:hover { background:#102022 !important; border-color:rgba(214,173,77,.18) !important; }

/* Planning / crew admin surfaces share larger readable text. */
body.staff-mode:is([data-view="crew"],[data-view="hours"],[data-view="conflicts"]) #content { font-size:14px; }
body.staff-mode:is([data-view="crew"],[data-view="hours"],[data-view="conflicts"]) .card { padding:18px !important; }
body[data-view="conflicts"] .problem { padding:13px 14px !important; margin-bottom:8px; font-size:13px; }

/* ----------------------------------------------------------------------
   Responsive refinements
   ---------------------------------------------------------------------- */
@media (max-width: 1360px) {
  .ro-open-row {
    grid-template-columns:56px 116px minmax(180px,1fr) 76px minmax(160px,auto) !important;
    grid-template-areas:"date time main slot actions";
  }
  .ro-open-row > .ro-shift-crew { display:none !important; }
  body[data-view="plan"] .plan-wrap.plan-tl { grid-template-columns:minmax(0,1fr) 310px !important; }
  body[data-view="plan"] .tl-lab { width:128px !important; min-width:128px !important; }
  body[data-view="plan"] .tl-track { margin-left:128px !important; }
}
@media (max-width: 1100px) {
  .ro-workspace-nav { align-items:flex-start; flex-direction:column; gap:5px; }
  .ro-workspace-links { width:100%; }
  body[data-view="festival"] #content > .grid { grid-template-columns:1fr !important; }
  body[data-view="festival"] #content > .grid > .card:first-child { grid-row:auto; }
  .ro-admin-area-workspace.area-split { grid-template-columns:1fr !important; }
  .ro-admin-navcard { position:static; }
  #areaNav { display:none; }
  body[data-view="plan"] .plan-wrap.plan-tl { grid-template-columns:1fr !important; }
  body[data-view="plan"] .pool { position:static; max-height:none; }
}
@media (max-width: 760px) {
  html,body { font-size:15px !important; }
  .ro-open-row {
    grid-template-columns:48px minmax(0,1fr) auto !important;
    grid-template-areas:
      "date time slot"
      "date main slot"
      ". actions actions" !important;
    min-height:0; padding:12px !important;
  }
  .ro-open-row > .ro-shift-actions { justify-self:stretch; width:100%; margin-top:4px; }
  .ro-open-row > .ro-shift-actions .btn { width:100%; }
  .ro-shift-choice { grid-template-columns:auto 48px minmax(0,1fr); }
  .ro-shift-choice .ro-choice-main { grid-column:3; }
  .ro-shift-choice .ro-choice-time { grid-column:3; }
  .ro-modal-actions { flex-direction:column-reverse; }
  .ro-modal-actions .btn { width:100%; }
  .ro-admin-editor .detail-grid { grid-template-columns:1fr !important; }
  .ro-admin-editor .detail-grid > * { grid-column:auto !important; }
  .ro-admin-editor .act-row { grid-template-columns:1fr !important; }
  body[data-view="build"] .pat-slot { grid-template-columns:1fr 1fr !important; }
  body[data-view="build"] .pat-slot .patDesc,body[data-view="build"] .pat-slot .row { grid-column:1/-1; }
  body[data-view="festival"] .day-edit .row { grid-template-columns:1fr !important; }
  .ro-admin-summary.cards { grid-template-columns:1fr !important; }
}

/* System administration uses the same visual language as planning/organisation. */
body.staff-mode:is([data-view="displays"],[data-view="users"],[data-view="i18n"],[data-view="help"],[data-view="audit"],[data-view="backup"],[data-view="status"],[data-view="move"]) #content { font-size:14px; color:#e7ecea; }
body.staff-mode:is([data-view="displays"],[data-view="users"],[data-view="i18n"],[data-view="help"],[data-view="audit"],[data-view="backup"],[data-view="status"],[data-view="move"]) .card {
  padding:20px !important; background:#0c1718 !important; border-color:rgba(255,255,255,.085) !important;
}
body.staff-mode:is([data-view="displays"],[data-view="users"],[data-view="i18n"],[data-view="help"],[data-view="audit"],[data-view="backup"],[data-view="status"],[data-view="move"]) .hint { font-size:12.5px !important; line-height:1.5; color:#adb9b5 !important; }
body.staff-mode:is([data-view="users"],[data-view="audit"],[data-view="backup"]) .card:has(table) { overflow-x:auto; }
body.staff-mode:is([data-view="users"],[data-view="audit"],[data-view="backup"]) table { min-width:760px; font-size:13.5px !important; }
body.staff-mode:is([data-view="users"],[data-view="audit"],[data-view="backup"]) th { color:#aebbb6 !important; font-size:11px !important; text-transform:uppercase; letter-spacing:.06em; background:#091415 !important; padding:11px 10px !important; }
body.staff-mode:is([data-view="users"],[data-view="audit"],[data-view="backup"]) td { color:#e2e8e5 !important; padding:10px !important; border-color:rgba(255,255,255,.055) !important; }
body.staff-mode:is([data-view="status"],[data-view="backup"],[data-view="move"]) .cards { gap:10px !important; }

/* ======================================================================
   v6 Admin overhaul: clearer workflows, consistent system pages
   ====================================================================== */

/* Shared section grammar */
.ro-section-intro{display:flex;justify-content:space-between;align-items:flex-start;gap:28px;margin:0 0 18px}.ro-section-intro>div{min-width:220px}.ro-section-intro h3{margin:3px 0 0;font-size:21px;color:#fff;letter-spacing:-.02em}.ro-section-intro p{max-width:680px;margin:1px 0 0;color:#c1cbc7;font-size:14px;line-height:1.55}.ro-section-intro.compact{margin-bottom:14px}.ro-section-intro.compact h3{font-size:18px}.ro-section-intro.compact p{font-size:13px;max-width:520px}.ro-section-intro.list-head{margin-top:24px}.ro-field-label{display:block;color:#dde4e1;font-size:13px;font-weight:700;margin:0 0 7px}.ro-form-grid{display:grid;gap:18px}.ro-form-grid.two{grid-template-columns:1fr 1fr}.ro-form-grid.three{grid-template-columns:.9fr 1.3fr .9fr}.ro-form-grid label>span,.ro-form-grid label>small{display:block}.ro-form-grid label>span{font-weight:700;color:#edf1ef;margin-bottom:7px}.ro-form-grid label>small{color:#aebbb6;font-size:12px;line-height:1.4;margin-top:6px}.ro-action-footer{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.07)}.ro-info-strip{display:flex;align-items:center;gap:14px;padding:15px 17px;border:1px solid rgba(214,173,77,.22);background:#141914;border-radius:12px;color:#dbe3df;margin-top:16px}.ro-info-strip>b{color:#f1cc69;white-space:nowrap}.ro-info-strip>span{flex:1;color:#bcc7c2;font-size:13px}.ro-empty-state{display:flex;min-height:120px;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:24px;color:#9eada7;border:1px dashed rgba(255,255,255,.10);border-radius:12px}.ro-empty-state b{color:#e8eeeb;font-size:15px;margin-bottom:4px}.ro-empty-state span{font-size:13px}.ro-footnote{margin-top:12px}

/* ----------------------------------------------------------------------
   Schichten anlegen: task-oriented, not a wall of controls
   ---------------------------------------------------------------------- */
body[data-view="build"] #content{max-width:1460px}.ro-build-switcher{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.ro-build-switcher button{display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;text-align:left;gap:1px 10px;padding:15px 16px;border:1px solid rgba(255,255,255,.08);background:#0c1718;color:#c4cfcb;border-radius:12px;cursor:pointer}.ro-build-switcher button>span{grid-row:1/3;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#152222;color:#8f9e98;font-weight:800}.ro-build-switcher button b{color:#e9eeec;font-size:14px}.ro-build-switcher button small{color:#98a7a1;font-size:11.5px;line-height:1.35}.ro-build-switcher button:hover{border-color:rgba(214,173,77,.25);background:#101d1e}.ro-build-switcher button.active{background:#171c17;border-color:rgba(214,173,77,.40);box-shadow:inset 0 -2px 0 #d6ad4d}.ro-build-switcher button.active>span{background:#d6ad4d;color:#15120b}.ro-build-switcher button.active b{color:#f3d67c}.ro-build-panel{background:#0b1617;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:22px}.ro-build-panel.is-hidden{display:none}.ro-build-panel.danger-panel{border-color:rgba(194,86,78,.18)}.ro-build-step{display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;padding:19px 0;border-top:1px solid rgba(255,255,255,.065)}.ro-build-step:first-of-type{border-top:0}.ro-step-no{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#172422;color:#e2c263;font-weight:850}.ro-step-main h4,.ro-bulk-box h4{margin:0 0 4px;color:#f3f6f4;font-size:15px}.ro-step-main>p,.ro-bulk-box>h4+*{color:#aebbb6}.ro-step-main>p{margin:0 0 12px;font-size:13px}.ro-step-head{display:flex;justify-content:space-between;align-items:start;gap:14px}.ro-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.ro-check-grid.compact{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.ro-check{display:flex;align-items:center;gap:9px;min-height:42px;padding:9px 11px;border:1px solid rgba(255,255,255,.075);background:#0f1b1c;border-radius:9px;color:#d8e0dd;font-size:13px;font-weight:650}.ro-check:has(input:checked){border-color:rgba(214,173,77,.26);background:#171d18;color:#f0d474}.ro-check input{width:16px;height:16px;flex:0 0 auto}.ro-pattern-slots{display:grid;gap:8px;margin-top:12px}.ro-pattern-slot{display:grid;grid-template-columns:260px minmax(190px,.7fr) minmax(260px,1.2fr) auto;align-items:end;gap:12px;padding:13px;border:1px solid rgba(255,255,255,.075);background:#0f1a1b;border-radius:11px}.ro-pattern-time{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:7px}.ro-pattern-time>span{padding-bottom:12px;color:#869690}.ro-pattern-slot label,.ro-need-field{color:#b8c5c0;font-size:11px;font-weight:700}.ro-pattern-slot label input{margin-top:5px}.ro-pattern-desc input{width:100%}.ro-pattern-needs>.k{margin-bottom:6px}.ro-pattern-needs>div,.ro-needs-grid{display:flex;flex-wrap:wrap;gap:7px}.ro-need-field{display:inline-flex;align-items:center;gap:7px;padding:6px 8px;border:1px solid rgba(255,255,255,.075);border-radius:8px;background:#111e1f}.ro-need-field input{width:58px!important;min-height:34px!important;margin:0!important;padding:6px 7px!important}.ro-build-review{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px;padding:16px 17px;border:1px solid rgba(214,173,77,.20);background:#151915;border-radius:12px}.ro-build-review>div:first-child{display:grid;gap:3px}.ro-build-review b{color:#f2f4f3}.ro-build-review span:last-child{color:#abb8b3;font-size:12px}.ro-bulk-box{margin-top:20px;padding:16px;border:1px solid rgba(255,255,255,.075);border-radius:11px;background:#0e191a}.ro-bulk-box .ro-needs-grid{margin:12px 0}.ro-danger-action{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:18px;padding:14px 16px;border:1px solid rgba(194,86,78,.26);background:#1d1415;border-radius:11px}.ro-danger-action>div{display:grid;gap:3px}.ro-danger-action b{color:#f0d9d7}.ro-danger-action span{font-size:12px;color:#bca8a6}

/* ----------------------------------------------------------------------
   Ticket & Gruppen: explain the calculation and separate concerns
   ---------------------------------------------------------------------- */
body[data-view="rules"] #content{max-width:1500px}.ro-rule-explainer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:15px 18px;margin-bottom:14px;border:1px solid rgba(214,173,77,.22);background:#141a16;border-radius:13px}.ro-rule-explainer p{margin:0;color:#b7c2bd;font-size:13px;max-width:620px;line-height:1.5}.ro-formula{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.ro-formula span,.ro-formula strong{padding:7px 10px;border-radius:8px;background:#0f1a1b;color:#e6ece9;font-size:12.5px}.ro-formula strong{background:#222015;color:#f1cc69}.ro-formula>b{color:#d0af54}.ro-rules-layout{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ro-rules-card{min-width:0;background:#0b1617;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:20px}.ro-rule-list{display:grid;gap:8px}.ro-rule-row{display:grid;grid-template-columns:minmax(150px,1fr) 118px auto;gap:10px;align-items:end;padding:11px;border:1px solid rgba(255,255,255,.07);background:#0f1a1b;border-radius:10px}.ro-rule-row.group{grid-template-columns:minmax(130px,1fr) 100px 150px auto}.ro-rule-row label{font-size:11px;color:#aebbb6;font-weight:700}.ro-rule-row label input,.ro-rule-row label select{margin-top:5px}.ro-hours-field{position:relative}.ro-hours-field input{padding-right:28px!important}.ro-hours-field>span{position:absolute;right:10px;bottom:12px;color:#8d9b96;font-size:11px}.ro-hours-field.inline{display:block;position:relative;width:96px}.ro-hours-field.inline input{width:96px}.ro-rule-actions{display:flex;gap:6px}.ro-add-box{margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.065)}.ro-add-row{display:grid;grid-template-columns:minmax(150px,1fr) 96px auto;gap:8px;margin-top:8px}.ro-add-row.groups{grid-template-columns:minmax(140px,1fr) 96px 145px auto}

/* ----------------------------------------------------------------------
   Conflict center: operational inbox
   ---------------------------------------------------------------------- */
body[data-view="conflicts"] #content{max-width:1380px}.ro-conflict-overview{display:grid;grid-template-columns:220px 220px minmax(320px,1fr);gap:10px;margin-bottom:12px}.ro-conflict-stat,.ro-conflict-guide{display:flex;align-items:center;gap:13px;padding:15px 16px;border-radius:12px;border:1px solid rgba(255,255,255,.075);background:#0c1718}.ro-conflict-stat.alert{border-color:rgba(190,83,76,.30);background:#1a1314}.ro-conflict-stat.clear{border-color:rgba(85,137,99,.23)}.ro-conflict-stat-icon{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#172222;color:#dcb958;font-weight:900}.ro-conflict-stat.alert .ro-conflict-stat-icon{background:#321b1c;color:#e1867f}.ro-conflict-stat>div,.ro-conflict-guide{display:grid}.ro-conflict-stat b{font-size:24px;color:#fff;line-height:1}.ro-conflict-stat span:last-child,.ro-conflict-guide span{font-size:12px;color:#9fada7;margin-top:4px}.ro-conflict-guide b{color:#e7ecea;font-size:14px}.ro-conflict-tabs{display:flex;gap:6px;border-bottom:1px solid rgba(255,255,255,.07);margin-bottom:18px}.ro-conflict-tabs button{border:0;background:transparent;color:#aab7b2;padding:10px 13px;border-bottom:2px solid transparent;cursor:pointer;font-weight:700}.ro-conflict-tabs button span{display:inline-grid;place-items:center;min-width:22px;height:20px;margin-left:5px;padding:0 5px;border-radius:10px;background:#172223;font-size:11px}.ro-conflict-tabs button.active{color:#f2d172;border-bottom-color:#d6ad4d}.ro-conflict-list{display:grid;gap:9px}.ro-conflict-item{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:13px;padding:14px 15px;border:1px solid rgba(255,255,255,.075);background:#0d1819;border-radius:11px}.ro-conflict-item.hard{border-left:3px solid #b65750}.ro-conflict-item.notice{border-left:3px solid #c8a84f}.ro-conflict-icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#182323;color:#e0bd60;font-weight:900}.ro-conflict-item.hard .ro-conflict-icon{background:#2a1718;color:#dc7e76}.ro-conflict-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.ro-conflict-title h3{margin:0;color:#f2f5f3;font-size:15px}.ro-conflict-copy p{margin:5px 0 0;color:#bdc8c4;font-size:13px;line-height:1.5}.ro-conflict-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px;font-size:11.5px}.ro-conflict-meta span{color:#84948e}.ro-conflict-meta b{color:#dce4e0}.ro-conflict-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap;max-width:340px}

/* ----------------------------------------------------------------------
   Displays: setup area + real display cards
   ---------------------------------------------------------------------- */
body[data-view="displays"] #content{max-width:1500px}.ro-display-summary,.ro-system-summary{display:grid;grid-template-columns:repeat(3,180px) minmax(300px,1fr);gap:9px;margin-bottom:14px}.ro-display-summary>div,.ro-system-summary>div{display:grid;align-content:center;padding:13px 15px;border:1px solid rgba(255,255,255,.075);background:#0d1819;border-radius:11px}.ro-display-summary b,.ro-system-summary b{font-size:22px;color:#fff}.ro-display-summary span,.ro-system-summary span{font-size:11.5px;color:#9eada7}.ro-display-note b{font-size:13px!important;color:#d9e2de!important}.ro-display-note span{margin-top:4px}.ro-display-setup{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);gap:12px}.ro-display-create,.ro-display-motion,.ro-system-panel{padding:18px;border:1px solid rgba(255,255,255,.08);background:#0b1617;border-radius:13px}.ro-display-create .ro-add-row{grid-template-columns:minmax(180px,1fr) minmax(180px,.7fr) auto}.ro-display-create>.btn{margin-top:9px}.ro-motion-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:10px}.ro-motion-grid label{display:grid;grid-template-columns:1fr 86px;align-items:center;gap:7px;padding:9px 10px;border:1px solid rgba(255,255,255,.07);border-radius:9px;color:#dce3e0;font-size:12px}.ro-motion-grid small{grid-column:1/3;color:#879790;font-size:10.5px}.ro-display-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.ro-display-card{display:grid;grid-template-rows:auto 1fr auto;border:1px solid rgba(255,255,255,.08);background:#0c1718;border-radius:13px;overflow:hidden}.ro-display-card.overview{border-color:rgba(214,173,77,.22)}.ro-display-card-head{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:center;padding:14px 15px;border-bottom:1px solid rgba(255,255,255,.06)}.ro-display-screen-icon{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;background:#132021;color:#e0bc5d}.ro-display-card h3{margin:0!important;font-size:15px!important}.ro-display-card-head p{margin:3px 0 0;color:#9eada7;font-size:11.5px}.ro-display-card-body{padding:13px 15px}.ro-display-options{display:grid;grid-template-columns:repeat(3,1fr) minmax(120px,.8fr);gap:7px}.ro-day-sec{display:grid;grid-template-columns:1fr 65px auto;align-items:center;gap:5px;padding:8px;border:1px solid rgba(255,255,255,.075);border-radius:9px;font-size:11px;color:#b8c4bf}.ro-day-sec input{min-height:34px!important}.ro-display-card details{margin-top:10px;border-top:1px solid rgba(255,255,255,.06);padding-top:10px}.ro-display-card summary{cursor:pointer;color:#d8e1dd;font-size:12px;font-weight:700;margin-bottom:9px}.ro-display-card summary span{color:#8e9c96;margin-left:4px}.ro-display-passive{padding:10px 11px;border-radius:9px;background:#111d1e;color:#a9b6b1;font-size:12px}.ro-display-card-foot{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;background:#091314;border-top:1px solid rgba(255,255,255,.055)}

/* ----------------------------------------------------------------------
   System area: one consistent professional grammar
   ---------------------------------------------------------------------- */
body.staff-mode:is([data-view="displays"],[data-view="users"],[data-view="i18n"],[data-view="help"],[data-view="audit"],[data-view="backup"],[data-view="status"],[data-view="move"]) #content{color:#e9eeec}body.staff-mode:is([data-view="displays"],[data-view="users"],[data-view="i18n"],[data-view="help"],[data-view="audit"],[data-view="backup"],[data-view="status"],[data-view="move"]) .card{background:#0c1718!important;border-color:rgba(255,255,255,.08)!important;border-radius:13px!important;box-shadow:none!important}body.staff-mode:is([data-view="displays"],[data-view="users"],[data-view="i18n"],[data-view="help"],[data-view="audit"],[data-view="backup"],[data-view="status"],[data-view="move"]) .hint{color:#aab8b2!important;font-size:12.5px!important;line-height:1.5!important}body.staff-mode:is([data-view="displays"],[data-view="users"],[data-view="i18n"],[data-view="help"],[data-view="audit"],[data-view="backup"],[data-view="status"],[data-view="move"]) input,body.staff-mode:is([data-view="displays"],[data-view="users"],[data-view="i18n"],[data-view="help"],[data-view="audit"],[data-view="backup"],[data-view="status"],[data-view="move"]) select,body.staff-mode:is([data-view="displays"],[data-view="users"],[data-view="i18n"],[data-view="help"],[data-view="audit"],[data-view="backup"],[data-view="status"],[data-view="move"]) textarea{font-size:14px!important}body[data-view="users"] .ro-system-summary{grid-template-columns:repeat(4,1fr)}body[data-view="users"] .ro-system-panel{padding:0;overflow:hidden}body[data-view="users"] .ro-system-panel>.ro-section-intro{padding:18px 18px 0}body[data-view="users"] .ro-system-panel table{margin:0}body[data-view="audit"] .filter-bar{display:grid!important;grid-template-columns:1.2fr .9fr .9fr .9fr .9fr .8fr .95fr .95fr auto!important;gap:7px!important;padding:12px!important;background:#0b1617!important;border:1px solid rgba(255,255,255,.075)!important;border-radius:12px!important;margin-bottom:10px}body[data-view="audit"] .filter-bar input,body[data-view="audit"] .filter-bar select{min-width:0!important}body[data-view="i18n"] #content>.card,body[data-view="help"] #content>.card,body[data-view="backup"] #content>.card{padding:18px!important}body[data-view="i18n"] table td:first-child{color:#91a29b;font-size:11px}body[data-view="help"] .help-edit{padding:18px 0!important}body[data-view="help"] .help-edit>.k{font-size:13px!important;color:#f0d16f!important;margin-bottom:10px}body[data-view="help"] .help-edit textarea{min-height:120px}body[data-view="status"] #content>.card:first-child{border-color:rgba(214,173,77,.20)!important}body[data-view="status"] #content>.card{padding:16px 18px!important}body[data-view="backup"] #content>.card:last-of-type .row{padding:12px 0!important}body[data-view="move"] #content>.card{padding:19px!important}body[data-view="move"] #content>.card .k{color:#e0bd62!important;font-size:11px!important}body[data-view="move"] pre{background:#081112!important;border-color:rgba(255,255,255,.08)!important;color:#cdd6d2!important}

/* Readability tuning across admin workspaces */
body.staff-mode .main{font-size:15px}body.staff-mode .topbar p{color:#b4c0bb!important;font-size:14px!important}body.staff-mode .k{color:#99aaa3!important}body.staff-mode table{font-size:13.5px!important}body.staff-mode th{color:#9eada7!important;font-size:11px!important}body.staff-mode td{color:#e4eae7!important}body.staff-mode label{color:#cbd5d1}body.staff-mode .btn{font-size:13px}body.staff-mode .tag{font-size:10.5px}

/* Responsive behavior for new admin UI */
@media(max-width:1180px){.ro-pattern-slot{grid-template-columns:220px 1fr}.ro-pattern-needs{grid-column:1/2}.ro-pattern-slot>.patKill{grid-column:2;justify-self:end}.ro-rules-layout,.ro-display-setup{grid-template-columns:1fr}.ro-display-summary,.ro-system-summary{grid-template-columns:repeat(2,1fr)}.ro-display-grid{grid-template-columns:1fr}.ro-conflict-overview{grid-template-columns:1fr 1fr}.ro-conflict-guide{grid-column:1/3}.ro-rule-row.group{grid-template-columns:1fr 90px 140px}.ro-rule-row.group .ro-rule-actions{grid-column:1/4;justify-content:flex-end}body[data-view="audit"] .filter-bar{grid-template-columns:repeat(3,1fr)!important}}
@media(max-width:760px){.ro-section-intro{display:block}.ro-section-intro p{margin-top:8px}.ro-build-switcher{grid-template-columns:1fr}.ro-build-switcher button{grid-template-columns:34px 1fr}.ro-build-panel{padding:14px}.ro-build-step{grid-template-columns:1fr}.ro-step-no{display:none}.ro-step-head{display:block}.ro-step-head .btn{margin-top:10px}.ro-pattern-slot{grid-template-columns:1fr}.ro-pattern-needs,.ro-pattern-slot>.patKill{grid-column:auto}.ro-pattern-slot>.patKill{justify-self:start}.ro-build-review,.ro-danger-action,.ro-action-footer{display:grid}.ro-build-review .row{justify-content:stretch}.ro-build-review .btn,.ro-danger-action .btn,.ro-action-footer .btn{width:100%}.ro-form-grid.two,.ro-form-grid.three{grid-template-columns:1fr}.ro-rule-explainer{display:block}.ro-rule-explainer p{margin-top:10px}.ro-rules-layout{grid-template-columns:1fr}.ro-rule-row,.ro-rule-row.group{grid-template-columns:1fr 100px}.ro-rule-row .ro-rule-actions,.ro-rule-row.group .ro-rule-actions,.ro-rule-row.group .ro-mode-field{grid-column:1/3}.ro-add-row,.ro-add-row.groups{grid-template-columns:1fr 90px}.ro-add-row .btn,.ro-add-row.groups select,.ro-add-row.groups .btn{grid-column:1/3}.ro-conflict-overview{grid-template-columns:1fr}.ro-conflict-guide{grid-column:auto}.ro-conflict-item{grid-template-columns:30px 1fr}.ro-conflict-actions{grid-column:1/3;justify-content:flex-start;max-width:none}.ro-conflict-actions .btn{flex:1}.ro-display-summary,.ro-system-summary{grid-template-columns:1fr 1fr}.ro-display-create .ro-add-row{grid-template-columns:1fr}.ro-display-create .ro-add-row .btn{grid-column:auto}.ro-display-options{grid-template-columns:1fr 1fr}.ro-day-sec{grid-column:1/3}.ro-display-card-head{grid-template-columns:36px 1fr}.ro-display-card-head>a{grid-column:1/3;width:100%}body[data-view="audit"] .filter-bar{grid-template-columns:1fr!important}}

/* ======================================================================
   v7 planning + person detail refinements
   ====================================================================== */
body[data-view="plan"] .main{max-width:none!important}
body[data-view="plan"] .plan-tools{display:grid!important;grid-template-columns:220px minmax(220px,340px) auto minmax(180px,1fr) auto!important;align-items:center!important}
body[data-view="plan"] .plan-wrap.plan-tl{grid-template-columns:minmax(680px,1fr) 390px!important;gap:12px!important;align-items:start!important}
body[data-view="plan"] .plan-inspector{position:sticky!important;top:10px!important;max-height:calc(100vh - 96px)!important;overflow:auto!important;padding:0!important;background:#0a1516!important;border:1px solid rgba(255,255,255,.09)!important}
body[data-view="plan"] .plan-inspector-section{padding:14px 15px;border-bottom:1px solid rgba(255,255,255,.065)}
body[data-view="plan"] .plan-inspector-section:last-child{border-bottom:0}
body[data-view="plan"] .plan-selection>.k{margin-bottom:8px!important;color:#d8e0dd!important}
body[data-view="plan"] .pick-bar{margin:0!important;padding:0!important;border:0!important;background:transparent!important;border-radius:0!important;color:#dce4e0!important;min-height:0!important}
body[data-view="plan"] .pick-bar.active{background:transparent!important;border:0!important;display:block!important}
body[data-view="plan"] .pick-main{display:grid;gap:4px;margin-bottom:12px}
body[data-view="plan"] .pick-main>b{font-size:18px!important;color:#fff!important}
body[data-view="plan"] .pick-main .hint{font-size:13px!important;color:#c0cbc6!important}
body[data-view="plan"] .pick-desc{font-size:12px;color:#9baaa4}
body[data-view="plan"] .plan-role-select{display:grid;gap:7px;margin:12px 0 10px}
body[data-view="plan"] .plan-role-select>.k{font-size:10.5px!important;color:#95a49e!important}
body[data-view="plan"] .plan-role-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
body[data-view="plan"] .plan-role-option{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:46px;padding:9px 10px;border-radius:9px;border:1px solid rgba(255,255,255,.09);background:#0f1c1d;color:#dce5e1;cursor:pointer;font:inherit;text-align:left}
body[data-view="plan"] .plan-role-option span{font-size:12.5px;font-weight:750}
body[data-view="plan"] .plan-role-option b{font-size:11px;color:#9eada7}
body[data-view="plan"] .plan-role-option:hover{border-color:rgba(214,173,77,.35);background:#142122}
body[data-view="plan"] .plan-role-option.on{border-color:#d9b653;background:#201f16;box-shadow:inset 3px 0 0 #e2bf61}
body[data-view="plan"] .plan-role-option.on b{color:#f0d16e}
body[data-view="plan"] .plan-role-option.full:not(.on){opacity:.72}
body[data-view="plan"] .plan-detail-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
body[data-view="plan"] .plan-detail-head .k{margin:0!important}
body[data-view="plan"] .plan-assigned-list{display:flex;gap:6px;flex-wrap:wrap}
body[data-view="plan"] #poolRoles{display:none!important}
body[data-view="plan"] .plan-candidates>.k{font-size:11px!important;margin-bottom:9px!important}
body[data-view="plan"] .pool-item{grid-template-columns:38px minmax(0,1fr) auto 36px!important}
body[data-view="plan"] .pool-meta b{font-size:13.5px!important}
body[data-view="plan"] .pool-meta .hint{font-size:11.5px!important;color:#b8c4bf!important}
body[data-view="plan"] .score-btn{font-size:10.5px!important}
body[data-view="plan"] .board{padding:10px 11px!important}
body[data-view="plan"] .tl{min-width:760px!important}
body[data-view="plan"] .tl-lab{width:112px!important;min-width:112px!important;font-size:13px!important;padding-right:9px!important}
body[data-view="plan"] .tl-track{margin-left:112px!important}
body[data-view="plan"] .tl-block{padding:6px 7px!important}
body[data-view="plan"] .tl-block b{font-size:12.5px!important}
body[data-view="plan"] .tl-block em,body[data-view="plan"] .tl-block span{font-size:10.5px!important}
body[data-view="plan"] .plan-foot{display:grid!important;grid-template-columns:1fr 1fr;gap:10px!important}

/* Crew table: person name is the detail affordance */
body[data-view="crew"] .person-name-cell{white-space:nowrap}
.person-name-link{appearance:none;border:0;background:transparent;color:#f3f6f4;font:inherit;font-weight:750;padding:3px 0;cursor:pointer;text-align:left;text-decoration:none}
.person-name-link:hover,.person-name-link:focus-visible{color:#f0cf70;text-decoration:underline;text-underline-offset:3px}

/* Person sheet: profile-like, compact and scannable */
.ro-person-sheet{width:min(1120px,94vw)!important;max-height:92vh!important;padding:0!important;background:#091415!important;border:1px solid rgba(255,255,255,.10)!important;overflow:hidden!important}
.ro-person-hero{display:grid!important;grid-template-columns:84px minmax(0,1fr) auto!important;gap:16px!important;align-items:center!important;padding:18px 20px!important;background:linear-gradient(120deg,#13211c 0%,#0b1718 60%,#101613 100%)!important;border-bottom:1px solid rgba(214,173,77,.18)!important}
.ro-person-avatar .face,.ro-person-avatar{width:74px!important;height:74px!important;border-radius:50%!important}
.ro-person-identity{min-width:0}
.ro-person-eyebrow{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.15em;color:#caa94f;margin-bottom:4px}
.ro-person-identity h3{font-size:25px!important;margin:0!important;color:#fff!important}
.ro-person-sub{margin-top:4px;color:#aebcb6;font-size:13px}
.ro-person-quickstats{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.ro-person-quickstats span{min-width:88px;padding:7px 9px;border:1px solid rgba(255,255,255,.075);background:#0b1718;border-radius:9px;display:grid;gap:1px}
.ro-person-quickstats b{font-size:15px;color:#f3d272}
.ro-person-quickstats small{font-size:10px;color:#93a39c;text-transform:uppercase;letter-spacing:.08em}
.ro-person-hero-actions{display:flex;gap:7px;align-self:start}
.ro-person-sheet .sheet-body{padding:16px 20px 20px!important;background:#081213!important}
.ro-person-sheet .dossier-sec{margin:0 0 12px!important;padding:15px!important;border:1px solid rgba(255,255,255,.075);border-radius:12px;background:#0d1819}
.ro-person-sheet .dossier-sec h4{font-size:11px!important;color:#e7c760!important;margin-bottom:12px!important}
.ro-person-sheet .dossier-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important}
.ro-person-sheet .dossier-item{background:#101c1d!important;border:1px solid rgba(255,255,255,.065)!important;padding:10px 11px!important}
.ro-person-sheet label{font-size:11.5px;color:#aebbb6;font-weight:700}
.ro-person-sheet input,.ro-person-sheet select,.ro-person-sheet textarea{margin-top:5px;font-size:13px!important}
.ro-person-sheet table{width:100%;border-collapse:separate;border-spacing:0 5px}
.ro-person-sheet table td{background:#101b1c;border-top:1px solid rgba(255,255,255,.055);border-bottom:1px solid rgba(255,255,255,.055);padding:8px 10px}
.ro-person-sheet table td:first-child{border-radius:8px 0 0 8px;border-left:1px solid rgba(255,255,255,.055)}
.ro-person-sheet table td:last-child{border-radius:0 8px 8px 0;border-right:1px solid rgba(255,255,255,.055)}
.ro-person-sheet .sheet-foot{padding:10px 20px!important;background:#091314!important}

/* Conflict action columns: primary buttons line up regardless of person button */
.ro-conflict-actions{display:grid!important;grid-template-columns:156px 132px!important;gap:7px!important;align-items:center!important;width:295px!important;max-width:295px!important;justify-content:initial!important}
.ro-conflict-action-primary,.ro-conflict-action-secondary{display:flex;gap:6px;align-items:center}
.ro-conflict-action-primary .btn{width:156px!important;justify-content:center}
.ro-conflict-action-secondary .btn{width:132px!important;justify-content:center}
.ro-conflict-action-secondary{flex-wrap:wrap}
.ro-conflict-action-secondary .ghost{width:132px!important}

@media(max-width:1280px){
  body[data-view="plan"] .plan-wrap.plan-tl{grid-template-columns:minmax(600px,1fr) 350px!important}
  body[data-view="plan"] .tl{min-width:700px!important}
  .ro-person-sheet .dossier-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:980px){
  body[data-view="plan"] .plan-tools{grid-template-columns:1fr 1fr!important}
  body[data-view="plan"] .plan-tools .plan-tools-actions{grid-column:1/3}
  body[data-view="plan"] .plan-wrap.plan-tl{grid-template-columns:1fr!important}
  body[data-view="plan"] .plan-inspector{position:static!important;max-height:none!important}
  body[data-view="plan"] .plan-role-options{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ro-person-hero{grid-template-columns:70px 1fr!important}
  .ro-person-hero-actions{grid-column:1/3;justify-content:flex-end}
  .ro-conflict-actions{width:295px!important}
}
@media(max-width:700px){
  body[data-view="plan"] .plan-tools{grid-template-columns:1fr!important}
  body[data-view="plan"] .plan-tools .plan-tools-actions{grid-column:auto}
  body[data-view="plan"] .plan-role-options{grid-template-columns:1fr 1fr}
  .ro-person-sheet{width:96vw!important}
  .ro-person-hero{grid-template-columns:58px 1fr!important;padding:14px!important}
  .ro-person-avatar .face,.ro-person-avatar{width:54px!important;height:54px!important}
  .ro-person-identity h3{font-size:20px!important}
  .ro-person-sheet .sheet-body{padding:12px!important}
  .ro-person-sheet .dossier-grid{grid-template-columns:1fr!important}
  .ro-conflict-actions{grid-column:1/3!important;grid-template-columns:1fr 1fr!important;width:100%!important;max-width:none!important}
  .ro-conflict-action-primary .btn,.ro-conflict-action-secondary .btn{width:100%!important}
}

/* ======================================================================
   v8 planning density + system-wide mobile audit
   ====================================================================== */

/* Planning: reclaim horizontal and vertical space without shrinking content. */
body[data-view="plan"] .topbar{
  min-height:42px!important;
  margin-bottom:8px!important;
  padding-bottom:9px!important;
}
body[data-view="plan"] .topbar h2{font-size:25px!important}
body[data-view="plan"] .ro-workspace-nav{
  margin-bottom:8px!important;
  padding:5px 8px!important;
  gap:8px!important;
}
body[data-view="plan"] .ro-workspace-links button{padding:7px 9px!important}
body[data-view="plan"] .plan-tools{
  min-height:52px!important;
  padding:7px 9px!important;
  margin-bottom:7px!important;
  gap:8px!important;
  grid-template-columns:190px minmax(190px,300px) auto minmax(150px,1fr) auto!important;
}
body[data-view="plan"] .plan-tools input,
body[data-view="plan"] .plan-tools select{min-height:38px!important;font-size:14px!important}
body[data-view="plan"] .plan-tools .chip{padding:6px 9px!important;min-height:38px!important}
body[data-view="plan"] .plan-daybar{margin:0 0 5px!important;gap:8px!important}
body[data-view="plan"] .cmd-day b{font-size:19px!important}
body[data-view="plan"] .cmd-day .hint{font-size:11.5px!important}
body[data-view="plan"] .plan-wrap.plan-tl{
  grid-template-columns:minmax(0,1fr) 350px!important;
  gap:10px!important;
}
body[data-view="plan"] .board{padding:8px!important}
body[data-view="plan"] .tl{min-width:680px!important;padding:4px 2px!important}
body[data-view="plan"] .tl-head,
body[data-view="plan"] .tl-row{
  grid-template-columns:86px minmax(0,1fr)!important;
  gap:4px!important;
  margin-bottom:4px!important;
}
body[data-view="plan"] .tl-lab{
  width:auto!important;
  min-width:0!important;
  padding:0 6px 0 2px!important;
  font-size:12.5px!important;
  line-height:1.15!important;
}
/* Important: tl-track already occupies the second CSS-grid column. A margin here
   doubled the label gap and wasted more than 100 px of usable timeline width. */
body[data-view="plan"] .tl-track{
  margin-left:0!important;
  min-width:0!important;
}
body[data-view="plan"] .tl-head .tl-track{min-height:30px!important}
body[data-view="plan"] .tl-row .tl-track{min-height:56px}
body[data-view="plan"] .tl-block{
  padding:6px 8px!important;
  min-width:0!important;
}
body[data-view="plan"] .tl-block b{font-size:12.5px!important;line-height:1.12!important}
body[data-view="plan"] .tl-block em,
body[data-view="plan"] .tl-block span{font-size:10.5px!important;line-height:1.12!important}

/* Planning inspector: activity is the section heading; do not repeat it as a
   badge on every assigned person. Attendance belongs elsewhere, not here. */
body[data-view="plan"] .plan-inspector{top:7px!important;max-height:calc(100vh - 74px)!important}
body[data-view="plan"] .plan-inspector-section{padding:12px 13px!important}
body[data-view="plan"] .plan-assigned-list{
  display:grid!important;
  gap:7px!important;
}
body[data-view="plan"] .plan-assigned-list>.hint{
  margin:8px 0 1px!important;
  color:#d9c26f!important;
  font-size:11px!important;
  font-weight:800!important;
  text-transform:uppercase;
  letter-spacing:.08em;
}
body[data-view="plan"] .plan-person-chip{
  width:100%!important;
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:8px!important;
  padding:8px 9px!important;
  background:#0f1b1c!important;
  border:1px solid rgba(255,255,255,.075)!important;
  border-radius:10px!important;
}
body[data-view="plan"] .plan-person-chip .face{
  width:34px!important;
  height:34px!important;
  grid-column:1!important;
}
body[data-view="plan"] .plan-person-chip .chip-name{
  grid-column:2!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:13.5px!important;
  font-weight:750!important;
}
body[data-view="plan"] .plan-person-chip [data-un]{
  grid-column:3!important;
  margin:0!important;
  white-space:nowrap!important;
  min-height:36px!important;
}
body[data-view="plan"] .plan-person-chip .warn-text{
  grid-column:2/4!important;
  margin:0!important;
  font-size:11px!important;
}
body[data-view="plan"] .plan-candidates>.k{margin-bottom:7px!important}
body[data-view="plan"] .pool-item{padding:9px!important}

/* Login: language selector must never overlap the centered logo on phones. */
@media(max-width:560px){
  .login{padding:12px!important;align-items:start!important;padding-top:max(16px,env(safe-area-inset-top))!important}
  .login-card{width:100%!important;max-width:420px!important;padding:16px 14px 18px!important;border-radius:16px!important}
  .login-lang{position:static!important;display:flex!important;justify-content:flex-end!important;margin:0 0 6px!important}
  .brand-login{margin:0 0 10px!important}
  .brand-login .brand-logo.lg{width:76px!important;height:76px!important}
  .brand-login h1{font-size:20px!important}
  .login-split{margin-top:18px!important;padding-top:15px!important}
}

/* Public crew registration: mobile first, no overlap, no clipped chips. */
@media(max-width:720px){
  .reg-page{padding:10px 9px 36px!important}
  .reg-shell{width:100%!important;max-width:100%!important}
  .reg-hero{padding:15px!important;border-radius:14px!important}
  .reg-hero .brand{margin:0 0 10px!important;min-width:0!important}
  .reg-hero .brand>div{min-width:0!important}
  .reg-hero .brand h1{font-size:18px!important}
  .reg-hero .brand small{overflow-wrap:anywhere!important}
  .reg-hero>p{font-size:13px!important;line-height:1.45!important}
  .reg-hero>.row{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important;gap:8px!important}
  .reg-hero>.row .btn{width:100%!important;min-width:0!important}
  .reg-toolbar{padding:12px!important;gap:10px!important}
  .reg-toolbar>div{max-width:none!important}
  .reg-toolbar>.btn{width:100%!important}
  .reg-section{padding:14px 12px 16px!important;border-radius:14px!important}
  .reg-stack{gap:12px!important}
  .chip-row{gap:7px!important}
  .chip{max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important;padding:8px 10px!important}
  .photo-pick{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important}
  .photo-pick .hint{grid-column:1/3!important}
  .privacy-box{padding:12px!important}
  .reg-actions .btn{width:100%!important}
}
@media(max-width:390px){
  .reg-hero .brand{align-items:flex-start!important}
  .reg-hero .brand-logo{width:44px!important;height:44px!important}
  .photo-pick{grid-template-columns:1fr!important}
  .photo-pick .hint{grid-column:auto!important}
}

/* System-wide responsive pass. Keep the desktop density, but prevent mobile
   layouts from becoming tiny desktop pages. */
@media(max-width:1180px){
  body[data-view="plan"] .plan-wrap.plan-tl{grid-template-columns:1fr!important}
  body[data-view="plan"] .plan-inspector{position:static!important;max-height:none!important}
  body[data-view="plan"] .plan-tools{grid-template-columns:1fr 1fr auto!important}
  body[data-view="plan"] .plan-tools #poolHint{grid-column:1/3!important}
  body[data-view="plan"] .plan-tools .plan-tools-actions{grid-column:3!important;grid-row:1/3!important;align-self:stretch!important;display:grid!important}
}
@media(max-width:900px){
  .main{padding:12px 12px calc(42px + env(safe-area-inset-bottom))!important}
  .topbar{gap:7px!important;margin-bottom:10px!important;padding-bottom:10px!important}
  .topbar h2{font-size:22px!important;line-height:1.1!important}
  .topbar p{font-size:12.5px!important;line-height:1.35!important}
  .ro-workspace-nav{margin-bottom:10px!important;padding:6px!important;border-radius:10px!important}
  .ro-workspace-label{display:none!important}
  .ro-workspace-links{width:100%!important;overflow-x:auto!important;padding-bottom:2px!important}
  .ro-workspace-links button{min-height:40px!important;padding:8px 10px!important}
  .ro-admin-summary.cards,.ro-system-summary,.ro-display-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .table-wrap{max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
  .sheet-head,.sheet-foot{flex-wrap:wrap!important}
  .sheet-foot .btn{flex:1 1 auto!important}
}
@media(max-width:700px){
  body[data-view="plan"] .plan-tools{grid-template-columns:1fr!important}
  body[data-view="plan"] .plan-tools #poolHint,
  body[data-view="plan"] .plan-tools .plan-tools-actions{grid-column:auto!important;grid-row:auto!important}
  body[data-view="plan"] .plan-tools .plan-tools-actions{display:flex!important;width:100%!important}
  body[data-view="plan"] .plan-tools .plan-tools-actions .btn{flex:1!important}
  body[data-view="plan"] .plan-role-options{grid-template-columns:1fr 1fr!important}
  body[data-view="plan"] .plan-person-chip{grid-template-columns:34px minmax(0,1fr)!important}
  body[data-view="plan"] .plan-person-chip [data-un]{grid-column:1/3!important;width:100%!important}
  body[data-view="plan"] .plan-person-chip .warn-text{grid-column:1/3!important}
  .ro-admin-summary.cards,.ro-system-summary,.ro-display-summary{grid-template-columns:1fr!important}
  .ro-display-options{grid-template-columns:1fr!important}
  .ro-modal-actions{display:grid!important;grid-template-columns:1fr!important}
  .ro-modal-actions .btn{width:100%!important}
  .filter-bar{grid-template-columns:1fr!important}
  .filter-bar>*{min-width:0!important;width:100%!important}
  .ro-person-sheet{width:calc(100vw - 12px)!important;max-height:96dvh!important}
  .ro-person-hero{grid-template-columns:54px minmax(0,1fr)!important;gap:10px!important}
  .ro-person-hero-actions{grid-column:1/3!important;width:100%!important;display:grid!important;grid-template-columns:1fr 1fr!important}
  .ro-person-hero-actions .btn{width:100%!important}
  .ro-conflict-actions{grid-template-columns:1fr!important;width:100%!important;max-width:none!important}
  .ro-conflict-action-primary,.ro-conflict-action-secondary{width:100%!important}
  .ro-conflict-action-primary .btn,.ro-conflict-action-secondary .btn{width:100%!important}
}
@media(max-width:470px){
  .topbar .row:first-child{min-width:0!important}
  #helpBtn{width:32px!important;min-width:32px!important;height:32px!important}
  .ro-page-tabs{display:grid!important;grid-template-columns:1fr!important}
  .ro-page-tabs .btn,.ro-page-tabs button{width:100%!important}
  .ro-profile-prefs .ro-check-grid{grid-template-columns:1fr!important}
  .modal,.modal-wide{width:calc(100vw - 16px)!important;padding:15px!important}
  .toast{left:10px!important;right:10px!important;bottom:max(10px,env(safe-area-inset-bottom))!important;max-width:none!important}
}

/* ================================================================
   v9 mobile page navigation
   Mobile keeps the desktop information architecture, but adds a
   one-handed page pager + horizontal swipe between all pages the
   current role is allowed to open. Desktop remains unchanged.
   ================================================================ */
.mobile-pager{display:none}

@media(max-width:900px){
  .main{padding-bottom:calc(82px + env(safe-area-inset-bottom))!important}

  .mobile-pager{
    position:fixed;
    z-index:76;
    left:50%;
    bottom:max(9px,env(safe-area-inset-bottom));
    transform:translateX(-50%);
    display:grid;
    grid-template-columns:46px 44px minmax(126px,1fr) 44px;
    align-items:center;
    width:min(440px,calc(100vw - 18px));
    min-height:54px;
    padding:5px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:16px;
    background:rgba(7,17,18,.94);
    box-shadow:0 15px 42px rgba(0,0,0,.48),inset 0 1px rgba(255,255,255,.035);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
  }
  .mobile-pager button{
    appearance:none;
    border:0;
    min-width:0;
    height:44px;
    border-radius:11px;
    background:transparent;
    color:#dce5e1;
    font:inherit;
    font-size:22px;
    font-weight:800;
    cursor:pointer;
    touch-action:manipulation;
  }
  .mobile-pager button:not(:disabled):active{background:#152425;transform:scale(.96)}
  .mobile-pager button:disabled{opacity:.22;cursor:default}
  .mobile-pager-menu{
    color:#f0c965!important;
    font-size:19px!important;
    border-right:1px solid rgba(255,255,255,.07)!important;
    border-radius:11px 5px 5px 11px!important;
  }
  .mobile-pager-current{
    min-width:0;
    text-align:center;
    line-height:1.05;
    padding:2px 6px;
    user-select:none;
    -webkit-user-select:none;
  }
  .mobile-pager-current b{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#f5f7f6;
    font-size:13px;
    font-weight:800;
  }
  .mobile-pager-current span{
    display:block;
    margin-top:4px;
    color:#91a39c;
    font-size:9.5px;
    letter-spacing:.03em;
    text-transform:uppercase;
  }

  /* The dashboard deliberately has no desktop topbar. On mobile the
     fixed pager is its permanent way back into navigation. */
  body[data-view="dashboard"] .main{padding-top:10px!important}

  .mobile-page-in-next{animation:roPageInNext .18s ease-out both}
  .mobile-page-in-prev{animation:roPageInPrev .18s ease-out both}
  @keyframes roPageInNext{from{opacity:.45;transform:translateX(15px)}to{opacity:1;transform:none}}
  @keyframes roPageInPrev{from{opacity:.45;transform:translateX(-15px)}to{opacity:1;transform:none}}
}

@media(max-width:380px){
  .mobile-pager{grid-template-columns:42px 40px minmax(106px,1fr) 40px;width:calc(100vw - 12px)}
  .mobile-pager-current b{font-size:12px}
}

@media(prefers-reduced-motion:reduce){
  .mobile-page-in-next,.mobile-page-in-prev{animation:none!important}
}

/* ================================================================
   v10 planning overhaul — closer to the mockup and easier to use
   ================================================================ */
.ro-plan-shell{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.8fr);gap:18px;align-items:start}
.ro-plan-main,.ro-plan-side{min-width:0}
.ro-plan-main{display:flex;flex-direction:column;gap:14px}
.ro-plan-side{display:flex;flex-direction:column;gap:14px;position:sticky;top:18px}
.ro-plan-tools{margin-bottom:14px;align-items:center}
.ro-plan-daybar{margin-bottom:4px}
.ro-plan-focus{min-height:18px;margin:0 2px 2px}
.ro-plan-board{padding:14px 14px 16px;border-radius:24px;overflow:hidden}
.ro-plan-candidates-card,.ro-plan-editor-card,.ro-plan-side-card{border-radius:22px;padding:18px}
.ro-plan-table-head{display:flex;justify-content:space-between;gap:12px;align-items:end;margin-bottom:12px}
.ro-plan-table-wrap{overflow:auto;border:1px solid rgba(255,255,255,.06);border-radius:18px;background:rgba(9,16,17,.45)}
.ro-plan-table{width:100%;border-collapse:collapse;min-width:860px}
.ro-plan-table th,.ro-plan-table td{padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.05);vertical-align:middle;text-align:left}
.ro-plan-table th{font-size:12px;letter-spacing:.11em;text-transform:uppercase;color:#9fb0aa;font-weight:800}
.ro-plan-table tbody tr:hover{background:rgba(255,255,255,.03)}
.ro-plan-table tbody tr.blocked{opacity:.78}
.ro-plan-table td .score-btn{min-width:84px;justify-content:center}
.ro-plan-table-empty{padding:28px 24px;border:1px dashed rgba(255,255,255,.12);border-radius:18px;background:rgba(8,14,15,.3)}
.ro-cand-person{display:flex;align-items:center;gap:12px;min-width:220px}
.ro-cand-person .face{flex:none}
.ro-cand-person-meta{display:flex;flex-direction:column;gap:2px;min-width:0}
.ro-cand-person-meta .name-link{font-weight:800;color:#f6f5ef;text-align:left}
.ro-cand-person-meta span{font-size:12px;color:#9fb0aa;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ro-cand-note{color:#d4ddd9;font-size:13px;min-width:220px}
.ta-right{text-align:right}

.ro-editor-shell{display:flex;flex-direction:column;gap:14px;padding:0;border:none;background:transparent;margin:0}
.ro-editor-empty h3{margin:8px 0 6px;font-size:26px;line-height:1.1}
.ro-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.ro-editor-head h3{margin:8px 0 0;font-size:30px;line-height:1.02;color:#f7f5ef}
.ro-editor-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}
.ro-editor-meta>div{padding:12px 14px;border:1px solid rgba(255,255,255,.07);border-radius:16px;background:rgba(255,255,255,.025)}
.ro-editor-meta span{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#94a39d;margin-bottom:6px}
.ro-editor-meta b{display:block;font-size:15px;line-height:1.3;color:#f8f8f4}
.ro-editor-tabs{display:flex;gap:10px;flex-wrap:wrap}
.ro-editor-tabs button{appearance:none;border:1px solid rgba(255,255,255,.08);background:#102023;color:#d6e0dc;border-radius:999px;padding:10px 14px;font:inherit;font-weight:700}
.ro-editor-tabs button.on{background:linear-gradient(180deg,#1d3027,#18271f);border-color:rgba(166,208,137,.32);color:#f6fbf4;box-shadow:inset 0 0 0 1px rgba(166,208,137,.12)}
.ro-editor-tabs button:disabled{opacity:.7;cursor:default}
.ro-editor-roleblock{padding:14px;border-radius:18px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06)}
.plan-role-options{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 8px}
.plan-role-option{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:168px;padding:13px 14px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:#101d1f;color:#eff3ef}
.plan-role-option span{font-weight:800}
.plan-role-option b{font-size:13px;color:#e8c96b}
.plan-role-option.on{background:linear-gradient(180deg,#272113,#201c12);border-color:rgba(232,201,107,.6);box-shadow:0 0 0 1px rgba(232,201,107,.18) inset}
.plan-role-option.full{opacity:.74}
.ro-editor-actions{display:flex;gap:10px;flex-wrap:wrap}
.ro-side-stat{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.ro-side-stat:last-of-type{border-bottom:none}
.ro-side-stat span{color:#a3b1ac}
.ro-side-stat b{color:#f7f6f1;font-size:18px}
.ro-side-progress{height:10px;border-radius:999px;background:rgba(255,255,255,.06);overflow:hidden;margin:12px 0}
.ro-side-progress span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#7ca46a,#d4ba63)}
.ro-plan-mini-list{list-style:none;margin:12px 0 16px;padding:0;display:flex;flex-direction:column;gap:10px}
.ro-plan-mini-list li{display:flex;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05)}
.ro-plan-mini-list li span{color:#9db2ac}

.plan-detail-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 0 12px}
.ro-assigned-wrap{display:flex;flex-direction:column;gap:12px}
.ro-assigned-group{border:1px solid rgba(255,255,255,.06);border-radius:18px;background:rgba(255,255,255,.024);padding:14px}
.ro-assigned-group header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}
.ro-assigned-group header b{display:block;font-size:17px;color:#fbfaf5}
.ro-assigned-group header span{display:block;font-size:12px;color:#97a9a3;margin-top:3px}
.ro-assigned-group header strong{font-size:16px;color:#ebcb72}
.ro-assigned-stack{display:flex;flex-direction:column;gap:10px}
.ro-assigned-card{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;border:1px solid rgba(255,255,255,.06);background:#0d1719}
.ro-assigned-meta{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.ro-assigned-meta .name-link{text-align:left;font-weight:800;color:#f5f7f5;font-size:16px}
.ro-assigned-meta span{font-size:12px;color:#9baca6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ro-assigned-card-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.ro-assigned-empty{padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.03);color:#9daea8}

.ro-tl-lab{display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.ro-tl-lab strong{font-size:17px;color:#f7f6f1;line-height:1.1}
.ro-tl-lab span{font-size:12px;color:#98aaa4}
.tl-head,.tl-row{grid-template-columns:96px minmax(560px,1fr)!important;gap:12px!important}
.tl-lab{padding-top:10px}
.tl-track{border-radius:22px;background:linear-gradient(180deg,rgba(15,17,23,.82),rgba(11,16,17,.98));border:1px solid rgba(232,195,106,.14)!important}
.tl-tick{top:10px!important;color:#aec0ba!important;font-size:13px!important}
.tl-block{border-radius:16px!important;padding:8px 10px!important;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;overflow:hidden}
.tl-block b{font-size:13px!important;line-height:1.1;color:#fffef9!important}
.tl-block em{font-style:normal;font-size:12px;color:#d8c278;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.tl-block span{font-size:12px!important;color:#e7efe9!important}
.tl-block.open{background:linear-gradient(180deg,#2f201d,#251817)!important;border-color:rgba(231,124,109,.42)!important}
.tl-block.full{background:linear-gradient(180deg,#16271f,#14221c)!important;border-color:rgba(136,196,144,.34)!important}
.tl-block.sel{outline:2px solid #ebc96c!important;box-shadow:0 0 0 3px rgba(235,201,108,.14)!important;z-index:3}

@media(max-width:1180px){
  .ro-plan-shell{grid-template-columns:1fr}
  .ro-plan-side{position:static}
}
@media(max-width:900px){
  .ro-plan-board{padding:12px}
  .ro-plan-candidates-card,.ro-plan-editor-card,.ro-plan-side-card{padding:15px}
  .ro-editor-head h3{font-size:24px}
  .ro-editor-meta{grid-template-columns:1fr}
  .ro-plan-table{min-width:720px}
}
@media(max-width:680px){
  .ro-plan-tools{gap:10px!important}
  .ro-plan-tools #areaF,.ro-plan-tools #poolQ{width:100%!important;max-width:none!important}
  .ro-plan-table{min-width:640px}
  .plan-role-option{min-width:100%}
}

/* ================================================================
   v11 — planning mockup fidelity + unified professional admin layer
   ================================================================ */
:root{
  --ro-bg:#071011;
  --ro-surface:#0b1618;
  --ro-surface-2:#0e1b1d;
  --ro-surface-3:#122225;
  --ro-line-soft:rgba(255,255,255,.07);
  --ro-line-mid:rgba(255,255,255,.11);
  --ro-text-2:#dbe4e0;
  --ro-muted-2:#a9b8b2;
  --ro-gold:#e0b84f;
  --ro-gold-bright:#f1c95d;
  --ro-green:#4daf69;
  --ro-green-deep:#12301f;
  --ro-red:#e25f59;
}

/* Global admin polish: same visual grammar on every page. */
body.staff-mode .main{max-width:1800px!important;padding:20px 24px 72px!important}
body.staff-mode .topbar{margin-bottom:12px!important;padding-bottom:14px!important;min-height:58px}
body.staff-mode .topbar h2{font-size:30px!important;letter-spacing:-.035em!important}
body.staff-mode .topbar p{font-size:13px!important;color:#a8b8b2!important;margin-top:4px!important}
body.staff-mode .ro-workspace-nav{
  margin:-2px 0 14px!important;
  padding:0 0 8px!important;
  border:0!important;
  border-bottom:1px solid rgba(255,255,255,.07)!important;
  background:transparent!important;
  border-radius:0!important;
}
body.staff-mode .ro-workspace-label{display:none!important}
body.staff-mode .ro-workspace-links{gap:4px!important;flex-wrap:wrap}
body.staff-mode .ro-workspace-links button{
  min-height:39px!important;padding:8px 12px!important;border-radius:9px!important;
  color:#aebdb7!important;font-size:13px!important;font-weight:700!important;
  background:transparent!important;border:1px solid transparent!important;
}
body.staff-mode .ro-workspace-links button:hover{background:#0f1d1f!important;color:#fff!important}
body.staff-mode .ro-workspace-links button.active{
  color:#f5cf63!important;background:#15261f!important;border-color:rgba(224,184,79,.12)!important;
  box-shadow:inset 0 -2px 0 var(--ro-gold)!important;
}
body.staff-mode .card,body.staff-mode .table-wrap,body.staff-mode .filter-bar{
  background:#0b1719!important;border-color:rgba(255,255,255,.075)!important;
}
body.staff-mode table{font-size:13px}
body.staff-mode table thead th{color:#9fb0aa!important;font-size:11px!important;text-transform:uppercase;letter-spacing:.08em}
body.staff-mode table tbody tr:hover{background:rgba(255,255,255,.025)!important}
body.staff-mode .hint{color:#a9b8b2!important}

/* Planning page itself follows the approved mockup. */
body[data-view="plan"] .topbar{margin-bottom:8px!important}
body[data-view="plan"] #actions .ro-plan-head-actions{display:flex;gap:8px}
body[data-view="plan"] .ro-workspace-nav{margin-bottom:10px!important}
body[data-view="plan"] .view-pane{min-width:0}

.ro-plan-tools{
  display:grid!important;
  grid-template-columns:190px minmax(210px,280px) auto minmax(130px,1fr) auto!important;
  gap:10px!important;align-items:center!important;
  padding:10px!important;margin:0 0 12px!important;
  background:#0b1719!important;border:1px solid rgba(255,255,255,.075)!important;
  border-radius:13px!important;
}
.ro-plan-filter,.ro-plan-filter select,.ro-plan-filter input{width:100%!important;max-width:none!important}
.ro-plan-toggle{
  min-height:42px;display:flex;align-items:center;gap:9px;padding:0 11px;border:1px solid rgba(255,255,255,.08);
  border-radius:9px;background:#0e1b1d;color:#dfe6e3;font-weight:700;white-space:nowrap
}
.ro-plan-toggle input{min-height:0!important;width:16px;height:16px;margin:0}
.ro-plan-match{color:#8fd49d!important;font-weight:800;font-size:12px;white-space:nowrap}
.ro-plan-daynav{display:flex;align-items:center;gap:7px;justify-content:flex-end}
.ro-plan-daynav .cmd-day{
  display:flex;flex-direction:column;justify-content:center;min-width:180px;min-height:42px;padding:5px 12px;
  background:#0e1b1d;border:1px solid rgba(255,255,255,.08);border-radius:9px;text-align:left
}
.ro-plan-daynav .cmd-day b{font-size:14px!important;color:#fff!important}
.ro-plan-daynav .cmd-day .hint{font-size:10px!important;margin-top:2px}
.ro-plan-daynav .btn.icon{width:42px!important;min-width:42px!important;height:42px!important;min-height:42px!important}
#todayBtn{min-width:72px}

.ro-plan-layout{
  display:grid;
  grid-template-columns:minmax(720px,1fr) 355px;
  grid-template-areas:
    "workspace editor"
    "candidates info"
    "foot foot";
  gap:12px;
  align-items:start;
}
.ro-plan-workspace{grid-area:workspace;min-width:0}
.ro-plan-editor-col{grid-area:editor;min-width:0;position:sticky;top:12px}
.ro-plan-candidates-card{grid-area:candidates;min-width:0}
.ro-plan-info-col{grid-area:info;display:flex;flex-direction:column;gap:12px;min-width:0}
.ro-plan-foot-grid{grid-area:foot;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ro-plan-focus{min-height:0!important;margin:0 0 6px!important;font-size:11px!important}

.ro-plan-board{
  padding:0!important;overflow:hidden!important;border-radius:13px!important;
  background:#091416!important;border:1px solid rgba(255,255,255,.075)!important;
}
.ro-plan-board .tl{
  padding:0!important;margin:0!important;border:0!important;border-radius:0!important;
  background:#091416!important;overflow-x:auto!important;overflow-y:hidden!important;
}
.ro-plan-board .tl-head,.ro-plan-board .tl-row{
  grid-template-columns:112px minmax(820px,1fr)!important;gap:0!important;margin:0!important;
  border-bottom:1px solid rgba(255,255,255,.055)!important;
}
.ro-plan-board .tl-head{background:#0c191b!important}
.ro-plan-board .tl-row:last-child{border-bottom:0!important}
.ro-plan-board .tl-lab{
  padding:12px 10px!important;border-right:1px solid rgba(255,255,255,.055);background:#0c191b!important;
  align-items:flex-start!important;justify-content:center!important
}
.ro-plan-board .tl-head .tl-lab{min-height:44px!important;padding:0!important}
.ro-tl-lab{gap:3px!important}
.ro-tl-lab strong{font-size:14px!important;color:#f7f7f2!important}
.ro-tl-lab span{font-size:10px!important;color:#8fa39b!important}
.ro-plan-board .tl-track{
  min-height:68px!important;border:0!important;border-radius:0!important;
  background:
    linear-gradient(to right,rgba(255,255,255,.035) 1px,transparent 1px) 0 0/6.25% 100%,
    #0a1517!important;
}
.ro-plan-board .tl-head .tl-track{min-height:44px!important;background:linear-gradient(to right,rgba(255,255,255,.035) 1px,transparent 1px) 0 0/6.25% 100%,#0c191b!important}
.ro-plan-board .tl-tick{top:14px!important;color:#aec0ba!important;font-size:10px!important;white-space:nowrap}
.ro-plan-board .tl-block{
  top:8px!important;height:52px!important;padding:7px 9px!important;border-radius:7px!important;
  border:1px solid rgba(255,255,255,.08)!important;box-shadow:none!important;gap:2px!important;
  transition:border-color .12s ease,background .12s ease,box-shadow .12s ease!important
}
.ro-plan-board .tl-block b{font-size:11.5px!important;line-height:1.05!important;letter-spacing:-.01em!important}
.ro-plan-board .tl-block em{font-size:10.5px!important;color:#d6e1dc!important;line-height:1.05!important}
.ro-plan-board .tl-block span{font-size:10.5px!important;color:#f3f6f4!important;line-height:1.05!important}
.ro-plan-board .tl-block.full{background:linear-gradient(180deg,#12351f,#102a1b)!important;border-color:rgba(80,181,101,.42)!important}
.ro-plan-board .tl-block.open{background:linear-gradient(180deg,#45211f,#351918)!important;border-color:rgba(226,95,89,.52)!important}
.ro-plan-board .tl-block.sel{
  background:linear-gradient(180deg,#3a3219,#292311)!important;
  border-color:#f0c857!important;outline:0!important;box-shadow:0 0 0 2px rgba(240,200,87,.30)!important;z-index:5
}

/* Editor = slim, structured, gold framed like mockup. */
.ro-plan-editor-card{
  padding:0!important;overflow:hidden;border-radius:13px!important;
  border:1px solid rgba(224,184,79,.85)!important;background:#0b1719!important;
  box-shadow:0 0 0 1px rgba(224,184,79,.08)!important
}
.ro-plan-editor-card .pick-bar{margin:0!important;padding:16px 16px 10px!important;border:0!important;background:transparent!important}
.ro-editor-shell{gap:12px!important}
.ro-editor-head{align-items:flex-start!important}
.ro-editor-head .k{color:#e7be55!important}
.ro-editor-head h3{font-size:22px!important;margin:5px 0 0!important}
.ro-editor-close{width:34px!important;min-width:34px!important;height:34px!important;min-height:34px!important;padding:0!important}
.ro-editor-summary{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;
  padding:10px 0 2px;border-top:1px solid rgba(255,255,255,.055)
}
.ro-editor-summary-main{display:grid;grid-template-columns:1fr;gap:2px;min-width:0}
.ro-editor-summary-main span{font-size:11px;color:#9fb0aa}
.ro-editor-summary-main strong{font-size:17px;color:#fff}
.ro-editor-summary-main small{font-size:10px;color:#8fa29b}
.ro-editor-capacity{
  width:78px;height:58px;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:#0f1f21;border:1px solid rgba(255,255,255,.08)
}
.ro-editor-capacity strong{font-size:17px;color:#fff}.ro-editor-capacity span{font-size:9px;color:#9fb0aa;margin-top:2px}
.ro-editor-capacity.open{border-color:rgba(224,184,79,.38)}.ro-editor-capacity.open span{color:#e9c35e}.ro-editor-capacity.full span{color:#82c98e}
.ro-editor-roleblock{padding:0!important;border:0!important;background:transparent!important}
.ro-editor-section-title{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 0 7px;border-top:1px solid rgba(255,255,255,.055);font-size:11px;font-weight:800;color:#dce6e2}
.plan-role-options{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px!important;margin:0!important}
.plan-role-option{
  min-width:0!important;padding:9px 10px!important;border-radius:8px!important;background:#101e20!important;
  border:1px solid rgba(255,255,255,.08)!important;font-size:11px!important
}
.plan-role-option span{font-size:11px!important}.plan-role-option b{font-size:10px!important}
.plan-role-option.on{background:#2a2615!important;border-color:#e7be55!important;box-shadow:inset 3px 0 0 #e7be55!important}
.plan-role-option.full:not(.on){opacity:.6}
.ro-editor-toolbar{display:flex;gap:7px;padding-top:2px}.ro-editor-toolbar .btn{flex:1;font-size:10.5px!important;min-height:34px!important;padding:6px 8px!important}

.ro-assigned-section{padding:0 16px 16px;border-top:1px solid rgba(255,255,255,.055)}
.ro-assigned-list{display:flex;flex-direction:column;gap:6px}
.ro-assigned-row{
  display:grid;grid-template-columns:34px minmax(0,1fr) auto auto;align-items:center;gap:8px;
  min-height:46px;padding:6px 7px;border-radius:8px;background:#0e1b1d;border:1px solid rgba(255,255,255,.06)
}
.ro-assigned-row .face{width:32px!important;height:32px!important}
.ro-assigned-row .name-link{text-align:left;font-size:12px!important;font-weight:800;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ro-remove-person{appearance:none;width:28px;height:28px;border-radius:7px;border:1px solid rgba(226,95,89,.28);background:rgba(226,95,89,.10);color:#ee807a;font-weight:900;cursor:pointer}
.ro-add-person{width:100%;margin-top:7px;padding:9px;border:1px dashed rgba(255,255,255,.15);border-radius:8px;background:transparent;color:#b9c8c2;cursor:pointer;font-weight:700}
.ro-add-person:hover{border-color:rgba(224,184,79,.5);color:#f0cb66;background:rgba(224,184,79,.05)}

/* Candidate list mirrors the mockup: readable, compact, scoring-first. */
.ro-plan-candidates-card{padding:12px!important;border-radius:13px!important}
.ro-plan-table-head{margin-bottom:8px!important;align-items:center!important}
.ro-plan-table-head .k{font-size:12px!important;color:#f2f4f2!important;text-transform:none!important;letter-spacing:0!important}
.ro-plan-candidate-legend{display:flex;gap:8px;align-items:center;color:#8fa29b;font-size:10px}
.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#71817b}.dot.ok{background:#54bd70}.dot.warn{background:#e0b84f}.dot.bad{background:#e25f59}
.ro-plan-table-wrap{border-radius:10px!important;background:#091416!important}
.ro-plan-table{min-width:760px!important;font-size:11px!important}
.ro-plan-table th,.ro-plan-table td{padding:8px 10px!important}
.ro-plan-table th{font-size:9px!important;letter-spacing:.08em!important}
.ro-cand-person{gap:8px!important;min-width:150px!important}.ro-cand-person .face{width:30px!important;height:30px!important}
.ro-cand-person-meta .name-link{font-size:11.5px!important}.ro-cand-person-meta span{font-size:9.5px!important}
.ro-cand-note{min-width:170px!important;font-size:10.5px!important;color:#b7c6c0!important}
.ro-score{appearance:none;border-radius:999px;border:1px solid rgba(255,255,255,.08);padding:5px 8px;min-width:54px;font-weight:900;font-size:10px;cursor:pointer;background:#142123;color:#dce4e1}
.ro-score.great{background:rgba(77,175,105,.16);border-color:rgba(77,175,105,.35);color:#78d68d}.ro-score.good{background:rgba(224,184,79,.14);border-color:rgba(224,184,79,.35);color:#f0ca68}.ro-score.check{background:rgba(255,255,255,.055);color:#c7d0cd}.ro-score.blocked{background:rgba(226,95,89,.12);color:#ed8b86}
.ro-plan-table .btn.primary{min-height:30px!important;padding:5px 8px!important;font-size:10px!important}

.ro-plan-info-col .card{padding:12px!important;border-radius:13px!important}
.ro-side-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.ro-side-card-head h3{font-size:15px;margin:3px 0 0}.ro-plan-mini-list{gap:5px!important;margin:8px 0 0!important}.ro-plan-mini-list li{padding:7px 8px!important;border-radius:8px!important;font-size:10.5px!important}
.ro-area-donut-row{display:flex;align-items:center;gap:14px;margin-top:10px}.ro-area-donut{--pct:0;width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#55c875 calc(var(--pct)*1%),rgba(255,255,255,.07) 0);position:relative;flex:none}.ro-area-donut:after{content:"";position:absolute;inset:8px;border-radius:50%;background:#0b1719}.ro-area-donut strong{position:relative;z-index:1;font-size:17px}.ro-area-donut-meta{display:flex;flex-direction:column;gap:6px;color:#b9c6c1;font-size:10.5px}.ro-area-donut-meta span{display:flex;align-items:center;gap:6px}.ro-area-donut-meta b{color:#fff}
.ro-plan-foot-grid .card{padding:12px!important}.ro-plan-foot-grid .problem{font-size:10.5px!important;padding:7px 9px!important}

/* Mobile / tablet: same concepts, not a shrunken desktop board. */
@media(max-width:1280px){
  .ro-plan-tools{grid-template-columns:180px minmax(200px,1fr) auto auto!important}
  .ro-plan-match{display:none}
  .ro-plan-daynav{grid-column:1/-1;justify-content:flex-start}
  .ro-plan-layout{grid-template-columns:minmax(0,1fr) 330px}
}
@media(max-width:1050px){
  .ro-plan-layout{grid-template-columns:1fr;grid-template-areas:"editor" "workspace" "candidates" "info" "foot"}
  .ro-plan-editor-col{position:static}
  .ro-plan-info-col{display:grid;grid-template-columns:1fr 1fr}
}
@media(max-width:800px){
  body[data-view="plan"] .topbar h2{font-size:23px!important}
  .ro-plan-tools{grid-template-columns:1fr!important;padding:8px!important}
  .ro-plan-toggle{width:100%}.ro-plan-daynav{grid-column:auto;display:grid;grid-template-columns:42px minmax(0,1fr) 42px 68px;width:100%}.ro-plan-daynav .cmd-day{min-width:0}
  .ro-plan-board{border:0!important;background:transparent!important}.ro-plan-board .plan-mobile{display:flex;flex-direction:column;gap:10px}.plan-m-area{background:#0b1719;border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:10px}.plan-m-area h3{font-size:14px}.plan-m-shift{min-height:58px!important;font-size:12px!important}
  .ro-plan-candidates-card{overflow:hidden}.ro-plan-table-wrap{overflow-x:auto}.ro-plan-info-col{grid-template-columns:1fr}.ro-plan-foot-grid{grid-template-columns:1fr}
  .plan-role-options{grid-template-columns:1fr 1fr!important}
}
@media(max-width:520px){
  .plan-role-options{grid-template-columns:1fr!important}.ro-plan-candidate-legend{display:none}.ro-plan-table{min-width:620px!important}.ro-plan-editor-card{border-color:rgba(224,184,79,.55)!important}
}
.ro-availability{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:750;white-space:nowrap}.ro-availability i{width:7px;height:7px;border-radius:50%;background:#71817b}.ro-availability.ok{color:#70cf84}.ro-availability.ok i{background:#55c875}.ro-availability.bad{color:#e7817c}.ro-availability.bad i{background:#e25f59}
.ro-plan-table td.ta-right .btn.primary{width:30px!important;min-width:30px!important;height:30px!important;padding:0!important;border-radius:8px!important;font-size:16px!important;line-height:1!important}

/* ================================================================
   v12 mobile swipe pager — finger-tracked, no reload flash
   Desktop stays unchanged. On touch devices the visible page follows
   the finger and snaps with a short native-like transition.
   ================================================================ */
.mobile-swipe-surface{min-width:0}
.mobile-swipe-preview{display:none}

@media(max-width:900px) and (pointer:coarse){
  .mobile-swipe-surface{
    position:relative;
    z-index:2;
    min-width:0;
    touch-action:pan-y;
    backface-visibility:hidden;
    -webkit-backface-visibility:hidden;
    transform:translate3d(0,0,0);
  }
  .mobile-swipe-preview{
    --swipe-progress:0;
    position:fixed;
    z-index:1;
    inset:0 0 calc(70px + env(safe-area-inset-bottom)) 0;
    display:flex;
    align-items:center;
    justify-content:center;
    pointer-events:none;
    opacity:0;
    background:
      radial-gradient(circle at 50% 42%,rgba(203,164,71,.08),transparent 34%),
      linear-gradient(180deg,#081314 0%,#071011 100%);
    transition:opacity 120ms ease-out;
    overflow:hidden;
  }
  .mobile-swipe-preview.show{opacity:calc(.18 + var(--swipe-progress) * .82)}
  .mobile-swipe-preview::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.018),transparent);
    transform:translateX(calc((var(--swipe-progress) - .5) * 18%));
  }
  .mobile-swipe-preview-inner{
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:7px;
    max-width:76vw;
    padding:20px 24px;
    text-align:center;
    transform:translate3d(0,calc((1 - var(--swipe-progress)) * 8px),0) scale(calc(.97 + var(--swipe-progress) * .03));
    opacity:calc(.45 + var(--swipe-progress) * .55);
  }
  .mobile-swipe-preview-inner span{
    color:#8da29a;
    font-size:10px;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
  }
  .mobile-swipe-preview-inner strong{
    color:#f4f6f5;
    font-size:22px;
    line-height:1.15;
    letter-spacing:-.025em;
  }
  .mobile-swipe-preview[data-dir="next"] .mobile-swipe-preview-inner::after,
  .mobile-swipe-preview[data-dir="prev"] .mobile-swipe-preview-inner::after{
    display:block;
    margin-top:4px;
    color:#d8b451;
    font-size:27px;
    line-height:1;
    font-weight:700;
  }
  .mobile-swipe-preview[data-dir="next"] .mobile-swipe-preview-inner::after{content:"›"}
  .mobile-swipe-preview[data-dir="prev"] .mobile-swipe-preview-inner::after{content:"‹"}

  .mobile-swipe-ghost{
    contain:paint;
    overflow:visible;
    background:#071112;
    box-shadow:0 0 42px rgba(0,0,0,.22);
    backface-visibility:hidden;
    -webkit-backface-visibility:hidden;
  }
  .mobile-swipe-ghost .mobile-pager{display:none!important}

  .mobile-swipe-loading{
    display:grid;
    gap:12px;
    padding-top:6px;
  }
  .mobile-swipe-loading-title,
  .mobile-swipe-loading-card{
    position:relative;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.06);
    background:#0c1819;
    border-radius:14px;
  }
  .mobile-swipe-loading-title{width:46%;height:26px}
  .mobile-swipe-loading-card{height:112px}
  .mobile-swipe-loading-card.short{height:82px;width:78%}
  .mobile-swipe-loading-title::after,
  .mobile-swipe-loading-card::after{
    content:"";
    position:absolute;
    inset:0;
    transform:translateX(-100%);
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.035),transparent);
    animation:mobileSwipeShimmer 1.15s infinite;
  }
  @keyframes mobileSwipeShimmer{to{transform:translateX(100%)}}

  /* The old after-render animation caused a visible second/third flicker.
     v12 uses one continuous pager transition instead. */
  .mobile-page-in-next,.mobile-page-in-prev{animation:none!important}
}

@media(prefers-reduced-motion:reduce){
  .mobile-swipe-preview{transition:none!important}
  .mobile-swipe-loading-title::after,.mobile-swipe-loading-card::after{animation:none!important}
}

/* ========================================================================
   v13 – Planning workspace / area visual language
   ======================================================================== */
.ro-area-icon{width:20px;height:20px;display:block;flex:0 0 auto}
.ro-area-iconbox{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;color:var(--area-accent,#d8b84f);background:color-mix(in srgb,var(--area-accent,#d8b84f) 12%,#102022);border:1px solid color-mix(in srgb,var(--area-accent,#d8b84f) 28%,transparent);flex:0 0 auto}
.ro-area-iconbox.lg{width:42px;height:42px;border-radius:12px}.ro-area-iconbox.lg .ro-area-icon{width:23px;height:23px}

body[data-view="plan"] .ro-plan-tools-v13{
  display:grid!important;
  grid-template-columns:minmax(170px,210px) minmax(330px,1fr) auto auto minmax(190px,240px)!important;
  gap:12px!important;
  align-items:center!important;
  padding:10px 12px!important;
  background:#0a1517!important;
  border:1px solid rgba(152,178,168,.14)!important;
  border-radius:14px!important;
  margin-bottom:12px!important;
}
body[data-view="plan"] .ro-plan-filter-area select,
body[data-view="plan"] .ro-plan-search-right input{height:44px!important;border-radius:10px!important;font-size:14px!important}
body[data-view="plan"] .ro-plan-search-right{justify-self:end;width:100%;max-width:240px}
body[data-view="plan"] .ro-plan-daynav-center{justify-self:center;display:grid!important;grid-template-columns:42px minmax(210px,260px) 42px auto;gap:8px;align-items:center}
body[data-view="plan"] .ro-plan-daynav-center .cmd-day{min-height:44px!important;padding:6px 14px!important;border:1px solid rgba(255,255,255,.09)!important;border-radius:10px;background:#0d1a1c;display:flex!important;align-items:center;justify-content:space-between;gap:10px}
body[data-view="plan"] .ro-plan-daynav-center .cmd-day b{font-size:14px!important}
body[data-view="plan"] .ro-plan-daynav-center .cmd-day .hint{font-size:11px!important;margin:0!important}
body[data-view="plan"] .ro-plan-daynav-center .btn.icon{width:42px;height:42px;padding:0!important}
body[data-view="plan"] .ro-plan-toggle{white-space:nowrap;min-height:44px!important;padding:0 12px!important}
body[data-view="plan"] .ro-plan-match{white-space:nowrap;color:#8fe0a0!important;font-weight:750;font-size:13px}

body[data-view="plan"] .ro-plan-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 348px!important;
  grid-template-areas:
    "workspace editor"
    "candidates info"
    "foot foot"!important;
  gap:14px!important;
  align-items:start!important;
}
body[data-view="plan"] .ro-plan-workspace{grid-area:workspace;min-width:0}
body[data-view="plan"] .ro-plan-editor-col{grid-area:editor;position:sticky;top:10px;min-width:0}
body[data-view="plan"] .ro-plan-candidates-card{grid-area:candidates}
body[data-view="plan"] .ro-plan-info-col{grid-area:info;display:grid!important;grid-template-columns:1fr!important;gap:14px!important;min-width:0}
body[data-view="plan"] .ro-plan-foot-grid{grid-area:foot}

body[data-view="plan"] .ro-plan-board{padding:0!important;overflow:auto!important;border-radius:14px!important;background:#091416!important;border:1px solid rgba(148,174,163,.14)!important}
body[data-view="plan"] .ro-plan-board .tl{min-width:1080px!important;background:#091416!important}
body[data-view="plan"] .ro-plan-board .tl-head,
body[data-view="plan"] .ro-plan-board .tl-row{display:grid!important;grid-template-columns:126px minmax(0,1fr)!important;border-bottom:1px solid rgba(255,255,255,.06)!important}
body[data-view="plan"] .ro-plan-board .tl-head{position:sticky;top:0;z-index:8;background:#0b1719!important}
body[data-view="plan"] .ro-plan-board .tl-lab{width:auto!important;min-width:0!important;padding:10px 10px!important;background:#0b1719!important;border-right:1px solid rgba(255,255,255,.055)!important}
body[data-view="plan"] .ro-plan-board .tl-head .tl-lab{min-height:48px!important}
body[data-view="plan"] .ro-plan-board .tl-track{margin-left:0!important;min-width:0!important;background:linear-gradient(to right,rgba(255,255,255,.035) 1px,transparent 1px) 0 0/6.25% 100%,#0a1517!important}
body[data-view="plan"] .ro-plan-board .tl-head .tl-track{min-height:48px!important}
body[data-view="plan"] .ro-plan-board .tl-tick{top:16px!important;font-size:11px!important;color:#adc0b8!important}
body[data-view="plan"] .ro-tl-lab{display:grid!important;grid-template-columns:36px minmax(0,1fr)!important;align-items:center!important;gap:9px!important;width:100%}
body[data-view="plan"] .ro-area-labeltext{display:flex;flex-direction:column;min-width:0}
body[data-view="plan"] .ro-area-labeltext strong{font-size:14px!important;line-height:1.1!important;color:#f6f7f4!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body[data-view="plan"] .ro-area-labeltext small{font-size:10.5px;color:#91a59d;white-space:nowrap;margin-top:3px}

body[data-view="plan"] .ro-plan-board .tl-block{
  border-radius:9px!important;
  padding:9px 10px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-rows:auto 1fr auto!important;
  gap:4px 8px!important;
  align-content:center!important;
  overflow:hidden!important;
  box-shadow:inset 0 1px rgba(255,255,255,.025)!important;
}
body[data-view="plan"] .ro-plan-board .tl-block b{font-size:13.5px!important;line-height:1.08!important;letter-spacing:-.01em!important;grid-column:1!important;color:#fff!important}
body[data-view="plan"] .ro-plan-board .tl-block em{font-size:11.5px!important;line-height:1.15!important;grid-column:1!important;color:#d5dfda!important;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body[data-view="plan"] .ro-plan-board .tl-block span{font-size:11px!important;line-height:1!important;grid-column:2!important;grid-row:1/4!important;align-self:center!important;color:#f5f7f5!important;font-weight:800!important;background:rgba(0,0,0,.16);padding:4px 5px;border-radius:7px}
body[data-view="plan"] .ro-plan-board .tl-block.full{background:linear-gradient(180deg,#123823,#0f2c1d)!important;border:1px solid rgba(78,186,102,.48)!important}
body[data-view="plan"] .ro-plan-board .tl-block.open{background:linear-gradient(180deg,#3b2422,#2d1a19)!important;border:1px solid rgba(225,104,94,.48)!important}
body[data-view="plan"] .ro-plan-board .tl-block.dropped{background:linear-gradient(180deg,#462421,#321817)!important;border-color:rgba(238,94,87,.64)!important}
body[data-view="plan"] .ro-plan-board .tl-block.sel{background:linear-gradient(180deg,#302b18,#262313)!important;border:2px solid #e5be4e!important;box-shadow:0 0 0 2px rgba(229,190,78,.15),0 8px 22px rgba(0,0,0,.18)!important}

body[data-view="plan"] .ro-plan-editor-card{border-radius:14px!important;border:1px solid rgba(215,180,75,.42)!important;background:#0b1719!important;padding:0!important;overflow:hidden!important}
body[data-view="plan"] .ro-plan-editor-card .pick-bar{padding:16px!important}
body[data-view="plan"] .ro-editor-title-with-icon{display:flex;align-items:center;gap:10px;min-width:0}
body[data-view="plan"] .ro-editor-title-with-icon h3{margin:3px 0 0!important;font-size:20px!important}
body[data-view="plan"] .ro-editor-head{align-items:flex-start!important;margin-bottom:12px!important}
body[data-view="plan"] .ro-editor-summary{grid-template-columns:minmax(0,1fr) 92px!important;gap:10px!important;margin-bottom:14px!important}
body[data-view="plan"] .ro-editor-summary-main{padding:12px!important;border-radius:10px!important}
body[data-view="plan"] .ro-editor-summary-main span{font-size:10.5px!important;text-transform:uppercase;letter-spacing:.08em;color:#8ea39b}
body[data-view="plan"] .ro-editor-summary-main strong{font-size:18px!important;margin-top:3px!important}
body[data-view="plan"] .ro-editor-capacity{padding:10px!important;border-radius:10px!important;display:grid;place-items:center;text-align:center}
body[data-view="plan"] .ro-editor-capacity strong{font-size:18px!important}
body[data-view="plan"] .ro-editor-roleblock{padding-top:2px!important}
body[data-view="plan"] .plan-role-options{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
body[data-view="plan"] .plan-role-option{min-height:42px!important;padding:7px 9px!important;border-radius:9px!important;font-size:12px!important}
body[data-view="plan"] .plan-role-option.on{border-color:#e1ba4b!important;background:#2b2818!important;color:#f4d26d!important}
body[data-view="plan"] .ro-assigned-section{padding:0 16px 16px!important}
body[data-view="plan"] .ro-assigned-row{min-height:48px!important;padding:8px!important;border-radius:10px!important}
body[data-view="plan"] .ro-add-person{min-height:44px!important;border-radius:9px!important}

body[data-view="plan"] .ro-plan-candidates-card{padding:12px!important;border-radius:14px!important;background:#0b1719!important;border:1px solid rgba(149,177,165,.14)!important}
body[data-view="plan"] .ro-plan-table-head{margin-bottom:8px!important}
body[data-view="plan"] .ro-plan-table{font-size:12px!important}
body[data-view="plan"] .ro-plan-table th{font-size:10.5px!important;text-transform:uppercase;letter-spacing:.055em;color:#91a59d!important;padding:8px 10px!important}
body[data-view="plan"] .ro-plan-table td{padding:7px 10px!important}
body[data-view="plan"] .ro-cand-person img,body[data-view="plan"] .ro-cand-person .avatar{width:30px!important;height:30px!important}
body[data-view="plan"] .ro-score{min-width:64px!important;font-size:11px!important;font-weight:800!important}
body[data-view="plan"] .ro-plan-side-card{padding:14px!important;border-radius:14px!important;background:#0b1719!important}

.ro-icon-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px;margin-top:7px}
.ro-icon-choice{display:flex;align-items:center;gap:8px;min-height:48px;padding:8px 9px;border:1px solid rgba(255,255,255,.09);border-radius:10px;background:#0d1a1c;color:#c7d2ce;text-align:left;cursor:pointer}
.ro-icon-choice:hover{border-color:rgba(216,184,79,.45);background:#111f20}.ro-icon-choice.on{border-color:#d8b84f;background:#272415;color:#f2d46c;box-shadow:0 0 0 2px rgba(216,184,79,.09)}
.ro-icon-choice .ro-area-icon{width:21px;height:21px;flex:0 0 auto}.ro-icon-choice span{font-size:11px;line-height:1.15}
.ro-area-accent-row{display:flex;align-items:center;gap:12px;margin-top:10px}.ro-area-accent-row label{display:flex;align-items:center;gap:8px}.ro-area-accent-row input[type="color"]{width:44px;height:32px;padding:2px;border-radius:8px}

@media(max-width:1280px){
  body[data-view="plan"] .ro-plan-tools-v13{grid-template-columns:180px 1fr auto minmax(170px,210px)!important}
  body[data-view="plan"] .ro-plan-match{display:none!important}
  body[data-view="plan"] .ro-plan-layout{grid-template-columns:minmax(0,1fr) 320px!important}
}
@media(max-width:980px){
  body[data-view="plan"] .ro-plan-tools-v13{grid-template-columns:1fr 1fr!important}
  body[data-view="plan"] .ro-plan-daynav-center{grid-column:1/-1;grid-row:1;justify-self:stretch;grid-template-columns:40px 1fr 40px auto}
  body[data-view="plan"] .ro-plan-filter-area{grid-column:1}
  body[data-view="plan"] .ro-plan-search-right{grid-column:2;max-width:none}
  body[data-view="plan"] .ro-plan-toggle{grid-column:1/-1}
  body[data-view="plan"] .ro-plan-layout{grid-template-columns:1fr!important;grid-template-areas:"workspace" "editor" "candidates" "info" "foot"!important}
  body[data-view="plan"] .ro-plan-editor-col{position:static!important}
}
@media(max-width:800px){
  body[data-view="plan"] .ro-plan-tools-v13{display:grid!important;grid-template-columns:1fr!important;padding:8px!important}
  body[data-view="plan"] .ro-plan-daynav-center{grid-column:1;grid-template-columns:38px minmax(0,1fr) 38px!important}
  body[data-view="plan"] #todayBtn{display:none!important}
  body[data-view="plan"] .ro-plan-filter-area,body[data-view="plan"] .ro-plan-search-right,body[data-view="plan"] .ro-plan-toggle{grid-column:1!important;width:100%!important;max-width:none!important}
  body[data-view="plan"] .plan-m-area h3{display:flex;align-items:center;gap:8px}.plan-m-area h3 .ro-area-icon{width:18px;height:18px;color:#d8b84f}
  .ro-icon-picker{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* v13.2 planning refinement */
body[data-view="plan"] .ro-plan-layout{
  grid-template-columns:minmax(0,1fr) 312px!important;
  grid-template-areas:
    "workspace editor"
    "workspace info"
    "foot foot"!important;
  gap:12px!important;
}
body[data-view="plan"] .ro-plan-workspace{display:flex!important;flex-direction:column!important;gap:10px!important;min-width:0}
body[data-view="plan"] .ro-plan-focus{display:none!important}
body[data-view="plan"] .ro-plan-editor-col{top:8px!important}
body[data-view="plan"] .ro-plan-board{margin-top:0!important}
body[data-view="plan"] .ro-plan-board .tl{min-width:980px!important}
body[data-view="plan"] .ro-plan-board .tl-head,
body[data-view="plan"] .ro-plan-board .tl-row{grid-template-columns:104px minmax(0,1fr)!important}
body[data-view="plan"] .ro-plan-board .tl-lab{padding:8px 8px!important}
body[data-view="plan"] .ro-plan-board .tl-head .tl-lab{min-height:42px!important}
body[data-view="plan"] .ro-plan-board .tl-track{overflow:visible!important}
body[data-view="plan"] .ro-plan-board .tl-head .tl-track{min-height:42px!important}
body[data-view="plan"] .ro-plan-board .tl-tick{top:13px!important;font-size:10.5px!important}
body[data-view="plan"] .ro-tl-lab{grid-template-columns:32px minmax(0,1fr)!important;gap:8px!important}
body[data-view="plan"] .ro-area-labeltext strong{font-size:13px!important}
body[data-view="plan"] .ro-area-labeltext small{font-size:10px!important}
body[data-view="plan"] .ro-plan-board .tl-block{
  border-radius:11px!important;
  padding:9px 10px!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-rows:auto!important;
  gap:8px!important;
  align-items:start!important;
}
body[data-view="plan"] .ro-plan-board .tl-block b{
  font-size:15px!important;
  line-height:1.02!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body[data-view="plan"] .ro-plan-board .tl-block em{display:none!important}
body[data-view="plan"] .ro-plan-board .tl-block span{
  grid-row:1!important;
  align-self:start!important;
  font-size:12px!important;
  line-height:1!important;
  padding:5px 7px!important;
  border-radius:8px!important;
}
body[data-view="plan"] .ro-plan-candidates-card{margin-top:0!important}
body[data-view="plan"] .ro-plan-candidates-inline{padding-top:10px!important}
body[data-view="plan"] .ro-plan-table-head{margin-bottom:6px!important}
body[data-view="plan"] .ro-plan-editor-card{border-radius:14px!important}
body[data-view="plan"] .ro-plan-editor-card .pick-bar{padding:14px!important}
body[data-view="plan"] .ro-editor-head{margin-bottom:10px!important}
body[data-view="plan"] .ro-editor-summary{margin-bottom:12px!important}
body[data-view="plan"] .ro-assigned-section{padding:0 14px 14px!important}
body[data-view="plan"] .ro-assigned-summary{margin:-2px 0 10px!important;color:#98aaa3!important;line-height:1.35!important}
body[data-view="plan"] .ro-assigned-list{display:flex!important;flex-direction:column!important;gap:8px!important}
body[data-view="plan"] .ro-assigned-row{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important}
body[data-view="plan"] .ro-assigned-meta{min-width:0!important;display:flex!important;flex-direction:column!important;gap:4px!important}
body[data-view="plan"] .ro-assigned-sub{display:flex!important;flex-wrap:wrap!important;gap:6px!important}
body[data-view="plan"] .ro-remove-person{margin-left:0!important}
body[data-view="plan"] .ro-plan-info-col{gap:12px!important}
@media(max-width:1280px){
  body[data-view="plan"] .ro-plan-layout{grid-template-columns:minmax(0,1fr) 296px!important}
}
@media(max-width:980px){
  body[data-view="plan"] .ro-plan-layout{grid-template-columns:1fr!important;grid-template-areas:"workspace" "editor" "info" "foot"!important}
  body[data-view="plan"] .ro-plan-board .tl{min-width:920px!important}
}


/* ============================================================
   v14 — planning polish + professional area icon system + mobile discoverability
   ============================================================ */
body[data-view="plan"] .ro-plan-layout{
  grid-template-columns:minmax(0,1fr) 304px!important;
  gap:12px!important;
}
body[data-view="plan"] .ro-plan-board{border-radius:16px!important;box-shadow:0 16px 48px rgba(0,0,0,.12)!important}
body[data-view="plan"] .ro-plan-board .tl{min-width:940px!important}
body[data-view="plan"] .ro-plan-board .tl-head,
body[data-view="plan"] .ro-plan-board .tl-row{grid-template-columns:110px minmax(0,1fr)!important}
body[data-view="plan"] .ro-plan-board .tl-head .tl-track{min-height:46px!important}
body[data-view="plan"] .ro-plan-board .tl-tick{font-size:11px!important;top:15px!important;color:#aebfba!important}
body[data-view="plan"] .ro-plan-board .tl-lab{padding:8px 9px!important}
body[data-view="plan"] .ro-area-iconbox{
  width:34px!important;height:34px!important;border-radius:10px!important;
  background:color-mix(in srgb,var(--area-accent,#d8b84f) 14%,#101b1d)!important;
  border-color:color-mix(in srgb,var(--area-accent,#d8b84f) 44%,transparent)!important;
  color:var(--area-accent,#d8b84f)!important;
}
body[data-view="plan"] .ro-area-icon{width:20px!important;height:20px!important;stroke-width:1.9}
body[data-view="plan"] .ro-area-labeltext strong{font-size:13.5px!important}
body[data-view="plan"] .ro-area-labeltext small{font-size:10.5px!important}

/* Shift tiles: closer to the approved mockup: large, calm, one-line time, clear capacity. */
body[data-view="plan"] .ro-plan-board .tl-block{
  min-width:0!important;
  padding:9px 10px!important;
  border-radius:10px!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-rows:1fr!important;
  align-items:center!important;
  gap:8px!important;
}
body[data-view="plan"] .ro-plan-board .tl-block b{
  font-size:13px!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  letter-spacing:-.025em!important;
}
body[data-view="plan"] .ro-plan-board .tl-block em{display:none!important}
body[data-view="plan"] .ro-plan-board .tl-block span{
  position:static!important;grid-column:2!important;grid-row:1!important;
  align-self:center!important;justify-self:end!important;
  font-size:11px!important;line-height:1!important;font-weight:850!important;
  min-width:31px;text-align:center;padding:6px 6px!important;border-radius:8px!important;
  background:rgba(0,0,0,.17)!important;color:#f7faf8!important;
}
body[data-view="plan"] .ro-plan-board .tl-block.full{background:linear-gradient(180deg,#123823,#102c1e)!important}
body[data-view="plan"] .ro-plan-board .tl-block.open{background:linear-gradient(180deg,#402320,#311b1a)!important}
body[data-view="plan"] .ro-plan-board .tl-block.sel{background:linear-gradient(180deg,#342d16,#282414)!important}

/* Editor: visually quieter and more compact, without hiding functionality. */
body[data-view="plan"] .ro-plan-editor-card{border-color:rgba(216,184,79,.34)!important;box-shadow:0 18px 55px rgba(0,0,0,.16)!important}
body[data-view="plan"] .ro-plan-editor-card .pick-bar{padding:14px 14px 12px!important}
body[data-view="plan"] .ro-editor-title-with-icon .ro-area-iconbox.lg{width:40px!important;height:40px!important}
body[data-view="plan"] .ro-editor-title-with-icon h3{font-size:20px!important}
body[data-view="plan"] .ro-editor-summary{grid-template-columns:minmax(0,1fr) 78px!important;gap:8px!important;margin-bottom:10px!important}
body[data-view="plan"] .ro-editor-summary-main{background:transparent!important;border:0!important;padding:4px 0!important}
body[data-view="plan"] .ro-editor-summary-main strong{font-size:18px!important}
body[data-view="plan"] .ro-editor-capacity{background:#101d1f!important;border:1px solid rgba(255,255,255,.08)!important;padding:8px!important}
body[data-view="plan"] .ro-editor-roleblock{padding-top:8px!important;border-top:1px solid rgba(255,255,255,.07)!important}
body[data-view="plan"] .plan-role-options{gap:6px!important}
body[data-view="plan"] .plan-role-option{min-height:40px!important;background:#0e1b1d!important}
body[data-view="plan"] .ro-editor-toolbar{display:flex!important;gap:7px!important;margin-top:9px!important}
body[data-view="plan"] .ro-editor-toolbar .btn{flex:1}
body[data-view="plan"] .ro-assigned-section{border-top:1px solid rgba(255,255,255,.07)!important;padding-top:12px!important}
body[data-view="plan"] .ro-assigned-row{background:#0d191b!important;border:1px solid rgba(255,255,255,.065)!important}
body[data-view="plan"] .ro-assigned-summary{font-size:10.5px!important;margin-bottom:8px!important}
body[data-view="plan"] .ro-assigned-sub .tag{font-size:9px!important;padding:3px 6px!important}
body[data-view="plan"] .ro-add-person{background:transparent!important;border:1px dashed rgba(216,184,79,.32)!important;color:#e8ca70!important}

/* Candidate list is visually attached to the planning board. */
body[data-view="plan"] .ro-plan-workspace{gap:8px!important}
body[data-view="plan"] .ro-plan-candidates-inline{border-radius:14px!important;border-top-color:rgba(216,184,79,.14)!important}
body[data-view="plan"] .ro-plan-candidates-inline .ro-plan-table-head{padding:0 2px 3px!important}

/* Professional area icon picker / preview. */
.ro-area-visual-preview{
  display:flex;align-items:center;gap:12px;margin:8px 0 12px;padding:12px 14px;
  border-radius:12px;background:#0d191b;border:1px solid rgba(255,255,255,.075);
  box-shadow:inset 3px 0 0 var(--area-accent,#d8b84f);
}
.ro-area-visual-preview .ro-area-iconbox{color:var(--area-accent,#d8b84f)!important;border-color:color-mix(in srgb,var(--area-accent,#d8b84f) 45%,transparent)!important}
.ro-area-visual-preview>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.ro-area-visual-preview b{font-size:14px;color:#f5f7f4}
.ro-area-visual-preview span{font-size:11px;color:#92a49e}
.ro-icon-picker{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))!important;max-height:310px;overflow:auto;padding:4px 3px 4px 0}
.ro-icon-choice{min-height:50px!important;border-radius:11px!important;padding:8px 10px!important;background:#0b1719!important;transition:border-color .14s ease,background .14s ease,transform .14s ease!important}
.ro-icon-choice:hover{transform:translateY(-1px);border-color:rgba(216,184,79,.42)!important}
.ro-icon-choice.on{background:#292617!important;border-color:#d8b84f!important;color:#f0d06e!important}
.ro-icon-choice .ro-area-icon{width:22px!important;height:22px!important}

/* First-swipe discoverability. */
.mobile-swipe-hint{display:none}
@media(max-width:900px) and (pointer:coarse){
  .mobile-swipe-hint{
    position:fixed;left:50%;bottom:78px;z-index:125;transform:translate(-50%,16px) scale(.98);
    width:min(420px,calc(100vw - 24px));display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;
    padding:12px 12px 12px 14px;border-radius:16px;background:rgba(12,26,28,.97);
    border:1px solid rgba(216,184,79,.42);box-shadow:0 18px 55px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.04);
    opacity:0;pointer-events:none;transition:opacity .22s ease,transform .22s ease;
    backdrop-filter:blur(14px);
  }
  .mobile-swipe-hint.show{opacity:1;transform:translate(-50%,0) scale(1);pointer-events:auto}
  .mobile-swipe-hint.out{opacity:0;transform:translate(-50%,8px) scale(.98);pointer-events:none}
  .mobile-swipe-hint>div:nth-child(2){display:flex;flex-direction:column;gap:2px;min-width:0}
  .mobile-swipe-hint b{font-size:13px;color:#fff;line-height:1.2}
  .mobile-swipe-hint>div:nth-child(2)>span{font-size:11px;color:#a7b7b1;line-height:1.35}
  .mobile-swipe-hint button{border:0;background:transparent;color:#9cafaa;font-size:20px;line-height:1;padding:6px;cursor:pointer}
  .mobile-swipe-hint-arrows{width:54px;height:38px;display:grid;grid-template-columns:14px 1fr 14px;align-items:center;color:#f0cc66}
  .mobile-swipe-hint-arrows span{font-size:27px;font-weight:400;animation:roSwipeArrow 1.45s ease-in-out infinite}
  .mobile-swipe-hint-arrows span:last-child{animation-delay:.15s}
  .mobile-swipe-hint-arrows i{display:block;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,#d8b84f,transparent);animation:roSwipeLine 1.45s ease-in-out infinite}
  @keyframes roSwipeArrow{0%,100%{transform:translateX(0);opacity:.55}50%{transform:translateX(var(--d,2px));opacity:1}}
  @keyframes roSwipeLine{0%,100%{transform:scaleX(.55);opacity:.45}50%{transform:scaleX(1);opacity:1}}

  /* Planning mobile: purpose-built cards, no squeezed desktop grid. */
  body[data-view="plan"] .ro-plan-layout{display:block!important}
  body[data-view="plan"] .ro-plan-workspace{gap:10px!important}
  body[data-view="plan"] .ro-plan-editor-col{position:static!important;margin-top:10px}
  body[data-view="plan"] .ro-plan-info-col{margin-top:10px}
  body[data-view="plan"] .ro-plan-board{overflow:visible!important;border:0!important;background:transparent!important;box-shadow:none!important}
  body[data-view="plan"] .plan-mobile{gap:9px!important}
  body[data-view="plan"] .plan-m-area{border-radius:14px!important;padding:10px!important;background:#0b1719!important}
  body[data-view="plan"] .plan-m-area h3{display:flex!important;align-items:center!important;gap:8px!important;font-size:14px!important;margin:0 0 8px!important}
  body[data-view="plan"] .plan-m-area h3 .ro-area-icon{width:18px;height:18px;color:#d8b84f}
  body[data-view="plan"] .plan-m-shift{min-height:62px!important;border-radius:11px!important;padding:10px 12px!important}
  body[data-view="plan"] .plan-m-shift b{font-size:14px!important}
  body[data-view="plan"] .plan-m-shift span{font-size:11px!important;color:#acbbb6!important}
  body[data-view="plan"] .ro-plan-candidates-inline{margin-top:0!important}
  body[data-view="plan"] .ro-plan-table{min-width:680px}
}
@media(prefers-reduced-motion:reduce){
  .mobile-swipe-hint,.mobile-swipe-hint *{animation:none!important;transition:none!important}
}


/* v15 final planning polish */
body[data-view="plan"] .ro-plan-daynav-center{
  grid-template-columns:42px minmax(170px,240px) 42px!important;
}
body[data-view="plan"] .ro-plan-layout{
  grid-template-columns:minmax(0,1fr) 304px!important;
  grid-template-areas:
    "workspace editor"
    "foot foot"!important;
  gap:12px!important;
  align-items:start!important;
}
body[data-view="plan"] .ro-plan-editor-col{
  grid-area:editor!important;
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  position:sticky!important;
  top:8px!important;
  align-self:start!important;
}
body[data-view="plan"] .ro-plan-info-col{display:none!important}
body[data-view="plan"] .ro-plan-workspace{gap:8px!important}
body[data-view="plan"] .ro-plan-board .tl{min-width:1020px!important}
body[data-view="plan"] .ro-plan-board .tl-head,
body[data-view="plan"] .ro-plan-board .tl-row{grid-template-columns:104px minmax(0,1fr)!important}
body[data-view="plan"] .ro-plan-board .tl-track{padding-right:10px!important;box-sizing:border-box!important}
body[data-view="plan"] .ro-plan-board .tl-block{
  position:absolute!important;
  display:block!important;
  padding:26px 8px 8px 8px!important;
  border-radius:11px!important;
  overflow:hidden!important;
  text-align:left!important;
  font-family:Inter,"Segoe UI Variable","Segoe UI",system-ui,-apple-system,sans-serif!important;
}
body[data-view="plan"] .ro-plan-board .tl-block b{
  display:block!important;
  max-width:100%!important;
  font-size:12px!important;
  line-height:1.08!important;
  font-weight:600!important;
  letter-spacing:-.01em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  color:#f6f7f5!important;
  font-family:inherit!important;
}
body[data-view="plan"] .ro-plan-board .tl-block em{display:none!important}
body[data-view="plan"] .ro-plan-board .tl-block span{
  position:absolute!important;
  left:7px!important;
  top:6px!important;
  right:auto!important;
  bottom:auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:28px!important;
  padding:3px 6px!important;
  border-radius:8px!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:700!important;
  color:#edf2ef!important;
  background:rgba(0,0,0,.22)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.05)!important;
}
body[data-view="plan"] .ro-plan-candidates-inline{margin-top:0!important}
body[data-view="plan"] .ro-plan-editor-card{margin:0!important}
body[data-view="plan"] .ro-plan-autosuggest,
body[data-view="plan"] .ro-plan-stats-stacked{margin:0!important}
body[data-view="plan"] .ro-auto-card{display:grid!important;grid-template-columns:42px minmax(0,1fr)!important;gap:10px 12px!important;align-items:start!important}
body[data-view="plan"] .ro-auto-icon{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;color:#f0c85a;background:#242516;border:1px solid rgba(224,190,76,.35)}
body[data-view="plan"] .ro-auto-icon svg{width:22px;height:22px}
body[data-view="plan"] .ro-auto-copy h3{margin:2px 0 4px!important;font-size:16px!important}
body[data-view="plan"] .ro-auto-copy p{margin:0!important;font-size:11.5px!important;line-height:1.4!important}
body[data-view="plan"] .ro-auto-button{grid-column:1/-1!important;width:100%!important;min-height:44px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;font-size:13px!important}
body[data-view="plan"] .ro-auto-button-icon{font-size:18px;line-height:1}
body[data-view="plan"] .ro-plan-stats-stacked{padding:13px!important}
body[data-view="plan"] .ro-plan-stats-stacked .ro-area-donut-row{gap:12px!important}
body[data-view="plan"] .ro-plan-stats-stacked .ro-area-donut{width:72px!important;height:72px!important}
body[data-view="plan"] .ro-plan-stats-stacked .ro-area-donut strong{font-size:17px!important}
@media(max-width:1280px){
  body[data-view="plan"] .ro-plan-layout{grid-template-columns:minmax(0,1fr) 292px!important}
}
@media(max-width:980px){
  body[data-view="plan"] .ro-plan-layout{grid-template-columns:1fr!important;grid-template-areas:"workspace" "editor" "foot"!important}
  body[data-view="plan"] .ro-plan-editor-col{position:static!important}
  body[data-view="plan"] .ro-plan-board .tl{min-width:940px!important}
}
body[data-view="plan"] .ro-auto-button-icon{display:grid;place-items:center;width:20px;height:20px}
body[data-view="plan"] .ro-auto-button-icon svg{width:18px;height:18px}


/* v15.2 final tile geometry + mobile crew dashboard */
body[data-view="plan"] .ro-plan-board .tl{min-width:960px!important}
body[data-view="plan"] .ro-plan-board .tl-track{padding-right:14px!important}
body[data-view="plan"] .ro-plan-board .tl-block{
  padding:7px 8px!important;
  min-width:0!important;
}
body[data-view="plan"] .ro-plan-board .tl-block b{
  position:absolute!important;
  left:9px!important;
  top:8px!important;
  right:6px!important;
  display:block!important;
  max-width:none!important;
  font-size:11.6px!important;
  line-height:1!important;
  font-weight:600!important;
  letter-spacing:-.01em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body[data-view="plan"] .ro-plan-board .tl-block span{
  left:9px!important;
  top:28px!important;
  right:auto!important;
  bottom:auto!important;
  min-width:27px!important;
  padding:3px 6px!important;
  font-size:9.8px!important;
}
@media(max-width:760px){
  body[data-view="dash"] .ro-dashboard-grid.crew{display:flex!important;flex-direction:column!important;gap:12px!important}
  body[data-view="dash"] .ro-dashboard-grid.crew .ro-next-shift{order:1!important}
  body[data-view="dash"] .ro-dashboard-grid.crew .ro-news{order:2!important}
  body[data-view="dash"] .ro-dashboard-grid.crew .ro-presence{order:3!important}
  body[data-view="dash"] .ro-dashboard-grid.crew .ro-notices{order:4!important}
  body[data-view="dash"] .ro-dashboard-grid.crew .ro-quick{display:none!important}
}

/* ==========================================================================\n   v16 – Admin Mockup Match\n   Mirrors the approved Einsatzplanung visual language on admin pages.\n   Performance note: layout-only CSS, no blur/filter animation, no webfonts.\n   ========================================================================== */
body.staff-mode:not([data-view="plan"]) .main{max-width:1760px!important;padding-top:18px!important}
body.staff-mode:not([data-view="plan"]) .topbar{min-height:64px!important;margin-bottom:14px!important;padding-bottom:14px!important}
body.staff-mode:not([data-view="plan"]) .topbar h2{font-size:28px!important;font-weight:720!important}
body.staff-mode:not([data-view="plan"]) #actions{gap:10px!important}
body.staff-mode:not([data-view="plan"]) #actions .btn.primary{background:#f0c84d!important;color:#142018!important;border-color:#f0c84d!important;font-weight:750!important}

/* shared mockup chrome */
.ro-mock-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}
.ro-mock-stat{min-height:92px;padding:16px 18px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#0b1718;display:flex;align-items:center;gap:14px}
.ro-mock-stat .ico{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:#102224;color:#edc756;font-size:21px}
.ro-mock-stat strong{display:block;font-size:25px;line-height:1;color:#f6f7f4;font-weight:760}
.ro-mock-stat span{display:block;margin-top:6px;color:#a7b4b0;font-size:12px}
.ro-mock-panel{background:#0b1617;border:1px solid rgba(255,255,255,.08);border-radius:12px;overflow:hidden}
.ro-mock-panel-h{min-height:54px;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.07);display:flex;align-items:center;justify-content:space-between;gap:12px}
.ro-mock-panel-h h3{margin:0;font-size:16px;font-weight:700;color:#f5f6f2}
.ro-mock-panel-h p{margin:2px 0 0;color:#899994;font-size:11px}
.ro-mock-panel-b{padding:16px}
.ro-mock-search{height:38px!important;min-height:38px!important;font-size:12px!important}
.ro-mock-list{display:flex;flex-direction:column}
.ro-mock-list-row{min-height:68px;padding:11px 12px;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;border-bottom:1px solid rgba(255,255,255,.055);cursor:pointer}
.ro-mock-list-row:last-child{border-bottom:0}.ro-mock-list-row:hover{background:#0e1d1e}.ro-mock-list-row.on{background:linear-gradient(90deg,rgba(208,171,63,.12),rgba(33,79,54,.16));box-shadow:inset 2px 0 #e0bd4c}
.ro-mock-list-row .area-ic{width:38px;height:38px;border-radius:9px;display:grid;place-items:center;border:1px solid rgba(224,189,76,.32);color:#e7c65e;background:#131d19}.ro-mock-list-row .area-ic svg{width:22px;height:22px}.ro-mock-list-row b{font-size:13px}.ro-mock-list-row small{display:block;color:#84938e;margin-top:4px;font-size:10.5px}.ro-mock-list-row .more{color:#92a19c;font-weight:900}
.ro-mock-label{display:block;color:#a8b6b1;font-size:11px;margin-bottom:6px}.ro-mock-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ro-mock-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.ro-mock-divider{height:1px;background:rgba(255,255,255,.07);margin:14px 0}.ro-mock-toggle-line{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0}.ro-mock-toggle-line b{font-size:12px}.ro-mock-toggle-line small{display:block;color:#82918c;margin-top:3px;font-size:10px}
.ro-mock-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;background:#10201e;border:1px solid rgba(255,255,255,.08);font-size:10px;color:#b9c6c1}.ro-mock-pill.ok{color:#80d892;background:#0d2a1d;border-color:#1f5b37}.ro-mock-pill.warn{color:#edc756;background:#2c2812;border-color:#5d5120}.ro-mock-pill.bad{color:#ff8b82;background:#321919;border-color:#6b2a2a}
.ro-mock-table{width:100%;border-collapse:collapse}.ro-mock-table th{font-size:10px!important;color:#83938d!important;font-weight:650!important;text-transform:none!important;letter-spacing:0!important;background:#102123!important}.ro-mock-table td{font-size:11.5px!important;padding:9px 10px!important;border-bottom:1px solid rgba(255,255,255,.055)!important}.ro-mock-table tr:last-child td{border-bottom:0!important}.ro-mock-table .drag{color:#84958f}.ro-mock-table .action-cell{white-space:nowrap;text-align:right}.ro-mock-table .btn{min-height:32px!important;height:32px!important;padding:5px 9px!important}

/* Areas & activities */
body[data-view="admin"] #content{min-width:0}
body[data-view="admin"] .ro-admin-area-workspace{display:grid!important;grid-template-columns:330px minmax(0,1fr)!important;gap:12px!important;align-items:start}
body[data-view="admin"] .ro-admin-navcard{padding:0!important;overflow:hidden!important;position:sticky;top:8px}
body[data-view="admin"] .ro-admin-navcard>label,body[data-view="admin"] .ro-admin-navcard>select{display:none!important}
body[data-view="admin"] #areaNav{display:flex!important;flex-direction:column!important;gap:0!important}
body[data-view="admin"] .area-item{padding:14px 15px!important;border-bottom:1px solid rgba(255,255,255,.055)!important;border-radius:0!important;min-height:66px!important;background:transparent!important}
body[data-view="admin"] .area-item.on{background:linear-gradient(90deg,rgba(218,181,67,.13),rgba(37,82,57,.15))!important;box-shadow:inset 3px 0 #e2bd49!important}
body[data-view="admin"] .area-item b{font-size:13px!important}body[data-view="admin"] .area-item span{font-size:10.5px!important;color:#8e9c97!important}
body[data-view="admin"] .ro-admin-editor{padding:0!important;display:grid!important;grid-template-columns:minmax(0,1fr) 340px!important;gap:0!important;overflow:hidden!important}
body[data-view="admin"] .ro-admin-editor>h3{grid-column:1/-1;padding:16px 18px;margin:0!important;border-bottom:1px solid rgba(255,255,255,.07)!important;font-size:17px!important}
body[data-view="admin"] .ro-admin-editor>.detail-grid{grid-column:1;display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important;padding:16px 18px!important;border-right:1px solid rgba(255,255,255,.07)}
body[data-view="admin"] .ro-admin-editor .ro-area-visual-config{grid-column:2!important;grid-row:2/7!important;padding:16px!important;border-left:0!important;background:#0a1516}
body[data-view="admin"] .ro-admin-editor>.row,body[data-view="admin"] .ro-admin-editor>.k,body[data-view="admin"] .ro-admin-editor>p,body[data-view="admin"] .ro-admin-editor>.act-row,body[data-view="admin"] .ro-admin-editor>.row:last-child{grid-column:1!important;margin-left:18px!important;margin-right:18px!important}
body[data-view="admin"] .ro-admin-editor>.k{margin-top:16px!important;font-size:12px!important;color:#dbe3df!important;letter-spacing:0!important;text-transform:none!important}
body[data-view="admin"] .ro-admin-editor>.act-row{display:grid!important;grid-template-columns:minmax(150px,1fr) 150px 130px 72px 42px!important;gap:8px!important;padding:8px 0!important;border-top:1px solid rgba(255,255,255,.055)}
body[data-view="admin"] .ro-admin-editor>.act-row input{min-height:35px!important;height:35px!important}.ro-area-visual-preview{padding:12px!important}.ro-icon-picker{grid-template-columns:repeat(4,1fr)!important;gap:8px!important}.ro-icon-choice{height:64px!important}.ro-icon-choice span{font-size:8px!important}
body[data-view="admin"] #patDays,body[data-view="admin"] #patSlots,body[data-view="admin"] #patAdd,body[data-view="admin"] #patPreview,body[data-view="admin"] #patGo,body[data-view="admin"] #patOut{display:none!important}

/* Festival */
body[data-view="festival"] .ro-admin-summary{display:none!important}
body[data-view="festival"] .ro-festival-grid{display:grid!important;grid-template-columns:minmax(0,1.7fr) minmax(300px,.7fr)!important;gap:12px!important;align-items:start}
body[data-view="festival"] .ro-festival-grid>.card{margin:0!important;padding:17px!important}
body[data-view="festival"] .ro-festival-grid>.card:nth-child(1){grid-column:1;grid-row:1/3}
body[data-view="festival"] .ro-festival-grid>.card:nth-child(2){grid-column:1;grid-row:3}
body[data-view="festival"] .ro-festival-grid>.card:nth-child(3){grid-column:2;grid-row:1}
body[data-view="festival"] .ro-festival-grid>.card:nth-child(4){grid-column:2;grid-row:2}
body[data-view="festival"] .ro-festival-grid>.card:nth-child(5){grid-column:2;grid-row:3}
body[data-view="festival"] .ro-admin-section-primary{position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(9,21,22,.97) 0 56%,rgba(9,21,22,.72)),url('/assets/hero-festival.jpg') right center/48% 100% no-repeat!important}
body[data-view="festival"] .ro-admin-section-primary:before{content:"FESTIVAL-ÜBERSICHT";display:block;color:#aebbb6;font-size:10px;letter-spacing:.12em;font-weight:750;margin-bottom:4px}
body[data-view="festival"] .ro-admin-section-primary>h3{font-size:20px!important;margin-bottom:10px!important}
body[data-view="festival"] .ro-admin-section-primary>label,body[data-view="festival"] .ro-admin-section-primary>input,body[data-view="festival"] .ro-admin-section-primary>select,body[data-view="festival"] .ro-admin-section-primary>.row,body[data-view="festival"] .ro-admin-section-primary>.hint,body[data-view="festival"] .ro-admin-section-primary>#saveF{max-width:54%}
body[data-view="festival"] .day-edit{background:#0d1b1c;border:1px solid rgba(255,255,255,.07)!important;border-radius:9px;margin:7px 0;padding:8px!important}.day-edit .row{display:grid!important;grid-template-columns:120px 1fr 1fr auto auto!important;gap:7px!important}.day-edit input{height:34px!important;min-height:34px!important;font-size:11px!important}.day-edit .btn{height:34px!important;min-height:34px!important}
body[data-view="festival"] #scw{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px}body[data-view="festival"] #scw label{display:grid;grid-template-columns:1fr 70px;align-items:center;gap:8px}body[data-view="festival"] #scw input{height:34px!important;min-height:34px!important}

/* Form builder */
body[data-view="form"] .ro-admin-summary{display:none!important}
body[data-view="form"] .ro-admin-form-table{position:relative!important;padding-top:18px!important;overflow:auto!important}
body[data-view="form"] .ro-admin-form-table:before{content:"FORMULARABSCHNITTE   ·   FELDER & EINSTELLUNGEN   ·   LIVE-VORSCHAU";display:block;color:#a5b4af;font-size:10px;letter-spacing:.11em;font-weight:750;margin:0 0 12px}
body[data-view="form"] .ro-admin-form-table table{min-width:1180px!important;background:#0b1718;border:1px solid rgba(255,255,255,.07);border-radius:10px;overflow:hidden}
body[data-view="form"] .ro-admin-form-table th{background:#102123!important;font-size:10px!important;color:#94a39e!important}
body[data-view="form"] .ro-admin-form-table td{padding:9px 8px!important;vertical-align:top!important;border-bottom:1px solid rgba(255,255,255,.055)!important}
body[data-view="form"] .ro-admin-form-table input,body[data-view="form"] .ro-admin-form-table select{min-height:34px!important;height:34px!important;font-size:11px!important}body[data-view="form"] .ro-admin-form-table textarea{min-height:58px!important;font-size:11px!important}
body[data-view="form"] .ro-admin-form-table .btn{min-height:32px!important;height:32px!important;padding:5px 9px!important;font-size:10.5px!important}
body[data-view="form"] #content>.card:last-child{background:#0b1718!important;border-style:solid!important}

/* Build / create shifts */
body[data-view="build"] .ro-build-switcher{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:12px!important;margin-bottom:12px!important}
body[data-view="build"] .ro-build-switcher:after{content:"4  Prüfen & erstellen";display:flex;align-items:center;padding:13px 16px;border:1px solid rgba(255,255,255,.09);border-radius:11px;background:#0b1718;color:#bac7c2;font-weight:650}
body[data-view="build"] .ro-build-switcher button{min-height:66px!important;background:#0b1718!important;border:1px solid rgba(255,255,255,.09)!important;border-radius:11px!important;text-align:left!important;padding:12px 15px!important}body[data-view="build"] .ro-build-switcher button.active{border-color:#e0bc48!important;background:linear-gradient(90deg,#15201c,#0c1718)!important;box-shadow:inset 0 -2px #e0bc48!important}body[data-view="build"] .ro-build-switcher button span{width:34px;height:34px;border-radius:50%;border:1px solid #47615a;display:inline-grid;place-items:center;margin-right:10px;color:#dbe4df}body[data-view="build"] .ro-build-switcher button.active span{border-color:#e0bc48;color:#edca59}body[data-view="build"] .ro-build-switcher button b{display:inline;font-size:13px}body[data-view="build"] .ro-build-switcher button small{display:block;margin:3px 0 0 46px;color:#82908b}
body[data-view="build"] .ro-build-panel{background:#0b1718!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:12px!important;padding:16px!important}body[data-view="build"] .ro-build-step{display:grid!important;grid-template-columns:46px minmax(0,1fr)!important;padding:14px 0!important;border-top:1px solid rgba(255,255,255,.06)!important}body[data-view="build"] .ro-build-step:first-of-type{border-top:0!important}.ro-step-no{width:32px!important;height:32px!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:#102224!important;border:1px solid rgba(224,188,72,.35)!important;color:#e8c557!important;font-weight:750!important}
body[data-view="build"] .ro-pattern-slot{background:#0e1c1d!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:10px!important;padding:10px!important}
body[data-view="build"] .ro-build-review{background:#10231a!important;border:1px solid #1e6539!important;border-radius:10px!important;padding:12px 14px!important}

/* Tickets & groups */
body[data-view="rules"] .ro-rule-explainer{display:grid!important;grid-template-columns:1fr!important;background:#0b1718!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:11px!important;padding:13px 15px!important;margin-bottom:12px!important}.ro-rule-explainer .ro-formula{justify-content:flex-start!important;gap:8px!important}.ro-rule-explainer p{display:none!important}
body[data-view="rules"] .ro-rules-layout{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important}.ro-rules-card{background:#0b1718!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:11px!important;padding:0!important;overflow:hidden!important}.ro-rules-card .ro-section-intro{padding:14px 16px!important;border-bottom:1px solid rgba(255,255,255,.07)!important}.ro-rule-row{display:grid!important;grid-template-columns:minmax(150px,1fr) 110px 150px!important;gap:8px!important;padding:9px 12px!important;border-bottom:1px solid rgba(255,255,255,.055)!important;align-items:end!important}.ro-rule-row.group{grid-template-columns:minmax(150px,1fr) 100px 145px 150px!important}.ro-rule-row input,.ro-rule-row select{height:34px!important;min-height:34px!important}.ro-rule-actions{display:flex!important;justify-content:flex-end!important;gap:6px!important}.ro-add-box{padding:12px!important;background:#091314!important}.ro-info-strip{margin-top:12px!important;border:1px solid rgba(224,188,72,.2)!important;background:#13180f!important}

/* Displays */
body[data-view="displays"] .ro-display-summary{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:12px!important;margin-bottom:12px!important}.ro-display-summary>div{min-height:84px!important;background:#0b1718!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:11px!important;padding:15px 17px!important}.ro-display-summary b{font-size:24px!important}.ro-display-summary span{display:block;color:#8fa09a;margin-top:4px;font-size:11px}.ro-display-setup{display:grid!important;grid-template-columns:1.35fr .65fr!important;gap:12px!important}.ro-display-create,.ro-display-motion{background:#0b1718!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:11px!important;padding:15px!important}.ro-display-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:12px!important}.ro-display-card{background:#0b1718!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:11px!important;overflow:hidden!important}.ro-display-card-head{padding:14px!important;border-bottom:1px solid rgba(255,255,255,.07)!important}.ro-display-card-body{padding:14px!important;min-height:130px!important}.ro-display-card-foot{padding:10px 14px!important;border-top:1px solid rgba(255,255,255,.07)!important}.ro-display-screen-icon{width:40px!important;height:40px!important;border-radius:10px!important;display:grid!important;place-items:center!important;background:#102224!important;color:#e6c453!important}

/* Conflicts */
body[data-view="conflicts"] .ro-conflict-overview{display:grid!important;grid-template-columns:1fr 1fr 1.25fr!important;gap:12px!important}.ro-conflict-stat,.ro-conflict-guide{min-height:88px!important;background:#0b1718!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:11px!important;padding:15px!important}.ro-conflict-tabs{display:flex!important;gap:10px!important;margin:12px 0!important}.ro-conflict-tabs button{min-height:46px!important;background:#0b1718!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:10px!important;color:#c4cfcb!important;padding:0 16px!important}.ro-conflict-tabs button.active{border-color:#e1bd4a!important;color:#fff!important;box-shadow:inset 0 -2px #e1bd4a!important}.ro-conflict-list{display:flex!important;flex-direction:column!important;gap:7px!important}.ro-conflict-item{display:grid!important;grid-template-columns:54px minmax(0,1fr) 190px!important;align-items:center!important;background:#0b1718!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:10px!important;padding:10px 12px!important}.ro-conflict-item.hard{border-left:3px solid #d75753!important}.ro-conflict-item.notice{border-left:3px solid #d8b649!important}.ro-conflict-icon{width:38px!important;height:38px!important;border-radius:9px!important;display:grid!important;place-items:center!important;background:#1d2020!important;font-size:18px!important}.ro-conflict-item.hard .ro-conflict-icon{color:#ff726a}.ro-conflict-item.notice .ro-conflict-icon{color:#e4c45d}.ro-conflict-title{display:flex!important;gap:8px!important;align-items:center!important}.ro-conflict-title h3{font-size:13px!important;margin:0!important}.ro-conflict-copy p{font-size:11.5px!important;margin:3px 0!important;color:#b3bfbb!important}.ro-conflict-actions{display:flex!important;flex-direction:column!important;gap:6px!important}.ro-conflict-actions .btn{width:100%!important}.ro-conflict-meta{font-size:10px!important}.ro-conflict-meta span{color:#81918b!important}.ro-conflict-meta b{color:#d7e0dc!important;margin-right:8px!important}

@media(max-width:1200px){
  body[data-view="admin"] .ro-admin-area-workspace{grid-template-columns:260px minmax(0,1fr)!important}
  body[data-view="admin"] .ro-admin-editor{grid-template-columns:1fr!important}
  body[data-view="admin"] .ro-admin-editor .ro-area-visual-config{grid-column:1!important;grid-row:auto!important;border-top:1px solid rgba(255,255,255,.07)!important}
  body[data-view="festival"] .ro-festival-grid{grid-template-columns:1fr!important}body[data-view="festival"] .ro-festival-grid>.card{grid-column:1!important;grid-row:auto!important}
  .ro-display-grid{grid-template-columns:1fr 1fr!important}
}
@media(max-width:760px){
  .ro-mock-stats,.ro-display-summary{grid-template-columns:1fr 1fr!important}
  body[data-view="admin"] .ro-admin-area-workspace{grid-template-columns:1fr!important}
  body[data-view="admin"] .ro-admin-navcard{position:static!important}
  body[data-view="rules"] .ro-rules-layout,.ro-display-setup,.ro-display-grid{grid-template-columns:1fr!important}
  body[data-view="build"] .ro-build-switcher{grid-template-columns:1fr 1fr!important}
  .ro-conflict-overview{grid-template-columns:1fr!important}.ro-conflict-item{grid-template-columns:42px minmax(0,1fr)!important}.ro-conflict-actions{grid-column:1/-1!important;display:grid!important;grid-template-columns:1fr 1fr!important}
}
.ro-form-mock-top{display:grid;grid-template-columns:310px minmax(0,1fr) 340px;gap:12px;margin-bottom:12px;align-items:start}.ro-form-sections{position:sticky;top:8px}.ro-form-mock-top .ro-mock-list-row{grid-template-columns:34px 1fr auto}.ro-form-mock-top .area-ic{width:30px;height:30px}.ro-phone-preview{position:sticky;top:8px}.phone-shell{margin:16px auto;width:min(286px,100%);min-height:590px;border:5px solid #354247;border-radius:34px;padding:28px 18px 18px;background:#071314;box-shadow:inset 0 0 0 2px #030707;position:relative}.phone-notch{position:absolute;top:7px;left:50%;transform:translateX(-50%);width:82px;height:14px;background:#020606;border-radius:0 0 10px 10px}.phone-brand{display:flex;flex-direction:column;gap:2px;margin-bottom:20px}.phone-brand b{font-size:14px}.phone-brand span{font-size:10px;color:#e7c64d;font-weight:700}.phone-shell h3{font-size:18px;margin:0 0 8px}.phone-shell p{font-size:11px;color:#aab7b3;line-height:1.45}.phone-progress{height:6px;border-radius:99px;background:#273638;margin:16px 0 18px;overflow:hidden}.phone-progress span{display:block;width:22%;height:100%;background:#48c668}.phone-shell label{display:block;margin:10px 0;font-size:10.5px}.phone-shell input{width:100%;height:34px!important;min-height:34px!important;margin-top:4px;font-size:10.5px!important}.phone-shell .btn{width:100%;margin-top:16px;background:#efca4f!important;color:#132017!important}
.ro-display-preview-mock{margin:12px 0}.mock-display-screen{background:linear-gradient(180deg,#071416,#08191b);border:1px solid #1e3638;border-radius:10px;margin:14px;padding:22px;min-height:410px}.mock-display-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px}.mock-display-top div{display:flex;flex-direction:column}.mock-display-top b{font-size:22px;line-height:1}.mock-display-top span{color:#ecc64c;font-size:10px;font-weight:700;margin-top:4px}.mock-display-top strong{font-size:28px}.mock-display-screen h2{font-size:23px;margin:0 0 12px}.mock-display-area{display:grid;grid-template-columns:44px 150px 1fr 70px;align-items:center;min-height:58px;margin:7px 0;border:1px solid color-mix(in srgb,var(--a) 60%,#1d3030);border-radius:8px;overflow:hidden;background:#0b1a1b}.mock-display-area-icon{height:100%;display:grid;place-items:center;background:color-mix(in srgb,var(--a) 65%,#0c1515);color:white}.mock-display-area-icon svg{width:23px;height:23px}.mock-display-area b{padding-left:12px}.mock-display-area span{font-size:12px}.mock-display-area em{font-style:normal;font-weight:800;text-align:center}.ro-conflict-workspace{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:12px;align-items:start}.ro-conflict-detail-mock{position:sticky;top:8px}.ro-conflict-detail-mock h2{font-size:19px;margin:14px 0 8px}.ro-conflict-detail-mock h3{font-size:13px}.mock-steps{padding-left:20px;color:#b7c3bf;font-size:11.5px;line-height:1.55}.mock-steps li{margin:8px 0}.ro-conflict-detail-mock .btn{width:100%;margin-top:12px}
body[data-view="admin"] .area-item{display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;column-gap:10px!important;align-items:center!important}body[data-view="admin"] .area-item .area-ic{grid-row:1/3}body[data-view="admin"] .area-item b,body[data-view="admin"] .area-item span{grid-column:2}
@media(max-width:1250px){.ro-form-mock-top{grid-template-columns:280px 1fr}.ro-phone-preview{grid-column:1/-1;position:static}.phone-shell{min-height:0}.ro-conflict-workspace{grid-template-columns:1fr}.ro-conflict-detail-mock{position:static}}
@media(max-width:820px){.ro-form-mock-top{grid-template-columns:1fr}.ro-form-sections{position:static}.mock-display-area{grid-template-columns:40px 100px 1fr 55px}.mock-display-screen{padding:12px}.ro-conflict-workspace{display:block}.ro-conflict-detail-mock{margin-top:12px}}
/* v16 visual pass 2: closer alignment with approved mockups */
.ro-area-mock-preview{margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.07)}.ro-area-mock-preview h4{margin:0 0 10px;font-size:14px}.mock-area-shifts{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px;align-items:stretch}.mock-area-shifts>div,.mini-shift{min-height:64px;border-radius:8px;border:1px solid rgba(255,255,255,.08);background:#0c191a;padding:8px}.mock-area-shifts>div{display:grid;grid-template-columns:28px 1fr;gap:7px;align-items:center}.mock-area-shifts .area-ic{width:28px;height:28px}.mock-area-shifts b{font-size:11px}.mock-area-shifts small{font-size:9px;color:#99a8a3}.mini-shift{display:flex;flex-direction:column;justify-content:center;font-size:10.5px;font-weight:700}.mini-shift.ok{border-color:#176f3b;background:#10361f}.mini-shift.bad{border-color:#8a322e;background:#3a1a19}.mini-shift small{margin-top:6px}.mock-crew-card{display:flex;gap:10px;align-items:center;border:1px solid rgba(255,255,255,.08);background:#0d1a1b;border-radius:9px;margin-top:9px;padding:10px}.mock-crew-card .area-ic{width:34px;height:34px}.mock-crew-card b{display:block;font-size:12px}.mock-crew-card small{display:block;color:#91a09b;margin-top:3px;line-height:1.35}.ro-tip-box{display:grid;grid-template-columns:auto 1fr;gap:8px;margin-top:10px;padding:10px;border:1px solid rgba(224,188,72,.26);border-radius:8px;background:#181b10}.ro-tip-box b{color:#efc84f;font-size:11px}.ro-tip-box span{font-size:10px;color:#bec8c3;line-height:1.4}
.ro-festival-workspace{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:12px;align-items:start}.ro-festival-workspace .ro-festival-grid{grid-template-columns:1fr 1fr!important}.ro-festival-workspace .ro-festival-grid>.card:nth-child(1){grid-column:1/-1!important;grid-row:auto!important;min-height:250px}.ro-festival-workspace .ro-festival-grid>.card:nth-child(2),.ro-festival-workspace .ro-festival-grid>.card:nth-child(3),.ro-festival-workspace .ro-festival-grid>.card:nth-child(4),.ro-festival-workspace .ro-festival-grid>.card:nth-child(5){grid-column:auto!important;grid-row:auto!important}.ro-festival-side{display:flex;flex-direction:column;gap:12px;position:sticky;top:8px}.festival-stat-list{display:flex;flex-direction:column;padding:8px}.festival-stat-list>div{display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;column-gap:10px;padding:12px;border:1px solid rgba(255,255,255,.065);border-radius:9px;margin:5px}.festival-stat-list .ico{grid-row:1/3;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#10261e;color:#e7c74f}.festival-stat-list b{font-size:19px;line-height:1.1}.festival-stat-list small{color:#8d9c97;font-size:10.5px}.system-mini{min-height:140px}
.ro-rules-workspace{display:grid;grid-template-columns:minmax(0,1fr) 385px;gap:12px;align-items:start}.ro-rules-workspace .ro-rules-layout{grid-template-columns:1fr!important}.ro-rule-editor-mock{position:sticky;top:8px}.ro-rule-editor-mock label{display:block;margin:10px 0}.ro-rule-editor-mock input,.ro-rule-editor-mock textarea,.ro-rule-editor-mock select{width:100%;margin-top:5px}.rule-color-dots{display:flex;gap:10px;margin:10px 0}.rule-color-dots i{width:28px;height:28px;border-radius:50%;display:block;border:2px solid #203235}.rule-color-dots i:nth-child(1){background:#d9b846}.rule-color-dots i:nth-child(2){background:#3fb06d}.rule-color-dots i:nth-child(3){background:#4b92e6}.rule-color-dots i:nth-child(4){background:#9b61db}.rule-color-dots i:nth-child(5){background:#f95c72}.rule-color-dots i:nth-child(6){background:#ff934c}.rule-icons{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.rule-icons span{height:45px;border:1px solid rgba(255,255,255,.09);border-radius:8px;display:grid;place-items:center;background:#0d191a;font-size:18px}.rule-icons span:first-child{border-color:#e0bc48;color:#edca59}
.ro-display-workspace{display:grid;grid-template-columns:290px minmax(0,1fr) 330px;gap:12px;align-items:start;margin-top:12px}.ro-display-workspace .ro-display-preview-mock{margin:0}.ro-display-list-mock{overflow:hidden}.ro-display-list-body{display:flex;flex-direction:column}.ro-display-list-body .ro-display-card{border:0!important;border-bottom:1px solid rgba(255,255,255,.06)!important;border-radius:0!important}.ro-display-list-body .ro-display-card-head{padding:11px!important}.ro-display-list-body .ro-display-card-body,.ro-display-list-body .ro-display-card-foot{display:none!important}.ro-display-settings-mock{min-height:100%;margin:0!important}.ro-display-settings-mock .ro-display-card-head{padding:14px!important}.ro-display-settings-mock .ro-display-card-body{min-height:300px!important}.ro-display-settings-mock .ro-display-card-foot{padding:12px!important}
@media(max-width:1350px){.ro-festival-workspace{grid-template-columns:1fr}.ro-festival-side{position:static;display:grid;grid-template-columns:1fr 1fr}.ro-rules-workspace{grid-template-columns:1fr}.ro-rule-editor-mock{position:static}.ro-display-workspace{grid-template-columns:250px 1fr}.ro-display-settings-mock{grid-column:1/-1}}
@media(max-width:850px){.ro-festival-workspace .ro-festival-grid{grid-template-columns:1fr!important}.ro-festival-workspace .ro-festival-grid>.card{grid-column:1!important}.ro-festival-side{grid-template-columns:1fr}.ro-display-workspace{grid-template-columns:1fr}.ro-display-settings-mock{grid-column:auto}.mock-area-shifts{grid-template-columns:1fr}}
/* v16 build-page mockup structure */
.ro-build-mock-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:12px}.ro-build-mock-steps>div{min-height:68px;border:1px solid rgba(255,255,255,.08);border-radius:11px;background:#0b1718;padding:12px 14px;display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center}.ro-build-mock-steps>div.on{border-color:#e2be49;box-shadow:inset 0 -2px #e2be49;background:linear-gradient(90deg,#14221d,#0b1718)}.ro-build-mock-steps span{grid-row:1/3;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:1px solid #48635a;color:#d8e1dd;font-weight:750}.ro-build-mock-steps .on span{border-color:#e2be49;color:#edca59}.ro-build-mock-steps b{font-size:13px}.ro-build-mock-steps small{font-size:10px;color:#85948f}.ro-build-mock-grid{display:grid;grid-template-columns:280px minmax(0,1fr) 330px;gap:12px;align-items:start}.ro-build-days,.ro-build-settings{position:sticky;top:8px}.ro-day-list{display:flex;flex-direction:column;gap:7px}.ro-day-check{display:flex;align-items:center;gap:9px;border:1px solid rgba(255,255,255,.07);border-radius:8px;background:#0d1a1b;padding:8px 9px}.ro-day-check:has(input:checked){background:#10371f;border-color:#1c6638}.ro-day-check input{width:17px;height:17px;min-height:0}.ro-day-check b{display:block;font-size:11.5px}.ro-day-check small{display:block;font-size:9.5px;color:#8d9b96}.mock-template-card{display:flex;gap:10px;padding:10px;margin:8px 0;border:1px solid rgba(224,188,72,.2);border-radius:8px;background:#111c16}.mock-template-card>span{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;background:#17251a;color:#edc951}.mock-template-card b{display:block;font-size:11px}.mock-template-card small{display:block;font-size:9.5px;color:#8c9b96;margin-top:3px}.ro-build-center{display:flex;flex-direction:column;gap:12px}.ro-build-time-axis{display:grid;grid-template-columns:repeat(10,1fr);padding:12px 15px 7px;color:#91a09b;font-size:9.5px;border-bottom:1px solid rgba(255,255,255,.06)}.ro-build-time-blocks{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;padding:11px 15px 15px}.ro-build-time-blocks>span{min-height:64px;border:1px solid #1c7040;border-radius:8px;background:#10351f;padding:9px 8px;font-size:10.5px;font-weight:700;display:flex;flex-direction:column;justify-content:center}.ro-build-time-blocks>span.sel{border:2px solid #e4bf49;background:#312916}.ro-build-time-blocks>span.off{border-color:#84342f;background:#3a1b19}.ro-build-time-blocks small{font-size:9px;color:#a5b2ad;margin-top:7px}.ro-build-editor-card .ro-pattern-slot{margin-bottom:8px}.ro-build-preview-ok{display:flex;gap:10px;align-items:center;border:1px solid #196c38;background:#0f2a1b;padding:10px;border-radius:8px}.ro-build-preview-ok>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#3bc56a;color:#092111;font-weight:900}.ro-build-preview-ok b{display:block;font-size:11px}.ro-build-preview-ok small{display:block;color:#8fa29a;font-size:9.5px;margin-top:2px}.ro-build-sticky-review{position:sticky;bottom:0;z-index:12;margin-top:12px;min-height:66px;border:1px solid rgba(255,255,255,.09);background:#0b1718f2;border-radius:11px;padding:10px 12px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;box-shadow:0 -12px 30px rgba(0,0,0,.18)}.ro-build-sticky-review>div{text-align:center}.ro-build-sticky-review b{display:block;font-size:12px}.ro-build-sticky-review span{display:block;font-size:10px;color:#8e9d97;margin-top:3px}.ro-build-advanced{margin-top:12px;border:1px solid rgba(255,255,255,.07);border-radius:10px;background:#091415}.ro-build-advanced summary{padding:12px 14px;cursor:pointer;color:#aebbb6;font-size:11px}.ro-build-advanced-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 12px 12px}.ro-build-advanced .ro-build-panel{display:block!important}
@media(max-width:1350px){.ro-build-mock-grid{grid-template-columns:240px 1fr}.ro-build-settings{grid-column:1/-1;position:static}.ro-build-settings .ro-mock-panel-b{display:grid;grid-template-columns:1fr 1fr;gap:12px}}
@media(max-width:900px){.ro-build-mock-steps{grid-template-columns:1fr 1fr}.ro-build-mock-grid{grid-template-columns:1fr}.ro-build-days{position:static}.ro-build-time-blocks{overflow:auto;grid-template-columns:repeat(8,minmax(110px,1fr))}.ro-build-time-axis{display:none}.ro-build-advanced-grid{grid-template-columns:1fr}.ro-build-sticky-review{position:static;grid-template-columns:1fr}.ro-build-settings .ro-mock-panel-b{display:block}}

/* v16.1 corrective pass after screenshot review */
/* keep header/subtitle geometrically stable while inner views refresh */
body.staff-mode .topbar-copy #sub{min-height:20px}

/* Areas: move visual column out of detail grid; compact, mockup-like 3-column layout */
body[data-view="admin"] .ro-admin-area-workspace{grid-template-columns:310px minmax(0,1fr)!important;gap:14px!important}
body[data-view="admin"] .ro-admin-navcard{max-height:calc(100vh - 190px);overflow:auto!important}
body[data-view="admin"] .ro-admin-editor{grid-template-columns:minmax(0,1fr) 360px!important;align-items:start!important}
body[data-view="admin"] .ro-admin-editor>.detail-grid{grid-column:1!important;grid-row:2!important;grid-template-columns:minmax(180px,.8fr) minmax(280px,1.2fr)!important;align-items:start!important;min-width:0!important}
body[data-view="admin"] .ro-admin-editor>.ro-area-visual-config{grid-column:2!important;grid-row:2 / span 12!important;min-width:0!important;padding:16px!important;border-left:1px solid rgba(255,255,255,.07)!important;border-right:0!important;background:#091516!important}
body[data-view="admin"] .ro-admin-editor>.row,
body[data-view="admin"] .ro-admin-editor>.k,
body[data-view="admin"] .ro-admin-editor>p,
body[data-view="admin"] .ro-admin-editor>.act-row{grid-column:1!important;min-width:0!important}
body[data-view="admin"] .ro-admin-editor>.act-row{grid-template-columns:minmax(160px,1fr) minmax(150px,.7fr) minmax(125px,.6fr) 58px 38px!important;align-items:center!important}
body[data-view="admin"] .ro-admin-editor>.act-row .chip{min-height:35px!important;padding:7px 8px!important;font-size:10px!important}
body[data-view="admin"] .ro-icon-picker{grid-template-columns:repeat(3,minmax(0,1fr))!important;max-height:365px!important}
body[data-view="admin"] .ro-icon-choice{min-width:0!important;height:72px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;gap:5px!important}
body[data-view="admin"] .ro-area-mock-preview{margin-top:14px!important}
@media(max-width:1250px){
  body[data-view="admin"] .ro-admin-area-workspace{grid-template-columns:270px minmax(0,1fr)!important}
  body[data-view="admin"] .ro-admin-editor{grid-template-columns:1fr!important}
  body[data-view="admin"] .ro-admin-editor>.detail-grid,
  body[data-view="admin"] .ro-admin-editor>.ro-area-visual-config,
  body[data-view="admin"] .ro-admin-editor>.row,
  body[data-view="admin"] .ro-admin-editor>.k,
  body[data-view="admin"] .ro-admin-editor>p,
  body[data-view="admin"] .ro-admin-editor>.act-row{grid-column:1!important;grid-row:auto!important}
  body[data-view="admin"] .ro-admin-editor>.ro-area-visual-config{border-left:0!important;border-top:1px solid rgba(255,255,255,.07)!important}
}

/* Festival: eliminate stretched rows/gaps and protect text/buttons from overlap */
body[data-view="festival"] .ro-festival-workspace{grid-template-columns:minmax(0,1fr) 310px!important;gap:14px!important;align-items:start!important}
body[data-view="festival"] .ro-festival-workspace .ro-festival-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-auto-rows:max-content!important;gap:12px!important;align-items:start!important}
body[data-view="festival"] .ro-festival-workspace .ro-festival-grid>.card{min-height:0!important;height:auto!important;align-self:start!important;overflow:hidden!important}
body[data-view="festival"] .ro-festival-workspace .ro-festival-grid>.card:nth-child(1){grid-column:1/-1!important;min-height:300px!important}
body[data-view="festival"] .ro-festival-workspace .ro-festival-grid>.card:nth-child(n+2){grid-column:auto!important;grid-row:auto!important}
body[data-view="festival"] .ro-festival-grid .row{flex-wrap:wrap!important;align-items:end!important}
body[data-view="festival"] .ro-festival-grid input,
body[data-view="festival"] .ro-festival-grid select{max-width:100%!important;min-width:0!important}
body[data-view="festival"] .ro-festival-grid .btn{white-space:normal!important}
body[data-view="festival"] .ro-festival-grid p,
body[data-view="festival"] .ro-festival-grid .hint{overflow-wrap:anywhere!important;line-height:1.45!important}
body[data-view="festival"] .ro-festival-side{gap:12px!important}
@media(max-width:1320px){body[data-view="festival"] .ro-festival-workspace{grid-template-columns:1fr!important}.ro-festival-side{position:static!important;display:grid!important;grid-template-columns:1fr 1fr!important}}

/* Build: functional step buttons and clean editor slots */
.ro-build-mock-steps>button{appearance:none;text-align:left;color:inherit;font:inherit;cursor:pointer;min-height:68px;border:1px solid rgba(255,255,255,.08);border-radius:11px;background:#0b1718;padding:12px 14px;display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center}
.ro-build-mock-steps>button:hover{border-color:rgba(226,190,73,.38);background:#101d1b}
.ro-build-mock-steps>button.on{border-color:#e2be49;box-shadow:inset 0 -2px #e2be49;background:linear-gradient(90deg,#14221d,#0b1718)}
.ro-build-mock-steps>button span{grid-row:1/3;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:1px solid #48635a;color:#d8e1dd;font-weight:750}
.ro-build-mock-steps>button.on span{border-color:#e2be49;color:#edca59}
.ro-build-mock-steps>button b{font-size:13px}.ro-build-mock-steps>button small{font-size:10px;color:#85948f}
body[data-view="build"] .ro-build-mock-grid{grid-template-columns:265px minmax(540px,1fr) 315px!important;gap:14px!important}
body[data-view="build"] .ro-build-editor-card .ro-mock-panel-b{padding:14px!important}
body[data-view="build"] .ro-pattern-slots{margin-top:0!important}
body[data-view="build"] .ro-pattern-slot{display:grid!important;grid-template-columns:minmax(260px,.9fr) minmax(220px,.8fr) auto!important;grid-template-areas:"time desc kill" "needs needs needs"!important;align-items:end!important;gap:10px 12px!important;padding:12px!important}
body[data-view="build"] .ro-pattern-time{grid-area:time!important;min-width:0!important}
body[data-view="build"] .ro-pattern-desc{grid-area:desc!important;min-width:0!important}
body[data-view="build"] .ro-pattern-needs{grid-area:needs!important;min-width:0!important;padding-top:8px!important;border-top:1px solid rgba(255,255,255,.055)!important}
body[data-view="build"] .ro-pattern-slot>.patKill{grid-area:kill!important;align-self:end!important;white-space:nowrap!important}
body[data-view="build"] .ro-pattern-time input,
body[data-view="build"] .ro-pattern-desc input{width:100%!important;min-width:0!important}
body[data-view="build"] .ro-pattern-needs>div{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(118px,1fr))!important;gap:7px!important}
body[data-view="build"] .ro-need-field{justify-content:space-between!important;min-width:0!important}
body[data-view="build"] .ro-build-sticky-review{z-index:6!important}
@media(max-width:1380px){body[data-view="build"] .ro-build-mock-grid{grid-template-columns:240px minmax(0,1fr)!important}body[data-view="build"] .ro-build-settings{grid-column:1/-1!important;position:static!important}}
@media(max-width:980px){body[data-view="build"] .ro-pattern-slot{grid-template-columns:1fr!important;grid-template-areas:"time" "desc" "needs" "kill"!important}}

/* Tickets & groups: dense rows without overlapping action buttons */
body[data-view="rules"] .ro-mock-stats{margin-bottom:14px!important}
body[data-view="rules"] .ro-rules-workspace{grid-template-columns:minmax(0,1fr) 390px!important;gap:14px!important}
body[data-view="rules"] .ro-rules-layout{gap:12px!important}
body[data-view="rules"] .ro-rules-card{overflow:hidden!important}
body[data-view="rules"] .ro-rule-row{display:grid!important;grid-template-columns:minmax(220px,1fr) 110px 190px!important;gap:10px!important;align-items:end!important;padding:12px 14px!important}
body[data-view="rules"] .ro-rule-row.group{grid-template-columns:minmax(190px,1fr) 95px 150px 190px!important}
body[data-view="rules"] .ro-rule-row label{min-width:0!important}
body[data-view="rules"] .ro-rule-row input,
body[data-view="rules"] .ro-rule-row select{width:100%!important;min-width:0!important}
body[data-view="rules"] .ro-rule-actions{display:flex!important;gap:7px!important;justify-content:flex-end!important;align-items:center!important;min-width:0!important}
body[data-view="rules"] .ro-rule-actions .btn{position:static!important;min-width:0!important;white-space:nowrap!important}
body[data-view="rules"] .ro-add-row{grid-template-columns:minmax(0,1fr) 110px 170px!important;gap:10px!important}
body[data-view="rules"] .ro-add-row.groups{grid-template-columns:minmax(0,1fr) 95px 150px 170px!important}
body[data-view="rules"] .ro-rule-editor-mock{top:8px!important}
@media(max-width:1450px){body[data-view="rules"] .ro-rules-workspace{grid-template-columns:1fr!important}.ro-rule-editor-mock{position:static!important}body[data-view="rules"] .ro-rule-row.group{grid-template-columns:minmax(180px,1fr) 100px 150px 180px!important}}

/* Displays: mockup workspace gets priority over legacy grid */
body[data-view="displays"] .ro-display-workspace{grid-template-columns:280px minmax(480px,1fr) 330px!important;gap:14px!important;align-items:start!important}
body[data-view="displays"] .ro-display-list-mock{position:sticky;top:8px;max-height:calc(100vh - 180px);overflow:auto!important}
body[data-view="displays"] .ro-display-preview-mock{min-height:520px!important}
body[data-view="displays"] .mock-display-screen{min-height:450px!important;padding:20px!important}
body[data-view="displays"] .ro-display-settings-mock{position:sticky;top:8px!important}
body[data-view="displays"] .ro-display-settings-mock .ro-display-card-body{display:block!important;min-height:260px!important}
body[data-view="displays"] .ro-display-settings-mock .ro-display-card-foot{display:flex!important}
@media(max-width:1450px){body[data-view="displays"] .ro-display-workspace{grid-template-columns:250px minmax(0,1fr)!important}body[data-view="displays"] .ro-display-settings-mock{grid-column:1/-1!important;position:static!important}}

/* Conflict center: improve reading contrast without increasing visual noise */
body[data-view="conflicts"] .ro-conflict-item p,
body[data-view="conflicts"] .ro-conflict-item .hint{color:#c6d0cc!important}
body[data-view="conflicts"] .ro-conflict-detail-mock p,
body[data-view="conflicts"] .ro-conflict-detail-mock .hint,
body[data-view="conflicts"] .mock-steps{color:#c8d2ce!important}
body[data-view="conflicts"] .ro-conflict-detail-mock h2,
body[data-view="conflicts"] .ro-conflict-item h3{color:#f4f6f3!important}

/* v16.2 functional audit fixes */
body[data-view="conflicts"] .ro-conflict-workspace.detail-closed{grid-template-columns:minmax(0,1fr)!important}
body[data-view="conflicts"] .ro-conflict-detail-mock[hidden]{display:none!important}

/* ========================================================================== 
   v17 – structural admin rebuild
   Mockup-aligned layouts with real interaction; no decorative fake controls.
   ========================================================================== */
[hidden]{display:none!important}
.ro17-panel-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:15px 16px;border-bottom:1px solid rgba(255,255,255,.065)}
.ro17-panel-title h2,.ro17-panel-title h3{margin:0;font-family:"Segoe UI Variable","Segoe UI",system-ui,sans-serif;font-weight:700;letter-spacing:-.015em}
.ro17-panel-title h2{font-size:20px}.ro17-panel-title h3{font-size:16px}.ro17-panel-title p{margin:3px 0 0;color:#91a29c;font-size:11px;line-height:1.35}
.ro17-panel-title .k{display:block;margin:0 0 4px;color:#91a59e;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.ro17-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ro17-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px}
.ro17-form-grid>label,.ro17-form-grid>section{min-width:0}.ro17-form-grid .span2{grid-column:1/-1}
.ro17-form-grid label{display:block;margin:0;font-size:11px;font-weight:650;color:#cbd6d1}.ro17-form-grid input,.ro17-form-grid select{margin-top:5px;width:100%}
.ro17-inline-add{display:flex;gap:8px;align-items:center}.ro17-inline-add input{min-width:170px}
.ro17-check{display:flex!important;align-items:center;gap:8px!important;margin:0!important;color:#c7d1cd!important;font-size:11px!important}.ro17-check input{width:16px!important;height:16px!important;min-height:0!important;margin:0!important}
.ro17-toggle-grid{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 14px}.ro17-toggle-grid .ro17-check{padding:8px 10px;border:1px solid rgba(255,255,255,.07);border-radius:8px;background:#0b1718}
.ro17-detail-empty{display:flex;min-height:180px;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center;color:#91a19c}.ro17-detail-empty b{color:#dce5e1;font-size:15px}
.ro17-advanced{border:1px solid rgba(255,255,255,.07);border-radius:10px;background:#091415;margin-top:12px;overflow:hidden}.ro17-advanced>summary{padding:12px 14px;cursor:pointer;color:#c0cbc7;font-size:11px;font-weight:700}.ro17-advanced-body{padding:14px;border-top:1px solid rgba(255,255,255,.06)}

/* Areas */
body[data-view="admin"] #content{max-width:none!important}
body[data-view="admin"] .ro17-area-layout{display:grid;grid-template-columns:280px minmax(0,1fr) 340px;gap:12px;align-items:start}
body[data-view="admin"] .ro17-area-list,body[data-view="admin"] .ro17-area-visual{position:sticky;top:8px}
.ro17-area-search{padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.06)}.ro17-area-search input{width:100%}
.ro17-area-nav{padding:7px;display:flex;flex-direction:column;gap:4px}.ro17-area-nav-item{appearance:none;width:100%;border:1px solid transparent;background:transparent;color:inherit;border-radius:9px;padding:10px;display:grid;grid-template-columns:38px minmax(0,1fr);gap:9px;text-align:left;cursor:pointer}.ro17-area-nav-item:hover{background:#0c1919;border-color:rgba(255,255,255,.06)}.ro17-area-nav-item.on{background:linear-gradient(90deg,rgba(224,188,72,.14),#10201a);border-color:rgba(224,188,72,.55);box-shadow:inset 3px 0 #e4c04d}.ro17-area-nav-item b{display:block;font-size:12px}.ro17-area-nav-item small{display:block;margin-top:3px;color:#8fa09a;font-size:9.5px}
.ro17-activities{border-top:1px solid rgba(255,255,255,.065);padding:14px 16px 16px}.ro17-subhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.ro17-subhead h3{margin:2px 0 0;font-size:15px}.ro17-subhead .k{font-size:9.5px;color:#8fa09a;text-transform:uppercase;letter-spacing:.12em}
.ro17-activity-table{border:1px solid rgba(255,255,255,.065);border-radius:9px;overflow:hidden}.ro17-activity-row{display:grid;grid-template-columns:24px minmax(150px,1fr) 150px 95px auto auto;gap:8px;align-items:center;padding:8px;border-top:1px solid rgba(255,255,255,.055)}.ro17-activity-row:first-child{border-top:0}.ro17-activity-row input.actname{height:36px!important;min-height:36px!important}.ro17-activity-row .drag{color:#6f827b}
.ro17-area-visual{overflow:visible!important}.ro17-area-preview{margin:14px;padding:12px;border:1px solid rgba(224,188,72,.25);border-left:3px solid var(--area-accent);border-radius:9px;background:#0c1818;display:flex;gap:10px;align-items:center}.ro17-area-preview b{display:block;font-size:13px}.ro17-area-preview small{display:block;margin-top:3px;color:#91a19c;font-size:10px;line-height:1.35}.ro17-icon-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:0 14px 14px}.ro17-icon-picker .ro-icon-choice{min-height:68px;padding:6px!important}.ro17-icon-picker .ro-icon-choice span{font-size:8.5px!important}.ro17-color-row{display:flex!important;align-items:center;justify-content:space-between;margin:0 14px 14px!important;padding:10px 12px;border:1px solid rgba(255,255,255,.06);border-radius:8px}.ro17-color-row input{width:46px!important;height:30px!important;min-height:30px!important;padding:2px!important}.ro17-area-visual .ro-tip-box{margin:0 14px 14px}

/* Festival */
body[data-view="festival"] #content{max-width:none!important}.ro17-festival-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:12px;align-items:start}.ro17-festival-main{display:flex;flex-direction:column;gap:12px}.ro17-festival-side{display:flex;flex-direction:column;gap:12px;position:sticky;top:8px}.ro17-festival-overview-grid{display:grid;grid-template-columns:150px minmax(0,1fr) minmax(260px,.8fr);gap:14px;padding:14px}.ro17-festival-logo{border:1px solid rgba(255,255,255,.06);border-radius:10px;background:#0a1516;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px;text-align:center}.ro17-festival-logo img{width:86px;height:86px;object-fit:contain}.ro17-festival-logo span{font-size:10px;color:#e5c44c;font-weight:700;margin-top:5px}.ro17-festival-overview .ro17-form-grid{padding:0}.ro17-festival-hero{min-height:160px;border-radius:10px;border:1px solid rgba(255,255,255,.07);background:linear-gradient(180deg,rgba(4,13,14,.2),rgba(4,13,14,.88)),url('/assets/hero-festival.jpg') center/cover;display:flex;align-items:flex-end;padding:14px}.ro17-festival-hero b{display:block;font-size:17px}.ro17-festival-hero span{display:block;color:#a5b4af;font-size:10px;margin-top:3px}.ro17-festival-two{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}.ro17-day-table{padding:8px 12px}.ro17-day-row{display:grid;grid-template-columns:120px minmax(170px,1fr) minmax(170px,1fr) auto auto;gap:7px;align-items:center;padding:7px 0;border-top:1px solid rgba(255,255,255,.055)}.ro17-day-row:first-child{border-top:0}.ro17-day-row input{height:36px!important;min-height:36px!important}.ro17-day-add{padding:10px 12px 14px;border-top:1px solid rgba(255,255,255,.06)}.ro17-day-add input{height:38px!important;min-height:38px!important}.ro17-lifecycle{padding:14px}.ro17-lifecycle p{font-size:10px;color:#95a59f;line-height:1.45}.ro17-stack-actions{display:flex;flex-direction:column;gap:7px}.ro17-festival-side>section>label{display:block;margin:12px 14px}.ro17-festival-side>section>button{margin:0 14px 14px;width:calc(100% - 28px)}.ro17-score-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}.ro17-score-grid label{font-size:10px}.ro17-score-grid input{width:100%;margin-top:4px}

/* Registration form */
body[data-view="form"] #content{max-width:none!important}.ro17-form-layout{display:grid;grid-template-columns:290px minmax(0,1fr) 330px;gap:12px;align-items:start}.ro17-form-sections,.ro17-form-preview{position:sticky;top:8px}.ro17-form-section{appearance:none;width:100%;border:0;border-top:1px solid rgba(255,255,255,.055);background:transparent;color:inherit;display:grid;grid-template-columns:36px minmax(0,1fr) 20px;gap:9px;align-items:center;padding:12px;text-align:left;cursor:pointer}.ro17-form-section:first-child{border-top:0}.ro17-form-section:hover{background:#0b1818}.ro17-form-section.on{background:linear-gradient(90deg,rgba(224,188,72,.13),#10201a);box-shadow:inset 3px 0 #e1bd49}.ro17-form-section b{display:block;font-size:11.5px}.ro17-form-section small{display:block;color:#8ea09a;font-size:9px;margin-top:3px;line-height:1.35}.ro17-form-section .area-ic{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:#e6c34c;border:1px solid rgba(224,188,72,.3)}.ro17-form-section .more{color:#789087;text-align:right}.ro17-form-main{display:flex;flex-direction:column;gap:12px}.ro17-field-table{padding:0 14px 14px}.ro17-field-th,.ro17-field-row{display:grid;grid-template-columns:28px minmax(180px,1fr) 150px 120px 24px;gap:8px;align-items:center}.ro17-field-th{padding:9px 8px;color:#879892;font-size:9px;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid rgba(255,255,255,.06)}.ro17-field-row{appearance:none;width:100%;background:transparent;color:inherit;border:0;border-bottom:1px solid rgba(255,255,255,.055);padding:10px 8px;text-align:left;cursor:pointer}.ro17-field-row:hover,.ro17-field-row.on{background:#0d1a1a}.ro17-field-row.on{box-shadow:inset 3px 0 #e0bc48}.ro17-field-row b{display:block;font-size:11px}.ro17-field-row small{display:block;color:#7f918a;font-size:9px;margin-top:2px}.ro17-field-row em{font-style:normal;margin-right:4px}.ro17-field-editor>label{display:block;margin:12px 16px}.ro17-field-editor textarea{width:100%;margin-top:5px}.ro17-field-editor .ro17-head-actions{padding:0 16px 16px;justify-content:flex-end}.ro17-phone{width:min(260px,calc(100% - 24px));min-height:500px}.ro17-phone h4{margin:12px 0 6px;font-size:13px}.ro17-add-field-modal{width:min(520px,calc(100vw - 24px));padding:18px}.ro17-add-field-modal>label{display:block;margin:12px 0}.ro17-add-field-modal input,.ro17-add-field-modal select,.ro17-add-field-modal textarea{width:100%;margin-top:5px}

/* Shift builder */
body[data-view="build"] #content{max-width:none!important}.ro17-build-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.ro17-build-steps>button{appearance:none;min-height:68px;border:1px solid rgba(255,255,255,.075);background:#0b1718;color:inherit;border-radius:10px;display:grid;grid-template-columns:36px 1fr;grid-template-rows:auto auto;gap:1px 10px;align-items:center;text-align:left;padding:11px 13px;cursor:pointer}.ro17-build-steps>button.on{border-color:#dfbd48;background:linear-gradient(90deg,#15221d,#0b1718);box-shadow:inset 0 -2px #dfbd48}.ro17-build-steps>button>span{grid-row:1/3;width:32px;height:32px;border-radius:50%;border:1px solid #426158;display:grid;place-items:center;font-weight:750}.ro17-build-steps>button.on>span{border-color:#dfbd48;color:#efcb56}.ro17-build-steps b{font-size:12px}.ro17-build-steps small{font-size:9.5px;color:#879892}.ro17-build-workspace{display:grid;grid-template-columns:260px minmax(0,1fr) 300px;gap:12px;align-items:start}.ro17-build[data-step="2"] .ro17-build-workspace,.ro17-build[data-step="3"] .ro17-build-workspace,.ro17-build[data-step="4"] .ro17-build-workspace{grid-template-columns:minmax(0,1fr) 300px}.ro17-build-days,.ro17-build-summary{position:sticky;top:8px}.ro17-build-center{display:flex;flex-direction:column;gap:12px}.ro17-build-center>[data-step-show]{min-width:0}.ro17-build .ro-pattern-slots{padding:12px}.ro17-build .ro-pattern-slot{display:grid!important;grid-template-columns:220px minmax(180px,1fr) minmax(220px,.9fr) auto!important;gap:10px!important;align-items:end!important;padding:10px!important;border:1px solid rgba(255,255,255,.06)!important;border-radius:9px!important;background:#0b1718!important;margin:0 0 8px!important}.ro17-build[data-step="1"] .ro-pattern-slot{grid-template-columns:220px minmax(220px,1fr) auto!important}.ro17-build[data-step="1"] .ro-pattern-needs{display:none!important}.ro17-build .ro-pattern-time{display:grid!important;grid-template-columns:1fr auto 1fr!important;gap:7px!important;align-items:end!important}.ro17-build .ro-pattern-time label,.ro17-build .ro-pattern-desc{margin:0!important}.ro17-build .ro-pattern-time input,.ro17-build .ro-pattern-desc input{width:100%!important;min-height:38px!important;height:38px!important;margin-top:5px!important}.ro17-build .ro-pattern-needs>.k{display:block;margin-bottom:5px}.ro17-build .ro-pattern-needs>div{display:flex!important;gap:6px!important;flex-wrap:wrap!important}.ro17-build .ro-need-field{display:grid!important;grid-template-columns:auto 56px!important;gap:6px!important;align-items:center!important;margin:0!important;padding:5px 7px!important;border:1px solid rgba(255,255,255,.055)!important;border-radius:7px!important}.ro17-build .ro-need-field input{width:56px!important;min-height:30px!important;height:30px!important;margin:0!important}.ro17-area-pick-grid{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr));gap:9px;padding:14px}.ro17-area-pick{display:grid;grid-template-columns:20px 36px 1fr;gap:9px;align-items:center;padding:12px;border:1px solid rgba(255,255,255,.07);border-radius:9px;background:#0b1718;cursor:pointer}.ro17-area-pick:has(input:checked){border-color:rgba(224,188,72,.5);background:#172019}.ro17-area-pick input{width:16px;height:16px;min-height:0}.ro17-area-pick b{display:block;font-size:11px}.ro17-area-pick small{display:block;color:#879892;font-size:9px;margin-top:2px}.ro17-summary-stat{display:grid;grid-template-columns:42px 1fr;align-items:center;padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.055)}.ro17-summary-stat b{font-size:20px;color:#f0ca53}.ro17-summary-stat span{font-size:10px;color:#9babA5}.ro17-summary-list{padding:12px 14px}.ro17-summary-list span{display:block;color:#7f918b;font-size:9px;margin-top:8px}.ro17-summary-list b{display:block;font-size:10.5px;margin-top:2px;line-height:1.4}.ro17-step-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:12px;border-top:1px solid rgba(255,255,255,.06)}.ro17-review-grid{display:grid;grid-template-columns:1fr;gap:0;padding:0 16px 16px}.ro17-review-grid>div{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.055)}.ro17-review-grid span{display:block;color:#879892;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.ro17-review-grid b{display:block;margin-top:5px;font-size:12px;line-height:1.45}.ro17-build-reviewbar{position:sticky;bottom:0;z-index:20;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin-top:12px;padding:10px 12px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#0a1516f2}.ro17-build-reviewbar>div{text-align:center}.ro17-build-reviewbar b{display:block;font-size:11px}.ro17-build-reviewbar span{display:block;color:#8d9d97;font-size:9.5px;margin-top:2px}

/* Tickets & groups */
body[data-view="rules"] #content{max-width:none!important}.ro17-rule-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.ro17-rule-stats>div{min-height:78px;border:1px solid rgba(255,255,255,.07);border-radius:10px;background:#0b1718;display:grid;grid-template-columns:46px 1fr;grid-template-rows:auto auto;column-gap:10px;align-content:center;padding:12px}.ro17-rule-stats .ico{grid-row:1/3;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#10261e;color:#e6c44e;font-size:20px}.ro17-rule-stats b{font-size:20px}.ro17-rule-stats small{font-size:10px;color:#8e9f98}.ro17-rules-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:12px;align-items:start}.ro17-rules-main{display:flex;flex-direction:column;gap:12px}.ro17-rule-editor{position:sticky;top:8px}.ro17-table-tools{padding:9px 12px;border-bottom:1px solid rgba(255,255,255,.055)}.ro17-table-tools input{width:230px;max-width:100%;height:36px!important;min-height:36px!important}.ro17-rule-table{padding:0 12px 12px}.ro17-rule-th,.ro17-rule-tr{display:grid;grid-template-columns:minmax(150px,1.1fr) minmax(190px,1.5fr) 100px 90px 90px 24px;gap:8px;align-items:center}.ro17-rule-th{padding:8px;color:#82938d;font-size:9px;text-transform:uppercase;letter-spacing:.07em;border-bottom:1px solid rgba(255,255,255,.06)}.ro17-rule-tr{appearance:none;width:100%;background:transparent;color:inherit;border:0;border-bottom:1px solid rgba(255,255,255,.05);padding:9px 8px;text-align:left;cursor:pointer}.ro17-rule-tr:hover{background:#0c1919}.ro17-rule-tr.on{background:linear-gradient(90deg,rgba(224,188,72,.12),#10201a);box-shadow:inset 0 0 0 1px #d9b746}.ro17-rule-tr span{font-size:10px}.ro17-rule-tr span:nth-child(2){color:#98a8a2}.ro17-rule-tr b{font-size:11px}.ro17-switch{width:30px;height:16px;border-radius:99px;background:#273a3a;position:relative}.ro17-switch:after{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:#d7dfdc;top:2px;left:2px}.ro17-switch.on{background:#2cb85d}.ro17-switch.on:after{left:16px;background:white}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#36c765;margin-right:5px}.ro17-rule-editor>label{display:block;margin:14px 16px}.ro17-rule-editor input,.ro17-rule-editor select,.ro17-rule-editor textarea{width:100%;margin-top:5px}.ro17-hours-input{display:grid;grid-template-columns:1fr 90px}.ro17-hours-input span{display:grid;place-items:center;margin-top:5px;border:1px solid var(--line);border-left:0;border-radius:0 8px 8px 0;background:#0b1718;font-size:10px}.ro17-rule-impact{margin:18px 16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.06)}.ro17-rule-impact h3{margin:0 0 6px;font-size:15px}.ro17-rule-impact p{font-size:10.5px;color:#8fa09a;line-height:1.45}.ro17-rule-impact .ro-formula{padding:8px;margin:10px 0 0;flex-wrap:wrap}.ro17-rule-editor .ro-tip-box{margin:0 16px 16px}.ro17-editor-footer{display:flex;justify-content:space-between;gap:8px;padding:14px 16px;border-top:1px solid rgba(255,255,255,.06)}.ro17-rule-choice{width:min(430px,calc(100vw - 24px));padding:18px}.ro17-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.ro17-choice-grid .btn{min-height:64px}

/* Conflicts */
body[data-view="conflicts"] #content{max-width:none!important}.ro17-conflict-workspace{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:12px;align-items:start}.ro17-conflict-detail{position:sticky;top:8px;padding:16px}.ro17-conflict-item{display:grid;grid-template-columns:48px minmax(0,1fr) 165px;gap:12px;align-items:center;border:1px solid rgba(255,255,255,.07);border-left:3px solid #c73f3f;border-radius:10px;background:#0b1718;padding:10px 12px;margin-bottom:8px;cursor:pointer}.ro17-conflict-item.notice{border-left-color:#d5ae3f}.ro17-conflict-item:hover,.ro17-conflict-item.selected{background:#10201d;border-color:rgba(224,188,72,.45);border-left-color:#e5c14c}.ro17-conflict-item .ro-conflict-copy p{color:#c8d2ce!important;font-size:11px!important;line-height:1.5!important;margin:5px 0 0!important}.ro17-conflict-item .ro-conflict-title h3{font-size:12px!important}.ro17-conflict-detail-head h2{margin:10px 0 0;font-size:20px}.ro17-conflict-detail-text{font-size:12px;color:#d6dfdc;line-height:1.55}.ro17-detail-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.ro17-detail-facts>div{padding:9px;border:1px solid rgba(255,255,255,.06);border-radius:8px}.ro17-detail-facts span{display:block;color:#83958e;font-size:9px}.ro17-detail-facts b{display:block;margin-top:3px;font-size:10.5px}.ro17-detail-actions{display:flex;flex-direction:column;gap:7px;margin-top:14px}.ro17-detail-actions .btn{width:100%}

@media(max-width:1450px){body[data-view="admin"] .ro17-area-layout{grid-template-columns:250px minmax(0,1fr) 300px}.ro17-icon-picker{grid-template-columns:repeat(2,1fr)}.ro17-form-layout{grid-template-columns:260px minmax(0,1fr)}.ro17-form-preview{grid-column:1/-1;position:static}.ro17-festival-layout{grid-template-columns:1fr}.ro17-festival-side{position:static;display:grid;grid-template-columns:repeat(3,1fr)}.ro17-rules-layout{grid-template-columns:minmax(0,1fr) 340px}}
@media(max-width:1180px){body[data-view="admin"] .ro17-area-layout{grid-template-columns:240px minmax(0,1fr)}body[data-view="admin"] .ro17-area-visual{grid-column:1/-1;position:static}.ro17-icon-picker{grid-template-columns:repeat(5,1fr)}.ro17-festival-overview-grid{grid-template-columns:130px 1fr}.ro17-festival-hero{grid-column:1/-1;min-height:120px}.ro17-festival-two{grid-template-columns:1fr}.ro17-rules-layout{grid-template-columns:1fr}.ro17-rule-editor{position:static}.ro17-conflict-workspace{grid-template-columns:1fr}.ro17-conflict-detail{position:static}.ro17-build-workspace,.ro17-build[data-step="2"] .ro17-build-workspace,.ro17-build[data-step="3"] .ro17-build-workspace,.ro17-build[data-step="4"] .ro17-build-workspace{grid-template-columns:1fr}.ro17-build-summary{position:static}.ro17-build-days{position:static}.ro17-build .ro-pattern-slot{grid-template-columns:1fr!important}.ro17-build[data-step="1"] .ro-pattern-slot{grid-template-columns:1fr!important}.ro17-area-pick-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.ro17-form-grid{grid-template-columns:1fr}.ro17-form-grid .span2{grid-column:auto}.ro17-area-layout,.ro17-form-layout{grid-template-columns:1fr!important}.ro17-area-list,.ro17-area-visual,.ro17-form-sections{position:static!important}.ro17-icon-picker{grid-template-columns:repeat(3,1fr)}.ro17-festival-side{grid-template-columns:1fr}.ro17-festival-overview-grid{grid-template-columns:1fr}.ro17-festival-logo{display:none}.ro17-day-row{grid-template-columns:1fr 1fr}.ro17-day-row .dname{grid-column:1/-1}.ro17-day-add{display:grid;grid-template-columns:1fr}.ro17-build-steps{grid-template-columns:1fr 1fr}.ro17-build-reviewbar{position:static;grid-template-columns:1fr}.ro17-rule-stats{grid-template-columns:1fr 1fr}.ro17-rule-th{display:none}.ro17-rule-tr{grid-template-columns:1fr auto}.ro17-rule-tr span:nth-child(2),.ro17-rule-tr span:nth-child(3),.ro17-rule-tr span:nth-child(4),.ro17-rule-tr span:nth-child(5){display:none}.ro17-conflict-item{grid-template-columns:42px 1fr}.ro17-conflict-actions{grid-column:2;display:flex;flex-wrap:wrap}.ro17-field-th{display:none}.ro17-field-row{grid-template-columns:24px 1fr auto}.ro17-field-row>span:nth-child(4),.ro17-field-row>span:nth-child(5){display:none}}


/* === v17.1 compactness, contrast & interaction polish === */
:root{--ro-muted:#b8c4c0;--ro-dim:#9aa9a4}
.hint,.ro-muted,.topbar p,.ro17-panel-title p,.ro17-form-section small,.ro17-field-row small,.ro17-rule-tr span:nth-child(2),.ro17-build-steps small,.ro17-summary-list span,.ro17-review-grid span,.ro17-detail-facts span,.festival-stat-list small{color:#b2c0bb!important}
input::placeholder,textarea::placeholder{color:#91a19b!important}
.nav-group-btn,.sys-ok{color:#95a49f!important}

/* conflicts: overview rows are selection only; all actions live in detail panel */
.ro17-conflict-item{grid-template-columns:48px minmax(0,1fr) 26px!important;padding-right:10px!important}
.ro17-conflict-chevron{display:grid;place-items:center;color:#9eaea8;font-size:24px;line-height:1}
.ro17-conflict-item.selected .ro17-conflict-chevron{color:#edc951}
.ro17-conflict-detail{z-index:1}
@media(max-width:1180px){.ro17-conflict-workspace{grid-template-columns:1fr!important}.ro17-conflict-detail{position:static!important;order:-1}.ro17-conflict-item{grid-template-columns:42px minmax(0,1fr) 24px!important}}

/* form: visible ordering context + comfortable long-label editing */
.ro17-field-order-help{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.06);background:#0a1516}
.ro17-field-order-help>span{font-size:11px;font-weight:750;color:#e4e9e6}.ro17-field-order-help small{font-size:10px;color:#aebcb7}
.ro17-field-th,.ro17-field-row{grid-template-columns:52px minmax(210px,1.5fr) 150px 115px 92px!important}
.ro17-field-row{cursor:pointer}.ro17-order-no{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#122021;border:1px solid rgba(255,255,255,.08);font-weight:800;color:#d8e1dd}
.ro17-order-controls{display:flex;gap:5px;justify-content:flex-end}.ro17-order-controls .btn{width:34px!important;min-width:34px!important;height:32px!important;min-height:32px!important;padding:0!important}
.ro17-label-popup-input{cursor:text!important;background:#0b1718!important}.ro17-label-popup-input+small{margin-top:5px!important;color:#aab8b3!important}
.ro17-long-label-modal{width:min(720px,calc(100vw - 28px));padding:18px}.ro17-long-label-modal textarea{width:100%;min-height:210px;margin-top:14px;font-size:16px;line-height:1.5;resize:vertical}.ro17-long-label-footer{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:12px}
@media(max-width:820px){.ro17-field-th{display:none}.ro17-field-row{grid-template-columns:42px minmax(0,1fr) 78px!important}.ro17-field-row>span:nth-child(3),.ro17-field-row>span:nth-child(4){display:none!important}.ro17-order-controls{display:flex!important}.ro17-field-order-help{align-items:flex-start;flex-direction:column;gap:3px}.ro17-long-label-footer{align-items:stretch;flex-direction:column}}

/* festival: days fully visible without horizontal scrolling */
.ro17-day-table{overflow:visible!important;min-width:0!important}
.ro17-day-row{grid-template-columns:minmax(82px,.72fr) minmax(138px,1.2fr) minmax(138px,1.2fr) 112px!important;gap:6px!important;min-width:0!important}
.ro17-day-row>*{min-width:0!important}.ro17-day-actions{display:grid;grid-template-columns:minmax(72px,1fr) 34px;gap:5px}.ro17-day-actions .btn{min-width:0!important;padding-left:7px!important;padding-right:7px!important;white-space:nowrap}
.ro17-day-add{display:grid!important;grid-template-columns:minmax(82px,.72fr) minmax(138px,1.2fr) minmax(138px,1.2fr) 124px!important;gap:6px!important;min-width:0!important}.ro17-day-add>*{min-width:0!important}.ro17-day-add .btn{white-space:nowrap;padding-left:8px!important;padding-right:8px!important}
.festival-stat-list>div{background:#0d1b1b!important;border-color:rgba(255,255,255,.09)!important}.festival-stat-list .ico{background:#143226!important;color:#f2ce59!important}.festival-stat-list b{font-size:22px!important;color:#fff!important}.festival-stat-list small{font-size:11px!important;font-weight:650!important;line-height:1.25}
@media(max-width:820px){.ro17-day-row{grid-template-columns:1fr 1fr!important}.ro17-day-row .dname{grid-column:1/-1}.ro17-day-actions{grid-column:1/-1;grid-template-columns:1fr 42px}.ro17-day-add{grid-template-columns:1fr 1fr!important}.ro17-day-add #dname,.ro17-day-add #addDay{grid-column:1/-1}}

/* areas: keep + Hinzufügen on a single line */
.ro17-activities .ro17-inline-add{display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;flex-wrap:nowrap!important}.ro17-activities .ro17-inline-add .newact{min-width:160px}.ro17-activities [data-action="add-act"]{display:inline-flex!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important;min-width:112px!important;flex:0 0 auto!important}

/* === v17.2 Anmeldebogen: global order, durable labels, no partial preview === */
body[data-view="form"] #content{max-width:none!important}
.ro172-form-layout{grid-template-columns:300px minmax(0,1fr)!important;gap:12px!important;align-items:start}
.ro172-form-layout .ro17-form-sections{position:sticky;top:8px}
.ro172-section-kind{display:inline-flex;margin-top:6px;padding:3px 7px;border-radius:999px;border:1px solid rgba(226,193,77,.28);background:rgba(226,193,77,.08);color:#d9c775;font-size:8.5px;font-style:normal;font-weight:750;letter-spacing:.02em}
.ro172-section-kind.custom{border-color:rgba(75,196,124,.28);background:rgba(75,196,124,.08);color:#89d7a7}
.ro172-field-table .ro17-field-th,.ro172-field-table .ro17-field-row{grid-template-columns:52px minmax(230px,1.7fr) minmax(130px,.8fr) 142px 105px 82px!important;gap:8px!important}
.ro172-section-chip{display:inline-flex;align-items:center;max-width:100%;padding:4px 7px;border-radius:999px;border:1px solid rgba(226,193,77,.2);background:rgba(226,193,77,.07);color:#d9c775;font-size:9px;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ro172-section-chip.custom{border-color:rgba(75,196,124,.2);background:rgba(75,196,124,.07);color:#8fd5aa}
.ro17-field-editor .ro17-panel-title p{margin-top:4px!important}
.ro17-field-editor #editFpos{font-size:11px!important}
.ro17-label-popup-input{cursor:pointer!important}
.ro17-long-label-modal textarea{min-height:230px!important}
@media(max-width:1180px){.ro172-form-layout{grid-template-columns:260px minmax(0,1fr)!important}.ro172-field-table .ro17-field-th,.ro172-field-table .ro17-field-row{grid-template-columns:46px minmax(190px,1.5fr) 115px 120px 92px 74px!important}}
@media(max-width:820px){.ro172-form-layout{grid-template-columns:1fr!important}.ro172-form-layout .ro17-form-sections{position:static!important}.ro172-field-table .ro17-field-th{display:none!important}.ro172-field-table .ro17-field-row{grid-template-columns:42px minmax(0,1fr) 78px!important}.ro172-field-table .ro17-field-row>span:nth-child(3),.ro172-field-table .ro17-field-row>span:nth-child(4),.ro172-field-table .ro17-field-row>span:nth-child(5){display:none!important}.ro172-field-table .ro17-field-row>span:nth-child(6){display:flex!important}.ro17-form-section{padding:10px!important}}

/* =============================================================
   v17.3 · Anmeldebogen: Inline-Editor / Autosave
   ============================================================= */
body[data-view="form"] .ro173-form-layout{
  grid-template-columns:286px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:start!important;
}
body[data-view="form"] .ro173-form-main{min-width:0!important}
body[data-view="form"] .ro173-list-panel{overflow:hidden!important}
body[data-view="form"] .ro173-list-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
body[data-view="form"] .ro173-autosave{display:inline-flex;align-items:center;gap:6px;color:#b9c8c2;font-size:10px;font-weight:700;white-space:nowrap}
body[data-view="form"] .ro173-autosave i{width:7px;height:7px;border-radius:50%;background:#52c879;box-shadow:0 0 0 3px rgba(82,200,121,.08)}
body[data-view="form"] .ro173-field-table{border-top:1px solid rgba(255,255,255,.06)}
body[data-view="form"] .ro173-field-head,
body[data-view="form"] .ro173-field-row{
  display:grid;
  grid-template-columns:74px minmax(245px,1.55fr) minmax(126px,.7fr) minmax(116px,.65fr) minmax(330px,1.65fr) 42px;
  gap:10px;
  align-items:center;
}
body[data-view="form"] .ro173-field-head{
  padding:9px 14px;
  background:#0a1516;
  color:#aabbb5;
  font-size:9px;
  font-weight:800;
  letter-spacing:.075em;
  text-transform:uppercase;
  border-bottom:1px solid rgba(255,255,255,.065);
}
body[data-view="form"] .ro173-field-row{
  position:relative;
  padding:9px 14px;
  min-height:66px;
  border-bottom:1px solid rgba(255,255,255,.065);
  background:#0b1718;
  transition:background .14s ease,box-shadow .14s ease;
}
body[data-view="form"] .ro173-field-row:nth-child(odd){background:#0a1617}
body[data-view="form"] .ro173-field-row:hover{background:#0d1c1c}
body[data-view="form"] .ro173-field-row.saving{box-shadow:inset 3px 0 #d9b94a}
body[data-view="form"] .ro173-field-row.saved{box-shadow:inset 3px 0 #4fc878}
body[data-view="form"] .ro173-pos-cell{display:flex;align-items:center;gap:5px;min-width:0}
body[data-view="form"] .ro173-pos-cell select{width:45px!important;min-width:45px!important;height:34px!important;padding:4px 6px!important;font-size:11px!important;font-weight:800!important;text-align:center}
body[data-view="form"] .ro173-pos-cell small{font-size:9px!important;color:#afbeb8!important;white-space:nowrap}
body[data-view="form"] .ro173-label-button{
  appearance:none;border:0;background:transparent;color:#eef4f1;text-align:left;padding:4px 6px;border-radius:7px;min-width:0;cursor:pointer
}
body[data-view="form"] .ro173-label-button:hover{background:rgba(226,193,77,.075);box-shadow:inset 0 0 0 1px rgba(226,193,77,.16)}
body[data-view="form"] .ro173-label-button b{display:block;font-size:12px;line-height:1.22;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body[data-view="form"] .ro173-label-button small{display:block!important;margin-top:3px!important;color:#b4c3bd!important;font-size:9.5px!important;line-height:1.28!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body[data-view="form"] .ro173-type-cell select{width:100%!important;height:34px!important;padding:4px 26px 4px 8px!important;font-size:10.5px!important}
body[data-view="form"] .ro173-locked-value{display:flex;align-items:center;gap:6px;min-height:34px;padding:5px 8px;border:1px solid rgba(255,255,255,.075);border-radius:7px;color:#dce6e2;font-size:10.5px;font-weight:700;background:#0a1516}
body[data-view="form"] .ro173-locked-value small{font-size:8px;color:#9badA6!important;text-transform:uppercase;letter-spacing:.06em}
body[data-view="form"] .ro173-field-flags{display:flex;flex-wrap:wrap;gap:5px;align-items:center;min-width:0}
body[data-view="form"] .ro173-flag{display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:5px 7px;border:1px solid rgba(255,255,255,.075);border-radius:7px;background:#0a1516;color:#cfdbd7;font-size:9.5px;font-weight:700;cursor:pointer;white-space:nowrap}
body[data-view="form"] .ro173-flag:hover{border-color:rgba(226,193,77,.24);background:#0d1a19}
body[data-view="form"] .ro173-flag input{width:14px!important;height:14px!important;margin:0!important;accent-color:#ddbc4b}
body[data-view="form"] .ro173-flag.locked{opacity:.68;cursor:not-allowed}
body[data-view="form"] .ro173-values-btn{appearance:none;min-height:30px;padding:5px 8px;border:1px solid rgba(226,193,77,.25);border-radius:7px;background:rgba(226,193,77,.075);color:#e5cb6b;font-size:9.5px;font-weight:800;cursor:pointer;white-space:nowrap}
body[data-view="form"] .ro173-values-btn:hover{background:rgba(226,193,77,.13);border-color:#c9a939}
body[data-view="form"] .ro173-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;position:relative}
body[data-view="form"] .ro173-row-actions .btn.icon{width:30px;height:30px;padding:0!important;font-size:18px;line-height:1}
body[data-view="form"] .ro173-system-mark{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#102019;color:#60c77f;font-size:8px}
body[data-view="form"] .ro173-save-dot{position:absolute;right:-7px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:transparent}
body[data-view="form"] .ro173-field-row.saving .ro173-save-dot{background:#e0bd49;animation:ro173pulse .8s infinite alternate}
body[data-view="form"] .ro173-field-row.saved .ro173-save-dot{background:#53c97a}
@keyframes ro173pulse{to{opacity:.35}}

.ro173-label-modal{width:min(760px,calc(100vw - 28px));padding:18px!important}
.ro173-label-fields{display:grid;gap:13px;margin-top:12px}
.ro173-label-fields label{display:block;color:#dce6e2;font-size:11px;font-weight:800}
.ro173-label-fields label small{display:block;margin:4px 0 6px;color:#afbeb8!important;font-size:9.5px;font-weight:500;line-height:1.35}
.ro173-label-fields input,.ro173-label-fields textarea{width:100%!important;font-size:14px!important;line-height:1.45!important}
.ro173-label-fields textarea{resize:vertical;min-height:110px}
.ro173-auto-status{margin-top:12px;padding:9px 11px;border:1px solid rgba(255,255,255,.07);border-radius:8px;background:#0a1516;color:#b8c7c1;display:flex;align-items:center;gap:8px;font-size:10px;font-weight:700}
.ro173-auto-status i{width:8px;height:8px;border-radius:50%;background:#6f827a}
.ro173-auto-status.saving i{background:#e0bd49;animation:ro173pulse .7s infinite alternate}
.ro173-auto-status.saved{color:#9ed9b2;border-color:rgba(82,200,121,.18)}
.ro173-auto-status.saved i{background:#52c879}
.ro173-auto-status.bad{color:#f2a19a;border-color:rgba(224,78,70,.24)}
.ro173-auto-status.bad i{background:#e1534c}

@media(max-width:1380px){
  body[data-view="form"] .ro173-form-layout{grid-template-columns:250px minmax(0,1fr)!important}
  body[data-view="form"] .ro173-field-head,
  body[data-view="form"] .ro173-field-row{grid-template-columns:66px minmax(210px,1.35fr) 120px 108px minmax(270px,1.4fr) 38px;gap:7px}
  body[data-view="form"] .ro173-flag{padding:5px 6px;font-size:9px}
}
@media(max-width:1120px){
  body[data-view="form"] .ro173-form-layout{grid-template-columns:220px minmax(0,1fr)!important}
  body[data-view="form"] .ro173-field-head{display:none}
  body[data-view="form"] .ro173-field-row{grid-template-columns:62px minmax(220px,1fr) 120px 110px 38px;grid-template-areas:"pos label section type actions" "flags flags flags flags flags";gap:7px 9px;padding:10px 12px}
  body[data-view="form"] .ro173-pos-cell{grid-area:pos}
  body[data-view="form"] .ro173-label-button{grid-area:label}
  body[data-view="form"] .ro173-field-row>div:nth-child(3){grid-area:section}
  body[data-view="form"] .ro173-type-cell{grid-area:type}
  body[data-view="form"] .ro173-field-flags{grid-area:flags;padding-top:3px}
  body[data-view="form"] .ro173-row-actions{grid-area:actions}
}
@media(max-width:820px){
  body[data-view="form"] .ro173-form-layout{grid-template-columns:1fr!important}
  body[data-view="form"] .ro17-form-sections{position:static!important}
  body[data-view="form"] .ro173-field-row{grid-template-columns:58px minmax(0,1fr) 34px;grid-template-areas:"pos label actions" "section section section" "type type type" "flags flags flags";gap:7px;padding:10px}
  body[data-view="form"] .ro173-label-button b{font-size:11.5px}
  body[data-view="form"] .ro173-field-row>div:nth-child(3){display:block!important}
  body[data-view="form"] .ro173-type-cell{display:block!important}
  body[data-view="form"] .ro173-field-flags{display:flex!important}
  body[data-view="form"] .ro173-list-actions{width:100%;justify-content:space-between}
  .ro173-label-modal{width:calc(100vw - 18px);padding:14px!important}
}


/* =============================================================
   v17.4 · Anmeldebogen: echte Einzeilen-Tabelle + Lesbarkeit
   ============================================================= */
body[data-view="form"] .ro173-list-panel{overflow:hidden!important}
body[data-view="form"] .ro173-field-table{
  overflow-x:auto!important;
  overflow-y:visible!important;
  scrollbar-width:thin;
  scrollbar-color:#6f725e #0a1516;
}
body[data-view="form"] .ro173-field-head,
body[data-view="form"] .ro173-field-row{
  grid-template-columns:86px minmax(220px,1.25fr) 145px 138px minmax(420px,1.9fr) 44px!important;
  grid-template-areas:none!important;
  gap:10px!important;
  min-width:1120px!important;
  align-items:center!important;
}
body[data-view="form"] .ro173-field-head{
  display:grid!important;
  padding:11px 14px!important;
  color:#c8d4d0!important;
  font-size:11px!important;
  line-height:1.2!important;
  letter-spacing:.055em!important;
}
body[data-view="form"] .ro173-field-row{
  padding:9px 14px!important;
  min-height:58px!important;
}
body[data-view="form"] .ro173-pos-cell,
body[data-view="form"] .ro173-label-button,
body[data-view="form"] .ro173-field-row>div:nth-child(3),
body[data-view="form"] .ro173-type-cell,
body[data-view="form"] .ro173-field-flags,
body[data-view="form"] .ro173-row-actions{
  grid-area:auto!important;
}
body[data-view="form"] .ro173-pos-cell select{
  width:48px!important;min-width:48px!important;height:36px!important;
  font-size:13px!important;
}
body[data-view="form"] .ro173-pos-cell small{
  font-size:11.5px!important;color:#c6d1cd!important;
}
body[data-view="form"] .ro173-label-button{
  display:block!important;padding:6px 8px!important;
}
body[data-view="form"] .ro173-label-button b{
  font-size:14px!important;line-height:1.25!important;font-weight:750!important;
}
body[data-view="form"] .ro173-label-button small{display:none!important}
body[data-view="form"] .ro172-section-chip{
  font-size:11.5px!important;line-height:1.2!important;padding:5px 9px!important;
  color:#ead77c!important;
}
body[data-view="form"] .ro173-type-cell select{
  height:36px!important;font-size:12.5px!important;color:#eef3f1!important;
}
body[data-view="form"] .ro173-locked-value{
  min-height:36px!important;font-size:12.5px!important;color:#edf3f0!important;
}
body[data-view="form"] .ro173-locked-value small{
  font-size:10px!important;color:#becbc6!important;
}
body[data-view="form"] .ro173-field-flags{
  display:flex!important;flex-wrap:nowrap!important;gap:6px!important;
  align-items:center!important;padding-top:0!important;min-width:0!important;
}
body[data-view="form"] .ro173-flag,
body[data-view="form"] .ro173-values-btn{
  min-height:36px!important;font-size:12px!important;padding:7px 9px!important;
  color:#e3ebe7!important;
}
body[data-view="form"] .ro173-flag input{
  width:16px!important;height:16px!important;
}
body[data-view="form"] .ro173-values-btn{color:#efd36c!important}
body[data-view="form"] .ro173-autosave{font-size:12px!important;color:#c8d5d0!important}
body[data-view="form"] .ro173-system-mark{width:28px;height:28px;font-size:10px!important}
body[data-view="form"] .ro17-form-section b{font-size:14px!important;line-height:1.25!important}
body[data-view="form"] .ro17-form-section small{
  font-size:11.5px!important;line-height:1.4!important;color:#bdcbc6!important;
}
body[data-view="form"] .ro17-panel-title h3{font-size:18px!important}
body[data-view="form"] .ro17-panel-title p{font-size:12.5px!important;color:#c0cdc8!important;line-height:1.45!important}
body[data-view="form"] .ro-mock-pill{font-size:11px!important}
body[data-view="form"] .ro173-label-fields label{font-size:13px!important;color:#edf3f0!important}
body[data-view="form"] .ro173-label-fields label small{font-size:11.5px!important;color:#c1cec9!important}
body[data-view="form"] .ro173-auto-status{font-size:12px!important;color:#c8d5d0!important}

/* kleine Hilfstexte grundsätzlich nicht in zu dunklem Grau verschwinden lassen */
.hint,.ro-muted,.ro17-panel-title p,.ro17-form-section small,.festival-stat-list small{
  color:#bccbc5!important;
}

/* =============================================================
   v17.5 · Anmeldebogen: zwei Zeilen pro Feld, keine Horizontalrolle
   ============================================================= */
body[data-view="form"] .ro173-list-panel{overflow:visible!important}
body[data-view="form"] .ro173-field-table{
  overflow:visible!important;
  width:100%!important;
  min-width:0!important;
}
body[data-view="form"] .ro173-field-head,
body[data-view="form"] .ro173-field-row{
  min-width:0!important;
  width:100%!important;
  display:grid!important;
  grid-template-columns:150px minmax(210px,1.45fr) 145px 140px 44px!important;
  column-gap:10px!important;
  row-gap:8px!important;
}
body[data-view="form"] .ro173-field-head{
  grid-template-areas:
    "pos label section type action"
    ". options options options ."!important;
  padding:10px 14px 8px!important;
  align-items:end!important;
}
body[data-view="form"] .ro173-field-head>span:nth-child(1){grid-area:pos}
body[data-view="form"] .ro173-field-head>span:nth-child(2){grid-area:label}
body[data-view="form"] .ro173-field-head>span:nth-child(3){grid-area:section}
body[data-view="form"] .ro173-field-head>span:nth-child(4){grid-area:type}
body[data-view="form"] .ro173-field-head>span:nth-child(5){grid-area:options;padding-top:2px}
body[data-view="form"] .ro173-field-head>span:nth-child(6){grid-area:action}
body[data-view="form"] .ro173-field-row{
  grid-template-areas:
    "pos label section type actions"
    ". flags flags flags ."!important;
  padding:11px 14px!important;
  min-height:96px!important;
  align-items:center!important;
}
body[data-view="form"] .ro173-pos-cell{grid-area:pos!important;display:grid!important;grid-template-columns:46px auto 66px;align-items:center;gap:6px!important;min-width:0}
body[data-view="form"] .ro173-label-button{grid-area:label!important;min-width:0}
body[data-view="form"] .ro173-field-row>div:nth-child(3){grid-area:section!important;min-width:0}
body[data-view="form"] .ro173-type-cell{grid-area:type!important;min-width:0}
body[data-view="form"] .ro173-field-flags{grid-area:flags!important;display:flex!important;flex-wrap:nowrap!important;gap:7px!important;align-items:center!important;padding:0!important;min-width:0!important}
body[data-view="form"] .ro173-row-actions{grid-area:actions!important}
body[data-view="form"] .ro173-pos-cell select{width:46px!important;min-width:46px!important;height:36px!important;padding-left:8px!important;padding-right:18px!important}
body[data-view="form"] .ro173-pos-cell small{white-space:nowrap!important;font-size:11.5px!important;color:#c8d5d0!important}
body[data-view="form"] .ro175-move-buttons{display:grid;grid-template-columns:30px 30px;gap:4px;justify-content:end}
body[data-view="form"] .ro175-move-buttons .btn.icon{width:30px!important;height:30px!important;min-height:30px!important;padding:0!important;font-size:15px!important;line-height:1!important}
body[data-view="form"] .ro175-move-buttons .btn.icon:disabled{opacity:.28!important;cursor:not-allowed!important}
body[data-view="form"] .ro173-label-button b{font-size:14px!important;line-height:1.3!important}
body[data-view="form"] .ro173-flag,
body[data-view="form"] .ro173-values-btn{min-height:34px!important;font-size:12px!important;padding:6px 9px!important}

@media(max-width:1180px){
  body[data-view="form"] .ro173-field-head,
  body[data-view="form"] .ro173-field-row{
    grid-template-columns:142px minmax(190px,1.3fr) 126px 128px 38px!important;
    column-gap:8px!important;
  }
  body[data-view="form"] .ro173-field-flags{gap:5px!important}
  body[data-view="form"] .ro173-flag,
  body[data-view="form"] .ro173-values-btn{font-size:11.5px!important;padding:6px 7px!important}
}
@media(max-width:900px){
  body[data-view="form"] .ro173-field-head{display:none!important}
  body[data-view="form"] .ro173-field-row{
    grid-template-columns:140px minmax(0,1fr) 38px!important;
    grid-template-areas:
      "pos label actions"
      "section type type"
      "flags flags flags"!important;
    row-gap:8px!important;
    min-height:0!important;
  }
  body[data-view="form"] .ro173-field-flags{flex-wrap:wrap!important}
}
@media(max-width:620px){
  body[data-view="form"] .ro173-field-row{
    grid-template-columns:minmax(0,1fr) 38px!important;
    grid-template-areas:
      "label actions"
      "pos pos"
      "section section"
      "type type"
      "flags flags"!important;
  }
  body[data-view="form"] .ro173-pos-cell{grid-template-columns:46px auto 66px!important;justify-content:start}
}

/* =============================================================
   v17.6 · Festival: klare Struktur, keine Überlagerungen
   ============================================================= */
body[data-view="festival"] #content{max-width:none!important;overflow:visible!important}
body[data-view="festival"] .ro176-festival-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 320px!important;
  gap:14px!important;
  align-items:start!important;
}
body[data-view="festival"] .ro176-festival-main,
body[data-view="festival"] .ro176-festival-col,
body[data-view="festival"] .ro176-festival-side{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
}
body[data-view="festival"] .ro176-festival-side{position:sticky!important;top:10px!important}
body[data-view="festival"] .ro176-festival-columns{
  display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr)!important;
  gap:14px!important;
  align-items:start!important;
}
body[data-view="festival"] .ro176-festival-layout .ro-mock-panel{
  margin:0!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  overflow:hidden!important;
  border:1px solid rgba(166,190,181,.16)!important;
  border-radius:12px!important;
  background:#0a1718!important;
  box-shadow:none!important;
}
body[data-view="festival"] .ro176-section-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding:15px 17px!important;
  border-bottom:1px solid rgba(166,190,181,.14)!important;
  background:#0b191a!important;
}
body[data-view="festival"] .ro176-section-head.compact{padding:14px 15px!important}
body[data-view="festival"] .ro176-section-head h2,
body[data-view="festival"] .ro176-section-head h3{margin:2px 0 0!important;line-height:1.18!important;color:#f4f7f5!important}
body[data-view="festival"] .ro176-section-head h2{font-size:21px!important}
body[data-view="festival"] .ro176-section-head h3{font-size:17px!important}
body[data-view="festival"] .ro176-section-head p,
body[data-view="festival"] .ro176-subhead p{margin:5px 0 0!important;color:#bccbc5!important;font-size:12px!important;line-height:1.42!important}
body[data-view="festival"] .ro176-section-head .k,
body[data-view="festival"] .ro176-subhead .k{color:#a9bbb4!important;font-size:10.5px!important;letter-spacing:.11em!important;font-weight:800!important;text-transform:uppercase!important}
body[data-view="festival"] .ro176-count{
  display:grid;place-items:center;min-width:32px;height:32px;padding:0 9px;border-radius:999px;
  border:1px solid rgba(226,193,77,.27);background:rgba(226,193,77,.08);color:#ead06c;font-size:12px;font-weight:800
}
body[data-view="festival"] .ro176-overview-grid{
  display:grid!important;
  grid-template-columns:138px minmax(300px,1fr) minmax(250px,.72fr)!important;
  gap:14px!important;
  align-items:stretch!important;
  padding:15px!important;
}
body[data-view="festival"] .ro176-festival-logo{
  min-height:154px;border:1px solid rgba(166,190,181,.14);border-radius:10px;background:#081314;
  display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px;text-align:center
}
body[data-view="festival"] .ro176-festival-logo img{width:82px!important;height:82px!important;object-fit:contain!important}
body[data-view="festival"] .ro176-festival-logo span{margin-top:8px;color:#e6c84d;font-size:10.5px;font-weight:800;line-height:1.25}
body[data-view="festival"] .ro176-overview-fields{
  display:grid!important;grid-template-columns:minmax(0,1fr) 120px!important;gap:10px 12px!important;align-content:center!important
}
body[data-view="festival"] .ro176-overview-fields label,
body[data-view="festival"] .ro176-day-card label,
body[data-view="festival"] .ro176-day-new label,
body[data-view="festival"] .ro176-rule-grid label,
body[data-view="festival"] .ro176-side-form label{
  display:block!important;min-width:0!important;color:#dce6e2!important;font-size:12px!important;font-weight:750!important
}
body[data-view="festival"] .ro176-overview-fields input,
body[data-view="festival"] .ro176-overview-fields select,
body[data-view="festival"] .ro176-day-card input,
body[data-view="festival"] .ro176-day-new input,
body[data-view="festival"] .ro176-rule-grid input,
body[data-view="festival"] .ro176-side-form input{
  width:100%!important;min-width:0!important;max-width:none!important;height:40px!important;min-height:40px!important;
  margin-top:5px!important;font-size:13px!important;color:#f0f5f2!important
}
body[data-view="festival"] .ro176-festival-hero{
  min-height:154px;border-radius:10px;border:1px solid rgba(166,190,181,.14);
  background:linear-gradient(180deg,rgba(5,14,15,.10),rgba(5,14,15,.90)),url('/assets/hero-festival.jpg') center/cover no-repeat;
  display:flex;align-items:flex-end;padding:14px
}
body[data-view="festival"] .ro176-festival-hero b{display:block;color:#fff;font-size:17px;line-height:1.2}
body[data-view="festival"] .ro176-festival-hero span{display:block;margin-top:4px;color:#d1dbd7;font-size:11.5px}

body[data-view="festival"] .ro176-day-list{padding:7px 12px 5px!important}
body[data-view="festival"] .ro176-day-card{
  display:block!important;margin:7px 0!important;padding:10px!important;border:1px solid rgba(166,190,181,.14)!important;
  border-radius:10px!important;background:#0c1a1b!important;overflow:hidden!important
}
body[data-view="festival"] .ro176-day-top{
  display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;align-items:end!important
}
body[data-view="festival"] .ro176-day-name{display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;gap:8px!important;align-items:center!important}
body[data-view="festival"] .ro176-day-name>span{font-size:11px!important;color:#b8c7c1!important}
body[data-view="festival"] .ro176-day-name input{margin-top:0!important}
body[data-view="festival"] .ro176-day-actions{display:flex!important;gap:6px!important;align-items:center!important;justify-content:flex-end!important}
body[data-view="festival"] .ro176-day-actions .btn{height:40px!important;min-height:40px!important;white-space:nowrap!important;padding:0 11px!important;font-size:11.5px!important}
body[data-view="festival"] .ro176-day-actions .btn.icon{width:40px!important;min-width:40px!important;padding:0!important;font-size:18px!important}
body[data-view="festival"] .ro176-day-times{
  display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin-top:8px!important;padding-top:8px!important;
  border-top:1px solid rgba(166,190,181,.10)!important
}
body[data-view="festival"] .ro176-day-times label>span,
body[data-view="festival"] .ro176-day-new label>span{display:block;color:#b9c8c2!important;font-size:10.5px!important;font-weight:750!important}
body[data-view="festival"] .ro176-day-new{padding:12px 13px 14px!important;border-top:1px solid rgba(166,190,181,.14)!important;background:#0a1617!important}
body[data-view="festival"] .ro176-subhead{margin-bottom:9px!important}
body[data-view="festival"] .ro176-day-new-grid{
  display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;align-items:end!important
}
body[data-view="festival"] .ro176-day-new-grid label:first-child{grid-column:1/-1!important}
body[data-view="festival"] .ro176-day-new-grid #addDay{grid-column:1/-1!important;height:40px!important;white-space:nowrap!important}

body[data-view="festival"] .ro176-rule-groups{padding:12px 14px 4px!important;display:flex!important;flex-direction:column!important;gap:10px!important}
body[data-view="festival"] .ro176-rule-group{padding:11px!important;border:1px solid rgba(166,190,181,.12)!important;border-radius:10px!important;background:#0c1a1b!important}
body[data-view="festival"] .ro176-rule-group h4{margin:0 0 9px!important;color:#e9efec!important;font-size:12.5px!important}
body[data-view="festival"] .ro176-rule-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important}
body[data-view="festival"] .ro176-rule-grid.two{grid-template-columns:1fr 1fr!important}
body[data-view="festival"] .ro176-rules-panel .ro-tip-box{margin:9px 14px 14px!important}

body[data-view="festival"] .ro176-advanced{overflow:hidden!important}
body[data-view="festival"] .ro176-advanced>summary{
  list-style:none!important;cursor:pointer!important;display:flex!important;align-items:center!important;justify-content:space-between!important;
  gap:12px!important;padding:14px 16px!important;background:#0b191a!important
}
body[data-view="festival"] .ro176-advanced>summary::-webkit-details-marker{display:none!important}
body[data-view="festival"] .ro176-advanced>summary span>span{display:block!important}
body[data-view="festival"] .ro176-advanced>summary b{display:block!important;margin-top:3px!important;color:#eef4f1!important;font-size:15px!important}
body[data-view="festival"] .ro176-summary-arrow{font-size:24px!important;color:#d7c15e!important;transition:transform .15s ease!important}
body[data-view="festival"] .ro176-advanced[open] .ro176-summary-arrow{transform:rotate(90deg)!important}
body[data-view="festival"] .ro176-advanced-body{
  display:grid!important;grid-template-columns:minmax(0,1.35fr) minmax(210px,.65fr)!important;gap:12px!important;
  padding:13px!important;border-top:1px solid rgba(166,190,181,.14)!important
}
body[data-view="festival"] .ro176-advanced-body>section{min-width:0;padding:11px;border:1px solid rgba(166,190,181,.12);border-radius:9px;background:#0c1a1b}
body[data-view="festival"] .ro176-score-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;margin:9px 0!important}
body[data-view="festival"] .ro176-score-grid label{font-size:11px!important;color:#d5e0dc!important}
body[data-view="festival"] .ro176-score-grid input{width:100%!important;margin-top:4px!important}
body[data-view="festival"] .ro176-register-link{display:block;margin-top:10px;padding:10px;border:1px solid rgba(226,193,77,.22);border-radius:8px;background:rgba(226,193,77,.06);color:#ead06c;overflow-wrap:anywhere}

body[data-view="festival"] .ro176-stat-grid{
  display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;padding:11px!important
}
body[data-view="festival"] .ro176-stat-grid>div{
  display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important;padding:11px!important;
  border:1px solid rgba(166,190,181,.14)!important;border-radius:10px!important;background:#0c1a1b!important
}
body[data-view="festival"] .ro176-stat-grid .ico{
  flex:0 0 38px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#10261e;color:#e5c64e;font-size:15px
}
body[data-view="festival"] .ro176-stat-grid>div>span:last-child{min-width:0!important}
body[data-view="festival"] .ro176-stat-grid b{display:block!important;color:#f4f7f5!important;font-size:22px!important;line-height:1!important}
body[data-view="festival"] .ro176-stat-grid small{display:block!important;margin-top:5px!important;color:#c5d1cd!important;font-size:11.5px!important;line-height:1.2!important}
body[data-view="festival"] .ro176-lifecycle{padding:14px!important}
body[data-view="festival"] .ro176-lifecycle p{margin:12px 0!important;color:#bdcbc6!important;font-size:11.5px!important;line-height:1.45!important}
body[data-view="festival"] .ro176-stack-actions{display:flex!important;flex-direction:column!important;gap:8px!important}
body[data-view="festival"] .ro176-stack-actions .btn{width:100%!important;white-space:normal!important}
body[data-view="festival"] .ro176-side-form{display:flex!important;flex-direction:column!important;gap:10px!important;padding:13px!important}
body[data-view="festival"] .ro176-side-form .btn{width:100%!important;white-space:normal!important}

/* Existing older Festival rules must not leak into v17.6 structure. */
body[data-view="festival"] .ro176-festival-layout .row{flex-wrap:nowrap!important}
body[data-view="festival"] .ro176-festival-layout .btn{max-width:100%!important}
body[data-view="festival"] .ro176-festival-layout input,
body[data-view="festival"] .ro176-festival-layout select{box-sizing:border-box!important}

@media(max-width:1380px){
  body[data-view="festival"] .ro176-festival-layout{grid-template-columns:1fr!important}
  body[data-view="festival"] .ro176-festival-side{position:static!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:start!important}
  body[data-view="festival"] .ro176-overview-grid{grid-template-columns:130px minmax(280px,1fr) minmax(230px,.75fr)!important}
}
@media(max-width:1040px){
  body[data-view="festival"] .ro176-festival-columns{grid-template-columns:1fr!important}
  body[data-view="festival"] .ro176-festival-side{grid-template-columns:1fr 1fr!important}
  body[data-view="festival"] .ro176-next-panel{grid-column:1/-1!important}
}
@media(max-width:780px){
  body[data-view="festival"] .ro176-overview-grid{grid-template-columns:1fr!important}
  body[data-view="festival"] .ro176-festival-logo{min-height:120px!important}
  body[data-view="festival"] .ro176-festival-hero{min-height:140px!important}
  body[data-view="festival"] .ro176-overview-fields{grid-template-columns:1fr!important}
  body[data-view="festival"] .ro176-festival-side{grid-template-columns:1fr!important}
  body[data-view="festival"] .ro176-next-panel{grid-column:auto!important}
  body[data-view="festival"] .ro176-day-top{grid-template-columns:1fr!important}
  body[data-view="festival"] .ro176-day-actions{justify-content:stretch!important}
  body[data-view="festival"] .ro176-day-actions .btn:first-child{flex:1!important}
  body[data-view="festival"] .ro176-day-times{grid-template-columns:1fr!important}
  body[data-view="festival"] .ro176-day-new-grid{grid-template-columns:1fr!important}
  body[data-view="festival"] .ro176-day-new-grid label:first-child,
  body[data-view="festival"] .ro176-day-new-grid #addDay{grid-column:auto!important}
  body[data-view="festival"] .ro176-rule-grid,
  body[data-view="festival"] .ro176-rule-grid.two,
  body[data-view="festival"] .ro176-advanced-body,
  body[data-view="festival"] .ro176-score-grid{grid-template-columns:1fr!important}
}

/* ======================================================================
   v17.7 · Festivaltage kompakt: Tabellenzeilen statt Kartenstapel
   ====================================================================== */
.sr-only{
  position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important
}
body[data-view="festival"] .ro176-days-panel{align-self:start!important}
body[data-view="festival"] .ro176-days-panel .ro176-section-head{
  padding-top:11px!important;padding-bottom:9px!important
}
body[data-view="festival"] .ro176-day-list{
  padding:4px 10px 5px!important
}
body[data-view="festival"] .ro177-day-head{
  display:grid!important;
  grid-template-columns:minmax(82px,.9fr) minmax(125px,1.1fr) minmax(125px,1.1fr) auto!important;
  gap:7px!important;align-items:center!important;
  padding:2px 6px 5px!important;
  color:#aebfba!important;font-size:10.5px!important;font-weight:750!important;letter-spacing:.07em!important;
  text-transform:uppercase!important
}
body[data-view="festival"] .ro176-day-card{
  display:grid!important;
  grid-template-columns:minmax(82px,.9fr) minmax(125px,1.1fr) minmax(125px,1.1fr) auto!important;
  gap:7px!important;align-items:center!important;
  margin:0!important;padding:6px!important;
  min-height:0!important;
  border:0!important;border-top:1px solid rgba(166,190,181,.11)!important;
  border-radius:0!important;background:transparent!important;overflow:visible!important
}
body[data-view="festival"] .ro176-day-card:first-of-type{border-top-color:rgba(166,190,181,.16)!important}
body[data-view="festival"] .ro176-day-name,
body[data-view="festival"] .ro177-day-time{
  display:block!important;min-width:0!important;margin:0!important
}
body[data-view="festival"] .ro176-day-card input{
  width:100%!important;height:34px!important;min-height:34px!important;margin:0!important;padding:0 10px!important;
  border-radius:8px!important;font-size:12.5px!important;font-weight:650!important
}
body[data-view="festival"] .ro176-day-actions{
  display:flex!important;gap:5px!important;align-items:center!important;justify-content:flex-end!important;min-width:0!important
}
body[data-view="festival"] .ro176-day-actions .btn{
  height:34px!important;min-height:34px!important;padding:0 9px!important;font-size:11.5px!important;border-radius:8px!important
}
body[data-view="festival"] .ro176-day-actions .btn.icon{
  width:34px!important;min-width:34px!important;height:34px!important;padding:0!important;font-size:17px!important
}
body[data-view="festival"] .ro176-day-times{display:contents!important;margin:0!important;padding:0!important;border:0!important}

body[data-view="festival"] .ro176-day-new{
  padding:8px 10px 10px!important;border-top:1px solid rgba(166,190,181,.16)!important;background:#0a1617!important
}
body[data-view="festival"] .ro176-day-new .ro176-subhead{margin:0 0 6px!important}
body[data-view="festival"] .ro176-day-new-grid{
  display:grid!important;
  grid-template-columns:minmax(82px,.9fr) minmax(125px,1.1fr) minmax(125px,1.1fr) auto!important;
  gap:7px!important;align-items:center!important
}
body[data-view="festival"] .ro176-day-new-grid label:first-child{grid-column:auto!important}
body[data-view="festival"] .ro176-day-new input{
  height:34px!important;min-height:34px!important;margin:0!important;padding:0 10px!important;border-radius:8px!important;font-size:12.5px!important
}
body[data-view="festival"] .ro176-day-new-grid #addDay{
  grid-column:auto!important;height:34px!important;min-height:34px!important;margin:0!important;padding:0 11px!important;
  font-size:11.5px!important;white-space:nowrap!important;border-radius:8px!important
}

/* Compact the vertical rhythm around the days list as well. */
body[data-view="festival"] .ro176-festival-col{gap:10px!important}
body[data-view="festival"] .ro176-advanced>summary{padding:11px 14px!important}

@media(max-width:1180px){
  body[data-view="festival"] .ro177-day-head,
  body[data-view="festival"] .ro176-day-card,
  body[data-view="festival"] .ro176-day-new-grid{
    grid-template-columns:minmax(72px,.9fr) minmax(118px,1fr) minmax(118px,1fr) auto!important
  }
}
@media(max-width:680px){
  body[data-view="festival"] .ro177-day-head{display:none!important}
  body[data-view="festival"] .ro176-day-card{
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:6px 7px!important;padding:7px 4px!important
  }
  body[data-view="festival"] .ro176-day-name{grid-column:1!important;grid-row:1!important}
  body[data-view="festival"] .ro176-day-actions{grid-column:2!important;grid-row:1!important}
  body[data-view="festival"] .ro177-day-time:nth-of-type(2){grid-column:1!important;grid-row:2!important}
  body[data-view="festival"] .ro177-day-time:nth-of-type(3){grid-column:2!important;grid-row:2!important}
  body[data-view="festival"] .ro176-day-new-grid{grid-template-columns:1fr 1fr!important}
  body[data-view="festival"] .ro176-day-new-grid label:first-child{grid-column:1/-1!important}
  body[data-view="festival"] .ro176-day-new-grid #addDay{grid-column:1/-1!important}
}

/* ======================================================================
   v17.8 · Festivaltage: kompakt, vollständig sichtbar, kein Abschneiden
   ====================================================================== */
body[data-view="festival"] .ro176-days-panel{
  min-width:0!important;
  overflow:hidden!important;
}
body[data-view="festival"] .ro177-day-head,
body[data-view="festival"] .ro176-day-card,
body[data-view="festival"] .ro176-day-new-grid{
  grid-template-columns:96px minmax(0,1fr) minmax(0,1fr) 108px!important;
  gap:6px!important;
}
body[data-view="festival"] .ro177-day-head{
  padding-left:4px!important;
  padding-right:4px!important;
}
body[data-view="festival"] .ro176-day-card{
  padding-left:4px!important;
  padding-right:4px!important;
}
body[data-view="festival"] .ro176-day-card label,
body[data-view="festival"] .ro176-day-new-grid label,
body[data-view="festival"] .ro176-day-name,
body[data-view="festival"] .ro177-day-time{
  min-width:0!important;
}
body[data-view="festival"] .ro176-day-card input,
body[data-view="festival"] .ro176-day-new input{
  min-width:0!important;
  width:100%!important;
  box-sizing:border-box!important;
  padding-left:8px!important;
  padding-right:6px!important;
  font-size:12px!important;
}
body[data-view="festival"] .ro176-day-actions{
  min-width:0!important;
  width:108px!important;
  gap:4px!important;
}
body[data-view="festival"] .ro176-day-actions .btn:first-child{
  flex:1 1 auto!important;
  min-width:0!important;
  padding:0 7px!important;
  font-size:11px!important;
}
body[data-view="festival"] .ro176-day-actions .btn.icon{
  flex:0 0 32px!important;
  width:32px!important;
  min-width:32px!important;
  height:34px!important;
}
body[data-view="festival"] .ro176-day-new-grid #addDay{
  width:108px!important;
  min-width:0!important;
  padding:0 7px!important;
  font-size:11px!important;
}
body[data-view="festival"] .ro176-day-new{
  padding-left:8px!important;
  padding-right:8px!important;
}

/* If the whole page becomes genuinely narrow, keep all controls visible by
   using a compact two-row layout instead of horizontal overflow. */
@media(max-width:980px){
  body[data-view="festival"] .ro177-day-head{display:none!important}
  body[data-view="festival"] .ro176-day-card{
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:6px 8px!important;
  }
  body[data-view="festival"] .ro176-day-name{grid-column:1!important;grid-row:1!important}
  body[data-view="festival"] .ro176-day-actions{grid-column:2!important;grid-row:1!important;width:auto!important}
  body[data-view="festival"] .ro177-day-time:nth-of-type(2){grid-column:1!important;grid-row:2!important}
  body[data-view="festival"] .ro177-day-time:nth-of-type(3){grid-column:2!important;grid-row:2!important;min-width:150px!important}
  body[data-view="festival"] .ro176-day-new-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  }
  body[data-view="festival"] .ro176-day-new-grid label:first-child{grid-column:1/-1!important}
  body[data-view="festival"] .ro176-day-new-grid #addDay{grid-column:1/-1!important;width:100%!important}
}

/* ======================================================================
   v17.9 · Festivaltage: Datum und Uhrzeit explizit getrennt
   ====================================================================== */
body[data-view="festival"] .ro179-dt-pair{
  display:grid!important;
  grid-template-columns:minmax(105px,1fr) 76px!important;
  gap:5px!important;
  min-width:0!important;
  width:100%!important;
}
body[data-view="festival"] .ro179-dt-pair input[type="date"],
body[data-view="festival"] .ro179-dt-pair input[type="time"]{
  width:100%!important;
  min-width:0!important;
  padding:0 6px!important;
  font-size:11.5px!important;
  height:34px!important;
}
body[data-view="festival"] .ro176-day-card,
body[data-view="festival"] .ro177-day-head,
body[data-view="festival"] .ro176-day-new-grid{
  grid-template-columns:96px minmax(186px,1fr) minmax(186px,1fr) 108px!important;
}
@media(max-width:1180px){
  body[data-view="festival"] .ro176-day-card,
  body[data-view="festival"] .ro176-day-new-grid{
    grid-template-columns:minmax(0,1fr) auto!important;
  }
  body[data-view="festival"] .ro177-day-head{display:none!important}
  body[data-view="festival"] .ro176-day-name{grid-column:1!important;grid-row:1!important}
  body[data-view="festival"] .ro176-day-actions{grid-column:2!important;grid-row:1!important;width:auto!important}
  body[data-view="festival"] .ro177-day-time:nth-of-type(2){grid-column:1!important;grid-row:2!important}
  body[data-view="festival"] .ro177-day-time:nth-of-type(3){grid-column:2!important;grid-row:2!important;min-width:190px!important}
  body[data-view="festival"] .ro176-day-new-grid label:first-child{grid-column:1/-1!important}
  body[data-view="festival"] .ro176-day-new-grid label:nth-child(2){grid-column:1!important}
  body[data-view="festival"] .ro176-day-new-grid label:nth-child(3){grid-column:2!important}
  body[data-view="festival"] .ro176-day-new-grid #addDay{grid-column:1/-1!important;width:100%!important}
}
@media(max-width:640px){
  body[data-view="festival"] .ro176-day-card,
  body[data-view="festival"] .ro176-day-new-grid{grid-template-columns:1fr!important}
  body[data-view="festival"] .ro176-day-name,
  body[data-view="festival"] .ro176-day-actions,
  body[data-view="festival"] .ro177-day-time:nth-of-type(2),
  body[data-view="festival"] .ro177-day-time:nth-of-type(3),
  body[data-view="festival"] .ro176-day-new-grid label,
  body[data-view="festival"] .ro176-day-new-grid #addDay{grid-column:1!important;grid-row:auto!important;min-width:0!important;width:100%!important}
}

/* ======================================================================
   v17.10 · Festival / Planungsregeln kompakt, kollisionsfrei
   ====================================================================== */
body[data-view="festival"] .ro176-rules-panel{overflow:hidden!important}
body[data-view="festival"] .ro180-rule-compact{
  display:flex!important;
  flex-direction:column!important;
  padding:0!important;
  margin:0!important;
}
body[data-view="festival"] .ro180-rule-section{
  display:grid!important;
  grid-template-columns:160px minmax(0,1fr)!important;
  gap:14px!important;
  align-items:center!important;
  padding:12px 14px!important;
  margin:0!important;
  min-width:0!important;
  border-bottom:1px solid rgba(166,190,181,.14)!important;
  background:transparent!important;
}
body[data-view="festival"] .ro180-rule-section:last-child{border-bottom:0!important}
body[data-view="festival"] .ro180-rule-title{min-width:0!important}
body[data-view="festival"] .ro180-rule-title b{
  display:block!important;
  margin:0!important;
  color:#eef4f1!important;
  font-size:13px!important;
  line-height:1.25!important;
  font-weight:800!important;
}
body[data-view="festival"] .ro180-rule-title span{
  display:block!important;
  margin-top:3px!important;
  color:#afc0ba!important;
  font-size:10.5px!important;
  line-height:1.32!important;
}
body[data-view="festival"] .ro180-rule-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  min-width:0!important;
}
body[data-view="festival"] .ro180-rule-grid label,
body[data-view="festival"] .ro180-window-group label{
  display:grid!important;
  grid-template-rows:auto 38px!important;
  gap:5px!important;
  min-width:0!important;
  margin:0!important;
  color:#dce7e3!important;
  font-size:11.5px!important;
  line-height:1.2!important;
  font-weight:750!important;
}
body[data-view="festival"] .ro180-rule-grid label>span,
body[data-view="festival"] .ro180-window-group label>span{
  display:block!important;
  min-height:27px!important;
  color:#dce7e3!important;
  font-size:11.5px!important;
  line-height:1.18!important;
}
body[data-view="festival"] .ro180-rule-grid input,
body[data-view="festival"] .ro180-window-group input{
  width:100%!important;
  min-width:0!important;
  height:38px!important;
  min-height:38px!important;
  margin:0!important;
  padding:0 10px!important;
  box-sizing:border-box!important;
  font-size:13px!important;
  line-height:1!important;
}
body[data-view="festival"] .ro180-window-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  min-width:0!important;
}
body[data-view="festival"] .ro180-window-group{
  display:grid!important;
  grid-template-columns:46px minmax(0,1fr) minmax(0,1fr)!important;
  gap:7px!important;
  align-items:end!important;
  min-width:0!important;
  padding:8px!important;
  border:1px solid rgba(166,190,181,.12)!important;
  border-radius:9px!important;
  background:#0c1a1b!important;
}
body[data-view="festival"] .ro180-window-group strong{
  align-self:center!important;
  color:#e8efec!important;
  font-size:11.5px!important;
  line-height:1.15!important;
}
body[data-view="festival"] .ro180-window-group label{
  grid-template-rows:auto 36px!important;
}
body[data-view="festival"] .ro180-window-group label>span{
  min-height:0!important;
  font-size:10.5px!important;
  color:#b8c7c1!important;
}
body[data-view="festival"] .ro180-window-group input{
  height:36px!important;
  min-height:36px!important;
  padding:0 7px!important;
  font-size:12.5px!important;
}
body[data-view="festival"] .ro180-rule-note{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:10px 14px 12px!important;
  padding:8px 10px!important;
  min-height:0!important;
  line-height:1.3!important;
}
body[data-view="festival"] .ro180-rule-note b{flex:0 0 auto!important;font-size:10.5px!important}
body[data-view="festival"] .ro180-rule-note span{font-size:10.5px!important;color:#c8d4d0!important}
/* Neutralise old rule-group declarations so they cannot leak into the compact editor. */
body[data-view="festival"] .ro180-rule-compact .ro176-rule-group,
body[data-view="festival"] .ro180-rule-compact .ro176-rule-grid{all:unset!important}

@media(max-width:1180px){
  body[data-view="festival"] .ro180-rule-section{grid-template-columns:1fr!important;gap:8px!important}
  body[data-view="festival"] .ro180-rule-title span{max-width:540px!important}
}
@media(max-width:720px){
  body[data-view="festival"] .ro180-rule-grid{grid-template-columns:1fr 1fr!important}
  body[data-view="festival"] .ro180-rule-grid label:last-child{grid-column:1/-1!important}
  body[data-view="festival"] .ro180-window-grid{grid-template-columns:1fr!important}
}
@media(max-width:470px){
  body[data-view="festival"] .ro180-rule-grid{grid-template-columns:1fr!important}
  body[data-view="festival"] .ro180-rule-grid label:last-child{grid-column:auto!important}
  body[data-view="festival"] .ro180-window-group{grid-template-columns:44px minmax(0,1fr) minmax(0,1fr)!important}
}

/* ======================================================================
   v17.11 · Festival: kollisionsfreie kompakte Regeln + Punktesystem
   ====================================================================== */
body[data-view="festival"] .ro176-rules-panel{overflow:hidden!important}
body[data-view="festival"] .ro180-rule-section{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:9px!important;
  align-items:stretch!important;
  padding:11px 13px!important;
  min-width:0!important;
}
body[data-view="festival"] .ro180-rule-title{
  display:flex!important;
  align-items:baseline!important;
  gap:9px!important;
  min-width:0!important;
}
body[data-view="festival"] .ro180-rule-title b{
  flex:0 0 auto!important;
  font-size:13px!important;
  line-height:1.2!important;
}
body[data-view="festival"] .ro180-rule-title span{
  margin:0!important;
  min-width:0!important;
  font-size:10.5px!important;
  line-height:1.28!important;
  color:#b9c8c2!important;
}
body[data-view="festival"] .ro180-rule-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  min-width:0!important;
}
body[data-view="festival"] .ro180-rule-grid label,
body[data-view="festival"] .ro181-window-grid label{
  display:grid!important;
  grid-template-rows:auto 36px!important;
  gap:4px!important;
  min-width:0!important;
  margin:0!important;
  color:#dce7e3!important;
  font-size:11px!important;
  line-height:1.18!important;
  font-weight:750!important;
}
body[data-view="festival"] .ro180-rule-grid label>span,
body[data-view="festival"] .ro181-window-grid label>span{
  display:block!important;
  min-height:26px!important;
  color:#dce7e3!important;
  font-size:11px!important;
  line-height:1.18!important;
  overflow-wrap:anywhere!important;
}
body[data-view="festival"] .ro180-rule-grid input,
body[data-view="festival"] .ro181-window-grid input{
  width:100%!important;
  min-width:0!important;
  height:36px!important;
  min-height:36px!important;
  margin:0!important;
  padding:0 9px!important;
  box-sizing:border-box!important;
  font-size:12.5px!important;
  line-height:1!important;
}
body[data-view="festival"] .ro181-window-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
  min-width:0!important;
}
body[data-view="festival"] .ro180-rule-note{
  margin:8px 13px 11px!important;
  padding:8px 10px!important;
}
/* Old nested window styles must not affect the flat v17.11 controls. */
body[data-view="festival"] .ro181-window-grid .ro180-window-group{all:unset!important}

/* Punktesystem: no label/value collisions inside the narrow left festival column. */
body[data-view="festival"] .ro176-advanced-body{
  grid-template-columns:1fr!important;
  gap:9px!important;
  padding:10px!important;
}
body[data-view="festival"] .ro176-advanced-body>section{padding:10px!important}
body[data-view="festival"] .ro176-score-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px 10px!important;
  margin:8px 0!important;
}
body[data-view="festival"] .ro176-score-grid label{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 58px!important;
  gap:7px!important;
  align-items:center!important;
  min-width:0!important;
  margin:0!important;
  color:#d8e3df!important;
  font-size:11px!important;
  font-weight:700!important;
}
body[data-view="festival"] .ro176-score-grid input{
  width:58px!important;
  min-width:58px!important;
  height:34px!important;
  min-height:34px!important;
  margin:0!important;
  padding:0 7px!important;
  box-sizing:border-box!important;
  text-align:center!important;
  font-size:12px!important;
}

/* New-day editor: keep the add action visible in a narrow festival column. */
body[data-view="festival"] .ro176-day-new-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px!important;
  align-items:end!important;
}
body[data-view="festival"] .ro176-day-new-grid label:first-child{
  grid-column:1!important;
  grid-row:1!important;
}
body[data-view="festival"] .ro176-day-new-grid #addDay{
  grid-column:2!important;
  grid-row:1!important;
  width:118px!important;
  min-width:118px!important;
  height:36px!important;
  min-height:36px!important;
  padding:0 8px!important;
  white-space:nowrap!important;
}
body[data-view="festival"] .ro176-day-new-grid label:nth-child(2){grid-column:1!important;grid-row:2!important}
body[data-view="festival"] .ro176-day-new-grid label:nth-child(3){grid-column:2!important;grid-row:2!important;min-width:0!important}

@media(max-width:1180px){
  body[data-view="festival"] .ro181-window-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body[data-view="festival"] .ro176-day-new-grid{grid-template-columns:1fr 1fr!important}
  body[data-view="festival"] .ro176-day-new-grid label:first-child{grid-column:1!important;grid-row:1!important}
  body[data-view="festival"] .ro176-day-new-grid #addDay{grid-column:2!important;grid-row:1!important;width:100%!important;min-width:0!important}
  body[data-view="festival"] .ro176-day-new-grid label:nth-child(2){grid-column:1!important;grid-row:2!important}
  body[data-view="festival"] .ro176-day-new-grid label:nth-child(3){grid-column:2!important;grid-row:2!important;min-width:0!important}
}
@media(max-width:720px){
  body[data-view="festival"] .ro180-rule-grid{grid-template-columns:1fr!important}
  body[data-view="festival"] .ro181-window-grid{grid-template-columns:1fr 1fr!important}
  body[data-view="festival"] .ro176-score-grid{grid-template-columns:1fr!important}
  body[data-view="festival"] .ro176-day-new-grid{grid-template-columns:1fr!important}
  body[data-view="festival"] .ro176-day-new-grid label:first-child,
  body[data-view="festival"] .ro176-day-new-grid #addDay,
  body[data-view="festival"] .ro176-day-new-grid label:nth-child(2),
  body[data-view="festival"] .ro176-day-new-grid label:nth-child(3){grid-column:1!important;grid-row:auto!important;width:100%!important;min-width:0!important}
}
@media(max-width:460px){
  body[data-view="festival"] .ro180-rule-title{display:block!important}
  body[data-view="festival"] .ro180-rule-title span{display:block!important;margin-top:3px!important}
  body[data-view="festival"] .ro181-window-grid{grid-template-columns:1fr!important}
}

/* ======================================================================
   v17.12 · Festivaltage: Aktionen sichtbar ohne Strukturänderung
   Nur horizontale Abstände/Min-Breiten der Tageszeilen leicht reduziert.
   ====================================================================== */
@media(min-width:1181px){
  body[data-view="festival"] .ro177-day-head,
  body[data-view="festival"] .ro176-day-card{
    grid-template-columns:88px minmax(170px,1fr) minmax(170px,1fr) 108px!important;
    column-gap:4px!important;
  }
}
body[data-view="festival"] .ro179-dt-pair{
  grid-template-columns:minmax(96px,1fr) 64px!important;
  gap:4px!important;
}
body[data-view="festival"] .ro176-day-card{
  padding-left:3px!important;
  padding-right:3px!important;
}
body[data-view="festival"] .ro176-day-actions{
  gap:3px!important;
}

/* v19.2: visible controls, readable errors and keyboard/touch access. */
[hidden]{display:none!important}
:where(button,a,input,select,textarea,summary):focus-visible{outline:3px solid #f0c965!important;outline-offset:3px!important}
.form-error{padding:12px;border:1px solid #ef9191;border-radius:10px;background:#391d22;color:#ffe5e5;white-space:pre-wrap;overflow-wrap:anywhere}
.form-error:empty{display:none}
.modal-bg{z-index:200!important}
.modal{max-height:calc(100dvh - 32px)!important;overscroll-behavior:contain}
.toast{z-index:220!important;overflow-wrap:anywhere}
.toast[data-kind="error"]{border-color:#ef9191!important}
.toast[data-kind="warn"]{border-color:#f0c965!important}
.ro-pill[aria-pressed]{cursor:pointer;min-height:44px}
#profileSaveStatus{font-size:14px;line-height:1.5;color:var(--text,#eef1ed)}
#content[aria-busy="true"]{opacity:.65;pointer-events:none}
@media(max-width:900px){
  .toast{bottom:calc(84px + env(safe-area-inset-bottom))!important;max-width:calc(100vw - 24px)!important;left:12px!important;right:12px!important}
  #menuBtn{width:auto!important;min-width:88px!important;min-height:44px!important;white-space:nowrap}
  #helpBtn{min-width:44px!important;min-height:44px!important;width:44px!important;height:44px!important}
  input,select,textarea{font-size:16px!important}
  .ro-open-row>.ro-shift-crew{display:block!important;grid-column:1/-1;overflow-wrap:anywhere}
  .ro-open-row .ro-shift-actions .btn{white-space:normal!important}
  .modal .row{flex-wrap:wrap}
  .modal .row>.btn{min-height:44px;flex:1 1 160px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
#profileSaveStatus{color:#dce5e1!important}
@media(max-width:980px){
  .topbar{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:12px!important}
  .topbar>.row:first-child{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;width:100%!important;align-items:start!important;gap:12px!important;flex:none!important}
  .topbar .title-block{min-width:0!important;width:100%!important}
  .topbar .title-block>.row{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;gap:8px!important}
  .topbar .title-block h2{flex:1;min-width:0;overflow-wrap:break-word}
  .topbar #sub{width:100%!important;max-width:none!important;white-space:normal!important}
  .topbar>.row:last-child{width:100%!important;justify-content:flex-end}
  .topbar #actions{width:auto!important;max-width:100%;margin-left:auto}
  #helpNudge{display:none!important}
}
/* Desktop controls must fit their panels instead of being clipped. */
.empty,.userbox .who{color:#cbd7d1!important}
@media(min-width:981px){.menu-toggle,.menu-close{display:none!important}}
.ro-display-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr))!important}
.ro-display-card-head{display:flex!important;flex-wrap:wrap;gap:12px;align-items:center}
.ro-display-card-head>div:nth-child(2){flex:1 1 160px;min-width:0}
.ro-display-card-head>a{margin-left:auto}
.ro-display-options{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important}
.ro-display-options>*{min-width:0;grid-column:auto!important}
.ro-display-motion .ro-section-intro{display:block!important}
body[data-view="plan"] .ro-plan-tools-v13{display:grid!important;grid-template-columns:minmax(140px,1fr) minmax(240px,1.5fr) minmax(170px,1fr) minmax(170px,1fr)!important;grid-template-areas:"area day toggle search" "hint hint hint hint";gap:10px!important}
body[data-view="plan"] .ro-plan-tools-v13>*{min-width:0!important;max-width:100%!important}
body[data-view="plan"] .ro-plan-filter-area{grid-area:area!important}
body[data-view="plan"] .ro-plan-daynav{grid-area:day!important}
body[data-view="plan"] .ro-plan-toggle{grid-area:toggle!important}
body[data-view="plan"] .ro-plan-search-right{grid-area:search!important}
body[data-view="plan"] #poolHint{grid-area:hint!important;white-space:normal!important}
@media(max-width:1180px){
  body[data-view="plan"] .ro-plan-tools-v13{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-areas:"area day" "toggle search" "hint hint"}
}
@media(max-width:600px){
  body[data-view="plan"] .ro-plan-tools-v13{grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"day" "area" "toggle" "search" "hint"}
}
.userbox .who>div>div{color:#e4eae7!important}

/* v19.4: keep everyday planning visible; reveal secondary tools on demand. */
body[data-view="plan"] .ro-plan-options{display:block!important;position:relative;align-self:end;color:var(--text,#e8e6dc)}
body[data-view="plan"] .ro-plan-options summary,
body[data-view="plan"] .ro-plan-disclosure summary{cursor:pointer;min-height:44px;display:list-item;align-content:center;font-weight:600;padding:10px 12px;box-sizing:border-box}
body[data-view="plan"] .ro-plan-options summary{border:1px solid var(--line);border-radius:8px}
body[data-view="plan"] .ro-plan-options-body{position:absolute;z-index:45;top:100%;right:0;width:300px;max-width:calc(100vw - 40px);padding:16px;background:var(--panel,#17251d);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px #0006;white-space:normal}
body[data-view="plan"] .ro-plan-options-body label{display:flex;gap:10px;align-items:flex-start;line-height:1.5;margin-bottom:14px}
body[data-view="plan"] .ro-plan-options-body input{width:20px!important;height:20px!important;min-height:20px!important;flex:none;margin-top:2px}
body[data-view="plan"] .ro-plan-options-body .btn{width:100%}
body[data-view="plan"] .ro-plan-disclosure{padding:4px 10px!important}
body[data-view="plan"] .ro-plan-disclosure[open]>div{padding:8px 4px 12px}
body[data-view="plan"] .ro-plan-settings{margin-top:12px;border-top:1px solid var(--line)}
body[data-view="plan"] .ro-plan-settings .ro-editor-toolbar{display:flex;flex-wrap:wrap;gap:8px}
body[data-view="plan"] .ro-plan-filter-area label{display:block;font-size:12px;margin-bottom:4px;color:var(--muted)}
body[data-view="plan"] .ro-plan-table-head{flex-wrap:wrap;gap:8px}
@media(max-width:800px){
 body[data-view="plan"] .ro-plan-options-body{position:static;box-sizing:border-box;width:100%;max-width:none;margin-top:6px}
}
body[data-view="plan"] .ro-plan-options summary{color:#e9eee9!important;white-space:normal}
body[data-view="plan"] .ro-plan-table td.ta-right .btn.primary{width:auto!important;min-width:94px!important;height:40px!important;padding:0 12px!important;font-size:13px!important;line-height:1.2!important}
body[data-view="plan"] .ro-plan-table{min-width:0!important;width:100%!important}
body[data-view="plan"] .ro-plan-table td{white-space:normal!important}
@media(max-width:800px){
 body[data-view="plan"] .ro-plan-table-wrap{overflow:visible!important}
 body[data-view="plan"] .ro-plan-table,body[data-view="plan"] .ro-plan-table tbody{display:block}
 body[data-view="plan"] .ro-plan-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 body[data-view="plan"] .ro-plan-table tbody tr{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:12px 0;border-bottom:1px solid var(--line)}
 body[data-view="plan"] .ro-plan-table td{display:block;border:0!important;padding:4px!important;min-width:0}
 body[data-view="plan"] .ro-plan-table td:first-child,body[data-view="plan"] .ro-plan-table td:nth-child(4),body[data-view="plan"] .ro-plan-table td:last-child{grid-column:1/-1}
 body[data-view="plan"] .ro-plan-table td:nth-child(3)::before{content:"Eignung ";color:var(--muted)}
 body[data-view="plan"] .ro-plan-table td.ta-right .btn.primary{width:100%!important;height:44px!important}
}
@media(max-width:600px){body[data-view="plan"] #title{font-size:22px!important;overflow-wrap:normal;word-break:normal}}

/* Compact next shift: preserve time, area, crew and plan access. */
body[data-view="dashboard"] .ro-next-shift {padding:14px!important; align-self:start;}
body[data-view="dashboard"] .ro-next-shift .ro-panel-head {margin-bottom:6px;gap:8px;}
body[data-view="dashboard"] .ro-next-shift h3 {font-size:21px;line-height:1.2;}
body[data-view="dashboard"] .ro-next-shift .ro-shift-place {margin:6px 0;font-size:17px;}
body[data-view="dashboard"] .ro-next-shift .ro-face-row {margin:6px 0 9px;min-height:30px;flex-wrap:wrap;}
body[data-view="dashboard"] .ro-next-shift .btn {min-height:44px!important;padding:8px 13px;}
body[data-view="dashboard"] .ro-next-shift p {margin:7px 0 10px;}
