:root{--ink: #0f172a;--muted: #64748b;--line: #e2e8f0;--brand: #1d4ed8;--brand-2: #1e3a8a;--brand-soft: #eff6ff;--ok: #047857;--danger: #be123c;--warn: #b45309;--surface: #ffffff;--radius: 1.15rem;--shadow: 0 18px 50px rgba(15, 23, 42, .08);font-family:Segoe UI,Inter,system-ui,sans-serif;color:var(--ink);background:#e8eef8;font-synthesis:none}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:radial-gradient(1200px 480px at 10% -10%,#c7d7ff 0%,transparent 55%),radial-gradient(900px 420px at 100% 0%,#dbeafe 0%,transparent 50%),#e8eef8}button,input,select,textarea{font:inherit}button{background:var(--brand);color:#fff;border:0;border-radius:.85rem;padding:.85rem 1.15rem;font-weight:700;cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #fbbf24;outline-offset:2px}.skip-link{position:fixed;left:1rem;top:-5rem;background:#fff;padding:.8rem;z-index:20}.skip-link:focus{top:1rem}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem clamp(1rem,4vw,2.5rem);color:#fff;background:linear-gradient(135deg,#12265c,#1d4ed8 58%,#2563eb)}.topbar-brand{display:flex;align-items:center}.topbar-logo{height:56px;max-width:320px;object-fit:contain;display:block}.brand-logo-hero{height:76px;max-width:360px;object-fit:contain;display:block;margin-bottom:.8rem}.landing-brand-logo{height:64px;max-width:320px;object-fit:contain;display:block;margin-bottom:.6rem}.brand-logo-light{height:56px;max-width:300px;object-fit:contain;display:block}.topbar h1{margin:0;font-size:clamp(1.25rem,3vw,1.7rem);letter-spacing:-.03em}.userbox{display:flex;align-items:center;gap:.75rem}.avatar,.avatar-img{width:2.5rem;height:2.5rem;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.4);box-shadow:0 2px 6px #00000026}.avatar{display:grid;place-items:center;background:#ffffff25;font-weight:800;font-size:.95rem;color:#fff}.user-name{font-size:.95rem;color:#fff}.ghost{background:#ffffff18;border:1px solid #ffffff33;color:#fff}.app-nav{display:flex;gap:.35rem;overflow-x:auto;padding:.55rem clamp(1rem,4vw,2.5rem);background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:8}.app-nav button{background:transparent;color:var(--muted);white-space:nowrap;padding:.7rem .95rem;border-radius:999px}.app-nav button[aria-current=page]{background:var(--brand-soft);color:var(--brand-2)}.layout{width:min(1180px,calc(100% - 1.5rem));margin:1.25rem auto 3rem;display:grid;gap:1rem}.card{background:var(--surface);border-radius:var(--radius);padding:clamp(1.1rem,3vw,1.7rem);box-shadow:var(--shadow);border:1px solid #ffffffaa}.login,.center{min-height:100vh;display:grid;place-items:center;padding:1rem}.login-shell{width:min(920px,100%);display:grid;grid-template-columns:1.05fr .95fr;background:#fff;border-radius:1.4rem;overflow:hidden;box-shadow:var(--shadow)}.login-brand{background:linear-gradient(160deg,#12265c,#1d4ed8);color:#fff;padding:2.4rem 2rem;display:grid;align-content:end;gap:.6rem}.login-brand h1{margin:0;font-size:2.2rem}.login-form{padding:2rem 1.6rem}.login-links{display:flex;justify-content:space-between;gap:.8rem;flex-wrap:wrap;margin-top:1rem;align-items:center}.login-links a,.link-button{color:var(--brand);font-weight:700;text-decoration:none;background:transparent;border:0;padding:0;cursor:pointer;font-size:.88rem;font-family:inherit}.login-links a:hover,.link-button:hover{text-decoration:underline}h1,h2,h3,h4,p{margin-top:0}label{display:grid;gap:.4rem;font-weight:700;margin:.85rem 0;font-size:.92rem}input,select{width:100%;padding:.85rem .9rem;border:1px solid #cbd5e1;border-radius:.8rem;background:#f8fafc}input:focus,select:focus{background:#fff;border-color:var(--brand)}.secondary{background:#334155}.danger{background:var(--danger)}.dark{background:#e2e8f0;color:#0f172a}.notice,.error,.empty-hint{margin:0;padding:.9rem 1rem;border-radius:.9rem;background:var(--brand-soft);color:var(--brand-2);font-weight:650}.error{background:#fff1f2;color:#9f1239}.empty-hint{background:#fff7ed;color:var(--warn)}.muted,.form-help{color:var(--muted);font-weight:500;margin:.25rem 0 .6rem}.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:.55rem;margin-top:1rem}.slots button{display:grid;gap:.15rem;background:var(--brand-soft);color:var(--brand-2)}.slots button:not(:disabled):hover{background:var(--brand);color:#fff}.slots small{font-weight:600}.day-hours{display:grid;gap:1rem;margin-top:.8rem;max-height:28rem;overflow:auto;padding-right:.2rem}.hour-block h4{margin:0 0 .45rem;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.hour-slots{display:grid;gap:.4rem}.hour-slot{width:100%;display:flex;justify-content:space-between;align-items:center;gap:.8rem;background:var(--brand-soft);color:var(--brand-2);text-align:left;padding:.8rem 1rem}.hour-slot.selected{background:var(--brand);color:#fff}.hour-slot:disabled{background:#f1f5f9;color:#94a3b8}.confirm-bar{position:sticky;bottom:0;margin-top:1rem;padding:.9rem 1rem;border-radius:1rem;background:#0f172a;color:#fff;display:flex;justify-content:space-between;gap:.8rem;align-items:center;flex-wrap:wrap}.confirm-bar p{margin:.2rem 0 0;color:#cbd5e1;font-size:.85rem;font-weight:500}.confirm-bar button{background:#22c55e;color:#052e16}.booking{display:grid;grid-template-columns:minmax(280px,1.05fr) minmax(240px,.95fr);gap:1.2rem;margin-top:1rem;align-items:start}.calendar{background:#f8fafc;border:1px solid var(--line);border-radius:1.1rem;padding:1rem}.cal-head{display:flex;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.8rem;text-transform:capitalize}.cal-head button{padding:.45rem .75rem}.cal-week,.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem}.cal-week span{text-align:center;font-size:.72rem;font-weight:800;color:var(--muted);text-transform:uppercase}.cal-day,.cal-empty{aspect-ratio:1;border:0;border-radius:.75rem;background:#fff;color:var(--ink);font-weight:750;padding:0}.cal-day:not(:disabled):hover{background:var(--brand-soft)}.cal-day.selected{background:var(--brand);color:#fff}.cal-day.closed,.cal-day:disabled{background:transparent;color:#94a3b8}.cal-day.has-bookings{box-shadow:inset 0 0 0 2px #93c5fd}.cal-day.today{font-weight:900}.cal-day{position:relative}.cal-count{position:absolute;right:.15rem;bottom:.15rem;min-width:1.1rem;height:1.1rem;border-radius:999px;background:#0f172a;color:#fff;font-size:.62rem;display:inline-flex;align-items:center;justify-content:center;font-style:normal;padding:0 .2rem}.cal-day.selected .cal-count{background:#fff;color:var(--brand)}.attendant-panel-pro{padding:1.5rem}.attendant-topbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1.2rem}.attendant-top-actions{display:flex;gap:.6rem;align-items:center}.call-next-btn{background:linear-gradient(135deg,#16a34a,#15803d);color:#fff;font-weight:800;padding:.75rem 1.2rem;border-radius:.8rem;box-shadow:0 4px 12px #16a34a40;transition:all .2s ease}.call-next-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #16a34a59}.call-next-btn:disabled{opacity:.5;cursor:not-allowed}.attendant-filter-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.8rem;background:#f8fafc;padding:1rem;border-radius:1rem;border:1px solid var(--line);margin-bottom:1.2rem;align-items:end}.attendant-filter-bar label{margin:0}.metrics-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.6rem;margin-bottom:1.5rem}.metric-pill{background:#fff;border:1px solid var(--line);border-radius:.9rem;padding:.75rem .9rem;display:flex;flex-direction:column;box-shadow:0 1px 3px #0000000a}.metric-num{font-size:1.5rem;font-weight:800;line-height:1.1}.metric-lbl{font-size:.75rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.03em;margin-top:.2rem}.metric-pill.total .metric-num{color:var(--ink)}.metric-pill.booked .metric-num{color:#2563eb}.metric-pill.confirmed .metric-num{color:#059669}.metric-pill.completed .metric-num{color:#0f766e}.metric-pill.noshow .metric-num{color:#d97706}.metric-pill.cancelled .metric-num{color:#be123c}.attendant-workspace{display:grid;grid-template-columns:1fr 1.3fr;gap:1.5rem;align-items:start}@media (max-width: 980px){.attendant-workspace{grid-template-columns:1fr}}.attendant-calendar-box{background:#fff;border:1px solid var(--line);border-radius:1.2rem;padding:1.2rem;box-shadow:0 2px 8px #0000000a}.cal-head-pro{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.cal-nav-group{display:flex;align-items:center;gap:.6rem}.cal-month-title{margin:0;font-size:1.15rem;text-transform:capitalize}.cal-nav-btn{background:#f1f5f9;border:1px solid #cbd5e1;color:#334155;width:2rem;height:2rem;border-radius:.6rem;display:grid;place-items:center;font-size:1.1rem;padding:0}.cal-nav-btn:hover{background:#e2e8f0}.today-btn{background:#f1f5f9;border:1px solid #cbd5e1;color:#1e293b;font-weight:700;padding:.35rem .75rem}.cal-week-pro{display:grid;grid-template-columns:repeat(7,1fr);gap:.3rem;text-align:center;font-weight:700;font-size:.8rem;color:var(--muted);margin-bottom:.5rem}.cal-grid-pro{display:grid;grid-template-columns:repeat(7,1fr);gap:.4rem}.cal-cell-empty{min-height:60px;background:#f8fafc;border-radius:.6rem;opacity:.5}.cal-cell-pro{min-height:64px;background:#fff;border:1px solid var(--line);border-radius:.7rem;padding:.4rem;display:flex;flex-direction:column;align-items:center;justify-content:space-between;cursor:pointer;transition:all .15s ease;position:relative}.cal-cell-pro:hover{border-color:var(--brand);background:#f0f7ff}.cal-cell-pro.is-selected{border-color:var(--brand);background:#eff6ff;box-shadow:inset 0 0 0 2px var(--brand)}.cal-cell-pro.is-today .cell-day-num{background:#1e293b;color:#fff;border-radius:50%;width:1.5rem;height:1.5rem;display:grid;place-items:center}.cell-day-num{font-weight:800;font-size:.88rem;color:#1e293b}.cell-badge{font-size:.62rem;font-weight:700;padding:.15rem .35rem;border-radius:999px;white-space:nowrap;width:100%;text-align:center;overflow:hidden;text-overflow:ellipsis}.cell-badge.pending-badge{background:#dbeafe;color:#1e40af}.cell-badge.done-badge{background:#f1f5f9;color:#64748b}.attendant-queue-box{background:#fff;border:1px solid var(--line);border-radius:1.2rem;padding:1.2rem;box-shadow:0 2px 8px #0000000a}.queue-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:.8rem;padding-bottom:1rem;border-bottom:1px solid var(--line);margin-bottom:1rem}.queue-header h3{margin:0;font-size:1.2rem;text-transform:capitalize}.compact-toggle{margin:0;font-size:.82rem;color:var(--muted)}.empty-queue-box{text-align:center;padding:3rem 1.5rem;color:var(--muted)}.empty-icon{font-size:2.5rem;margin:0 0 .5rem}.appointment-card-list{display:grid;gap:.8rem}.app-card-item{background:#fff;border:1px solid var(--line);border-left-width:6px;border-radius:1rem;overflow:hidden;box-shadow:0 1px 4px #00000008;transition:all .2s ease}.app-card-item:hover{box-shadow:0 4px 12px #0000000f}.app-card-item.is-expanded{box-shadow:0 6px 18px #00000014;border-color:#cbd5e1}.app-card-header{padding:.9rem 1.1rem;display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff}.app-card-header:hover{background:#f8fafc}.app-card-time{display:flex;flex-direction:column;align-items:center;background:#f1f5f9;padding:.4rem .6rem;border-radius:.6rem;min-width:4.8rem;text-align:center}.app-card-time strong{font-size:.95rem;color:var(--brand-2)}.app-card-time small{font-size:.72rem;color:var(--muted);font-weight:600}.app-card-main-info{display:flex;flex-direction:column;gap:.2rem}.citizen-name-row{display:flex;align-items:center;gap:.5rem}.citizen-avatar{width:1.6rem;height:1.6rem;border-radius:50%;background:#e2e8f0;color:#334155;display:grid;place-items:center;font-size:.75rem;font-weight:800}.service-sub{margin:0;font-size:.82rem;color:var(--muted)}.app-card-right{display:flex;align-items:center;gap:.8rem}.status-pill{font-size:.75rem;font-weight:700;padding:.3rem .65rem;border-radius:999px;border:1px solid;white-space:nowrap}.expand-chevron{color:var(--muted);font-size:.75rem}.app-card-body{padding:1rem 1.1rem 1.1rem;background:#f8fafc;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:1rem}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem}.detail-item{display:flex;flex-direction:column;gap:.15rem}.detail-item small{font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;font-weight:700;color:var(--muted)}.detail-item.full-width{grid-column:1 / -1}.citizen-notes{margin:0;background:#fff;padding:.6rem .8rem;border-radius:.6rem;border:1px solid var(--line);font-size:.88rem}.phone-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.whatsapp-btn{display:inline-flex;align-items:center;gap:.3rem;background:#25d366;color:#fff;font-weight:700;font-size:.75rem;padding:.2rem .55rem;border-radius:.5rem;text-decoration:none}.whatsapp-btn:hover{background:#1ebd5a}.card-actions-bar{display:flex;gap:.6rem;flex-wrap:wrap;padding-top:.8rem;border-top:1px solid #e2e8f0}.action-btn{font-weight:700;font-size:.82rem;padding:.55rem .95rem;border-radius:.7rem;cursor:pointer;transition:all .15s ease;border:1px solid transparent}.start-btn{background:#2563eb;color:#fff}.start-btn:hover{background:#1d4ed8}.complete-btn{background:#059669;color:#fff}.complete-btn:hover{background:#047857}.noshow-btn{background:#f59e0b;color:#fff}.noshow-btn:hover{background:#d97706}.cancel-btn{background:#fee2e2;color:#b91c1c;border-color:#fecaca}.cancel-btn:hover{background:#fecaca}.appointments,.operation-list{display:grid;gap:.75rem}.appointments article,.operation-list article,.config-row{border:1px solid var(--line);border-radius:1rem;padding:1rem;display:flex;justify-content:space-between;gap:1rem;align-items:center;background:#f8fafc}.status{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.status.cancelled{color:var(--danger)}.status.completed{color:var(--ok)}.actions,.section-title{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap}.section-title{justify-content:space-between}.metrics{display:flex;gap:.7rem;flex-wrap:wrap;margin:1rem 0}.metrics div{background:var(--brand-soft);border-radius:1rem;padding:.8rem 1.1rem;display:grid}.metrics strong{font-size:1.45rem}.metrics span{color:var(--muted)}.catalog{display:grid;grid-template-columns:minmax(210px,240px) 1fr;gap:1.1rem;align-items:start}.stepper{display:grid;gap:.5rem;position:sticky;top:4.4rem}.stepper button{text-align:left;background:#fff;color:var(--ink);border:1px solid var(--line);display:grid;grid-template-columns:auto 1fr;gap:.15rem .7rem;padding:.85rem .9rem}.stepper button small{grid-column:2;color:var(--muted);font-weight:600}.stepper button[aria-current=step]{border-color:var(--brand);background:var(--brand-soft)}.stepper .n{width:1.7rem;height:1.7rem;border-radius:50%;display:grid;place-items:center;background:#e2e8f0;color:#334155;font-size:.8rem;grid-row:1 / span 2}.stepper button[aria-current=step] .n{background:var(--brand);color:#fff}.stepper button.done .n{background:var(--ok);color:#fff}.stepper button:disabled{opacity:.55}.panel h2{font-size:1.45rem;letter-spacing:-.03em;margin-bottom:.35rem}.panel form{margin-top:.4rem}.form-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}.toggle-row{display:flex;align-items:center;gap:.55rem;margin:.65rem 0;font-weight:700}.staff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.6rem;margin:.6rem 0 1rem}.attendant-row-item{display:flex;align-items:center;justify-content:space-between;gap:.8rem;background:#f8fafc;border:1px solid var(--line);border-radius:.8rem;padding:.5rem .85rem}.email-tag{color:var(--brand-2);font-weight:600;font-size:.8rem;background:#dbeafe;padding:.15rem .45rem;border-radius:.4rem;margin-left:.4rem}.weekday-options label{margin:0;display:flex;align-items:center;gap:.35rem;background:#f1f5f9;border-radius:999px;padding:.4rem .75rem;font-weight:700}.weekday-options input{width:auto}.compact-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.7rem}fieldset{border:1px solid var(--line);border-radius:1rem;margin:1rem 0}.config-row{margin:.55rem 0}.config-row span{display:grid}.config-row small{color:var(--muted)}.share-card{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;background:linear-gradient(160deg,#eff6ff,#fff);border:1px solid #bfdbfe;border-radius:1.1rem;padding:1rem 1.1rem;margin:1rem 0}.share-link{display:block;margin:.6rem 0;padding:.7rem .8rem;background:#fff;border-radius:.7rem;font-size:.78rem;word-break:break-all}.button-link{display:inline-flex;align-items:center;background:#e2e8f0;color:#0f172a;font-weight:800;text-decoration:none;border-radius:.85rem;padding:.85rem 1.15rem}.landing-banner{min-height:min(42vw,280px);background-size:cover;background-position:center}.banner-field-container{display:flex;flex-direction:column;gap:.65rem;margin-bottom:.8rem}.banner-upload-row{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin-top:-.2rem}.banner-file-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .85rem;background:#f1f5f9;border:1px dashed #94a3b8;border-radius:.7rem;font-size:.85rem;font-weight:600;color:#334155;cursor:pointer;transition:all .2s ease}.banner-file-btn:hover{background:#e2e8f0;border-color:#64748b}.banner-file-btn input[type=file]{display:none}.small-btn{padding:.45rem .75rem;font-size:.82rem}.banner-preview-box{background:#f8fafc;border:1px solid var(--line);border-radius:.9rem;padding:.7rem;margin-top:.3rem}.preview-label{font-size:.78rem;font-weight:700;color:var(--muted);margin:0 0 .4rem;text-transform:uppercase;letter-spacing:.03em}.banner-preview{display:block;width:100%;max-height:200px;object-fit:cover;border-radius:.7rem;border:1px solid var(--line)}.ghost{background:#ffffff18;border:1px solid #ffffff44;color:#fff}.ghost.danger{background:#fee2e2;border:1px solid #fecaca;color:#b91c1c}.ghost.danger:hover{background:#fecaca}.landing-page{min-height:100vh;background:var(--bg);padding-bottom:3rem}.landing-topbar{background:linear-gradient(135deg,#12265c,#1d4ed8);padding:.75rem clamp(1rem,4vw,2.5rem);box-shadow:0 2px 10px #0000001f;position:sticky;top:0;z-index:10}.landing-topbar-inner{max-width:1180px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.landing-main-wrap{width:min(1180px,calc(100% - 1.5rem));margin:1.5rem auto 0;display:grid;gap:1.2rem}.landing-banner-card{width:100%;border-radius:1.2rem;overflow:hidden;box-shadow:0 4px 20px #00000014;border:1px solid rgba(255,255,255,.7);background:#fff}.landing-banner-card-img{width:100%;height:auto;display:block}.landing-info-card{background:#fff;border-radius:var(--radius);padding:clamp(1.2rem,3vw,1.8rem);box-shadow:var(--shadow);border:1px solid var(--line)}.landing-meta{display:flex;gap:.5rem;flex-wrap:wrap;padding:0;list-style:none}.landing-meta li{background:#f1f5f9;color:#1e293b;border:1px solid #e2e8f0;border-radius:999px;padding:.35rem .85rem;font-weight:700;font-size:.85rem}.landing-body{width:100%;margin:0}.landing-login{margin-top:1.5rem;padding-top:1rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172aa6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;z-index:99;padding:1rem;animation:fadeIn .15s ease-out}.modal-content{background:#fff;border-radius:1.2rem;width:min(520px,100%);padding:1.5rem;box-shadow:0 20px 25px -5px #0003,0 8px 10px -6px #0003;border:1px solid var(--line);animation:scaleIn .15s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (max-width: 860px){.share-card,.login-shell{grid-template-columns:1fr}.login-brand{min-height:160px}.booking,.catalog{grid-template-columns:1fr}.stepper{position:static;grid-auto-flow:column;grid-auto-columns:minmax(160px,1fr);overflow-x:auto}.stepper button{min-width:170px}.topbar{align-items:flex-start}.appointments article,.operation-list article,.config-row,.timeline-item{flex-direction:column;align-items:flex-start}.timeline-item{grid-template-columns:1fr}}.holiday-manager{display:grid;gap:1rem;margin:1rem 0 2rem;padding:1.15rem;border:1px solid var(--line);border-radius:1rem;background:#f8fafc}.holiday-toolbar{display:grid;grid-template-columns:1.2fr .7fr 1fr;gap:.85rem}.holiday-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem;padding:1rem;border:1px solid var(--line);border-radius:.85rem;background:#fff}.holiday-calendar .weekday{text-align:center;color:#64748b;font-size:.78rem;padding:.35rem}.holiday-calendar button{min-height:4.3rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;border:1px solid #dbe3ee;border-radius:.7rem;background:#fff;color:#0f172a}.holiday-calendar button:hover:not(:disabled){border-color:var(--brand);background:#eff6ff}.holiday-calendar button.selected{border-color:#2563eb;background:#dbeafe;color:#1d4ed8}.holiday-calendar button.blocked{border-color:#fca5a5;background:#fee2e2;color:#991b1b;opacity:1}.holiday-calendar button:disabled{cursor:not-allowed}.holiday-calendar button span{font-size:1rem;font-weight:800}.holiday-calendar button small{min-height:.8rem;font-size:.62rem}.holiday-legend{display:flex;flex-wrap:wrap;gap:1rem;color:#475569;font-size:.84rem}.holiday-legend span{display:flex;align-items:center;gap:.4rem}.holiday-legend i{width:.85rem;height:.85rem;border-radius:.25rem}.legend-selected{background:#dbeafe;border:1px solid #2563eb}.legend-blocked{background:#fee2e2;border:1px solid #f87171}.holiday-warning{padding:.85rem 1rem;border:1px solid #fbbf24;border-radius:.7rem;background:#fffbeb;color:#854d0e;font-size:.9rem}.holiday-list-title{margin-top:1.5rem}.advanced-block{margin-top:1rem;border:1px solid var(--line);border-radius:.8rem;background:#fff}.advanced-block summary{padding:1rem;cursor:pointer;font-weight:800;color:#334155}.advanced-block form{padding:0 1rem 1rem}@media (max-width:760px){.holiday-toolbar{grid-template-columns:1fr}.holiday-calendar{gap:.25rem;padding:.55rem}.holiday-calendar button{min-height:3.3rem}.holiday-calendar button small{display:none}}
