:root{--background:180 20% 93%;--foreground:222 47% 11%;--surface:180 20% 96%;--card:0 0% 100%;--card-foreground:222 47% 11%;--popover:0 0% 100%;--popover-foreground:222 47% 11%;--primary:173 80% 35%;--primary-foreground:0 0% 100%;--secondary:210 40% 96%;--secondary-foreground:222 47% 11%;--muted:210 40% 96%;--muted-foreground:215 16% 47%;--accent:346 77% 60%;--accent-foreground:0 0% 100%;--destructive:0 84% 60%;--destructive-foreground:0 0% 100%;--success:142 71% 41%;--success-foreground:0 0% 100%;--warning:38 92% 50%;--warning-foreground:0 0% 100%;--border:214 32% 91%;--input:214 32% 91%;--ring:173 80% 35%;--radius:1rem;--tone-primary-bg:173 60% 94%;--tone-success-bg:142 60% 94%;--tone-warning-bg:38 90% 94%;--tone-info-bg:217 90% 95%;--tone-accent-bg:346 70% 95%;--tone-destructive-bg:0 80% 96%;--shadow-soft:0 1px 2px #0f172a0a, 0 4px 12px #0f172a0a;--shadow-card:0 1px 2px #0f172a0a, 0 8px 24px #0f172a0d}html.dark{--background:222 28% 9%;--foreground:210 30% 96%;--surface:222 24% 12%;--card:222 24% 13%;--card-foreground:210 30% 96%;--popover:222 24% 13%;--popover-foreground:210 30% 96%;--primary:173 70% 48%;--primary-foreground:222 47% 8%;--secondary:222 18% 20%;--secondary-foreground:210 30% 96%;--muted:222 18% 18%;--muted-foreground:215 18% 70%;--accent:346 75% 65%;--accent-foreground:0 0% 100%;--destructive:0 75% 62%;--destructive-foreground:0 0% 100%;--success:142 65% 48%;--success-foreground:0 0% 100%;--warning:38 90% 58%;--warning-foreground:222 47% 8%;--border:222 18% 22%;--input:222 18% 22%;--ring:173 70% 48%;--tone-primary-bg:173 50% 18%;--tone-success-bg:142 45% 18%;--tone-warning-bg:38 60% 22%;--tone-info-bg:217 50% 22%;--tone-accent-bg:346 50% 22%;--tone-destructive-bg:0 50% 22%;--shadow-soft:0 1px 2px #0000004d, 0 4px 12px #00000040;--shadow-card:0 1px 2px #0000004d, 0 8px 24px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html.dark input[type=time],html.dark input[type=date],html.dark input[type=number]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.header-theme-btn{color:hsl(var(--muted-foreground));transition:all .2s}.header-theme-btn:hover{color:hsl(var(--foreground));background:hsl(var(--muted))}.header-theme-btn svg{width:1.125rem;height:1.125rem}*,:before,:after{box-sizing:border-box;border-color:hsl(var(--border))}*{margin:0;padding:0}html,body,#root{height:100%}body{background:hsl(var(--background));color:hsl(var(--foreground));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"rlig" 1, "calt" 1;font-family:Urbanist,system-ui,sans-serif;line-height:1.5}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:none}input,textarea,select{font:inherit;color:inherit}a{color:inherit;text-decoration:none}ul,ol{list-style:none}img,svg{max-width:100%;display:block}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:hsl(var(--border));border-radius:999px}::-webkit-scrollbar-thumb:hover{background:hsl(var(--muted-foreground) / .5)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn{white-space:nowrap;border-radius:calc(var(--radius) - 2px);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;height:2.5rem;padding:0 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s,color .15s,border-color .15s,opacity .15s;display:inline-flex}.btn:focus-visible{box-shadow:0 0 0 2px hsl(var(--background)), 0 0 0 4px hsl(var(--ring));outline:none}.btn:disabled{pointer-events:none;opacity:.5}.btn svg{flex-shrink:0;width:1rem;height:1rem}.btn-primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground));box-shadow:0 1px 2px #0000000d}.btn-primary:hover{background:hsl(var(--primary) / .9)}.btn-destructive{background:hsl(var(--destructive));color:hsl(var(--destructive-foreground));box-shadow:0 1px 2px #0000000d}.btn-destructive:hover{background:hsl(var(--destructive) / .9)}.btn-success{background:hsl(var(--success));color:hsl(var(--success-foreground));box-shadow:0 1px 2px #0000000d}.btn-success:hover{background:hsl(var(--success) / .9)}.btn-outline{background:hsl(var(--background));border-color:hsl(var(--input));color:hsl(var(--foreground))}.btn-outline:hover{background:hsl(var(--accent) / .1)}.btn-secondary{background:hsl(var(--secondary));color:hsl(var(--secondary-foreground))}.btn-secondary:hover{background:hsl(var(--secondary) / .8)}.btn-ghost{color:hsl(var(--foreground));background:0 0}.btn-ghost:hover{background:hsl(var(--accent) / .1)}.btn-link{color:hsl(var(--primary));text-underline-offset:4px;background:0 0;height:auto;padding:0}.btn-link:hover{text-decoration:underline}.btn-sm{height:2.25rem;padding:0 .75rem}.btn-lg{height:2.75rem;padding:0 2rem}.btn-icon{width:2.5rem;height:2.5rem;padding:0}.input{border-radius:calc(var(--radius) - 2px);border:1px solid hsl(var(--input));background:hsl(var(--card));width:100%;height:2.5rem;color:hsl(var(--foreground));padding:.5rem .75rem;font-size:.875rem;transition:box-shadow .15s;display:flex}.input::placeholder{color:hsl(var(--muted-foreground))}.input:focus-visible{box-shadow:0 0 0 1px hsl(var(--card)), 0 0 0 3px hsl(var(--ring));outline:none}.input:disabled{cursor:not-allowed;opacity:.5}.label{color:hsl(var(--foreground));align-items:center;font-size:.875rem;font-weight:500;line-height:1;display:inline-flex}.label svg{vertical-align:-2px;width:.875rem;height:.875rem;margin-right:.25rem;display:inline-block}.field{flex-direction:column;gap:.5rem;display:flex}.required-mark{color:hsl(var(--destructive));margin-left:.25rem;font-weight:500}.textarea{border-radius:calc(var(--radius) - 2px);border:1px solid hsl(var(--input));background:hsl(var(--card));resize:none;width:100%;color:hsl(var(--foreground));padding:.5rem .75rem;font-family:inherit;font-size:.875rem;display:flex}.textarea::placeholder{color:hsl(var(--muted-foreground))}.textarea:focus-visible{box-shadow:0 0 0 2px hsl(var(--ring));outline:none}.select-native{border-radius:calc(var(--radius) - 2px);border:1px solid hsl(var(--input));background:hsl(var(--card));width:100%;height:2.5rem;color:hsl(var(--foreground));padding:.5rem .75rem;font-size:.875rem;display:flex}.select-native:focus-visible{box-shadow:0 0 0 2px hsl(var(--ring));outline:none}.input-with-icon{position:relative}.input-with-icon .input-icon{width:1rem;height:1rem;color:hsl(var(--muted-foreground));pointer-events:none;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.input-with-icon .input{padding-left:2.25rem}.input-with-icon--lg .input{padding-left:2.5rem}.input--pill,.input-with-icon .input--pill{background:hsl(var(--card));border-color:#dce5e5;border-radius:999px;padding-left:2.5rem}.input--pill:focus-visible{background:hsl(var(--card));border-color:hsl(var(--ring))}.input-with-icon-right{position:relative}.input-with-icon-right .input{padding-right:2.5rem}.input-icon-right{cursor:pointer;color:hsl(var(--muted-foreground));background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .15s;display:flex;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.input-icon-right:hover{color:hsl(var(--foreground))}.input-icon-right svg{width:1rem;height:1rem}.input--readonly{background:hsl(var(--muted) / .5);color:hsl(var(--muted-foreground));cursor:not-allowed}.input-group--error .input{border-color:hsl(var(--destructive))}.field-error{color:hsl(var(--destructive));margin-top:.25rem;font-size:.75rem}.section-label{color:hsl(var(--foreground));align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;display:flex}.section-label svg{width:1rem;height:1rem;color:hsl(var(--muted-foreground))}.card{background:hsl(var(--card));color:hsl(var(--card-foreground));box-shadow:var(--shadow-soft);border:1px solid #e2e9e935;border-radius:1.25rem}.card-header{flex-direction:column;gap:.375rem;padding:1.75rem;display:flex}.card-header--row{flex-direction:row;justify-content:space-between;align-items:center}.card-header--row-start{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:1rem}.card-title{letter-spacing:-.025em;font-size:1.125rem;font-weight:600;line-height:1}.card-title--sm{font-size:1rem}.card-description{color:hsl(var(--muted-foreground));font-size:.875rem}.card-content{padding:0 1.75rem 1.75rem}.card-footer{align-items:center;padding:0 1.75rem 1.75rem;display:flex}.card--padded{padding:1.25rem}.card--padded-lg{padding:1.5rem}.badge{border:1px solid #0000;border-radius:999px;align-items:center;padding:.125rem .625rem;font-size:.75rem;font-weight:500;line-height:1.25;display:inline-flex}.badge-default{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.badge-secondary{background:hsl(var(--secondary));color:hsl(var(--secondary-foreground))}.badge-destructive{background:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.badge-success{background:hsl(var(--success) / .1);color:hsl(var(--success))}.badge-warning{background:hsl(var(--warning) / .1);color:hsl(var(--warning))}.badge-outline{border-color:hsl(var(--border));color:hsl(var(--foreground))}.badge-muted{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.badge-accent{background:hsl(var(--accent) / .1);color:hsl(var(--accent))}.avatar{border-radius:9999px;flex-shrink:0;width:2.5rem;height:2.5rem;display:flex;position:relative;overflow:hidden}.avatar--sm{width:2rem;height:2rem}.avatar--md{width:2.25rem;height:2.25rem}.avatar--lg{width:4rem;height:4rem}.avatar-image{aspect-ratio:1;object-fit:cover;width:100%;height:100%}.avatar-fallback{background:hsl(var(--primary) / .15);width:100%;height:100%;color:hsl(var(--primary));border-radius:9999px;justify-content:center;align-items:center;font-size:.875rem;font-weight:600;display:flex}.avatar-fallback--xs{font-size:.75rem}.avatar-fallback--lg{font-size:1.125rem}.dialog-overlay{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;position:fixed;inset:0}.dialog-overlay[data-state=open]{animation:.15s ease-out fadeIn}.dialog-overlay[data-state=closed]{animation:.15s ease-out fadeOut}.dialog-content{z-index:50;border:1px solid hsl(var(--border));background:hsl(var(--card));width:100%;max-width:32rem;color:hsl(var(--card-foreground));gap:1rem;padding:1.5rem;display:grid;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 25px 50px -12px #00000040}.dialog-content--sm{max-width:22rem}.dialog-content--md{max-width:28rem}.dialog-content--lg{max-width:32rem}.dialog-content--xl{max-width:42rem}.dialog-content--scroll{max-height:90vh;overflow-y:auto}@media (width>=640px){.dialog-content{border-radius:.75rem}}.dialog-close{border-radius:calc(var(--radius) - 4px);opacity:.7;background:0 0;justify-content:center;align-items:center;padding:.25rem;display:flex;position:absolute;top:1rem;right:1rem}.dialog-close:hover{opacity:1}.dialog-close:focus{box-shadow:0 0 0 2px hsl(var(--ring));outline:none}.dialog-close svg{width:1rem;height:1rem}.dialog-header{text-align:left;flex-direction:column;gap:.375rem;display:flex}.dialog-title{letter-spacing:-.025em;font-size:1.125rem;font-weight:600;line-height:1}.dialog-description{color:hsl(var(--muted-foreground));font-size:.875rem}.dialog-title-row{justify-content:space-between;align-items:center;gap:.75rem;padding-right:1.5rem;display:flex}.dialog-title-row>:first-child{flex:1;min-width:0}.dialog-title-row>:last-child{flex-shrink:0}.dialog-footer{flex-direction:column-reverse;gap:.5rem;margin-top:.5rem;display:flex}@media (width>=640px){.dialog-footer{flex-direction:row;justify-content:flex-end}}.dialog-footer--full{flex-direction:column;gap:.5rem}@media (width>=640px){.dialog-footer--full{flex-flow:wrap}.dialog-footer--full .btn{flex:8rem;min-width:0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.separator{background:hsl(var(--border));flex-shrink:0}.separator[data-orientation=horizontal]{width:100%;height:1px}.separator[data-orientation=vertical]{width:1px;height:100%}.switch{background:hsl(var(--input));cursor:pointer;border:2px solid #0000;border-radius:9999px;flex-shrink:0;align-items:center;width:2.75rem;height:1.5rem;transition:background-color .15s;display:inline-flex}.switch[data-state=checked]{background:hsl(var(--primary))}.switch:focus-visible{box-shadow:0 0 0 2px hsl(var(--background)), 0 0 0 4px hsl(var(--ring));outline:none}.switch:disabled{cursor:not-allowed;opacity:.5}.switch-thumb{pointer-events:none;background:hsl(var(--background));border-radius:9999px;width:1.25rem;height:1.25rem;transition:transform .15s;display:block;transform:translate(0);box-shadow:0 2px 4px #0003}.switch[data-state=checked] .switch-thumb{transform:translate(1.25rem)}.tabs-list{background:hsl(var(--muted));height:2.5rem;color:hsl(var(--muted-foreground));border-radius:.5rem;justify-content:center;align-items:center;padding:.25rem;display:inline-flex}.tabs-trigger{white-space:nowrap;border-radius:calc(var(--radius) - 2px);color:inherit;background:0 0;justify-content:center;align-items:center;padding:.375rem .75rem;font-size:.875rem;font-weight:500;transition:all .15s;display:inline-flex}.tabs-trigger[data-state=active]{background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 1px 2px #0000000d}.tabs-trigger:disabled{pointer-events:none;opacity:.5}.tabs-content{margin-top:1rem}.table-wrap{width:100%;position:relative;overflow:auto}.table{caption-side:bottom;border-collapse:separate;border-spacing:0 .25rem;width:100%;font-size:.875rem}.table thead{background:0 0}.table thead tr{border-bottom:1px solid hsl(var(--border))}.table tbody tr{transition:background-color .15s,box-shadow .15s}.table tbody tr:hover{background:hsl(var(--muted) / .55)}.table tbody tr:hover td:first-child{border-top-left-radius:.875rem;border-bottom-left-radius:.875rem}.table tbody tr:hover td:last-child{border-top-right-radius:.875rem;border-bottom-right-radius:.875rem}.table th{text-align:left;vertical-align:middle;height:2.75rem;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid hsl(var(--border));padding:0 1rem;font-size:.75rem;font-weight:600}.table td{vertical-align:middle;padding:1rem}.table .table-empty{text-align:center;color:hsl(var(--muted-foreground));padding:3rem 0}.row-clickable{cursor:pointer}.app-shell{background:hsl(var(--background));gap:.75rem;width:100%;height:100vh;padding:.75rem;display:flex;overflow:hidden}.sidebar{border:1px solid hsl(var(--border));background:hsl(var(--card));width:16rem;height:100%;box-shadow:var(--shadow-soft);border-radius:1.5rem;flex-direction:column;display:flex;overflow:hidden}.sidebar-brand{align-items:center;height:4.5rem;padding:0 1.5rem;display:flex}.sidebar-nav{flex-direction:column;flex:1;gap:.375rem;padding:.75rem .875rem 1.25rem;display:flex}.sidebar-link{color:hsl(var(--muted-foreground));border-radius:999px;align-items:center;gap:.875rem;padding:.75rem 1rem;font-size:.9375rem;font-weight:500;transition:background-color .15s,color .15s;display:flex}.sidebar-link:hover{background:hsl(var(--muted));color:hsl(var(--foreground))}.sidebar-link--active{color:#fff;background:#0f1729;font-weight:600;box-shadow:0 4px 14px #0f17292e}.sidebar-link--active:hover{color:#fff;background:#0f1729}.sidebar-link svg{flex-shrink:0;width:1.25rem;height:1.25rem}.sidebar-footer{padding:.875rem}.sidebar-desktop{display:none}@media (width>=1024px){.sidebar-desktop{display:block}}.sidebar-mobile{z-index:40;opacity:0;pointer-events:none;transition:opacity .2s;position:fixed;inset:0}.sidebar-mobile--open{opacity:1;pointer-events:auto}@media (width>=1024px){.sidebar-mobile{display:none}}.sidebar-mobile-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;position:absolute;inset:0}.sidebar-mobile-panel{width:16rem;height:100%;transition:transform .2s;position:relative;transform:translate(-100%)}.sidebar-mobile--open .sidebar-mobile-panel{transform:translate(0)}.main-area{flex-direction:column;flex:1;display:flex;overflow:hidden}.main-content{background:0 0;flex:1;overflow-y:auto}.main-content-inner{padding:.5rem}@media (width>=768px){.main-content-inner{padding:.75rem}}@media (width>=1024px){.main-content-inner{padding:1rem}}.header{background:0 0;justify-content:space-between;align-items:center;height:4.5rem;padding:0 1.25rem;display:flex}@media (width>=768px){.header{padding:0 1.5rem}}.header-left{align-items:center;gap:.75rem;display:flex}.header-menu-btn{display:inline-flex}@media (width>=1024px){.header-menu-btn{display:none}}.header-clinic-info{flex-direction:column;line-height:1.25;display:none}@media (width>=768px){.header-clinic-info{display:flex}}.header-clinic-info-label{color:hsl(var(--muted-foreground));font-size:.875rem}.header-clinic-info-name{color:hsl(var(--foreground));font-weight:600}.header-search{flex:1;max-width:28rem;margin:0 1.5rem;display:none}@media (width>=768px){.header-search{display:flex}}.header-search>div{width:100%}.header-search-wrapper{width:100%;position:relative}.header-search-dropdown{z-index:30;background:hsl(var(--card));box-shadow:var(--shadow-card);border:1px solid #dce5e5;border-radius:1rem;max-height:24rem;padding:.5rem;position:absolute;top:calc(100% + .5rem);left:0;right:0;overflow-y:auto}.header-search-empty{text-align:center;color:hsl(var(--muted-foreground));padding:1rem;font-size:.875rem}.header-search-group+.header-search-group{border-top:1px solid hsl(var(--border));margin-top:.5rem;padding-top:.5rem}.header-search-group-title{text-transform:uppercase;letter-spacing:.06em;color:hsl(var(--muted-foreground));padding:.25rem .625rem;font-size:.6875rem;font-weight:600}.header-search-item{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:.75rem;align-items:center;gap:.75rem;width:100%;padding:.625rem;transition:background-color .12s;display:flex}.header-search-item--active,.header-search-item:hover{background:hsl(var(--muted) / .7)}.header-search-item-icon{background:hsl(var(--tone-primary-bg));width:2rem;height:2rem;color:hsl(var(--primary));border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.header-search-item-icon svg{width:1rem;height:1rem}.header-search-item-text{flex-direction:column;flex:1;min-width:0;display:flex}.header-search-item-title{color:hsl(var(--foreground));white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:500;overflow:hidden}.header-search-item-sub{color:hsl(var(--muted-foreground));white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.header-search-item-hint{color:hsl(var(--muted-foreground));background:hsl(var(--muted));border-radius:.375rem;padding:.125rem .4rem;font-size:.6875rem;font-weight:600}.header-right{align-items:center;gap:.75rem;display:flex}.header-bell{position:relative}.header-bell-dot{background:hsl(var(--accent));border-radius:9999px;width:.5rem;height:.5rem;position:absolute;top:.5rem;right:.5rem}.header-user{background:hsl(var(--card));border:1px solid #dce5e5;border-radius:999px;align-items:center;gap:.75rem;padding:.375rem .5rem .375rem .875rem;text-decoration:none;transition:background-color .15s,border-color .15s,box-shadow .15s;display:flex}.header-user:hover{background:hsl(var(--card));border-color:hsl(var(--ring) / .4);box-shadow:var(--shadow-soft)}.header-user-meta{flex-direction:column;align-items:flex-end;line-height:1.25;display:none}@media (width>=640px){.header-user-meta{display:flex}}.header-user-name{color:hsl(var(--foreground));font-size:.875rem;font-weight:500}.header-user-role{color:hsl(var(--muted-foreground));font-size:.75rem}.logo{align-items:center;gap:.625rem;display:flex}.logo-svg{filter:drop-shadow(0 4px 3px #00000012)drop-shadow(0 2px 2px #0000000f);flex-shrink:0}.logo-text{flex-direction:column;line-height:1.25;display:flex}.logo-name{color:hsl(var(--foreground));letter-spacing:-.025em;font-weight:700}.logo-name--sm{font-size:1rem}.logo-name--md{font-size:1.125rem}.logo-name--lg{font-size:1.5rem}.logo-tagline{text-transform:uppercase;letter-spacing:.15em;color:hsl(var(--muted-foreground));font-size:10px}.page-header{flex-direction:column;gap:.75rem;margin-bottom:1.5rem;display:flex}@media (width>=640px){.page-header{flex-direction:row;justify-content:space-between;align-items:center}}.page-header-title{letter-spacing:-.025em;color:hsl(var(--foreground));font-size:1.5rem;font-weight:700}@media (width>=768px){.page-header-title{font-size:1.875rem}}.page-header-description{color:hsl(var(--muted-foreground));margin-top:.25rem;font-size:.875rem}.metrics-card{padding:1.5rem 1.75rem}.metrics-card-head{border-bottom:1px solid hsl(var(--border));flex-direction:column;gap:1rem;padding-bottom:1.25rem;display:flex}@media (width>=768px){.metrics-card-head{flex-direction:row;justify-content:space-between;align-items:flex-start}}.metrics-card-title{letter-spacing:-.02em;color:hsl(var(--foreground));font-size:1.25rem;font-weight:700}.metrics-card-subtitle{color:hsl(var(--muted-foreground));margin-top:.125rem;font-size:.875rem}.metrics-period-filter{background:hsl(var(--muted) / .6);border-radius:999px;align-items:center;gap:.25rem;padding:.25rem;display:inline-flex}.metrics-period-btn{color:hsl(var(--muted-foreground));white-space:nowrap;border-radius:999px;padding:.4rem .875rem;font-size:.8125rem;font-weight:500;transition:background-color .15s,color .15s}.metrics-period-btn:hover{color:hsl(var(--foreground))}.metrics-period-btn--active{background:hsl(var(--card));color:hsl(var(--foreground));font-weight:600;box-shadow:0 1px 3px #0f172a14}.metrics-grid{grid-template-columns:1fr;gap:1.5rem;padding-top:1.5rem;display:grid}@media (width>=640px){.metrics-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.metrics-grid{grid-template-columns:repeat(4,1fr);gap:0}.metrics-grid>.metric-item+.metric-item{border-left:1px solid hsl(var(--border));padding-left:1.75rem}}.metric-item{flex-direction:column;gap:.5rem;min-width:0;display:flex}.metric-item-title{color:hsl(var(--muted-foreground));font-size:.875rem;font-weight:500}.metric-item-row{flex-wrap:wrap;align-items:center;gap:.625rem;display:flex}.metric-item-value{letter-spacing:-.03em;color:hsl(var(--foreground));font-size:2rem;font-weight:800;line-height:1.1}.metric-item-trend{cursor:help;border-radius:999px;align-items:center;gap:.125rem;padding:.25rem .5rem;font-size:.75rem;font-weight:600;display:inline-flex}.metric-item-trend svg{width:.875rem;height:.875rem}.metric-item-trend--positive{background:hsl(var(--success) / .12);color:hsl(var(--success))}.metric-item-trend--negative{background:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.metric-item-trend--neutral{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.metric-item-caption{color:hsl(var(--muted-foreground));font-size:.75rem}.tone-primary{background:hsl(var(--tone-primary-bg));color:hsl(var(--primary))}.tone-accent{background:hsl(var(--tone-accent-bg));color:hsl(var(--accent))}.tone-success{background:hsl(var(--tone-success-bg));color:hsl(var(--success))}.tone-warning{background:hsl(var(--tone-warning-bg));color:hsl(var(--warning))}.tone-destructive{background:hsl(var(--tone-destructive-bg));color:hsl(var(--destructive))}.tone-info{background:hsl(var(--tone-info-bg));color:#0b64f4}.page-stack{flex-direction:column;gap:.625rem;display:flex}.stats-grid{grid-template-columns:1fr;gap:1rem;display:grid}@media (width>=640px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.stats-grid--4{grid-template-columns:repeat(4,1fr)}}@media (width>=640px){.stats-grid--3{grid-template-columns:repeat(3,1fr)}}.dashboard-bottom{grid-template-columns:1fr;gap:1.5rem;display:grid}@media (width>=1024px){.dashboard-bottom{grid-template-columns:repeat(3,1fr)}.dashboard-bottom-main{grid-column:span 2}}.appt-list{flex-direction:column;gap:.25rem;display:flex}.appt-list-row{border-radius:.875rem;align-items:center;gap:1rem;padding:.75rem;display:flex}.appt-list-row--clickable{text-align:left;cursor:pointer;background:0 0;width:100%;transition:background-color .15s}.appt-list-row--clickable:hover{background:hsl(var(--muted) / .6)}.appt-time-block{border-radius:calc(var(--radius) - 2px);background:hsl(var(--muted));flex-direction:column;flex-shrink:0;align-items:center;width:4rem;padding:.5rem 0;display:flex}.appt-time-hour{color:hsl(var(--foreground));font-size:1rem;font-weight:700;line-height:1}.appt-time-duration{text-transform:uppercase;letter-spacing:.1em;color:hsl(var(--muted-foreground));margin-top:.25rem;font-size:10px}.appt-info{flex:1;min-width:0}.appt-info-name{color:hsl(var(--foreground));white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.appt-info-type{color:hsl(var(--muted-foreground));white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;overflow:hidden}.summary-row{border:1px solid hsl(var(--border));border-radius:1rem;justify-content:space-between;align-items:center;padding:1rem;transition:background-color .15s;display:flex}.summary-row:hover{background:hsl(var(--muted) / .4)}.summary-row+.summary-row{margin-top:.75rem}.summary-row-info{align-items:center;gap:.875rem;display:flex}.summary-row-icon{border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;display:inline-flex}.summary-row-icon svg{width:1rem;height:1rem}.summary-row-title{font-size:.875rem;font-weight:500}.summary-row-subtitle{color:hsl(var(--muted-foreground));font-size:.75rem}.summary-row-count{font-size:1.25rem;font-weight:700}.card-content-stack>*+*{margin-top:1rem}.agenda-toolbar{border-bottom:1px solid hsl(var(--border));flex-direction:column;gap:.75rem;padding:1rem;display:flex}@media (width>=640px){.agenda-toolbar{flex-direction:row;justify-content:space-between;align-items:center}}.agenda-filter-panel{padding:1rem 1.25rem}.agenda-filter-grid{grid-template-columns:repeat(1,1fr);gap:.75rem;display:grid}@media (width>=640px){.agenda-filter-grid{grid-template-columns:repeat(3,1fr)}}.agenda-filter-footer{border-top:1px solid hsl(var(--border));justify-content:flex-end;margin-top:.75rem;padding-top:.75rem;display:flex}.agenda-filter-clear{color:hsl(var(--muted-foreground));cursor:pointer;border-radius:var(--radius);white-space:nowrap;background:0 0;border:none;align-items:center;gap:.3rem;padding:.25rem .5rem;font-size:.8125rem;transition:color .15s;display:inline-flex}.agenda-filter-clear:hover{color:hsl(var(--destructive))}.agenda-filter-clear svg{width:.8rem;height:.8rem}.page-header-actions{align-items:center;gap:.5rem;display:flex}.btn-outline--active{border-color:hsl(var(--primary));color:hsl(var(--primary));background:hsl(var(--primary) / .06)}.btn-filter-badge{background:hsl(var(--primary));border-radius:9999px;width:.45rem;height:.45rem;margin-left:.05rem;display:inline-block}.agenda-toolbar-nav{align-items:center;gap:.5rem;display:flex}.agenda-toolbar-month{text-transform:capitalize;color:hsl(var(--foreground));font-size:1.125rem;font-weight:600}.agenda-legend{color:hsl(var(--muted-foreground));align-items:center;gap:.75rem;font-size:.75rem;display:none}@media (width>=640px){.agenda-legend{display:flex}}.agenda-legend-dot{align-items:center;gap:.375rem;display:flex}.agenda-legend-dot span{border-radius:9999px;width:.625rem;height:.625rem}.agenda-scroll{overflow-x:auto}.agenda-grid{min-width:900px}.agenda-row{border-bottom:1px solid hsl(var(--border));grid-template-columns:64px repeat(7,minmax(0,1fr));display:grid}.agenda-row:last-child{border-bottom:0}.agenda-head{background:hsl(var(--muted) / .3)}.agenda-day{text-align:center;border-left:1px solid hsl(var(--border));padding:.75rem}.agenda-day--today{background:hsl(var(--primary) / .05)}.agenda-day-name{text-transform:uppercase;letter-spacing:.1em;color:hsl(var(--muted-foreground));font-size:10px;font-weight:500}.agenda-day-num{width:2rem;height:2rem;color:hsl(var(--foreground));border-radius:9999px;justify-content:center;align-items:center;margin-top:.25rem;font-size:.875rem;font-weight:600;display:inline-flex}.agenda-day-num--today{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.agenda-hour-label{text-align:right;color:hsl(var(--muted-foreground));border-right:1px solid hsl(var(--border));padding:.5rem;font-size:.75rem}.agenda-cell{border-left:1px solid hsl(var(--border));flex-direction:column;gap:.25rem;min-height:68px;padding:.375rem;transition:background-color .15s;display:flex}.agenda-cell:hover{background:hsl(var(--muted) / .2)}.agenda-cell--off{background:repeating-linear-gradient(-45deg, hsl(var(--muted) / .25), hsl(var(--muted) / .25) 6px, hsl(var(--muted) / .4) 6px, hsl(var(--muted) / .4) 12px);cursor:not-allowed}.agenda-cell--off:hover{background:repeating-linear-gradient(-45deg, hsl(var(--muted) / .25), hsl(var(--muted) / .25) 6px, hsl(var(--muted) / .4) 6px, hsl(var(--muted) / .4) 12px)}.agenda-day--off{opacity:.45}.agenda-day--off .agenda-day-name:after{content:" · fechado";color:hsl(var(--muted-foreground));font-size:.7rem;font-weight:400}.agenda-event{text-align:left;border-radius:calc(var(--radius) - 4px);cursor:pointer;border:1px solid;width:100%;padding:.375rem;font-size:.75rem;transition:background-color .15s}.agenda-event-name{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.agenda-event-type{opacity:.8;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.agenda-event-time{opacity:.7;margin-top:2px;font-size:10px}.agenda-event--confirmado{background:hsl(var(--primary) / .1);border-color:hsl(var(--primary) / .3);color:hsl(var(--primary))}.agenda-event--confirmado:hover{background:hsl(var(--primary) / .2)}.agenda-event--pendente{background:hsl(var(--warning) / .1);border-color:hsl(var(--warning) / .3);color:hsl(var(--warning))}.agenda-event--pendente:hover{background:hsl(var(--warning) / .2)}.agenda-event--cancelado{background:hsl(var(--destructive) / .1);border-color:hsl(var(--destructive) / .3);color:hsl(var(--destructive));opacity:.7;text-decoration:line-through}.agenda-event--cancelado:hover{background:hsl(var(--destructive) / .2)}.legend-bg-primary{background:hsl(var(--primary))}.legend-bg-warning{background:hsl(var(--warning))}.legend-bg-destructive{background:hsl(var(--destructive))}.list-toolbar{border-bottom:1px solid hsl(var(--border));flex-direction:column;gap:.75rem;padding:1rem;display:flex}@media (width>=768px){.list-toolbar{flex-direction:row;justify-content:space-between;align-items:center}}.list-toolbar-search{flex:1;max-width:24rem;position:relative}.tab-pills{border-radius:calc(var(--radius) - 2px);background:hsl(var(--muted));align-items:center;gap:.25rem;padding:.25rem;display:inline-flex}.tab-pill{border-radius:calc(var(--radius) - 4px);color:hsl(var(--muted-foreground));padding:.375rem .75rem;font-size:.875rem;font-weight:500;transition:background-color .15s,color .15s}.tab-pill:hover{color:hsl(var(--foreground))}.tab-pill--active{background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 1px 2px #0000000d}.patient-row-cell{align-items:center;gap:.75rem;display:flex}.patient-row-name{color:hsl(var(--foreground));font-weight:500}.patient-row-email{color:hsl(var(--muted-foreground));font-size:.75rem}.cell-muted{color:hsl(var(--muted-foreground))}.cell-center{text-align:center}.cell-numeric{text-align:center;font-weight:500}.patient-profile-head{align-items:center;gap:1rem;padding:.5rem 0;display:flex}.patient-profile-name{color:hsl(var(--foreground));font-size:1.25rem;font-weight:600}.patient-profile-meta{align-items:center;gap:.5rem;margin-top:.25rem;display:flex}.patient-profile-visits{color:hsl(var(--muted-foreground));font-size:.875rem}.profile-grid{grid-template-columns:1fr;gap:1rem;display:grid}@media (width>=640px){.profile-grid{grid-template-columns:repeat(2,1fr)}}.profile-info-row{align-items:center;gap:.75rem;display:flex}.icon-tone{border-radius:calc(var(--radius) - 4px);padding:.5rem}.icon-tone svg{width:1rem;height:1rem}.profile-info-label{color:hsl(var(--muted-foreground));font-size:.75rem}.profile-info-value{font-size:.875rem;font-weight:500}.history-header{color:hsl(var(--foreground));margin-bottom:.75rem;font-weight:600}.history-empty{color:hsl(var(--muted-foreground));text-align:center;background:hsl(var(--muted) / .3);border-radius:calc(var(--radius) - 2px);padding:1.5rem 0;font-size:.875rem}.history-list{flex-direction:column;gap:.5rem;display:flex}.history-row{border-radius:calc(var(--radius) - 2px);border:1px solid hsl(var(--border));overflow:hidden}.history-row--accordion.history-row--open{border-color:hsl(var(--primary) / .3)}.history-row-trigger{text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:.75rem;transition:background-color .15s;display:flex}.history-row--accordion .history-row-trigger:hover{background:hsl(var(--muted) / .5)}.history-row-right{align-items:center;gap:.5rem;display:flex}.history-expand-icon{color:hsl(var(--muted-foreground));align-items:center;gap:.2rem;font-size:.7rem;transition:color .15s;display:flex}.history-expand-icon svg{width:.85rem;height:.85rem}.history-expand-icon svg:last-child{transition:transform .2s}.history-expand-icon--open svg:last-child{transform:rotate(180deg)}.history-expand-icon--open{color:hsl(var(--primary))}.history-notes{color:hsl(var(--foreground));background:hsl(var(--muted) / .3);border-top:1px solid hsl(var(--border));padding:.625rem .75rem .75rem 3.75rem;font-size:.8125rem;line-height:1.5}.history-row-left{align-items:center;gap:.75rem;display:flex}.appt-notes-text{white-space:pre-wrap;font-size:.875rem;line-height:1.5}.history-date-block{border-radius:calc(var(--radius) - 4px);background:hsl(var(--muted));flex-direction:column;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:.75rem;display:flex}.history-date-day{font-weight:700;line-height:1}.history-date-month{text-transform:uppercase;color:hsl(var(--muted-foreground));margin-top:2px;font-size:9px}.history-row-type{font-size:.875rem;font-weight:500}.history-row-date{color:hsl(var(--muted-foreground));font-size:.75rem}.automation-sim-banner{background:repeating-linear-gradient(45deg,#fef9f0,#fef9f0 12px,#fef3e2 12px 24px);border:1px dashed #f6a823;border-left:4px solid #f59f0a;align-items:flex-start;gap:.875rem;display:flex}.automation-sim-banner>svg{color:#c47f08;flex-shrink:0;width:1.75rem;height:1.75rem;margin-top:.125rem}.automation-sim-banner-content{flex:1}.automation-sim-banner-title{color:#935f06;margin-bottom:.25rem;font-size:.95rem;font-weight:700}.automation-card-footer{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.automation-grid-2{grid-template-columns:1fr;gap:1.5rem;display:grid}@media (width>=768px){.automation-grid-2{grid-template-columns:repeat(2,1fr)}}.automation-card-head{align-items:flex-start;gap:.75rem;display:flex}.automation-card-icon{border-radius:calc(var(--radius) - 2px);padding:.625rem}.automation-card-icon svg{width:1.25rem;height:1.25rem}.automation-empty{text-align:center;color:hsl(var(--muted-foreground));padding:3rem 0}.automation-empty svg{opacity:.3;width:2.5rem;height:2.5rem;margin:0 auto .5rem}.pending-list{flex-direction:column;gap:.5rem;display:flex}.pending-row{border-radius:calc(var(--radius) - 2px);border:1px solid hsl(var(--border));flex-direction:column;gap:.75rem;padding:.75rem;display:flex}@media (width>=640px){.pending-row{flex-direction:row;align-items:center}}.pending-row-info{flex:1;min-width:0}.pending-row-name{align-items:center;gap:.5rem;display:flex}.pending-row-name p{font-size:.875rem;font-weight:500}.pending-row-msg{color:hsl(var(--muted-foreground));white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.pending-row-time{text-align:right}.pending-row-time p:first-child{color:hsl(var(--muted-foreground));font-size:.75rem}.pending-row-time p:last-child{font-size:.875rem;font-weight:500}.history-cell-patient{align-items:center;gap:.75rem;display:flex}.history-cell-icon{background:hsl(var(--success) / .1);color:hsl(var(--success));border-radius:9999px;padding:.375rem}.history-cell-icon svg{width:.875rem;height:.875rem}.history-cell-name{font-size:.875rem;font-weight:500}.history-cell-phone{color:hsl(var(--muted-foreground));font-size:.75rem}.cell-time{color:hsl(var(--muted-foreground));font-size:.875rem}.tabs-count-pending:after{content:""}.config-grid{grid-template-columns:1fr;gap:1.5rem;display:grid}@media (width>=1024px){.config-grid{grid-template-columns:repeat(3,1fr)}.config-grid-main{grid-column:span 2}}.col-stack{flex-direction:column;gap:1.5rem;display:flex}.card-head-row{align-items:center;gap:.75rem;display:flex}.slug-input-wrap{gap:.5rem;display:flex}.slug-input-prefix{border-radius:calc(var(--radius) - 2px);border:1px solid hsl(var(--input));background:hsl(var(--muted) / .3);flex:1;align-items:center;padding-left:.75rem;font-size:.875rem;display:flex}.slug-input-prefix .input-bare{color:hsl(var(--foreground));background:0 0;border:0;flex:1;height:2.5rem;padding:.5rem .25rem;font-size:.875rem}.slug-input-prefix .input-bare:focus{outline:none}.slug-prefix-text{color:hsl(var(--muted-foreground))}.weekday-row{border-radius:calc(var(--radius) - 2px);border:1px solid hsl(var(--border));flex-direction:column;gap:.75rem;padding:.75rem;transition:background-color .15s,opacity .15s;display:flex}@media (width>=640px){.weekday-row{flex-direction:row;align-items:center}}.weekday-row+.weekday-row{margin-top:.75rem}.weekday-row--off{background:hsl(var(--muted) / .3);opacity:.7}.weekday-row-label{align-items:center;gap:.75rem;display:flex}@media (width>=640px){.weekday-row-label{width:11rem}}.weekday-row-name{font-size:.875rem;font-weight:500}.weekday-row-times{flex:1;align-items:center;gap:.5rem;display:flex}.weekday-row-times .input{width:8rem}.weekday-row-sep{color:hsl(var(--muted-foreground));font-size:.875rem}.config-toggle-row{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.config-toggle-info{align-items:flex-start;gap:.75rem;display:flex}.config-toggle-icon{border-radius:calc(var(--radius) - 4px);padding:.5rem}.config-toggle-icon svg{width:1rem;height:1rem}.config-toggle-title{font-size:.875rem;font-weight:500}.config-toggle-subtitle{color:hsl(var(--muted-foreground));margin-top:2px;font-size:.75rem}.inactivity-row{align-items:center;gap:.5rem;display:flex}.inactivity-row .input{width:6rem}.tipo-row{border-radius:var(--radius);background:hsl(var(--muted) / .5);align-items:center;gap:.5rem;padding:.375rem .5rem;display:flex}.tipo-row-grip{width:1rem;height:1rem;color:hsl(var(--muted-foreground));flex-shrink:0}.tipo-row-name{flex:1;font-size:.875rem}.tipo-row-remove{cursor:pointer;width:1.5rem;height:1.5rem;color:hsl(var(--muted-foreground));border-radius:var(--radius);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.tipo-row-remove:hover{color:hsl(var(--destructive));background:hsl(var(--destructive) / .08)}.tipo-row-remove svg{width:.875rem;height:.875rem}.tipo-add-row{gap:.5rem;margin-top:.25rem;display:flex}.tipo-add-row .input{flex:1}.plan-card{background:linear-gradient(135deg, hsl(var(--primary) / .05), hsl(var(--accent) / .05));border-color:hsl(var(--primary) / .2);padding:1.25rem}.plan-title{color:hsl(var(--foreground));font-weight:600}.plan-desc{color:hsl(var(--muted-foreground));margin-top:.25rem;font-size:.875rem}.plan-price{color:hsl(var(--primary));margin-top:.75rem;font-size:1.5rem;font-weight:700}.plan-cta{width:100%;margin-top:1rem}.helper-text{color:hsl(var(--muted-foreground));font-size:.75rem}.login-page{background:linear-gradient(135deg, hsl(var(--primary) / .05), hsl(var(--background)), hsl(var(--accent) / .05));justify-content:center;align-items:center;width:100%;min-height:100vh;padding:1rem;display:flex}.login-shell{width:100%;max-width:28rem}.login-brand{flex-direction:column;align-items:center;margin-bottom:2.5rem;display:flex}.login-brand-title{letter-spacing:-.025em;color:hsl(var(--foreground));margin-top:1.5rem;font-size:1.875rem;font-weight:700}.login-brand-sub{color:hsl(var(--muted-foreground));margin-top:.5rem;font-size:.875rem}.login-card{border:1px solid hsl(var(--border));background:hsl(var(--card));box-shadow:0 25px 50px -12px hsl(var(--primary) / .05);border-radius:1rem;padding:2rem}.login-card-head{margin-bottom:1.5rem}.login-card-title{color:hsl(var(--foreground));font-size:1.25rem;font-weight:600}.login-card-sub{color:hsl(var(--muted-foreground));font-size:.875rem}.login-form{flex-direction:column;gap:1rem;display:flex}.login-form .field+.field{margin-top:0}.login-form-row{justify-content:space-between;align-items:center;display:flex}.login-forgot{color:hsl(var(--primary));background:0 0;padding:0;font-size:.75rem;font-weight:500}.login-forgot:hover{text-decoration:underline}.login-footer{text-align:center;color:hsl(var(--muted-foreground));margin-top:2rem;font-size:.75rem}.login-error{border-radius:var(--radius);background:hsl(var(--destructive) / .08);border:1px solid hsl(var(--destructive) / .3);color:hsl(var(--destructive));padding:.625rem .875rem;font-size:.875rem}.auth-loading{justify-content:center;align-items:center;width:100vw;height:100vh;display:flex}.auth-loading-spinner{border:3px solid hsl(var(--muted));border-top-color:hsl(var(--primary));border-radius:50%;width:2rem;height:2rem;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.toast-container{z-index:100;pointer-events:none;flex-direction:column;gap:.5rem;max-width:calc(100vw - 2rem);display:flex;position:fixed;bottom:1.25rem;right:1.25rem}.toast{pointer-events:auto;border-radius:var(--radius);background:hsl(var(--background));border:1px solid hsl(var(--border));align-items:flex-start;gap:.625rem;min-width:18rem;max-width:24rem;padding:.75rem .875rem;animation:.2s ease-out toast-in;display:flex;box-shadow:0 10px 20px -5px #00000026,0 4px 10px -3px #00000014}@keyframes toast-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.toast-icon{flex-shrink:0;width:1.25rem;height:1.25rem;margin-top:.0625rem}.toast-message{color:hsl(var(--foreground));flex:1;font-size:.875rem;line-height:1.4}.toast-close{cursor:pointer;color:hsl(var(--muted-foreground));background:0 0;border:0;flex-shrink:0;padding:0}.toast-close:hover{color:hsl(var(--foreground))}.toast-close svg{width:1rem;height:1rem}.toast--success{border-left:4px solid hsl(var(--success))}.toast--success .toast-icon{color:hsl(var(--success))}.toast--error{border-left:4px solid hsl(var(--destructive))}.toast--error .toast-icon{color:hsl(var(--destructive))}.toast--info{border-left:4px solid #0b64f4}.toast--info .toast-icon{color:#0b64f4}.confirm-dialog-head{align-items:flex-start;gap:.875rem;display:flex}.confirm-dialog-icon{background:hsl(var(--muted));width:2.5rem;height:2.5rem;color:hsl(var(--muted-foreground));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.confirm-dialog-icon svg{width:1.25rem;height:1.25rem}.confirm-dialog-icon--destructive{color:#d92626;background:#fdeded}.patient-profile-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.save-fab{z-index:30;filter:drop-shadow(0 6px 16px hsl(var(--primary) / .25));position:fixed;bottom:1.5rem;right:1.5rem}.save-fab .btn{box-shadow:0 2px 8px #00000014}.auth-error{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;width:100vw;height:100vh;padding:2rem;display:flex}.auth-error-icon{color:#d92626;background:#fdeded;border-radius:50%;justify-content:center;align-items:center;width:3.5rem;height:3.5rem;display:flex}.auth-error-icon svg{width:1.75rem;height:1.75rem}.auth-error-title{color:hsl(var(--foreground));margin:0;font-size:1.25rem;font-weight:600}.auth-error-message{color:hsl(var(--muted-foreground));max-width:28rem;margin:0;font-size:.9375rem}.field-success{color:#1a9948;font-size:.8125rem}.dialog-mode-toggle{border-radius:calc(var(--radius) - 2px);background:hsl(var(--muted));align-items:center;gap:.25rem;padding:.25rem;display:flex}.dialog-mode-btn{border-radius:calc(var(--radius) - 4px);color:hsl(var(--muted-foreground));background:0 0;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 0;font-size:.875rem;font-weight:500;transition:background-color .15s,color .15s;display:flex}.dialog-mode-btn:hover{color:hsl(var(--foreground))}.dialog-mode-btn--active{background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 1px 2px #0000000d}.dialog-mode-btn svg{width:1rem;height:1rem}.dialog-form{flex-direction:column;gap:.75rem;display:flex}.patient-pick-list{border-radius:calc(var(--radius) - 2px);border:1px solid hsl(var(--border));max-height:11rem;overflow-y:auto}.patient-pick-list-empty{text-align:center;color:hsl(var(--muted-foreground));padding:1.5rem 0;font-size:.875rem}.patient-pick-row{text-align:left;border-bottom:1px solid hsl(var(--border));background:0 0;align-items:center;gap:.75rem;width:100%;padding:.625rem .75rem;transition:background-color .15s;display:flex}.patient-pick-row:last-child{border-bottom:0}.patient-pick-row:hover{background:hsl(var(--muted) / .5)}.patient-pick-row--selected{background:hsl(var(--primary) / .05)}.patient-pick-row .check{width:1rem;height:1rem;color:hsl(var(--primary));flex-shrink:0}.patient-pick-info{flex:1;min-width:0}.patient-pick-name{white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:500;overflow:hidden}.patient-pick-phone{color:hsl(var(--muted-foreground));font-size:.75rem}.selected-pill{border-radius:calc(var(--radius) - 2px);background:hsl(var(--primary) / .05);border:1px solid hsl(var(--primary) / .2);align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.selected-pill svg{width:1rem;height:1rem;color:hsl(var(--primary))}.selected-pill span{color:hsl(var(--primary));font-size:.875rem;font-weight:500}.section-title{color:hsl(var(--foreground));align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;display:flex}.section-title svg{width:1rem;height:1rem;color:hsl(var(--primary))}.chip-row{flex-wrap:wrap;gap:.5rem;display:flex}.chip{border:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));background:0 0;border-radius:9999px;padding:.25rem .75rem;font-size:.75rem;font-weight:500;transition:border-color .15s,color .15s,background-color .15s}.chip:hover{border-color:hsl(var(--primary) / .5);color:hsl(var(--foreground))}.chip--active{background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary))}.chip-remove{opacity:.6;align-items:center;margin-left:.25rem;transition:opacity .15s;display:inline-flex}.chip-remove:hover{opacity:1}.chip-remove svg{width:.75rem;height:.75rem}.chip-add-row{align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.chip-add-row input{flex:1}.pagination{justify-content:center;align-items:center;gap:.5rem;padding-top:.75rem;display:flex}.pagination--table{border-top:1px solid hsl(var(--border));justify-content:space-between;padding:.75rem 1rem 1rem}.pagination-controls{align-items:center;gap:.5rem;display:flex}.pagination-btn{border-radius:var(--radius);border:1px solid hsl(var(--border));cursor:pointer;background:0 0;justify-content:center;align-items:center;width:2rem;height:2rem;transition:background-color .15s,border-color .15s;display:inline-flex}.pagination-btn:hover:not(:disabled){background:hsl(var(--muted));border-color:hsl(var(--primary) / .4)}.pagination-btn:disabled{opacity:.35;cursor:not-allowed}.pagination-btn svg{width:1rem;height:1rem}.pagination-info{color:hsl(var(--muted-foreground));font-size:.8125rem}.grid-2{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}.dialog-body-stack{flex-direction:column;gap:1rem;padding:.25rem 0;display:flex}.flex-row{align-items:center;gap:.5rem;display:flex}.text-warning{color:hsl(var(--warning))}.text-success{color:hsl(var(--success))}.text-destructive{color:hsl(var(--destructive))}.text-primary{color:hsl(var(--primary))}.text-muted{color:hsl(var(--muted-foreground))}.hide-on-mobile{display:none}@media (width>=640px){.hide-on-mobile{display:inline}}.onboarding-page{background:hsl(var(--background));background-image:radial-gradient(circle at 12% 0,#def7f4b3,#0000 50%),radial-gradient(circle at 100% 100%,#fbe9ed99,#0000 45%);justify-content:center;align-items:flex-start;min-height:100vh;padding:3rem 1.25rem;display:flex}.onboarding-shell{flex-direction:column;gap:1.5rem;width:100%;max-width:600px;display:flex}.onboarding-brand{justify-content:center;align-items:center;gap:.75rem;display:flex}.onboarding-brand-name{letter-spacing:-.02em;font-size:1.25rem;font-weight:700}.onboarding-card{background:hsl(var(--card));border:1px solid hsl(var(--border));box-shadow:var(--shadow-card);border-radius:1.5rem;flex-direction:column;gap:1.75rem;padding:2rem;display:flex}@media (width>=640px){.onboarding-card{padding:2.5rem}}.onboarding-progress{flex-direction:column;gap:.75rem;display:flex}.onboarding-progress-track{background:hsl(var(--muted));border-radius:999px;height:4px;overflow:hidden}.onboarding-progress-fill{background:hsl(var(--primary));border-radius:999px;height:100%;transition:width .35s}.onboarding-progress-steps{justify-content:space-between;align-items:center;display:flex}.onboarding-step-dot{background:hsl(var(--muted));width:28px;height:28px;color:hsl(var(--muted-foreground));border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;font-size:.8125rem;font-weight:600;transition:all .2s;display:flex}.onboarding-step-dot.is-current{background:hsl(var(--primary));color:hsl(var(--primary-foreground));box-shadow:0 0 0 4px hsl(var(--primary) / .15)}.onboarding-step-dot.is-done{background:hsl(var(--tone-primary-bg));color:hsl(var(--primary))}.onboarding-step-dot svg{stroke-width:3px;width:14px;height:14px}.onboarding-head{flex-direction:column;gap:.5rem;display:flex}.onboarding-eyebrow{color:hsl(var(--primary));background:hsl(var(--tone-primary-bg));border-radius:999px;align-self:flex-start;padding:.375rem .75rem;font-size:.8125rem;font-weight:600;display:inline-block}.onboarding-title{letter-spacing:-.02em;font-size:1.625rem;font-weight:700;line-height:1.2}.onboarding-subtitle{color:hsl(var(--muted-foreground));font-size:.9375rem}.onboarding-body{min-height:220px}.onboarding-actions{border-top:1px solid hsl(var(--border));justify-content:space-between;align-items:center;gap:.75rem;padding-top:1.25rem;display:flex}.onboarding-footer{text-align:center;color:hsl(var(--muted-foreground));font-size:.8125rem}.onboarding-tipos{flex-direction:column;gap:.5rem;max-height:240px;display:flex;overflow-y:auto}.onboarding-tipo-row{background:hsl(var(--surface));border:1px solid hsl(var(--border));border-radius:.875rem;align-items:center;gap:.75rem;padding:.625rem .875rem;display:flex}.onboarding-tipo-ico{width:1rem;height:1rem;color:hsl(var(--primary));flex-shrink:0}.onboarding-tipo-name{flex:1;font-weight:500}.onboarding-tipo-remove{width:28px;height:28px;color:hsl(var(--muted-foreground));border-radius:.5rem;justify-content:center;align-items:center;transition:all .15s;display:flex}.onboarding-tipo-remove:hover{background:hsl(var(--tone-destructive-bg));color:hsl(var(--destructive))}.onboarding-tipo-remove svg{width:.9375rem;height:.9375rem}.onboarding-hours{flex-direction:column;max-height:320px;display:flex;overflow-y:auto}.spin{animation:.7s linear infinite spin}.whatsapp-gate{flex-direction:column;align-items:flex-start;gap:1rem;max-width:560px;display:flex}.whatsapp-gate-title{margin:0;font-size:1.125rem;font-weight:700}.whatsapp-gate-benefits{flex-direction:column;gap:.5rem;width:100%;margin:0;padding:0;list-style:none;display:flex}.whatsapp-gate-benefit{align-items:center;gap:.625rem;font-size:.9375rem;display:flex}.whatsapp-gate-error{background:hsl(var(--tone-destructive-bg));color:hsl(var(--destructive));border-radius:.75rem;align-items:center;gap:.5rem;padding:.625rem .875rem;font-size:.875rem;display:flex}.whatsapp-gate-error>svg{flex-shrink:0;width:1rem;height:1rem}.whatsapp-qr-panel{flex-direction:column;gap:1.25rem;display:flex}.whatsapp-qr-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.whatsapp-qr-title{margin:0;font-size:1.125rem;font-weight:700}.whatsapp-qr-body{grid-template-columns:minmax(220px,280px) 1fr;align-items:start;gap:1.5rem;display:grid}@media (width<=640px){.whatsapp-qr-body{grid-template-columns:1fr}}.whatsapp-qr-image{border:1px solid hsl(var(--border));aspect-ratio:1;background:#fff;border-radius:1rem;justify-content:center;align-items:center;padding:.75rem;display:flex}.whatsapp-qr-image img{width:100%;height:auto;display:block}.whatsapp-qr-placeholder{color:hsl(var(--muted-foreground));flex-direction:column;align-items:center;gap:.5rem;display:flex}.whatsapp-qr-steps{counter-reset:step;flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.whatsapp-qr-steps li{counter-increment:step;padding-left:2.25rem;line-height:1.5;position:relative}.whatsapp-qr-steps li:before{content:counter(step);background:hsl(var(--tone-primary-bg));width:1.5rem;height:1.5rem;color:hsl(var(--primary));border-radius:999px;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex;position:absolute;top:0;left:0}.whatsapp-qr-steps li>svg{vertical-align:middle;width:1rem;height:1rem;margin-right:.25rem}.whatsapp-qr-footer{border-top:1px solid hsl(var(--border));justify-content:space-between;align-items:center;gap:1rem;padding-top:.75rem;display:flex}.whatsapp-status-bar{background:hsl(var(--tone-success-bg));border:1px solid hsl(var(--border));border-radius:1rem;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.whatsapp-status-bar-info{align-items:center;gap:.75rem;display:flex}.whatsapp-status-bar-icon{width:1.25rem;height:1.25rem;color:hsl(var(--success,142 71% 45%))}.whatsapp-status-bar-title{margin:0;font-weight:600}.appt-meta{align-items:center;gap:.5rem;display:flex}.appt-reminder{white-space:nowrap;background:hsl(var(--muted));color:hsl(var(--muted-foreground));border-radius:999px;align-items:center;gap:.25rem;padding:.125rem .5rem;font-size:.75rem;font-weight:500;display:inline-flex}.appt-reminder>svg{width:.875rem;height:.875rem}.appt-reminder--sent{background:hsl(var(--tone-success-bg));color:hsl(var(--success,142 71% 45%))}.appt-reminder--pending{background:hsl(var(--tone-warning-bg));color:hsl(var(--warning,38 92% 50%))}.appt-reminder--failed{background:hsl(var(--tone-destructive-bg));color:hsl(var(--destructive))}.field--invalid,input.field--invalid,select.field--invalid{box-shadow:0 0 0 3px hsl(var(--destructive) / .15);animation:.4s ease-in-out field-shake;border-color:hsl(var(--destructive))!important}.field--invalid.chip-row,.field--invalid.patient-pick-list{border:1px solid hsl(var(--destructive));border-radius:.75rem;padding:.5rem;animation:.4s ease-in-out field-shake}@keyframes field-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}
