:root{color:#17211f;background:#f7faf8;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:linear-gradient(135deg,rgba(197,107,78,.08) 0%,transparent 34%),linear-gradient(180deg,#f9fbf8,#eef6f2 54%,#f7faf8)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{border:0;border-radius:8px;background:#0a4a3a;color:#fff;cursor:pointer;min-height:42px;padding:.7rem 1rem;transition:background-color .18s ease,box-shadow .18s ease,transform .18s ease}button:disabled{cursor:not-allowed;opacity:.55}.link-button{background:transparent;color:inherit;min-height:0;padding:0}input,select,textarea{width:100%;border:1px solid #d1d5db;border-radius:8px;padding:.75rem .9rem;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}input:focus,select:focus,textarea:focus{border-color:#1f6f8b;box-shadow:0 0 0 4px #1f6f8b1f;outline:0}textarea{min-height:110px;resize:vertical}.app-shell{width:min(1180px,calc(100% - 2rem));margin:0 auto;padding:1rem 0 4rem}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem .9rem;position:sticky;top:1rem;z-index:10;background:#ffffffd1;border:1px solid rgba(255,255,255,.96);border-radius:18px;box-shadow:0 18px 45px #26343017;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease,background-color .22s ease}.topbar:hover{background:#ffffffe6;box-shadow:0 22px 56px #2634301f;transform:translateY(-1px)}.brand{display:flex;align-items:center;gap:.75rem;transition:transform .18s ease}.brand:hover{transform:translate(2px)}.brand small,.brand strong{display:block}.brand small{color:#6b7280;font-size:.78rem}.brand-mark{align-items:center;background:linear-gradient(135deg,#0a4a3a,#1f6f8b);border-radius:14px;color:#fff;display:inline-flex;font-weight:800;height:42px;justify-content:center;width:42px;transition:box-shadow .2s ease,transform .2s ease}.brand:hover .brand-mark,.brand-mark:hover{box-shadow:0 12px 30px #0a4a3a3d;transform:rotate(-2deg) scale(1.03)}.brand-mark.large{height:64px;width:64px}.topbar nav{align-items:center;display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}.topbar nav a,.topbar nav button{background:transparent;color:#374151;min-height:36px;padding:.5rem .7rem;border-radius:999px;position:relative;transition:background-color .18s ease,color .18s ease,transform .18s ease}.topbar nav a:hover,.topbar nav button:hover{background:#f0f7f4;color:#0a4a3a;transform:translateY(-1px)}.topbar nav a.active{background:#f0f7f4;border-radius:999px;color:#0a4a3a;font-weight:700}.login-page{align-items:center;display:flex;min-height:100vh;justify-content:center;padding:1rem}.login-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 24px 60px #0a4a3a2e;display:grid;gap:1rem;max-width:420px;padding:2rem;width:100%}.panel{background:#fff;border:1px solid rgba(224,231,226,.95);border-radius:18px;margin-top:1rem;padding:clamp(1rem,3vw,2rem)}.admin-content-surface .panel{border:0;margin-top:0;padding:0}.panel h1{color:#0a3329;font-size:clamp(2rem,4.8vw,4.65rem);letter-spacing:0;margin:0 0 .75rem;line-height:.98}.lead{color:#4b5c57;font-size:1.08rem;line-height:1.75}.grid,.schedule-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-top:1.5rem}.card{border:1px solid rgba(224,231,226,.95);border-radius:16px;padding:1.1rem;background:#fff;box-shadow:0 10px 28px #192b260d;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.card:hover{box-shadow:0 18px 42px #192b2617;transform:translateY(-2px)}.link-card:hover{border-color:#0a4a3a;box-shadow:0 20px 48px #0a4a3a21}.avatar{align-items:center;background:#ecfdf5;border-radius:8px;color:#0a4a3a;display:inline-flex;font-weight:800;height:44px;justify-content:center;width:44px}.slot-list{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.slot-list button{background:#ecfdf5;color:#0a4a3a}.slot-list button:hover{box-shadow:0 10px 24px #0a4a3a1f;transform:translateY(-2px)}.slot-list button.selected{background:#0a4a3a;color:#fff}.slot-card{background:#f8fafc;border:1px solid rgba(224,231,226,.95);border-radius:14px;display:grid;gap:.5rem;padding:.85rem;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.slot-card:hover{border-color:#0a4a3a59;box-shadow:0 14px 34px #0a4a3a14;transform:translateY(-2px)}.slot-card strong{color:#0a3329;font-size:1.45rem}.slot-card p{font-size:.9rem;margin:0}.slot-card.is-pending{background:#fff7ed;border-color:#fed7aa}.slot-card.is-confirmed{background:#eef2ff;border-color:#c7d2fe}.slot-status,.disabled-btn{border-radius:999px;display:inline-flex;font-size:.74rem;font-weight:800;justify-self:start;padding:.32rem .58rem}.slot-status{background:#ecfdf5;color:#0a4a3a}.slot-status.pendente{background:#ffedd5;color:#9a3412}.slot-status.confirmada{background:#e0e7ff;color:#3730a3}.disabled-btn{background:#64748b1f;color:#475569}.slot-inline-countdown{display:none}.slot-inline-countdown.is-visible{align-items:baseline;display:flex;gap:.45rem}.slot-inline-countdown small{color:#9a3412;font-weight:700}.slot-inline-countdown strong{color:#9a3412;font-size:1.1rem}.reservation-form{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:1.5rem}.modal-backdrop{align-items:center;background:#0f172a6b;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:1rem;position:fixed;z-index:60}.reservation-modal{animation:fade-slide-up .22s ease both;background:#fff;border:1px solid rgba(224,231,226,.95);border-radius:18px;box-shadow:0 30px 80px #0f172a3d;display:grid;gap:.85rem;max-height:calc(100vh - 2rem);max-width:520px;overflow:auto;padding:clamp(1rem,3vw,1.5rem);width:100%}.reservation-modal h2{color:#0a3329;margin:.35rem 0 0}.reservation-modal header p{color:#5f6f6a;margin:.25rem 0 0}.reservation-step-card,.reservation-patient-card,.reservation-data-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 10px 24px #0f172a0f;display:grid;gap:.35rem;padding:.9rem;transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease}.reservation-step-card:hover,.reservation-patient-card:hover,.reservation-data-card:hover,.reservation-summary-card:hover,.payment-method-box:hover{box-shadow:0 14px 32px #0f172a17;transform:translateY(-1px)}.reservation-step-card span,.reservation-patient-card span,.reservation-data-card span{color:#64748b;font-size:.72rem;font-weight:900;text-transform:uppercase}.reservation-step-card strong,.reservation-patient-card strong,.reservation-data-card strong{color:#0a3329;font-size:1.05rem}.reservation-step-card p,.reservation-patient-card p,.reservation-data-card p{color:#64748b;margin:0}.reservation-patient-card.identified,.reservation-data-card.identified{background:#ecfdf5;border-color:#0a4a3a38}.reservation-data-card.editable{background:#fff;border-color:#0a4a3a38}.reservation-data-card input{margin-top:.25rem}.reservation-summary-card{background:linear-gradient(135deg,#ecfdf5,#f8fafc);border:1px solid rgba(10,74,58,.18);border-radius:14px;box-shadow:0 12px 28px #0a4a3a12;display:grid;gap:.65rem;grid-template-columns:repeat(2,minmax(0,1fr));padding:.9rem;transition:box-shadow .18s ease,transform .18s ease}.reservation-summary-card div{display:grid;gap:.2rem}.reservation-summary-card span{color:#64748b;font-size:.72rem;font-weight:800;text-transform:uppercase}.reservation-summary-card strong{color:#0a3329}.reservation-summary-card .reservation-price{background:#fff;border:1px solid rgba(10,74,58,.16);border-radius:12px;grid-column:1 / -1;padding:.75rem}.reservation-price strong{color:#0a4a3a;font-size:1.55rem}.payment-method-box{border:1px solid #dbe4de;border-radius:14px;box-shadow:0 10px 24px #0f172a0d;display:grid;gap:.7rem;margin:0;padding:.85rem;transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease}.payment-method-box legend{color:#0a3329;font-size:.86rem;font-weight:900;padding:0 .35rem}.payment-method-box>div{display:grid;gap:.5rem;grid-template-columns:repeat(2,minmax(0,1fr))}.specialty-select-field{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid rgba(10,74,58,.14);border-radius:14px;box-shadow:0 10px 24px #0f172a0d;padding:.85rem;transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease}.specialty-select-field:hover{border-color:#0a4a3a47;box-shadow:0 14px 32px #0f172a14;transform:translateY(-1px)}.specialty-select-field span{color:#0a3329;font-size:.84rem;font-weight:900}.specialty-select-field select{background:#fff;border-color:#0a4a3a3d;cursor:pointer}.payment-option{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;color:#334155;display:flex;font-weight:800;gap:.45rem;padding:.55rem .7rem}.payment-option.selected{background:#ecfdf5;border-color:#0a4a3a6b;color:#0a4a3a}.payment-option input{width:auto}.reservation-result{background:#ecfdf5;border:1px solid #bbf7d0;border-radius:14px;display:grid;gap:.65rem;padding:.9rem}.reservation-result p{color:#0a4a3a;margin:0}.reservation-result>strong{color:#0a3329;font-size:2rem;line-height:1}.secondary-button{align-items:center;background:#eef6f2;border-radius:999px;color:#0a4a3a;display:inline-flex;min-height:42px;padding:.7rem 1rem}.danger-button{align-items:center;background:#fef2f2;border-radius:999px;color:#991b1b;display:inline-flex;min-height:42px;padding:.7rem 1rem}.confirm-button{align-items:center;background:#dcfce7;border-radius:999px;color:#166534;display:inline-flex;min-height:42px;padding:.7rem 1rem}.error,.notice{border-radius:8px;padding:.75rem 1rem}.error{background:#fef2f2;color:#991b1b}.notice{background:#ecfdf5;color:#0a4a3a}.metric-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:1.25rem 0}.metric-grid article{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:1rem}.metric-grid span,.table-row span{color:#6b7280;display:block;font-size:.86rem}.metric-grid strong{color:#0a4a3a;display:block;font-size:1.5rem;margin-top:.35rem}.finance-dashboard h2{margin-top:1.5rem}.finance-metrics article{border-radius:20px;box-shadow:inset 0 1px #ffffffd6,0 14px 30px #0f172a12;min-height:112px}.finance-metrics span{color:#475569;font-size:.92rem;font-weight:900;line-height:1.25}.finance-metrics strong{font-size:1.72rem}.finance-metric-income{background:linear-gradient(180deg,#f0fdf4,#dcfce7);border-color:#1665342e}.finance-metric-income strong{color:#15803d}.finance-metric-expense{background:linear-gradient(180deg,#fff7ed,#fee2e2);border-color:#b91c1c29}.finance-metric-expense strong{color:#b91c1c}.finance-metric-programmed{background:linear-gradient(180deg,#fffbeb,#fef3c7);border-color:#b453092e}.finance-metric-programmed strong{color:#b45309}.finance-metric-balance{background:linear-gradient(180deg,#f8fafc,#e0f2fe);border-color:#0e749029}.finance-metric-balance strong{color:#0e7490}.finance-account-tags{display:grid;gap:.22rem;margin-top:.46rem;max-height:58px;overflow:auto}.finance-account-tags>span,.finance-account-tags>small{align-items:center;background:#fff;border:1px solid rgba(148,163,184,.32);border-radius:999px;box-shadow:0 6px 14px #0f172a0b;color:#334155;display:inline-flex;font-size:.74rem;font-weight:900;justify-content:space-between;gap:.38rem;min-height:26px;padding:.18rem .48rem}.finance-account-tags strong{color:#0a4a3a;font-size:.78rem;margin:0}.finance-entry-months{display:grid;gap:.75rem;margin-top:1rem}.finance-entry-month{background:#fff;border:1px solid rgba(226,232,240,.95);border-radius:12px;box-shadow:0 12px 30px #0f172a0f;overflow:hidden}.finance-entry-month summary{align-items:center;cursor:pointer;display:flex;gap:.8rem;justify-content:space-between;list-style:none;padding:.9rem 1rem}.finance-entry-month summary::-webkit-details-marker{display:none}.finance-entry-month summary strong{color:#0a3329;text-transform:capitalize}.finance-entry-month summary span{background:#f1f5f9;border-radius:999px;color:#475569;font-size:.78rem;font-weight:900;padding:.28rem .62rem}.finance-entry-table{display:grid;gap:.42rem;padding:0 .72rem .82rem}.finance-entry-row{align-items:center;border:1px solid rgba(226,232,240,.92);border-radius:10px;display:grid;gap:.8rem;grid-template-columns:86px minmax(170px,1.45fr) minmax(130px,1fr) minmax(110px,.9fr) 112px;min-height:52px;padding:.58rem .7rem;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.finance-entry-row:hover{border-color:#94a3b88c;box-shadow:0 10px 22px #0f172a12;transform:translateY(-1px)}.finance-entry-income{background:linear-gradient(90deg,#f0fdf4e0,#fff)}.finance-entry-expense{background:linear-gradient(90deg,#fef2f2e6,#fff)}.finance-entry-row span,.finance-entry-row strong{font-size:.82rem;min-width:0;overflow-wrap:anywhere}.finance-entry-row span{color:#64748b;font-weight:800}.finance-entry-row strong{color:#0f172a;font-weight:900}.finance-entry-head{background:#f8fafc;border-color:#e2e8f0f2;min-height:38px;transform:none}.finance-entry-head:hover{box-shadow:none;transform:none}.finance-entry-head span{color:#475569;font-size:.72rem;text-transform:uppercase}.entry-value-income{color:#15803d!important;text-align:right}.entry-value-expense{color:#b91c1c!important;text-align:right}.finance-entry-description{align-items:center;display:flex;gap:.45rem;min-width:0}.finance-entry-type{border-radius:999px;display:inline-flex;flex:0 0 auto;font-size:.68rem!important;font-weight:950!important;letter-spacing:0;padding:.18rem .42rem}.income-tag{background:#dcfce7;color:#166534!important}.expense-tag{background:#fee2e2;color:#991b1b!important}@media(max-width:900px){.finance-entry-row{align-items:flex-start;display:grid;grid-template-columns:1fr;gap:.22rem;padding:.8rem .25rem}.finance-entry-head{display:none}.entry-value-income,.entry-value-expense{text-align:left}}.finance-action-panel{align-items:center;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));margin:1rem 0 1.4rem;padding:1rem}.finance-action-panel button{align-items:center;background:#fff;border:1px solid rgba(10,74,58,.2);border-radius:14px;box-shadow:inset 0 -1px #ffffffb8,0 8px 20px #0f172a14;color:#0a3329;display:flex;flex-direction:row;gap:.16rem;justify-content:center;min-height:58px;padding:.72rem 1rem;text-align:center;transition:border-color .18s ease,box-shadow .18s ease,filter .18s ease,transform .18s ease}.finance-action-panel .finance-action-income{background:linear-gradient(180deg,#f0fdf4,#dcfce7);border-color:#16653447;box-shadow:inset 0 -2px #16653426,0 8px 18px #1665341a}.finance-action-panel .finance-action-income span{color:#166534}.finance-action-panel .finance-action-expense{background:linear-gradient(180deg,#fff7ed,#ffedd5);border-color:#c2410c47;box-shadow:inset 0 -2px #c2410c24,0 8px 18px #c2410c1a}.finance-action-panel .finance-action-expense span{color:#9a3412}.finance-action-panel .finance-action-fixed{background:linear-gradient(180deg,#fff,#eef2f7);border-color:#47556938}.finance-action-panel .finance-action-accounts{background:linear-gradient(180deg,#eef6ff,#dbeafe);border-color:#2563eb38;box-shadow:inset 0 -2px #2563eb1f,0 8px 18px #2563eb17}.finance-action-panel .finance-action-accounts span{color:#1d4ed8}.finance-action-panel button:hover{border-color:#0a4a3a52;box-shadow:inset 0 -2px #0a4a3a29,0 12px 26px #0a4a3a21;filter:saturate(1.04);transform:translateY(-1px)}.finance-action-panel .finance-action-expense:hover{border-color:#c2410c47;box-shadow:inset 0 -2px #c2410c29,0 12px 26px #c2410c21}.finance-action-panel span{font-size:1rem;font-weight:900;line-height:1.1}.finance-action-panel small{color:#64748b;font-size:.72rem;font-weight:800;line-height:1.25}.finance-modal{max-width:720px}.finance-modal>label{display:grid;gap:.4rem;margin-top:.75rem}.finance-modal label{color:#334155;font-size:.9rem;font-weight:900}.finance-modal input,.finance-modal select,.finance-modal textarea{background:#fff;border:1px solid rgba(148,163,184,.42);border-radius:8px;box-shadow:0 8px 18px #0f172a0a;color:#0f172a;font:inherit;font-size:.98rem;font-weight:800;min-height:44px;outline:none;padding:.72rem .82rem;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.finance-modal select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#64748b 50%),linear-gradient(135deg,#64748b 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:2.4rem}.finance-modal textarea{min-height:96px;resize:vertical}.finance-modal input:focus,.finance-modal select:focus,.finance-modal textarea:focus{border-color:#0a4a3a94;box-shadow:0 0 0 4px #0a4a3a17,0 14px 28px #0f172a0f}.finance-modal input:disabled,.finance-modal select:disabled{background:#f8fafc;color:#94a3b8;cursor:not-allowed}.money-input{align-items:center;background:#fff;border:1px solid rgba(148,163,184,.42);border-radius:12px;box-shadow:0 8px 18px #0f172a0a;display:grid;grid-template-columns:auto 1fr;min-height:46px;overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease}.money-input>span{align-items:center;align-self:stretch;background:#f1f5f9;border-right:1px solid rgba(148,163,184,.28);color:#0a4a3a;display:inline-flex;font-size:.92rem;font-weight:950;padding:0 .78rem}.finance-modal .money-input input{border:0;border-radius:0;box-shadow:none;min-height:44px}.money-input:focus-within{border-color:#0a4a3a94;box-shadow:0 0 0 4px #0a4a3a17,0 14px 28px #0f172a0f}.finance-modal-grid{margin:.8rem 0 0}.finance-modal-grid label{display:grid;gap:.4rem}.finance-expense-stack{background:#f8fafc;border:1px solid rgba(226,232,240,.95);border-radius:22px;box-shadow:inset 0 1px #ffffffdb,0 16px 34px #0f172a12;display:grid;gap:.78rem;margin-top:.85rem;padding:1rem}.finance-expense-stack label{background:#fff;border:1px solid rgba(226,232,240,.95);border-radius:18px;box-shadow:0 8px 18px #0f172a0b;display:grid;gap:.4rem;padding:.78rem}.finance-expense-stack textarea{min-height:88px}.finance-account-list{display:grid;gap:.6rem;margin-top:.9rem}.finance-account-list article{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;display:flex;gap:.75rem;justify-content:space-between;padding:.85rem}.finance-account-list strong,.finance-account-list span{display:block}.finance-account-list span{color:#64748b;font-size:.78rem;font-weight:800;margin-top:.18rem}.action-row{display:flex;flex-wrap:wrap;gap:.75rem;margin:1rem 0 1.5rem}.button-link{align-items:center;background:linear-gradient(135deg,#0a4a3a,#1f6f8b);border-radius:999px;color:#fff;display:inline-flex;min-height:42px;padding:.7rem 1rem;box-shadow:0 14px 32px #0a4a3a29;transition:box-shadow .18s ease,transform .18s ease,filter .18s ease}.badge-link{gap:.55rem}.nav-badge{align-items:center;animation:alert-badge-pulse 2.8s cubic-bezier(.45,0,.2,1) infinite;background:#dc2626;border:2px solid rgba(255,255,255,.72);border-radius:999px;box-shadow:0 8px 20px #dc262647,0 0 #f8717142;color:#fff;display:inline-flex;font-size:.74rem;font-weight:900;justify-content:center;line-height:1;min-height:22px;min-width:22px;padding:.18rem .38rem}.action-badge{background:#b91c1c;border-color:#ffffffe6}.button-link:hover,button:hover:not(:disabled){box-shadow:0 18px 42px #0a4a3a33;filter:saturate(1.05);transform:translateY(-2px)}.text-link{align-items:center;color:#0a4a3a;display:inline-flex;font-weight:800;min-height:42px;position:relative;transition:color .18s ease,transform .18s ease}.text-link:after{background:currentColor;bottom:6px;content:"";height:2px;left:0;position:absolute;transform:scaleX(.35);transform-origin:left;transition:transform .18s ease;width:100%}.text-link:hover{color:#1f6f8b;transform:translate(2px)}.text-link:hover:after{transform:scaleX(1)}.tag{background:#ecfdf5;border-radius:999px;color:#0a4a3a;display:inline-flex;font-size:.8rem;font-weight:700;margin-top:.5rem;padding:.35rem .65rem}.tag-row{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}.data-form{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin:1rem 0}.data-form .span-2{grid-column:span 2}.agenda-create-from-professional{align-items:center;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;grid-template-columns:minmax(260px,420px) auto auto;padding:1rem}.professional-modal{max-width:680px}.system-user-modal{max-width:880px}.permission-grid{display:grid;gap:.7rem;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.permission-card{background:#f8fafc;border:1px solid rgba(226,232,240,.95);border-radius:12px;box-shadow:0 10px 24px #0f172a0e;display:grid;gap:.5rem;padding:.8rem}.permission-card-head{align-items:center;display:flex;gap:.5rem}.permission-card-head strong{color:#0a3329}.permission-card .checkbox-row{background:#fff;border:1px solid rgba(226,232,240,.78);border-radius:8px;font-size:.86rem;font-weight:800;margin-top:.34rem;padding:.42rem .5rem}.professional-specialty-list{display:grid;gap:.55rem}.professional-specialty-row,.other-specialty-row{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:grid;gap:.65rem;grid-template-columns:minmax(180px,1fr) 150px;padding:.65rem}.other-specialty-row{grid-template-columns:minmax(180px,1fr) 150px auto}.checkbox-row{align-items:center;display:flex;gap:.55rem}.checkbox-row input{width:auto}.agenda-name-title{color:#0a4a3a;display:block;font-size:1.15rem;font-weight:800;margin-top:.8rem;text-align:left}.admin-page-head{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.availability-page .admin-page-head h1{font-size:clamp(1.8rem,3vw,3rem);line-height:1.05;margin-top:.5rem}.admin-page-head p{color:#4b5c57;line-height:1.6;margin:0}.availability-create-form{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:1rem}.agenda-list-controls{display:grid;gap:.75rem;margin-top:1rem}.compact-create-form{align-items:center;display:grid;gap:.65rem;grid-template-columns:minmax(220px,360px) auto;justify-content:start}.bulk-config-button{justify-self:start}.bulk-form{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr));padding:1rem}.bulk-form-head,.month-chip-box,.weekday-picker,.bulk-time-row,.bulk-slot-list,.bulk-form button{grid-column:1 / -1}.bulk-form-head{display:grid;gap:.2rem}.bulk-form-head strong{color:#0a3329}.bulk-form-head span{color:#64748b;font-size:.86rem}.bulk-schedule-modal{max-width:680px}.modal-bulk-form{margin-top:1rem}.bulk-time-row{align-items:end;display:grid;gap:.75rem;grid-template-columns:130px 132px 130px auto}.bulk-time-row label{color:#334155;display:grid;font-size:.86rem;font-weight:800;gap:.35rem}.bulk-time-input{min-width:0}.bulk-time-row button{grid-column:auto;justify-content:center;min-height:42px}.bulk-slot-list{align-items:center;background:#fff;border:1px dashed #cbd5e1;border-radius:8px;display:flex;flex-wrap:wrap;gap:.45rem;min-height:48px;padding:.55rem}.bulk-slot-chip{align-items:center;background:#ecfdf5;border:1px solid rgba(10,74,58,.28);border-radius:999px;color:#0a4a3a;display:inline-flex;font-size:.8rem;font-weight:900;gap:.42rem;padding:.34rem .42rem .34rem .62rem}.bulk-slot-chip button{align-items:center;background:#0a4a3a1f;color:#0a4a3a;display:inline-flex;font-size:1rem;height:24px;justify-content:center;min-height:24px;padding:0;width:24px}.weekday-picker{display:flex;flex-wrap:wrap;gap:.45rem}.month-chip-box{background:#fff;border:1px solid #dbe4de;border-radius:8px;display:flex;flex-wrap:wrap;gap:.45rem;min-height:48px;padding:.55rem}.month-chip{align-items:center;background:#f8fafc;border:1px solid #dbe4de;border-radius:999px;color:#334155;display:inline-flex;font-size:.82rem;font-weight:800;gap:.35rem;padding:.42rem .65rem;text-transform:capitalize}.month-chip.selected{background:#ecfdf5;border-color:#0a4a3a6b;color:#0a4a3a}.month-chip input{width:auto}.weekday-chip{align-items:center;background:#fff;border:1px solid #dbe4de;border-radius:999px;color:#0a4a3a;display:inline-flex;font-size:.82rem;font-weight:800;gap:.35rem;padding:.42rem .65rem}.weekday-chip input{width:auto}.month-list{display:grid;gap:.85rem;margin-top:1.25rem}.month-panel{background:#fff;border:1px solid rgba(224,231,226,.95);border-radius:12px;overflow:hidden}.month-panel.selected{border-color:#0a4a3a6b;box-shadow:0 14px 32px #0a4a3a14}.month-toggle{align-items:center;background:#f8fafc;border-radius:0;color:#0a3329;display:flex;font-weight:800;justify-content:space-between;min-height:56px;padding:.9rem 1rem;text-align:left;width:100%}.month-toggle:hover,.month-panel.selected .month-toggle{background:#eef6f2}.month-summary{background:#ecfdf5;border-radius:999px;color:#0a4a3a;font-size:.8rem;padding:.35rem .65rem}.availability-date-grid{display:grid;gap:.85rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));padding:1rem}.month-calendar-panel{border-top:1px solid rgba(224,231,226,.95);display:grid;gap:1rem;padding:1rem}.calendar-grid{display:grid;gap:.5rem}.calendar-week-header,.calendar-week-row{display:grid;gap:.45rem;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)}.calendar-week-row{min-width:0;transition:grid-template-columns .46s cubic-bezier(.22,1,.36,1);will-change:grid-template-columns}.calendar-weekday{color:#64748b;font-size:.72rem;font-weight:800;text-align:center;text-transform:uppercase}.calendar-day{align-items:flex-start;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 6px 16px #0f172a0a;color:#334155;display:grid;gap:.2rem;justify-items:start;min-height:88px;min-width:0;padding:.55rem;position:relative;text-align:left;transition:box-shadow .34s ease,border-color .3s ease,background .3s ease;z-index:1}.calendar-day:hover,.calendar-day:focus-visible{background:#fff;border-color:#0a4a3a61;box-shadow:0 14px 30px #0f172a24;z-index:20}.calendar-day.blank{background:transparent;border-color:transparent;box-shadow:none;pointer-events:none}.calendar-day.has-date{background:#ecfdf5;border-color:#0a4a3a47;color:#0a4a3a}.calendar-day.has-date:hover,.calendar-day.has-date:focus-visible{background:#f0fdf4}.calendar-day:not(.has-date):not(.blank){background:#f8fafc}.calendar-day strong{font-size:.95rem}.calendar-day span{color:inherit;font-size:.72rem;font-weight:800}.calendar-slot-tags{align-content:start;display:grid;gap:.24rem;opacity:.96;transform:translateY(0);transition:opacity .32s ease,gap .32s ease,transform .32s cubic-bezier(.22,1,.36,1);width:100%}.calendar-slot-tag{background:#eef2f7;border:1px solid #dbe3ed;border-radius:6px;color:#475569;display:block;font-size:.64rem;font-weight:900;line-height:1;max-width:100%;overflow:hidden;padding:.25rem .34rem;text-overflow:ellipsis;transition:background .26s ease,border-color .26s ease,color .26s ease,padding .32s ease;white-space:nowrap}.calendar-day:hover .calendar-slot-tag,.calendar-day:focus-visible .calendar-slot-tag{white-space:nowrap}.calendar-slot-tag.pending{background:#fff7ed;border-color:#fed7aa;color:#c2410c}.calendar-slot-tag.confirmed{background:#dcfce7;border-color:#86efac;color:#166534}.calendar-slot-tag.inactive{background:#f1f5f9;border-color:#cbd5e1;color:#64748b}.calendar-slot-tag.more{background:#f8fafc;border-color:#cbd5e1;color:#334155}.public-month-list{background:#ffffffb8;border:1px solid rgba(224,231,226,.85);border-radius:14px;gap:1rem;margin-top:1.5rem;padding:1rem}.public-calendar-panel{background:#fbfdfb;padding:1.1rem}.public-calendar-day{min-height:102px}.public-calendar-day.unavailable{background:#f8fafc;border-color:#e2e8f0;color:#94a3b8}.public-calendar-day>span{color:#64748b;font-size:.66rem;text-transform:capitalize}.public-calendar-day.unavailable>span,.public-calendar-day.unavailable strong{color:#94a3b8}.public-unavailable-label{align-self:end;background:#eef2f7;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;display:inline-flex;font-size:.62rem;font-weight:900;padding:.24rem .34rem}.public-slot-tag{cursor:pointer;min-height:0;text-align:left;width:100%}.public-slot-tag:not(:disabled):hover{border-color:#0a4a3a6b;box-shadow:0 8px 18px #0a4a3a1a;transform:translateY(-1px)}.date-detail-list{display:grid;gap:.85rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.agenda-modal-backdrop{z-index:80}.agenda-slot-modal{max-width:560px}.agenda-slot-modal-head{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.agenda-slot-modal-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.45rem;justify-content:flex-end}.agenda-slot-modal-actions button{min-height:38px;padding:.55rem .8rem}.agenda-slot-modal-head h2{text-transform:capitalize}.modal-hour-form{display:grid;gap:.8rem;grid-template-columns:minmax(0,1fr) 130px}.modal-hour-form label{color:#334155;display:grid;font-size:.86rem;font-weight:800;gap:.35rem}.modal-hour-form button{grid-column:span 1}.date-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:grid;gap:.8rem;min-height:150px;padding:.9rem}.date-card.active{border-color:#0a4a3a6b;box-shadow:0 14px 32px #0a4a3a14}.date-card-head{align-items:center;display:flex;gap:.75rem;justify-content:space-between}.date-card-head strong{color:#0a3329;text-transform:capitalize}.small-icon-button{align-items:center;border-radius:999px;display:inline-flex;font-size:1.15rem;font-weight:800;height:32px;justify-content:center;min-height:32px;padding:0;width:32px}.hour-tag-list{align-content:start;display:grid;gap:.55rem}.hour-tag{background:#ecfdf5;border-radius:999px;color:#0a4a3a;font-size:.78rem;font-weight:800;padding:.34rem .58rem}.hour-tag.inactive{background:#f1f5f9;color:#64748b}.hour-row{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:grid;gap:.75rem;grid-template-columns:minmax(0,1fr) auto;padding:.72rem}.hour-row.inactive{background:#f1f5f9;color:#64748b}.hour-row.pending{background:#fff7ed;border-color:#fed7aa}.hour-row.confirmed{background:#ecfdf5;border-color:#86efac}.hour-row strong{color:#0a3329;display:block;font-size:.98rem}.hour-row span{color:#64748b;display:block;font-size:.78rem;font-weight:800;margin-top:.18rem}.hour-row.confirmed>div>span{color:#166534}.hour-row.pending>div>span{color:#c2410c}.hour-row-reservation{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.45rem}.hour-row-reservation span{background:#ffffffc7;border:1px solid rgba(148,163,184,.34);border-radius:999px;color:#334155;display:inline-flex;font-size:.74rem;margin:0;padding:.28rem .48rem}.hour-row-actions{align-items:center;display:flex;gap:.4rem}.hour-row-actions button{font-size:.76rem;min-height:34px;padding:.45rem .7rem}.hour-row-patient-link{border-top:1px solid rgba(148,163,184,.24);display:grid;gap:.55rem;grid-column:1 / -1;padding-top:.65rem}.hour-row-patient-link label{color:#334155;display:grid;font-size:.78rem;font-weight:900;gap:.35rem}.patient-link-search{display:grid;gap:.45rem;grid-template-columns:minmax(0,1fr) auto}.patient-link-search input{min-height:38px}.patient-link-search button{min-height:38px;padding:.45rem .75rem}.patient-result-list{display:grid;gap:.35rem}.patient-result-list button{align-items:center;background:#ffffffd1;border:1px solid rgba(10,74,58,.12);border-radius:8px;display:flex;gap:.55rem;justify-content:space-between;min-height:42px;padding:.55rem .68rem;text-align:left}.patient-result-list button:hover{border-color:#0a4a3a52;box-shadow:0 12px 28px #0a4a3a1f}.patient-result-list strong,.patient-result-list span{display:inline-flex;margin:0}.patient-result-list span{color:#64748b;font-size:.75rem}.muted-label{color:#64748b;font-size:.84rem}.inline-hour-form{display:grid;gap:.55rem;grid-template-columns:minmax(0,1fr) 86px}.inline-hour-form button{grid-column:1 / -1}.empty-state{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;color:#475569;display:grid;gap:.35rem;padding:1rem}.empty-state strong{color:#0a3329}.compact-list{gap:.45rem}.compact-list .table-row{padding:.65rem .75rem}.table-list{display:grid;gap:.75rem;margin-top:1rem}.table-row{align-items:center;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:1rem;justify-content:space-between;padding:.9rem 1rem}.patient-list{display:grid;gap:.9rem;margin-top:1rem}.patient-card{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;display:grid;gap:.85rem;padding:1rem;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.patient-card:hover{border-color:#0a4a3a38;box-shadow:0 16px 36px #0f172a14;transform:translateY(-1px)}.patient-card-head{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.patient-card-head strong{color:#0a3329;display:block;font-size:1.05rem}.patient-card-head span,.patient-detail-grid span,.patient-timeline span,.patient-timeline small{color:#6b7280;display:block;font-size:.86rem}.patient-actions{margin:0}.patient-detail-grid{display:grid;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.patient-detail-grid article,.patient-timeline article{background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:grid;gap:.25rem;padding:.75rem}.patient-detail-grid .span-2{grid-column:span 2}.patient-timeline{display:grid;gap:.55rem}.patient-timeline strong{color:#0a3329}.patient-timeline p{color:#4b5c57;margin:0}.tag.muted{background:#f1f5f9;color:#64748b}.danger-tag{background:#fef2f2;color:#991b1b}.patient-modal{max-width:760px}.active-search-modal .reservation-data-card{box-shadow:0 16px 36px #7f1d1d14}.active-search-modal .reservation-data-card p{letter-spacing:0;text-transform:none}.internal-reservation-row{align-items:center;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:.75rem;justify-content:space-between;margin:.55rem 0;padding:.75rem}.appointment-list-shell,.appointment-list,.appointment-list-section{display:grid;gap:.85rem}.appointment-list-shell{margin-top:1rem}.pending-confirmation-highlight{background:linear-gradient(135deg,#fff7ed,#fff 58%,#fef2f2);border:1px solid rgba(251,146,60,.42);border-radius:12px;box-shadow:0 18px 44px #c2410c1f,0 0 34px #fb923c1a;display:grid;gap:.85rem;padding:1rem}.pending-confirmation-highlight h2{color:#7c2d12;margin:.35rem 0 0}.pending-confirmation-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.pending-confirmation-card{align-items:center;background:#ffffffdb;border:1px solid rgba(251,146,60,.34);border-radius:10px;display:flex;gap:1rem;justify-content:space-between;padding:.9rem}.pending-confirmation-card strong,.pending-confirmation-card span,.pending-confirmation-card small{display:block}.pending-confirmation-card>div:first-child strong{color:#0a3329}.pending-confirmation-card span,.pending-confirmation-card small{color:#64748b}.pending-countdown{background:#fff7ed;border:1px solid rgba(251,146,60,.36);border-radius:10px;min-width:104px;padding:.65rem .8rem;text-align:center}.pending-countdown span{color:#9a3412;font-size:.72rem;font-weight:900;text-transform:uppercase}.pending-countdown strong{color:#c2410c;font-size:1.45rem;line-height:1.1}.appointment-list-section{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:1rem}.appointment-list-section summary{align-items:center;color:#0a3329;cursor:pointer;display:flex;font-size:1.15rem;font-weight:900;justify-content:space-between;list-style:none}.appointment-list-section summary::-webkit-details-marker{display:none}.completed-appointments[open] summary{margin-bottom:.85rem}.appointment-list-row{background:#fff;margin:0;transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease}.appointment-list-row:hover{border-color:#0a4a3a38;box-shadow:0 14px 32px #0f172a14;transform:translateY(-1px)}.internal-reservation-row strong,.internal-reservation-row span{display:block}.internal-reservation-row strong{color:#0a3329}.internal-reservation-row span{color:#64748b;font-size:.9rem}.internal-reservation-row small{color:#7a8796;display:block;font-size:.78rem;margin-top:.2rem}.attendance-modal{max-width:860px}.attendance-modal textarea{min-height:132px}.attendance-options{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;display:grid;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));padding:.85rem}.content-block{border-top:1px solid rgba(224,231,226,.95);margin-top:clamp(1.5rem,4vw,3rem);padding-top:clamp(1.25rem,3vw,2.25rem)}.public-page{background:#ffffffe6;overflow:hidden;padding:0}.public-page>.content-block,.public-page>.grid,.public-page>.table-list{margin-left:clamp(1rem,3vw,2rem);margin-right:clamp(1rem,3vw,2rem)}.public-page>.grid,.public-page>.table-list{margin-bottom:clamp(1.5rem,4vw,2.5rem)}.public-hero{display:grid;gap:clamp(1rem,3vw,2rem);grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr);min-height:min(620px,calc(100vh - 140px));padding:clamp(1.25rem,4vw,4rem)}.public-hero.compact{grid-template-columns:1fr;min-height:auto;padding-bottom:1.5rem}.public-hero-copy{align-self:center;max-width:760px;animation:fade-slide-up .56s ease both}.public-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:1.4rem}.public-visual{align-items:center;display:flex;min-height:360px}.visual-room{aspect-ratio:4 / 5;background:linear-gradient(180deg,#ffffffc7,#ffffff47),linear-gradient(145deg,#e7f1ed,#d8ebe5 46%,#f7e5dd);border:1px solid rgba(255,255,255,.96);border-radius:28px;box-shadow:0 30px 70px #26343029;overflow:hidden;position:relative;width:min(100%,430px);animation:float-in .72s ease both,slow-breathe 8s ease-in-out .9s infinite;transform-origin:center}.visual-sun,.visual-window,.visual-bed,.visual-plant,.visual-line{position:absolute}.visual-window{background:linear-gradient(180deg,#fff,#d9eef0);border-radius:22px;height:42%;left:12%;top:10%;width:34%}.visual-sun{background:#f3b48f;border-radius:999px;height:64px;right:16%;top:14%;width:64px;animation:soft-pulse 5s ease-in-out infinite}.visual-bed{background:linear-gradient(135deg,#0a4a3a,#1f6f8b);border-radius:18px;bottom:20%;height:22%;left:16%;width:70%}.visual-bed:after{background:#fff;border-radius:12px;content:"";height:44%;left:8%;position:absolute;top:18%;width:22%}.visual-plant{background:#7ea18e;border-radius:999px 999px 8px 8px;bottom:19%;height:30%;right:11%;width:8%}.visual-line{background:#0a4a3a2e;bottom:13%;height:2px;left:10%;width:80%}.public-highlights{border-top:1px solid rgba(224,231,226,.95);display:grid;gap:0;grid-template-columns:repeat(3,1fr)}.public-highlights article{padding:clamp(1rem,2vw,1.5rem) clamp(1rem,3vw,2rem);transition:background-color .18s ease,transform .18s ease}.public-highlights article:hover{background:#f0f7f4b8;transform:translateY(-1px)}.public-highlights article+article{border-left:1px solid rgba(224,231,226,.95)}.public-highlights strong,.public-highlights span{display:block}.public-highlights strong{color:#0a4a3a;margin-bottom:.35rem}.public-highlights span{color:#5f6f6a;line-height:1.55}.section-heading{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between}.section-heading h2{margin:0}.content-block h2,.card h2,.card h3{color:#0a4a3a;line-height:1.18}.content-block p,.card p{color:#4b5c57;line-height:1.68}.content-list{display:grid;gap:.45rem;margin:1rem 0 0;padding-left:1.2rem}.profile-card{display:grid;gap:.4rem}.detail-list{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:1.5rem 0}.detail-list article{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:1rem}.detail-list span{color:#6b7280;display:block;font-size:.86rem;margin-bottom:.25rem}.detail-list strong{color:#111827}.auth-panel{margin-left:auto;margin-right:auto;max-width:560px}.auth-form{display:grid;gap:.85rem;margin-top:1rem}.communication-card{display:grid;gap:.9rem}.communication-head{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.communication-head h2{margin:0 0 .25rem}.communication-head span,.thread-list span{color:#6b7280;font-size:.82rem}.thread-list{display:grid;gap:.55rem}.thread-list article{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:.8rem}.thread-list p{margin:.35rem 0 0}.comment-form{display:grid;gap:.65rem;grid-template-columns:minmax(0,1fr) auto}.admin-layout{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.admin-sidebar{background:linear-gradient(180deg,#0a4a3a,#0d5c46);color:#fff;display:flex;flex-direction:column;gap:1.25rem;height:100vh;padding:1.25rem;position:sticky;top:0}.admin-brand{align-items:center;background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-radius:8px;display:flex;gap:.75rem;padding:1rem}.admin-brand .brand-mark{background:#ffffff29}.admin-brand strong,.admin-brand small{display:block}.admin-brand small{color:#ffffffb8;font-size:.8rem;margin-top:.15rem}.admin-nav{display:grid;gap:.35rem}.admin-nav-label{color:#ffffff94;font-size:.72rem;font-weight:800;letter-spacing:.08em;margin:.85rem 0 .25rem;text-transform:uppercase}.admin-nav a,.admin-sidebar-footer a,.admin-sidebar-footer button{align-items:center;background:transparent;border-radius:8px;color:#ffffffd6;display:flex;gap:.5rem;justify-content:space-between;min-height:42px;padding:.75rem .85rem;position:relative;text-align:left;transition:background-color .34s cubic-bezier(.22,1,.36,1),box-shadow .34s cubic-bezier(.22,1,.36,1),color .26s ease,transform .34s cubic-bezier(.22,1,.36,1);width:100%}.admin-nav a.active,.admin-nav a:hover,.admin-sidebar-footer a:hover,.admin-sidebar-footer button:hover{background:#ffffff24;box-shadow:inset 3px 0 #ffffffb3,0 12px 28px #0000002e,0 0 22px #7dd3b721;color:#fff;transform:translate(4px)}.admin-sidebar-footer{display:grid;gap:.4rem;margin-top:auto}.admin-sidebar-footer a,.admin-sidebar-footer button{background:#ffffff14}.admin-content{min-width:0;padding:1.25rem}.admin-topbar{background:#ffffffeb;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 12px 30px #0f172a0f;padding:1rem 1.2rem}.admin-topbar h1{color:#0a4a3a;font-size:1.45rem;letter-spacing:0;margin:0 0 .2rem}.admin-topbar p{color:#6b7280;margin:0}.admin-content-surface{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 16px 42px #0a4a3a14;margin-top:1rem;padding:clamp(1rem,2vw,1.5rem)}@keyframes fade-slide-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes float-in{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slow-breathe{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-6px) scale(1.01)}}@keyframes soft-pulse{0%,to{box-shadow:0 0 #f3b48f00;transform:scale(1)}50%{box-shadow:0 0 42px #f3b48f61;transform:scale(1.04)}}@keyframes alert-badge-pulse{0%,to{box-shadow:0 8px 20px #dc26263d,0 0 #f8717133;transform:scale(1)}48%{box-shadow:0 12px 26px #dc26265c,0 0 0 7px #f8717114;transform:scale(1.06)}}@media(max-width:760px){.topbar{align-items:flex-start;flex-direction:column;position:static}.topbar nav{justify-content:flex-start}.public-hero{grid-template-columns:1fr;min-height:auto}.public-visual{min-height:240px}.visual-room{aspect-ratio:16 / 10;width:100%}.public-highlights{grid-template-columns:1fr}.public-highlights article+article{border-left:0;border-top:1px solid rgba(224,231,226,.95)}.reservation-summary-card,.payment-method-box>div{grid-template-columns:1fr}.data-form .span-2{grid-column:1}.table-row{align-items:flex-start;flex-direction:column}.admin-layout{grid-template-columns:1fr}.admin-sidebar{height:auto;position:static}.admin-content{padding:1rem}.comment-form,.bulk-form,.bulk-time-row,.compact-create-form,.agenda-create-from-professional,.professional-specialty-row,.other-specialty-row{grid-template-columns:1fr}.calendar-grid{gap:.3rem}.calendar-day{min-height:72px;padding:.42rem}.calendar-day span{font-size:.64rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
