@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600;700;800&family=DM+Mono:wght@400;500&display=swap";@import"https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600&display=swap";@import"https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,500;0,9..144,600&display=swap";@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&display=swap";.login-container{display:flex;justify-content:center;align-items:center;height:100vh;background:var(--color-neutral-2)}.login-card{display:flex;width:1040px;max-width:100%;min-height:520px;background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000001a;overflow:hidden;transition:width .45s cubic-bezier(.65,0,.35,1)}.login-card.is-access-active{width:1160px}.left{flex:1 1 0%;min-width:0;padding:2rem 3rem;display:flex;flex-direction:column;gap:1.25rem}.left h2{margin-bottom:.5rem}.left p{margin-bottom:1.5rem;color:#555}.beta-banner{margin-bottom:.5rem;padding:.9rem 1rem;border-radius:10px;background:#ffc10733;color:#7a5900;font-size:.9rem;line-height:1.4}.beta-banner strong{display:block;margin-bottom:.3rem}form{display:flex;flex-direction:column;gap:1rem}input,select{padding:.9rem;border:1px solid var(--color-neutral-1);border-radius:8px;font:var(--font-body);background:#fff}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center;padding-right:2.2rem}input:focus,select:focus{border-color:var(--color-primary-2);outline:none}input:focus-visible,select:focus-visible,button:focus-visible{box-shadow:0 0 0 3px #5267e033}.options{display:flex;justify-content:space-between;align-items:center;font-size:14px}.options a{color:var(--color-primary-2);text-decoration:none;font-weight:500}.options a:hover{text-decoration:underline}.btn-link-back{background:transparent;border:none;color:var(--color-primary-2);font:var(--font-body);font-weight:500;cursor:pointer;padding:.5rem 0;text-align:left}.btn-link-back:hover{text-decoration:underline}.btn-primary{background-color:var(--color-primary-2);color:#fff;border:none;border-radius:8px;padding:.9rem;font:var(--font-h3);cursor:pointer;transition:background-color .3s ease}.btn-primary:hover{background:var(--color-primary-1)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.footer{text-align:center;font-size:12px;margin-top:auto}.footer a{color:var(--color-primary-1);text-decoration:none;font-weight:500}.right{flex-grow:1;flex-shrink:1;flex-basis:0%;background:linear-gradient(135deg,var(--color-primary-3),var(--color-primary-1),var(--color-primary-2));color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden;opacity:1;transition:flex-grow .45s ease,opacity .3s ease,padding .3s ease}.login-card.is-access-active .right{flex-grow:0;width:0;padding:0;opacity:0;pointer-events:none}.big-logo{width:120px;margin-bottom:1rem}.right h1{color:#fff}.toast{position:fixed;top:20px;right:20px;padding:.8rem 1rem;border-radius:10px;background:#fff;box-shadow:0 6px 20px #00000026;font:var(--font-body);z-index:2100;opacity:0;transition:opacity .2s ease-out,transform .2s ease-out;transform:translateY(-6px);pointer-events:none}.toast.success{border-left:6px solid #26a269;color:#1b5e20}.toast.error{border-left:6px solid #ef5350;color:#b71c1c}.toast.show{opacity:1;transform:translateY(0)}.access-panel{display:flex;flex-direction:column;gap:0;position:relative;width:100%;max-width:640px;margin:0 auto;animation:access-panel-in .35s ease}@keyframes access-panel-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}#access-form{gap:0}.access-badge{display:flex;border:1px solid var(--color-neutral-1);border-radius:12px;overflow:hidden;margin-bottom:1.1rem}.access-badge-seg{flex:1;padding:14px 16px;position:relative;background:#fff;transition:background .35s ease}.access-badge-seg:first-child{border-right:1px dashed var(--color-neutral-1)}.access-badge-seg.active{background:#5267e014}.access-badge-seg.done{background:#26a26914}.access-badge-eyebrow{font-size:11px;letter-spacing:.08em;color:#888;display:flex;align-items:center;gap:8px;margin-bottom:4px;text-transform:uppercase}.access-badge-seg.active .access-badge-eyebrow{color:var(--color-primary-2)}.access-badge-seg.done .access-badge-eyebrow{color:#26a269}.access-badge-dot{width:16px;height:16px;border-radius:50%;background:#c5c5c5;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:#fff;transition:background .3s ease,box-shadow .3s ease}.access-badge-seg:nth-child(1) .access-badge-dot:before{content:"1"}.access-badge-seg:nth-child(2) .access-badge-dot:before{content:"2"}.access-badge-seg.active .access-badge-dot{background:var(--color-primary-2);box-shadow:0 0 0 3px #5267e02e}.access-badge-seg.done .access-badge-dot{background:#26a269}.access-badge-title{font:var(--font-h3);font-size:14px;color:var(--color-dark)}.access-badge-check{position:absolute;top:12px;right:12px;font-size:14px;color:#26a269;opacity:0;transform:scale(.5);transition:all .3s ease .1s}.access-badge-seg.done .access-badge-check{opacity:1;transform:scale(1)}.access-viewport{overflow:hidden}.access-track{display:flex;width:200%;transition:transform .5s cubic-bezier(.65,0,.35,1)}.access-track.step-2{transform:translate(-50%)}.access-step{width:50%;padding-right:16px;box-sizing:border-box}.access-step-head{margin-bottom:.85rem}.access-panel .access-step-head .h2,.access-confirm .h2{margin-bottom:.35rem}.access-panel .access-step-head .body,.access-confirm .body{margin-bottom:0;color:#555;font-size:13px;line-height:1.45}.access-row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.access-field{margin-bottom:12px}.access-field label{display:block;font-size:12px;font-weight:500;color:#666;margin-bottom:5px}.access-opt{font-size:10px;color:var(--color-primary-2);margin-left:6px;font-weight:500;opacity:.8}.access-field input,.access-field select{width:100%;padding:.75rem .85rem}.access-field input.invalid,.access-field select.invalid,.access-checkline.invalid input{border-color:#ef5350;animation:access-shake .35s ease}.access-checkline.invalid{outline:1px solid #ef5350;outline-offset:4px;border-radius:6px;animation:access-shake .35s ease}@keyframes access-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.access-checkline{display:flex;align-items:flex-start;gap:10px;margin:14px 0 18px;font-size:12.5px;color:#666;line-height:1.45;cursor:pointer}.access-checkline input{margin-top:3px;accent-color:var(--color-primary-2);width:auto;padding:0}.access-honeypot{position:absolute;left:-9999px;opacity:0;height:0;width:0;pointer-events:none}.access-actions{overflow:hidden;padding:3px 0;margin-top:2px}.access-panel .btn-primary{display:flex;align-items:center;justify-content:center;gap:8px;padding:.55rem .9rem;box-sizing:border-box}.access-panel .btn-primary:focus-visible{box-shadow:0 0 0 2px #5267e033}.access-arrow{transition:transform .2s ease}.access-panel .btn-primary:hover .access-arrow{transform:translate(3px)}.btn-ghost{width:100%;margin-top:8px;background:transparent;color:#666;border:1px solid var(--color-neutral-1);border-radius:8px;padding:.75rem;font:var(--font-body);font-weight:500;cursor:pointer}.btn-ghost:hover{color:var(--color-dark);border-color:#bbb}.access-confirm{text-align:center;padding:1.5rem .5rem .5rem}.access-confirm-icon{width:52px;height:52px;margin:0 auto 16px;border-radius:50%;background:#26a2691a;border:1px solid rgba(38,162,105,.3);display:flex;align-items:center;justify-content:center;color:#26a269;font-size:22px}.access-ref{display:inline-block;margin:16px 0;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:13px;letter-spacing:.04em;color:var(--color-primary-2);background:#5267e014;border:1px solid rgba(82,103,224,.25);padding:6px 12px;border-radius:6px}.access-confirm .btn-link-back{display:block;width:100%;text-align:center}@media (prefers-reduced-motion: reduce){.login-card,.right,.access-panel,.access-field input.invalid,.access-field select.invalid,.access-checkline.invalid{animation:none;transition:none}}@media (max-width: 720px){.login-card,.login-card.is-access-active{flex-direction:column;width:100%}.right{min-height:160px;padding:1.5rem 0}.login-card.is-access-active .right{display:none}.access-row2{grid-template-columns:1fr}}:root{--brand-900: #5230A0;--brand-700: #7040C0;--brand-500: #9255D4;--brand-300: #C9B8EA;--brand-100: #F3EFFA;--brand-50: #FAF8FD;--text-primary: #2D2050;--text-secondary: #5E5888;--text-muted: #AEA8C8;--border: #EBE6F5;--bg-app: #FAF8FD;--bg-card: #FFFFFF;--alert-main: #F5781A;--alert-dark: #D96010;--alert-bg: #FFF5EE;--alert-light: #FBB97E}.settings-panel{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10000;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:0;transition:opacity .3s ease;font-family:DM Sans,sans-serif}.settings-panel.is-open{opacity:1;pointer-events:all}.settings-panel[aria-hidden=true]{display:none}.settings-panel[inert=true]{pointer-events:none}.settings-panel[inert=true] *{pointer-events:none;-webkit-user-select:none;user-select:none}.settings-panel__overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.settings-panel__container{position:relative;width:90%;max-width:1200px;max-height:90vh;background:var(--bg-card);border-radius:20px;box-shadow:0 2px 16px #0000000f;display:flex;overflow:hidden;z-index:1}.settings-panel__nav{width:240px;background:linear-gradient(180deg,var(--brand-900),var(--brand-700));border-right:1px solid var(--border);padding:24px 0;display:flex;flex-direction:column;position:relative}.settings-panel__close{position:absolute;top:16px;right:16px;width:32px;height:32px;border:none;background:transparent;font-size:24px;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:10px;transition:all .15s ease;font-family:DM Sans,sans-serif}.settings-panel__close:hover{background:var(--brand-100);color:var(--brand-700);transform:translateY(-1px)}.settings-panel__menu{display:flex;flex-direction:column;gap:4px;padding:0 12px}.settings-panel__item{padding:10px 12px;border:none;background:transparent;text-align:left;font-size:13px;font-weight:500;color:#ffffff8c;cursor:pointer;border-radius:10px;transition:all .15s ease;font-family:DM Sans,sans-serif;margin-bottom:4px}.settings-panel__item:hover{background:#ffffff14;color:#ffffffd9}.settings-panel__item.is-active{background:#ffffff2e;color:#fff;font-weight:500}.settings-panel__content{flex:1;overflow-y:auto;padding:32px 40px;position:relative}.settings-section{display:none}.settings-section.is-active{display:block}.settings-section__header{margin-bottom:24px;display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.settings-section__header h2{font-size:22px;font-weight:700;letter-spacing:-.5px;color:var(--text-primary);margin:0 0 8px;font-family:DM Sans,sans-serif}.settings-section__header p{font-size:14px;font-weight:400;color:var(--text-secondary);margin:0;font-family:DM Sans,sans-serif}.settings-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.settings-overview-grid--two-column{grid-template-columns:repeat(2,1fr)}.settings-card{background:var(--bg-card);border-radius:20px;padding:28px;box-shadow:0 2px 16px #0000000f}.settings-card__header{margin-bottom:16px}.settings-card__header h3{font-size:16px;font-weight:700;color:var(--text-primary);margin:0;font-family:DM Sans,sans-serif}.settings-details{display:flex;flex-direction:column;gap:16px;list-style:none;padding:0;margin:0}.settings-details__item{display:flex;flex-direction:column;gap:4px}.settings-details dt{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:2.5px;color:var(--text-muted);font-family:DM Sans,sans-serif}.settings-details dd{margin:0;font-size:14px;font-weight:400;color:var(--text-primary);font-family:DM Sans,sans-serif}.settings-details--inline{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:16px}.settings-forms{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.settings-form{background:var(--bg-card);border-radius:20px;padding:28px;box-shadow:0 2px 16px #0000000f;display:flex;flex-direction:column;gap:16px}.settings-form h3{font-size:16px;font-weight:700;color:var(--text-primary);margin:0;font-family:DM Sans,sans-serif}.settings-form p{color:var(--text-secondary);font-size:14px;font-weight:400;margin:0;font-family:DM Sans,sans-serif}.settings-form__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.settings-form__grid--stacked{grid-template-columns:1fr}.settings-field{display:flex;flex-direction:column;gap:6px}.settings-field span{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:2.5px;color:var(--text-muted);font-family:DM Sans,sans-serif}.settings-field input,.settings-field select{border:1.5px solid var(--border);border-radius:10px;padding:10px 16px;font-size:13px;background:#fff;color:var(--text-primary);transition:border-color .15s,box-shadow .15s;font-family:DM Sans,sans-serif;outline:none}.settings-field input:focus,.settings-field select:focus{outline:none;border-color:var(--brand-500);box-shadow:0 0 0 3px #9255d41f}.settings-field input::placeholder,.settings-field select::placeholder{color:var(--text-muted)}.settings-form__actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:8px}.btn{border:none;border-radius:10px;padding:10px 22px;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s,transform .15s;font-family:DM Sans,sans-serif}.btn-primary:hover{opacity:.88;transform:translateY(-1px)}.btn-secondary{background:var(--brand-100);color:var(--brand-700)}.btn-secondary:hover{opacity:.88;transform:translateY(-1px)}.settings-form__feedback{font-size:13px;margin:0}.settings-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:20px}.settings-stat-card{background:var(--brand-100);border-radius:20px;padding:20px;display:flex;flex-direction:column;gap:8px;border:1.5px solid var(--border)}.settings-stat-card__label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:2.5px;color:var(--text-muted);font-family:DM Sans,sans-serif}.settings-stat-card strong{font-size:28px;font-weight:800;color:var(--brand-700);font-family:DM Sans,sans-serif;letter-spacing:-1px}.settings-team-summary{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px}.settings-team-summary__item{background:var(--bg-card);border-radius:20px;padding:14px 18px;display:flex;flex-direction:column;gap:6px;min-width:120px;box-shadow:0 2px 16px #0000000f}.settings-team-summary__item span{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:2.5px;color:var(--text-muted);font-family:DM Sans,sans-serif}.settings-team-summary__item strong{font-size:20px;font-weight:800;color:var(--text-primary);font-family:DM Sans,sans-serif;letter-spacing:-.5px}.settings-team-table,.settings-logs-table{background:var(--bg-card);border-radius:20px;padding:20px;box-shadow:0 2px 16px #0000000f;min-height:200px}.settings-table{width:100%;border-collapse:collapse}.settings-table thead{border-bottom:1.5px solid var(--border)}.settings-table th{text-align:left;padding:12px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:2.5px;color:var(--text-muted);font-family:DM Sans,sans-serif}.settings-table td{padding:12px;font-size:14px;font-weight:400;color:var(--text-primary);border-bottom:1px solid var(--border);font-family:DM Sans,sans-serif}.settings-table tbody tr:hover{background:var(--brand-50)}.settings-empty{text-align:center;color:var(--text-muted);font-size:14px;font-weight:400;padding:40px 20px;margin:0;font-family:DM Sans,sans-serif}.settings-team-expand{width:100%;padding:14px 20px;border:1.5px dashed var(--brand-300);border-radius:10px;background:transparent;color:var(--brand-700);font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:20px;transition:all .15s ease;font-family:DM Sans,sans-serif}.settings-team-expand:hover{border-color:var(--brand-500);background:var(--brand-100);transform:translateY(-1px)}.settings-team-expand__icon{font-size:20px;font-weight:300}.settings-team-form-collapse{margin-top:20px}.settings-team-form{background:var(--bg-card);border-radius:20px;padding:28px;box-shadow:0 2px 16px #0000000f;display:flex;flex-direction:column;gap:20px}.settings-team-form__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.settings-team-form__grid--compact{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}@media (max-width: 768px){.settings-panel__container{width:100%;max-height:100vh;border-radius:0;flex-direction:column}.settings-panel__nav{width:100%;border-right:none;border-bottom:1px solid var(--border);padding:16px 0}.settings-panel__menu{flex-direction:row;overflow-x:auto;padding:0 16px}.settings-panel__content{padding:24px 20px}.settings-overview-grid--two-column{grid-template-columns:1fr}}:root{--brand-900: #5230A0;--brand-700: #7040C0;--brand-500: #9255D4;--brand-300: #C9B8EA;--brand-100: #F3EFFA;--brand-50: #FAF8FD;--metric-upcoming-from: #9255D4;--metric-upcoming-to: #FF4466;--metric-nodate-from: #9255D4;--metric-nodate-to: #FFA030;--metric-inprocess-from: #9255D4;--metric-inprocess-to: #18C8EE;--metric-cases-from: #9255D4;--metric-cases-to: #1ADE6A;--fast-process: #9B6EF0;--fast-revision: #EE7A9B;--fast-approved: #16C4B5;--fast-out: #7A8FA8;--fast-all-from: #6e86a0;--fast-all-to: #556a82;--text-primary: #2D2050;--text-secondary: #5E5888;--text-muted: #AEA8C8;--border: #EBE6F5;--bg-app: #FAF8FD;--bg-card: #FFFFFF;--alert-main: #F5781A;--alert-dark: #D96010;--alert-bg: #FFF5EE;--alert-light: #FBB97E}body{font-size:14px;font-weight:400;line-height:1.5;color:var(--text-primary)}h1,.h1{font-size:32px;font-weight:800;letter-spacing:-1px;color:var(--text-primary);line-height:1.2}h2,.h2{font-size:22px;font-weight:700;letter-spacing:-.5px;color:var(--text-primary);line-height:1.3}h3,.h3{font-size:16px;font-weight:700;color:var(--text-primary);line-height:1.4}p,.body-text{font-size:14px;font-weight:400;color:var(--text-secondary);line-height:1.5}small,.small-text{font-size:12px;font-weight:500}.btn{padding:10px 22px;border-radius:10px;border:none;cursor:pointer;font-weight:600;font-size:13px;font-family:DM Sans,sans-serif;transition:opacity .15s,transform .15s}.btn:hover{opacity:.88;transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,var(--brand-700),var(--brand-500));color:#fff;box-shadow:0 4px 14px #7040c059}.btn-secondary{background:var(--brand-100);color:var(--brand-700);border:none}label,.label-text{font-size:10px;font-weight:700;letter-spacing:2.5px;color:var(--text-muted);line-height:1.4}code,.mono-text,.hex-code{font-family:DM Mono,monospace;font-size:12px;font-weight:400;color:var(--brand-700);background:var(--brand-100);padding:4px 10px;border-radius:6px;display:inline-block}.home-page{display:flex;flex-direction:column;height:100vh;background:var(--bg-app);overflow:hidden}.beta-warning{background:var(--alert-bg);border-bottom:1.5px solid var(--alert-light);color:var(--alert-dark);padding:12px 20px;font-size:.95rem;text-align:center;flex-shrink:0;overflow:hidden;max-height:100px;opacity:1;transform:translateY(0);transition:max-height .5s ease-out,opacity .5s ease-out,padding .5s ease-out,margin .5s ease-out,transform .5s ease-out;border-radius:0}.home-container{flex:1 1 auto;display:grid;grid-template-columns:auto 1fr;min-height:0;overflow:hidden;background:var(--bg-app);height:100%}.sidebar{background:linear-gradient(180deg,var(--brand-900),var(--brand-700));border-right:1px solid var(--border);padding:1rem;display:flex;flex-direction:column;gap:1rem;min-height:0;overflow:hidden;border-radius:0;width:auto;align-items:center}.sidebar .menu-item{padding:0;border-radius:8px;text-align:center;cursor:pointer;background:transparent;transition:all .15s;display:flex;align-items:center;justify-content:center;width:50px;height:50px}.sidebar .menu-item img{width:25px;height:25px;object-fit:contain;filter:brightness(0);transition:filter .15s}.sidebar .menu-item:hover{background:#ffffff14}.sidebar .menu-item:hover img{filter:brightness(0) opacity(.8)}.sidebar .menu-item.active{background:#ffffff2e}.sidebar{position:relative}.sidebar .menu-item.active img{filter:brightness(0) invert(1)}.content{display:flex;flex-direction:column;padding:12px 14px;box-sizing:border-box;min-height:0!important;max-height:100%!important;overflow-y:auto!important;overflow-x:hidden!important;height:100%!important;flex:1 1 0!important;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.3) transparent;position:relative}.content>div{flex:1 1 auto;min-height:0;overflow:visible;max-height:none}.content .placeholder{background:var(--bg-card);padding:2rem;border-radius:12px;text-align:center;color:#666}.content h2{margin-bottom:20px}.patients-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}.patients-header h2{color:var(--text-primary);margin:0}.file-input-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.file-input-meta{color:#607d8b;font-size:13px}.file-input-btn{padding:8px 12px;border-radius:10px}.brief-explanation-grid{display:grid;gap:10px}.yesno-toggle{display:inline-flex;align-items:center;gap:6px;padding:4px;background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:12px}.yesno-toggle input[type=radio]{position:absolute;opacity:0;pointer-events:none}.yesno-pill{display:inline-flex;align-items:center;gap:7px;padding:7px 16px;border-radius:9px;cursor:pointer;font-weight:600;font-size:13px;color:#607d8b;-webkit-user-select:none;user-select:none;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.yesno-pill .dot{width:8px;height:8px;border-radius:50%;background:#cfd8dc;flex-shrink:0;transition:background .18s ease,transform .18s ease}.yesno-pill:hover{background:#f5f5f5}.yesno-toggle input[type=radio]:checked+.yesno-pill.yes{background:#dcfce7;color:#15803d;box-shadow:0 1px 4px #16a34a26}.yesno-toggle input[type=radio]:checked+.yesno-pill.yes .dot{background:#16a34a;transform:scale(1.2)}.yesno-toggle input[type=radio]:checked+.yesno-pill.no{background:#fee2e2;color:#b91c1c;box-shadow:0 1px 4px #dc262626}.yesno-toggle input[type=radio]:checked+.yesno-pill.no .dot{background:#dc2626;transform:scale(1.2)}.yesno-toggle input[type=radio]:focus-visible+.yesno-pill{outline:3px solid rgba(59,130,246,.3);outline-offset:2px}.patients-header #add-patient-btn{font-size:17px;font-weight:700;box-sizing:border-box;height:41px;padding:0 18px;line-height:1;border-radius:10px;background:linear-gradient(135deg,#5b94f6,#3b82f6);color:#fff;display:inline-flex;align-items:center;gap:7px;animation:pulse-btn 2.5s infinite;transition:transform .2s ease,box-shadow .2s ease}.patients-header #add-patient-btn:hover{opacity:1;background:linear-gradient(135deg,#3d78e6,#2563eb);transform:translateY(-2px);animation:none;box-shadow:0 8px 22px #2563eb73,0 0 0 6px #3b82f629}.patients-header #add-patient-btn:active{transform:translateY(1px);animation:none;box-shadow:0 4px 10px #2563eb4d}.patients-header #add-patient-btn:focus-visible{outline:3px solid rgba(59,130,246,.4);outline-offset:3px}.patients-header #add-patient-btn .new-patient-icon{width:26px;height:26px;flex-shrink:0}@keyframes pulse-btn{0%,to{box-shadow:0 4px 14px #2563eb59,0 0 0 4px #3b82f61a}50%{box-shadow:0 4px 20px #2563eb80,0 0 0 8px #3b82f614}}.dashboard-primary .patients-header{margin-top:.15rem;margin-bottom:.4rem;width:100%;min-width:0}.patients-wrapper>.unified-patient-case-search{width:100%;min-width:0;max-width:100%;box-sizing:border-box;margin-bottom:.45rem;flex-shrink:0}.patients-header .add-btn{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#b388f3,#8052ec);border:none;border-radius:8px;padding:6px 10px;cursor:pointer;transition:.2s}.patients-header .add-btn img{width:18px;height:18px;filter:invert(1)}.patients-header .add-btn:hover{opacity:.85}.patients-actions-row{display:flex;align-items:center;justify-content:flex-end;margin-bottom:.4rem}.patients-actions-row .btn-primary{margin-right:0}.search-bar button{padding:8px 14px;border:none;border-radius:8px;cursor:pointer;font-size:14px;background:linear-gradient(135deg,#b388f3,#8052ec);color:#fff;transition:.2s}.search-bar button:hover{opacity:.85}.search-bar #search-btn{background:#c8f0d6;color:#166534;box-shadow:none}.search-bar #search-btn:hover{background:#b5e6c8;opacity:1}.filter-panel{background:#fff;border-radius:8px;padding:1rem;margin-bottom:1rem;box-shadow:0 2px 6px #00000014}.filter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #e6e6e6}.filter-header h3{margin:0;font-size:1rem;font-weight:600;color:#333}.filter-close{background:none;border:none;font-size:20px;color:#666;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.filter-close:hover{background-color:#f0f0f0;color:#333}.filter-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.filter-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.filter-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#8052ec}.filter-checkbox span{font-size:.9rem;color:#333}.section-content{display:flex;flex-direction:column;height:auto;min-height:0;overflow:visible;flex:1 1 auto}.patients-wrapper{display:flex;flex-direction:column;height:auto;min-height:0;overflow:visible}.unified-patient-case-search{width:100%;margin-bottom:.5rem;flex-shrink:0}.unified-patient-case-search .search-bar.dashboard-case-search{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;width:100%}.unified-patient-case-search .search-bar.dashboard-case-search #search-input{flex:1 1 200px;min-width:0}.unified-patient-case-search .search-bar .dashboard-case-search-count{flex:0 0 auto;color:#666;font-size:.9rem}.patients-table{background:#fff;border-radius:12px;box-shadow:0 2px 6px #00000014;overflow:hidden;flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.patients-table table{width:100%;border-collapse:collapse;font-size:14px;display:block;height:100%}.patients-table thead{display:table;width:100%;table-layout:fixed;background:#f0f0f5;text-align:center}.patients-table tbody{display:block;max-height:calc(100vh - 300px);overflow-y:auto;overflow-x:hidden}.patients-table tbody tr{display:table;width:100%;table-layout:fixed;border-bottom:1px solid #eee;cursor:pointer;transition:background .2s}.patients-table tbody tr:hover{background:#fafafa}.patients-table tbody td{padding:12px;vertical-align:middle;text-align:center}.patients-table tbody td span.active,.patients-table tbody td span.discharged{display:inline-block;min-width:70px;text-align:center;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600}.patients-table tbody td span.active{background:#c8f7c5;color:#1b5e20}.patients-table tbody td span.discharged{background:#ffe0b2;color:#e65100}.patients-table tbody td .actions{display:flex;gap:8px;justify-content:center}.patients-table tbody td .actions .icon-btn{background:none;border:none;cursor:pointer}.patients-table tbody td .actions .icon-btn.action-btn-pat{padding:4px;background:none;border:none;border-radius:6px;transition:all .2s ease}.patients-table tbody td .actions .icon-btn.action-btn-pat:hover{background:#8052ec33;border:none}.patients-table tbody td .actions .icon-btn img{width:18px;height:18px}.professional-page #details-panel.details-panel,.professional-page #case-details-panel.details-panel{position:fixed;top:var(--app-topbar-offset, 72px);right:-450px;width:450px;height:calc(100vh - var(--app-topbar-offset, 72px));background:#fff;border-left:1px solid #e6e6e6;box-shadow:-2px 0 6px #00000014;padding:20px;transition:right .3s ease-in-out;z-index:20}.professional-page #details-panel.details-panel.open,.professional-page #case-details-panel.details-panel.open{right:0}.professional-page #case-details-panel .user-header .case-panel-heading{display:flex;flex-direction:column;gap:.15rem;min-width:0}.professional-page #case-details-panel .case-panel-subtitle{display:flex;flex-direction:column;gap:.05rem;font-size:.85rem;line-height:1.3;letter-spacing:0;color:#ffffffeb}.professional-page #case-details-panel .case-panel-subtitle[hidden]{display:none}.professional-page #case-details-panel .case-panel-code{font-weight:600}.professional-page #case-details-panel .case-panel-patient{font-weight:500;color:#ffffffd9}.details-panel .details{padding:1.5rem 1.5rem 1.5rem 2rem;display:flex;flex-direction:column;height:calc(100vh - 200px);overflow:hidden;background:#f9f9fb;border-radius:10px}.case-details-tabs{flex:1;min-height:0;display:flex;flex-direction:column}.case-details-tab-list{display:flex;flex-shrink:0;gap:.25rem;margin:.35rem 0 .6rem;border-bottom:1px solid #d8d4e8}.case-details-tab{padding:.4rem .75rem;background:transparent;color:#858484;border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:.85rem;font-weight:600}.case-details-tab:hover{color:#6c5ce7}.case-details-tab.active{color:#6c5ce7;background:#6c5ce71f;border-top-left-radius:8px;border-top-right-radius:8px;border-bottom-color:#6c5ce7}.case-details-tab-panel{flex:1;min-height:0;overflow-y:auto}.case-details-tab-panel[hidden]{display:none!important}.case-details-tab-panel .approvals-block{padding:0;border-bottom:none}.patient-info-section{margin-bottom:2rem}.patient-info-section:last-child{margin-bottom:0}.details-panel .patient-name{font-size:1.25rem;font-weight:600;color:#8052ec;margin:0 0 2rem;padding-bottom:1.25rem;border-bottom:3px solid #8052ec}.details-panel .info-item{display:flex;align-items:flex-start;margin-bottom:.5rem;padding:.25rem 0;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000000d;transition:all .2s ease;text-align:left}.details-panel .info-item:hover{box-shadow:0 2px 6px #0000001a;transform:translateY(-1px)}.details-panel .info-item:last-child{margin-bottom:0}.details-panel .info-label{font-weight:500;color:#666;min-width:140px;margin-right:1.5rem;margin-left:0;font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;text-align:left!important}#case-details-panel .info-label,#case-details-panel .info-item .info-label,.details-panel#case-details-panel .info-label{text-align:left!important;margin-left:0!important}.details-panel .info-value{color:#333;flex:1;font-size:.7rem;word-wrap:break-word;line-height:1.4;font-weight:500;text-align:left}.details-panel .patient-info-section{margin-bottom:2rem}.details-panel .patient-info-section:last-child{margin-bottom:0}.welcome-dashboard{display:grid;grid-template-columns:1fr 400px;gap:2.25rem;align-items:flex-start;padding:.65rem .75rem;background:#f8f9fd;border-radius:16px;margin-bottom:1rem}.welcome-dashboard .welcome-left{flex:1;display:flex;flex-direction:column;gap:.5rem}.welcome-dashboard .welcome-left h2{font-size:1.6rem;font-weight:600;color:#333}.welcome-dashboard .welcome-left p{font-size:1rem;color:#555}.welcome-dashboard .welcome-stats{display:flex;flex-direction:column;gap:.55rem;justify-content:center;margin-top:.5rem}.welcome-dashboard .patient-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem}.welcome-dashboard .case-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:.55rem}.welcome-dashboard .stats-section{margin-bottom:.65rem}.trend-fast-access-row{display:grid;grid-template-columns:1fr 280px;gap:.9rem;margin-bottom:.9rem}.trend-section,.fast-access-section{margin-bottom:0}.welcome-dashboard .stats-section-title{font-size:16px;font-weight:700;color:var(--text-primary);margin-bottom:.35rem}.trend-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.trend-period-toggle{display:flex;gap:8px;background:#f0f0f0;border-radius:8px;padding:4px}.period-btn{background:transparent;border:none;padding:6px 16px;border-radius:6px;font-size:.85rem;font-weight:500;color:#666;cursor:pointer;transition:all .2s ease}.period-btn.active{background:#fff;color:#333;box-shadow:0 1px 3px #0000001a}.period-btn:hover:not(.active){color:#333}.trend-chart-container{display:flex;flex-direction:column;align-items:center;margin-top:1rem;background:#fff;border-radius:12px;padding:10px;box-shadow:0 2px 8px #0000000d;max-width:100%;position:relative;min-height:180px}.chart-wrapper{position:relative;width:100%;height:140px}#case-trend-chart{width:100%!important;height:140px!important;min-height:140px!important}.trend-chart-labels{position:relative;width:100%;margin-top:8px;padding:0 20px;box-sizing:border-box;height:20px}.trend-label{font-size:.75rem;color:#666;font-weight:500;text-align:center;position:relative}.trend-summary{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:1rem;padding:12px;background:#f8f9fd;border-radius:8px}.trend-comparison{display:flex;align-items:center;gap:6px;font-size:.9rem}.trend-arrow-summary{font-size:1.2rem;font-weight:700;color:#666}.trend-arrow-summary.increase{color:#4caf50}.trend-arrow-summary.decrease{color:#f44336}.trend-arrow-summary.neutral{color:#666}.trend-text-summary{font-size:12px;font-weight:500;color:var(--text-muted)}.trend-text-summary.increase{color:#4caf50;font-weight:600}.trend-text-summary.decrease{color:#f44336;font-weight:600}.trend-text-summary.neutral{color:#666}.trend-period-summary{color:var(--text-muted);font-size:12px;font-weight:500}.trend-percentage{font-size:12px;font-weight:500;color:var(--text-muted)}.trend-percentage.increase{color:#4caf50;font-weight:600}.trend-percentage.decrease{color:#f44336;font-weight:600}.trend-percentage.neutral{color:#666}.trend-status{font-size:12px;font-weight:500;color:var(--text-muted);font-style:italic}.trend-status.increase{color:#4caf50;font-weight:500;font-style:normal}.trend-status.decrease{color:#f44336;font-weight:500;font-style:normal}.trend-status.neutral{color:#999}.process-stats-chart-container{display:flex;justify-content:center;align-items:flex-start;margin-top:1rem;gap:2rem}.process-chart-wrapper{display:flex;flex-direction:column;align-items:center;flex-shrink:0}.chart-top-text{font-weight:600;margin-bottom:8px;text-align:center;font-size:1rem;color:#333}.process-info-side{display:flex;flex-direction:column;gap:1rem;flex-shrink:0}.process-legend{display:flex;flex-direction:column;gap:10px;font-size:12px;text-align:left;justify-content:flex-start;min-width:180px}.process-legend-item{display:flex;align-items:center;gap:8px}.process-legend-color{width:16px;height:16px;border-radius:3px;display:inline-block;flex-shrink:0}.process-legend-text{font-size:12px;line-height:1.4;color:#555}.fast-access-section{overflow:visible}.process-status-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;gap:.35rem .4rem;width:100%;flex-shrink:0;margin-top:.35rem;overflow:visible}.process-status-cards--wrap{grid-template-columns:repeat(5,minmax(0,1fr))}@media (max-width: 1000px){.process-status-cards,.process-status-cards--wrap{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 700px){.process-status-cards,.process-status-cards--wrap{grid-template-columns:repeat(2,minmax(0,1fr))}}.process-status-card{display:flex;align-items:center;justify-content:space-between;border-radius:14px;padding:10px 12px;cursor:pointer;transition:transform .2s ease;color:#fff;flex:1 1 0;min-width:0}.process-status-card:hover{transform:translateY(-3px)}.process-status-card[data-category=all],.process-status-card.process-status-card--all{background:linear-gradient(135deg,var(--fast-all-from) 0%,var(--fast-all-to) 100%);box-shadow:0 6px 20px #3c506e47}.process-status-card[data-category=all]:hover,.process-status-card.process-status-card--all:hover{box-shadow:0 8px 24px #3c506e61}.process-status-card[data-category=in_process]{background:var(--fast-process);box-shadow:0 6px 20px #9b6ef04d}.process-status-card[data-category=in_process]:hover{box-shadow:0 8px 24px #9b6ef066}.process-status-card{position:relative}.process-status-card.process-status-card--has-notify{box-shadow:0 0 0 2px #ffffffd9,0 6px 20px #ee7a9b4d}.process-status-card .category-notify-badge{position:absolute;top:-10px;right:-10px;z-index:12;display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:50%;background:#fff;box-shadow:0 2px 10px #00000038;cursor:pointer;animation:pro-category-notify-pulse 1.6s ease-in-out infinite}.process-status-card .category-notify-badge:hover{transform:scale(1.08);animation:none}.process-status-card .category-notify-icon{width:18px;height:18px;display:block;pointer-events:none}.process-status-card .category-notify-count{position:absolute;top:-2px;right:-2px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#e53935;color:#fff;font-size:.65rem;font-weight:700;line-height:18px;text-align:center;pointer-events:none}@keyframes pro-category-notify-pulse{0%,to{box-shadow:0 2px 10px #00000038}50%{box-shadow:0 2px 14px #e539358c}}.summary-item.summary-item--notified{background:#fff8e1;border-color:#ffc107;box-shadow:0 0 0 2px #ffc10759}.process-status-card[data-category=revision_requested]{background:var(--fast-revision);box-shadow:0 6px 20px #ee7a9b4d}.process-status-card[data-category=revision_requested]:hover{box-shadow:0 8px 24px #ee7a9b66}.process-status-card[data-category=approved_review]{background:var(--fast-approved);box-shadow:0 6px 20px #16c4b54d}.process-status-card[data-category=approved_review]:hover{box-shadow:0 8px 24px #16c4b566}.process-status-card[data-category=out_of_process]{background:var(--fast-out);box-shadow:0 6px 20px #7a8fa833}.process-status-card[data-category=out_of_process]:hover{box-shadow:0 8px 24px #7a8fa84d}.process-status-card-label{font-size:14px;font-weight:500;color:#ffffffd1;line-height:1.2;margin-top:2px}.process-status-card-value{font-size:24px;font-weight:800;letter-spacing:-1px;color:#fff;line-height:1}.process-status-card>div:first-child{display:flex;flex-direction:column;gap:0}.process-status-card-icon{width:32px;height:32px;background:#ffffff2e;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.welcome-dashboard .stat-box{display:flex;justify-content:space-between;align-items:center;border-radius:20px;padding:22px 24px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;position:relative;overflow:hidden}.welcome-dashboard .stat-box:before{content:"";position:absolute;top:-24px;right:-24px;width:90px;height:90px;border-radius:50%;background:#ffffff1a;z-index:0}.welcome-dashboard .stat-box:after{content:"";position:absolute;bottom:-36px;left:-10px;width:110px;height:110px;border-radius:50%;background:#ffffff0f;z-index:0}.welcome-dashboard .stat-box:hover{transform:translateY(-4px)}.welcome-dashboard .stat-box .stat-info{display:flex;flex-direction:column;gap:4px;position:relative;z-index:1}.welcome-dashboard .stat-box .stat-info .value{font-size:38px;font-weight:800;letter-spacing:-2px;color:#fff;line-height:1;position:relative;z-index:1}.welcome-dashboard .stat-box .stat-info .label{font-size:14px;font-weight:500;color:#ffffffe6;line-height:1.3;position:relative;z-index:1;margin-top:4px}.welcome-dashboard .stat-box .stat-gauge{width:70px;height:70px}.welcome-dashboard .stat-box .stat-gauge canvas{width:70px!important;height:70px!important}.welcome-dashboard .stat-box.surgery-soon{background:linear-gradient(135deg,var(--metric-upcoming-from),var(--metric-upcoming-to));box-shadow:0 8px 28px #ff446659}.welcome-dashboard .stat-box.surgery-soon:hover{box-shadow:0 12px 36px #ff446673}.welcome-dashboard .stat-box.no-date{background:linear-gradient(135deg,var(--metric-nodate-from),var(--metric-nodate-to));box-shadow:0 8px 28px #ffa03059}.welcome-dashboard .stat-box.no-date:hover{box-shadow:0 12px 36px #ffa03073}.welcome-dashboard .stat-box.in-process{background:linear-gradient(135deg,var(--metric-inprocess-from),var(--metric-inprocess-to));box-shadow:0 8px 28px #18c8ee59}.welcome-dashboard .stat-box.in-process:hover{box-shadow:0 12px 36px #18c8ee73}.welcome-dashboard .stat-box.this-month{background:linear-gradient(135deg,var(--metric-cases-from),var(--metric-cases-to));box-shadow:0 8px 28px #1ade6a4d}.welcome-dashboard .stat-box.this-month:hover{box-shadow:0 12px 36px #1ade6a66}.welcome-dashboard .stat-box .stat-info .sub-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#ffffffe6;margin-top:12px;position:relative;z-index:1;display:inline-block}.welcome-dashboard .stat-box .stat-info .sub-label.attention{color:#fff;background:#ffffff38;padding:4px 10px;border-radius:20px}.welcome-dashboard .stat-box .stat-info .sub-label.attention:before{content:"⚠";margin-right:4px;font-size:10px}.welcome-dashboard .stat-box .trend-indicator{display:flex;align-items:center;gap:4px;margin-top:12px;font-size:12px;flex-wrap:nowrap;white-space:nowrap;position:relative;z-index:1;background:#ffffff38;padding:4px 10px;border-radius:20px;display:inline-flex;width:fit-content}.welcome-dashboard .stat-box .trend-arrow{font-size:.85rem;font-weight:700;color:#ffffffe6;display:inline-block}.welcome-dashboard .stat-box .trend-arrow.increase{color:#fffffff2}.welcome-dashboard .stat-box .trend-arrow.decrease{color:#ffffffd9}.welcome-dashboard .stat-box .trend-arrow.neutral{color:#ffffffb3}.welcome-dashboard .stat-box .trend-text{color:#ffffffe6;font-weight:500;display:inline-block;white-space:nowrap}.welcome-dashboard .stat-box .trend-text.increase{color:#fffffff2;font-weight:600}.welcome-dashboard .stat-box .trend-text.decrease{color:#ffffffd9;font-weight:600}.welcome-dashboard .stat-box .trend-text.neutral{color:#ffffffb3}.welcome-dashboard .stat-box .trend-period{color:#ffffffb3;font-size:.7rem;display:inline-block;white-space:nowrap}.welcome-dashboard .welcome-right{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:.55rem;position:relative}.upcoming-surgeries-section{width:100%;min-width:0;display:flex;flex-direction:column;margin-top:1rem}.upcoming-surgeries-details{width:100%;min-width:0;border:1px solid #e8eaf0;border-radius:10px;background:#fff;box-shadow:0 1px 4px #0000000d;box-sizing:border-box}.upcoming-surgeries-summary{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .7rem;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.upcoming-surgeries-summary::-webkit-details-marker{display:none}.upcoming-surgeries-summary:after{content:"";display:block;width:.4rem;height:.4rem;border-right:2px solid #6c757d;border-bottom:2px solid #6c757d;transform:translateY(-2px) rotate(45deg);flex-shrink:0;transition:transform .2s ease}.upcoming-surgeries-details[open]>.upcoming-surgeries-summary:after{transform:translateY(2px) rotate(-135deg)}.upcoming-surgeries-summary:hover{background:#f8f9fd;border-radius:10px 10px 0 0}.upcoming-surgeries-details[open]>.upcoming-surgeries-summary:hover{border-radius:10px 10px 0 0}.upcoming-surgeries-details:not([open])>.upcoming-surgeries-summary:hover{border-radius:10px}.upcoming-surgeries-title{font-size:16px;font-weight:700;color:var(--text-primary);margin:0}.upcoming-surgeries-list{display:flex;flex-direction:column;gap:.45rem;padding:0 .65rem .65rem;box-sizing:border-box}.upcoming-surgery-item{background:#fff;border-radius:8px;padding:.6rem .65rem;box-shadow:0 2px 4px #0000000d;border-left:3px solid var(--color-primary);display:grid;grid-template-columns:auto 1fr;gap:.5rem;align-items:start}.surgery-date-col{font-weight:600;color:#333;font-size:.95rem;white-space:nowrap}.surgery-info-col{display:flex;flex-direction:column;gap:.25rem}.surgery-patient{color:#555;font-size:.9rem;font-weight:500}.surgery-procedure{color:#777;font-size:.85rem}.no-upcoming-surgeries{text-align:center;color:#999;padding:.75rem;font-size:.9rem}.surgery-calendar-section{margin-top:1rem;width:100%;min-width:0;align-self:stretch;box-sizing:border-box}.dashboard-aside #surgery-calendar.surgery-calendar-v4.card{--cal-surface: #fff;--cal-border-soft: #f0ece6;--cal-radius-lg: 18px;--cal-shadow-xs: 0 1px 3px rgba(26, 22, 18, .06);--cal-text-1: var(--text-primary, #1a1612);--cal-text-2: #6b6158;--cal-text-3: #a89f94;--cal-bg-warm: #f5f1eb;--cal-accent: var(--color-primary, #e8673a);--cal-accent-soft: #fdf1ec;width:100%;min-width:0;background:var(--cal-surface);border-radius:var(--cal-radius-lg);border:1px solid var(--cal-border-soft);box-shadow:var(--cal-shadow-xs);box-sizing:border-box;padding-bottom:4px;flex-shrink:0}.dashboard-aside #surgery-calendar .card-header{padding:16px 18px 0;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.dashboard-aside #surgery-calendar .surgery-cal-filter-hint{margin:0;padding:6px 18px 2px;font-size:10.5px;line-height:1.45;color:var(--cal-text-2, #6b6158)}.dashboard-aside #surgery-calendar .surgery-cal-clear{display:inline;margin:0;padding:0;border:none;background:none;color:var(--cal-accent, #e8673a);font:inherit;font-weight:600;font-size:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.dashboard-aside #surgery-calendar .surgery-cal-clear:hover{color:var(--cal-text-1, #1a1612)}.dashboard-aside #surgery-calendar .surgery-cal-hint-same{color:var(--cal-text-3, #a89f94);font-weight:500}.dashboard-aside #surgery-calendar .card-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--cal-text-3);margin:0}.dashboard-aside #surgery-calendar .cal-nav{display:flex;align-items:center}.dashboard-aside #surgery-calendar .cal-nav-btn{width:26px;height:26px;border:none;background:transparent;border-radius:7px;cursor:pointer;color:var(--cal-text-2);font-size:14px;display:flex;align-items:center;justify-content:center;transition:background .15s;padding:0;line-height:1}.dashboard-aside #surgery-calendar .cal-nav-btn:hover{background:var(--cal-bg-warm)}.dashboard-aside #surgery-calendar .cal-month{font-size:12px;font-weight:700;color:var(--cal-text-1);min-width:80px;text-align:center;white-space:nowrap}.dashboard-aside #surgery-calendar .cal-grid{padding:10px 18px 14px;display:grid;grid-template-columns:repeat(7,1fr);gap:2px;box-sizing:border-box}.dashboard-aside #surgery-calendar .cal-dow{font-size:9.5px;font-weight:700;text-align:center;color:var(--cal-text-3);padding:4px 0;letter-spacing:.04em;text-transform:uppercase;margin:0}.dashboard-aside #surgery-calendar .cal-day{font-size:12px;font-weight:500;text-align:center;padding:5px 2px;border-radius:7px;cursor:default;color:var(--cal-text-2);transition:all .12s;position:relative;min-height:0;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.dashboard-aside #surgery-calendar .cal-day:hover{background:var(--cal-bg-warm);color:var(--cal-text-1)}.dashboard-aside #surgery-calendar .cal-day.other-month{color:var(--cal-text-3);opacity:.5}.dashboard-aside #surgery-calendar .cal-day.today{background:var(--cal-accent-soft);color:var(--cal-accent);font-weight:700}.dashboard-aside #surgery-calendar .cal-day.today:after{content:"";position:absolute;bottom:2px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:var(--cal-accent)}.dashboard-aside #surgery-calendar .cal-day.has-surgery{background:#fef3c7;color:#92400e;font-weight:700}.dashboard-aside #surgery-calendar .cal-day.has-surgery:after{content:"";position:absolute;bottom:2px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:#f59e0b}.dashboard-aside #surgery-calendar .cal-day[data-iso-day]{cursor:pointer}.dashboard-aside #surgery-calendar .cal-day[data-iso-day]:hover{z-index:1}.dashboard-aside #surgery-calendar .cal-day.cal-day--filter-active{box-shadow:0 0 0 2px var(--cal-accent, #e8673a);z-index:1}.dashboard-aside #surgery-calendar .cal-day.cal-day--filter-active.has-surgery{box-shadow:0 0 0 2px var(--cal-accent, #e8673a)}.dashboard-announcements{margin-top:1rem}.dashboard-announcements .stats-section-title{margin-bottom:.35rem}.summary-panel{width:100%;min-width:400px;height:100%;background:#f8f9fd;border-radius:12px;padding:.5rem 1.5rem;box-shadow:0 2px 8px #0000000d;display:flex;flex-direction:column;overflow:hidden}.summary-panel .panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid #e0e0e0;flex-shrink:0}.summary-panel .panel-header h4{font-weight:600;color:#333;font-size:1.2rem;margin:0}.summary-panel .panel-header .close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.summary-panel .panel-header .close-btn:hover{background:#e0e0e0;color:#333}.summary-list{flex:1;overflow:hidden;display:flex;flex-direction:column;gap:.45rem}.summary-item{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:.5rem .55rem;display:flex;justify-content:space-between;align-items:flex-start;transition:box-shadow .2s;gap:.4rem}.summary-item:hover{box-shadow:0 2px 4px #0000001a}.summary-item-info{display:flex;flex-direction:column;gap:.3rem;flex:1;min-width:0}.summary-item-meta-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.75fr) minmax(0,.9fr) minmax(0,1fr);gap:.55rem 1.1rem;align-items:start;width:100%;min-width:0}.summary-item-meta-row>*{min-width:0}.summary-item-patient{color:#555;font-size:.9rem;font-weight:500;line-height:1.35}.summary-item-date-procedure{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .8rem;color:#666;font-size:.9em;line-height:1.35}.summary-item-sep{color:#ccc;-webkit-user-select:none;user-select:none}.summary-item-surgery-date{color:#666;font-size:.9em;line-height:1.35}.summary-item-surgery-date-inner{display:inline-flex;align-items:center;gap:.35rem}.summary-item-surgery-ico{width:16px;height:16px;flex-shrink:0}.summary-item-surgery-date--empty{color:#bbb}.summary-item-status-action{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;line-height:1.3}.summary-item-actions{display:flex;align-items:center;gap:.35rem;flex-shrink:0;margin-left:.5rem;align-self:center}.summary-item-actions .summary-item-btn{margin-left:0}.summary-item-action-arrow{color:#999;font-size:.9em;-webkit-user-select:none;user-select:none}.summary-item-action{display:inline-block;min-width:0}@media (max-width: 900px){.summary-item-meta-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.summary-item-id{font-weight:600;color:#333;font-size:.85rem}.summary-item-id-row{display:flex;align-items:center;justify-content:flex-start;gap:.5rem;width:100%;min-width:0;margin-bottom:.2rem}.summary-item-id-row .summary-item-id{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.summary-item-close{flex-shrink:0;padding:0 .5rem;min-height:36px;display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;border:1px solid #6c757d;background:#fff;color:#495057;border-radius:6px;cursor:pointer;line-height:1.2;transition:background .15s ease,color .15s ease,border-color .15s ease;box-sizing:border-box}.summary-item-close:hover{background:#6c757d;color:#fff;border-color:#5a6268}.summary-item-name{color:#555;font-size:.9rem}.summary-item-date{color:#666;font-size:.85rem}.summary-item-status{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500;text-transform:capitalize;display:inline-block;width:fit-content}.summary-item-status.active{background-color:#e3f2fd;color:#1976d2}.summary-item-status.discharged{background-color:#f3e5f5;color:#7b1fa2}.summary-item-status.created{background-color:#e3f2fd;color:#1976d2}.summary-item-status.dicom_uploaded{background-color:#fff3e0;color:#e65100}.summary-item-status.planning{background-color:#e8f5e9;color:#388e3c}.summary-item-status.planning_under_review{background-color:#fff3e0;color:#e65100}.summary-item-status.planning_approved{background-color:#e8f5e9;color:#388e3c}.summary-item-status.design{background-color:#e3f2fd;color:#1976d2}.summary-item-status.design_under_review{background-color:#fff3e0;color:#e65100}.summary-item-status.design_approved{background-color:#e8f5e9;color:#388e3c}.summary-item-status.manufacturing{background-color:#f3e5f5;color:#7b1fa2}.summary-item-status.closed{background-color:#eceff1;color:#546e7a}.summary-item-status.cancelled{background-color:#ffebee;color:#c62828}.summary-item-status.archived{background-color:#eceff1;color:#546e7a}.summary-item-btn{padding:.5rem;background:#6c5ce7;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;transition:background .2s;white-space:nowrap;margin-left:.5rem;display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;flex-shrink:0;align-self:center}.summary-item-btn:hover{background:#5a4fcf}.summary-item-btn img{filter:brightness(0) invert(1)}.summary-pagination{display:flex;justify-content:center;align-items:center;gap:.65rem;padding:.4rem .65rem;margin-top:auto;border-top:1px solid #e0e0e0;flex-shrink:0}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.welcome-dashboard .stat-box{cursor:pointer;transition:transform .2s,box-shadow .2s}.welcome-dashboard .stat-box:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.process-status-card{cursor:pointer;transition:transform .2s,opacity .2s}.process-status-card:hover{transform:translateY(-2px);opacity:.9}@media (max-width: 768px){.welcome-dashboard{flex-direction:column}.welcome-dashboard .welcome-left,.welcome-dashboard .welcome-right{width:100%}.welcome-dashboard .welcome-right{margin-top:1rem}.welcome-dashboard .patient-stats{grid-template-columns:1fr}.process-stats-chart-container{flex-direction:column;align-items:center;gap:1rem}.process-info-side{width:100%;align-items:center}.process-legend{min-width:auto;width:100%;max-width:300px}.process-status-cards,.process-status-cards--wrap{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:100%}}@media (max-width: 480px){.process-status-cards,.process-status-cards--wrap{grid-template-columns:1fr}}.patient-modal-content{--modal-padding-inline: 2rem;--modal-padding-bottom: 2rem;background-color:#fff;padding:0;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1001;width:90%;max-width:1000px!important;position:relative;display:flex;flex-direction:column;max-height:90vh;overflow:hidden}.patient-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem var(--modal-padding-inline) 1rem;position:sticky;top:0;background-color:#fff;z-index:10;border-bottom:1px solid #e0e0e0;flex-shrink:0;min-height:80px;box-sizing:border-box}.patient-modal-form{display:flex;flex-direction:column;gap:1rem;overflow-y:auto;flex:1;padding:0 var(--modal-padding-inline) var(--modal-padding-bottom);min-height:0}.patient-modal-content>.form-actions,.patient-modal-content>.delete-case-confirm-content,.patient-modal-content>.delete-case-progress,.patient-modal-content>.delete-case-success,.patient-modal-content>.case-order-content,.patient-modal-content>.case-order-header{padding-left:var(--modal-padding-inline);padding-right:var(--modal-padding-inline)}.patient-modal-content>.form-actions{padding-bottom:var(--modal-padding-bottom)}.patient-modal-form .form-group{display:flex;flex-direction:column;gap:.5rem}.patient-modal-form .form-group label{font-size:.9rem;font-weight:600;color:#333;margin-top:.5rem}.patient-modal-form .form-group input,.patient-modal-form .form-group select,.patient-modal-form .form-group textarea{padding:.75rem 1rem;border:1px solid #ddd;border-radius:6px;font-size:.9rem;color:#333;width:100%;box-sizing:border-box}.patient-modal-form .form-group textarea{resize:vertical;min-height:100px;font-family:inherit}.patient-modal-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.patient-modal-form .form-actions-edit-case{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem}.edit-case-tabs{display:flex;gap:16px;padding:0 var(--modal-padding-inline, 2rem);border-bottom:1px solid #e0e0e0}.assign-case-content{overflow-y:auto;padding:1rem var(--modal-padding-inline, 2rem) 1.5rem}.patient-modal-form .btn-primary,.patient-modal-form .btn-secondary{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.patient-modal-form .btn-primary{background-color:#8052ec;color:#fff}.patient-modal-form .btn-primary:hover{background-color:#6b42d4}.patient-modal-form .btn-secondary{background-color:#f0f0f0;color:#333}.patient-modal-form .btn-secondary:hover{background-color:#e0e0e0}.case-form-modal{max-width:1000px!important}.case-form-progress{display:flex;justify-content:space-between;align-items:center;margin:0;padding:1rem 2rem;border-bottom:2px solid #e0e0e0;position:sticky;top:80px;background-color:#fff;z-index:9;flex-shrink:0}.case-form-progress:before{content:"";position:absolute;bottom:-2px;left:0;height:2px;background-color:var(--brand-500);transition:width .3s ease;width:33.33%}.case-form-progress[data-current-page="2"]:before{width:66.66%}.case-form-progress[data-current-page="3"]:before{width:100%}.progress-step{display:flex;flex-direction:column;align-items:center;gap:.5rem;flex:1;position:relative}.progress-step:after{content:"";position:absolute;top:15px;left:50%;width:100%;height:2px;background-color:#e0e0e0;z-index:-1}.progress-step:last-child:after{display:none}.progress-step.active:after{background-color:var(--brand-500)}.step-number{width:30px;height:30px;border-radius:50%;background-color:#e0e0e0;color:#666;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;transition:all .3s ease}.progress-step.active .step-number{background-color:var(--brand-500);color:#fff}.step-label{font-size:.75rem;color:#666;text-align:center}.progress-step.active .step-label{color:var(--brand-500);font-weight:600}.case-form-page{display:none;animation:fadeIn .3s ease}.case-form-page.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.case-form-subtitle{font-size:1.1rem;font-weight:600;color:#333;margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:1px solid #e0e0e0}.surgery-date-options{margin-bottom:.5rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9rem;color:#333}.checkbox-label input[type=checkbox]{width:auto;cursor:pointer}.surgery-date-calendar{margin-top:.5rem}.surgery-date-calendar input[type=date]{width:100%;padding:.75rem 1rem;border:1px solid #ddd;border-radius:6px;font-size:.9rem;color:#333}.autocomplete-field{background-color:#f9f9f9;transition:background-color .2s ease}.autocomplete-field:focus{background-color:#fff;border-color:var(--brand-500)}.patient-modal-form .form-actions{display:flex;justify-content:space-between;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e0e0e0}.patient-modal-form .form-actions .btn-primary{margin-left:auto}.procedure-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid #e0e0e0}.procedure-tab{padding:.75rem 1.5rem;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:.9rem;font-weight:500;color:#666;transition:all .2s ease;position:relative;bottom:-2px}.procedure-tab:hover{color:var(--brand-500);background-color:var(--brand-50)}.procedure-tab.active{color:var(--brand-500);border-bottom-color:var(--brand-500);font-weight:600}.procedure-tab-content{display:none;animation:fadeIn .3s ease}.procedure-tab-content.active{display:block}.shipping-disclaimer{margin:1.5rem 0;padding:1rem;background-color:#fff5ee;border-left:4px solid var(--alert-main);border-radius:4px}.disclaimer-text{margin:0;font-size:.85rem;color:#333;line-height:1.5}.disclaimer-text strong{color:var(--alert-dark)}.terms-section{margin:2rem 0;padding:1.5rem;background-color:#f9f9f9;border-radius:6px;border:1px solid #e0e0e0}.terms-checkbox{margin-bottom:1rem;padding:.75rem;background-color:#fff;border-radius:4px;border:1px solid #e0e0e0;transition:all .2s ease}.terms-checkbox:hover{background-color:#f5f5f5;border-color:var(--brand-300)}.terms-checkbox input[type=checkbox]{margin-right:.75rem}.terms-checkbox span{font-size:.9rem;color:#333;line-height:1.5}.case-order-modal .form-actions .btn-secondary{background:var(--brand-100);color:var(--brand-700);border:none;padding:10px 22px;border-radius:10px;font-weight:600;font-size:13px;font-family:DM Sans,sans-serif;transition:opacity .15s,transform .15s}.case-order-modal .form-actions .btn-secondary:hover{opacity:.88;transform:translateY(-1px)}.case-order-modal .form-actions .btn-primary{background:linear-gradient(135deg,var(--brand-700),var(--brand-500));color:#fff;box-shadow:0 4px 14px #7040c059;border:none;padding:10px 22px;border-radius:10px;font-weight:600;font-size:13px;font-family:DM Sans,sans-serif;transition:opacity .15s,transform .15s}.case-order-modal .form-actions .btn-primary:hover{opacity:.88;transform:translateY(-1px)}.order-section{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #e0e0e0}.order-section:last-child{border-bottom:none}.order-section h4{font-size:1rem;font-weight:600;color:var(--brand-500);margin-bottom:1rem}.order-field{margin:.75rem 0;font-size:.9rem;line-height:1.6}.order-field strong{color:#333;font-weight:600;display:inline-block;min-width:200px}.error-text{color:#dc3545;text-align:center;padding:2rem}.delete-case-confirm-content{padding-top:1.5rem;padding-bottom:0}.delete-details{font-size:.95rem;color:#333;margin-bottom:1rem}.delete-list{margin:1rem 0;padding-left:1.25rem;color:#555}.delete-list li{margin:.5rem 0}.delete-final{font-size:1rem;color:#dc3545;font-weight:600;margin-top:1.5rem;padding-top:1rem;border-top:2px solid #dc3545}.delete-case-progress{padding:1.5rem 0 .5rem}.delete-case-progress-text{margin:0 0 1rem;font-size:.95rem;font-weight:600;color:#455a64;text-align:center;line-height:1.45}.delete-case-success{padding:1.25rem 0 .75rem;text-align:center}.delete-case-success-icon{width:3rem;height:3rem;margin:0 auto 1rem;border-radius:50%;background:#e8f5e9;color:#2e7d32;font-size:1.5rem;font-weight:700;line-height:3rem}.delete-case-success-text{margin:0;font-size:1rem;font-weight:600;color:#2e7d32;line-height:1.45}#modal-delete-case-confirm .form-actions .delete-case-done-btn{width:100%;max-width:12rem;margin-left:auto;margin-right:auto}#modal-delete-case-confirm.delete-case-modal--success .form-actions{justify-content:center}@keyframes delete-case-progress-indeterminate{0%{transform:translate(-120%)}to{transform:translate(320%)}}#modal-delete-case-confirm.delete-case-modal--busy .patient-modal-overlay{pointer-events:none}#modal-delete-case-confirm.delete-case-modal--busy .patient-modal-close:disabled{opacity:.45;cursor:not-allowed}#modal-delete-case-confirm .form-actions .btn-danger:disabled{opacity:.65;cursor:not-allowed}#modal-delete-case-confirm .form-actions .btn-secondary{background-color:#f0f0f0;color:#333;padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}#modal-delete-case-confirm .form-actions .btn-secondary:hover{background-color:#e0e0e0}.btn-danger{background-color:#dc3545;color:#fff;padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-danger:hover{background-color:#c82333}.expand-btn{background:none;border:none;cursor:pointer;font-size:.8rem;color:#666;padding:.25rem .5rem;margin-right:.5rem;transition:transform .2s;vertical-align:middle}.expand-btn:hover:not(:disabled){color:#8052ec}.expand-btn:disabled{cursor:not-allowed;opacity:.5}.expand-btn.expanded{transform:rotate(0)}.patient-row{cursor:pointer}.patient-row:hover{background-color:#f9f9f9}.cases-row{background-color:#f8f9fa}.cases-row td{padding:0!important;border-top:none}.cases-container{padding:1rem 1.5rem;margin-left:2rem}.cases-header{margin-bottom:.75rem;color:#8052ec;font-size:.9rem;text-align:left}.cases-list{display:flex;flex-direction:column;gap:.75rem}.case-item{background:#fff;border:1px solid #e0e0e0;border-radius:6px;padding:.75rem 1rem;transition:box-shadow .2s}.next-action-box-inline{display:inline-flex;align-items:center}.next-action-button-inline{background:linear-gradient(135deg,#8052ec,#9d6ff5);color:#fff;border:none;padding:.4rem .8rem;border-radius:4px;cursor:pointer;font-size:.75rem;font-weight:600;transition:all .2s ease;white-space:nowrap;box-shadow:0 2px 4px #8052ec4d}.next-action-held{flex-direction:column;align-items:flex-start;gap:.15rem}.design-held-claim{margin:0;font-size:.75rem;line-height:1.35;color:#6b7280}.next-action-buttons-row{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}.next-action-button-engineering{background:linear-gradient(135deg,#7c4dff,#a57aff)!important}.next-action-button-engineering:hover{background:linear-gradient(135deg,#6639d6,#9366ff)!important}#combined-post-diagnocat-actions #btn-combined-send-engineering,#combined-post-diagnocat-actions #btn-combined-plan-case{height:38px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center}.case-action-buttons{display:flex;align-items:center;gap:.5rem;margin-left:auto}.btn-action-small{background-color:#007bff;color:#fff;border:none;padding:.4rem .8rem;border-radius:4px;cursor:pointer;font-size:.75rem;font-weight:500;transition:background-color .2s ease;white-space:nowrap}.btn-action-small:hover{background-color:#0056b3}.case-final-report-btn{background-color:#3a4048;font-size:.72rem;padding:.32rem .65rem}.case-final-report-btn:hover:not(:disabled){background-color:#2b2f36}.case-final-report-btn:disabled{opacity:.45;cursor:not-allowed;background-color:#9aa0a8}.case-status.planning_approved,.case-status.design_approved{background-color:#e8f5e9;color:#2e7d32}.case-info-row{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;font-size:.85rem;color:#666;flex-wrap:wrap}.case-date-label,.case-procedure-label{font-weight:500;color:#555}.case-date-value,.case-procedure-value{color:#333}.case-separator{color:#ccc;margin:0 .25rem}.case-procedure{color:#555;font-size:.85rem;line-height:1.4;padding-left:.5rem;border-left:2px solid #8052ec}.action-btn{margin-left:auto;padding:4px;background:#8052ec1a;border:1px solid rgba(128,82,236,.3);border-radius:6px;cursor:pointer;transition:all .2s ease}.action-btn:hover{background:#8052ec33;border-color:#8052ec80}.case-assignments{margin-top:8px;padding-top:8px;border-top:1px solid #e0e0e0;text-align:left}.case-info{display:flex;align-items:center;gap:8px;width:100%}.case-info-section{margin-bottom:.5rem;flex-shrink:0;border-bottom:none!important}.case-info-section:last-child{margin-bottom:0}.details-panel .case-name{font-size:1rem;font-weight:600;color:#8052ec;margin:0 0 .5rem;padding-bottom:0;border-bottom:none!important}.case-engineering-sent-info{margin:0;padding:0;font-size:.8rem;font-weight:600;color:#8052ec;line-height:1.35;white-space:nowrap}.details-panel .case-engineering-sent-info{display:block;margin:.15rem 0 .5rem;font-size:.85rem;white-space:normal}.case-multiunit-claim{margin:.5rem 0 0;padding:.65rem .75rem;background:#fff8e6;border:1px solid #f0d78c;border-radius:8px;font-size:.8rem;font-weight:500;color:#6b5420;line-height:1.4}.case-info .case-engineering-sent-info{flex:1 1 auto;min-width:0;white-space:normal}.case-actions-section{margin:1rem 0;padding:1rem 0;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;display:flex;flex-direction:column;gap:.75rem}.case-actions-section--first{margin-top:0;padding-top:0;border-top:none}.btn-final-report{background-color:#3a4048;color:#fff}.btn-final-report:hover:not(:disabled){background-color:#2b2f36}.btn-final-report:disabled{opacity:.45;cursor:not-allowed}.btn-case-action{padding:.75rem 1rem;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;width:100%}.btn-view-order{background-color:var(--brand-500);color:#fff}.btn-view-order:hover{background-color:var(--brand-700)}.btn-delete-case{background-color:#dc3545;color:#fff}.btn-delete-case:hover{background-color:#c82333}.btn-open-close-case{background-color:#5a6670;color:#fff}.btn-open-close-case:hover{background-color:#454d55;color:#fff}.close-case-modal-content .close-case-intro{margin:0 0 1rem;color:#555;font-size:.9rem;line-height:1.4}.close-case-modal-content .close-case-warning{font-size:.8rem;color:#666;margin-top:.5rem}.close-case-modal-content .close-case-field-hint{margin:0 0 .5rem;font-size:.85rem;color:#607d8b;line-height:1.35}.close-case-file-actions{margin-bottom:.5rem}.close-case-file-list{list-style:none;margin:.35rem 0 0;padding:0;max-height:200px;overflow-y:auto;border:1px solid #e8e8e8;border-radius:8px;background:#fafafa}.close-case-file-list:empty{display:none}.close-case-file-row{display:flex;align-items:center;gap:.5rem;padding:.4rem .55rem;border-bottom:1px solid #f0f0f0;font-size:.88rem}.close-case-file-row:last-child{border-bottom:none}.close-case-file-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.close-case-file-sub{display:block;font-size:.78rem;color:#78909c;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.close-case-file-badge{flex-shrink:0;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;padding:.15rem .4rem;border-radius:4px;background:#e8eaf6;color:#3949ab}.close-case-file-badge--zip{background:#fff3e0;color:#e65100}.close-case-file-badge--other{background:#eceff1;color:#546e7a}.close-case-file-size{flex-shrink:0;color:#78909c;font-size:.8rem}.close-case-file-remove{flex-shrink:0;padding:.2rem .5rem;font-size:.8rem;line-height:1.2}.close-case-file-summary{margin:.35rem 0 0}.case-timeline-section{margin-top:0;padding-top:0;border-top:none!important;flex:1;display:flex;flex-direction:column;min-height:0}.timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-shrink:0}.timeline-title{font-size:1.1rem;font-weight:600;color:#333;margin:0;border-top:none!important;border-bottom:none!important;padding-top:0!important}.next-action-box{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;padding:1rem;background:linear-gradient(135deg,#8052ec,#9d6ff5);border-radius:8px;box-shadow:0 2px 8px #8052ec4d;min-width:180px}.next-action-label{font-size:.75rem;color:#ffffffe6;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.next-action-button{background:#fff;color:#8052ec;border:none;padding:.75rem 1.25rem;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .2s ease;width:100%;text-align:center}.next-action-button:hover{background:#f5f5f5;transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.next-action-button:active{transform:translateY(0)}.next-action-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.timeline-container{display:flex;flex-direction:column;gap:0;position:relative;padding-left:3.5rem;flex:1;overflow-y:auto;min-height:0}.timeline-item{display:flex;flex-direction:column;align-items:flex-start;position:relative;margin-bottom:1rem;min-height:32px;flex-shrink:0}.timeline-item>.timeline-label{display:flex;align-items:center;width:100%}.timeline-label{font-size:.85rem;color:#666;margin-left:1rem;transition:all .3s ease;line-height:1.3}.dicom-actions-section{margin-top:.75rem;margin-left:3rem;display:flex;flex-direction:column;gap:.5rem;width:calc(100% - 3rem)}.dicom-action-btn{padding:.625rem .5rem;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:center}.dicom-cache-btn{background:#00897b;border-color:#00695c}.dicom-cache-btn:hover{background:#00695c}.dicom-reset-btn{background:#f16d4c;color:#fff}.dicom-reset-btn:hover{background:#e25c33}.dicom-reset-btn:active{background:#db4d34}.dicom-send-engineering-btn{background:#7c4dff;color:#fff}.dicom-send-engineering-btn:hover{background:#6639d6}.dicom-send-engineering-btn:active{background:#5530b0}.view-design-btn{background:#6dbdf3;color:#fff}.view-design-btn:hover{background:#4e90bd}.view-design-btn:active{background:#426f8d}.view-design-btn:disabled,.view-design-btn:disabled:hover{background:#c5cdd4;color:#fff;cursor:not-allowed}.icon-btn.action-btn:disabled{opacity:.4;cursor:not-allowed;filter:grayscale(1)}.edit-case-design-held{flex-direction:column;align-items:flex-start}.edit-case-design-held .edit-case-design-btn:disabled{opacity:.55;cursor:not-allowed}.action-buttons{display:flex;gap:8px;align-items:center}.btn-action{padding:6px 12px;background:#6c5ce7;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;transition:background .2s}.btn-action:hover{background:#5a4fcf}.btn-action:active{background:#4a3fb8}.welcome-dashboard{display:block}.dashboard-patients-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:.85rem 3rem;align-items:start;width:100%}.dashboard-patients-layout--table-mode{grid-template-columns:1fr}.dashboard-primary{min-width:0;max-width:100%;display:flex;flex-direction:column;align-items:stretch;gap:.4rem;box-sizing:border-box}.dashboard-primary .unified-patient-case-search{width:100%;min-width:0;max-width:100%;box-sizing:border-box;margin-bottom:0}#welcome-dashboard.welcome-dashboard{display:flex;flex-direction:column;gap:.35rem;min-width:0;flex:1 1 auto;width:100%;max-width:100%;align-items:stretch;grid-template-columns:none;padding:0;margin-bottom:0;background:transparent;border-radius:0}#dashboard-cases-block.dashboard-cases-block,.dashboard-cases-block{width:100%;min-width:0;max-width:100%;align-self:stretch;box-sizing:border-box}#dashboard-cases-list.dashboard-cases-list,.dashboard-cases-list{width:100%;min-width:0;max-width:100%;box-sizing:border-box;display:flex;flex-direction:column;align-items:stretch;gap:.45rem}.dashboard-cases-list .summary-item,#dashboard-cases-list .summary-item{width:100%;max-width:100%;min-width:0;box-sizing:border-box}#dashboard-cases-pagination.dashboard-cases-pagination,.dashboard-cases-pagination{width:100%;min-width:0;max-width:100%;box-sizing:border-box}@media (max-width: 1100px){.dashboard-patients-layout{grid-template-columns:1fr}}#process-status-cards .process-status-card.active{box-shadow:0 0 0 2px #6c5ce7,0 4px 12px #6c5ce72e;opacity:1}#process-status-cards .process-status-card--all{font-weight:600}#section-metrics .metrics-page{width:100%;max-width:none;margin:0;padding:18px 18px 28px}#section-metrics .metrics-page-header{margin-bottom:14px}#section-metrics .metrics-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.85fr);gap:16px;align-items:start}#section-metrics .metrics-left{display:grid;grid-auto-rows:min-content;gap:16px;min-width:0}#section-metrics .metrics-right{min-width:0}#section-metrics .metrics-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:14px}#metrics-summary-panel{margin-top:0}@media (max-width: 1100px){#section-metrics .metrics-layout{grid-template-columns:1fr}}#section-metrics .case-metrics,.metrics-page .case-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}@media (max-width: 1000px){#section-metrics .case-metrics,.metrics-page .case-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}#section-metrics .stat-box,.metrics-page .stat-box{display:flex;justify-content:space-between;align-items:center;border-radius:20px;padding:22px 24px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;position:relative;overflow:hidden;color:#fff;box-shadow:0 8px 24px #0000001f}#section-metrics .stat-box .stat-info,.metrics-page .stat-box .stat-info{display:flex;flex-direction:column;gap:4px;position:relative;z-index:1}#section-metrics .stat-box .stat-info .value,.metrics-page .stat-box .stat-info .value{font-size:38px;font-weight:800;letter-spacing:-2px;line-height:1}#section-metrics .stat-box .stat-info .label,.metrics-page .stat-box .stat-info .label{font-size:14px;font-weight:500;color:#ffffffe6;margin-top:4px}#section-metrics .stat-box.surgery-soon,.metrics-page .stat-box.surgery-soon{background:linear-gradient(135deg,var(--metric-upcoming-from),var(--metric-upcoming-to))}#section-metrics .stat-box.no-date,.metrics-page .stat-box.no-date{background:linear-gradient(135deg,var(--metric-nodate-from),var(--metric-nodate-to))}#section-metrics .stat-box.in-process,.metrics-page .stat-box.in-process{background:linear-gradient(135deg,var(--metric-inprocess-from),var(--metric-inprocess-to))}#section-metrics .stat-box.this-month,.metrics-page .stat-box.this-month{background:linear-gradient(135deg,var(--metric-cases-from),var(--metric-cases-to))}#section-metrics .stat-box .trend-indicator,.metrics-page .stat-box .trend-indicator{display:inline-flex;align-items:center;gap:4px;margin-top:12px;font-size:12px;background:#ffffff38;padding:4px 10px;border-radius:20px;width:fit-content;flex-wrap:nowrap}#section-metrics .stat-box .stat-info .sub-label,.metrics-page .stat-box .stat-info .sub-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#ffffffe6;margin-top:12px}#modal-onboarding.onboarding-step-guide-active .onboarding-dots{display:none}#modal-onboarding.onboarding-step-guide-active .patient-modal-content{max-width:min(920px,96vw)!important}#modal-onboarding.onboarding-step-guide-active .patient-modal-form{padding-bottom:1.25rem}#modal-onboarding.onboarding-step-guide-active .onboarding-steps-labels{margin-bottom:4px}#modal-onboarding.onboarding-step-guide-active .professional-onboarding-guide-host{margin:0 -2rem -1.25rem;width:calc(100% + 4rem)}#modal-onboarding.onboarding-step-guide-active{--ob-guide-carousel-height: 210px}#modal-onboarding.onboarding-guide-maximized{align-items:stretch}#modal-onboarding.onboarding-step-guide-active.onboarding-guide-maximized .patient-modal-content{width:100vw!important;max-width:100vw!important;height:100vh;max-height:100vh;border-radius:0}#modal-onboarding.onboarding-guide-maximized .onboarding-steps-labels{display:none}#modal-onboarding.onboarding-guide-maximized .patient-modal-form{flex:1;min-height:0}#modal-onboarding.onboarding-guide-maximized .tab-content[data-content=step-3]{display:flex!important;flex-direction:column;flex:1;min-height:0}#modal-onboarding.onboarding-guide-maximized .professional-onboarding-guide-host,#modal-onboarding.onboarding-guide-maximized .ob-guide-outer,#modal-onboarding.onboarding-guide-maximized .ob-guide-card{flex:1;display:flex;flex-direction:column;min-height:0}#modal-onboarding.onboarding-guide-maximized .ob-guide-carousel-wrap{flex:1;min-height:0;display:flex;flex-direction:column}#modal-onboarding.onboarding-guide-maximized .ob-guide-carousel{flex:1;height:auto;min-height:280px}#modal-onboarding.onboarding-guide-maximized .ob-guide-slide{height:100%}#modal-onboarding.onboarding-guide-maximized .ob-guide-text,#modal-onboarding.onboarding-guide-maximized .ob-guide-footer,#modal-onboarding.onboarding-guide-maximized .ob-guide-header,#modal-onboarding.onboarding-guide-maximized .ob-guide-progress-track{flex-shrink:0}.professional-onboarding-guide-host{width:100%}.ob-guide-outer{background:transparent;padding:0;min-height:0;display:block}.ob-guide-card{background:transparent;border:none;border-radius:0;box-shadow:none;width:100%;max-width:none;overflow:hidden}.ob-guide-progress-track{height:3px;background:#e8eaed}.ob-guide-progress-bar{height:100%;background:#5267e0;transition:width .3s ease;width:25%}.ob-guide-header{padding:.65rem .75rem 0;display:flex;justify-content:space-between;align-items:center}.ob-guide-header-actions{display:flex;align-items:center;gap:12px}.ob-guide-maximize{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid #cfd8dc;border-radius:6px;background:#fff;color:#546e7a;cursor:pointer}.ob-guide-maximize:hover{color:#263238;border-color:#90a4ae;background:#f5f7fa}.ob-guide-counter{font-size:12px;color:#78909c;text-transform:uppercase;letter-spacing:.06em;font-weight:500}.ob-guide-skip{font-size:12px;color:#78909c;border:none;background:none;cursor:pointer;padding:0}.ob-guide-skip:hover{color:#455a64}.ob-guide-carousel-wrap{margin:.75rem .75rem 0}.ob-guide-carousel{border-radius:8px;background:#f8f9fa;border:1px solid #eceff1;height:var(--ob-guide-carousel-height, 210px);overflow:hidden;position:relative;cursor:zoom-in}.ob-guide-carousel-inner{display:flex;width:100%;height:100%;transition:transform .3s ease}.ob-guide-slide{min-width:100%;height:var(--ob-guide-carousel-height, 210px);display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#f8f9fa;padding:4px;box-sizing:border-box}.ob-guide-slide-img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;display:block;border-radius:4px}.ob-guide-slide-img--zoomable{cursor:zoom-in;transition:opacity .15s ease}.ob-guide-slide-img--zoomable:hover{opacity:.92}.ob-guide-zoom-hint{text-align:center;font-size:11px;color:#90a4ae;margin:2px 0 0}.ob-guide-slide-placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;color:#90a4ae;font-size:11px}.ob-guide-placeholder-icon{font-size:32px;line-height:1}.ob-guide-car-arrow{position:absolute;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;border:1px solid #cfd8dc;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1;color:#455a64;z-index:2;padding:0}.ob-guide-car-arrow:disabled{opacity:.25;cursor:default}.ob-guide-car-arrow--prev{left:8px}.ob-guide-car-arrow--next{right:8px}.ob-guide-car-dots{display:flex;justify-content:center;gap:5px;margin-top:8px;min-height:8px}.ob-guide-car-dot{width:6px;height:6px;border-radius:50%;background:#cfd8dc;transition:background .2s}.ob-guide-car-dot--active{background:#5267e0}.ob-guide-car-caption{text-align:center;font-size:11px;color:#78909c;margin:4px 0 0;min-height:15px}.ob-guide-text{padding:.75rem .75rem 0}.ob-guide-step-title{margin:0 0 5px;font-size:16px;font-weight:600;color:#263238;line-height:1.3}.ob-guide-step-desc{margin:0;font-size:13px;color:#546e7a;line-height:1.6}.ob-guide-footer{padding:.85rem .75rem .25rem;display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:.25rem}.ob-guide-step-dots{display:flex;gap:6px;align-items:center}.ob-guide-step-dot{height:6px;width:6px;border-radius:3px;background:#cfd8dc;transition:all .2s}.ob-guide-step-dot--active{width:16px;background:#5267e0}.ob-guide-btn-prev,.ob-guide-btn-next{font-size:13px;padding:7px 16px;white-space:nowrap}.ob-guide-btn-next:not(.ob-guide-btn-next--finish){background:#eeedfe;border-color:#afa9ec;color:#3c3489}.ob-guide-btn-next--finish{background:#e1f5ee;border-color:#5dcaa5;color:#085041}.ob-guide-zoom-lightbox{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:20000;align-items:center;justify-content:center;padding:1.5rem;box-sizing:border-box}.ob-guide-zoom-lightbox.is-open{display:flex}.ob-guide-zoom-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172ae0;cursor:zoom-out}.ob-guide-zoom-dialog{position:relative;z-index:1;max-width:min(1200px,96vw);max-height:92vh;display:flex;flex-direction:column;align-items:center;gap:.65rem;pointer-events:none}.ob-guide-zoom-img{max-width:min(1200px,96vw);max-height:calc(92vh - 2.5rem);width:auto;height:auto;object-fit:contain;border-radius:6px;box-shadow:0 12px 40px #00000073;pointer-events:auto;cursor:zoom-out}.ob-guide-zoom-caption{margin:0;font-size:13px;color:#ffffffe6;text-align:center;max-width:90vw;pointer-events:none}.ob-guide-zoom-close{position:absolute;top:1rem;right:1rem;z-index:2;width:40px;height:40px;border:none;border-radius:50%;background:#ffffff26;color:#fff;font-size:26px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease}.ob-guide-zoom-close:hover{background:#ffffff47}body.ob-guide-zoom-open{overflow:hidden}.documentation-section{padding:0 0 1rem;flex-direction:column;min-height:0}.documentation-section.section-content--active{display:flex!important;flex:1 1 0;min-height:0;overflow:hidden}.content.content--documentation{overflow:hidden!important}.documentation-section--viewer-open{padding-bottom:0}.documentation-page-header{margin-bottom:1.25rem;flex-shrink:0}.documentation-section--viewer-open .documentation-page-header{margin-bottom:.5rem}.documentation-page-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0 0 .25rem}.documentation-page-sub{font-size:.85rem;color:var(--text-muted);margin:0}.docs-loading,.docs-error{font-size:.9rem;color:var(--text-secondary);margin:0 0 1rem}.docs-error{color:#c0392b}.docs-layout{display:grid;grid-template-columns:minmax(200px,220px) 1fr;gap:1rem;align-items:start;flex:1 1 auto;min-height:0}.documentation-section--viewer-open .docs-layout{align-items:stretch;min-height:0;flex:1 1 0}@media (max-width: 900px){.docs-layout{grid-template-columns:1fr}}.docs-cat-sidebar{background:var(--bg-card);border-radius:10px;border:.5px solid var(--border);padding:.9rem .65rem}.docs-cat-label{display:block;font-size:.65rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;font-weight:600;padding:0 .5rem;margin-bottom:.5rem}.docs-cat-item{display:flex;align-items:center;gap:.55rem;width:100%;padding:.55rem .5rem;margin-bottom:.15rem;border:none;border-radius:7px;background:transparent;cursor:pointer;text-align:left;transition:background .12s ease}.docs-cat-item:hover{background:var(--brand-50)}.docs-cat-item.active{background:var(--brand-100)}.docs-cat-icon{width:1.1rem;height:1.1rem;flex-shrink:0;border-radius:4px;background:var(--brand-300);opacity:.55}.docs-cat-item.active .docs-cat-icon{background:var(--brand-500);opacity:1}.docs-cat-name{flex:1;font-size:.82rem;color:var(--text-secondary);line-height:1.3}.docs-cat-item.active .docs-cat-name{color:var(--brand-900);font-weight:600}.docs-cat-badge{font-size:.62rem;font-weight:600;padding:.1rem .45rem;border-radius:10px;flex-shrink:0}.docs-cat-badge.active{background:var(--brand-700);color:#fff}.docs-cat-badge.inactive{background:var(--brand-50);color:var(--text-muted);border:.5px solid var(--border)}.docs-panel{background:var(--bg-card);border-radius:10px;border:.5px solid var(--border);padding:1.1rem;min-height:320px}.documentation-section--viewer-open .docs-panel{display:flex;flex-direction:column;min-height:0;flex:1 1 0;padding:.75rem 1rem 1rem}.documentation-section--viewer-open .docs-panel-header{display:none}.docs-panel-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.docs-panel-heading{display:flex;align-items:center;gap:.5rem;min-width:0}.docs-panel-icon{width:1.15rem;height:1.15rem;border-radius:4px;background:var(--brand-300);flex-shrink:0;opacity:.85}.documentation-section .docs-panel-heading .docs-panel-icon{background:var(--brand-500);opacity:1}.docs-panel-title{font-size:.95rem;font-weight:700;color:var(--text-primary)}.docs-panel-count{font-size:.75rem;color:var(--text-muted);white-space:nowrap}.docs-doc-list{display:flex;flex-direction:column;gap:.5rem;overflow-y:auto;max-height:calc(100vh - 220px)}.docs-doc-row{display:flex;align-items:center;gap:.75rem;padding:.7rem .85rem;border-radius:8px;border:.5px solid var(--border);background:#fdfcfa;transition:border-color .12s ease,background .12s ease}.docs-doc-row:hover{border-color:var(--brand-300);background:var(--brand-50)}.docs-pdf-icon{flex-shrink:0;font-size:.65rem;font-weight:800;color:#e24b4a;letter-spacing:.02em}.docs-doc-info{flex:1;min-width:0}.docs-doc-name{font-size:.82rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.docs-doc-meta{font-size:.68rem;color:var(--text-muted);margin-top:.15rem}.docs-btn-view{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;padding:.35rem .75rem;border-radius:6px;border:.5px solid var(--brand-300);background:var(--brand-100);color:var(--brand-900);cursor:pointer;font-weight:500;white-space:nowrap}.docs-btn-view:hover{background:var(--brand-300)}.docs-btn-download{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:6px;border:.5px solid var(--border);background:#fff;cursor:pointer;flex-shrink:0}.docs-btn-download:hover{background:var(--brand-50)}.docs-empty{padding:2.5rem 1rem;text-align:center;color:var(--text-muted);font-size:.85rem}.docs-empty-icon{display:block;width:56px;height:56px;margin:0 auto .75rem;object-fit:contain;opacity:.85}.docs-viewer{display:none;flex-direction:column;gap:.5rem;min-height:0}.docs-viewer.open{display:flex;flex:1 1 0;min-height:0}.docs-viewer-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;flex-shrink:0}.docs-viewer-bar-left{display:flex;align-items:center;gap:.65rem;min-width:0}.docs-btn-back{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;padding:.35rem .7rem;border-radius:6px;border:.5px solid var(--border);background:#fff;color:var(--text-secondary);cursor:pointer}.docs-btn-back:hover{background:var(--brand-50)}.docs-btn-back-icon{transform:rotate(180deg)}.docs-viewer-doc-name{font-size:.82rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.docs-btn-dl-viewer{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;padding:.35rem .75rem;border-radius:6px;border:.5px solid var(--brand-300);background:var(--brand-100);color:var(--brand-900);cursor:pointer;font-weight:500}.docs-btn-dl-viewer:hover{background:var(--brand-300)}.docs-viewer-loading{font-size:.8rem;color:var(--text-muted);margin:0;flex-shrink:0}.docs-viewer-iframe{width:100%;height:min(62vh,480px);border:.5px solid var(--border);border-radius:8px;background:#f4f3ef}.documentation-section--viewer-open .docs-viewer-iframe{flex:1 1 0;min-height:0;height:auto;max-height:none}.docs-examples-grid{display:flex;flex-direction:column;gap:.5rem}.docs-example-card{display:flex;align-items:center;width:100%;padding:.75rem .9rem;border-radius:8px;border:.5px solid var(--border);background:#fdfcfa;cursor:pointer;text-align:left;transition:border-color .12s ease,background .12s ease}.docs-example-card:hover:not(.is-disabled),.docs-example-card:focus-visible:not(.is-disabled){border-color:var(--brand-300);background:var(--brand-50);outline:none}.docs-example-card.is-disabled{opacity:.55;cursor:not-allowed;background:#f7f6f3}.docs-example-card-title{font-size:.85rem;font-weight:500;color:var(--text-primary);line-height:1.35}.docs-examples-hint{margin:.75rem 0 0;font-size:.75rem;color:var(--text-muted);line-height:1.4}.surgical-example-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12000;display:none;align-items:center;justify-content:center;padding:1rem}.surgical-example-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#14121c8c}.surgical-example-dialog{position:relative;z-index:1;display:flex;flex-direction:column;width:min(960px,100%);max-height:min(94vh,960px);height:min(94vh,960px);background:#1a1c1e;color:#f3f1ec;border-radius:12px;border:.5px solid rgba(255,255,255,.08);overflow:hidden;box-shadow:0 18px 48px #00000059}.surgical-example-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.9rem 1rem .75rem;border-bottom:.5px solid rgba(255,255,255,.08);flex-shrink:0}.surgical-example-title{margin:0;font-size:1rem;font-weight:650;color:#f8f6f1}.surgical-example-step-label{margin:.2rem 0 0;font-size:.75rem;color:#f3f1eca6}.surgical-example-close{width:2rem;height:2rem;border:none;border-radius:6px;background:#ffffff14;color:#f3f1ec;font-size:1.25rem;line-height:1;cursor:pointer;flex-shrink:0}.surgical-example-close:hover{background:#ffffff24}.surgical-example-viewport{position:relative;flex:1 1 auto;min-height:420px;background:#121314}.surgical-example-canvas-host{width:100%;height:100%;min-height:420px}.surgical-example-canvas-host canvas{display:block;width:100%!important;height:100%!important}.surgical-example-status{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;margin:0;padding:1rem;background:#121314b8;color:#f3f1ece6;font-size:.85rem;text-align:center;pointer-events:none}.surgical-example-guide-toggles{position:absolute;left:.75rem;bottom:.75rem;z-index:2;display:flex;flex-wrap:wrap;gap:.4rem;max-width:calc(100% - 1.5rem)}.surgical-example-guide-toggles[hidden]{display:none!important}.surgical-example-guide-toggle{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .55rem;border-radius:6px;border:.5px solid rgba(255,255,255,.14);background:#121314d1;color:#f3f1eceb;font-size:.72rem;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.surgical-example-guide-toggle:hover{background:#1e2022e6}.surgical-example-guide-toggle input{margin:0;accent-color:var(--brand-500);cursor:pointer}.surgical-example-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border-top:.5px solid rgba(255,255,255,.08);flex-shrink:0}.surgical-example-dots{display:flex;align-items:center;gap:.4rem}.surgical-example-dot{width:.55rem;height:.55rem;padding:0;border:none;border-radius:50%;background:#ffffff40;cursor:pointer}.surgical-example-dot.active{background:var(--brand-300);transform:scale(1.15)}.surgical-example-nav{display:flex;align-items:center;gap:.4rem}.surgical-example-btn{min-width:2.25rem;height:2rem;padding:0 .7rem;border-radius:6px;border:.5px solid rgba(255,255,255,.14);background:#ffffff0f;color:#f3f1ec;cursor:pointer;font-size:.85rem}.surgical-example-btn:disabled{opacity:.35;cursor:not-allowed}.surgical-example-btn--primary{background:var(--brand-700);border-color:transparent}.surgical-example-btn--primary:hover:not(:disabled){background:var(--brand-500)}@media (max-width: 640px){.surgical-example-dialog{max-height:96vh;height:96vh}.surgical-example-viewport,.surgical-example-canvas-host{min-height:280px}.surgical-example-guide-toggles{left:.5rem;bottom:.5rem}}.training-section{display:flex;flex-direction:column;min-height:0}.training-section.section-content--active{display:flex}.training-page-header{margin-bottom:1.25rem}.training-page-title{font-size:1.35rem;font-weight:700;color:var(--text-primary);margin:0 0 .35rem}.training-page-sub,.training-loading,.training-error{font-size:.85rem;color:var(--text-muted);margin:0}.training-error{color:#c0392b}.training-layout{display:flex;flex-direction:column;gap:1rem;min-height:0}.training-fallback-notice{margin:0;padding:.65rem .85rem;border-radius:8px;border:.5px solid var(--brand-300);background:var(--brand-50);color:var(--brand-900);font-size:.8rem}.training-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem;align-content:start}.training-card{display:flex;flex-direction:column;gap:.65rem;padding:0;border:none;background:transparent;cursor:pointer;text-align:left}.training-card-poster{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:10px;overflow:hidden;border:.5px solid var(--border);background:#eceae4}.training-card-poster-img{width:100%;height:100%;object-fit:cover;display:block}.training-card-poster-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,var(--brand-100),#eceae4)}.training-card-play{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#14120e2e;opacity:0;transition:opacity .15s ease}.training-card:hover .training-card-play,.training-card:focus-visible .training-card-play{opacity:1}.training-card-title{font-size:.82rem;font-weight:600;color:var(--text-primary);line-height:1.35}.training-empty{grid-column:1 / -1;padding:2.5rem 1rem;text-align:center;color:var(--text-muted);font-size:.85rem}.training-empty-icon{display:block;width:56px;height:56px;margin:0 auto .75rem;object-fit:contain;opacity:.85}.training-player{display:none;flex-direction:column;gap:.85rem}.training-player.open{display:flex}.training-section--player-open .training-fallback-notice{display:none!important}.training-player-bar{display:flex;align-items:center;gap:.75rem}.training-btn-back{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;padding:.35rem .7rem;border-radius:6px;border:.5px solid var(--border);background:#fff;color:var(--text-primary);cursor:pointer}.training-btn-back:hover{background:var(--brand-50)}.training-btn-back-icon{transform:rotate(180deg)}.training-player-title{font-size:.9rem;font-weight:600;color:var(--text-primary)}.training-player-video{width:100%;max-height:min(70vh,560px);border-radius:10px;border:.5px solid var(--border);background:#000}.professional-page .professional-workspace{display:grid;grid-template-columns:minmax(0,1fr) 0;grid-template-rows:minmax(0,1fr);height:100%;min-width:0;overflow:hidden;transition:grid-template-columns .3s ease-in-out}.professional-page .professional-workspace.case-panel-open,.professional-page .professional-workspace:has(#case-details-panel.open){grid-template-columns:minmax(0,1fr) min(450px,38vw)}.professional-page .professional-workspace>.content{grid-column:1;grid-row:1;width:100%;min-width:0}.professional-page #case-details-panel.details-panel{display:none;grid-column:2;grid-row:1;position:fixed;top:var(--app-topbar-offset, 72px);right:0;bottom:0;left:auto;width:min(450px,38vw);max-width:450px;height:calc(100vh - var(--app-topbar-offset, 72px));padding:20px;box-sizing:border-box;overflow:hidden;z-index:20;box-shadow:none;transition:none}.professional-page #case-details-panel.details-panel.open{display:flex;flex-direction:column;border-left:1px solid #e6e6e6;box-shadow:-2px 0 6px #0000000f}.professional-page #case-details-panel .details{flex:1 1 auto;min-height:0;overflow-y:auto}@media (max-width: 920px){.professional-page .professional-workspace.case-panel-open,.professional-page .professional-workspace:has(#case-details-panel.open){grid-template-columns:minmax(0,1fr) min(360px,44vw)}.professional-page #case-details-panel.details-panel{width:min(360px,44vw)}}.engineering-page,.professional-page,.manufacturing-page{--app-topbar-offset: 72px}.app-topbar{height:72px;width:100%;box-sizing:border-box;margin:0;background:#fff;border:none;border-bottom:1px solid #e4e5ee;border-radius:0;display:flex;align-items:center;gap:16px;padding:0 20px;font-family:Poppins,system-ui,sans-serif;color:#1c1b2e;flex-shrink:0;position:relative;z-index:30}.app-topbar-brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.app-topbar-brand img{width:34px;height:34px;object-fit:contain;display:block}.app-topbar-brand-text{display:flex;flex-direction:column;line-height:1}.app-topbar-name{font-size:21px;font-weight:600;color:#2e2a6e}.app-topbar-product{font-size:11px;font-weight:500;color:#5b5fc7;margin-top:3px}.app-topbar-divider{width:1px;height:32px;background:#e4e5ee;flex-shrink:0}.app-topbar-actions .app-topbar-divider{margin:0 4px}.app-topbar-space{display:flex;align-items:center;gap:10px;height:48px;padding:0 16px 0 6px;border:1px solid transparent;border-radius:10px;flex-shrink:0}.app-topbar-space-icon{width:36px;height:36px;border-radius:8px;color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.app-topbar-space-text{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15}.app-topbar-space-kicker{font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.app-topbar-space-name{font-size:15px;font-weight:600}.app-topbar-space--engineering{border-color:#d5ecc6;background:#f1f9ea}.app-topbar-space--engineering .app-topbar-space-icon{background:#3f8f1f}.app-topbar-space--engineering .app-topbar-space-kicker{color:#5a6b52}.app-topbar-space--engineering .app-topbar-space-name{color:#2a5e14}.app-topbar-space--professional{border-color:#cfddfb;background:#eef3ff}.app-topbar-space--professional .app-topbar-space-icon{background:#2457d6}.app-topbar-space--professional .app-topbar-space-kicker{color:#4f5d7a}.app-topbar-space--professional .app-topbar-space-name{color:#1a44ae}.app-topbar-space--manufacturing{border-color:#f0d9b8;background:#fff6ec}.app-topbar-space--manufacturing .app-topbar-space-icon{background:#c56a12}.app-topbar-space--manufacturing .app-topbar-space-kicker{color:#7a6248}.app-topbar-space--manufacturing .app-topbar-space-name{color:#8a4510}.app-topbar-spacer{flex-grow:1}.app-topbar-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.app-topbar-lang{display:flex;align-items:center;gap:6px;height:44px;padding:0 12px;border:1px solid #e4e5ee;background:#fff;border-radius:10px;color:#3b3a52;cursor:pointer}.app-topbar-lang svg{flex-shrink:0}.app-topbar-lang .lang-selector{height:auto;border:none;background:transparent;color:#3b3a52;font-family:inherit;font-size:14px;font-weight:500;padding:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.app-topbar-icon-btn{width:44px;height:44px;border:1px solid #e4e5ee;background:#fff;border-radius:10px;color:#3b3a52;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.app-topbar-icon-btn:hover:not(:disabled),.app-topbar-lang:hover{background:#f7f8fc}.app-topbar-icon-btn:disabled{opacity:.65;cursor:not-allowed}.app-topbar-icon-btn.is-busy svg{animation:app-topbar-spin .8s linear infinite}@keyframes app-topbar-spin{to{transform:rotate(360deg)}}.app-topbar-user{position:relative}.app-topbar-user-btn{display:flex;align-items:center;gap:10px;height:48px;padding:0 10px 0 4px;border:none;background:transparent;border-radius:10px;cursor:pointer;text-align:left;font-family:inherit;color:inherit}.app-topbar-user-btn:hover{background:#f7f8fc}.app-topbar-avatar{width:38px;height:38px;border-radius:50%;background:#ede8ff;color:#4a2fc9;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.app-topbar-user-text{display:flex;flex-direction:column;line-height:1.2;min-width:0}.app-topbar-user-name{font-size:14px;font-weight:600;color:#1c1b2e;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-topbar-user-code{font-size:12px;font-weight:400;color:#5f6075}.app-topbar-user-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:180px;background:#fff;border:1px solid #e4e5ee;border-radius:10px;box-shadow:0 8px 24px #1c1b2e14;padding:6px;z-index:40}.app-topbar-user-menu .logout-btn{width:100%;height:40px;border:none;background:transparent;border-radius:8px;padding:0 12px;font-family:inherit;font-size:14px;font-weight:500;color:#1c1b2e;text-align:left;cursor:pointer}.app-topbar-user-menu .logout-btn:hover{background:#f3f4f8}@media (max-width: 980px){.app-topbar{gap:10px;padding:0 12px}.app-topbar-user-text,.app-topbar-product{display:none}}:root{--brand-900: #5230a0}.combined-dicom-source-chooser{display:none;position:absolute;left:0;top:calc(100% + 6px);z-index:20;flex-direction:column;gap:6px;min-width:180px;padding:8px;border:1px solid #e0e0e0;border-radius:8px;background:#fff;box-shadow:0 6px 18px #0000001f}.combined-dicom-source-chooser.is-open{display:flex}.combined-dicom-source-chooser .btn-secondary{width:100%;justify-content:flex-start}.patient-modal-close.is-hidden-during-upload{display:none!important}.patient-modal-content .btn-primary,.patient-modal-content .btn-secondary,.patient-modal-content .btn-danger{padding:.65rem 1rem;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer}.patient-modal-content .btn-primary{background:#5267e0;color:#fff}.patient-modal-content .btn-secondary{background:#eceff1;color:#37474f}.patient-modal-content .btn-danger{background:#dc3545;color:#fff}.delete-case-confirm-content{padding-top:1.5rem}.delete-warning{font-size:1.1rem;color:#dc3545;margin-bottom:1rem;font-weight:600}.delete-case-progress-track{height:8px;background:#eceff1;border-radius:999px;overflow:hidden}.delete-case-progress-bar-fill{height:100%;width:42%;border-radius:999px;background:linear-gradient(90deg,#5267e0,#7c8ff0);animation:delete-case-progress-indeterminate 1.35s ease-in-out infinite}@keyframes delete-case-progress-indeterminate{0%{transform:translate(-100%)}to{transform:translate(250%)}}.sidebar-background-processes-list{display:none;flex-direction:column;gap:14px;margin-top:auto;align-self:center;width:100%;max-height:min(40vh,280px);overflow-y:auto;overflow-x:hidden;padding:10px 0 4px;scrollbar-width:thin}.sidebar-background-processes-list::-webkit-scrollbar{width:4px}.sidebar-background-processes-list::-webkit-scrollbar-thumb{background:#ffffff59;border-radius:4px}.sidebar-background-processes{display:flex;position:relative;margin-top:0;align-self:center;width:50px;min-height:50px;height:auto;padding:14px 2px 6px;border:2px solid rgba(255,255,255,.85);border-radius:8px;background:#fff;box-shadow:0 2px 10px #00000047;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;flex-shrink:0;transition:background .15s,box-shadow .15s,border-color .15s}.sidebar-bg-process-bubble{position:absolute;top:-6px;left:50%;transform:translate(-50%);z-index:2;min-width:22px;max-width:36px;padding:2px 5px;border:2px solid rgba(255,255,255,.95);border-radius:10px;background:#fff;box-shadow:0 2px 8px #00000038;color:var(--brand-900);font-size:9px;font-weight:800;line-height:1.15;letter-spacing:.02em;text-align:center;text-transform:uppercase;white-space:nowrap;overflow:hidden;pointer-events:none}.sidebar-bg-process-bubble:after{content:"";position:absolute;left:50%;bottom:-5px;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #ffffff;filter:drop-shadow(0 1px 0 rgba(0,0,0,.08))}.sidebar-background-processes:hover{background:#f3eeff;box-shadow:0 3px 14px #00000057}.sidebar-background-processes--running{background:#fff;border-color:#fffffff2}.sidebar-background-processes--done{background:#e8f5e9;border-color:#43a047;box-shadow:0 0 0 2px #43a04773,0 2px 10px #00000047}.sidebar-background-processes--done:hover{background:#c8e6c9}.sidebar-background-processes--error{background:#ffebee;border-color:#e53935;box-shadow:0 0 0 2px #e5393566,0 2px 10px #00000047}.sidebar-background-processes--error:hover{background:#ffcdd2}.sidebar-background-processes--error .sidebar-bg-process-icon{border:none;background:#c62828;position:relative;animation:sidebar-bg-pulse-done 1s ease-in-out infinite}.sidebar-background-processes--error .sidebar-bg-process-icon:after{content:"!";position:absolute;left:50%;top:50%;transform:translate(-50%,-52%);color:#fff;font-size:16px;font-weight:800;line-height:1}.sidebar-bg-process-icon{display:block;width:26px;height:26px;border:3px solid rgba(82,48,160,.22);border-top-color:var(--brand-900);border-radius:50%;box-sizing:border-box}.sidebar-background-processes--running .sidebar-bg-process-icon{border-color:#5230a047;border-top-color:var(--brand-900);animation:sidebar-bg-spin .9s linear infinite}.sidebar-background-processes--done .sidebar-bg-process-icon{border:none;background:#2e7d32;position:relative;animation:sidebar-bg-pulse-done 1s ease-in-out infinite}.sidebar-background-processes--done .sidebar-bg-process-icon:after{content:"";position:absolute;left:50%;top:46%;width:7px;height:12px;border:solid #fff;border-width:0 3px 3px 0;transform:translate(-50%,-50%) rotate(45deg)}@keyframes sidebar-bg-spin{to{transform:rotate(360deg)}}@keyframes sidebar-bg-pulse-done{0%,to{transform:scale(1);box-shadow:0 0 #2e7d328c}50%{transform:scale(1.06);box-shadow:0 0 0 7px #2e7d3200}}.combined-modal-background-hint{border:1px solid #b2dfdb;border-radius:8px;padding:10px 12px;background:#e0f2f1;margin-bottom:4px}.combined-modal-background-hint__title{margin:0 0 4px;font-weight:600;font-size:13px;color:#00695c}.combined-modal-background-hint__body{margin:0;font-size:12px;line-height:1.45;color:#004d40}@keyframes combinedIndeterminate{0%{transform:translate(-70%)}50%{transform:translate(10%)}to{transform:translate(120%)}}.combined-diag-bar.is-indeterminate{width:35%!important;animation:combinedIndeterminate 1.2s ease-in-out infinite}.combined-skip-vsp{display:flex;flex-direction:column;gap:8px;margin-top:4px;padding:12px;border:1px solid #ffe0b2;border-radius:8px;background:#fff8e1}.combined-skip-vsp[hidden]{display:none}.combined-skip-vsp-warning{margin:0;font-size:13px;line-height:1.45;color:#e65100}.combined-skip-vsp-label{font-size:13px;font-weight:600;color:#37474f}.combined-skip-vsp-code{display:flex;align-items:center;flex-wrap:nowrap;gap:0;overflow-x:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;font-weight:600;color:#37474f}.combined-skip-vsp-code-part{white-space:nowrap;letter-spacing:.02em;padding:8px 2px}.combined-skip-vsp-code-sep{color:#90a4ae;padding:0 1px;-webkit-user-select:none;user-select:none}.combined-skip-vsp-input{width:9em;min-width:6em;max-width:14em;flex:0 1 auto;padding:8px 10px;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;font-family:inherit;font-weight:600;text-align:center}.combined-skip-vsp .btn-secondary{align-self:flex-start}.approvals-block,.dv-approvals-block,.viewer-planning-approvals-block{padding:12px 16px;border-bottom:1px solid #e6e6e6}.approvals-block h2,.dv-approvals-block h2,.viewer-planning-approvals-block h2{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted, #aea8c8);font-weight:700;margin:0 0 8px}.approvals,.case-approvals-block{background:var(--bg-app, #faf8fd);border-radius:8px;padding:12px 14px;font-size:12.5px;line-height:1.7;border:none;margin:0}.approvals b,.case-approvals-block b{display:block;font-size:12px;color:var(--text-primary, #2d2050);margin-top:8px}.approvals b:first-child,.case-approvals-block b:first-child{margin-top:0}.approvals .muted,.case-approvals-block .muted{display:block;color:var(--text-secondary, #5e5888);font-weight:400}.approvals .is-ineligible,.case-approvals-block .is-ineligible{text-decoration:line-through;opacity:.7}.approvals .status-pill,.case-approvals-block .status-pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;padding:2px 8px;border-radius:100px;margin-left:4px}.approvals .status-pill.pending,.case-approvals-block .status-pill.pending{background:#fbf1e1;color:#c47a12}.approvals .status-pill.ok,.case-approvals-block .status-pill.ok{background:#e8f6ee;color:#2fa86a}.approvals-remove-btn{margin-left:6px;padding:2px 6px;font-size:11px}.dashboard-sponsor-banner{--dsb-surface: #fff;--dsb-border-soft: #f0ece6;--dsb-border: #ece8e1;--dsb-radius-lg: 18px;--dsb-shadow-xs: 0 1px 3px rgba(26, 22, 18, .06);--dsb-dot-active: var(--color-primary, #e8673a);--dsb-count: 3;display:block;width:100%;min-width:0;font-family:inherit;margin-top:.15rem}.dashboard-sponsor-banner .sponsor-banner-card{border-radius:var(--dsb-radius-lg);border:1px solid var(--dsb-border-soft);overflow:hidden;flex-shrink:0;box-shadow:var(--dsb-shadow-xs);position:relative;background:var(--dsb-surface)}.dashboard-sponsor-banner .banner-slide.is-light .banner-brand-name,.dashboard-sponsor-banner .banner-slide.is-light .banner-headline{color:#372b52}.dashboard-sponsor-banner .banner-slide.is-light .banner-brand-sub{color:#372b52a6}.dashboard-sponsor-banner .banner-slide.is-light .banner-cta{background:#372b5214;border-color:#372b5238;color:#372b52}.dashboard-sponsor-banner .banner-slide.is-light .banner-cta:hover{background:#372b5224}.dashboard-sponsor-banner .sponsor-label{position:absolute;top:8px;right:8px;font-size:8.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffffffbf;background:#00000073;padding:2px 7px;border-radius:20px;pointer-events:none;z-index:2}.dashboard-sponsor-banner .sponsor-banner-viewport{width:100%;overflow:hidden;position:relative}.dashboard-sponsor-banner .banner-track{display:flex;width:calc(100% * var(--dsb-count, 3));transition:transform .6s cubic-bezier(.22,1,.36,1);will-change:transform}.dashboard-sponsor-banner .banner-slide{flex:0 0 calc(100% / var(--dsb-count, 3));min-width:0;padding:16px 18px 14px;cursor:pointer;display:flex;flex-direction:column;gap:8px;position:relative;text-align:left;color:#fff;font:inherit;box-sizing:border-box;border:none;margin:0}.dashboard-sponsor-banner .banner-bg-image{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none;border-radius:inherit}.dashboard-sponsor-banner .banner-bg-image img{position:absolute;top:0;right:0;height:100%;width:65%;object-fit:cover;object-position:center;opacity:.28;mix-blend-mode:screen;-webkit-mask-image:linear-gradient(to left,rgba(0,0,0,1) 30%,rgba(0,0,0,0) 92%);mask-image:linear-gradient(to left,#000 30%,#0000 92%)}.dashboard-sponsor-banner .banner-slide.is-light .banner-bg-image img{opacity:.14;mix-blend-mode:multiply}.dashboard-sponsor-banner .banner-slide.has-bg-contain .banner-bg-image img{width:auto;max-width:84%;height:180%;top:50%;right:-22px;left:auto;transform:translateY(-16.667%);object-fit:contain;object-position:right center;-webkit-mask-image:linear-gradient(to left,rgba(0,0,0,1) 55%,rgba(0,0,0,0) 100%);mask-image:linear-gradient(to left,#000 55%,#0000)}.dashboard-sponsor-banner .banner-slide.is-light.has-bg-contain .banner-bg-image img{opacity:.7;mix-blend-mode:screen}.dashboard-sponsor-banner .banner-brand-row,.dashboard-sponsor-banner .banner-headline,.dashboard-sponsor-banner .banner-cta{position:relative;z-index:1}.dashboard-sponsor-banner .banner-slide:hover .banner-cta{opacity:1;transform:translateY(0)}.dashboard-sponsor-banner .banner-brand-row{display:flex;align-items:center;gap:12px}.dashboard-sponsor-banner .banner-logo{width:58px;height:58px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-family:Fraunces,Georgia,serif;font-size:16px;font-weight:600;background:#fff3;color:#fff;flex-shrink:0;overflow:hidden}.dashboard-sponsor-banner .banner-logo.has-logo-img{background:transparent}.dashboard-sponsor-banner .banner-logo.has-logo-chip{background:#fff;padding:9px;box-shadow:0 1px 4px #0000002e}.dashboard-sponsor-banner .banner-logo img{width:100%;height:100%;object-fit:contain;display:block}.dashboard-sponsor-banner .banner-brand-name{font-family:Fraunces,Georgia,serif;font-size:20px;font-weight:600;color:#fff;letter-spacing:-.01em;line-height:1.1}.dashboard-sponsor-banner .banner-brand-sub{font-size:11px;color:#ffffffb3;margin-top:2px}.dashboard-sponsor-banner .banner-headline{font-size:13px;font-weight:600;color:#fff;line-height:1.4;margin:0}.dashboard-sponsor-banner .banner-cta{display:inline-flex;align-items:center;gap:5px;padding:6px 13px;border-radius:7px;background:#fff3;border:1px solid rgba(255,255,255,.35);font-size:11px;font-weight:700;color:#fff;align-self:flex-start;transition:all .2s;opacity:.85;margin:0;pointer-events:none}.dashboard-sponsor-banner .banner-cta:hover{background:#ffffff4d}.dashboard-sponsor-banner .banner-dots{display:flex;align-items:center;justify-content:center;gap:5px;padding:8px 0 10px;background:var(--dsb-surface);border-top:1px solid var(--dsb-border-soft)}.dashboard-sponsor-banner .banner-dot{width:5px;height:5px;border-radius:50%;background:var(--dsb-border);transition:all .2s;cursor:pointer;padding:0;border:none;line-height:0;flex-shrink:0}.dashboard-sponsor-banner .banner-dot:hover,.dashboard-sponsor-banner .banner-dot:focus-visible{background:#c5bdb3;outline:none}.dashboard-sponsor-banner .banner-dot.active{width:16px;border-radius:3px;background:var(--dsb-dot-active)}.next-action-box-inline{display:inline-flex;align-items:center;margin-left:0}.next-action-button-inline{background:linear-gradient(135deg,#8052ec,#9d6ff5);color:#fff;border:none;padding:.4rem .8rem;border-radius:4px;cursor:pointer;font-size:.75rem;font-weight:600;transition:all .2s ease;white-space:nowrap}.next-action-button-inline:hover{background:linear-gradient(135deg,#9d6ff5,#b08aff);transform:translateY(-1px);box-shadow:0 4px 8px #8052ec66}.next-action-button-inline:active{transform:translateY(0)}.next-action-button-inline:disabled{opacity:.6;cursor:not-allowed;transform:none}.next-action-button-inline.eng-resolve-btn{background:linear-gradient(135deg,#64b5f6,#42a5f5)}.next-action-button-inline.eng-resolve-btn:hover{background:linear-gradient(135deg,#90caf9,#64b5f6);box-shadow:0 4px 8px #42a5f573}.home-container{display:grid;grid-template-columns:auto 1fr;height:calc(100vh - var(--app-topbar-offset, 72px));background:#f7f8fc;min-width:0}.engineering-page .engineering-workspace{display:grid;grid-template-columns:minmax(0,1fr);transition:grid-template-columns .3s ease-in-out;min-width:0;height:100%;overflow:hidden}.engineering-page .engineering-workspace:has(#case-details-panel.open){grid-template-columns:minmax(0,1fr) min(450px,42vw)}.home-page{display:flex;flex-direction:column;min-height:100vh;background:#f7f8fc}.sidebar{background:#fff;border-right:1px solid #e6e6e6;padding:16px 10px;display:flex;flex-direction:column;align-items:center;gap:12px;width:72px;box-sizing:border-box;min-height:100%;align-self:stretch}.sidebar .menu-item-icon--svg,.sidebar .menu-item-icon--dicom{width:28px;height:28px}.sidebar .menu-item-icon--dicom{width:36px;height:36px}.sidebar .menu-item-icon--mfg{width:28px;height:28px}.sidebar .menu-item.active .menu-item-icon--svg{filter:brightness(0) invert(1)}.sidebar .menu-item.active .menu-item-icon:not(.menu-item-icon--svg):not(.menu-item-icon--mfg){filter:none}.sidebar .menu-item.active .menu-item-icon--mfg{filter:brightness(0) invert(1)}.sidebar .sub-menu{display:flex;flex-direction:column;gap:8px;margin-top:-5px}.sidebar .sub-menu div,.sidebar .submenu-item{background:#f0f0f0;padding:8px 10px;border-radius:8px;cursor:pointer;transition:all .2s ease}.sidebar .sub-menu div:hover,.sidebar .submenu-item:hover{background:#e0e0e0}.sidebar .sub-menu div.active,.sidebar .submenu-item.active{background:linear-gradient(135deg,#b388f3,#8052ec);color:#fff;font-weight:600}.content{padding:20px;overflow-y:auto!important;overflow-x:hidden;box-sizing:border-box;height:100%;max-height:100%;min-height:0;min-width:0;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.3) transparent}.dicom-check{position:relative;min-height:calc(100vh - 120px)}.dicom-check-drop[hidden],.dicom-check-progress[hidden],.dicom-check-workspace[hidden]{display:none!important}.dicom-check .btn-primary,.dicom-check .btn-secondary{border:none;border-radius:6px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}.dicom-check .btn-primary{background:linear-gradient(135deg,#8052ec,#9d6ff5);color:#fff}.dicom-check .btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#9d6ff5,#b08aff);transform:translateY(-1px);box-shadow:0 4px 8px #8052ec66}.dicom-check .btn-secondary{background:#f0f0f0;color:#333}.dicom-check .btn-secondary:hover:not(:disabled){background:#e0e0e0}.dicom-check button:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.dicom-check-drop{min-height:calc(100vh - 140px);display:flex;align-items:center;justify-content:center}.dicom-check-drop-card{width:min(640px,100%);min-height:320px;padding:2.5rem 2rem;border:2px dashed #c4b5fd;border-radius:16px;background:#faf8ff;text-align:center;cursor:pointer;transition:border-color .2s ease,background .2s ease}.dicom-check-drop.is-dragover .dicom-check-drop-card,.dicom-check-drop-card:hover{border-color:#8052ec;background:#f3eeff}.dicom-check-drop-card h2{margin:0 0 .75rem;font-size:1.35rem}.dicom-check-intro,.dicom-check-drop-note{margin:0 auto;max-width:34rem;color:#5c6370}.dicom-check-drop-note{margin-top:.5rem;font-size:.9rem}.dicom-check-drop-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:1.5rem}.dicom-check-progress{min-height:calc(100vh - 140px);display:flex;align-items:center;justify-content:center}.dicom-check-progress-card{width:min(520px,100%);padding:2rem 1.75rem;border-radius:16px;background:#fff;border:1px solid #ece8f7;box-shadow:0 8px 24px #50328c14;text-align:center}.dicom-check-progress-card h2{margin:0 0 .5rem;font-size:1.2rem}.dicom-check-bar{height:8px;margin-top:1.25rem;border-radius:999px;background:#efeaf8;overflow:hidden}.dicom-check-bar>div{height:100%;width:0%;border-radius:inherit;background:linear-gradient(90deg,#8052ec,#b08aff);transition:width .25s ease}.dicom-check-bar.is-indeterminate>div{width:40%;animation:dicom-check-indet 1.1s ease-in-out infinite}@keyframes dicom-check-indet{0%{transform:translate(-120%)}to{transform:translate(320%)}}.dicom-check-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px}.dicom-check-tools label{display:flex;align-items:center;gap:8px;color:#374151;font-size:.9rem;font-weight:600;letter-spacing:0;text-transform:none}.dicom-check-tools input[type=range]{width:140px}.dicom-check-status{margin:.75rem 0 0;color:#5c6370}.dicom-check-status[data-kind=error]{color:#b42318}.dicom-check-status[data-kind=ok]{color:#067647}.dicom-check-views{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(280px,calc((100vh - 220px)/2));gap:12px}.dicom-check-plane{display:flex;flex-direction:column;min-width:0;min-height:0;background:#111;border-radius:10px;overflow:hidden}.dicom-check-plane header{display:flex;justify-content:space-between;gap:8px;padding:8px 10px;color:#d0d0d8;font-size:12px;letter-spacing:.04em;text-transform:uppercase}.dicom-check-viewport{flex:1;min-height:180px;background:#000}.dicom-check-plane input[type=range]{width:calc(100% - 16px);margin:8px}.dicom-check-analysis{min-width:0;padding:1.25rem 1.35rem;border-radius:10px;background:#fff;border:1px solid #ece8f7;overflow:auto}.dicom-check-analysis h3{margin:0 0 1rem;font-size:1rem}.dicom-check-analysis dl{margin:0;display:flex;flex-direction:column;gap:.9rem}.dicom-check-analysis dt{font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#7b8190}.dicom-check-analysis dd{margin:.2rem 0 0;font-size:1.05rem;color:#1f2430;word-break:break-word}.dicom-check[data-stage=busy] .dicom-check-workspace{position:fixed;left:0;top:0;width:100vw;height:100vh;visibility:hidden;pointer-events:none}@media (max-width: 1100px){.dicom-check-views{grid-template-columns:1fr;grid-auto-rows:minmax(260px,42vh)}}.content h3{margin-bottom:1rem;font-size:1.2rem;font-weight:600}.placeholder,.subsection-placeholder{background:#fff;padding:2rem;border-radius:12px;text-align:center;color:#666}.search-bar .search-box{flex:1;display:flex;align-items:center;background:#efefef;border-radius:8px;padding:6px 10px}.search-bar .search-box img{width:20px;margin-right:6px;opacity:.6}.search-bar .search-box input{border:none;outline:none;background:transparent;width:100%;font-size:14px}.search-bar .filter-btn,.search-bar .clean-btn,.search-bar .search-btn{border:none;border-radius:8px;padding:8px 14px;font-size:14px;cursor:pointer;transition:.2s;font-weight:500}.search-bar .filter-btn{background:#f0f0f0;color:#333}.search-bar .filter-btn:hover{background:#e0e0e0}.search-bar .clean-btn{background:#fde8e8;color:#a33}.search-bar .clean-btn:hover{background:#f8d0d0}.search-bar .search-btn{background:linear-gradient(135deg,#b388f3,#8052ec);color:#fff}.search-bar .search-btn:hover{filter:brightness(1.05)}.search-bar #search-btn{background:#c8f0d6;color:#166534;filter:none}.search-bar #search-btn:hover,.search-bar #mfg-search-btn:hover{background:#b5e6c8;filter:none}.search-bar #mfg-search-btn{background:#c8f0d6;color:#166534;filter:none}.search-bar #btn-new-internal-case{display:inline-flex;align-items:center;gap:8px;box-sizing:border-box;height:37px;padding:0 14px;font-size:16px;line-height:1;background:linear-gradient(135deg,#5b94f6,#3b82f6);color:#fff;filter:none}.search-bar #btn-new-internal-case .new-patient-icon{width:26px;height:26px;flex-shrink:0}.search-bar #btn-new-internal-case:hover{background:linear-gradient(135deg,#3d78e6,#2563eb);filter:none}.engineering-page .origin-segment{display:flex;gap:0;margin:0 0 12px;border:1px solid #d7d2e8;width:fit-content}.engineering-page .origin-segment-btn{background:#fff;border:none;padding:.4rem 1rem;font-size:.8rem;font-weight:600;color:#607d8b;cursor:pointer}.engineering-page .origin-segment-btn.active{background:#5230a0;color:#fff}.engineering-page .case-origin-badge{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;padding:.1rem .4rem;margin-right:.35rem}.engineering-page .case-origin-badge--internal{background:#f3effa;color:#5230a0}.engineering-page .case-origin-badge--received{background:#eceff1;color:#546e7a}.engineering-page .add-internal-case-btn{margin-left:.35rem}.engineering-page .case-form-page{display:none}.engineering-page .case-form-page.active{display:block}.engineering-page #inline-case-form-loading{display:none}.engineering-page .procedure-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid #e0e0e0}.engineering-page .procedure-tab{padding:.75rem 1.5rem;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:.9rem;font-weight:500;color:#666;position:relative;bottom:-2px}.engineering-page .procedure-tab.active{color:#5230a0;border-bottom-color:#5230a0;font-weight:600}.engineering-page .procedure-tab-content{display:none}.engineering-page .procedure-tab-content.active{display:block}.filters-panel{display:flex;flex-wrap:wrap;gap:1rem;background:#fff;padding:10px 14px;border-radius:8px;box-shadow:0 2px 6px #0000000d;margin-bottom:1rem}.filters-panel label{font-size:.9rem;color:#444;display:flex;align-items:center;gap:6px}.filters-panel label input{accent-color:#8052ec}.stats-container{background:#fff;border-radius:16px;padding:25px;box-shadow:0 2px 8px #0000001a;transition:all .3s ease-in-out;margin-top:15px;margin-bottom:5px;min-height:calc(100vh - 200px)}.stats-container.hidden{display:none}.stats-container h3{font-size:1.2rem;font-weight:600;margin-bottom:20px;color:#222}.process-stats{display:flex;flex-direction:column;align-items:center}.process-stats .stats-wrapper{display:grid;grid-template-columns:1fr;gap:2rem;align-items:start;width:100%;transition:grid-template-columns .3s ease}.process-stats .stats-wrapper.has-panel{grid-template-columns:1fr 1.3fr}.process-stats .main-stats{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;gap:35px;flex-wrap:wrap}.process-stats .chart{display:flex;flex-direction:column;align-items:center;width:100%;max-width:420px}.process-stats .top-text{font-weight:600;font-size:1.1rem;margin-bottom:12px;text-align:center}.process-stats .legend{display:flex;flex-direction:row;gap:6px;font-size:14px;text-align:left}.process-stats .legend-item{display:flex;align-items:center;gap:8px}.process-stats .color{width:18px;height:18px;border-radius:4px;display:inline-block}.process-stats .color.in-process{background-color:#e3b1ff}.process-stats .color.requested{background-color:#f7a65a}.process-stats .color.pending,.process-stats .color.approved{background-color:#a8e063}.process-stats .color.out-of-process{background-color:#95a5a6}.process-stats .side-stats{flex:1;display:flex;gap:20px;flex-wrap:wrap}.process-stats .stat,.engineering-page .eng-status-pills .stat{flex:1;position:relative;border-radius:12px;color:#fff;text-align:center;padding:20px;min-width:160px;cursor:pointer;transition:transform .2s ease}.process-stats .stat.stat--has-notify,.engineering-page .eng-status-pills .stat.stat--has-notify{box-shadow:0 0 0 2px #ffffffd9}.category-notify-badge{position:absolute;top:-10px;right:-10px;z-index:2;display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:50%;background:#fff;box-shadow:0 2px 10px #00000038;cursor:pointer;animation:category-notify-pulse 1.6s ease-in-out infinite}.category-notify-badge:hover{transform:scale(1.08);animation:none}.category-notify-icon{width:18px;height:18px;display:block;pointer-events:none}.category-notify-count{position:absolute;top:-2px;right:-2px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#e53935;color:#fff;font-size:.65rem;font-weight:700;line-height:18px;text-align:center;pointer-events:none}@keyframes category-notify-pulse{0%,to{box-shadow:0 2px 10px #00000038}50%{box-shadow:0 2px 14px #e539358c}}.process-stats .stat:hover,.engineering-page .eng-status-pills .stat:hover{transform:translateY(-4px)}.process-stats .stat.navy,.engineering-page .eng-status-pills .stat.navy{background:linear-gradient(135deg,#4a5d7a,#2c3a52)}.process-stats .stat.purple,.engineering-page .eng-status-pills .stat.purple{background:linear-gradient(135deg,#e3b1ff,#c08ef2)}.process-stats .stat.orange,.engineering-page .eng-status-pills .stat.orange{background:linear-gradient(135deg,#f7a65a,#e57e25)}.process-stats .stat.green,.engineering-page .eng-status-pills .stat.green{background:linear-gradient(135deg,#a8e063,#56ab2f)}.process-stats .stat.gray,.engineering-page .eng-status-pills .stat.gray{background:linear-gradient(135deg,#95a5a6,#7f8c8d)}.process-stats .stat .value,.engineering-page .eng-status-pills .stat .value{font-size:2.2rem;font-weight:700;display:block}.process-stats .stat .label,.engineering-page .eng-status-pills .stat .label{font-size:1.1rem;margin-top:8px}.floating-btn{position:fixed;bottom:20px;right:20px;background:linear-gradient(135deg,#b388f3,#8052ec);color:#fff;border:none;border-radius:25px;padding:10px 18px;cursor:pointer;font-weight:500;box-shadow:0 2px 10px #0003;transition:all .3s ease}.floating-btn:hover{opacity:.85;transform:translateY(-2px)}.cases-panel{background:#f8f9fd;border-radius:16px;padding:.75rem;box-shadow:0 2px 8px #0000000d;animation:fadeIn .3s ease-in-out;overflow-y:auto;width:100%}.cases-panel-search{margin-top:2rem}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.panel-header h4{font-weight:600;color:#333}.panel-header .close-btn{background:none;border:none;font-size:20px;cursor:pointer;color:#666}.panel-header .close-btn:hover{color:#000}.cases-list{display:flex;flex-direction:column;gap:10px;min-height:0}#cases-list-category{display:flex;flex-direction:column;gap:5px}.summary-pagination{display:flex;justify-content:center;align-items:center;gap:1rem;padding:.5rem 1rem;margin-top:.75rem;border-top:1px solid #e0e0e0;flex-shrink:0;width:100%;box-sizing:border-box}.pagination-btn{background:#fff;border:1px solid #e0e0e0;border-radius:4px;padding:.5rem 1rem;font-size:1.2rem;font-weight:600;color:#333;cursor:pointer;transition:all .2s;min-width:40px;display:flex;align-items:center;justify-content:center}.pagination-btn:hover:not(:disabled){background:#f5f5f5;border-color:#999}.pagination-btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.pagination-info{font-size:.9rem;color:#666;font-weight:500}.case-item{background:#fff;border:1px solid #e0e0e0;border-radius:6px;padding:.75rem 1rem;transition:box-shadow .2s;margin-bottom:.5rem}.case-item:hover{box-shadow:0 2px 4px #0000001a}.case-item.case-item--notified{background:#fff8e1;border-color:#ffc107;box-shadow:0 0 0 2px #ffc10759}.case-notify-bell{width:18px;height:18px;flex-shrink:0;display:block}.case-info{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem;flex-wrap:wrap}.case-id{font-weight:600;color:#333;font-size:.9rem}.case-status{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500;text-transform:capitalize}.case-status.created{background-color:#e3f2fd;color:#1976d2}.case-status.dicom_uploaded{background-color:#f3e5f5;color:#7b1fa2}.case-status.planning{background-color:#fff3e0;color:#e65100}.case-status.planning_under_review{background-color:#fff9c4;color:#f57f17}.case-status.planning_approved{background-color:#e8f5e9;color:#2e7d32}.case-status.design{background-color:#e1f5fe;color:#0277bd}.case-status.design_under_review{background-color:#fff9c4;color:#f57f17}.case-status.design_approved{background-color:#e8f5e9;color:#2e7d32}.case-status.manufacturing{background-color:#e1f5fe;color:#0277bd}.case-status.closed{background-color:#f5f5f5;color:#616161}.case-status.cancelled{background-color:#ffebee;color:#c62828}.case-status.archived{background-color:#f5f5f5;color:#616161}.case-date{color:#666;font-size:.85rem;margin-left:auto}.case-procedure{color:#555;font-size:.85rem;line-height:1.4;text-align:left}.empty-msg{text-align:center;color:#777;margin-top:20px}@keyframes fadeIn{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}#modal-assign-case .patient-modal-content{max-width:960px;padding:0 0 1rem}#modal-assign-case .patient-modal-header{padding:1.5rem 2rem 1rem}.edit-case-tabs{display:flex;gap:16px;padding:0 2rem;border-bottom:1px solid #e0e0e0}.edit-case-tab{background:none;border:none;padding:8px 0 10px;cursor:pointer;font-size:.95rem;font-weight:600;color:#78909c;border-bottom:2px solid transparent}.edit-case-tab.active{color:#5267e0;border-bottom-color:#5267e0}#modal-assign-case .patient-modal-content{overflow:hidden}#modal-assign-case [data-edit-case-panel]{display:none!important}#modal-assign-case [data-edit-case-panel].is-visible{display:flex!important;flex-direction:column;flex:1 1 auto;min-height:0;overflow-y:auto}.assign-case-content{overflow-y:auto;padding:1rem 2rem .5rem}.edit-case-files-intro{color:#607d8b;font-size:.9rem;margin:0 0 12px}.edit-case-upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media (max-width: 800px){.edit-case-upload-grid{grid-template-columns:1fr}}.edit-case-dropzone{display:flex;flex-direction:column;gap:8px;min-height:140px;padding:16px;border:2px dashed #b0bec5;border-radius:10px;background:#fafafa;cursor:pointer;text-align:center}.edit-case-dropzone.is-dragover{border-color:#5267e0;background:#eef1ff}.edit-case-dropzone-title{font-size:1rem;font-weight:700;color:#37474f}.edit-case-dropzone-hint{font-size:.8rem;color:#78909c}.edit-case-photo-stage{display:flex;flex-direction:column;gap:4px;text-align:left;font-size:.8rem;color:#455a64}.edit-case-dropzone-status{min-height:1.1em;margin:0;font-size:.8rem;color:#607d8b}.edit-case-dropzone-status.is-ok{color:#2e7d32}.edit-case-dropzone-status.is-err{color:#c62828}.edit-case-file-list{list-style:none;margin:0;padding:0;text-align:left;max-height:140px;overflow-y:auto}.edit-case-file-row,.edit-case-file-empty{font-size:.75rem;color:#546e7a;padding:4px 0;border-top:1px solid #eceff1}.edit-case-file-row{display:flex;gap:6px;align-items:center}.edit-case-file-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edit-case-file-stage{flex-shrink:0;font-size:.7rem;color:#5267e0}.edit-case-file-dl{flex-shrink:0;font-size:.7rem}.edit-case-lib-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin-bottom:12px}.edit-case-design-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:8px}.edit-case-design-btn{min-height:36px}.edit-case-lib-card{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid #e0e0e0;border-radius:8px;background:#fff;cursor:pointer;text-align:left}.edit-case-lib-card:hover,.edit-case-lib-card:focus{border-color:#5267e0}.edit-case-lib-card-title{font-size:.75rem;color:#607d8b;font-weight:600}.edit-case-lib-card-count{font-size:1.4rem;font-weight:700;color:#37474f}.edit-case-lib-detail{border:1px solid #eceff1;border-radius:8px;padding:8px 12px;margin-bottom:12px;background:#fafafa}.edit-case-detail-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.edit-case-detail-close,.edit-case-icon-btn{border:none;background:transparent;cursor:pointer;color:#546e7a;padding:4px;line-height:1}.edit-case-icon-btn.is-danger{color:#c62828}.edit-case-preview{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#000000b8;display:flex;align-items:center;justify-content:center;padding:18px}.edit-case-preview[hidden]{display:none!important}.edit-case-preview-dialog{position:relative;display:flex;flex-direction:column;width:min(1180px,calc(100vw - 36px));height:min(88vh,900px);border-radius:10px;background:#111;overflow:hidden;box-shadow:0 20px 60px #00000061}.edit-case-preview.is-pdf .edit-case-preview-dialog{width:calc(100vw - 36px);height:calc(100vh - 36px)}.edit-case-preview-dialog:fullscreen{width:100vw;height:100vh;border-radius:0}.edit-case-preview-actions{display:flex;justify-content:flex-end;gap:8px;flex:0 0 auto;padding:8px;background:#202124}.mfg-viewer-print{height:36px;padding:0 14px;border-radius:8px;border:1px solid #fff;background:transparent;color:#fff;font:inherit;cursor:pointer}#mfg-doc-viewer-print[hidden]{display:none!important}.edit-case-preview-nav{position:absolute;top:calc(50% + 24px);z-index:3;width:48px;height:64px;border:0;border-radius:9px;background:#ffffffdb;color:#202124;font-size:38px;line-height:1;cursor:pointer;transform:translateY(-50%)}.edit-case-preview-nav[hidden]{display:none!important}.edit-case-preview-nav.is-prev{left:14px}.edit-case-preview-nav.is-next{right:14px}.edit-case-preview-close,.edit-case-preview-fullscreen{width:40px;height:40px;border:none;border-radius:50%;background:#fff;color:#202124;font-size:24px;line-height:1;cursor:pointer}.edit-case-preview-body{width:100%;flex:1 1 auto;min-height:0;background:#111;overflow:hidden}.edit-case-preview-body img,.edit-case-preview-body iframe{width:100%;height:100%;border:0;object-fit:contain;background:#111}.edit-case-preview-body p{color:#fff;padding:24px}#modal-assign-case .patient-modal-header{align-items:flex-start}#modal-assign-case .case-info-modal-heading{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:0}#modal-assign-case .case-info-modal-heading h2{flex:none}#modal-assign-case .case-info-modal-subtitle{display:flex;flex-direction:column;gap:.1rem;margin:0;font-size:.92rem;line-height:1.35}#modal-assign-case .case-info-modal-subtitle[hidden]{display:none}#modal-assign-case .case-info-modal-code{font-weight:600;color:#333}#modal-assign-case .case-info-modal-patient{font-weight:500;color:#555}.assign-case-content{display:flex;flex-direction:column;gap:1.5rem}#modal-assign-case .assign-case-content[data-edit-case-panel]{gap:0}.assign-case-content .form-group{display:flex;flex-direction:column;gap:.5rem}.assign-case-content .form-group label{font-size:.9rem;font-weight:600;color:#333}.assign-case-content .form-control{padding:.75rem 1rem;border:1px solid #ddd;border-radius:6px;font-size:.9rem;color:#333;width:100%;box-sizing:border-box}.assigned-users-list{max-height:200px;overflow-y:auto;padding:.5rem;border:1px solid #e0e0e0;border-radius:6px;background:#fafafa}.assigned-users-list .loading-text{color:#999;font-size:14px;text-align:center;padding:1rem}.assign-case-content .form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e6e6e6}.assign-case-content .btn-primary,.assign-case-content .btn-secondary{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.assign-case-content .btn-primary{background-color:#8052ec;color:#fff}.assign-case-content .btn-primary:hover{background-color:#6b42d4}.assign-case-content .btn-secondary{background-color:#f0f0f0;color:#333}.assign-case-content .btn-secondary:hover{background-color:#e0e0e0}.case-assign-btn{margin-left:auto;padding:4px 8px;background:#8052ec1a;border:1px solid rgba(128,82,236,.3);border-radius:6px;cursor:pointer;transition:all .2s ease}.case-assign-btn:hover{background:#8052ec33;border-color:#8052ec80}.icon-btn{background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:4px}.design-material-trigger:after{content:"";position:absolute;right:.55rem;top:50%;width:10px;height:6px;transform:translateY(-50%);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23555' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat center;background-size:contain;pointer-events:none}.project-status-btn{background:linear-gradient(135deg,#b388f3,#8052ec);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;width:100%;margin-top:1rem}.project-status-btn:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 4px 8px #8052ec4d}.case-timeline-section{margin-top:0;padding-top:0;border-top:2px solid #e6e6e6;flex:1;display:flex;flex-direction:column;min-height:0;min-width:0;width:100%;overflow-x:hidden;box-sizing:border-box}.timeline-title{font-size:1.1rem;font-weight:600;color:#333;margin:0 0 1.5rem}.timeline-container{display:flex;flex-direction:column;gap:0;position:relative;padding-left:3.5rem;flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;width:100%;box-sizing:border-box}.timeline-item{display:flex;flex-direction:column;align-items:stretch;position:relative;margin-bottom:1rem;min-height:32px;flex-shrink:0;width:100%;min-width:0;box-sizing:border-box}.timeline-item>.timeline-label{display:flex;align-items:center;width:100%;min-width:0;box-sizing:border-box}.timeline-item:last-child{margin-bottom:0}.timeline-item:last-child .timeline-line{display:none}.timeline-dot{position:absolute;left:-2.95rem;width:16px;height:16px;border-radius:50%;border:3px solid;background:#fff;z-index:2;transition:all .3s ease}.timeline-dot.blinking{animation:blink 1.5s infinite}@keyframes blink{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.1)}}.timeline-line{position:absolute;left:-2.5rem;top:16px;width:2px;height:calc(100% + 1rem);background:#e0e0e0;z-index:1}.timeline-label{font-size:.85rem;color:#666;margin-left:0;transition:all .3s ease;line-height:1.3;justify-content:space-between;gap:.5rem}.timeline-label-text{flex:1;min-width:0}.timeline-download-all-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0!important;border:none;border-radius:4px;background:transparent;cursor:pointer;opacity:.75;transition:opacity .2s ease,background .2s ease;text-align:center}.timeline-download-all-btn:hover{opacity:1;background:#8052ec1f}.timeline-download-all-btn img{width:16px;height:16px;display:block}.timeline-label.current-label{color:#8052ec;font-weight:600;font-size:.9rem}.timeline-state-past .timeline-dot{border-color:#333;background:#333}.timeline-state-past .timeline-line{background:#333}.timeline-state-past .timeline-label{color:#333}.timeline-state-current .timeline-dot{border-color:#8052ec;background:#8052ec;box-shadow:0 0 0 4px #8052ec33}.timeline-state-current .timeline-line{background:#e0e0e0}.timeline-state-future .timeline-dot{border-color:#ccc;background:#fff}.timeline-state-future .timeline-line{background:#e0e0e0}.timeline-state-future .timeline-label{color:#999}.dicom-actions-section{margin-top:.75rem;margin-left:0;display:flex;flex-direction:column;gap:.5rem;width:100%;max-width:100%;box-sizing:border-box}.dicom-action-btn{padding:.5rem;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:center}.dicom-actions-section .dicom-action-btn{width:100%;max-width:100%;box-sizing:border-box;white-space:normal;word-break:break-word}.dicom-download-btn{background:#6dbdf3;color:#fff}.dicom-download-btn:hover{background:#4e90bd}.dicom-download-btn:active{background:#426f8d}.dicom-download-ios-btn{background:#5b6cff;color:#fff}.dicom-download-ios-btn:hover{background:#4654d6}.dicom-download-ios-btn:active{background:#3945b0}.dicom-download-photos-btn{background:#e67e22;color:#fff}.dicom-download-photos-btn:hover{background:#d35400}.dicom-download-photos-btn:active{background:#ba4a00}.dicom-viewer-btn{background:#8052ec;color:#fff}.dicom-viewer-btn:hover{background:#6b42d4}.dicom-viewer-btn:active{background:#5a35b8}.dicom-download-segmentation-btn{background:#8ad161;color:#fff}.dicom-download-segmentation-btn:hover{background:#80d86a}.dicom-download-segmentation-btn:active{background:#82ad5a}.dicom-show-planning-btn{background:#8052ec;color:#fff}.dicom-show-planning-btn:hover{background:#6b42d4}.dicom-show-planning-btn:active{background:#5a35b8}.dicom-view-design-btn{background:#8052ec;color:#fff}.dicom-view-design-btn:hover{background:#6b42d4}.dicom-view-design-btn:active{background:#5a35b8}.dicom-upload-design-btn{background:#6dbdf3;color:#fff}.dicom-upload-design-btn:hover{background:#4e90bd}.dicom-upload-design-btn:active{background:#426f8d}.dicom-download-planning-btn{background:#6dbdf3;color:#fff}.dicom-download-planning-btn:hover{background:#4e90bd}.dicom-download-planning-btn:active{background:#426f8d}.start-manufacturing-content{display:flex;flex-direction:column;gap:1.5rem}.manufacturing-files-list{display:flex;flex-direction:column;gap:.5rem}.manufacturing-files-header{display:grid;grid-template-columns:50px minmax(120px,1.2fr) 160px minmax(180px,1.2fr);gap:.75rem;padding:.75rem 1rem;background:#f5f5f5;border-radius:6px;font-weight:600;font-size:.9rem;color:#555;margin-bottom:.5rem}.manufacturing-file-row{display:grid;grid-template-columns:50px minmax(120px,1.2fr) 160px minmax(180px,1.2fr);gap:.75rem;padding:.75rem 1rem;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;align-items:center}.file-check-column{display:flex;justify-content:center;align-items:center}.file-check-column input[type=checkbox]{width:18px;height:18px;cursor:pointer}.file-name-column{display:flex;align-items:center}.file-name-column label{cursor:pointer;font-size:.9rem;color:#333}.file-material-column select{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem;background:#fff}.file-manufacturer-column{display:flex;align-items:center}.file-manufacturer-column select{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem;background:#fff}.file-material-column select:disabled,.file-manufacturer-column select:disabled{background:#f5f5f5;cursor:not-allowed;opacity:.6}.start-manufacturing-content .form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e6e6e6}.start-manufacturing-content .btn-primary,.start-manufacturing-content .btn-secondary{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.start-manufacturing-content .btn-primary{background-color:#8052ec;color:#fff}.start-manufacturing-content .btn-primary:hover{background-color:#6b42d4}.start-manufacturing-content .btn-secondary{background-color:#f0f0f0;color:#333}.start-manufacturing-content .btn-secondary:hover{background-color:#e0e0e0}.engineering-page #case-details-panel.details-panel{position:relative;top:auto;right:auto;width:100%;min-width:0;max-width:450px;height:100%;background:#fff;padding:20px;box-sizing:border-box;overflow:hidden;z-index:auto;display:none;flex-direction:column;border-left:none;box-shadow:none}.engineering-page #case-details-panel.details-panel.open{display:flex;border-left:1px solid #e6e6e6;box-shadow:-2px 0 6px #0000000f}.engineering-page #case-details-panel .user-header{display:flex;justify-content:space-between;align-items:center;margin:-20px -20px 20px;padding:1.25rem 1.5rem;background:linear-gradient(135deg,#b388f3,#d4b5f7);border-bottom:none;box-shadow:0 2px 4px #00000014}.engineering-page #case-details-panel .user-header .case-panel-heading{display:flex;flex-direction:column;gap:.15rem;min-width:0}.engineering-page #case-details-panel .user-header .info-title{font-weight:700;font-size:1.5rem;color:#fff;letter-spacing:.5px}.engineering-page #case-details-panel .case-panel-subtitle{display:flex;flex-direction:column;gap:.05rem;font-size:.85rem;line-height:1.3;letter-spacing:0;color:#ffffffeb}.engineering-page #case-details-panel .case-panel-subtitle[hidden]{display:none}.engineering-page #case-details-panel .case-panel-code{font-weight:600}.engineering-page #case-details-panel .case-panel-patient{font-weight:500;color:#ffffffd9}.engineering-page #case-details-panel .user-header .close-btn{background:#fff3;border:none;color:#fff;font-size:1.5rem;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;transition:background .2s ease}.view-close-data-modal-content{max-width:640px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.view-close-data-modal-form{display:flex;flex-direction:column;flex:1;min-height:0}.view-close-data-meta{font-size:.9rem;color:#444;line-height:1.4;margin:0 0 .75rem}.view-close-data-body{overflow-y:auto;flex:1;min-height:0;padding-right:4px}.view-close-data-section{margin-bottom:1.25rem}.view-close-data-section-title{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#555;margin:0 0 .5rem;border-bottom:1px solid #e8e8e8;padding-bottom:.35rem}.view-close-data-file-list{list-style:none;margin:0;padding:0}.view-close-data-file-row,.view-close-data-file-row--empty{display:flex;align-items:center;gap:.5rem;padding:.45rem 0;border-bottom:1px solid #f0f0f0;font-size:.9rem;flex-wrap:wrap}.view-close-data-file-row--empty{color:#888;font-style:italic;border:none}.view-close-data-file-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.view-close-data-file-size{color:#666;font-size:.85rem;flex-shrink:0}.view-close-data-file-row .btn-primary{flex-shrink:0;white-space:nowrap}.view-close-data-loading,.view-close-data-empty{color:#666;font-size:.9rem;margin:.5rem 0 0}.dicom-action-btn.view-close-data-btn{background:#5a6670;color:#fff;border:none}.dicom-action-btn.view-close-data-btn:hover{background:#454d55;color:#fff}.engineering-page #case-details-panel .user-header .close-btn:hover{background:#ffffff59}.engineering-page #case-details-panel .details{padding:1.5rem 1.25rem 1.5rem 1.5rem;display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;background:#f9f9fb;border-radius:10px;min-width:0;width:100%;box-sizing:border-box}.engineering-page .case-actions-section{margin:0 0 .75rem;padding:.75rem 0;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;display:flex;flex-direction:column;gap:.6rem}.engineering-page .btn-case-action{padding:.7rem 1rem;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;width:100%;background:linear-gradient(135deg,#b388f3,#8052ec);color:#fff}.engineering-page .btn-case-action:hover{filter:brightness(1.05)}.engineering-page .btn-delete-case{background:#dc3545}.engineering-page .btn-delete-case:hover{background:#c82333;filter:none}.engineering-page .case-details-tabs{flex:1;min-height:0;display:flex;flex-direction:column}.engineering-page .case-details-tab-list{display:flex;flex-shrink:0;gap:.25rem;margin:.35rem 0 .6rem;border-bottom:1px solid #d8d4e8}.engineering-page .case-details-tab{padding:.4rem .75rem;background:transparent;color:#858484;border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:.85rem;font-weight:600}.engineering-page .case-details-tab:hover{color:#6c5ce7}.engineering-page .case-details-tab.active{color:#6c5ce7;background:#6c5ce71f;border-top-left-radius:8px;border-top-right-radius:8px;border-bottom-color:#6c5ce7}.engineering-page .case-details-tab-panel{flex:1;min-height:0;overflow-y:auto}.engineering-page .case-details-tab-panel[hidden]{display:none!important}.engineering-page .case-details-tab-panel .approvals-block{padding:0;border-bottom:none}.case-order-modal{max-width:900px}.case-order-header{display:flex;justify-content:center;align-items:center;padding:1.5rem 0;border-bottom:1px solid #e0e0e0;margin-bottom:1.5rem}.case-order-logo{max-height:60px;max-width:200px;object-fit:contain}.case-order-modal .form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e0e0e0}.case-order-modal .form-actions .btn-secondary{background:#f0f0f5;color:#4a3f6b;border:none;padding:10px 22px;border-radius:10px;font-weight:600;font-size:13px;cursor:pointer}.case-order-modal .form-actions .btn-secondary:hover{opacity:.88}.case-order-modal .form-actions .btn-primary{background:linear-gradient(135deg,#5a4a8a,#7a6aaa);color:#fff;border:none;padding:10px 22px;border-radius:10px;font-weight:600;font-size:13px;cursor:pointer}.case-order-modal .form-actions .btn-primary:hover{opacity:.88}.case-order-modal .form-actions .btn-primary:disabled{opacity:.6;cursor:wait}.case-order-content{max-height:60vh;overflow-y:auto;padding-top:1rem;padding-bottom:1rem}.case-order-panel-summary{margin-bottom:1.5rem;padding:1rem 1.1rem;background:#fff;border:1px solid #e8e8ee;border-radius:10px}.case-order-panel-summary .case-order-panel-title{margin:0 0 .75rem;font-size:.95rem;font-weight:600;color:#5a4a8a}.case-order-panel-summary .case-order-content{max-height:none;overflow:visible;padding:0}.case-info-section .case-name{margin:0 0 1rem;font-size:1.1rem;font-weight:600;color:#333}.case-planning-gate-banner{margin:0 0 .75rem;padding:.65rem .75rem;border-radius:8px;font-size:.8rem;font-weight:600;line-height:1.4}.case-planning-gate-banner--pending{background:#fff8e6;border:1px solid #f0d78c;color:#6b5420}.case-planning-gate-banner--approved{background:#eef8f0;border:1px solid #a8d5b0;color:#1b5e20}.case-multiunit-claim{margin:0 0 .75rem;padding:.65rem .75rem;background:#fff8e6;border:1px solid #f0d78c;border-radius:8px;font-size:.8rem;font-weight:500;color:#6b5420;line-height:1.4}.case-multiunit-claim--done{background:#eef8f0;border-color:#a8d5b0;color:#1b5e20}.order-section{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e0e0e0}.order-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.order-section h4{font-size:.95rem;font-weight:600;color:#5a4a8a;margin:0 0 .75rem}.order-field{margin:.5rem 0;font-size:.85rem;line-height:1.5;color:#444}.order-field strong{color:#333;font-weight:600;display:inline-block;min-width:160px}.case-order-info-btn:hover{background:#5a4a8a1f;border-radius:4px}.error-text{color:#dc3545}.patient-modal-content.case-reports-modal-content{width:96vw;max-width:96vw;height:94vh;max-height:94vh;padding:1.1rem 1.35rem 1.25rem;display:flex;flex-direction:column;overflow:hidden}.case-reports-modal-content .patient-modal-header{margin-bottom:.7rem;flex-shrink:0}.case-reports-modal-form{display:flex;flex-direction:column;flex:1;min-height:0;gap:.65rem}.case-reports-status{margin:0;font-size:.9rem;color:#555}.case-reports-table-wrap{overflow:auto;min-height:0;flex:0 0 auto;max-height:22vh}.case-reports-table{width:100%;border-collapse:collapse;font-size:.88rem}.case-reports-table th,.case-reports-table td{text-align:left;padding:.45rem .55rem;border-bottom:1px solid #e6e2ee;vertical-align:middle}.case-reports-table th{color:#666;font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em}.case-reports-actions{display:flex;flex-wrap:wrap;gap:.35rem}.case-reports-actions button{border:1px solid #d5cfe3;background:#f7f5fb;color:#3d3554;border-radius:6px;padding:.28rem .55rem;font-size:.8rem;cursor:pointer}.case-reports-actions button:hover{background:#efeaf8}.case-reports-actions button.danger{color:#a12626;border-color:#efc4c4}.case-reports-preview{flex:1 1 auto;min-height:0;border:1px solid #e6e2ee;border-radius:8px;overflow:hidden;background:#f3f1f7}.case-reports-preview iframe{width:100%;height:100%;min-height:0;border:0;background:#fff}.engineering-page .cases-dashboard{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start;zoom:1.1}.engineering-page .eng-welcome{font-size:18px;font-weight:700;margin:0 0 2px}.engineering-page .eng-subtitle{color:#6a6a78;margin:0 0 10px;font-size:13px}.engineering-page .filters-badge{background:#8052ec;color:#fff;font-size:11px;font-weight:700;padding:1px 7px;border-radius:20px;margin-left:4px}.engineering-page .filters-panel{align-items:flex-start;gap:22px}.engineering-page .filters-panel-section{display:flex;flex-direction:column;gap:8px}.engineering-page .fp-label{font-size:11px;font-weight:700;color:#9a9aa6;letter-spacing:.03em;text-transform:uppercase}.engineering-page .filters-checklist{display:flex;flex-direction:column;gap:6px}.engineering-page .filter-text-input{border:1px solid #e7e7ed;border-radius:8px;padding:8px 12px;font-size:13px;min-width:220px}.engineering-page .filters-panel-actions{margin-left:auto;align-self:flex-end}.engineering-page .eng-status-pills{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:6px 0 12px}.engineering-page .eng-status-pills .stat{min-width:0;padding:12px 8px}.engineering-page .eng-status-pills .stat .value{font-size:1.7rem}.engineering-page .eng-status-pills .stat .label{font-size:.95rem;margin-top:4px;line-height:1.2}.engineering-page .eng-status-pills .stat.selected{outline:2px solid #1f2045;outline-offset:2px}.engineering-page .eng-list-tabs{display:flex;gap:4px;border-bottom:1px solid #e7e7ed;margin-bottom:10px}.engineering-page .eng-list-tab{background:none;border:none;padding:6px 4px;margin-right:18px;font-size:13px;font-weight:600;color:#6a6a78;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;display:flex;align-items:center;gap:8px}.engineering-page .eng-list-tab.active{color:#181828;border-bottom-color:#8052ec}.engineering-page .tab-count{font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px;background:#eeeff2;color:#6a6a78}.engineering-page .eng-list-tab.active .tab-count{background:#efecfd;color:#4c3fc0}.engineering-page .eng-tab-panel{display:none}.engineering-page .eng-tab-panel.active{display:block}.engineering-page .browse-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.engineering-page .browse-card{background:#fff;border:1px solid #e7e7ed;border-radius:12px;padding:16px 18px;cursor:pointer;text-align:left}.engineering-page .browse-card:hover{border-color:#8052ec}.engineering-page .browse-card .name{font-weight:600;margin-bottom:8px}.engineering-page .browse-card .stats{display:flex;gap:16px}.engineering-page .browse-card .stat{font-size:12px;color:#6a6a78}.engineering-page .browse-card .stat b{display:block;font-size:17px;color:#181828}.engineering-page .browse-card .stat.pending b{color:#f16b7a}.engineering-page .user-type-badge{display:inline-block;font-size:11px;font-weight:600;padding:3px 9px;border-radius:20px}.engineering-page .ut-internal{background:#efecfd;color:#4c3fc0}.engineering-page .ut-clinic{background:#eeeff2;color:#6a6a78}.engineering-page .browse-card-user .user-role-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.engineering-page .user-role-badge{display:inline-block;font-size:11px;font-weight:600;padding:3px 9px;border-radius:20px}.engineering-page .user-role-badge.ur-doctor{background:#e8f4ff;color:#1d5f9b}.engineering-page .user-role-badge.ur-engineer{background:#efecfd;color:#4c3fc0}.engineering-page .user-role-badge.ur-manufacturer{background:#fff3e6;color:#b45a12}.engineering-page .user-org-list{list-style:none;margin:0 0 4px;padding:0;display:flex;flex-direction:column;gap:4px}.engineering-page .user-org-item{display:flex;flex-direction:column;gap:1px;font-size:12px;line-height:1.3}.engineering-page .user-org-name{color:#181828;font-weight:500}.engineering-page .user-org-meta{color:#6a6a78}.engineering-page .eng-action-card{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #f16b7a;border-left:4px solid #f16b7a;border-radius:8px;padding:8px 12px;margin-bottom:6px}.engineering-page .eng-action-card .code{font-weight:600;font-size:13px}.engineering-page .eng-action-card .reason{font-size:12px;color:#f16b7a;font-weight:500}.engineering-page .content{padding:10px 16px 12px}.engineering-page .search-bar{margin-bottom:8px}.engineering-page .cases-head{margin:0 0 6px}.engineering-page .cases-head h2{margin:0;font-size:15px;font-weight:650}.engineering-page .case-item{padding:.55rem .8rem;margin-bottom:.45rem}.engineering-page .case-info{margin-bottom:0;gap:.55rem}.engineering-page .case-date{margin-left:0}.engineering-page .case-procedure{font-size:.8rem;line-height:1.2}.engineering-page .eng-case-meta{margin-top:.65rem;font-size:.75rem;color:#666;line-height:1.3}.engineering-page .eng-action-card .eng-resolve-btn{margin-left:auto;flex-shrink:0}.engineering-page .eng-action-card .info{flex:1;min-width:0}.engineering-page .cases-list .summary-pagination,.engineering-page .eng-action-list .summary-pagination{margin-top:.4rem;padding:.35rem .5rem}.engineering-page .eng-dash-aside{display:flex;flex-direction:column;gap:14px}.engineering-page .eng-cal-card{background:#fff;border:1px solid #e7e7ed;border-radius:12px;padding:18px}.engineering-page .cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.engineering-page .cal-head .lbl{font-size:11px;font-weight:700;color:#9a9aa6;letter-spacing:.04em}.engineering-page .cal-head .month{font-weight:600;font-size:14px;text-transform:capitalize}.engineering-page .cal-nav{display:flex;gap:6px}.engineering-page .cal-nav-btn{border:none;background:#eeeff2;width:24px;height:24px;border-radius:6px;cursor:pointer}.engineering-page .cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.engineering-page .cal-dow{font-size:10px;color:#9a9aa6;font-weight:600;padding-bottom:4px}.engineering-page .cal-day{font-size:12px;padding:6px 0;border-radius:6px;cursor:pointer;position:relative}.engineering-page .cal-day.other-month{color:#9a9aa6}.engineering-page .cal-day.today{background:#fdecee;color:#f16b7a;font-weight:700}.engineering-page .cal-day.has-surgery{background:#fef3c7;color:#92400e;font-weight:700}.engineering-page .cal-day.has-surgery:after{content:"";position:absolute;bottom:2px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:#f59e0b}.engineering-page .cal-day.cal-day--filter-active{box-shadow:0 0 0 2px #e8673a}.engineering-page .surgery-cal-filter-hint{font-size:11px;color:#6b6b76;margin:0 0 10px}.engineering-page .surgery-cal-clear{border:none;background:none;color:#e8673a;font-weight:600;cursor:pointer;padding:0;text-decoration:underline}.engineering-page .eng-upcoming-item{display:flex;gap:10px;width:100%;border:none;background:#f7f7f9;border-radius:8px;padding:8px 10px;margin-bottom:6px;cursor:pointer;text-align:left}.engineering-page .eng-upcoming-date{font-size:12px;font-weight:700;color:#92400e;min-width:52px}.engineering-page .eng-upcoming-info{display:flex;flex-direction:column;gap:2px;min-width:0}.engineering-page .eng-upcoming-code,.engineering-page .eng-upcoming-patient{font-size:12px;color:#2c2c34;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.engineering-page .eng-upcoming-patient{color:#6b6b76}.engineering-page .deliveries-title{font-weight:600;font-size:14px;margin-bottom:8px}.engineering-page .empty-mini{font-size:12px;color:#9a9aa6;margin:0}@media (max-width: 1100px){.engineering-page .cases-dashboard{grid-template-columns:1fr}.engineering-page .browse-grid,.engineering-page .eng-status-pills{grid-template-columns:1fr 1fr}}#modal-assign-case .patient-modal-content{overflow:hidden!important}#modal-assign-case .edit-case-tabs{flex-shrink:0}#modal-assign-case.edit-case-mode-fields [data-edit-case-panel=files],#modal-assign-case.edit-case-mode-files [data-edit-case-panel=fields]{display:none!important;overflow:hidden!important;height:0!important;min-height:0!important;max-height:0!important;padding:0!important;margin:0!important;border:0!important;visibility:hidden!important;pointer-events:none!important}#modal-assign-case.edit-case-mode-fields [data-edit-case-panel=fields],#modal-assign-case.edit-case-mode-files [data-edit-case-panel=files]{display:flex!important;flex-direction:column;flex:1 1 auto;min-height:0;overflow-y:auto;visibility:visible!important;pointer-events:auto!important;height:auto!important;max-height:none!important}.edit-case-lib-card.is-selected{border-color:#5267e0;background:#eef1ff}#modal-assign-case.edit-case-readonly .edit-case-tabs,#modal-assign-case.edit-case-readonly .edit-case-files-intro,#modal-assign-case.edit-case-readonly .edit-case-upload-grid{display:none!important}.eng-mfg-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.eng-mfg-head h2{margin:0 0 4px;font-size:22px}.eng-mfg-lead{margin:0;color:#5f6075;font-size:14px}.eng-mfg-head-actions,.eng-mfg-row-actions{display:flex;gap:8px;flex-shrink:0}.eng-mfg .btn-primary,.eng-mfg-modal .btn-primary{background:#8052ec;color:#fff;border:none;border-radius:8px;padding:8px 14px;font-weight:600;cursor:pointer}.eng-mfg .btn-secondary,.eng-mfg-modal .btn-secondary{background:#f0f0f0;color:#333;border:none;border-radius:8px;padding:8px 14px;font-weight:600;cursor:pointer}.eng-mfg-cases{display:flex;flex-direction:column;gap:12px}.eng-mfg-card.mfg-sum{background:#fff;border:1px solid #e4e5ee;border-radius:14px;padding:0;overflow:hidden;color:#1c1b2e}.mfg-sum-head{display:flex;align-items:center;gap:16px;padding:18px 24px;border-bottom:1px solid #eeeff4}.mfg-sum-mark{width:40px;height:40px;border-radius:10px;background:#ede8ff;color:#4a2fc9;display:flex;align-items:center;justify-content:center;flex-shrink:0}.mfg-sum-id{display:flex;flex-direction:column;gap:2px;min-width:0}.mfg-sum-kicker{font-size:12px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:#5f6075}.mfg-sum-title{display:flex;align-items:baseline;gap:10px;min-width:0}.mfg-sum-title strong{font-size:17px;font-weight:600}.mfg-sum-title span{font-size:14px;color:#4a4b60}.mfg-sum-status{margin-left:8px;display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:#8a4b00;background:#fff4de;border-radius:999px;padding:5px 12px;white-space:nowrap}.mfg-sum-status i{width:7px;height:7px;border-radius:50%;background:#d97706}.mfg-sum-actions{margin-left:auto;display:flex;gap:8px;flex-shrink:0}.mfg-sum-btn{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px;border:1px solid #e4e5ee;background:#fff;border-radius:10px;font:inherit;font-size:14px;font-weight:500;color:#1c1b2e;cursor:pointer}.mfg-sum-btn:hover{background:#fafafd}.mfg-sum-miles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:22px 24px 26px;border-bottom:1px solid #eeeff4;background:#fafafd}.mfg-sum-mile{display:flex;flex-direction:column;gap:10px;min-width:0}.mfg-sum-rail{display:flex;align-items:center}.mfg-sum-dot{width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid #4a2fc9;box-sizing:border-box;flex-shrink:0}.mfg-sum-dot.is-surgery{width:18px;height:18px;border:0;background:#b42318;display:flex;align-items:center;justify-content:center}.mfg-sum-dot.is-surgery span{width:6px;height:6px;border-radius:50%;background:#fff}.mfg-sum-line{flex:1;height:2px;background:#d9d4f5}.mfg-sum-when{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.mfg-sum-when strong{font-size:20px;font-weight:600}.mfg-sum-when em{font-style:normal;font-size:13px;font-weight:500;color:#4a2fc9}.mfg-sum-when em.is-surgery{color:#b42318}.mfg-sum-body{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(200px,.75fr) minmax(0,1.15fr)}.mfg-sum-col{padding:22px 24px;display:flex;flex-direction:column;gap:18px;min-width:0}.mfg-sum-col+.mfg-sum-col{border-left:1px solid #eeeff4}.mfg-sum-col h3,.mfg-sum-col-head h3{margin:0;font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px;color:#2e2a6e}.mfg-sum-col-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.mfg-sum-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.mfg-sum-pair>div,.mfg-sum-stack{display:flex;flex-direction:column;gap:4px;min-width:0}.mfg-sum-stack{gap:8px}.mfg-sum-label{font-size:12px;color:#5f6075}.mfg-sum-pair strong,.mfg-sum-inline strong{font-size:15px;font-weight:500}.mfg-sum-inline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mfg-sum-inline .is-num{font-variant-numeric:tabular-nums}.mfg-sum-view,.mfg-sum-track{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border:1px solid #dcd5fa;background:#f5f2ff;border-radius:8px;font:inherit;font-size:13px;font-weight:500;color:#4a2fc9;text-decoration:none;cursor:pointer}.mfg-sum-track{border-color:transparent}.mfg-sum-tracks{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.mfg-sum-files{display:flex;flex-wrap:wrap;gap:8px}.mfg-sum-file{display:inline-flex;align-items:center;gap:4px}.mfg-sum-remove{width:32px;height:32px;border:1px solid #dcd5fa;background:#fff;border-radius:8px;color:#4a2fc9;font:inherit;font-size:18px;line-height:1;cursor:pointer}.mfg-sum-chips{display:flex;flex-wrap:wrap;gap:8px}.mfg-sum-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid #e4e5ee;border-radius:8px;padding:6px 10px;font-size:13px}.mfg-sum-chip b{font-weight:600;color:#4a2fc9}.mfg-sum-chip span{font-variant-numeric:tabular-nums}.mfg-sum-muted{margin:0;font-size:14px;color:#5f6075}.mfg-sum-address{display:flex;gap:14px;align-items:flex-start;border:1px solid #eeeff4;border-radius:12px;padding:16px}.mfg-sum-address>div{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.mfg-sum-address strong{font-size:15px;font-weight:600}.mfg-sum-address span{font-size:14px;color:#3b3a52}.mfg-sum-pin{width:36px;height:36px;flex-shrink:0;border-radius:9px;background:#f1f2f7;color:#4a4b60;display:flex;align-items:center;justify-content:center}.mfg-sum-phone{display:inline-flex!important;align-items:center;gap:6px;margin-top:4px}.mfg-sum-copy{width:36px;height:36px;border:none;background:transparent;border-radius:8px;color:#5f6075;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.mfg-sum-copy:hover{background:#f1f2f7}@media (max-width: 1180px){.mfg-sum-head{flex-wrap:wrap}.mfg-sum-actions{width:100%;margin-left:0}.mfg-sum-miles,.mfg-sum-body,.mfg-sum-pair{grid-template-columns:1fr}.mfg-sum-col+.mfg-sum-col{border-left:0;border-top:1px solid #eeeff4}}.mfg-ship-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.mfg-ship-lines li{display:grid;grid-template-columns:148px minmax(0,1fr);gap:8px;align-items:baseline}.mfg-ship-lines span{color:#7a7b90;font-size:12px;font-weight:600}.mfg-ship-lines strong,.mfg-ship-empty{font-weight:500;margin:0}.mfg-order-summary,.mfg-order-files li{display:flex;align-items:center;gap:8px}.mfg-order-row{display:flex;align-items:flex-end;gap:8px}.mfg-order-row label{flex:1;display:flex;flex-direction:column;gap:6px;margin:0}.mfg-order-files{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.mfg-order-files li span,.mfg-order-summary span{font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis}.mfg-file-btn,.mfg-add-file,.mfg-eye-btn,.mfg-file-remove{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;font-weight:600}.mfg-file-btn{width:fit-content;min-height:34px;padding:6px 12px;background:#f3eefe;color:#5b2fd6;border:1px solid #d7c6fb;font-size:13px}.mfg-file-btn:hover,.mfg-eye-btn:hover{background:#e7dbfc}.mfg-add-file,.mfg-file-remove{width:36px;height:36px;border:none;background:#8052ec;color:#fff;font-size:22px;line-height:1;flex:0 0 auto}.mfg-file-remove{width:28px;height:28px;font-size:18px;background:#f0f0f0;color:#333}.mfg-eye-btn{width:32px;height:32px;padding:0;border:1px solid #d7c6fb;background:#f3eefe;flex:0 0 auto}.mfg-eye-btn img{width:16px;height:10px;display:block}.mfg-file-name{display:block;margin-top:4px;color:#5f6075;font-size:12px}.eng-mfg-empty,.eng-mfg-status{color:#5f6075}.eng-mfg-table-wrap{overflow:auto;background:#fff;border:1px solid #e4e5ee;border-radius:12px}.eng-mfg-table{width:100%;border-collapse:collapse;min-width:980px}.eng-mfg-table th,.eng-mfg-table td{padding:8px;border-bottom:1px solid #eee;text-align:left;vertical-align:top;font-size:13px}.eng-mfg-table input[type=text],.eng-mfg-table input:not([type=file]):not([type=number]),.eng-mfg-table input[type=number]{width:100%;box-sizing:border-box;border:1px solid #e4e5ee;border-radius:8px;padding:6px 8px}.eng-mfg-photo img{width:48px;height:48px;object-fit:cover;border-radius:6px;display:block}.mfg-photo-open{display:block;margin-bottom:6px;padding:0;border:none;background:transparent;cursor:zoom-in}.eng-mfg-table tr.is-unavailable td{background:#fde8e8}.eng-mfg-table tr.is-low td{background:#fff4cc}.mfg-usage{margin:28px 0 0}.mfg-usage h3{margin:0 0 4px;font-size:16px}.mfg-usage-bar{display:flex;align-items:center;gap:8px;margin:8px 0 12px}.mfg-usage-bar input{border:1px solid #e4e5ee;border-radius:8px;padding:8px 10px}.mfg-usage-table{min-width:0;margin-bottom:8px}.mfg-usage-table tfoot td{font-weight:700}.mfg-stock-units{min-width:140px}.mfg-stock-units strong,.mfg-aux-row strong{display:block;font-size:13px}.stk{display:flex;flex-direction:column;gap:18px;color:#1c1b2e}.stk[hidden]{display:none}.stk-head,.stk-toolbar,.stk-month,.stk-actions,.stk-usage-list>div>div,.stk-usage-total{display:flex;align-items:center;gap:8px}.stk-head{align-items:flex-end;justify-content:space-between;flex-wrap:wrap}.stk-kicker,.stk-id span,.stk-maker span,.stk-maker a,.stk-meter span,.stk-meter em,.stk-legend,.stk-usage p,.stk-empty{color:#5f6075;font-size:13px}.stk-head h3,.stk-usage h3{margin:0;font-size:22px;font-weight:600}.stk-head p,.stk-usage p{margin:4px 0 0}.stk-new,.stk-export,.stk-save,.stk-actions>button,.stk-filters button,.stk-month button{font:inherit;cursor:pointer}.stk-new{display:inline-flex;align-items:center;height:44px;padding:0 18px;border:0;border-radius:10px;background:#5b3fe0;color:#fff;font-weight:600}.stk-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.stk-stats article,.stk-card{background:#fff;border:1px solid #e4e5ee;border-radius:14px}.stk-stats article{display:flex;flex-direction:column;gap:6px;padding:18px 20px}.stk-stats span,.stk-stats em{font-size:13px;font-style:normal;color:#5f6075}.stk-stats strong{font-size:28px;font-variant-numeric:tabular-nums}.stk-stats .is-accent{color:#4a2fc9}.stk-stats .is-alert{background:#fff6f5;border-color:#f6d3cf}.stk-stats .is-alert span,.stk-stats .is-alert em,.stk-stats .is-alert strong{color:#8f1d14}.stk-layout{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start}.stk-card{overflow:hidden}.stk-layout>section{flex:999 1 640px;min-width:0}.stk-usage{flex:1 1 300px;padding:20px;display:flex;flex-direction:column;gap:16px}.stk-toolbar{flex-wrap:wrap;padding:16px 20px;border-bottom:1px solid #eeeff4}.stk-search{flex:1 1 240px;display:flex;height:44px;padding:0 14px;border:1px solid #e4e5ee;border-radius:10px;background:#fafafd}.stk-search input{width:100%;border:0;outline:none;background:transparent;font:inherit;color:#1c1b2e}.stk-filters{display:flex;gap:4px;padding:4px;background:#f1f2f7;border-radius:10px}.stk-filters button{height:36px;padding:0 12px;border:0;border-radius:7px;background:transparent;color:#4a4b60;font-size:13px}.stk-filters button.is-on{background:#fff;color:#1c1b2e;box-shadow:0 1px 2px #1414281f}.stk-scroll{overflow-x:auto}.stk-grid{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(150px,1fr) 250px 130px auto;gap:12px;align-items:center;min-width:860px}.stk-grid-head{padding:12px 20px;color:#5f6075;font-size:12px}.stk-grid-head span:last-child,.stk-actions{justify-content:flex-end}.stk-row{border-top:1px solid #eeeff4}.stk-main{padding:14px 20px}.stk-id,.stk-maker,.stk-meter{display:flex;flex-direction:column;gap:2px;min-width:0}.stk-id{flex-direction:row;align-items:center;gap:12px}.stk-id strong,.stk-maker strong{font-weight:600}.stk-thumb{width:44px;height:44px;flex-shrink:0;border-radius:10px;border:1px solid #e4e5ee;background:#f1f2f7;color:#8a8ba0;display:flex;align-items:center;justify-content:center;padding:0;overflow:hidden}.stk-thumb img{width:100%;height:100%;object-fit:cover}.stk-meter b{font-size:18px;font-variant-numeric:tabular-nums}.stk-row.is-low .stk-meter b{color:#8a4b00}.stk-row.is-out .stk-meter b{color:#b42318}.stk-bar,.stk-usage-list i{display:block;height:8px;border-radius:4px;background:#7b5cff}.stk-bar{display:flex;overflow:hidden;background:#eeeff4}.stk-bar i{height:8px;border-radius:0}.stk-bar [data-bar-avail]{background:#3f8f1f}.stk-row.is-low .stk-bar [data-bar-avail]{background:#d97706}.stk-row.is-out .stk-bar [data-bar-avail]{background:#b42318}.stk-bar [data-bar-comm]{background:#c9bff7}.stk-meter em{font-style:normal;font-size:12px}.stk-pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 12px;font-size:13px;font-weight:500;background:#eaf6e3;color:#2a5e14}.stk-row.is-low .stk-pill{background:#fff4de;color:#8a4b00}.stk-row.is-out .stk-pill{background:#fdecea;color:#8f1d14}.stk-actions>button,.stk-more>button,.stk-menu button{height:40px;border-radius:9px;font:inherit;cursor:pointer}.stk-actions>button[data-stock-restock]{padding:0 12px;border:1px solid #dcd5fa;background:#f5f2ff;color:#4a2fc9}.stk-actions>button[data-stock-edit],.stk-more>button{width:40px;border:1px solid #e4e5ee;background:#fff;color:#3b3a52}.stk-more{position:relative}.stk-menu{position:absolute;right:0;top:44px;z-index:3;display:flex;flex-direction:column;min-width:180px;padding:6px;background:#fff;border:1px solid #e4e5ee;border-radius:10px;box-shadow:0 8px 24px #1414281f}.stk-menu[hidden]{display:none}.stk-menu button{border:0;background:transparent;text-align:left;padding:0 10px;color:#1c1b2e}.stk-edit{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:0 20px 16px;padding:14px;border:1px solid #eeeff4;border-radius:12px;background:#fafafd}.stk-edit[hidden],.stk-composer[hidden]{display:none}.stk-edit label,.stk-file{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#5f6075}.stk-edit input{height:36px;border:1px solid #e4e5ee;border-radius:8px;padding:0 8px;font:inherit;color:#1c1b2e;background:#fff}.stk-save,.stk-export{align-self:end;height:40px;border-radius:10px;border:1px solid #e4e5ee;background:#fff;color:#1c1b2e}.stk-save{background:#5b3fe0;border-color:#5b3fe0;color:#fff}.stk-legend{margin:0;padding:12px 20px;border-top:1px solid #eeeff4;font-size:12px}.stk-month{justify-content:space-between;padding:4px;border:1px solid #eeeff4;border-radius:10px;background:#fafafd}.stk-month button{width:40px;height:40px;border:0;background:transparent;border-radius:8px;font-size:20px}.stk-usage-list{display:flex;flex-direction:column;gap:14px}.stk-use{display:flex;flex-direction:column;gap:6px}.stk-use>div:first-child{display:flex;justify-content:space-between;gap:8px;font-size:13px}.stk-track{height:8px;border-radius:4px;background:#f1f2f7;overflow:hidden}.stk-track i{display:block;height:8px;background:#7b5cff}.stk-usage-total{justify-content:space-between;padding-top:14px;border-top:1px solid #eeeff4}.stk-export{width:100%}.stk-empty{margin:0;padding:20px}.mfg-stock-units label{display:flex;flex-direction:column;gap:2px;margin-top:6px;color:#7a7b90;font-size:11px;font-weight:600}.mfg-aux-row.is-unavailable{background:#fde8e8;border-radius:8px;padding:6px 8px}.mfg-aux-row.is-low{background:#fff4cc;border-radius:8px;padding:6px 8px}#mfg-doc-viewer-image{width:100%;height:100%;object-fit:contain;background:#111}#mfg-doc-viewer-image[hidden],#mfg-doc-viewer-frame[hidden]{display:none!important}.eng-mfg-modal{max-width:760px;max-height:90vh;overflow:auto}.mfg-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}#mfg-shipping-form[hidden]{display:none!important}.mfg-form-grid label,.mfg-form-block{display:flex;flex-direction:column;gap:6px;margin-top:12px;font-size:13px;font-weight:600}.mfg-form-grid input,.mfg-form-grid select,.mfg-form-block textarea,.mfg-form-block input,.mfg-form-block select{font-weight:400;border:1px solid #e4e5ee;border-radius:8px;padding:8px 10px}.mfg-aux-list{display:flex;flex-direction:column;gap:8px}.mfg-aux-row{display:flex;justify-content:space-between;align-items:center;gap:12px;font-weight:400}.mfg-aux-row input{width:90px}.auto-labels-page{min-height:100vh;background:#f3f4f8;color:#1c1b2e;font-family:Poppins,system-ui,sans-serif}.auto-labels-bar,.auto-labels-sheet header,.label-print-card header,.label-stl-card header{display:flex;align-items:center;justify-content:space-between;gap:16px}.auto-labels-bar{padding:16px 24px;background:#fff;border-bottom:1px solid #e4e5ee}.auto-labels-bar h2,.auto-labels-bar p,.auto-labels-form p{margin:0}.auto-labels-bar p,.auto-labels-form p{color:#5f6075;font-size:14px}.auto-labels-bar-actions,.auto-labels-lang,.label-print-actions{display:flex;align-items:center;gap:8px}.auto-labels-lang button,.auto-labels-bar-actions>button,.auto-labels-sheet header button,.auto-labels-photo button,.auto-labels-attach,.label-print-actions button,.label-stl-card button{height:40px;border-radius:10px;border:1px solid #e4e5ee;background:#fff;font:inherit;cursor:pointer;padding:0 14px}.auto-labels-lang button.is-on,.auto-labels-bar-actions>button.auto-labels-attach,.auto-labels-saved-head .auto-labels-attach,.label-print-actions button[data-save],.label-stl-card button[data-use]{background:#4a2fc9;color:#fff;border-color:#4a2fc9}.auto-labels-status{margin:12px 24px 0}.auto-labels-status:empty{display:none}.auto-labels-sheets{display:flex;flex-direction:column;gap:16px;padding:18px 24px 32px}.auto-labels-sheet,.auto-labels-saved{background:#fff;border:1px solid #e4e5ee;border-radius:14px}.label-print-card label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#5f6075}.label-print-card select{height:38px;border:1px solid #e4e5ee;border-radius:8px;padding:0 10px;font:inherit;color:#1c1b2e}.auto-labels-sheet header,.auto-labels-saved{padding:12px 14px}.auto-labels-sheet header label{display:flex;align-items:center;gap:8px;font-weight:600}.label-stage{position:relative;width:100%;aspect-ratio:1640 / 1000;container-type:inline-size;background:#fff}.label-stage canvas,.label-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.label-hit{position:absolute;z-index:2;font-size:calc(100cqi * 26 / 1640);line-height:1.15;font-weight:600;min-width:4%}.hit-commercial{left:23.9%;top:25.2%;width:36%}.hit-patient{left:23.9%;top:30.4%;width:36%}.hit-made{left:23.9%;top:38.2%;width:28%}.hit-trace{left:23.9%;top:43%;width:36%}.hit-material{left:23.9%;top:54.5%;width:auto;max-width:none}.hit-lot{left:46%;top:55%;width:15%;background:transparent}.hit-hospital{left:23.9%;top:61%;width:34%}.hit-prescriber,.hit-license{top:72.8%;width:18.6%;height:4.6%;box-sizing:border-box;padding:1px 8px;overflow:hidden;white-space:nowrap;line-height:1.05}.hit-prescriber{left:17.6%}.hit-license{left:38.35%}.hit-photo{left:63.4%;top:18%;width:32.9%;height:56%}.hit-order{left:64%;top:17.6%;width:22%}.hit-supplier{left:4.1%;top:41.2%;width:28%}.hit-order-product{left:3.2%;top:56.4%;width:40%}.hit-order-trace{left:52.4%;top:56.2%;width:40%}.hit-delivery{left:3.2%;top:72.6%;width:30%}.hit-qty{left:52.4%;top:72.6%;width:16%}.label-face{position:relative;padding:22px 28px 18px;color:#1c1b2e}.label-logo{width:180px;height:auto}.label-marks{position:absolute;top:22px;right:28px;display:flex;gap:12px;align-items:flex-start}.label-md{width:54px;height:42px;border:2px solid #111;display:flex;align-items:center;justify-content:center;font-weight:700}.label-sterile{width:58px;height:50px;clip-path:polygon(50% 0,100% 100%,0 100%);border:2px solid #111;display:flex;align-items:flex-end;justify-content:center;text-align:center;font-size:9px;font-weight:700;line-height:1.1;padding-bottom:6px;box-sizing:border-box;background:linear-gradient(#111,#111) top 2px left 50% / 2px 100% no-repeat}.label-title{display:flex;align-items:center;gap:8px;margin:8px 0 16px;font-size:22px}.label-title i{width:18px;height:16px;border-left:9px solid transparent;border-right:9px solid transparent;border-bottom:16px solid #111;color:#fff;font-style:normal;font-size:11px;display:inline-flex;align-items:flex-end;justify-content:center}.label-main{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr);gap:18px}.label-fields p,.label-prescriber{display:grid;grid-template-columns:190px minmax(0,1fr);gap:8px;align-items:center;margin:0 0 8px;font-size:14px}.label-pills{grid-template-columns:190px auto auto auto auto}.label-fields em,.label-value.is-pill{background:#e7e4fb;color:#3d3494;border-radius:999px;padding:3px 10px;font-style:normal;font-weight:600;width:fit-content}.label-fields em[data-copy=classIib]{background:#d9f6ea;color:#1c7a52}.label-value{min-width:24px;border-radius:4px;outline:none;padding:1px 4px;font-weight:600}.label-value:hover{background:#4a2fc914}.label-value:focus{background:#fff;box-shadow:0 0 0 1px #4a2fc9}.label-material{border:0;background:#e4e8fb;color:#243056;border-radius:999px;height:28px;width:auto;padding:0 8px;font:inherit;font-weight:600}.label-prescriber{align-items:start}.label-prescriber table,.label-face-order table{border-collapse:collapse;width:100%}.label-prescriber th,.label-prescriber td,.label-face-order th,.label-face-order td{border:1px solid #222;padding:6px 8px;text-align:left;font-weight:500}.label-stage .label-photo{min-height:0;border:0;background:transparent;display:flex;align-items:center;justify-content:center}.label-photo.has-image{border-style:solid}.label-photo img{width:100%;height:280px;object-fit:contain}.label-photo-add{border:1px dashed #999;background:#fff;border-radius:8px;min-height:72px;padding:12px 16px;cursor:pointer;font:inherit}.label-photo.has-image .label-photo-add{display:none}.label-photo img[hidden],.label-photo-x[hidden]{display:none!important}.label-photo-x{display:none;position:absolute;top:8px;right:8px;width:24px;height:24px;border:0;border-radius:50%;background:#0000008c;color:#fff;cursor:pointer}.label-photo.has-image:hover .label-photo-x,.label-photo.has-image:focus-within .label-photo-x{display:block}.label-maker{position:absolute;right:8px;bottom:8px;left:8px;margin:0;font-size:12px;line-height:1.35}.label-face-order{display:grid;grid-template-columns:220px minmax(0,1fr);gap:12px 24px}.label-order-title strong{font-size:28px;line-height:1.15}.label-order-grid{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:18px 28px}.label-order-grid h4,.label-order-foot{margin:0 0 8px;font-size:16px}.label-order-foot{grid-column:1 / -1;margin-top:12px}.auto-labels-sheet[hidden]{display:none!important}.auto-labels-saved-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.auto-labels-saved h3{margin:0;font-size:15px}.auto-labels-saved-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0}.auto-labels-saved-row button[data-remove-label]{width:32px;height:32px;padding:0;border-radius:8px;border:1px solid #e4e5ee;background:#fff;cursor:pointer;font:inherit}.label-print-dialog,.label-stl-dialog{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4000;background:#14122873;display:flex;align-items:center;justify-content:center;padding:24px}.label-print-card,.label-stl-card{width:min(560px,100%);background:#fff;border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:12px}.label-stl-card{width:min(920px,100%)}.label-print-card img{width:100%;background:#f3f4f8;border-radius:8px}.label-print-card header button,.label-stl-card header button{border:0;background:transparent;font-size:24px;cursor:pointer}.label-stl-files{display:flex;flex-wrap:wrap;gap:8px 14px;max-height:88px;overflow:auto}.label-stl-stage{height:420px;background:#fff;border:1px solid #e4e5ee;border-radius:12px;overflow:hidden}.label-stl-stage canvas{width:100%;height:100%;display:block}@media (max-width: 980px){.label-main,.label-face-order,.label-order-grid,.label-fields p,.label-prescriber{grid-template-columns:1fr}}.home-page{display:flex;flex-direction:column;min-height:100vh}.beta-warning{background:#fff3cd;border-bottom:1px solid #ffeeba;color:#856404;padding:12px 20px;font-size:.95rem;text-align:center;flex-shrink:0;overflow:hidden;max-height:100px;opacity:1;transform:translateY(0);transition:max-height .5s ease-out,opacity .5s ease-out,padding .5s ease-out,margin .5s ease-out,transform .5s ease-out}.beta-warning.hide{max-height:0;opacity:0;padding-top:0;padding-bottom:0;margin:0;transform:translateY(-100%);border-bottom:none}.home-container{display:grid;grid-template-columns:auto 1fr;height:calc(100vh - var(--app-topbar-offset, 72px));background:#f7f8fc}.sidebar{background:#fff;border-right:1px solid #e6e6e6;padding:16px 10px;display:flex;flex-direction:column;align-items:center;gap:12px;width:72px;box-sizing:border-box}.sidebar .menu-item{display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border-radius:10px;cursor:pointer;background:#f0f0f0;transition:background .2s,box-shadow .2s}.sidebar .menu-item:hover{background:#e8e8e8}.sidebar .menu-item.active{background:linear-gradient(135deg,#b388f3,#8052ec);box-shadow:0 2px 8px #8052ec59}.sidebar .menu-item-icon{width:24px;height:24px;object-fit:contain;display:block;pointer-events:none}.sidebar .menu-item.active .menu-item-icon{filter:brightness(0) invert(1)}.content{padding:20px;overflow-y:auto!important;overflow-x:hidden;box-sizing:border-box;height:100%;max-height:100%;min-height:0;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.3) transparent}.content::-webkit-scrollbar{width:8px}.content::-webkit-scrollbar-track{background:transparent}.content::-webkit-scrollbar-thumb{background-color:#0000004d;border-radius:4px}.content::-webkit-scrollbar-thumb:hover{background-color:#00000080}.section-content{width:100%}.search-bar{display:flex;align-items:center;gap:10px;margin-bottom:1rem}.search-bar input{flex:1;padding:8px 12px;border:1px solid #ddd;border-radius:8px;font-size:14px}.search-bar button{padding:8px 14px;border:none;border-radius:8px;cursor:pointer;font-size:14px;background:linear-gradient(135deg,#b388f3,#8052ec);color:#fff}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem}.stat-card{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 2px 6px #00000014;text-align:center}.stat-card .stat-value{font-size:2rem;font-weight:700;margin-bottom:.5rem}.stat-card .stat-label{font-size:.9rem;color:#666}.stat-card.total .stat-value{color:#333}.stat-card.pending .stat-value{color:#f39c12}.stat-card.production .stat-value{color:#3498db}.stat-card.completed .stat-value{color:#27ae60}.orders-header{margin-bottom:1.5rem}.orders-header h2{font-size:1.5rem;font-weight:600;color:#333}.orders-table{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 6px #00000014}.orders-table table{width:100%;border-collapse:collapse}.orders-table thead{background:#f8f9fa}.orders-table th{padding:1rem;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #e6e6e6}.orders-table td{padding:1rem;border-bottom:1px solid #e6e6e6}.orders-table tbody tr:hover{background:#f8f9fa}.empty-state{text-align:center;padding:3rem;color:#666}.action-btn{padding:.4rem .8rem;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s}.action-btn.start{background:#3498db;color:#fff}.action-btn.start:hover{background:#2980b9}.action-btn.complete{background:#27ae60;color:#fff}.action-btn.complete:hover{background:#229954}.status{padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:500}.status.pending{background:#fff3cd;color:#856404}.status.in_production{background:#cfe2ff;color:#084298}.status.completed{background:#d1e7dd;color:#0f5132}.priority{padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:500}.priority.high{background:#f8d7da;color:#721c24}.priority.normal{background:#d1ecf1;color:#0c5460}.manufacturing-page #details-panel.details-panel{position:fixed;top:var(--app-topbar-offset, 72px);right:-450px;width:400px;height:calc(100vh - var(--app-topbar-offset, 72px));background:#fff;border-left:1px solid #e6e6e6;box-shadow:-2px 0 6px #00000014;padding:20px;transition:right .3s ease-in-out;z-index:20}.manufacturing-page #details-panel.details-panel.open{right:0}.details-panel .user-header{display:flex;justify-content:space-between;align-items:center;margin:-20px -20px 20px;padding:1.25rem 1.5rem;background:linear-gradient(135deg,#b388f3,#d4b5f7);border-bottom:none;box-shadow:0 2px 4px #0000001a}.details-panel .user-header .info-title{font-weight:700!important;font-size:1.5rem!important;color:#fff!important;letter-spacing:.5px!important}.details-panel .user-header .close-btn{background:#fff3;border:none;font-size:1.5rem;cursor:pointer;color:#fff;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s;font-weight:300}.details-panel .user-header .close-btn:hover{background-color:#ffffff4d;transform:rotate(90deg)}.details-panel .details{padding:1.5rem 1.5rem 1.5rem 2rem;display:flex;flex-direction:column;height:calc(100vh - 200px);overflow-y:auto;overflow-x:hidden;background:#f9f9fb;border-radius:10px}.order-details-content{padding:1.5rem;display:flex;flex-direction:column;flex:1;min-height:0}.order-header h3{margin:0 0 1.5rem;font-size:1.5rem;color:#333;font-weight:600}.order-info-section{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #e0e0e0}.order-info-section p{margin:.75rem 0;color:#555;font-size:.95rem}.manufacturing-files-section{margin-bottom:2rem}.manufacturing-files-section h4{margin:0 0 1rem;font-size:1.1rem;color:#333;font-weight:600}.manufacturing-files-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.manufacturing-file-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#fff;border:1px solid #e0e0e0;border-radius:6px}.file-info{flex-grow:1;display:flex;flex-direction:column;gap:.25rem}.file-name{font-weight:500;color:#333;font-size:.95rem}.file-material{font-size:.85rem;color:#666}.btn-download-file,.btn-download-all,.btn-view-design{padding:.5rem 1rem;background:#6c5ce7;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;transition:background .2s;white-space:nowrap}.btn-download-file:hover,.btn-download-all:hover,.btn-view-design:hover{background:#5a4fcf}.btn-download-all{width:100%;margin-top:.5rem;padding:.75rem;font-weight:500}.order-actions{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e0e0e0}.btn-view-design{width:100%;padding:.75rem;font-weight:500}.patient-modal-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#00000080}.patient-modal-content{background-color:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1001;width:90%;max-width:720px;position:relative;max-height:90vh;overflow-y:auto}.patient-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:12px}.patient-modal-header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.onboarding-lang-selector{height:34px;padding:4px 10px;border:1px solid #e6e6e6;border-radius:8px;background:#fff;color:#333;font-size:.9rem;cursor:pointer}.patient-modal-close{background:none;border:none;font-size:24px;color:#333;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%}.mesh-item{display:flex;align-items:center;gap:6px;padding:4px 2px;font-size:13px;cursor:pointer}.mesh-item input[type=checkbox]{cursor:pointer;width:16px;height:16px;transform:scale(.6);transform-origin:center;border-radius:50%;border:2px solid #444;background-color:#a0a0a0;-moz-appearance:none;appearance:none;-webkit-appearance:none;position:relative;box-sizing:border-box;flex-shrink:0}.mesh-item input[type=checkbox]:checked{background-color:#6c5ce7;border-color:#6c5ce7}.mesh-item input[type=checkbox]:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:20px;font-weight:700;line-height:1}.mesh-item span{-webkit-user-select:none;user-select:none}.anatomy-row{cursor:default;justify-content:space-between}.anatomy-label{display:flex;align-items:center;gap:6px;min-width:0;cursor:pointer;flex:1}.anatomy-opacity{width:72px;height:4px;flex-shrink:0;accent-color:#6c5ce7;cursor:pointer}.btn-calc-thickness{flex-shrink:0;border:1px solid #cfc7e8;background:#fff;color:#5b4db7;border-radius:6px;font-size:.68rem;font-weight:700;line-height:1.2;padding:.2rem .45rem;cursor:pointer}.btn-calc-thickness:hover{background:#f4f1fb}.btn-calc-thickness:disabled{opacity:.65;cursor:progress}.btn-calc-thickness.is-on{background:#5b4db7;color:#fff;border-color:#5b4db7}#view-panel-3d{position:relative}.viewer-thickness-legend{position:absolute;right:10px;bottom:36px;z-index:6;display:flex;flex-direction:column;gap:8px;pointer-events:none}.viewer-thickness-legend[hidden]{display:none!important}.viewer-thickness-card{background:#fff;border:1px solid #e4e0ee;border-radius:10px;padding:8px 10px;width:168px;box-shadow:0 4px 14px #2d20501f}.viewer-thickness-card[hidden]{display:none!important}.viewer-thickness-card .legend-title{font-size:11px;font-weight:700;margin-bottom:6px;color:#2d2050}.viewer-thickness-card .legend-bar{height:8px;border-radius:4px;margin-bottom:4px;background:linear-gradient(90deg,#d6446b,#e8d93d,#2fa86a)}.viewer-thickness-card .legend-bar--implant{background:linear-gradient(90deg,#c00,#ffe600,#12c44a 66%,#1a4cff)}.viewer-thickness-card .legend-scale{display:flex;justify-content:space-between;font-size:10px;font-weight:600;color:#6b6580}.mua-slice-toggle{display:flex;align-items:center;gap:6px;font-size:11px;color:#cfcfe0;cursor:pointer;-webkit-user-select:none;user-select:none;margin-right:8px}.mua-slice-toggle input{accent-color:#6c5ce7;cursor:pointer}.planification-item{padding:6px 4px;font-size:13px}.planification-checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.planification-checkbox-label:hover{opacity:.8}.planification-checkbox{width:10px;height:10px;transform:scale(.6);transform-origin:center;border-radius:50%;border:2px solid #444;background-color:#2b2b2b;-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;position:relative}.planification-checkbox:checked{background-color:#6c5ce7;border-color:#6c5ce7}.planification-checkbox:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:20px;font-weight:700}.planification-checkbox-label span{color:#585858;font-size:14px}.vsp-section{margin-top:0;padding-top:0}.files-section.vsp-section .section-header{justify-content:flex-end;border-bottom:1px solid #cfc7e8}.viewer-planning-approvals-block{padding:1rem;border-bottom:1px solid #b1b1b1}.vsp-row{display:flex;align-items:center;gap:4px}.vsp-row .mesh-item{flex:1;min-width:0}.vsp-row .mesh-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vsp-type-empty{font-size:12px;color:#888;padding:2px 4px 6px 22px}.vsp-type-switch{display:flex;flex-shrink:0;border:1px solid #cfc7e8;border-radius:4px;overflow:hidden}.vsp-type-switch-opt{margin:0;padding:2px 6px;border:none;background:#fff;color:#666;font-size:9px;font-weight:600;line-height:1.3;cursor:pointer}.vsp-type-switch-opt+.vsp-type-switch-opt{border-left:1px solid #cfc7e8}.vsp-type-switch-opt.active{background:#6c5ce7;color:#fff}.vsp-type-switch-opt:disabled{opacity:.6;cursor:not-allowed}.btn-delete-vsp{flex-shrink:0;width:22px;height:22px;padding:0;border:none;border-radius:4px;background:transparent;color:#8a6a6a;font-size:16px;line-height:1;cursor:pointer}.btn-delete-vsp:hover{background:#f3d6d6;color:#b42318}.vsp-header-actions{display:flex;align-items:center;gap:.35rem}.btn-download-vsp{padding:4px 10px;background:#fff;color:#6c5ce7;border:1px solid #6c5ce7;border-radius:4px;cursor:pointer;font-size:.75rem;font-weight:600;white-space:nowrap}.btn-download-vsp:hover{background:#f0edff}.btn-download-vsp:disabled{opacity:.6;cursor:not-allowed}.btn-upload-vsp{padding:4px 10px;background:#6c5ce7;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.75rem;font-weight:600;white-space:nowrap}.btn-upload-vsp:hover{background:#5a4fcf}.btn-upload-vsp:disabled{opacity:.6;cursor:not-allowed}.vsp-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12000;display:flex;align-items:center;justify-content:center}.vsp-modal-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000073}.vsp-modal-content{position:relative;width:min(420px,calc(100vw - 2rem));max-height:calc(100vh - 3rem);overflow:auto;background:#f7f6fb;border:1px solid #cfc7e8;border-radius:10px;padding:1.25rem;box-shadow:0 12px 40px #0000002e}.vsp-modal-content-wide{width:min(760px,calc(100vw - 2rem))}.vsp-modal-content h3{margin:0 0 .5rem;font-size:1.05rem;color:#544366}.vsp-modal-help{margin:0 0 1rem;font-size:.85rem;color:#666;line-height:1.4}.vsp-modal-pick{width:100%;padding:.6rem .75rem;background:#fff;border:1px dashed #6c5ce7;border-radius:6px;color:#6c5ce7;cursor:pointer;font-size:.85rem;font-weight:600}.vsp-modal-pick:hover{background:#f0edff}.vsp-upload-queue{margin-top:.85rem;display:flex;flex-direction:column;gap:.65rem}.vsp-queue-empty{margin:.25rem 0 0;font-size:.8rem;color:#888}.vsp-queue-item{display:grid;grid-template-columns:minmax(0,1fr) 36px;grid-template-areas:"original remove" "name name" "layer layer" "material material";gap:.45rem .6rem;align-items:center;padding:.75rem .85rem;background:#fff;border:1px solid #ddd5f0;border-radius:8px}.vsp-queue-field{display:flex;flex-direction:column;gap:.2rem;font-size:.72rem;color:#666;min-width:0}.vsp-queue-name-field{grid-area:name}.vsp-queue-layer-field{grid-area:layer}.vsp-material-field{grid-area:material}.vsp-layer-combobox,.vsp-material-combobox{position:relative}.vsp-material-field[hidden]{display:none!important}.vsp-material-trigger{position:relative;width:100%;min-height:36px;padding:.4rem 1.6rem .4rem .55rem;border:1px solid #ddd;border-radius:4px;font-size:.8rem;font-weight:600;text-align:left;background:#fff;color:#444;cursor:pointer}.vsp-material-trigger:after{content:"";position:absolute;right:.55rem;top:50%;width:10px;height:6px;transform:translateY(-50%);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23555' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat center;background-size:contain;pointer-events:none}.vsp-material-trigger-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vsp-material-dropdown{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:40;margin:0;padding:4px 0;max-height:220px;overflow-y:auto;list-style:none;background:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 8px 20px #0000001f}.vsp-material-option{padding:.45rem .6rem;font-size:.8rem;font-weight:600;cursor:pointer}.vsp-material-option.is-selected{outline:2px solid #8052ec;outline-offset:-2px}.vsp-material-color{width:100%;height:36px;margin-top:.35rem;padding:0;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer}.vsp-material-color[hidden]{display:none!important}.vsp-layer-dropdown{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 2px);margin:0;padding:4px 0;list-style:none;background:#fff;border:1px solid #d5d0e6;border-radius:6px;max-height:180px;overflow:auto;box-shadow:0 8px 20px #0000001f}.vsp-layer-option{padding:6px 10px;cursor:pointer;font-size:.85rem;color:#333}.vsp-layer-option.is-active,.vsp-layer-option:hover{background:#efeaff}.vsp-layer-option.is-custom{color:#5b4db7}.vsp-queue-original{grid-area:original;min-width:0;font-size:.75rem;color:#777;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vsp-queue-name{grid-area:name}.vsp-queue-type{grid-area:type}.vsp-queue-remove{grid-area:remove;width:32px;height:32px;border:none;border-radius:6px;background:transparent;color:#666;font-size:1.25rem;line-height:1;cursor:pointer;justify-self:end}.vsp-queue-remove:hover{color:#b42318}.vsp-modal-input{width:100%;box-sizing:border-box;padding:.55rem .7rem;border:1px solid #ccc;border-radius:6px;font-size:.85rem;color:#333;background:#fff}.vsp-modal-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1.1rem}.vsp-upload-progress{display:flex;flex-direction:column;gap:.85rem}.vsp-upload-progress[hidden],#vsp-upload-form[hidden]{display:none}.vsp-upload-progress-list{display:flex;flex-direction:column;gap:.75rem;max-height:320px;overflow:auto}.vsp-upload-progress .upload-progress-row{display:flex;flex-direction:column;gap:.3rem}.vsp-upload-progress .upload-progress-name{font-size:.88rem;font-weight:600;color:#333;word-break:break-word}.vsp-upload-progress .upload-progress-track{height:10px;background:#eceaf3;border-radius:999px;overflow:hidden}.vsp-upload-progress .upload-progress-fill{height:100%;width:0;background:#8052ec;border-radius:999px;transition:width .15s ease}.vsp-upload-progress .upload-progress-fill.is-indeterminate{width:40%!important;animation:vsp-upload-progress-indeterminate 1s ease-in-out infinite}.vsp-upload-progress .upload-progress-row.is-done .upload-progress-fill{background:#2e9e5b}.vsp-upload-progress .upload-progress-row.is-error .upload-progress-fill{background:#c44536}.vsp-upload-progress .upload-progress-status{font-size:.78rem;color:#666}.vsp-upload-progress .upload-progress-row.is-done .upload-progress-status{color:#2e9e5b;font-weight:600}.vsp-upload-progress .upload-progress-row.is-error .upload-progress-status{color:#c44536;font-weight:600}@keyframes vsp-upload-progress-indeterminate{0%{transform:translate(-120%)}to{transform:translate(280%)}}.vsp-modal-cancel,.vsp-modal-submit,.vsp-modal-danger{padding:.55rem 1rem;border-radius:6px;font-size:.85rem;cursor:pointer}.vsp-modal-cancel{background:#fff;border:1px solid #bbb;color:#444}.vsp-modal-submit{background:#6c5ce7;border:none;color:#fff;font-weight:600}.vsp-modal-submit:disabled,.vsp-modal-danger:disabled{opacity:.6;cursor:not-allowed}.vsp-modal-danger{background:#b42318;border:none;color:#fff;font-weight:600}.mesh-group{margin-bottom:8px}.mesh-group-title{font-weight:600;margin:6px 0 4px;font-size:12px;opacity:.85}.viewer-planning-page{display:flex;flex-direction:column;height:100vh;background:#111;color:#3f3e3e;overflow:hidden}.viewer-planning-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:linear-gradient(to right,#fafafc,#fff);border-bottom:1px solid #b1b1b1}.viewer-planning-header-left{display:flex;align-items:center;gap:1rem}.viewer-planning-header-left img{height:40px;object-fit:contain}.viewer-planning-header-right{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.6rem}.viewer-planning-btn-back{padding:8px 16px;background:#6c5ce7;color:#eee;border:1px solid #a49be7;border-radius:20px;cursor:pointer;font-size:.9rem;transition:background .2s}.viewer-planning-btn-back:hover{background:#333}.viewer-planning-btn-secondary{padding:8px 16px;background:#6c5ce7;color:#fff;border:none;border-radius:20px;cursor:pointer;font-size:.9rem;transition:background .2s}.viewer-planning-btn-secondary:hover{background:#5a4fcf}.viewer-planning-btn-secondary.btn-sent{background:#27ae60;border-color:#27ae60;cursor:default;opacity:.85}.viewer-planning-btn-secondary.btn-sent:hover{background:#27ae60}.viewer-planning-header h2{margin:0;font-size:1.2rem;color:#6c5ce7}.viewer-planning-container{display:flex;flex:1;overflow:hidden}.viewer-planning-side-rail{flex:0 0 46px;width:46px;display:flex;justify-content:center;padding-top:12px;box-sizing:border-box;background:#f4f3ff;z-index:3}.viewer-planning-side-rail-left{border-right:1px solid #d8d4e5}.viewer-planning-side-rail-right{border-left:1px solid #d8d4e5}.viewer-planning-rail-btn{width:34px;height:34px;display:grid;place-items:center;padding:0;border:1px solid #c8c1dc;border-radius:9px;background:#fff;color:#6c5ce7;cursor:pointer;font:700 20px/1 Georgia,serif}.viewer-planning-rail-btn:hover,.viewer-planning-rail-btn.is-active{color:#fff;border-color:#6c5ce7;background:#6c5ce7}.viewer-planning-rail-btn svg{width:19px;height:19px;fill:currentColor}.viewer-planning-sidebar{width:400px;flex:0 0 400px;background:linear-gradient(to bottom,#f4f3ff,#e8e6f0);border-right:1px solid #b1b1b1;display:flex;flex-direction:column;overflow-y:auto;transition:width .25s ease,flex-basis .25s ease}.viewer-planning-container.case-sidebar-collapsed .viewer-planning-sidebar{width:0;flex-basis:0;border-right:0;overflow:hidden}.viewer-photos-drawer{width:0;flex:0 0 0;min-width:0;height:100%;display:flex;flex-direction:column;box-sizing:border-box;overflow:hidden;background:#f4f3ff;border-left:0 solid #b1b1b1;transition:width .25s ease,flex-basis .25s ease}.viewer-photos-drawer.is-open{width:800px;flex-basis:800px;border-left-width:1px}.viewer-photos-header{flex:0 0 54px;width:800px;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;box-sizing:border-box;background:#6c5ce7;color:#fff}.viewer-photos-header h2{margin:0;font-size:16px;color:#fff}.viewer-photos-header button{width:30px;height:30px;border:0;border-radius:50%;background:#ffffff2e;color:#fff;font-size:22px;line-height:1;cursor:pointer}.viewer-photo-stage{flex:1 1 50%;width:800px;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px;padding:12px;box-sizing:border-box;border-bottom:1px solid #d8d4e5}.viewer-photo-stage h3{margin:0;color:#544366;font-size:14px}.viewer-photo-frame{position:relative;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:8px;background:#17151c}.viewer-photo-frame img{width:100%;height:100%;object-fit:contain}.viewer-photo-frame p{padding:12px;color:#c9c6d2;text-align:center}.viewer-photo-expand{position:absolute;top:8px;right:8px;z-index:3;width:36px;height:36px;border:0;border-radius:7px;background:#0000009e;color:#fff;font-size:20px;cursor:pointer}.viewer-photo-expand:disabled{display:none}.viewer-photo-arrow{position:absolute;top:50%;z-index:2;width:34px;height:44px;border:0;border-radius:7px;background:#00000085;color:#fff;font-size:30px;line-height:1;cursor:pointer;transform:translateY(-50%)}.viewer-photo-arrow.is-prev{left:8px}.viewer-photo-arrow.is-next{right:8px}.viewer-photo-arrow:disabled{display:none}.viewer-photo-meta{min-width:0;display:flex;justify-content:space-between;gap:8px;color:#6f6879;font-size:11px}.viewer-photo-meta [data-photo-name]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-photo-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:grid;place-items:center;padding:20px;box-sizing:border-box;background:#000000d1}.viewer-photo-lightbox[hidden]{display:none!important}.viewer-photo-lightbox-dialog{position:relative;width:min(1400px,calc(100vw - 40px));height:calc(100vh - 40px);display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:10px;background:#111}.viewer-photo-lightbox-dialog img{width:100%;height:100%;object-fit:contain}.viewer-photo-lightbox-close,.viewer-photo-lightbox-arrow{position:absolute;z-index:2;border:0;background:#ffffffe6;color:#202124;cursor:pointer}.viewer-photo-lightbox-close{top:12px;right:12px;width:42px;height:42px;border-radius:50%;font-size:28px}.viewer-photo-lightbox-arrow{top:50%;width:48px;height:64px;border-radius:9px;font-size:38px;transform:translateY(-50%)}.viewer-photo-lightbox-arrow.is-prev{left:14px}.viewer-photo-lightbox-arrow.is-next{right:14px}.viewer-photo-lightbox-arrow:disabled{display:none}.viewer-photo-lightbox-caption{position:absolute;left:16px;right:16px;bottom:12px;color:#fff;text-align:center;text-shadow:0 1px 3px #000}@media (max-width: 1100px){.viewer-planning-sidebar{width:320px;flex-basis:320px}.viewer-photos-drawer.is-open,.viewer-photo-stage,.viewer-photos-header{width:640px}.viewer-photos-drawer.is-open{flex-basis:640px}}.viewer-planning-info-panel,.viewer-planning-files-panel{padding:1rem;border-bottom:1px solid #b1b1b1}.viewer-planning-files-panel{flex:1;min-height:0;overflow-y:auto}.viewer-planning-case-info-details{width:100%}.viewer-planning-case-info-summary{cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none;padding:0;padding-right:1.5rem;margin:0 0 .75rem;display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;position:relative}.viewer-planning-case-info-summary::-webkit-details-marker{display:none}.viewer-planning-case-info-summary:after{content:"▶";display:inline-block;font-size:.7rem;color:#6c5ce7;transition:transform .2s;position:absolute;right:0;top:.5rem}.viewer-planning-case-info-details[open] .viewer-planning-case-info-summary:after{transform:rotate(90deg)}.viewer-planning-case-info-summary h3{margin:0;font-size:1rem;color:#ddd;width:100%}.viewer-planning-case-id-header{font-size:.9rem;color:#aaa;font-weight:500;width:100%}.viewer-planning-info-panel h3,.viewer-planning-files-panel h3{margin:0 0 1rem;font-size:1rem;color:#544366}.viewer-planning-info-content{display:flex;flex-direction:column;gap:.75rem;padding-top:.5rem}.viewer-planning-info-item{display:flex;flex-direction:column;gap:.25rem;padding:0rem .4rem;background-color:#8779a8a2;border-radius:6px}.viewer-planning-info-label{font-size:.7rem;color:#d6d4d6}.viewer-planning-info-value{font-size:.7rem;color:#eee;font-weight:500}.files-tabs{display:flex;text-align:left;gap:.5rem;margin-bottom:1rem;border-bottom:1px solid #968ce2}.file-tab{padding:.4rem .75rem;background:transparent;color:#858484;border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:.9rem;transition:all .2s}.file-tab:hover{color:#6c5ce7}.file-tab.active{color:#fff;background:#6c5ce75e;border-top-left-radius:10px;border-top-right-radius:10px}.case-implant-group{margin-bottom:.5rem;background:#1a1a1a;border:1px solid #ffffff;border-radius:6px;overflow:hidden}.case-implant-group-summary{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;cursor:pointer;font-size:.9rem;transition:background .2s;list-style:none}.case-implant-group-summary::-webkit-details-marker{display:none}.case-implant-group-summary:before{content:"▶";margin-right:.5rem;transition:transform .2s;color:#666}.case-implant-group[open] .case-implant-group-summary:before{transform:rotate(90deg)}.case-implant-group-summary:hover{background:#222}.case-implant-group-summary .implant-name{color:#ddd;font-weight:500}.case-implant-group-summary .implant-count{color:#aaa;font-size:.85rem}.case-implant-items{padding:.5rem 1rem .75rem;border-top:1px solid #333;display:flex;flex-direction:column;gap:.5rem}.case-implant-item-individual{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:#111;border:1px solid #2a2a2a;border-radius:4px;font-size:.85rem;transition:background .2s}.case-implant-item-individual:hover{background:#1a1a1a}.case-implant-item-individual{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.case-implant-item-individual .implant-item-label{color:#ccc;flex:1}.implant-item-actions{display:flex;align-items:center;gap:.25rem}.btn-annotate-implant,.btn-delete-implant{background:transparent;border:none;cursor:pointer;font-size:1rem;padding:.25rem .5rem;border-radius:4px;transition:all .2s;display:flex;align-items:center;justify-content:center}.btn-annotate-implant{color:#6c5ce7}.btn-annotate-implant:hover{background:#6c5ce71a;transform:scale(1.1)}.btn-annotate-implant:active{transform:scale(.95)}.btn-delete-implant{color:#e74c3c}.btn-delete-implant:hover{background:#e74c3c1a;transform:scale(1.1)}.btn-delete-implant:active{transform:scale(.95)}.files-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:2rem;margin-left:1.5rem}.file-item{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:#111;border:1px solid #333;border-radius:6px;position:relative}.file-name{font-size:.9rem;color:#eee;word-break:break-word}.file-meta{display:flex;justify-content:space-between;font-size:.75rem;color:#999}.file-download-btn{position:absolute;top:.75rem;right:.75rem;background:transparent;border:none;color:#6c5ce7;cursor:pointer;font-size:1.2rem;padding:.25rem;transition:transform .2s}.file-download-btn:hover{transform:scale(1.1)}.files-empty{padding:2rem;text-align:center;color:#666}.files-hint{font-size:.8rem;color:#555;margin-top:.5rem}.files-section{display:block}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid #333;gap:.4rem}.section-header h4{margin:0;font-size:.8rem;color:#544366;font-weight:600}.btn-load-folder,.btn-load-dicom,.btn-load-implant,.btn-refresh{padding:4px 8px;background:#6c5ce7;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.75rem;transition:background .2s}.btn-load-folder:hover,.btn-load-dicom:hover,.btn-load-implant:hover{background:#5a4fcf}.btn-refresh{background:#2b2b2b;border:1px solid #444;padding:4px 8px;font-size:.9rem}.btn-refresh:hover{background:#333}.dicom-folder-info{padding:.75rem;background:#1a1a1a;border-radius:6px;margin-bottom:.75rem}.dicom-folder-info p{margin:0 0 .5rem;font-size:.85rem;color:#aaa}.btn-load-dicom{width:100%;padding:8px;font-size:.85rem}.files-list-items{max-height:400px;overflow-y:auto}.files-more{padding:.5rem;text-align:center;color:#777;font-size:.75rem;font-style:italic}.library-category-details{margin-bottom:.75rem;border-radius:12px;background:#ffffffa2;overflow:hidden}.category-summary{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none;background:#8779a8a2;transition:background .2s}.category-summary::-webkit-details-marker{display:none}.category-summary:before{content:"▶";margin-right:.5rem;font-size:.7rem;color:#fff;transition:transform .2s}.library-category-details[open] .category-summary:before{transform:rotate(90deg)}.category-summary:hover{background:#674fa0a2}.category-title{font-size:.8rem;font-weight:500;color:#fff}.category-count{font-size:.75rem;color:#fff;font-weight:400}.library-items{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:#bab5c7a2}.library-item{display:flex;justify-content:space-between;align-items:center;padding:.2rem .5rem;background:#b9afcfa2;border-radius:12px;transition:background .2s,border-color .2s}.library-item:hover{background:#7863a8a2;border-color:#8779a8a2}.library-item-info{flex:1}.library-item-name{font-size:.75rem;color:#fff;font-weight:400;margin-bottom:.25rem}.library-item-meta{display:flex;gap:.75rem;font-size:.6rem;color:#585858}.btn-load-implant{padding:1px;font-size:1rem;border-radius:20px;background:#f8f8f8;border:none}.btn-load-implant:hover{background:#e4e2e2}.viewer-main{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#e8e6f0}#dicom-viewer-container{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:1rem 1.5rem}.planning-management-panel{width:400px;background:#e8e6f0;border-left:1px solid #333;display:flex;flex-direction:column;overflow-y:auto;position:relative;z-index:1}.case-management-panel{width:400px;background:#e8e6f0;border-left:1px solid #333;display:flex;flex-direction:column;overflow-y:auto}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid #333;background:#fff;flex-shrink:0}.panel-header h3{margin:0;font-size:1.1rem;color:#333}.panel-close{background:transparent;border:none;font-size:1.5rem;color:#666;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.panel-close:hover{background:#f0f0f0;color:#333}.panel-content{flex:1;overflow-y:auto;padding:1rem}.notes-panel{width:400px;background:#e8e6f0;border-left:1px solid #333;display:flex;flex-direction:column;overflow-y:auto;position:fixed;right:0;top:0;bottom:0;z-index:1000;box-shadow:-2px 0 8px #0003}.notes-panel-section{margin-bottom:1.5rem}.notes-list{display:flex;flex-direction:column;gap:.75rem}.notes-empty{text-align:center;padding:2rem 1rem;color:#999;font-size:.9rem}.note-item{background:#fff;border-radius:8px;padding:12px;border:1px solid #e0e0e0;cursor:pointer;transition:all .2s ease}.note-item:hover{border-color:#6c5ce7;box-shadow:0 2px 8px #6c5ce726;transform:translate(-2px)}.note-item.selected{border-color:#6c5ce7;background:#f5f3fb;box-shadow:0 2px 8px #6c5ce740}.note-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.note-item-implant{font-size:.85rem;font-weight:600;color:#6c5ce7}.note-item-date{font-size:.75rem;color:#999}.note-item-preview{font-size:.85rem;color:#666;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:6px}.note-item-meta{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:#999}.note-item-author{font-weight:500;color:#666}.note-item-replies{display:flex;align-items:center;gap:4px;color:#6c5ce7}.note-item-replies-count{font-weight:600}.panel-content ul{margin:.5rem 0;padding-left:1.5rem}.panel-content li{margin:.25rem 0}.case-management-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #333}.case-management-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.case-management-section h4{margin:0 0 .5rem;font-size:.95rem;color:#ddd;font-weight:600}.case-management-section .help-text{margin:0 0 1rem;font-size:.85rem;color:#888;line-height:1.4}.case-management-section .btn-primary{width:100%;padding:.75rem;background:#06c;color:#fff;border:none;border-radius:4px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s}.case-management-section .btn-primary:hover{background:#0052a3}.case-management-section .btn-primary:active{background:#004080}.case-management-section .btn-primary:disabled{background:#444;color:#888;cursor:not-allowed}.button-group{display:flex;flex-direction:column;gap:.5rem}.case-management-section .viewer-planning-btn-secondary{width:100%;padding:.75rem;background:#333;color:#ddd;border:1px solid #555;border-radius:4px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s,border-color .2s}.case-management-section .viewer-planning-btn-secondary:hover{background:#3a3a3a;border-color:#666}.case-management-section .viewer-planning-btn-secondary:active{background:#2a2a2a}.case-management-section .viewer-planning-btn-secondary:disabled{background:#222;color:#666;border-color:#333;cursor:not-allowed}.control-group{margin-bottom:1.5rem}.control-label{display:block;font-size:.85rem;color:#aaa;margin-bottom:.5rem;font-weight:500}.control-slider{width:100%;height:6px;background:#2a2a2a;border-radius:16px;outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none}.control-slider::-webkit-slider-thumb{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:16px;height:16px;background:#6c5ce7;border-radius:50%;cursor:pointer}.control-slider::-moz-range-thumb{width:16px;height:16px;background:#6c5ce7;border-radius:50%;cursor:pointer;border:none}.btn-segment-skull{width:100%;padding:10px;background:#bd3c96;color:#fff;border:none;border-radius:20px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background .2s}.btn-segment-skull:hover{background:#9a22aa}.segmentation-details{margin-top:1rem}.segmentation-summary{cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none;padding:6px 10px;background:#1f1f1f;color:#eee;border:1px solid #333;border-radius:20px;font-size:.9rem;transition:background .2s}.segmentation-summary::-webkit-details-marker{display:none}.segmentation-summary:hover{background:#252525}.segmentation-parameters{margin-top:.75rem;padding:1rem;background:#111;border:1px solid #333;border-radius:20px;display:flex;flex-direction:column;gap:.75rem;width:100%;box-sizing:border-box}.parameter-row{display:flex;justify-content:space-between;align-items:center;gap:.5rem;width:100%;box-sizing:border-box}.parameter-row label{font-size:.75rem;color:#aaa;min-width:90px;flex-shrink:0}.parameter-input,.parameter-select{flex:1;min-width:0;max-width:100%;padding:6px 8px;background:#1b1b1b;color:#eee;border:1px solid #333;border-radius:10px;font-size:.65rem;box-sizing:border-box}.parameter-input:focus,.parameter-select:focus{outline:none;border-color:#6c5ce7}.parameter-row input[type=checkbox]{margin-right:.5rem}.btn-center-view,.btn-expand-view,.btn-restore-view,.btn-notes-view{background:#2b2b2b;color:#eee;border:1px solid #444;padding:4px 8px;border-radius:4px;cursor:pointer;font-size:1rem;transition:background .2s,border-color .2s;line-height:1;min-width:28px;height:24px;display:flex;align-items:center;justify-content:center}.btn-center-view{width:auto;min-width:0;padding:4px 10px;font-size:.75rem;letter-spacing:.02em}.btn-expand-view:hover,.btn-restore-view:hover,.btn-notes-view:hover,.btn-center-view:hover{background:#333;border-color:#555}.btn-notes-view.active,.btn-center-view.active{background:#6c5ce7;border-color:#6c5ce7}.movement-details{margin-top:1rem;position:static;width:100%}.movement-summary{cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none;padding:6px 10px;background:#8779a8a2;color:#eee;border-radius:20px;font-size:.9rem;transition:background .2s;display:flex;justify-content:space-between;width:100%;box-sizing:border-box;max-width:100px;margin-left:auto}.movement-summary::-webkit-details-marker{display:none}.movement-summary:hover{background:#674fa0a2}.movement-content{margin-top:.75rem;padding:1rem;background:#9287aca2;border-radius:20px;display:flex;flex-direction:column;gap:1rem;position:static;width:100%;box-sizing:border-box}.movement-section{display:flex;flex-direction:column;gap:.5rem}.movement-label{color:#fff;font-size:.75rem;font-weight:500}.meshes-tree{max-height:180px;overflow-y:auto;border:1px solid #dfdfdf;border-radius:8px;background:#dad0e7;padding:.5rem}.movement-select{width:100%;padding:8px;background:#dad0e7;color:#3f3f3f;border:1px solid #dfdfdf;border-radius:8px;font-size:.85rem;box-sizing:border-box}.movement-select:focus{outline:none;border-color:#6c5ce7}.movement-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.transform-inputs-group{display:flex;flex-direction:column;gap:.5rem}.transform-input-row{display:flex;align-items:center;gap:.5rem}.transform-input-label{color:#fff;font-size:.75rem;font-weight:500;min-width:20px;text-align:right}.transform-input{flex:1;padding:6px 8px;background:#dad0e7;color:#636363;border:1px solid #dfdfdf;border-radius:4px;font-size:.85rem;font-family:monospace;transition:border-color .2s}.transform-input:hover{border-color:#444}.transform-input:focus{outline:none;border-color:#6c5ce7}.transform-input::placeholder{color:#555}.btn-mode-axis{padding:4px 10px;background:#1b1b1b;color:#ddd;border:1px solid #444;border-radius:4px;font-size:.75rem;font-weight:600;cursor:pointer;transition:background .2s,border-color .2s,color .2s;flex-shrink:0;min-width:40px}.btn-mode-axis:hover{background:#2b2b2b;border-color:#6c5ce7;color:#eee}.btn-mode-axis:active{background:#333}.btn-movement,.btn-movement-secondary{flex:1;min-width:120px;padding:6px 10px;border-radius:20px;border:1px solid #444;cursor:pointer;font-size:.85rem;font-weight:500;transition:background .2s,border-color .2s}.btn-movement{background:#2b2b2b;color:#eee}.btn-movement:hover{background:#333;border-color:#555}.btn-movement-secondary{background:#1b1b1b;color:#eee}.btn-movement-secondary:hover{background:#222;border-color:#555}input[type=file]{font-size:.85rem}.views-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:1fr;gap:.75rem;flex:1;min-height:0}.views-grid.view-axial-expanded,.views-grid.view-sagittal-expanded,.views-grid.view-coronal-expanded,.views-grid.view-3d-expanded{grid-template-columns:1fr;grid-template-rows:1fr}.views-grid.view-axial-expanded .view-panel:not(#view-panel-axial),.views-grid.view-sagittal-expanded .view-panel:not(#view-panel-sagittal),.views-grid.view-coronal-expanded .view-panel:not(#view-panel-coronal),.views-grid.view-3d-expanded .view-panel:not(#view-panel-3d){display:none}.views-grid.view-axial-expanded #view-panel-axial,.views-grid.view-sagittal-expanded #view-panel-sagittal,.views-grid.view-coronal-expanded #view-panel-coronal,.views-grid.view-3d-expanded #view-panel-3d{grid-column:1;grid-row:1}.view-header-actions{display:flex;align-items:center;gap:.5rem}.view-panel{display:flex;flex-direction:column;background:#111;border-radius:6px;padding:0;overflow:hidden;min-height:0}.view-header{color:#ccc;margin-bottom:.2rem;display:flex;justify-content:space-between;align-items:center;padding:.5rem .5rem .2rem}.view-title{text-transform:uppercase;font-size:12px;letter-spacing:.08rem;font-weight:500;color:#b5b5b5}.view-slice-info{font-size:11px;color:#8f8f9a}.view-footer{margin-top:.3rem;display:flex;align-items:center;gap:.5rem;font-size:.8rem;padding:.2rem .5rem .5rem}.view-footer input[type=range]{flex:1;min-width:100px;accent-color:#6c5ce7}.view-footer input[type=range]::-moz-range-progress{background:#6c5ce7;transition:transform .2s ease,background .2s ease}.view-footer input[type=range]:hover{accent-color:#5a4fcf}.view-footer input[type=range]:hover::-moz-range-progress{background:#5a4fcf;transform:scale(1.2)}.view-footer input[type=range]:active{accent-color:#8b7ff0}.view-footer input[type=range]:active::-moz-range-progress{background:#8b7ff0;transform:scale(1.1)}.view-footer input[type=range]::-webkit-slider-thumb:hover{background:#5a4fcf;transform:scale(1.2)}.view-footer input[type=range]::-webkit-slider-thumb:active{background:#8b7ff0;transform:scale(1.1)}.view-footer span{white-space:nowrap}.vtk-view{position:relative;flex:1;min-height:0;width:100%;height:100%;background:#000}#view-panel-3d{background:#e8e6f0}#view-panel-3d .view-header{background:#e8e6f0;color:#333}#view-panel-3d .view_title,#view-panel-3d .view-title{color:#6c5ce7}#view-panel-3d .view_slice_info,#view-panel-3d .view-slice-info{color:#555}#view-panel-3d #view-3d.vtk-view{background:#e8e6f0!important}#view-panel-3d #view-3d.vtk-view canvas{background:#e8e6f0!important}#view-panel-3d .view-footer{background:#e8e6f0;color:#333}.annotation-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1000}.annotation-circle{position:absolute;width:16px;height:16px;border-radius:50%;background:#6c5ce7;border:2px solid #ffffff;box-shadow:0 2px 8px #0000004d;cursor:pointer;pointer-events:all;transform:translate(-50%,-50%);transition:transform .2s ease,box-shadow .2s ease;z-index:1001}.annotation-circle:hover{transform:translate(-50%,-50%) scale(1.2);box-shadow:0 4px 12px #6c5ce780}.annotation-arrow{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1000}.annotation-note-box{position:absolute;min-width:250px;max-width:350px;background:#fff;border-radius:8px;box-shadow:0 4px 16px #0003;pointer-events:all;z-index:1002;transform:translateY(-50%);border:1px solid #e0e0e0}.annotation-note-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid #e0e0e0;background:#f5f5f5;border-radius:8px 8px 0 0}.annotation-author{font-weight:600;font-size:12px;color:#333}.annotation-date{font-size:10px;color:#666}.annotation-note-content{padding:12px;min-height:60px;max-height:200px;overflow-y:auto;font-size:13px;color:#333;line-height:1.5;outline:none}.annotation-note-content:focus{background:#fafafa}.annotation-placeholder{color:#999;font-style:italic}.annotation-note-footer{display:flex;gap:4px;padding:8px 12px;border-top:1px solid #e0e0e0;background:#fafafa;border-radius:0 0 8px 8px}.annotation-btn{background:transparent;border:none;cursor:pointer;font-size:14px;padding:4px 8px;border-radius:4px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.annotation-btn:hover{background:#e0e0e0;transform:scale(1.1)}.annotation-replies{padding:8px 12px;border-top:1px solid #e0e0e0;background:#f9f9f9}.annotation-reply{margin-top:8px;padding:8px;background:#fff;border-radius:4px;border-left:3px solid #6c5ce7}.annotation-reply-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.annotation-reply-content{font-size:12px;color:#555;line-height:1.4}.log-panel{margin-top:1rem;padding:.75rem;background:#1b1b1b;border-radius:6px;max-height:150px;overflow-y:auto}.log-panel strong{display:block;margin-bottom:.5rem;font-size:.85rem;color:#ccc}.log-panel pre{margin:0;font-size:.75rem;color:#999;white-space:pre-wrap;word-wrap:break-word}#segmentationNotificationsContainer{position:fixed;top:20px;right:20px;z-index:10000;pointer-events:none}.segmentation-notification{animation:slideInRight .3s ease-out;pointer-events:auto;cursor:pointer;transition:all .2s ease}.segmentation-notification:hover{transform:translate(-5px);box-shadow:0 4px 12px #0000004d}.segmentation-notification.notification-success{background:linear-gradient(135deg,#4caf50,#45a049)}.segmentation-notification.notification-error{background:linear-gradient(135deg,#f44336,#da190b)}.segmentation-notification.notification-warning{background:linear-gradient(135deg,#ff9800,#e68900)}.segmentation-notification.notification-info{background:linear-gradient(135deg,#2196f3,#0b7dda)}@keyframes slideInRight{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOutRight{0%{transform:translate(0);opacity:1}to{transform:translate(400px);opacity:0}}.segmentation-status-badge{position:fixed;bottom:20px;right:20px;padding:12px 16px;background:#2196f3e6;color:#fff;border-radius:24px;font-size:13px;z-index:9999;display:flex;align-items:center;gap:8px;box-shadow:0 2px 8px #0000004d;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.segmentation-status-badge:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#fff;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.planning-approval-banner{margin:0 1rem .75rem;padding:.65rem .85rem;border-radius:8px;font-size:.85rem;font-weight:600;line-height:1.4}.planning-approval-banner--pending{background:#fff8e6;border:1px solid #f0d78c;color:#6b5420}.planning-approval-banner--approved{background:#eef8f0;border:1px solid #a8d5b0;color:#1b5e20}.doctor-notice-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12000;display:flex;align-items:center;justify-content:center;padding:24px;background:#12101c8c}.doctor-notice-dialog{width:min(760px,100%);max-height:min(92vh,900px);display:flex;flex-direction:column;background:#fff;color:#241b38;border-radius:16px;box-shadow:0 24px 60px #28144647;overflow:hidden}.doctor-notice-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px 12px;border-bottom:1px solid #efeaf8}.doctor-notice-header h3{margin:0;font-size:1.15rem;font-weight:700}.doctor-notice-header p{margin:6px 0 0;color:#655c80;font-size:.88rem;line-height:1.4}.doctor-notice-close{border:none;background:#f4f0fa;color:#3d3458;width:32px;height:32px;border-radius:999px;cursor:pointer;font-size:18px;line-height:1}.doctor-notice-body{padding:16px 20px 8px;overflow:auto;display:flex;flex-direction:column;gap:12px}.doctor-notice-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.doctor-notice-field{display:flex;flex-direction:column;gap:6px;font-size:.82rem;font-weight:600;color:#4c4466}.doctor-notice-field input,.doctor-notice-field select,.doctor-notice-field textarea{width:100%;box-sizing:border-box;border:1px solid #ddd4ee;border-radius:10px;padding:10px 12px;font:inherit;font-weight:450;color:#241b38;background:#fff}.doctor-notice-field textarea{min-height:320px;resize:vertical;line-height:1.45;font-family:Segoe UI,Arial,sans-serif;font-size:.92rem}.doctor-notice-recipient{margin:0;padding:10px 12px;border-radius:10px;background:#f6f2fc;color:#3d3458;font-size:.9rem}.doctor-notice-recipient strong{font-weight:700}.doctor-notice-hint{margin:0;color:#7a7194;font-size:.8rem;line-height:1.4}.doctor-notice-status{min-height:1.2em;margin:0;font-size:.88rem}.doctor-notice-status.is-error{color:#b42318}.doctor-notice-status.is-ok{color:#067647}.doctor-notice-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px 16px;border-top:1px solid #efeaf8}.doctor-notice-footer button{border:none;border-radius:999px;padding:9px 16px;cursor:pointer;font-size:.9rem}.doctor-notice-cancel{background:#f0eef5;color:#3d3458}.doctor-notice-send{background:#6c5ce7;color:#fff;font-weight:650}.doctor-notice-send:disabled,.doctor-notice-cancel:disabled{opacity:.55;cursor:default}.final-report-btn-notice{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:.45rem .9rem;background:var(--fr-accent-strong, #7040c0);color:#fff;border:none;border-radius:999px;cursor:pointer;font-size:.79rem;font-weight:600}.final-report-btn-notice:hover{filter:brightness(1.08)}@media (max-width: 720px){.doctor-notice-row{grid-template-columns:1fr}}.design-viewer-page{--brand-900: #5230a0;--brand-700: #7040c0;--brand-500: #9255d4;--brand-300: #c9b8ea;--brand-100: #f3effa;--brand-50: #faf8fd;--text-primary: #2d2050;--text-secondary: #5e5888;--text-muted: #aea8c8;--border: #ebe6f5;--bg-app: #faf8fd;--bg-card: #ffffff;--red: #d6446b;--red-soft: #fbeaef;--radius: 10px;display:flex;flex-direction:column;height:100vh;background:var(--bg-app);overflow:hidden;position:relative;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.viewer-design-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:#fff;border-bottom:1px solid #e0e0e0;box-shadow:0 2px 4px #0000000d}.viewer-design-header-left{display:flex;align-items:center;gap:1rem}.viewer-design-header-right{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.6rem}.viewer-design-header-right .lang-selector{height:34px;padding:4px 10px;border:1px solid #e0e0e0;border-radius:8px;background:#fff;color:#333;font-size:.9rem;cursor:pointer}.viewer-design-header h2{margin:0;font-size:1.2rem;color:#333;font-weight:600}.viewer-design-btn-back{padding:8px 16px;background:#f0f0f0;color:#333;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;transition:background .2s}.viewer-design-btn-back:hover{background:#e0e0e0}.viewer-design-btn-secondary{padding:8px 16px;background:#6c5ce7;color:#fff;border:none;border-radius:20px;cursor:pointer;font-size:.9rem;transition:background .2s}.viewer-design-btn-secondary:hover{background:#5a4fcf}.viewer-design-btn-approve{padding:8px 16px;background:#8ed89a;color:#fff;border:none;border-radius:20px;cursor:pointer;font-size:.9rem;font-weight:600;transition:background .2s}.viewer-design-btn-approve:hover{background:#6fc47d}.viewer-design-btn-approve:active{background:#5aad68}.viewer-design-btn-approve:disabled{opacity:.6;cursor:not-allowed}.approve-status-msg{margin:.5rem 0;font-size:.8125rem;color:#2e7d32;line-height:1.4}.viewer-design-approvals{margin-top:12px;padding-top:10px;border-top:1px solid #e8e8e8}.viewer-design-approvals h4{margin:0 0 8px;font-size:.85rem}.viewer-design-approvals-gate{margin-bottom:8px;font-size:.75rem;line-height:1.45}.viewer-design-approvals-gate strong{display:block;margin-bottom:2px}.viewer-design-approvals-row{display:flex;justify-content:space-between;gap:8px;color:#444}.viewer-design-approvals-row.is-ineligible{text-decoration:line-through;opacity:.7}.viewer-design-container{display:flex;flex:1;overflow:hidden;gap:10px;padding:10px}.viewer-design-side-rail{flex:0 0 42px;width:42px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;padding:10px 0;box-sizing:border-box;border:1px solid var(--border);border-radius:8px;background:#fff}.viewer-design-rail-btn{width:32px;height:32px;display:grid;place-items:center;padding:0;border:1px solid var(--brand-300);border-radius:8px;background:#fff;color:var(--brand-700);cursor:pointer;font:700 19px/1 Georgia,serif}.viewer-design-rail-btn:hover,.viewer-design-rail-btn.is-active{color:#fff;border-color:var(--brand-700);background:var(--brand-700)}.viewer-design-rail-btn svg{width:18px;height:18px;fill:currentColor}.viewer-design-sidebar{flex:0 0 330px;width:330px;background:#fff;border-right:1px solid var(--border);border-radius:0;display:flex;flex-direction:column;overflow-y:auto;box-shadow:none;transition:width .25s ease,flex-basis .25s ease}.viewer-design-container.design-sidebar-collapsed .viewer-design-sidebar{width:0;flex-basis:0;border:0;overflow:hidden}.viewer-design-photos-drawer{width:0;flex:0 0 0;min-width:0;height:100%;display:flex;flex-direction:column;box-sizing:border-box;overflow:hidden;border:0 solid var(--border);border-radius:8px;background:#fff;transition:width .25s ease,flex-basis .25s ease}.viewer-design-photos-drawer.is-open{width:660px;flex-basis:660px;border-width:1px}.viewer-design-photos-header{flex:0 0 50px;width:658px;display:flex;align-items:center;justify-content:space-between;padding:9px 12px;box-sizing:border-box;background:var(--brand-700);color:#fff}.viewer-design-photos-header h2{margin:0;color:#fff;font-size:15px}.viewer-design-photos-header button{width:30px;height:30px;border:0;border-radius:50%;background:#ffffff2e;color:#fff;font-size:22px;line-height:1;cursor:pointer}.viewer-design-photo-stage{flex:1 1 50%;width:658px;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px;padding:10px;box-sizing:border-box;border-bottom:1px solid var(--border)}.viewer-design-photo-stage h3{margin:0;color:var(--text-secondary);font-size:13px}.viewer-design-photo-frame{position:relative;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:8px;background:#17151c}.viewer-design-photo-frame img{width:100%;height:100%;object-fit:contain}.viewer-design-photo-frame p{padding:12px;color:#c9c6d2;text-align:center}.viewer-design-photo-expand{position:absolute;top:8px;right:8px;z-index:3;width:36px;height:36px;border:0;border-radius:7px;background:#0000009e;color:#fff;font-size:20px;cursor:pointer}.viewer-design-photo-expand:disabled{display:none}.viewer-design-photo-arrow{position:absolute;top:50%;z-index:2;width:32px;height:42px;border:0;border-radius:7px;background:#00000085;color:#fff;font-size:28px;line-height:1;cursor:pointer;transform:translateY(-50%)}.viewer-design-photo-arrow.is-prev{left:7px}.viewer-design-photo-arrow.is-next{right:7px}.viewer-design-photo-arrow:disabled{display:none}.viewer-design-photo-meta{min-width:0;display:flex;justify-content:space-between;gap:8px;color:var(--text-secondary);font-size:11px}.viewer-design-photo-meta [data-design-photo-name]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-design-photo-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:grid;place-items:center;padding:20px;box-sizing:border-box;background:#000000d1}.viewer-design-photo-lightbox[hidden]{display:none!important}.viewer-design-photo-lightbox-dialog{position:relative;width:min(1400px,calc(100vw - 40px));height:calc(100vh - 40px);display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:10px;background:#111}.viewer-design-photo-lightbox-dialog img{width:100%;height:100%;object-fit:contain}.viewer-design-photo-lightbox-close,.viewer-design-photo-lightbox-arrow{position:absolute;z-index:2;border:0;background:#ffffffe6;color:#202124;cursor:pointer}.viewer-design-photo-lightbox-close{top:12px;right:12px;width:42px;height:42px;border-radius:50%;font-size:28px}.viewer-design-photo-lightbox-arrow{top:50%;width:48px;height:64px;border-radius:9px;font-size:38px;transform:translateY(-50%)}.viewer-design-photo-lightbox-arrow.is-prev{left:14px}.viewer-design-photo-lightbox-arrow.is-next{right:14px}.viewer-design-photo-lightbox-arrow:disabled{display:none}.viewer-design-photo-lightbox-caption{position:absolute;left:16px;right:16px;bottom:12px;color:#fff;text-align:center;text-shadow:0 1px 3px #000}.viewer-design-doc-preview{flex:1 1 auto;width:658px;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:8px;padding:10px;box-sizing:border-box}.viewer-design-doc-frame iframe,.viewer-design-photo-lightbox-dialog iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;background:#fff}.viewer-design-doc-list{flex:0 0 210px;width:658px;overflow-y:auto;padding:8px 10px 12px;box-sizing:border-box;border-top:1px solid var(--border)}.viewer-design-doc-group{margin:0 0 10px}.viewer-design-doc-group h3{margin:0 0 6px;color:var(--text-secondary);font-size:12px}.viewer-design-doc-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 6px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text-primary);text-align:left;cursor:pointer}.viewer-design-doc-item.is-active{border-color:var(--brand-700);background:var(--brand-50)}.viewer-design-doc-item-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600}.viewer-design-doc-item-download{flex:0 0 auto;width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:6px;background:transparent;color:var(--brand-700);cursor:pointer}.viewer-design-doc-item-download svg{width:15px;height:15px}.viewer-design-info-panel,.viewer-design-files-panel,.layers-panel{padding:12px 16px;border-bottom:1px solid #e6e6e6}.viewer-design-info-panel:last-child,.viewer-design-files-panel:last-child,.layers-panel:last-child{border-bottom:none}.viewer-design-info-panel h2,.viewer-design-info-panel h3,.viewer-design-files-panel h3,.layers-panel h3,.layers-section h3{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);font-weight:700;margin:0 0 8px}.layers-section{margin-bottom:14px}.layers-section:last-child{margin-bottom:0}.viewer-design-case-info-details{width:100%}.viewer-design-case-info-summary{cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none;font-weight:600;color:#333;padding:8px 0}.viewer-design-case-info-summary::-webkit-details-marker{display:none}.viewer-design-case-info-summary::marker{display:none}.viewer-design-info-panel{padding-bottom:10px}.viewer-design-info-content{display:flex;flex-direction:column;gap:0;margin-top:0}.viewer-design-info-item{display:grid;grid-template-columns:72px 1fr;align-items:baseline;gap:8px;padding:2px 0;font-size:12px;line-height:1.35}.viewer-design-info-label{font-weight:600;font-size:10.5px;color:var(--text-muted);letter-spacing:.2px}.viewer-design-info-value{color:var(--text-primary);text-align:left;font-size:12px;font-weight:600;overflow-wrap:anywhere}.viewer-design-download-designs-btn{margin-top:10px;width:100%;border-radius:10px;font-size:.8rem;padding:8px 12px}.viewer-design-download-designs-btn:disabled{opacity:.65;cursor:wait}.viewer-design-files-list{display:flex;flex-direction:column;gap:8px}.files-loading,.viewer-design-files-empty{padding:1rem;text-align:center;color:#999;font-size:.9rem}.file-item{display:flex;justify-content:space-between;align-items:center;padding:10px;background:#f9f9f9;border:1px solid #e6e6e6;border-radius:8px;transition:background .2s}.file-item:hover{background:#f0f0f0}.file-info{display:flex;flex-direction:column;gap:4px;flex:1}.file-name{font-weight:500;color:#333;font-size:.9rem}.file-size{font-size:.8rem;color:#999}.btn-load-file{padding:6px 12px;background:linear-gradient(135deg,#b388f3,#8052ec);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;transition:opacity .2s}.btn-load-file:hover{opacity:.85}.layers-list{display:flex;flex-direction:column;gap:10px}.layer-item{padding:10px;background:#f9f9f9;border:1px solid #e6e6e6;border-radius:8px}.layer-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.layer-visibility{cursor:pointer}.layer-name{font-weight:500;color:#333;font-size:.9rem;cursor:pointer;flex:1}.layer-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.layer-thickness-btn{flex-shrink:0;border:1px solid #c4b5e0;background:#f4eefc;color:#5b3d8a;border-radius:6px;padding:.2rem .45rem;font-size:.7rem;font-weight:650;cursor:pointer;white-space:nowrap}.layer-thickness-btn:disabled{opacity:.45;cursor:wait}.thickness-job{padding:.55rem .4rem;border-bottom:1px solid #eee}.thickness-job-head{display:flex;align-items:center;justify-content:space-between;gap:.4rem;margin-bottom:.3rem}.thickness-job-cancel{border:0;background:#e74c3c;color:#fff;border-radius:6px;padding:.15rem .45rem;font-size:.68rem;font-weight:650;cursor:pointer}.thickness-job-label{font-size:.78rem;font-weight:600}.thickness-job-bar{height:8px;border-radius:99px;background:#ece8f2;overflow:hidden}.thickness-job-bar-fill{height:100%;background:#9255d4;transition:width .15s linear}.thickness-job-pct{font-size:.7rem;color:#6b6578;margin-top:.2rem}.thickness-job-error{color:#b3261e}.layer-delete-body-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;margin-left:auto;border:1px solid #e6e6e6;border-radius:6px;background:#fff;cursor:pointer;opacity:.75;transition:opacity .15s ease,background .15s ease,border-color .15s ease}.layer-delete-body-btn-icon{display:block;width:14px;height:14px;pointer-events:none;filter:brightness(0) saturate(100%) invert(27%) sepia(89%) saturate(4598%) hue-rotate(331deg) brightness(93%) contrast(86%)}.layer-delete-body-btn:hover .layer-delete-body-btn-icon{filter:brightness(0) saturate(100%) invert(18%) sepia(93%) saturate(4000%) hue-rotate(331deg) brightness(88%) contrast(90%)}.layer-delete-body-btn:hover{opacity:1;background:#dc354514;border-color:#dc354559}.layer-opacity{width:80px;min-width:80px;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;height:6px;padding:0!important;margin:0!important;border:none!important;border-radius:0!important;background:transparent!important;--slider-progress: 100%}.layer-opacity::-webkit-slider-thumb{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:16px;height:16px;background:#6c5ce7;border-radius:50%;cursor:pointer;margin-top:-5px}.layer-opacity::-moz-range-thumb{width:16px;height:16px;background:#6c5ce7;border-radius:50%;cursor:pointer;border:none}.layer-opacity::-webkit-slider-runnable-track{height:6px;background:linear-gradient(to right,#6c5ce7 0%,#6c5ce7 var(--slider-progress),#e0e0e0 var(--slider-progress),#e0e0e0 100%);border-radius:3px}.layer-opacity::-moz-range-track{height:6px;background:linear-gradient(to right,#6c5ce7 0%,#6c5ce7 var(--slider-progress),#e0e0e0 var(--slider-progress),#e0e0e0 100%);border-radius:3px}.opacity-value{font-size:.8rem;color:#666;min-width:40px;text-align:right}.viewer-design-main{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#fff;border-radius:12px;box-shadow:0 2px 6px #00000014}.viewer-3d-wrapper{flex:1;position:relative;overflow:hidden;border-radius:12px;background:#f0f0f5}.viewer-3d-container{width:100%;height:100%;position:relative;border-radius:12px;overflow:hidden}.viewer-3d-container canvas{width:100%!important;height:100%!important;display:block;border-radius:12px}.toolbar-row{position:absolute;top:14px;left:14px;z-index:5;display:flex;gap:8px;align-items:flex-start}.tools-panel{position:relative;top:auto;left:auto;background:transparent;border-radius:9px;padding:0;z-index:100;box-shadow:none;min-width:0}.tool-pill,#tools-toggle-btn.tool-pill{position:static;width:auto;height:auto;background:#fff;border:1px solid var(--border);border-radius:9px;padding:8px 13px;font-size:13px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:6px;cursor:pointer;box-shadow:0 1px 2px #2d20500d}#tools-toggle-btn.tool-pill:hover{transform:none;background:var(--brand-100)}#tools-toggle-btn.tool-pill .arrow{color:var(--text-muted);font-size:9px}.tools-title{margin:0 0 8px;font-size:.9rem;color:#333;font-weight:600}.tools-content{display:flex;flex-direction:column;gap:8px;margin-top:8px;background:#fff;border:1px solid var(--border);border-radius:9px;padding:10px 12px;box-shadow:0 4px 16px #2d205014}.tool-control{display:flex;flex-direction:column;gap:6px}.tool-control label{font-size:.8rem;color:#555;font-weight:500;margin-bottom:0}.design-viewer-page input[type=range],.tool-control input[type=range]{padding:0!important;margin:0!important;border:none!important;border-radius:0!important;background:transparent!important;font:inherit!important;-moz-appearance:none;appearance:none;-webkit-appearance:none;height:6px}.tool-buttons{display:flex;gap:6px}.tool-separator{border:none;border-top:1px solid #e0e0e0;margin:8px 0;width:100%}.btn-tool{flex:1;padding:6px 10px;border-radius:6px;border:none;background:linear-gradient(135deg,#b388f3,#8052ec);cursor:pointer;color:#fff;font-size:.8rem;font-weight:500;transition:.2s;box-shadow:0 2px 6px #0000001a}.btn-tool:hover{transform:translateY(-1px);box-shadow:0 4px 10px #00000026}.btn-tool:active{transform:translateY(0)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.viewer-design-sidebar::-webkit-scrollbar{width:6px}.viewer-design-sidebar::-webkit-scrollbar-thumb{background:#0003;border-radius:3px}.viewer-design-sidebar::-webkit-scrollbar-track{background:transparent}.viewer-design-case-management-panel{position:fixed;top:0;right:0;width:350px;height:100vh;background:#fff;border-left:1px solid #e0e0e0;box-shadow:-2px 0 8px #0000001a;z-index:1000;display:flex;flex-direction:column;overflow-y:auto}.viewer-design-case-management-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #e0e0e0;background:#f7f8fc}.viewer-design-case-management-header h3{margin:3px;font-size:1.1rem;color:#333;font-weight:600}.viewer-design-case-management-close{background:transparent;border:none;color:#666;font-size:1.5rem;cursor:pointer;padding:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;transition:color .2s;border-radius:4px}.viewer-design-case-management-close:hover{color:#333;background:#f0f0f0}.viewer-design-case-management-content{padding:1.5rem;flex:1}.viewer-design-case-management-section{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid #e0e0e0}.viewer-design-case-management-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.viewer-design-case-management-section h4{margin:0 0 .5rem;font-size:1rem;color:#333;font-weight:600}.viewer-design-case-management-section .help-text{margin:0 0 1rem;font-size:.875rem;color:#666;line-height:1.5}.multiunit-type-claim{background:#fff8e6;border:1px solid #f0d78c;border-radius:8px;padding:.75rem .875rem;color:#6b5420!important}.multiunit-type-options{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.multiunit-type-option{display:flex;align-items:center;gap:.625rem;padding:.625rem .75rem;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:.875rem;color:#333;transition:border-color .15s,background .15s}.multiunit-type-option:hover{border-color:#8052ec;background:#faf8ff}.multiunit-type-option:has(input:checked){border-color:#8052ec;background:#f3edff;font-weight:600}.multiunit-type-option input[type=radio]{margin:0;accent-color:#8052ec}.multiunit-type-readonly{margin:0 0 .75rem;font-size:.875rem;color:#333;font-weight:600}#btn-change-multiunit-type{width:100%;margin-bottom:.75rem}.multiunit-type-save-msg{margin:.25rem 0 .75rem;font-size:.8125rem;color:#2e7d32;line-height:1.4}.multiunit-type-save-msg.is-error{color:#c62828}.viewer-design-case-management-section .btn-primary{width:100%;padding:.75rem 1rem;background:linear-gradient(135deg,#8052ec,#9d6ff5);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.viewer-design-case-management-section .btn-primary:hover{background:linear-gradient(135deg,#9d6ff5,#b08aff);transform:translateY(-1px);box-shadow:0 4px 8px #8052ec4d}.viewer-design-case-management-section .btn-primary:active{transform:translateY(0)}.viewer-design-case-management-section .btn-primary:disabled{background:#ccc;color:#888;cursor:not-allowed;transform:none}.viewer-design-case-management-section .viewer-design-btn-secondary{width:100%;padding:8px 16px;background:#6c5ce7;color:#fff;border:none;border-radius:20px;cursor:pointer;font-size:.9rem;transition:background .2s}.viewer-design-case-management-section .viewer-design-btn-secondary:hover{background:#e8e8e8;border-color:#ccc}.viewer-design-case-management-section .viewer-design-btn-secondary:active{background:#e0e0e0}.viewer-design-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10050;display:flex;align-items:center;justify-content:center}.viewer-design-modal-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000073}.viewer-design-modal-dialog{position:relative;z-index:1;width:min(420px,calc(100vw - 32px));background:#fff;border-radius:12px;padding:1.25rem 1.35rem 1.1rem;box-shadow:0 12px 32px #0000002e}.viewer-design-modal-dialog h3{margin:0 0 .5rem;font-size:1.05rem}.viewer-design-modal-dialog .help-text{margin:0 0 1rem;color:#555;font-size:.875rem;line-height:1.45}.viewer-design-modal-dialog .multiunit-type-options{margin-bottom:1rem}.viewer-design-modal-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:.5rem}.viewer-design-modal-actions .btn-primary,.viewer-design-modal-actions .viewer-design-btn-secondary{width:auto;min-width:110px;padding:.55rem .9rem}.case-notes-textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:8px;font-size:.9rem;font-family:inherit;resize:vertical;min-height:120px;background:#fff;color:#333}.case-notes-textarea:focus{outline:none;border-color:#8052ec;box-shadow:0 0 0 3px #8052ec1a}.preliminary-report-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid #eee;font-size:.88rem}.preliminary-report-item:last-child{border-bottom:none}.preliminary-report-item strong{font-weight:500;color:#333}.preliminary-report-item span{color:#888;font-size:.78rem;margin-left:4px}.preliminary-report-actions{display:flex;gap:4px;flex-shrink:0}.preliminary-report-actions .prelim-icon-btn{width:30px;height:30px;padding:0;border:1px solid var(--border);background:#fff;color:var(--text-secondary);border-radius:7px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.preliminary-report-actions .prelim-icon-btn svg{width:15px;height:15px;pointer-events:none}.preliminary-report-actions .prelim-icon-btn:hover{background:var(--brand-100);color:var(--brand-700);border-color:var(--brand-300)}.viewer-design-pdf-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:1200;display:flex;align-items:center;justify-content:center;padding:2vh 2vw}.viewer-design-pdf-dialog{width:94vw;height:92vh;background:#fff;border-radius:10px;display:flex;flex-direction:column;overflow:hidden}.viewer-design-pdf-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid #e6e6e6;flex-shrink:0}.viewer-design-pdf-header h3{margin:0;font-size:1rem}.viewer-design-pdf-close{border:none;background:transparent;font-size:1.4rem;cursor:pointer;line-height:1}.viewer-design-pdf-dialog iframe{flex:1;width:100%;border:0;min-height:0;background:#fff}.dv-cat{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:#fff}.dv-cat-head{display:flex;align-items:center;gap:8px;padding:11px 12px;cursor:pointer;background:var(--bg-app)}.dv-cat-head:hover{background:var(--brand-100)}.dv-cat-caret{width:13px;height:13px;color:var(--text-muted);transition:transform .15s ease;flex-shrink:0}.dv-cat.open .dv-cat-caret{transform:rotate(90deg)}.dv-cat-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.dv-cat-title{font-size:13px;font-weight:700;color:var(--text-primary);flex:1}.dv-cat-count{font-size:10.5px;font-weight:700;color:var(--text-muted);background:#fff;border:1px solid var(--border);border-radius:100px;padding:1px 7px}.dv-cat-body{display:none}.dv-cat.open .dv-cat-body{display:block}.row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:start;gap:10px;padding:9px 12px;border-top:1px solid var(--border);position:relative}.dv-cat-body .row-group:first-child .row{border-top:none}.design-viewer-page .row:hover{background:var(--bg-app)}.design-viewer-page .row input[type=checkbox],.thickness-row input[type=checkbox]{width:15px;height:15px;accent-color:var(--brand-500);cursor:pointer;margin-top:2px;flex-shrink:0}.row-name{font-size:12.5px;color:var(--text-primary);line-height:1.35;overflow-wrap:break-word}.design-viewer-page .opacity{display:flex;align-items:center;gap:6px;align-self:center}.design-viewer-page .opacity input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:58px;height:3px;border-radius:999px;background:var(--border);cursor:pointer;outline:none}.design-viewer-page .opacity input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;margin-top:-4.5px;border-radius:50%;background:var(--brand-500);border:none;cursor:pointer}.opacity-val{font-size:10.5px;font-weight:700;color:var(--text-secondary);width:30px;text-align:right;font-variant-numeric:tabular-nums;cursor:text}.opacity-val-input{width:38px;font-size:10.5px;font-weight:700;border:1px solid var(--brand-300);border-radius:4px;padding:1px 3px}.design-viewer-page .row-actions{position:relative;align-self:center}.overflow-btn{width:24px;height:24px;border-radius:6px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center}.overflow-btn:hover{background:var(--border);color:var(--text-primary)}.overflow-menu{display:none;position:absolute;right:0;top:26px;z-index:20;box-sizing:border-box;background:#fff;border:1px solid #ebe6f5;border-radius:8px;box-shadow:0 8px 24px #2d205024;min-width:188px;padding:5px;overflow:hidden;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;--brand-100: #f3effa;--text-primary: #2d2050;--red: #d6446b;--red-soft: #fbeaef;--border: #ebe6f5}.overflow-menu.dv-overflow-portal{display:flex;flex-direction:column;gap:1px;position:fixed;right:auto;top:auto;z-index:10000;max-height:calc(100vh - 16px);overflow-x:hidden;overflow-y:auto;pointer-events:auto}.overflow-menu button{display:flex;align-items:center;gap:8px;width:100%;box-sizing:border-box;text-align:left;background:none;border:none;padding:8px 9px;font-size:12px;font-family:inherit;font-weight:500;line-height:1.3;color:var(--text-primary);border-radius:6px;cursor:pointer;position:relative;z-index:1;pointer-events:auto}.overflow-menu button svg{width:14px;height:14px;flex-shrink:0}.overflow-menu button:hover,.overflow-menu button:focus-visible{background:#f3effa}.overflow-menu button.danger{color:#d6446b}.overflow-menu button.danger:hover,.overflow-menu button.danger:focus-visible{background:#fbeaef}.overflow-menu button:disabled{opacity:.45;cursor:wait}.thickness-chip{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:700;color:var(--brand-700);background:var(--brand-100);border:1px solid var(--brand-300);border-radius:100px;padding:2px 8px;margin-top:5px;cursor:pointer}.thickness-chip:hover{background:var(--brand-300)}.thickness-chip svg{width:10px;height:10px}.thickness-row{display:none;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;padding:7px 12px 7px 30px;background:var(--brand-50);border-top:1px dashed var(--border);font-size:11.5px}.row-group.expanded .thickness-row{display:grid}.thickness-row .row-name{color:var(--text-secondary);font-weight:600}.quickviews{display:flex;gap:4px;background:#fff;border:1px solid var(--border);border-radius:9px;padding:4px;box-shadow:0 1px 2px #2d20500d}.quickviews button{width:30px;height:30px;border-radius:6px;border:none;background:transparent;cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700}.quickviews button svg{width:14px;height:14px}.quickviews button:hover{background:var(--brand-100);color:var(--brand-700)}.quickviews button.active{background:var(--brand-500);color:#fff}.quickviews .sep{width:1px;background:var(--border);margin:2px}.clip-panel{position:absolute;top:58px;left:14px;z-index:5;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--border);border-radius:9px;padding:8px 12px;box-shadow:0 4px 16px #2d205014;font-size:12px;font-weight:600;color:var(--text-primary)}.clip-panel input[type=range]{width:140px}.dv-legend-stack{position:absolute;bottom:18px;right:18px;z-index:5;display:flex;flex-direction:column;gap:10px;pointer-events:none}.dv-legend{background:#fff;border:1px solid var(--border);border-radius:12px;padding:14px 18px;box-shadow:0 4px 16px #2d205014;width:280px;pointer-events:auto}.legend-title{font-size:13px;font-weight:700;color:var(--text-primary);margin-bottom:10px}.legend-bar{height:12px;border-radius:6px;margin-bottom:8px;background:linear-gradient(90deg,#d6446b,#e8d93d,#2fa86a)}.legend-bar--implant{background:linear-gradient(90deg,#c00,#ffe600,#12c44a 66%,#1a4cff)}.legend-scale{display:flex;justify-content:space-between;font-size:11px;color:var(--text-muted);font-weight:600}.legend-note{font-size:11.5px;color:var(--text-secondary);margin-top:10px;line-height:1.45}.design-load-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12000;display:none;align-items:center;justify-content:center;background:#2d205061;padding:1.5rem}.design-load-overlay[hidden]{display:none!important}.design-load-panel{width:min(480px,100%);max-height:min(70vh,560px);overflow:auto;background:#fff;border-radius:12px;padding:1.1rem 1.2rem 1.2rem;box-shadow:0 16px 40px #2d205038}.design-load-title{margin:0 0 .85rem;font-size:1rem;font-weight:700;color:var(--text-primary)}.design-load-progress-list{display:flex;flex-direction:column;gap:.7rem}.design-load-name{font-size:.84rem;font-weight:600;color:var(--text-primary);word-break:break-word}.design-load-track{height:8px;margin:.28rem 0 .18rem;background:#eceaf3;border-radius:999px;overflow:hidden}.design-load-fill{height:100%;width:0;background:var(--brand-500);border-radius:999px;transition:width .15s ease}.design-load-fill.is-indeterminate{width:40%!important;animation:design-load-indeterminate 1s ease-in-out infinite}.design-load-row.is-done .design-load-fill{background:#2e9e5b}.design-load-row.is-error .design-load-fill{background:#c44536}.design-load-status{font-size:.75rem;color:var(--text-secondary)}.design-load-row.is-done .design-load-status{color:#2e9e5b;font-weight:600}.design-load-row.is-error .design-load-status{color:#c44536;font-weight:600}@keyframes design-load-indeterminate{0%{transform:translate(-120%)}to{transform:translate(280%)}}:root{--design-style-blanco-color: 250, 250, 250;--design-style-blanco-roughness: .85;--design-style-blanco-metallic: 0;--design-style-blanco-opacity: 1;--design-style-protesis-color: 255, 214, 224;--design-style-protesis-roughness: 1;--design-style-protesis-metallic: 0;--design-style-protesis-opacity: 1;--design-style-vsp-other-color: 252, 239, 180;--design-style-vsp-other-roughness: 1;--design-style-vsp-other-metallic: 0;--design-style-vsp-other-opacity: 1;--design-style-hueso-color: 255, 248, 228;--design-style-hueso-roughness: 1;--design-style-hueso-metallic: 0;--design-style-hueso-opacity: 1;--design-style-senos-color: 252, 66, 158;--design-style-senos-roughness: .1;--design-style-senos-metallic: 0;--design-style-senos-opacity: 1;--design-style-nervio-color: 136, 255, 148;--design-style-nervio-roughness: .15;--design-style-nervio-metallic: 0;--design-style-nervio-opacity: .73;--design-style-tejido-color: 249, 200, 216;--design-style-tejido-roughness: .15;--design-style-tejido-metallic: 0;--design-style-tejido-opacity: 1;--design-style-cubos-osteotomia-color: 140, 255, 88;--design-style-cubos-osteotomia-roughness: .05;--design-style-cubos-osteotomia-metallic: 0;--design-style-cubos-osteotomia-opacity: .35;--design-style-guia-color: 190, 190, 190;--design-style-guia-roughness: 1;--design-style-guia-metallic: 0;--design-style-guia-opacity: 1;--design-style-connections-color: 191, 0, 0;--design-style-connections-roughness: .85;--design-style-connections-metallic: 0;--design-style-connections-opacity: 1;--design-style-fijos-mua-color: 255, 232, 166;--design-style-fijos-mua-roughness: .25;--design-style-fijos-mua-metallic: .5;--design-style-fijos-mua-opacity: 1;--design-style-hex-color: 255, 134, 0;--design-style-hex-roughness: .85;--design-style-hex-metallic: 0;--design-style-hex-opacity: 1;--design-style-implante-color: 200, 204, 210;--design-style-implante-roughness: .28;--design-style-implante-metallic: .4;--design-style-implante-opacity: 1;--design-style-tornillos-color: 53, 158, 255;--design-style-tornillos-roughness: .31;--design-style-tornillos-metallic: 0;--design-style-tornillos-opacity: 1}[data-design-style=blanco]{--layer-color: var(--design-style-blanco-color);--layer-roughness: var(--design-style-blanco-roughness);--layer-metallic: var(--design-style-blanco-metallic);--layer-opacity: var(--design-style-blanco-opacity)}[data-design-style=protesis]{--layer-color: var(--design-style-protesis-color);--layer-roughness: var(--design-style-protesis-roughness);--layer-metallic: var(--design-style-protesis-metallic);--layer-opacity: var(--design-style-protesis-opacity)}[data-design-style=vsp-other]{--layer-color: var(--design-style-vsp-other-color);--layer-roughness: var(--design-style-vsp-other-roughness);--layer-metallic: var(--design-style-vsp-other-metallic);--layer-opacity: var(--design-style-vsp-other-opacity)}[data-design-style=hueso]{--layer-color: var(--design-style-hueso-color);--layer-roughness: var(--design-style-hueso-roughness);--layer-metallic: var(--design-style-hueso-metallic);--layer-opacity: var(--design-style-hueso-opacity)}[data-design-style=senos]{--layer-color: var(--design-style-senos-color);--layer-roughness: var(--design-style-senos-roughness);--layer-metallic: var(--design-style-senos-metallic);--layer-opacity: var(--design-style-senos-opacity)}[data-design-style=nervio]{--layer-color: var(--design-style-nervio-color);--layer-roughness: var(--design-style-nervio-roughness);--layer-metallic: var(--design-style-nervio-metallic);--layer-opacity: var(--design-style-nervio-opacity)}[data-design-style=tejido]{--layer-color: var(--design-style-tejido-color);--layer-roughness: var(--design-style-tejido-roughness);--layer-metallic: var(--design-style-tejido-metallic);--layer-opacity: var(--design-style-tejido-opacity)}[data-design-style=cubos-osteotomia]{--layer-color: var(--design-style-cubos-osteotomia-color);--layer-roughness: var(--design-style-cubos-osteotomia-roughness);--layer-metallic: var(--design-style-cubos-osteotomia-metallic);--layer-opacity: var(--design-style-cubos-osteotomia-opacity)}[data-design-style=guia]{--layer-color: var(--design-style-guia-color);--layer-roughness: var(--design-style-guia-roughness);--layer-metallic: var(--design-style-guia-metallic);--layer-opacity: var(--design-style-guia-opacity)}[data-design-style=connections]{--layer-color: var(--design-style-connections-color);--layer-roughness: var(--design-style-connections-roughness);--layer-metallic: var(--design-style-connections-metallic);--layer-opacity: var(--design-style-connections-opacity)}[data-design-style=fijos-mua]{--layer-color: var(--design-style-fijos-mua-color);--layer-roughness: var(--design-style-fijos-mua-roughness);--layer-metallic: var(--design-style-fijos-mua-metallic);--layer-opacity: var(--design-style-fijos-mua-opacity)}[data-design-style=hex]{--layer-color: var(--design-style-hex-color);--layer-roughness: var(--design-style-hex-roughness);--layer-metallic: var(--design-style-hex-metallic);--layer-opacity: var(--design-style-hex-opacity)}[data-design-style=implante]{--layer-color: var(--design-style-implante-color);--layer-roughness: var(--design-style-implante-roughness);--layer-metallic: var(--design-style-implante-metallic);--layer-opacity: var(--design-style-implante-opacity)}[data-design-style=tornillos]{--layer-color: var(--design-style-tornillos-color);--layer-roughness: var(--design-style-tornillos-roughness);--layer-metallic: var(--design-style-tornillos-metallic);--layer-opacity: var(--design-style-tornillos-opacity)}[data-design-layer=auxiliar],[data-design-layer=secciones]{--layer-color: var(--design-style-blanco-color);--layer-roughness: var(--design-style-blanco-roughness);--layer-metallic: var(--design-style-blanco-metallic);--layer-opacity: var(--design-style-blanco-opacity)}[data-design-layer=craneo],[data-design-layer=maxilar],[data-design-layer=maxilar-osteotomizado]{--layer-color: var(--design-style-hueso-color);--layer-roughness: var(--design-style-hueso-roughness);--layer-metallic: var(--design-style-hueso-metallic);--layer-opacity: var(--design-style-hueso-opacity)}[data-design-layer=senos]{--layer-color: var(--design-style-senos-color);--layer-roughness: var(--design-style-senos-roughness);--layer-metallic: var(--design-style-senos-metallic);--layer-opacity: var(--design-style-senos-opacity)}[data-design-layer=mandibula],[data-design-layer=mandibula-osteotomizada]{--layer-color: var(--design-style-hueso-color);--layer-roughness: var(--design-style-hueso-roughness);--layer-metallic: var(--design-style-hueso-metallic);--layer-opacity: var(--design-style-hueso-opacity)}[data-design-layer=nevio-mandibular],[data-design-layer=nervio-mandibular]{--layer-color: var(--design-style-nervio-color);--layer-roughness: var(--design-style-nervio-roughness);--layer-metallic: var(--design-style-nervio-metallic);--layer-opacity: var(--design-style-nervio-opacity)}[data-design-layer=dientes-arriba],[data-design-layer=dientes-abajo]{--layer-color: var(--design-style-blanco-color);--layer-roughness: var(--design-style-blanco-roughness);--layer-metallic: var(--design-style-blanco-metallic);--layer-opacity: var(--design-style-blanco-opacity)}[data-design-layer=tejido-superior],[data-design-layer=tejido-inferior]{--layer-color: var(--design-style-tejido-color);--layer-roughness: var(--design-style-tejido-roughness);--layer-metallic: var(--design-style-tejido-metallic);--layer-opacity: var(--design-style-tejido-opacity)}[data-design-layer=protesis-superior]{--layer-color: var(--design-style-protesis-color);--layer-roughness: var(--design-style-protesis-roughness);--layer-metallic: var(--design-style-protesis-metallic);--layer-opacity: var(--design-style-protesis-opacity)}[data-design-layer=vsp-other]{--layer-color: var(--design-style-vsp-other-color);--layer-roughness: var(--design-style-vsp-other-roughness);--layer-metallic: var(--design-style-vsp-other-metallic);--layer-opacity: var(--design-style-vsp-other-opacity)}[data-design-layer=protesis-inferior]{--layer-color: var(--design-style-protesis-color);--layer-roughness: var(--design-style-protesis-roughness);--layer-metallic: var(--design-style-protesis-metallic);--layer-opacity: var(--design-style-protesis-opacity)}[data-design-layer=cubos-osteotomia-maxilar],[data-design-layer=cubos-osteotomia-mandibula]{--layer-color: var(--design-style-cubos-osteotomia-color);--layer-roughness: var(--design-style-cubos-osteotomia-roughness);--layer-metallic: var(--design-style-cubos-osteotomia-metallic);--layer-opacity: var(--design-style-cubos-osteotomia-opacity)}[data-design-layer=guia-osteotomia-lower],[data-design-layer=guia-osteotomia-upper],[data-design-layer=comprobacion-guia-lower],[data-design-layer=comprobacion-guia-upper],[data-design-layer=ferulizacion-lower],[data-design-layer=ferulizacion-upper],[data-design-layer=drill-upper],[data-design-layer=drill-lower],[data-design-layer=guia-osteotomia-vertical-upper],[data-design-layer=guia-osteotomia-vertical-lower],[data-design-layer=comprobacion-guia-vertical-upper],[data-design-layer=comprobacion-guia-vertical-lower]{--layer-color: var(--design-style-guia-color);--layer-roughness: var(--design-style-guia-roughness);--layer-metallic: var(--design-style-guia-metallic);--layer-opacity: var(--design-style-guia-opacity)}[data-design-layer=connections-upper],[data-design-layer=connections-lower]{--layer-color: var(--design-style-connections-color);--layer-roughness: var(--design-style-connections-roughness);--layer-metallic: var(--design-style-connections-metallic);--layer-opacity: var(--design-style-connections-opacity)}[data-design-layer=protesis-upper],[data-design-layer=protesis-lower]{--layer-color: var(--design-style-protesis-color);--layer-roughness: var(--design-style-protesis-roughness);--layer-metallic: var(--design-style-protesis-metallic);--layer-opacity: var(--design-style-protesis-opacity)}[data-design-layer=fijos],[data-design-layer=fijos-lower],[data-design-layer=fijos-upper]{--layer-color: var(--design-style-fijos-mua-color);--layer-roughness: var(--design-style-fijos-mua-roughness);--layer-metallic: var(--design-style-fijos-mua-metallic);--layer-opacity: var(--design-style-fijos-mua-opacity)}[data-design-layer=hex],[data-design-layer=hex-lower],[data-design-layer=hex-upper]{--layer-color: var(--design-style-hex-color);--layer-roughness: var(--design-style-hex-roughness);--layer-metallic: var(--design-style-hex-metallic);--layer-opacity: var(--design-style-hex-opacity)}[data-design-layer=mua],[data-design-layer=mua-lower],[data-design-layer=mua-upper]{--layer-color: var(--design-style-fijos-mua-color);--layer-roughness: var(--design-style-fijos-mua-roughness);--layer-metallic: var(--design-style-fijos-mua-metallic);--layer-opacity: var(--design-style-fijos-mua-opacity)}[data-design-layer=implante],[data-design-layer=implante-lower],[data-design-layer=implante-upper],[data-design-layer=implante-left-lower],[data-design-layer=implante-right-lower],[data-design-layer=implante-left-upper],[data-design-layer=implante-right-upper]{--layer-color: var(--design-style-implante-color);--layer-roughness: var(--design-style-implante-roughness);--layer-metallic: var(--design-style-implante-metallic);--layer-opacity: var(--design-style-implante-opacity)}[data-design-layer=connections]{--layer-color: var(--design-style-connections-color);--layer-roughness: var(--design-style-connections-roughness);--layer-metallic: var(--design-style-connections-metallic);--layer-opacity: var(--design-style-connections-opacity)}[data-design-layer=tornillos],[data-design-layer=tornillos-lower],[data-design-layer=tornillos-upper]{--layer-color: var(--design-style-tornillos-color);--layer-roughness: var(--design-style-tornillos-roughness);--layer-metallic: var(--design-style-tornillos-metallic);--layer-opacity: var(--design-style-tornillos-opacity)}[data-design-layer=direcciones],[data-design-layer=puntos],[data-design-layer=emergencias---jordi],[data-design-layer=anatomia-de-trabajo],[data-design-layer=direcciones-maxilar],[data-design-layer=direcciones-mandibular]{--layer-color: var(--design-style-blanco-color);--layer-roughness: var(--design-style-blanco-roughness);--layer-metallic: var(--design-style-blanco-metallic);--layer-opacity: var(--design-style-blanco-opacity)}.patient-modal{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;z-index:1000}.patient-modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#00000080}.patient-modal-content{background-color:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1001;width:90%;max-width:600px;position:relative;display:flex;flex-direction:column;max-height:90vh;overflow-y:auto}.patient-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.patient-modal-header h2{font-size:1.5rem;font-weight:600;color:#333;margin:0;flex:1;min-width:0}.patient-modal-close{background:none;border:none;font-size:24px;color:#333;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.patient-modal-close:hover{background-color:#f0f0f0}.upload-design-content{display:flex;flex-direction:column;gap:1.5rem}#upload-design-form[hidden]{display:none!important}.file-upload-area{width:100%}.file-upload-dropzone{border:2px dashed #ddd;border-radius:8px;padding:2rem;text-align:center;cursor:pointer;transition:all .2s ease;background:#fafafa}.file-upload-dropzone:hover{border-color:#8052ec;background:#f5f5f5}.file-upload-dropzone.drag-over{border-color:#8052ec;background:#f0f0f0}.file-upload-dropzone p{margin:.5rem 0;color:#666}.file-upload-hint{font-size:.85rem;color:#999}.upload-design-modal-content{position:relative}.upload-design-progress{display:flex;flex-direction:column;gap:.85rem}.upload-design-progress[hidden]{display:none}.upload-design-progress-title{margin:0;font-size:1rem;font-weight:600;color:#333}.upload-design-progress-hint{margin:0;font-size:.82rem;color:#777}.upload-design-progress-list{display:flex;flex-direction:column;gap:.75rem}.upload-design-progress .form-actions{display:flex;justify-content:flex-end;margin-top:.5rem}.upload-progress-row{display:flex;flex-direction:column;gap:.3rem}.upload-progress-name{font-size:.88rem;font-weight:600;color:#333;word-break:break-word}.upload-progress-track{height:10px;background:#eceaf3;border-radius:999px;overflow:hidden}.upload-progress-fill{height:100%;width:0;background:#8052ec;border-radius:999px;transition:width .15s ease}.upload-progress-fill.is-indeterminate{width:40%!important;animation:upload-progress-indeterminate 1s ease-in-out infinite}.upload-progress-row.is-done .upload-progress-fill{background:#2e9e5b}.upload-progress-row.is-error .upload-progress-fill{background:#c44536}.upload-progress-status{font-size:.78rem;color:#666}.upload-progress-row.is-done .upload-progress-status{color:#2e9e5b;font-weight:600}.upload-progress-row.is-error .upload-progress-status{color:#c44536;font-weight:600}@keyframes upload-progress-indeterminate{0%{transform:translate(-120%)}to{transform:translate(280%)}}.upload-design-busy{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:1.5rem;background:#ffffffeb;border-radius:8px}.upload-design-busy[hidden]{display:none}.upload-design-busy-spinner{width:28px;height:28px;border:3px solid #e6e0f8;border-top-color:#8052ec;border-radius:50%;animation:upload-design-spin .8s linear infinite}.upload-design-busy-title{margin:0;font-size:.95rem;font-weight:600;color:#333;text-align:center}.upload-design-busy-hint{margin:0;font-size:.8rem;color:#777;text-align:center;max-width:22rem}@keyframes upload-design-spin{to{transform:rotate(360deg)}}.upload-files-list{margin-top:1rem}.upload-files-list h4{margin-bottom:1rem;font-size:1rem;color:#333}.upload-file-item{display:flex;flex-direction:column;gap:.75rem;padding:1rem;margin-bottom:1rem;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px}.upload-file-info{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.35rem}.upload-file-name{font-weight:500;color:#333}.upload-file-format{padding:.25rem .5rem;background:#8052ec;color:#fff;border-radius:4px;font-size:.75rem;font-weight:600}.upload-file-source{font-size:.75rem;color:#6b6578;width:100%;margin-top:.2rem}.upload-file-name-select{display:flex;flex-direction:column;gap:.5rem}.upload-file-name-select label{font-size:.9rem;font-weight:500;color:#555}.upload-file-name-select select,.design-layer-filter{padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem;width:100%;box-sizing:border-box}.design-layer-picker{display:flex;align-items:flex-start;gap:.5rem}.design-layer-picker .design-layer-combobox{flex:1;min-width:0}.design-layer-appearance{display:flex;flex-direction:column;align-items:stretch;gap:.3rem;flex-shrink:0;min-width:176px;max-width:220px}.design-layer-material-assigned{display:flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:600;color:#444;padding:.45rem .55rem;border:1px solid #ddd;border-radius:4px;background:#fafafa;min-height:36px;box-sizing:border-box}.design-layer-material-assigned.has-material-color,.design-material-trigger.has-material-color,.design-material-option.has-material-color{border-color:#0000001f;text-shadow:0 0 8px rgba(255,255,255,.35)}.design-layer-swatch{width:16px;height:16px;border-radius:3px;border:1px solid #ccc;flex-shrink:0}.design-layer-material-name{line-height:1.2}.design-layer-appearance-picker{display:flex;flex-direction:column;gap:.3rem}.design-material-combobox{position:relative}.design-material-trigger{position:relative;width:100%;min-height:36px;padding:.4rem 1.6rem .4rem .55rem;border:1px solid #ddd;border-radius:4px;font-size:.8rem;font-weight:600;text-align:left;background-color:#fff;color:#444;cursor:pointer;box-sizing:border-box}.design-material-trigger:after{content:"";position:absolute;right:.55rem;top:50%;width:10px;height:6px;transform:translateY(-50%);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23555' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat center;background-size:contain;pointer-events:none}.design-material-trigger-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.design-material-dropdown{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:21;margin:0;padding:4px 0;max-height:240px;overflow-y:auto;list-style:none;background:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 8px 20px #0000001f}.design-material-option{padding:.45rem .6rem;font-size:.8rem;font-weight:600;cursor:pointer;color:#444}.design-material-option.is-selected{outline:2px solid #8052ec;outline-offset:-2px}.design-material-option:hover{filter:brightness(.96)}.design-layer-style{padding:.4rem;border:1px solid #ddd;border-radius:4px;font-size:.8rem;width:100%;background:#fff}.design-layer-color-tools{display:flex;flex-direction:column;align-items:stretch;gap:.3rem;flex-shrink:0}.design-layer-color{width:100%;height:36px;padding:0;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer}.design-layer-color-rhino,.design-layer-color-catalog{border:1px solid #ddd;background:#fff;color:#555;border-radius:4px;font-size:.7rem;line-height:1.2;padding:.2rem .35rem;max-width:88px;cursor:pointer}.design-layer-color-rhino.is-active,.design-layer-color-catalog.is-active{border-color:#8052ec;color:#8052ec;background:#f3edff;font-weight:600}.design-layer-combobox{position:relative}.design-layer-combobox:focus-within{z-index:5}.design-layer-dropdown{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:20;margin:0;padding:4px 0;max-height:240px;overflow-y:auto;list-style:none;background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 8px 20px #0000001f}.design-layer-option{padding:.45rem .7rem;cursor:pointer;font-size:.9rem;color:#333}.design-layer-option:hover,.design-layer-option.is-active{background:#f3edff}.design-layer-option.is-selected{font-weight:600;color:#8052ec}.design-layer-option.is-custom{font-style:italic;color:#5a3bb0}.design-layer-empty{padding:.6rem .7rem;font-size:.85rem;color:#888}.upload-file-final-name{font-size:.85rem;color:#666}.upload-file-final-name .final-name-text{font-weight:500;color:#8052ec}.upload-design-content .btn-primary,.upload-design-content .btn-secondary,.upload-design-progress .btn-primary{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.upload-design-content .btn-primary,.upload-design-progress .btn-primary{background-color:#8052ec;color:#fff}.upload-design-content .btn-primary:hover,.upload-design-progress .btn-primary:hover{background-color:#6b42d4}.upload-design-content .btn-secondary{background-color:#f0f0f0;color:#333}.upload-design-content .btn-secondary:hover{background-color:#e0e0e0}.btn-remove-file{align-self:flex-end;padding:.5rem 1rem;background:#e74c3c;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;transition:background .2s}.btn-remove-file:hover{background:#c0392b}#modal-upload-design.patient-modal{z-index:13000}#modal-upload-design .form-group{display:flex;flex-direction:column;gap:.5rem}#modal-upload-design .form-group label{font-size:.9rem;font-weight:600;color:#333}#modal-upload-design .form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem}.material-lab-page{--ml-bg: #1a1d23;--ml-panel: #232830;--ml-border: #343b46;--ml-text: #e8eaed;--ml-muted: #9aa3b2;--ml-accent: #3d8bfd;display:flex;flex-direction:column;height:100vh;background:var(--ml-bg);color:var(--ml-text);font-family:Segoe UI,system-ui,sans-serif;overflow:hidden}.ml-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.25rem;background:var(--ml-panel);border-bottom:1px solid var(--ml-border)}.ml-header h1{margin:0;font-size:1.15rem;font-weight:600}.ml-subtitle{margin:.15rem 0 0;font-size:.8rem;color:var(--ml-muted)}.ml-header-right{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.ml-btn,.ml-file-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--ml-border);background:#2c3340;color:var(--ml-text);border-radius:8px;padding:.45rem .85rem;font-size:.85rem;cursor:pointer}.ml-btn:hover,.ml-file-btn:hover{border-color:var(--ml-accent)}.ml-btn.primary{background:var(--ml-accent);border-color:var(--ml-accent);color:#fff}.ml-body{flex:1;display:grid;grid-template-columns:280px 1fr 300px;min-height:0}.ml-presets,.ml-controls{background:var(--ml-panel);border-right:1px solid var(--ml-border);overflow:auto;padding:.75rem}.ml-controls{border-right:none;border-left:1px solid var(--ml-border);display:flex;flex-direction:column;gap:.65rem}.ml-controls h2{margin:0 0 .25rem;font-size:.95rem}.ml-controls label{display:flex;flex-direction:column;gap:.25rem;font-size:.78rem;color:var(--ml-muted)}.ml-controls input[type=text],.ml-controls select,.ml-controls input[type=color],.ml-controls input[type=range],.ml-presets input[type=search]{width:100%}.ml-controls input[type=text],.ml-controls select,.ml-presets input[type=search]{background:#1a1d23;border:1px solid var(--ml-border);color:var(--ml-text);border-radius:6px;padding:.4rem .5rem}.ml-check{flex-direction:row!important;align-items:center;gap:.5rem!important}.ml-hint{margin:0;font-size:.72rem;line-height:1.35;color:var(--ml-muted)}.ml-control-actions{display:flex;flex-direction:column;gap:.4rem}.ml-presets-head{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.ml-preset-list{display:flex;flex-direction:column;gap:.35rem}.ml-preset-item{display:grid;grid-template-columns:18px 1fr;gap:.5rem;align-items:center;padding:.45rem .55rem;border-radius:8px;border:1px solid transparent;background:#1a1d23;cursor:pointer;text-align:left;color:inherit;font:inherit}.ml-preset-item:hover,.ml-preset-item.active{border-color:var(--ml-accent);background:#252b36}.ml-swatch{width:18px;height:18px;border-radius:4px;border:1px solid rgba(255,255,255,.2)}.ml-preset-meta{display:flex;flex-direction:column;min-width:0}.ml-preset-meta strong{font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ml-preset-meta span{font-size:.7rem;color:var(--ml-muted)}.ml-viewport-wrap{position:relative;min-width:0;min-height:0;background:#d9d9d9}.ml-viewport{position:absolute;top:0;right:0;bottom:0;left:0}.ml-status{position:absolute;left:1rem;bottom:1rem;margin:0;padding:.4rem .7rem;background:#0000008c;border-radius:6px;font-size:.8rem;color:#cfd5df;pointer-events:none;z-index:2}.ml-css-preview{margin:.5rem 0 0;padding:.6rem;background:#12151a;border:1px solid var(--ml-border);border-radius:8px;font-size:.68rem;max-height:180px;overflow:auto;white-space:pre-wrap;color:#b7c0ce}@media (max-width: 1100px){.ml-body{grid-template-columns:220px 1fr;grid-template-rows:1fr auto}.ml-controls{grid-column:1 / -1;max-height:40vh}}.automatic-report-page{display:flex;flex-direction:column;height:100vh;background:#f7f8fc;overflow:hidden;position:relative}.automatic-report-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:#fff;border-bottom:1px solid #e0e0e0;box-shadow:0 2px 4px #0000000d;flex-shrink:0}.automatic-report-header-left,.automatic-report-header-right{display:flex;align-items:center;gap:1rem}.automatic-report-header h2{margin:0;font-size:1.2rem;color:#333;font-weight:600}.automatic-report-btn-back{padding:8px 16px;background:#f0f0f0;color:#333;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;transition:background .2s}.automatic-report-btn-back:hover{background:#e0e0e0}.automatic-report-frame{flex:1;width:100%;border:0;min-height:0;background:#f0eef5}.final-report-page{--fr-canvas: #121314;--fr-surface: #191b1e;--fr-surface-raised: #202226;--fr-surface-highest: #2a2c31;--fr-line: rgba(255, 255, 255, .06);--fr-line-strong: rgba(255, 255, 255, .12);--fr-text: #f3f1ec;--fr-text-strong: #ffffff;--fr-text-muted: rgba(243, 241, 236, .6);--fr-text-faint: rgba(243, 241, 236, .38);--fr-accent: var(--brand-500, #9255d4);--fr-accent-strong: var(--brand-700, #7040c0);--fr-accent-soft: rgba(146, 85, 212, .16);--fr-radius-sm: 6px;--fr-radius-md: 10px;--fr-radius-lg: 14px;--fr-ease: cubic-bezier(.2, .7, .3, 1);display:flex;flex-direction:column;height:100vh;background:var(--fr-canvas);overflow:hidden;color:var(--fr-text);font-family:DM Sans,sans-serif;-webkit-font-smoothing:antialiased}@media (prefers-reduced-motion: reduce){.final-report-page *{transition-duration:.001ms!important;animation-duration:.001ms!important}}.final-report-page *:focus-visible{outline:2px solid var(--fr-accent);outline-offset:2px}.final-report-header{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:.75rem 1.5rem;background:var(--fr-surface);border-bottom:1px solid var(--fr-line);color:var(--fr-text);flex-shrink:0;z-index:10}.final-report-header-left{display:flex;flex-direction:column;gap:.2rem;min-width:0}.final-report-header-left h2{margin:0;font-size:.68rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--fr-text-faint);white-space:nowrap}.final-report-case-meta{display:flex;align-items:center;min-width:0;font-size:.9rem;font-weight:500;color:var(--fr-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.final-report-case-meta #fr-case-id{font-family:DM Mono,monospace;font-weight:500;font-size:.88rem;letter-spacing:.01em;color:var(--fr-text-strong);margin-right:.1rem}.final-report-case-meta #fr-case-procedure,.final-report-case-meta #fr-case-patient{overflow:hidden;text-overflow:ellipsis}.final-report-meta-sep{margin:0 .55rem;color:var(--fr-text-faint)}.final-report-header-right{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.75rem;flex-shrink:0}.final-report-toolbar-group{display:flex;align-items:center;gap:.15rem;padding:.2rem;background:var(--fr-surface-raised);border-radius:var(--fr-radius-lg)}.final-report-toolbar-divider{width:1px;align-self:stretch;margin:.3rem;background:var(--fr-line-strong);flex-shrink:0}.final-report-mode-switch{display:flex;gap:2px}.final-report-mode-btn{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:none!important;box-shadow:none!important;background:transparent;color:var(--fr-text-muted);padding:.45rem .9rem;border-radius:calc(var(--fr-radius-lg) - 4px);cursor:pointer;font-size:.8rem;font-weight:500;letter-spacing:.01em;transition:background .15s var(--fr-ease),color .15s var(--fr-ease)}.final-report-mode-btn:hover:not(.is-active){color:var(--fr-text);background:var(--fr-surface-highest)}.final-report-mode-btn.is-active{background:var(--fr-accent-strong)!important;color:#fff}.final-report-pdf-actions{display:flex;gap:2px}.final-report-btn-pdf{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding:.45rem .8rem;background:transparent;color:var(--fr-text-muted);border:none!important;box-shadow:none!important;border-radius:calc(var(--fr-radius-lg) - 4px);cursor:pointer;font-size:.79rem;font-weight:500;transition:background .15s var(--fr-ease),color .15s var(--fr-ease)}.final-report-btn-pdf:hover:not(:disabled){color:var(--fr-text);background:var(--fr-surface-highest)}.final-report-btn-pdf:disabled{opacity:.32;cursor:not-allowed}.final-report-btn-back{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding:.5rem 1rem;background:transparent;color:var(--fr-text-muted);border:none!important;box-shadow:none!important;border-radius:var(--fr-radius-md);cursor:pointer;font-size:.8rem;font-weight:500;transition:background .15s var(--fr-ease),color .15s var(--fr-ease)}.final-report-btn-back:hover{color:var(--fr-text);background:var(--fr-surface-raised)}.final-report-body{display:flex;flex:1;min-height:0}.final-report-sidebar{position:relative;width:320px;flex-shrink:0;background:var(--fr-surface);border-right:1px solid var(--fr-line);overflow:auto;padding:1rem .9rem;transition:width .18s var(--fr-ease),padding .18s var(--fr-ease)}.final-report-body.is-sidebar-collapsed .final-report-sidebar{width:44px;padding:1rem .4rem;overflow:hidden}.final-report-body.is-sidebar-collapsed .final-report-category,#fr-sidebar-toggle{font-size:0}.final-report-body.is-sidebar-collapsed .final-report-category{display:none}#fr-categories{margin-top:2.1rem}.final-report-sidebar-toggle{position:absolute;top:.85rem;left:50%;transform:translate(-50%);width:28px;height:28px;border:none;background:var(--fr-surface-raised);color:var(--fr-text-muted);border-radius:var(--fr-radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center}.final-report-sidebar-toggle:before{content:"«";font-size:13px;font-weight:700;color:var(--fr-text-muted);line-height:1}.final-report-body.is-sidebar-collapsed #fr-sidebar-toggle:before{content:"»"}.final-report-sidebar-toggle:hover{background:var(--fr-surface-highest);color:var(--fr-text)}.final-report-category{--fr-cat: var(--fr-accent);border-radius:var(--fr-radius-md);margin-bottom:.9rem;overflow:hidden;box-shadow:0 4px 14px #00000038}.final-report-category[data-cat=implants]{--fr-cat: #6fa8a2}.final-report-category[data-cat=connections]{--fr-cat: #c08765}.final-report-category[data-cat=screws]{--fr-cat: #8fad7a}.final-report-category[data-cat=guides]{--fr-cat: #7c93b8}.final-report-category[data-cat=check_guides]{--fr-cat: #c9a468}.final-report-category[data-cat=biomodels]{--fr-cat: #b7ac97}.final-report-category[data-cat=anatomies]{--fr-cat: #b084a0}.final-report-category[data-cat=thickness]{--fr-cat: #a6a06a}.final-report-category-head{display:flex;align-items:center;gap:.6rem;padding:.7rem .85rem;cursor:pointer;background:var(--fr-surface-raised);transition:background .15s var(--fr-ease)}.final-report-category-head:hover{background:var(--fr-surface-highest)}.final-report-category-head input{order:1;margin:0;width:14px;height:14px;accent-color:var(--fr-cat);cursor:pointer;flex-shrink:0}.final-report-category-head input:focus-visible{outline:1px solid rgba(255,255,255,.5);outline-offset:2px;border-radius:2px}.final-report-category-head:before{content:"";order:2;width:7px;height:7px;border-radius:50%;background:var(--fr-cat);flex-shrink:0}.final-report-category-title{order:3;font-size:.74rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--fr-text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.final-report-category-head span:last-child{order:4;color:var(--fr-text-faint);font-size:.73rem;font-weight:600;flex-shrink:0}.final-report-category-body{padding:.45rem .7rem .65rem;background:var(--fr-canvas);display:flex;flex-direction:column;gap:.1rem}.final-report-layer{display:grid;grid-template-columns:auto 1fr auto;gap:.55rem;align-items:start;font-size:.79rem;color:var(--fr-text-muted);padding:.42rem .5rem;border-radius:var(--fr-radius-sm);transition:background .15s var(--fr-ease),color .15s var(--fr-ease)}.final-report-layer:hover{background:var(--fr-surface-raised);color:var(--fr-text)}.final-report-layer span{overflow-wrap:break-word;word-break:break-word;line-height:1.4}.final-report-layer input[type=checkbox]{accent-color:var(--fr-cat);width:13px;height:13px;margin-top:.18rem;cursor:pointer;flex-shrink:0}.final-report-layer input[type=checkbox]:focus-visible{outline:1px solid rgba(255,255,255,.5);outline-offset:2px;border-radius:2px}.final-report-layer input[type=range]{-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;width:68px;height:2px!important;align-self:center;border-radius:999px;background:#ffffff24;cursor:pointer;outline:none;flex-shrink:0;border:none!important;box-shadow:none!important}.final-report-layer input[type=range]::-webkit-slider-runnable-track{height:2px;border-radius:999px;background:#ffffff24}.final-report-layer input[type=range]::-webkit-slider-thumb{-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;width:9px;height:9px;margin-top:-3.5px;border-radius:50%;background:var(--fr-cat);border:none!important;box-shadow:none!important;transition:transform .15s var(--fr-ease)}.final-report-layer input[type=range]:hover::-webkit-slider-thumb,.final-report-layer input[type=range]:focus-visible::-webkit-slider-thumb{transform:scale(1.4)}.final-report-layer input[type=range]::-moz-range-track{height:2px;border-radius:999px;background:#ffffff24}.final-report-layer input[type=range]::-moz-range-progress{height:2px;border-radius:999px;background:var(--fr-cat);opacity:.55}.final-report-layer input[type=range]::-moz-range-thumb{width:9px;height:9px;border-radius:50%;background:var(--fr-cat);border:none!important;box-shadow:none!important;cursor:pointer}.final-report-layer input[type=range]:focus-visible{outline:1px solid rgba(255,255,255,.5);outline-offset:3px}.final-report-main{flex:1;min-width:0;display:flex;min-height:0;background:var(--fr-canvas)}.final-report-3d-wrap,.final-report-pdf-wrap{flex:1;min-width:0;min-height:0;position:relative;background:var(--fr-canvas);display:none!important}.final-report-body[data-mode="3d"] .final-report-3d-wrap,.final-report-body[data-mode=split] .final-report-3d-wrap{display:block!important}.final-report-body[data-mode=report] .final-report-pdf-wrap,.final-report-body[data-mode=split] .final-report-pdf-wrap{display:flex!important}.final-report-body[data-mode=split] .final-report-pdf-wrap{border-left:1px solid var(--fr-line)}.final-report-3d{width:100%;height:100%}.final-report-3d canvas{display:block;width:100%!important;height:100%!important}.fr-toolbar-row{position:absolute;top:14px;left:14px;z-index:6}.fr-quickviews{display:flex;gap:4px;background:var(--fr-surface-raised);border:1px solid var(--fr-line-strong);border-radius:9px;padding:4px}.fr-quickviews button{width:30px;height:30px;border-radius:6px;border:none;background:transparent;cursor:pointer;color:var(--fr-text-muted);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700}.fr-quickviews button svg{width:14px;height:14px}.fr-quickviews button:hover{background:var(--fr-accent-soft);color:var(--fr-text-strong)}.fr-quickviews button.active{background:var(--fr-accent);color:#fff}.fr-quickviews .sep{width:1px;background:var(--fr-line-strong);margin:2px}.fr-clip-panel{position:absolute;top:58px;left:14px;z-index:6;display:flex;align-items:center;gap:10px;background:var(--fr-surface-raised);border:1px solid var(--fr-line-strong);border-radius:9px;padding:8px 12px;font-size:12px;font-weight:600;color:var(--fr-text)}.fr-clip-panel input[type=range]{width:140px}.fr-legend-stack{position:absolute;bottom:18px;right:18px;z-index:6;display:flex;flex-direction:column;gap:10px;pointer-events:none}.fr-legend{background:var(--fr-surface-raised);border:1px solid var(--fr-line-strong);border-radius:12px;padding:14px 18px;width:280px;color:var(--fr-text);pointer-events:auto}.fr-legend .legend-title{font-size:13px;font-weight:700;margin-bottom:10px}.fr-legend .legend-bar{height:12px;border-radius:6px;margin-bottom:8px;background:linear-gradient(90deg,#d6446b,#e8d93d,#2fa86a)}.fr-legend .legend-bar--implant{background:linear-gradient(90deg,#c00,#ffe600,#12c44a 66%,#1a4cff)}.fr-legend .legend-scale{display:flex;justify-content:space-between;font-size:11px;color:var(--fr-text-muted);font-weight:600}.fr-legend .legend-note{font-size:11.5px;color:var(--fr-text-muted);margin-top:10px;line-height:1.45}.final-report-pdf-wrap{padding:0}.final-report-pdf-wrap iframe{flex:1;width:100%;height:100%;border:0;border-radius:0;background:#fff;box-shadow:none}.final-report-status{position:absolute;left:14px;bottom:14px;margin:0;background:#121314d9;color:var(--fr-text);padding:.35rem .65rem;border-radius:var(--fr-radius-sm);font-size:.76rem;font-family:DM Mono,monospace;letter-spacing:.01em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.final-report-status:empty{display:none}.fr-load-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12000;display:none;align-items:center;justify-content:center;background:#1213149e;padding:1.5rem}.fr-load-overlay.is-open{display:flex}.fr-load-overlay[hidden]{display:none!important}.fr-load-panel{width:min(480px,100%);max-height:min(70vh,560px);overflow:auto;background:#fff;color:#1c1b22;border-radius:14px;padding:1.1rem 1.2rem 1.2rem;box-shadow:0 16px 40px #12131447}.fr-load-title{margin:0 0 .85rem;font-size:1rem;font-weight:700}.fr-load-list{display:flex;flex-direction:column;gap:.7rem}.fr-load-name{font-size:.84rem;font-weight:600;word-break:break-word}.fr-load-track{height:8px;margin:.28rem 0 .18rem;background:#ece9f3;border-radius:999px;overflow:hidden}.fr-load-fill{height:100%;width:0;background:var(--fr-accent, #9255d4);border-radius:999px;transition:width .15s ease}.fr-load-fill.is-indeterminate{width:40%!important;animation:fr-load-indeterminate 1s ease-in-out infinite}.fr-load-row.is-done .fr-load-fill{background:#2e9e5b}.fr-load-row.is-error .fr-load-fill{background:#c44536}.fr-load-status{font-size:.75rem;color:#6b6578}.fr-load-row.is-done .fr-load-status{color:#2e9e5b;font-weight:600}.fr-load-row.is-error .fr-load-status{color:#c44536;font-weight:600}@keyframes fr-load-indeterminate{0%{transform:translate(-120%)}to{transform:translate(280%)}}@media (max-width: 900px){.final-report-header{flex-wrap:wrap;row-gap:.5rem}.final-report-case-meta{order:3;width:100%}.final-report-sidebar{position:fixed;top:96px;bottom:0;left:0;z-index:20;box-shadow:0 18px 48px #00000073}.final-report-body[data-mode=split] .final-report-pdf-wrap{display:none!important}}
