/*
Signal Labs
Area: Signal Schedule
File: schedule/pages/rules/mandation.css
Version: v5.14.0
Purpose: Mandation Engine Foundation styling
*/
.mandation-shell { width:min(1180px,calc(100% - 32px)); margin:0 auto 56px; color:#e5eefb; }
.mandation-hero, .mandation-panel, .mandation-card, .mandation-list-section { border:1px solid rgba(148,163,184,.24); border-radius:24px; background:rgba(15,23,42,.72); box-shadow:0 18px 40px rgba(15,23,42,.16); }
.mandation-hero { padding:28px; margin-bottom:18px; }
.mandation-hero h1 { margin:0 0 10px; font-size:clamp(2rem,4vw,3.4rem); }
.mandation-hero p, .mandation-panel p, .mandation-card p, .mandation-list-section p, .mandation-card dd { color:rgba(226,232,240,.78); line-height:1.65; }
.mandation-grid { display:grid; grid-template-columns:minmax(280px,370px) 1fr; gap:18px; align-items:start; }
.mandation-panel, .mandation-card, .mandation-list-section { padding:22px; }
.mandation-summary { display:grid; gap:10px; margin:16px 0; }
.mandation-stat { padding:14px; border:1px solid rgba(148,163,184,.22); border-radius:16px; background:rgba(30,41,59,.52); }
.mandation-stat strong { display:block; font-size:1.7rem; color:#fff; }
.mandation-stat span { color:rgba(226,232,240,.72); font-weight:800; }
.mandation-view-toggle { display:flex; flex-wrap:wrap; gap:8px; margin:16px 0; }
.mandation-view-toggle button { min-height:36px; border:1px solid rgba(148,163,184,.3); border-radius:999px; padding:7px 12px; background:rgba(30,41,59,.7); color:#f8fafc; font-weight:850; cursor:pointer; }
.mandation-view-toggle button[aria-pressed="true"] { border-color:rgba(34,197,94,.7); background:rgba(34,197,94,.14); }
.mandation-status-line { margin:14px 0 0; font-weight:850; color:rgba(125,211,252,.92); }
.policy-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(185px,1fr)); gap:10px; margin:16px 0; }
.policy-item { padding:12px; border-radius:16px; border:1px solid rgba(125,211,252,.24); background:rgba(14,165,233,.10); }
.policy-item span { display:block; color:rgba(226,232,240,.68); font-size:.75rem; text-transform:uppercase; letter-spacing:.08em; font-weight:900; }
.policy-item strong { display:block; color:#fff; margin-top:4px; }
.mandation-section-header { display:flex; justify-content:space-between; gap:16px; align-items:start; margin-bottom:14px; }
.mandation-section-header h2 { margin:0 0 6px; }
.mandation-list { display:grid; gap:14px; }
.mandation-card { background:rgba(30,41,59,.52); }
.mandation-card__top { display:flex; justify-content:space-between; gap:14px; align-items:start; }
.mandation-eyebrow { margin:0 0 6px; text-transform:uppercase; font-size:.76rem; font-weight:900; letter-spacing:.09em; color:rgba(125,211,252,.9)!important; }
.mandation-card h3 { margin:0; color:#fff; }
.mandation-status { display:inline-flex; align-items:center; border-radius:999px; border:1px solid rgba(34,197,94,.45); padding:6px 10px; color:#dcfce7; background:rgba(34,197,94,.12); font-weight:850; white-space:nowrap; }
.mandation-status.is-skipped, .mandation-status.is-unavailable, .mandation-status.is-temporarily-exempt { border-color:rgba(251,191,36,.42); color:#fef3c7; background:rgba(251,191,36,.1); }
.mandation-status.is-selected, .mandation-status.is-eligible { border-color:rgba(34,197,94,.45); color:#dcfce7; background:rgba(34,197,94,.12); }
.mandation-meta { display:grid; grid-template-columns:repeat(auto-fit,minmax(185px,1fr)); gap:10px; margin:16px 0; }
.mandation-meta div { padding:12px; border-radius:14px; background:rgba(15,23,42,.48); border:1px solid rgba(148,163,184,.18); }
.mandation-meta dt { font-size:.75rem; text-transform:uppercase; letter-spacing:.08em; font-weight:900; color:rgba(226,232,240,.62); }
.mandation-meta dd { margin:5px 0 0; }
.rule-list, .mandation-rules ul { margin:10px 0 0 18px; color:rgba(226,232,240,.78); line-height:1.6; }
.rule-pass { color:#bbf7d0; font-weight:800; }
.rule-fail { color:#fde68a; font-weight:800; }
.reason-box { padding:12px 14px; border-radius:16px; border:1px solid rgba(125,211,252,.28); background:rgba(14,165,233,.1); color:#dbeafe; margin:12px 0; }
.override-box { padding:12px 14px; border-radius:16px; border:1px solid rgba(251,191,36,.36); background:rgba(251,191,36,.1); color:#fef3c7; margin:12px 0; }
.mandation-card details { border-top:1px solid rgba(148,163,184,.18); padding-top:10px; margin-top:12px; }
.mandation-card summary { cursor:pointer; font-weight:900; color:#f8fafc; }
.employee-mode .supervisor-only { display:none; }
.mandation-rules { margin-top:18px; }
.mandation-empty { padding:18px; border:1px dashed rgba(148,163,184,.32); border-radius:18px; }
@media (max-width:820px){ .mandation-shell{width:min(100% - 20px,1180px)} .mandation-grid{grid-template-columns:1fr} .mandation-card__top,.mandation-section-header{display:block} .mandation-status{margin-top:10px} }
