:root{--bg: #f7f9fa;--card: #ffffff;--surface: #e4e9ed;--text: #1c1e21;--text-muted: #4b4f55;--muted: #4b4f55;--border: #d1d5da;--card-assigned-text: #1c1e21;--card-assigned-muted: #3a3f45;--primary: #006cbe;--nav-bg: #006cbe;--nav-accent: #005ea6;--nav-text-muted: #f1f5f9;--success: #28a745;--warning: #ffc107;--error: #dc3545;--toast-success: #15803d;--toast-error: #dc2626;--toast-info: #2563eb;--success-text: #166534;--error-text: #dc2626;--fs-caption: 12px;--lh-caption: 1.35;--fs-body: 14px;--lh-body: 1.45;--fs-body-lg: 15px;--lh-body-lg: 1.45;--fs-title: 18px;--lh-title: 1.3;--fs-page: 22px;--lh-page: 1.25;--lh-tight: 1.2;--z-modal: 80;--z-modal-nested: 90;--z-toast: 9999;--tint-blue-bg: #dbeafe;--tint-blue-text: #1e40af;--tint-blue-accent: #3b82f6;--tint-green-bg: #dcfce7;--tint-green-text: #166534;--tint-green-accent: #16a34a;--tint-purple-bg: #ede9fe;--tint-purple-text: #5b21b6;--tint-purple-accent: #7c3aed;--tint-teal-bg: #ccfbf1;--tint-teal-text: #0f766e;--tint-teal-accent: #0d9488;--tint-amber-bg: #fef3c7;--tint-amber-text: #92400e;--tint-amber-accent: #d97706;--tint-orange-bg: #ffedd5;--tint-orange-text: #9a3412;--tint-orange-accent: #ea580c;--tint-yellow-bg: #fef9c3;--tint-yellow-text: #854d0e;--tint-red-bg: #fee2e2;--tint-red-text: #991b1b;--tint-slate-bg: #f1f5f9;--tint-slate-text: #475569;--tint-slate-accent: #94a3b8;--patient-1-bg: #dbe7f6;--patient-1-accent: #3b6fb0;--patient-2-bg: #d6ebe9;--patient-2-accent: #2f8a80;--patient-3-bg: #deecd9;--patient-3-accent: #4f8a49;--patient-4-bg: #e9ecca;--patient-4-accent: #7f8a34;--patient-5-bg: #f4e8cd;--patient-5-accent: #b17d2c;--patient-6-bg: #f4e2d2;--patient-6-accent: #b3693f;--patient-7-bg: #f4dde2;--patient-7-accent: #b34f66;--patient-8-bg: #eddaed;--patient-8-accent: #9a5499;--patient-9-bg: #e1dcf3;--patient-9-accent: #6a59b2;--patient-10-bg: #e1e6ea;--patient-10-accent: #5c6a77;--dayoff-bg: repeating-linear-gradient( 135deg, var(--surface), var(--surface) 6px, var(--border) 6px, var(--border) 7px );--dayoff-text: var(--text-muted);--dayoff-accent: #6a7885;--pill-bg: #eff6ff;--pill-border: #bfdbfe;--pill-text: #1d4ed8;--summary-bg: #dcecff;--summary-border: #c7dcff;--summary-text: #0f3d9e;--summary-number-text: #0b63b8;--pill-subtle-bg: rgba(15, 23, 42, .08);--log-create-bg: rgba(34, 197, 94, .2);--log-create-text: #166534;--log-update-bg: rgba(59, 130, 246, .25);--log-update-text: #1d4ed8;--log-delete-bg: rgba(248, 113, 113, .25);--log-delete-text: #b91c1c;--weekend-col-bg: #eff6ff;--holiday-bg: #fff7ed;--holiday-text: #7c2d12;--travel-conflict: #1d4ed8;--today-col-bg: rgba(59, 130, 246, .06);--table-oom-bg: #f1f4f7;--table-empty-text: #b4bcc5;--warning-surface: #fff7ed;--warning-border: #fb923c}*{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:-9999px;top:0;z-index:var(--z-toast);background:var(--card);color:var(--text);border:2px solid var(--primary);border-radius:0 0 8px;padding:10px 16px;font-weight:600;text-decoration:none}.skip-link:focus{left:0}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Helvetica Neue,Arial,"Apple Color Emoji","Segoe UI Emoji"}.container{max-width:1300px;margin:0 auto;padding:.5rem}.nav{display:flex;justify-content:space-between;align-items:center;padding:.5rem;border-bottom:1px solid var(--nav-accent);background:var(--nav-bg);border-bottom:none;border-radius:8px;color:#fff}.nav a{color:#fff;text-decoration:none;margin-right:1rem}.nav .brand{font-weight:700;color:#fff;margin-right:12px}.nav .company{color:var(--nav-text-muted);font-weight:600;margin-left:12px}.nav-left{display:flex;align-items:center;flex:1;min-width:0}.nav-actions{display:flex;gap:8px;align-items:center}.nav-links a{margin-right:12px}.nav-groups{display:flex;gap:36px;align-items:center;flex-wrap:nowrap}.nav-group{position:relative;display:inline-flex;flex-direction:column;align-items:stretch;padding-bottom:2px}.nav-group:not(:last-child){margin-right:28px}.nav-group-toggle{background:#ffffff14;border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:4px;padding:6px 12px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-weight:600;letter-spacing:.01em}.nav-group-toggle:hover{background:#ffffff2e}.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--error);color:#fff;font-size:var(--fs-caption);font-weight:700;line-height:1}.nav-menu-title .nav-badge{margin-left:6px}.nurse-step-btn{min-width:40px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center}.nav-group-toggle:focus-visible{background:#ffffff2e;outline:2px solid rgba(255,255,255,.4);outline-offset:2px}.nav-group-menu{position:absolute;top:100%;left:0;background:var(--card);border:1px solid var(--border);box-shadow:0 8px 24px #0f172a33;border-radius:12px;min-width:220px;display:flex;flex-direction:column;gap:4px;padding:8px;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(4px);transition:opacity .15s ease,transform .15s ease,visibility 0s linear .15s;z-index:20}.nav-group.open .nav-group-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition:opacity .15s ease,transform .15s ease,visibility 0s linear 0s}.nav-group.active .nav-group-toggle{background:#ffffff47;border-color:#ffffffb3;box-shadow:inset 0 -2px #fff}.nav-group-menu a{color:var(--text);text-decoration:none;padding:8px 10px;border-radius:8px;font-weight:500}.nav-group-menu a:hover{background:var(--surface)}.nav-group-menu a.active{background:var(--primary);color:#fff;font-weight:600}.menu-toggle{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.4);border-radius:6px;padding:6px 10px;cursor:pointer}.nav .btn{background:var(--nav-text-muted);color:var(--primary);border:1px solid var(--nav-text-muted);font-weight:600}.nav .btn.secondary{background:#00000026;color:#fff;border:1px solid rgba(255,255,255,.4);font-weight:400}.nav .btn:hover{background:#fff;border-color:#fff}.nav .menu-toggle{background:#0000001a}.nav-menu{display:grid;gap:8px;padding:12px;background:var(--card);border:1px solid var(--border);border-radius:8px}.nav-menu a{color:var(--text);text-decoration:none;padding:8px 10px;border-radius:6px}.nav-menu a:hover{background:var(--surface)}.nav-menu a.active{background:var(--primary);color:#fff;font-weight:600}.lang-switch{display:inline-flex;border:1px solid rgba(255,255,255,.4);border-radius:6px;overflow:hidden}.lang-switch button{background:transparent;color:#fff;border:none;padding:6px 10px;cursor:pointer;font-weight:600;font-size:var(--fs-caption);line-height:1}.lang-switch button.active{background:#ffffffd9;color:var(--nav-bg)}.lang-switch button:focus-visible{outline:2px solid rgba(255,255,255,.7);outline-offset:-2px}.nav-menu .lang-switch{border-color:var(--border)}.nav-menu .lang-switch button{color:var(--text)}.nav-menu .lang-switch button.active{background:var(--primary);color:#fff}.page-title{margin:0;font-size:var(--fs-page);line-height:var(--lh-page)}.page-header,.page-header.desktop-only{display:flex;justify-content:space-between;align-items:center;gap:8px 12px;flex-wrap:wrap;padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid var(--border)}.page-header-titles{min-width:0;flex:0 1 auto}.page-header-subtitle{margin:2px 0 0;color:var(--text-muted);font-size:var(--fs-body);line-height:var(--lh-body)}.page-header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-left:auto}.page-header-actions .input{width:auto}.nav-menu-section{display:flex;flex-direction:column;gap:4px;padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid var(--border)}.nav-menu-section:last-of-type{border-bottom:none;padding-bottom:0;margin-bottom:0}.nav-menu-title{font-size:var(--fs-body);font-weight:700;text-transform:uppercase;color:var(--text-muted)}.active-users-bar{margin-top:8px;padding:6px 12px;border-radius:10px;background:linear-gradient(120deg,var(--surface),var(--card));display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:var(--fs-body);color:var(--text)}.active-users-label{font-weight:600}.active-users-list{display:flex;gap:6px;flex-wrap:wrap}.active-users-pill{background:var(--pill-subtle-bg);border-radius:999px;padding:2px 10px;line-height:20px}.mobile-only{display:none}.desktop-only{display:block}.btn{background:var(--primary);color:#fff;border:none;border-radius:8px;padding:.6rem 1rem;cursor:pointer}.btn.secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.card{background:var(--card);border:1.5px solid var(--border);border-radius:10px;padding:.75rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center}.icon{flex-shrink:0;vertical-align:-.125em}.grid{display:grid;gap:12px}.grid.month{grid-template-columns:repeat(7,1fr)}.day{background:var(--card);border:1.5px solid var(--border);border-radius:8px;padding:6px;min-height:120px;display:flex;flex-direction:column;gap:6px;position:relative}.day .date{color:var(--muted);font-size:var(--fs-caption)}.pill{display:inline-block;padding:3px 6px;background:var(--pill-bg);border:1px solid var(--pill-border);color:var(--pill-text);border-radius:4px;font-size:var(--fs-caption)}.summary-pill{display:inline-flex;align-items:baseline;padding:3px 6px;background:var(--summary-bg);border:1px solid var(--summary-border);color:var(--summary-text);border-radius:3px;font-size:var(--fs-caption);font-weight:600}.summary-number{font-size:var(--fs-page);font-weight:800;color:var(--summary-number-text)}.worksheet-title{font-size:var(--fs-page);line-height:var(--lh-page);font-weight:800;margin-top:12px}.worksheet-table{overflow-x:auto}.worksheet-filter-row td{padding:6px;border-bottom:1px solid var(--border);vertical-align:middle}.worksheet-sortable{width:100%;display:inline-flex;justify-content:space-between;align-items:center;gap:6px;background:transparent;border:none;color:inherit;font-weight:700;cursor:pointer;padding:0}.worksheet-sortable.active{color:var(--primary)}.data-table th.num .worksheet-sortable{justify-content:flex-end}.data-table th.center .worksheet-sortable{justify-content:center}.worksheet-sortable:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}.sort-indicator{font-size:var(--fs-caption)}.print-check,.print-only{display:none}.table-scroll{overflow-x:auto}.notice{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:8px;background:var(--surface);color:var(--text);font-size:var(--fs-body)}.hint{display:flex;align-items:center;gap:8px;padding:8px 10px;margin-bottom:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-muted);font-size:var(--fs-caption)}.hint-text{flex:1}.hint-dismiss{background:transparent;border:none;color:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;min-width:28px;min-height:28px;flex:none}.hint-dismiss:hover{color:var(--text)}.nav-help{display:inline-flex;align-items:center;gap:6px}.table-filter{font-size:var(--fs-body);padding:4px 8px}.table-filter::placeholder{color:var(--text-muted)}.row{display:flex;gap:8px;align-items:center;color:var(--text)}.clash-row{border-radius:6px;transition:background .12s ease}.clash-row:hover,.clash-row:focus-visible{background:var(--surface);outline:none}.stack{display:grid;gap:12px;color:var(--text)}.log-list{display:flex;flex-direction:column;gap:12px}.log-entry{border:1px solid var(--border);border-radius:12px;padding:12px;background:var(--surface)}.log-meta{display:flex;flex-wrap:wrap;gap:6px;font-size:var(--fs-body);color:var(--text-muted);align-items:center}.log-description{margin-top:8px;font-weight:600}.log-pill{padding:2px 8px;border-radius:4px;font-size:var(--fs-caption);font-weight:600}.log-pill.action-create{background:var(--log-create-bg);color:var(--log-create-text)}.log-pill.action-update{background:var(--log-update-bg);color:var(--log-update-text)}.log-pill.action-delete{background:var(--log-delete-bg);color:var(--log-delete-text)}.log-change{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:12px}.log-change-label{font-size:var(--fs-caption);color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.log-json{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:8px;margin:0;font-size:var(--fs-caption);line-height:1.4;max-height:200px;overflow:auto}.log-diff{width:100%;margin-top:12px;border-collapse:collapse;font-size:var(--fs-body)}.log-diff th,.log-diff td{text-align:left;padding:6px 10px;border-bottom:1px solid var(--border);vertical-align:top;word-break:break-word}.log-diff th{font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:600}.log-diff-field{font-weight:600;white-space:nowrap}.log-diff-old{color:var(--text-muted)}.log-change-empty{margin-top:12px;color:var(--text-muted)}.login{max-width:360px;margin:10vh auto}.login-logo{display:block;max-width:220px;width:70%;margin:0 auto 1rem}.input{width:100%;padding:.6rem .8rem;border-radius:8px;border:1px solid var(--border);background:var(--card);color:var(--text)}.input::placeholder{color:var(--text-muted)}.input:focus{outline:2px solid var(--primary)}select.input{background:var(--card);color:var(--text)}.btn:focus-visible,a:focus-visible,summary:focus-visible,button:focus-visible,[role=menuitem]:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.nav a:focus-visible,.nav .btn:focus-visible,.nav .menu-toggle:focus-visible{outline:2px solid rgba(255,255,255,.7);outline-offset:2px}@media print{@page{size:A4;margin:12mm 10mm}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-only{display:block!important}.print-header{display:flex!important;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:6px;margin-bottom:10px;border-bottom:2px solid #000}.print-header-org{font-weight:800;font-size:var(--fs-title);letter-spacing:.04em}.print-header-main{text-align:center}.print-header-title{font-weight:700;font-size:var(--fs-title)}.print-header-period{font-size:var(--fs-body)}.print-header-subject{font-weight:700;font-size:var(--fs-body)}.print-header-meta,.print-note{font-size:var(--fs-caption)}.table-scroll,.worksheet-table{overflow:visible!important}.signature-block{break-inside:avoid}.nav,.page-header,.btn,.print-hidden,.no-print,.active-users-bar{display:none!important}.attendance-page{padding:0!important}.data-table.dense tbody td,.data-table.dense tbody th{height:auto}.data-table tbody tr{break-inside:avoid}.data-table thead{display:table-header-group}.print-check{display:inline!important}.worksheet-filter-row,.sort-indicator{display:none!important}.worksheet-sortable,.worksheet-sortable.active{color:inherit!important;cursor:default;display:inline}.data-table tbody tr:hover,.clash-row:hover{background:transparent!important}*:focus,*:focus-visible{outline:none!important}.container{max-width:none;padding:.5in}.grid.month .day{break-inside:avoid}.summary-number{font-size:var(--fs-page)}.worksheet-title{margin-top:0}}@media (max-width: 600px){.container{padding:.5rem}.nav{padding:.5rem .75rem}.row{gap:6px}.card{padding:.5rem}.grid.month{gap:8px}.day{min-height:90px}}@media (max-width: 768px){.mobile-only{display:block}.desktop-only,.page-header.desktop-only{display:none}.nav a{margin-right:10px}}details>summary{list-style:none;display:inline-block;background:var(--primary);color:#fff;border:1.5px solid var(--border);border-radius:8px;padding:6px 10px;margin:6px 0;cursor:pointer}details>summary::-webkit-details-marker{display:none}.filters.collapsed{display:none}.filters-row{display:flex;align-items:flex-start;flex-wrap:wrap;gap:8px;margin-top:8px}.filter-card{padding:4px 6px}.filter-card-title{font-size:var(--fs-caption);line-height:var(--lh-caption);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.filter-search-row{display:flex;align-items:center;gap:4px;margin-top:2px}.filter-search{font-size:var(--fs-body);line-height:var(--lh-body);padding:7px 8px}.filter-list{max-height:120px;overflow-y:scroll;margin-top:2px;scrollbar-color:var(--nav-accent) var(--surface)}.filter-list::-webkit-scrollbar{width:12px}.filter-list::-webkit-scrollbar-thumb{background:var(--nav-accent);border-radius:6px}.filter-list::-webkit-scrollbar-track{background:var(--surface)}.attendance-table th:first-child,.attendance-table td:first-child{position:sticky;left:0;z-index:2;background:var(--bg, #fff)}.attendance-table thead th:first-child{z-index:3}.filter-hint{display:block;color:var(--text-muted, #6b7280);font-size:var(--fs-caption);margin-top:.25rem}.refresh-bar{position:fixed;top:0;left:0;right:0;height:3px;z-index:60;overflow:hidden;background:var(--tint-blue-bg, #dbeafe);pointer-events:none}.refresh-bar:after{content:"";position:absolute;top:0;bottom:0;width:40%;background:var(--primary);animation:refresh-slide 1.1s ease-in-out infinite}@keyframes refresh-slide{0%{transform:translate(-100%)}to{transform:translate(350%)}}@media (prefers-reduced-motion: reduce){.refresh-bar:after{animation:none;width:100%;opacity:.5}}.spinner{display:flex;justify-content:center;align-items:center;padding:3rem;font-size:2rem;color:var(--primary)}.spinner:after{content:"";width:2rem;height:2rem;border:3px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-state{display:flex;flex-direction:column;align-items:center;padding:3rem;color:var(--error);gap:1rem}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:var(--fs-caption);font-weight:600;line-height:1.6;white-space:nowrap}.badge-success{background:var(--tint-green-bg);color:var(--tint-green-text)}.badge-warning{background:var(--tint-yellow-bg);color:var(--tint-yellow-text)}.badge-danger{background:var(--tint-red-bg);color:var(--tint-red-text)}.badge-info{background:var(--tint-blue-bg);color:var(--tint-blue-text)}.badge-muted{background:var(--surface);color:var(--text-muted)}.badge-purple{background:var(--tint-purple-bg);color:var(--tint-purple-text)}.badge-teal{background:var(--tint-teal-bg);color:var(--tint-teal-text)}.badge-amber{background:var(--tint-amber-bg);color:var(--tint-amber-text)}.badge-orange{background:var(--tint-orange-bg);color:var(--tint-orange-text)}.visit-pill{border-radius:4px;padding:2px 6px;font-size:var(--fs-caption);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.visit-pill-szakapolas{background:var(--tint-blue-bg);color:var(--tint-blue-text);border-left:3px solid var(--tint-blue-accent)}.visit-pill-gondozas{background:var(--tint-green-bg);color:var(--tint-green-text);border-left:3px solid var(--tint-green-accent)}.visit-pill-gondozas24{background:var(--tint-purple-bg);color:var(--tint-purple-text);border-left:3px solid var(--tint-purple-accent)}.visit-pill-magan-apolas{background:var(--tint-teal-bg);color:var(--tint-teal-text);border-left:3px solid var(--tint-teal-accent)}.visit-pill-magan-gondozas{background:var(--tint-amber-bg);color:var(--tint-amber-text);border-left:3px solid var(--tint-amber-accent)}.visit-pill-magan-gondozas24{background:var(--tint-orange-bg);color:var(--tint-orange-text);border-left:3px solid var(--tint-orange-accent)}.visit-pill-default{background:var(--tint-slate-bg);color:var(--tint-slate-text);border-left:3px solid var(--tint-slate-accent)}.card-filter{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:.75rem}.card-stat{background:var(--card);border:1.5px solid var(--border);border-radius:12px;padding:1rem 1.25rem;box-shadow:0 1px 4px #0000000f}.card-warning{background:var(--warning-surface);border:1.5px solid var(--warning-border);border-radius:10px;padding:.75rem}.section-title{font-size:var(--fs-caption);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:6px}.form-group{display:grid;gap:4px}.form-label{font-size:var(--fs-caption);font-weight:600;color:var(--text-muted)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;gap:.75rem;color:var(--text-muted);text-align:center}.empty-state-icon{font-size:2.5rem;opacity:.5}.empty-state-title{font-size:var(--fs-body-lg);line-height:var(--lh-body-lg);font-weight:600;color:var(--text)}.empty-state-body{font-size:var(--fs-body);line-height:var(--lh-body)}@media (min-width: 769px) and (max-width: 1100px){.nav-groups{gap:16px}.nav-group:not(:last-child){margin-right:12px}.nav-group-toggle{padding:5px 8px;font-size:var(--fs-body)}.brand{font-size:var(--fs-body)!important}}.timeline-today-col{background:var(--today-col-bg)!important}.timeline-today-header{background:var(--primary)!important;color:#fff!important;border-radius:4px;font-weight:700}.weekend-col{background:var(--weekend-col-bg)}.holiday-col{background:var(--holiday-bg)!important;color:var(--holiday-text)}.data-table{width:100%;border-collapse:collapse;font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text)}.data-table thead th{padding:6px 10px;text-align:left;font-weight:700;font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-bottom:2px solid var(--border);background:var(--card)}.data-table tbody td,.data-table tbody th{height:32px;padding:6px 10px;vertical-align:middle;border-bottom:1px solid var(--border);font-weight:400}.data-table tbody th[scope=row]{text-align:left;font-weight:600}.data-table tbody tr:hover{background:var(--surface)}.data-table tbody tr[tabindex]:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.data-table tbody tr.is-active{background:var(--surface)}.data-table .table-link{font:inherit;font-weight:600;color:var(--primary);background:none;border:0;padding:0;text-align:left;cursor:pointer}.data-table tbody tr:hover .table-link,.data-table .table-link:hover,.data-table .table-link:focus-visible{text-decoration:underline}.data-table .table-link:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}.data-table .num{text-align:right;font-variant-numeric:tabular-nums}.data-table .center{text-align:center}.data-table .total-col{font-weight:700;background:var(--surface)}.data-table .oom-col{background:var(--table-oom-bg);color:var(--text-muted)}.data-table .empty-val{color:var(--table-empty-text)}.data-table.dense{font-size:var(--fs-caption);line-height:var(--lh-caption)}.data-table.dense thead th,.data-table.dense tbody td,.data-table.dense tbody th{padding:3px 5px;text-align:center}.data-table.dense thead th{text-transform:none;letter-spacing:0;color:inherit}.data-table.dense tbody th[scope=row],.data-table.dense thead th[scope=col].nurse-col{text-align:left;min-width:140px}.data-table.bordered thead th,.data-table.bordered tbody td,.data-table.bordered tbody th{border:1px solid var(--border)}.skeleton{display:block;background:var(--surface);border-radius:4px;height:12px;animation:skeletonPulse 1.8s ease-in-out infinite}@keyframes skeletonPulse{0%,to{opacity:1}50%{opacity:.55}}@media (prefers-reduced-motion: reduce){.skeleton{animation:none}}.skeleton-row{display:flex;align-items:center;gap:8px;height:32px;border-bottom:1px solid var(--border)}.skeleton-timeline-row{display:flex;align-items:center;gap:8px;height:44px;border-bottom:1px solid var(--border)}@keyframes toastIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.month-picker{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.month-picker-scope{display:inline-flex;flex-direction:column;line-height:1.15}.month-picker-current{font-weight:700;font-size:var(--fs-body);line-height:var(--lh-caption);color:var(--text)}.month-picker-hint{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--text-muted);white-space:nowrap;display:inline-flex;align-items:center;gap:4px}.nav .month-picker-current{color:#fff}.nav .month-picker-hint{color:var(--nav-text-muted)}.filters-toggle{position:relative;display:inline-flex;align-items:center;gap:6px}.filters-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--error);color:#fff;font-size:var(--fs-caption);font-weight:700;line-height:1}.icon-clear-btn{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;padding:0;line-height:1;font-size:var(--fs-title)}.check-row{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 4px;cursor:pointer}.check-hit{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;cursor:pointer}.schedule-card:focus-visible{outline:3px solid var(--primary);outline-offset:1px}.card-marker{font-weight:700;line-height:1}.grid-add-btn{position:absolute;top:4px;left:4px;z-index:4;width:1px;height:1px;padding:0;border:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.grid-add-btn:focus-visible{width:auto;height:auto;min-height:40px;padding:0 12px;overflow:visible;clip:auto;border-radius:8px;background:var(--primary);color:#fff;font-size:var(--fs-caption);font-weight:600;cursor:pointer}.timeline-name-col{box-shadow:2px 0 4px #00000014}.timeline-hscroll{scrollbar-color:var(--nav-accent) var(--surface)}.timeline-hscroll::-webkit-scrollbar{height:12px}.timeline-hscroll::-webkit-scrollbar-thumb{background:var(--nav-accent);border-radius:6px}.timeline-hscroll::-webkit-scrollbar-track{background:var(--surface)}.page-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.page-toolbar-mobile{display:none}@media (max-width: 768px){.page-toolbar-desktop{display:none}.page-toolbar-mobile{display:flex;flex-direction:column;align-items:stretch;gap:8px;width:100%}.page-header{flex-direction:column;align-items:stretch}.page-header-actions{margin-left:0}.page-toolbar-mobile .row{flex-wrap:wrap}.page-toolbar-mobile .btn{flex:1 1 auto;min-width:0}}.seg-toggle{display:inline-flex;gap:4px}.agenda-nav{flex-wrap:wrap}.agenda-range{padding:0 4px;font-size:var(--fs-body);color:var(--text-muted);white-space:nowrap}.agenda{display:flex;flex-direction:column;gap:16px}.agenda-week-empty{margin:0;color:var(--text-muted)}.agenda-day{border-left:3px solid transparent;padding-left:8px}.agenda-day.is-today{border-left-color:var(--primary)}.agenda-day.is-dayoff .agenda-day-heading{color:var(--text-muted)}.agenda-day.is-dayoff .agenda-empty{background:var(--dayoff-bg);border-radius:8px}.agenda-day-heading{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 8px;font-size:var(--fs-title);line-height:var(--lh-title)}.agenda-day-name{text-transform:capitalize}.agenda-day-date{font-weight:400;color:var(--text-muted);font-size:var(--fs-body)}.agenda-chip{border-radius:999px;padding:2px 10px;font-size:var(--fs-caption);font-weight:700;line-height:1.5}.agenda-chip-today{background:var(--primary);color:#fff}.agenda-chip-dayoff{background:var(--surface);border:1px solid var(--border);color:var(--text-muted)}.agenda-empty{margin:0;padding:10px 12px;color:var(--text-muted);font-size:var(--fs-body)}.agenda-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.agenda-card{display:flex;gap:12px;width:100%;min-height:44px;padding:12px;text-align:left;background:var(--card);border:1.5px solid var(--border);border-left:3px solid var(--primary);border-radius:10px;cursor:pointer;color:var(--text);font:inherit}.agenda-card:hover{background:var(--surface)}.agenda-card-time{flex:0 0 auto;font-weight:700;font-variant-numeric:tabular-nums;font-size:var(--fs-body);white-space:nowrap}.agenda-card-body{display:flex;flex-direction:column;gap:2px;min-width:0}.agenda-card-patient{font-weight:600;font-size:var(--fs-body-lg);line-height:var(--lh-body-lg)}.agenda-card-location,.agenda-card-note{font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text-muted)}.agenda-card .visit-pill{align-self:flex-start;margin-top:4px}@media (max-width: 420px){.agenda-card{flex-direction:column;gap:4px}}.visit-detail-list{display:grid;grid-template-columns:minmax(90px,auto) 1fr;gap:6px 12px;margin:12px 0 0}.visit-detail-list dt{color:var(--text-muted);font-size:var(--fs-body)}.visit-detail-list dd{margin:0;font-size:var(--fs-body);overflow-wrap:anywhere}.visit-detail-readonly{margin:12px 0 0;color:var(--text-muted);font-size:var(--fs-caption);line-height:var(--lh-caption)}
