:root{font-family:Aptos Display,Segoe UI,sans-serif;color:#20312f;background:#f7f2e8;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #20312f;--muted: #687a75;--paper: #fffaf0;--paper-strong: #fff4d8;--green: #25615b;--green-soft: #dcebe5;--gold: #f6c86a;--red: #b94a3f;--red-soft: #f8ded8;--shadow: 0 18px 45px rgba(37, 97, 91, .16)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at top left,rgba(246,200,106,.35),transparent 34rem),linear-gradient(150deg,#f7f2e8,#eaf3ee)}button,input,select{font:inherit}button{border:0;min-height:48px;border-radius:18px;padding:.75rem 1rem;background:#e8eee9;color:var(--ink);font-weight:700}button:disabled{opacity:.5}input,select{width:100%;min-height:52px;border:2px solid #d8ded8;border-radius:16px;padding:.7rem .85rem;background:#fff;color:var(--ink)}label{display:grid;gap:.45rem;font-weight:800}.app-shell{width:min(100%,1280px);margin:0 auto;padding:1rem}.top-bar,.status-bar,.hero-panel,.date-nav,.slot-strip,.cards-section,.backup-actions,.backup-list{border:1px solid rgba(32,49,47,.08);box-shadow:var(--shadow)}.top-bar{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.9rem;border-radius:24px;background:#fffaf0eb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.top-bar div{display:grid;gap:.15rem}.top-bar strong{font-size:1.25rem}.top-bar span,.muted,.empty-note{color:var(--muted)}.top-bar nav{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.1rem}.top-bar nav button.active{background:var(--green);color:#fff}.top-bar nav button{white-space:nowrap}.status-bar{display:flex;flex-wrap:wrap;gap:.5rem;margin:.8rem 0;padding:.7rem;border-radius:22px;background:#fffaf0b3}.status-pill{display:inline-flex;align-items:center;min-height:34px;border-radius:999px;padding:.25rem .75rem;font-weight:800;font-size:.9rem}.status-pill.saved,.status-pill.ready,.success-line{background:var(--green-soft);color:var(--green)}.status-pill.warning,.warning-line{background:var(--paper-strong);color:#875f05}.app-error,.error-line{border-radius:18px;padding:.8rem 1rem;background:var(--red-soft);color:var(--red);font-weight:800}.schedule-page,.backup-page,.windows-page{display:grid;gap:1rem}.panel-card{border:1px solid rgba(32,49,47,.08);border-radius:26px;padding:1rem;background:#fffaf0e6;box-shadow:var(--shadow)}.section-heading{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:.85rem}.section-heading h2,.section-heading h3{margin:0}.section-heading span{color:var(--muted);font-weight:800}.date-command-panel{display:grid;grid-template-columns:minmax(260px,.35fr) minmax(0,1fr);gap:1rem;align-items:end;background:linear-gradient(135deg,var(--green),#348277);color:#fff}.date-command-panel h1{margin:0;font-size:clamp(1.8rem,4vw,3rem);letter-spacing:-.04em}.date-command-row{display:grid;grid-template-columns:minmax(190px,1.25fr) repeat(4,minmax(120px,1fr));gap:.65rem;align-items:end}.daily-workspace{grid-template-rows:auto minmax(300px,1fr)}.schedule-matrix-scroll,.data-table-scroll{overflow:auto;border-radius:20px;border:1px solid rgba(32,49,47,.08);background:#fff}.schedule-matrix{min-width:1800px;width:100%;border-collapse:separate;border-spacing:0}.schedule-matrix th,.schedule-matrix td,.data-table th,.data-table td{border-bottom:1px solid #e3e9e4;border-right:1px solid #e3e9e4;padding:.62rem;vertical-align:top}.schedule-matrix th,.data-table th{position:sticky;top:0;z-index:2;background:#edf6f1;color:var(--green);text-align:left;font-size:.88rem}.schedule-matrix td{min-width:112px;height:64px;background:#fffdf7}.schedule-matrix .sticky-col{position:sticky;left:0;z-index:3;min-width:142px;background:#f5ead0}.busy-cell{background:#eaf5ef!important}.cell-chip{display:flex;flex-direction:column;align-items:flex-start;gap:.28rem;width:100%;min-height:46px;margin:0 0 .35rem;border:1px solid rgba(32,49,47,.12);border-left:4px solid var(--procedure-accent, var(--green));border-radius:12px;padding:.42rem .5rem .42rem .55rem;background:#fffef9;color:#20312f;box-shadow:0 6px 14px #20312f14;font-size:.82rem;text-align:left}.cell-chip-name{display:-webkit-box;overflow:hidden;color:#20312f;font-size:.82rem;font-weight:800;line-height:1.18;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.cell-chip-badges{display:flex;flex-wrap:wrap;gap:.18rem;max-width:100%}.procedure-badge{border:1px solid var(--procedure-color, var(--green));border-radius:999px;padding:.08rem .32rem;background:#fff;background:color-mix(in srgb,var(--procedure-color, var(--green)) 13%,white);color:var(--procedure-color, var(--green));font-size:.58rem;font-weight:900;letter-spacing:.01em;line-height:1.1;white-space:nowrap}.data-table{width:100%;min-width:760px;border-collapse:separate;border-spacing:0}.data-table tbody tr{cursor:pointer}.data-table tbody tr:nth-child(2n) td{background:#fffaf0}.selected-row td{background:var(--green-soft)!important;outline:2px solid rgba(37,97,91,.24);outline-offset:-2px}.command-bar{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:.9rem}.command-bar button{min-width:170px}.new-patient-workspace{grid-template-columns:minmax(420px,.95fr) minmax(360px,.75fr) minmax(320px,.55fr);grid-template-areas:"form slots save" "form sequences save";align-items:start}.patient-form-panel{grid-area:form}.free-slots-panel{grid-area:slots}.sequences-panel{grid-area:sequences}.save-course-panel{grid-area:save;position:sticky;top:96px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.inline-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem}.desired-row{align-self:end;min-height:52px}.procedure-check-panel{margin-top:1rem}.procedure-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.time-button-grid,.sequence-list{display:grid;gap:.55rem}.time-button-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.time-choice,.sequence-option{display:grid;gap:.15rem;align-content:center;text-align:left;border:2px solid #dbe4de;background:#fff}.time-choice.selected,.sequence-option.selected{border-color:var(--green);background:var(--green-soft)}.course-summary,.sequence-preview{display:grid;gap:.55rem;margin-bottom:1rem}.sequence-preview p,.course-summary p{margin:0}.save-button{width:100%}.courses-workspace,.holidays-workspace{grid-template-columns:minmax(0,.95fr) minmax(420px,.75fr);align-items:start}.course-summary-strip{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:.8rem}.course-summary-strip span,.course-summary-strip strong{display:inline-flex;align-items:center;min-height:36px;border-radius:999px;padding:.25rem .75rem;background:var(--green-soft);color:var(--green);font-weight:800}.course-actions button{flex:1 1 185px}.holidays-management-panel{display:grid;gap:.85rem;position:sticky;top:96px}.divider{height:1px;background:#dbe4de}.hero-panel{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.2rem;border-radius:28px;background:linear-gradient(135deg,var(--green),#348277);color:#fff}.hero-panel h1{margin:0;font-size:clamp(1.8rem,6vw,3rem);letter-spacing:-.04em}.eyebrow{margin:0 0 .25rem;color:#ffffffbf;font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem}.primary-button{background:var(--gold);color:#32230c;box-shadow:0 10px 24px #f6c86a47}.ghost-button{background:#eef4ef;color:var(--green)}.danger-button{background:var(--red-soft);color:var(--red)}.date-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;padding:.8rem;border-radius:24px;background:var(--paper)}.date-nav input{grid-column:1 / -1}.slot-strip,.cards-section,.backup-actions,.backup-list{padding:1rem;border-radius:26px;background:#fffaf0e0}.slot-strip h2,.cards-section h2,.backup-list h2{margin:0 0 .75rem}.slot-strip-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.45rem}.mini-slot{border-radius:13px;padding:.45rem .5rem;font-weight:800;text-align:center;background:#edf6f1}.mini-slot.full{background:var(--red-soft)}.patient-card-list{display:grid;gap:.85rem}.patient-card{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(180px,.45fr);gap:.8rem 1rem;padding:1rem;border-radius:24px;background:#fff;border-left:10px solid var(--green)}.patient-card.status-present{border-left-color:#4f8d42}.patient-card.status-absent{border-left-color:var(--red)}.patient-card h3{margin:.2rem 0;font-size:1.5rem}.patient-card p{margin:.2rem 0}.time-chip{display:inline-flex;margin-right:.5rem;border-radius:999px;padding:.25rem .7rem;background:var(--green);color:#fff;font-weight:900}.route-line{color:var(--muted)}.status-row,.card-actions,.dialog-actions,.backup-actions{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.status-row select{max-width:190px}.status-row{align-content:start;justify-content:flex-end}.card-actions button{flex:1}.card-actions{grid-column:1 / -1}.empty-state{display:grid;gap:.4rem;padding:2rem;border-radius:22px;background:#f4f8f4;text-align:center}.dialog-backdrop{position:fixed;inset:0;z-index:20;display:grid;align-items:end;background:#0819177a}.dialog{width:min(96vw,1180px);max-height:88vh;overflow:auto;margin:0 auto;border-radius:30px;padding:1rem;background:var(--paper);box-shadow:0 18px 55px #00000042}.dialog-header{display:flex;justify-content:space-between;gap:1rem;align-items:center;position:sticky;top:0;padding-bottom:.8rem;background:var(--paper);z-index:2}.dialog-header h2{margin:0}.form-stack,.details-panel{display:grid;gap:1rem}.procedure-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.procedure-pill{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.55rem;border:2px solid #dce4dd;border-radius:18px;padding:.7rem;background:#fff}.procedure-pill.selected{border-color:var(--green);background:var(--green-soft)}.procedure-pill input,.checkbox-row input{width:22px;min-height:22px}.checkbox-row{display:flex;align-items:center}.slot-picker{display:grid;gap:.7rem}.slot-button{display:grid;grid-template-columns:90px 1fr;text-align:left;background:#fff;border:2px solid #dbe4de}.slot-button.selected{border-color:var(--green);background:var(--green-soft)}.plan-preview,.appointment-row,.backup-row{border-radius:18px;padding:.8rem;background:#fff}.plan-preview p,.appointment-row p{margin:.3rem 0 0}.appointment-list,.backup-list{display:grid;gap:.7rem}.file-import{display:inline-flex;align-items:center;min-height:52px;border-radius:18px;padding:.75rem 1rem;background:var(--green);color:#fff}.file-import input{display:none}.backup-row{display:grid;gap:.2rem}.backup-row-action{width:100%;border:1px solid rgba(32,49,47,.1);text-align:left;box-shadow:0 2px 10px #20312f0a;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,background .16s ease}.backup-row-action:hover,.backup-row-action:focus-visible{border-color:#25615b73;background:#fffdf8;box-shadow:0 9px 24px #25615b29;transform:translateY(-1px);outline:none}.backup-row-action:active{background:var(--green-soft);transform:translateY(0)}.backup-row-invalid{border-color:#b94a3f47}.backup-row-main{display:flex;justify-content:space-between;gap:.6rem;align-items:center}.restore-pill{display:inline-flex;align-items:center;min-height:30px;border-radius:999px;padding:.2rem .65rem;background:var(--gold);color:#32230c;font-size:.78rem;font-weight:900;line-height:1}.restore-confirmation{display:grid;gap:.85rem}.restore-confirmation p{margin:0;color:var(--ink);font-weight:800}.restore-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin:0}.restore-meta-grid div{border-radius:13px;padding:.65rem;background:#fff;border:1px solid rgba(32,49,47,.08)}.restore-meta-grid dt{margin:0 0 .15rem;color:var(--muted);font-size:.78rem;font-weight:800}.restore-meta-grid dd{margin:0;color:var(--ink);font-weight:900}.restore-actions{justify-content:flex-end}.loading-panel{padding:2rem;text-align:center}.orientation-lock{position:fixed;inset:0;display:grid;place-content:center;gap:1rem;padding:2rem;text-align:center;background:var(--green);color:#fff}.orientation-lock h1{margin:0;font-size:clamp(2rem,7vw,4rem)}@media(orientation:landscape)and (min-width:900px){.dialog-backdrop{align-items:center;padding:1rem}.top-bar{margin-bottom:.8rem}.schedule-page{grid-template-columns:minmax(320px,.38fr) minmax(0,1fr);grid-template-areas:"hero cards" "date cards" "slots cards";align-items:start}.schedule-page>.hero-panel{grid-area:hero;min-height:170px;align-items:stretch;flex-direction:column}.schedule-page>.date-nav{grid-area:date}.schedule-page>.slot-strip{grid-area:slots}.schedule-page>.cards-section{grid-area:cards;min-height:calc(100vh - 128px)}.patient-card-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.slot-strip-grid,.procedure-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.slot-picker{grid-template-columns:repeat(4,minmax(0,1fr))}.slot-picker .plan-preview{grid-column:1 / -1}.backup-page{grid-template-columns:minmax(320px,.45fr) minmax(0,1fr);align-items:start}.backup-page>.hero-panel,.backup-page>.backup-actions,.backup-page>.success-line{grid-column:1}.backup-page>.backup-list{grid-column:2;grid-row:1 / span 3}}@media(orientation:landscape)and (min-width:1180px){.patient-card-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(orientation:landscape)and (max-width:1120px){.date-command-panel,.new-patient-workspace,.courses-workspace,.holidays-workspace{grid-template-columns:1fr 1fr}.date-command-row{grid-template-columns:repeat(3,minmax(0,1fr))}.new-patient-workspace{grid-template-areas:"form save" "slots sequences"}.save-course-panel,.holidays-management-panel{position:static}.procedure-check-grid,.time-button-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.top-bar,.hero-panel{align-items:stretch;flex-direction:column}.slot-strip-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.procedure-grid,.date-nav,.patient-card{grid-template-columns:1fr}.status-row{justify-content:flex-start}}:root{--app-max-width: 1600px;--space-1: .25rem;--space-2: .4rem;--space-3: .6rem;--space-4: .8rem;--space-5: 1rem;--radius-card: 18px;--radius-control: 12px;--control-height: 42px;--soft-shadow: 0 10px 28px rgba(37, 97, 91, .12);--slot-cell-width: 80px;--room-col-width: 124px}html,body,#root{min-height:100%;overflow-x:hidden}.app-shell{width:min(100%,var(--app-max-width));padding:var(--space-3)}.app-shell,.windows-page,.schedule-page,.backup-page,.panel-card,.top-bar,.data-table-scroll,.schedule-matrix-scroll{min-width:0}button{min-height:var(--control-height);border-radius:var(--radius-control);padding:.52rem .72rem;line-height:1.15;cursor:pointer}input,select{min-height:var(--control-height);border-radius:var(--radius-control);padding:.48rem .65rem;line-height:1.2}label{gap:.25rem}.top-bar{display:grid;grid-template-columns:minmax(128px,auto) minmax(0,1fr);gap:.35rem;padding:.28rem .42rem;border-radius:14px;box-shadow:var(--soft-shadow);margin-bottom:.38rem;min-height:0}.brand-block{min-width:128px;gap:0}.top-bar strong{font-size:.88rem;line-height:1.05}.top-bar span{font-size:.67rem;line-height:1.05}.top-bar nav{min-width:0;gap:.24rem;padding:0;align-items:center;scrollbar-width:thin}.top-bar nav button{min-height:30px;padding:.26rem .48rem;border-radius:999px;font-size:.74rem;line-height:1}.backup-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2)}.status-tile{display:grid;gap:.16rem;min-height:58px;border-radius:13px;padding:.46rem .55rem;border:1px solid rgba(32,49,47,.08)}.status-tile strong{font-size:.78rem;color:var(--ink)}.status-tile span{font-size:.74rem;line-height:1.18}.status-tile.saved,.status-tile.ready{background:var(--green-soft);color:var(--green)}.status-tile.warning{background:var(--paper-strong);color:#875f05}.status-bar.embedded-status{display:flex;margin:0;padding:0;border:0;box-shadow:none;background:transparent}.status-pill{min-height:30px;padding:.22rem .58rem;font-size:.78rem}.app-error,.error-line{padding:.55rem .7rem;border-radius:14px;margin-bottom:var(--space-3)}.windows-page,.schedule-page,.backup-page{gap:var(--space-3)}.panel-card,.slot-strip,.cards-section,.backup-actions,.backup-list{border-radius:var(--radius-card);padding:var(--space-3);box-shadow:var(--soft-shadow)}.section-heading{gap:var(--space-3);margin-bottom:var(--space-3)}.section-heading h2{font-size:1.02rem}.section-heading h3,.procedure-check-panel h3,.sequence-preview h3{font-size:.94rem;margin:0 0 var(--space-2)}.section-heading span,.muted,.empty-note{font-size:.78rem}.date-command-panel{grid-template-columns:minmax(210px,.24fr) minmax(0,1fr);gap:var(--space-3);align-items:center;padding:var(--space-3) var(--space-4)}.date-command-panel h1{font-size:clamp(1.15rem,2vw,1.65rem);line-height:1.05}.date-command-panel .eyebrow{margin-bottom:.1rem}.date-command-row{grid-template-columns:minmax(170px,1.1fr) repeat(4,minmax(92px,.8fr));gap:var(--space-2)}.date-command-row button{min-height:38px;padding-inline:.5rem}.daily-workspace{grid-template-rows:auto minmax(360px,1fr)}.patients-menu-anchor{position:relative}.patients-menu-anchor>button{width:100%}.patients-menu-panel{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:18;width:min(1120px,calc(100vw - 2.5rem));max-height:min(74vh,690px);border:1px solid rgba(32,49,47,.14);border-radius:14px;padding:var(--space-2);background:#fffdf8;box-shadow:0 18px 28px #142c2833;color:var(--ink)}.patients-menu-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.patients-menu-header h2{margin:0;font-size:1.05rem}.patients-menu-header span{color:var(--muted);font-size:.82rem;font-weight:700}.patients-menu-close{min-width:40px;width:40px;min-height:40px;padding:0;font-size:1.2rem;line-height:1}.patients-menu-list{display:grid;gap:.75rem;max-height:clamp(330px,58vh,560px);overflow:auto;padding:.05rem .25rem .05rem 0}.patients-menu-card{display:grid;gap:.8rem;padding:.85rem .95rem .9rem;border:1px solid rgba(32,49,47,.1);border-left:5px solid var(--procedure-accent, var(--green));border-radius:16px;background:linear-gradient(180deg,#fff,#f5faff);box-shadow:0 8px 18px #3a5b8517}.patients-menu-card:hover,.patients-menu-card:focus-within{border-color:color-mix(in srgb,var(--procedure-accent, var(--green)) 36%,#d8e6f7);box-shadow:0 12px 24px #3a5b8524}.patients-menu-card-main,.patients-menu-card-details{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.9rem;align-items:start}.patients-menu-card-details{grid-template-columns:minmax(0,1fr) minmax(220px,.52fr);align-items:end}.patients-menu-patient-block,.patients-menu-time-block,.patients-menu-meta{display:grid;gap:.28rem}.patients-menu-time-block{justify-items:end;min-width:150px}.patients-menu-label{color:var(--muted);font-size:.68rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.patients-menu-patient{display:-webkit-box;overflow:hidden;color:var(--ink);font-size:1rem;font-weight:900;line-height:1.25;-webkit-box-orient:vertical;-webkit-line-clamp:2}.patients-menu-time{color:var(--ink);font-size:1.02rem;font-weight:900;white-space:nowrap}.patients-menu-badges{display:flex;flex-wrap:wrap;gap:.38rem;margin-top:.35rem}.patients-menu-badges .procedure-badge{padding:.18rem .5rem;font-size:.74rem;font-weight:900;line-height:1.1}.patients-menu-status{justify-self:start;border:1px solid #d8e6f7;border-radius:999px;padding:.22rem .55rem;background:#eef6ff;color:#315681;font-size:.76rem;font-weight:900}.patients-menu-status.status-present{border-color:#cdebd9;background:#edf9f1;color:#166534}.patients-menu-status.status-absent{border-color:#f6d2dc;background:#fff1f5;color:#9f1239}.patients-menu-sequence{color:var(--muted);font-size:.82rem;font-weight:700;line-height:1.35}.patients-menu-empty{margin:0;padding:1.2rem;border:1px dashed rgba(77,116,161,.28);border-radius:16px;background:#f6fbff;color:var(--muted);font-weight:800}.patient-card-popup{position:fixed;z-index:24;display:grid;gap:.82rem;width:min(430px,calc(100vw - 1rem));max-height:min(78vh,560px);border:1px solid rgba(32,49,47,.16);border-left:5px solid var(--procedure-accent, var(--green));border-radius:18px;padding:1rem;background:#fffdf8;box-shadow:0 16px 28px #12252233;overflow:hidden}.patient-card-popup-header{display:grid;gap:.18rem;min-width:0}.patient-card-popup-eyebrow{color:var(--muted);font-size:.68rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.patient-card-popup-title{margin:0;color:var(--green);font-size:1.12rem;font-weight:900;line-height:1.18;overflow-wrap:anywhere}.patient-card-popup-body{display:grid;gap:.7rem;min-height:0;overflow:auto;padding-right:.15rem;scrollbar-width:thin}.patient-card-popup-section{display:grid;gap:.5rem;min-width:0;border:1px solid rgba(32,49,47,.1);border-radius:14px;padding:.68rem;background:#ffffffb8}.patient-card-popup-section h3{margin:0;color:var(--ink);font-size:.82rem;font-weight:900}.patient-card-popup-details{grid-template-columns:repeat(2,minmax(0,1fr))}.patient-card-popup-info,.patient-card-popup-progress{display:grid;gap:.18rem}.patient-card-popup-info span,.patient-card-popup-progress span{color:var(--muted);font-size:.68rem;font-weight:900;letter-spacing:.03em;text-transform:uppercase}.patient-card-popup-info strong,.patient-card-popup-progress strong{min-width:0;color:var(--ink);font-size:.86rem;font-weight:900;line-height:1.28;overflow-wrap:anywhere}.patient-card-popup-badges{display:flex;flex-wrap:wrap;gap:.38rem}.patient-card-popup-badges .procedure-badge{padding:.16rem .48rem;font-size:.72rem;font-weight:900}.patient-card-popup-route{margin:0;color:var(--muted);font-size:.8rem;font-weight:700;line-height:1.38;overflow-wrap:anywhere}.patient-card-popup-actions{display:flex;justify-content:flex-end;gap:.5rem;border-top:1px solid rgba(32,49,47,.1);padding-top:.72rem}.patient-card-popup-actions button{min-height:44px;min-width:112px;border-radius:14px;padding:.62rem 1rem}.schedule-matrix-scroll,.data-table-scroll{border-radius:14px;scrollbar-width:thin}.schedule-matrix{min-width:calc(var(--room-col-width) + (31 * var(--slot-cell-width)));table-layout:fixed}.schedule-matrix th,.schedule-matrix td,.data-table th,.data-table td{padding:.38rem .42rem;font-size:.78rem;line-height:1.2}.schedule-matrix th:not(.sticky-col),.schedule-matrix td{width:var(--slot-cell-width);min-width:72px;max-width:84px}.schedule-matrix td{height:52px;padding:.25rem}.schedule-matrix .sticky-col{width:var(--room-col-width);min-width:var(--room-col-width);max-width:var(--room-col-width);white-space:normal}.schedule-matrix thead .sticky-col{z-index:4}.cell-chip{min-height:42px;margin-bottom:.22rem;border-radius:10px;padding:.32rem .38rem .32rem .44rem;gap:.2rem}.cell-chip-name{font-size:.72rem;line-height:1.14}.procedure-badge{padding:.06rem .24rem;font-size:.52rem}.treatment-days-panel .data-table-scroll,.courses-list-panel .data-table-scroll,.course-days-panel .data-table-scroll,.holidays-list-panel .data-table-scroll{max-height:clamp(180px,30vh,320px)}.treatment-days-table{min-width:880px}.command-bar{gap:var(--space-2);margin-top:var(--space-3)}.command-bar button{min-width:128px;flex:0 1 auto}.new-patient-workspace{grid-template-columns:minmax(380px,.92fr) minmax(330px,.72fr) minmax(260px,.46fr);gap:var(--space-3)}.form-grid{gap:var(--space-3)}.inline-control{gap:var(--space-2)}.inline-control button{min-width:94px}.desired-row{min-height:var(--control-height)}.procedure-check-panel{margin-top:var(--space-3)}.procedure-check-grid,.procedure-grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:var(--space-2)}.procedure-pill{gap:.38rem;border-radius:13px;padding:.42rem .5rem;min-height:42px;font-size:.82rem}.procedure-pill input,.checkbox-row input{width:18px;min-height:18px}.procedure-pill small{font-size:.68rem;white-space:nowrap}.time-button-grid{grid-template-columns:repeat(auto-fit,minmax(74px,1fr));gap:var(--space-2)}.time-choice,.sequence-option{min-height:42px;border-radius:13px;padding:.42rem .5rem;gap:.08rem}.time-choice strong,.sequence-option strong{font-size:.86rem}.time-choice span,.sequence-option span{font-size:.72rem;line-height:1.15}.free-slots-panel .time-button-grid,.move-dialog-grid .time-button-grid{max-height:228px;overflow:auto;padding-right:.1rem}.sequence-list{gap:var(--space-2)}.sequences-panel .sequence-list,.move-dialog-grid .sequence-list{max-height:260px;overflow:auto;padding-right:.1rem}.course-summary,.sequence-preview{gap:var(--space-2);margin-bottom:var(--space-3)}.course-summary p,.sequence-preview p{font-size:.82rem;line-height:1.25}.save-course-panel{top:68px}.save-course-panel .sequence-preview{max-height:245px;overflow:auto;padding-right:.1rem}.save-button{min-height:44px}.courses-workspace,.holidays-workspace{grid-template-columns:minmax(0,.98fr) minmax(360px,.72fr);gap:var(--space-3)}.course-summary-strip{gap:var(--space-2);margin-bottom:var(--space-3)}.course-summary-strip span,.course-summary-strip strong{min-height:30px;padding:.18rem .55rem;font-size:.78rem}.course-actions button{flex:1 1 150px;min-width:136px}.day-action-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:var(--space-2);align-items:center;margin-bottom:var(--space-3);padding:.42rem;border:1px solid rgba(32,49,47,.08);border-radius:14px;background:#fffdf7}.day-action-toolbar div{display:grid;gap:.08rem;min-width:0}.day-action-toolbar strong{font-size:.8rem}.day-action-toolbar span{color:var(--muted);font-size:.76rem}.day-action-toolbar button{min-width:108px;min-height:34px;padding:.32rem .55rem;font-size:.78rem}.holidays-management-panel{gap:var(--space-3);top:68px}.divider{margin:.1rem 0}.backup-page{grid-template-columns:minmax(280px,.36fr) minmax(0,1fr);align-items:start}.backup-status-card{border:1px solid rgba(32,49,47,.08);border-radius:var(--radius-card);padding:var(--space-3);background:#fffaf0e6;box-shadow:var(--soft-shadow)}.backup-actions{gap:var(--space-2)}.backup-row,.plan-preview,.appointment-row{border-radius:13px;padding:.5rem .6rem}.backup-list{max-height:calc(100vh - 92px);overflow:auto}.hero-panel{min-height:0;padding:var(--space-3);border-radius:var(--radius-card)}.hero-panel h1{font-size:clamp(1.25rem,3vw,1.8rem)}.patient-card{gap:var(--space-2) var(--space-3);padding:var(--space-3);border-radius:var(--radius-card);border-left-width:7px}.patient-card h3{font-size:1.12rem}.status-row,.card-actions,.dialog-actions{gap:var(--space-2)}.dialog{width:min(97vw,1240px);max-height:90vh;border-radius:22px;padding:var(--space-3)}.dialog-header{gap:var(--space-3);padding-bottom:var(--space-3)}.dialog-header h2{font-size:1.15rem}.form-stack,.details-panel,.slot-picker{gap:var(--space-3)}.slot-picker{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.slot-button{grid-template-columns:68px 1fr;min-height:44px;padding:.42rem .5rem}.move-dialog-grid{display:grid;grid-template-columns:minmax(220px,.68fr) minmax(260px,.9fr) minmax(300px,1.05fr);gap:var(--space-3);align-items:start}.move-dialog-grid>.sequence-preview{min-height:0;max-height:330px;overflow:auto;padding:var(--space-3);border-radius:14px;background:#fff}.move-dialog-actions{grid-column:1 / -1;justify-content:flex-end;margin:0}@media(max-width:1400px){:root{--slot-cell-width: 76px;--room-col-width: 116px;--control-height: 40px}.app-shell{padding:.35rem .42rem .45rem}.date-command-panel{grid-template-columns:minmax(170px,.22fr) minmax(0,1fr)}.date-command-row{grid-template-columns:minmax(150px,1fr) repeat(4,minmax(82px,auto))}.date-command-row label{font-size:.78rem}.daily-workspace{grid-template-rows:auto minmax(390px,1fr)}.new-patient-workspace{grid-template-columns:minmax(355px,.9fr) minmax(300px,.72fr) minmax(240px,.44fr)}.section-heading h2{font-size:.96rem}.schedule-matrix th,.schedule-matrix td,.data-table th,.data-table td{font-size:.74rem;padding:.32rem .36rem}}@media(max-width:1180px){.top-bar{grid-template-columns:auto minmax(0,1fr)}.top-bar nav{order:initial}.backup-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.date-command-panel,.new-patient-workspace,.courses-workspace,.holidays-workspace,.backup-page{grid-template-columns:1fr 1fr}.date-command-panel{align-items:stretch}.date-command-row{grid-template-columns:repeat(3,minmax(0,1fr))}.date-command-row label{grid-column:1 / -1}.patients-menu-panel{left:0;right:auto;width:min(960px,calc(100vw - 1.6rem))}.new-patient-workspace{grid-template-areas:"form save" "slots sequences"}.save-course-panel,.holidays-management-panel{position:static}.courses-workspace,.holidays-workspace{grid-template-columns:1fr}.move-dialog-grid{grid-template-columns:1fr 1fr}.move-dialog-grid>.sequence-preview,.move-dialog-actions{grid-column:1 / -1}}@media(max-width:1080px){.top-bar{grid-template-columns:1fr}.top-bar nav{order:3}}@media(max-width:960px){.date-command-panel,.new-patient-workspace,.backup-page{grid-template-columns:1fr}.new-patient-workspace{grid-template-areas:"form" "slots" "sequences" "save"}.move-dialog-grid{grid-template-columns:1fr}.move-dialog-grid>.sequence-preview,.move-dialog-actions{grid-column:auto}.backup-status-grid,.restore-meta-grid,.day-action-toolbar{grid-template-columns:1fr}}:root{color:#17325f;background:#edf6ff;--ink: #17325f;--muted: #607899;--paper: #ffffff;--paper-strong: #edf6ff;--green: #356aa8;--green-soft: #e8f2ff;--gold: #e8759b;--red: #bc3b55;--red-soft: #fde8ee;--medical-border: #d8e6f7;--medical-border-strong: #b8d1f0;--medical-card: rgba(255, 255, 255, .92);--medical-card-strong: #ffffff;--medical-blue-panel: #dcecff;--medical-blue-soft: #eff7ff;--medical-rose: #df7498;--medical-rose-soft: #fff0f5;--shadow: 0 18px 46px rgba(65, 99, 148, .16);--soft-shadow: 0 12px 32px rgba(65, 99, 148, .12);--radius-card: 22px;--radius-control: 14px;--control-height: 46px;--slot-cell-width: 140px;--room-col-width: 170px}body{background:linear-gradient(145deg,#f7fbff,#e5f2ff 46%,#edf6ff);color:var(--ink)}button,.file-import{border:1px solid var(--medical-border);background:linear-gradient(180deg,#f9fcff,#eef5ff);color:var(--ink);box-shadow:0 7px 16px #4a6fa01a;transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease,transform .14s ease}button:hover,.file-import:hover{border-color:var(--medical-border-strong);box-shadow:0 10px 20px #4a6fa024;transform:translateY(-1px)}button:active,.file-import:active{transform:translateY(0)}input,select{border:1px solid var(--medical-border);background:#fff;color:var(--ink);box-shadow:inset 0 1px #ffffffdb}input:focus,select:focus,button:focus-visible,.file-import:focus-within{outline:3px solid rgba(118,164,224,.26);outline-offset:2px}.app-shell{width:min(100%,var(--app-max-width));padding:.65rem .75rem .85rem}.top-bar{position:sticky;top:.2rem;z-index:8;display:grid;grid-template-columns:minmax(210px,auto) minmax(0,1fr);gap:.75rem;align-items:center;min-height:58px;margin:0 0 .55rem;padding:.42rem .65rem;border:1px solid var(--medical-border);border-radius:18px;background:#ffffffe0;box-shadow:0 10px 26px #3a5b851a;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand-block{display:grid;grid-template-columns:38px minmax(0,auto);gap:.5rem;align-items:center;min-width:0}.top-bar .brand-mark{display:grid;place-items:center;width:36px;height:44px;color:#4f7fbd}.brand-mark svg{width:32px;height:42px;overflow:visible}.brand-mark path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4}.brand-mark circle{fill:#e980a4;stroke:#fff;stroke-width:1.6}.brand-copy{display:grid;gap:.03rem;min-width:0}.top-bar strong{color:var(--ink);font-size:clamp(1rem,1.55vw,1.22rem);font-weight:800;line-height:1.05}.top-bar span{color:var(--muted)}.brand-copy span{font-size:.78rem;line-height:1.05}.top-bar nav,.top-nav{display:flex;justify-content:flex-start;gap:.45rem;min-width:0;overflow-x:auto;padding:.04rem .08rem;scrollbar-width:thin}.top-bar nav button{min-width:118px;min-height:40px;padding:.46rem .78rem;border-radius:13px;border-color:#d8e6f7b3;background:#f3f8ffc7;color:var(--ink);font-size:.88rem;font-weight:700;box-shadow:0 5px 12px #5f82b214}.top-bar nav button.active{border-color:#f2cfda;background:linear-gradient(180deg,#fff3f7,#fae9ef);color:#17325f;box-shadow:0 6px 14px #cc749321}.panel-card,.slot-strip,.cards-section,.backup-actions,.backup-list,.backup-status-card,.hero-panel,.data-table-scroll,.schedule-matrix-scroll{border:1px solid var(--medical-border);background:var(--medical-card);box-shadow:var(--soft-shadow)}.panel-card,.backup-actions,.backup-list,.backup-status-card,.hero-panel{border-radius:var(--radius-card)}.windows-page,.schedule-page,.backup-page{gap:.8rem}.hero-panel{color:var(--ink)}.hero-panel h1,.date-command-panel h1,.eyebrow,.procedure-badge{letter-spacing:0}.eyebrow{color:#4f6f9c;font-size:.78rem;font-weight:900;text-transform:uppercase}.primary-button{border-color:#eaa8bc;background:linear-gradient(180deg,#eb86a6,#df6f94);color:#fff;box-shadow:0 12px 24px #dd6f9438}.ghost-button{background:#f2f7ff;color:var(--ink)}.danger-button{border-color:#f0c2cc;background:var(--red-soft);color:var(--red)}.success-line,.selected-row td,.time-choice.selected,.sequence-option.selected,.procedure-pill.selected,.slot-button.selected,.status-tile.saved,.status-tile.ready{background:var(--green-soft)!important;color:var(--green)}.date-command-panel{display:grid;grid-template-columns:minmax(355px,.42fr) minmax(0,1fr);gap:1.25rem;align-items:center;min-height:118px;padding:1.15rem 1.45rem;border-color:#aecaef;background:linear-gradient(180deg,#ecf7fff0,#dbecfff0),#dcecff;color:var(--ink)}.date-panel-title{display:grid;grid-template-columns:66px minmax(0,1fr);gap:1rem;align-items:center;min-width:0}.date-panel-icon,.section-icon{display:grid;place-items:center;flex:0 0 auto;border-radius:999px}.date-panel-icon{width:56px;height:56px;background:#5d83bd;color:#fff;box-shadow:inset 0 1px #ffffff38,0 9px 18px #43689d2e}.date-panel-icon svg,.date-input-icon svg,.patients-button-icon svg,.section-icon svg,.section-metric svg,.room-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.date-panel-copy{min-width:0}.date-panel-copy h1{max-width:100%;overflow:hidden;color:var(--ink);font-size:clamp(1.28rem,2.2vw,1.82rem);line-height:1.12;text-overflow:ellipsis;white-space:nowrap}.date-command-row{display:grid;grid-template-columns:minmax(230px,.42fr) minmax(0,1fr);gap:1rem;align-items:end}.date-picker-field{color:#4f6f9c;font-size:.78rem;font-weight:900;text-transform:uppercase}.date-input-shell{position:relative;display:block}.display-date-input{position:relative;display:block;width:100%}.display-date-input input{position:relative;z-index:1;color:transparent;caret-color:transparent}.display-date-input input::-webkit-datetime-edit,.display-date-input input::-webkit-datetime-edit-fields-wrapper,.display-date-input input::-webkit-datetime-edit-text,.display-date-input input::-webkit-datetime-edit-day-field,.display-date-input input::-webkit-datetime-edit-month-field,.display-date-input input::-webkit-datetime-edit-year-field{color:transparent}.display-date-input-value{position:absolute;left:.7rem;right:2.35rem;top:50%;z-index:2;overflow:hidden;color:var(--ink);font-weight:800;line-height:1;pointer-events:none;text-overflow:ellipsis;white-space:nowrap;transform:translateY(-50%)}.date-input-icon{position:absolute;left:.8rem;top:50%;z-index:1;display:grid;place-items:center;width:22px;height:22px;color:#4775b6;pointer-events:none;transform:translateY(-50%)}.date-input-shell input{min-height:56px;padding-left:3rem;border-radius:16px;border-color:#cee1f7;color:var(--ink);font-size:1rem;box-shadow:0 8px 18px #5179ae1f}.date-input-shell .display-date-input-value{left:3rem}.date-action-group{display:grid;grid-template-columns:minmax(82px,.46fr) minmax(168px,.9fr) minmax(168px,.9fr) minmax(138px,.72fr);gap:.75rem;align-items:end}.date-command-row button,.date-action-group button{min-height:56px;border-radius:16px;font-size:.95rem}.date-today-button{background:#eef6ff}.day-nav-button,.patients-button{display:inline-flex;align-items:center;justify-content:center;gap:.6rem}.day-nav-button span{display:grid;place-items:center;width:24px;height:24px;color:#3469ad;font-size:1.65rem;font-weight:400;line-height:1}.patients-menu-anchor>button,.patients-button{width:100%}.patients-button{border-color:#eaa8bc;background:linear-gradient(180deg,#e982a3,#df6f94);color:#fff;box-shadow:0 12px 24px #dd6f9438}.patients-button-icon{display:grid;place-items:center;width:22px;height:22px}.patients-menu-panel,.patient-card-popup,.dialog{border:1px solid var(--medical-border);background:#fffffffa;color:var(--ink);box-shadow:0 22px 48px #3956802e}.patients-menu-panel{width:min(1120px,calc(100vw - 2rem));max-height:min(76vh,700px);border-radius:22px;padding:1rem}.patients-menu-list{scrollbar-color:#a9c6e9 transparent}.patients-menu-card{border-color:var(--medical-border);border-left-color:var(--procedure-accent, var(--green));color:var(--ink)}.matrix-panel{padding:1.15rem;background:#fffffff0}.matrix-heading,.section-heading{align-items:center}.section-title-with-icon,.section-metric{display:inline-flex;align-items:center;gap:.7rem;min-width:0}.section-title-with-icon h2{color:#375985;font-size:1.08rem;font-weight:800;text-transform:uppercase}.section-icon{width:38px;height:38px}.section-icon-rose{background:var(--medical-rose-soft);color:var(--medical-rose);box-shadow:inset 0 0 0 1px #f4d3dd}.section-metric{color:#526f98;font-weight:800;white-space:nowrap}.section-metric span{display:grid;place-items:center;color:#4775b6}.section-metric svg{width:18px;height:18px}.schedule-matrix-scroll,.data-table-scroll{border-radius:18px;border-color:var(--medical-border);background:#fff}.schedule-matrix-scroll{max-width:100%;overflow:auto}.schedule-matrix{min-width:calc(var(--room-col-width) + (31 * var(--slot-cell-width)));border-collapse:separate;border-spacing:0;table-layout:fixed}.schedule-matrix th:not(.sticky-col),.schedule-matrix td{width:var(--slot-cell-width);min-width:var(--slot-cell-width);max-width:var(--slot-cell-width)}.schedule-matrix th,.schedule-matrix td,.data-table th,.data-table td{border-right:1px solid var(--medical-border);border-bottom:1px solid var(--medical-border);color:var(--ink)}.schedule-matrix th,.data-table th{background:linear-gradient(180deg,#f8fbff,#eef6ff);color:#28436b;font-weight:900}.schedule-matrix thead th{text-align:center;height:42px;padding:.58rem .72rem;font-size:.9rem;line-height:1.2}.schedule-matrix thead .sticky-col{width:var(--room-col-width);min-width:var(--room-col-width);max-width:var(--room-col-width);background:linear-gradient(180deg,#f8fbff,#eef6ff)!important;text-align:left;text-transform:uppercase;color:#526f98;font-size:.78rem}.schedule-matrix td{height:88px;padding:.44rem;background:#fbfdff;vertical-align:top}.schedule-matrix tbody .sticky-col{width:var(--room-col-width);min-width:var(--room-col-width);max-width:var(--room-col-width);padding:.7rem .76rem;background:#f5f9ff;color:var(--ink);font-size:.86rem;font-weight:900;line-height:1.25}.busy-cell{background:#f8fbff!important}.room-label{display:inline-flex;align-items:center;gap:.42rem;min-width:0}.room-icon{display:grid;place-items:center;width:22px;height:22px;color:#4775b6}.room-icon svg{width:22px;height:22px}.cell-chip{min-height:64px;margin-bottom:.36rem;gap:.36rem;border-radius:13px;border:1px solid #d7e6f7;border-left:5px solid var(--procedure-accent, var(--green));padding:.5rem .58rem .48rem .64rem;background:linear-gradient(180deg,#fff,#eef7ff);color:var(--ink);box-shadow:0 6px 12px #3a5b851a}.cell-chip:hover,.cell-chip:focus-visible{border-color:color-mix(in srgb,var(--procedure-accent, var(--green)) 42%,#d7e6f7);background:#fff;box-shadow:0 10px 18px #3a5b8526}.cell-chip-name{color:var(--ink);font-size:.86rem;font-weight:900;line-height:1.24;overflow-wrap:anywhere}.procedure-badge{padding:.1rem .38rem;border-color:color-mix(in srgb,var(--procedure-color, var(--green)) 62%,white);background:color-mix(in srgb,var(--procedure-color, var(--green)) 12%,white);color:var(--procedure-color, var(--green));font-size:.62rem;line-height:1.12}.data-table tbody tr:nth-child(2n) td{background:#f8fbff}.backup-status-card,.backup-actions,.backup-list{background:#fffffff0}.backup-page{grid-template-columns:minmax(420px,.44fr) minmax(0,1fr);gap:.9rem}.backup-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.status-tile{align-content:start;gap:.42rem;min-height:96px;border:1px solid var(--medical-border);border-radius:16px;padding:.72rem;background:#f7fbff}.status-tile span{overflow-wrap:anywhere}.status-tile.warning{background:#fff7e7;color:#9a6a00}.backup-row,.appointment-row,.plan-preview,.day-action-toolbar,.move-dialog-grid>.sequence-preview,.course-summary,.sequence-preview,.time-choice,.sequence-option,.procedure-pill,.slot-button{border-color:var(--medical-border);background:#fff}.backup-row-action:hover,.backup-row-action:focus-visible{border-color:var(--medical-border-strong);background:#f8fbff;box-shadow:0 12px 24px #4a6fa024}.restore-pill{background:var(--medical-rose-soft);color:#b94f73}.dialog-backdrop{background:#13284a42;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.dialog-header{border-bottom:1px solid var(--medical-border)}.patient-card-popup-title{color:var(--ink)}.patient-card-popup{border-left-color:var(--procedure-accent, var(--green));border-radius:20px;background:#fffffffa}.patient-card-popup-section{border-color:var(--medical-border);background:#f8fbff}.patient-card-popup-actions{border-top-color:var(--medical-border)}.new-patient-workspace .form-grid{align-items:start}.name-field.has-error input{border-color:#f2a4b7;background:#fff7fa}.field-error{color:#b42348;font-size:.78rem;font-weight:900;line-height:1.25}.desired-time-card{display:grid;grid-column:1 / -1;grid-template-columns:minmax(220px,.75fr) minmax(180px,.45fr);gap:.75rem;align-items:end;border:1px solid var(--medical-border);border-radius:18px;padding:.78rem;background:#f8fbff}.desired-time-card.selected{border-color:#eeb6c7;background:#fff4f8}.desired-time-toggle{display:grid;grid-template-columns:28px minmax(0,1fr);gap:.7rem;align-items:center;justify-content:start;min-height:58px;padding:.7rem .85rem;text-align:left}.desired-time-toggle>span:last-child{display:grid;gap:.12rem}.desired-time-toggle strong{font-size:.96rem}.desired-time-toggle small{color:var(--muted);font-size:.74rem;font-weight:800}.desired-time-check{display:grid;place-items:center;width:24px;height:24px;border:2px solid #b7cce7;border-radius:999px;background:#fff}.desired-time-card.selected .desired-time-check{border-color:var(--medical-rose);background:var(--medical-rose);box-shadow:inset 0 0 0 5px #fff4f8}.desired-time-select{gap:.35rem}.desired-time-select select{min-height:58px;border-radius:16px;font-size:1rem;font-weight:900}.desired-time-select select:disabled{opacity:.58}.new-patient-workspace .procedure-check-panel{border:1px solid var(--medical-border);border-radius:20px;padding:1rem;background:#f8fbff}.procedure-group-list{display:grid;gap:.95rem}.procedure-group{display:grid;gap:.55rem}.procedure-group h4{margin:0;color:#4f6f9c;font-size:.78rem;font-weight:900;text-transform:uppercase}.new-patient-workspace .procedure-check-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.65rem}.new-patient-workspace .procedure-pill{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem;align-items:center;min-height:58px;border:1px solid color-mix(in srgb,var(--procedure-color, var(--green)) 30%,var(--medical-border));border-left:5px solid var(--procedure-color, var(--green));border-radius:16px;padding:.68rem .75rem;background:#fff;color:var(--ink);text-align:left;box-shadow:0 8px 18px #3a5b8514}.new-patient-workspace .procedure-pill:hover,.new-patient-workspace .procedure-pill:focus-visible{border-color:color-mix(in srgb,var(--procedure-color, var(--green)) 48%,var(--medical-border));background:color-mix(in srgb,var(--procedure-color, var(--green)) 7%,white)}.new-patient-workspace .procedure-pill.selected{border-color:color-mix(in srgb,var(--procedure-color, var(--green)) 58%,var(--medical-border));background:color-mix(in srgb,var(--procedure-color, var(--green)) 12%,white)!important;color:var(--ink)}.procedure-pill-label{min-width:0;font-size:.9rem;font-weight:900;line-height:1.2;overflow-wrap:anywhere}.procedure-pill-badge{border:1px solid color-mix(in srgb,var(--procedure-color, var(--green)) 62%,white);border-radius:999px;padding:.18rem .46rem;background:color-mix(in srgb,var(--procedure-color, var(--green)) 12%,white);color:var(--procedure-color, var(--green));font-size:.72rem;font-weight:900;line-height:1}.new-patient-workspace{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;grid-template-areas:"main" "actions";gap:.65rem;align-content:stretch;align-items:stretch;width:100%;height:calc(100dvh - 5.8rem);min-height:620px;min-width:0}.new-patient-main-grid{grid-area:main;display:grid;grid-template-columns:minmax(560px,1.5fr) minmax(390px,1fr);gap:.65rem;align-items:stretch;width:100%;min-width:0;min-height:0}.new-patient-right-column{display:grid;grid-template-rows:minmax(170px,.38fr) minmax(0,.62fr);gap:.65rem;min-width:0;min-height:0}.new-patient-main-grid>.patient-form-panel,.new-patient-right-column>.free-slots-panel,.new-patient-right-column>.sequences-panel{grid-area:auto}.patient-form-panel{display:grid;grid-template-rows:auto auto auto auto;gap:.48rem;align-content:start;height:100%;min-height:0;max-height:none;overflow:hidden}.patient-form-panel .section-heading{margin-bottom:0}.patient-compact-form{grid-template-columns:minmax(280px,1.35fr) minmax(260px,1fr);gap:.42rem .55rem;align-items:start;border:1px solid var(--medical-border);border-radius:16px;padding:.56rem;background:#f8fbff}.patient-compact-form label{gap:.22rem;font-size:.8rem}.patient-compact-form input,.patient-compact-form select,.patient-compact-form .display-date-input{min-height:42px}.patient-compact-form .name-field input,.patient-date-field .display-date-input-value{color:var(--ink);font-size:1rem;font-weight:900}.patient-compact-form .inline-control{grid-template-columns:minmax(0,1fr) auto;gap:.42rem}.patient-compact-form .calendar-button{min-height:42px;border-radius:13px;padding:.42rem .68rem;font-size:.82rem;font-weight:900}.patient-compact-form .desired-time-card{grid-column:1 / -1;grid-template-columns:minmax(180px,.62fr) minmax(128px,.28fr);gap:.42rem;border-radius:15px;padding:.38rem}.patient-compact-form .desired-time-toggle{grid-template-columns:22px minmax(0,1fr);gap:.42rem;min-height:40px;padding:.36rem .52rem}.patient-compact-form .desired-time-toggle strong{font-size:.88rem}.patient-compact-form .desired-time-toggle small{font-size:.68rem}.patient-compact-form .desired-time-check{width:20px;height:20px}.patient-compact-form .desired-time-select select{min-height:40px;border-radius:13px;font-size:.9rem}.new-patient-workspace .procedure-check-panel{display:grid;grid-template-rows:auto auto auto;gap:.42rem;min-height:0;margin-top:0;overflow:hidden;border-radius:18px;padding:.62rem}.procedure-panel-heading{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.procedure-panel-heading h3{margin:0;color:var(--ink);font-size:.96rem;font-weight:900}.procedure-panel-heading span{color:#4f6f9c;font-size:.78rem;font-weight:900;white-space:nowrap}.selected-procedures-strip{display:flex;flex-wrap:nowrap;gap:.28rem;align-items:center;min-height:32px;max-height:32px;overflow-x:auto;overflow-y:hidden;border:1px solid #dbe8f8;border-radius:14px;padding:.18rem .24rem;background:#ffffffc7;scrollbar-width:thin}.selected-procedures-strip.is-empty{display:none}.selected-procedure-chip{display:inline-flex;align-items:center;flex:0 0 auto;gap:.26rem;min-height:26px;border:1px solid color-mix(in srgb,var(--procedure-color, var(--green)) 54%,white);border-radius:999px;padding:.12rem .32rem .12rem .22rem;background:color-mix(in srgb,var(--procedure-color, var(--green)) 10%,white);color:var(--ink);font-size:.76rem;font-weight:900;line-height:1;white-space:nowrap}.selected-procedure-chip>span{border-radius:999px;padding:.1rem .3rem;background:color-mix(in srgb,var(--procedure-color, var(--green)) 18%,white);color:var(--procedure-color, var(--green))}.selected-procedure-chip>strong{display:grid;place-items:center;width:18px;height:18px;border-radius:999px;background:color-mix(in srgb,var(--procedure-color, var(--green)) 13%,white);color:var(--procedure-color, var(--green));font-size:.72rem;line-height:1}.new-patient-workspace .procedure-column-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.38rem;align-items:start;min-height:0;overflow:auto;padding:.05rem .12rem .15rem 0;scrollbar-width:thin}.new-patient-workspace .procedure-column{display:grid;gap:.34rem;align-content:start;min-width:0}.new-patient-workspace .procedure-pill{min-height:38px;border-left-width:4px;border-radius:13px;padding:.32rem .42rem;gap:.3rem}.new-patient-workspace .procedure-pill-label{font-size:.8rem;line-height:1.14;overflow-wrap:normal}.new-patient-workspace .procedure-pill-badge{padding:.13rem .38rem;font-size:.62rem}.embedded-save-panel{display:grid;grid-template-columns:minmax(0,1fr);gap:.38rem;align-items:stretch;align-self:end;border:1px solid var(--medical-border);border-radius:16px;padding:.46rem;background:linear-gradient(135deg,#fff,#f7fbff);box-shadow:0 6px 16px #3a5b850f}.embedded-course-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.36rem;min-width:0}.embedded-course-summary span{display:grid;gap:.08rem;border:1px solid #dbe8f8;border-radius:12px;padding:.32rem .42rem;background:#f8fbff;color:var(--ink);font-size:.82rem;font-weight:900;min-width:0}.embedded-course-summary strong{color:#4f6f9c;font-size:.64rem;font-weight:900;line-height:1;text-transform:uppercase}.embedded-sequence-preview{grid-column:1 / -1;display:flex;gap:.32rem;max-height:68px;overflow-x:auto;overflow-y:hidden;padding-bottom:.02rem;scrollbar-width:thin}.embedded-sequence-preview span{display:grid;gap:.08rem;min-width:132px;border:1px solid #dbe8f8;border-radius:12px;padding:.3rem .4rem;background:#fff;color:var(--ink)}.embedded-sequence-preview strong{color:#244a7d;font-size:.74rem;font-weight:900;white-space:nowrap}.embedded-sequence-preview span span{min-width:0;border:0;border-radius:0;padding:0;background:transparent;font-size:.72rem;font-weight:900}.embedded-sequence-preview em{color:var(--muted);font-size:.68rem;font-style:normal;font-weight:800;white-space:nowrap}.validation-dialog-backdrop{place-items:center;padding:1rem}.patient-validation-dialog{display:grid;gap:.9rem;width:min(92vw,440px);border:1px solid var(--medical-border);border-radius:24px;padding:1rem;background:#fff;box-shadow:0 24px 60px #26467033}.patient-validation-dialog header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.patient-validation-dialog h2{margin:0;color:var(--ink);font-size:1.1rem;font-weight:900}.patient-validation-dialog ul{display:grid;gap:.45rem;margin:0;padding-left:1.1rem;color:#9f1239;font-size:.94rem;font-weight:800;line-height:1.35}.patient-validation-dialog .primary-button{justify-self:end;min-width:130px}.patient-form-action-bar{grid-area:actions;position:static;z-index:7;display:grid;grid-template-columns:minmax(220px,1fr) minmax(150px,.5fr) minmax(190px,.7fr);gap:.5rem;margin:0;border:1px solid var(--medical-border);border-radius:18px;padding:.5rem;background:#fffffff0;box-shadow:0 10px 24px #3a5b851a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.patient-form-action-bar button{width:100%;min-height:42px}.patient-form-action-bar .save-button{background:linear-gradient(180deg,#ee8bab,#df668f);color:#fff;box-shadow:0 8px 18px #ce598238}@media(max-width:980px){.new-patient-workspace{grid-template-rows:auto auto;height:auto;min-height:0}.new-patient-main-grid{grid-template-columns:1fr;align-items:start}.new-patient-right-column{grid-template-rows:auto auto}.patient-form-panel{height:auto;min-height:auto;max-height:none;overflow:visible}.new-patient-workspace .procedure-column-list{max-height:none}.new-patient-workspace .free-slots-panel,.new-patient-workspace .sequences-panel{height:auto}.new-patient-workspace .time-button-grid{max-height:190px}.new-patient-workspace .sequences-panel .sequence-list{max-height:340px}}@media(max-width:860px){.patient-compact-form,.patient-compact-form .desired-time-card,.new-patient-workspace .procedure-column-list,.patient-form-action-bar{grid-template-columns:1fr}}.courses-workspace{grid-template-columns:minmax(520px,1.1fr) minmax(460px,.9fr);align-items:stretch;min-height:calc(100dvh - 172px)}.courses-workspace>.panel-card{display:grid;align-content:start;min-height:calc(100dvh - 188px)}.courses-list-panel{grid-template-rows:auto minmax(0,1fr)}.course-days-panel{grid-template-rows:auto auto auto minmax(0,1fr) auto}.course-card-list{display:grid;gap:.9rem;align-content:start;overflow:auto;max-height:calc(100dvh - 260px);padding:.1rem .25rem .2rem 0}.course-card{display:grid;grid-template-columns:96px minmax(170px,1fr) minmax(140px,.65fr) minmax(112px,.48fr) minmax(112px,.48fr);gap:.85rem;align-items:center;min-height:108px;border:1px solid var(--medical-border);border-radius:20px;padding:.95rem;background:#fff;color:var(--ink);text-align:left;box-shadow:0 12px 24px #3a5b8517}.course-card:hover,.course-card:focus-visible{border-color:#a9c3e5;background:#f8fbff;transform:translateY(-1px)}.course-card.selected{border-color:#eeb6c7;background:var(--medical-rose-soft)!important;color:var(--ink);box-shadow:0 14px 28px #c8547e24}.course-card-time,.course-date-chip,.course-progress-block,.course-card-main{display:grid;gap:.28rem;min-width:0}.course-card-time{justify-items:start}.course-card-time span,.course-date-chip span,.course-progress-block span span,.course-summary-identity>span,.course-stat-card>span{color:#4f6f9c;font-size:.72rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.course-card-time strong{color:#244a7d;font-size:1.24rem;font-weight:900}.course-card-name{color:var(--ink);font-size:1.05rem;font-weight:900;line-height:1.18}.course-badge-row{display:flex;flex-wrap:wrap;gap:.32rem;min-width:0}.courses-workspace .course-badge-row .procedure-badge{padding:.14rem .44rem;font-size:.68rem;line-height:1.05}.course-progress-block>span:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.course-progress-block strong,.course-date-chip strong,.course-stat-card strong{color:var(--ink);font-size:.98rem;font-weight:900}.course-progress-track{display:block;height:9px;overflow:hidden;border-radius:999px;background:#dbe8f8}.course-progress-track>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#79a9e8,#e89ab4)}.courses-workspace .course-summary-strip,.courses-workspace .course-summary-strip span,.courses-workspace .course-summary-strip strong{min-height:initial;border-radius:initial;padding:0;background:transparent;color:inherit}.courses-workspace .course-summary-strip{display:grid;grid-template-columns:minmax(220px,1.2fr) repeat(4,minmax(130px,.8fr));gap:.75rem;margin-bottom:.95rem}.course-summary-identity,.course-stat-card{display:grid;gap:.38rem;align-content:center;min-height:96px;border:1px solid var(--medical-border);border-radius:18px;padding:.82rem;background:#f8fbff}.course-summary-identity strong{color:var(--ink);font-size:1.06rem;font-weight:900}.course-stat-card small{color:var(--muted);font-size:.74rem;font-weight:800;line-height:1.2}.courses-workspace .day-action-toolbar{grid-template-columns:minmax(0,1fr);border-color:var(--medical-border);background:#fff}.courses-workspace .day-action-toolbar div{display:grid;gap:.18rem}.courses-workspace .day-action-toolbar strong{color:var(--ink);font-size:.94rem}.courses-workspace .day-action-toolbar span{color:var(--muted);font-size:.84rem;font-weight:800}.course-days-panel .data-table-scroll{min-height:260px;max-height:calc(100dvh - 520px);overflow:auto}.course-actions{display:grid;grid-template-columns:minmax(230px,1.1fr) minmax(230px,1fr) minmax(190px,.72fr);gap:.75rem;margin-top:.95rem}.course-action-group{display:flex;flex-wrap:wrap;gap:.5rem;align-content:start;align-items:center;border:1px solid var(--medical-border);border-radius:18px;padding:.7rem;background:#f8fbff}.course-action-group>span{flex:1 0 100%;color:#4f6f9c;font-size:.72rem;font-weight:900;text-transform:uppercase}.course-action-group button{flex:1 1 155px;min-height:44px}.course-danger-actions{border-color:#f2c5ce;background:#fff7fa}.course-danger-actions>span{color:#b42348}.course-danger-actions .danger-button{border-color:#f0a8b7;background:#fff1f4;color:#b42348}.courses-workspace{grid-template-columns:minmax(0,1fr);align-items:stretch;min-height:auto}.courses-workspace>.panel-card{width:100%;min-width:0;min-height:0;max-width:100%;overflow:hidden}.courses-list-panel,.course-days-panel{grid-template-rows:auto minmax(0,auto)}.course-card-list{max-height:clamp(280px,38dvh,560px);overflow:auto;padding:.1rem .25rem .25rem 0;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.course-card{grid-template-columns:96px minmax(260px,1.5fr) minmax(180px,.82fr) minmax(140px,.52fr) minmax(140px,.52fr);width:100%;min-width:min(100%,920px)}.course-card-name,.course-date-chip strong,.course-summary-identity strong,.course-stat-card strong{overflow-wrap:anywhere}.courses-workspace .course-summary-strip{grid-template-columns:minmax(260px,1.25fr) repeat(auto-fit,minmax(160px,1fr));align-items:stretch}.course-days-panel .data-table-scroll{width:100%;min-height:240px;max-height:clamp(300px,42dvh,620px);overflow:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.course-days-panel .data-table{width:100%;min-width:900px;table-layout:fixed}.course-days-panel .data-table th:nth-child(1),.course-days-panel .data-table td:nth-child(1){width:140px}.course-days-panel .data-table th:nth-child(2),.course-days-panel .data-table td:nth-child(2){width:112px}.course-days-panel .data-table th:nth-child(3),.course-days-panel .data-table td:nth-child(3){width:130px}.appointment-sequence-cell{max-width:0;white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.32}.course-actions{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:stretch}.course-action-group{min-width:0}.course-action-group button{flex:1 1 180px;min-width:min(100%,160px);white-space:normal}@media(max-width:980px){.course-card{grid-template-columns:88px minmax(220px,1fr) minmax(160px,.72fr)}.course-date-chip{grid-column:auto}}@media(max-width:760px){.course-card{grid-template-columns:1fr}}.new-patient-workspace .free-slots-panel,.new-patient-workspace .sequences-panel{display:grid;gap:.55rem;height:100%;min-height:0;overflow:hidden}.new-patient-workspace .free-slots-panel{grid-template-rows:auto minmax(0,1fr) auto;max-height:none}.new-patient-workspace .sequences-panel{grid-template-rows:auto minmax(0,1fr);min-height:0;max-height:none}.new-patient-workspace .free-slots-panel .section-heading span,.new-patient-workspace .sequences-panel .section-heading span{color:#4f6f9c;font-size:.84rem;font-weight:900}.new-patient-workspace .time-button-grid{grid-template-columns:repeat(auto-fit,minmax(82px,1fr));gap:.36rem;min-height:0;max-height:none;overflow:auto;padding:.02rem .1rem .1rem 0}.new-patient-workspace .time-choice{display:grid;place-items:center;min-height:42px;border:1px solid var(--medical-border);border-radius:13px;padding:.36rem .48rem;background:#fff;color:var(--ink);text-align:center;box-shadow:0 5px 12px #3a5b8512}.new-patient-workspace .time-choice strong{color:var(--ink);font-size:.92rem;font-weight:900;line-height:1.1}.new-patient-workspace .future-time-choice{min-height:46px;border-color:#cfe0f5;background:#f8fbff}.new-patient-workspace .time-choice:hover,.new-patient-workspace .time-choice:focus-visible{border-color:#a9c3e5;background:#f2f8ff;transform:translateY(-1px)}.new-patient-workspace .time-choice.selected{border-color:#eeb6c7;background:var(--medical-rose-soft)!important;color:var(--ink);box-shadow:0 7px 16px #c8547e24}.new-patient-workspace .warning-note{border:1px solid #f5d6a8;border-radius:16px;padding:.85rem 1rem;background:#fff9ed;color:#8a5a10;font-weight:800}.new-patient-workspace .sequences-panel .sequence-list{gap:.5rem;max-height:none;min-height:0;overflow:auto;padding:.02rem .1rem .1rem 0}.new-patient-workspace .sequence-option{display:grid;gap:.45rem;min-height:auto;border:1px solid var(--medical-border);border-radius:15px;padding:.56rem;background:#fff;color:var(--ink);text-align:left;box-shadow:0 5px 12px #3a5b8512}.new-patient-workspace .sequence-option:hover,.new-patient-workspace .sequence-option:focus-visible{border-color:#a9c3e5;background:#f8fbff}.new-patient-workspace .sequence-option.selected{border-color:#eeb6c7;background:var(--medical-rose-soft)!important;color:var(--ink);box-shadow:0 7px 16px #c8547e24}.sequence-option-header{display:flex;flex-wrap:wrap;gap:.22rem .55rem;align-items:baseline;justify-content:space-between}.new-patient-workspace .sequence-option-header strong{color:var(--ink);font-size:.9rem;font-weight:900}.new-patient-workspace .sequence-option-header span{color:var(--muted);font-size:.74rem;font-weight:900}.sequence-step-list{display:grid;gap:.34rem}.sequence-step{display:grid;grid-template-columns:70px minmax(0,1fr);gap:.42rem;align-items:center;border:1px solid color-mix(in srgb,var(--procedure-color, var(--green)) 24%,var(--medical-border));border-left:4px solid var(--procedure-color, var(--green));border-radius:12px;padding:.34rem .44rem;background:color-mix(in srgb,var(--procedure-color, var(--green)) 5%,white)}.sequence-step-time{color:#34527c;font-size:.7rem;font-weight:900;white-space:nowrap}.sequence-step-main{display:grid;gap:.18rem;min-width:0}.sequence-step-badges{display:flex;flex-wrap:wrap;gap:.2rem}.new-patient-workspace .sequence-step-badges .procedure-badge{padding:.1rem .34rem;font-size:.62rem;line-height:1.05}.sequence-room{color:var(--ink);font-size:.74rem;font-weight:800;line-height:1.22}@media(max-width:1180px){.top-bar{grid-template-columns:1fr;gap:.45rem}.top-bar nav{order:initial}.date-command-panel,.date-command-row{grid-template-columns:1fr}.date-action-group{grid-template-columns:repeat(2,minmax(0,1fr))}.backup-page{grid-template-columns:1fr}.patients-menu-panel{left:0;right:auto}.patients-menu-card-main,.patients-menu-card-details{grid-template-columns:1fr}.patients-menu-time-block{justify-items:start}}@media(max-width:780px){.app-shell{padding:.35rem}.brand-block,.date-panel-title{grid-template-columns:38px minmax(0,1fr);gap:.5rem}.brand-mark,.date-panel-icon{width:36px;height:36px}.brand-mark svg{width:30px;height:38px}.top-bar nav,.top-nav{gap:.45rem}.top-bar nav button{min-height:38px;padding:.42rem .7rem;font-size:.84rem}.date-panel-copy h1{white-space:normal}.date-action-group,.backup-status-grid{grid-template-columns:1fr}}body.schedule-fullscreen-active{overflow:hidden}.matrix-heading{flex-wrap:wrap}.matrix-heading-actions,.matrix-fullscreen-actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;justify-content:flex-end}.matrix-toggle-button,.matrix-fullscreen-button,.matrix-exit-button,.matrix-toolbar-button{min-height:44px;border-radius:14px;padding:.58rem .82rem;font-size:.9rem;font-weight:900}.matrix-toggle-button{border-color:#cfe0f5;background:linear-gradient(180deg,#f8fbff,#edf6ff);color:#28436b}.matrix-toggle-button.active,.matrix-toggle-button[aria-pressed=true]{border-color:#efbfd0;background:linear-gradient(180deg,#fff3f7,#fae7ef);color:#9f3159;box-shadow:0 10px 20px #cc749329}.matrix-fullscreen-button,.matrix-exit-button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border-color:#bcd4f1;background:#fff;color:#28558f}.matrix-fullscreen-button span,.matrix-exit-button span{display:grid;place-items:center}.matrix-fullscreen-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.matrix-panel-fullscreen{position:fixed;inset:0;z-index:22;display:grid;grid-template-rows:auto minmax(0,1fr);gap:.72rem;width:100vw;height:100vh;height:100dvh;padding:.8rem;border-radius:0;background:linear-gradient(145deg,#f7fbff,#e5f2ff 48%,#edf6ff);box-shadow:none;overflow:hidden}.matrix-fullscreen-toolbar{display:grid;grid-template-columns:minmax(180px,.32fr) minmax(0,1fr);gap:.75rem;align-items:center;min-width:0;border:1px solid var(--medical-border);border-radius:18px;padding:.62rem .75rem;background:#fffffff0;box-shadow:var(--soft-shadow)}.matrix-fullscreen-date{display:grid;gap:.1rem;min-width:0}.matrix-fullscreen-date span{color:#607899;font-size:.7rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.matrix-fullscreen-date strong{color:var(--ink);font-size:1.18rem;line-height:1.1}.matrix-panel-fullscreen .schedule-matrix-scroll{min-height:0;height:auto;max-height:none;border-radius:18px;overflow:auto;overscroll-behavior:auto;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch}.schedule-matrix-scroll{overscroll-behavior-x:contain;overscroll-behavior-y:auto;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch}.matrix-panel-compact:not(.matrix-panel-fullscreen) .schedule-matrix-scroll{max-height:clamp(360px,calc(100dvh - 280px),740px);overflow:auto}.schedule-matrix thead th{position:sticky;top:0;z-index:5}.schedule-matrix thead .sticky-col{z-index:7}.schedule-matrix tbody .sticky-col{position:sticky;left:0;z-index:4}.matrix-panel-fullscreen:not(.matrix-panel-compact){--slot-cell-width: 132px;--room-col-width: 160px}.matrix-panel-compact{--slot-cell-width: 112px;--room-col-width: 150px}.matrix-panel-fullscreen.matrix-panel-compact{--slot-cell-width: 108px;--room-col-width: 144px}.matrix-panel-fullscreen:not(.matrix-panel-compact) .schedule-matrix td{height:78px}.matrix-panel-compact .schedule-matrix thead th{height:36px;padding:.4rem .48rem;font-size:.78rem}.matrix-panel-compact .schedule-matrix td{height:62px;padding:.28rem}.matrix-panel-compact .schedule-matrix tbody .sticky-col{padding:.48rem .52rem;font-size:.78rem;line-height:1.18}.matrix-panel-compact .room-label{gap:.3rem}.matrix-panel-compact .room-icon,.matrix-panel-compact .room-icon svg{width:18px;height:18px}.matrix-panel-compact .cell-chip{min-height:42px;margin-bottom:.24rem;gap:.22rem;border-left-width:4px;border-radius:10px;padding:.32rem .38rem .3rem .44rem}.matrix-panel-compact .cell-chip-name{display:block;overflow:hidden;font-size:.75rem;line-height:1.12;text-overflow:ellipsis;white-space:nowrap}.matrix-panel-compact .cell-chip-badges{gap:.14rem}.matrix-panel-compact .procedure-badge{padding:.07rem .28rem;font-size:.56rem}.schedule-timeline{width:max-content;min-width:calc(var(--room-col-width) + var(--timeline-width));color:var(--ink)}.schedule-timeline-header,.schedule-timeline-row{display:grid;grid-template-columns:var(--room-col-width) var(--timeline-width);width:max-content;min-width:calc(var(--room-col-width) + var(--timeline-width))}.schedule-timeline-header{position:sticky;top:0;z-index:10}.schedule-timeline-room-header,.schedule-timeline-room{position:sticky;left:0;width:var(--room-col-width);min-width:var(--room-col-width);max-width:var(--room-col-width);border-right:1px solid var(--medical-border);border-bottom:1px solid var(--medical-border)}.schedule-timeline-room-header{z-index:12;display:flex;align-items:center;min-height:42px;padding:.58rem .72rem;background:linear-gradient(180deg,#f8fbff,#eef6ff);color:#526f98;font-size:.78rem;font-weight:900;line-height:1.2;text-transform:uppercase}.schedule-timeline-time-header{position:relative;width:var(--timeline-width);min-width:var(--timeline-width);min-height:42px;border-right:1px solid var(--medical-border);border-bottom:1px solid var(--medical-border);background:linear-gradient(180deg,#f8fbff,#eef6ff);overflow:hidden}.schedule-timeline-time-header:before,.schedule-timeline-lane:before{position:absolute;inset:0;z-index:0;background-image:repeating-linear-gradient(to right,rgba(187,209,235,.9) 0,rgba(187,209,235,.9) 1px,transparent 1px,transparent var(--timeline-tick-width));content:"";pointer-events:none}.timeline-time-tick{position:absolute;top:50%;left:var(--timeline-tick-left);z-index:1;transform:translate(-50%,-50%);color:#28436b;font-size:.9rem;font-weight:900;line-height:1;white-space:nowrap}.timeline-time-tick:first-child{transform:translateY(-50%)}.schedule-timeline-row{min-height:var(--timeline-row-height)}.schedule-timeline-room{z-index:5;display:flex;align-items:center;min-height:var(--timeline-row-height);padding:.7rem .76rem;background:#f5f9ff;color:var(--ink);font-size:.86rem;font-weight:900;line-height:1.25}.schedule-timeline-lane{position:relative;width:var(--timeline-width);min-width:var(--timeline-width);min-height:var(--timeline-row-height);border-right:1px solid var(--medical-border);border-bottom:1px solid var(--medical-border);background:#fbfdff;overflow:visible}.schedule-timeline-lane.busy-cell{background:#f8fbff!important}.timeline-chip{position:absolute;top:var(--timeline-top);left:var(--timeline-left);z-index:2;width:var(--timeline-card-width);max-width:var(--timeline-card-width);min-width:0;min-height:68px;margin:0;overflow:visible}.timeline-chip .cell-chip-name,.timeline-chip .cell-chip-time{max-width:100%}.timeline-chip .cell-chip-name{display:block;overflow:visible;white-space:nowrap;text-overflow:clip;overflow-wrap:normal;word-break:normal;-webkit-line-clamp:unset;-webkit-box-orient:initial}.timeline-chip .cell-chip-badges{align-items:center}.cell-chip-time{display:block;color:#4f6f9c;font-size:.68rem;font-weight:900;line-height:1.1;white-space:nowrap}.timeline-chip-conflict{border-color:#f1a8b9;outline:2px solid rgba(236,72,153,.28);background:linear-gradient(180deg,#fff,#fff1f5)}.timeline-conflict-label{border:1px solid #f0a7b7;border-radius:999px;padding:.08rem .34rem;background:#fff1f5;color:#be345f;font-size:.58rem;font-weight:900;line-height:1.1;white-space:nowrap}.matrix-panel-compact .schedule-timeline-room-header,.matrix-panel-compact .schedule-timeline-time-header{min-height:36px}.matrix-panel-compact .schedule-timeline-room-header{padding:.4rem .52rem;font-size:.72rem}.matrix-panel-compact .schedule-timeline-room{padding:.48rem .52rem;font-size:.78rem;line-height:1.18}.matrix-panel-compact .timeline-time-tick{font-size:.78rem}.matrix-panel-compact .timeline-chip{min-height:48px}.matrix-panel-compact .timeline-chip .cell-chip-name{overflow:visible;text-overflow:clip;white-space:nowrap;overflow-wrap:normal;word-break:normal}.matrix-panel-compact .cell-chip-time{font-size:.62rem}.matrix-panel-compact .timeline-conflict-label{padding:.06rem .24rem;font-size:.52rem}@media(max-width:980px){.matrix-fullscreen-toolbar{grid-template-columns:1fr}.matrix-fullscreen-actions{justify-content:flex-start}}
