.requests-card { margin-bottom: 24px; }
.inline-actions { display: flex; justify-content: flex-end; gap: 6px; }
.message-cell { max-width: 300px; white-space: normal; line-height: 1.45; }
.request-state { display: inline-flex; margin-top: 10px; padding: 6px 10px; border-radius: 999px; background: #fff; color: var(--accent); font-size: 11px; font-weight: 700; }
.lock-notice .btn { margin-top: 11px; }
textarea { width: 100%; resize: vertical; border: 1px solid #d9d9de; border-radius: 8px; padding: 10px 11px; background: #fff; color: var(--ink); font: inherit; }
textarea:focus { outline: 3px solid rgba(183, 0, 35, .1); border-color: var(--accent); }
.lookup-input:invalid { border-color: var(--accent); }
.agency-output { background: #f4f4f5; color: #666; }
.entry-fields { grid-template-columns: .8fr 1fr 1fr 1.5fr 1fr .7fr .7fr; }
.entry-card.overnight { padding-bottom: 48px; }
.overnight-indicator { position: absolute; right: 48px; bottom: 11px; display: inline-flex; align-items: center; border-radius: 999px; padding: 6px 10px; background: #fff4df; color: #865b05; font-size: 11px; font-weight: 700; }
.client-error { margin: 10px 0; padding: 12px 14px; border: 1px solid #f0b8c3; border-radius: 9px; background: var(--accent-soft); color: var(--accent); font-weight: 650; }
.entry-card.duplicate { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }
.duplicate-indicator { position: absolute; right: 46px; top: -10px; display: inline-flex; border-radius: 999px; padding: 5px 9px; background: var(--accent); color: #fff; font-size: 10px; font-weight: 750; box-shadow: 0 4px 12px rgba(183,0,35,.2); }
.performer-search { justify-content: flex-start; gap: 10px; }
.performer-search label { flex: 1; max-width: 480px; }
.performer-search label input { width: 100%; }
.performer-search > span { margin-left: auto; }
.performer-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; }
.performer-card { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 19px; }
.performer-card.inactive { opacity: .65; }
.performer-card-head { display: flex; align-items: center; gap: 11px; }
.performer-card-head h2 { margin: 0 0 5px; font-size: 16px; }
.performer-agency { margin: 17px 0; padding: 9px 11px; border-radius: 8px; background: #f4f4f6; color: var(--muted); font-weight: 650; }
.performer-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.performer-metrics span { color: var(--muted); font-size: 11px; }
.performer-metrics b { display: block; color: var(--ink); font-size: 17px; margin-top: 4px; }
.performer-card footer { display: flex; justify-content: flex-end; align-items: center; gap: 6px; margin-top: 18px; padding-top: 13px; border-top: 1px solid var(--line); }
.performer-card footer .btn { margin-right: auto; }
.performer-empty { grid-column: 1/-1; }
.performer-summary > div { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:22px; display:flex; align-items:center; gap:14px; }
.performer-summary p { margin:0; color:var(--muted); font-size:12px; }
.performer-summary p b { display:block; font-size:28px; color:var(--ink); margin:2px 0; }
.performer-summary .period-value { font-size: 15px; }
.analytics-chart { margin-bottom: 20px; }
.chart-wrap { position: relative; overflow-x: auto; padding: 12px 16px 4px; min-height: 310px; }
.chart-wrap canvas { display: block; }
.chart-empty { position:absolute; inset:0; place-items:center; color:var(--muted); background:#fff; }
.chart-empty:not([hidden]) { display:grid; }
.chart-legend { display:flex; gap:12px; flex-wrap:wrap; justify-content:flex-end; }
.chart-legend span { display:flex; align-items:center; gap:5px; color:var(--muted); font-size:11px; }
.chart-legend i { width:9px; height:9px; border-radius:50%; }
.analytics-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:20px; }
@media(max-width:1100px){.entry-fields{grid-template-columns:1fr 1fr 1fr}.performer-grid{grid-template-columns:1fr 1fr}.analytics-grid{grid-template-columns:1fr}}
@media(max-width:760px){.entry-fields{grid-template-columns:1fr 1fr}.performer-grid{grid-template-columns:1fr}.performer-search{align-items:flex-end}.performer-search>span{display:none}}
.analytics-heading { margin-bottom: 18px; }
.analytics-filter { display: flex; align-items: flex-end; gap: 12px; margin-bottom: 18px; padding: 16px 18px; background: #fff; border: 1px solid var(--line); border-radius: 14px; }
.filter-title { display: flex; align-items: center; gap: 10px; margin-right: auto; }
.filter-title > span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 9px; background: var(--accent-soft); color: var(--accent); font-size: 18px; }
.filter-title b { display: block; margin-bottom: 3px; }
.analytics-filter label { min-width: 150px; }
.date-arrow { padding-bottom: 11px; color: var(--muted); }
.quick-ranges { display: flex; gap: 4px; padding-bottom: 1px; }
.quick-ranges button { border: 1px solid var(--line); background: #f8f8f9; border-radius: 7px; padding: 9px 10px; color: var(--muted); cursor: pointer; font-size: 11px; }
.quick-ranges button:hover { border-color: var(--accent); color: var(--accent); background: var(--accent-soft); }
.period-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; margin-bottom: 20px; }
.period-kpis > div { display: flex; align-items: center; gap: 13px; padding: 19px; background: #fff; border: 1px solid var(--line); border-radius: 13px; }
.period-kpis p { margin: 0; color: var(--muted); font-size: 11px; }
.period-kpis p b { display: block; margin: 3px 0; color: var(--ink); font-size: 24px; }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin: 28px 0 14px; }
.section-heading h2 { margin-bottom: 5px; font-size: 20px; }
.section-heading p { margin: 0; color: var(--muted); }
.section-heading a { color: var(--accent); font-weight: 650; }
.plant-overview-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; }
.plant-overview-grid > article { padding: 18px; background: #fff; border: 1px solid var(--line); border-radius: 13px; }
.plant-card-head { display: flex; align-items: center; gap: 11px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.plant-card-head h3 { margin: 0 0 4px; font-size: 16px; }
.plant-numbers { display: grid; grid-template-columns: repeat(4,1fr); gap: 5px; margin: 15px 0; }
.plant-numbers span { color: var(--muted); font-size: 10px; }
.plant-numbers b { display: block; margin-top: 4px; color: var(--ink); font-size: 18px; }
.plant-days { padding: 8px 10px; border-radius: 7px; background: #f5f5f7; color: var(--muted); font-size: 11px; }
.compact-empty { grid-column: 1/-1; padding: 32px 20px; }
.performer-analytics { margin-top: 25px; }
.period-caption { padding: 6px 9px; border-radius: 7px; background: #f3f3f5; color: var(--muted); font-size: 11px; font-weight: 650; }
.plant-tag,.position-tag { display: inline-flex; padding: 5px 8px; border-radius: 6px; background: #f1f1f3; font-size: 11px; font-weight: 650; }
.agency-plant-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-bottom: 25px; }
.agency-plant-card { overflow: hidden; }
.agency-list { display: grid; }
.agency-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 15px 19px; border-top: 1px solid var(--line); }
.agency-row:first-child { border-top: 0; }
.agency-name { display: flex; align-items: center; gap: 10px; min-width: 180px; }
.agency-name > span { width: 32px; height: 32px; display: grid; place-items: center; flex: none; border-radius: 8px; background: var(--accent-soft); color: var(--accent); font-weight: 800; }
.agency-name b { display: block; margin-bottom: 3px; }
.agency-metrics { display: grid; grid-template-columns: repeat(4,1fr); gap: 15px; min-width: 270px; }
.agency-metrics span { color: var(--muted); font-size: 9px; }
.agency-metrics b { display: block; margin-top: 3px; color: var(--ink); font-size: 15px; }
.performer-profile { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 22px; padding: 23px 25px; background: #26262c; color: #fff; border-radius: 16px; overflow: hidden; position: relative; }
.performer-profile::after { content: ""; position: absolute; right: -55px; bottom: -100px; width: 220px; height: 220px; border: 45px solid rgba(183,0,35,.17); border-radius: 50%; }
.profile-main { display: flex; align-items: center; gap: 17px; position: relative; z-index: 1; }
.profile-avatar { width: 62px; height: 62px; display: grid; place-items: center; flex: none; border-radius: 15px; background: var(--accent); font-size: 27px; font-weight: 800; }
.performer-profile h1 { margin: 0 0 9px; color: #fff; }
.performer-profile .eyebrow { color: #e7899b; }
.performer-profile > .btn { position: relative; z-index: 1; background: transparent; color: #fff; border-color: #55555d; }
.profile-tags { display: flex; gap: 7px; flex-wrap: wrap; }
.profile-tags span { padding: 5px 8px; border-radius: 6px; background: #393940; color: #d4d4d8; font-size: 11px; }
.profile-tags .active-tag { background: rgba(30,150,91,.18); color: #8be0b6; }
.profile-tags .archive-tag { background: rgba(183,0,35,.2); color: #ff9bad; }
.performer-kpis { margin-bottom: 20px; }
.performer-kpis .period-value { font-size: 14px; }
.tracker-profile-section { margin:25px 0; }
.tracker-profile-kpis { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:14px 0; }
.tracker-profile-kpis article { display:flex; align-items:center; gap:12px; padding:17px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.tracker-profile-kpis small { margin-bottom:4px; }
.tracker-profile-kpis b { font-size:19px; }
.pause-stat { background:#fff4df; color:#a86d00; }
.tracker-profile-kpis .violation-kpi .stat-icon { background:var(--accent-soft); color:var(--accent); }
.tracker-profile-grid { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(320px,.8fr); gap:14px; align-items:start; }
.tracker-history-card { min-width:0; }
.paused-badge { background:#fff4df; color:#9a6500; }
.violations-card { overflow:hidden; }
.violation-total { display:grid; place-items:center; min-width:30px; height:30px; border-radius:50%; background:var(--accent-soft); color:var(--accent); font-weight:800; }
.violation-timeline { max-height:520px; overflow-y:auto; }
.violation-timeline article { display:grid; grid-template-columns:104px 1fr; gap:13px; padding:16px 18px; border-top:1px solid var(--line); }
.violation-timeline time { color:var(--accent); font-size:10px; font-weight:800; }
.violation-timeline b { display:block; font-size:12px; }
.violation-timeline small { margin-top:4px; }
.violation-timeline p { margin:8px 0; color:#4e4e55; font-size:12px; line-height:1.5; white-space:normal; }
.violation-timeline a { color:var(--accent); font-size:11px; font-weight:700; }
.position-breakdown { margin-bottom: 20px; }
.position-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; padding: 18px; }
.position-list article { padding: 15px; border: 1px solid var(--line); border-radius: 10px; }
.position-title { display: flex; justify-content: space-between; align-items: flex-start; gap: 15px; }
.position-title b { display: block; margin-bottom: 4px; }
.position-title strong { white-space: nowrap; color: var(--accent); }
.position-bar { height: 6px; margin: 14px 0 10px; overflow: hidden; border-radius: 999px; background: #eeeef0; }
.position-bar i { display: block; height: 100%; min-width: 3px; border-radius: inherit; background: var(--accent); }
.position-meta { display: flex; justify-content: space-between; color: var(--muted); font-size: 10px; }
.calendar-card { margin-bottom: 20px; }
.year-switch { display: flex; align-items: center; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; }
.year-switch a,.year-switch b { padding: 8px 11px; }
.year-switch a { color: var(--accent); background: #fafafa; }
.year-switch b { border-left: 1px solid var(--line); border-right: 1px solid var(--line); }
.calendar-legend { display: flex; justify-content: flex-end; align-items: center; gap: 4px; padding: 12px 20px 0; color: var(--muted); font-size: 9px; }
.calendar-legend i { width: 12px; height: 12px; border-radius: 3px; }
.year-calendar { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; padding: 17px; }
.mini-month { padding: 13px; border: 1px solid var(--line); border-radius: 10px; }
.mini-month h3 { margin: 0 0 11px; font-size: 13px; }
.weekdays,.month-days { display: grid; grid-template-columns: repeat(7,1fr); gap: 3px; }
.weekdays { margin-bottom: 4px; color: #999; font-size: 8px; text-align: center; }
.month-days span { aspect-ratio: 1; display: grid; place-items: center; border-radius: 4px; color: #777; font-size: 9px; }
.month-days .outside { visibility: hidden; }
.month-days .worked { cursor: help; }
.level-0 { background: #f1f1f3; }
.level-1 { background: #f8cbd3; color: #7b0017!important; }
.level-2 { background: #eb8ca0; color: #5f0012!important; }
.level-3 { background: #ce3d59; color: #fff!important; }
.level-4 { background: var(--accent); color: #fff!important; }
.overnight-table { display: block; margin-top: 3px; color: #865b05; font-size: 9px; font-weight: 700; }
@media(max-width:1200px){.analytics-filter{flex-wrap:wrap}.filter-title{width:100%}.plant-overview-grid{grid-template-columns:1fr 1fr}.year-calendar{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.period-kpis{grid-template-columns:1fr 1fr}.agency-plant-grid{grid-template-columns:1fr}.year-calendar{grid-template-columns:1fr 1fr}.position-list{grid-template-columns:1fr}}
@media(max-width:760px){.analytics-filter{align-items:stretch}.analytics-filter label{flex:1}.date-arrow,.quick-ranges{display:none}.analytics-filter>.btn{width:100%}.plant-overview-grid{grid-template-columns:1fr}.period-kpis{grid-template-columns:1fr}.agency-row{align-items:flex-start;flex-direction:column}.agency-metrics{width:100%;min-width:0}.performer-profile{align-items:flex-start;flex-direction:column}.year-calendar{grid-template-columns:1fr}.calendar-head{align-items:flex-start;gap:14px}.plant-numbers{grid-template-columns:1fr 1fr}}
@media(max-width:1050px){.tracker-profile-grid{grid-template-columns:1fr}.tracker-profile-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.tracker-profile-kpis{grid-template-columns:1fr}.violation-timeline article{grid-template-columns:1fr}.violation-timeline time{margin-bottom:-6px}}

/* Employee identity */
.performer-identity { display:flex; align-items:center; gap:12px; margin-top:15px; padding:10px; border:1px solid var(--line); border-radius:10px; background:#fafafa; }
.performer-identity img { width:64px; height:64px; border:1px solid var(--line); border-radius:7px; background:#fff; }
.performer-identity>div { min-width:0; }
.performer-identity code { display:block; max-width:100%; margin:5px 0; overflow:hidden; text-overflow:ellipsis; color:var(--ink); font-size:10px; }
.performer-identity a { color:var(--accent); font-size:11px; font-weight:700; }
.guid-empty { display:flex; align-items:center; gap:10px; margin-top:15px; padding:12px; border:1px dashed #ccc; border-radius:10px; }
.guid-empty>span { width:38px; height:38px; display:grid; place-items:center; flex:none; border-radius:8px; background:#f1f1f3; color:var(--muted); font-size:10px; font-weight:800; }
.guid-empty>div { min-width:0; flex:1; }
.guid-empty b { display:block; font-size:12px; }
.guid-empty small { margin-top:3px; font-size:10px; }
.nav-beta { margin-left:auto; padding:2px 6px; border-radius:99px; background:rgba(255,255,255,.1); color:#eaa1ae; font-size:10px; font-style:normal; text-transform:uppercase; }
.beta-title { display:flex; align-items:center; gap:10px; }
.beta-title h1 { margin-bottom:8px; }
.beta-title span { margin-bottom:8px; padding:4px 8px; border-radius:99px; background:var(--accent-soft); color:var(--accent); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.8px; }
.beta-access { min-height:620px; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr); align-items:center; gap:70px; padding:50px 7%; border-radius:20px; background:#26262c; color:#fff; position:relative; overflow:hidden; }
.beta-access::after { content:""; position:absolute; right:-110px; bottom:-180px; width:390px; height:390px; border:80px solid rgba(183,0,35,.16); border-radius:50%; }
.beta-access-copy,.beta-access-form { position:relative; z-index:1; }
.beta-mark { display:grid; place-items:center; width:58px; height:58px; margin-bottom:30px; border-radius:15px; background:var(--accent); color:#fff; font-size:31px; font-weight:800; }
.beta-access .eyebrow { color:#e7899b; }
.beta-access-copy h1 { max-width:700px; color:#fff; font-size:43px; line-height:1.08; }
.beta-access-copy>p { max-width:620px; color:#bdbdc4; font-size:16px; line-height:1.7; }
.beta-notes { display:flex; gap:20px; margin-top:30px; color:#d3d3d8; font-size:11px; }
.beta-notes span { padding-left:18px; position:relative; }
.beta-notes span::before { content:"✓"; position:absolute; left:0; color:#5bc58d; font-weight:800; }
.beta-access-form { padding:30px; color:var(--ink); }
.beta-access-form h2 { margin-bottom:8px; font-size:26px; }
.beta-access-form>p { margin-bottom:25px; color:var(--muted); line-height:1.5; }
.beta-access-form label { margin-bottom:18px; }
.beta-access-form .password input { width:100%; padding:13px 45px 13px 12px; }
.beta-access-form>small { margin-top:15px; text-align:center; }

/* Admin line builder */
.line-filter { justify-content:flex-start; gap:24px; }
.line-filter>span { margin-left:auto; color:var(--muted); }
.line-admin-layout { display:grid; grid-template-columns:260px minmax(0,1fr); gap:16px; align-items:start; }
.line-list { overflow:hidden; }
.line-list nav { padding:8px; display:grid; gap:4px; }
.line-list nav a { display:flex; align-items:center; justify-content:space-between; padding:12px; border-radius:9px; }
.line-list nav a:hover,.line-list nav a.active { background:var(--accent-soft); color:var(--accent); }
.line-list nav a b { display:block; color:var(--ink); }
.line-list nav a small { margin-top:4px; }
.line-list nav a i { font-style:normal; }
.empty-list { padding:25px 12px; color:var(--muted); text-align:center; }
.line-builder { position:relative; overflow:hidden; }
.line-builder-head { display:flex; justify-content:space-between; align-items:end; gap:18px; padding:20px 22px; border-bottom:1px solid var(--line); }
.line-builder-head label { flex:1; max-width:440px; }
.line-builder-head label input { width:100%; font-size:17px; font-weight:750; }
.line-builder-head>div { display:flex; gap:8px; }
.builder-help { display:flex; gap:24px; padding:11px 22px; background:#fafafa; border-bottom:1px solid var(--line); color:var(--muted); font-size:11px; }
.builder-help span::before { content:"✓"; margin-right:6px; color:var(--green); font-weight:800; }
.line-canvas { min-height:330px; padding:28px 22px 72px; display:grid; gap:10px; background-image:radial-gradient(#dedee2 .8px,transparent .8px); background-size:18px 18px; }
.line-editor-block { display:grid; grid-template-columns:30px 42px minmax(190px,1fr) 62px 90px 36px; align-items:center; gap:11px; max-width:820px; padding:13px; border:1px solid var(--line); border-left:3px solid var(--accent); border-radius:12px; background:#fff; box-shadow:0 5px 16px rgba(20,20,25,.05); }
.line-editor-block.dragging { opacity:.45; }
.drag-handle { cursor:grab; color:#aaa; text-align:center; font-weight:800; }
.block-number { display:grid; place-items:center; width:36px; height:36px; border-radius:8px; background:var(--accent-soft); color:var(--accent); font-weight:800; }
.line-editor-block label { color:var(--muted); font-size:10px; }
.line-editor-block label input { width:100%; padding:7px 9px; border:0; border-bottom:1px solid var(--line); border-radius:0; color:var(--ink); font-size:14px; font-weight:700; }
.capacity-field select { width:100%; padding:7px; font-weight:750; }
.capacity-dots { display:flex; gap:4px; }
.capacity-dots i { width:9px; height:9px; border-radius:50%; background:#ddd; }
.capacity-dots i.used { background:var(--green); }
.archive-line { position:absolute; bottom:18px; right:22px; }
.line-empty { min-height:430px; }

/* Manager allocation tracker */
.tracker-heading { align-items:center; }
.live-indicator { display:flex; align-items:center; gap:8px; color:var(--green); font-weight:700; }
.live-indicator i { width:9px; height:9px; border-radius:50%; background:var(--green); box-shadow:0 0 0 5px var(--green-bg); }
.tracker-toolbar { display:flex; align-items:center; justify-content:space-between; padding:14px 18px; margin-bottom:16px; }
.tracker-toolbar label { display:flex; align-items:center; gap:10px; }
.tracker-toolbar select { min-width:250px; font-weight:750; }
.tracker-stats { display:flex; align-items:center; gap:8px; }
.tracker-stats span { min-width:110px; padding:8px 14px; border-left:1px solid var(--line); color:var(--muted); font-size:11px; }
.tracker-stats b { display:block; margin-top:2px; color:var(--ink); font-size:19px; }
.tracker-stats .pause-color { color:#b47400; }
.finish-line-shift { margin-left:12px; }.finish-line-shift .btn { white-space:nowrap; }.finish-line-shift .btn b { display:grid; place-items:center; min-width:23px; height:23px; padding:0 5px; border-radius:99px; background:rgba(255,255,255,.2); }
.tracker-line-card { overflow:hidden; }
.tracker-line-head { display:flex; align-items:center; justify-content:space-between; padding:20px 22px; border-bottom:1px solid var(--line); }
.tracker-line-head h2 { margin:0; }
.tracker-legend { display:flex; gap:15px; color:var(--muted); font-size:11px; }
.tracker-legend span { display:flex; align-items:center; gap:6px; }
.tracker-legend i { width:8px; height:8px; border-radius:50%; }
.active-dot { background:var(--green); }.paused-dot { background:#eba329; }.free-dot { background:#d9d9de; }
.tracker-canvas { padding:24px; overflow-x:auto; background:#fafafa; }
.tracker-flow { display:flex; align-items:flex-start; gap:22px; min-width:max-content; }
.tracker-block { position:relative; width:300px; border:1px solid #dcdce0; border-radius:13px; background:#fff; }
.tracker-block:not(:last-child)::after { content:"→"; position:absolute; right:-18px; top:23px; color:#aaa; font-size:17px; }
.tracker-block>header { display:grid; grid-template-columns:34px 1fr auto; align-items:center; gap:8px; padding:13px; border-bottom:1px solid var(--line); }
.tracker-block>header>span { color:var(--accent); font-weight:800; }
.tracker-block>header>small { display:inline; padding:3px 7px; border-radius:99px; background:#f1f1f3; }
.assignment-list { padding:9px; display:grid; gap:6px; }
.assignment { position:relative; display:grid; grid-template-columns:30px minmax(0,1fr) auto 33px; align-items:center; gap:8px; min-height:54px; padding:8px; border:1px solid #cde8da; border-radius:9px; background:var(--green-bg); }
.assignment.paused { border-color:#f1d8a5; background:#fff8e8; }
.initials { width:30px; height:30px; display:grid; place-items:center; border-radius:50%; background:#fff; color:var(--accent); font-size:12px; font-weight:800; }
.assignment b { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; }
.assignment small { margin-top:3px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:9px; }
.shift-time { display:flex; align-items:center; gap:5px; margin-top:5px; color:var(--muted); font-size:8px; }.shift-time i,.shift-time em { font-style:normal; }.shift-time strong { color:var(--green); }.assignment.paused .shift-time strong { color:#a56a00; }
.violation-count { display:inline-flex; margin-top:4px; padding:2px 6px; border-radius:99px; background:#ffe1e6; color:var(--accent); font-size:9px; font-weight:800; }
.assignment-state { color:var(--green); font-size:9px; font-weight:800; }
.assignment.paused .assignment-state { color:#b47400; }
.assignment details { position:relative; }
.assignment summary { display:grid; place-items:center; list-style:none; font-size:10px; }
.assignment summary::-webkit-details-marker { display:none; }
.assignment-menu { position:absolute; right:0; top:38px; z-index:5; width:180px; padding:5px; border:1px solid var(--line); border-radius:9px; background:#fff; box-shadow:var(--shadow); }
.assignment-menu button { width:100%; padding:9px; border:0; border-radius:6px; background:#fff; text-align:left; cursor:pointer; font-size:11px; }
.assignment-menu button:hover { background:#f5f5f7; }
.free-slot { min-height:44px; display:flex; align-items:center; gap:8px; padding:8px; border:1px dashed #d5d5da; border-radius:9px; background:#fff; color:var(--muted); cursor:pointer; text-align:left; font-size:10px; }
.free-slot:hover { border-color:var(--accent); color:var(--accent); background:var(--accent-soft); }
.free-slot span { width:27px; height:27px; display:grid; place-items:center; border-radius:50%; background:#f1f1f3; font-size:16px; }
.tracker-empty { width:100%; min-width:500px; }
.assignment-modal .modal-body { gap:14px; }
.assignment-modal label input { width:100%; }
.scan-actions { display:flex; align-items:center; gap:12px; }
.scan-actions span { color:var(--muted); font-size:10px; }
.scanner-hint { margin:0; padding:10px 12px; border-radius:8px; background:#f4f4f6; color:var(--muted); font-size:11px; line-height:1.45; }
.qr-scanner { overflow:hidden; border-radius:10px; background:#202027; color:#fff; text-align:center; position:relative; }
.qr-scanner video { display:block; width:100%; max-height:260px; object-fit:cover; }
.qr-scanner p { margin:0; padding:9px; color:#ddd; font-size:11px; }
.scanner-frame { position:absolute; left:50%; top:calc(50% - 20px); width:min(52vw,190px); aspect-ratio:1; border:3px solid rgba(255,255,255,.9); border-radius:16px; transform:translate(-50%,-50%); box-shadow:0 0 0 999px rgba(0,0,0,.18); pointer-events:none; }
.performer-results { display:grid; gap:7px; max-height:260px; overflow-y:auto; }
.performer-results>p { margin:0; padding:25px; border:1px dashed var(--line); border-radius:9px; text-align:center; font-size:12px; }
.performer-result { display:grid; grid-template-columns:34px 1fr auto; align-items:center; gap:9px; padding:10px; border:1px solid var(--line); border-radius:9px; background:#fff; text-align:left; cursor:pointer; }
.performer-result:hover:not(:disabled) { border-color:var(--accent); background:var(--accent-soft); }
.performer-result:disabled { opacity:.55; cursor:not-allowed; }
.performer-result b { display:block; }.performer-result small { margin-top:3px; }.performer-result i { color:var(--accent); font-style:normal; font-weight:750; }
.violation-modal textarea { min-height:120px; }
.violation-modal input[type=file] { width:100%; padding:9px; }
.violation-note { margin:0!important; padding:10px 12px; border-radius:8px; background:var(--accent-soft); color:#77515a!important; font-size:11px; }

/* Administrative reports */
.report-filter { display:grid; grid-template-columns:minmax(230px,1fr) repeat(3,minmax(145px,190px)) auto; gap:12px; align-items:end; }
.report-filter .filter-title { margin:0; }
.report-kpis { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; margin:16px 0; }
.report-kpis article { padding:17px 18px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.report-kpis small { margin-bottom:6px; }.report-kpis b { font-size:22px; }
.report-kpis .danger-kpi { border-color:#f2cad2; background:var(--accent-soft); }.report-kpis .danger-kpi b { color:var(--accent); }
.report-preview .wrap-cell { max-width:250px; white-space:normal; line-height:1.4; }
.violation-cell { display:inline-grid; place-items:center; min-width:26px; height:26px; border-radius:50%; background:var(--accent-soft); color:var(--accent); font-weight:800; }
.excel-sheet-guide { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:14px; }
.excel-sheet-guide article { padding:15px 17px; border:1px solid var(--line); border-left:3px solid var(--accent); border-radius:10px; background:#fff; }
.excel-sheet-guide b { display:block; margin-bottom:4px; }.excel-sheet-guide span { color:var(--muted); font-size:11px; }

/* Administrative canvas */
.canvas-page .content { max-width:none; padding-bottom:35px; }
.canvas-heading { align-items:center; margin-bottom:17px; }
.canvas-live { display:flex; align-items:center; gap:9px; color:var(--green); font-weight:750; }
.canvas-live i { width:10px; height:10px; border-radius:50%; background:var(--green); box-shadow:0 0 0 5px var(--green-bg); }
.canvas-toolbar { display:grid; grid-template-columns:minmax(220px,1fr) auto auto; align-items:center; gap:18px; padding:12px 15px; margin-bottom:12px; }
.canvas-toolbar form label { display:flex; align-items:center; gap:10px; }.canvas-toolbar select { min-width:250px; font-weight:750; }
.canvas-stats { display:flex; }.canvas-stats span { min-width:85px; padding:4px 12px; border-left:1px solid var(--line); color:var(--muted); font-size:10px; }.canvas-stats b { display:block; margin-top:3px; color:var(--ink); font-size:17px; }.green-text{color:var(--green)!important}.amber-text{color:#a56a00!important}
.canvas-controls { display:flex; gap:5px; }.canvas-controls button:disabled { opacity:.4; cursor:not-allowed; }
.production-canvas { height:calc(100vh - 290px); min-height:500px; overflow:hidden; position:relative; cursor:grab; touch-action:none; background-color:#f8f8fa; background-image:radial-gradient(#d5d5da .9px,transparent .9px); background-size:20px 20px; }
.production-canvas.dragging { cursor:grabbing; }
.canvas-stage { width:max-content; min-width:100%; display:grid; gap:28px; padding:0 0 40px; transform-origin:0 0; will-change:transform; }
.canvas-line { min-width:max-content; padding:18px; border:1px solid #dedee2; border-radius:17px; background:rgba(255,255,255,.94); box-shadow:0 8px 28px rgba(30,28,32,.06); }
.canvas-line>header { display:flex; align-items:center; gap:12px; margin-bottom:15px; padding:0 4px; }
.canvas-line>header h2 { margin:0; font-size:18px; }.canvas-line>header .eyebrow { margin-bottom:3px; }.line-code { display:grid; place-items:center; width:40px; height:40px; border-radius:10px; background:#26262c; color:#fff; font-weight:800; }
.canvas-blocks { display:flex; align-items:flex-start; gap:27px; }
.canvas-block { position:relative; width:280px; overflow:visible; border:1px solid var(--line); border-top:3px solid var(--accent); border-radius:13px; background:#fff; }
.canvas-block:not(:last-child)::after { content:""; position:absolute; right:-28px; top:30px; width:27px; border-top:2px solid #bbbcc2; }.canvas-block:not(:last-child)::before { content:"›"; position:absolute; right:-30px; top:18px; z-index:2; color:#9c9ca3; font-size:20px; }
.canvas-block-head { display:grid; grid-template-columns:30px 1fr 28px; align-items:center; gap:8px; padding:12px 13px; border-bottom:1px solid var(--line); }
.canvas-block-head>span { color:var(--accent); font-weight:800; }.canvas-block-head b { display:block; font-size:13px; }.canvas-block-head small { margin-top:3px; font-size:9px; }
.occupancy-ring { width:25px; height:25px; border-radius:50%; background:conic-gradient(var(--green) var(--fill),#e8e8eb 0); position:relative; }.occupancy-ring::after { content:""; position:absolute; inset:5px; border-radius:50%; background:#fff; }
.canvas-people { display:grid; gap:6px; padding:9px; }
.canvas-person { display:grid; grid-template-columns:30px 1fr auto; align-items:center; gap:8px; min-height:54px; padding:8px; border:1px solid #cde8da; border-radius:9px; background:var(--green-bg); }
.canvas-person.paused { border-color:#f2d69c; background:#fff7e6; }.canvas-person b { display:block; max-width:135px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; }.canvas-person small,.canvas-person em { display:block; margin-top:2px; max-width:140px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:8px; font-style:normal; }.canvas-person em { color:#8a8a91; }
.canvas-person-meta { display:grid; justify-items:end; gap:4px; }.canvas-person-meta span { color:var(--green); font-size:8px; font-weight:800; }.canvas-person.paused .canvas-person-meta span { color:#a56a00; }.canvas-person-meta strong { padding:2px 5px; border-radius:99px; background:#ffe1e6; color:var(--accent); font-size:8px; }
.canvas-free-slot { display:flex; align-items:center; gap:8px; min-height:39px; padding:7px 9px; border:1px dashed #d8d8dc; border-radius:8px; color:#aaa; }.canvas-free-slot>span { display:grid; place-items:center; width:24px; height:24px; border-radius:50%; background:#f1f1f3; }.canvas-free-slot small { display:inline; }
.canvas-line-empty,.canvas-global-empty { padding:40px; color:var(--muted); text-align:center; }.canvas-global-empty { width:calc(100vw - 360px); padding-top:150px; }.canvas-global-empty>span { display:grid; place-items:center; width:55px; height:55px; margin:0 auto 14px; border-radius:14px; background:var(--accent-soft); color:var(--accent); font-size:24px; }
.canvas-legend { display:flex; align-items:center; gap:17px; padding:12px 4px; color:var(--muted); font-size:10px; }.canvas-legend span { display:flex; align-items:center; gap:6px; }.canvas-legend i { width:8px; height:8px; border-radius:50%; }.canvas-legend small { margin-left:auto; }

@media(max-width:1200px){.report-kpis{grid-template-columns:repeat(3,1fr)}.excel-sheet-guide{grid-template-columns:1fr 1fr}.canvas-toolbar{grid-template-columns:1fr auto}.canvas-stats{grid-column:1/-1;order:3}.production-canvas{height:650px}}
@media(max-width:760px){.report-filter{display:flex;align-items:stretch;flex-direction:column}.report-kpis{grid-template-columns:1fr 1fr}.excel-sheet-guide{grid-template-columns:1fr}.canvas-toolbar{grid-template-columns:1fr auto}.canvas-toolbar form label{align-items:stretch;flex-direction:column}.canvas-toolbar select{min-width:0;width:100%}.canvas-stats{overflow-x:auto}.canvas-stats span{min-width:83px}.canvas-heading{align-items:flex-start}.canvas-controls{align-self:end}.production-canvas{height:600px}.canvas-legend{flex-wrap:wrap}.canvas-legend small{width:100%;margin-left:0}}

@media(max-width:1050px){.line-admin-layout{grid-template-columns:1fr}.line-list nav{display:flex;overflow-x:auto}.line-list nav a{min-width:190px}.tracker-toolbar{align-items:flex-start;gap:15px;flex-wrap:wrap}.tracker-stats{flex-wrap:wrap;justify-content:flex-end}.finish-line-shift{margin-left:auto}.beta-access{grid-template-columns:1fr;gap:35px;padding:45px}.beta-access-copy h1{font-size:37px}.beta-access-form{max-width:560px;width:100%}}
@media(max-width:760px){.performer-identity{align-items:flex-start}.guid-empty{align-items:flex-start;flex-wrap:wrap}.guid-empty .btn{width:100%}.line-filter{align-items:stretch;flex-direction:column}.line-filter>span{margin-left:0}.line-builder-head{align-items:stretch;flex-direction:column}.line-builder-head>div{display:grid}.builder-help{align-items:flex-start;flex-direction:column;gap:6px}.line-editor-block{grid-template-columns:25px 36px minmax(120px,1fr) 55px 35px}.capacity-dots{grid-column:3}.line-editor-block>.icon-btn{grid-column:5;grid-row:1}.archive-line{position:static;padding:0 20px 20px}.tracker-toolbar{align-items:stretch;flex-direction:column}.tracker-toolbar label{align-items:stretch;flex-direction:column}.tracker-toolbar select{min-width:0}.tracker-stats{justify-content:flex-start}.tracker-stats span{min-width:90px}.finish-line-shift{width:100%;margin-left:0}.finish-line-shift .btn{width:100%}.tracker-line-head{align-items:flex-start;flex-direction:column;gap:14px}.tracker-legend{flex-wrap:wrap}.scan-actions{align-items:flex-start;flex-direction:column}.assignment-modal footer{flex-wrap:wrap}.assignment-modal footer .btn{flex:1}.beta-access{min-height:0;padding:27px 20px}.beta-access-copy h1{font-size:30px}.beta-access-copy>p{font-size:14px}.beta-notes{align-items:flex-start;flex-direction:column}.beta-access-form{padding:22px}}
.scalable-filter { display: grid; grid-template-columns: minmax(210px,1fr) repeat(4,minmax(125px,170px)) auto auto; align-items: end; }
.scalable-filter .filter-title { margin: 0; }
.compact-kpis > div { padding: 16px 18px; }
.operations-section { margin: 27px 0; }
.operations-heading { align-items: flex-end; }
.operations-legend { display: flex; gap: 7px; }
.operations-legend span { padding: 6px 9px; border-radius: 7px; background: #f0f0f2; color: var(--muted); font-size: 10px; }
.operations-table { min-width: 920px; overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 14px; }
.operations-header,.plant-operation > summary { display: grid; grid-template-columns: minmax(190px,1.5fr) .65fr .75fr .65fr .6fr .65fr 1.15fr 24px; align-items: center; gap: 12px; }
.operations-header { padding: 10px 17px; background: #f7f7f8; color: #85858c; font-size: 9px; text-transform: uppercase; letter-spacing: .6px; font-weight: 700; }
.plant-operation { border-top: 1px solid var(--line); }
.plant-operation:first-of-type { border-top: 0; }
.plant-operation > summary { padding: 13px 17px; cursor: pointer; list-style: none; transition: background .15s; }
.plant-operation > summary::-webkit-details-marker { display: none; }
.plant-operation > summary:hover { background: #fafafa; }
.selected-operation > summary { background: var(--accent-soft); }
.operation-plant { display: flex; align-items: center; gap: 10px; min-width: 0; }
.operation-plant > i { width: 38px; padding: 5px 3px; flex: none; border-radius: 6px; background: #ececef; color: #626269; text-align: center; font: 700 9px monospace; }
.operation-plant > b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.operation-number b { font-size: 20px; }
.operation-number small,.plant-operation summary > span > small { display: inline; margin-left: 3px; font-size: 9px; }
.delta { display: inline-flex; justify-content: center; min-width: 38px; padding: 5px 7px; border-radius: 999px; font-style: normal; font-size: 11px; font-weight: 750; }
.delta.up { background: var(--green-bg); color: var(--green); }
.delta.down { background: var(--accent-soft); color: var(--accent); }
.delta.flat { background: #f0f0f2; color: #777; }
.period-mini b { display: block; font-size: 11px; }
.period-mini small { display: block!important; margin: 3px 0 0!important; color: var(--muted); }
.details-arrow { color: #888; font-style: normal; font-size: 18px; transition: transform .2s; }
.plant-operation[open] .details-arrow { transform: rotate(180deg); }
.operation-details { padding: 0 17px 15px 65px; background: #fafafa; }
.agency-detail-header,.agency-detail-row { display: grid; grid-template-columns: minmax(180px,1.5fr) repeat(6,minmax(80px,.7fr)); align-items: center; gap: 10px; }
.agency-detail-header { padding: 10px 12px; color: #929298; font-size: 8px; text-transform: uppercase; letter-spacing: .5px; }
.agency-detail-row { padding: 10px 12px; margin-top: 4px; background: #fff; border: 1px solid var(--line); border-radius: 8px; font-size: 11px; }
.agency-detail-row > span:first-child { display: grid; grid-template-columns: 28px 1fr; column-gap: 8px; align-items: center; }
.agency-detail-row > span:first-child i { grid-row: span 2; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 6px; background: var(--accent-soft); color: var(--accent); font-style: normal; font-weight: 800; }
.agency-detail-row > span:first-child small { margin-top: 2px; font-size: 8px; }
.operation-empty { padding: 20px; color: var(--muted); text-align: center; }
.scalable-chart .card-head { align-items: flex-start; }
.chart-controls { display: grid; justify-items: end; gap: 9px; }
.metric-switch { display: flex; padding: 3px; border-radius: 8px; background: #f0f0f2; }
.metric-switch button { border: 0; padding: 7px 11px; border-radius: 6px; background: transparent; color: var(--muted); font-size: 10px; font-weight: 650; cursor: pointer; }
.metric-switch button.active { background: #fff; color: var(--accent); box-shadow: 0 2px 7px rgba(0,0,0,.08); }
.dashboard-detail-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 18px; margin-top: 20px; }
.detail-scroll { max-height: 520px; overflow: auto; }
.detail-scroll thead { position: sticky; top: 0; z-index: 1; }
@media(max-width:1250px){.scalable-filter{grid-template-columns:repeat(4,1fr)}.scalable-filter .filter-title{grid-column:1/-1}.scalable-filter .quick-ranges{display:none}.operations-table{overflow-x:auto}.dashboard-detail-grid{grid-template-columns:1fr}}
@media(max-width:760px){.scalable-filter{display:flex;flex-direction:column;align-items:stretch}.operations-section{overflow-x:auto}.operations-heading{align-items:flex-start}.operations-legend{flex-wrap:wrap}.scalable-chart .card-head{flex-direction:column}.chart-controls{justify-items:start}.chart-legend{justify-content:flex-start}}
.guide-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 25px; padding: 27px 30px; overflow: hidden; position: relative; border-radius: 16px; background: #27272d; color: #fff; }
.guide-hero::after { content: "?"; position: absolute; right: 35px; top: -65px; color: rgba(183,0,35,.17); font-size: 190px; font-weight: 900; line-height: 1; }
.guide-hero > * { position: relative; z-index: 1; }
.guide-hero h1 { margin-bottom: 8px; color: #fff; }
.guide-hero p { margin: 0; color: #bdbdc4; font-size: 15px; }
.guide-hero .btn { background: transparent; color: #fff; border-color: #55555e; }
.guide-layout { display: grid; grid-template-columns: 230px minmax(0,1fr); gap: 22px; align-items: start; }
.guide-toc { position: sticky; top: 94px; display: grid; gap: 4px; padding: 15px; background: #fff; border: 1px solid var(--line); border-radius: 12px; }
.guide-toc > b { padding: 7px 9px 12px; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: 1px; }
.guide-toc a { padding: 9px; border-radius: 7px; color: #65656c; font-size: 12px; }
.guide-toc a:hover { background: var(--accent-soft); color: var(--accent); }
.guide-content { display: grid; gap: 18px; }
.guide-content > section { padding: 27px 30px; scroll-margin-top: 90px; background: #fff; border: 1px solid var(--line); border-radius: 14px; }
.guide-content h2 { margin: 0 0 17px; font-size: 22px; }
.guide-content h3 { margin: 23px 0 8px; font-size: 14px; }
.guide-content p { color: #65656d; line-height: 1.7; }
.guide-number { float: right; margin: -4px 0 10px 15px; color: #ededf0; font-size: 44px; font-weight: 850; line-height: 1; }
.guide-callout,.guide-warning { margin: 18px 0 3px; padding: 16px 18px; border-left: 3px solid var(--accent); border-radius: 0 9px 9px 0; background: var(--accent-soft); }
.guide-callout.neutral { border-color: #777; background: #f3f3f5; }
.guide-callout b,.guide-warning b { display: block; margin-bottom: 5px; }
.guide-callout p,.guide-warning p { margin: 0; }
.guide-warning { border-color: #d47a23; background: #fff6e9; }
.guide-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin: 16px 0; }
.guide-grid div { padding: 14px; border: 1px solid var(--line); border-radius: 9px; }
.guide-grid b,.guide-grid span { display: block; }
.guide-grid span { margin-top: 5px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.guide-steps { display: grid; gap: 9px; }
.guide-steps > div { display: flex; align-items: flex-start; gap: 12px; padding: 13px; border: 1px solid var(--line); border-radius: 9px; }
.guide-steps i { width: 28px; height: 28px; display: grid; place-items: center; flex: none; border-radius: 50%; background: var(--accent); color: #fff; font-style: normal; font-weight: 750; }
.guide-steps p { margin: 0; }
.guide-steps b,.guide-steps span { display: block; }
.guide-steps span { margin-top: 3px; color: var(--muted); font-size: 11px; }
.guide-checklist { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.guide-checklist span { padding: 11px 13px; border-radius: 8px; background: #f5f5f7; color: #55555d; }
.guide-checklist span::first-letter { color: var(--green); }
.guide-flow { display: flex; align-items: center; gap: 8px; margin: 18px 0; }
.guide-flow span { flex: 1; padding: 11px; border: 1px solid var(--line); border-radius: 8px; text-align: center; font-size: 11px; font-weight: 650; }
.guide-flow i { color: var(--accent); font-style: normal; }
.guide-list { display: grid; gap: 8px; padding-left: 22px; color: #5f5f67; line-height: 1.6; }
.guide-faq { border-top: 1px solid var(--line); }
.guide-faq:first-of-type { border-top: 0; }
.guide-faq summary { padding: 15px 4px; cursor: pointer; font-weight: 700; }
.guide-faq p { margin: -3px 4px 15px; }
.guide-example { display: flex; align-items: center; gap: 12px; margin: 18px 0; padding: 16px; border-radius: 10px; background: #28282e; color: #fff; }
.guide-example span { padding: 8px 10px; border-radius: 6px; background: #3b3b42; font: 700 16px monospace; }
.guide-example i { color: #d0d0d5; font-style: normal; }
.guide-example b { margin-left: auto; color: #ffb1c0; }
.guide-content code { padding: 2px 5px; border-radius: 4px; background: #f0f0f2; color: var(--accent); }
@media(max-width:950px){.guide-layout{grid-template-columns:1fr}.guide-toc{position:static;grid-template-columns:repeat(2,1fr)}.guide-toc>b{grid-column:1/-1}.guide-grid{grid-template-columns:1fr}.guide-flow{align-items:stretch;flex-direction:column}.guide-flow i{transform:rotate(90deg)}}
@media(max-width:760px){.guide-hero{align-items:flex-start;flex-direction:column;padding:22px}.guide-content>section{padding:21px}.guide-toc{grid-template-columns:1fr}.guide-checklist{grid-template-columns:1fr}.guide-example{align-items:flex-start;flex-wrap:wrap}.guide-example b{width:100%;margin:0}}
