﻿:root{--purple:#5b3fd4;--ink:#202030;--muted:#6f7080;--bg:#f7f7fb;--line:#e9e8f1}
:root{--muted:#3f4049}
@font-face{font-family:'Mouse Memoirs';src:url('MouseMemoirs-Regular.ttf') format('truetype');font-display:swap;font-style:normal;font-weight:400}
*{box-sizing:border-box;font-weight:400!important}
[hidden]{display:none!important}
body{margin:0;background:#dedde5;font-family:system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--ink);letter-spacing:.2px}
.app{max-width:460px;min-height:100vh;margin:auto;background:var(--bg);padding:25px 20px 88px}
header,.section-title,.person,.event-card,.requirement{display:flex;align-items:center;justify-content:space-between}
header{position:relative;padding-top:22px}
.system-alert{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0 0;padding:12px 14px;border:1px solid;border-radius:12px}.system-alert b{display:block;font-size:13px;font-weight:700!important}.system-alert p{margin-top:4px;line-height:1.4}.system-alert.ok{background:#e8f8ef;border-color:#a8dfbd}.system-alert.ok b,.system-alert.ok p{color:#12653d}.system-alert.warning{background:#fff6d9;border-color:#edcf72}.system-alert.warning b,.system-alert.warning p{color:#775100}.system-alert.critical{background:#ffe8e5;border-color:#e9a097}.system-alert.critical b,.system-alert.critical p{color:#92271e}.system-alert button{white-space:nowrap;background:#fff}@media(max-width:520px){.system-alert{align-items:flex-start;flex-direction:column}.system-alert button{width:100%}}
.header-brand{display:flex;align-items:center;gap:10px;min-width:0}
.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.header-actions form{margin:0}.header-actions #register-mobile-test{max-width:150px;padding:8px 10px;font-size:12px}
.header-logo{width:58px;height:42px;object-fit:contain;border-radius:7px;background:#fff}
h1,h2,h3{font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif;line-height:1.35;letter-spacing:normal}
h1{font-size:26px;margin:1px 0}
h2{font-size:19px;margin:22px 0 10px}
h3{font-size:16px;margin:0 0 4px}
.eyebrow,.muted,p{color:var(--muted);font-size:13px;margin:0}
#today-label{position:absolute;top:0;left:50%;transform:translateX(-50%);width:max-content;text-align:center;color:#292a31!important}
.avatar{border:1px solid #000;border-radius:50%;background:#f0ecff;color:var(--purple);font-family:'Mouse Memoirs',system-ui,sans-serif;font-weight:700;width:52px;height:52px;font-size:28px}
.hero{background:linear-gradient(135deg,#6244d9,#8b6af5);color:white;border-radius:18px;padding:20px;margin-top:24px;box-shadow:0 9px 20px #5b3fd433}
.hero p,.hero span{color:#eee9ff}
.hero h2{margin:5px 0;font-size:23px}
.hero button{background:white;color:var(--purple);border:0;border-radius:9px;padding:9px 14px;font-weight:700}
.hero-description{display:block;line-height:1.45;max-width:390px}
.hero-actions{margin-top:24px}
.section-title button{border:0;background:none;color:var(--purple);font-weight:700}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.stats article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px 10px}
.stats b{font-size:20px;display:block}
.stats span{color:var(--muted);font-size:11px}
.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.actions button{background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px 9px;color:var(--ink);font-weight:600;text-align:left}
.view{display:none}
.view.active{display:block}
.event-card,.person,.detail,.calendar{background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px;margin:10px 0}
.event-card{justify-content:flex-start;gap:14px}
.selected{border:2px solid #b5a7fb}
.date{background:#f1edff;color:var(--purple);border-radius:9px;padding:7px 10px;text-align:center;font-weight:800;line-height:16px}
.date small{font-size:10px}
.pill{display:inline-block;border-radius:15px;font-size:11px;padding:4px 7px;margin-top:5px}
.purple{background:#eeeaff;color:#5637ce}
.pill.google{background:#e7f3ff;color:#1769aa}
.orange{background:#fff0df;color:#b7650c}
.green{background:#e8f8ef;color:#167846}
.detail{margin-top:20px}
.detail h2{margin:0 0 4px}
.requirement{padding:14px 0;border-bottom:1px solid var(--line)}
.requirement:last-child{border:0}
.requirement span{display:block;color:var(--muted);font-size:12px;margin-top:3px}
button{font:inherit;cursor:pointer}
.primary,.assign{background:var(--purple);color:#fff;border:0;border-radius:9px;padding:9px 12px;font-weight:700}
.ok{color:#187747;background:#e7f8ee;border:0;border-radius:9px;padding:8px}
.filters{display:flex;gap:8px;margin:16px 0}
.filters button{border:1px solid var(--line);background:#fff;border-radius:18px;padding:8px 12px;font-size:12px}
.filters .active-filter{background:#eeeaff;color:var(--purple);border-color:#ded4ff}
.person{gap:10px}
.person>div:nth-child(2){flex:1}
.initials{border-radius:50%;height:46px;width:46px;display:grid;place-items:center;font-family:'Mouse Memoirs',system-ui,sans-serif;font-size:20px;font-weight:800}
.blue{background:#ddecff;color:#2472bf}
.pink{background:#ffe1ef;color:#b33674}
.gold{background:#fff0c7;color:#ae7610}
.calendar>div{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:14px 0;border-bottom:1px solid var(--line);align-items:center}
.calendar>div:last-child{border:0}
.calendar span{font-size:12px;color:var(--muted)}
.calendar button{grid-column:1/-1;text-align:left;border:0;border-radius:8px;padding:8px;font-size:12px}
.available{background:#e8f8ef;color:#167846}
.unavailable{background:#f3f3f5;color:#777}
.wide{width:100%;margin-top:12px;padding:13px}
nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);max-width:460px;width:100%;background:#fff;border-top:1px solid var(--line);display:flex;justify-content:space-around;padding:9px 10px 11px}
.nav{border:0;background:none;color:#777;font-size:21px;display:grid;gap:2px;justify-items:center}
.nav span{font-size:10px}
.active-nav{color:var(--purple)}
#toast{position:fixed;bottom:82px;left:50%;transform:translateX(-50%) translateY(20px);opacity:0;background:#202030;color:white;padding:11px 15px;border-radius:9px;font-size:13px;transition:.2s;white-space:nowrap}
#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
dialog{width:min(420px,calc(100% - 28px));border:0;border-radius:18px;padding:0;box-shadow:0 20px 60px #20203055}
dialog::backdrop{background:#20203088}
#event-form{display:grid;gap:13px;padding:20px}
#event-dialog{width:min(1120px,calc(100% - 40px));max-height:94vh}
#event-form{grid-template-columns:repeat(2,minmax(0,1fr));max-height:94vh;overflow:auto;padding:24px}
#event-form>.dialog-heading,#event-form>h3,#event-form>#delete-event,#event-form>.dialog-actions{grid-column:1/-1}
#event-form>.dialog-heading{position:sticky;top:-24px;z-index:4;background:#fff;padding:8px 0 12px;border-bottom:1px solid var(--line)}
#event-form>.time-row{align-items:end}
.danger{background:#fff0f0;color:#b42318;border:1px solid #f3b7b2}
.calendar-status{margin:-8px 0 14px}.calendar-status.connected{color:#16794a;font-weight:700}
.calendar-sync-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:-8px 0 14px}.calendar-sync-row .calendar-status{margin:0}.calendar-sync-row button{white-space:nowrap;font-size:12px}
.calendar-breakdown{margin:-4px 0 16px;padding:12px 14px;border-left:4px solid #16794a;border-radius:10px;background:#eef9f3;color:#17243b;font-size:1.125rem;font-weight:600!important;line-height:1.65;overflow-wrap:anywhere}.calendar-breakdown b{color:#17243b;font-weight:700!important}
.launch-readiness{margin:24px 0 84px;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff}.launch-readiness-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.launch-readiness-heading h2{margin:2px 0 0}.readiness-gates{display:grid;gap:10px;margin-top:14px}.readiness-gate{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#fafafd}.readiness-gate>strong{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#eee9ff;color:var(--purple)}.readiness-gate p{margin:3px 0 0;color:var(--muted);font-size:13px;line-height:1.4}.readiness-state{padding:6px 9px;border-radius:999px;font-size:11px;font-weight:900}.readiness-state.complete{background:#dff6e8;color:#12653d}.readiness-state.pending,.readiness-state.manual{background:#fff0c9;color:#805600}.readiness-state.blocked{background:#ffe1df;color:#9f261f}.readiness-issues{display:grid;gap:10px;margin-top:14px}.readiness-issues details{border:1px solid var(--line);border-radius:12px;padding:10px 12px}.readiness-issues summary{cursor:pointer;font-weight:800}.readiness-issues ul{margin:10px 0 0;padding-left:20px;color:var(--muted);font-size:13px}
.readiness-shortcuts{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.event-search{display:block;margin:4px 0 0;font-weight:700}.event-search span{display:block;margin-bottom:7px}.event-search input{width:100%;padding:13px 14px;border:2px solid #ded8ff;border-radius:14px;background:#fff;font:inherit;color:var(--ink);box-sizing:border-box;box-shadow:0 6px 18px rgba(91,61,222,.08)}.event-search input:focus{outline:3px solid rgba(91,61,222,.14);border-color:var(--purple)}.event-search-summary{margin:7px 0 12px;font-size:13px}.event-search-empty{display:grid;gap:6px;background:#fff;border:1px dashed #cfc7f6;border-radius:13px;padding:18px 14px;margin:10px 0}.event-search-empty span{color:var(--muted);font-size:14px}
.event-card-heading{display:flex;align-items:flex-start;gap:8px}.event-card-heading h3{flex:1}.event-position{flex:none;border-radius:999px;background:#eee9ff;color:var(--purple);font-size:12px;font-weight:800;line-height:1;padding:6px 8px}
.dialog-heading,.dialog-actions,.time-row{display:flex;gap:10px}
.dialog-heading{align-items:flex-start;justify-content:space-between}
.dialog-heading h2{margin:2px 0}
.dialog-actions{justify-content:flex-end;margin-top:5px}
.time-row>label{flex:1}
label{display:grid;gap:6px;font-size:13px;font-weight:700}
input,textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px;font:inherit;color:var(--ink);background:#fff}
.password-field{position:relative;display:block}.password-field input{padding-right:82px}.password-field button{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--purple);font-weight:700;padding:7px 8px;cursor:pointer}
.password-visibility-button{justify-self:start;border:1px solid #d9d2ff;background:#f3f0ff;color:var(--purple);border-radius:9px;padding:9px 12px;font-weight:700;margin-top:-6px}
select{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px;font:inherit;color:var(--ink);background:#fff}
textarea{min-height:74px;resize:vertical}
.secondary,.icon-button{border:0;border-radius:9px;padding:9px 12px;font-weight:700}
.secondary{background:#efeff4;color:var(--ink)}
.icon-button{background:transparent;font-size:25px;padding:0 5px;color:var(--muted)}
.event-notes{margin-top:8px}
.locked{display:none}
.auth-screen{min-height:100vh;display:grid;place-items:center;background:linear-gradient(145deg,#eeeaff,#f8f7ff);padding:20px}
.auth-screen.hidden{display:none}
.auth-card{width:min(390px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px;box-shadow:0 18px 55px #4935a522;display:grid;gap:15px}
.auth-card h1{margin:0;font-size:25px}
#auth-fields{display:grid;gap:15px;min-width:0;margin:0;padding:0;border:0}
.brand-logo{width:180px;max-width:70%;height:92px;object-fit:contain;justify-self:center;border-radius:12px;background:#fff}
.form-message{min-height:18px;color:#b42318;font-size:12px}
#user-form{display:grid;gap:13px;padding:20px;max-height:85vh;overflow-x:hidden;overflow-y:auto}
.bulk-users{display:grid;gap:12px;border-top:1px solid var(--line);padding-top:18px}.file-button{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.bulk-preview{display:grid;gap:8px}.bulk-summary{padding:12px;border-radius:12px;background:#f3efff}.bulk-summary.invalid{background:#fff0ed;color:#8b2b1c}.bulk-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:10px;align-items:start;padding:10px;border:1px solid var(--line);border-radius:10px}.bulk-row.invalid{border-color:#db4a35;background:#fff8f6}.bulk-row small{display:block;color:#8b2b1c;margin-top:3px}
.agenda-filters{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1fr) auto;gap:10px;align-items:end;margin:10px 0}.agenda-filters label{margin:0}.agenda-filters button{min-height:48px}.bulk-breakdown{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.bulk-breakdown span{padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.7);font-size:12px}
@media(max-width:700px){.agenda-filters{grid-template-columns:1fr}.agenda-filters button{width:100%}}
@media(max-width:700px){#event-dialog{width:calc(100% - 16px);max-height:96vh}#event-form{grid-template-columns:1fr;max-height:96vh;padding:16px}#event-form>.dialog-heading,#event-form>h3,#event-form>#delete-event,#event-form>.dialog-actions{grid-column:auto}#event-form>.dialog-heading{top:-16px}}
.clock-fields{display:grid;grid-template-columns:minmax(52px,1fr) minmax(58px,1fr) minmax(62px,1fr);gap:5px}.clock-fields select{min-width:0;padding:9px 7px;background:#fff}
.user-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0;padding:12px 0;border-bottom:1px solid var(--line)}
.user-row>div:first-child{min-width:0;overflow-wrap:anywhere}.user-row>div:first-child p{overflow-wrap:anywhere}
.user-actions{display:flex;align-items:flex-end;gap:7px;min-width:0;flex-direction:column}.user-actions button{padding:7px 10px;font-size:14px}
.title-actions{display:flex;align-items:center;gap:4px}
.title-actions button{padding:8px 7px;font-size:12px}
.whatsapp-action,.whatsapp-link{background:#e7f8ee;color:#167846;border:1px solid #bce8cd;border-radius:9px;padding:10px 12px;font-weight:700;text-decoration:none;text-align:center}
#people-search{margin:4px 0 8px}
#filter-note{margin:6px 0 12px}
.staff-mode{padding-bottom:28px}
.staff-mode nav{display:none}
.department-mode{padding-bottom:28px}.department-mode nav{display:none}.department-mode #planning-audience{background:#f4f2fb}
.multi-access{padding-bottom:84px}.multi-access nav{display:flex}.permission-active{background:#e7f8ee;color:#167846}
.profile-summary{display:grid;gap:4px;background:#eeeaff;color:var(--purple);border-radius:12px;padding:14px;margin:12px 0}
.profile-summary span{font-size:12px;color:var(--muted)}
.permission-editor{display:grid;gap:8px;width:100%;min-width:0;border:1px solid #ded9f6;border-radius:12px;padding:10px}.permission-editor legend{font-weight:700;color:var(--purple);padding:0 5px}.permission-editor label{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:8px;font-size:13px;line-height:1.35;overflow-wrap:anywhere}.permission-editor input{width:20px;height:20px;margin:0;accent-color:var(--purple)}.permission-editor button{width:100%;margin-top:4px}
.availability-calendar{display:grid;gap:10px;margin:14px 0}
.period-controls{align-items:center;justify-content:space-between;gap:8px;margin:12px 0}.period-controls b{font-size:12px;text-align:center}.period-controls button{font-size:11px;padding:8px}
.availability-day{display:grid;grid-template-columns:minmax(0,1fr) repeat(2,minmax(182px,220px));gap:12px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px}
.availability-day label{min-width:0;font-size:10px;color:var(--muted)}
.availability-day .day-choice{display:flex;align-items:center;gap:9px;color:var(--ink);font-size:13px;font-weight:700;padding-bottom:9px}
.availability-day .day-choice input{flex:none;width:20px;height:20px;accent-color:var(--purple)}
.availability-day select{width:100%;padding:9px 6px;font-size:12px;font-weight:700;background:#fff}
.saved-slot{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#fff;border-bottom:1px solid var(--line);padding:12px}
.saved-slot:first-child{border-radius:12px 12px 0 0}
.saved-slot:last-child{border:0;border-radius:0 0 12px 12px}
.saved-slot span{display:block;color:var(--muted);font-size:11px;margin-top:3px}
.saved-slot strong{white-space:nowrap;color:var(--purple);font-size:13px}
.slot-actions{display:flex;align-items:center;gap:5px}.slot-actions .icon-button{font-size:20px;color:#b42318}
.empty-state{background:#fff;border:1px dashed #cfcbdc;border-radius:12px;padding:18px;text-align:center}
.empty-state p{margin-top:6px}.empty-copy{padding:14px 0}
.directory-actions{display:grid;gap:6px;justify-items:end;margin-left:10px}
#directory-list .directory-person-details{min-width:0;overflow-wrap:anywhere}
#directory-list .directory-contact-skills{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;line-height:1.5}
#directory-list .directory-contact-skills>span{margin-top:0}
#directory-list .directory-phone{color:var(--muted);white-space:nowrap}
#directory-list .directory-skills{color:#171523;min-width:0;overflow-wrap:anywhere}
@media(max-width:480px){#directory-list>.requirement{align-items:flex-start;flex-direction:column;gap:10px}#directory-list .directory-actions{display:flex;flex-wrap:wrap;justify-content:flex-start;margin-left:0}}
#profile-skills-dialog{width:min(680px,calc(100% - 24px));max-height:92vh;overflow:auto}
#profile-skills-form{padding:24px;display:grid;gap:12px;min-width:0}
#profile-skills-form fieldset{min-width:0;border:1px solid #aaa6b8;border-radius:12px;padding:12px}
#profile-skills-person{font-weight:700;overflow-wrap:anywhere}
#profile-skills-options{columns:180px 3;column-gap:8px}
#profile-skills-options .profile-skill-option{display:flex;align-items:center;gap:10px;min-height:44px;margin-bottom:8px;padding:8px;break-inside:avoid-column;background:#f5f2ff;border-radius:8px;color:#251d42;overflow-wrap:anywhere}
#profile-skills-options input{width:20px;height:20px;flex:none;margin:0}
@media(max-width:480px){#profile-skills-form{padding:16px}#profile-skills-form .dialog-actions{flex-wrap:wrap}#profile-skills-form .dialog-actions button{flex:1}}
.directory-actions .secondary,.directory-actions .whatsapp-link{font-size:11px;padding:7px 9px}
#directory-search{position:sticky;top:0;z-index:3;width:100%;margin:14px 0 6px;padding:13px 14px;border:2px solid #ded8ff;border-radius:14px;background:#fff;font:inherit;box-shadow:0 6px 18px rgba(73,48,180,.08)}
#directory-search:focus{outline:3px solid rgba(94,63,226,.18);border-color:#5e3fe2}
#directory-summary{margin:8px 0 10px}
.pin-card{display:grid;gap:13px;padding:22px}
.pin-card h2{margin:0}
.temporary-pin{font-size:34px;letter-spacing:8px;text-align:center;font-weight:800;color:var(--purple);background:#eeeaff;border-radius:12px;padding:16px}
.field-help{font-size:11px;color:var(--muted);font-weight:400}
#event-form>#event-requirements-control{grid-column:1/-1;min-width:0}
#event-requirements{overflow:hidden;resize:none;max-height:none;white-space:pre-wrap;overflow-wrap:anywhere}
#event-form>#event-sound-proposal{grid-column:1/-1;margin:0}
.requirement-proposal{padding:12px;border:1px solid #e3c372;border-radius:10px;background:#fff8e5;color:#49390d;overflow-wrap:anywhere}
.requirement-proposal ul{margin:8px 0;padding-left:22px}.requirement-proposal p{margin:8px 0 0}
#event-form>#requirements-review-control{grid-column:1/-1;display:flex;align-items:flex-start;gap:10px;padding:12px;background:#fff8e5;border-radius:10px;line-height:1.5}
#event-form #requirements-reviewed{width:20px;height:20px;min-width:20px;margin:2px 0 0;accent-color:var(--purple)}
.custom-event-card{align-items:flex-start;flex-wrap:wrap}
.custom-event-card .event-main{flex:1;min-width:190px}
.event-requirements{display:grid;gap:6px;margin-top:11px}
.plan-requirement{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;border:1px solid #ded4ff;background:#f5f2ff;color:var(--purple);border-radius:9px;padding:8px;text-align:left}
.plan-requirement span{font-size:11px}.plan-requirement.complete{background:#e8f8ef;border-color:#bce8cd;color:#167846}
.planning-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.planning-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}.planning-report{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;margin-top:12px}.planning-header{display:flex;align-items:center;gap:12px;border-bottom:2px solid var(--purple);padding-bottom:12px;margin-bottom:12px}.planning-header img{width:72px;height:50px;object-fit:contain}.planning-header h2{margin:2px 0}.planning-header span{color:var(--muted);font-size:12px}.planning-event{padding:12px 0;border-bottom:1px solid var(--line);break-inside:avoid}.planning-event:last-child{border-bottom:0}.planning-event-time{display:flex;justify-content:space-between;gap:10px;color:var(--purple);font-size:12px}.planning-event h3{margin:6px 0}.planning-event p{margin-top:5px;color:var(--ink);line-height:1.4}.planning-event ul{padding-left:20px;margin:7px 0;font-size:13px}.planning-event li{margin:4px 0}
.planning-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:16px 0}.planning-tab{border:1px solid #d8d1fb;background:#fff;color:#3d278f;border-radius:10px;padding:10px 7px;font-size:12px}.planning-tab.active{background:var(--purple);border-color:var(--purple);color:#fff}.individual-notice{background:#f1edff;border:1px solid #d8d1fb;border-radius:10px;padding:10px;margin:8px 0;color:#3d278f}
.planning-search{display:block;margin:-6px 0 10px}.planning-search input{margin-top:6px}.planning-person-summary{display:flex;flex-wrap:wrap;gap:6px;margin:-2px 0 10px}.planning-person-summary:empty{display:none}.planning-person-summary .pill{font-size:13px;background:#5b3fd4!important;color:#fff!important;padding:7px 10px}.planning-event-time{color:#3d278f!important}.planning-event-time b,.planning-event-time span{color:#3d278f!important}
.change-alert{border:2px solid #e24a32;background:#fff3ef;border-radius:12px;padding:10px;margin:9px 0;color:#7a1f12}.change-alert b{color:#b52f1e}.change-alert button{margin-top:8px}.schedule-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;margin:10px 0}.schedule-card h3{margin:5px 0}.schedule-card p{margin:5px 0;line-height:1.4}.schedule-time{color:#3d278f}.confirmed-note{display:inline-block;background:#e5f7ec;color:#08783d;border-radius:14px;padding:5px 9px;margin-top:6px}
.confirmation-panel,.staff-confirmation{margin-top:12px;padding:11px;border:1px solid #d8d1fb;border-radius:11px;background:#f7f5ff}.confirmation-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 0;border-top:1px solid #e4dffa}.confirmation-row:first-of-type{border-top:0}.confirmation-row small{display:block;margin-top:3px;color:var(--muted)}.confirmation-row button,.staff-confirmation button{padding:8px 10px;font-size:12px}.reminder-recorded{font-size:11px;color:#167846;background:#e7f8ee;border-radius:12px;padding:5px 8px}.staff-confirmation>div{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.assignment-response.confirm{background:#167846;color:#fff}.assignment-response.reject{background:#fff;color:#9d2618;border:1px solid #d99a91}
@media(max-width:760px){.availability-day{grid-template-columns:repeat(2,minmax(0,1fr))}.availability-day .day-choice{grid-column:1/-1}}
@media(max-width:480px){.availability-day{grid-template-columns:minmax(0,1fr)}}
.planning-controls{grid-template-columns:repeat(3,minmax(0,1fr))}
.app:has(#events.active),.app:has(#availability.active),.app:has(#people.active),.app:has(#planning.active){max-width:1080px}.app:has(#events.active) nav,.app:has(#availability.active) nav,.app:has(#people.active) nav,.app:has(#planning.active) nav{max-width:1080px}
#planning.active .section-title h2{font-size:25px}
#planning.active>.muted{max-width:720px;line-height:1.55}
.planning-report{background:#f3f5f9;border:1px solid #dde1e9;border-radius:18px;padding:20px;box-shadow:0 12px 35px rgba(32,32,48,.06)}
.planning-header{background:#fff;border:0;border-left:5px solid var(--purple);border-radius:12px;padding:14px 16px;margin:0}.planning-header img{width:82px;height:54px}.planning-header h2{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;font-size:20px;font-weight:700!important}.planning-header p{font-size:11px;letter-spacing:1.4px}.planning-header span{display:block;margin-top:4px}
.planning-document-summary{display:grid;grid-template-columns:2fr 1fr 1fr;gap:1px;margin:12px 0;background:#dfe3ec;border:1px solid #dfe3ec;border-radius:11px;overflow:hidden}.planning-document-summary>div{display:grid;gap:4px;background:#fff;padding:11px 13px}.planning-document-summary span{font-size:9px;letter-spacing:1px;color:#6f7080}.planning-document-summary b{font-size:13px;color:#252535}
.planning-control-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:-3px 0 13px}.planning-control-summary>div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 11px;border:1px solid #dfe3ec;border-radius:9px;background:#f8faf9}.planning-control-summary span{font-size:9px;letter-spacing:.8px;color:#626576}.planning-control-summary b{font-size:17px;color:#18864b}.planning-control-summary .has-pending{border-color:#f2c977;background:#fff7e5}.planning-control-summary .has-pending b{color:#a96500}.planning-status-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.planning-status-row .planning-operational-status{margin:3px 0}.planning-readiness{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:700!important;letter-spacing:.3px}.planning-readiness.is-ready{background:#dff5e8;color:#147642}.planning-readiness.is-pending{background:#fff0cf;color:#8c5600}
.planning-transport-summary{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(220px,1.3fr);gap:7px;margin:8px 0}.planning-transport-summary>span{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #d8d4f5;background:#f6f4ff;border-radius:8px;padding:7px 9px}.planning-transport-summary b{font-size:9px;letter-spacing:.5px;color:#62579e}.planning-transport-summary strong{font-size:13px;font-weight:700!important;color:#282044;text-align:right}
.planning-event{background:#fff;border:1px solid #dfe3ec;border-left:4px solid #6b52d9;border-radius:12px;padding:15px 16px;margin:10px 0;box-shadow:0 4px 14px rgba(32,32,48,.04);break-inside:avoid;page-break-inside:avoid}.planning-event:last-child{border-bottom:1px solid #dfe3ec}.planning-event-time{align-items:center;border-bottom:1px solid #eceef3;padding-bottom:8px;margin-bottom:9px}.planning-event-time b{font-size:13px}.planning-event-time span{background:#eeeaff;border-radius:999px;padding:5px 9px;font-size:12px}.planning-event h3{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;font-size:17px;font-weight:700!important;margin:7px 0 9px}.planning-event p{font-size:12px;line-height:1.55}.planning-event ul{background:#f8f7fc;border-radius:9px;padding:9px 10px 9px 28px;margin:9px 0}.planning-event li{line-height:1.45}
@media(max-width:520px){.planning-controls{grid-template-columns:1fr 1fr}.planning-controls label:last-of-type{grid-column:1/-1}}
@media(max-width:520px){.planning-report{padding:10px;border-radius:14px}.planning-header{padding:11px}.planning-header img{width:66px}.planning-document-summary{grid-template-columns:1fr 1fr}.planning-document-summary>div:first-child{grid-column:1/-1}.planning-control-summary,.planning-transport-summary{grid-template-columns:1fr}.planning-event{padding:13px 12px}.planning-event-time{align-items:flex-start}.planning-event-time span{white-space:nowrap}}
@media(max-width:390px){.planning-controls{grid-template-columns:1fr}.planning-controls label:last-of-type{grid-column:auto}.nav{font-size:18px}}
@media(max-width:520px){.planning-tabs{grid-template-columns:1fr 1fr}}
@media(max-width:520px){#user-dialog{width:calc(100% - 16px);max-width:none}#user-form{padding:16px}.user-row{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:16px 0}.user-actions{width:100%;align-items:stretch}.user-actions>.pill{justify-self:start}.user-actions>button{width:100%;min-height:44px}.permission-editor{max-width:100%}}
@media print{body{background:#fff}.app{max-width:none;padding:0;background:#fff}.app>header,.app>.view:not(#planning),nav,#planning>.section-title,#planning>.muted,.planning-tabs,.planning-controls,.planning-search,.planning-actions,.distribution-panel,#planning-message,#toast{display:none!important}#planning{display:block!important}.planning-report{border:0;box-shadow:none;padding:0;margin:0;background:#fff}.planning-header{margin-top:0;border:1px solid #dfe3ec;border-left:5px solid var(--purple)}.planning-document-summary{break-inside:avoid;page-break-inside:avoid}.planning-event{box-shadow:none;page-break-inside:avoid;break-inside:avoid;margin:8px 0;padding:11px 13px}.planning-event h3{font-size:14px}.planning-event p,.planning-event li{font-size:10px}.confirmation-reminder{display:none!important} @page{size:A4;margin:12mm}}

.distribution-panel{margin:12px 0;padding:14px;border:1px solid #cfc5ff;border-radius:14px;background:#f4f1ff}.distribution-panel h3{margin:0 0 5px}.distribution-panel p{margin:4px 0;line-height:1.4}.distribution-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.distribution-preview{margin-top:14px;max-height:620px;overflow:auto;border-top:1px solid #d9d1ff;padding-top:10px}.distribution-preview h4{margin:0 0 4px}.distribution-warning{color:#7a4b00;font-weight:700}.distribution-message{margin:9px 0;border:1px solid #d9d1ff;border-radius:10px;background:#fff;padding:10px}.distribution-message summary{cursor:pointer;font-weight:800}.distribution-destination{font-size:13px}.distribution-variables{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:8px 0}.distribution-variables p{display:flex;flex-direction:column;margin:0;padding:7px;border-radius:7px;background:#f5f3ff}.distribution-variables span{font-size:11px;color:#625b75}.distribution-rendered{padding:10px;border-left:4px solid var(--purple);background:#faf9ff;white-space:pre-wrap}@media(max-width:680px){.distribution-variables{grid-template-columns:1fr}}

.remember-login{display:flex;align-items:flex-start;gap:9px;font-weight:600}.remember-login input{width:18px;height:18px;flex:none;accent-color:var(--purple)}
.event-card-schedule{line-height:1.4}.event-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px}.event-detail-item{display:grid;gap:3px;min-width:0;padding:8px;border:1px solid var(--line);border-radius:9px;background:#f7f6fb}.event-detail-item span,.event-requested span{color:var(--muted);font-size:10px;text-transform:uppercase}.event-detail-item b,.event-requested b{overflow-wrap:anywhere;font-size:12px}.event-requested{display:grid;gap:3px;margin-top:10px;padding:9px 10px;border-left:3px solid var(--purple);border-radius:8px;background:#f5f2ff;color:var(--ink)}.event-card-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:10px}.event-card-actions button{min-width:132px}.toggle-event-details{width:auto;margin:0}.event-details{display:grid;gap:10px;margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fafafe}.event-details[hidden]{display:none}.event-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.event-source-details,.event-description{border:1px solid var(--line);border-radius:9px;background:#fff;padding:10px 12px}.event-source-details summary{cursor:pointer;color:var(--purple);font-weight:600}.event-source-details p,.event-description p{white-space:pre-line;line-height:1.55;margin:9px 0 0}.event-description span{color:var(--muted);font-size:11px;text-transform:uppercase}
@media(max-width:390px){.event-summary-grid{grid-template-columns:1fr 1fr}.event-summary-grid .event-detail-item:first-child{grid-column:1/-1}.event-details-grid{grid-template-columns:1fr}.event-card-actions{display:grid;grid-template-columns:1fr 1fr}.event-card-actions button{min-width:0;width:100%}}

/* Legibilidad de la aplicación: texto operativo más grande y jerarquía visible. */
body{font-size:16px;line-height:1.45}
h1{font-size:30px;font-weight:400}
h2{font-size:23px;font-weight:400}
h3{font-size:18px;font-weight:400}
.eyebrow,.muted,p{font-size:14px;line-height:1.5}
label{font-size:14px}
.nav span{font-size:12px}
.pill{font-size:12px}
.event-detail-item span,.event-requested span{font-size:11px}
.event-detail-item b,.event-requested b{font-size:14px}
.requirement span,.calendar span{font-size:13px}
.availability-day label{font-size:12px}
.availability-day .day-choice,.availability-day select{font-size:14px}
.saved-slot span{font-size:12px}.saved-slot strong{font-size:14px}

/* Eventos: etiquetas fijas en negro y datos variables en azul. */
:root{--event-info-blue:#1769aa}
.custom-event-card .event-card-heading h3,
.custom-event-card .event-card-schedule,
.custom-event-card .event-detail-item b,
.custom-event-card .event-requested b,
.custom-event-card .event-source-details p,
.custom-event-card .event-description p,
.custom-event-card .plan-requirement b{color:var(--event-info-blue)}
.custom-event-card .event-detail-item span,
.custom-event-card .event-requested span,
.custom-event-card .event-description span{color:#171722;font-weight:700}
.custom-event-card .event-card-schedule{font-weight:600}

#event-form label,
#event-form h3{color:#171722}
#event-form input,
#event-form textarea,
#event-form select{color:var(--event-info-blue);-webkit-text-fill-color:var(--event-info-blue);font-weight:600;opacity:1}
#event-form input:-webkit-autofill,
#event-form input:-webkit-autofill:hover,
#event-form input:-webkit-autofill:focus{
  -webkit-text-fill-color:var(--event-info-blue)!important;
  box-shadow:0 0 0 1000px #fff inset!important;
  caret-color:var(--event-info-blue)
}
#event-form input::placeholder,
#event-form textarea::placeholder{color:#7a7b86;font-weight:400;opacity:1}
#event-form .field-help{color:#5f606b;font-weight:400}
@media(max-width:520px){.launch-readiness{padding:14px}.launch-readiness-heading{align-items:stretch;flex-direction:column}.readiness-gate{grid-template-columns:38px minmax(0,1fr)}.readiness-state{grid-column:2;justify-self:start}}

/* Contraste operativo 2026-09-05: jerarquías claras sin abusar de negritas. */
:root{
  --purple:#4b2fc1;
  --ink:#171523;
  --muted:#4b4957;
  --bg:#efeff5;
  --line:#c6c3d1;
  --surface-soft:#e4e2eb;
  --surface-purple:#e5ddff
}
body{background:#c9c8d2;color:var(--ink)}
.app{background:var(--bg)}
.app>header{background:#fff;border:1px solid #bdb9ca;border-radius:16px;padding:13px 16px;box-shadow:0 7px 20px rgba(35,27,66,.09)}
h1{color:#181424;font-weight:500}
h2{color:#231a42;font-weight:600}
h3{color:#282238;font-weight:600}
.eyebrow,.muted,p{color:var(--muted)}
.section-title{margin-top:22px;padding-bottom:9px;border-bottom:2px solid #b9b3ce}
.section-title h2{margin:0;color:#281b55}
.section-title button{color:#3f25ad;background:#e5ddff;border:1px solid #a99ae4;border-radius:9px;padding:8px 11px}
.hero{box-shadow:0 9px 24px rgba(63,37,173,.17)}
.stats article,.actions button,.event-card,.person,.detail,.calendar,.schedule-card,.planning-report,.launch-readiness{border-color:#bdb9ca;box-shadow:0 5px 16px rgba(35,27,66,.07)}
.stats article{background:#fbfbfd}
.actions button{background:#f7f6fa;border-color:#b8b4c5}
.event-card{border-left:4px solid #7057d3}
.event-card.selected,.selected{border-color:#5b3fd4;background:#f5f2ff;box-shadow:0 0 0 2px rgba(75,47,193,.12)}
.date{background:#ddd4ff;color:#351c9b;border:1px solid #b5a6ee}
.pill{border:1px solid #b8b3c9;background:#e5e3eb;color:#302d3b}
.pill.purple{background:#dcd1ff;border-color:#a792ec;color:#32168e}
.pill.google{background:#d9ecfb;border-color:#91bedf;color:#0f568b}
.system-alert{border-width:2px;box-shadow:0 4px 12px rgba(25,67,44,.07)}
.system-alert.ok{background:#d5f0df;border-color:#67b987}
.system-alert.warning{background:#ffedb8;border-color:#d4a832}
.system-alert.critical{background:#ffd8d3;border-color:#d77669}
input,textarea,select{border-color:#aaa6b8;background:#fff;box-shadow:inset 0 0 0 1px rgba(58,48,83,.03)}
input:focus,textarea:focus,select:focus{outline:3px solid rgba(75,47,193,.18);border-color:#5b3fd4}
input::placeholder,textarea::placeholder{color:#656272;opacity:1}
.secondary{background:#dedce6;color:#24212d;border:1px solid #aaa6b8}
.primary,.assign{background:#4b2fc1;box-shadow:0 3px 9px rgba(75,47,193,.2)}
.filters{gap:8px}
.filters button{background:#f8f7fa;border-color:#aaa6b8;color:#2c2935}
.filters .active-filter{background:#4b2fc1;border-color:#4b2fc1;color:#fff;box-shadow:0 3px 9px rgba(75,47,193,.18)}
#assignment-tools{margin-top:14px;padding:16px;background:#e5e3ec;border:1px solid #b9b5c7;border-left:5px solid #5b3fd4;border-radius:14px}
#people-subtitle{margin-top:10px;padding:9px 11px;background:#dedbe8;border-radius:9px;color:#373342}
#selection-count{padding:6px 10px}
#filter-note{color:#302c3a;background:#dcd9e5;border-radius:8px;padding:9px 11px}
#costume-note{border-color:#aaa6b8!important;background:#f8f7fa!important}
.empty-state{background:#f7f6fa;border:2px dashed #9892a8}
.empty-state b{color:#211a3a;font-weight:600}
.event-detail-item{background:#ebe9f0;border-color:#bdb9ca}
.event-requested{background:#e3dbff;border-left-width:5px;border-color:#6b4fd0}
.event-details{background:#e9e7ef;border-color:#b7b3c4}
.event-source-details,.event-description{border-color:#b7b3c4}
.plan-requirement{background:#e3dbff;border-color:#9d8ce3;color:#32198f}
.plan-requirement.complete{background:#cfebdb;border-color:#73b98f;color:#0d6535}
.planning-tab{background:#f7f6fa;border-color:#a8a2bb;color:#342178}
.planning-tab.active{background:#4b2fc1;border-color:#4b2fc1;color:#fff}
.planning-report{background:#e6e6ed;border-color:#b6b3c1}
.planning-event,.planning-header{border-color:#b7b3c4;box-shadow:0 4px 12px rgba(35,27,66,.07)}
.confirmation-panel,.staff-confirmation,.distribution-panel{background:#e7e3f4;border-color:#aaa0d4}
.availability-day,.saved-slot{border-color:#b9b5c5}
.profile-summary{background:#ddd4ff;border:1px solid #ad9ce8;color:#32198f}
nav{border-top:2px solid #aaa6b8;box-shadow:0 -5px 18px rgba(35,27,66,.12)}
.nav{color:#55515f;border-radius:9px;padding:5px 9px}
.active-nav{color:#351c9b;background:#ded5ff}
dialog{border:1px solid #9f9aaa;box-shadow:0 24px 70px rgba(24,20,36,.3)}
#event-form>.dialog-heading{border-bottom-color:#aaa6b8}

.auth-screen{position:relative;overflow:hidden;background:linear-gradient(145deg,#e7e3f7,#f5f4fb)}
.auth-card{position:relative;overflow:hidden;border-color:#b9b4c7;animation:auth-card-arrive .45s ease-out both}
.auth-card::before{content:"";position:absolute;inset:0 0 auto;height:10px;background:linear-gradient(90deg,#1678bd 0 25%,#e0b51f 25% 50%,#b63b49 50% 75%,#1678bd 75% 100%);background-size:200% 100%;animation:auth-primary-flow 9s linear infinite}
.auth-card #auth-title{text-align:center;color:#20153f;font-weight:600}
#auth-description{text-align:center;color:#484453}
#auth-submit,#staff-login-mode{min-height:52px;font-weight:800!important;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
#auth-submit{background:#5dbd01;color:#fff;border:1px solid transparent;box-shadow:0 4px 11px rgba(57,117,0,.2)}
#staff-login-mode{background:#0083cd;color:#fff;border:1px solid transparent;box-shadow:0 4px 11px rgba(0,98,154,.2)}
#auth-submit:focus-visible,#staff-login-mode:focus-visible{outline:3px solid #071521;outline-offset:3px}
#auth-submit:hover,#staff-login-mode:hover{transform:translateY(-1px);filter:saturate(1.08)}
#auth-submit:active,#staff-login-mode:active{transform:translateY(0)}
@keyframes auth-card-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes auth-primary-flow{from{background-position:0 0}to{background-position:200% 0}}

@media(max-width:520px){
  .app{padding-left:16px;padding-right:16px}
  .app>header{padding:11px 12px}
  #assignment-tools{padding:13px}
}

@media(prefers-reduced-motion:reduce){
  .auth-card,.auth-card::before{animation:none}
  #auth-submit,#staff-login-mode{transition:none}
}

@media print{
  body,.app,.planning-report{background:#fff}
  .planning-event,.planning-header{box-shadow:none}
}
#person-activity-dialog{width:min(900px,calc(100vw - 24px));padding:0;color:#251d42}
.activity-heading{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:#4930ca;color:white;gap:16px}
.activity-heading p{margin:0 0 6px;color:inherit}.activity-heading h2{margin:0;color:inherit;font-family:inherit;font-weight:500}
.activity-body>section:first-child .activity-controls label{flex:0 0 150px}
.activity-heading button{color:white}.activity-body{padding:24px}.activity-body h3{font-family:inherit;font-weight:500}
.activity-controls{display:flex;align-items:end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.activity-controls label{flex:1;min-width:140px}.activity-controls input{width:100%;box-sizing:border-box}
.activity-months{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:20px 0}
.activity-month{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:16px;background:#f5f1ff;border:1px solid #d8cdfc;border-radius:14px;color:#251d42;font-weight:400;min-width:0}
.activity-month[aria-pressed="true"]{background:#e0d5fc;border-color:#6746dc}.activity-number{font-size:28px}
.activity-month small{font-size:12px;text-align:left}.activity-future{border-top:1px solid #d8cdfc;margin-top:24px;padding-top:16px}
.activity-event-list{list-style:none;padding:0}.activity-event-list li{padding:12px 0;border-bottom:1px solid #e5def4;overflow-wrap:anywhere}
.activity-event-list p{margin:6px 0}.activity-event-list span{color:#543bb8}.activity-body details{overflow-wrap:anywhere}
@media(max-width:600px){.activity-body{padding:16px}.activity-heading{padding:16px}.activity-months{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-month{padding:12px}.activity-controls{align-items:stretch}.activity-controls label{min-width:0}}

/* Brand face is reserved for primary headings, never operational event titles. */
#auth-title,#welcome-title,.section-title h2,.hero h2,#directory>h2,
#availability>h2,.launch-readiness-heading h2,.planning-header h2{
 font-family:'Mouse Memoirs',system-ui,sans-serif;
 font-weight:400!important;
 font-synthesis:none;
 line-height:1.25;
 letter-spacing:normal;
}

/* Readable working surfaces: shared visual hierarchy, unchanged data and permissions. */
@media screen{
 :root{--purple:#174bc4;--ink:#17243b;--muted:#40516b;--bg:#f2f6fc;--line:#becde1;--surface-soft:#eaf1fb;--surface-purple:#e7efff;--event-info-blue:#174a94}
 body{background:#dae5f3;color:var(--ink);font-size:1rem;line-height:1.5;letter-spacing:normal}
 h1,h2,h3,.planning-header h2,.planning-event h3{font-weight:500!important;color:var(--ink)}
 h1{font-size:clamp(1.5rem,2.4vw,1.875rem)}
 h2{font-size:1.375rem}h3{font-size:1.125rem}
 p,.muted,.eyebrow{font-size:1rem;line-height:1.55;color:var(--muted)}
 .avatar,.initials{font-family:inherit;font-weight:500!important;font-size:1.25rem;flex-shrink:0}
 .app>header{border-color:var(--line);box-shadow:0 4px 16px #1434650a}
 .header-brand{flex:1}.header-brand h1{overflow-wrap:anywhere}
 #today-label{font-size:.875rem}
 .section-title{border-bottom:2px solid #174bc4;gap:12px;flex-wrap:wrap;padding-bottom:12px}
 .section-title h2{color:#163c80}.section-title button{background:#fff;color:#174bc4;border-color:#8baade}
 .hero{background:linear-gradient(115deg,#073baf,#1768d6);padding:24px;border-radius:18px;box-shadow:0 8px 22px #174bc425}
 .hero h2,.hero p,.hero span{color:#fff}.hero h2{font-size:1.5rem}.hero button{color:#174bc4}
 .stats article{background:#fff;border:1px solid var(--line);border-top:4px solid #174bc4;padding:16px 12px;min-width:0}
 .stats article:nth-child(2){border-top-color:#087452}.stats article:nth-child(3){border-top-color:#b77906}
 .stats b{font-size:2rem;line-height:1.25;font-weight:500!important;color:#103b86}
 .stats span{display:block;font-size:.875rem;line-height:1.4;color:#34445e;margin-top:8px}
 .actions button,.event-card,.person,.detail,.calendar,.schedule-card,.launch-readiness{background:#fff;border-color:var(--line);box-shadow:0 4px 14px #14346509}
 .actions button{font-size:1rem;min-height:52px}
 button,input,select,textarea{font-size:1rem}input,select,textarea{border-color:#93a9c8;color:#17243b}
 input::placeholder,textarea::placeholder{color:#52627b}
 button:focus-visible,a:focus-visible{outline:3px solid #174bc4;outline-offset:3px}
 .primary,.assign,.planning-tab.active,.filters .active-filter{background:#174bc4;color:#fff;border-color:#174bc4}
 .secondary{background:#edf3fd;color:#16408b;border-color:#9ab4dc}
 .custom-event-card{border-left:5px solid #174bc4;padding:20px;gap:16px}
 .custom-event-card .event-card-heading h3,.planning-event h3{font-size:1.25rem;line-height:1.45;font-weight:500!important;color:#173c78;overflow-wrap:anywhere}
 .date{background:#174bc4;color:#fff;border-color:#174bc4;line-height:1.4;min-width:50px;flex-shrink:0}
 .date small{font-size:.75rem}.pill{font-size:.875rem;line-height:1.4;padding:5px 10px}
 .pill.purple,.plan-requirement{background:#e8f0ff;border-color:#9cb8e9;color:#163f8c}
 .event-detail-item,.event-details{background:#f2f6fc;border-color:#cad7e8}
 .event-requested{background:#eaf2ff;border-color:#174bc4}
 .custom-event-card .event-main{min-width:0}
 .custom-event-card .event-detail-item span,.custom-event-card .event-requested span{font-size:.875rem;color:#42536d}
 .custom-event-card .event-detail-item b,.custom-event-card .event-requested b{font-size:1rem;color:#17243b}
 #directory-summary,#event-search-summary{padding:16px 20px;background:#174bc4;color:#fff;border:0;border-radius:12px;font-size:1.25rem;font-weight:500!important;line-height:1.4;margin:18px 0}
 #directory-summary:empty{display:none}
 #directory-list>.requirement{background:#fff;border:1px solid var(--line);border-left:4px solid #174bc4;border-radius:14px;margin:14px 0;padding:20px;gap:20px;align-items:flex-start;box-shadow:0 4px 14px #14346509}
 .directory-person-details{min-width:0;flex:1}.directory-person-details>b{font-size:1.25rem;line-height:1.4;font-weight:500!important;color:#17243b}
 #directory-list .requirement span{font-size:.875rem;line-height:1.5}
 #directory-list .directory-contact-skills>.directory-phone,#directory-list .directory-contact-skills>.directory-skills{color:#17243b;font-size:1rem;font-weight:600;line-height:1.5;opacity:1}
 #directory-list .directory-person-details>span{display:flex;gap:8px;flex-wrap:wrap}
 #directory-list .directory-actions{flex-shrink:0;gap:8px}
 .directory-actions button,.directory-actions a,.directory-actions .secondary,.directory-actions .whatsapp-link{min-height:40px;font-size:.875rem}
 .person-activity{background:#174bc4;color:#fff;border-color:#174bc4}
 .directory-actions .whatsapp-link{display:inline-flex;align-items:center;justify-content:center;background:#25d366;color:#111b21;border:1px solid #25d366;min-height:44px;padding:10px 16px;font-weight:500!important;text-decoration:none;box-shadow:0 3px 8px #25d36626}
 .directory-actions .whatsapp-link:hover{background:#25d366;border-color:#111b21}
 .directory-actions .whatsapp-link:focus-visible{outline:3px solid #17243b;outline-offset:3px}
 #people-subtitle{background:#e5edf9;color:#40516b;font-size:.875rem}
 .planning-report{background:#e6eef9;border-color:#b7c9e2}
 .planning-header{border-left:5px solid #174bc4;background:#fff}.planning-header h2{font-size:1.5rem}
 .planning-event{padding:20px;border-left:5px solid #174bc4;background:#fff}
 .planning-event p{font-size:1rem;line-height:1.6;margin-top:8px;color:#293c59}
 .planning-readiness{font-size:.875rem;font-weight:500!important;white-space:normal}
 .planning-document-summary span,.planning-control-summary span,.planning-transport-summary b{font-size:.875rem;letter-spacing:normal;color:#40516b}
 .planning-document-summary b,.planning-header span,.planning-event ul{font-size:1rem}
 .planning-control-summary b{font-size:1.5rem}
 .planning-event-time b,.planning-event-time span{font-size:.875rem;white-space:normal}
 .planning-transport-summary{gap:10px}.planning-transport-summary span{font-size:.8125rem}
 .planning-transport-summary strong{font-size:1rem;font-weight:500!important}
 .planning-event .general-notes{background:#eaf2ff;border-left:4px solid #174bc4;padding:14px}
 .system-alert b{font-size:1rem;font-weight:500!important}.system-alert p{font-size:1rem}
 .system-alert.ok{background:#e2f5eb;color:#075e3f;border-color:#60a888}
 .active-nav{background:#174bc4;color:#fff}.nav{font-size:.875rem}.nav span{font-size:.875rem}
 nav{border-top:1px solid #b4c6de;box-shadow:0 -4px 18px #14346512}
 .activity-heading{background:#174bc4}.activity-heading h2{color:#fff}
 .activity-month{background:#f0f5ff;border-color:#b3c9ee;color:#193e79}
 .activity-month[aria-pressed="true"]{background:#174bc4;color:#fff;border-color:#174bc4}
 .activity-number{font-size:2rem}.activity-month small{font-size:.875rem}
 .activity-future{border-top:2px solid #b3c9ee}.activity-body h3{font-size:1.25rem}
 .activity-event-list span{color:#174a94}
 @media(max-width:600px){
  .custom-event-card,.planning-event{padding:16px}.custom-event-card{gap:12px}
  .custom-event-card .event-card-heading h3,.planning-event h3{font-size:1.125rem}
  #directory-list>.requirement{flex-direction:column;padding:16px;gap:14px}
  #directory-list .directory-actions{display:flex;flex-direction:row;flex-wrap:wrap;width:100%;justify-content:flex-start}
  #directory-list .directory-actions>*{flex:1 1 auto;text-align:center}
  #directory-summary{font-size:1.125rem;padding:16px}
  .activity-controls{gap:12px}.section-title h2{font-size:1.25rem}
 }
 /* Keep the brand hierarchy after responsive working-surface overrides. */
 #auth-title,#welcome-title{font-size:2rem}
 .section-title h2,.hero h2,#directory>h2,#availability>h2,
 .launch-readiness-heading h2,.planning-header h2{font-size:1.75rem}
 .planning-header h2{font-weight:400!important}
 .app>header .avatar{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;font-size:1.5rem;font-weight:700!important;line-height:1;border:1px solid #17243b;display:inline-flex;align-items:center;justify-content:center}
}

/* Shared screen typography: all five views, access forms and working dialogs.
   Important declarations replace legacy per-component sizes and the global
   weight reset. Brand headings, semantic colors and print rules stay separate. */
@media screen{
 :root{--ui-font:system-ui,-apple-system,'Segoe UI',Arial,sans-serif;--ui-text:1.125rem;--ui-weight:600;--ui-ink:#17243b;--muted:#17243b}
 body,.app,.auth-screen,dialog{font-family:var(--ui-font);font-size:var(--ui-text);line-height:1.65;color:var(--ui-ink)}
 :is(.app,.auth-screen,dialog) :is(p,label,small,li,dt,dd,td,th,legend,summary,button,input,select,textarea,a,span,b,strong){
  font-family:var(--ui-font)!important;
  font-size:var(--ui-text)!important;
  font-weight:var(--ui-weight)!important;
  line-height:1.65;
  letter-spacing:normal;
 }
 :is(.app,.auth-screen,dialog) :is(p,label,li,summary,legend){overflow-wrap:anywhere}
 :is(.app,.auth-screen,dialog) :is(input,select,textarea){min-width:0;color:var(--ui-ink)}
 :is(.app,.auth-screen,dialog) :is(input,textarea)::placeholder{color:#40516b;opacity:1;font-weight:500}
 :is(.app,.auth-screen,dialog) :is(button,.whatsapp-link,.file-button){min-height:44px;white-space:normal;overflow-wrap:anywhere}
 :is(.stats,.requirement,.calendar,.saved-slot,.profile-summary,.planning-document-summary,.planning-transport-summary,.distribution-variables) :is(span,b),
 #people-subtitle,.field-help,.event-detail-item>span,.event-requested>span{color:var(--ui-ink)}
 /* Large numbers and record names remain distinct from their descriptions. */
 .app .stats b,:is(.app,dialog) .activity-number{font-size:2rem!important;line-height:1.25;font-weight:700!important}
 #directory-summary,#event-search-summary,.app .directory-person-details>b{font-size:1.25rem!important;font-weight:700!important}
 .app .planning-control-summary b{font-size:1.5rem!important;font-weight:700!important}
 .app .date{font-size:1.125rem;font-weight:600!important;line-height:1.4}
 .app .date small{font-size:1rem!important}
 .app .custom-event-card .event-card-heading h3,.app .planning-event h3{font-family:var(--ui-font);font-size:1.25rem;font-weight:600!important;line-height:1.5}
 /* Identical primary-heading hierarchy on Inicio, Eventos, Agenda, Personal and Plan. */
 .app .section-title h2,.app .hero h2,#directory>h2,#availability>h2,
 .app .launch-readiness-heading h2,.app .planning-header h2{
  font-family:'Mouse Memoirs',system-ui,sans-serif;font-size:1.75rem!important;font-weight:400!important;line-height:1.25;font-synthesis:none;
 }
 .app>header .avatar{font-size:1.5rem!important;font-weight:700!important;line-height:1}
 /* Keep pale text off white panels without removing warning/selection colors. */
 .app .saved-slot span,.app .stats span,.app .planning-header span{color:var(--ui-ink)}
 .app .hero p,.app .hero span,.activity-heading p{color:#fff}
 .app .title-actions,.app .filters,.calendar-sync-row,.dialog-actions,.saved-slot{flex-wrap:wrap}
 .app .title-actions{gap:8px}
 .app .planning-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
 .app .planning-controls>*{min-width:0}
 .app .nav{min-width:0;padding:7px 6px;line-height:1.3}
 .app nav{gap:4px}
 @media(max-width:600px){
  .app .planning-tabs,.app .planning-controls{grid-template-columns:1fr}
  .app .stats{grid-template-columns:1fr}
  .app .availability-day{grid-template-columns:minmax(0,1fr)}
  .app .availability-day .clock-fields{grid-template-columns:repeat(3,minmax(0,1fr))}
  .app .planning-document-summary{grid-template-columns:1fr}
  .app .planning-document-summary>div:first-child{grid-column:auto}
  .app .saved-slot{align-items:flex-start}
  .app .saved-slot strong{white-space:normal}
  .app .nav,.app .nav span{font-size:1rem!important}
 }
}

/* Home layout only: preserve approved typography, colors and other views. */
@media screen{
 .app:has(#home.active),.app:has(#home.active) nav{max-width:1080px}
 .app:has(#home.active){padding-bottom:128px}
 #home .hero-description{max-width:none}
 #home .launch-readiness-heading{flex-wrap:wrap}
 #home .launch-readiness-heading>div{min-width:0;flex:1 1 240px}
 #home .readiness-gate>div{min-width:0}
 @media(max-width:760px){
  #home .readiness-gate{grid-template-columns:38px minmax(0,1fr);align-items:start}
  #home .readiness-state{grid-column:2;justify-self:start}
 }
}

/* Compact view spacing only: keep typography, colors, content and control targets. */
@media screen{
 .app{padding-top:16px}
 .app>.system-alert{margin-top:12px;padding:8px 12px}
 .app>.view>.section-title{padding-bottom:8px;gap:8px}
 .app>.view>.section-title h2,.app>.view>h2,#people #directory>h2{margin:16px 0 8px}
 #home .hero{margin-top:16px;padding:16px}
 #home .hero-actions{margin-top:12px}
 #home .stats article{padding:10px 12px}
 #home .stats span{margin-top:4px}
 #home .actions{gap:8px}
 #home .actions button{padding:10px 9px}
 #home .launch-readiness{margin:16px 0 24px;padding:14px}
 #home .readiness-gates,#home .readiness-issues{gap:8px;margin-top:10px}
 #home .readiness-gate{padding:10px;gap:10px}
 #events .calendar-sync-row{margin:0 0 10px}
 #events .calendar-breakdown{margin:0 0 12px;padding:8px 12px}
 :is(#events,#availability) .event-search span{margin-bottom:4px}
 :is(#events,#availability) .event-search input{padding:8px 12px}
 #events #event-search-summary,#people #directory-summary{margin:12px 0;padding:10px 16px}
 #events .custom-event-card{margin:8px 0;padding:14px;gap:12px}
 #people #people-subtitle{margin-top:8px;padding:7px 11px}
 #people #directory-search{margin:10px 0 4px;padding:8px 12px}
 #people #directory-list>.requirement{margin:10px 0;padding:14px;gap:12px}
 #availability .profile-summary{margin:8px 0;padding:10px}
 #availability .availability-calendar{margin:10px 0;gap:8px}
 #availability .empty-state{padding:12px}
 #availability .schedule-card{margin:8px 0;padding:12px}
 #planning .planning-tabs,#planning .planning-controls{margin:10px 0}
 #planning .planning-tab{padding:7px}
 #planning .planning-controls :is(input,select),#planning .planning-search input{padding:8px 10px}
 #planning .planning-report{margin-top:10px;padding:12px}
 #planning .planning-header{padding:10px 12px}
 #planning .planning-event{margin:8px 0;padding:14px}
 #planning .distribution-panel{margin:10px 0;padding:12px}
}

/* Planning event overview: desktop columns, with every existing field retained. */
@media screen and (min-width:1000px){
 #planning .planning-event{column-count:2;column-gap:20px;column-fill:balance}
 #planning .planning-event>.planning-event-time,
 #planning .planning-event>h3,
 #planning .planning-event>.change-alert{column-span:all}
 #planning .planning-event>*{break-inside:avoid-column;min-width:0;overflow-wrap:anywhere}
 #planning .planning-event>.requirement-proposal{break-before:column;margin-top:0}
 #planning .planning-event>.planning-transport-summary{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:8px}
 #planning .planning-transport-summary>span{min-width:0;flex-wrap:wrap;gap:2px 8px;padding:6px 8px}
 #planning .planning-transport-summary strong{min-width:0;text-align:left}
 #planning .planning-event>p{margin:6px 0}
 #planning .planning-event li{break-inside:avoid-column;margin:2px 0}
 #planning .planning-event .requirement-proposal{padding:10px}
 #planning .planning-event .requirement-proposal ul{margin:6px 0;padding-top:6px;padding-bottom:6px}
}

/* Planning persistence and explicit update notices, 2026-09-13. */
.application-update{padding:12px 20px;background:#fff3cd;color:#493b09;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
#event-form>.planning-draft,#event-form>#event-save-message,#event-form>#event-google-fields,#event-form>#event-google-description-control{grid-column:1/-1;min-width:0}
/* One notice at a time; only the content area may scroll on small screens. */
#distribution-dialog{width:calc(100% - 32px);max-width:1440px;height:calc(100dvh - 32px);max-height:calc(100dvh - 32px);padding:16px;overflow:hidden;background:#fff}
#distribution-dialog[open]{display:grid;grid-template-rows:auto auto auto minmax(0,1fr);gap:8px}
#distribution-dialog .distribution-review-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
#distribution-dialog h2,#distribution-dialog h3{margin:0;font-family:var(--ui-font);font-size:1.25rem;line-height:1.35}
#distribution-dialog .distribution-review-navigation{display:flex;align-items:center;justify-content:center;gap:16px}
#distribution-dialog .distribution-review-warning{margin:0;color:#805600}
#distribution-dialog .distribution-preview{margin:0;padding:0;border:0;max-height:none;min-height:0;overflow:hidden}
#distribution-dialog .distribution-message{height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:8px;margin:0;padding:0;border:0;min-height:0}
#distribution-dialog .distribution-review-body{overflow:auto;min-height:0;overflow-wrap:anywhere}
#distribution-dialog .distribution-review-identity{padding:8px 0;border-bottom:1px solid #d9d1ff}
#distribution-dialog .distribution-review-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:16px;padding-top:10px}
#distribution-dialog .distribution-variables{align-content:start;margin:0;gap:8px}
#distribution-dialog .distribution-variables p{padding:6px 10px}
#distribution-dialog .distribution-text{min-width:0}
#distribution-dialog .distribution-rendered{margin:6px 0 0;padding:10px 12px;white-space:pre-wrap;overflow-wrap:anywhere}
#distribution-dialog :is(p,span,b,a,button){line-height:1.4}
#distribution-dialog .distribution-actions{margin:0;padding-top:10px;border-top:1px solid #d9d1ff;align-items:center;background:#fff}
#distribution-dialog .distribution-manual-feedback:empty{display:none}
#distribution-dialog button:disabled{opacity:.55;cursor:default}
body:has(#distribution-dialog[open]){overflow:hidden}
@media(max-width:800px){
 #distribution-dialog{width:calc(100% - 12px);height:calc(100dvh - 12px);max-height:calc(100dvh - 12px);padding:10px}
 #distribution-dialog .distribution-review-columns{grid-template-columns:minmax(0,1fr)}
 #distribution-dialog .distribution-review-navigation{gap:6px}
 #distribution-dialog .distribution-review-navigation button{padding:6px;flex:1;white-space:nowrap}
 #distribution-dialog .distribution-review-navigation span{white-space:nowrap}
 #distribution-dialog .distribution-variables{grid-template-columns:repeat(2,minmax(0,1fr))}
 #distribution-dialog .distribution-actions{gap:6px}
}
@media print{#distribution-dialog{display:none!important}}
.planning-draft{padding:12px;background:#eef4ff;border:1px solid #afc3ea;border-radius:10px;font-size:16px}
.planning-draft button{margin:8px 8px 0 0}
#event-save-message:not(:empty){padding:12px;border:2px solid #ae3c25;background:#fff1ee;font-size:18px;font-weight:600}
#event-google-description{min-height:180px;resize:vertical;white-space:pre-wrap}

/* Event views retain history without placing it before today's work. */
.event-scope-controls{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}
.event-scope-controls button{min-height:48px;flex:1 1 170px;background:#fff;color:#174bc4;border:1px solid #8caeea;border-radius:10px;padding:12px 16px}
.event-scope-controls button[aria-pressed="true"]{background:#174bc4;color:#fff;border-color:#174bc4;font-weight:700}
.event-scope-controls button:focus-visible{outline:3px solid #5138b5;outline-offset:3px}
.event-scope-hint{margin:8px 0 12px;overflow-wrap:anywhere}

/* One requested position per row, on desktop and mobile. */
.event-requested-list{display:block;margin:4px 0 0;padding-left:1.3em;list-style:disc}
.event-requested-list>li{display:list-item;margin:0;padding:3px 0;line-height:1.5;overflow-wrap:anywhere}
.event-requested-status{margin-top:3px}

/* Plan summary markup retains the complete original document for print and authorized detail. */
.planning-mobile-summary,.planning-mobile-toggle{display:none}
.planning-full-details{display:contents}
.planning-event-reference{column-span:all;overflow-wrap:anywhere;margin:0 0 8px}
@media screen and (min-width:1000px){
 #planning .planning-full-details>.planning-event-time,
 #planning .planning-full-details>h3,
 #planning .planning-full-details>.change-alert{column-span:all}
 #planning .planning-full-details>*{break-inside:avoid-column;min-width:0;overflow-wrap:anywhere}
 #planning .planning-full-details>.requirement-proposal{break-before:column;margin-top:0}
 #planning .planning-full-details>.planning-transport-summary{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:8px}
 #planning .planning-full-details>p{margin:6px 0}
}
@media screen and (max-width:600px){
 /* Plan and Agenda scroll between the stationary header and navigation rows. */
 .app:not(.locked):has(#planning.active),.app:not(.locked):has(#availability.active){height:100vh;height:100dvh;min-height:0;display:flex;flex-direction:column;padding:12px 12px 0;padding-top:max(12px,env(safe-area-inset-top));overflow:hidden}
 .app:has(#planning.active)>header,.app:has(#planning.active)>.system-alert,.app:has(#availability.active)>header,.app:has(#availability.active)>.system-alert{flex-shrink:0}
 /* Shared mobile header: date/greeting and actions keep their own rows in every view. */
 .app>header{flex-wrap:wrap;gap:8px;padding:10px 12px}
 .app>header .header-brand{flex:1 1 100%}
 .app>header .header-brand>div{min-width:0}
 .app>header #today-label{position:static;transform:none;width:auto;text-align:left;overflow-wrap:anywhere}
 .app>header .header-actions{flex:1 1 100%;justify-content:flex-end}
 .app>header .header-actions #register-mobile-test{max-width:none;margin-right:auto}
 .app:has(#planning.active)>#planning,.app:has(#availability.active)>#availability{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0 0 16px;scroll-padding-block:12px;overscroll-behavior-y:contain}
 .app:has(#planning.active)>nav,.app:has(#availability.active)>nav{position:static;transform:none;flex:0 0 auto;width:auto;max-width:none;margin:0 -12px;padding:8px 12px max(8px,env(safe-area-inset-bottom));z-index:auto}
 #planning .planning-report{padding:8px;min-width:0}
 /* Native date fields must fit the scroll column even with enlarged mobile text. */
 #planning .planning-controls{grid-template-columns:minmax(0,1fr)}
 #planning .planning-controls label{min-width:0;max-width:100%;grid-template-columns:minmax(0,1fr)}
 #planning .planning-controls input[type="date"]{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-inline-size:0;max-inline-size:100%}
 #planning .planning-controls input[type="date"]::-webkit-date-and-time-value{min-width:0;text-align:left}
 #planning .planning-event{padding:12px;min-width:0;column-count:auto}
 #planning .planning-mobile-summary{display:block;min-width:0}
 #planning .planning-mobile-summary :is(p,span,b){line-height:1.4}
 #planning .planning-mobile-summary h3{margin:8px 0 4px;overflow-wrap:anywhere}
 #planning .planning-mobile-summary p{margin:5px 0;overflow-wrap:anywhere}
 #planning .planning-mobile-time{display:flex;flex-wrap:wrap;gap:2px 12px;border-bottom:1px solid var(--line);padding-bottom:6px}
 #planning .planning-mobile-time>*{min-width:0;overflow-wrap:anywhere}
 #planning .planning-mobile-state{color:#775100}
 #planning .planning-mobile-change{display:block;color:#a33320}
 #planning .planning-mobile-toggle{display:block;width:100%;margin:10px 0 0;min-height:48px}
 #planning .planning-full-details :is(p,li,span,strong,h3){min-width:0;overflow-wrap:anywhere}
 #planning .planning-full-details .planning-event-time{flex-wrap:wrap}
 #planning .planning-full-details .planning-event-time span{white-space:normal}
 #planning .planning-full-details .planning-transport-summary>span{flex-wrap:wrap}
 #planning .planning-full-details .planning-transport-summary strong{text-align:left}
}
@media print{
 .planning-mobile-summary,.planning-mobile-toggle{display:none!important}
 .planning-full-details{display:contents!important}
}
/* One readable event at a time, using the approved notice-review visual language. */
@media screen{
 #planning .planning-event:has(.planning-mobile-summary){column-count:auto}
 #planning .planning-mobile-summary{display:block;min-width:0}
 #planning .planning-mobile-summary h3{margin:8px 0 4px;overflow-wrap:anywhere}
 #planning .planning-mobile-summary p{margin:5px 0;overflow-wrap:anywhere}
 #planning .planning-mobile-time{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;border-bottom:1px solid var(--line);padding-bottom:6px}
 #planning .planning-mobile-change{display:block;color:#a33320}
 #planning .planning-mobile-state{color:#775100}
 #planning .planning-mobile-toggle{display:block;margin-top:10px;min-height:48px}
 #planning .planning-event>.planning-full-details{display:none}
}
#planning-detail-dialog{width:calc(100% - 32px);max-width:1440px;height:calc(100dvh - 32px);max-height:calc(100dvh - 32px);padding:16px;background:#fff;overflow:hidden}
#planning-detail-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px}
#planning-detail-dialog h2,#planning-detail-dialog h3{margin:0;font-family:var(--ui-font);font-size:1.25rem;line-height:1.35}
.planning-detail-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
#planning-detail-body{overflow:auto;min-height:0;overscroll-behavior:contain;overflow-wrap:anywhere}
.planning-detail-identity{padding:8px 0 12px;border-bottom:1px solid #d9d1ff}
.planning-detail-identity>p{margin-top:4px}
#planning-detail-dialog .change-alert{margin:8px 0 0;padding:8px 12px}
.planning-detail-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:16px;padding-top:12px}
.planning-detail-data{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-content:start;min-width:0}
#planning-detail-dialog .planning-detail-field{background:#f5f2ff;border-radius:8px;padding:8px 10px;margin:0;min-width:0}
#planning-detail-dialog .planning-detail-field>b,#planning-detail-dialog .planning-detail-field>span{display:block}
.planning-detail-operations{min-width:0;border-left:4px solid #1746cb;padding:0 12px;background:#faf9ff}
.staffing-allocation-editor{min-width:0;padding:12px;border:1px solid #b8c9ec;border-radius:12px;background:#f7f8ff}
#staffing-confirm-all{max-width:100%;white-space:normal;text-align:left}
#staffing-confirm-all:disabled{opacity:1}
#staffing-exceptions{margin-top:14px}
#staffing-exceptions>summary{cursor:pointer;color:#174bb6;font-weight:600;padding:10px 0}
#staffing-list-summary{font-weight:600}
#event-staffing-rows fieldset{min-width:0;margin:12px 0;padding:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;border:1px solid #b8c9ec;border-radius:8px}
#event-staffing-rows legend{max-width:100%;overflow-wrap:anywhere}
#event-staffing-rows label{min-width:0}
#event-staffing-rows label:has(textarea),#event-staffing-rows p{grid-column:1/-1;margin:0}
#event-staffing-rows input,#event-staffing-rows textarea{width:100%;min-width:0;box-sizing:border-box}
@media(max-width:500px){#event-staffing-rows fieldset{grid-template-columns:minmax(0,1fr)}}

/* One review surface, one scrolling body; editing never removes form controls. */
#event-dialog{width:min(1480px,calc(100% - 32px));height:calc(100dvh - 32px);max-height:calc(100dvh - 32px);overflow:hidden}
#event-form{display:flex;flex-direction:column;gap:10px;height:100%;max-height:none;min-height:0;padding:16px;box-sizing:border-box;overflow:hidden}
#event-form>.dialog-heading{position:static;padding:0 0 8px;flex:none}
#event-form>.planning-draft{flex:none;width:auto;margin:0;padding:8px 10px;font-size:.9rem!important;line-height:1.35}
#event-editor-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:0 4px 4px}
#event-editor-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:10px 16px;align-content:start;align-items:start}
#event-editor-overview[hidden],#event-editor-navigation[hidden],.event-editor-section[hidden]{display:none!important}
.event-editor-identity{flex:none;min-width:0;padding:0 4px 6px;background:#fff;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.event-editor-identity h3,.event-editor-identity p{margin:0}
.event-overview-fields{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;counter-reset:overview-field}
.event-overview-fields>div{min-width:0;background:#f5f2ff;border-radius:7px;padding:6px 10px;line-height:1.4;overflow-wrap:anywhere}
.event-overview-fields dt::before{counter-increment:overview-field;content:counter(overview-field) '. '}
.event-overview-fields dd{margin:0}
#event-form :is(.event-overview-fields,.event-overview-details) :is(dt,dd){line-height:1.4}
.event-overview-details{min-width:0;background:#faf9ff;border-left:4px solid #1746cb;padding:6px 12px;line-height:1.4;overflow-wrap:anywhere}
#event-form .event-overview-details>h3,#event-form .event-editor-section>h3{margin:0 0 8px;font-weight:700!important;text-decoration:underline;text-decoration-color:#1746cb;text-underline-offset:.2em;font-size:1.12rem!important}
#event-form .event-overview-details h4{margin:0 0 6px;font-size:1rem;font-weight:700!important}
.event-overview-details dl{display:grid;gap:6px;margin:0}
.event-overview-details dd{margin:0;white-space:pre-line}
#event-form .event-overview-details dt{font-weight:700!important}
.event-overview-operations{border-top:1px solid var(--line);padding-top:8px;margin-top:10px!important}
.event-overview-operations dt,.event-overview-operations dd{display:inline}
.event-overview-operations dt::after{content:': '}
.event-overview-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;padding-top:8px;border-top:1px solid var(--line)}
.event-overview-actions button{padding:6px 10px;min-height:44px}
#event-editor-navigation{display:flex;align-items:center;gap:12px;margin-bottom:12px}
#event-editor-navigation p{margin:0}
.event-editor-section{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;max-width:960px;margin:0 auto;align-content:start}
#event-form .event-editor-section label{align-content:start;min-width:0}
.event-editor-section .time-row{min-width:0;align-items:start}
.event-editor-section .time-row>label{min-width:0}
.event-hours{border:1px solid var(--line);border-radius:10px;margin:0;padding:10px;min-width:0}
.event-total-control{display:grid;gap:4px;border-left:4px solid #1746cb;padding:8px 12px;background:#f7f6ff}
.event-total-control output{font-weight:700;font-size:1.25rem}
#event-form .staffing-allocation-editor{width:auto;margin:0}
#event-form #event-google-description{height:auto;min-height:200px}
#event-form #event-requirements{width:100%;overflow:hidden;resize:none}
#event-form #requirements-review-control:not([hidden]){display:flex;align-items:flex-start;gap:10px;padding:12px;background:#fff8e5;border-radius:10px}
#event-form #event-sound-proposal{margin:0}
#event-form>#event-save-message{flex:none;width:auto;margin:0;padding:0;max-height:90px;overflow:auto}
#event-form>#event-save-message:empty{display:none}
#event-form>.dialog-actions{flex:none;margin:0;padding-top:10px;border-top:1px solid var(--line)}
#event-form>#delete-event{flex:none;width:auto;margin:0;padding:6px 10px;align-self:flex-start}
@media(max-width:700px){
 #event-dialog{width:calc(100% - 12px);height:calc(100dvh - 12px);max-height:calc(100dvh - 12px)}
 #event-form{padding:10px;gap:8px}
 #event-editor-overview{grid-template-columns:minmax(0,1fr)}
 #event-editor-navigation{align-items:flex-start;flex-direction:column;gap:6px}
 #event-form>.dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}
 #event-form>.dialog-actions button{white-space:normal;padding:8px}
 .event-editor-section .time-row{flex-wrap:wrap}
 .event-editor-section .time-row>label{flex:1 1 150px}
}
#planning-detail-dialog .planning-detail-operations>h3{font-size:1.35rem!important;font-weight:700!important;text-decoration:underline;text-decoration-color:#1746cb;text-decoration-thickness:2px;text-underline-offset:.2em;margin-bottom:10px}
#planning-detail-dialog .planning-detail-operations>p{margin:8px 0}
#planning-detail-dialog .planning-detail-operations>p>b{margin-right:6px}
#planning-detail-dialog .planning-detail-operations>p>span{white-space:pre-wrap}
#planning-detail-dialog .planning-status-row{display:block;margin:8px 0}
#planning-detail-dialog .planning-status-row p{margin:0 0 6px}
#planning-detail-dialog ul{margin:8px 0;padding-left:24px}
#planning-detail-dialog li{margin-bottom:4px}
#planning-detail-dialog .confirmation-panel{margin:12px 0;padding:10px}
#planning-detail-dialog :is(p,span,b,li,button){line-height:1.4}
.planning-detail-navigation{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 16px;border-top:1px solid #d9d1ff;padding-top:10px}
#planning-detail-feedback{flex-basis:100%;text-align:center}
#planning-detail-feedback:empty{display:none}
.planning-detail-navigation button:disabled{opacity:.55;cursor:default}
body:has(#planning-detail-dialog[open]){overflow:hidden}
@media screen and (max-width:800px){
 #planning-detail-dialog{width:calc(100% - 12px);height:calc(100dvh - 12px);max-height:calc(100dvh - 12px);padding:10px}
 .planning-detail-columns{grid-template-columns:minmax(0,1fr)}
 .planning-detail-navigation{gap:6px}
 .planning-detail-navigation button{padding:6px;flex:1}
 .planning-detail-navigation span{white-space:nowrap}
}
@media screen and (max-width:400px){.planning-detail-data{grid-template-columns:minmax(0,1fr)}}
@media print{#planning-detail-dialog{display:none!important}}
#registration-skills{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:8px}
#profile-registration-dialog{max-width:680px;width:calc(100% - 24px)}
#profile-registration-form{max-height:85dvh;overflow-y:auto;padding:16px;display:grid;gap:12px;min-width:0}
#profile-registration-form fieldset{min-width:0;border:1px solid #aaa6b8;border-radius:12px;padding:10px}
#registration-skills .profile-skill-option{display:flex;align-items:center;gap:8px;margin:0;min-height:44px;padding:8px;background:#f5f2ff;border-radius:8px;overflow-wrap:anywhere}
#registration-skills input{width:20px;height:20px;flex:none;margin:0}
#profile-registration-form .dialog-actions{position:sticky;bottom:-16px;background:white;padding:12px 0;flex-wrap:wrap}
#profile-registration-form .dialog-actions button{flex:1}
#profile-registration-form [hidden]{display:none!important}
#directory-status{margin:18px 0 14px;padding:16px;background:#eaf0ff;border:1px solid #9bb3ed;border-radius:14px}
#directory-status[hidden]{display:none!important}
#directory-status-title{margin:0 0 12px;font-family:inherit;font-size:1.125rem;font-weight:700;color:#17243b}
.directory-status-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#directory-status button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;padding:14px 18px;border:2px solid #174bc4;border-radius:10px;background:white;color:#174bc4;font-size:1.125rem;font-weight:700;text-align:left;line-height:1.3;cursor:pointer}
#directory-status button[aria-pressed="true"]{background:#174bc4;color:white;box-shadow:0 3px 8px #174bc433}
#directory-status button[aria-pressed="true"]>span:first-child::before{content:'✓ ';font-weight:700}
#directory-status button:hover{box-shadow:0 0 0 2px #174bc433}
#directory-status button:focus-visible{outline:3px solid #17243b;outline-offset:3px}
#directory-status .directory-status-count{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:32px;padding:2px 8px;border-radius:20px;background:#eaf0ff;color:#123a9a;font-weight:700;flex-shrink:0}
#directory-status button[aria-pressed="true"] .directory-status-count{background:white;color:#174bc4}
@media(max-width:520px){.directory-status-options{grid-template-columns:1fr;gap:10px}#directory-status{padding:12px}#directory-status button{min-height:56px;padding:12px;font-size:1rem}}
.calendar-operational-reference{margin:12px 0;padding:14px;border:1px solid #d6b86a;border-left:4px solid #87651b;border-radius:10px;background:#fff9eb;color:#263348;overflow-wrap:anywhere}
.calendar-operational-reference h4{margin:0 0 10px;font-family:inherit;font-size:1.05rem}
.calendar-operational-reference ul{padding-left:22px;margin:10px 0}
.calendar-operational-reference li{margin:10px 0}
.calendar-operational-reference p{margin:8px 0;font-size:.95rem;line-height:1.5}
.calendar-reference-action{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin:8px 0 18px}
.calendar-reference-action label{flex:1;min-width:160px;margin:0}
.calendar-reference-action select{width:100%;min-width:0}
@media(max-width:520px){.calendar-reference-action{display:grid;grid-template-columns:minmax(0,1fr)}.calendar-reference-action label{min-width:0}.calendar-operational-reference{padding:10px}.custom-event-card:has(.calendar-operational-reference) .event-main{flex-basis:100%}}
@media print{.calendar-operational-reference{display:none!important}}
@media(max-width:360px){#event-form>.dialog-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:6px}#event-form>.dialog-actions button{width:100%;min-width:0;min-height:44px;padding:8px;font-size:.875rem;overflow-wrap:normal}}
