@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--primary:#2563eb;--primary-hover:#1d4ed8;--primary-light:#eff6ff;--secondary:#10b981;--secondary-hover:#059669;--secondary-light:#ecfdf5;--danger:#ef4444;--danger-hover:#dc2626;--danger-light:#fef2f2;--warning:#f59e0b;--warning-hover:#d97706;--warning-light:#fffbeb;--background:#f8fafc;--surface:#fff;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--border:#e2e8f0;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem}[data-theme=dark]{--primary:#60a5fa;--primary-hover:#3b82f6;--primary-light:#1e3a8a;--secondary:#34d399;--secondary-hover:#10b981;--secondary-light:#064e3b;--danger:#f87171;--danger-hover:#ef4444;--danger-light:#7f1d1d;--warning:#fbbf24;--warning-hover:#f59e0b;--warning-light:#78350f;--background:#0f172a;--surface:#1e293b;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#64748b;--border:#334155;--shadow-sm:0 1px 2px 0 #00000080;--shadow-md:0 4px 6px -1px #00000080, 0 2px 4px -2px #00000080;--shadow-lg:0 10px 15px -3px #00000080, 0 4px 6px -4px #00000080}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--background);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:Inter,sans-serif;line-height:1.5}.system-loading{background:radial-gradient(circle at 50% 35%, color-mix(in srgb, var(--primary) 12%, transparent), transparent 38%), var(--background);place-items:center;min-height:40vh;padding:2rem;display:grid}.system-loading-full{min-height:100vh}.system-loading-brand{text-align:center;justify-items:center;gap:1rem;width:min(320px,82vw);display:grid}.system-loading-logo-wrap{background:var(--surface);width:108px;height:108px;box-shadow:var(--shadow-lg);border-radius:50%;place-items:center;padding:12px;display:grid;position:relative}.system-loading-logo{object-fit:contain;border-radius:50%;width:100%;height:100%}.system-loading-spinner{border:3px solid color-mix(in srgb, var(--primary) 16%, transparent);border-top-color:var(--primary);border-right-color:var(--secondary);border-radius:50%;animation:1.15s linear infinite system-loading-spin;position:absolute;inset:-6px}.system-loading-copy{gap:.25rem;display:grid}.system-loading-copy strong{color:var(--primary);letter-spacing:.08em;font-size:1.35rem}.system-loading-copy span{color:var(--text-secondary);font-size:.9rem}.system-loading-progress{background:var(--border);border-radius:999px;width:180px;height:4px;overflow:hidden}.system-loading-progress span{border-radius:inherit;background:linear-gradient(90deg, var(--primary), var(--secondary));width:45%;height:100%;animation:1.25s ease-in-out infinite system-loading-slide;display:block}@keyframes system-loading-spin{to{transform:rotate(360deg)}}@keyframes system-loading-slide{0%{transform:translate(-115%)}50%{transform:translate(120%)}to{transform:translate(340%)}}@media (prefers-reduced-motion:reduce){.system-loading-spinner,.system-loading-progress span{animation:none}}.app-container{min-height:100vh;display:flex}.main-content{flex-direction:column;flex:1;display:flex;overflow-x:hidden}.page-content{flex:1;width:100%;max-width:1400px;margin:0 auto;padding:2rem}h1{color:var(--text-primary);margin-bottom:.5rem;font-size:2rem;font-weight:700}h2{color:var(--text-primary);margin-bottom:1rem;font-size:1.5rem;font-weight:600}h3{color:var(--text-primary);margin-bottom:.75rem;font-size:1.25rem;font-weight:600}p{color:var(--text-secondary);margin-bottom:1rem}.btn{border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-primary{background-color:var(--primary);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{background-color:var(--primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{background-color:var(--surface);color:var(--text-primary);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.btn-secondary:hover{background-color:var(--background)}.btn-danger{background-color:var(--danger-light);color:var(--danger)}.btn-danger:hover{background-color:var(--danger);color:#fff}.form-group{margin-bottom:1.5rem}.form-label{color:var(--text-primary);margin-bottom:.5rem;font-weight:500;display:block}.form-control{border:1px solid var(--border);border-radius:var(--radius-md);background-color:var(--surface);width:100%;color:var(--text-primary);padding:.75rem 1rem;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}.dashboard-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.card{background-color:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border);padding:1.5rem;transition:box-shadow .2s}.card:hover{box-shadow:var(--shadow-md)}.table-container{background-color:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border);overflow-x:auto}table{border-collapse:collapse;width:100%}th{background-color:var(--background);color:var(--text-secondary);text-align:left;border-bottom:1px solid var(--border);padding:1rem;font-weight:600}td{border-bottom:1px solid var(--border);color:var(--text-primary);padding:1rem}tbody tr:hover{background-color:var(--background)}tbody tr:last-child td{border-bottom:none}.badge{border-radius:9999px;align-items:center;padding:.25rem .75rem;font-size:.875rem;font-weight:500;display:inline-flex}.badge-primary{background-color:var(--primary-light);color:var(--primary)}.badge-secondary{background-color:var(--secondary-light);color:var(--secondary)}.badge-warning{background-color:var(--warning-light);color:var(--warning)}.badge-danger{background-color:var(--danger-light);color:var(--danger)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.mt-4{margin-top:1rem}.mb-4{margin-bottom:1rem}.text-center{text-align:center}@media (width<=768px){.app-container{flex-direction:column;padding-bottom:70px}.page-content{min-width:0;padding:1rem .85rem 1.5rem}.dashboard-grid{grid-template-columns:1fr!important}h1{font-size:1.55rem}h2{font-size:1.35rem}h3{font-size:1.1rem}.card{border-radius:var(--radius-md);padding:1rem}.page-header .btn{width:100%}.form-actions{grid-template-columns:1fr;width:100%;display:grid}.form-actions .btn{width:100%}.search-bar{max-width:100%!important}.table-container:has(.mobile-card-table){box-shadow:none;background:0 0;border:0;border-radius:0;overflow:visible}.mobile-card-table,.mobile-card-table tbody,.mobile-card-table tr,.mobile-card-table td{width:100%;display:block}.mobile-card-table thead{display:none}.mobile-card-table tbody{gap:.8rem;display:grid}.mobile-card-table tr{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--background);overflow:hidden}.mobile-card-table td{overflow-wrap:anywhere;border-bottom:1px solid var(--border);grid-template-columns:minmax(88px,.34fr) minmax(0,1fr);gap:.75rem;padding:.7rem .8rem;display:grid}.mobile-card-table td:before{content:attr(data-label);color:var(--text-muted);letter-spacing:.025em;text-transform:uppercase;font-size:.72rem;font-weight:700}.mobile-card-table td:last-child{border-bottom:0}.mobile-card-table td>.flex{flex-wrap:wrap}.mobile-card-table td[colspan]{padding:1.5rem 1rem;display:block}.mobile-card-table td[colspan]:before{content:none}}.sidebar{background-color:var(--surface);border-right:1px solid var(--border);flex-direction:column;width:280px;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-header{border-bottom:1px solid var(--border);flex-direction:column;align-items:center;gap:1rem;padding:1.5rem;display:flex}.sidebar-logo{object-fit:contain;max-width:120px;height:auto}.sidebar-header h2{color:var(--primary);margin:0;font-size:1.25rem}.sidebar-nav{flex-direction:column;gap:.5rem;padding:1.5rem 1rem;display:flex}.sidebar-mobile-nav,.mobile-menu-backdrop{display:none}.nav-item{color:var(--text-secondary);border-radius:var(--radius-md);align-items:center;gap:1rem;padding:1rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.nav-item:hover{background-color:var(--background);color:var(--primary)}.nav-item.active{background-color:var(--primary-light);color:var(--primary);font-weight:600}@media (width<=768px){.sidebar{border-right:none;border-top:1px solid var(--border);z-index:1000;flex-direction:row;width:100%;height:70px;position:fixed;top:auto;bottom:0;left:0;overflow:visible;box-shadow:0 -2px 10px #0000000d}.sidebar-header,.sidebar-nav{display:none}.sidebar-mobile-nav{padding:.3rem max(.35rem, env(safe-area-inset-right)) calc(.25rem + env(safe-area-inset-bottom)) max(.35rem, env(safe-area-inset-left));grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;width:100%;height:100%;display:grid}.mobile-nav-item{text-align:center;border-radius:var(--radius-sm);flex-direction:column;justify-content:center;gap:.18rem;min-width:0;height:60px;padding:.35rem .2rem;font-size:.67rem}.mobile-nav-item span{white-space:normal;justify-content:center;align-items:center;width:100%;min-height:1.35rem;line-height:1.05;display:flex;overflow:visible}.mobile-more-button{background:0 0;border:0;font-family:inherit}.mobile-menu-backdrop{z-index:-1;padding-bottom:calc(70px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#020617ad;align-items:flex-end;display:flex;position:fixed;inset:0}.mobile-menu-sheet{border:1px solid var(--border);background:var(--surface);border-radius:20px 20px 0 0;width:100%;max-height:min(72vh,620px);padding:1rem;overflow-y:auto;box-shadow:0 -20px 55px #0000004d}.mobile-menu-sheet header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.85rem;display:flex}.mobile-menu-sheet header div{gap:.15rem;display:grid}.mobile-menu-sheet header span{color:var(--text-muted);font-size:.78rem}.mobile-menu-sheet header button{border:1px solid var(--border);width:38px;height:38px;color:var(--text-primary);background:var(--background);border-radius:50%;place-items:center;display:grid}.mobile-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.mobile-menu-grid .nav-item{gap:.65rem;min-width:0;padding:.8rem;font-size:.82rem}.mobile-menu-grid .nav-item span{text-overflow:ellipsis;overflow:hidden}}.header{background-color:var(--surface);border-bottom:1px solid var(--border);z-index:999;height:64px;box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;padding:0 2rem;display:flex;position:sticky;top:0}.header-logo{display:none}.header-logo img{object-fit:contain;width:auto;height:40px}.header-title h1{color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:600}.header-actions{align-items:center;gap:.5rem;margin-left:auto;display:flex}.icon-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;padding:.5rem;transition:all .2s;display:flex;position:relative}.icon-btn:hover{background-color:var(--background);color:var(--primary)}.notification-badge{background-color:var(--danger);color:#fff;text-align:center;border-radius:10px;min-width:16px;padding:.1rem .3rem;font-size:.6rem;font-weight:700;line-height:1.4;position:absolute;top:2px;right:2px}.notifications-container{position:relative}.notifications-dropdown{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);width:300px;box-shadow:var(--shadow-lg);z-index:1001;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.notifications-dropdown h4{border-bottom:1px solid var(--border);color:var(--text-primary);margin:0;padding:.75rem 1rem;font-size:.95rem}.no-notifications{text-align:center;color:var(--text-muted);margin:0;padding:1rem;font-size:.875rem}.notifications-list{max-height:280px;margin:0;padding:0;list-style:none;overflow-y:auto}.notification-item{border-bottom:1px solid var(--border);padding:0}.notification-item:last-child{border-bottom:none}.notification-item.info{border-left:3px solid var(--primary)}.notification-item.warning{border-left:3px solid var(--warning)}.notification-item button{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.75rem 1rem;display:flex}.notification-item button:hover,.notification-item button:focus-visible{background:var(--background);outline:none}.notification-item strong{color:var(--text-primary);font-size:.875rem}.notification-item p{color:var(--text-secondary);margin:0;font-size:.8rem}.notification-time{color:var(--text-muted);align-self:flex-end;font-size:.7rem}.user-menu-container{position:relative}.avatar-btn{cursor:pointer;border-radius:var(--radius-md);background:0 0;border:none;align-items:center;gap:.5rem;padding:.25rem .5rem;transition:background .2s;display:flex}.avatar-btn:hover{background-color:var(--background)}.avatar{background-color:var(--primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.avatar-initial{font-size:.95rem;font-weight:700;line-height:1}.user-info{text-align:left;flex-direction:column;display:flex}.user-name{color:var(--text-primary);white-space:nowrap;font-size:.875rem;font-weight:600}.user-role{color:var(--text-muted);font-size:.75rem}.chevron{color:var(--text-muted)}.desktop-only{display:flex}.user-dropdown{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);min-width:200px;box-shadow:var(--shadow-lg);z-index:1001;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.user-dropdown-header{flex-direction:column;gap:.1rem;padding:.75rem 1rem;display:flex}.user-dropdown-header strong{color:var(--text-primary);font-size:.9rem}.user-dropdown-header span{color:var(--text-muted);font-size:.75rem}.user-dropdown-divider{background-color:var(--border);height:1px;margin:0}.user-dropdown-item{cursor:pointer;width:100%;color:var(--text-secondary);text-align:left;background:0 0;border:none;align-items:center;gap:.65rem;padding:.65rem 1rem;font-size:.875rem;transition:background .15s;display:flex}.user-dropdown-item:hover{background-color:var(--background);color:var(--text-primary)}.user-dropdown-item.danger{color:var(--danger)}.user-dropdown-item.danger:hover{background-color:var(--danger-light)}@media (width<=768px){.header{z-index:999;height:60px;padding:0 1rem;position:sticky;top:0}.header-logo{align-items:center;display:flex}.header-logo img{height:36px}.header-title{display:none}.desktop-only{display:none!important}.header-actions{gap:.25rem}.notifications-dropdown{width:280px;right:-60px}.user-dropdown{min-width:180px;right:0}.avatar-btn{padding:.25rem}}.login-container{background-color:var(--primary-light);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.login-card{background-color:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:100%;max-width:420px;padding:2.5rem}.login-header{text-align:center;margin-bottom:2rem}.login-logo{width:120px;height:auto;margin-bottom:1rem}.login-header h2{color:var(--primary);margin-bottom:.5rem}.login-header p{color:var(--text-secondary);font-size:.95rem}.login-form .form-group{margin-bottom:1.25rem}.password-field{position:relative}.password-field .form-control{padding-right:3.25rem}.password-toggle{width:2rem;height:2rem;color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.password-toggle:hover{color:var(--primary);background:var(--primary-light)}.password-toggle:focus-visible{color:var(--primary);outline:2px solid var(--primary);outline-offset:2px}.login-btn{width:100%;margin-top:1rem;padding:.875rem;font-size:1.1rem}.login-error{background-color:var(--danger-light);color:var(--danger);border-radius:var(--radius-md);text-align:center;border:1px solid var(--danger);margin-bottom:1.5rem;padding:.75rem;font-size:.9rem}.families-page{flex-direction:column;display:flex}.page-header h2{color:var(--primary);margin-bottom:.25rem}.page-header p{margin-bottom:0;font-size:.875rem}.form-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.form-group.full-width{grid-column:1/-1}.search-bar{border:1px solid var(--border);border-radius:var(--radius-md);background-color:var(--background);align-items:center;gap:.5rem;max-width:400px;padding:.5rem 1rem;display:flex}.search-input{background:0 0;border:none;width:100%;padding:0}.search-input:focus{box-shadow:none}.searchable-select{min-width:0;position:relative}.searchable-select-control{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--background);align-items:center;gap:.55rem;min-height:43px;padding:.5rem .8rem;display:flex}.searchable-select-control:focus-within,.searchable-select-control.is-open{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--primary) 20%, transparent)}.searchable-select-control input{width:100%;min-width:0;color:var(--text-primary);font:inherit;background:0 0;border:0;outline:0}.searchable-select-control input::placeholder{color:var(--text-muted)}.searchable-select-control button{color:var(--text-muted);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid}.searchable-select.is-disabled{opacity:.65}.searchable-select-menu{z-index:30;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);max-height:285px;box-shadow:var(--shadow-lg);padding:.35rem;position:absolute;top:calc(100% + .35rem);left:0;right:0;overflow-y:auto}.searchable-select-menu>button{border-radius:var(--radius-sm);width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:0;gap:.15rem;padding:.65rem .7rem;display:grid}.searchable-select-menu>button:hover,.searchable-select-menu>button.is-selected{color:var(--primary);background:color-mix(in srgb, var(--primary) 10%, var(--background))}.searchable-select-menu small,.searchable-select-empty,.searchable-select-hint{color:var(--text-muted);font-size:.78rem}.searchable-select-empty,.searchable-select-hint{padding:.7rem}.searchable-select-hint{border-top:1px solid var(--border)}.agenda-filters{grid-template-columns:minmax(260px,1.4fr) repeat(3,minmax(180px,1fr));align-items:end;gap:1rem;display:grid}.agenda-filters .search-bar{max-width:none;min-height:43px}.agenda-filter-field{gap:.4rem;display:grid}.agenda-filter-field label{color:var(--text-muted);font-size:.82rem;font-weight:700}.agenda-filter-heading{color:var(--primary);justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.agenda-filter-heading h3{margin:0 0 .25rem}.agenda-filter-heading p{color:var(--text-muted);margin:0;font-size:.875rem}.recurrence-choice{border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--primary) 4%, var(--background));padding:1rem}.recurrence-option{cursor:pointer;align-items:flex-start;gap:.8rem;display:flex}.recurrence-option input{width:19px;height:19px;accent-color:var(--primary);margin-top:.15rem}.recurrence-option span{gap:.25rem;display:grid}.recurrence-option small{color:var(--text-muted)}.recurrence-badge{color:var(--primary);background:color-mix(in srgb, var(--primary) 10%, var(--background));white-space:nowrap;border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .55rem;font-size:.78rem;font-weight:700;display:inline-flex}.agenda-specialty{font-size:.8rem}.professional-fieldset{border:0;min-width:0;padding:0}.professional-fieldset .form-label{padding:0}.professional-help{margin:-.25rem 0 .75rem;font-size:.875rem}.professional-search{max-width:520px;margin-bottom:.75rem;position:relative}.professional-search>svg{z-index:1;pointer-events:none;position:absolute;top:50%;left:.9rem;transform:translateY(-50%)}.professional-search .form-control{padding-left:2.6rem}.professional-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.professional-options-scroll{max-height:260px;padding-right:.35rem;overflow-y:auto}.professional-result-hint{margin-top:.65rem;display:block}.professional-option{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--background);cursor:pointer;align-items:center;gap:.75rem;min-height:64px;padding:.75rem 1rem;display:flex}.professional-option:has(input:checked){border-color:var(--primary);background:color-mix(in srgb, var(--primary) 9%, var(--background))}.professional-option input{width:18px;height:18px;accent-color:var(--primary);flex:none}.professional-option span{gap:.2rem;display:grid}.professional-option small,.professional-empty{color:var(--text-muted)}.professional-empty{border:1px dashed var(--border);border-radius:var(--radius-md);padding:1rem}.workflow-banner{border:1px solid color-mix(in srgb, var(--primary) 26%, var(--border));border-radius:var(--radius-md);color:var(--primary);background:color-mix(in srgb, var(--primary) 7%, var(--background));align-items:flex-start;gap:.9rem;padding:1rem 1.15rem;display:flex}.workflow-banner>svg{flex:none;margin-top:.1rem}.workflow-banner>div{gap:.25rem;display:grid}.workflow-banner span{color:var(--text-muted);line-height:1.5}.waitlist-actions,.agenda-actions{flex-wrap:wrap;align-items:center}.btn.btn-success{color:#fff;white-space:nowrap;background:#138a57;border:1px solid #138a57;justify-content:center;align-items:center;gap:.4rem;padding:.4rem .7rem;display:inline-flex}.btn.btn-success:hover{background:#0f7047;border-color:#0f7047}.badge.badge-success{color:#0b6840;background:color-mix(in srgb, #18a566 18%, var(--background))}.completed-note{color:#138a57;white-space:nowrap;align-items:center;gap:.4rem;font-size:.82rem;font-weight:700;display:inline-flex}.completion-card{border-color:color-mix(in srgb, #18a566 35%, var(--border))}.attendance-evolution{white-space:nowrap;text-overflow:ellipsis;max-width:360px;overflow:hidden}.history-filters{grid-template-columns:repeat(3,minmax(180px,1fr));align-items:end;gap:1rem;display:grid}.history-filters .search-bar{max-width:none;min-height:43px}.history-filter-actions{align-items:center;gap:.75rem;display:flex}.pagination-controls{color:var(--text-muted);justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;font-size:.9rem;display:flex}.pagination-controls .btn{align-items:center;gap:.35rem;display:inline-flex}.agenda-calendar-toolbar,.agenda-calendar-navigation,.agenda-view-switch,.agenda-status-legend,.agenda-selected-event,.agenda-selected-actions{align-items:center;display:flex}.agenda-calendar-toolbar{justify-content:space-between;gap:1rem;margin-bottom:.85rem}.agenda-calendar-navigation,.agenda-view-switch,.agenda-selected-actions{gap:.5rem}.agenda-icon-button{justify-content:center;align-items:center;min-width:38px;padding-inline:.55rem;display:inline-flex}.agenda-calendar-title{text-transform:capitalize;margin-left:.5rem;font-size:1.15rem}.agenda-status-legend{color:var(--text-muted);flex-wrap:wrap;gap:.65rem 1rem;margin-bottom:.9rem;font-size:.78rem}.agenda-status-legend span:before{content:"";background:#4f9cff;border-radius:50%;width:9px;height:9px;margin-right:.4rem;display:inline-block}.agenda-status-legend .is-completed:before{background:#19a968}.agenda-status-legend .is-absent:before{background:#e6a23c}.agenda-status-legend .is-cancelled:before{background:#7b8799}.agenda-calendar-scroll{border:1px solid var(--border);border-radius:var(--radius-md);overflow-x:auto}.agenda-mobile-list{display:none}.agenda-calendar-grid{background:var(--border);grid-template-columns:repeat(7,minmax(125px,1fr));gap:1px;min-width:875px;display:grid}.agenda-calendar-weekday{color:var(--text-muted);background:var(--background);text-align:center;text-transform:uppercase;padding:.7rem;font-size:.75rem;font-weight:700}.agenda-calendar-day{background:var(--surface);min-height:132px;padding:.5rem}.agenda-calendar-grid.is-week .agenda-calendar-day{min-height:430px}.agenda-calendar-day.is-outside{opacity:.46}.agenda-calendar-day.is-today{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--primary) 70%, transparent)}.agenda-day-number{color:var(--text-primary);cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:.2rem;padding:.18rem .35rem;font-weight:700;display:inline-flex}.agenda-day-number svg{opacity:0}.agenda-day-number:hover,.agenda-calendar-day.is-today .agenda-day-number{color:#fff;background:var(--primary)}.agenda-day-number:hover svg{opacity:1}.agenda-day-events{gap:.3rem;margin-top:.35rem;display:grid}.agenda-calendar-event{border:1px solid color-mix(in srgb, #4f9cff 35%, var(--border));width:100%;color:var(--text-primary);background:color-mix(in srgb, #4f9cff 13%, var(--surface));cursor:pointer;text-align:left;border-left:4px solid #4f9cff;border-radius:5px;grid-template-columns:auto minmax(0,1fr);gap:.1rem .4rem;padding:.38rem .45rem;font-size:.72rem;display:grid}.agenda-calendar-event span,.agenda-calendar-event small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.agenda-calendar-event small{color:var(--text-muted);grid-column:1/-1}.agenda-calendar-event.is-completed{border-color:color-mix(in srgb, #19a968 35%, var(--border));background:color-mix(in srgb, #19a968 13%, var(--surface));border-left-color:#19a968}.agenda-calendar-event.is-absent{border-color:color-mix(in srgb, #e6a23c 35%, var(--border));background:color-mix(in srgb, #e6a23c 13%, var(--surface));border-left-color:#e6a23c}.agenda-calendar-event.is-cancelled{border-color:color-mix(in srgb, #7b8799 35%, var(--border));background:color-mix(in srgb, #7b8799 12%, var(--surface));opacity:.72;border-left-color:#7b8799;text-decoration:line-through}.agenda-calendar-event.is-selected{outline:2px solid var(--primary);outline-offset:1px}.agenda-calendar-message{margin:1rem 0 0}.agenda-selected-event{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--background);grid-template-columns:minmax(180px,.42fr) minmax(0,1fr);justify-content:space-between;align-items:flex-start;gap:1rem;margin-top:1rem;padding:1rem;display:grid}.agenda-selected-summary{min-width:0}.agenda-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.agenda-detail-card{border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:var(--radius-md);background:var(--surface);align-content:start;gap:.35rem;padding:.85rem;display:grid}.agenda-detail-card.is-professional{border-left-color:var(--secondary)}.agenda-detail-card>span{color:var(--text-muted);letter-spacing:.045em;text-transform:uppercase;font-size:.7rem;font-weight:800}.agenda-detail-card>strong{margin-bottom:.15rem}.agenda-detail-card>small{color:var(--text-secondary);line-height:1.45}.agenda-selected-actions{grid-column:1/-1;justify-content:flex-end}.agenda-selected-event h3{margin:.4rem 0 .2rem}.agenda-selected-event p{margin:.2rem 0}.agenda-event-status{color:#246db2;background:color-mix(in srgb, #4f9cff 15%, var(--background));border-radius:999px;padding:.2rem .5rem;font-size:.72rem;font-weight:700;display:inline-flex}.agenda-event-status.is-completed{color:#138a57;background:color-mix(in srgb, #19a968 15%, var(--background))}.agenda-event-status.is-absent{color:#a3670d;background:color-mix(in srgb, #e6a23c 17%, var(--background))}.agenda-event-status.is-cancelled{color:var(--text-muted);background:color-mix(in srgb, #7b8799 15%, var(--background))}.attendance-tabs{border-bottom:1px solid var(--border);gap:.5rem;margin-bottom:1rem;display:flex}.attendance-tabs button{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:.45rem;padding:.7rem .9rem;font-weight:700;display:inline-flex}.attendance-tabs button.is-active{border-bottom-color:var(--primary);color:var(--primary)}.attendance-tabs button span{background:color-mix(in srgb, var(--primary) 13%, var(--background));text-align:center;border-radius:999px;min-width:22px;padding:.12rem .35rem;font-size:.72rem}.attendance-worklist-filters{grid-template-columns:minmax(280px,1fr) minmax(220px,.4fr);gap:1rem;margin-bottom:1rem;display:grid}.attendance-worklist-filters .search-bar{max-width:none}.attendance-queue{gap:.65rem;display:grid}.attendance-queue-heading{color:var(--text-muted);text-transform:uppercase;letter-spacing:.035em;grid-template-columns:150px minmax(180px,1fr) minmax(180px,.8fr) minmax(250px,auto);gap:1rem;padding:0 1rem .15rem;font-size:.76rem;display:grid}.attendance-queue-heading strong{color:var(--primary)}.attendance-queue-item{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--background);grid-template-columns:150px minmax(180px,1fr) minmax(180px,.8fr) minmax(250px,auto);align-items:center;gap:1rem;padding:.9rem 1rem;display:grid}.attendance-queue-date,.attendance-queue-patient,.attendance-queue-professional{gap:.25rem;display:grid}.attendance-queue-date span,.attendance-queue-patient span,.attendance-queue-professional span{color:var(--text-muted);font-size:.8rem}.attendance-queue-date span{align-items:center;gap:.3rem;display:inline-flex}.attendance-queue-actions{justify-content:flex-end;gap:.5rem;display:flex}.attendance-queue-actions .btn{white-space:nowrap;justify-content:center;align-items:center;gap:.35rem;display:inline-flex}.attendance-empty{padding:2.5rem 1rem}.attendance-register-card,.attendance-history-detail{border-color:color-mix(in srgb, var(--primary) 35%, var(--border))}.alert{border:1px solid var(--border);border-radius:var(--radius-md);padding:.85rem 1rem}.alert-danger{border-color:color-mix(in srgb, var(--danger) 40%, var(--border));color:var(--danger);background:color-mix(in srgb, var(--danger) 9%, var(--surface))}.alert-success{border-color:color-mix(in srgb, var(--secondary) 40%, var(--border));color:var(--secondary);background:color-mix(in srgb, var(--secondary) 9%, var(--surface))}.attendance-history-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem;display:grid}.attendance-history-detail-grid>div{gap:.35rem;display:grid}.attendance-history-detail-grid span{color:var(--text-muted);font-size:.78rem}.attendance-history-detail-grid p{white-space:pre-wrap;margin:0;line-height:1.6}@media (width<=768px){.form-grid,.agenda-filters,.history-filters,.professional-options{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:flex-start;gap:1rem}.pagination-controls{flex-direction:column;align-items:flex-start}.waitlist-actions,.agenda-actions{min-width:210px}.agenda-calendar-toolbar,.agenda-selected-event{flex-direction:column;align-items:flex-start}.agenda-calendar-scroll{display:none}.agenda-mobile-list{gap:.75rem;display:grid}.agenda-mobile-day{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--background);grid-template-columns:65px minmax(0,1fr);gap:.7rem;padding:.75rem;display:grid}.agenda-mobile-date{color:var(--primary);text-transform:capitalize;align-content:start;gap:.1rem;display:grid}.agenda-mobile-date strong{font-size:.8rem}.agenda-mobile-date span{color:var(--text-muted);font-size:.68rem}.agenda-mobile-events{gap:.5rem;min-width:0;display:grid}.agenda-mobile-event{border:1px solid color-mix(in srgb, #4f9cff 35%, var(--border));width:100%;color:var(--text-primary);background:color-mix(in srgb, #4f9cff 12%, var(--surface));text-align:left;border-left:4px solid #4f9cff;border-radius:7px;grid-template-columns:auto minmax(0,1fr);gap:.15rem .55rem;padding:.65rem;display:grid;overflow:hidden}.agenda-mobile-event span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.agenda-mobile-event small{color:var(--text-muted);grid-column:1/-1}.agenda-mobile-event.is-completed{border-left-color:#19a968}.agenda-mobile-event.is-absent{border-left-color:#e6a23c}.agenda-mobile-event.is-cancelled{opacity:.72;border-left-color:#7b8799}.agenda-mobile-event.is-selected{outline:2px solid var(--primary)}.agenda-detail-grid{grid-template-columns:1fr;width:100%}.agenda-selected-actions{grid-column:auto}.agenda-calendar-navigation{flex-wrap:wrap}.agenda-calendar-title{width:100%;margin:.35rem 0 0}.agenda-selected-actions,.attendance-tabs{width:100%;overflow-x:auto}.attendance-worklist-filters,.attendance-queue-item,.attendance-history-detail-grid{grid-template-columns:1fr}.attendance-queue-heading{display:none}.attendance-queue-professional:before{content:"Profissional";color:var(--primary);text-transform:uppercase;font-size:.72rem;font-weight:700}.attendance-queue-actions{grid-template-columns:1fr;display:grid}.attendance-queue-item .btn{width:100%}}@media (width>=769px) and (width<=1200px){.agenda-filters,.history-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}.confirm-dialog-backdrop{z-index:5000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#020617b8;place-items:center;padding:1rem;animation:.14s ease-out confirm-backdrop-in;display:grid;position:fixed;inset:0}.confirm-dialog{border:1px solid var(--border);border-radius:var(--radius-xl);width:min(470px,100%);color:var(--text-primary);background:var(--surface);grid-template-columns:auto minmax(0,1fr);gap:.9rem 1rem;padding:1.4rem;animation:.17s ease-out confirm-dialog-in;display:grid;position:relative;box-shadow:0 24px 70px #00000061}.confirm-dialog-icon{width:46px;height:46px;color:var(--danger);background:color-mix(in srgb, var(--danger) 13%, var(--surface));border-radius:14px;place-items:center;display:grid}.confirm-dialog-warning .confirm-dialog-icon{color:var(--warning);background:color-mix(in srgb, var(--warning) 14%, var(--surface))}.confirm-dialog-info .confirm-dialog-icon{color:var(--primary);background:color-mix(in srgb, var(--primary) 13%, var(--surface))}.confirm-dialog-eyebrow{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.25rem;font-size:.7rem;font-weight:800;display:block}.confirm-dialog h2{margin:0;font-size:1.2rem}.confirm-dialog p{margin:.45rem 0 0;line-height:1.6}.confirm-dialog-actions{grid-column:1/-1;justify-content:flex-end;gap:.65rem;margin-top:.35rem;display:flex}.confirm-dialog-close{width:34px;height:34px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:.7rem;right:.7rem}.confirm-dialog-close:hover{color:var(--text-primary);background:var(--background)}.btn-danger-solid{color:#fff;background:var(--danger)}.btn-danger-solid:hover{background:var(--danger-hover)}@keyframes confirm-backdrop-in{0%{opacity:0}}@keyframes confirm-dialog-in{0%{opacity:0;transform:translateY(10px)scale(.98)}}@media (width<=520px){.confirm-dialog{grid-template-columns:1fr;padding:1.2rem}.confirm-dialog-icon{width:42px;height:42px}.confirm-dialog-copy{padding-right:1.5rem}.confirm-dialog-actions{grid-template-columns:1fr;display:grid}.confirm-dialog-actions .btn{width:100%}.confirm-dialog-actions .btn-secondary{order:2}}
