.login-page[data-v-4d78650b]{color:#25282a;background:radial-gradient(circle,#f1f3f4 0%,#d9dddf 55%,#c5c9cc 100%);flex-direction:column;height:100dvh;display:flex;overflow:auto}.login-header[data-v-4d78650b]{color:#fff;background:linear-gradient(#45494c,#303437);border-bottom:1px solid #17191a;flex:0 0 74px;justify-content:space-between;align-items:center;gap:24px;padding:0 30px;display:flex;box-shadow:0 2px 8px #00000040}.login-header .brand[data-v-4d78650b]{gap:3px}.brand-title[data-v-4d78650b]{letter-spacing:2px;font-size:25px;font-weight:700}.brand-company[data-v-4d78650b]{color:#c9ced1;letter-spacing:.7px;font-size:11px}.header-right[data-v-4d78650b]{align-items:center;gap:16px;display:flex}.header-status[data-v-4d78650b]{color:#cfd3d5;font-size:12px}.guide-btn[data-v-4d78650b]{color:#fff;white-space:nowrap;background:linear-gradient(#707b86,#515b65);border:1px solid #7b848c;border-radius:7px;align-items:center;gap:9px;height:42px;padding:0 14px 0 7px;line-height:1.2;text-decoration:none;transition:background .15s,transform .15s;display:flex;box-shadow:inset 0 1px #ffffff2e,0 1px 2px #00000040}.guide-btn[data-v-4d78650b]:hover{background:linear-gradient(#7d8994,#5b6670);transform:translateY(-1px)}.guide-ico[data-v-4d78650b]{background:#eceff1;border-radius:6px;flex:none;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.guide-ico svg[data-v-4d78650b]{width:18px;height:18px}.guide-text b[data-v-4d78650b]{letter-spacing:.2px;font-size:13px;display:block}.guide-text span[data-v-4d78650b]{color:#d7dadd;font-size:10.5px;display:block}.login-main[data-v-4d78650b]{flex:1 0 auto;justify-content:center;align-items:center;padding:45px 20px;display:flex}.auth-window[data-v-4d78650b]{background:#e8eaeb;border:1px solid #aeb3b6;border-radius:16px;grid-template-columns:1fr 1fr;width:min(920px,100%);min-height:510px;display:grid;overflow:hidden;box-shadow:0 20px 50px #00000038,0 2px 5px #0000001a}.auth-left[data-v-4d78650b]{color:#fff;background:linear-gradient(145deg,#565b5f,#383d40);flex-direction:column;justify-content:center;padding:48px;display:flex}.medical-symbol[data-v-4d78650b]{border:2px solid #d9dddf;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:66px;height:66px;margin-bottom:28px;font-size:20px;font-weight:700;display:flex;transform:rotate(45deg)}.medical-symbol span[data-v-4d78650b]{transform:rotate(-45deg)}.auth-left h1[data-v-4d78650b]{letter-spacing:3px;margin:0 0 16px;font-size:35px}.auth-left h2[data-v-4d78650b]{color:#d8dcde;margin:0 0 30px;font-size:17px;font-weight:400;line-height:1.5}.organization-line[data-v-4d78650b]{background:#c8cdd0;flex-shrink:0;width:70px;height:3px;margin-bottom:26px}.description[data-v-4d78650b]{color:#cdd1d3;max-width:330px;margin:0;font-size:13px;line-height:1.7}.auth-right[data-v-4d78650b]{background:#f0f2f3;flex-direction:column;justify-content:center;padding:48px;display:flex}.auth-heading[data-v-4d78650b]{margin:0 0 8px;font-size:25px;font-weight:600}.auth-subheading[data-v-4d78650b]{color:#72777a;margin-bottom:30px;font-size:13px}.field[data-v-4d78650b]{margin-bottom:17px}.field label[data-v-4d78650b]{color:#4f5558;margin-bottom:7px;font-size:12px;font-weight:600;display:block}.field input[data-v-4d78650b]{color:#25282a;background:#fff;border:1px solid #b6bbbe;border-radius:7px;outline:none;width:100%;height:46px;padding:0 13px;font-size:14px}.field input[data-v-4d78650b]:focus{border-color:#62686c;box-shadow:0 0 0 3px #5055591a}.password-wrap[data-v-4d78650b]{position:relative}.password-wrap input[data-v-4d78650b]{padding-right:44px}.eye-toggle[data-v-4d78650b]{color:#72777a;background:0 0;border:0;justify-content:center;align-items:center;width:46px;height:46px;padding:0;display:flex;position:absolute;top:0;right:0}.eye-toggle svg[data-v-4d78650b]{width:20px;height:20px}.remember-row[data-v-4d78650b]{color:#4f5558;cursor:pointer;flex-direction:row;align-items:center;gap:8px;margin:-6px 0 20px;font-size:12.5px;display:flex}.remember-row input[data-v-4d78650b]{accent-color:#3e4346;cursor:pointer;width:16px;height:16px;margin:0;padding:0}.forgot-row[data-v-4d78650b]{text-align:right;margin:-8px 0 16px}.forgot-row .text-button[data-v-4d78650b]{color:#4f5558;font-size:12.5px;font-weight:600}.forgot-row .text-button[data-v-4d78650b]:hover{color:#24282a}.login-error[data-v-4d78650b]{margin-bottom:16px}.login-button[data-v-4d78650b]{color:#fff;letter-spacing:.5px;background:#3e4346;border:0;border-radius:7px;width:100%;height:50px;padding:0 14px;font-size:14px;font-weight:700;transition:background .2s}.login-button[data-v-4d78650b]:hover:not(:disabled){background:#292d30}.register-link[data-v-4d78650b]{color:#555b5e;text-align:center;margin-top:22px;font-size:13px}.register-link button[data-v-4d78650b]{color:#24282a;background:0 0;border:0;padding:0;font-size:13px;font-weight:700;text-decoration:underline}.login-footer[data-v-4d78650b]{color:#64696c;background:#d7dbddd9;border-top:1px solid #b7bbbd;flex:none;justify-content:space-between;align-items:center;gap:24px;min-height:65px;padding:0 30px;font-size:11px;display:flex}.footer-left[data-v-4d78650b]{flex-direction:column;flex-shrink:0;gap:4px;display:flex}.footer-company[data-v-4d78650b]{color:#464b4e;font-weight:700}.footer-cert[data-v-4d78650b]{color:#555b5e;flex-shrink:0;align-items:center;gap:10px;max-width:300px;line-height:1.35;text-decoration:none;display:flex}.footer-cert img[data-v-4d78650b]{background:#fff;border:1px solid #9a9fa2;border-radius:3px;flex:none;width:40px;height:auto}.footer-cert:hover span[data-v-4d78650b]{text-decoration:underline}.footer-links[data-v-4d78650b]{flex-wrap:wrap;gap:12px 18px;display:flex}.footer-links a[data-v-4d78650b],.footer-links button[data-v-4d78650b]{color:#555b5e;font-size:inherit;background:0 0;border:0;padding:0;text-decoration:none}.footer-links a[data-v-4d78650b]:hover,.footer-links button[data-v-4d78650b]:hover{text-decoration:underline}.help-button[data-v-4d78650b]{z-index:10;color:#fff;background:linear-gradient(145deg,#565f68,#3d434a);border:2px solid #17191a;border-radius:50%;justify-content:center;align-items:center;width:58px;height:58px;padding:0;transition:background .2s,transform .2s;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 6px 18px #00000059}.help-button[data-v-4d78650b]:hover{background:#292d30;transform:scale(1.05)}.help-button svg[data-v-4d78650b]{width:27px;height:27px}.help-dot[data-v-4d78650b]{background:#d64545;border:2px solid #ececec;border-radius:50%;width:14px;height:14px;position:absolute;top:-2px;right:-2px}.public-faq[data-v-4d78650b]{flex-direction:column;gap:12px;display:flex}.public-faq details[data-v-4d78650b]{background:#fafafa;border:1px solid #c5c9cb;border-radius:7px;padding:12px}.public-faq summary[data-v-4d78650b]{color:#3d434a;cursor:pointer;font-weight:700}.public-faq p[data-v-4d78650b]{margin:10px 0 0}.public-faq>button[data-v-4d78650b]{align-self:flex-start}@media (width<=1000px){.header-status[data-v-4d78650b]{display:none}}@media (width<=760px){.login-header[data-v-4d78650b]{padding:0 18px}.auth-window[data-v-4d78650b]{grid-template-columns:1fr}.auth-left[data-v-4d78650b],.auth-right[data-v-4d78650b]{padding:35px}.login-footer[data-v-4d78650b]{flex-direction:column;align-items:flex-start;gap:12px;padding:18px 80px 18px 18px}}@media (width<=560px){.guide-text[data-v-4d78650b]{display:none}.guide-btn[data-v-4d78650b]{padding:0 7px}.brand-title[data-v-4d78650b]{font-size:21px}.login-main[data-v-4d78650b]{padding:25px 12px}.auth-left[data-v-4d78650b],.auth-right[data-v-4d78650b]{padding:30px}.auth-left h1[data-v-4d78650b]{font-size:clamp(22px,6.2vw,35px)}}@media (prefers-reduced-motion:reduce){.guide-btn[data-v-4d78650b],.login-button[data-v-4d78650b],.help-button[data-v-4d78650b]{transition:none}}.legal-screen[data-v-a36cd473]{background:var(--bg);height:100%;padding:24px 16px;overflow:auto}.legal-page[data-v-a36cd473]{border:1px solid var(--line);background:var(--panel);border-radius:10px;max-width:900px;margin:0 auto;overflow:hidden}.legal-header[data-v-a36cd473]{background:linear-gradient(#565f68,#3d434a);padding:16px 32px}.legal-header .brand[data-v-a36cd473]{letter-spacing:1px;font-weight:700;display:inline-block}.legal-content[data-v-a36cd473]{overflow-wrap:anywhere;padding:24px 32px 32px;font-size:16px;line-height:1.65}.legal-content h1[data-v-a36cd473]{margin:0 0 12px;font-size:26px;line-height:1.3}.legal-body[data-v-a36cd473] h2{margin:28px 0 12px;font-size:19px;line-height:1.4}.legal-body[data-v-a36cd473] p{margin:12px 0;line-height:1.65}.legal-body[data-v-a36cd473] ul{padding-left:24px}.legal-body[data-v-a36cd473] li{margin:6px 0}.legal-body[data-v-a36cd473] .ver{color:var(--muted);margin:0 0 24px;font-size:13px}.legal-loading[data-v-a36cd473]{align-items:center;gap:12px;padding:24px 0;font-size:14px;display:flex}.legal-error[data-v-a36cd473]{flex-direction:column;align-items:flex-start;gap:16px;margin-top:20px;display:flex}@media (width<=600px){.legal-screen[data-v-a36cd473]{padding:12px 8px}.legal-header[data-v-a36cd473]{padding:12px 16px}.legal-content[data-v-a36cd473]{padding:20px 16px}.legal-content h1[data-v-a36cd473]{font-size:23px}}@media print{body.legal-document-open{height:auto;overflow:visible}.legal-screen[data-v-a36cd473]{color:#000;background:#fff;height:auto;padding:0;overflow:visible}.legal-page[data-v-a36cd473]{background:#fff;border:0;border-radius:0;max-width:none;overflow:visible}.legal-header[data-v-a36cd473]{display:none}.legal-content[data-v-a36cd473]{padding:0}.legal-content h1[data-v-a36cd473],.legal-body[data-v-a36cd473] h2{break-after:avoid}}:root{color:#3d434a;font-synthesis:none;--bg:#d0d0d0;--panel:#ececec;--line:#a5a5a5;--dark:#3d434a;--dark2:#4b535b;--text:#3d434a;--muted:#5c5c5c;background:#d0d0d0;font-family:Arial,Helvetica,sans-serif;font-size:13px}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{overflow:hidden}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}a{color:var(--dark)}button:focus-visible,a:focus-visible{outline-offset:2px;outline:2px solid #596976}h1,h2,h3,h4,p{margin-top:0}h2{font-size:17px}h3{font-size:14px}h4{margin-bottom:5px;font-size:12px}p{line-height:1.55}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--text);background:#fff;border-radius:6px;padding:8px;font-size:13px}input:focus,select:focus,textarea:focus{border-color:#5b6570;outline:none;box-shadow:0 0 0 2px #00000014}textarea{resize:vertical}label{color:#555;flex-direction:column;gap:4px;font-size:11.5px;display:flex}.brand{color:#fff;flex-direction:column;justify-content:center;text-decoration:none;display:flex}.logo{letter-spacing:2px;font-size:22px;font-weight:800;line-height:1.1}.company{color:#cfcfcf;margin-top:3px;font-size:12px}.button{border:1px solid #777;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:8px 14px;font-size:12px;text-decoration:none;display:inline-flex}.button.primary{color:#fff;background:#5b6570}.button.primary:hover{background:#4c555e}.button.secondary{color:var(--dark);background:#e2e2e2;border-color:#aaa}.button.secondary:hover{background:#d7d7d7}.button.full{width:100%}.text-button{color:var(--dark);text-align:left;background:0 0;border:0;padding:0;font-size:11.5px;text-decoration:underline}.muted{color:var(--muted);line-height:1.55}.eyebrow,.form-caption{color:#555;font-size:11px;font-weight:700}.form-stack{flex-direction:column;gap:12px;display:flex}.form-stack>p{margin-bottom:0}.form-columns{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-caption{padding-top:4px}.section-divider,.auth-divider{background:#c8c8c8;height:1px}.section-divider{margin:3px 0}.check{flex-direction:row;align-items:flex-start;gap:7px;font-size:11.5px;line-height:1.5}.check input{accent-color:#5b6570;flex-shrink:0;width:14px;height:14px;margin:1px 0 0;padding:0}.check a{color:var(--dark)}.notice{color:#555;background:#e4e6e8;border-left:3px solid #7a838c;margin:0;padding:8px 10px;font-size:11px;line-height:1.45}.notice.warning-notice{color:#8a5a00;background:#fff8e1;border-left-color:#d97706}.error{color:#8e342c;background:#f5e6e3;border-left:3px solid #b3544a;margin:0;padding:8px 10px;font-size:12px;line-height:1.5}.success-box{color:#3d5340;background:#e9eee8;border:1px solid #a9b5a9;border-radius:6px;padding:12px;font-size:12px;line-height:1.55}.success-box h3{margin-bottom:7px}.fine-print{color:#777;margin:0;font-size:10.5px;line-height:1.5}.credential{-webkit-user-select:all;user-select:all;overflow-wrap:anywhere;font-family:monospace;font-size:17px}.cabinet-layout{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.app-header{border-bottom:2px solid var(--dark);color:#fff;background:linear-gradient(#565f68,#3d434a);flex:0 0 60px;grid-template-columns:260px minmax(0,1fr) auto;align-items:center;gap:12px;padding:0 14px;display:grid;box-shadow:0 2px 5px #777}.standards{text-align:center;color:#ddd;font-size:13px;line-height:1.45}.standards b{letter-spacing:1.5px;font-size:14px}.standards span{color:#bbb;font-size:11.5px;display:block}.header-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.header-button,.icon-button,.sub-pill{color:#fff;background:#5b6570;border:1px solid #777;border-radius:7px;height:42px}.header-button:hover,.icon-button:hover,.sub-pill:hover{background:#4c555e}.header-button{white-space:nowrap;padding:0 15px;font-size:13.5px}.icon-button{flex-shrink:0;width:42px;padding:0;font-size:21px}.header-actions button:focus-visible{outline-color:#ddd}.new-patient-button{align-items:center;gap:7px;display:flex}.reset-icon{font-size:21px;line-height:1}.sub-pill{text-align:left;align-items:center;gap:7px;padding:0 12px;line-height:1.2;display:flex}.sub-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px;box-shadow:0 0 0 2px #ffffff26}.sub-dot.green{background:#4caf50}.sub-dot.yellow{background:#e0b400}.sub-dot.red{background:#e05a4c}.sub-text b{font-size:13.5px;display:block}.sub-text span{color:#d7dadd;font-size:11px;display:block}.cabinet-main{background:#cfcfcf;flex:1;grid-template-columns:270px minmax(0,1fr);gap:8px;min-height:0;padding:6px;display:grid}.sidebar{border:1px solid var(--line);background:var(--panel);border-radius:6px;flex-direction:column;min-height:0;display:flex;overflow:hidden;box-shadow:0 1px 3px #999}.sidebar-heading{border-bottom:1px solid var(--line);background:#dedede;padding:10px}.side-title{font-size:14px;font-weight:800}.side-sub{color:var(--muted);margin-top:4px;font-size:10px}.protocol-groups{flex:1;min-height:0;padding:7px 7px 9px;overflow:auto}.protocol-group{background:#f4f4f4;border:1px solid #b0b0b0;border-radius:6px;margin-bottom:5px;overflow:hidden}.group-toggle{color:#3a4046;text-align:left;background:#e3e3e3;border:0;justify-content:space-between;align-items:center;gap:7px;width:100%;padding:8px 9px;font-size:11px;font-weight:800;display:flex}.group-toggle:hover{background:#d9d9d9}.group-toggle.active{color:#fff;background:#565f68}.chevron{flex-shrink:0;font-size:13px;line-height:1}.group-items{background:#f7f7f7;border-top:1px solid #b5b5b5;padding:3px 4px 5px}.protocol-link{color:#3a4046;text-align:left;background:0 0;border:0;border-radius:3px;width:100%;margin:1px 0;padding:6px 7px;font-size:10.5px;line-height:1.25;display:block}.protocol-link:hover{background:#ddd}.protocol-link.selected{color:#fff;background:#565f68}.sidebar-message{color:#666;padding:5px 3px;font-size:11px}.sub-banner{color:#f1d9a0;background:#3d2f10;border:1px solid #7a5a12;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;margin:6px 6px 0;padding:9px 10px;font-size:11.5px;line-height:1.35;display:flex}.sub-banner button{color:#2c2205;background:#e0b400;border:1px solid #b98a2a;border-radius:5px;flex-shrink:0;padding:7px 8px;font-size:10px;font-weight:800}.main-content{flex-direction:column;min-width:0;min-height:0;display:flex}.workspace{background:#bdbdbd;border:1px solid #999;border-radius:8px;flex:1;min-width:0;min-height:0;position:relative;overflow:hidden;box-shadow:0 1px 3px #999}.placeholder{color:#555;text-align:center;background:#d6d6d6;justify-content:center;align-items:center;height:100%;padding:24px;font-size:14px;display:flex}.viewer{background:#fff;position:absolute;inset:0}.protocol-frame{background:#fff;border:0;width:100%;height:100%;display:block}.workspace-overlay{z-index:2;color:#555;background:#d6d6d6;justify-content:center;align-items:center;gap:12px;font-size:12px;display:flex;position:absolute;inset:0}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:28px;display:flex}.empty-state h2{font-size:17px}.empty-state p{color:#5c5c5c;max-width:480px}.global-error{color:#8e342c;background:#f5e6e3;border-bottom:1px solid #c69891;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:8px 14px;font-size:12px;display:flex}.app-footer{background:var(--dark);color:#ddd;flex:0 0 28px;justify-content:space-between;align-items:center;gap:12px;padding:0 12px;font-size:9px;display:flex}.app-footer b{color:#fff}.app-footer nav{align-items:center;gap:5px;display:flex}.app-footer a{color:#ddd}.modal{width:min(620px,100vw - 30px);max-width:none;max-height:85dvh;color:var(--text);background:#f0f2f3;border:1px solid #888;border-radius:10px;padding:0;box-shadow:0 8px 30px #00000059}.modal.wide{width:min(720px,100vw - 30px)}.modal::backdrop{background:#0000007a}.modal-header{z-index:1;color:#fff;background:linear-gradient(#4b535b,#3d434a);justify-content:space-between;align-items:center;gap:15px;padding:14px 18px;display:flex;position:sticky;top:0}.modal-header h2{margin:0;font-size:14px;font-weight:700}.modal-close{color:#fff;cursor:pointer;background:#5b6570;border:1px solid #777;border-radius:5px;flex-shrink:0;width:30px;height:30px;padding:0;font-size:20px;line-height:1}.modal-close:focus-visible{outline-color:#ddd}.modal-body{padding:18px;font-size:12px;line-height:1.55}.details{grid-template-columns:160px minmax(0,1fr);gap:8px;margin:0;font-size:12px;display:grid}.details dt{color:#555;font-weight:700}.details dd{overflow-wrap:anywhere;margin:0}.status-row{border-bottom:1px solid #d8d8d8;justify-content:space-between;align-items:baseline;gap:15px;padding:7px 0;font-size:12px;display:flex}.status-row b{color:#222;text-align:right}.subscription-note{color:#777;font-size:10.5px;line-height:1.5}.ticket-item{border-bottom:1px solid #d8d8d8;justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 0;display:flex}.ticket-item .muted{font-size:10px}.ticket-item h4{margin:4px 0 0;font-size:12px}.badge{white-space:nowrap;border:1px solid #0000;border-radius:4px;flex-shrink:0;padding:3px 6px;font-size:10px;display:inline-flex}.badge.neutral{color:#666;background:#e5e5e5;border-color:#c8c8c8}.badge.positive{color:#3b6541;background:#e8efe5;border-color:#b2c6b3}.badge.warning{color:#8b7026;background:#fff4d6;border-color:#d9c896}.panel-history{border-top:1px solid #c8c8c8;padding-top:10px}.panel-history summary{color:#555;cursor:pointer;font-size:12px;font-weight:700}.panel-history>.muted{margin:10px 0 0}.auth-card{flex-direction:column;gap:14px;width:100%;display:flex}.auth-card>p,.auth-card>h2{margin-bottom:0}.auth-card>h2{font-size:17px}.auth-card .auth-divider{margin:1px 0}.spinner{border:2px solid #b6babd;border-top-color:#4b535b;border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}.page-loading{height:100dvh;color:var(--dark);letter-spacing:2px;justify-content:center;align-items:center;gap:12px;font-size:14px;font-weight:700;display:flex}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1150px){.app-header{grid-template-columns:minmax(220px,1fr) auto}.standards{display:none}}@media (width<=850px){.cabinet-main{grid-template-columns:250px minmax(0,1fr)}.new-patient-label{display:none}.new-patient-button{justify-content:center;width:42px;padding:0}}@media (width<=650px){.app-header{flex-basis:auto;grid-template-columns:1fr;gap:8px;padding:9px 10px}.app-header .brand{align-items:center}.header-actions{justify-content:center}.cabinet-main{grid-template-columns:205px minmax(0,1fr);gap:5px;padding:5px}.group-toggle{padding:8px 7px;font-size:10.5px}.sidebar-heading{padding:9px 7px}.side-title{font-size:13px}.sub-banner{flex-direction:column;align-items:stretch;font-size:10.5px}.sub-banner button{align-self:flex-start}.placeholder{padding:15px;font-size:12px}.app-footer{flex-wrap:wrap;flex-basis:auto;gap:5px;min-height:28px;padding:6px 9px}.modal-header{padding:12px 14px}.modal-body{padding:14px}.form-columns{grid-template-columns:1fr}.details{grid-template-columns:135px minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}
