:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:100%;max-width:1126px;min-height:100svh;margin:0 auto;display:flex}@media (width<=768px){#root{border-inline:none}}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}@media (width<=480px){h1{margin:16px 0;font-size:28px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.modal-overlay{z-index:1000;background:0 0;padding:0;position:fixed;inset:0}.modal-content{width:100%;max-width:none;height:100dvh;max-height:none;box-shadow:none;color:var(--modal-text,var(--text-h));border:none;border-radius:0;flex-direction:column;display:flex}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.modal-window-btn{cursor:pointer;color:var(--modal-text-muted,var(--text));font-size:22px;line-height:1;font-family:var(--sans);background:0 0;border:none;border-radius:6px;padding:4px 10px;transition:background .2s,color .2s}.modal-window-btn:hover{background:var(--modal-surface,#0000000f);color:var(--modal-text,var(--text-h))}.modal-window-controls{flex-shrink:0;align-items:center;gap:2px;margin-left:auto;display:flex}.modal-close{padding:0 8px;font-size:28px}.modal-minimized-bar{z-index:1000;box-shadow:var(--shadow);border:1px solid var(--modal-border,var(--border));min-width:300px;max-width:calc(100vw - 32px);color:var(--modal-text,var(--text-h));border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:10px 12px 10px 16px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.modal-minimized-restore{cursor:pointer;text-align:left;font-family:var(--sans);color:inherit;background:0 0;border:none;flex-direction:column;flex:1;align-items:flex-start;gap:2px;padding:4px 0;display:flex}.modal-minimized-title{color:var(--modal-text,var(--text-h));font-size:15px;font-weight:600}.modal-minimized-hint{color:var(--modal-text-muted,var(--text));font-size:12px}.modal-minimized-restore:hover .modal-minimized-title{text-decoration:underline}.modal-toolbar{border-bottom:1px solid var(--modal-border,var(--border));flex-direction:column;gap:0;display:flex}.modal-actions{background:var(--modal-surface,#0000000a);border-top:1px solid var(--modal-border,var(--border));align-items:center;gap:10px;padding:12px 24px;display:flex}.modal-action-btn{border:1px solid var(--modal-btn-border,var(--border));background:var(--modal-btn-bg,#fff);color:var(--modal-btn-text,var(--text-h));cursor:pointer;font-size:14px;font-weight:500;font-family:var(--sans);white-space:nowrap;border-radius:6px;padding:8px 16px;transition:background .2s,border-color .2s,transform .1s}.modal-action-btn:hover{background:var(--modal-table-hover,var(--accent-bg));border-color:var(--modal-accent-ring,var(--accent-border));transform:translateY(-1px)}.modal-action-btn--excel{color:#fff;background:#16a34a;border-color:#16a34a}.modal-action-btn--excel:hover{background:#15803d;border-color:#15803d}.modal-color-picker{background:var(--modal-surface,#00000008);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 24px;display:flex}.color-picker-label{color:var(--modal-text,var(--text-h));font-size:14px;font-weight:500}.color-presets{flex-wrap:wrap;gap:8px;display:flex}.color-swatch{border:2px solid var(--modal-border,var(--border));cursor:pointer;border-radius:50%;width:28px;height:28px;padding:0;transition:transform .15s,box-shadow .15s}.color-swatch:hover{transform:scale(1.1)}.color-swatch.active{box-shadow:0 0 0 2px var(--modal-bg,var(--bg)), 0 0 0 4px var(--modal-accent-ring,var(--accent))}.color-custom{color:var(--modal-text-muted,var(--text));cursor:pointer;align-items:center;gap:8px;margin-left:auto;font-size:14px;display:flex}.color-custom input[type=color]{border:2px solid var(--modal-border,var(--border));cursor:pointer;background:0 0;border-radius:6px;width:36px;height:28px;padding:0}.modal-body{-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:24px;overflow:auto}.table-wrapper{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%;min-width:560px;color:var(--modal-text,var(--text-h));font-size:18px}.data-table th,.data-table td{border-bottom:1px solid var(--modal-border,var(--border));color:var(--modal-text,var(--text-h));padding:12px 16px}.data-table th{background:var(--modal-table-header-bg,var(--code-bg));color:var(--modal-text,var(--text-h));text-transform:uppercase;letter-spacing:.5px;font-size:15px;font-weight:600}.data-table tbody tr:hover{background:var(--modal-table-hover,var(--accent-bg))}.data-table tbody tr:last-child td{border-bottom:none}.editable-table{flex-direction:column;gap:16px;display:flex}.table-input,.table-select{border:1px solid var(--modal-border,var(--border));width:100%;min-width:120px;font-size:18px;font-family:var(--sans);background:var(--modal-btn-bg,#fff);color:var(--modal-text,var(--text-h));box-sizing:border-box;border-radius:6px;padding:10px 12px;font-weight:700}.table-input::placeholder{color:var(--modal-text-muted,var(--text));opacity:.7}.table-input:focus{border-color:var(--modal-accent-ring,var(--accent));outline:none;box-shadow:0 0 0 3px #6366f12e}.status-select{width:100%;min-width:130px;position:relative}.status-select-trigger{border:1px solid var(--modal-border,#0000001f);background:var(--modal-input-bg,#fff);cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:10px 14px;font-family:inherit;font-size:16px;transition:border-color .2s,box-shadow .2s;display:flex}.status-select-trigger:hover,.status-select--open .status-select-trigger{border-color:var(--modal-accent-ring,#6366f1);box-shadow:0 0 0 3px #6366f11f}.status-select-arrow{border-left:5px solid #0000;border-right:5px solid #0000;border-top:6px solid var(--modal-text-muted,#6b7280);flex-shrink:0;width:0;height:0;transition:transform .2s}.status-select--open .status-select-arrow{transform:rotate(180deg)}.status-select-menu{z-index:50;background:var(--modal-dropdown-bg,#fff);border:1px solid var(--modal-border,#0000001f);border-radius:10px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);left:0;right:0;box-shadow:0 8px 24px #00000026}.status-select-option{cursor:pointer;text-align:left;width:100%;color:var(--modal-dropdown-text,#0f172a);background:0 0;border:none;border-radius:7px;padding:8px 10px;font-family:inherit;transition:background .15s;display:flex}.status-select-option:hover,.status-select-option.selected{background:var(--modal-dropdown-hover,#6366f114)}.status-select-option .status-badge{pointer-events:none}.status-select-custom{border-top:1px solid var(--modal-border,#0000001f);align-items:center;gap:6px;margin-top:6px;padding-top:6px;display:flex}.status-select-custom-input{border:1px solid var(--modal-border,#00000026);background:var(--modal-input-bg,#fff);min-width:0;color:var(--modal-dropdown-text,#0f172a);border-radius:6px;flex:1;padding:6px 8px;font-family:inherit;font-size:13px}.status-select-custom-apply{color:#4f46e5;cursor:pointer;background:#6366f11f;border:1px solid #6366f173;border-radius:6px;flex-shrink:0;padding:6px 10px;font-family:inherit;font-size:13px}.status-select-custom-apply:disabled{opacity:.5;cursor:not-allowed}.status-select--disabled{align-items:center;min-height:38px;padding:2px 0;display:flex}.status-select--disabled .status-badge{justify-content:center;width:100%}.col-actions{text-align:center;width:90px}.row-delete-btn{color:#dc2626;cursor:pointer;font-size:13px;font-family:var(--sans);background:#ef44441a;border:1px solid #ef444466;border-radius:6px;padding:6px 10px;transition:background .2s}.row-delete-btn:hover{background:#ef444433}.row-lock-btn{color:#2563eb;cursor:pointer;font-size:13px;font-family:var(--sans);background:#3b82f61f;border:1px solid #3b82f673;border-radius:6px;padding:6px 10px;transition:background .2s}.row-lock-btn:hover{background:#3b82f638}.modal-content--dark .row-lock-btn{color:#93c5fd;background:#3b82f633;border-color:#60a5fa73}.ot-action-buttons{flex-direction:column;align-items:stretch;gap:6px;display:flex}.empty-row{text-align:center;color:var(--modal-text-muted,var(--text));font-style:italic;padding:24px!important}.add-row-btn{border:1px solid var(--modal-btn-border,var(--border));background:var(--modal-btn-bg,#fff);color:var(--modal-btn-text,var(--text-h));cursor:pointer;font-size:14px;font-weight:500;font-family:var(--sans);border-radius:8px;align-self:flex-start;padding:10px 20px;transition:background .2s,border-color .2s}.add-row-btn:hover{background:var(--modal-table-hover,var(--accent-bg));border-color:var(--modal-accent-ring,var(--accent-border))}.table-loading{text-align:center;color:var(--modal-text-muted,var(--text));padding:32px;font-size:15px}.status-badge{border-radius:20px;padding:6px 12px;font-size:15px;font-weight:500;display:inline-block}.status-active{color:#16a34a;background:#22c55e26}.status-pending{color:#ca8a04;background:#eab30826}.status-inactive{color:#dc2626;background:#ef444426}.modal-content--dark .status-active{color:#86efac;background:#4ade8033}.modal-content--dark .status-pending{color:#fde047;background:#facc1533}.modal-content--dark .status-inactive{color:#fca5a5;background:#f8717133}@media (prefers-color-scheme:dark){.status-active{color:#4ade80}.status-pending{color:#facc15}.status-inactive{color:#f87171}}@media (width<=1024px){.modal-color-picker,.modal-actions,.modal-body{padding-left:20px;padding-right:20px}}@media (width<=768px){.modal-color-picker{flex-direction:column;align-items:flex-start;gap:10px;padding:12px 16px}.color-custom{justify-content:space-between;width:100%;margin-left:0}.modal-actions{flex-direction:column;gap:8px;padding:12px 16px}.modal-action-btn{text-align:center;width:100%;padding:12px 16px;font-size:15px}.modal-body{padding:16px}.data-table{min-width:520px;font-size:14px}.data-table th,.data-table td{padding:10px 12px}.data-table th{font-size:12px}.status-badge{padding:3px 8px;font-size:12px}.modal-minimized-bar{width:calc(100vw - 24px);min-width:0;bottom:12px}}@media (width<=480px){.color-swatch{width:32px;height:32px}.color-picker-label{font-size:13px}.modal-body{padding:12px}.data-table{min-width:480px;font-size:13px}.data-table th,.data-table td{padding:8px 10px}}@media (width>=1025px){.modal-toolbar{flex-direction:row;align-items:stretch}.modal-color-picker{border-bottom:none;flex:1}.modal-actions{border-top:none;border-left:1px solid var(--modal-border,var(--border));flex-shrink:0;align-self:stretch;align-items:center}}.ot-sheet{gap:0;position:relative}.ot-error-banner{color:#b91c1c;background:#ef44441a;border:1px solid #ef444459;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:10px 14px;font-size:14px;display:flex}.ot-error-banner button{color:inherit;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:20px;line-height:1}.ot-confirm-overlay{z-index:20;background:#0f172a59;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ot-confirm-box{background:var(--modal-bg,#fff);border:1px solid var(--modal-border,#0000001f);border-radius:12px;min-width:280px;max-width:90%;padding:20px 22px;box-shadow:0 12px 32px #0f172a2e}.ot-confirm-box p{color:var(--modal-text,#0f172a);margin:0 0 16px;font-size:15px}.ot-confirm-actions{justify-content:flex-end;gap:10px;display:flex}.ot-sheet-header{text-align:center;border-bottom:2px solid var(--modal-border,#0000001f);margin-bottom:16px;padding-bottom:12px}.ot-hospital-title{letter-spacing:-.01em;color:var(--modal-text,#0f172a);margin:0 0 6px;font-size:2.1rem;font-weight:700}.ot-hospital-subtitle{color:var(--modal-text-muted,#475569);margin:0 0 14px;font-size:1.45rem;font-weight:500}.ot-date-row{justify-content:flex-start;align-items:center;gap:10px;max-width:280px;display:flex}.ot-date-row label{color:var(--modal-text,#0f172a);font-size:1.1rem;font-weight:700}.ot-date-input{max-width:180px}.ot-table{border-collapse:collapse;width:100%;min-width:640px}.ot-table th,.ot-table td{border:1px solid var(--ot-cell-border,#0003);vertical-align:middle;color:var(--ot-cell-text,#0f172a);padding:12px 14px;font-size:17px}.ot-th-section{text-align:center;text-transform:none;letter-spacing:0;font-size:.95rem;font-weight:700}.ot-th-ongoing,.ot-td-ongoing{background:var(--ot-ongoing-bg,#c6efce)}.ot-th-waiting,.ot-td-waiting{background:var(--ot-waiting-bg,#ffeb9c)}.ot-th-otno,.ot-td-otno{background:var(--ot-otno-bg,#f2f2f2);text-align:center;width:56px;color:var(--ot-cell-text,#0f172a);font-weight:700}.ot-th-action,.ot-td-action{background:var(--ot-action-bg,#f8fafc);text-align:center;width:100px}.ot-table .table-input{background:var(--ot-input-bg,#fff);color:var(--ot-input-text,#0f172a);border-color:var(--ot-input-border,#00000026)}.ot-table .table-input::placeholder{color:var(--modal-text-muted,#6b6375);opacity:.85}.ot-table .status-select-trigger{background:var(--ot-input-bg,#fff);border-color:var(--ot-input-border,#00000026)}.modal-content--dark .ot-table thead th{color:var(--modal-text,#f1f5f9)}.ot-row--locked{opacity:.92}.ot-readonly-value{min-height:42px;color:var(--ot-cell-text,#0f172a);word-break:break-word;padding:10px 12px;font-size:24px;font-weight:700;line-height:1.4;display:block}.ot-locked-label{letter-spacing:.03em;text-transform:uppercase;color:var(--modal-text-muted,#64748b);padding:6px 10px;font-size:12px;font-weight:600;display:inline-block}.ot-table thead th{z-index:2;position:sticky;top:0}.ot-sheet-note,.ot-sheet-editable{display:none}.status-waiting{color:#a16207;background:#eab30833}.status-anaesthesia{color:#1d4ed8;background:#3b82f633}.status-surgery{color:#15803d;background:#22c55e33;font-weight:700}.status-icu{color:#7e22ce;background:#a855f733}.status-ward{color:#0f766e;background:#14b8a633}.status-blank{color:#475569;background:#94a3b833}.modal-content--dark .status-waiting{color:#fde68a;background:#eab30852}.modal-content--dark .status-anaesthesia{color:#bfdbfe;background:#3b82f652}.modal-content--dark .status-surgery{color:#bbf7d0;background:#22c55e52}.modal-content--dark .status-icu{color:#e9d5ff;background:#a855f752}.modal-content--dark .status-ward{color:#99f6e4;background:#14b8a652}.modal-content--dark .status-blank{color:#e2e8f0;background:#94a3b847}.modal-content--dark .row-delete-btn{color:#fecaca;background:#7f1d1d73;border-color:#f871718c}.modal-content--dark .row-delete-btn:hover{background:#991b1b99}@media (width<=768px){.ot-hospital-title{font-size:1.1rem}.ot-table{min-width:560px}}.modal-action-btn--autoscroll{background:var(--modal-btn-bg,#fff)}.modal-action-btn--autoscroll.active{color:#4f46e5;background:#6366f11f;border-color:#6366f173}.modal-content--dark .modal-action-btn--autoscroll.active{color:#c7d2fe;background:#6366f140;border-color:#818cf880}.floor-selector{flex-direction:column;flex-grow:1;justify-content:center;align-items:center;gap:16px;width:100%;max-width:640px;margin:0 auto;padding:48px 24px;display:flex}.floor-selector p{text-align:center;color:#64748b;max-width:480px;line-height:1.5}.floor-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;width:100%;margin-top:24px;display:grid}.floor-option-btn{cursor:pointer;font-family:var(--sans);background:#fff;border:2px solid #e2e8f0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:32px 24px;transition:border-color .2s,box-shadow .2s,transform .15s;display:flex}.floor-option-btn:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 16px #6366f126}.floor-option-btn:active{transform:translateY(0)}.floor-option-label{color:#0f172a;font-size:22px;font-weight:700}.floor-option-desc{color:#64748b;text-align:center;font-size:14px}.floor-back-btn{color:#475569;cursor:pointer;font-family:var(--sans);background:0 0;border:1px solid #cbd5e1;border-radius:8px;margin-top:24px;padding:10px 20px;font-size:15px;transition:background .2s}.floor-back-btn:hover{background:#f1f5f9}@media (width<=600px){.floor-options{grid-template-columns:1fr}.floor-selector{padding:32px 16px}}.app{flex-direction:column;flex-grow:1;justify-content:center;align-items:center;gap:16px;padding:48px 24px;display:flex}.app p{max-width:480px;line-height:1.5}.open-modal-btn{color:#fff;background:var(--accent);cursor:pointer;font-size:16px;font-family:var(--sans);border:none;border-radius:8px;margin-top:16px;padding:12px 24px;transition:opacity .2s,transform .15s}.open-modal-btn:hover{opacity:.9;transform:translateY(-1px)}.open-modal-btn:active{transform:translateY(0)}.open-modal-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width<=1024px){.app{padding:40px 20px}}@media (width<=768px){.app{gap:12px;padding:32px 16px}.open-modal-btn{width:100%;max-width:320px;padding:14px 20px}}@media (width<=480px){.app{padding:24px 12px}.app p{font-size:15px}.open-modal-btn{max-width:100%;font-size:15px}}
