:root{--brand-950:#073b2d;--brand-900:#09513d;--brand-800:#0b674c;--brand-700:#087858;--brand-600:#0a8f68;--brand-500:#18a77e;--mint-100:#dff7ed;--mint-50:#f0fbf7;--surface:#fff;--surface-soft:#f7faf9;--surface-muted:#eef4f1;--canvas:#f3f7f5;--text:#17231f;--text-soft:#52635c;--text-faint:#788880;--border:#d9e4df;--border-strong:#c7d6cf;--success:#087858;--warning:#9a6500;--danger:#b53c43;--info:#256a8b;--shadow-xs:0 1px 2px #073b2d0f;--shadow-sm:0 8px 24px #073b2d14;--shadow-md:0 18px 48px #073b2d21;--radius-sm:8px;--radius-md:14px;--radius-lg:22px;--sidebar-width:240px;--font:Inter, "Segoe UI", Roboto, Arial, sans-serif;--display-font:"Aptos Display", "Segoe UI Variable Display", "Segoe UI", var(--font);--sidebar-deep-1:#084b3f;--sidebar-deep-2:#06453b;--sidebar-deep-3:#05372f;--glow:0 0 0 3px #18a77e29;--glow-xs:0 0 12px #18a77e26;--glow-focus:0 0 0 3px #18a77e33, 0 8px 20px #073b2d11;--shadow-card:0 7px 26px #073b2d0b;--surface-glass:#fffffff2;--row-primary:#173c31;--row-secondary:#536c63;--row-metadata:#82938c;--page-ivory:#f8f7f3;--page-mint:#edf6f1;--hairline:#1e53401c;--whatsapp-deep:#086b50;--whatsapp-deep-hover:#087d5d;color:#172321;font-family:var(--font);font-synthesis:none;background:#f3f5f3}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,select,input{font:inherit}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--brand-600);box-shadow:var(--glow-focus);outline:0}button:focus-visible,a:focus-visible{outline:2px solid var(--brand-500);outline-offset:2px}.filterbar select,.date-controls input{color:#26342f;background:#fff;border:1px solid #d8dfdb;border-radius:8px;padding:9px 12px}.workspace{width:min(1500px,100% - 56px);margin:auto;padding:32px 0 60px}.admin-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);background:var(--page-ivory);min-height:100vh;display:grid}.admin-sidebar-column{isolation:isolate;background-image:radial-gradient(circle at 24% 3%, #5be2b221 0%, #5be2b209 25%, transparent 51%), radial-gradient(circle at 54% 43%, #2eb78b0e 0%, transparent 39%), linear-gradient(180deg, var(--sidebar-deep-1) 0%, var(--sidebar-deep-2) 46%, var(--sidebar-deep-3) 100%);background-color:var(--sidebar-deep-2);min-width:0;position:relative;box-shadow:inset -1px 0 #83ebc61f,6px 0 22px #05372e16}.admin-sidebar-column:before{content:"";z-index:-1;opacity:.9;pointer-events:none;background:radial-gradient(at 33% 0,#6eebbe13,#0000 60%);height:36%;position:absolute;inset:0 0 auto;-webkit-mask-image:linear-gradient(#000 0%,#0000008c 54%,#0000 100%);mask-image:linear-gradient(#000 0%,#0000008c 54%,#0000 100%)}.admin-sidebar-column:after{content:"";z-index:-1;opacity:.92;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 260 760' preserveAspectRatio='none'%3E%3Cpath d='M-28 128 C58 70 126 183 286 104' fill='none' stroke='%2389e8c7' stroke-opacity='.075' stroke-width='1'/%3E%3Cpath d='M-40 386 C64 300 152 480 294 352' fill='none' stroke='%236bdab4' stroke-opacity='.055' stroke-width='1'/%3E%3Cpath d='M-24 646 C92 552 170 714 290 598' fill='none' stroke='%23d8c98a' stroke-opacity='.045' stroke-width='1'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;height:88%;position:absolute;bottom:5%;left:-16%;right:-18%;-webkit-mask-image:linear-gradient(#0000 0%,#000 12%,#000c 76%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 12%,#000c 76%,#0000 100%)}.admin-sidebar{color:#dceee7;background:0 0;border-right:1px solid #87ebc816;flex-direction:column;height:100vh;padding:18px 14px 12px;display:flex;position:sticky;top:0;box-shadow:inset -1px 0 #dffff406}.sidebar-brand-row{border-bottom:1px solid #ffffff1a;align-items:center;gap:6px;padding:2px 9px 17px;display:flex}.sidebar-brand{min-width:0;color:inherit;flex:auto;align-items:center;gap:11px;text-decoration:none;display:flex}.sidebar-collapse-toggle{color:#cfe6dc;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff29;border-radius:7px;flex:none;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;line-height:1;display:flex}.sidebar-collapse-toggle:hover{color:#fff;background:#ffffff21}.sidebar-brand-mark{background:linear-gradient(#8aebca,#32b98c);border-radius:99px;flex:none;width:8px;height:28px;box-shadow:0 0 7px #67e5b838,0 0 17px #38c9952b}.sidebar-brand strong,.sidebar-brand small{display:block}.sidebar-brand strong{color:#fff;font:750 .92rem / 1.15 var(--display-font);letter-spacing:-.015em}.sidebar-brand small{color:#9fc5b6;margin-top:2px;font-size:.65rem}.admin-nav{scrollbar-width:thin;scrollbar-color:#ffffff38 transparent;flex-direction:column;flex:auto;gap:2px;min-height:0;padding:11px 0;display:flex;overflow-y:auto}.admin-nav::-webkit-scrollbar{width:6px}.admin-nav::-webkit-scrollbar-track{background:0 0}.admin-nav::-webkit-scrollbar-thumb{background:#ffffff38;border-radius:99px}.admin-nav::-webkit-scrollbar-thumb:hover{background:#ffffff57}.nav-group-label{color:#7fa99a;letter-spacing:.14em;text-transform:uppercase;margin:12px 9px 5px;font-size:.58rem;font-weight:850}.admin-nav-item{color:#adc9be;text-align:left;background:0 0;border:1px solid #0000;border-radius:9px;align-items:center;gap:10px;width:100%;min-height:37px;padding:7px 10px;font-size:.76rem;font-weight:700;text-decoration:none;display:flex}.admin-nav-item:hover{color:#eafff7;background:#e1fff40c}.admin-nav-item.active{color:#fff;background:linear-gradient(100deg,#54d7a636,#3eaf891a);border-color:#92eecd42;box-shadow:inset 3px 0 #79e5be,inset 0 1px #e2fff50a,0 6px 18px #011f1824,0 0 19px #3ad39d25}.nav-icon{text-align:center;color:#80a99a;flex:none;width:20px;font-size:1rem}.admin-nav-item.active .nav-icon{color:#9af0d1;text-shadow:0 0 9px #67e7ba40}.environment-badge{width:max-content;color:var(--brand-800);letter-spacing:.035em;white-space:nowrap;background:#dff7edc7;border:1px solid #18a77e24;border-radius:99px;align-items:center;gap:5px;padding:4px 8px;font-size:.59rem;font-weight:800;display:inline-flex}.environment-badge:before{content:"";background:var(--brand-500);border-radius:50%;width:5px;height:5px;box-shadow:0 0 8px #18a77e61}.environment-badge.environment-live{color:#7a5200;background:#fff4d8d9;border-color:#9a65002e}.environment-badge.environment-live:before{background:#c98a05;box-shadow:0 0 8px #c98a0566}.sidebar-brand-row .environment-badge{flex:none}.sidebar-collapsed .sidebar-brand-row .environment-badge{display:none}.sidebar-footer{background:0 0;border-top:1px solid #def7ed1c;align-items:center;gap:9px;margin-top:auto;padding:10px 8px 2px;display:flex}.sidebar-user-dot,.user-presence-dot{background:#39d49e;border-radius:50%;flex:none;width:7px;height:7px;display:block;box-shadow:0 0 0 3px #39d49e1a,0 0 9px #39d49e40}.sidebar-profile-switch{flex-direction:column;flex:auto;gap:3px;min-width:0;display:flex}.sidebar-profile-switch span{color:#9fc5b6;text-transform:uppercase;letter-spacing:.06em;font-size:.6rem}.sidebar-profile-switch select{color:#f1faf6;background:#0528208c;border:1px solid #ffffff29;border-radius:8px;width:100%;padding:6px 8px;font-size:.72rem}.sidebar-logout-button{color:#f1faf6;cursor:pointer;background:#0528208c;border:1px solid #ffffff29;border-radius:8px;flex:auto;padding:6px 8px;font-size:.72rem}.sidebar-logout-button:hover{background:#052820cc}.admin-workspace{background:radial-gradient(circle at 88% 0, #52b98f1f, transparent 27%), radial-gradient(circle at 6% 38%, #ece1ca36, transparent 28%), linear-gradient(145deg, var(--page-ivory) 0%, #f6f9f6 47%, var(--page-mint) 100%);min-width:0;min-height:100vh}.workspace-header{isolation:isolate;border-bottom:1px solid var(--hairline,#1e53401c);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(108deg,#ffffffe6,#f4faf7db 58%,#e2f1ead6);justify-content:space-between;align-items:center;gap:24px;min-height:104px;padding:18px clamp(24px,3.4vw,48px);display:flex;position:relative;overflow:hidden;box-shadow:0 9px 28px #073b2d0b}.workspace-header:after{content:"";z-index:-1;opacity:.085;pointer-events:none;background:radial-gradient(at 50% 100%,#0000 50%,#188e689e 51%,#0000 54%);width:min(720px,62vw);height:65px;position:absolute;bottom:-22px;right:-3%;transform:rotate(-2deg)}.header-wave{z-index:-1;opacity:.1;pointer-events:none;mix-blend-mode:multiply;filter:saturate(.68)contrast(.9);background:radial-gradient(closest-side,#18a77e8c,#0000 72%),radial-gradient(closest-side at 65% 60%,#09513d66,#0000 70%);width:min(760px,58vw);height:220%;position:absolute;top:-60%;right:-8%;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#0000009e 32%,#000 100%);mask-image:linear-gradient(90deg,#0000 0%,#0000009e 32%,#000 100%)}.workspace-header>div,.workspace-user,.mobile-menu{z-index:1;position:relative}.workspace-heading{min-width:0}.workspace-heading .eyebrow{margin-bottom:4px}.workspace-heading h1{font-family:var(--display-font);letter-spacing:-.032em;margin:0 0 5px;font-size:1.68rem;font-weight:720}.workspace-heading p:last-child{color:var(--text-soft);margin:0;font-size:.86rem}.mobile-menu{width:34px;height:34px;color:var(--brand-900);cursor:pointer;background:0 0;border:0;border-radius:9px;flex:none;font-size:1rem;display:none}.mobile-menu:hover{background:#18a77e14}.header-user-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffb3;border:1px solid #497a661f;border-radius:10px;flex:none;align-items:center;gap:10px;min-width:0;padding:7px 9px 7px 10px;display:flex;box-shadow:0 8px 22px #073b2d0f,inset 0 1px #ffffffbf}.header-user-copy{min-width:0}.header-user-copy>strong{text-overflow:ellipsis;white-space:nowrap;max-width:170px;color:var(--text);font-size:.74rem;display:block;overflow:hidden}.header-user-meta{justify-content:space-between;align-items:center;gap:10px;margin-top:1px;display:flex}.header-user-logout{color:var(--brand-800);cursor:pointer;background:0 0;border:0;padding:1px 0;font-size:.68rem;font-weight:800}.header-user-logout:hover{text-decoration:underline}.role-badge{width:max-content;color:var(--brand-800);background:var(--mint-100);text-transform:uppercase;border-radius:99px;padding:2px 7px;font-size:.6rem;font-weight:800}.workspace-content{min-width:0;padding-top:clamp(17px,2vw,28px)}@media (width<=900px){.mobile-menu{place-items:center;display:grid}.workspace-header{min-height:96px}}@media (width<=520px){.workspace-header{padding-right:90px}.header-user-card{gap:7px;padding:6px 7px}}.admin-shell.sidebar-collapsed{grid-template-columns:68px minmax(0,1fr)}.sidebar-collapsed .sidebar-brand-copy,.sidebar-collapsed .nav-label,.sidebar-collapsed .nav-group-label,.sidebar-collapsed .sidebar-profile-switch span{display:none}.sidebar-collapsed .sidebar-brand-row{justify-content:center;gap:0}.sidebar-collapsed .sidebar-brand{flex:none}.sidebar-collapsed .admin-nav-item{justify-content:center;padding:7px}.sidebar-collapsed .sidebar-footer{flex-direction:column}.sidebar-collapsed .sidebar-profile-switch select{text-align:center;text-overflow:ellipsis;width:40px;padding:6px 2px}.student-header{z-index:12;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffed;align-items:center;gap:20px;min-height:60px;padding:7px max(20px,50vw - 450px);display:flex;position:sticky;top:0}.student-brand{color:var(--brand-900);font:750 .86rem var(--display-font);align-items:center;gap:9px;text-decoration:none;display:flex}.student-brand-mark{background:linear-gradient(180deg, var(--brand-500), var(--brand-800));border-radius:99px;flex:none;width:6px;height:24px}.student-nav{gap:6px;margin-right:auto;display:flex}.student-nav a{color:var(--text-soft);border-radius:8px;padding:7px 10px;font-size:.76rem;font-weight:700;text-decoration:none}.student-nav a.active{color:var(--brand-800);background:var(--mint-50)}.student-role{color:var(--text-soft);font-size:.64rem;display:block}@media (width<=1024px){.admin-shell{grid-template-columns:208px minmax(0,1fr)}}@media (width<=860px){.admin-shell{display:block}.admin-sidebar{flex-flow:wrap;align-items:center;gap:8px 14px;height:auto;position:static}.sidebar-brand{border-bottom:0;padding:2px 4px}.admin-nav{flex-flow:wrap;padding:0;overflow:visible}.nav-group-label{display:none}.sidebar-footer{border-top:0;max-width:220px;margin-top:0;margin-left:auto}}.page-heading{justify-content:space-between;align-items:flex-end;margin-bottom:24px;display:flex}.eyebrow{color:#33735f;letter-spacing:.14em;text-transform:uppercase;margin:0 0 8px;font-size:10px;font-weight:750}.page-heading h1,.student-heading h1{font:600 34px / 1.1 var(--display-font), serif;color:#14251f;margin:0}.date-label{color:#77817c;text-transform:capitalize;margin:6px 0 0;font-size:14px}.date-controls{gap:7px;display:flex}.date-controls button,.student-date button{color:#2f4b41;cursor:pointer;background:#fff;border:1px solid #d8dfdb;border-radius:8px;padding:8px 12px}.date-controls .today{color:#fff;background:#194f3d;border-color:#194f3d}.metrics{background:#fff;border:1px solid #dfe5e1;border-radius:12px;grid-template-columns:repeat(5,1fr);margin-bottom:14px;display:grid}.metrics div{border-right:1px solid #e5e9e6;padding:16px 20px}.metrics div:last-child{border:0}.metrics span{color:#7c8680;text-transform:uppercase;letter-spacing:.05em;font-size:11px;display:block}.metrics strong{font:600 25px var(--display-font), serif;margin-top:4px;display:block}.filterbar{grid-template-columns:minmax(240px,1.5fr) repeat(3,minmax(145px,.55fr));gap:9px;margin-bottom:14px;display:grid}.search{background:#fff;border:1px solid #d8dfdb;border-radius:9px;align-items:center;padding:0 12px;display:flex}.search span{color:#7d8c85;font-size:20px}.search input{background:0 0;border:0;outline:0;width:100%;padding:11px}.table-card{background:#fff;border:1px solid #dfe5e1;border-radius:12px;overflow:hidden;box-shadow:inset 0 0 0 1px #2d5b490f,0 10px 26px #073b2d0d}.table-caption{color:#5d6b65;border-bottom:1px solid #e7ebe8;justify-content:space-between;padding:13px 17px;font-size:12px;display:flex}.table-caption small{color:#89928d}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;color:#5f766d;text-transform:uppercase;letter-spacing:.065em;white-space:nowrap;background:linear-gradient(#eaf2ee,#e5eee9);padding:11px 13px;font-size:10px;font-weight:800}td{vertical-align:middle;color:var(--row-primary,#394740);border-top:1px solid #3b675512;padding:13px}tbody tr{cursor:pointer;transition:background .12s,box-shadow .12s,border-color .12s}:where(tbody tr:nth-child(odd)){background:#fffefa}:where(tbody tr:nth-child(2n)){background:#f8fcfa}tbody tr:hover{background:#edf8f3}:where(tbody tr:hover) td{border-top-color:#cfe7dc}.table-card td b,.table-card td small{display:block}.table-card td small{color:var(--row-metadata,#8a938e);margin-top:3px}.time{color:#172c24;font-size:16px}.room{white-space:nowrap}.badge{white-space:nowrap;border-radius:99px;align-items:center;gap:6px;padding:5px 8px;font-size:10px;font-weight:700;display:inline-flex;box-shadow:inset 0 0 0 1px #3b67550f}.badge i{background:currentColor;border-radius:50%;width:5px;height:5px}.badge-green{color:#19704f;box-shadow:var(--glow-xs,inset 0 0 0 1px #0878581a);background:#e4f4eb}.badge-amber{color:#946516;background:#fff0cf}.badge-slate{color:#59645f;background:#e9edeb}.badge-violet{color:#71469a;background:#efe8f7}.badge-blue{color:#316ba8;background:#e3eefb}.badge-cyan{color:#28777b;background:#dff3f4}.badge-indigo{color:#5159a0;background:#e8e9fa}.badge-red{color:#a4443e;background:#f9e5e3}.badge-orange{color:#a15417;background:#fde3ce}.status-check{color:#87918b;white-space:nowrap;font-size:11px}.status-check.on,.arrival.arrived{color:#19704f;font-weight:650}.row-action{color:#8a958f;cursor:pointer;background:0 0;border:0;font-size:22px}.empty{text-align:center;color:#7b8680;padding:65px 20px}.empty>span{background:#eef2ef;border-radius:50%;place-items:center;width:42px;height:42px;margin:auto;display:grid}.empty h2{font:600 20px var(--display-font), serif;color:#33463e;margin:12px 0 4px}.empty p{margin:0;font-size:13px}.scrim{z-index:30;background:#101c1842;border:0;position:fixed;inset:0}.drawer{z-index:31;background:linear-gradient(#fff 0%,#fdfefd 100%);width:min(460px,94vw);height:100vh;padding:0 22px 24px;position:fixed;top:0;right:0;overflow-y:auto;box-shadow:-18px 0 52px #042a1e2b}.drawer.drawer-operational{width:min(680px,94vw)}@media (width<=640px){.drawer.drawer-operational{width:96vw}}.drawer.patient-matching-drawer{width:min(760px,94vw);overflow-x:hidden}.drawer.patient-matching-drawer .drawer-form,.drawer.patient-matching-drawer .drawer-form section,.drawer.patient-matching-drawer .drawer-form label{min-width:0}.drawer.patient-matching-drawer .drawer-form select,.drawer.patient-matching-drawer .drawer-form .button{max-width:100%}.drawer.patient-matching-drawer .drawer-header .eyebrow,.drawer.patient-matching-drawer .row-primary-cell,.drawer.patient-matching-drawer .row-metadata,.drawer.patient-matching-drawer .planning-status-text{overflow-wrap:anywhere;word-break:normal}.drawer.patient-matching-drawer .people-row{grid-template-columns:minmax(0,1.7fr) minmax(0,.7fr) minmax(0,1.2fr) auto;align-items:center;gap:6px 14px;display:grid}.drawer.patient-matching-drawer .people-row>*{min-width:0}@media (width<=640px){.drawer.patient-matching-drawer{width:96vw;padding:0 14px 24px}.drawer.patient-matching-drawer .drawer-header{margin-inline:-14px;padding-inline:14px}.drawer.patient-matching-drawer .people-row{grid-template-columns:minmax(0,1fr) auto}.drawer.patient-matching-drawer .people-row>.row-primary-cell{grid-column:1/-1}}@media (width>=641px){.drawer-operational .drawer-form dl{grid-template-columns:112px 1fr 112px 1fr}}.drawer-header{z-index:2;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);border-bottom:1px solid var(--border);background:#fffffff7;justify-content:space-between;align-items:flex-start;gap:12px;margin:0 -22px;padding:22px 0 14px;padding-inline:22px;display:flex;position:sticky;top:0}.drawer-header h2{font:600 21px var(--display-font), serif;color:var(--row-primary);margin:3px 0 0}.drawer-header small{color:var(--text-soft);margin-top:4px;font-size:11.5px;display:block}.drawer-close{background:var(--surface-muted);width:34px;height:34px;color:var(--brand-900);cursor:pointer;border:0;border-radius:50%;flex:none;font-size:20px;line-height:1;box-shadow:inset 0 0 0 1px #2d5b4912}.drawer-close:hover{background:#e3ece7}.drawer-header-compact{z-index:2;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);border-bottom:1px solid var(--border);background:#fffffff7;justify-content:space-between;align-items:flex-start;gap:12px;margin:0 -22px 4px;padding:20px 0 16px;padding-inline:22px;display:flex;position:sticky;top:0}.drawer-header-compact .eyebrow{color:var(--row-metadata);letter-spacing:.07em;text-transform:uppercase;margin:0;font-size:10.5px;font-weight:800}.drawer-header-compact h2{font:600 17px var(--display-font), serif;color:var(--row-primary);margin:3px 0 0;line-height:1.3}.drawer-header-compact small{color:var(--text-soft);margin-top:4px;font-size:11.5px;display:block}.drawer-identity{background:linear-gradient(145deg,#edf8f3,#f7fbf9);border:1px solid #27775817;border-radius:10px;gap:4px;margin:14px 0 4px;padding:14px;display:grid;box-shadow:0 5px 17px #073b2d09}.drawer-identity strong{font:700 17px var(--display-font), serif;color:var(--row-primary)}.drawer-identity small{color:var(--row-secondary);font-size:11.5px}.drawer-identity .badge{justify-self:start;margin-top:4px}.drawer-form{gap:2px;margin-top:6px;display:grid}.drawer-form section{border-bottom:1px solid #305e4c14;gap:5px;padding:7px 0;display:grid}.drawer-form section:last-of-type{border-bottom:0;padding-bottom:2px}.drawer-form h4{color:var(--brand-900);letter-spacing:.07em;text-transform:uppercase;margin:0;padding-bottom:3px;font-size:10.5px;font-weight:800}.billing-section{border-top:1px dashed #305e4c26;gap:4px;margin-top:6px;padding-top:6px;display:grid}.billing-section h4{color:var(--brand-900);letter-spacing:.06em;text-transform:uppercase;margin:0;padding-bottom:2px;font-size:10px;font-weight:800}.billing-delinquency{color:#a4443e;font-weight:650}.drawer-row{flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:2px 0;display:flex}.drawer-row-label{color:var(--row-metadata);text-transform:uppercase;letter-spacing:.03em;flex:none;font-size:10.5px;font-weight:650}.drawer-row-value{min-width:0;color:var(--row-primary);flex:auto;font-size:13px;font-weight:650}.drawer-row-action{flex:none;gap:6px;margin-left:auto;display:flex}.drawer-row-primary{color:var(--row-primary);font-weight:650}.drawer-row-secondary{color:var(--row-metadata);margin-left:6px;font-size:11.5px}.drawer-row-note{color:var(--row-metadata);margin:0;padding:0;font-size:11.5px}.drawer-status-grid{grid-template-columns:1fr 1fr;gap:4px 16px;display:grid}.drawer-grid-cell{align-items:center;gap:6px;min-width:0;padding:2px 0;display:flex}.drawer-grid-label{color:var(--row-metadata);text-transform:uppercase;letter-spacing:.03em;flex:none;font-size:10px;font-weight:650}.drawer-grid-value{min-width:0;color:var(--row-primary);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:12px;overflow:hidden}.button-compact{color:var(--brand-800,#17513f);cursor:pointer;background:#fff;border:1px solid #3b675533;border-radius:6px;align-items:center;gap:4px;padding:3px 9px;font-size:11px;font-weight:650;text-decoration:none;display:inline-flex}.button-compact:hover{background:#eef4f1}.button-compact.whatsapp{color:#087651;background:#ecfaf4;border-color:#bce8d6}.button-compact.whatsapp:hover{background:#dff5ea}.drawer-form dl{grid-template-columns:112px 1fr;gap:0;margin:0;display:grid}.drawer-form dt,.drawer-form dd{border-bottom:1px solid #3b675512;margin:0;padding:5px 0}.drawer-form dt{color:var(--row-metadata);text-transform:uppercase;letter-spacing:.03em;font-size:10.5px;font-weight:650}.drawer-form dd{color:var(--row-primary);font-size:12.5px;font-weight:550}.drawer-form dt:last-of-type,.drawer-form dd:last-of-type{border-bottom:0}.drawer dd.drawer-primary{font-size:14px;font-weight:700}.drawer-action-row{justify-content:space-between;align-items:center;gap:10px;padding:5px 0;display:flex}.drawer-action-row>span{text-transform:uppercase;letter-spacing:.04em;color:var(--row-secondary);font-size:10.5px;font-weight:700}.attendance-roster{flex-direction:column;gap:3px;margin:0 0 6px;padding:0;list-style:none;display:flex}.attendance-roster-row{flex-flow:wrap;align-items:baseline;gap:2px 8px;display:flex}.attendance-roster-row.is-critical{background:#fdf1f0;border-left:3px solid #b5424a;border-radius:4px;padding:3px 8px}.attendance-roster-name{color:var(--row-primary);font-size:12.5px;font-weight:650}.attendance-roster-status{color:var(--row-metadata);font-size:11.5px}.attendance-roster-row.is-critical .attendance-roster-status{color:#a4443e;font-weight:650}.attendance-roster-link{color:var(--brand-500,#18a77e);margin-left:auto;font-size:11px;font-weight:650}.drawer-note-row{flex-direction:column;gap:4px;padding:3px 0;display:flex}.drawer-note-label{flex-direction:column;gap:3px;display:flex}.drawer-note-textarea{box-sizing:border-box;width:100%;min-height:48px}.drawer-note-save{color:var(--brand-800,#17513f);background:#fff;border:1px solid #3b67552e;border-radius:7px;align-self:flex-end;padding:5px 10px;font-size:12px;font-weight:650}.drawer-note-save:disabled{opacity:.5;cursor:default}.drawer-note-save:not(:disabled):hover{background:#eef4f1}.drawer-readonly-note{color:var(--text-soft);background:#f5f8f6;border:1px solid #3b675514;border-radius:9px;margin:2px 0 0;padding:11px 12px;font-size:11px}.drawer-actions{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--border);background:#fffffff7;justify-content:flex-end;gap:8px;margin:10px -22px -24px;padding:14px 22px;display:flex;position:sticky;bottom:0}.button{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;min-height:36px;padding:8px 14px;font-size:12.5px;font-weight:750;text-decoration:none;transition:transform .14s,box-shadow .14s,background .14s,border-color .14s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button.primary{color:#fff;background:linear-gradient(135deg, var(--brand-700), var(--brand-600));box-shadow:0 6px 14px #0a8f682e}.button.primary:hover{box-shadow:0 8px 20px #0a8f6842}.button.secondary{color:var(--brand-800);border-color:var(--border-strong);background:#fff}.button.whatsapp{color:#087651;background:#ecfaf4;border-color:#bce8d6}.student-shell{isolation:isolate;background:radial-gradient(circle at 82% 8%,#ffffffd9,#0000 32%),linear-gradient(150deg,#e3f6ee 0%,#f1faf6 52%,#eaf6f0 100%);min-height:100vh;position:relative}.student-shell:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle at 10% 14%,#18a77e17,#0000 26%),radial-gradient(circle at 92% 88%,#09513d12,#0000 30%);position:absolute;inset:0}.student-content{min-width:0}.student-panel{width:min(1180px,100% - 40px);margin:0 auto;padding:22px 0 48px}.student-panel-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.student-panel-header-copy .eyebrow{margin:0 0 3px}.student-panel-header-copy h1{font:650 26px var(--display-font), serif;color:var(--row-primary,#16261f);margin:0}.student-header-chips{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.student-header-chip{color:var(--brand-800,#0b674c);background:#ffffffbf;border-radius:99px;padding:4px 11px;font-size:11px;font-weight:700;box-shadow:inset 0 0 0 1px #18a77e2e}.student-date-compact{background:#ffffffb3;border-radius:10px;align-items:center;gap:8px;padding:6px 8px;display:flex;box-shadow:inset 0 0 0 1px #18a77e24}.student-date-compact button{width:26px;height:26px;color:var(--brand-800,#0b674c);cursor:pointer;background:#fff;border:0;border-radius:7px}.student-date-compact span{text-align:center;text-transform:capitalize;min-width:108px;color:var(--row-secondary,#46564e);font-size:12.5px;font-weight:650}.student-panel-grid{grid-template-columns:1.5fr 1fr;grid-template-areas:"status actions""profile actions""schedule schedule";gap:14px;display:grid}.student-block-status{grid-area:status}.student-block-actions{grid-area:actions}.student-block-profile{grid-area:profile}.student-block-schedule{grid-area:schedule}.student-block.student-block-patients{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-top:1px solid #2d5b491f;border-radius:0;margin-top:12px;padding:10px 2px 0}.my-patients-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.student-block .my-patients-head h2{margin:0}.my-patients-count{background:#2d5b491a;border-radius:999px;margin-left:4px;padding:1px 7px;font-size:10.5px}.my-patients-add{min-height:36px;color:var(--brand-800,#0b674c);cursor:pointer;background:0 0;border:1px solid #2d5b4959;border-radius:999px;padding:0 12px;font-size:12.5px;font-weight:700}.my-patients-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.my-patients-item{background:#2d5b490b;border-radius:8px;gap:1px;padding:8px 10px;font-size:12.5px;display:grid}.my-patients-item span,.my-patients-item small{color:var(--row-secondary,#46564e)}.my-patients-overlay{z-index:80;justify-content:center;align-items:stretch;display:flex;position:fixed;inset:0}.my-patients-backdrop{background:#101c1866;border:0;position:absolute;inset:0}.my-patients-sheet{background:#fff;flex-direction:column;width:100%;height:100dvh;display:flex;position:relative}.my-patients-sheet-header{border-bottom:1px solid #2d5b491f;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.my-patients-sheet-header h2{color:#16261f;margin:0;font-size:16px}.my-patients-sheet-body{flex:1;align-content:start;gap:14px;padding:14px 16px;display:grid;overflow-y:auto}.my-patients-fieldset{border:1px solid #2d5b4929;border-radius:12px;gap:10px;margin:0;padding:12px;display:grid}.my-patients-fieldset legend{letter-spacing:.06em;text-transform:uppercase;color:var(--brand-800,#0b674c);padding:0 6px;font-size:11px;font-weight:800}.my-patients-sheet label{color:#33453d;gap:4px;font-size:12px;font-weight:600;display:grid}.my-patients-sheet input,.my-patients-sheet select{box-sizing:border-box;background:#fff;border:1px solid #2d5b4947;border-radius:10px;width:100%;min-height:44px;padding:0 12px;font-size:16px}.my-patients-sheet input[readonly]{color:#5b6b63;background:#f1f4f2;border-style:dashed}.my-patients-auto{grid-template-columns:1fr 1fr;gap:10px;display:grid}.my-patients-sheet-footer{padding:10px 16px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #2d5b491f}.my-patients-cta{background:var(--brand-800,#0b674c);color:#fff;cursor:pointer;border:0;border-radius:12px;width:100%;min-height:48px;font-size:16px;font-weight:800}.my-patients-cta:disabled{cursor:not-allowed;background:#b9c6bf}@media (width>=721px){.my-patients-overlay{align-items:center}.my-patients-sheet{border-radius:16px;width:min(520px,94vw);height:auto;max-height:90vh;box-shadow:0 24px 64px #042a1e47}.my-patients-sheet-footer{padding-bottom:12px}.my-patients-cta{float:right;width:auto;min-width:200px}.my-patients-sheet-footer:after{content:"";clear:both;display:block}}.student-block{box-shadow:var(--shadow-card,0 7px 26px #073b2d0b);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#ffffffdb;border:1px solid #2d5b4917;border-radius:14px;padding:16px 18px}.student-block h2{letter-spacing:.06em;text-transform:uppercase;color:var(--brand-800,#0b674c);margin:0 0 10px;font-size:11px;font-weight:800}.student-focus-appointment{background:linear-gradient(135deg, var(--mint-50,#f0fbf7), #fff);border-radius:11px;flex-direction:column;gap:3px;margin-bottom:12px;padding:13px 15px;display:flex;box-shadow:inset 0 0 0 1px #18a77e29}.student-focus-appointment .eyebrow{margin:0}.student-focus-datetime{letter-spacing:.02em;color:var(--row-secondary,#52635c);text-transform:uppercase;font-size:11.5px;font-weight:700}.student-focus-room-time{font:750 25px var(--display-font), serif;color:var(--row-primary,#16261f);letter-spacing:-.01em}.student-focus-service{color:var(--row-secondary,#52635c);font-size:12.5px;font-weight:600}.student-focus-status{background:var(--surface-muted,#eef4f1);color:var(--row-metadata,#788880);border-radius:99px;align-self:flex-start;margin-top:5px;padding:4px 12px;font-size:11.5px;font-weight:750;display:inline-flex}.student-focus-status.arrived{color:#176b4c;box-shadow:var(--glow-xs,inset 0 0 0 1px #0878581a);background:#e4f4eb}.student-kpi-row{flex-wrap:wrap;gap:8px;display:flex}.student-kpi{background:var(--surface-soft,#f7faf9);border-radius:9px;flex:80px;padding:6px 9px}.student-kpi strong{font:650 14px var(--display-font), serif;color:var(--row-secondary,#52635c);display:block}.student-kpi span{color:var(--row-metadata,#96a09a);font-size:8.5px}.student-pending-note{color:#7a5300;background:#fff6df;border-radius:9px;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px;padding:9px 11px;font-size:12px;font-weight:600;display:flex;box-shadow:inset 0 0 0 1px #9a650024}.student-pending-note .link-button{color:#8a5c0c;cursor:pointer;background:0 0;border:0;font-weight:800;text-decoration:underline}.student-empty-note{color:var(--row-metadata,#7e8983);margin:0 0 12px;font-size:12px}.student-action{border:1px solid var(--border-strong,#c7d6cf);width:100%;color:var(--row-primary,#16261f);text-align:left;cursor:pointer;background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;padding:11px 13px;font-size:12.5px;font-weight:700;display:flex}.student-action:last-child{margin-bottom:0}.student-action small{color:var(--row-metadata,#8a938e);text-transform:none;font-size:10px;font-weight:600}.student-action.primary{background:linear-gradient(135deg, var(--brand-700,#087858), var(--brand-600,#0a8f68));color:#fff;border-color:#0000;box-shadow:0 6px 14px #0a8f6833}.student-action.primary small{color:#ffffffbf}.student-action.muted,.student-action:disabled{background:var(--surface-soft,#f7faf9);color:var(--row-metadata,#8a938e);cursor:not-allowed}.student-action:disabled small{color:var(--row-metadata,#a3aca6)}.student-profile-grid{grid-template-columns:128px 1fr;gap:0;margin:0;display:grid}.student-profile-grid dt,.student-profile-grid dd{border-bottom:1px solid #3b675514;margin:0;padding:6px 0}.student-profile-grid dt{color:var(--row-metadata,#82938c);text-transform:uppercase;font-size:10.5px;font-weight:650}.student-profile-grid dd{color:var(--row-primary,#173c31);font-size:12px;font-weight:550}.student-profile-grid dt:last-of-type,.student-profile-grid dd:last-of-type{border-bottom:0}.student-schedule-list{gap:8px;display:grid}.section-title{justify-content:space-between;align-items:center;padding:8px 2px;display:flex}.section-title h2{font:600 20px var(--display-font), serif;margin:0}.section-title span{color:#426355;background:#dce7e1;border-radius:99px;padding:4px 9px;font-size:12px}.student-row{background:#ffffffeb;border:1px solid #2d5b4917;border-radius:11px;grid-template-columns:66px 1fr auto auto;align-items:center;gap:10px;padding:9px 12px;display:grid}.student-row-room{background:linear-gradient(165deg,#1c5c46,#0e2f24);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:6px 4px;display:flex}.room-glow{background:#7be8ae;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #7be8ae38,0 0 11px 2px #7be8ae8c}.student-room-name{font:700 15px / 1.1 var(--display-font), serif;color:#fff;text-align:center}.student-row-main{flex-direction:column;gap:2px;min-width:0;display:flex}.student-row-service{color:var(--row-primary,#16261f);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.student-row-time{color:var(--row-secondary,#52635c);font-size:11.5px;font-weight:600}.student-row-arrival{white-space:nowrap;color:var(--row-metadata,#788880);font-size:11.5px;font-weight:650}.student-row-arrival.arrived{color:#176b4c}.privacy-note{text-align:center;color:var(--row-metadata,#7e8983);margin-top:18px;font-size:11px}.student-announcements{flex-direction:column;gap:6px;margin:0 0 14px;display:flex}.student-announcement{background:#fff;border-radius:9px;align-items:flex-start;gap:10px;padding:9px 11px;display:flex;box-shadow:inset 0 0 0 1px #3b675514}.student-announcement-priority{text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;border-radius:99px;flex:none;margin-top:1px;padding:3px 7px;font-size:9px;font-weight:750}.student-announcement.priority-informative .student-announcement-priority{color:#19704f;background:#e4f4eb}.student-announcement.priority-attention .student-announcement-priority{color:#946516;background:#fff0cf}.student-announcement.priority-urgent .student-announcement-priority{color:#a4443e;background:#f9e5e3}.student-announcement-body{flex-direction:column;gap:1px;min-width:0;display:flex}.student-announcement-body b{color:var(--row-primary,#1c2b23);font-size:12.5px}.student-announcement-body p{color:var(--row-secondary,#52635c);margin:0;font-size:11.5px}.student-announcement-body small{color:var(--row-metadata,#7e8983);font-size:10px}.student-announcements-more{color:var(--brand-800,#33463e);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0 2px;font-size:11px;font-weight:700;text-decoration:underline}.student-announcements-footer{align-items:center;gap:14px;display:flex}.student-announcements-history-only{margin:0 0 14px}.student-announcements-history-only .link-button{color:var(--row-metadata,#7e8983);cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:11px;font-weight:650;text-decoration:underline}.student-announcements-full-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}@media (width<=760px){.student-panel{width:calc(100% - 24px);padding:14px 0 36px}.student-panel-header{flex-direction:column;align-items:stretch;gap:10px}.student-panel-header-copy h1{font-size:22px}.student-date-compact{align-self:flex-start}.student-panel-grid{grid-template-columns:1fr;grid-template-areas:"status""actions""schedule""profile";gap:10px}.student-block{padding:13px 14px}.student-row{grid-template-rows:auto auto;grid-template-columns:52px 1fr;row-gap:4px}.student-row-room{grid-row:1/3;padding:8px 4px}.student-row-main{min-width:0}.badge,.student-row-arrival{grid-column:2}}@media (width<=420px){.student-header-chips{gap:4px}.student-kpi-row{gap:6px}}@media (width<=900px){.topbar{padding:0 18px}.topbar nav{display:none}.brand{min-width:0}.profile-switch span{display:none}.workspace{width:calc(100% - 28px)}.page-heading{align-items:flex-start;gap:18px}.metrics{grid-template-columns:repeat(3,1fr)}.metrics div:nth-child(3){border-right:0}.filterbar{grid-template-columns:1fr 1fr}.search{grid-column:1/-1}.table-card{border-radius:9px}}@media (width<=620px){.topbar{height:60px}.brand-copy small{display:none}.profile-switch select{max-width:140px}.workspace{padding-top:20px}.page-heading{display:block}.date-controls{flex-wrap:wrap;margin-top:18px}.metrics{grid-template-columns:1fr 1fr}.metrics div:nth-child(2n){border-right:0}.filterbar{grid-template-columns:1fr}.search{grid-column:auto}}.operational-workspace{width:min(1780px,100% - 28px);padding:14px 0 34px}.operation-header{justify-content:space-between;align-items:center;gap:20px;min-height:54px;margin-bottom:10px;display:flex}.compact-title{white-space:nowrap;align-items:baseline;gap:13px;display:flex}.compact-title h1{color:#14251f;font:600 23px / 1 var(--display-font), serif;margin:0}.compact-title span{color:#637069;font-size:12px}.navigation-cluster,.nav-unit>div{align-items:center;display:flex}.navigation-cluster{border:0;gap:10px;margin:0;padding:0}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.nav-unit>span{color:#76817b;letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px;font-size:9px;font-weight:750;display:block}.nav-unit button,.nav-unit input,.nav-unit select,.now-button{color:#29443a;background:#fff;border:1px solid #d7dfda;height:31px}.nav-unit button{cursor:pointer;width:30px;padding:0}.nav-unit button:first-child{border-radius:7px 0 0 7px}.nav-unit button:last-child{border-radius:0 7px 7px 0}.nav-unit button:disabled{color:#bcc4bf;cursor:default}.nav-unit input,.nav-unit select{text-align:center;border-left:0;border-right:0;border-radius:0;min-width:119px;padding:4px 8px;font-size:12px}.nav-unit select{min-width:72px}.now-button{color:#fff;cursor:pointer;background:#194f3d;border-color:#194f3d;border-radius:7px;align-self:flex-end;padding:0 13px;font-size:11px;font-weight:700}.room-group-bar{background:#fff;border:1px solid #dfe5e1;border-radius:9px 9px 0 0;grid-template-columns:auto 1fr;align-items:center;gap:15px;min-height:40px;padding:5px 7px;display:grid}.room-group-bar>div{gap:4px;display:flex}.room-group-bar button{color:#607069;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:7px 12px;font-size:11px;font-weight:650}.room-group-bar button.active{color:#174d3b;background:#dfece6}.load-state{color:#77827c;justify-self:end;font-size:10px}.load-state.loading{color:#8b671a}.load-state.action-error{color:#a4443e;font-weight:650}.dense-filters{background:#eef5f1d9;border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px;margin:5px 0;padding:8px;display:flex;box-shadow:inset 0 0 0 1px #36655311}.dense-filters .search{flex:150px}.dense-filters select{flex:0 140px}.dense-filters .search,.dense-filters select{border-radius:6px;min-height:29px}.dense-filters .search input,.dense-filters select{padding-top:5px;padding-bottom:5px;font-size:10.5px}.dense-filters .search span{font-size:15px}.vacancy-chip{color:#8b671a;white-space:nowrap;cursor:pointer;background:#fff8e8;border:1px solid #e2c27a;border-radius:6px;flex:none;height:29px;padding:0 12px;font-size:10.5px;font-weight:700}.vacancy-chip.active{color:#5c4108;background:#f4d789;border-color:#c8860d}.operational-table{box-shadow:none;border-radius:0 0 9px 9px}.operational-table .table-caption{padding:7px 10px}.operational-table table{table-layout:fixed;min-width:1204px;font-size:10.5px}.operational-table th{white-space:normal;vertical-align:bottom;padding:6px 7px;font-size:8.5px;line-height:1.25;overflow:hidden}.operational-table td{vertical-align:top;height:30px;padding:3px 6px;line-height:1.15}.operational-col-room{width:50px}.operational-col-state{width:128px}.operational-col-arrival{width:96px}.operational-col-feegow{width:66px}.operational-col-payment{width:11%}.operational-col-students{width:24%}.operational-col-service{width:18%}.operational-col-patient{width:22%}.operational-col-observation{width:15%}.operational-col-actions{width:160px}.operational-table td small{margin-top:1px;font-size:9px}.operational-table td .room-name{text-overflow:clip;color:#18342a;font:700 14px / 1 var(--display-font), serif;display:block;overflow:hidden}.operational-table .cell-name{color:var(--row-primary,#16261f);font-size:11.5px;font-weight:700}.patient-cell{flex-direction:column;gap:1px;display:flex}.couple-badge{color:#6d4b91;text-transform:uppercase;letter-spacing:.04em;background:#f1ecf9;border-radius:999px;align-self:flex-start;padding:1px 6px;font-size:9px;font-weight:700}.continuity-badge{color:#59645f;background:#eef1ef;border-radius:999px;align-self:flex-start;padding:1px 6px;font-size:9px;font-weight:700}.continuity-badge.continuity-first_visit{color:#8a5c0c;background:#fff0cf}.patient-appointment-list{gap:7px;margin-top:2px;display:grid}.patient-appointment-card{background:#fbfdfc;border:1px solid #3b67551f;border-radius:10px;gap:4px;padding:8px 10px;display:grid}.patient-appointment-main{flex-wrap:wrap;align-items:center;gap:5px 10px;display:flex}.patient-appointment-datetime{color:var(--row-primary);white-space:nowrap;font-size:12.5px;font-weight:700}.patient-appointment-service{min-width:110px;color:var(--row-primary);flex:auto;font-size:12px}.patient-appointment-secondary{color:var(--row-metadata);margin:0;font-size:11px;line-height:1.5}.patient-appointment-subject{color:#6d4b91;margin:0;font-size:11px;font-weight:650}.patient-appointment-arrival{justify-self:start}.patient-appointment-count{text-transform:none;letter-spacing:normal;color:var(--row-metadata);font-weight:650}.patient-couple-picker{gap:6px;margin-top:2px;display:grid}.patient-couple-picker input{width:100%}.patient-couple-candidate{justify-content:space-between;align-items:center;gap:8px;padding:3px 0;display:flex}.patient-contact-line{color:var(--row-secondary,#5b6a63);align-items:center;gap:5px;font-size:10.5px;font-weight:500;display:flex}.student-names,.student-name-entry{display:block}.student-name-entry+.student-name-entry{border-top:1px dashed #e4e9e5;margin-top:4px;padding-top:4px}.student-name-line{display:block}.student-contact-line{flex-wrap:wrap;align-items:center;gap:2px 8px;margin-top:1px;display:flex}.copyable-contact{color:#5b6a63;font:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0;font-size:10.5px;font-weight:500;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;display:inline-flex}.copyable-contact:hover{color:#176b4c}.copyable-contact-feedback{color:#176b4c;font-size:9px;font-weight:700;text-decoration:none}.copyable-contact.is-copied{color:#176b4c}.badge{padding:3px 6px;font-size:8.5px}.badge-plain{color:#78837d;background:#fff;border:1px solid #e0e5e2}.state-row-free td,.state-row-not_offered td,.state-row-restricted td{color:#b7bfb9}.operational-table .state-row-free .room-name,.operational-table .state-row-not_offered .room-name,.operational-table .state-row-restricted .room-name{color:#8b958f}.state-row-vacancy{background:#fffaf1}.state-row-patient_assignment_blocked{background:#fdf2f1}.state-row-suspended{background:#fbf7ff}.state-row-room_block{background:#fff6f5}.room-cell{grid-template-columns:12px minmax(0,1fr);align-items:center;column-gap:3px;display:grid}.room-cell>.room-name{grid-column:2}.row-marker{clip-path:polygon(50% 0%,63% 37%,100% 50%,63% 63%,50% 100%,37% 63%,0% 50%,37% 37%);color:#b7cbc2;background:currentColor;justify-self:center;width:8px;height:8px;display:block}.row-marker-suspended{color:#b5424a;filter:drop-shadow(0 0 2.5px #b5424a8c)}.row-marker-replacement{color:#b5820d;filter:drop-shadow(0 0 2.5px #b5820d80)}.row-marker-observation{color:#1c8f63;filter:drop-shadow(0 0 2.5px #18a77e8c)}.row-marker-critical{color:#b5424a;filter:drop-shadow(0 0 3px #b5424aa6);width:10px;height:10px}.row-marker-attention{color:#b5820d;filter:drop-shadow(0 0 2px #b5820d73)}.operational-table td:first-child{position:relative}:where(.operational-table td:first-child):before{content:"";opacity:.7;background:#18a77e3d;border-radius:0 3px 3px 0;width:2px;transition:background .14s,opacity .14s;position:absolute;top:18%;bottom:18%;left:0}:where(.operational-table tbody tr:hover td:first-child):before{background:var(--brand-500,#18a77e);opacity:.95}.row-marker-tone-suspended td:first-child:before{opacity:.85;background:#b5424a;box-shadow:0 0 5px #b5424a59}.row-marker-tone-replacement td:first-child:before{opacity:.85;background:#b5820d;box-shadow:0 0 5px #b5820d4d}.row-marker-tone-observation td:first-child:before{opacity:.85;background:#1c8f63;box-shadow:0 0 5px #18a77e59}.row-marker-tone-critical td:first-child:before{opacity:.9;background:#b5424a;box-shadow:0 0 5px #b5424a66}.row-marker-tone-attention td:first-child:before{opacity:.85;background:#b5820d;box-shadow:0 0 5px #b5820d4d}.service-cell{flex-direction:column;gap:1px;display:flex}.service-supervisor-line{color:var(--row-secondary,#5c6a63);font-size:10px;font-weight:500}.feegow-badge.feegow-ok{color:#176b4c;font-weight:650}.feegow-badge.feegow-link,.feegow-badge.feegow-register,.feegow-badge.feegow-remove{color:#8a5c0c;background:#fff0cf;border-radius:5px;padding:2px 6px;font-weight:650;display:inline-flex}.continuity-cell{flex-direction:column;gap:1px;font-size:10.5px;display:flex}.continuity-cell b{color:var(--row-primary,#26342f);font-weight:650}.continuity-cell small{color:var(--row-metadata,#8a938e)}.continuity-first_visit b{color:#8a5c0c}.table-loading{text-align:center;color:#7b8680;padding:46px 20px;font-size:12px}.inline-toggle{color:#5f6b65;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #d9e0dc;border-radius:6px;padding:4px 6px;font-size:9.5px}.inline-toggle:hover{border-color:#8eaaa0}.inline-toggle:disabled{cursor:not-allowed;opacity:.82}.inline-toggle.is-on{color:#176b4c;background:#e8f5ee;border-color:#b7d9ca;font-weight:700}.inline-select{color:#394740;cursor:pointer;background:#fff;border:1px solid #d9e0dc;border-radius:6px;max-width:92px;padding:3px 4px;font-size:9.5px}.inline-select:disabled{cursor:not-allowed;opacity:.82}.compact-state{white-space:nowrap;font-size:9.5px}.compact-state.ok{color:#176b4c;font-weight:650}.compact-state.exempt{color:#6d4b91;font-weight:650}.compact-state.muted{color:#98a09c}.payment-state-paid,.payment-state-exempt,.payment-state-unpaid{border-radius:999px;align-items:center;padding:1px 7px;font-weight:650;display:inline-flex}.payment-state-paid{color:#176b4c;background:#e4f4eb}.payment-state-exempt{color:#6d4b91;background:#f1ecf9}.payment-state-unpaid{color:#946516;background:#fff0cf;font-weight:700;box-shadow:inset 0 0 0 1px #94651647}.payment-state-not_applicable{color:#98a09c}.observation-cell{color:#69746e;text-overflow:ellipsis;white-space:nowrap;max-width:165px;overflow:hidden}.operational-table .row-action:not(.row-action-assign){letter-spacing:1px;border-radius:7px;width:24px;height:24px;padding:0;font-size:13px;line-height:1}.operational-table .row-action:not(.row-action-assign):hover{color:var(--brand-800,#33463e);background:#18a77e1a}.row-actions{align-items:center;gap:6px;display:inline-flex}.row-action-wa{color:#147a45;white-space:nowrap;background:#e5f6ec;border-radius:5px;padding:3px 6px;font-size:9px;font-weight:700;text-decoration:none}.row-action-wa:hover{background:#d3f0de}.row-action-wa.muted{color:#adb5af;background:0 0;font-weight:500}.online-strip{background:#fff;border:1px solid #dfe5e1;border-radius:8px;align-items:center;gap:7px;margin-top:7px;padding:7px 10px;display:flex}.online-strip>strong{border-right:1px solid #e2e7e4;padding-right:8px;font-size:10px}.online-strip button{color:#3e4d47;cursor:pointer;background:#f7f8fc;border:0;border-radius:6px;align-items:center;gap:8px;padding:5px 7px;font-size:10px;display:flex}.demo-action-note{color:#87918b;margin:7px 2px 0;font-size:9.5px}.locator-strip{background:#fff;border:1px solid #dfe5e1;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0;padding:7px 10px;display:flex}.locator-label{color:#33735f;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;font-size:10px;font-weight:750}.locator-results{flex-wrap:wrap;gap:6px;display:flex}.locator-results button{color:#29443a;cursor:pointer;background:#f7f9f7;border:1px solid #d7dfda;border-radius:6px;flex-direction:column;align-items:flex-start;gap:2px;padding:5px 9px;font-size:10px;display:flex}.locator-results button:hover{background:#eef5f0;border-color:#8eaaa0}.locator-results button b{font-size:11.5px;font-weight:700}.locator-results button small{color:#667169;font-size:9.5px}@keyframes row-focus-fade{0%{background-color:#d9f0e4}to{background-color:#0000}}.row-focused td,.online-strip button.row-focused{animation:1.6s ease-out row-focus-fade}.row-arrived td{background-color:#e8f5ee}@keyframes arrival-row-glow{0%{background-color:#e8f5ee;box-shadow:inset 0 0 0 9999px #10b9944d,0 0 12px 2px #0da4b080}70%{box-shadow:inset 0 0 0 9999px #10b99414,0 0 6px 1px #0da4b033}to{box-shadow:none;background-color:#e8f5ee}}.row-arrival-glow td{animation:1.5s ease-out arrival-row-glow}@media (prefers-reduced-motion:reduce){.row-arrival-glow td{animation:none}}@media (width<=1100px){.operation-header{flex-direction:column;align-items:flex-start}.navigation-cluster{width:100%}.now-button{margin-left:auto}}.planning-page{flex-direction:column;gap:18px;display:flex}.planning-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.planning-stack{gap:16px;margin-top:14px;display:grid}.planning-section-tabs{margin-top:12px}.planning-grid .planning-card:nth-child(3),.planning-grid .planning-card:nth-child(4),.planning-grid .planning-card:nth-child(6),.planning-grid .patients-card{grid-column:1/-1}.planning-card{background:#fff;border:1px solid #dfe5e1;border-radius:12px;padding:16px 18px;box-shadow:0 8px 30px #20372e0a}.planning-card h2{color:#33735f;text-transform:uppercase;letter-spacing:.04em;margin:0 0 12px;font-size:13px;font-weight:700}.planning-status-text{color:#7b8680;font-size:13px}.planning-error{color:#b4382b;margin:8px 0 0;font-size:11px}.drawer-save-error{background:#fdecea;border:1px solid #f3c6c1;border-radius:8px;margin:0 20px 12px;padding:8px 12px;font-size:12px}.semester-header-card{margin-bottom:16px}.semester-status-badge{white-space:nowrap;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700}.semester-status-badge.status-ready{color:#176b4c;background:#176b4c1a}.semester-status-badge.status-attention{color:#8a5c0c;background:#b8790c1a}.semester-status-badge.status-not_ready{color:#8a2a1f;background:#b4382b1a}.semester-summary-grid{grid-template-columns:repeat(5,1fr);gap:12px;margin-top:10px;display:grid}.semester-summary-grid dt{color:var(--row-metadata,#8a938e);text-transform:uppercase;letter-spacing:.03em;margin:0;font-size:10px;font-weight:650}.semester-summary-grid dd{color:var(--row-primary,#1c2b23);margin:4px 0 0;font-size:20px;font-weight:700}.semester-discipline-card{border-left:3px solid #dfe5e1;margin-bottom:10px;padding:12px 16px}.semester-readiness-filter{margin:4px 0 14px}.semester-discipline-card.status-ready{border-left-color:#176b4c}.semester-discipline-card.status-attention{border-left-color:#b8790c}.semester-discipline-card.status-not_ready{border-left-color:#b4382b}.semester-discipline-grid{grid-template-columns:repeat(3,1fr);gap:10px 20px;margin-top:4px;display:grid}@media (width>=1200px){.semester-discipline-grid{grid-template-columns:repeat(6,1fr)}}.semester-discipline-grid dt{color:var(--row-metadata,#8a938e);text-transform:uppercase;letter-spacing:.03em;margin:0 0 4px;font-size:10px;font-weight:650}.semester-discipline-grid dd{color:var(--row-primary,#1c2b23);margin:0;font-size:12.5px}.semester-discipline-students{margin-top:12px}.semester-discipline-issues{border-top:1px solid #3b675517;margin-top:12px;padding-top:10px}.semester-discipline-issues dt{color:var(--row-metadata,#8a938e);text-transform:uppercase;letter-spacing:.03em;margin:0 0 6px;font-size:10px;font-weight:650}.semester-issue-row{border-radius:8px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;padding:7px 10px;font-size:12px;display:flex}.semester-issue-row.issue-error{color:#8a2a1f;background:#b4382b14}.semester-issue-row.issue-warning{color:#8a5c0c;background:#b8790c14}.planning-semester-form,.planning-capacity-row,.planning-add-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.planning-semester-form label,.planning-capacity-row label,.planning-add-row label{text-transform:uppercase;letter-spacing:.05em;color:#75817b;flex-direction:column;gap:4px;font-size:10px;display:flex}.planning-semester-form input,.planning-capacity-row input,.planning-add-row input,.planning-add-row select{color:#26342f;background:#fff;border:1px solid #d8dfdb;border-radius:8px;padding:8px 10px;font-size:12px}.planning-semester-form button,.planning-capacity-row button,.planning-add-row button{color:#fff;cursor:pointer;background:#174d3b;border:0;border-radius:8px;padding:9px 14px;font-size:12px;font-weight:650}.planning-semester-form button:disabled,.planning-capacity-row button:disabled,.planning-add-row button:disabled{opacity:.55;cursor:default}.planning-service-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.planning-service-list li{color:#26342f;border:1px solid #e7ebe8;border-radius:8px;padding:8px 10px;font-size:12px}.planning-table-wrap{margin-bottom:14px;overflow-x:auto}.supervision-group{margin-bottom:14px}.supervision-group-header{background:#f7faf9;border-bottom:2px solid #d8e5df;border-radius:8px 8px 0 0;align-items:baseline;gap:8px;margin-bottom:6px;padding:8px 10px;display:flex}.supervision-group-header strong{color:#16261f;font-size:12.5px}.supervision-group-header span{color:#62716a;font-size:11.5px}.planning-table{font-size:11.5px}.planning-table select{color:#26342f;background:#fff;border:1px solid #d8dfdb;border-radius:6px;padding:5px 7px;font-size:11.5px}.planning-empty-row{text-align:center;color:#89928d;cursor:default}.planning-row-editing{background:#f8fbf9}.planning-row-actions{flex-direction:column;gap:4px;display:flex}.planning-row-actions button{color:#fff;cursor:pointer;background:#174d3b;border:0;border-radius:6px;align-self:flex-start;padding:5px 9px;font-size:11px}.planning-row-actions button.row-action{color:#8a958f;background:0 0;padding:0;font-size:11px}.planning-room-pool-chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.planning-room-chip{color:#29443a;background:#f7f9f7;border:1px solid #d7dfda;border-radius:99px;align-items:center;gap:5px;padding:4px 6px 4px 10px;font-size:11px;display:inline-flex}.planning-room-chip button{color:#8a958f;cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:13px;line-height:1}.planning-room-chip button:hover{color:#b4382b}.planning-room-chip-warning{background:#fdf6e6;border-color:#e0b34c}.planning-service-category{color:#8a958f;margin:2px 0 0;font-size:10.5px}.planning-room-pool-chips select{background:#fff;border:1px solid #d8dfdb;border-radius:6px;padding:5px 7px;font-size:11px}.planning-status-ACTIVE{color:#19704f;background:#e4f4eb}.planning-status-PREPARATION{color:#946516;background:#fff0cf}.planning-status-FROZEN{color:#57625c;background:#e9edeb}@media (width<=900px){.planning-grid{grid-template-columns:1fr}.planning-grid .planning-card:nth-child(3),.planning-grid .planning-card:nth-child(4),.planning-grid .planning-card:nth-child(6){grid-column:auto}}.student-enrollment-drawer{width:min(640px,94vw)}.enrollment-panel{flex-direction:column;height:100%;padding-top:22px;display:flex}.enrollment-panel-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.enrollment-panel-header h2{color:#16261f;margin:0;font-size:15px}.enrollment-status-text{color:#7b8680;margin:8px 0;font-size:13px}.enrollment-counter{text-transform:uppercase;letter-spacing:.05em;color:#33735f;white-space:nowrap;margin:0;font-size:11px;font-weight:700}.enrollment-days{flex-direction:column;gap:14px;margin-bottom:18px;display:flex}.enrollment-day-tabs{flex-wrap:wrap;gap:8px;display:flex}.enrollment-day-tab{cursor:pointer;background:#fff;border:1px solid #d8dfdb;border-radius:10px;flex-direction:column;align-items:center;gap:2px;min-width:72px;padding:8px 12px;display:flex}.enrollment-day-tab:hover:not(:disabled){border-color:#8eaaa0}.enrollment-day-tab-label{color:#26342f;text-transform:uppercase;letter-spacing:.03em;font-size:12px;font-weight:750}.enrollment-day-tab-count{color:#7b8680;font-size:10px;font-weight:650}.enrollment-day-tab.active{background:#174d3b;border-color:#174d3b}.enrollment-day-tab.active .enrollment-day-tab-label,.enrollment-day-tab.active .enrollment-day-tab-count{color:#fff}.enrollment-day-tab.empty,.enrollment-day-tab:disabled{opacity:.45;cursor:default}.enrollment-slot-grid{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.enrollment-slot{color:#26342f;cursor:pointer;background:#fff;border:1px solid #d8dfdb;border-radius:8px;padding:8px 13px;font-size:12.5px}.enrollment-slot:hover{border-color:#8eaaa0}.enrollment-slot.selected{color:#fff;background:#174d3b;border-color:#174d3b;font-weight:700}.enrollment-footer{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--border,#edf0ee);background:#fffffff7;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:10px -22px -24px;padding:14px 22px;display:flex;position:sticky;bottom:0}.enrollment-confirm-button{color:#fff;cursor:pointer;white-space:nowrap;background:#174d3b;border:0;border-radius:10px;padding:12px 26px;font-size:13px;font-weight:700}.enrollment-confirm-button:disabled{opacity:.45;cursor:default}@media (width<=720px){.enrollment-footer{justify-content:center}.enrollment-confirm-button{width:100%}}.enrollment-confirmed{text-align:center}.enrollment-confirmed h2{color:#19704f;margin:0 0 14px}.enrollment-confirmed-item{background:#f2fbf6;border:1px solid #cdeadb;border-radius:10px;flex-direction:column;gap:3px;margin-bottom:10px;padding:14px;display:flex}.enrollment-confirmed-item b{color:#16261f;font-size:18px}.enrollment-confirmed-item span{color:#33463c;font-size:13px}.enrollment-confirmed-item small{color:#7b8680}.enrollment-confirmed button{color:#fff;cursor:pointer;background:#174d3b;border:0;border-radius:10px;margin-top:6px;padding:10px 18px;font-size:12px;font-weight:700}.supervision-context{color:#33463c;margin:0 0 14px;font-size:13px;font-weight:650}.supervision-options{flex-direction:column;gap:8px;margin-bottom:14px;display:flex}.supervision-option{cursor:pointer;background:#fff;border:1px solid #d8dfdb;border-radius:10px;align-items:center;gap:10px;padding:12px 14px;display:flex}.supervision-option input[type=radio]{flex:none;width:auto}.supervision-option.selected{background:#f2fbf6;border-color:#174d3b}.supervision-option.readonly{cursor:default}.supervision-option-check{color:#176b4c;flex:none;font-weight:800}.supervision-option-main{color:#16261f;flex:auto;font-size:13px;font-weight:700}.supervision-option-professor{color:#7b8680;flex:none;font-size:11.5px}.controlled-flow-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.controlled-flow-form{border:1px solid #e7ebe8;border-radius:10px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.controlled-flow-form h3{text-transform:uppercase;letter-spacing:.04em;color:#33735f;margin:0;font-size:12px;font-weight:750}.controlled-flow-form label{text-transform:uppercase;letter-spacing:.05em;color:#75817b;flex-direction:column;gap:4px;font-size:10px;display:flex}.controlled-flow-form select{color:#26342f;background:#fff;border:1px solid #d8dfdb;border-radius:8px;padding:8px 10px;font-size:12px}.controlled-flow-form button{color:#fff;cursor:pointer;background:#174d3b;border:0;border-radius:8px;padding:9px 14px;font-size:12px;font-weight:650}.controlled-flow-form button:disabled{opacity:.45;cursor:default}.controlled-flow-confirmed{color:#19704f;margin:0;font-size:12px;font-weight:700}.controlled-flow-fixed-context{color:#26342f;background:#f1f5f2;border-radius:8px;margin:0;padding:8px 10px;font-size:12px;font-weight:650}@media (width<=720px){.controlled-flow-grid{grid-template-columns:1fr}}.integration-status-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.integration-status-heading h2{margin:0}.integration-status-dot{color:#19704f;font-size:11px;font-weight:650}.integration-status-dot.error{color:#a4443e}.integration-status-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:0 0 12px;display:grid}.integration-status-grid dt{text-transform:uppercase;letter-spacing:.05em;color:#75817b;margin:0 0 4px;font-size:10px}.integration-status-grid dd{color:#26342f;margin:0;font-size:13px;font-weight:650}.row-action-assign{background:var(--mint-50,#f0fbf7);color:var(--brand-800,#33463e);white-space:nowrap;border:1px solid #18a77e47;border-radius:6px;padding:3px 7px;font-size:9px;font-weight:700}.row-action-assign:hover{background:var(--mint-100,#e2e8e4);border-color:#18a77e6b}.patient-assignment-panel{flex-direction:column;gap:14px;height:100%;display:flex}.patient-assignment-current{background:#f6f8f6;border-radius:8px;align-items:center;gap:10px;margin:0;padding:10px 12px;font-size:13px;display:flex}.patient-assignment-search{text-transform:uppercase;letter-spacing:.05em;color:#75817b;flex-direction:column;gap:4px;font-size:10px;display:flex}.patient-assignment-search input{color:#26342f;border:1px solid #d8dfdb;border-radius:8px;padding:10px 12px;font-size:14px}.patient-assignment-results{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.patient-assignment-result{cursor:pointer;text-align:left;background:#fff;border:1px solid #e7ebe8;border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:10px 12px;display:flex}.patient-assignment-result:hover{border-color:#b9c7bf}.patient-assignment-result.selected{background:#eef5f1;border-color:#174d3b}.patient-assignment-result:disabled{opacity:.55;cursor:not-allowed}.patient-assignment-result span{color:#62716a;font-size:12px}.patient-status{text-transform:uppercase;letter-spacing:.04em;color:#19704f;font-size:10px}.patient-status.inactive{color:#b23b3b}.announcement-board-card{grid-column:1/-1}.announcement-board-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.announcement-board-heading h2{margin:0}.announcement-tabs{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.announcement-tab{color:#62716a;cursor:pointer;background:#fff;border:1px solid #e7ebe8;border-radius:99px;padding:5px 11px;font-size:11px;font-weight:650}.announcement-tab:hover{border-color:#b9c7bf}.announcement-tab.selected{color:#fff;background:#174d3b;border-color:#174d3b}.announcement-row-actions{flex:none;gap:6px;display:flex}.announcement-duration-hint{color:#7b8680;margin:-2px 0 0;font-size:11px}.announcement-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.announcement-row{background:#fff;border:1px solid #e7ebe8;border-radius:10px;align-items:center;gap:12px;padding:10px 12px;display:flex}.announcement-row-main{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.announcement-row-main b{color:#1c2b23;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.announcement-row-main small{color:#7b8680;font-size:10.5px}.announcement-row-vigency{color:#7b8680;white-space:nowrap;flex:none;font-size:10.5px}.announcement-priority-badge{flex:none}.announcement-priority-badge.priority-informative{color:#19704f;background:#e4f4eb}.announcement-priority-badge.priority-attention{color:#946516;background:#fff0cf}.announcement-priority-badge.priority-urgent{color:#a4443e;background:#f9e5e3}.announcement-drawer{width:min(520px,94vw)}.drawer-form label{flex-direction:column;gap:4px;display:flex}.drawer-form label>span{text-transform:uppercase;letter-spacing:.03em;color:var(--row-metadata,#75817b);font-size:10.5px;font-weight:650}.drawer-form input,.drawer-form select,.drawer-form textarea{color:#26342f;background:#fff;border:1px solid #d8dfdb;border-radius:8px;padding:8px 10px;font-family:inherit;font-size:12.5px}.drawer-form textarea{resize:vertical}.planning-catalog-empty{flex-direction:column;gap:4px;display:flex}.planning-catalog-empty>span{text-transform:uppercase;letter-spacing:.03em;color:var(--row-metadata,#75817b);font-size:10.5px;font-weight:650}.announcement-target-list{flex-direction:column;gap:6px;max-height:200px;padding:4px 2px;display:flex;overflow-y:auto}.drawer-form label.announcement-target-option{text-transform:none;letter-spacing:normal;color:#26342f;flex-direction:row;align-items:center;gap:8px;font-size:12px;display:flex}.announcement-target-option input{width:auto}.drawer-form label.announcement-active-toggle{flex-direction:row;align-items:center;gap:8px;display:flex}.announcement-active-toggle input{width:auto}@media (width<=900px){.announcement-row{flex-wrap:wrap}.announcement-row-vigency{flex-basis:100%;order:3}}.patients-search{margin-bottom:12px;display:block}.patients-search input{color:#26342f;background:#fff;border:1px solid #d8dfdb;border-radius:8px;width:100%;padding:9px 12px;font-family:inherit;font-size:12.5px}.patients-card .planning-table tbody tr{cursor:pointer}.patients-card .planning-table tbody tr:hover{background:#f7faf9}.patient-technical-id{color:#8a938e;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px}.patient-reused-notice{color:#5c6f65;background:#f0f5f2;border-radius:6px;margin:4px 0 0;padding:6px 9px;font-size:11.5px}.patient-incomplete-badge{text-transform:uppercase;letter-spacing:.03em;color:#8a6d1a;background:#fbf3df;border-radius:6px;margin-top:6px;padding:3px 8px;font-size:10.5px;font-weight:650;display:inline-block}.student-discipline-fieldset{border:none;margin:0;padding:0}.student-discipline-fieldset legend{color:#445048;margin-bottom:4px;padding:0;font-size:12px;font-weight:650}.student-discipline-options{flex-direction:column;gap:6px;margin-top:4px;display:flex}.student-discipline-option{align-items:center;gap:8px;font-size:13px;display:flex}.student-discipline-option input{width:auto}.student-active-toggle{align-items:center;gap:8px;margin-top:6px;font-size:13px;display:flex}.student-active-toggle input{width:auto}.login-page{background:#0b2b22;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:#fff;border-radius:14px;width:100%;max-width:360px;padding:32px 28px;box-shadow:0 24px 60px #00000059}.login-eyebrow{text-transform:uppercase;letter-spacing:.08em;color:#2f7a5e;margin:0 0 4px;font-size:12px;font-weight:650}.login-card h1{color:#16261f;margin:0 0 20px;font-size:22px}.login-card form{flex-direction:column;gap:14px;display:flex}.login-card label{color:#445048;flex-direction:column;gap:4px;font-size:12.5px;display:flex}.login-card input{border:1px solid #d5e2db;border-radius:8px;padding:9px 11px;font-size:14px}.login-card .button{margin-top:6px}.login-error{color:#a3402f;background:#fbeceb;border-radius:6px;margin:0;padding:6px 9px;font-size:12.5px}.login-hint{color:#2f5a48;background:#eaf4ee;border-radius:6px;margin:0 0 14px;padding:8px 10px;font-size:12.5px;line-height:1.4}.login-links{justify-content:space-between;gap:12px;margin:16px 0 0;font-size:12.5px;display:flex}.login-links a{color:#2f7a5e}.intake-page{background:#0b2b22;justify-content:center;align-items:flex-start;min-height:100vh;padding:24px;display:flex}.intake-card{background:#fff;border-radius:14px;width:100%;max-width:640px;margin:24px 0;padding:32px 28px;box-shadow:0 24px 60px #00000059}.intake-card h1{color:#16261f;margin:0 0 20px;font-size:22px}.intake-form{flex-direction:column;gap:22px;display:flex}.intake-form section{flex-direction:column;gap:12px;display:flex}.intake-form h4{text-transform:uppercase;letter-spacing:.06em;color:#2f7a5e;margin:0;font-size:13px;font-weight:650}.intake-form label{color:#445048;flex-direction:column;gap:4px;font-size:12.5px;display:flex}.intake-form input,.intake-form select,.intake-form textarea{border:1px solid #d5e2db;border-radius:8px;padding:9px 11px;font-family:inherit;font-size:14px}.intake-form textarea{resize:vertical}.intake-checkbox{align-items:center;flex-direction:row!important;gap:8px!important}.intake-checkbox input{width:auto}.intake-availability-list{flex-direction:column;gap:10px;display:flex}.intake-availability-row{background:#fafcfb;border:1px solid #e7eeea;border-radius:8px;grid-template-columns:1.2fr .9fr .9fr 1.3fr auto;align-items:end;gap:8px;padding:10px;display:grid}.intake-remove-row{color:#a3402f;cursor:pointer;background:#fff;border:1px solid #d5e2db;border-radius:8px;width:34px;height:34px;font-size:16px;line-height:1}.intake-remove-row:disabled{opacity:.35;cursor:not-allowed}@media (width<=640px){.intake-page{padding:0}.intake-card{max-width:none;min-height:100vh;box-shadow:none;border-radius:0;margin:0}.intake-availability-row{grid-template-columns:1fr 1fr}.intake-availability-row .intake-remove-row{justify-self:end}}.operational-list{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.operational-row{background:#fff;border-bottom:1px solid #e7eeea;align-items:center;column-gap:12px;min-height:49px;padding:5px 9px;font-size:12.2px;display:grid;position:relative}.operational-row:last-child{border-bottom:0}.operational-row[data-zebra="0"]{background:#fffefa}.operational-row[data-zebra="1"]{background:#f8fcfa}.operational-row:hover{background:#edf8f3;border-bottom-color:#cfe7dc}.operational-row strong{font-size:12.5px}.operational-row small,.operational-row span{display:block}.operational-row.row-accent:before{content:"";opacity:.35;background:#bdd8cd;border-radius:0 3px 3px 0;width:1px;transition:background .14s,opacity .14s;position:absolute;top:18%;bottom:18%;left:0}.operational-row.row-accent:hover:before{opacity:.55;background:#4ab78e}.reception-queue-row{grid-template-columns:1.15fr 1.2fr .9fr 1fr}.preceptor-queue-row{grid-template-columns:1.05fr 1.15fr .85fr 1fr 1.25fr .95fr}.row-primary-cell{grid-template-columns:18px minmax(0,1fr);align-items:center;column-gap:4px;display:grid}.row-primary-cell>:not(.row-leading-icon){grid-column:2}.row-leading-icon{color:#0000;opacity:.74;filter:drop-shadow(0 0 3px #22916933);background:linear-gradient(145deg,#d8f6e9 4%,#78bea5 48%,#38876f 100%);justify-self:center;width:14px;height:14px;display:block;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 0 C8.7 4.7 11.3 7.3 16 8 C11.3 8.7 8.7 11.3 8 16 C7.3 11.3 4.7 8.7 0 8 C4.7 7.3 7.3 4.7 8 0 Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 0 C8.7 4.7 11.3 7.3 16 8 C11.3 8.7 8.7 11.3 8 16 C7.3 11.3 4.7 8.7 0 8 C4.7 7.3 7.3 4.7 8 0 Z'/%3E%3C/svg%3E");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.primary-row-value{color:var(--row-primary,#1c2b23);font-weight:680;line-height:1.22;display:block}.operational-row .patient-row-name,.operational-row .primary-row-value{font-size:.84rem}.secondary-row-value{color:var(--row-secondary,#5c6a63);font-size:.72rem;font-weight:540;line-height:1.28;display:block}.row-metadata{line-height:1.28;display:block;color:var(--row-metadata,#8a938e)!important;font-size:.61rem!important;font-weight:500!important}.phone-primary{font-variant-numeric:tabular-nums}.time-slot{align-items:center;gap:7px;display:flex}.day-chip,.queue-label{width:max-content;color:var(--brand-800);background:var(--mint-100);border-radius:5px;padding:3px 6px;font-size:10px;font-weight:850}.discipline-cell,.compatible-cell{min-width:0}.discipline-cell strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.compatible-cell{flex-wrap:wrap;gap:4px;display:flex!important}.info-chip{color:var(--brand-800);background:var(--mint-50);border:1px solid #d4ece2;border-radius:99px;margin:0;padding:5px 9px;font-size:11px}.no-match{color:var(--warning);font-size:12px}.queue-action{justify-content:space-between;align-items:center;gap:7px;display:flex}.button.whatsapp-pill{font-size:11px;min-height:27px!important;padding:4px 7px!important}.button.whatsapp.action-whatsapp{color:#fff;background:linear-gradient(145deg, var(--whatsapp-deep), #08775a);border-color:#054f3a40;width:max-content;min-height:27px;box-shadow:0 4px 12px #065f472e,0 0 12px #18a77e17}.button.whatsapp.action-whatsapp:hover:not(:disabled){color:#fff;background:linear-gradient(145deg, var(--whatsapp-deep-hover), #079169);border-color:#2cab8059;transform:translateY(-1px);box-shadow:0 6px 15px #065f473b,0 0 16px #18a77e26}.queue-metrics{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.queue-metrics span{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;padding:8px 11px;font-size:11.5px}.queue-metrics strong{color:var(--brand-900,#123c2c);margin-left:4px}.queue-switch{gap:7px;margin:14px 0 10px;display:flex}.queue-switch button{color:var(--text-soft);border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:8px;padding:8px 11px;font-size:11.5px;font-weight:750}.queue-switch button.active{color:var(--brand-800);background:var(--mint-50);border-color:#9dd8c2}.semester-origin{flex-direction:column;gap:4px;min-width:210px;display:flex}.semester-origin span{text-transform:uppercase;letter-spacing:.04em;color:var(--row-metadata,#8a938e);font-size:10.5px;font-weight:650}.semester-origin select{min-height:34px;padding:6px 9px;font-size:13px}.filter-grid{background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--radius-sm);grid-template-columns:repeat(6,minmax(115px,1fr));gap:9px;margin-bottom:10px;padding:12px;display:grid}.filter-field{gap:4px;display:grid}.filter-field span{text-transform:uppercase;letter-spacing:.04em;color:var(--text-soft);font-size:10.2px;font-weight:700}.filter-field input,.filter-field select{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:#fff;min-height:34px;padding:6px 9px;font-size:12px}.filter-search,.filter-wide{grid-column:span 2}.filter-actions{justify-content:flex-end;align-items:end;display:flex}.button.compact{min-height:34px}@media (width<=1180px){.filter-grid{grid-template-columns:repeat(4,minmax(110px,1fr))}}@media (width<=900px){.filter-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=780px){.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-search,.filter-wide,.filter-actions{grid-column:1/-1}.filter-actions .button{width:100%}.queue-switch{display:grid}}@media (width<=520px){.filter-grid{grid-template-columns:1fr}}@media (width<=900px){.reception-queue-row,.preceptor-queue-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;min-height:0;padding:13px}.operational-row>div:before{content:attr(data-label);color:var(--text-faint);text-transform:uppercase;margin-bottom:2px;font-size:9.3px;font-weight:800;display:block}.queue-action{grid-column:1/-1;align-items:flex-start}}@media (width<=520px){.reception-queue-row,.preceptor-queue-row{grid-template-columns:minmax(0,1fr)}.operational-row>div{grid-column:1;min-width:0;max-width:100%}.queue-action{flex-wrap:wrap;align-items:center}}.status-badge{width:max-content;color:var(--text-soft);background:#edf2f0;border:1px solid #47695b12;border-radius:99px;align-items:center;gap:5px;padding:3px 7px;font-size:10.5px;font-weight:850;display:inline-flex}.status-badge i{background:currentColor;border-radius:50%;width:5px;height:5px}.status-ATIVO,.status-SIM,.status-FINALIZADO{color:var(--success);background:#e5f7ef;border-color:#13976b1c}.status-PENDENTE{color:var(--warning);background:#fff4d8}.status-ENCERRADO,.status-ALTA,.status-NAO{color:#63716b;background:#edf1ef}.status-TRANSFERIDO{color:var(--info);background:#e7f3f8;border-color:#256a8b1a}.result-count,.active-filter-summary{color:var(--text-faint);margin:9px 2px;font-size:.7rem}.active-filter-summary{color:var(--brand-700)}.people-row{background:#fff;border-bottom:1px solid #e7eeea;align-items:center;column-gap:12px;min-height:46px;padding:5px 9px;font-size:12.2px;display:grid;position:relative}.people-row:last-child{border-bottom:0}.people-row[data-zebra="0"]{background:#fffefa}.people-row[data-zebra="1"]{background:#f8fcfa}.people-row:hover{background:#edf8f3;border-bottom-color:#cfe7dc}.people-row.row-accent:before{content:"";opacity:.35;background:#bdd8cd;border-radius:0 3px 3px 0;width:1px;transition:background .14s,opacity .14s;position:absolute;top:18%;bottom:18%;left:0}.people-row.row-accent:hover:before{opacity:.55;background:#4ab78e}.people-row strong{font-size:12.5px}.people-row small,.people-row span{display:block}.students-list .people-row{grid-template-columns:1.1fr 1.2fr 1.45fr .65fr .55fr}.patient-admin-row{grid-template-columns:1.5fr 1fr .65fr .55fr}.professor-admin-row{grid-template-columns:1.1fr 1.2fr 1.35fr .55fr .65fr .55fr}.students-list .people-row,.professor-admin-row{padding-left:30px}.students-list .people-row:after,.professor-admin-row:after{content:"";opacity:.68;filter:drop-shadow(0 0 3px #22916929);background:linear-gradient(145deg,#d8f6e9 4%,#78bea5 48%,#38876f 100%);width:13px;height:13px;position:absolute;top:50%;left:9px;transform:translateY(-50%);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 0 C8.7 4.7 11.3 7.3 16 8 C11.3 8.7 8.7 11.3 8 16 C7.3 11.3 4.7 8.7 0 8 C4.7 7.3 7.3 4.7 8 0 Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 0 C8.7 4.7 11.3 7.3 16 8 C11.3 8.7 8.7 11.3 8 16 C7.3 11.3 4.7 8.7 0 8 C4.7 7.3 7.3 4.7 8 0 Z'/%3E%3C/svg%3E");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.enrollment-chip{color:var(--brand-800);background:var(--mint-50);border:1px solid #d4ece2;border-radius:99px;margin:0;padding:5px 9px;font-size:11px}.enrollment-chips{flex-wrap:wrap;gap:4px;display:flex}.operational-head{color:#5f766d;letter-spacing:.065em;text-transform:uppercase;background:linear-gradient(#e8f1ed,#e3ede8);border-bottom:1px solid #3b675517;align-items:center;column-gap:12px;min-height:34px;padding:7px 12px;font-size:10.5px;font-weight:800;display:grid}.reception-list .operational-head,.reception-row{grid-template-columns:1.2fr 1.35fr .9fr .76fr .75fr}.reception-row{min-height:48px;padding:5px 10px}.preceptor-assignment-list .operational-head,.preceptor-assignment-row{grid-template-columns:1.05fr 1.55fr .82fr 1.2fr 1.25fr}.preceptor-assignment-row{min-height:49px;padding:4px 9px}.finalization-list .operational-head,.finalization-row{grid-template-columns:1.25fr 1.45fr 1.2fr 1fr}.student-contact,.discipline-cell,.time-slot{min-width:0}.student-contact strong,.discipline-cell strong,.discipline-cell small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.contact-meta{align-items:baseline;gap:7px;display:flex}.assignment-actions,.situation-inline{justify-content:space-between;align-items:center;gap:7px;display:flex}.assignment-actions>div{gap:5px;display:flex}.edit-compact{box-shadow:none!important}.referral-chips{flex-wrap:wrap;gap:4px;display:flex}.overview-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.overview-metrics .metric{min-height:96px;box-shadow:var(--shadow-card);background:#fffffff0;border:1px solid #285b4813;border-radius:10px;grid-template-rows:auto auto auto;grid-template-columns:31px minmax(0,1fr);align-content:center;column-gap:10px;padding:14px 15px;display:grid}.overview-metrics .metric-icon{width:29px;height:29px;color:var(--brand-700);background:linear-gradient(145deg,#e5f7ef,#f4fbf8);border:1px solid #18a77e1f;border-radius:9px;grid-area:1/1/4;align-self:start;place-items:center;font-size:.83rem;display:grid}.overview-metrics .metric>span:not(.metric-icon),.overview-metrics .metric>strong,.overview-metrics .metric>small{grid-column:2}.overview-metrics .metric>span:not(.metric-icon){color:var(--text-soft);overflow-wrap:anywhere;font-size:.7rem}.overview-metrics .metric strong{font-size:1.48rem;font-family:var(--display-font);font-weight:720}.overview-metrics .metric small{color:#74877f;overflow-wrap:anywhere;margin-top:3px;font-size:.61rem}@media (width<=520px){.overview-metrics{gap:8px}.overview-metrics .metric{grid-template-columns:25px minmax(0,1fr);column-gap:7px;min-height:91px;padding:11px}.overview-metrics .metric-icon{border-radius:7px;width:25px;height:25px}}.finalization-cards,.student-progress{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:14px;display:grid}.finalization-card,.student-progress article{background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px}.finalization-card p{color:var(--text-soft);margin:5px 0}.student-progress article{grid-template-columns:1fr auto;gap:3px 10px;display:grid}.student-progress article>span,.student-progress article>small{grid-column:1}.student-progress .status-badge{grid-area:1/2/3}.compact-metrics .metric,.finalization-metrics .metric{min-height:66px;padding:11px 13px}.system-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:14px;display:grid}.system-panel{background:#ffffffd1;border:1px solid #305e4c14;border-radius:11px;min-width:0;padding:18px;box-shadow:0 7px 22px #073b2d09}.system-panel>p{color:var(--text-soft);font-size:.72rem}.system-panel pre{white-space:pre-wrap;word-break:break-word;font-size:11px}.demand-admin-row{grid-template-columns:minmax(0,1fr) 95px 78px}.demand-admin-row small{color:var(--text-faint)}.button.danger{color:var(--danger);background:#fff5f5;border-color:#efc8cb}.advanced-filters{border-top:1px solid var(--border);grid-column:1/-1;padding-top:8px}.advanced-filters summary{color:var(--brand-700);cursor:pointer;font-size:11.5px;font-weight:800}.advanced-filter-grid{grid-template-columns:repeat(5,1fr);gap:9px;padding-top:9px;display:grid}@media (width<=900px){.advanced-filter-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=780px){.advanced-filter-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=520px){.advanced-filter-grid{grid-template-columns:1fr}}.section-heading{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:17px;display:flex}.section-heading p{margin-bottom:3px}.compact-heading{margin-bottom:12px}@media (width<=1180px){.preceptor-assignment-list .operational-head,.preceptor-assignment-row{grid-template-columns:1fr 1.42fr .78fr 1.08fr 1.2fr}}@media (width<=900px){.system-grid{grid-template-columns:1fr}.demand-admin-row{grid-template-columns:repeat(2,minmax(0,1fr))}.demand-admin-row>div:last-child{grid-column:1/-1}.operational-head{display:none}.reception-row,.preceptor-assignment-row,.finalization-row,.patient-admin-row,.professor-admin-row,.students-list .people-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;min-height:0;padding:13px}.reception-row>div:before,.preceptor-assignment-row>div:before,.finalization-row>div:before,.patient-admin-row>div:before,.professor-admin-row>div:before,.students-list .people-row>div:before{content:attr(data-label);color:var(--text-faint);text-transform:uppercase;margin-bottom:2px;font-size:9.3px;font-weight:800;display:block}.assignment-actions,.situation-inline{grid-column:1/-1;align-items:flex-start}.finalization-cards,.student-progress{grid-template-columns:1fr}}@media (width<=520px){.reception-row,.preceptor-assignment-row,.finalization-row,.patient-admin-row,.professor-admin-row,.students-list .people-row{grid-template-columns:minmax(0,1fr)}}.action-toast{z-index:60;border-radius:10px;align-items:center;gap:10px;max-width:min(380px,100vw - 32px);padding:12px 14px;font-size:13px;font-weight:650;animation:.18s ease-out action-toast-in;display:flex;position:fixed;bottom:22px;right:22px;box-shadow:0 10px 30px #042a1e38}@keyframes action-toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.action-toast-success{color:#fff;background:#174d3b}.action-toast-error{color:#7a2117;background:#fdecea;box-shadow:0 10px 30px #042a1e38,inset 0 0 0 1px #f3c6c1}.action-toast-icon{background:#ffffff38;border-radius:50%;flex:none;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;font-weight:800;display:inline-flex}.action-toast-error .action-toast-icon{color:#7a2117;background:#f3c6c1}.action-toast-message{flex:auto;line-height:1.35}.action-toast-dismiss{color:inherit;cursor:pointer;opacity:.75;background:0 0;border:0;flex:none;font-size:15px;line-height:1}.action-toast-dismiss:hover{opacity:1}@media (width<=520px){.action-toast{max-width:none;bottom:16px;left:16px;right:16px}}.attendance-control{border-top:1px dashed #2d5b4929;margin-top:8px;padding-top:8px}.attendance-control-note{color:var(--row-metadata,#82938c);margin:0;font-size:11.5px;font-weight:600}.attendance-control-button{background:var(--brand-500,#18a77e);color:#fff;cursor:pointer;border:none;border-radius:9px;justify-content:center;align-items:center;width:100%;min-height:44px;padding:10px 14px;font-size:13px;font-weight:750;display:flex}.attendance-control-button:disabled{opacity:.6;cursor:default}.attendance-control-status{color:#176b4c;align-items:center;gap:5px;font-size:12px;font-weight:750;display:inline-flex}.attendance-control-live{min-height:0}.attendance-control-error{color:var(--danger,#b53c43);margin:6px 0 0;font-size:11.5px;font-weight:600}.student-row-attendance{grid-column:1/-1}.frequency-summary{color:var(--text-soft);flex-wrap:wrap;align-items:baseline;gap:4px 14px;font-size:12px;display:flex}.frequency-summary strong{color:var(--brand-900);font-size:14px}.frequency-percentage{color:var(--brand-800);margin-left:auto;font-size:15px;font-weight:800}.frequency-filter{color:var(--text-soft);align-items:center;gap:8px;font-size:11.5px;display:flex}.frequency-filter select{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:4px 8px;font-size:12px}.frequency-history{gap:8px;margin:0;padding:0;list-style:none;display:grid}.frequency-history-row{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:8px 10px}.frequency-history-row-main{flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:12px;display:flex}.frequency-history-date{color:var(--text);font-weight:700}.frequency-history-service{color:var(--text-soft)}.frequency-history-status{background:var(--surface-muted);color:var(--text-soft);border-radius:999px;margin-left:auto;padding:2px 8px;font-weight:700}.frequency-status-PRESENT .frequency-history-status,.frequency-status-MANUALLY_CONFIRMED .frequency-history-status{color:var(--success);background:#0878581f}.frequency-status-ABSENT .frequency-history-status{color:var(--danger);background:#b53c431f}.frequency-status-JUSTIFIED_ABSENCE .frequency-history-status{color:var(--warning);background:#9a65001f}.frequency-history-reason{color:var(--text-soft);margin:6px 0 0;font-size:11.5px}.frequency-regularize-form{border-top:1px dashed var(--border);gap:8px;margin-top:8px;padding-top:8px;display:grid}.frequency-regularize-form label{color:var(--text-soft);gap:4px;font-size:11.5px;display:grid}.frequency-regularize-form select,.frequency-regularize-form textarea{border:1px solid var(--border);resize:vertical;border-radius:8px;padding:6px 8px;font-family:inherit;font-size:12.5px}.frequency-regularize-actions{justify-content:flex-end;gap:8px;display:flex}.button.ghost{color:var(--text-soft);background:0 0;border-color:#0000}.button.ghost:hover{color:var(--brand-800);background:var(--surface-muted)}.frequency-correct-button{margin-left:auto}.frequency-regularize-current{color:var(--text-soft);margin:0 0 4px;font-size:12px}.frequency-regularize-current strong{color:var(--text)}.frequency-audit-toggle{color:var(--info);cursor:pointer;background:0 0;border:none;margin-left:8px;padding:0;font-size:11px;font-weight:700;text-decoration:underline}.frequency-audit-list{background:var(--surface-muted);color:var(--text-soft);border-radius:8px;gap:8px;margin:6px 0 0;padding:8px 10px;font-size:11.5px;list-style:none;display:grid}.frequency-audit-list strong{color:var(--text)}.student-profile-back{color:var(--text-soft);margin-bottom:10px;font-size:12.5px;font-weight:700;text-decoration:none;display:inline-block}.student-profile-back:hover{color:var(--brand-800)}.student-profile-card{max-width:900px}.student-profile-tabs{margin-top:4px}@media (width>=720px){.student-profile-overview{grid-template-columns:1fr 1fr}}.drawer-form .drawer-card{background:#fbfdfc;border:1px solid #305e4c1f;border-radius:9px;gap:4px;margin:0 0 7px;padding:7px 10px 8px;display:grid}.drawer-form .drawer-card:last-of-type{border-bottom:1px solid #305e4c1f;padding-bottom:8px}.drawer-form .drawer-card.is-editing:last-of-type{border-bottom-color:#18a77e8c}.drawer-form .drawer-card.is-editing{background:#f4fbf8;border-color:#18a77e8c;box-shadow:0 0 0 2px #18a77e1a}.drawer-card-header{justify-content:space-between;align-items:center;gap:8px;min-height:22px;display:flex}.drawer-card-header h4{padding-bottom:0}.drawer-card-action{align-items:center;gap:6px;display:flex}.drawer-note-text{color:var(--row-primary);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:12.5px}.drawer-note-text.is-empty{color:var(--row-metadata);font-size:11.5px}.drawer-inline-editor{border-top:1px dashed #305e4c2e;gap:6px;margin-top:4px;padding-top:6px;display:grid}.drawer-inline-editor .planning-status-text{margin:0;font-size:11px}.drawer-inline-editor .patient-assignment-search{gap:2px}.drawer-inline-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.drawer-inline-actions .row-action{width:auto;height:auto;color:var(--brand-800,#17513f);background:#fff;border:1px solid #3b675533;border-radius:6px;padding:3px 9px;font-size:11px;font-weight:650}.button-compact.is-primary{background:var(--brand-600,#12805f);color:#fff;border-color:#0000}.button-compact.is-primary:hover:not(:disabled){background:var(--brand-700,#0f6a4f)}.button-compact:disabled{opacity:.5;cursor:default}.drawer-error{z-index:2;margin:0 0 6px;position:sticky;top:0}.billing-section.is-embedded{border-top:0;margin-top:0;padding-top:0}.row-marker-has-note{filter:drop-shadow(0 0 3px #18a77ebf)drop-shadow(0 0 1px #18a77e99)}.row-marker-clickable{cursor:pointer;box-sizing:content-box;background-clip:content-box;outline:none;margin:-4px;padding:4px}.row-marker-clickable:hover,.row-marker-clickable:focus-visible{filter:drop-shadow(0 0 5px #18a77ef2);transform:scale(1.18)}@media (prefers-reduced-motion:reduce){.row-marker-clickable:hover,.row-marker-clickable:focus-visible{transform:none}}.search-scope{background:#fff;border:1px solid #3b67552e;border-radius:8px;align-items:center;min-width:0;margin:0;padding:2px;display:inline-flex}.search-scope button{color:var(--brand-800,#17513f);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:650}.search-scope button.active{background:var(--brand-600,#12805f);color:#fff}.weekly-search-panel{background:#fbfdfc;border:1px solid #3b675529;border-radius:10px;gap:8px;margin:0 0 10px;padding:10px 12px;display:grid}.weekly-nav{color:var(--brand-900,#0f3d2f);justify-content:space-between;align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.weekly-nav button{color:var(--brand-800,#17513f);cursor:pointer;background:#fff;border:1px solid #3b675533;border-radius:6px;padding:3px 9px;font-size:11px;font-weight:650}.weekly-block{gap:6px;display:grid}.weekly-block>strong{letter-spacing:.04em;text-transform:uppercase;color:var(--row-metadata,#5c6a63);font-size:11px}.weekly-groups{gap:6px;max-height:260px;display:grid;overflow:auto}.weekly-group{gap:4px;display:grid}.weekly-group h5{color:var(--brand-900,#0f3d2f);margin:0;font-size:11px;font-weight:800}.weekly-result{text-align:left;cursor:pointer;background:#fff;border:1px solid #3b675524;border-radius:8px;grid-template-columns:minmax(96px,auto) 1fr;grid-template-areas:"when who""when meta";gap:0 12px;padding:5px 9px;display:grid}.weekly-result:hover,.weekly-result.is-active{background:#f1faf6;border-color:#18a77e99}.weekly-result-when{color:var(--row-primary,#1c2a24);grid-area:when;align-self:center;font-size:12px}.weekly-result-who{color:var(--row-primary,#1c2a24);grid-area:who;font-size:12.5px;font-weight:650}.weekly-result-meta{color:var(--row-metadata,#5c6a63);grid-area:meta;font-size:11px}.weekly-empty,.weekly-truncated{color:var(--row-metadata,#5c6a63);margin:0;font-size:11.5px}.academic-occurrences-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.academic-occurrence-list{gap:8px;margin-top:8px;display:grid}.academic-occurrence-card{background:#fbfdfc;border:1px solid #3b675529;border-left-width:4px;border-radius:9px;gap:4px;padding:9px 12px;display:grid}.academic-occurrence-card>header{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.academic-occurrence-card>header time{color:var(--row-metadata,#5c6a63);margin-left:auto;font-size:11.5px}.academic-occurrence-category{color:var(--brand-800,#17513f);letter-spacing:.03em;text-transform:uppercase;background:#eef4f1;border-radius:999px;padding:1px 7px;font-size:10.5px;font-weight:750}.academic-occurrence-warning{border-left-color:#b5424a}.academic-occurrence-warning .academic-occurrence-category{color:#a4443e;background:#fdf1f0}.academic-occurrence-positive-note{border-left-color:#1c8f63}.academic-occurrence-orientation{border-left-color:#b5820d}.academic-occurrence-academic-note,.academic-occurrence-other{border-left-color:#6b7f76}.academic-occurrence-meta{color:var(--row-metadata,#5c6a63);margin:0;font-size:11.5px}.academic-occurrence-description{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:13px}.academic-occurrence-link{color:var(--brand-800,#17513f);margin:0;font-size:11.5px}.academic-occurrence-link.is-corrected{color:#8a5c0c}.academic-occurrence-form{background:#f4fbf8;border:1px solid #18a77e80;border-radius:9px;gap:8px;margin:8px 0;padding:10px 12px;display:grid}.academic-occurrence-form label{gap:3px;font-size:12px;display:grid}.academic-occurrence-form-actions{justify-content:flex-end;gap:6px;display:flex}.supervised-students-section h4{margin:0 0 6px}.supervised-students-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;display:grid}.supervised-student-card,.supervised-overview-card{color:inherit;background:#fbfdfc;border:1px solid #3b675529;border-radius:9px;gap:2px;padding:9px 12px;font-size:12.5px;text-decoration:none;display:grid}.supervised-student-card:hover{background:#f1faf6;border-color:#18a77e99}.supervised-student-card.is-historical{color:var(--row-metadata,#5c6a63);background:#f7f8f7}.supervised-student-card small,.supervised-overview-card small{color:var(--row-metadata,#5c6a63);font-size:11px}.group-member-list{gap:3px;margin:0;padding:0;list-style:none;display:grid}.group-member{border-bottom:1px solid #305e4c14;justify-content:space-between;align-items:center;gap:8px;padding:3px 0;display:flex}.group-member:last-child{border-bottom:0}.group-member-name{font-size:12.5px;font-weight:600}.group-member.is-arrived .group-member-name{color:#176b4c}.drawer.patient-matching-drawer .match-people-cell{gap:2px;display:grid}.drawer.patient-matching-drawer .match-no-student{color:#8a5c0c;font-weight:600}.drawer.patient-matching-drawer .match-confirm-summary{grid-template-columns:1fr;gap:4px;margin:6px 0 10px;display:grid}.drawer.patient-matching-drawer .match-confirm-summary>div{grid-template-columns:120px minmax(0,1fr);align-items:baseline;gap:8px;display:grid}.drawer.patient-matching-drawer .match-confirm-summary dt{color:var(--row-metadata,#5f7a6f);text-transform:uppercase;letter-spacing:.04em;font-size:11.5px;font-weight:700}.drawer.patient-matching-drawer .match-confirm-summary dd{overflow-wrap:anywhere;margin:0;font-weight:600}@media (width<=640px){.drawer.patient-matching-drawer .match-confirm-summary>div{grid-template-columns:1fr;gap:0}}.intake-field-error{color:#b3261e;margin-top:3px;font-size:12.5px;font-weight:600;display:block}.intake-form .intake-input-invalid,.intake-form input[aria-invalid=true]{border-color:#b3261e;outline-color:#b3261e}.intake-restored{margin:4px 0 10px}.drawer.patient-profile-drawer{width:min(760px,94vw);overflow-x:hidden}.patient-profile-drawer .patient-hero{border-bottom:1px solid #305e4c1f;gap:6px;padding:10px 0 12px;display:grid}.patient-hero-name{color:var(--brand-900);overflow-wrap:anywhere;margin:0;font-size:20px;line-height:1.2}.patient-hero-meta,.patient-hero-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.patient-hero-phone{font-size:13px;font-weight:650}.patient-profile .patient-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px;display:grid}.drawer-form section.patient-card{background:#fff;border:1px solid #305e4c1f;border-radius:10px;align-content:start;gap:6px;min-width:0;padding:10px 12px;display:grid}.drawer-form section.patient-card.wide{grid-column:1/-1}.patient-card>label{gap:3px;min-width:0;display:grid}.patient-card>label input{width:100%;min-width:0}.patient-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;display:grid}.pf{gap:1px;min-width:0;display:grid}.pf-label{color:var(--row-metadata);text-transform:uppercase;letter-spacing:.03em;font-size:10.5px;font-weight:650}.pf-value{color:var(--row-primary);overflow-wrap:anywhere;font-size:13px;font-weight:600}.patient-card-quiet{opacity:.9;background:0 0;border-style:dashed}.patient-card details summary{cursor:pointer;list-style:none}.patient-card details summary h4{display:inline}.patient-card details[open] summary{margin-bottom:6px}.patient-system .patient-technical-id{margin:0}.patient-exemption-controls{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.patient-exemption-controls select{flex:140px;min-width:0}.patient-finance-scope{color:var(--row-metadata);font-weight:500}.patient-phone-cell{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.whatsapp-link{white-space:nowrap;text-decoration:none}@media (width<=640px){.drawer.patient-profile-drawer{width:100vw}.patient-profile .patient-cards{grid-template-columns:minmax(0,1fr)}.drawer-form section.patient-card.wide{grid-column:auto}.patient-fields{grid-template-columns:minmax(0,1fr)}}.homologation-banner{z-index:200;color:#fff;letter-spacing:.04em;text-align:center;background:#b45309;padding:4px 12px;font-size:12px;font-weight:800;position:fixed;top:0;left:0;right:0}.homologation-panel{z-index:200;gap:6px;max-width:min(420px,94vw);font-size:12px;display:grid;position:fixed;bottom:12px;right:12px}.homologation-toggle{color:#7c2d12;cursor:pointer;background:#fff7ed;border:1px dashed #b45309;border-radius:999px;justify-self:end;padding:6px 10px;font-weight:700}.homologation-body{background:#fffaf3;border:1px solid #fdba74;border-radius:10px;gap:8px;max-height:70vh;padding:10px;display:grid;overflow-y:auto;box-shadow:0 8px 24px #0000002e}.homologation-note{color:#7c2d12;margin:0}.homologation-row,.homologation-shortcuts{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.homologation-occurrence{border-top:1px solid #fed7aa;gap:4px;padding:6px 0;display:grid}.environment-banner-staging{z-index:250;color:#fff;letter-spacing:.03em;text-align:center;background:#7c2d12;padding:3px 12px;font-size:11px;position:fixed;top:0;left:0;right:0}body.has-environment-banner{padding-top:24px}body.has-environment-banner .homologation-banner{top:24px}.login-tabs{background:#2d5b4914;border-radius:10px;grid-template-columns:1fr 1fr;gap:4px;margin:0 0 12px;padding:3px;display:grid}.login-tabs button{color:#46564e;cursor:pointer;background:0 0;border:0;border-radius:8px;min-height:40px;font-size:14px;font-weight:700}.login-tabs button.active{color:var(--brand-800,#0b674c);background:#fff;box-shadow:0 1px 4px #042a1e1f}.login-success{color:#1d5b43;background:#e8f5ee;border-radius:10px;margin:0 0 12px;padding:10px 12px;font-size:14px}.onboarding-card{gap:12px;width:min(480px,100%);display:grid}.onboarding-hint{color:#46564e;margin:0;font-size:13px}.onboarding-card input:not([type=checkbox]){box-sizing:border-box;border:1px solid #2d5b4947;border-radius:10px;width:100%;min-height:44px;padding:0 12px;font-size:16px}.onboarding-card input[readonly]{color:#5b6b63;background:#f1f4f2;border-style:dashed}.onboarding-card label{gap:4px;font-size:12px;font-weight:600;display:grid}.onboarding-card .onboarding-discipline{align-items:center;gap:10px;min-height:44px;font-size:15px;display:flex}.onboarding-card .onboarding-discipline input{width:22px;height:22px}
