@import"https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700;800&display=swap";.patient-name-input{text-transform:uppercase}.vi-date-calendar{width:36px!important;height:36px!important;font-size:0!important;transition:background .15s,color .15s}.vi-date-calendar:hover{background:#d5efea;color:#075f56}.vi-date-calendar:focus-visible{outline:3px solid rgba(8,125,112,.25);outline-offset:2px}.vi-date-calendar svg{display:block}:root{font-family:Be Vietnam Pro,system-ui,sans-serif;color:#18312f;background:#f4f8f7;font-synthesis:none;--green:#078c7b;--dark:#143e3a;--line:#dce9e6;--muted:#667b78}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;font-size:17px}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2rem,3vw,3.25rem);letter-spacing:-.045em;line-height:1.04}h2{font-size:1.65rem;letter-spacing:-.03em}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.15em;color:#0a9d8a;margin-bottom:.55rem}.muted,small{color:var(--muted)}.login-page,.splash{min-height:100vh;display:grid;place-items:center;padding:32px;background:radial-gradient(circle at 80% 10%,#c8f5ed,transparent 33%),radial-gradient(circle at 10% 90%,#ccecff,transparent 30%),#f7fbfa}.login-card{width:min(620px,100%);background:#fff;border:1px solid rgba(9,140,123,.15);border-radius:30px;padding:48px;box-shadow:0 35px 90px #0f463f24;text-align:center}.brand-lockup{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--dark)}.logo-crop{display:block;width:150px;height:104px;overflow:hidden}.logo-crop img{display:block;width:150px;height:auto;transform:translateY(-2px)}.brand-copy{display:grid;gap:3px;text-align:center}.brand-copy b{font-size:1.08rem}.brand-copy small{font-size:.72rem;color:#496763}.brand-lockup.compact{flex-direction:row;gap:10px;align-items:center}.brand-lockup.compact .logo-crop{width:54px;height:48px}.brand-lockup.compact .logo-crop img{width:62px;transform:translate(-4px,-2px)}.brand-lockup.compact .brand-copy{text-align:left}.brand-lockup.compact .brand-copy b{font-size:.86rem}.brand-lockup.compact .brand-copy small{font-size:.56rem;line-height:1.3}.login-card .muted{line-height:1.7}.form-stack{display:grid;gap:18px;text-align:left;margin-top:28px}.form-stack label,.form-grid label{font-size:.83rem;font-weight:700;color:#3d5552;display:grid;gap:8px}input,select,textarea{width:100%;border:1px solid #ccdcda;border-radius:13px;padding:13px 15px;background:#fff;color:#18312f;outline:none}input:focus,select:focus,textarea:focus{border-color:#1aaf9d;box-shadow:0 0 0 4px #1aaf9d1f}.form-error{color:#ad3030;background:#fff0f0;padding:12px;border-radius:10px}.splash{gap:12px;align-content:center}.splash img{width:220px;height:150px;object-fit:contain}.splash p{font-weight:700;color:var(--green)}.app-shell{min-height:100vh;display:grid;grid-template-columns:285px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:#fafffe;border-right:1px solid var(--line);padding:24px 18px;display:flex;flex-direction:column}.brand{border:0;background:transparent;display:flex;align-items:center;gap:12px;text-align:left;padding:3px 8px 22px;color:var(--dark)}.sidebar nav{display:grid;gap:7px;margin-top:16px}.sidebar nav button{border:0;background:transparent;border-radius:14px;padding:14px 15px;display:flex;align-items:center;gap:13px;color:#526966;font-weight:650;text-align:left;transition:.2s}.sidebar nav button:hover{background:#edf8f6;transform:translate(3px)}.sidebar nav button.active{background:#daf4ef;color:#087e70}.sidebar nav button>span{width:24px;text-align:center;font-size:1.25rem}.sidebar nav em{margin-left:auto;background:#e55d5d;color:#fff;border-radius:99px;padding:2px 8px;font-size:.7rem;font-style:normal}.sidebar-user{margin-top:auto;border-top:1px solid var(--line);padding:20px 5px 2px;display:flex;align-items:center;gap:10px}.sidebar-user .avatar{width:42px;height:42px;border-radius:13px;background:#d9f4ef;color:#087d6f;display:grid;place-items:center;font-weight:800}.sidebar-user>div:nth-child(2){display:grid;flex:1;min-width:0}.sidebar-user b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.82rem}.sidebar-user small{font-size:.68rem}.sidebar-user button{border:0;background:transparent;font-size:1.3rem;color:#78908d}.main{min-width:0;padding:0 42px}.topbar{min-height:132px;display:flex;justify-content:space-between;align-items:center;gap:20px}.topbar h1{font-size:2.3rem;margin-bottom:0}.topbar .eyebrow{margin-bottom:7px}.content{animation:rise .4s ease;padding-top:30px}.hero{border-radius:22px;padding:20px 28px;min-height:112px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(120deg,#d6f8f1,#e7f7fd 60%,#c9edff);overflow:hidden;position:relative}.hero h2{font-size:1.65rem;margin-bottom:6px}.hero p:last-child{color:#53706c;margin:0;font-size:.78rem}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:22px 0}.metric,.panel{background:#fff;border:1px solid var(--line);border-radius:20px}.metric{padding:22px}.metric p{color:#607572;font-size:.77rem;font-weight:700;margin-bottom:12px}.metric strong{display:block;font-size:2rem;line-height:1;color:#153f3a}.metric small{display:block;margin-top:9px;font-size:.69rem}.grid-two{display:grid;grid-template-columns:1.35fr 1fr;gap:20px}.panel{padding:25px;overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px}.panel-head h2{margin-bottom:0}.text-button{border:0;background:transparent;color:#078c7b;font-weight:800}.button{border:1px solid #cbdcda;background:#fff;color:#224945;border-radius:12px;padding:11px 16px;font-weight:750;transition:.2s}.button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 7px 18px #1259501f}.button.primary{background:var(--dark);color:#fff;border-color:var(--dark)}.button.danger{color:#aa3535;background:#fff5f5;border-color:#f0cccc}.button.small{padding:7px 10px;font-size:.73rem}.button.full{width:100%;padding:14px}.button:disabled{opacity:.45;cursor:not-allowed}.quick{display:grid;gap:11px}.quick button{border:1px solid var(--line);background:#fbfefd;border-radius:15px;padding:15px;display:flex;align-items:center;gap:13px;text-align:left;color:#0d8979;font-size:1.3rem}.quick button:hover{border-color:#88d9cd;background:#f0fbf9}.quick span{display:grid;color:#254b47;font-size:.86rem;font-weight:750}.quick small{font-size:.68rem;font-weight:500;margin-top:3px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.82rem}th{text-align:left;color:#778b88;font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;padding:11px;border-bottom:1px solid var(--line)}td{padding:15px 11px;border-bottom:1px solid #edf3f2;vertical-align:middle}td b,td small{display:block}td small{margin-top:4px}.actions{display:flex;gap:7px;flex-wrap:wrap}.status,.role-pill{display:inline-flex;border-radius:99px;padding:6px 10px;font-size:.65rem;font-weight:800;white-space:nowrap;background:#eef3f2;color:#5c706d}.status-active,.status-confirmed,.status-completed{background:#e0f7ec;color:#14754f}.status-submitted,.status-pending_confirmation{background:#fff3d5;color:#90660b}.status-rejected,.status-inactive{background:#ffe8e8;color:#a13d3d}.status-arrived,.status-in_progress{background:#e4efff;color:#2662a0}.role-pill{background:#e5f5f2;color:#087d6f}.mono{font-family:ui-monospace,monospace}.empty{text-align:center;padding:52px 20px;color:#687d79}.empty>span{display:grid;place-items:center;width:55px;height:55px;border-radius:18px;background:#e5f6f3;color:#099380;margin:0 auto 18px;font-size:1.5rem}.empty h3{color:#284945;margin-bottom:8px}.empty p{font-size:.82rem}.setting{display:flex;align-items:center;gap:18px}.setting>span:first-child{font-size:2rem}.setting div{flex:1}.setting h3{margin:0 0 5px}.setting p{margin:0;color:#6b807d;font-size:.78rem}.footnote{font-size:.72rem;color:#6c807d;margin:18px 0 0}.alert{margin:0 0 18px;padding:13px 16px;border-radius:13px;display:flex;justify-content:space-between}.alert.success{background:#ddf7e9;color:#176e4d}.alert.error{background:#ffeded;color:#9f3535}.alert button{border:0;background:transparent;color:inherit;font-size:1.2rem}.loading{min-height:50vh;display:grid;place-items:center;color:#0a8e7d;font-weight:700}.main footer{padding:35px 0;color:#82928f;font-size:.65rem;text-align:center}.patient-name-actions{display:flex;align-items:center;gap:8px;min-width:260px}.patient-name-actions>span{margin-right:auto;font-weight:650}.patient-name-actions .action-menu{flex:none}.modal-backdrop{position:fixed;inset:0;background:#07201d94;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:grid;place-items:center;padding:20px;z-index:10;animation:fade .2s}.modal{background:#fff;border-radius:24px;padding:28px;width:min(650px,100%);max-height:92vh;overflow:auto;box-shadow:0 30px 100px #0000004d}.modal-head{display:flex;justify-content:space-between;align-items:start;gap:16px}.modal-head h2{font-size:2rem}.modal-close-button{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:0;border:1px solid #d8e5e2;background:#edf3f2;color:#315650;border-radius:50%;font:500 1.65rem/1 Arial,sans-serif;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.modal-close-button:hover:not(:disabled){border-color:#9bbcb6;background:#dcebe8;color:#123d36}.modal-close-button:focus-visible{outline:3px solid rgba(8,125,112,.28);outline-offset:2px}.modal-close-button:disabled{cursor:not-allowed;opacity:.45}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-grid .wide{grid-column:1/-1}.modal-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:8px}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}@keyframes fade{0%{opacity:0}}@keyframes pulse{50%{transform:scale(1.06);box-shadow:0 0 0 30px #ffffff1f}}@media(max-width:1250px){.dashboard-kpis{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.dashboard-grid-primary{grid-template-columns:1fr}.dashboard-panel{min-height:auto}}@media(max-width:1100px){.metrics{grid-template-columns:repeat(2,1fr)}.grid-two{grid-template-columns:1fr}.main{padding:0 24px}}@media(max-width:760px){body{font-size:16px}.app-shell{display:block}.sidebar{position:relative;height:auto;padding:14px}.brand{padding-bottom:8px}.brand img{width:48px;height:48px}.sidebar nav{display:flex;overflow-x:auto;margin-top:5px;padding-bottom:5px}.sidebar nav button{white-space:nowrap;padding:10px}.sidebar-user{display:none}.main{padding:0 14px}.topbar{min-height:105px}.topbar .button{padding:10px;font-size:.72rem}.topbar h1{font-size:1.75rem}.hero{padding:28px}.hero h2{font-size:1.8rem}.pulse{display:none}.metrics{grid-template-columns:1fr 1fr;gap:10px}.metric{padding:17px}.panel{padding:18px}.form-grid{grid-template-columns:1fr}.form-grid .wide,.modal-actions{grid-column:auto}.login-card{padding:30px 22px}}.approval-stack{display:grid;gap:20px}.brand-lockup.compact .logo-crop{background:transparent}.brand-lockup.compact .logo-crop img{filter:none;opacity:1}.panel-note{margin:6px 0 0;color:var(--muted);font-size:.75rem;line-height:1.5}.schedule-filters{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;padding:16px;margin-bottom:20px;background:#f4faf8;border:1px solid var(--line);border-radius:16px}.schedule-filters label{display:grid;gap:6px;font-size:.68rem;font-weight:800;color:#536b67;text-transform:uppercase;letter-spacing:.05em}.schedule-filters input,.schedule-filters select{padding:10px 12px;background:#fff;text-transform:none}.schedule-filters label:first-child{grid-column:span 2}.filter-toggles{display:flex;align-items:end;gap:8px;grid-column:span 2}.filter-toggles button{height:42px;padding:0 13px;border:1px solid #c9dcd8;border-radius:11px;background:#fff;color:#536b67;font-size:.72rem;font-weight:800;white-space:nowrap}.filter-toggles button:hover,.filter-toggles button.active{border-color:#12a08e;background:#e5f7f3;color:#087d70}.month-filter-navigation{display:flex;align-items:end;gap:7px;grid-column:span 2}.month-filter-navigation button{min-height:42px;padding:0 11px;border:1px solid #c9dcd8;border-radius:11px;background:#fff;color:#31534e;font:inherit;font-size:.7rem;font-weight:800;white-space:nowrap}.month-filter-navigation button:hover{border-color:#12a08e;background:#e5f7f3;color:#087d70}.schedule-filter-submit{display:flex;align-items:center;justify-content:flex-end;gap:14px;grid-column:1/-1;padding-top:12px;border-top:1px solid #d8e7e3}.schedule-filter-submit small{margin-right:auto;color:#637b76;font-size:.68rem}.schedule-filter-submit .button{min-width:150px;min-height:44px}.schedule-filters input[readonly]{border-color:#d7e5e2;background:#eef5f3;color:#47615c;font-weight:750}.clinical-grid{min-width:1300px}.clinical-grid th{position:sticky;top:0;background:#fff;z-index:1}.clinical-grid td{white-space:nowrap}.clinical-grid td:nth-child(5){white-space:normal;min-width:170px}@media(max-width:760px){.schedule-filters{grid-template-columns:1fr}.schedule-filters label:first-child,.month-filter-navigation,.filter-toggles{grid-column:1}.month-filter-navigation{flex-wrap:wrap}.schedule-filter-submit{align-items:stretch;flex-direction:column}.schedule-filter-submit .button{width:100%}.panel-head{align-items:flex-start}.panel-head>.button{flex:none}}.recent-tools{display:flex;align-items:center;gap:14px}.recent-tools label{display:flex;align-items:center;gap:7px;font-size:.7rem;font-weight:700;color:var(--muted)}.recent-tools select{width:auto;padding:7px 28px 7px 10px}.balance-warning{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:10px;background:#fff0cc;color:#8b5b00;font-size:.7rem;font-weight:800}@media(max-width:760px){.recent-tools{align-items:flex-end;flex-direction:column;gap:6px}.recent-tools label{font-size:.62rem}}.patient-head-tools{display:flex;align-items:center;gap:10px}.patient-head-tools input{width:min(310px,32vw);background:#f8fbfa}.patient-page-size{display:flex;align-items:center;gap:8px;color:#526b67;font-size:.66rem;font-weight:800;text-transform:uppercase;white-space:nowrap}.patient-page-size select{min-width:76px;padding:10px 28px 10px 11px;background-color:#fff}.patient-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:16px 0 2px}.patient-pagination-nav{grid-column:2;display:flex;align-items:center;justify-content:center;gap:14px;color:#617873;font-size:.7rem;font-weight:700}.patient-pagination-nav span{min-width:190px;text-align:center;font-variant-numeric:tabular-nums}.patient-pagination>.patient-page-size{grid-column:3;justify-self:end}.edit-icon{width:34px;height:34px;border:1px solid #bddbd5;border-radius:10px;background:#eaf8f5;color:#087d6f;font-size:1rem;font-weight:800;display:grid;place-items:center;transition:.2s}.edit-icon:hover{background:#087d6f;color:#fff;transform:translateY(-1px)}input[readonly]{background:#eef3f2;color:#71827f;cursor:not-allowed}.table-sort-button{display:inline-flex;align-items:center;gap:6px;padding:5px 7px;border:0;border-radius:7px;background:transparent;color:inherit;font:inherit;font-weight:inherit;white-space:nowrap;cursor:pointer}.table-sort-button span{color:#5b7974;font-size:.82rem}.table-sort-button:hover,.table-sort-button.active{background:#d9efeb;color:#086f63}.table-sort-button:focus-visible{outline:3px solid rgba(8,125,112,.25);outline-offset:1px}@media(max-width:760px){.patient-head{display:grid}.patient-head-tools{width:100%;flex-wrap:wrap}.patient-head-tools input{width:100%;min-width:0}}.matrix-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 16px}.matrix-summary .metric{padding:16px}.matrix-summary .metric strong{font-size:1.55rem}.matrix-legend{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}.matrix-legend>span{padding:5px 9px;border-radius:8px;font-size:.62rem;font-weight:800}.matrix-legend small{margin-left:auto;font-size:.65rem}.legend-pending{background:#fff3d5;color:#90660b}.legend-confirmed{background:#e4efff;color:#2662a0}.legend-arrived{background:#eee7ff;color:#6847a8}.legend-completed{background:#e0f7ec;color:#14754f}.legend-cancelled{background:#ffe8e8;color:#a13d3d}.matrix-wrap{overflow:auto;max-height:65vh;border:1px solid var(--line);border-radius:14px;isolation:isolate}.month-matrix{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}.month-matrix th{position:sticky;top:0;z-index:3;background:#eff9f7;text-align:center;min-width:48px;border-right:1px solid #d9e8e5}.month-matrix th small{display:block;font-size:.53rem;margin-top:3px}.month-matrix td{height:43px;padding:5px 7px;text-align:center;border-right:1px solid #e3edeb}.month-matrix th.sunday-column{background:#f1effb;color:#625797}.month-matrix td.sunday-column{background:#faf9fe}.month-matrix td.sunday-column[class*=cell-]{box-shadow:inset 2px 0 #a39aca,inset -2px 0 #a39aca}.month-matrix .today-column{box-shadow:inset 2px 0 #e09126,inset -2px 0 #e09126}.month-matrix th.today-column{background:#fff0d8;color:#8b5208}.month-matrix .selected-day{box-shadow:inset 2px 0 #087d70,inset -2px 0 #087d70}.month-matrix th.selected-day{background:#d8f3ed;color:#075f55}.day-filter{width:100%;height:100%;padding:6px;border:0;background:transparent;color:inherit;cursor:pointer}.day-filter:hover{background:#dff3ef}.month-matrix .sticky-col{position:sticky;z-index:2;background:#fff;text-align:left}.month-matrix th.sticky-col{z-index:5;background:#e1f4f0}.month-matrix .code-col{left:0;min-width:125px}.month-matrix .name-col{left:125px;min-width:220px}.month-matrix .remaining-col{left:345px;min-width:78px;text-align:center}.month-matrix .diagnosis-col{left:423px;min-width:190px;max-width:190px;white-space:normal;box-shadow:7px 0 12px #1d4d461f}.matrix-cell{padding:3px!important}.matrix-cell button{border:0;width:34px;height:31px;border-radius:8px;background:transparent;color:#34524e;font-weight:800}.matrix-cell button:not(:disabled):hover{outline:2px solid #078c7b;transform:scale(1.05)}.matrix-cell button:disabled{cursor:default}.cell-pending_confirmation button{background:#fff3d5;color:#90660b}.cell-confirmed button{background:#e4efff;color:#2662a0}.cell-arrived button{background:#eee7ff;color:#6847a8}.cell-in_progress button{background:#ffe7cc;color:#97500d}.cell-completed button{background:#dff7ea;color:#14754f}.cell-cancelled button,.cell-no_show button,.cell-rejected button{background:#ffe8e8;color:#a13d3d}.month-matrix .period-remaining{min-width:104px;background:#f2f8f6;color:#185c4a;border-left:2px solid #bddbd4}.month-matrix .period-total{min-width:104px;background:#173f4a!important;color:#fff;font-size:1.05rem;border-left:3px solid #0b3039}.month-matrix td.period-total b{color:#fff}.density-compact .month-matrix td{height:32px;padding-top:2px;padding-bottom:2px}.density-compact .matrix-cell button{width:30px;height:25px;border-radius:6px}.density-compact .month-matrix th{height:38px}.density-compact .month-matrix th small{margin-top:1px}.realtime-line{display:flex;align-items:center;justify-content:flex-end;gap:7px;color:#4e6965;font-size:.7rem;font-weight:700;margin-bottom:10px}.live-dot{width:9px;height:9px;border-radius:50%;background:#19a974;box-shadow:0 0 0 5px #19a9741f;animation:pulse-live 1.8s infinite}.status-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px}.status-summary>div{display:flex;justify-content:space-between;align-items:center;background:#f4f9f8;padding:15px;border-radius:12px}.status-summary span{font-size:.75rem;color:#607773}.status-summary b{font-size:1.25rem;color:#17443e}.patient-bars{display:grid;gap:12px}.patient-bars>div{display:grid;grid-template-columns:minmax(140px,1fr) minmax(100px,1.5fr) 30px;align-items:center;gap:10px;font-size:.68rem}.patient-bars>div>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.patient-bars>div>div{height:8px;background:#e7f0ee;border-radius:99px;overflow:hidden}.patient-bars i{display:block;height:100%;background:linear-gradient(90deg,#08a18d,#5ccfbc);border-radius:99px}.patient-bars b{text-align:right}@keyframes pulse-live{50%{opacity:.45;transform:scale(.85)}}.dashboard-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:18px}.dashboard-heading h2{margin:3px 0 7px;font-size:1.75rem}.dashboard-heading p:last-child{margin:0;color:#6b807d;font-size:.78rem}.dashboard-heading .realtime-line{margin:0 0 4px;white-space:nowrap}.dashboard-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0}.dashboard-kpis article{position:relative;min-height:130px;padding:21px 22px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#fff,#f9fcfb);overflow:hidden}.dashboard-kpis article:after{content:"";position:absolute;right:-22px;bottom:-28px;width:88px;height:88px;border-radius:50%;background:#14978412}.dashboard-kpis span,.dashboard-kpis small{display:block;color:#607572}.dashboard-kpis span{font-size:.74rem;font-weight:750}.dashboard-kpis strong{display:block;margin:12px 0 9px;color:#173f3a;font-size:2rem;line-height:1}.dashboard-kpis small{font-size:.68rem}.dashboard-kpis .kpi-held{border-color:#d8dff2;background:linear-gradient(145deg,#fff,#f6f8ff)}.dashboard-kpis .kpi-available{border-color:#bce4db;background:linear-gradient(145deg,#fff,#effbf8)}.dashboard-kpis .kpi-alert{border-color:#edcbb9;background:linear-gradient(145deg,#fff,#fff7f1)}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.dashboard-grid-primary{grid-template-columns:1.35fr 1fr}.dashboard-panel{min-height:290px}.dashboard-panel .panel-head{align-items:flex-start}.chart-legend{display:flex;gap:14px;color:#657b77;font-size:.67rem}.chart-legend span:before{content:"";display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:3px}.chart-legend .registered:before,.trend-columns .registered{background:#087f71}.chart-legend .used:before,.trend-columns .used{background:#75cfc2}.trend-chart{height:205px;display:grid;grid-template-columns:repeat(6,1fr);align-items:end;gap:15px;padding:10px 6px 0;border-bottom:1px solid #e5eeec;background:repeating-linear-gradient(to top,transparent 0,transparent 49px,#edf3f2 50px)}.trend-month{text-align:center}.trend-columns{height:150px;display:flex;align-items:flex-end;justify-content:center;gap:5px}.trend-columns i{display:block;width:18px;min-height:0;border-radius:5px 5px 1px 1px;transition:height .25s}.trend-month b{display:block;margin-top:8px;font-size:.69rem;color:#405d59}.trend-month small{font-size:.59rem;color:#8a9b98}.completion-rate{display:grid;place-items:center;width:72px;height:72px;border:8px solid #d8f3ed;border-radius:50%;color:#0b7e70;font-size:1.05rem}.completion-rate small{display:block;font-size:.48rem;color:#718783;text-transform:uppercase}.dashboard-bars{display:grid;gap:18px}.dashboard-bars>div{display:grid;grid-template-columns:100px 1fr 30px;align-items:center;gap:12px;font-size:.7rem}.dashboard-bars>div>div{height:9px;border-radius:99px;background:#edf3f2;overflow:hidden}.dashboard-bars i{display:block;height:100%;min-width:3px;border-radius:99px}.dashboard-bars i.success,.balance-distribution i.success{background:#25a982}.dashboard-bars i.info,.balance-distribution i.info{background:#5d95d8}.dashboard-bars i.warning,.balance-distribution i.warning{background:#e5a83e}.dashboard-bars i.danger,.balance-distribution i.danger{background:#db6f65}.dashboard-bars b{text-align:right}.balance-distribution{display:grid;grid-template-columns:1fr 1fr;gap:13px}.balance-distribution>div{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:10px;padding:18px 15px;border:1px solid #e7efed;border-radius:14px;background:#fbfdfd}.balance-distribution i{width:9px;height:36px;border-radius:99px}.balance-distribution span{font-size:.72rem;color:#607572}.balance-distribution b{font-size:.85rem;color:#224945}.attention-count{display:grid;place-items:center;min-width:38px;height:38px;padding:0 10px;border-radius:12px;background:#fff0e8;color:#b75434;font-weight:850}.attention-list{display:grid}.attention-list>div{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px 2px;border-bottom:1px solid #edf3f2}.attention-list span{min-width:0}.attention-list b,.attention-list small{display:block}.attention-list b{font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attention-list small{margin-top:4px;font-size:.62rem}.attention-list strong{white-space:nowrap;padding:6px 9px;border-radius:9px;background:#fff5dc;color:#8a620c;font-size:.69rem}.attention-list strong.empty-balance{background:#ffeded;color:#aa3c35}.dashboard-empty{display:grid;place-items:center;min-height:170px;color:#6b807d;font-size:.77rem}.dashboard-note{margin:2px 0 24px;padding:12px 15px;border-left:3px solid #65bfb1;background:#f2faf8;color:#58716d;font-size:.68rem}@media(max-width:1000px){.matrix-summary{grid-template-columns:1fr 1fr}}@media(max-width:760px){.matrix-summary{grid-template-columns:1fr 1fr}.month-matrix .name-col{min-width:170px;left:105px}.month-matrix .code-col{min-width:105px}.month-matrix .remaining-col{left:275px;min-width:68px}.matrix-wrap{max-height:70vh}.status-summary{grid-template-columns:1fr}}.operation-queue{margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}.operation-tools{display:flex;align-items:center;gap:10px}.daily-capacity{display:grid;grid-template-columns:repeat(7,1fr);gap:9px;margin:0 0 12px}.daily-capacity .metric{padding:13px}.daily-capacity .metric strong{font-size:1.4rem}.daily-capacity .metric:last-child{border-color:#ead8b8}.capacity-alert{margin:0 0 16px;padding:11px 13px;border:1px solid #edcf9f;border-radius:11px;background:#fff8e9;color:#80550d;font-size:.72rem;font-weight:750}.diagnosis-cell{min-width:190px;text-align:left!important;white-space:normal}@media(max-width:1200px){.schedule-filters{grid-template-columns:repeat(2,minmax(180px,1fr))}}.operation-queue .table-wrap table{min-width:1420px}.operation-queue td:nth-child(4),.operation-queue td:nth-child(5),.operation-queue td:nth-child(6){white-space:nowrap}.actions .button{white-space:nowrap}.modal textarea[name=reason]{min-height:90px}.confirmation-modal{width:min(520px,100%)}.confirmation-summary{display:grid;gap:7px;margin:22px 0;padding:16px 18px;border:1px solid #efd4d0;border-radius:14px;background:#fff7f6}.confirmation-summary span{color:#7b6663;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.confirmation-summary strong{color:#3e4f4c;font-size:.92rem}.confirmation-summary p{margin:0;color:#8f4545;font-size:.76rem;line-height:1.6;white-space:pre-wrap}.confirmation-modal .button.danger{background:#a84b3e;color:#fff;border-color:#a84b3e}.confirmation-modal .button.danger:hover:not(:disabled){background:#8f392f}.recurring-toggle{display:flex!important;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#f6fbfa}.recurring-toggle input,.weekday-picker input{width:18px;height:18px}.weekday-picker{display:flex;flex-wrap:wrap;gap:10px 16px;padding:14px;border:1px solid var(--line);border-radius:12px}.weekday-picker legend{padding:0 7px;color:#526b67;font-size:.72rem;font-weight:800}.weekday-picker label{display:flex;align-items:center;gap:6px}html{font-size:18px}body{font-size:19.8px;line-height:1.55;letter-spacing:-.005em}.app-shell{grid-template-columns:330px minmax(0,1fr)}.sidebar nav button{font-size:.9rem}.sidebar-user b{font-size:.82rem}.sidebar-user small{font-size:.7rem}.main{padding:0 36px}.panel{padding:26px}.panel-head h2{font-size:1.55rem}.panel-note{font-size:.82rem}.button{font-size:.8rem}.button.small{padding:8px 11px;font-size:.72rem}table{font-size:.83rem}th{font-size:.68rem}td{padding:14px 11px}.status,.role-pill{font-size:.68rem}.eyebrow{font-size:.7rem}.metric p{font-size:.78rem}.metric small{font-size:.7rem}.schedule-filters label{font-size:.69rem}.schedule-filters input,.schedule-filters select{font-size:.78rem}.matrix-legend>span,.matrix-legend small{font-size:.66rem}.month-matrix th small{font-size:.58rem}.month-matrix td{font-size:.76rem}.matrix-cell button{font-size:.75rem}.daily-timeline,.grouped-list{font-size:.8rem}.patient-table{min-width:1520px}.patient-table th:first-child,.patient-table td:first-child{position:sticky;left:0;z-index:2;min-width:315px;background:#fff;box-shadow:7px 0 14px #19403a14}.patient-table th:first-child{z-index:3;background:#eff9f7}.patient-row-actions{display:flex;align-items:center;gap:7px;white-space:nowrap}.schedule-control{margin-bottom:16px;border:1px solid var(--line);border-radius:15px;background:#f7fbfa;overflow:hidden}.schedule-control>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 16px;color:#31534e;font-size:.76rem;font-weight:800;cursor:pointer;list-style:none}.schedule-control>summary::-webkit-details-marker{display:none}.schedule-control>summary:before{content:"▾";color:#078c7b}.schedule-control:not([open])>summary:before{content:"▸"}.schedule-control>summary span{margin-left:auto;color:#718682;font-size:.68rem;font-weight:650}.schedule-control .schedule-filters{margin:0;border:0;border-top:1px solid var(--line);border-radius:0;background:#f1f8f6}.matrix-summary,.daily-capacity{grid-template-columns:repeat(4,1fr)}.operation-queue{margin-top:18px;padding-top:18px}.operation-queue .panel-head{margin-bottom:14px}@media(max-width:1350px){html{font-size:16.2px}body{font-size:18px}.app-shell{grid-template-columns:290px minmax(0,1fr)}.patient-table th:first-child,.patient-table td:first-child{min-width:285px}.daily-capacity{grid-template-columns:repeat(2,1fr)}}.month-matrix .code-col{left:0;min-width:120px;width:120px}.month-matrix .name-col{left:120px;min-width:220px;width:220px}.month-matrix .birth-col{left:340px;min-width:150px;width:150px;text-align:center}.month-matrix .gender-col{left:490px;min-width:105px;width:105px;text-align:center}.month-matrix .diagnosis-col{left:595px;min-width:220px;max-width:220px;width:220px;box-shadow:none}.month-matrix .registered-col{left:815px;min-width:145px;width:145px;text-align:center}.month-matrix .used-col{left:960px;min-width:135px;width:135px;text-align:center}.month-matrix .available-col{left:1095px;min-width:170px;width:170px;text-align:center;box-shadow:8px 0 14px #1d4d4624}.month-matrix .period-total{position:static;min-width:115px}.month-matrix th.period-total{position:sticky;top:0;z-index:3}.vi-date-picker{position:relative;display:flex;align-items:center}.vi-date-display{width:100%;padding-right:42px!important;font-variant-numeric:tabular-nums}.vi-date-calendar{position:absolute;right:13px;color:#087d70;font-size:1rem}.vi-date-native{position:absolute!important;right:0;top:0;width:44px!important;height:100%;opacity:0;cursor:pointer;padding:0!important}.view-switch{display:flex;gap:4px;padding:4px;border-radius:12px;background:#edf5f3}.view-switch button{border:0;background:transparent;padding:8px 12px;border-radius:9px;color:#58706c;font-weight:800}.view-switch button.active{background:#fff;color:#087d70;box-shadow:0 2px 8px #193f3814}.timeline-toolbar{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:4px 0 14px}.timeline-toolbar label{display:grid;gap:6px;min-width:220px;font-size:.68rem;font-weight:800;color:#536b67;text-transform:uppercase}.timeline-toolbar>span{font-size:.72rem;color:var(--muted);font-weight:700}.timeline-list{display:grid;gap:8px}.timeline-row{display:grid;grid-template-columns:130px minmax(260px,1fr) auto;align-items:center;gap:16px;padding:13px 15px;border:1px solid var(--line);border-left:5px solid #9db6b1;border-radius:12px;background:#fff}.timeline-row time{font-weight:900;font-variant-numeric:tabular-nums}.timeline-row>div{display:grid;gap:4px}.timeline-row small{color:var(--muted)}.free-slot{border-style:dashed;border-left-color:#23a990;background:#f5fcfa}.free-slot b{color:#087d70}.slot-pending_confirmation{border-left-color:#e2ad28;background:#fffbec}.slot-confirmed{border-left-color:#397bd1;background:#f4f8ff}.slot-arrived{border-left-color:#7857ba;background:#faf7ff}.slot-completed{border-left-color:#28a36c;background:#f3fcf7}.slot-cancelled,.slot-no_show,.slot-rejected{border-left-color:#d66767;background:#fff7f7}.timeline-row .timeline-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:170px}.timeline-actions .muted{color:var(--muted)}.patient-combobox{position:relative;display:grid;gap:7px}.patient-combobox>label{font-size:.72rem;font-weight:800;color:#3b5c57}.patient-combobox-input-wrap{position:relative}.patient-combobox-input-wrap input{width:100%;padding-right:48px}.patient-combobox-input-wrap input[readonly]{background:#f1faf8;color:#174d46;cursor:default}.patient-combobox-clear{position:absolute;top:50%;right:9px;transform:translateY(-50%);display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:9px;background:#deece9;color:#315b55;font-size:1.15rem;font-weight:900}.patient-combobox-clear:hover,.patient-combobox-clear:focus-visible{background:#c9e2dd;color:#123f38;outline:2px solid #63bcae;outline-offset:1px}.patient-combobox-options{position:absolute;top:72px;left:0;right:0;z-index:20;max-height:230px;overflow:auto;padding:5px;border:1px solid #bddbd5;border-radius:12px;background:#fff;box-shadow:0 18px 50px #0f403933}.patient-combobox-options button{width:100%;display:grid;grid-template-columns:minmax(90px,112px) minmax(0,1fr);align-items:center;gap:9px;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:#284b46;font-size:.72rem;line-height:1.3;text-align:left}.patient-combobox-options button:hover,.patient-combobox-options button:focus-visible{background:#eaf8f5;outline:none}.patient-combobox-options button b{overflow:hidden;color:#087d70;font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.patient-combobox-options button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-combobox-options p{margin:8px 10px;color:var(--muted);font-size:.7rem}.available-session-field input{border-color:#9ed8cc;background:#edf9f6!important;color:#0b6f62!important;font-size:1rem;font-weight:900!important;cursor:default!important}.available-session-field .balance-warning{margin-top:6px}.patient-combobox-options button{grid-template-columns:minmax(90px,112px) minmax(0,1fr) minmax(84px,104px)}.patient-combobox-options button time{color:#607b77;font-size:.68rem;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}@media(max-width:760px){.timeline-row{grid-template-columns:1fr}.timeline-toolbar{align-items:stretch;flex-direction:column}.patient-combobox-options button{grid-template-columns:minmax(74px,92px) minmax(0,1fr) minmax(76px,92px);gap:6px;padding-inline:7px}}.appointment-list-table{border:0;border-radius:0}.appointment-list-table table{min-width:1420px}.diagnosis-compact{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-overdue{background:#ffe2c7;color:#9b4b00}.overdue-row{background:#fffaf4}.list-actions{min-width:330px;display:flex;flex-wrap:wrap;gap:6px}.grouped-list{display:grid;gap:16px}.list-controls{display:grid;grid-template-columns:minmax(210px,1fr) minmax(180px,.8fr) 150px auto;align-items:end;gap:12px;padding:14px;border:1px solid #dce9e6;border-radius:14px;background:#f7fbfa}.list-controls label{display:grid;gap:6px;color:#526b67;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.list-controls select{padding:10px 12px;background:#fff}.list-controls .check-filter{height:42px;padding:0 13px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #ccdcda;border-radius:11px;background:#fff;text-transform:none;white-space:nowrap}.list-controls .check-filter input{width:16px;height:16px;margin:0}.date-group{overflow:hidden;border:1px solid #dce8e5;border-radius:15px;background:#fff;box-shadow:0 5px 18px #193e3609}.date-group-head{padding:13px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #dce8e5;background:#f4faf8}.date-group-head>div{display:flex;align-items:baseline;gap:8px}.date-group-head b{font-size:.93rem;color:#173f38}.date-group-head small,.date-group-head>span{color:#67807b;font-size:.68rem}.date-group .appointment-list-table{overflow-x:auto}.date-group .appointment-list-table table{width:100%;min-width:1120px;table-layout:fixed}.date-group .appointment-list-table th{padding:10px 12px;color:#6d827e;background:#fbfdfc;font-size:.61rem;letter-spacing:.05em}.date-group .appointment-list-table td{height:54px;padding:10px 12px;font-size:.72rem}.date-group .appointment-list-table th:nth-child(1){width:120px}.date-group .appointment-list-table th:nth-child(2){width:110px}.date-group .appointment-list-table th:nth-child(3){width:115px}.date-group .appointment-list-table th:nth-child(4){width:90px}.date-group .appointment-list-table th:nth-child(5){width:150px}.date-group .appointment-list-table th:nth-child(6){width:70px}.date-group .appointment-list-table th:nth-child(7){width:145px}.date-group .appointment-list-table th:nth-child(8){width:150px}.date-group .appointment-list-table th:nth-child(9){width:155px}.date-group .actions{justify-content:flex-end;flex-wrap:nowrap}.date-group .status{white-space:nowrap}.pagination{display:flex;align-items:center;justify-content:center;gap:14px;padding:4px;color:#617873;font-size:.7rem;font-weight:700}.app-shell{transition:grid-template-columns .2s ease}.sidebar{transition:padding .2s ease}.brand-lockup.compact .logo-crop{width:78px;height:72px;overflow:visible;flex:0 0 78px}.brand-lockup.compact .logo-crop img{width:74px;height:70px;object-fit:contain;transform:none}.brand{min-height:92px;padding-bottom:10px}.sidebar-toggle{width:100%;min-height:38px;border:1px solid #d9e8e5;border-radius:11px;background:#f5faf9;color:#49645f;display:flex;align-items:center;justify-content:center;gap:8px;font-size:.68rem;font-weight:800;cursor:pointer}.sidebar-toggle span{font-size:1.25rem;line-height:1}.sidebar nav button .nav-label{font:inherit}.sidebar-collapsed{grid-template-columns:104px minmax(0,1fr)}.sidebar-collapsed .sidebar{padding-inline:12px}.sidebar-collapsed .brand{justify-content:center;padding-inline:0}.sidebar-collapsed .brand-copy,.sidebar-collapsed .sidebar-toggle b,.sidebar-collapsed .nav-label,.sidebar-collapsed .sidebar-user>div:nth-child(2){display:none}.sidebar-collapsed .brand-lockup.compact .logo-crop{width:76px;flex-basis:76px}.sidebar-collapsed .sidebar nav button{justify-content:center;padding-inline:10px}.sidebar-collapsed .sidebar nav button>span{flex:0 0 28px}.sidebar-collapsed .sidebar nav em{position:absolute;margin:0 0 32px 31px}.sidebar-collapsed .sidebar-user{justify-content:center}.sidebar-collapsed .sidebar-user button{font-size:1rem}.login-card .logo-crop{width:180px;height:150px;overflow:visible}.login-card .logo-crop img{width:180px;height:150px;object-fit:contain;transform:none}.login-system-name{max-width:480px;margin:18px auto 8px;color:#155c52;font-size:.86rem;line-height:1.45;letter-spacing:.075em}.month-matrix th,.month-matrix td{padding-left:5px;padding-right:5px}.month-matrix th{line-height:1.2}.month-matrix td{height:38px}.month-matrix .code-col{left:0;min-width:90px;width:90px}.month-matrix .name-col{left:90px;min-width:165px;width:165px}.month-matrix .birth-col{left:255px;min-width:110px;width:110px}.month-matrix .gender-col{left:365px;min-width:76px;width:76px}.month-matrix .diagnosis-col{left:441px;min-width:150px;max-width:150px;width:150px}.month-matrix .registered-col{left:591px;min-width:118px;width:118px}.month-matrix .available-col{left:709px;min-width:132px;width:132px;box-shadow:7px 0 12px #1d4d4621}.month-matrix th:not(.sticky-col):not(.period-total),.month-matrix td:not(.sticky-col):not(.period-total){min-width:42px}.month-matrix .period-total{min-width:88px}.matrix-cell button{width:31px;min-width:31px;height:28px}.panel-note,.dashboard-note,.dashboard-heading p:last-child,.metric small,.matrix-legend small,.timeline-row small,.date-group-head small,.setting p,.empty p{color:#a65353}.dashboard-note{border-left-color:#e1a0a0;background:#fff3f3}.panel-note{padding:5px 8px;border-radius:7px;background:#fff4f4}@media(max-width:1350px){.sidebar-collapsed{grid-template-columns:96px minmax(0,1fr)}}.sidebar-toggle{margin-top:12px;flex:0 0 auto}.sidebar-collapsed .sidebar-user{margin-top:auto}.overview-recent{display:block}.overview-recent>.panel{width:100%}.overview-recent .table-wrap{max-height:none}.vi-date-picker{min-height:48px;border:1px solid #ccdcda;border-radius:13px;background:#fff;transition:border-color .18s,box-shadow .18s}.vi-date-picker:focus-within{border-color:#1aaf9d;box-shadow:0 0 0 4px #1aaf9d1f}.vi-date-picker .vi-date-display{border:0;box-shadow:none;background:transparent}.vi-date-calendar{z-index:2;display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:9px;background:#e9f7f4;color:#087d70;font-size:.84rem;cursor:pointer}.vi-date-native{right:14px!important;top:50%!important;width:28px!important;height:28px!important;transform:translateY(-50%);opacity:0;pointer-events:none}.time-24-picker{position:relative;display:flex;align-items:center}.time-24-picker select{appearance:none;padding-right:48px;font-variant-numeric:tabular-nums;cursor:pointer}.time-24-picker>span{position:absolute;right:12px;display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#e9f7f4;color:#087d70;pointer-events:none}.form-guidance{margin:0;padding:12px 14px;border:1px solid #efcccc;border-radius:12px;background:#fff4f4;color:#9b4f4f;font-size:.72rem;line-height:1.55}.splash{background:#f7fbfa}.splash p{font-size:.85rem;letter-spacing:.02em}.date-group .appointment-list-table th:nth-child(8){width:145px}.date-group .appointment-list-table th:nth-child(9){width:150px}.date-group .appointment-list-table th:nth-child(10){width:330px}.appointment-list-table.without-actions table{min-width:1080px}.approval-workspace{overflow:visible}.approval-tabs{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:10px;padding:6px;border:1px solid #dce9e6;border-radius:16px;background:#f3f8f7}.approval-tabs button{min-height:54px;padding:10px 14px;border:0;border-radius:12px;background:transparent;color:#526b67;display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:800;text-align:left}.approval-tabs button:hover{background:#fff}.approval-tabs button.active{background:#fff;color:#087d70;box-shadow:0 4px 14px #19403a17}.approval-tabs b{display:grid;place-items:center;min-width:29px;height:29px;padding:0 8px;border-radius:99px;background:#e2efed;color:#49645f;font-size:.7rem}.approval-tabs button.active b{background:#daf4ef;color:#087d70}.approval-content{margin-top:20px;padding-top:20px;border-top:1px solid #e4eeec}.approval-content-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:16px}.approval-content-head h3{margin:0 0 5px;font-size:1.08rem;color:#214b45}.approval-content-head p{margin:0;color:#a65353;font-size:.7rem}.approval-content-head input{max-width:360px}@media(max-width:900px){.approval-tabs{grid-template-columns:1fr}.approval-content-head{align-items:stretch;flex-direction:column}.approval-content-head input{max-width:none}}.audit-filters{display:grid;grid-template-columns:minmax(240px,1.2fr) minmax(150px,.55fr) minmax(180px,.65fr) auto;align-items:center;gap:8px;margin-bottom:12px;padding:10px;border:1px solid #e0ebe9;border-radius:12px;background:#f8fbfa}.audit-filters input,.audit-filters select{min-height:38px;padding:8px 10px}.audit-filter-actions{display:flex;gap:7px}.audit-table{min-width:1450px}.audit-table th:nth-child(1){width:180px}.audit-table th:nth-child(2){width:210px}.audit-table th:nth-child(3){width:150px}.audit-table th:nth-child(4){width:190px}.audit-table th:nth-child(6){width:150px}.audit-table td small{display:block;margin-top:3px}.audit-category{display:inline-flex;padding:6px 9px;border-radius:9px;background:#edf7f5;color:#267267;font-size:.68rem;font-weight:800}.audit-detail{position:relative}.audit-detail summary{color:#087d70;font-weight:800;cursor:pointer}.audit-detail>div{position:absolute;z-index:12;right:0;top:30px;width:520px;max-height:420px;overflow:auto;padding:16px;border:1px solid #d5e4e1;border-radius:14px;background:#fff;box-shadow:0 18px 48px #1437312e}.audit-detail pre{white-space:pre-wrap;word-break:break-word;padding:10px;border-radius:9px;background:#f5f8f7;font-size:.58rem;color:#405a56}.audit-detail small{color:#a65353}.audit-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;padding-top:12px;border-top:1px solid #e3ecea;color:#58716d;font-size:.82rem}.audit-pagination>div{display:flex;align-items:center;gap:10px}.audit-pagination b{min-width:90px;text-align:center;color:#284d47}@media(max-width:1200px){.audit-filters{grid-template-columns:1fr 1fr}}@media(max-width:720px){.audit-filters{grid-template-columns:1fr}.audit-filter-actions>*{flex:1}.audit-pagination{align-items:flex-start;flex-direction:column}.audit-pagination>div{width:100%;justify-content:space-between}}.approval-tabs{grid-template-columns:repeat(2,minmax(180px,1fr))}.legend-planned{background:#e9f0fb;color:#315f95}.legend-progress{background:#fff0d9;color:#97500d}.matrix-cell button{width:38px;min-height:31px;height:auto;padding:2px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}.matrix-cell button span{display:flex;align-items:center;justify-content:center;gap:2px;line-height:1}.matrix-cell button i{font-size:.45rem;font-style:normal;font-weight:900;letter-spacing:-.02em}.matrix-cell .cell-actual{color:#14754f}.matrix-cell .cell-progress{color:#97500d}.matrix-cell .cell-planned{color:#315f95;opacity:.72}.matrix-cell .cell-cancelled-mark{color:#a13d3d;font-size:.9rem}.density-compact .matrix-cell button{width:32px;min-height:25px}.density-compact .matrix-cell button i{font-size:.4rem}.cancellation-review-table{min-width:1320px}.cancellation-review-table th:nth-child(1){width:220px}.cancellation-review-table th:nth-child(2){width:125px}.cancellation-review-table th:nth-child(3){width:250px}.cancellation-review-table th:nth-child(4){width:240px}.cancellation-review-table th:nth-child(5){width:190px}.cancellation-review-table th:nth-child(6){width:175px}.cancellation-review-table .request-type{display:inline-flex;padding:6px 9px;border-radius:9px;background:#fff0e8;color:#a44f34;font-size:.68rem;font-weight:850}.cancellation-review-table .cancellation-reason{white-space:normal;color:#8f4545;font-weight:700}.status-popup-layer{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;pointer-events:none}.status-popup{position:relative;width:min(520px,calc(100vw - 48px));display:grid;grid-template-columns:48px minmax(0,1fr) 34px;align-items:center;gap:14px;padding:20px 18px 22px;border:1px solid;border-radius:20px;background:#fff;box-shadow:0 24px 80px #0f312c3d;overflow:hidden;pointer-events:auto;animation:status-popup-in .22s ease-out}.status-popup.success{border-color:#a8dfcf}.status-popup.error{border-color:#efbcbc}.status-popup-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;font-size:1.25rem;font-weight:900}.status-popup.success .status-popup-icon{background:#ddf7e9;color:#14704e}.status-popup.error .status-popup-icon{background:#ffeded;color:#a93838}.status-popup b{display:block;margin-bottom:5px;color:#214943;font-size:.85rem}.status-popup p{margin:0;color:#526b67;font-size:.76rem;line-height:1.55}.status-popup>button{align-self:start;width:32px;height:32px;padding:0;border:0;border-radius:10px;background:#eef3f2;color:#607572;font-size:1.15rem}.status-popup>button:hover{background:#e2ebe9;color:#264d47}.status-popup-timer{position:absolute;left:0;bottom:0;width:100%;height:4px;transform-origin:left;background:#26a887;animation:status-popup-timer 5s linear forwards}.status-popup.error .status-popup-timer{background:#d86161}@keyframes status-popup-in{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}@keyframes status-popup-timer{to{transform:scaleX(0)}}@media(prefers-reduced-motion:reduce){.status-popup,.status-popup-timer{animation:none}}.overview-operations{margin-top:22px}.overview-operations .daily-capacity{grid-template-columns:repeat(4,minmax(0,1fr))}.schedule-control{overflow:visible;padding:0;border:0;background:transparent}.schedule-control .schedule-filters{display:grid;grid-template-columns:minmax(230px,1.45fr) minmax(175px,.85fr) minmax(175px,.85fr) minmax(165px,.8fr) auto;align-items:end;gap:10px;margin:0 0 16px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#f4faf8}.schedule-control .schedule-filters label:first-child{grid-column:auto}.schedule-filter-button{min-height:44px;white-space:nowrap}.matrix-wrap{overflow-x:auto;overflow-y:visible;max-height:none}.month-matrix .name-col b{font-weight:850;color:#173f3a}.schedule-list{margin-top:18px;padding-top:18px}.schedule-list .appointment-list-table{overflow-x:auto}.sidebar-account-logo{width:46px;height:46px;object-fit:contain;flex:0 0 46px;border-radius:12px;background:#fff}.patient-head .panel-note{display:none}.register-sessions-modal{width:min(480px,100%)}.matrix-viewport-shell{min-width:0}.matrix-scrollbar-top{width:100%;height:18px;margin-bottom:6px;overflow-x:auto;overflow-y:hidden;border-radius:8px;background:#f0f7f5;scrollbar-gutter:stable}.matrix-scrollbar-top>div{height:1px;min-width:100%}.matrix-scrollbar-top::-webkit-scrollbar{height:12px}.matrix-scrollbar-top::-webkit-scrollbar-track{background:#e6f0ee;border-radius:99px}.matrix-scrollbar-top::-webkit-scrollbar-thumb{background:#789b95;border:2px solid #e6f0ee;border-radius:99px}.matrix-scrollbar-top::-webkit-scrollbar-thumb:hover{background:#4f7770}.sidebar-collapsed .sidebar-account-logo{width:50px;height:50px;flex-basis:50px}.timeline-event-times{display:flex!important;flex-wrap:wrap;gap:5px 12px;margin-top:5px;color:#526b67;font-size:.66rem}.timeline-event-times span{white-space:nowrap}.timeline-event-times b{display:inline;color:#244b45;font-size:inherit}.report-filters{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,240px) minmax(200px,280px) auto;align-items:end;gap:12px;margin:18px 0;padding:14px;border:1px solid var(--line);border-radius:15px;background:#f7fbfa}.report-filters label{display:grid;gap:6px;color:#526b67;font-size:.7rem;font-weight:800}.report-filters input,.report-filters select{background:#fff}.report-live-state{align-self:center;display:flex;align-items:center;gap:8px;color:#38635c;font-size:.7rem;font-weight:750}.report-apply{min-height:48px;white-space:nowrap}.top-completed-panel{margin-top:20px}.top-completed-list{display:grid;gap:8px}.top-completed-list>div{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 13px;border:1px solid #e1ece9;border-radius:12px;background:#fbfefd}.top-completed-list>div>span:nth-child(2){display:grid;min-width:0}.top-completed-list b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}.top-completed-list small{margin-top:3px;font-size:.65rem}.top-completed-list strong{color:#087d6f;font-size:.82rem}.top-rank{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#def4ef;color:#087d6f;font-size:.72rem;font-weight:850}@media(max-width:760px){.report-filters{grid-template-columns:1fr}.timeline-event-times{display:grid!important;gap:2px}.top-completed-list>div{grid-template-columns:30px minmax(0,1fr)}.top-completed-list strong{grid-column:2}}.month-matrix th.sunday-column{background:#d8d0f0;color:#473a7a}.month-matrix td.sunday-column{background:#eeeafa}.month-matrix td.sunday-column[class*=cell-]{box-shadow:inset 3px 0 #7667a8,inset -3px 0 #7667a8}.month-matrix th.sunday-column .day-filter:hover{background:#cbc1e8}@media(max-width:1200px){.schedule-control .schedule-filters{grid-template-columns:1fr 1fr}.schedule-filter-button{width:100%}}@media(max-width:760px){.overview-operations .daily-capacity{grid-template-columns:1fr 1fr}.schedule-control .schedule-filters{grid-template-columns:1fr}}.treatment-detail-table{min-width:760px}.treatment-detail-table th:last-child{min-width:300px}.detail-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.detail-actions .muted{font-size:.7rem}.modal:has(.treatment-detail-table){width:min(980px,100%)}.refund-button{border-color:#e6bd83;background:#fff8eb;color:#9a5b08}.refund-button:hover{border-color:#c98220;background:#fff0d4;color:#754200}.refund-sessions-modal{width:min(540px,100%)}.refund-summary{display:grid;gap:6px;margin:20px 0;padding:16px 18px;border:1px solid #efd4a9;border-radius:14px;background:#fff9ee}.refund-summary span{color:#6b7774;font-size:.7rem;font-weight:750}.refund-summary strong{color:#9a5b08;font-size:1.45rem}.refund-summary small{color:#7d6748;font-size:.68rem;line-height:1.55}.refund-confirm{min-width:150px;background:#a84b3e!important;border-color:#a84b3e!important;color:#fff!important}.refund-confirm:hover:not(:disabled){background:#8f392f!important}.schedule-panel{position:relative}.schedule-head-actions{align-items:center}.schedule-help-button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #acd8d1;border-radius:50%;background:#e8f8f5;color:#087d70;font:900 .78rem/1 Georgia,serif;box-shadow:0 4px 12px #1259501a}.schedule-help-button:hover{background:#087d70;color:#fff}.schedule-help-modal{width:min(690px,100%)}.schedule-help-steps{display:grid;gap:10px;margin:22px 0}.schedule-help-steps section{display:grid;grid-template-columns:36px minmax(0,1fr);gap:13px;padding:14px;border:1px solid #dfebe8;border-radius:14px;background:#fbfefd}.schedule-help-steps section>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#daf4ef;color:#087d70;font-size:.76rem;font-weight:900}.schedule-help-steps h3{margin:1px 0 5px;color:#214b45;font-size:.86rem}.schedule-help-steps p{margin:0;color:#58716d;font-size:.72rem;line-height:1.6}.status-arrived,.status-in_progress,.cell-arrived button,.cell-in_progress button{background:#ffe7cc;color:#97500d}.slot-arrived,.slot-in_progress{border-left-color:#d98522;background:#fff8ef}.month-matrix{--matrix-code-width:132px;--matrix-name-width:240px;--matrix-birth-width:112px;--matrix-gender-width:82px;--matrix-diagnosis-width:160px;--matrix-registered-width:124px;--matrix-available-width:140px}.month-matrix .matrix-col-code{width:var(--matrix-code-width)}.month-matrix .matrix-col-name{width:var(--matrix-name-width)}.month-matrix .matrix-col-birth{width:var(--matrix-birth-width)}.month-matrix .matrix-col-gender{width:var(--matrix-gender-width)}.month-matrix .matrix-col-diagnosis{width:var(--matrix-diagnosis-width)}.month-matrix .matrix-col-registered{width:var(--matrix-registered-width)}.month-matrix .matrix-col-available{width:var(--matrix-available-width)}.month-matrix .matrix-col-period{width:42px}.month-matrix .matrix-col-total{width:88px}.month-matrix .sticky-col{background-clip:padding-box;overflow:hidden}.month-matrix .code-col{left:0;width:var(--matrix-code-width);min-width:var(--matrix-code-width);max-width:var(--matrix-code-width);white-space:nowrap}.month-matrix .code-col b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.month-matrix .name-col{left:var(--matrix-code-width);width:var(--matrix-name-width);min-width:var(--matrix-name-width);max-width:var(--matrix-name-width);white-space:nowrap}.month-matrix .name-col b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.month-matrix .birth-col{left:calc(var(--matrix-code-width) + var(--matrix-name-width));width:var(--matrix-birth-width);min-width:var(--matrix-birth-width);max-width:var(--matrix-birth-width)}.month-matrix .gender-col{left:calc(var(--matrix-code-width) + var(--matrix-name-width) + var(--matrix-birth-width));width:var(--matrix-gender-width);min-width:var(--matrix-gender-width);max-width:var(--matrix-gender-width)}.month-matrix .diagnosis-col{left:calc(var(--matrix-code-width) + var(--matrix-name-width) + var(--matrix-birth-width) + var(--matrix-gender-width));width:var(--matrix-diagnosis-width);min-width:var(--matrix-diagnosis-width);max-width:var(--matrix-diagnosis-width)}.month-matrix .registered-col{left:calc(var(--matrix-code-width) + var(--matrix-name-width) + var(--matrix-birth-width) + var(--matrix-gender-width) + var(--matrix-diagnosis-width));width:var(--matrix-registered-width);min-width:var(--matrix-registered-width);max-width:var(--matrix-registered-width)}.month-matrix .available-col{left:calc(var(--matrix-code-width) + var(--matrix-name-width) + var(--matrix-birth-width) + var(--matrix-gender-width) + var(--matrix-diagnosis-width) + var(--matrix-registered-width));width:var(--matrix-available-width);min-width:var(--matrix-available-width);max-width:var(--matrix-available-width);border-right:3px solid #b8d4ce;box-shadow:none}.matrix-wrap,.matrix-scrollbar-top{scroll-behavior:auto!important;scroll-snap-type:none!important;overscroll-behavior-inline:contain;overflow-anchor:none;will-change:scroll-position}.registration-adjustment-card{grid-column:1/-1;display:grid;gap:12px;min-width:0;margin:2px 0 0;padding:16px;border:1px solid #c9e0dc;border-radius:15px;background:#f4faf8}.registration-adjustment-card legend{padding:0 7px;color:#155c52;font-size:.78rem;font-weight:850}.registration-adjustment-card label{display:grid;gap:7px}.registration-adjustment-card input{max-width:240px;background:#fff;font-variant-numeric:tabular-nums}.registration-adjustment-card input[aria-invalid=true]{border-color:#c85c5c;box-shadow:0 0 0 3px #c85c5c1f}.registration-adjustment-card small{color:#607570;font-size:.68rem;line-height:1.55}.registration-adjustment-reason{padding-top:12px;border-top:1px solid #dceae7}.registration-adjustment-reason textarea{background:#fff}@media(max-width:680px){.registration-adjustment-card input{max-width:none}}.session-workspace{display:contents}.weekly-session-backdrop{z-index:50}.weekly-session-dialog .modal-head h2{font-size:1.45rem;line-height:1.35}.weekly-session-dialog>p{font-size:1rem;line-height:1.6;margin:20px 0}.weekly-session-dialog .modal-actions{flex-wrap:wrap}.weekly-session-dialog .button{white-space:normal;min-height:44px}.session-review-bar{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:30;display:flex;align-items:center;gap:16px;width:min(650px,calc(100% - 32px));padding:16px 20px;border:1px solid #b8d3cd;border-radius:16px;background:#fff;box-shadow:0 8px 30px #07201d33}.session-review-bar p{margin:0;font-size:.9rem;line-height:1.5}.session-review-bar .button{flex-shrink:0}.session-workspace[data-session-review] .modal-backdrop{padding-bottom:130px}.session-workspace[data-session-review] .modal{max-height:calc(100dvh - 160px)}@media(max-width:760px){.weekly-session-dialog .modal-actions{flex-direction:column-reverse}.weekly-session-dialog .button{width:100%}.session-review-bar{flex-direction:column;align-items:stretch;gap:10px;bottom:12px;padding:14px}.session-workspace[data-session-review] .modal-backdrop{padding-bottom:170px}.session-workspace[data-session-review] .modal{max-height:calc(100dvh - 200px)}}.audit-filters{display:block;border-radius:6px;background:#f8fbfa;padding:14px}.audit-filter-grid{display:grid;grid-template-columns:minmax(190px,1.3fr) minmax(170px,1fr) minmax(170px,1fr) minmax(135px,.8fr) minmax(135px,.8fr);gap:12px}.audit-filter-grid label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;min-width:0;color:#365b54}.audit-filter-grid input,.audit-filter-grid select{width:100%;min-width:0;min-height:40px;font-size:14px;font-weight:400}.audit-advanced{margin-top:14px}.audit-advanced summary{display:flex;gap:7px;align-items:center;cursor:pointer;font-size:13px;font-weight:600;color:#176a59;padding:6px 0}.audit-advanced[open] .audit-filter-grid{margin:10px 0}.audit-filter-actions{margin-top:12px}.audit-filter-actions .button{display:inline-flex;align-items:center;gap:7px;border-radius:6px}.audit-filter-error{color:#a42d3d;font-size:13px}.audit-count{font-size:13px;color:#52685f;white-space:nowrap}.audit-table{min-width:980px;table-layout:fixed;width:100%}.audit-table th:nth-child(1){width:165px}.audit-table th:nth-child(2){width:175px}.audit-table th:nth-child(3){width:235px}.audit-table th:nth-child(4){width:auto}.audit-table th:nth-child(5){width:108px}.audit-table td{vertical-align:top;overflow-wrap:anywhere;white-space:normal}.audit-table td small{font-size:12px;line-height:1.5;color:#637870}.audit-change-line{font-size:13px;line-height:1.6;white-space:pre-wrap;margin-bottom:3px;max-height:64px;overflow:hidden}.audit-warning,.audit-table td small.audit-warning{color:#94550e;font-size:13px}.audit-open{display:inline-flex;gap:6px;align-items:center;min-height:40px;white-space:nowrap}.audit-open svg{flex-shrink:0}.audit-empty{padding:35px 15px;text-align:center;color:#5c746c}.audit-load-status{font-size:13px;color:#5c746c;margin:8px 0}.audit-results[aria-busy=true] table{opacity:.6}.audit-dialog{position:fixed;inset:0 0 0 auto;width:min(860px,100%);max-width:100%;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;border-left:1px solid #dce8e3;background:#fff;color:#254b41;box-shadow:-12px 0 40px #0f281e1f}.audit-dialog::backdrop{background:#11272059}.audit-dialog[open]{display:flex;flex-direction:column}.audit-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 24px;border-bottom:1px solid #dfebe6;flex-shrink:0}.audit-dialog-head h2{font-size:20px;line-height:1.4;margin:0;overflow-wrap:anywhere}.audit-dialog-head p{font-size:13px;margin:5px 0 0;color:#657b72}.audit-dialog-head button{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border:1px solid #dce8e3;border-radius:6px;background:#fff;cursor:pointer}.audit-dialog-body{padding:20px 24px;overflow:auto;min-height:0}.audit-metadata{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 22px}.audit-metadata dt,.audit-technical dt{font-size:12px;color:#6c8077}.audit-metadata dd,.audit-technical dd{margin:4px 0 0;font-size:14px;overflow-wrap:anywhere}.audit-reason{grid-column:1/-1}.audit-event{padding:18px 0;border-top:1px solid #dce8e3}.audit-event h3{font-size:16px;margin:0 0 4px;overflow-wrap:anywhere}.audit-event h3 span{font-size:13px;font-weight:400;color:#60786d}.audit-event-kind{font-size:12px;color:#62796f;margin:0 0 12px}.audit-diff{width:100%;min-width:0;table-layout:fixed;border-collapse:collapse}.audit-diff th,.audit-diff td{padding:10px;text-align:left;vertical-align:top;border-bottom:1px solid #e3ebe7;font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.audit-diff thead th{background:#f2f6f4}.audit-diff th:first-child{width:26%}.audit-diff tbody th{font-weight:600}.audit-diff td:nth-child(2){color:#715255;background:#fcf9fa}.audit-diff td:nth-child(3){color:#215f4a;background:#f6fbf7}.audit-technical{margin-top:20px;padding-top:18px;border-top:1px solid #dce8e3}.audit-technical summary{cursor:pointer;font-size:13px;padding:8px 0}.audit-technical pre{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;background:#f4f6f5;padding:12px}.audit-technical h4{font-size:13px}.audit-pagination .button{min-width:40px;min-height:40px;display:grid;place-items:center}.audit-pagination b{min-width:60px}@media(max-width:1200px){.audit-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.audit-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-filter-grid label:first-child{grid-column:1/-1}.audit-filter-grid input,.audit-filter-grid select{font-size:16px;min-height:44px}.audit-dialog-head,.audit-dialog-body{padding:16px}.audit-dialog-head h2{font-size:18px}.audit-metadata{grid-template-columns:1fr}.audit-dialog .audit-diff th,.audit-dialog .audit-diff td{padding:7px;font-size:12px}.audit-dialog .audit-diff th:first-child{width:28%}.audit-pagination .button{min-width:44px;min-height:44px}.audit-count{white-space:normal}}
