:root{color:#15171a;font-synthesis:none;text-rendering:optimizelegibility;--blue:#1769e0;--blue-soft:#eaf2ff;--green:#22a555;--green-soft:#eaf7ef;--red:#de4d3d;--red-soft:#fff0ed;--border:#dfe2e7;--border-strong:#ccd1d8;--text:#15171a;--muted:#72777f;--surface:#fff;--canvas:#f5f6f8;background:#f5f6f8;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Apple SD Gothic Neo,Pretendard,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;height:100%;margin:0}body{overflow:hidden}button,input,textarea,select{font:inherit}button{color:inherit}button:focus{outline:none}button:focus-visible{outline-offset:-2px;outline:2px solid #7ba9eb}.app-shell{background:var(--canvas);height:100dvh;overflow:hidden}.topbar{height:64px;padding:max(8px, env(safe-area-inset-top)) 16px 8px;border-bottom:1px solid var(--border);z-index:30;background:#fffffff7;grid-template-columns:1fr auto 1fr;align-items:center;display:grid;position:relative}.topbar-date,.clinic-brand,.topbar-actions{align-items:center;display:flex}.topbar-date{gap:9px;font-size:14px}.topbar-date svg{color:var(--blue)}.topbar-date span{color:var(--muted);border-left:1px solid var(--border);padding-left:8px}.clinic-brand{justify-self:center;gap:8px}.clinic-brand>strong{letter-spacing:-.02em;font-size:17px}.clinic-brand>button{color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:2px;padding:7px 4px;display:flex}.brand-mark{border:1px solid var(--border-strong);border-radius:7px;flex-direction:column;justify-content:center;gap:4px;width:24px;height:24px;padding:5px;display:flex}.brand-mark i{background:var(--blue);border-radius:2px;height:2px;display:block}.topbar-actions{justify-self:end;gap:8px}.clinic-identity{border-right:1px solid var(--border);letter-spacing:-.025em;white-space:nowrap;padding-right:12px;font-size:13px;font-weight:750}.demo-menu-wrap{position:relative}.demo-button{border:1px solid var(--border);height:34px;color:var(--muted);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:3px;padding:0 9px;font-size:11px;font-weight:700;display:flex}.demo-menu{border:1px solid var(--border);background:#fff;border-radius:10px;width:178px;position:absolute;top:40px;right:0;overflow:hidden;box-shadow:0 12px 34px #1e263224}.demo-menu button{border:0;border-bottom:1px solid var(--border);cursor:pointer;text-align:left;background:#fff;align-items:center;gap:9px;width:100%;height:44px;padding:0 12px;font-size:13px;display:flex}.demo-menu button:last-child{border-bottom:0}.demo-menu button.active{color:var(--blue);background:var(--blue-soft);font-weight:700}.demo-menu-separator{border-bottom:1px solid var(--border);background:#f3f4f6;height:6px}.app-body{height:calc(100dvh - 64px);display:flex}.side-nav{border-right:1px solid var(--border);background:#fff;flex-direction:column;flex:0 0 142px;width:142px;padding:13px 10px 14px;display:flex}.role-name{height:38px;color:var(--muted);align-items:center;padding:0 11px;font-size:12px;display:flex}.side-nav nav{flex-direction:column;gap:4px;display:flex}.side-nav nav button{cursor:pointer;color:#3e434a;background:0 0;border:0;border-radius:8px;align-items:center;gap:11px;height:46px;padding:0 12px;font-weight:620;display:flex}.side-nav nav button svg{color:#7b8088;stroke-width:1.8px}.side-nav nav button.active{background:var(--blue-soft);color:var(--blue)}.side-nav nav button.active svg{color:var(--blue)}.side-footer{color:var(--muted);border-top:1px solid var(--border);align-items:center;gap:9px;margin-top:auto;padding:10px;font-size:12px;display:flex}.main-content{flex:1;min-width:0;overflow:hidden}.page{background:var(--surface);flex-direction:column;height:100%;display:flex}.page-heading{border-bottom:1px solid var(--border);flex:0 0 65px;justify-content:space-between;align-items:center;height:65px;padding:0 24px;display:flex}.page-heading>div:first-child{align-items:baseline;gap:10px;display:flex}.page-heading h1{letter-spacing:-.025em;margin:0;font-size:20px}.page-heading span{color:var(--muted);font-size:12px}.update-indicator,.doctor-live{color:var(--muted);font-size:12px;align-items:center!important;gap:6px!important;display:flex!important}.update-indicator i,.doctor-live i{background:var(--green);border-radius:50%;width:7px;height:7px}.mobile-nav{display:none}.appointments-toolbar,.staff-toolbar{border-bottom:1px solid var(--border);background:#fafbfc;flex:0 0 55px;justify-content:space-between;align-items:center;gap:16px;height:55px;padding:0 20px;display:flex}.search-field{width:min(330px,34%);height:34px;color:var(--muted);background:#eef0f3;border-radius:8px;align-items:center;gap:8px;padding:0 11px;display:flex}.search-field input{background:0 0;border:0;outline:0;width:100%;font-size:13px}.filter-tabs,.view-switch{background:#eef0f3;border-radius:8px;align-items:center;padding:3px;display:flex}.filter-tabs button,.view-switch button{color:#696e76;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;min-height:30px;padding:0 12px;font-size:12px;display:flex}.filter-tabs button.active,.view-switch button.active{color:var(--text);background:#fff;font-weight:650;box-shadow:0 1px 4px #171c241a}.filter-tabs small{background:#dee1e6;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;font-size:10px;display:inline-flex}.appointment-table-head{border-bottom:1px solid var(--border);height:31px;color:var(--muted);background:#f7f8f9;flex:0 0 31px;grid-template-columns:72px 1.05fr 2fr 1fr .9fr;align-items:center;padding:0 24px 0 36px;font-size:11px;display:grid}.appointment-groups{flex:1;min-height:0;overflow:auto}.time-group{border-bottom:1px solid var(--border-strong)}.time-group-header{border:0;border-bottom:1px solid var(--border);cursor:pointer;text-align:left;background:#f3f4f6;align-items:center;gap:7px;width:100%;height:35px;padding:0 22px;display:flex}.time-group-header span{font-size:13px;font-weight:720}.time-group-header small{color:var(--muted)}.time-group-header svg{color:var(--muted);margin-left:auto;transition:transform .18s}.time-group-header svg.collapsed{transform:rotate(-90deg)}.appointment-row{text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #e8eaed;grid-template-columns:72px 1.05fr 2fr 1fr .9fr;align-items:center;width:100%;min-height:54px;padding:0 24px 0 36px;font-size:13px;display:grid;position:relative}.appointment-row:hover{background:#f8fbff}.appointment-row>span,.appointment-row>time{min-width:0}.appointment-row time{font-variant-numeric:tabular-nums;color:#353a41}.status-rail{background:#aeb3ba;border-radius:4px;width:4px;height:36px;position:absolute;top:50%;left:17px;transform:translateY(-50%)}.status-rail.green{background:var(--green)}.status-rail.blue{background:var(--blue)}.status-rail.red{background:var(--red)}.customer-cell,.procedure-cell{flex-direction:column;gap:3px;display:flex}.customer-cell strong,.procedure-cell strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.customer-cell small,.procedure-cell small{color:var(--muted);font-size:11px}.row-status{align-items:baseline;gap:5px;font-weight:650;display:flex}.row-status.green{color:var(--green)}.row-status.blue{color:var(--blue)}.row-status.red{color:var(--red)}.row-status.gray{color:var(--muted)}.row-status small{font-size:10px;font-weight:500}.empty-list,.empty-floor{height:180px;color:var(--muted);justify-content:center;align-items:center;font-size:13px;display:flex}.sheet-backdrop{z-index:100;background:#10141a57;justify-content:center;align-items:flex-end;animation:.18s ease-out backdrop-in;display:flex;position:fixed;inset:0}.customer-sheet{background:#fff;border-radius:14px 14px 0 0;flex-direction:column;width:min(900px,100vw - 64px);height:min(690px,100dvh - 78px);animation:.26s cubic-bezier(.22,.78,.28,1) sheet-up;display:flex;position:relative;box-shadow:0 -12px 38px #13192229}.sheet-grabber{background:#c9cdd2;border-radius:3px;width:38px;height:4px;position:absolute;top:8px;left:50%;transform:translate(-50%)}.sheet-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;min-height:82px;padding:24px 24px 12px;display:flex}.sheet-title-line{align-items:center;gap:9px;display:flex}.sheet-title-line h2{letter-spacing:-.035em;margin:0;font-size:25px}.sheet-header p{color:var(--muted);margin:7px 0 0;font-size:13px}.plain-status{color:var(--blue);border-left:1px solid var(--border);padding-left:9px;font-size:11px;font-weight:650}.icon-button{color:#626870;cursor:pointer;background:#f1f2f4;border:0;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.sheet-summary-row{border-bottom:1px solid var(--border);background:#fafbfc;grid-template-columns:.75fr 1.35fr .7fr 1.1fr .6fr;min-height:62px;padding:10px 24px;display:grid}.sheet-summary-row>div{border-right:1px solid var(--border);flex-direction:column;justify-content:center;gap:5px;min-width:0;padding:0 14px;display:flex}.sheet-summary-row>div:first-child{padding-left:0}.sheet-summary-row>div:last-child{border-right:0}.sheet-summary-row span,.detail-grid dt,.membership-row span{color:var(--muted);font-size:10px}.sheet-summary-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.sheet-scroll{flex:1;min-height:0;overflow:auto}.sheet-columns{grid-template-columns:1.02fr .98fr;min-height:100%;display:grid}.sheet-column{padding:0 22px 22px}.sheet-column:first-child{border-right:1px solid var(--border)}.info-section{border-bottom:1px solid var(--border);padding:17px 0}.section-heading{justify-content:space-between;align-items:center;min-height:22px;margin-bottom:10px;display:flex}.section-heading h3,.state-panel h3{margin:0;font-size:14px}.section-heading button{color:var(--blue);cursor:pointer;background:0 0;border:0;align-items:center;padding:3px;font-size:11px;display:flex}.section-heading span{color:var(--muted);font-size:10px}.detail-grid{grid-template-columns:1fr 1fr;gap:11px 18px;margin:0;display:grid}.detail-grid div{min-width:0}.detail-grid dt{margin-bottom:4px}.detail-grid dd{margin:0;font-size:12px;line-height:1.4}.history-list{flex-direction:column;gap:7px;display:flex}.history-row{grid-template-columns:88px 1fr 100px;align-items:center;gap:8px;font-size:11px;display:grid}.history-row time,.history-row span{color:var(--muted)}.membership-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.membership-row>div{grid-template-columns:auto 1fr;gap:3px 9px;display:grid}.membership-row strong{font-size:12px}.membership-row small{color:var(--muted);grid-column:2;font-size:10px}.action-column{background:#fcfcfd}.state-panel{flex-direction:column;min-height:100%;padding:22px 0;display:flex}.arrival-panel{justify-content:space-between}.arrival-panel p,.state-panel>p{color:var(--muted);font-size:12px;line-height:1.5}.primary-action,.secondary-action,.danger-action{cursor:pointer;border:1px solid #0000;border-radius:7px;min-height:44px;padding:0 17px;font-weight:700}.primary-action{background:var(--blue);color:#fff}.primary-action:disabled{cursor:default;background:#c4c8ce}.secondary-action{color:var(--blue);background:#fff;border-color:#9bbceb}.danger-action{color:var(--red);background:#fff;border-color:#eca69e}.consultation-section textarea{resize:vertical;border:1px solid var(--border-strong);border-radius:7px;outline:none;width:100%;min-height:74px;padding:10px;font-size:12px;line-height:1.5}.consultation-section textarea:focus,.staff-note textarea:focus{border-color:var(--blue)}.procedure-options{flex-wrap:wrap;gap:6px;display:flex}.procedure-options button{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:6px;align-items:center;gap:4px;min-height:30px;padding:0 9px;font-size:11px;display:flex}.procedure-options button.selected{color:var(--blue);background:var(--blue-soft);border-color:#91b7ef}.duration-control{justify-content:space-between;align-items:center;height:48px;margin-top:8px;display:flex}.duration-control>span{font-size:12px}.duration-control>div{border:1px solid var(--border-strong);border-radius:7px;align-items:center;display:flex;overflow:hidden}.duration-control button{cursor:pointer;background:#f4f5f7;border:0;justify-content:center;align-items:center;width:38px;height:34px;display:flex}.duration-control strong{text-align:center;width:58px;font-size:12px}.anesthesia-block{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;min-height:62px;padding:12px 0;display:flex}.anesthesia-block label{cursor:pointer;align-items:center;gap:12px;display:flex}.anesthesia-block label>span{flex-direction:column;gap:3px;display:flex}.anesthesia-block strong{font-size:13px}.anesthesia-block small{color:var(--muted);font-size:10px}.anesthesia-block input{width:38px;height:22px;accent-color:var(--blue)}.anesthesia-block select{border:1px solid var(--border-strong);background:#fff;border-radius:6px;height:34px;padding:0 8px}.action-column>.primary-action{width:100%;margin-top:16px}.waiting-location{border:1px solid var(--border);border-radius:8px;grid-template-columns:repeat(3,1fr);margin-bottom:18px;display:grid}.waiting-location>div{border-right:1px solid var(--border);flex-direction:column;justify-content:center;gap:5px;min-height:72px;padding:0 14px;display:flex}.waiting-location>div:last-child{border-right:0}.waiting-location span,.treatment-meta{color:var(--muted);font-size:10px}.waiting-location strong{font-size:15px}.anesthesia-timer{border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-direction:column;align-items:center;padding:28px 0;display:flex}.anesthesia-timer span{color:var(--blue);font-size:12px;font-weight:700}.anesthesia-timer strong{font-variant-numeric:tabular-nums;margin:8px 0 13px;font-size:39px}.anesthesia-timer button{color:var(--blue);cursor:pointer;background:0 0;border:0}.waiting-panel>.primary-action{margin-top:auto}.ready-note{height:46px;color:var(--green);background:var(--green-soft);border-radius:7px;justify-content:center;align-items:center;gap:8px;margin-top:auto;font-size:12px;font-weight:650;display:flex}.treatment-panel{justify-content:center;align-items:center}.treatment-panel>span{color:var(--muted);font-size:12px}.large-timer{color:var(--blue);font-variant-numeric:tabular-nums;margin:11px 0;font-size:52px}.treatment-meta{gap:16px;margin-bottom:30px;display:flex}.treatment-panel .danger-action{width:100%;margin-top:auto}.completed-panel,.cancelled-panel{text-align:center;justify-content:center;gap:12px}.complete-mark,.confirm-icon{background:var(--green-soft);width:48px;height:48px;color:var(--green);border-radius:50%;justify-content:center;align-items:center;margin:0 auto;display:flex}.completed-panel p{margin:0 0 12px}.cancelled-panel>div{border-bottom:1px solid var(--border);text-align:left;justify-content:space-between;padding:12px 0;display:flex}.cancelled-panel span{color:var(--muted);font-size:12px}.cancelled-panel .primary-action{margin-top:20px}.assignment-confirm{z-index:5;background:#0c101640;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.assignment-confirm>div{border:1px solid var(--border);text-align:center;background:#fff;border-radius:12px;width:350px;padding:24px;box-shadow:0 18px 48px #12182233}.assignment-confirm h3{margin:13px 0 6px;font-size:17px}.assignment-confirm p{color:var(--muted);margin:0 0 20px;font-size:12px}.assignment-confirm .primary-action{width:100%}.view-switch button{height:32px}.rooms-layout{flex:1;min-height:0;display:flex}.waiting-queue{border-right:1px solid var(--border);background:#fbfbfc;flex-direction:column;flex:0 0 270px;width:270px;display:flex}.waiting-queue>header{border-bottom:1px solid var(--border);flex:0 0 45px;align-items:center;gap:7px;height:45px;padding:0 15px;display:flex}.waiting-queue h2{margin:0;font-size:14px}.waiting-queue header span{color:var(--muted);font-size:12px}.queue-list{flex:1;min-height:0;overflow:auto}.queue-list button{border:0;border-bottom:1px solid var(--border);text-align:left;cursor:pointer;background:#fff;grid-template-columns:1fr auto auto;align-items:center;gap:8px;width:100%;min-height:72px;padding:10px 9px 10px 21px;display:grid;position:relative}.queue-list button:hover{background:#f7faff}.queue-list .status-rail{height:44px;left:8px}.queue-list button>div{flex-direction:column;gap:4px;min-width:0;display:flex}.queue-list strong{font-size:13px}.queue-list span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.queue-meta{align-items:flex-end}.queue-meta b{font-size:11px}.queue-meta span.green{color:var(--green)}.queue-meta span.blue{color:var(--blue)}.queue-meta span.red{color:var(--red)}.room-canvas{background:#f7f8fa;flex:1;min-width:0;min-height:0;overflow:auto}.floor-layout{min-width:660px;height:100%;display:flex}.floor-nav{border-right:1px solid var(--border);background:#fff;flex-direction:column;flex:0 0 72px;gap:8px;width:72px;padding:16px 10px;display:flex}.floor-nav button{border:1px solid var(--border);height:48px;color:var(--muted);cursor:pointer;background:#fff;border-radius:7px}.floor-nav button.active{color:var(--blue);border-color:var(--blue);background:var(--blue-soft);font-weight:700}.floor-content{flex-direction:column;flex:1;min-width:0;display:flex}.floor-title{border-bottom:1px solid var(--border);background:#fff;flex:0 0 45px;align-items:baseline;gap:8px;height:45px;padding:0 17px;display:flex}.floor-title strong{line-height:45px}.floor-title span{color:var(--muted);font-size:11px}.floor-map{border:1px solid var(--border-strong);background:#eef0f3;flex:1;grid-template-rows:1fr .72fr 1fr;grid-template-columns:repeat(4,1fr);gap:10px;min-height:480px;margin:16px;padding:8px;display:grid;position:relative}.map-room{border:1px solid var(--border-strong);text-align:left;cursor:pointer;background:#fff;flex-direction:column;min-width:0;padding:12px;display:flex;position:relative}.map-room:hover{border-color:var(--blue)}.map-room>div{justify-content:space-between;gap:8px;display:flex}.map-room>div>span{color:var(--muted);font-size:9px}.map-room.occupied{border-top:3px solid var(--blue)}.map-room.reserved{border-top:3px solid var(--green)}.map-room.available{border-top:3px solid #aeb4bb}.map-room h3{margin:auto 0 4px;font-size:15px}.map-room p{color:var(--muted);margin:0;font-size:10px}.map-room time{color:var(--blue);font-variant-numeric:tabular-nums;margin-top:11px;font-size:20px;font-weight:720}.available-copy{margin:auto 0!important}.corridor-label{color:#a1a6ad;letter-spacing:.4em;grid-area:2/1/auto/5;justify-content:center;align-items:center;font-size:11px;display:flex}.room-detail-backdrop{z-index:90;background:#11151b47;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.room-detail{border:1px solid var(--border);background:#fff;border-radius:12px;width:450px;max-height:75dvh;padding:20px;overflow:auto;box-shadow:0 18px 55px #191f2838}.room-detail header{justify-content:space-between;align-items:flex-start;display:flex}.room-detail header span{color:var(--muted);font-size:10px}.room-detail h2{margin:3px 0 0;font-size:21px}.room-current{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:1fr auto;gap:20px;margin:18px 0 13px;padding:17px 0;display:grid}.room-current>div:first-child{flex-direction:column;gap:5px;display:flex}.room-current span{color:var(--muted);font-size:10px}.room-current strong{font-size:18px}.room-current small{color:var(--muted);font-size:11px}.room-countdown{text-align:right}.room-countdown strong{color:var(--blue);font-variant-numeric:tabular-nums;margin-top:4px;font-size:27px;display:block}.room-detail>.danger-action{width:100%}.room-empty-detail{height:112px;color:var(--green);background:var(--green-soft);flex-direction:column;justify-content:center;align-items:center;gap:9px;margin:18px 0;display:flex}.room-next-list{margin-top:20px}.room-next-list h3{margin:0 0 9px;font-size:13px}.room-next-list h3 span{color:var(--muted)}.room-next-list>div{border-top:1px solid var(--border);grid-template-columns:24px 74px 1fr auto;align-items:center;min-height:44px;font-size:11px;display:grid}.room-next-list em{background:#eef0f3;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-style:normal;display:flex}.room-next-list time{color:var(--muted)}.room-next-list p{color:var(--muted);font-size:11px}.board-mode .rooms-layout{padding:0}.board-mode .room-canvas{width:100%}.timeline-board{background:#fff;min-width:780px;min-height:100%;padding:12px 18px 24px}.timeline-axis{height:35px;color:var(--muted);border-bottom:1px solid var(--border-strong);grid-template-columns:88px repeat(6,1fr);align-items:center;font-size:10px;display:grid}.timeline-lane{border-bottom:1px solid var(--border);grid-template-columns:88px 1fr;align-items:stretch;min-height:67px;display:grid}.timeline-lane>strong{align-items:center;font-size:11px;display:flex}.lane-track{background-image:linear-gradient(90deg,#0000 calc(100% - 1px),#e8eaed calc(100% - 1px));background-size:20% 100%;position:relative}.now-line{z-index:2;background:var(--red);width:1px;position:absolute;top:0;bottom:0}.timeline-event{border-radius:5px;flex-direction:column;gap:2px;min-width:75px;height:43px;padding:6px 8px;display:flex;position:absolute;top:11px;overflow:hidden}.timeline-event.current{color:#114fa7;border-left:3px solid var(--blue);background:#dceaff}.timeline-event.next{color:#187a3b;border-left:3px solid var(--green);background:#e9f6ee}.timeline-event b{font-size:10px}.timeline-event span{white-space:nowrap;text-overflow:ellipsis;font-size:9px;overflow:hidden}.doctor-work-grid{grid-template-columns:minmax(0,1.7fr) minmax(250px,.7fr);gap:14px;padding:14px 20px 0;display:grid}.current-assignment,.assignment-side>section,.today-treatments{border:1px solid var(--border);background:#fff}.current-assignment{min-height:390px}.section-title-row{border-bottom:1px solid var(--border);align-items:center;gap:7px;height:43px;padding:0 14px;display:flex}.section-title-row h2{margin:0;font-size:13px}.section-title-row span{color:var(--muted);font-size:10px}.assignment-empty{flex-direction:column;justify-content:center;align-items:center;height:340px;display:flex}.assignment-empty svg{color:#9ca2aa}.assignment-empty h3{margin:15px 0 5px;font-size:17px}.assignment-empty p{color:var(--muted);margin:0 0 24px;font-size:12px}.assignment-empty .primary-action{width:260px}.doctor-customer-card{padding:17px}.doctor-customer-head{justify-content:space-between;align-items:flex-start;display:flex}.doctor-customer-head h2{margin:0;font-size:24px}.doctor-customer-head p{color:var(--muted);margin:5px 0 0;font-size:11px}.room-destination{text-align:right}.room-destination span{color:var(--muted);font-size:9px;display:block}.room-destination strong{color:var(--blue);font-size:27px}.doctor-procedure-strip{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:1.3fr .8fr .8fr .8fr;margin:15px 0;display:grid}.doctor-procedure-strip>div{border-right:1px solid var(--border);flex-direction:column;justify-content:center;gap:5px;min-height:58px;padding:0 11px;display:flex}.doctor-procedure-strip>div:first-child{padding-left:0}.doctor-procedure-strip>div:last-child{border-right:0}.doctor-procedure-strip span{color:var(--muted);font-size:9px}.doctor-procedure-strip strong{font-size:12px}.doctor-notes{border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr;gap:18px;padding-bottom:14px;display:grid}.doctor-notes h3,.doctor-history h3{margin:0 0 5px;font-size:11px}.doctor-notes p{color:#4e535a;margin:0;font-size:11px;line-height:1.45}.doctor-history{padding:12px 0}.doctor-history>div{grid-template-columns:85px 1fr 100px;padding:4px 0;font-size:10px;display:grid}.doctor-history time,.doctor-history small{color:var(--muted)}.doctor-customer-card>.primary-action{width:100%}.doctor-running{align-items:center;gap:12px;display:flex}.doctor-running>div{background:var(--blue-soft);height:48px;color:var(--blue);flex:1;align-items:center;gap:7px;padding:0 13px;display:flex}.doctor-running strong{font-variant-numeric:tabular-nums;margin-left:auto;font-size:20px}.doctor-running .danger-action{width:160px}.assignment-side{flex-direction:column;gap:14px;display:flex}.assignment-side>section{min-height:180px}.side-description{color:var(--muted);margin:13px 14px 10px;font-size:11px}.add-assignment{justify-content:center;align-items:center;gap:6px;width:calc(100% - 28px);margin:0 14px 12px;display:flex}.additional-list{border-top:1px solid var(--border)}.additional-list>div{border-bottom:1px solid var(--border);grid-template-columns:24px 1fr auto;align-items:center;gap:7px;min-height:49px;padding:0 12px;display:grid}.additional-list em{background:#eef0f3;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:9px;font-style:normal;display:flex}.additional-list>div>div{flex-direction:column;gap:3px;display:flex}.additional-list strong{font-size:11px}.additional-list span{color:var(--muted);font-size:9px}.additional-list b{font-size:10px}.additional-list>small{color:var(--muted);padding:17px 14px;display:block}.today-pace{padding-bottom:15px}.today-pace>strong{margin:14px;font-size:13px;display:block}.pace-track{background:#e7e9ed;border-radius:4px;height:7px;margin:0 14px 6px;position:relative}.pace-track i{background:var(--green);border-radius:4px;height:100%;display:block}.pace-track b{background:#474c54;width:1px;position:absolute;top:-4px;bottom:-4px;left:50%}.today-pace>div:last-child{color:var(--muted);justify-content:space-between;margin:0 14px;font-size:9px;display:flex}.today-treatments{margin:14px 20px 24px}.treatment-table-head,.treatment-table-row{grid-template-columns:.65fr .8fr 1.5fr .6fr .6fr .5fr;align-items:center;min-height:35px;padding:0 14px;font-size:10px;display:grid}.treatment-table-head{color:var(--muted);background:#f5f6f8}.treatment-table-row{border-top:1px solid var(--border)}.treatment-table-row time{color:var(--muted)}.floating-message{z-index:120;color:#fff;background:#1f242b;border-radius:8px;align-items:center;gap:7px;padding:11px 15px;font-size:12px;display:flex;position:fixed;bottom:30px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00000038}.modal-backdrop{z-index:120;background:#10141a52;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.next-prompt{text-align:center;background:#fff;border-radius:12px;width:390px;padding:24px;position:relative}.next-prompt>.icon-button{position:absolute;top:12px;right:12px}.next-prompt h3{margin:13px 0 5px}.next-prompt p{color:var(--muted);margin:0 0 20px;font-size:12px}.next-prompt>div:last-child{grid-template-columns:1fr 1.4fr;gap:8px;display:grid}.date-button{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:7px;align-items:center;gap:7px;height:34px;padding:0 12px;display:flex}.capacity-strip{border-bottom:1px solid var(--border);flex:0 0 76px;grid-template-columns:repeat(4,1fr);height:76px;display:grid}.capacity-strip>div{border-right:1px solid var(--border);flex-direction:column;justify-content:center;gap:5px;padding:0 22px;display:flex}.capacity-strip span{color:var(--muted);font-size:10px}.capacity-strip strong{font-size:18px}.staff-timeline{flex:1;min-height:0;overflow:auto}.schedule-head{border-bottom:1px solid var(--border);min-width:840px;height:35px;color:var(--muted);background:#f5f6f8;grid-template-columns:170px repeat(11,minmax(56px,1fr));align-items:center;font-size:9px;display:grid}.schedule-head>*{border-left:1px solid var(--border);padding-left:10px}.schedule-group{min-width:840px}.schedule-group h2{border-bottom:1px solid var(--border);background:#fafbfc;align-items:center;gap:7px;height:32px;margin:0;padding:0 14px;font-size:11px;display:flex}.schedule-group h2 span{color:var(--muted)}.schedule-row{border-bottom:1px solid var(--border);grid-template-columns:170px 1fr;min-height:48px;display:grid}.schedule-person{align-items:center;gap:7px;padding:0 12px;display:flex}.schedule-person strong{font-size:11px}.schedule-person small{color:var(--blue);font-size:9px}.schedule-person button{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:6px;justify-content:center;align-items:center;width:27px;height:27px;margin-left:auto;display:flex}.schedule-track{background-image:linear-gradient(90deg,#0000 calc(100% - 1px),#e7e9ed calc(100% - 1px));background-size:9.09091% 100%;position:relative}.shift-block{border-left:3px solid var(--blue);color:#164d9a;background:#e6f0ff;border-radius:4px;align-items:center;height:32px;padding:0 8px;font-size:9px;display:flex;position:absolute;top:8px}.shift-1{border-left-color:var(--green);color:#19763a;background:#eaf7ef}.shift-2{color:#634596;background:#f0ebf8;border-left-color:#8d6cc8}.schedule-row.off{opacity:.45}.staff-toolbar{justify-content:flex-start}.staff-table{flex:1;min-height:0;overflow:auto}.staff-table-head,.staff-row{grid-template-columns:1.1fr .65fr .7fr 1fr 1.1fr 1.5fr .65fr;align-items:center;min-width:850px;padding:0 20px;display:grid}.staff-table-head{height:35px;color:var(--muted);border-bottom:1px solid var(--border);background:#f5f6f8;font-size:10px}.staff-row{border:0;border-bottom:1px solid var(--border);text-align:left;cursor:pointer;background:#fff;width:100%;min-height:59px;font-size:11px}.staff-row:hover{background:#f8fbff}.staff-name{align-items:center;gap:9px;display:flex}.staff-name i{background:#eef0f3;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-style:normal;display:flex}.note-cell{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);overflow:hidden}.working{color:var(--green);font-weight:650}.off{color:var(--muted)}.staff-sheet{background:#fff;border-radius:13px 13px 0 0;width:460px;padding:22px;box-shadow:0 -12px 38px #13192229}.staff-sheet header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;padding-bottom:16px;display:flex}.staff-sheet h2{margin:0;font-size:22px}.staff-sheet header p{color:var(--muted);margin:5px 0 0;font-size:11px}.staff-details{margin:0}.staff-details div{border-bottom:1px solid var(--border);grid-template-columns:110px 1fr;align-items:center;min-height:46px;display:grid}.staff-details dt{color:var(--muted);font-size:11px}.staff-details dd{margin:0;font-size:12px}.staff-note{flex-direction:column;gap:8px;padding:16px 0;display:flex}.staff-note span{font-size:12px;font-weight:650}.staff-note textarea{resize:none;border:1px solid var(--border-strong);border-radius:7px;outline:0;height:100px;padding:10px}.staff-sheet>.primary-action{width:100%}@keyframes sheet-up{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@media (width<=980px){.topbar{grid-template-columns:auto 1fr auto}.clinic-brand{justify-self:start;margin-left:22px}.topbar-date span{display:none}.side-nav{flex-basis:112px;width:112px}.appointment-table-head,.appointment-row{grid-template-columns:62px .9fr 1.55fr .85fr .8fr}.waiting-queue{flex-basis:240px;width:240px}.doctor-work-grid{grid-template-columns:minmax(0,1fr) 230px}}@media (width<=720px){body{overflow:auto}.app-shell{min-height:100dvh;overflow:visible}.topbar{height:104px;padding:max(10px, env(safe-area-inset-top)) 10px 8px;grid-template-rows:45px 42px;grid-template-columns:1fr auto}.topbar-date{display:none}.clinic-brand{grid-area:1/1;margin:0}.topbar-actions{grid-area:2/1/auto/3;justify-content:space-between;width:100%}.demo-button{height:34px}.app-body{height:calc(100dvh - 166px)}.side-nav{display:none}.main-content{overflow:auto}.mobile-nav{z-index:40;height:calc(62px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--border);background:#fffffffa;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-nav button{min-width:64px;color:var(--muted);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:9px;display:flex}.mobile-nav button.active{color:var(--blue)}.page-heading{flex-basis:55px;height:55px;padding:0 14px}.page-heading h1{font-size:18px}.page-heading span{display:none}.appointments-toolbar,.staff-toolbar{flex-direction:column;flex-basis:auto;align-items:stretch;gap:8px;height:auto;padding:8px 10px}.search-field{width:100%}.filter-tabs{overflow-x:auto}.filter-tabs button{white-space:nowrap}.appointment-table-head{display:none}.appointment-row{grid-template-columns:54px 1fr auto;grid-template-areas:"time customer status""time procedure source";gap:3px 8px;min-height:62px;padding:7px 12px 7px 27px}.appointment-row time{grid-area:time}.customer-cell{grid-area:customer}.procedure-cell{grid-area:procedure}.source-cell{color:var(--muted);grid-area:source;font-size:10px}.row-status{grid-area:status}.status-rail{left:10px}.customer-sheet{border-radius:0;width:100%;height:100dvh}.sheet-header{padding-top:max(26px, env(safe-area-inset-top))}.sheet-summary-row{grid-template-columns:repeat(3,1fr);overflow-x:auto}.sheet-summary-row>div:nth-child(n+4){display:none}.sheet-columns{grid-template-columns:1fr}.sheet-column:first-child{border-right:0}.action-column{min-height:480px}.sheet-title-line h2{font-size:22px}.rooms-layout{flex-direction:column;overflow:auto}.waiting-queue{border-right:0;border-bottom:1px solid var(--border);flex:0 0 250px;width:100%}.room-canvas{min-height:540px;overflow:auto}.floor-layout{min-width:720px}.doctor-work-grid{padding:10px;display:block}.assignment-side{margin-top:10px}.today-treatments{margin:10px;overflow-x:auto}.treatment-table-head,.treatment-table-row{min-width:650px}.doctor-procedure-strip{grid-template-columns:1fr 1fr}.doctor-procedure-strip>div{border-bottom:1px solid var(--border)}.doctor-notes{grid-template-columns:1fr}.doctor-running{flex-direction:column}.doctor-running>div,.doctor-running .danger-action{width:100%}.capacity-strip{grid-template-columns:repeat(4,150px);overflow-x:auto}.staff-timeline,.staff-table{overflow:auto}.staff-sheet{width:100%;padding-bottom:calc(18px + env(safe-area-inset-bottom));border-radius:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.compact-backdrop{justify-content:center;align-items:center;padding:22px}.compact-customer-sheet{border-radius:12px;width:min(790px,100vw - 70px);height:min(560px,100dvh - 94px);animation:.2s cubic-bezier(.22,.78,.28,1) compact-card-in;overflow:hidden;box-shadow:0 18px 48px #1319222e}@keyframes compact-card-in{0%{opacity:0;transform:translateY(44px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.compact-sheet-header .sheet-title-line{gap:8px}.compact-sheet-header p{margin-top:5px}.compact-booking-line{border-bottom:1px solid var(--border);background:#f7f8f9;flex:0 0 43px;align-items:center;gap:14px;height:43px;padding:0 20px;font-size:11px;display:flex}.compact-booking-line span{color:#4d5259}.compact-booking-line b{color:var(--blue);margin-left:auto}.compact-sheet-body{flex:1;grid-template-columns:.96fr 1.04fr;min-height:0;display:grid}.record-pane,.compact-action-pane{min-height:0;overflow:auto}.compact-action-pane{border-left:1px solid var(--border);background:#fff;padding:0 18px 18px}.flat-section{border-bottom:1px solid var(--border);padding:14px 18px}.flat-section h3{margin:0 0 8px;font-size:12px}.flat-rows>div{border-top:1px solid #eceef1;grid-template-columns:92px 1fr;align-items:center;min-height:34px;font-size:11px;display:grid}.flat-rows>div:first-child{border-top:0}.flat-rows span{color:var(--muted)}.flat-rows strong{font-size:11px;font-weight:590}.compact-history>div{border-top:1px solid #eceef1;grid-template-columns:78px 1fr 86px;align-items:center;gap:8px;min-height:31px;font-size:10px;display:grid}.compact-history>div:first-child{border-top:0}.compact-history time,.compact-history span{color:var(--muted)}.membership-line{grid-template-columns:.75fr 1.35fr auto;align-items:center;gap:8px;min-height:38px;font-size:10px;display:grid}.membership-line span{color:var(--muted)}.membership-line b{color:var(--blue)}.memo-section p{color:#4f545b;margin:0;font-size:11px;line-height:1.45}.compact-stage{flex-direction:column;min-height:100%;padding-top:15px;display:flex}.stage-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;height:35px;display:flex}.stage-heading h3{margin:0;font-size:13px}.stage-heading span{color:var(--muted);font-size:10px}.stage-heading strong{color:var(--blue);font-size:17px}.arrival-stage .primary-action{margin-top:auto}.compact-note-field{border-bottom:1px solid var(--border);flex-direction:column;gap:7px;padding:13px 0;display:flex}.compact-note-field>span{font-size:11px;font-weight:650}.compact-note-field textarea{resize:none;border:1px solid var(--border-strong);border-radius:5px;outline:0;height:78px;padding:9px;font-size:11px}.compact-note-field textarea:focus{border-color:var(--blue)}.compact-control-row{border-bottom:1px solid var(--border);align-items:center;gap:10px;min-height:48px;display:flex}.compact-control-row>span{width:52px;color:var(--muted);flex:0 0 52px;font-size:10px}.compact-control-row>select{height:32px;color:var(--text);background:0 0;border:0;outline:0;flex:1;font-size:11px}.small-stepper{border:1px solid var(--border-strong);border-radius:5px;align-items:center;margin-left:auto;display:flex;overflow:hidden}.small-stepper button{cursor:pointer;background:#f5f6f8;border:0;justify-content:center;align-items:center;width:34px;height:30px;display:flex}.small-stepper strong{text-align:center;width:54px;font-size:11px}.simple-toggle{cursor:pointer;width:34px;height:20px;position:relative}.simple-toggle input{opacity:0;pointer-events:none;position:absolute}.simple-toggle i{background:#c9cdd2;border-radius:11px;position:absolute;inset:0}.simple-toggle i:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px}.simple-toggle input:checked+i{background:var(--blue)}.simple-toggle input:checked+i:after{transform:translate(14px)}.anesthesia-row select{border:1px solid var(--border);border-radius:5px;flex:0 0 72px;margin-left:auto;padding:0 5px}.consult-stage>.primary-action,.waiting-stage>.primary-action,.cancelled-stage>.primary-action{width:100%;margin-top:auto}.waiting-rows{margin-top:7px}.compact-timer-block{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:1fr auto auto;align-items:center;gap:11px;margin-top:16px;padding:18px 0;display:grid}.compact-timer-block span{color:var(--blue);font-size:11px}.compact-timer-block strong{color:var(--blue);font-variant-numeric:tabular-nums;font-size:28px}.compact-timer-block button{color:var(--blue);cursor:pointer;background:0 0;border:0;font-size:11px}.compact-ready{height:43px;color:var(--green);border-top:1px solid var(--border);justify-content:center;align-items:center;gap:6px;margin-top:auto;font-size:11px;font-weight:650;display:flex}.compact-treatment-stage>span{color:var(--muted);font-size:10px}.compact-treatment-stage>strong{color:var(--blue);font-variant-numeric:tabular-nums;margin:9px 0 6px;font-size:44px}.compact-treatment-stage>small{color:var(--muted)}.compact-result-stage{justify-content:center;align-items:center}.compact-result-stage h3{margin:10px 0 4px}.compact-result-stage p{color:var(--muted);margin:0 0 18px;font-size:11px}.compact-result-stage .secondary-action{width:100%}.cancelled-stage .flat-rows{margin-top:3px}@media (width<=720px){.compact-backdrop{align-items:flex-end;padding:0}.compact-customer-sheet{border-radius:0;width:100%;height:100dvh}.compact-customer-sheet.booking-card{height:100dvh}.compact-sheet-header{padding-top:max(22px, env(safe-area-inset-top))}.compact-booking-line{white-space:nowrap;overflow-x:auto}.compact-sheet-body{display:block;overflow:auto}.record-pane,.compact-action-pane{overflow:visible}.compact-action-pane{border-left:0;border-top:1px solid var(--border-strong);min-height:470px;padding:0 18px calc(18px + env(safe-area-inset-bottom))}}.app-body{flex-direction:column;height:calc(100dvh - 64px);display:flex}.top-tabs{border-bottom:1px solid var(--border);background:#fff;flex:0 0 50px;justify-content:center;align-items:stretch;gap:18px;height:50px;padding:0 20px;display:flex}.top-tabs button{color:#686d74;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;justify-content:center;align-items:center;gap:7px;min-width:112px;font-size:13px;font-weight:620;display:flex}.top-tabs button svg{color:#858a91;stroke-width:1.8px}.top-tabs button.active{color:var(--blue);border-bottom-color:var(--blue)}.top-tabs button.active svg{color:var(--blue)}.room-detail{width:min(580px,100vw - 40px);max-height:82dvh}.room-detail-timeline{border-top:1px solid var(--border);margin-top:18px;padding-top:16px}.room-detail-timeline h3{margin:0 0 10px;font-size:13px}.room-timeline-scroll{-webkit-overflow-scrolling:touch;padding-bottom:7px;overflow-x:auto}.room-timeline-inner{width:860px}.room-timeline-axis{border-bottom:1px solid var(--border);height:26px;color:var(--muted);grid-template-columns:repeat(9,1fr);align-items:center;font-size:9px;display:grid}.room-timeline-lane{background-image:linear-gradient(90deg,#0000 calc(100% - 1px),#e8eaed calc(100% - 1px));background-size:12.5% 100%;height:74px;position:relative}.room-detail-now{z-index:3;background:var(--red);width:1px;position:absolute;top:0;bottom:0}.room-timeline-event{border-radius:5px;flex-direction:column;gap:3px;min-width:54px;height:48px;padding:7px 8px;display:flex;position:absolute;top:13px;overflow:hidden}.room-timeline-event.current{color:#114fa7;border-left:3px solid var(--blue);background:#dceaff}.room-timeline-event.next{color:#187a3b;border-left:3px solid var(--green);background:#e9f6ee}.room-timeline-event strong{white-space:nowrap;font-size:10px}.room-timeline-event span{white-space:nowrap;text-overflow:ellipsis;font-size:9px;overflow:hidden}.room-timeline-empty{color:var(--muted);font-size:10px;position:absolute;top:27px;left:16px}@media (width<=720px){.app-body{height:calc(100dvh - 104px)}.top-tabs{flex-basis:48px;justify-content:flex-start;gap:0;height:48px;padding:0;overflow-x:auto}.top-tabs button{flex:1;min-width:92px;font-size:11px}.room-detail{width:calc(100vw - 20px);max-height:86dvh;padding:16px}}@keyframes stage-change{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes rail-on{0%{opacity:0;transform:scaleY(.35)}to{opacity:1;transform:scaleY(1)}}@keyframes live-pulse{0%,to{opacity:1;box-shadow:0 0 #22a55538}50%{opacity:.72;box-shadow:0 0 0 5px #22a55500}}.page{animation:.2s ease-out stage-change}.compact-customer-sheet{animation:.32s cubic-bezier(.22,.78,.28,1) compact-card-in}.compact-stage{animation:.24s ease-out stage-change}.assignment-confirm>div{animation:.24s cubic-bezier(.22,.78,.28,1) compact-card-in}.top-tabs button{transition:color .18s,border-color .18s,background-color .18s}.appointment-row>.status-rail{border-radius:0 2px 2px 0;width:4px;height:auto;animation:.24s ease-out rail-on;top:0;bottom:0;left:0;transform:none}.compact-treatment-stage{justify-content:flex-start;align-items:stretch}.treatment-started-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;min-height:58px;display:flex}.treatment-started-heading>span{color:var(--green);align-items:center;gap:7px;font-size:12px;font-weight:720;display:flex}.treatment-started-heading>span i{background:var(--green);border-radius:50%;width:8px;height:8px;animation:1.5s ease-in-out infinite live-pulse}.treatment-started-heading>strong{color:var(--blue);font-size:14px}.treatment-started-details>div{border-bottom:1px solid var(--border);grid-template-columns:82px 1fr;align-items:center;min-height:43px;display:grid}.treatment-started-details span{color:var(--muted);font-size:10px}.treatment-live-timer{flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:150px;display:flex}.treatment-live-timer span{color:var(--muted);font-size:10px}.treatment-live-timer strong{color:var(--blue);font-variant-numeric:tabular-nums;margin-top:8px;font-size:44px}.compact-treatment-stage .danger-action{width:100%;margin-top:auto}.topbar{height:64px;padding:max(8px, env(safe-area-inset-top)) 16px 0;grid-template-columns:auto minmax(360px,1fr) auto}.topbar .top-tabs{background:0 0;border-bottom:0;gap:4px;width:100%;min-width:0;height:100%;padding:0 14px}.topbar .top-tabs button{min-width:88px;max-width:118px}.app-body{height:calc(100dvh - 64px)}.appointment-table-head,.appointment-row{grid-template-columns:72px 1.05fr 2fr 1fr}@media (width<=720px){.topbar{height:58px;padding:max(6px, env(safe-area-inset-top)) 7px 0;align-items:stretch;display:flex;overflow-x:auto}.topbar-date{display:none}.topbar .top-tabs{flex:1 0 250px;order:1;padding:0;overflow:visible}.topbar .top-tabs button{gap:4px;min-width:62px;max-width:none;padding:0 5px;font-size:10px}.topbar-actions{flex:none;order:2;grid-area:auto;justify-content:flex-end;gap:4px;width:auto}.demo-button{width:42px;padding:0 5px;font-size:9px}.app-body{height:calc(100dvh - 58px)}.appointment-row{grid-template-columns:54px 1fr auto;grid-template-areas:"time customer source""time procedure source"}}.appointment-row{grid-template-columns:minmax(0,1fr) 112px;gap:18px;min-height:64px;padding:8px 22px 8px 24px;display:grid}.appointment-primary{flex-direction:column;justify-content:center;gap:6px;min-width:0;display:flex}.appointment-title{align-items:center;gap:8px;min-width:0;display:flex}.appointment-title>strong{white-space:nowrap;font-size:15px}.appointment-title>em{color:#2464b5;text-overflow:ellipsis;white-space:nowrap;background:#f8fbff;border:1px solid #8eb2e7;border-radius:4px;min-width:0;max-width:180px;padding:2px 6px;font-size:11px;font-style:normal;font-weight:590;overflow:hidden}.appointment-primary>small{color:var(--muted);font-size:11px}.appointment-position{flex-direction:column;justify-content:center;align-items:flex-end;gap:5px;display:flex}.appointment-position time{color:#333840;font-variant-numeric:tabular-nums;font-size:12px}.appointment-position strong{color:#4e535a;font-size:12px}.appointment-position.green strong{color:var(--green)}.appointment-position.red strong{color:var(--red)}.compact-sheet-header{min-height:80px;padding:18px 20px 13px}.compact-sheet-header .sheet-title-line>span:not(.plain-status),.compact-sheet-header p{font-size:14px}.flat-section{padding:15px 18px}.flat-section h3{margin-bottom:10px;font-size:14px}.flat-rows>div{grid-template-columns:96px 1fr;min-height:40px;font-size:12px}.flat-rows span{font-size:12px}.flat-rows strong{font-size:13px}.compact-history>div{grid-template-columns:88px 1fr 96px;min-height:39px;font-size:12px}.membership-line{min-height:44px;font-size:12px}.membership-line strong{font-size:13px}.memo-section p{font-size:13px;line-height:1.5}.compact-action-pane{padding:0 20px 20px}.stage-heading{height:42px}.stage-heading strong{font-size:18px}.compact-note-field>span{font-size:13px}.compact-note-field textarea{height:88px;font-size:13px}.compact-control-row{min-height:52px}.compact-control-row>span{flex-basis:58px;width:58px;font-size:12px}.compact-control-row>select,.small-stepper strong{font-size:13px}.primary-action,.secondary-action,.danger-action,.treatment-started-heading>span{font-size:14px}.treatment-started-heading>strong{font-size:15px}.treatment-started-details span{font-size:12px}.treatment-started-details strong{font-size:14px}.treatment-live-timer span{font-size:12px}.treatment-live-timer strong{font-size:48px}@media (width<=720px){.appointment-row{grid-template-columns:minmax(0,1fr) 84px;grid-template-areas:none;gap:10px;min-height:68px;padding:8px 12px 8px 18px}.appointment-title>strong{font-size:14px}.appointment-title>em{max-width:120px;font-size:10px}.appointment-position time,.appointment-position strong{font-size:11px}.compact-customer-sheet,.compact-customer-sheet.booking-card{width:100%;height:100dvh}}@keyframes transfer-layer{0%,72%{opacity:1}to{opacity:0}}@keyframes customer-to-room{0%{opacity:0;transform:translate(-72px)scale(1)}18%{opacity:1}75%{opacity:1;transform:translate(68px)scale(.84)}to{opacity:0;transform:translate(88px)scale(.7)}}@keyframes transfer-target{0%,48%{border-color:var(--border-strong);transform:scale(.94)}68%{border-color:var(--blue);transform:scale(1.08);box-shadow:0 0 0 6px #1769e01f}to{border-color:var(--blue);box-shadow:none;transform:scale(1)}}@keyframes room-started-flash{0%,to{box-shadow:inset 0 0 0 2px var(--blue);background:#fff}25%,75%{box-shadow:inset 0 0 0 4px var(--blue), 0 0 0 7px #1769e01f;background:#eef5ff}50%{box-shadow:inset 0 0 0 2px var(--blue);background:#fff}}.start-transfer{z-index:7;pointer-events:none;background:#ffffffe0;justify-content:center;align-items:center;animation:.95s forwards transfer-layer;display:flex;position:absolute;inset:0}.start-transfer>div{justify-content:space-between;align-items:center;width:330px;display:flex;position:relative}.start-transfer span,.start-transfer strong{border:1px solid var(--border-strong);background:#fff;border-radius:8px;justify-content:center;align-items:center;min-width:112px;height:48px;padding:0 14px;font-size:14px;display:flex}.start-transfer span{z-index:2;color:var(--text);font-weight:720;animation:.9s cubic-bezier(.22,.78,.28,1) forwards customer-to-room;position:relative}.start-transfer strong{color:var(--blue);animation:.9s forwards transfer-target}.start-transfer i{background:#a9b9ce;height:1px;position:absolute;left:108px;right:108px}.map-room.just-started{z-index:4;animation:.72s ease-in-out 4 room-started-flash}.room-start-flash{z-index:4;background:var(--blue);color:#fff;border-radius:4px;padding:4px 7px;font-size:10px;position:absolute;top:36px;right:10px}.doctor-work-page{overflow:hidden}.doctor-page-heading{flex-basis:58px;height:58px}.doctor-page-heading h1{font-size:23px}.doctor-page-heading span{font-size:14px}.doctor-assignment-count{font-weight:700;color:var(--blue)!important}.doctor-work-content{background:#f5f6f8;flex:1;min-height:0;padding:16px 20px 22px;overflow:auto}.doctor-assignment-deck{border:1px solid var(--border);background:#fff;border-radius:12px;overflow:hidden}.doctor-assignment-deck>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;height:56px;padding:0 16px;display:flex}.doctor-assignment-deck>header h2{margin:0;font-size:17px}.doctor-assignment-deck>header button{align-items:center;gap:6px;min-height:36px;display:flex}.doctor-card-scroll{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:14px;min-height:448px;padding:16px;display:flex;overflow-x:auto}.doctor-assignment-card,.doctor-empty-card{scroll-snap-align:start;border:1px solid var(--border-strong);background:#fff;border-radius:12px;flex:0 0 min(620px,100vw - 160px);min-height:414px;box-shadow:0 5px 16px #1e273412}.doctor-assignment-card{flex-direction:column;padding:18px;display:flex}.doctor-empty-card{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.doctor-empty-card h3{color:var(--text);margin:0 0 10px;font-size:19px}.doctor-empty-card .primary-action{width:230px}.doctor-card-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;padding-bottom:15px;display:flex}.doctor-card-head>div:first-child>span{color:var(--blue);font-size:12px;font-weight:700}.doctor-card-head h2{margin:5px 0 4px;font-size:28px}.doctor-card-head p{color:var(--muted);margin:0;font-size:13px}.doctor-room-number{text-align:right}.doctor-room-number span{color:var(--muted);font-size:12px;display:block}.doctor-room-number strong{color:var(--blue);font-size:32px}.doctor-card-facts{border-bottom:1px solid var(--border);grid-template-columns:1.35fr .65fr .7fr .8fr;display:grid}.doctor-card-facts>div{border-right:1px solid var(--border);flex-direction:column;justify-content:center;gap:6px;min-height:66px;padding:0 12px;display:flex}.doctor-card-facts>div:first-child{padding-left:0}.doctor-card-facts>div:last-child{border-right:0}.doctor-card-facts span{color:var(--muted);font-size:11px}.doctor-card-facts strong{font-size:14px}.doctor-consult-note,.doctor-last-visit{border-bottom:1px solid var(--border);padding:13px 0}.doctor-consult-note h3,.doctor-last-visit h3{margin:0 0 7px;font-size:13px}.doctor-consult-note p{color:#454a51;margin:0;font-size:13px;line-height:1.5}.doctor-last-visit>div{grid-template-columns:100px 1fr 110px;align-items:center;gap:9px;font-size:12px;display:grid}.doctor-last-visit time,.doctor-last-visit span{color:var(--muted)}.doctor-start-button{width:100%;margin-top:auto}.doctor-card-running{gap:10px;margin-top:auto;display:flex}.doctor-card-running>div{height:48px;color:var(--blue);background:var(--blue-soft);border-radius:7px;flex:1;align-items:center;gap:8px;padding:0 13px;display:flex}.doctor-card-running>div strong{font-variant-numeric:tabular-nums;margin-left:auto;font-size:22px}.doctor-card-running .danger-action{width:150px}.doctor-summary-buttons{grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;display:grid}.doctor-summary-buttons button{border:1px solid var(--border);cursor:pointer;text-align:left;background:#fff;border-radius:11px;justify-content:space-between;align-items:center;min-height:78px;padding:0 18px;display:flex}.doctor-summary-buttons span{color:var(--muted);font-size:14px}.doctor-summary-buttons strong{font-size:18px}.doctor-detail-modal{background:#fff;border-radius:12px;width:min(620px,100vw - 40px);max-height:76dvh;padding:20px;animation:.24s ease-out compact-card-in;overflow:auto;box-shadow:0 18px 48px #12182233}.doctor-detail-modal>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding-bottom:15px;display:flex}.doctor-detail-modal h2{margin:0;font-size:21px}.doctor-pace-detail{padding:34px 4px 12px}.doctor-pace-detail>strong{text-align:center;margin-bottom:25px;font-size:27px;display:block}.doctor-pace-detail>div:last-child{color:var(--muted);justify-content:space-between;font-size:12px;display:flex}.doctor-treatment-list>div{border-bottom:1px solid var(--border);grid-template-columns:72px 90px 1fr 48px;align-items:center;gap:8px;min-height:55px;font-size:13px;display:grid}.doctor-treatment-list time,.doctor-treatment-list span{color:var(--muted)}.doctor-treatment-list b{text-align:right}.doctor-treatment-list p{text-align:center;color:var(--muted);padding:28px 0}@media (width<=720px){.doctor-work-content{padding:10px}.doctor-assignment-card,.doctor-empty-card{flex-basis:calc(100vw - 42px)}.doctor-card-facts{grid-template-columns:1fr 1fr}.doctor-card-facts>div{border-bottom:1px solid var(--border)}.doctor-summary-buttons{grid-template-columns:1fr}.doctor-last-visit>div{grid-template-columns:82px 1fr}.doctor-last-visit span{display:none}}.checkin-choice-stage{padding-bottom:0}.checkin-choice-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:auto;display:grid}.checkin-choice-actions button{min-height:52px}.appointments-toolbar-actions{align-items:center;gap:10px;display:flex}.new-reservation-button{background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:7px;align-items:center;gap:6px;height:36px;padding:0 13px;font-size:13px;font-weight:700;display:flex}.reservation-create-card{background:#fff;border-radius:12px;width:min(510px,100vw - 40px);padding:20px;animation:.24s cubic-bezier(.22,.78,.28,1) compact-card-in;box-shadow:0 18px 48px #12182233}.reservation-create-card>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;height:48px;margin-bottom:4px;display:flex}.reservation-create-card h2{margin:2px 0 0;font-size:22px}.reservation-form-row{border-bottom:1px solid var(--border);grid-template-columns:92px 1fr;align-items:center;min-height:56px;display:grid}.reservation-form-row label{color:var(--muted);font-size:13px}.reservation-form-row input,.reservation-form-row select{border:1px solid var(--border-strong);background:#fff;border-radius:6px;outline:0;width:100%;height:38px;padding:0 10px;font-size:14px}.reservation-form-row input:focus,.reservation-form-row select:focus{border-color:var(--blue)}.reservation-create-card>.primary-action{width:100%;margin-top:18px}.doctor-work-content{padding-top:16px}.rooms-layout{position:relative}.room-canvas{padding-top:0;position:relative}.rooms-view-controls{z-index:8;position:absolute;top:7px;right:14px}.floor-title{padding-right:225px}.timeline-board{padding-top:52px}.compact-customer-sheet{width:min(860px,100vw - 60px);height:min(600px,100dvh - 76px)}.compact-customer-sheet.booking-card{height:min(510px,100dvh - 76px)}.compact-sheet-header .sheet-title-line h2{font-size:30px}.compact-sheet-header .sheet-title-line>span:not(.plain-status),.compact-sheet-header p{font-size:15px}.plain-status{font-size:13px}.compact-booking-line{flex-basis:50px;height:50px;font-size:15px}.compact-booking-line strong{font-size:17px}.flat-section h3{font-size:15px}.flat-rows>div{min-height:44px;font-size:14px}.flat-rows span,.flat-rows strong{font-size:14px}.compact-history>div{min-height:43px;font-size:14px}.membership-line,.membership-line strong,.memo-section p{font-size:14px}.stage-heading h3{font-size:17px}.stage-heading span,.compact-note-field>span,.compact-note-field textarea,.compact-control-row>select,.small-stepper strong{font-size:14px}.compact-control-row>span{font-size:13px}.public-board{background:#f3f5f8;grid-template-rows:58px minmax(0,1.05fr) minmax(0,.95fr);gap:16px;height:100%;padding:20px 26px 26px;display:grid;overflow:hidden}.public-board>header{justify-content:space-between;align-items:center;padding:0 5px;display:flex}.public-board>header strong{font-size:26px}.public-board>header time{font-variant-numeric:tabular-nums;font-size:27px;font-weight:720}.board-calls,.board-active{border:1px solid var(--border);background:#fff;border-radius:14px;min-height:0;padding:18px 20px}.board-calls h2,.board-active h2{color:#4e545c;margin:0 0 14px;font-size:18px}.board-calls>div{grid-template-columns:repeat(2,1fr);gap:12px;height:calc(100% - 36px);display:grid}.board-calls article{background:var(--blue-soft);border-radius:10px;grid-template-columns:1fr auto auto;align-items:center;gap:14px;min-height:0;padding:0 24px;display:grid}.board-calls article strong{font-size:clamp(24px,3vw,40px)}.board-calls article span{color:var(--muted);font-size:16px}.board-calls article b{color:var(--blue);font-size:clamp(28px,3.4vw,46px)}.board-active>div{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.board-active article{border:1px solid var(--border);border-radius:9px;grid-template-columns:1fr auto;align-items:center;min-height:104px;padding:14px 16px;display:grid}.board-active article strong{color:var(--blue);font-size:24px}.board-active article span{text-align:right;font-size:17px;font-weight:650}.board-active article time{color:#454b53;font-variant-numeric:tabular-nums;grid-column:1/-1;font-size:27px;font-weight:720}@media (width<=720px){.appointments-toolbar{gap:6px;padding:0 8px}.search-field{width:35%}.appointments-toolbar-actions{gap:5px}.filter-tabs button{padding:0 6px}.new-reservation-button{padding:0 8px}.new-reservation-button svg{display:none}.compact-customer-sheet,.compact-customer-sheet.booking-card{width:100%;height:100dvh}.public-board{padding:12px}.board-calls>div{grid-template-columns:1fr}.board-active>div{grid-template-columns:repeat(2,1fr)}}.appointments-layout{flex:1;grid-template-columns:minmax(250px,30%) minmax(0,70%);min-height:0;display:grid}.appointments-list-pane{flex-direction:column;min-width:0;min-height:0;display:flex}.operations-panel{border-right:1px solid var(--border);background:#f5f6f8;min-height:0;padding:12px;overflow:auto}.operations-panel>section{border:1px solid var(--border);background:#fff;border-radius:9px;margin-bottom:11px;overflow:hidden}.operations-panel section>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;height:42px;padding:0 12px;display:flex}.operations-panel section>header span{align-items:center;gap:7px;font-size:13px;font-weight:700;display:flex}.operations-panel section>header span svg{color:#737981}.operations-panel section>header b{color:var(--muted);font-size:12px}.operations-people{padding:3px 0}.operations-person{border-bottom:1px solid #eceef1;grid-template-columns:8px 1fr auto;align-items:center;gap:9px;min-height:48px;padding:0 11px;display:grid}.operations-person:last-child{border-bottom:0}.operations-person>i{background:#aeb3ba;border-radius:50%;width:7px;height:7px}.operations-person>i.green{background:var(--green)}.operations-person>i.blue{background:var(--blue)}.operations-person>div{flex-direction:column;gap:3px;min-width:0;display:flex}.operations-person strong{font-size:13px}.operations-person small{color:var(--muted);font-size:11px}.operations-person>b{color:#535961;font-size:11px}.walkin-wait-card{padding-bottom:15px}.walkin-wait-card>small{color:var(--muted);font-size:12px}.appointment-title>em.category-botox{color:#9a3560;background:#fff5f9;border-color:#dda8bf}.appointment-title>em.category-lifting{color:#6d48a4;background:#f8f5fd;border-color:#bba8dd}.appointment-title>em.category-skin{color:#247a65;background:#f2faf7;border-color:#9dcdbf}.appointment-title>em.category-filler{color:#a15b22;background:#fff8f2;border-color:#dfb38f}.appointment-title>em.category-new{color:#2464b5;background:#f4f8fe;border-color:#8eb2e7}.appointment-title>em.category-return{color:#5b6169;background:#f7f8f9;border-color:#c4c8ce}.appointment-title>em.category-walkin{color:#8c4d19;background:#fff8f1;border-color:#d9ad88}.waiting-queue{flex-basis:335px;width:335px}.rooms-mobile-switch{display:none}.queue-list .queue-row{grid-template-columns:minmax(0,1fr) 100px;gap:12px;min-height:68px;padding:9px 13px 9px 18px}.queue-list .queue-row>.status-rail{border-radius:0 2px 2px 0;width:4px;height:auto;top:0;bottom:0;left:0;transform:none}.queue-primary{flex-direction:column;justify-content:center;gap:6px;min-width:0;display:flex}.queue-primary>span{align-items:center;gap:7px;min-width:0;display:flex}.queue-primary strong{flex:none;font-size:14px}.queue-primary em{color:#565b9a;text-overflow:ellipsis;white-space:nowrap;background:#f8f8fd;border:1px solid #aaaed5;border-radius:4px;min-width:0;max-width:150px;padding:2px 5px;font-size:10px;font-style:normal;overflow:hidden}.queue-primary small{color:var(--muted);font-size:10px}.queue-position{flex-direction:column;justify-content:center;align-items:flex-end;gap:5px;display:flex}.queue-position b{font-size:13px}.queue-position strong{text-align:right;max-width:100px;font-size:11px}.queue-position strong.green{color:var(--green)}.queue-position strong.blue{color:var(--blue)}.queue-position strong.red{color:var(--red)}.queue-position strong.gray{color:var(--muted)}.floor-content{overflow:auto}.floor-map{flex:1 0 510px;grid-template-rows:minmax(176px,1fr) 56px minmax(176px,1fr);grid-template-columns:repeat(6,minmax(98px,1fr));gap:8px;min-width:680px;min-height:510px;margin:12px;padding:8px}.corridor-label{grid-area:2/1/auto/7}.map-room{min-height:0;padding:10px}.map-room>div>strong{font-size:11px}.map-room>div>span{font-size:9px}.map-room h3{font-size:14px}.map-room p{font-size:9px}.map-room time{margin-top:8px;font-size:16px}.room-next-brief{border-top:1px solid var(--border);color:#555b63;white-space:nowrap;text-overflow:ellipsis;margin-top:7px;padding-top:7px;font-size:9px;display:block;overflow:hidden}.room-next-brief.blue{color:var(--blue)}.room-next-brief.green{color:var(--green)}.room-next-brief.red{color:var(--red)}.room-waiting-detail{border-left:4px solid var(--green);background:#f7f9fc;grid-template-columns:1fr auto;align-content:center;gap:6px 12px;min-height:112px;margin:18px 0;padding:17px 18px;display:grid}.room-waiting-detail>span{color:var(--muted);grid-column:1/-1;font-size:11px}.room-waiting-detail>strong{font-size:19px}.room-waiting-detail>small{color:#565c64;grid-column:1;font-size:12px}.room-waiting-detail>b{color:var(--muted);grid-area:2/2/4;align-self:center;font-size:12px}.room-waiting-detail>b.blue{color:var(--blue)}.room-waiting-detail>b.green{color:var(--green)}.room-waiting-detail>b.red{color:var(--red)}@media (width<=900px){.appointments-layout{grid-template-columns:minmax(220px,30%) minmax(0,70%)}.operations-panel{padding:8px}.appointments-list-pane .appointments-toolbar{flex-direction:column;flex-basis:96px;justify-content:center;align-items:stretch;gap:7px;height:96px;padding:8px 10px}.appointments-list-pane .search-field{width:100%}.appointments-toolbar-actions{justify-content:space-between}}@media (width<=720px){.topbar{height:52px;padding:max(5px, env(safe-area-inset-top)) 7px 4px;align-items:center;display:flex;overflow:visible}.topbar-date{display:none}.topbar-actions{flex:auto;order:1;justify-content:space-between;width:100%}.clinic-identity{padding:0 7px 0 2px;font-size:11px}.demo-menu{position:fixed;top:48px;right:7px}.topbar .top-tabs{z-index:85;width:100%;height:calc(58px + env(safe-area-inset-bottom));padding:3px 4px env(safe-area-inset-bottom);border-top:1px solid var(--border-strong);background:#fffffffa;align-items:stretch;gap:0;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -3px 12px #151c2612}.topbar .top-tabs button{border:0;border-radius:7px;flex-direction:column;flex:1;gap:2px;min-width:0;max-width:none;padding:4px 2px 3px;font-size:10px}.topbar .top-tabs button svg{width:20px;height:20px}.topbar .top-tabs button.active{background:var(--blue-soft);border:0}.app-body{height:calc(100dvh - 52px - 58px - env(safe-area-inset-bottom))}.role-board .top-tabs{display:none}.role-board .app-body{height:calc(100dvh - 52px)}.appointments-layout{height:100%;display:block}.operations-panel{display:none}.appointments-list-pane{height:100%}.appointments-list-pane .appointments-toolbar{flex-basis:auto;height:auto}.appointments-toolbar-actions{overflow-x:auto}.filter-tabs,.new-reservation-button{flex:none}.rooms-mobile-switch{border-bottom:1px solid var(--border);background:#f5f6f8;flex:0 0 44px;grid-template-columns:1fr 1fr;gap:4px;height:44px;padding:5px 8px;display:grid}.rooms-mobile-switch button{color:var(--muted);background:0 0;border:0;border-radius:6px;font-size:12px;font-weight:650}.rooms-mobile-switch button.active{color:var(--blue);background:#fff;box-shadow:0 1px 4px #171c241a}.rooms-layout{flex:1;min-height:0;display:block;overflow:hidden}.rooms-layout.mobile-queue .waiting-queue{border:0;width:100%;height:100%;display:flex}.rooms-layout.mobile-queue .room-canvas,.rooms-layout.mobile-rooms .waiting-queue{display:none}.rooms-layout.mobile-rooms .room-canvas{width:100%;height:100%;min-height:0;display:block}.queue-list .queue-row{grid-template-columns:minmax(0,1fr) 92px}.floor-map{min-width:760px}}.appointments-list-pane{position:relative}.swipe-row-shell{background:var(--red);position:relative;overflow:hidden}.swipe-row-shell .appointment-row{z-index:2;touch-action:pan-y;transition:transform .16s ease-out;position:relative}.swipe-row-actions{z-index:1;grid-template-columns:78px 98px;width:176px;display:grid;position:absolute;top:0;bottom:0;right:0}.swipe-row-actions button{color:#fff;cursor:pointer;border:0;font-size:12px;font-weight:750}.swipe-arrival-action{background:var(--green)}.swipe-cancel-action{background:var(--red)}.now-jump-button{z-index:12;color:#fff;cursor:pointer;background:#20252c;border:0;border-radius:20px;align-items:center;gap:7px;height:38px;padding:0 14px;font-size:12px;font-weight:700;animation:.18s ease-out stage-change;display:flex;position:absolute;bottom:16px;right:18px;box-shadow:0 7px 20px #191f283d}.walkin-wait-card>small{color:var(--muted);margin:12px 13px 4px;font-size:11px;display:block}.walkin-wait-card>strong{color:var(--blue);font-variant-numeric:tabular-nums;margin:0 7px 0 13px;font-size:31px;line-height:1;display:inline-block}.walkin-wait-card>b{color:#555b63;font-size:11px}.map-room.occupied{border-color:#9fbee9;border-top-color:var(--blue);background:#f0f6ff}.map-room.reserved{border-color:#abd3b9;border-top-color:var(--green);background:#f1faf4}.map-room.available{background:#fff}.map-room.occupied>div>span{color:var(--blue);font-weight:700}.map-room.reserved>div>span{color:var(--green);font-weight:700}.room-doctor{color:#545b64;white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:9px;display:block;overflow:hidden}.map-room time.remaining-time{color:var(--blue);white-space:nowrap;font-size:14px}.map-room time.scheduled-time{color:#247a43;white-space:nowrap;font-size:13px}.room-current-facts{border:1px solid var(--border);grid-template-columns:1fr 1fr;margin:-4px 0 13px;display:grid}.room-current-facts>div{border-right:1px solid var(--border);border-bottom:1px solid var(--border);flex-direction:column;justify-content:center;gap:5px;min-height:52px;padding:9px 11px;display:flex}.room-current-facts>div:nth-child(2n){border-right:0}.room-current-facts>div:nth-last-child(-n+2){border-bottom:0}.room-current-facts span,.room-consultation-note>span{color:var(--muted);font-size:10px}.room-current-facts strong{font-size:12px}.room-consultation-note{background:#f7f8fa;margin-bottom:13px;padding:12px}.room-consultation-note p{color:#454b53;margin:6px 0 0;font-size:12px;line-height:1.45}.room-detail-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.room-waiting-open{width:100%;margin-top:-8px}.room-countdown strong{font-size:24px}@media (width<=720px){.now-jump-button{bottom:12px;right:12px}.filter-tabs button{padding-left:8px;padding-right:8px}}.queue-filters{border-bottom:1px solid var(--border);scrollbar-width:none;background:#f5f6f8;flex:0 0 42px;gap:5px;height:42px;padding:6px 8px;display:flex;overflow-x:auto}.queue-filters::-webkit-scrollbar{display:none}.queue-filters button{color:#656b73;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:6px;flex:none;height:29px;padding:0 9px;font-size:11px;font-weight:650}.queue-filters button.active{border-color:var(--border-strong);color:var(--blue);background:#fff;box-shadow:0 1px 3px #191f280f}@media (width<=720px){.rooms-layout.mobile-rooms .floor-layout{width:100%;min-width:0}.rooms-layout.mobile-rooms .floor-nav{flex-basis:48px;gap:5px;width:48px;padding:8px 5px}.rooms-layout.mobile-rooms .floor-nav button{height:42px}.rooms-layout.mobile-rooms .floor-content{min-width:0;overflow:auto}.rooms-layout.mobile-rooms .floor-title{padding:0 176px 0 8px}.rooms-layout.mobile-rooms .floor-title strong{font-size:13px}.rooms-layout.mobile-rooms .floor-title span{display:none}.rooms-layout.mobile-rooms .rooms-view-controls{top:6px;right:6px}.rooms-layout.mobile-rooms .view-switch button{gap:3px;padding:0 6px;font-size:10px}.rooms-layout.mobile-rooms .view-switch button svg{width:13px;height:13px}.rooms-layout.mobile-rooms .floor-map{flex:none;grid-template-rows:none;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:78px;gap:5px;width:calc(100% - 12px);min-width:0;height:auto;min-height:0;margin:6px;padding:5px;display:grid}.rooms-layout.mobile-rooms .corridor-label{display:none}.rooms-layout.mobile-rooms .map-room{text-align:center;justify-content:center;align-items:center;min-width:0;min-height:78px;padding:5px;display:flex}.rooms-layout.mobile-rooms .map-room>div{flex-direction:column;align-items:center;gap:4px;width:100%;display:flex}.rooms-layout.mobile-rooms .map-room>div>strong{font-size:10px}.rooms-layout.mobile-rooms .map-room>div>span{font-size:8px}.rooms-layout.mobile-rooms .map-room h3,.rooms-layout.mobile-rooms .map-room p,.rooms-layout.mobile-rooms .map-room time,.rooms-layout.mobile-rooms .map-room .room-doctor,.rooms-layout.mobile-rooms .map-room .room-next-brief{display:none}.rooms-layout.mobile-rooms .room-start-flash{font-size:8px}}
