@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2) format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff")}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/sora-latin-400-normal-CRt88UEn.woff2) format("woff2"),url(/assets/sora-latin-400-normal-OW7qkl5a.woff) format("woff")}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/sora-latin-500-normal-01eiPEn0.woff2) format("woff2"),url(/assets/sora-latin-500-normal-w58xtEt9.woff) format("woff")}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/sora-latin-600-normal-Cdg4DaK0.woff2) format("woff2"),url(/assets/sora-latin-600-normal-1_7fyUAY.woff) format("woff")}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/sora-latin-700-normal-9waGdLWo.woff2) format("woff2"),url(/assets/sora-latin-700-normal-BKPfQAnC.woff) format("woff")}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/sora-latin-800-normal-2tKLL3qT.woff2) format("woff2"),url(/assets/sora-latin-800-normal-c3Huklug.woff) format("woff")}*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #1BA1F2;--primary-hover: #16619B;--brand: #1BA1F2;--brand-deep: #16619B;--brand-2: #38BDF8;--soft: #E8F5FE;--tint: #F2F9FE;--text-primary: #041520;--text-secondary: #39454C;--text-muted: #8F9CA4;--border: #EAEDEE;--border-strong: #E0E6EA;--bg-primary: #ffffff;--bg-secondary: #F6F8FA;--bg-hover: #F2F9FE;--mint: #22C55E;--mint-soft: #E9FBF0;--warn: #F59E0B;--warn-soft: #FEF6E7;--danger: #EF4444;--danger-soft: #FEECEC;--r-sm: 10px;--r: 14px;--r-lg: 20px;--r-xl: 26px;--shadow-sm: 0 1px 2px 0 rgba(4, 21, 32, .04);--shadow-md: 0 1px 2px rgba(4,21,32,.03), 0 10px 30px -18px rgba(4,21,32,.15);--shadow-lg: 0 24px 60px -24px rgba(4, 21, 32, .35);--shadow-float: 0 14px 36px -12px rgba(27,161,242,.5);--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;--font-display: "Sora", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-family:var(--font-body);line-height:1.6;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color-scheme:light}:root[data-theme=dark]{--primary: #38BDF8;--primary-hover: #5CCAFA;--brand: #38BDF8;--brand-deep: #9AD7FA;--brand-2: #38BDF8;--soft: #0F2A39;--tint: #142531;--text-primary: #E8EEF2;--text-secondary: #A9B5BD;--text-muted: #6E7C85;--border: #1E2A33;--border-strong: #2A3942;--bg-primary: #0E1620;--bg-secondary: #080E15;--bg-hover: #142531;--mint: #34D27B;--mint-soft: #102A1C;--warn: #F59E0B;--warn-soft: #2C2410;--danger: #F87171;--danger-soft: #2C1717;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .4);--shadow-md: 0 1px 2px rgba(0,0,0,.3), 0 10px 30px -18px rgba(0,0,0,.7);--shadow-lg: 0 24px 60px -24px rgba(0, 0, 0, .75);--shadow-float: 0 14px 36px -12px rgba(56,189,248,.45);color-scheme:dark}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--bg-secondary);color:var(--text-primary)}@keyframes m53-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes m53-overlay-out{0%{opacity:1}to{opacity:0}}@keyframes m53-modal-in{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes m53-modal-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(8px) scale(.97)}}@keyframes m53-modal-center-in{0%{opacity:0;transform:translate(-50%,-46%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes m53-modal-center-out{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-48%) scale(.98)}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important}}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;letter-spacing:-.01em;color:var(--text-primary)}.page-header h1,.db-head h1,.pd-head h1,.appt-page-head h1,.messages-header h1,.notifications-card>h1,.admin-messages-header h1,.login-header h1{font-family:var(--font-display);font-size:28px;font-weight:800;letter-spacing:-.02em;line-height:1.2;margin:0;color:var(--text-primary)}.page-header p,.db-sub,.pd-sub,.appt-page-sub,.login-header p{margin:4px 0 0;font-size:15px;line-height:1.45;color:var(--text-secondary)}@media(max-width:860px){.page-header h1,.db-head h1,.pd-head h1,.appt-page-head h1,.messages-header h1,.notifications-card>h1,.admin-messages-header h1,.login-header h1{font-size:22px}}input,textarea,select{font-family:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.msg-attachments{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.msg-attach-chip{display:inline-flex;align-items:center;gap:6px;height:30px;max-width:100%;padding:0 12px;border-radius:999px;font-size:12.5px;font-weight:600;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:background .18s,border-color .18s,color .18s}.msg-attach-chip svg{width:15px;height:15px;flex-shrink:0}.msg-attach-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:min(320px,70vw)}.msg-attach-chip:hover:not(:disabled){background:var(--soft);border-color:color-mix(in srgb,var(--brand) 35%,transparent);color:var(--brand-deep)}.msg-attach-chip:disabled{opacity:.7;cursor:wait}.msg-attach-chip.is-downloaded{background:var(--mint-soft, #e9fbf0);border-color:color-mix(in srgb,var(--mint, #22c55e) 35%,transparent);color:color-mix(in srgb,var(--mint, #22c55e) 80%,var(--text-primary))}.msg-attach-error{width:100%;font-size:12px;color:var(--danger)}[data-theme=dark] .msg-attach-chip.is-downloaded{background:var(--mint-soft);color:var(--mint)}.message-notifications-container{position:fixed;top:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:10px;max-width:400px;pointer-events:none}.message-notification{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border:2px solid #90caf9;border-radius:12px;padding:16px;box-shadow:0 4px 12px #00000026;display:flex;gap:12px;align-items:flex-start;pointer-events:auto;animation:slideInRight .3s ease-out;position:relative}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.message-notification-content{flex:1}.message-notification-title{font-weight:600;font-size:16px;color:#1976d2;margin-bottom:4px}.message-notification-sender{font-size:12px;color:#546e7a;margin-bottom:8px}.message-notification-text{font-size:14px;color:#424242;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}.message-notification-close{background:#1976d2;color:#fff;border:none;border-radius:50%;width:28px;height:28px;cursor:pointer;font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background-color .2s}.message-notification-close:hover{background:#1565c0}.message-notification-close:active{background:#0d47a1}.ml-app{min-height:100vh}.ml-topbar{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg-primary) 82%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.ml-topbar-inner{max-width:1120px;margin:0 auto;height:68px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.ml-topbar-left{display:flex;align-items:center;gap:26px;min-width:0}.ml-logo-link{display:inline-flex;align-items:center;flex-shrink:0}.ml-logo{height:30px;width:auto;object-fit:contain}.ml-topnav{display:flex;align-items:center;gap:2px}.ml-topnav-item{padding:9px 14px;border-radius:10px;font-size:14px;font-weight:500;color:var(--text-secondary);white-space:nowrap;transition:background .18s,color .18s}.ml-topnav-item:hover{background:var(--tint);color:var(--brand-deep)}.ml-topnav-item.active{background:var(--soft);color:var(--brand-deep);font-weight:600}.ml-topbar-actions{display:flex;align-items:center;gap:8px}.ml-icon-btn{position:relative;width:42px;height:42px;flex-shrink:0;display:grid;place-items:center;border-radius:12px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;transition:background .18s,border-color .18s,color .18s}.ml-icon-btn:hover{background:var(--tint);border-color:var(--brand);color:var(--brand-deep)}.ml-icon-btn svg{width:20px;height:20px}.ml-icon-btn--plain{width:40px;height:40px;border:none;background:transparent}.ml-badge{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--danger);color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center;border:2px solid var(--bg-primary);line-height:1}.ml-avatar{width:38px;height:38px;border-radius:50%;background:var(--soft);color:var(--brand-deep);display:grid;place-items:center;font-weight:600;font-size:14px;flex-shrink:0;border:1px solid var(--border);text-transform:uppercase}.ml-avatar-btn{display:flex;align-items:center;gap:9px;padding:4px 12px 4px 4px;border-radius:999px;transition:background .18s}.ml-avatar-btn:hover{background:var(--tint)}.ml-avatar-name{font-size:14px;font-weight:500;color:var(--text-primary)}.ml-mhead{display:none}.ml-mhead-actions{display:flex;align-items:center;gap:6px}.ml-main{max-width:1120px;margin:0 auto;padding:28px 24px 60px}.ml-bottomnav{display:none}@media(max-width:860px){.ml-topbar{display:none}.ml-mhead{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:40;height:56px;padding:0 16px;background:color-mix(in srgb,var(--bg-primary) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.ml-mhead .ml-logo{height:26px}.ml-main{padding:16px 14px 96px}.ml-bottomnav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;z-index:50;height:68px;background:color-mix(in srgb,var(--bg-primary) 96%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom)}.ml-bottomnav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--text-muted);font-size:10px;font-weight:600;text-decoration:none}.ml-bottomnav a svg{width:22px;height:22px}.ml-bottomnav a.active{color:var(--brand)}.ml-bottomnav a.ml-fab{margin-top:-26px}.ml-bottomnav a.ml-fab span{width:56px;height:56px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;box-shadow:var(--shadow-float);border:4px solid var(--bg-secondary)}.ml-bottomnav a.ml-fab svg{width:26px;height:26px}}.lg-page{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-secondary);color:var(--text-primary)}.lg-topbar{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg-primary) 82%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.lg-logo-link{display:inline-flex;align-items:center}.lg-logo{height:30px;width:auto;object-fit:contain}.lg-theme-btn{width:42px;height:42px;flex-shrink:0;display:grid;place-items:center;border-radius:12px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;transition:background .18s,border-color .18s,color .18s}.lg-theme-btn:hover{background:var(--tint);border-color:var(--brand);color:var(--brand-deep)}.lg-theme-btn svg{width:20px;height:20px}.lg-main{flex:1;display:grid;grid-template-columns:1fr 420px;gap:28px;align-items:center;max-width:1040px;width:100%;margin:0 auto;padding:40px 24px 48px}.lg-showcase{display:flex;flex-direction:column;gap:18px}.lg-page[data-step=code] .lg-showcase,.lg-page[data-step=select-patient] .lg-showcase{display:none}.lg-page[data-step=code] .lg-main,.lg-page[data-step=select-patient] .lg-main{grid-template-columns:1fr;max-width:460px}.lg-hero{position:relative;overflow:hidden;border-radius:var(--r-xl);background:linear-gradient(135deg,var(--brand),var(--brand-deep));color:#fff;padding:32px 28px;box-shadow:var(--shadow-float);min-height:200px}.lg-hero:after{content:"";position:absolute;right:-50px;bottom:-70px;width:220px;height:220px;border-radius:50%;background:#ffffff1a}.lg-hero-eyebrow{position:relative;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#ffffffd1}.lg-hero-title{position:relative;font-family:var(--font-display);font-weight:800;font-size:32px;line-height:1.1;margin-top:10px}.lg-hero-sub{position:relative;font-size:15px;line-height:1.5;color:#ffffffe0;margin-top:10px;max-width:340px}.lg-bento-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.lg-bento-tile{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:16px;display:flex;flex-direction:column;gap:8px}.lg-bento-ico{width:40px;height:40px;border-radius:11px;background:var(--soft);color:var(--brand-deep);display:grid;place-items:center}.lg-bento-ico svg{width:20px;height:20px}.lg-bento-tile strong{font-size:14px;font-weight:700;color:var(--text-primary);font-family:var(--font-body)}.lg-bento-tile span{font-size:12px;line-height:1.35;color:var(--text-secondary)}.lg-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);padding:32px 28px;width:100%}.lg-card-head{margin-bottom:24px}.lg-card-head h1{font-family:var(--font-display);font-size:24px;font-weight:800;letter-spacing:-.02em;line-height:1.2;margin:0;color:var(--text-primary)}.lg-card-head p{margin:6px 0 0;font-size:14px;line-height:1.45;color:var(--text-secondary)}.lg-steps{display:flex;align-items:center;gap:6px;margin-bottom:22px}.lg-step{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 6px;border-radius:10px;font-size:12px;font-weight:600;color:var(--text-muted);background:var(--bg-secondary);border:1px solid transparent;transition:background .18s,color .18s,border-color .18s}.lg-step svg{width:14px;height:14px;flex-shrink:0}.lg-step.is-active{background:var(--soft);color:var(--brand-deep);border-color:color-mix(in srgb,var(--brand) 30%,transparent)}.lg-step.is-done{color:var(--brand)}.lg-form{display:flex;flex-direction:column;gap:16px}.lg-field{display:flex;flex-direction:column;gap:6px}.lg-field label{font-size:14px;font-weight:500;color:var(--text-secondary)}.lg-field input{padding:12px 14px;border:1px solid var(--border-strong);border-radius:var(--r-sm);font-size:16px;background:var(--bg-primary);color:var(--text-primary);transition:border-color .18s,box-shadow .18s}.lg-field input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--soft)}.lg-field input:disabled{background:var(--bg-secondary);color:var(--text-muted);cursor:not-allowed}.lg-field input.lg-code-input{font-family:var(--font-display);font-size:28px;font-weight:700;letter-spacing:.35em;text-align:center;padding:14px}.lg-phone-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:var(--soft);color:var(--brand-deep);font-size:14px;font-weight:600;border:1px solid color-mix(in srgb,var(--brand) 25%,transparent);width:fit-content}.lg-phone-chip svg{width:16px;height:16px}.lg-btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 20px;border-radius:12px;font-size:15px;font-weight:600;border:none;cursor:pointer;background:var(--brand);color:#fff;box-shadow:var(--shadow-float);transition:background .18s,transform .18s,opacity .18s}.lg-btn-primary:hover:not(:disabled){background:var(--brand-deep)}.lg-btn-primary:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.lg-btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 16px;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;background:transparent;color:var(--text-secondary);border:1px solid var(--border-strong);transition:background .18s,color .18s,border-color .18s}.lg-btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary);border-color:var(--brand)}.lg-alert{padding:12px 14px;border-radius:var(--r-sm);font-size:14px;line-height:1.4;text-align:center}.lg-alert.is-error{background:var(--danger-soft);color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 35%,transparent)}.lg-alert.is-info{background:var(--mint-soft);color:var(--mint);border:1px solid color-mix(in srgb,var(--mint) 35%,transparent)}.lg-alert.is-telegram{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--soft);color:var(--brand-deep);border:1px solid color-mix(in srgb,var(--brand) 30%,transparent)}.lg-alert.is-telegram svg{width:18px;height:18px;flex-shrink:0}.lg-consent{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.45;color:var(--text-secondary);cursor:pointer;text-align:left}.lg-consent-wrap{position:relative;flex-shrink:0;margin-top:2px;width:20px;height:20px}.lg-consent-input{position:absolute;top:0;left:0;opacity:0;width:20px;height:20px;margin:0;cursor:pointer;z-index:1}.lg-consent-box{position:absolute;top:0;left:0;display:grid;place-items:center;width:20px;height:20px;border:2px solid var(--brand);border-radius:5px;background:var(--bg-primary);transition:background .18s,border-color .18s;pointer-events:none}.lg-consent-input:focus-visible+.lg-consent-box{outline:2px solid var(--brand);outline-offset:2px}.lg-consent-input:checked+.lg-consent-box{background:var(--brand);border-color:var(--brand)}.lg-consent-box:after{content:"";width:6px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);margin-bottom:2px;transition:transform .15s ease}.lg-consent-input:checked+.lg-consent-box:after{transform:rotate(45deg) scale(1)}.lg-consent a{color:var(--brand);text-decoration:underline}.lg-consent a:hover{color:var(--brand-deep)}.lg-patients{display:flex;flex-direction:column;gap:10px}.lg-patient{display:flex;align-items:center;gap:14px;width:100%;padding:14px 16px;text-align:left;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .18s,border-color .18s,box-shadow .18s,background .18s}.lg-patient:hover:not(:disabled){transform:translateY(-1px);border-color:color-mix(in srgb,var(--brand) 40%,transparent);box-shadow:var(--shadow-md);background:var(--tint)}.lg-patient:disabled{opacity:.55;cursor:not-allowed}.lg-patient-avatar{width:44px;height:44px;border-radius:12px;flex-shrink:0;background:var(--soft);color:var(--brand-deep);display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:15px;text-transform:uppercase}.lg-patient-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.lg-patient-name{display:block;font-size:16px;font-weight:700;color:var(--text-primary);line-height:1.25}.lg-patient-birth{display:block;font-size:13px;color:var(--text-secondary)}.lg-patient-arrow{width:18px;height:18px;color:var(--brand);flex-shrink:0}@media(max-width:860px){.lg-main{grid-template-columns:1fr;padding:24px 16px 40px;gap:20px;align-items:start}.lg-showcase{order:2}.lg-card{order:1;padding:24px 20px}.lg-hero{min-height:auto;padding:24px 20px}.lg-hero-title{font-size:26px}.lg-bento-grid{grid-template-columns:1fr}.lg-step span.lg-step-label{display:none}.lg-step{padding:8px}}@media(max-width:480px){.lg-topbar{padding:12px 16px}.lg-card-head h1{font-size:22px}.lg-field input.lg-code-input{font-size:24px;letter-spacing:.25em}}.db{max-width:100%}.db-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px}.db-cta-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 18px;border-radius:12px;font-size:14px;font-weight:600;background:var(--brand);color:#fff;box-shadow:var(--shadow-float);border:none;cursor:pointer;transition:background .18s}.db-cta-btn:hover{background:var(--brand-deep)}.db-cta-btn svg{width:18px;height:18px}.db-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.db-span2{grid-column:span 2}.db-rowspan2{grid-row:span 2}.db-tile{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:20px;text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:transform .18s,border-color .18s,box-shadow .18s}a.db-tile:hover{transform:translateY(-2px);border-color:#1ba1f266}.db-tile-ico{width:44px;height:44px;border-radius:12px;background:var(--soft);color:var(--brand-deep);display:grid;place-items:center}.db-tile-ico svg{width:22px;height:22px}.db-tile-ico--alert{background:var(--danger-soft);color:var(--danger)}.db-kpi-foot{margin-top:16px}.db-num{font-family:var(--font-display);font-weight:800;font-size:34px;line-height:1;color:var(--brand-deep)}.db-lbl{color:var(--text-secondary);font-size:14px;line-height:1.35;margin-top:6px;min-height:2.7em}.db-tile h3{font-size:17px;font-weight:700;margin:0}.db-tile p{color:var(--text-secondary);font-size:14px;margin:4px 0 0;line-height:1.45}.db-pill{font-size:12px;font-weight:700;color:var(--brand);background:var(--soft);padding:3px 9px;border-radius:999px;margin-left:4px;vertical-align:middle}.db-row{flex-direction:row;align-items:center;gap:16px}.db-row-main{flex:1;min-width:0}.db-row-arrow{width:20px;height:20px;color:var(--brand);flex-shrink:0}.db-hero{position:relative;overflow:hidden;border-radius:var(--r-xl);background:linear-gradient(135deg,var(--brand),var(--brand-deep));color:#fff;padding:26px;box-shadow:var(--shadow-float);text-decoration:none;display:flex;flex-direction:column;justify-content:space-between;min-height:280px;transition:transform .18s,box-shadow .18s}a.db-hero:hover{transform:translateY(-2px)}.db-hero:after{content:"";position:absolute;right:-40px;bottom:-60px;width:230px;height:230px;border-radius:50%;background:#ffffff1a}.db-hero-row{display:flex;align-items:flex-start;justify-content:space-between;position:relative}.db-eyebrow{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#ffffffd1}.db-hero-ico{width:44px;height:44px;border-radius:12px;background:#ffffff29;display:grid;place-items:center}.db-hero-ico svg{width:22px;height:22px}.db-hero-big{position:relative;font-family:var(--font-display);font-weight:800;font-size:32px;line-height:1.05}.db-hero-doctor{position:relative;font-size:18px;font-weight:700;color:#fff;margin-top:10px;line-height:1.25}.db-hero-meta{position:relative;font-size:14px;color:#ffffffe0;margin-top:4px}.db-hero-action{position:relative;display:inline-flex;align-items:center;gap:6px;margin-top:16px;font-weight:600;font-size:14px}.db-hero-action svg{width:18px;height:18px}.db-hero--empty{background:linear-gradient(135deg,var(--soft),var(--bg-primary));color:var(--text-primary);border:1px solid var(--border);box-shadow:var(--shadow-md);justify-content:center;align-items:flex-start}.db-hero--empty:after{display:none}.db-hero-ico-empty{width:60px;height:60px;border-radius:18px;background:var(--soft);color:var(--brand);display:grid;place-items:center;margin-bottom:14px}.db-hero-ico-empty svg{width:30px;height:30px}.db-hero-big--dark{color:var(--text-primary);font-size:24px}.db-hero-meta--dark{color:var(--text-secondary);margin-bottom:18px}.db-only-desktop{display:inline-flex}@media(max-width:860px){.db-head{margin-bottom:16px}.db-only-desktop{display:none}.db-grid{grid-template-columns:repeat(2,1fr);gap:10px}.db-span2{grid-column:span 2}.db-hero{min-height:220px;padding:22px}.db-hero-big,.db-num{font-size:28px}}.pd{max-width:100%}.pd-head{display:flex;align-items:center;gap:16px;margin-bottom:22px}.pd-avatar{width:60px;height:60px;border-radius:50%;flex-shrink:0;background:var(--soft);color:var(--brand-deep);display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:22px;text-transform:uppercase;border:1px solid var(--border)}.pd-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.pd-span2{grid-column:span 2}.pd-tile{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:22px}.pd-tile-title{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:16px}.pd-cols{display:grid;gap:16px 20px}.pd-cols-4{grid-template-columns:repeat(4,1fr)}.pd-cols-3{grid-template-columns:repeat(3,1fr)}.pd-field{min-width:0}.pd-field+.pd-field{margin-top:14px}.pd-cols .pd-field+.pd-field{margin-top:0}.pd-label{color:var(--text-muted);font-size:12px;margin-bottom:3px}.pd-value{font-weight:600;font-size:15px;color:var(--text-primary);word-break:break-word}.pd-empty-line{color:var(--text-muted);font-size:14px;padding:8px 0}.pd-srow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--border)}.pd-srow:last-child{border-bottom:none}.pd-srow-label{color:var(--text-secondary);font-size:14px}.pd-srow-value{font-weight:600;font-size:14px}.pd-status{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600}.pd-status:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}.pd-status.ok{color:var(--mint)}.pd-status.off{color:var(--danger)}@media(max-width:860px){.pd-grid{grid-template-columns:1fr;gap:12px}.pd-span2{grid-column:span 1}.pd-tile{padding:18px}.pd-cols-4,.pd-cols-3{grid-template-columns:repeat(2,1fr)}}.records-list{display:flex;flex-direction:column;gap:14px}.record-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-md);overflow:hidden;transition:transform .18s,border-color .18s,box-shadow .18s;width:100%;display:flex;flex-direction:column;max-height:none}.record-overlay-backdrop{position:fixed;inset:0;background:#0f172a85;z-index:10000;touch-action:none;animation:m53-overlay-in .2s ease}.record-overlay-backdrop.is-closing{animation:m53-overlay-out .18s ease forwards}.record-card.expanded.record-card-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(calc(100vw - 24px),960px);height:95dvh;max-height:95dvh;z-index:10001;border-color:var(--primary);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;min-height:0;animation:m53-modal-center-in .26s cubic-bezier(.2,.8,.2,1)}.record-card.expanded.record-card-modal.is-closing{animation:m53-modal-center-out .18s ease forwards}.record-card.expanded.record-card-modal .record-header{flex-shrink:0}.record-header-modal{cursor:default;padding-right:48px}.record-header-modal--preview{padding-bottom:14px;border-bottom:1px solid var(--border)}.rec-modal-preview-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;width:100%;padding-right:40px}.rec-modal-preview-doctor{min-width:0;flex:1}.rec-modal-preview-actions{margin-top:0;flex-shrink:0}.rec-doc--static{cursor:default;pointer-events:none}.rec-pos--with-icon{display:inline-flex;align-items:center;gap:6px}.rec-pos-icon{width:15px;height:15px;flex-shrink:0;opacity:.75}.record-modal-close{position:absolute;top:12px;right:12px;z-index:2;width:36px;height:36px;border:1px solid var(--border);border-radius:8px;background:var(--bg-primary);color:var(--text-secondary);font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.record-modal-close:hover{border-color:#ef4444;color:#ef4444;background:#ef444414}.record-card:not(.expanded):hover{border-color:color-mix(in srgb,var(--brand) 35%,transparent);box-shadow:var(--shadow-lg)}.record-card.expanded.record-card-modal{transition:none}.record-header{background:transparent;padding:18px 20px;width:100%;transition:background .2s;position:relative;flex-shrink:0}.record-header-top,.rec-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.rec-top-right{text-align:right;flex-shrink:0}.rec-doc{display:inline-flex;align-items:center;gap:8px;background:var(--soft);color:var(--brand-deep);font-weight:600;padding:6px 12px;border-radius:999px;font-size:14px;border:1px solid transparent;cursor:pointer;transition:background .2s,border-color .2s,color .2s}.rec-doc:hover{background:color-mix(in srgb,var(--brand) 18%,var(--soft))}.rec-doc-filtered{background:var(--brand);border-color:var(--brand);color:#fff}.rec-doc-icon{width:16px;height:16px;flex-shrink:0}.rec-doc-clear{border:none;background:#ffffff47;color:inherit;font-weight:700;cursor:pointer;width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;line-height:1;padding:0;margin-left:2px}.rec-doc-clear:hover{background:#ffffff73}.rec-pos{color:var(--text-secondary);font-size:13px;margin-top:6px}.rec-date{color:var(--text-secondary);font-size:13px;white-space:nowrap}.rec-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px;justify-content:flex-end}.rec-meta:empty{display:none}.rec-meta--modal{justify-content:flex-start;margin-top:10px;width:100%}.rec-section{margin-top:14px}.rec-section .lab{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:7px}.rec-chips{display:flex;flex-wrap:wrap;gap:0}.dx{display:inline-flex;align-items:center;gap:6px;background:var(--tint, color-mix(in srgb, var(--brand) 12%, transparent));border:1px solid var(--soft);color:var(--brand-deep);font-size:13px;font-weight:600;padding:5px 11px;border-radius:8px;margin:0 6px 6px 0;line-height:1.35}.tx-item{display:inline-flex;align-items:stretch;flex-wrap:wrap;max-width:100%;margin:0 6px 6px 0;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--bg-primary)}.tx{display:inline-flex;align-items:center;background:transparent;border:none;color:var(--text-primary);font-size:13px;font-weight:500;padding:5px 11px;border-radius:0;margin:0;line-height:1.35}.tx-item.has-comment .tx{border-right:1px solid var(--border);flex-shrink:0}.tx-comment{font-size:12px;color:var(--text-secondary);font-style:italic;padding:5px 11px;background:var(--bg-secondary);line-height:1.35;word-break:break-word;align-self:center}.rec-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;font-size:13px;font-weight:500;border:1px solid color-mix(in srgb,var(--brand) 28%,transparent);background:var(--soft);color:var(--brand-deep);cursor:pointer;transition:background .2s,border-color .2s}.rec-chip-muted{background:var(--bg-secondary);border-color:var(--border);color:var(--text-secondary)}.rec-chip:hover{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 10%,var(--soft))}.rec-chip svg{width:15px;height:15px;flex-shrink:0}.rec-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.rec-open-btn{padding:8px 16px;border-radius:var(--r-sm);border:1px solid color-mix(in srgb,var(--brand) 30%,transparent);background:var(--soft);color:var(--brand-deep);font-size:14px;font-weight:600;cursor:pointer;transition:background .2s,border-color .2s}.rec-open-btn:hover{background:color-mix(in srgb,var(--brand) 14%,var(--soft));border-color:var(--brand)}.rec-foot-actions{display:flex;gap:8px}.mr-filter-bar{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.mr-filter-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:var(--soft);border:1px solid color-mix(in srgb,var(--brand) 28%,transparent);color:var(--brand-deep);font-size:14px;font-weight:600}.mr-filter-chip-clear{border:none;background:transparent;color:inherit;font-weight:700;cursor:pointer;padding:0 2px;font-size:14px;line-height:1}.mr-filter-hint{color:var(--text-secondary);font-size:13px}.record-doctor-section-wrapper{display:flex;flex-direction:column;gap:4px;flex:1}.record-doctor-section{background:var(--soft);padding:7px 14px;border-radius:var(--r-sm);border:1px solid transparent;display:inline-block;width:fit-content;transition:all .2s}.record-doctor-section:hover{background:color-mix(in srgb,var(--brand) 18%,var(--soft))}.record-doctor-section.filtered{background:var(--brand);border-color:var(--brand)}.record-doctor-name{font-size:15px;font-weight:600;color:var(--brand-deep);display:flex;align-items:center;gap:6px}.record-doctor-section.filtered .record-doctor-name{color:#fff}.filter-badge{background:#ffffff4d;border-radius:50%;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;cursor:pointer;transition:all .2s;margin-left:4px}.filter-badge:hover{background:#ffffff80}.record-doctor-position-small{font-size:11px;font-weight:400;color:var(--text-secondary);line-height:1.3;margin-top:2px}.record-header-right-section{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.record-date-top{font-size:13px;font-weight:600;color:var(--text-secondary);text-align:right}.record-files-section{display:inline-flex;position:relative;flex-shrink:0}.record-files-toggle,.record-dicom-toggle{white-space:nowrap;flex-shrink:0}.record-dicom-plate{display:inline-flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:4px;padding:5px 12px;background:var(--bg-primary);border:1px solid color-mix(in srgb,var(--brand) 40%,transparent);border-radius:var(--r-sm);cursor:pointer;transition:all .2s;text-align:right;max-width:min(100%,360px)}.record-dicom-plate:hover:not(:disabled){background:var(--soft);border-color:var(--brand);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.record-dicom-plate:disabled{opacity:.65;cursor:wait}.record-dicom-plate-title{font-size:12px;font-weight:600;color:var(--brand-deep);line-height:1.2;white-space:nowrap}.record-dicom-plate-sep{font-size:11px;color:var(--text-muted);line-height:1}.record-dicom-plate-meta{font-size:11px;font-weight:400;color:var(--text-secondary);line-height:1.2;white-space:nowrap}.record-dicom-chip{display:inline-flex;align-items:center;padding:5px 12px;border-radius:var(--r-sm);font-size:12px;line-height:1.2;border:1px solid var(--border);background:var(--bg-primary)}.record-dicom-chip-muted{color:var(--text-secondary);font-style:italic;cursor:default}.record-dicom-chip-error{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,transparent);background:var(--danger-soft);cursor:pointer}.record-dicom-request-btn{font-size:12px;padding:4px 8px;border:1px solid var(--brand);border-radius:6px;background:var(--bg-primary);color:var(--brand-deep);cursor:pointer;white-space:nowrap}.record-dicom-request-btn:hover:not(:disabled){background:var(--soft)}.record-dicom-request-btn:disabled{opacity:.6;cursor:wait}.record-dicom-pending{font-size:12px;color:var(--text-secondary);font-style:italic}.record-dicom-error{font-size:12px;color:var(--danger);display:block;margin-bottom:4px}.record-dicom-toggle{border-color:var(--brand);color:var(--brand-deep)}.record-header-actions{display:flex;gap:8px;align-items:center;margin-top:8px;justify-content:flex-end}.record-header-actions .record-action-btn{width:32px;height:32px;padding:0;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;font-size:18px;color:var(--text-primary);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.record-header-actions .record-action-btn:hover{background:var(--bg-hover);border-color:var(--primary);color:var(--primary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.record-header-actions .record-action-btn.print-btn:hover{background:#3b82f61a;border-color:#3b82f6;color:#3b82f6}.record-header-actions .record-action-btn.pdf-btn:hover{background:#ef44441a;border-color:#ef4444;color:#ef4444}.record-summary{display:flex;flex-direction:column;gap:6px;margin-top:6px}.record-summary-item{display:flex;flex-direction:column;gap:4px}.record-summary-label{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.record-summary-label-small{font-size:10px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.treatment-count{font-size:11px;font-weight:600;color:var(--primary);margin-left:4px}.record-summary-label-clickable{display:flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .2s}.record-summary-label-clickable:hover{color:var(--primary)}.record-summary-label-clickable .expand-icon{font-size:10px;color:var(--text-secondary);transition:transform .2s}.record-summary-content{display:flex;flex-wrap:wrap;gap:4px;line-height:1.3}.record-summary-content-expanded{background:var(--soft);padding:14px;border-radius:var(--r-sm);margin-top:8px;border:1px solid color-mix(in srgb,var(--brand) 22%,transparent)}.diagnosis-badge,.treatment-group{margin-bottom:12px}.treatment-group:last-child{margin-bottom:0}.treatment-group-highlighted{background:var(--bg-hover);padding:12px;border-radius:6px;margin-top:12px;margin-bottom:12px;display:block;width:100%;clear:both}.treatment-group-title{font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:6px}.treatment-group-items{display:flex;flex-wrap:wrap;gap:8px;word-wrap:break-word;word-break:break-word}.treatment-item{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.treatment-badge{font-size:12px;padding:4px 10px;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);white-space:normal;word-wrap:break-word;word-break:break-word;max-width:100%;display:inline-block}.treatment-comment{font-size:11px;color:var(--text-secondary);font-style:italic}.diagnosis-badge{background:var(--bg-secondary);border:1px solid var(--border);border-left:3px solid var(--brand);border-radius:var(--r-sm);font-size:12px;padding:5px 10px;margin:0;line-height:1.4;color:var(--text-primary);display:inline-block}.record-expand-icon{position:absolute;top:16px;right:20px;font-size:12px;color:var(--text-secondary);transition:transform .2s}.record-header{position:relative;cursor:pointer}.record-card.expanded .record-expand-icon{transform:rotate(0)}.record-body{padding:0;animation:slideDown .2s ease-out;border-top:1px solid var(--border);display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden;height:0}.record-actions-bar{display:flex;gap:8px;padding:8px 12px;background:var(--bg-hover);border-bottom:1px solid var(--border);justify-content:flex-end;flex-shrink:0}.record-action-btn{width:32px;height:32px;padding:0;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;font-size:18px;color:var(--text-primary);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;position:relative}.record-action-btn:hover{background:var(--bg-hover);border-color:var(--primary);color:var(--primary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.record-action-btn:active{transform:translateY(0)}.record-action-btn:disabled{opacity:.5;cursor:wait;transform:none;box-shadow:none}.record-action-btn.print-btn:hover{background:#3b82f61a;border-color:#3b82f6;color:#3b82f6}.record-action-btn.pdf-btn:hover{background:#ef44441a;border-color:#ef4444;color:#ef4444}.record-action-btn.file-btn{width:auto;height:auto;padding:6px 12px;font-size:14px;display:flex;align-items:center;gap:6px}.record-files-list{display:flex;flex-direction:column;gap:6px;margin-top:8px}.record-files-badge{display:inline-flex;align-items:center;gap:4px;margin-left:12px;padding:4px 8px;background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--r-sm);font-size:12px;color:var(--text-secondary);cursor:default}.record-date-row{display:flex;align-items:center;gap:12px;flex-direction:row}.record-files-container{flex-shrink:0;order:-1}.record-date-left{flex:1;order:1}.record-files-container{position:relative}.record-files-dropdown{position:relative;z-index:10000;display:inline-block}.record-files-toggle{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--r-sm);font-size:12px;color:var(--text-primary);cursor:pointer;transition:all .2s;font-weight:500}.record-files-toggle:not(.rec-chip):hover{background:var(--bg-hover);border-color:var(--primary);color:var(--primary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.record-files-toggle.rec-chip:hover{transform:none;box-shadow:none;color:inherit}.record-files-arrow{transition:transform .2s}.record-files-arrow.is-open{transform:rotate(180deg)}.record-files-toggle svg,.record-dicom-toggle svg,.record-dicom-plate-title svg{width:15px;height:15px;flex-shrink:0}.record-files-toggle .record-files-arrow{width:13px;height:13px}.record-action-btn svg{width:18px;height:18px}.dicom-modal-title{display:flex;align-items:center;gap:7px}.dicom-modal-title svg{width:18px;height:18px;flex-shrink:0}.record-dicom-plate-title{display:inline-flex;align-items:center;gap:5px}.record-files-item svg{width:15px;height:15px;flex-shrink:0;color:var(--text-secondary)}.record-dicom-zip-btn svg{width:16px;height:16px;flex-shrink:0}.record-files-dropdown-menu{position:fixed;min-width:250px;max-width:400px;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:100060;padding:0;margin-top:4px}.record-files-dropdown-header{padding:8px 12px;font-size:11px;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border);margin-bottom:0;text-transform:uppercase;letter-spacing:.5px;background:var(--bg-hover);border-radius:8px 8px 0 0}.record-files-dropdown-menu{padding-bottom:4px}.record-files-dropdown-loading{padding:12px;font-size:13px;color:var(--text-secondary);text-align:center}.record-files-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;text-align:left;background:transparent;border:none;border-radius:4px;font-size:13px;color:var(--text-primary);cursor:pointer;transition:all .2s}.record-files-item-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.record-files-item:hover{background:var(--bg-hover);color:var(--primary)}.record-dicom-section{display:inline-flex;position:relative;vertical-align:middle}.record-dicom-toggle.is-open{border-color:var(--primary);color:var(--primary);background:var(--bg-hover)}.record-dicom-panel{width:fit-content;max-width:min(100vw - 24px,420px);border:1px solid var(--border, #d0d7de);border-radius:8px;overflow:hidden;background:var(--bg-primary, #fff);box-shadow:0 4px 12px #00000026}.dicom-modal-root{position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center;padding:12px;pointer-events:none}.dicom-modal-backdrop{position:fixed;inset:0;background:#0f172a9e;pointer-events:auto;touch-action:none;animation:m53-overlay-in .2s ease}.dicom-modal-root.is-closing .dicom-modal-backdrop{animation:m53-overlay-out .18s ease forwards}.dicom-modal{position:relative;z-index:1;width:fit-content;min-width:320px;max-width:min(calc(100vw - 24px),560px);max-height:min(90dvh,760px);display:flex;flex-direction:column;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow-lg);overflow:hidden;pointer-events:auto;animation:m53-modal-in .24s cubic-bezier(.2,.8,.2,1)}.dicom-modal.is-closing{animation:m53-modal-out .18s ease forwards}.dicom-modal-close{position:absolute;top:10px;right:10px;z-index:2;width:36px;height:36px;border:1px solid var(--border);border-radius:8px;background:var(--bg-primary);color:var(--text-secondary);font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.dicom-modal-close:hover{border-color:#ef4444;color:#ef4444;background:#ef444414}.dicom-modal-header{flex-shrink:0;padding:14px 48px 10px 16px;border-bottom:1px solid var(--border);background:var(--bg-hover)}.dicom-modal-title{font-size:15px;font-weight:600;color:var(--text-primary)}.dicom-modal-meta{margin-top:4px;font-size:12px;color:var(--text-secondary);line-height:1.35}.dicom-modal-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.dicom-modal-body .record-dicom-scroll{width:auto;max-width:100%;align-items:center}.record-dicom-zip-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;flex-shrink:0;padding:12px 16px;border:none;border-bottom:1px solid var(--border);background:var(--brand);color:#fff;font-size:14px;font-weight:600;cursor:pointer;text-align:center;transition:background .18s}.record-dicom-zip-btn:hover{background:var(--brand-deep)}.record-dicom-scroll{--dicom-item-h: 240px;width:fit-content;max-width:100%;flex:1 1 auto;min-height:0;max-height:min(calc(var(--dicom-item-h) * 3 + 30px),100%);overflow-y:auto;overflow-x:hidden;padding:10px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;align-items:flex-start;gap:10px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y}.record-dicom-preview-thumb{display:block;width:fit-content;max-width:100%;padding:0;border:none;background:transparent;cursor:pointer;text-align:left}.record-dicom-preview-thumb.is-loading{cursor:default}.record-dicom-preview-img,.record-dicom-preview-video{display:block;width:auto;max-width:min(520px,calc(100vw - 60px));max-height:var(--dicom-item-h, 240px);height:auto;border-radius:6px;border:1px solid var(--border, #d0d7de);background:#000}.record-dicom-preview-thumb:hover .record-dicom-preview-img,.record-dicom-preview-thumb:hover .record-dicom-preview-video{border-color:var(--primary, #1BA1F2)}.record-dicom-preview-placeholder{display:block;width:auto;height:var(--dicom-item-h, 168px);max-width:100%;aspect-ratio:4 / 3;border-radius:4px;background:linear-gradient(90deg,var(--bg-secondary) 25%,var(--bg-hover) 50%,var(--bg-secondary) 75%);background-size:200% 100%;animation:record-dicom-shimmer 1.2s infinite}.record-dicom-preview-placeholder--video{aspect-ratio:16 / 9;min-width:min(280px,calc(100vw - 60px));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:var(--bg-secondary);border:1px solid var(--border);animation:none;cursor:pointer;transition:border-color .2s,background .2s}.record-dicom-preview-thumb--video:hover .record-dicom-preview-placeholder--video{border-color:var(--primary, #1BA1F2);background:color-mix(in srgb,var(--primary, #1BA1F2) 8%,var(--bg-secondary))}.record-dicom-video-icon{width:40px;height:40px;color:var(--text-secondary);flex-shrink:0}.record-dicom-preview-thumb--video:hover .record-dicom-video-icon{color:var(--primary, #1BA1F2)}.record-dicom-video-label{font-size:12px;font-weight:600;color:var(--text-secondary);line-height:1.2}.record-dicom-preview-thumb--video:hover .record-dicom-video-label{color:var(--primary, #1BA1F2)}@keyframes record-dicom-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.record-files-item:active{background:var(--bg-hover)}.record-action-btn[title]:hover:after{content:attr(title);position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:8px;padding:6px 10px;background:#000000e6;color:#fff;font-size:12px;white-space:nowrap;border-radius:4px;pointer-events:none;z-index:1000}.record-action-btn[title]:hover:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:2px;border:4px solid transparent;border-top-color:#000000e6;pointer-events:none;z-index:1000}.record-html-viewer{width:100%;height:100%;min-height:0;border:none;overflow:hidden;background:#fff;flex:1 1 auto;display:flex;flex-direction:column;position:relative}.html-iframe{width:100%;height:100%;min-height:0;border:none;display:block;flex:1 1 auto}.record-examination{display:flex;flex-direction:column;gap:20px}.examination-section{display:flex;flex-direction:column;gap:12px}.examination-section h4{font-size:14px;font-weight:600;color:var(--text-primary);margin:0;text-transform:uppercase;letter-spacing:.5px}.examination-content{font-size:14px;line-height:1.6;color:var(--text-primary);word-wrap:break-word}.isolated-html-content{all:initial;font-family:inherit;font-size:14px;line-height:1.6;color:var(--text-primary);word-wrap:break-word;display:block}.isolated-html-content *{max-width:100%;box-sizing:border-box}.isolated-html-content table{width:100%;border-collapse:collapse;margin:12px 0}.isolated-html-content table td,.isolated-html-content table th{padding:8px;border:1px solid var(--border)}.isolated-html-content img{max-width:100%;height:auto}.isolated-html-content ul,.isolated-html-content ol{margin:12px 0;padding-left:24px}.isolated-html-content li{margin-bottom:6px}.isolated-html-content h1,.isolated-html-content h2,.isolated-html-content h3,.isolated-html-content h4,.isolated-html-content h5,.isolated-html-content h6{font-weight:600;margin:12px 0 8px;color:var(--text-primary)}.isolated-html-content p{margin:0 0 12px}.isolated-html-content p:last-child{margin-bottom:0}.isolated-html-content a{color:var(--primary);text-decoration:underline}.isolated-html-content a:hover{color:var(--primary-hover)}.isolated-html-content code,.isolated-html-content pre{font-family:Courier New,monospace;background:var(--bg-hover);padding:2px 6px;border-radius:4px}.isolated-html-content pre{padding:12px;overflow-x:auto}.isolated-html-content strong,.isolated-html-content b{font-weight:600}.isolated-html-content em,.isolated-html-content i{font-style:italic}.isolated-html-content div,.isolated-html-content span{display:block}.isolated-html-content span{display:inline}.examination-content :global(p){margin:0 0 12px}.examination-content :global(p:last-child){margin-bottom:0}.examination-content :global(ul),.examination-content :global(ol){margin:0 0 12px;padding-left:24px}.examination-content :global(li){margin-bottom:6px}.loading-details{text-align:center;padding:20px;color:var(--text-secondary);font-size:14px}.no-details{text-align:center;padding:20px;color:var(--text-secondary);font-size:14px;font-style:italic}.empty-state{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:60px 40px;text-align:center}.empty-icon{font-size:64px;margin-bottom:20px}.empty-state h3{color:var(--text-primary);font-size:24px;margin:0 0 8px}.empty-state p{color:var(--text-secondary);font-size:16px;margin:0}.error-state{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:60px 40px;text-align:center;margin-top:24px}.error-icon{font-size:64px;margin-bottom:20px}.error-state h3{color:var(--danger);font-size:24px;margin:0 0 8px}.error-state p{color:var(--text-secondary);font-size:16px;margin:0}.pagination-page{min-width:32px;height:32px;padding:0 8px;background:var(--bg-primary);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;font-weight:500;font-size:13px;transition:all .2s;display:flex;align-items:center;justify-content:center}.filter-indicator{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--soft);border:1px solid color-mix(in srgb,var(--brand) 28%,transparent);border-radius:var(--r);margin-bottom:16px;margin-top:16px}.filter-label{font-size:14px;color:var(--text-secondary);font-weight:500}.filter-value{font-size:14px;color:var(--text-primary);font-weight:600}.filter-clear-btn{margin-left:auto;padding:6px 12px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--brand);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.filter-clear-btn:hover{background:var(--brand);color:#fff;border-color:var(--brand)}@media(max-width:768px){.record-header{padding:16px}.record-header-top,.rec-top{flex-direction:column;align-items:stretch;gap:10px}.rec-top-right{text-align:left;width:100%;flex-shrink:1}.rec-date{white-space:normal}.rec-doc{max-width:100%;border-radius:12px;line-height:1.35;align-items:flex-start}.rec-meta{justify-content:flex-start;margin-top:8px;width:100%}.record-files-section{max-width:100%}.record-files-toggle,.record-dicom-toggle,.record-dicom-plate{max-width:100%;white-space:normal;flex-shrink:1}.record-dicom-plate{justify-content:flex-start;text-align:left}.record-dicom-plate-title{white-space:normal;text-align:left}.rec-foot{flex-direction:column;align-items:stretch;gap:12px}.rec-foot-actions{justify-content:flex-end}.rec-open-btn{width:100%;text-align:center}.rec-modal-preview-head{flex-direction:column;padding-right:36px}.rec-modal-preview-actions{align-self:flex-end}.tx-item.has-comment{display:flex;flex-direction:column;align-items:stretch;width:100%;max-width:100%}.tx-item.has-comment .tx{border-right:none;border-bottom:1px solid var(--border)}.tx-item.has-comment .tx-comment{align-self:stretch;width:100%}.record-header-content{flex-direction:column;gap:12px}.record-header-right{align-self:flex-start}.record-filters{flex-direction:column;gap:12px}.record-filters .form-group{min-width:100%}.record-filters select,.record-filters input{width:100%}.record-document,.record-section{padding:16px}.record-header-attachments{flex-wrap:wrap;justify-content:flex-start}.record-dicom-scroll{--dicom-item-h: 200px}.record-card.expanded.record-card-modal{width:calc(100vw - 12px);height:95dvh;max-height:95dvh}}.visits-list{display:flex;flex-direction:column;gap:14px}.visit-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:18px 20px;transition:border-color .18s,box-shadow .18s}.visit-card:hover{border-color:color-mix(in srgb,var(--brand) 30%,transparent)}.visit-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border);gap:12px}.visit-date{font-size:17px;font-weight:700;color:var(--text-primary)}.visit-number{font-size:13px;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border);padding:5px 12px;border-radius:999px;white-space:nowrap}.visit-employee{margin-bottom:12px;padding:10px 12px;background:var(--bg-secondary);border-radius:var(--r-sm);font-size:13px;color:var(--text-primary)}.visit-employee-position{margin-top:4px;color:var(--text-secondary);font-size:12px}.visit-services{margin-bottom:12px}.services-table{width:100%;border-collapse:collapse;margin:0}.service-row{border-bottom:1px solid var(--border)}.service-row:last-child{border-bottom:none}.service-name-cell{padding:9px 0;color:var(--text-primary);font-size:14px;vertical-align:middle}.service-amount-cell{padding:9px 0;text-align:right;vertical-align:middle;white-space:nowrap}.service-amount{font-weight:700;color:var(--brand-deep);font-size:14px}.service-amount-empty{color:var(--text-muted);font-size:14px}.visit-total{margin-top:12px;padding-top:12px;border-top:1px solid var(--border);text-align:right;font-size:16px;color:var(--text-primary)}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding:12px 16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--r);gap:16px;flex-wrap:wrap}.pagination-info{color:var(--text-secondary);font-size:13px;font-weight:500}.pagination-controls{display:flex;align-items:center;gap:8px}.pagination-btn{width:32px;height:32px;padding:0;background:var(--bg-primary);color:var(--brand);border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;font-weight:600;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .2s}.pagination-btn:hover:not(:disabled){background:var(--brand);color:#fff;border-color:var(--brand)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed;background:var(--bg-secondary)}.pagination-pages{display:flex;gap:4px}.pagination-page{min-width:32px;height:32px;padding:0 8px;background:var(--bg-primary);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;font-weight:500;font-size:13px;transition:all .2s}.pagination-page:hover{background:var(--bg-hover);border-color:var(--brand);color:var(--brand)}.pagination-page.active{background:var(--brand);color:#fff;border-color:var(--brand);font-weight:600}@media(max-width:768px){.visit-card{padding:14px 16px}.visit-header{flex-direction:column;align-items:flex-start;gap:8px}.visit-date{font-size:16px}.visit-number{font-size:12px;padding:4px 10px}.services-table{font-size:13px}.service-name-cell,.service-amount-cell{padding:7px 0}.pagination{flex-wrap:wrap;gap:12px;justify-content:center}}img.doctor-photo-mirrored,.doctor-photo-mirrored{transform:scaleX(-1)}.doctor-photo-frame{flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center;border-radius:12px;background:var(--soft);border:1px solid var(--border);box-sizing:border-box}.doctor-photo-frame--sm{width:40px;height:40px;border-radius:8px}.doctor-photo-frame--md{width:60px;height:60px}.doctor-photo-frame--lg{width:80px;height:80px}.doctor-photo-frame--xl{width:auto;height:240px;max-width:180px;border-radius:14px}.doctor-photo-frame img,.doctor-photo-frame .doctor-photo-mirrored,.doctor-photo-frame .doctor-photo,.doctor-photo-frame .selected-doctor-photo,.doctor-photo-frame .employee-card-photo{width:100%;height:100%;object-fit:cover;object-position:top center;border:none!important;border-radius:0!important;cursor:pointer}[data-theme=dark] .doctor-photo-frame{background:color-mix(in srgb,var(--bg-hover) 55%,var(--border-strong) 45%);border-color:var(--border-strong);box-shadow:inset 0 0 0 1px #ffffff0d,0 2px 8px #00000059}[data-theme=dark] .doctor-photo-frame img,[data-theme=dark] .doctor-photo-frame .doctor-photo-mirrored,[data-theme=dark] .doctor-photo-frame .doctor-photo,[data-theme=dark] .doctor-photo-frame .selected-doctor-photo,[data-theme=dark] .doctor-photo-frame .employee-card-photo{filter:brightness(.9) contrast(1.03) saturate(.9)}[data-theme=dark] .doctor-item .doctor-photo-container{background:color-mix(in srgb,var(--bg-hover) 55%,var(--border-strong) 45%);border:1px solid var(--border-strong);box-shadow:inset 0 0 0 1px #ffffff0d}[data-theme=dark] .doctor-item .doctor-photo-container .doctor-photo{filter:brightness(.9) contrast(1.03) saturate(.9)}.appointments-list{display:flex;flex-direction:column;gap:16px;min-width:0}.page-container{max-width:1000px;margin:0 auto;padding:24px 20px;box-sizing:border-box;width:100%}.appointment-card-new{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:24px;display:flex;flex-direction:column;gap:0;min-width:0;max-width:100%;box-sizing:border-box;transition:border-color .18s,box-shadow .18s}.appointment-card-new:hover{border-color:color-mix(in srgb,var(--brand) 30%,transparent)}.appointment-card-new.appointment-confirmed{background:var(--mint-soft);border:1px solid var(--mint)}.appointment-card-new.appointment-highlight-blue{animation:highlightAppointmentBlue 5s ease-in-out forwards;box-shadow:0 0 20px #1ba1f299!important}@keyframes highlightAppointmentBlue{0%{box-shadow:0 0 20px #1ba1f299;transform:scale(1)}15%{box-shadow:0 0 30px #1ba1f2cc;transform:scale(1.02)}85%{box-shadow:0 0 30px #1ba1f2cc;transform:scale(1.02)}to{box-shadow:0 0 20px #1ba1f299;transform:scale(1)}}.appointment-card-new.appointment-highlight-green{animation:highlightAppointmentGreen 5s ease-in-out forwards;box-shadow:0 0 20px #4caf5099!important}@keyframes highlightAppointmentGreen{0%{box-shadow:0 0 20px #4caf5099;transform:scale(1)}15%{box-shadow:0 0 30px #4caf50cc;transform:scale(1.02)}85%{box-shadow:0 0 30px #4caf50cc;transform:scale(1.02)}to{box-shadow:0 0 20px #4caf5099;transform:scale(1)}}.appointment-card-new.appointment-highlight-orange{animation:highlightAppointmentOrange 5s ease-in-out forwards;box-shadow:0 0 20px #ff980099!important}@keyframes highlightAppointmentOrange{0%{box-shadow:0 0 20px #ff980099;transform:scale(1)}15%{box-shadow:0 0 30px #ff9800cc;transform:scale(1.02)}85%{box-shadow:0 0 30px #ff9800cc;transform:scale(1.02)}to{box-shadow:0 0 20px #ff980099;transform:scale(1)}}.appointment-dropdown-container{position:relative;display:inline-block}.appointment-book-button{width:360px!important;padding:14px 40px!important;font-size:16px!important;font-weight:600!important}.appointment-dropdown-menu{position:absolute;top:calc(100% + 4px);right:0;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow-lg);width:360px;z-index:1000;animation:expandAndSlideDown .5s cubic-bezier(.25,.46,.45,.94);overflow:hidden;padding:12px;pointer-events:auto}@keyframes expandAndSlideDown{0%{opacity:0;transform:translateY(-8px) scale(.98);max-height:0}to{opacity:1;transform:translateY(0) scale(1);max-height:300px}}.appointment-dropdown-item{display:flex;align-items:center;gap:16px;padding:20px 24px;width:100%;border:1px solid var(--border);background:var(--bg-secondary);cursor:pointer;transition:all .3s cubic-bezier(.25,.46,.45,.94);text-align:left;border-radius:var(--r-sm);margin-bottom:8px}.appointment-dropdown-item:last-child{margin-bottom:0}.appointment-dropdown-item:hover{background:var(--bg-hover);border-color:var(--brand);transform:translate(4px);box-shadow:var(--shadow-md)}.appointment-dropdown-item:active{background:var(--bg-secondary);transform:translate(2px) scale(1)}.appointment-dropdown-icon{width:52px;height:52px;border-radius:14px;background:var(--soft);color:var(--brand-deep);display:grid;place-items:center;flex-shrink:0}.appointment-dropdown-icon svg{width:26px;height:26px}.appt-empty-ico{width:64px;height:64px;border-radius:18px;background:var(--soft);color:var(--brand);display:grid;place-items:center;margin:0 auto 16px}.appt-empty-ico svg{width:30px;height:30px}.arrow-icon svg,.expand-icon svg{display:block;width:14px;height:14px}.appointment-dropdown-content{flex:1;display:flex;flex-direction:column;gap:4px}.appointment-dropdown-title{font-size:16px;font-weight:600;color:var(--text-primary)}.appointment-dropdown-description{font-size:13px;color:var(--text-secondary);line-height:1.4}.appointment-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.appointment-card-left{display:flex;flex-direction:column;gap:8px}.appointment-doctor-name-wrapper{background:var(--soft);padding:8px 16px;border-radius:var(--r-sm);display:inline-block}.appointment-doctor-name{font-weight:600;font-size:18px;color:var(--brand-deep);margin:0}.appointment-specialty{color:var(--text-secondary);font-size:14px;margin-top:4px;margin-bottom:0}.appointment-card-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right}.appointment-date{font-weight:600;color:var(--text-primary);font-size:16px}.appointment-time{color:var(--brand);font-weight:500;font-size:16px}.appointment-works-table{margin-top:4px}.works-table{width:100%;border-collapse:collapse;font-size:14px}.works-table thead{background:var(--bg-secondary)}.works-table th{padding:8px 12px;text-align:left;font-weight:600;color:var(--text-primary);border-bottom:2px solid var(--border-strong)}.works-table td{padding:8px 12px;border-bottom:1px solid var(--border);color:var(--text-primary)}.works-table tbody tr:hover{background:var(--bg-hover)}.appointment-total-duration{color:var(--text-secondary);font-size:14px;font-weight:500;margin-top:4px;margin-bottom:0;padding-top:4px}.appointment-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:4px;padding-top:8px;border-top:1px solid var(--border)}.appointment-status-new{padding:8px 16px;border-radius:999px;font-size:14px;font-weight:500;background:var(--soft);color:var(--brand-deep)}.appointment-past-hint{color:var(--text-secondary);font-weight:400;font-size:13px}.appointment-actions-new{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.btn-confirm-new,.btn-reschedule-new,.btn-cancel-new{padding:10px 20px;border:none;border-radius:8px;cursor:pointer;font-weight:500;font-size:14px;transition:all .3s}.btn-cancel-new{padding:6px 14px;font-size:13px}.btn-confirm-new{background:var(--mint);color:#fff}.btn-confirm-new:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-confirm-new:disabled{opacity:.6;cursor:not-allowed}.btn-reschedule-new{background:var(--warn);color:#fff}.btn-reschedule-new:hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-cancel-new{background:transparent;color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 55%,transparent);padding:8px 16px}.btn-cancel-new:hover:not(:disabled){background:var(--danger-soft);transform:translateY(-1px)}.btn-cancel-new:disabled{opacity:.6;cursor:not-allowed;background:transparent;color:var(--danger)}.appointment-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:24px;display:flex;justify-content:space-between;align-items:center;gap:20px}.appointment-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;flex:1}.appointment-date{font-weight:600;color:var(--text-primary)}.appointment-time{color:var(--brand);font-weight:500}.appointment-doctor{color:var(--text-primary)}.appointment-specialty{color:var(--text-secondary);font-size:14px}.appointment-service{color:var(--text-primary);font-size:14px;font-weight:500}.appointment-services{margin-top:8px}.appointment-services-label{font-weight:600;color:var(--text-primary);font-size:14px;margin-bottom:6px}.appointment-services-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.appointment-service-item{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--bg-secondary);border-radius:var(--r-sm);font-size:14px}.service-name{color:var(--text-primary);flex:1}.service-duration{color:var(--text-secondary);font-size:13px}.service-time{color:var(--brand);font-weight:500;font-size:13px}.appointment-duration{color:var(--text-secondary);font-size:13px;margin-top:8px;font-weight:500}.appointment-status{padding:6px 12px;border-radius:20px;font-size:14px;font-weight:500;text-align:center}.status-scheduled{background:var(--soft);color:var(--brand-deep)}.status-completed{background:var(--mint-soft);color:var(--mint)}.status-cancelled{background:var(--danger-soft);color:var(--danger)}.appointment-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.btn-confirm{padding:12px 24px;background:var(--mint);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:15px;transition:all .3s}.btn-confirm:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-confirm:disabled{opacity:.5;cursor:not-allowed}.btn-reschedule{padding:12px 24px;background:var(--brand);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:15px;transition:all .3s}.btn-reschedule:hover:not(:disabled){background:var(--brand-deep);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-reschedule:disabled{opacity:.5;cursor:not-allowed}.btn-cancel{padding:6px 12px;background:transparent;color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 55%,transparent);border-radius:6px;cursor:pointer;font-weight:400;font-size:13px;transition:all .3s}.btn-cancel:hover:not(:disabled){background:var(--danger);color:#fff}.btn-cancel:disabled{opacity:.5;cursor:not-allowed}.status-confirmed{background:var(--mint-soft);color:var(--mint);font-weight:600}.status-icon{display:inline-block;margin-right:6px;color:var(--mint);font-weight:700;font-size:16px}.appointment-form{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:32px}.form-step{margin-bottom:32px;transition:all .4s cubic-bezier(.4,0,.2,1);opacity:1;transform:translateY(0);overflow:hidden}.form-step.collapsed{max-height:0;opacity:0;transform:translateY(-20px);margin-bottom:0;padding:0}.form-step h3{color:var(--text-primary);font-size:20px;margin:0 0 16px}.step-header{margin-bottom:20px;display:flex;flex-direction:column;gap:12px}.btn-back{align-self:flex-start;padding:8px 16px;font-size:14px;background:var(--bg-hover, #f5f7ff);border:1px solid var(--border, #e0e0e0);border-radius:8px;cursor:pointer;color:var(--text-primary, #333);transition:all .3s ease}.btn-back:hover{background:var(--border, #e0e0e0);transform:translate(-2px)}.btn-reset-doctor{padding:8px 16px;background:var(--bg-secondary, white);color:var(--text-primary, #333);border:1px solid var(--border, #e0e0e0);border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;margin-top:8px}.btn-reset-doctor:hover{background:var(--bg-hover, #f5f7ff);border-color:var(--primary, #1BA1F2);color:var(--primary, #1BA1F2)}.selected-category-badge,.selected-service-badge{padding:8px 16px;background:var(--soft);border-radius:8px;color:var(--text-secondary, #666);font-size:14px;display:inline-block}.doctors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.doctor-card{padding:20px;border:1px solid var(--border);border-radius:var(--r);background:var(--bg-primary);cursor:pointer;transition:all .3s}.doctor-card:hover{border-color:var(--brand);transform:translateY(-2px)}.doctor-card.selected{border-color:var(--brand);background:var(--soft)}.doctor-name{font-weight:600;color:var(--text-primary);margin-bottom:8px}.doctor-specialty{color:var(--text-secondary);font-size:14px}.date-input{width:100%;max-width:300px;padding:12px 16px;border:1px solid var(--border-strong);border-radius:8px;font-size:16px;background:var(--bg-primary);color:var(--text-primary)}.date-input:focus{outline:none;border-color:var(--brand)}.slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px}.slot-button{padding:12px;border:1px solid var(--border-strong);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);cursor:pointer;font-size:16px;transition:all .3s}.slot-button:hover:not(.disabled){border-color:var(--brand);background:var(--soft)}.slot-button.selected{border-color:var(--brand);background:var(--brand);color:#fff}.slot-button.disabled{opacity:.4;cursor:not-allowed;text-decoration:line-through}.notes-textarea{width:100%;padding:12px 16px;border:1px solid var(--border-strong);border-radius:8px;font-size:16px;font-family:inherit;background:var(--bg-primary);color:var(--text-primary);resize:vertical}.notes-textarea:focus{outline:none;border-color:var(--brand)}.btn-large{width:100%;padding:16px;font-size:18px}.info-message{padding:16px;background:var(--warn-soft);border:1px solid color-mix(in srgb,var(--warn) 40%,transparent);border-radius:8px;color:var(--warn)}.categories-section{transition:all .4s cubic-bezier(.4,0,.2,1)}.categories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin-top:16px;transition:all .3s ease}.category-card{padding:20px;border:2px solid var(--border, #e0e0e0);border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);background:var(--bg-primary);transform:scale(1)}.category-card:hover{border-color:var(--primary, #1BA1F2);transform:translateY(-4px) scale(1.02);box-shadow:0 6px 20px #00000026}.category-card.selected{border-color:var(--primary, #1BA1F2);background:var(--bg-hover, #f5f7ff);box-shadow:0 4px 12px #667eea33}.category-name{font-weight:600;color:var(--text-primary, #333);margin-bottom:8px;font-size:16px}.category-counts{font-size:14px;color:var(--text-secondary, #666)}.services-section{animation:slideIn .4s cubic-bezier(.4,0,.2,1)}.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:16px}.services-list{display:flex;flex-direction:column;gap:16px;margin-top:16px;animation:fadeIn .3s ease}.service-card-full{width:100%;padding:20px;border:2px solid var(--border, #e0e0e0);border-radius:12px;background:var(--bg-primary);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);transform:translate(0)}.service-card-full:hover{border-color:var(--primary, #1BA1F2);background:var(--bg-hover, #f5f7ff);transform:translate(4px);box-shadow:0 4px 12px #667eea26}.service-card-full.selected{border-color:var(--primary, #1BA1F2);background:var(--soft);box-shadow:0 4px 12px #667eea33}.service-card-content{display:flex;justify-content:space-between;align-items:flex-start;width:100%;gap:16px}.service-card-main{flex:1;display:flex;flex-direction:column;gap:8px}.service-doctors{margin-top:8px}.service-doctors-label{font-size:14px;color:var(--text-secondary, #666);margin-bottom:6px}.service-doctors-list{display:flex;flex-wrap:wrap;gap:8px}.doctor-badge{padding:4px 12px;background:var(--bg-hover, #f5f7ff);border-radius:16px;font-size:13px;color:var(--text-primary, #333);border:1px solid var(--border, #e0e0e0);transition:all .2s ease}.doctor-badge:hover{background:var(--soft);border-color:var(--primary, #1BA1F2)}.service-card{padding:20px;border:2px solid var(--border, #e0e0e0);border-radius:12px;cursor:pointer;transition:all .3s;background:var(--bg-secondary, white)}.service-card:hover{border-color:var(--primary, #1BA1F2);transform:translateY(-2px);box-shadow:0 4px 12px #667eea26}.service-card.selected{border-color:var(--primary, #1BA1F2);background:var(--bg-hover, #f5f7ff);box-shadow:0 4px 12px #667eea33}.service-name{font-weight:600;color:var(--text-primary, #333);margin-bottom:8px;font-size:16px;line-height:1.4}.service-duration{font-size:14px;color:var(--text-secondary, #666);margin-bottom:4px}.service-doctors-count{font-size:12px;color:var(--text-secondary, #999);margin-top:8px;white-space:nowrap}.doctors-slots-section{animation:slideIn .4s cubic-bezier(.4,0,.2,1)}.doctor-with-slots-card{margin-bottom:16px;border:2px solid var(--border, #e0e0e0);border-radius:12px;transition:all .4s cubic-bezier(.4,0,.2,1);animation:fadeIn .3s ease;background:var(--bg-primary);overflow:hidden;opacity:1;transform:translateY(0);max-height:2000px}.doctor-with-slots-card.hidden{opacity:0;transform:translateY(-20px);max-height:0;margin-bottom:0;padding:0;overflow:hidden;pointer-events:none}.doctor-with-slots-card.selected{border-color:var(--primary, #1BA1F2);background:var(--soft)}.doctor-with-slots-card:hover{box-shadow:0 4px 16px #0000001a}.doctor-card-header{padding:16px 20px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background .2s ease}.doctor-card-header:hover{background:var(--bg-hover, #f5f7ff)}.doctor-header-info{flex:1;display:flex;align-items:center;gap:12px;min-width:0}.doctor-header-actions{display:flex;align-items:center;gap:12px}.doctor-dates-count{font-size:13px;color:var(--text-secondary, #666);padding:4px 10px;background:var(--bg-hover, #f5f7ff);border-radius:12px}.expand-icon{font-size:12px;color:var(--text-secondary, #666);transition:transform .3s ease;-webkit-user-select:none;user-select:none}.expand-icon.expanded{transform:rotate(180deg)}.doctor-slots-content{padding:0 20px 16px;border-top:1px solid var(--border, #e0e0e0);animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:1000px}}.slots-date-group,.slots-date-group:first-child{margin-top:16px}.slots-date-label{font-size:13px;font-weight:500;color:var(--text-secondary, #666);margin-bottom:8px}.slots-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;position:relative}.slot-button-compact{padding:6px 12px;border:1.5px solid var(--border, #e0e0e0);border-radius:6px;background:var(--bg-primary);color:var(--text-primary, #333);cursor:pointer;font-size:13px;font-weight:500;transition:all .2s ease;white-space:nowrap;min-width:60px;text-align:center}.slot-button-compact:hover{border-color:var(--primary, #1BA1F2);background:var(--bg-hover, #f5f7ff);transform:translateY(-1px)}.slot-button-compact.selected{border-color:var(--primary, #1BA1F2);background:var(--primary, #1BA1F2);color:#fff;box-shadow:0 2px 8px #667eea4d}.slot-book-button-green{padding:12px 28px;border:none;border-radius:8px;background:var(--mint);color:#fff;cursor:pointer;font-size:16px;font-weight:700;transition:all .4s cubic-bezier(.4,0,.2,1);white-space:nowrap;position:absolute;left:100%;top:50%;transform:translateY(-50%);z-index:10;animation:slideInFromSlot .5s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 16px #34d27b66;margin-left:12px;min-width:140px;opacity:1;pointer-events:auto}.slot-book-button-green.leaving{animation:slideOutFromSlot .3s cubic-bezier(.4,0,.2,1) forwards;pointer-events:none}.slot-book-button-green:hover{filter:brightness(1.06);transform:translate(0) translateY(-50%) scale(1.05);box-shadow:0 6px 20px #34d27b80}.slot-book-button-green:active{transform:translate(0) translateY(-50%) scale(.98)}.slot-book-button{padding:12px 28px;border:none;border-radius:8px;background:var(--warn);color:#fff;cursor:pointer;font-size:16px;font-weight:700;transition:all .4s cubic-bezier(.4,0,.2,1);white-space:nowrap;position:absolute;left:100%;top:50%;transform:translateY(-50%);z-index:10;animation:slideInFromSlot .5s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 16px #f59e0b66;margin-left:12px;min-width:140px;opacity:1;pointer-events:auto}.slot-book-button.leaving{animation:slideOutFromSlot .3s cubic-bezier(.4,0,.2,1) forwards;pointer-events:none}.slot-book-button:hover{filter:brightness(1.06);transform:translate(0) translateY(-50%) scale(1.05);box-shadow:0 6px 20px #f59e0b80}.slot-book-button:active{transform:translate(0) translateY(-50%) scale(.98)}@keyframes slideInFromSlot{0%{opacity:0;transform:translate(-30px) translateY(-50%) scale(.85)}to{opacity:1;transform:translate(0) translateY(-50%) scale(1)}}@keyframes slideOutFromSlot{0%{opacity:1;transform:translate(0) translateY(-50%) scale(1)}to{opacity:0;transform:translate(-30px) translateY(-50%) scale(.85)}}.no-slots-message{padding:16px 20px;color:var(--text-secondary, #666);font-size:14px;text-align:center}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.positions-grid{display:flex;flex-direction:column;gap:16px}.position-card{background:var(--bg-primary);border:2px solid var(--border);border-radius:12px;overflow:hidden;transition:all .3s ease}.position-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;cursor:pointer;background:var(--bg-secondary);transition:background .2s}.position-header:hover{background:var(--bg-hover)}.position-name{display:inline-flex;align-items:center;gap:10px;font-size:18px;font-weight:600;color:var(--text-primary);flex-grow:1;min-width:0}.position-icon{width:22px;height:22px;flex-shrink:0;color:var(--brand-deep)}.position-doctors-count{font-size:14px;color:var(--text-secondary);margin-right:12px}.position-doctors-list{padding:0 20px 16px;display:flex;flex-direction:column;gap:8px;animation:slideDown .3s ease}.doctor-item{padding:12px 16px;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s;font-size:15px;color:var(--text-primary);display:flex;align-items:center;gap:12px}.doctor-item:hover{background:var(--bg-hover);border-color:var(--primary)}.doctor-item.selected{background:var(--soft);border-color:var(--primary);color:var(--primary);font-weight:500}.doctor-item .doctor-photo-container{width:80px;height:80px;flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:12px;background:var(--soft);border:1px solid var(--border)}.doctor-item .doctor-photo-container .doctor-photo{width:100%;height:100%;object-fit:cover;object-position:top center;border-radius:0;transform:scaleX(-1)}.doctor-photo{height:80px;width:auto;border-radius:8px;object-fit:cover;flex-shrink:0;transform:scaleX(-1)}.doctor-name{flex:1;min-width:0;word-wrap:break-word}.employee-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.employee-modal{background:var(--bg-primary);border-radius:16px;max-width:800px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 8px 32px #0000004d}.employee-modal-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border:none;background:var(--bg-hover);border-radius:50%;font-size:24px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:background .2s}.employee-modal-close:hover{background:var(--border-strong)}.employee-card{padding:32px}.employee-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;gap:24px;padding-right:50px}.employee-card-left{flex:1;display:flex;flex-direction:column}.employee-card-right{flex-shrink:0;margin-left:auto}.employee-fio-wrapper{background:var(--brand);padding:12px 20px;border-radius:12px;margin-bottom:12px;display:inline-block;align-self:flex-start}.employee-fio{font-size:28px;font-weight:600;color:#fff;margin:0;padding:0;line-height:1.2;display:block}.employee-position{font-size:18px;color:var(--text-secondary);margin-bottom:8px}.employee-experience{font-size:16px;color:var(--text-muted)}.employee-card-right .doctor-photo-frame--xl{margin-right:20px}.employee-card-photo{width:100%;height:100%;object-fit:cover;object-position:top center;border:none;transform:scaleX(-1)}.employee-section{margin-bottom:24px;margin-top:0}.employee-section:first-of-type{margin-top:0}.employee-section-title{font-size:20px;font-weight:600;color:var(--text-primary);margin:0 0 16px;padding-bottom:8px;border-bottom:2px solid var(--border-strong)}.employee-section-content{display:flex;flex-direction:column;gap:16px}.employee-item{padding:16px;background:var(--bg-secondary);border-radius:8px;border-left:4px solid var(--primary, #1BA1F2)}.employee-item-text{font-size:15px;color:var(--text-primary);line-height:1.5;margin-bottom:8px}.employee-item-date{font-size:13px;color:var(--text-secondary)}.selected-doctor-card{display:flex;align-items:flex-start;gap:12px;padding:16px;background:var(--bg-secondary);border-radius:12px;margin-top:16px;border:1px solid var(--border);min-height:80px}.selected-doctor-card .doctor-photo-frame--md{flex-shrink:0}.selected-doctor-photo{width:100%;height:100%;object-fit:cover;object-position:top center;flex-shrink:0;border:none;transform:scaleX(-1)}.selected-doctor-info{flex:1;min-width:0}.selected-doctor-name{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:4px;line-height:1.2}.selected-doctor-position{font-size:13px;color:var(--text-secondary);margin-bottom:2px;line-height:1.2}.selected-service-name{font-size:13px;color:var(--text-muted);margin-top:2px;font-style:italic;line-height:1.3}.doctor-services-list{display:flex;flex-direction:column;gap:12px}.doctor-service-card{padding:20px;border:2px solid var(--border);border-radius:12px;cursor:pointer;transition:all .3s;background:var(--bg-primary)}.doctor-service-card.has-slots:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px #667eea26}.doctor-service-card.no-slots{opacity:.6;cursor:not-allowed}.service-name{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.service-duration{font-size:14px;color:var(--text-secondary);margin-bottom:8px}.service-slots-info{font-size:14px;color:var(--primary);font-weight:500}.selected-doctor-badge{padding:8px 16px;background:var(--soft);border-radius:8px;margin-top:8px;font-size:14px;color:var(--text-primary)}.date-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg-secondary);border-radius:8px;cursor:pointer;margin-bottom:12px;transition:background .2s}.date-header:hover{background:var(--bg-hover)}.slots-count{font-size:13px;color:var(--text-secondary)}.slots-container{display:flex;flex-direction:column;gap:16px}.search-container{position:relative;margin-bottom:24px}.search-input{width:100%;max-width:600px;padding:12px 16px;border:2px solid var(--border, #e0e0e0);border-radius:8px;font-size:16px;transition:all .3s}.search-input:focus{outline:none;border-color:var(--primary, #1BA1F2);box-shadow:0 0 0 3px #1ba1f21a}.search-results{position:absolute;top:100%;left:0;right:0;max-width:600px;background:var(--bg-primary);border:2px solid var(--border, #e0e0e0);border-radius:8px;box-shadow:0 4px 12px #00000026;margin-top:8px;max-height:400px;overflow-y:auto;z-index:1000}.search-results-section{padding:12px}.search-results-section:not(:last-child){border-bottom:1px solid var(--border, #e0e0e0)}.search-results-title{font-weight:600;color:var(--text-primary, #333);font-size:14px;margin-bottom:8px;padding:0 4px}.search-result-item{padding:10px 12px;cursor:pointer;border-radius:6px;transition:all .2s}.search-result-item:hover{background:var(--bg-hover, #f5f7ff)}.search-result-name{font-weight:500;color:var(--text-primary, #333);font-size:15px;margin-bottom:4px}.search-result-meta{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary, #666)}.search-result-spec-icon{width:14px;height:14px;flex-shrink:0;opacity:.8}.search-loading,.search-no-results{padding:16px;text-align:center;color:var(--text-secondary, #666);font-size:14px}@media(max-width:768px){.page-header{flex-wrap:wrap;gap:12px}.appointment-dropdown-container{width:100%}.appointment-book-button{width:100%!important;max-width:100%}.appointment-dropdown-menu{width:100%;left:0;right:0}.appointment-card,.appointment-card-new{flex-direction:column;align-items:stretch;padding:16px}.page-container{padding:12px 10px}.appointment-card-header{flex-direction:column;align-items:stretch;gap:12px}.appointment-doctor-name-wrapper{width:fit-content;max-width:100%}.appointment-doctor-name{font-size:16px;word-break:break-word}.appointment-card-right{flex-direction:row;align-items:baseline;justify-content:flex-start;text-align:left;gap:12px}.appointment-date,.appointment-time{font-size:15px}.works-table{display:block;width:100%}.works-table thead{display:none}.works-table tbody{display:block}.works-table tr{display:block;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin-bottom:8px}.works-table tr:last-child{margin-bottom:0}.works-table td{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:6px 0;border:none;font-size:14px;text-align:right;word-break:break-word}.works-table td:before{content:attr(data-label);font-weight:600;color:var(--text-secondary);text-align:left;flex-shrink:0;min-width:7.5rem}.works-table tbody tr:hover{background:var(--bg-secondary)}.appointment-total-duration{margin-top:8px}.appointment-info{grid-template-columns:1fr}.appointment-card-footer{flex-direction:column;gap:12px;align-items:stretch}.appointment-status-new{width:100%;text-align:center;box-sizing:border-box}.appointment-actions-new{flex-direction:column;width:100%}.btn-confirm-new,.btn-reschedule-new,.btn-cancel-new{width:100%;box-sizing:border-box;min-height:44px}.search-container{margin-bottom:16px}.search-input{font-size:16px;padding:12px 16px;min-height:44px}.search-results{max-width:100%;padding:8px}.doctors-grid,.positions-grid,.services-grid{grid-template-columns:1fr}.slots-grid{grid-template-columns:repeat(2,1fr);gap:8px}.slots-row{flex-wrap:wrap;gap:8px}.slot-button-compact{min-width:70px;padding:10px;font-size:14px}.slot-book-button-green,.slot-book-button{font-size:13px;padding:8px 12px}.form-step{padding:16px 0}.form-step h3{font-size:18px}.appointment-form{padding:0}.appointment-confirm-modal-overlay{padding:8px;align-items:stretch;padding-top:max(8px,env(safe-area-inset-top,0px));padding-bottom:max(8px,env(safe-area-inset-bottom,0px))}.appointment-confirm-modal{padding:14px 16px 12px;max-height:calc(100dvh - 16px);overflow:hidden;border-radius:10px}.appointment-confirm-modal h2{font-size:18px;margin:0 32px 8px 0;line-height:1.25}.appointment-confirm-modal-close{top:8px;right:8px;font-size:26px;width:28px;height:28px}.confirm-patient-name{margin-bottom:8px;font-size:14px;line-height:1.35}.confirm-check-message{margin-top:6px;padding:6px 10px;font-size:13px;line-height:1.35}.confirm-appointment-data{margin-bottom:8px;flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.confirm-data-table tbody tr{display:grid;grid-template-columns:6.5rem 1fr;gap:2px 8px;align-items:start;padding:4px 0}.confirm-data-table td{padding:0;font-size:14px;line-height:1.35}.confirm-label{width:auto;padding-right:0;font-size:13px}.confirm-doctor-name{margin-bottom:2px}.confirm-doctor-position{font-size:12px}.confirm-modal-notes{margin:6px 0 8px;flex-shrink:0}.confirm-modal-notes label{margin-bottom:4px;font-size:13px}.confirm-modal-notes .notes-textarea{min-height:48px;max-height:72px;padding:8px 10px;font-size:16px}.confirm-modal-actions{flex-direction:column;flex-shrink:0;gap:8px;margin-top:auto;padding-top:4px}.confirm-modal-actions .btn-primary,.confirm-modal-actions .btn-secondary{width:100%;min-height:44px;padding:10px 12px;font-size:14px}.employee-modal{max-height:90vh;margin:12px}.employee-card{padding:24px 20px}.employee-card-photo{height:160px}.doctor-item .doctor-photo-container,.doctor-item .doctor-photo-container .doctor-photo{height:60px}.selected-doctor-photo{height:48px}.empty-state{padding:40px 20px}.date-slots-group .date-header{padding:12px}.doctor-with-slots-card .doctor-card-header,.doctor-header-info{flex-wrap:wrap}.doctor-name,.doctor-specialty{font-size:14px}.service-card-full,.doctor-service-card{padding:16px}.positions-section .position-card,.position-doctors-list{padding:12px}}.appointment-confirm-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.appointment-confirm-modal{background:var(--bg-primary);border-radius:12px;padding:32px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 8px 32px #0003;display:flex;flex-direction:column;box-sizing:border-box}.appointment-confirm-modal-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:32px;color:var(--text-secondary);cursor:pointer;line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s}.appointment-confirm-modal-close:hover{background:var(--bg-hover)}.appointment-confirm-modal h2{margin:0 0 24px;font-size:24px;color:var(--text-primary)}.confirm-patient-name{margin-bottom:24px;font-size:16px;color:var(--text-primary);line-height:1.5}.confirm-check-message{margin-top:12px;padding:12px 16px;background:var(--soft);border-left:3px solid var(--brand);border-radius:4px;font-weight:500;color:var(--text-primary)}.confirm-appointment-data{margin-bottom:24px}.confirm-data-table{width:100%;border-collapse:collapse}.confirm-data-table tbody tr{border-bottom:1px solid var(--border)}.confirm-data-table tbody tr:last-child{border-bottom:none}.confirm-data-table td{padding:12px 0;vertical-align:top}.confirm-label{font-weight:600;color:var(--text-secondary);width:140px;padding-right:16px}.confirm-value{color:var(--text-primary)}.confirm-doctor-name{margin-bottom:4px}.confirm-doctor-position{color:var(--text-secondary);font-size:14px}.service-price{color:var(--brand);font-weight:600}.confirm-modal-notes{margin-top:20px;margin-bottom:20px}.confirm-modal-notes label{display:block;font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:8px}.confirm-modal-notes .notes-textarea{width:100%;padding:12px;border:1px solid var(--border-strong);border-radius:8px;font-size:14px;resize:vertical;min-height:56px;max-height:120px;box-sizing:border-box}.confirm-modal-notes .notes-textarea:focus{outline:none;border-color:var(--primary, #1BA1F2)}.confirm-modal-actions{display:flex;gap:12px;justify-content:flex-end}.appointment-json-preview{margin-top:24px;padding:16px;background:var(--bg-secondary);border-radius:8px}.appointment-json-preview h3{margin:0 0 12px;font-size:16px;color:var(--text-primary)}.appointment-json-preview pre{background:var(--bg-primary);padding:12px;border-radius:4px;overflow-x:auto;font-size:12px;margin:0 0 16px;max-height:300px;overflow-y:auto}.confirm-status{margin-bottom:16px;padding:12px;background:var(--soft);border-radius:6px;color:var(--text-primary);font-size:14px}.doctor-age-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.age-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:500;line-height:1.4;white-space:nowrap}.age-badge-icon{width:14px;height:14px;flex-shrink:0}.age-badge-children{background:#fff3e0;color:#e65100;border:1px solid #FFE0B2}.age-badge-adults{background:#e3f2fd;color:#1565c0;border:1px solid #BBDEFB}.appointment-confirm-modal-overlay,.employee-modal-overlay{animation:m53-overlay-in .2s ease}.appointment-confirm-modal,.employee-modal{animation:m53-modal-in .26s cubic-bezier(.2,.8,.2,1)}[data-theme=dark] .age-badge-children{background:#ff980026;color:#ffb74d;border-color:#ff98004d}[data-theme=dark] .age-badge-adults{background:#2196f326;color:#64b5f6;border-color:#2196f34d}.age-warning-modal{text-align:center;padding:8px 0}.age-warning-icon{display:flex;justify-content:center}.age-warning-text{font-size:16px;color:var(--text-primary, #333);margin:12px 0 4px;line-height:1.5}.age-warning-hint{font-size:14px;color:var(--text-secondary, #666);margin:0}.appt-page{max-width:1000px}.appt-page-head{margin-bottom:20px}.appt-page-head--booking{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.appt-section-label{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin:6px 0 12px}.appt-list-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.appt-list-bar .appt-section-label{margin:0}.appt-search{position:relative;display:flex;align-items:center;gap:10px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--r);padding:0 14px;margin-bottom:18px;box-shadow:var(--shadow-sm)}.appt-search svg{width:18px;height:18px;color:var(--text-muted);flex-shrink:0}.appt-search-input{flex:1;border:none;background:transparent;padding:12px 0;font-size:15px;color:var(--text-primary);min-height:44px;outline:none}.appt-search-input::placeholder{color:var(--text-muted)}.appt-search .search-results{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:100}.appt-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:12px;font-size:14px;font-weight:600;border:1px solid transparent;cursor:pointer;transition:background .15s,border-color .15s,color .15s,transform .15s;font-family:inherit}.appt-btn svg{width:16px;height:16px}.appt-btn-sm{min-height:38px;padding:0 14px;font-size:13px}.appt-btn-primary{background:var(--brand);color:#fff;border-color:var(--brand)}.appt-btn-primary:hover{filter:brightness(1.05)}.appt-btn-ghost{background:var(--bg-primary);color:var(--text-primary);border-color:var(--border)}.appt-btn-ghost:hover{border-color:var(--brand);color:var(--brand-deep);background:var(--soft)}.appt-btn-mint{background:var(--mint);color:#fff;border-color:var(--mint)}.appt-btn-mint:hover:not(:disabled){filter:brightness(1.06)}.appt-btn-mint:disabled{opacity:.55;cursor:not-allowed}.appt-btn-danger{background:var(--bg-primary);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,transparent)}.appt-btn-danger:hover:not(:disabled){background:var(--danger-soft)}.appt-btn-danger:disabled{opacity:.55;cursor:not-allowed}.appt-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-md);overflow:hidden;min-width:0}.appt-card--confirmed{border-color:color-mix(in srgb,var(--mint) 55%,var(--border))}.appt-card-top{display:flex;justify-content:space-between;gap:16px;padding:18px 20px 14px}.appt-card-doc{font-weight:700;font-size:16px;color:var(--text-primary);word-break:break-word}.appt-card-spec{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:13px;margin-top:2px}.appt-card-spec-icon{width:15px;height:15px;flex-shrink:0;opacity:.85}.appt-card-when{text-align:right;flex-shrink:0}.appt-card-date{font-weight:700;color:var(--brand-deep);font-size:14px}.appt-card-time{font-family:var(--font-display);font-weight:700;font-size:18px;color:var(--brand);margin-top:2px}.appt-card-table{width:100%;border-collapse:collapse;font-size:13.5px}.appt-card-table th{text-align:left;color:var(--text-muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.04em;padding:6px 20px;background:var(--bg-secondary)}.appt-card-table td{padding:9px 20px;border-top:1px solid var(--border);color:var(--text-primary)}.appt-card-table td:last-child,.appt-card-table th:last-child{text-align:right;white-space:nowrap}.appt-card-duration{padding:0 20px 10px;font-size:13px;color:var(--text-secondary)}.appt-card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-top:1px solid var(--border);flex-wrap:wrap}.appt-card-actions{display:flex;gap:8px;flex-wrap:wrap}.appt-status{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;flex-wrap:wrap}.appt-status:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;flex-shrink:0}.appt-status--ok{color:var(--mint)}.appt-status--wait{color:var(--warn)}.appt-status--default{color:var(--brand-deep)}.appt-empty{background:var(--bg-primary);border:1px dashed var(--border-strong);border-radius:var(--r-lg);padding:48px 24px;text-align:center}.appt-empty h3{margin:0 0 8px;font-size:18px;font-weight:700;color:var(--text-primary)}.appt-empty p{margin:0 0 20px;color:var(--text-secondary);font-size:14px;line-height:1.5}.appt-mode-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:18px}.appt-mode-tile{display:flex;flex-direction:column;align-items:flex-start;gap:10px;text-align:left;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:22px;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s;font-family:inherit;color:inherit}.appt-mode-tile:hover{border-color:color-mix(in srgb,var(--brand) 35%,transparent);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.appt-mode-tile h3{margin:0;font-size:17px;font-weight:700;color:var(--text-primary)}.appt-mode-tile p{margin:0;font-size:13px;color:var(--text-secondary);line-height:1.45}.appt-mode-ico{width:52px;height:52px;border-radius:14px;background:var(--soft);color:var(--brand-deep);display:grid;place-items:center}.appt-mode-ico svg{width:26px;height:26px}.appt-back-row{margin-top:4px}.appt-stepper{display:flex;align-items:center;gap:8px;margin-bottom:20px;flex-wrap:wrap}.appt-step{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:13px;font-weight:600}.appt-step-dot{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--bg-primary);border:1px solid var(--border-strong);font-size:12px;flex-shrink:0}.appt-step.active{color:var(--brand-deep)}.appt-step.active .appt-step-dot{background:var(--brand);color:#fff;border-color:var(--brand)}.appt-step.done{color:var(--mint)}.appt-step.done .appt-step-dot{background:var(--mint);color:#fff;border-color:var(--mint)}.appt-step-sep{width:20px;height:1px;background:var(--border);flex-shrink:0}.appt-step-label{white-space:nowrap}.appt-selected-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:18px 20px;margin-bottom:14px}.appt-selected-card .appt-section-label{margin:0 0 8px}.appt-chips{display:flex;gap:8px;flex-wrap:wrap}.appt-chip{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:999px;font-size:12.5px;font-weight:600;background:var(--soft);color:var(--brand-deep)}.appt-slot{height:38px;min-width:62px;padding:0 12px;border-radius:10px;border:1px solid var(--border-strong);background:var(--bg-primary);font-size:13px;font-weight:600;color:var(--text-secondary)}.appt-slot:hover{border-color:var(--brand);color:var(--brand-deep);background:var(--tint)}.appt-slot.sel{background:var(--brand);color:#fff;border-color:var(--brand)}.appt-doctor-card{border-radius:var(--r-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.appt-card.appointment-highlight-blue,.appt-card.appointment-highlight-green,.appt-card.appointment-highlight-orange{animation-duration:5s;animation-timing-function:ease-in-out;animation-fill-mode:forwards}.appt-card.appointment-highlight-blue{animation-name:highlightAppointmentBlue}.appt-card.appointment-highlight-green{animation-name:highlightAppointmentGreen}.appt-card.appointment-highlight-orange{animation-name:highlightAppointmentOrange}@media(max-width:768px){.appt-mode-grid{grid-template-columns:1fr}.appt-card-top{flex-direction:column;align-items:stretch}.appt-card-when{text-align:left;display:flex;align-items:baseline;gap:10px}.appt-card-table thead{display:none}.appt-card-table,.appt-card-table tbody,.appt-card-table tr,.appt-card-table td{display:block;width:100%}.appt-card-table td{padding:2px 20px;border:none;text-align:left}.appt-card-table tr{padding:10px 0;border-top:1px solid var(--border)}.appt-card-table td:last-child{text-align:left}.appt-card-table td[data-label]:before{content:attr(data-label) ": ";color:var(--text-muted);font-weight:600}.appt-card-foot{flex-direction:column;align-items:stretch}.appt-card-actions{flex-direction:column;width:100%}.appt-card-actions .appt-btn{width:100%}.appt-stepper{gap:6px}.appt-step-label{font-size:12px}.appt-step-sep{width:10px}.appt-page-head--booking{flex-direction:column}}.appt-btn-block{width:100%}.appt-modal-overlay{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:16px;background:color-mix(in srgb,var(--ink, #041520) 55%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:m53-overlay-in .2s ease}.appt-modal{position:relative;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:24px;box-sizing:border-box;animation:m53-modal-in .26s cubic-bezier(.2,.8,.2,1)}.appt-modal--wide{max-width:min(640px,96vw);max-height:88vh;display:flex;flex-direction:column}.appt-modal--warn{text-align:center;max-width:420px}.appt-modal-close{position:absolute;top:14px;right:14px;width:36px;height:36px;border:none;border-radius:10px;background:var(--bg-secondary);color:var(--text-secondary);font-size:22px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background .15s,color .15s}.appt-modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.appt-modal-title{margin:0 36px 8px 0;font-family:var(--font-display);font-size:20px;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.appt-modal-title--warn{color:var(--warn);margin-top:8px}.appt-modal-subtitle{margin:0 0 16px;font-size:14px;color:var(--text-secondary);line-height:1.4}.appt-modal-greeting{margin:0 0 12px;font-size:15px;color:var(--text-primary);line-height:1.45}.appt-modal-hint{margin-bottom:16px;padding:12px 14px;background:var(--soft);border-left:3px solid var(--brand);border-radius:0 var(--r-sm) var(--r-sm) 0;font-size:14px;font-weight:500;color:var(--text-primary);line-height:1.4}.appt-modal-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--r);padding:4px 16px;margin-bottom:16px}.appt-modal-card--compact{margin-bottom:12px}.appt-modal-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:10px 0;border-bottom:1px solid var(--border);font-size:14px}.appt-modal-row:last-child{border-bottom:none}.appt-modal-row--block{flex-direction:column;gap:4px}.appt-modal-label{color:var(--text-muted);font-size:13px;flex-shrink:0}.appt-modal-row:not(.appt-modal-row--block) .appt-modal-label{min-width:7rem}.appt-modal-value{color:var(--text-primary);font-weight:600;text-align:right;word-break:break-word}.appt-modal-row--block .appt-modal-value{text-align:left}.appt-modal-value-sub{display:block;margin-top:2px;font-size:13px;font-weight:400;color:var(--text-secondary)}.appt-modal-value--accent{color:var(--brand-deep)}.appt-modal-value--price{color:var(--brand);font-family:var(--font-display)}.appt-modal-field{margin-bottom:16px}.appt-modal-field label{display:block;margin-bottom:8px;font-size:13px;font-weight:600;color:var(--text-secondary)}.appt-modal-textarea{width:100%;min-height:72px;max-height:140px;padding:12px 14px;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--bg-primary);color:var(--text-primary);font-size:14px;font-family:inherit;resize:vertical;box-sizing:border-box;line-height:1.45}.appt-modal-textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 18%,transparent)}.appt-modal-textarea::placeholder{color:var(--text-muted)}.appt-modal-actions{display:flex;flex-direction:column;gap:10px;margin-top:4px}.appt-modal--wide .appt-modal-actions{margin-top:auto;padding-top:16px;border-top:1px solid var(--border)}.appt-modal-slots{flex:1;min-height:0;overflow-y:auto;margin-bottom:8px;max-height:50vh}.appt-modal-alert{padding:16px;border-radius:var(--r);margin-bottom:16px;font-size:14px;line-height:1.5}.appt-modal-alert p{margin:0 0 8px;color:inherit}.appt-modal-alert p:last-child{margin-bottom:0}.appt-modal-alert--warn{background:var(--warn-soft);border:1px solid color-mix(in srgb,var(--warn) 35%,transparent);color:var(--text-primary)}.appt-modal-alert-title{font-weight:700;margin-bottom:8px}.appt-modal-warn-ico{display:flex;justify-content:center;color:var(--warn)}.appt-modal-warn-ico svg{width:48px;height:48px}.appt-modal-warn-text{margin:12px 0 8px;font-size:15px;color:var(--text-primary);line-height:1.5}.appt-modal-warn-hint{margin:0 0 4px;font-size:14px;color:var(--text-secondary)}.appt-modal--minor{max-width:520px}.appt-modal-minor{margin-bottom:16px;padding:14px 16px;border-radius:var(--r);background:var(--warn-soft);border:1px solid color-mix(in srgb,var(--warn) 30%,transparent);font-size:13px;line-height:1.5;color:var(--text-primary)}.appt-modal-minor p{margin:0 0 10px}.appt-modal-minor p:last-child{margin-bottom:0}.appt-modal-minor-title{font-weight:700;font-size:14px;margin-bottom:6px;color:var(--text-primary)}.appt-modal-minor-age{font-weight:600;color:var(--warn);margin-bottom:10px!important}.appt-modal-minor-docs strong{font-weight:600}@media(max-width:768px){.appt-modal{padding:20px 16px;max-height:92vh}.appt-modal-row:not(.appt-modal-row--block){flex-direction:column;gap:4px}.appt-modal-value{text-align:left}.appt-modal--wide{max-height:94vh}.appt-modal-slots{max-height:45vh}}.tax-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 18px;border-radius:12px;font-size:14px;font-weight:600;border:none;cursor:pointer;background:var(--brand);color:#fff;box-shadow:var(--shadow-float);transition:background .18s}.tax-cta:hover{background:var(--brand-deep)}.tax-cta.is-cancel{background:transparent;color:var(--text-secondary);border:1px solid var(--border-strong);box-shadow:none}.tax-cta.is-cancel:hover{background:var(--bg-hover);color:var(--text-primary)}.tax-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:24px;margin-bottom:20px}.tax-card h3{font-size:18px;font-weight:700;margin:0 0 16px}.tax-notice{background:var(--soft);border:1px solid color-mix(in srgb,var(--brand) 28%,transparent);border-radius:var(--r);padding:14px 16px;font-size:14px;line-height:1.5;color:var(--text-secondary);margin-bottom:16px}.tax-notice strong{color:var(--text-primary)}.tax-notice p{margin:8px 0 0}.tax-banner{padding:13px 16px;border-radius:var(--r);font-size:14px;border:1px solid transparent;margin:18px 0}.tax-banner.is-info{background:var(--soft);color:var(--brand-deep);border-color:color-mix(in srgb,var(--brand) 30%,transparent)}.tax-banner.is-warning{background:var(--warn-soft);color:var(--warn);border-color:color-mix(in srgb,var(--warn) 35%,transparent)}.tax-banner.is-error{background:var(--danger-soft);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,transparent)}.tax-form{display:flex;flex-direction:column;gap:16px}.tax-field{display:flex;flex-direction:column;gap:6px}.tax-field label{font-size:14px;font-weight:500;color:var(--text-secondary)}.tax-field input,.tax-field select{padding:11px 14px;border:1px solid var(--border-strong);border-radius:var(--r-sm);font-size:15px;background:var(--bg-primary);color:var(--text-primary);transition:border-color .18s,box-shadow .18s}.tax-field input:focus,.tax-field select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--soft)}.tax-field input.is-invalid{border-color:var(--danger)}.tax-error-text{color:var(--danger);font-size:12px}.tax-req{color:var(--danger)}.tax-year-row{flex-direction:row;align-items:center;gap:12px}.tax-year-row label{font-size:15px;white-space:nowrap}.tax-year-row select{flex:0 0 auto}.tax-payer{padding:14px 16px;border-radius:var(--r);border:1px solid transparent;transition:background .2s,border-color .2s}.tax-payer.is-other{background:var(--bg-secondary);border-color:var(--border-strong)}.tax-checkbox{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:15px;font-weight:500;color:var(--text-primary)}.tax-checkbox input{width:18px;height:18px;cursor:pointer;accent-color:var(--brand);flex-shrink:0}.tax-payer-fields{margin-top:14px;display:flex;flex-direction:column;gap:12px}.tax-subhead{font-size:15px;font-weight:700;margin:0}.tax-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tax-actions{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap}.tax-btn-confirm{padding:11px 20px;border:none;border-radius:var(--r-sm);cursor:pointer;font-weight:600;font-size:14px;background:var(--mint);color:#fff;transition:filter .18s}.tax-btn-confirm:hover:not(:disabled){filter:brightness(1.06)}.tax-btn-confirm:disabled{opacity:.55;cursor:not-allowed}.tax-btn-ghost{padding:11px 20px;border:1px solid var(--border-strong);border-radius:var(--r-sm);cursor:pointer;font-weight:500;font-size:14px;background:transparent;color:var(--text-secondary);transition:background .18s}.tax-btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.tax-btn-ghost:disabled{opacity:.55;cursor:not-allowed}.tax-preview{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--r);padding:16px}.tax-preview-status{font-size:14px;color:var(--text-secondary);margin-bottom:14px}.tax-preview-inner{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--r);padding:18px 20px}.tax-preview-title{font-size:15px;font-weight:700;margin-bottom:14px;color:var(--text-primary)}.tax-kv-list{display:grid;gap:11px}.tax-kv{display:flex;justify-content:space-between;gap:16px;padding-bottom:9px;border-bottom:1px solid var(--border)}.tax-kv:last-child{border-bottom:none;padding-bottom:0}.tax-kv-label{color:var(--text-secondary);font-weight:500;font-size:14px}.tax-kv-value{color:var(--text-primary);font-weight:600;font-size:14px;text-align:right}.tax-kv-value--amount{color:var(--brand-deep);font-size:16px}.tax-preview-sub{margin-top:14px;padding-top:14px;border-top:1px solid var(--border-strong)}.tax-preview-sub-title{font-size:14px;font-weight:700;margin-bottom:10px;color:var(--text-primary)}.tax-preview-sub .tax-kv-list{padding-left:12px}.tax-docs{display:flex;flex-direction:column;gap:14px}.tax-doc{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:18px 20px;display:flex;justify-content:space-between;align-items:center;gap:20px;transition:transform .18s,border-color .18s,box-shadow .18s}.tax-doc:hover{border-color:color-mix(in srgb,var(--brand) 35%,transparent)}.tax-doc.document-highlight-blue{animation:taxHighlight 5s ease-in-out forwards}@keyframes taxHighlight{0%{box-shadow:0 0 20px color-mix(in srgb,var(--brand) 55%,transparent);transform:scale(1)}15%{box-shadow:0 0 30px color-mix(in srgb,var(--brand) 75%,transparent);transform:scale(1.02)}85%{box-shadow:0 0 30px color-mix(in srgb,var(--brand) 75%,transparent);transform:scale(1.02)}to{box-shadow:var(--shadow-md);transform:scale(1)}}.tax-doc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;flex:1}.tax-doc-field{display:flex;flex-direction:column;gap:4px}.tax-doc-label{font-size:11px;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.tax-doc-value{font-size:14px;color:var(--text-primary);font-weight:500}.tax-doc-value--amount{color:var(--brand-deep);font-weight:700;font-size:16px}.tax-status{display:inline-block;padding:5px 12px;border-radius:999px;font-size:13px;font-weight:600;text-align:center;white-space:nowrap}.tax-status.is-ready{background:var(--mint-soft);color:var(--mint)}.tax-status.is-processing{background:var(--warn-soft);color:var(--warn)}.tax-status.is-requested{background:var(--soft);color:var(--brand-deep)}.tax-download{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;padding:10px 18px;border:1px solid transparent;border-radius:var(--r-sm);background:var(--soft);color:var(--brand-deep);font-weight:600;font-size:14px;cursor:pointer;transition:background .18s,color .18s,transform .18s}.tax-download:hover{background:var(--brand);color:#fff;transform:translateY(-1px)}.tax-download svg{width:16px;height:16px}@media(max-width:768px){.tax-card{padding:18px}.tax-grid-2{grid-template-columns:1fr}.tax-doc{flex-direction:column;align-items:stretch}.tax-doc-grid{grid-template-columns:1fr 1fr}.tax-download{width:100%;justify-content:center}}.ct{max-width:100%}.ct-loading{text-align:center;padding:48px 20px;color:var(--text-secondary);font-size:14px}.ct-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.ct-span2{grid-column:span 2}.ct-tile{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:24px}.ct-tile-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}.ct-tile-ico{width:40px;height:40px;border-radius:11px;background:var(--soft);color:var(--brand-deep);display:grid;place-items:center;flex-shrink:0}.ct-tile-ico svg{width:20px;height:20px}.ct-tile-title{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:16px}.ct-tile-head .ct-tile-title{margin-bottom:0}.ct-form{display:flex;flex-direction:column;gap:16px}.ct-field{display:flex;flex-direction:column;gap:6px}.ct-field label{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--text-secondary)}.ct-field-ico{width:16px;height:16px;color:var(--brand);flex-shrink:0}.ct-field input,.ct-field textarea{padding:11px 14px;border:1px solid var(--border-strong);border-radius:var(--r-sm);font-size:15px;font-family:inherit;background:var(--bg-primary);color:var(--text-primary);transition:border-color .18s,box-shadow .18s}.ct-field textarea{resize:vertical;min-height:88px;line-height:1.45}.ct-field input:focus,.ct-field textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--soft)}.ct-banner{padding:13px 16px;border-radius:var(--r-sm);font-size:14px;line-height:1.4;border:1px solid transparent}.ct-banner.is-success{background:var(--mint-soft);color:var(--mint);border-color:color-mix(in srgb,var(--mint) 35%,transparent)}.ct-banner.is-error{background:var(--danger-soft);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,transparent)}.ct-cta{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;height:44px;padding:0 20px;border-radius:12px;font-size:14px;font-weight:600;border:none;cursor:pointer;background:var(--brand);color:#fff;box-shadow:var(--shadow-float);transition:background .18s,opacity .18s}.ct-cta:hover:not(:disabled){background:var(--brand-deep)}.ct-cta:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.ct-notes{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}.ct-notes li{position:relative;padding-left:18px;font-size:14px;line-height:1.5;color:var(--text-secondary)}.ct-notes li:before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--brand)}@media(max-width:860px){.ct-grid{grid-template-columns:1fr;gap:12px}.ct-span2{grid-column:span 1}.ct-tile{padding:18px}.ct-cta{width:100%;align-self:stretch}}.page-container.messages-page{max-width:800px;margin:0 auto;padding:24px 20px;box-sizing:border-box;width:100%}.messages-loading{text-align:center;padding:48px 20px;color:var(--text-secondary);font-size:14px}.messages-empty{text-align:center;padding:56px 24px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-md)}.messages-empty-icon{width:56px;height:56px;margin:0 auto 16px;border-radius:14px;background:var(--soft);color:var(--brand-deep);display:grid;place-items:center}.messages-empty-icon svg{width:28px;height:28px}.messages-empty-text{font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--text-primary)}.messages-empty-hint{margin:8px 0 0;font-size:14px;color:var(--text-secondary)}.messages-list{display:flex;flex-direction:column;gap:14px}.msg-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:18px 20px;transition:border-color .18s,box-shadow .18s}.msg-card.is-unread{border-left:3px solid var(--brand)}.msg-card.is-read{opacity:.88}.msg-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.msg-card-title-block{flex:1;min-width:0}.msg-card-title{margin:0;font-family:var(--font-display);font-size:16px;font-weight:700;color:var(--text-primary);line-height:1.3}.msg-card-sender{font-size:13px;color:var(--text-secondary);margin-top:2px}.msg-card-meta{display:flex;align-items:center;gap:10px;flex-shrink:0}.msg-status-chip{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.msg-status-chip.is-new{background:var(--soft);color:var(--brand-deep);border:1px solid color-mix(in srgb,var(--brand) 28%,transparent)}.msg-status-chip.is-read{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border)}.msg-card-date{font-size:13px;color:var(--text-secondary);white-space:nowrap}.msg-card-body{margin:10px 0 0;font-size:14px;color:var(--text-secondary);line-height:1.55;white-space:pre-wrap;word-wrap:break-word}.msg-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;flex-wrap:wrap}.msg-pager-info{color:var(--text-secondary);font-size:13px}.msg-pager-ctl{display:flex;gap:6px;flex-wrap:wrap}.msg-pager-btn{min-height:38px;padding:0 14px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--bg-primary);color:var(--text-secondary);font-weight:600;font-size:14px;cursor:pointer;transition:background .18s,border-color .18s,color .18s}.msg-pager-btn:hover:not(:disabled){background:var(--soft);border-color:var(--brand);color:var(--brand-deep)}.msg-pager-btn:disabled{opacity:.4;cursor:not-allowed}@media(max-width:768px){.page-container.messages-page,.msg-card{padding:16px}.msg-card-head{flex-direction:column;gap:10px}.msg-card-meta{width:100%;justify-content:space-between}.msg-card-title{font-size:15px}.msg-pager{flex-direction:column;align-items:stretch}.msg-pager-ctl{width:100%}.msg-pager-btn{flex:1}}[data-theme=dark] .msg-card.is-unread{border-left-color:var(--brand);background:linear-gradient(135deg,var(--soft) 0%,var(--bg-primary) 100%)}[data-theme=dark] .msg-status-chip.is-new,[data-theme=dark] .messages-empty-icon{background:var(--soft);color:var(--brand)}.page-container.notif-page{max-width:640px;margin:0 auto;padding:24px 20px;box-sizing:border-box;width:100%}.notif-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:24px}.notif-intro{margin:0 0 20px;font-size:14px;line-height:1.55;color:var(--text-secondary)}.notif-loading{text-align:center;padding:32px 16px;color:var(--text-secondary);font-size:14px}.notif-connected-head{display:flex;align-items:center;gap:10px;margin-bottom:18px}.notif-channel-ico--sm{width:32px;height:32px;border-radius:10px;background:#e8f2ff;color:#229ed9;display:grid;place-items:center;flex-shrink:0}.notif-channel-ico--sm svg{width:18px;height:18px}.notif-status{display:inline-flex;align-items:center;gap:7px;font-size:15px;font-weight:600}.notif-status:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;flex-shrink:0}.notif-status.is-on{color:#15803d}.notif-info-panel{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--r);padding:14px 16px;margin-bottom:18px}.notif-info-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:6px 0;border-bottom:1px solid var(--border)}.notif-info-row:last-child{border-bottom:none}.notif-info-label{font-size:13px;color:var(--text-secondary);flex-shrink:0}.notif-info-value{font-size:14px;font-weight:600;color:var(--text-primary);text-align:right;word-break:break-word}.notif-actions{display:flex;gap:10px;flex-wrap:wrap}.notif-disconnected{text-align:center;padding:8px 0 4px}.notif-disconnected-ico{width:52px;height:52px;margin:0 auto 14px;border-radius:14px;background:#e8f2ff;color:#229ed9;display:grid;place-items:center}.notif-disconnected-ico svg{width:26px;height:26px}.notif-disconnected-title{margin:0;font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--text-primary)}.notif-disconnected-text{margin:6px 0 18px;font-size:14px;color:var(--text-secondary);line-height:1.5}.notif-connect-title{margin:0 0 14px;font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--text-primary)}.notif-token-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--r);padding:12px 14px;margin-bottom:16px}.notif-token-label{font-size:13px;color:var(--text-secondary)}.notif-token-value{font-family:ui-monospace,Courier New,monospace;font-size:14px;font-weight:700;letter-spacing:.04em;color:var(--brand-deep);word-break:break-all;flex:1;min-width:120px}.notif-connect-hint{margin:10px 0 8px;font-size:13px;color:var(--text-secondary);text-align:center}.notif-command-row{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--r-sm);margin-bottom:12px}.notif-command-row code{flex:1;font-family:ui-monospace,Courier New,monospace;font-size:13px;color:var(--brand-deep);word-break:break-all}.notif-connect-note{margin:0 0 16px;font-size:13px;color:var(--text-secondary);text-align:center;line-height:1.45}.notif-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:var(--r-sm);font-size:14px;font-weight:600;border:1px solid transparent;cursor:pointer;transition:background .18s,border-color .18s,color .18s;text-decoration:none;white-space:nowrap}.notif-btn:disabled{opacity:.6;cursor:not-allowed}.notif-btn svg{width:16px;height:16px;flex-shrink:0}.notif-btn-primary{background:var(--brand);color:#fff;box-shadow:var(--shadow-md)}.notif-btn-primary:hover:not(:disabled){background:var(--brand-deep)}.notif-btn-soft{background:var(--soft);color:var(--brand-deep);border-color:color-mix(in srgb,var(--brand) 28%,transparent)}.notif-btn-soft:hover:not(:disabled){background:color-mix(in srgb,var(--brand) 14%,var(--soft))}.notif-btn-danger{background:var(--bg-primary);border-color:var(--danger-soft, #feecec);color:var(--danger)}.notif-btn-danger:hover:not(:disabled){background:var(--danger-soft, #feecec)}.notif-btn-ghost{background:var(--bg-primary);border-color:var(--border);color:var(--text-secondary)}.notif-btn-ghost:hover:not(:disabled){background:var(--soft);border-color:var(--brand);color:var(--brand-deep)}.notif-btn-sm{min-height:38px;padding:0 14px;font-size:13px;margin-left:auto}.notif-btn-block{width:100%}.notif-btn-icon{width:36px;height:36px;padding:0;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;display:grid;place-items:center;flex-shrink:0;transition:background .18s,border-color .18s,color .18s}.notif-btn-icon svg{width:16px;height:16px}.notif-btn-icon:hover{background:var(--soft);border-color:var(--brand);color:var(--brand-deep)}@media(max-width:768px){.page-container.notif-page{padding:16px}.notif-card{padding:20px 16px}.notif-info-row{flex-direction:column;align-items:flex-start;gap:2px}.notif-info-value{text-align:left}.notif-actions{flex-direction:column}.notif-actions .notif-btn,.notif-disconnected .notif-btn-primary{width:100%}.notif-token-row .notif-btn-sm{margin-left:0;width:100%}}[data-theme=dark] .notif-channel-ico--sm,[data-theme=dark] .notif-disconnected-ico{background:var(--soft);color:var(--brand)}[data-theme=dark] .notif-status.is-on{color:var(--mint)}[data-theme=dark] .notif-token-value,[data-theme=dark] .notif-command-row code{color:var(--brand)}.admin-messages-page{padding:24px;max-width:800px;margin:0 auto}.admin-messages-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.back-link{color:var(--primary);text-decoration:none;font-size:14px;transition:color .2s}.back-link:hover{color:var(--primary-dark)}.admin-messages-form{background:#fff;border:1px solid var(--border);border-radius:8px;padding:24px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:var(--text-primary)}.form-control{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;font-family:inherit;transition:border-color .2s}.form-control:focus{outline:none;border-color:var(--primary)}.form-control textarea{resize:vertical;min-height:120px}.alert{padding:12px 16px;border-radius:6px;margin-bottom:20px;font-size:14px}.alert-error{background:#ffebee;color:#c62828;border:1px solid #ef5350}.alert-success{background:#e8f5e9;color:#2e7d32;border:1px solid #66bb6a}.btn-submit{background:var(--primary);color:#fff;border:none;border-radius:6px;padding:12px 24px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s;width:100%}.btn-submit:hover:not(:disabled){background:var(--primary-dark)}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.form-hint{display:block;margin-top:6px;font-size:12px;color:var(--text-secondary)}.patient-search-row{display:flex;gap:8px}.patient-search-row .form-control{flex:1}.btn-search,.btn-select-patient,.btn-clear-patient{border:none;border-radius:6px;padding:10px 14px;font-size:14px;cursor:pointer;white-space:nowrap}.btn-search,.btn-select-patient{background:var(--primary);color:#fff}.btn-search:hover:not(:disabled),.btn-select-patient:hover{background:var(--primary-dark)}.btn-search:disabled{opacity:.7;cursor:default}.btn-clear-patient{background:#eceff1;color:#37474f}.patient-search-error{margin-top:8px;font-size:13px;color:#c62828}.patient-search-results{margin-top:12px;display:flex;flex-direction:column;gap:8px;max-height:320px;overflow-y:auto}.patient-search-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--border);border-radius:8px;background:#fafafa}.patient-search-name{font-size:15px;font-weight:600;color:var(--text-primary)}.patient-search-meta{margin-top:4px;font-size:13px;color:var(--text-secondary)}.patient-search-phones{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.patient-phone-chip{border:1px solid #90caf9;background:#e3f2fd;color:#1565c0;border-radius:999px;padding:4px 10px;font-size:12px;cursor:pointer}.patient-search-warning{margin-top:8px;font-size:12px;color:#ef6c00}.patient-search-other-phones{margin-top:6px;font-size:12px;color:#78909c}.patient-selected-card{margin-top:12px;padding:12px;border:2px solid #90caf9;border-radius:8px;background:#e3f2fd;display:flex;justify-content:space-between;gap:12px;align-items:center}.patient-selected-title{font-size:12px;color:#546e7a;margin-bottom:4px}.patient-selected-name{font-size:15px;font-weight:600;color:#1565c0}.patient-selected-meta{margin-top:4px;font-size:13px;color:#37474f}.admin-messages-tabs{display:flex;gap:8px;margin-bottom:16px}.admin-messages-tab{border:1px solid var(--border);background:#fff;color:var(--text-primary);border-radius:8px;padding:10px 16px;font-size:14px;cursor:pointer}.admin-messages-tab.active{background:var(--primary);border-color:var(--primary);color:#fff}.admin-sent-messages{background:#fff;border:1px solid var(--border);border-radius:8px;padding:20px}.sent-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.sent-filter-control{width:auto;min-width:180px}.sent-list{display:flex;flex-direction:column;gap:12px}.sent-item{border:1px solid var(--border);border-radius:8px;padding:14px;background:#fafafa}.sent-item-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.sent-item-title{font-size:16px;font-weight:600}.sent-item-meta{margin-top:4px;font-size:12px;color:var(--text-secondary)}.sent-item-content{margin-top:10px;font-size:14px;white-space:pre-wrap;color:var(--text-primary)}.sent-item-stats{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px;font-size:12px;color:var(--text-secondary)}.sent-status{display:inline-block;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600;white-space:nowrap}.sent-status.read{background:#e8f5e9;color:#2e7d32}.sent-status.unread{background:#fff3e0;color:#ef6c00}.sent-status.partial{background:#e3f2fd;color:#1565c0}.sent-status.pending{background:#eceff1;color:#546e7a}.btn-recipients-toggle{margin-top:10px;border:none;background:transparent;color:var(--primary);cursor:pointer;font-size:13px;padding:0}.sent-recipients{margin-top:10px;border-top:1px solid var(--border);padding-top:10px;display:flex;flex-direction:column;gap:6px}.sent-recipient-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:13px}.sent-recipient-date{color:var(--text-secondary);font-size:12px}.sent-loading,.sent-empty,.sent-empty-inline{padding:24px;text-align:center;color:var(--text-secondary)}.sent-empty-inline{padding:8px 0;text-align:left}.sent-pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:16px}.excluded-services-panels{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.excluded-services-panel{background:#fff;border-radius:8px;border:1px solid var(--border);padding:12px;display:flex;flex-direction:column;overflow:hidden;min-height:0}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;flex-wrap:wrap;gap:8px;flex-shrink:0}.excluded-services-panel h2{margin:0;font-size:16px;color:var(--text-primary)}.panel-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.select-all-checkbox{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:14px;color:var(--text-secondary);-webkit-user-select:none;user-select:none}.select-all-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.search-box{margin-bottom:8px;flex-shrink:0}.search-input{width:100%;padding:6px 10px;border:1px solid var(--border);border-radius:4px;font-size:13px;transition:border-color .2s}.search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2196f31a}.services-list{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:8px;padding-right:4px}.service-item{display:flex;align-items:flex-start;gap:8px;padding:6px 8px;border:1px solid var(--border);border-radius:4px;background:var(--bg-hover);transition:all .2s;font-size:13px;position:relative}.service-checkbox{display:flex;align-items:flex-start;padding-top:2px;cursor:pointer;flex-shrink:0}.service-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer;margin:0}.service-item:hover{border-color:var(--primary);background:#f0f7ff}.service-item.excluded{background:#fff3e0;border-color:#ff9800}.service-item.excluded:hover{background:#ffe0b2}.service-item-content{flex:1;min-width:0;padding-right:30px}.service-name{font-weight:500;color:var(--text-primary);margin-bottom:2px;word-break:break-word;font-size:13px;line-height:1.3}.service-key{font-family:monospace;font-size:10px;color:var(--text-secondary);margin-bottom:4px;word-break:break-all;line-height:1.2}.service-reason-input{margin-top:4px}.service-reason-input input{font-size:12px!important;padding:4px 8px!important}.service-exclude-btn{position:absolute;right:8px;top:6px;padding:4px 8px;font-size:14px;border:none;background:var(--primary);color:#fff;border-radius:4px;cursor:pointer;transition:background .2s;flex-shrink:0;min-width:24px;height:24px;display:flex;align-items:center;justify-content:center}.service-exclude-btn:hover:not(:disabled){background:#1976d2}.service-exclude-btn:disabled{background:#ccc;cursor:not-allowed;opacity:.6}.service-reason{margin-top:4px;font-size:13px;color:var(--text-secondary)}.empty-state{text-align:center;padding:40px;color:var(--text-secondary);font-style:italic}.category-group{margin-bottom:6px;border:1px solid var(--border);border-radius:4px;overflow:hidden}.category-header{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--bg-hover);font-weight:600;font-size:13px;color:var(--text-primary);transition:background .2s}.category-header:hover{background:#e0e7ff}.category-arrow{display:inline-block;font-size:9px;color:var(--text-secondary);transition:transform .2s;width:10px;flex-shrink:0}.category-arrow.expanded{transform:rotate(90deg)}.category-name{flex:1;font-size:13px}.category-count{font-size:11px;color:var(--text-secondary);font-weight:400;flex-shrink:0}.category-services{padding:4px 6px;background:#fff}.category-services .service-item{margin-bottom:4px}.category-services .service-item:last-child{margin-bottom:0}@media(max-width:1200px){.excluded-services-panels{grid-template-columns:1fr}}.first-login-consent{position:fixed;inset:0;display:flex;flex-direction:column;background:#f5f5f5;z-index:9999;overflow:hidden}.first-login-consent__header{flex-shrink:0;padding:20px 24px 16px;background:linear-gradient(135deg,#1ba1f2,#1890e0);color:#fff;box-shadow:0 2px 8px #00000026}.first-login-consent__title{margin:0 0 8px;font-size:22px;font-weight:600}.first-login-consent__subtitle{margin:0;font-size:14px;opacity:.95;line-height:1.4}.first-login-consent__scroll{flex:1;overflow-y:auto;padding:24px;-webkit-overflow-scrolling:touch}.first-login-consent__section{margin-bottom:24px;padding:16px;background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014}.first-login-consent__section-title{margin:0 0 12px;font-size:16px;font-weight:600;color:#333}.first-login-consent__section-content{font-size:14px;line-height:1.6;color:#444;white-space:pre-line}.first-login-consent__error{flex-shrink:0;padding:10px 24px;background:#fee;color:#c33;font-size:14px;text-align:center}.first-login-consent__actions{flex-shrink:0;display:flex;gap:12px;justify-content:center;padding:20px 24px;background:#fff;border-top:1px solid #e0e0e0;box-shadow:0 -2px 8px #0000000f}.first-login-consent__btn{padding:14px 28px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:opacity .2s,transform .2s}.first-login-consent__btn:disabled{cursor:not-allowed;opacity:.6}.first-login-consent__btn_primary{background:linear-gradient(135deg,#1ba1f2,#1890e0);color:#fff}.first-login-consent__btn_primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #1ba1f266}.first-login-consent__btn_secondary{background:#fff;color:#666;border:2px solid #ccc}.first-login-consent__btn_secondary:hover:not(:disabled){border-color:#999;color:#333}@media(max-width:768px){.first-login-consent__header{padding:16px 20px 12px}.first-login-consent__title{font-size:20px}.first-login-consent__subtitle{font-size:13px}.first-login-consent__scroll{padding:16px}.first-login-consent__section{padding:12px;margin-bottom:16px}.first-login-consent__section-title{font-size:15px}.first-login-consent__section-content{font-size:13px}.first-login-consent__actions{flex-direction:column;padding:16px 20px}.first-login-consent__btn{width:100%;padding:12px 20px;font-size:15px}}[data-theme=dark] .first-login-consent{background:var(--bg-secondary)}[data-theme=dark] .first-login-consent__section{background:var(--bg-primary);border:1px solid var(--border);box-shadow:none}[data-theme=dark] .first-login-consent__section-title{color:var(--text-primary)}[data-theme=dark] .first-login-consent__section-content{color:var(--text-secondary)}[data-theme=dark] .first-login-consent__actions{background:var(--bg-primary);border-top-color:var(--border)}[data-theme=dark] .first-login-consent__btn_secondary{background:var(--bg-primary);color:var(--text-secondary);border-color:var(--border-strong)}[data-theme=dark] .first-login-consent__btn_secondary:hover:not(:disabled){border-color:var(--text-muted);color:var(--text-primary)}[data-theme=dark] .first-login-consent__error{background:var(--danger-soft);color:var(--danger)}#root{width:100%;min-height:100vh}.btn-primary,.btn-secondary{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:transparent;color:var(--text-secondary);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary);border-color:var(--text-muted)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.loading,.error{text-align:center;padding:60px 20px;font-size:14px}.loading{color:var(--text-secondary)}.error{color:var(--danger)}.error-message{background-color:var(--danger-soft);color:var(--danger);padding:12px 16px;border-radius:6px;border:1px solid color-mix(in srgb,var(--danger) 35%,transparent);font-size:14px;text-align:center}.empty-state{background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;padding:60px 40px;text-align:center}.empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.empty-state h3{font-size:18px;font-weight:600;margin:0 0 8px}.empty-state p{font-size:14px;color:var(--text-secondary);margin:0 0 24px}.first-login-gate-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:16px;color:var(--text-secondary);font-size:14px}.first-login-gate-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:first-login-gate-spin .8s linear infinite}@keyframes first-login-gate-spin{to{transform:rotate(360deg)}}@media(max-width:768px){.page-header{flex-direction:column;align-items:flex-start;gap:16px}}
