/* Visual language from docs/poc/dashboard-indigo.webp (roadmap 11d): indigo accent on neutral surfaces, light navigation shell. */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&display=swap');
:root { --bg:#F6F7FA; --surface:#fff; --ink:#192237; --body:#465368; --muted:#66728a; --line:#E5E8EF; --line2:#eef0f5; --indigo:#6254E8; --indigo-dark:#5146D6; --lavender:#F0EEFF; --lavender-ink:#4a3fc4; --green:#157a62; --green-bg:#eaf8f2; --amber:#8f6120; --amber-bg:#fff6e5; --red:#b24b49; --red-bg:#fdf0ef; --radius:13px; --shadow:0 1px 2px rgba(25,34,55,.04),0 2px 8px rgba(25,34,55,.05); }
html { font-family:'DM Sans',Inter,system-ui,-apple-system,sans-serif; letter-spacing:-.08px; accent-color:var(--indigo); }
::selection { background:#dcd8fb; color:var(--ink); }
a:focus-visible, button:focus-visible, summary:focus-visible, .days label:has(input:focus-visible), .radio-card:has(input:focus-visible) { outline:2px solid var(--indigo); outline-offset:2px; }
body { background:var(--bg); color:var(--ink); }
svg.i { width:17px; height:17px; stroke:currentColor; fill:none; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
input:focus, select:focus, textarea:focus { outline:0; border-color:#9a91f0 !important; box-shadow:0 0 0 3px var(--lavender) !important; }

/* shell */
.app { display:flex; min-height:100vh; }
.sidebar { width:238px; flex:0 0 238px; background:var(--surface); border-right:1px solid var(--line); color:var(--body); position:sticky; top:0; height:100vh; display:flex; flex-direction:column; padding:22px 13px 16px; z-index:30; }
.logo { display:flex; align-items:center; gap:10px; padding:0 8px 26px; }
.logo-symbol { height:40px; width:40px; display:grid; place-items:center; border-radius:12px; background:var(--indigo); color:#fff; --mark-gap:var(--indigo); flex-shrink:0; }
.logo-symbol svg { width:32px; height:32px; }
.logo .brand { color:var(--ink); font-size:20px; letter-spacing:-.8px; font-weight:800; line-height:1; }
.logo .brand b { color:var(--indigo); }
.logo small { display:block; font-size:12px; color:var(--muted); margin-top:3px; }
.nav-label { font-size:12px; color:var(--muted); font-weight:600; padding:0 13px; margin:18px 0 6px; }
.nav-link { padding:11px 12px; display:flex; align-items:center; gap:12px; color:var(--body); border-radius:9px; margin:2px 0; font-weight:600; transition:.15s; position:relative; font-size:13px; }
.nav-link.active { color:var(--indigo); background:var(--lavender); }
.nav-link:hover:not(.active) { background:var(--bg); color:var(--ink); }
.side-foot { margin-top:auto; border-top:1px solid var(--line); padding:14px 2px 0; }
.side-health { padding:13px 12px; background:var(--lavender); border-radius:11px; color:var(--ink); margin-bottom:12px; }
.side-health .first { display:flex; align-items:center; justify-content:space-between; font-size:13px; font-weight:700; }
.side-health .first span:last-child { font-size:11px; color:var(--green); font-weight:700; }
.side-health p { font-size:12px; color:var(--body); line-height:1.45; margin:6px 0 0; }
.online { height:7px; width:7px; border-radius:100%; background:#36c994; display:inline-block; margin-right:5px; }
.profile { display:flex; align-items:center; gap:10px; padding:8px 4px; }
.profile-pic { background:var(--lavender); color:var(--indigo); height:34px; width:34px; display:grid; place-items:center; border-radius:10px; font-weight:800; flex-shrink:0; }
.profile strong { display:block; color:var(--ink); font-size:13px; }
.profile span { display:block; font-size:11px; color:var(--muted); margin-top:1px; }
.profile button { margin-left:auto; color:var(--muted); }
.profile button:hover { color:var(--ink); }
.main { min-width:0; flex:1; }
.topbar { height:67px; background:var(--surface); border-bottom:1px solid var(--line); padding:0 43px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.breadcrumbs { display:flex; align-items:center; gap:10px; color:var(--muted); font-size:12px; }
.breadcrumbs span:last-child { font-weight:750; color:var(--ink); font-size:14px; }
.mobile-nav { display:none; background:none; border:0; padding:6px; color:var(--body); }
.content { max-width:1390px; padding:35px 44px 84px; margin:0 auto; }
h1.title { font-size:26px; line-height:1.2; margin:0 0 4px; letter-spacing:-.5px; font-weight:700; text-wrap:balance; }
.lead { font-size:14px; color:var(--muted); margin:0; max-width:620px; }
.titlerow { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:20px; }
.titleactions { display:flex; gap:8px; flex-wrap:wrap; }
.since { background:var(--lavender); border-radius:var(--radius); padding:0 18px; margin-bottom:24px; font-size:13px; color:var(--ink); }
.since summary { cursor:pointer; padding:12px 0; font-weight:600; color:var(--lavender-ink); list-style:none; }
.since summary::-webkit-details-marker { display:none; }
.since summary::before { content:"›"; display:inline-block; margin-right:8px; transition:transform .15s; }
.since[open] summary::before { transform:rotate(90deg); }
.since h3 { font-size:13px; font-weight:700; margin:6px 0 4px; }
.since ul { margin:0 0 12px; padding:0 0 0 14px; list-style:disc; }
.since li { padding:2px 0; }
.since li span { color:var(--body); }

.bubble { display:flex; gap:10px; align-items:flex-start; padding:18px; }
.bubble .logo-symbol { width:34px; height:34px; border-radius:10px; }
.bubble .logo-symbol svg { width:26px; height:26px; }
.bubble-label { display:block; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.4px; color:var(--muted); margin-bottom:4px; }
.bubble + .bubble { padding-top:0; }
.bubble .text { background:var(--lavender); color:var(--ink); font-size:12px; line-height:1.55; padding:12px 14px; border-radius:12px 12px 12px 3px; }

/* components */
.panel { background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); }
.panel-pad { padding:24px; }
.panel h2 { font-size:15px; letter-spacing:-.3px; font-weight:800; margin:0 0 5px; }
.panel .sub { color:var(--muted); font-size:13px; line-height:1.5; margin:0 0 22px; }
.btn { border:1px solid var(--line); background:#fff; border-radius:9px; padding:10px 15px; color:var(--body); display:inline-flex; gap:8px; justify-content:center; align-items:center; font-weight:750; font-size:13px; white-space:nowrap; transition:.16s; }
.btn:hover { border-color:#bfcce2; background:#fbfcff; }
.btn.primary { background:var(--indigo); color:#fff; border-color:var(--indigo); }
.btn.primary:hover { background:var(--indigo-dark); }
.btn:active { transform:translateY(0); }
.btn.danger { color:var(--red); border-color:#f0d7d6; }
.btn.danger:hover { background:var(--red-bg); }
.btn.ghost { border:0; background:transparent; color:var(--body); }
.btn:disabled { opacity:.4; cursor:not-allowed; }
.tag { display:inline-flex; align-items:center; gap:6px; border-radius:6px; padding:3px 8px; font-size:11px; font-weight:700; white-space:nowrap; }
.tag.gray { background:#f3f5f8; color:var(--body); } .tag.amber { background:var(--amber-bg); color:var(--amber); } .tag.green { background:var(--green-bg); color:var(--green); } .tag.blue { background:var(--lavender); color:var(--lavender-ink); }
.tabs { display:flex; gap:29px; align-items:center; border-bottom:1px solid var(--line); margin-bottom:25px; overflow:auto; scrollbar-width:none; }
.tabs::-webkit-scrollbar { display:none; }
.tab { display:flex; align-items:center; gap:8px; position:relative; flex-shrink:0; border:none; background:none; padding:0 0 16px; font-weight:700; color:var(--muted); font-size:12px; white-space:nowrap; cursor:pointer; }
.tab svg { width:15px; height:15px; }
.tab.active { color:var(--indigo); }
.tab.active:after { content:""; position:absolute; bottom:-1px; left:0; right:0; height:2px; background:var(--indigo); border-radius:3px; }
.layout { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:22px; align-items:start; }
.rightcol { position:sticky; top:89px; display:grid; gap:16px; }
.field label { font-size:13px; display:block; font-weight:600; color:var(--body); margin-bottom:7px; }
.field input:not([type=checkbox]), .field select { width:100%; height:40px; border:1px solid var(--line); border-radius:8px; padding:0 12px; background:#fff; color:var(--ink); font-size:13px; }
.field .help { font-size:12px; color:var(--muted); line-height:1.5; margin-top:6px; }
.days { display:flex; flex-wrap:wrap; gap:8px; }
.days label { display:inline-flex; align-items:center; gap:6px; border:1px solid var(--line); border-radius:9px; padding:9px 12px; font-size:12px; font-weight:700; color:var(--body); margin:0; cursor:pointer; }
.days label:has(input:checked) { background:var(--lavender); color:var(--indigo); border-color:#b9b1f3; }
.days input { accent-color:var(--indigo); }
.empty { color:var(--muted); }
.card { transition:opacity 1.5s ease, transform 1.5s ease; }
.card.enter { opacity:0; transform:translateY(6px); }
.card.leave { opacity:0; transform:scale(.98); transition-duration:.6s; }
.spinner { display:inline-block; width:1em; height:1em; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:spin .7s linear infinite; vertical-align:-0.15em; }
@keyframes spin { to { transform:rotate(360deg); } }
.toast { position:fixed; right:24px; bottom:25px; z-index:200; background:var(--ink); color:#fff; box-shadow:0 15px 40px #19223735; padding:13px 16px; border-radius:10px; font-size:13px; font-weight:650; max-width:min(420px,calc(100vw - 40px)); opacity:0; transform:translateY(15px); pointer-events:none; transition:.2s; }
.toast.show { opacity:1; transform:translateY(0); }
.period-row { display:flex; align-items:center; gap:17px; padding:17px 0; border-top:1px solid var(--line2); }
.period-row:first-child { border-top:0; }
.period-cal { width:60px; height:46px; border-radius:10px; border:1px solid var(--line); background:var(--bg); flex-shrink:0; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.period-cal span { font-size:11px; color:var(--muted); font-weight:600; text-transform:capitalize; }
.period-cal b { font-size:18px; line-height:1.1; letter-spacing:-.5px; font-weight:700; font-variant-numeric:tabular-nums; }
.modalback { position:fixed; inset:0; background:#10182bc7; backdrop-filter:blur(4px); z-index:50; display:flex; align-items:center; justify-content:center; padding:18px; }
.modal { background:#fff; width:min(900px,100%); max-height:min(93vh,1000px); overflow:auto; border-radius:17px; box-shadow:0 24px 70px #0c1c3650; }
.modal-body { display:grid; grid-template-columns:1.1fr .9fr; }
.radio-card { display:flex; align-items:flex-start; gap:12px; padding:13px 14px; border:1px solid #e5eaf2; background:#fff; border-radius:10px; cursor:pointer; transition:.12s; }
.radio-card:has(input:checked) { border-color:#9a91f0; background:#f8f7ff; box-shadow:0 0 0 1px #9a91f02c; }
.radio-card input { accent-color:var(--indigo); margin-top:3px; }

@media (max-width:1060px) { .layout { grid-template-columns:1fr; } .rightcol { position:static; } .sidebar { width:75px; flex-basis:75px; padding:20px 9px; } .logo { padding:0 10px 25px; } .logo>div:last-child, .nav-link span, .nav-label, .side-health, .profile>div:not(.profile-pic), .profile button { display:none; } .nav-link { justify-content:center; padding:12px 6px; } .profile { justify-content:center; } .content { padding:33px 30px 75px; } .topbar { padding:0 30px; } }
@media (max-width:720px) { .topbar { padding:0 16px; height:57px; } .content { padding:27px 17px 55px; } h1.title { font-size:22px; } .strip { grid-template-columns:1fr; } .strip > div { border-left:0; border-top:1px solid var(--line); } .strip > div:first-child { border-top:0; } .modal-body { display:block; } .topbar .avatar { display:none; } }
@media (max-width:520px) { .sidebar { display:none; position:fixed; width:237px; flex-basis:auto; } .sidebar.open { display:flex; box-shadow:0 0 0 100vmax #19223766; } .sidebar.open .logo>div:last-child, .sidebar.open .nav-link span, .sidebar.open .nav-label, .sidebar.open .side-health, .sidebar.open .profile>div:not(.profile-pic), .sidebar.open .profile button { display:block; } .sidebar.open .nav-link { justify-content:flex-start; padding:11px 13px; } .sidebar.open .profile { justify-content:flex-start; } .mobile-nav { display:block; } }
@media (prefers-reduced-motion:reduce) { .card, .btn, .toast, .nav-link { transition:none; } }

/* home agenda (Superdesign "Healthcare Desktop Dashboard"): week grid left, assistant card and activity right */
.hero-mark { width:48px; height:48px; border-radius:16px; background:var(--lavender); color:var(--indigo); --mark-gap:var(--lavender); display:grid; place-items:center; flex-shrink:0; }
.hero-mark svg { width:36px; height:36px; }
.agenda-layout { grid-template-columns:minmax(0,2fr) minmax(280px,1fr); }
.toolbar { padding:16px 18px 0; margin-bottom:16px; }
.toolbar .tabs { margin-bottom:14px; }
.weeknav { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-bottom:14px; }
.weekrange { display:flex; align-items:center; border:1px solid var(--line); border-radius:9px; padding:2px; }
.weekrange span { font-size:13px; font-weight:700; padding:0 12px; min-width:160px; text-align:center; }
.weekrange .btn { padding:5px; }
.chev-l { transform:rotate(90deg); } .chev-r { transform:rotate(-90deg); }
.agenda { overflow:hidden; }
.agenda-head, .agenda-body { display:grid; grid-template-columns:64px repeat(var(--days,5),minmax(0,1fr)); }
.agenda-head { border-bottom:1px solid var(--line); background:#fafbfd; }
.agenda-head > div { padding:12px 6px; font-size:12px; color:var(--muted); font-weight:600; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; text-transform:capitalize; }
.agenda-head b { font-size:14px; color:var(--ink); font-weight:700; }
.agenda-head .today b { width:28px; height:28px; border-radius:50%; background:var(--indigo); color:#fff; display:grid; place-items:center; }
.agenda-body { position:relative; max-height:560px; overflow:auto; }
.agenda-hours > div, .agenda-col > .line { height:var(--hour,72px); border-bottom:1px solid var(--line2); }
.agenda-hours > div { font-size:11px; color:var(--muted); text-align:center; padding-top:6px; border-right:1px solid var(--line); font-variant-numeric:tabular-nums; }
.agenda-col { position:relative; border-right:1px solid var(--line2); }
.agenda-col:last-child { border-right:0; }
.agenda-col.today { background:#fbfbff; }
.appt { position:absolute; left:4px; right:4px; border:0; border-left:3px solid var(--indigo); border-radius:0 6px 6px 0; background:var(--lavender); padding:4px 6px; overflow:hidden; cursor:pointer; text-align:left; font:inherit; }
.appt:hover { box-shadow:var(--shadow); }
.appt b { display:block; font-size:11px; font-weight:700; color:var(--indigo); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.appt span { display:block; font-size:10px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.appt.ok { background:var(--green-bg); border-color:var(--green); } .appt.ok b { color:var(--green); }
.appt.past { opacity:.55; }
.now-line { position:absolute; left:0; right:0; height:2px; background:var(--indigo); pointer-events:none; z-index:2; }
.now-line i { position:absolute; left:14px; top:-9px; background:var(--indigo); color:#fff; font-style:normal; font-size:10px; font-weight:700; padding:2px 6px; border-radius:40px; }
.assistant-head { display:flex; align-items:center; gap:14px; margin-bottom:18px; }
.assistant-head h3 { font-size:18px; font-weight:700; letter-spacing:-.4px; margin:0; line-height:1.1; }
.assistant-head p { margin:3px 0 0; font-size:13px; color:var(--muted); }
.assistant-head .tag { margin-left:auto; }
.assistant-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; border-top:1px solid var(--line); padding-top:18px; }
.assistant-stats svg { color:var(--indigo); }
.assistant-stats b { display:block; font-size:22px; font-weight:700; letter-spacing:-.5px; margin:6px 0 2px; font-variant-numeric:tabular-nums; white-space:nowrap; }
.assistant-stats small { display:block; font-size:10px; color:var(--muted); font-weight:600; text-transform:uppercase; letter-spacing:.3px; line-height:1.3; }
.activity { display:grid; gap:16px; }
.activity-item { display:flex; gap:12px; align-items:flex-start; min-width:0; }
.activity-icon { width:36px; height:36px; border-radius:50%; display:grid; place-items:center; flex-shrink:0; background:var(--lavender); color:var(--indigo); }
.activity-icon.new { background:var(--green-bg); color:var(--green); } .activity-icon.cancelled { background:var(--red-bg); color:var(--red); }
.activity-item strong { display:block; font-size:13px; } .activity-item small { display:block; font-size:12px; color:var(--muted); } .activity-item span { display:block; font-size:12px; color:var(--body); }
.quick { display:grid; gap:8px; } .quick .btn { justify-content:flex-start; }
.rating-avg { display:flex; align-items:center; gap:14px; margin:4px 0 10px; }
.rating-avg b { font-size:24px; font-weight:600; letter-spacing:-.5px; line-height:1.1; }
.rating-avg span { font-size:13px; color:var(--muted); font-weight:500; }
.rating-avg small { font-size:12px; color:var(--muted); line-height:1.3; }
@media (max-width:1060px) { .agenda-layout { grid-template-columns:1fr; } .agenda-body { max-height:none; } }

/* settings (Superdesign "Configuración" flow): section icons, duration chips, week preview */
.section-head { display:flex; align-items:center; gap:14px; margin-bottom:22px; }
.section-head .hero-mark { width:40px; height:40px; border-radius:12px; } .section-head .hero-mark svg { width:30px; height:30px; }
.section-head h2 { margin:0; } .section-head .sub { margin:3px 0 0; }
.chips { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:8px; }
.chip { border:1px solid var(--line); background:#fff; border-radius:9px; padding:9px 14px; font-size:12px; font-weight:700; color:var(--body); cursor:pointer; }
.chip.active { background:var(--lavender); color:var(--indigo); border-color:#b9b1f3; }
/* hand-offs (item 18): chats a person must answer */
.attention { border-color:#f1d9a8; }
.handoff { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:12px 0; border-top:1px solid var(--line2); font-size:13px; }
.handoff small { display:block; color:var(--muted); margin-top:3px; }
.handoff p { margin:6px 0 0; color:var(--body); }
/* week editor (item 19) */
.week-editor { display:grid; gap:6px; margin-bottom:6px; }
.week-day { display:grid; grid-template-columns:150px 1fr auto; gap:12px; align-items:center; padding:8px 0; border-top:1px solid var(--line2); }
.week-day:first-child { border-top:0; }
.week-day-name { display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:700; color:var(--muted); cursor:pointer; margin:0; }
.week-day.on .week-day-name { color:var(--ink); }
.week-day-name input { accent-color:var(--indigo); }
.week-day-blocks { display:flex; flex-direction:column; gap:6px; }
.week-block { display:flex; align-items:center; gap:8px; font-size:13px; color:var(--muted); }
.week-block input[type=time] { width:auto; height:36px; border:1px solid var(--line); border-radius:8px; padding:0 10px; font-size:13px; color:var(--ink); background:#fff; font-variant-numeric:tabular-nums; }
.week-closed { font-size:13px; color:var(--muted); }
.week-tools { display:flex; gap:4px; flex-wrap:wrap; justify-content:flex-end; }
.week-tools .btn { font-size:12px; padding:6px 8px; width:auto; }
.week-day-blocks > .btn { align-self:flex-start; }
.wp-tz { font-size:12px; color:var(--muted); white-space:nowrap; }
.rightcol .weeknav { flex-wrap:wrap; padding-bottom:10px; }
.rightcol .weekrange span { min-width:0; font-size:12px; }
.agenda-col > .line.off { background:repeating-linear-gradient(135deg, transparent 0 6px, #eceef5 6px 7px); }
@media (max-width:720px) { .week-day { grid-template-columns:1fr; } .week-tools { justify-content:flex-start; } }
/* week editor, grouped (item 19b) */
.week-group { border:1px solid var(--line); border-radius:11px; padding:14px 16px; margin-bottom:10px; background:#fff; }
.week-group.single { background:var(--lavender); border-color:#dcd8fb; }
.week-group-head { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:10px; }
.week-group-head strong { font-size:14px; }
.week-group-head .days { gap:6px; }
.week-group-head .days label { padding:6px 10px; font-size:12px; }
.week-group-head .days label.custom { border-style:dashed; color:var(--muted); cursor:default; }
.week-group-head .days label.custom input { visibility:hidden; width:0; }
.week-group-head .switch { margin-left:auto; }
.week-day.off { display:flex; align-items:center; gap:12px; padding:10px 16px; border:1px solid var(--line); border-radius:11px; margin-bottom:10px; font-size:13px; color:var(--muted); }
.week-day.off strong { color:var(--ink); font-size:14px; }
.week-day.off .switch { margin-left:auto; }
.switch { appearance:none; width:40px; height:22px; border-radius:40px; background:#d6dae3; position:relative; cursor:pointer; flex-shrink:0; transition:.15s; }
.switch::after { content:""; position:absolute; top:3px; left:3px; width:16px; height:16px; border-radius:50%; background:#fff; transition:.15s; }
.switch:checked { background:var(--indigo); } .switch:checked::after { left:21px; }
.dirty { display:inline-flex; align-items:center; gap:7px; font-size:13px; color:var(--body); margin-right:12px; }
.dirty i { width:8px; height:8px; border-radius:50%; background:var(--indigo); display:inline-block; }
.special-row { display:flex; align-items:center; gap:12px; padding:12px 0; border-top:1px solid var(--line2); font-size:13px; flex-wrap:wrap; }
.special-row:first-child { border-top:0; }
.special-row strong { font-size:14px; }
.special-row .hours { color:var(--body); font-variant-numeric:tabular-nums; }
.special-row .btn { margin-left:auto; }
.special-editor { border:1px solid #cfe9dd; background:#f3fbf7; border-radius:11px; padding:14px 16px; margin-top:10px; display:grid; gap:10px; }
.special-editor input[type=date] { height:36px; border:1px solid var(--line); border-radius:8px; padding:0 10px; font-size:13px; background:#fff; width:auto; }
.wp-tz { font-size:12px; color:var(--muted); }
.wp-grid { display:grid; grid-template-columns:40px repeat(7,minmax(0,1fr)); gap:0 4px; font-size:11px; }
.wp-head { text-align:center; color:var(--muted); font-weight:600; padding-bottom:6px; line-height:1.25; }
.wp-head b { display:block; color:var(--ink); font-size:12px; } .wp-head.today b { color:var(--indigo); }
.wp-hours { position:relative; color:var(--muted); font-variant-numeric:tabular-nums; }
.wp-hours span { position:absolute; right:6px; transform:translateY(-50%); }
.wp-col { position:relative; border-radius:6px; background:var(--bg); border:1px solid var(--line2); overflow:hidden; }
.wp-col.closed { background:repeating-linear-gradient(135deg, #f6f7fa 0 6px, #eef0f5 6px 7px); }
.wp-col i { position:absolute; left:2px; right:2px; border-radius:5px; background:var(--lavender); color:var(--lavender-ink); font-style:normal; font-size:11px; font-weight:600; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; line-height:1.2; overflow:hidden; padding:2px; font-variant-numeric:tabular-nums; }
.layout.layout-even { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.layout.layout-even .rightcol { position:static; }
.layout-even .wp-grid { grid-template-columns:48px repeat(7,minmax(0,1fr)); gap:0 6px; }
.wp-col i.special { background:var(--green-bg); color:var(--green); }
.wp-legend { display:flex; gap:16px; margin-top:12px; font-size:12px; color:var(--body); }
.wp-legend i { display:inline-block; width:14px; height:14px; border-radius:4px; vertical-align:-2px; margin-right:6px; background:var(--lavender); }
.wp-legend i.special { background:var(--green-bg); border:1px solid #cfe9dd; }
.wp-note { margin:12px 0 0; font-size:12px; color:var(--body); background:var(--bg); border-radius:8px; padding:10px 12px; }
.agenda-col.special { background:#f6fcf9; }
