.login-container{display:flex;justify-content:center;align-items:center;height:100vh;background:var(--color-neutral-2)}.login-card{display:flex;width:1040px;min-height:520px;background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000001a;overflow:hidden}.left{flex:1;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{padding:.9rem;border:1px solid var(--color-neutral-1);border-radius:8px;font:var(--font-body)}input:focus{border-color:var(--color-primary-2);outline:none}.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}.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)}.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:1;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}.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:1000;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)}.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}.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:#fffffffa;border-radius:24px;box-shadow:0 24px 48px #0000004d;display:flex;overflow:hidden;z-index:1}.settings-panel__nav{width:240px;background:#299ad114;border-right:1px solid rgba(41,154,209,.15);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:#7b7f98;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s ease}.settings-panel__close:hover{background:#299ad11a;color:#299ad1}.settings-panel__menu{display:flex;flex-direction:column;gap:4px;padding:0 12px}.settings-panel__item{padding:12px 16px;border:none;background:transparent;text-align:left;font-size:14px;font-weight:500;color:#7b7f98;cursor:pointer;border-radius:12px;transition:all .2s ease}.settings-panel__item:hover{background:#299ad11a;color:#299ad1}.settings-panel__item.is-active{background:#299ad126;color:#299ad1;font-weight:600}.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:24px;font-weight:600;color:#1b2040;margin:0 0 8px}.settings-section__header p{font-size:14px;color:#7b7f98;margin:0}.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:#ffffffe6;border-radius:20px;padding:20px;box-shadow:0 4px 12px #00000014}.settings-card__header{margin-bottom:16px}.settings-card__header h3{font-size:16px;font-weight:600;color:#1b2040;margin:0}.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:11px;text-transform:uppercase;letter-spacing:.1em;color:#7b7f98;font-weight:600}.settings-details dd{margin:0;font-size:14px;font-weight:600;color:#1b2040}.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:#ffffffe6;border-radius:20px;padding:20px;box-shadow:0 4px 12px #00000014;display:flex;flex-direction:column;gap:16px}.settings-form h3{font-size:16px;font-weight:600;color:#1b2040;margin:0}.settings-form p{color:#7b7f98;font-size:13px;margin:0}.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:12px;font-weight:600;color:#7b7f98;text-transform:uppercase;letter-spacing:.05em}.settings-field input,.settings-field select{border:1px solid rgba(41,154,209,.3);border-radius:12px;padding:10px 14px;font-size:14px;background:#fffffff2;color:#1b2040;transition:all .2s ease}.settings-field input:focus,.settings-field select:focus{outline:none;border-color:#299ad1;box-shadow:0 0 0 3px #299ad126}.settings-form__actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:8px}.btn{border:none;border-radius:12px;padding:10px 20px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-primary{background:#299ad1;color:#fff;box-shadow:0 4px 12px #299ad14d}.btn-primary:hover{background:#1f6f95;transform:translateY(-1px);box-shadow:0 6px 16px #299ad166}.btn-secondary{background:#299ad11a;color:#299ad1}.btn-secondary:hover{background:#299ad133}.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:#299ad11a;border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:8px;box-shadow:inset 0 0 0 1px #299ad126}.settings-stat-card__label{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#7b7f98;font-weight:600}.settings-stat-card strong{font-size:28px;font-weight:700;color:#299ad1}.settings-team-summary{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px}.settings-team-summary__item{background:#ffffffe6;border-radius:16px;padding:14px 18px;display:flex;flex-direction:column;gap:6px;min-width:120px;box-shadow:0 2px 8px #00000014}.settings-team-summary__item span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#7b7f98;font-weight:600}.settings-team-summary__item strong{font-size:20px;font-weight:700;color:#1b2040}.settings-team-table,.settings-logs-table{background:#ffffffe6;border-radius:16px;padding:20px;box-shadow:0 2px 8px #00000014;min-height:200px}.settings-table{width:100%;border-collapse:collapse}.settings-table thead{border-bottom:2px solid rgba(41,154,209,.2)}.settings-table th{text-align:left;padding:12px;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#7b7f98;font-weight:600}.settings-table td{padding:12px;font-size:14px;color:#1b2040;border-bottom:1px solid rgba(41,154,209,.1)}.settings-table tbody tr:hover{background:#299ad10d}.settings-empty{text-align:center;color:#7b7f98;font-size:14px;padding:40px 20px;margin:0}.settings-team-expand{width:100%;padding:14px 20px;border:2px dashed rgba(41,154,209,.3);border-radius:16px;background:transparent;color:#299ad1;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:20px;transition:all .2s ease}.settings-team-expand:hover{border-color:#299ad1;background:#299ad10d}.settings-team-expand__icon{font-size:20px;font-weight:300}.settings-team-form-collapse{margin-top:20px}.settings-team-form{background:#fffffff2;border-radius:20px;padding:24px;box-shadow:0 4px 12px #0000001a;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 rgba(41,154,209,.15);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}}.home-page{display:flex;flex-direction:column;height:100vh;background:#f7f8fc;overflow:hidden}.header_professional{display:grid;grid-template-columns:auto 1fr auto;align-items:center;height:80px;padding:0 20px;background:#fff;border-bottom:1px solid #e6e6e6}.header_professional .logo-left img{margin-top:20px;height:60px}.header_professional .logo-center{display:flex;justify-content:center;align-items:center}.header_professional .logo-center .role-icon{margin-top:1%;height:40px;opacity:.8}.header_professional .header-actions{display:flex;align-items:center;gap:10px}.header_professional .header-actions .icon-btn{background:none;border:none;cursor:pointer}.header_professional .header-actions .icon-btn img{width:22px;height:22px}.header_professional .header-actions .user-btn{background:#f5f5f5;border:none;border-radius:20px;padding:6px 14px;font-weight:500;cursor:pointer;transition:background .2s}.header_professional .header-actions .user-btn:hover{background:#e9e9e9}.header_professional .header-actions .logout-btn{background:linear-gradient(135deg,#f87979,#e35d5d);border:none;border-radius:20px;padding:6px 16px;font-weight:600;color:#fff;cursor:pointer;transition:opacity .2s ease}.header_professional .header-actions .logout-btn:hover{opacity:.9}.beta-warning{background:#fff3cd;border-bottom:1px solid #ffeeba;color:#856404;padding:12px 20px;font-size:.95rem;text-align:center;flex-shrink:0}.home-container{flex:1 1 auto;display:grid;grid-template-columns:18% 1fr;min-height:0;overflow:hidden;background:#f7f8fc}.sidebar{background:#fff;border-right:1px solid #e6e6e6;padding:20px;display:flex;flex-direction:column;gap:15px;min-height:0;overflow:hidden}.content{display:flex;flex-direction:column;padding:20px;box-sizing:border-box;min-height:0;max-height:100%;overflow:hidden;height:100%}.content>div{flex:1 1 auto;min-height:0;overflow:hidden;max-height:100%}.content .placeholder{background:#fff;padding:2rem;border-radius:12px;text-align:center;color:#666}.content h2{margin-bottom:20px;font-size:1.4rem;font-weight:600}.patients-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.patients-header h2{font-size:1.4rem;font-weight:600;color:#222;margin: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}.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}.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,.patients-wrapper{display:flex;flex-direction:column;height:100%;overflow:hidden}.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}.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:left}.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:flex-start}.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}.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}.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:.5rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;text-align:left}.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:30% 1fr;gap:2rem;align-items:stretch;padding:1.5rem;background:#f8f9fd;border-radius:16px;margin-bottom:2rem}.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:1rem;justify-content:center;margin-top:1rem}.welcome-dashboard .patient-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.welcome-dashboard .stats-section{margin-bottom:2rem}.welcome-dashboard .stats-section-title{font-size:1.2rem;font-weight:600;color:#333;margin-bottom:1rem}.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}.process-status-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;min-width:240px;flex-shrink:0}.process-status-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;border-radius:8px;padding:1rem .75rem;cursor:pointer;transition:all .2s ease;min-height:90px}.process-status-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026;opacity:.9}.process-status-card-label{font-size:.8rem;color:#fffffff2;font-weight:500;line-height:1.2;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.2)}.process-status-card-value{font-size:1.75rem;font-weight:700;color:#fff;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.2)}.welcome-dashboard .stat-box{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#f0f0f0,#e0e0e0);border-radius:12px;padding:15px 20px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.welcome-dashboard .stat-box:hover{transform:translateY(-3px);box-shadow:0 4px 10px #0000001a}.welcome-dashboard .stat-box .stat-info{display:flex;flex-direction:column;gap:4px}.welcome-dashboard .stat-box .stat-info .value{font-size:2rem;font-weight:700;color:#fff}.welcome-dashboard .stat-box .stat-info .label{font-size:.9rem;color:#fff}.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.total{background:linear-gradient(135deg,#e3b1ff,#c08ef2)}.welcome-dashboard .stat-box.active{background:linear-gradient(135deg,#f7a65a,#e57e25)}.welcome-dashboard .stat-box.discharged{background:linear-gradient(135deg,#56ab2f,#a8e063)}.welcome-dashboard .welcome-right{flex:1;display:flex;justify-content:center;align-items:center}.welcome-dashboard .welcome-right video{width:100%;height:100%;border-radius:12px;display:block;object-fit:cover}.summary-panel{width:100%;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:.75rem}.summary-item{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:.75rem;display:flex;justify-content:space-between;align-items:center;transition:box-shadow .2s}.summary-item:hover{box-shadow:0 2px 4px #0000001a}.summary-item-info{display:flex;flex-direction:column;gap:.5rem;flex:1}.summary-item-id{font-weight:600;color:#333;font-size:.95rem}.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:1rem;display:flex;align-items:center;justify-content:center;min-width:36px;height:36px}.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:1rem;padding:.75rem 1rem;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{grid-template-columns:repeat(2,1fr);width:100%;max-width:400px}@media (max-width: 480px){.process-status-cards{grid-template-columns:1fr}}}.patient-modal-form{display:flex;flex-direction:column;gap:1rem}.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}.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{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e6e6e6}.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}.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}.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}.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}.btn-action-small:active{background-color:#004085}.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}.case-info{display:flex;align-items:center;gap:8px;width:100%}.case-info-section{margin-bottom:2rem;flex-shrink:0}.case-info-section:last-child{margin-bottom:0}.details-panel .case-name{font-size:1.25rem;font-weight:600;color:#8052ec;margin:0 0 2rem;padding-bottom:1.25rem;border-bottom:3px solid #8052ec}.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}.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}.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-reset-btn{background:#f16d4c;color:#fff}.dicom-reset-btn:hover{background:#e25c33}.dicom-reset-btn:active{background:#db4d34}.view-design-btn{background:#6dbdf3;color:#fff}.view-design-btn:hover{background:#4e90bd}.view-design-btn:active{background:#426f8d}.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}.next-action-box-inline{display:inline-flex;align-items:center;margin-left:auto}.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}.header_engineering{display:grid;grid-template-columns:auto 1fr auto;align-items:center;height:80px;padding:0 20px;background:#fff;border-bottom:1px solid #e6e6e6}.header_engineering .logo-left img{margin-top:20px;height:60px}.header_engineering .logo-center{display:flex;justify-content:center;align-items:center}.header_engineering .logo-center .role-icon{margin-top:1%;height:40px;opacity:.8}.header_engineering .header-actions{display:flex;align-items:center;gap:10px}.header_engineering .header-actions .icon-btn{background:none;border:none;cursor:pointer}.header_engineering .header-actions .icon-btn img{width:22px;height:22px}.header_engineering .header-actions .user-btn{background:#f5f5f5;border:none;border-radius:20px;padding:6px 14px;font-weight:500;cursor:pointer;transition:background .2s}.header_engineering .header-actions .user-btn:hover{background:#e9e9e9}.header_engineering .header-actions .logout-btn{background:linear-gradient(135deg,#f87979,#e35d5d);border:none;border-radius:20px;padding:6px 16px;font-weight:600;color:#fff;cursor:pointer;transition:opacity .2s ease}.header_engineering .header-actions .logout-btn:hover{opacity:.9}.home-page{display:flex;flex-direction:column;min-height:100vh;background:#f7f8fc}.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 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{opacity:.9}.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{flex:1;border-radius:12px;color:#fff;text-align:center;padding:20px;min-width:160px;cursor:pointer;transition:transform .2s ease}.process-stats .stat:hover{transform:translateY(-4px)}.process-stats .stat.purple{background:linear-gradient(135deg,#e3b1ff,#c08ef2)}.process-stats .stat.orange{background:linear-gradient(135deg,#f7a65a,#e57e25)}.process-stats .stat.green{background:linear-gradient(135deg,#a8e063,#56ab2f)}.process-stats .stat.gray{background:linear-gradient(135deg,#95a5a6,#7f8c8d)}.process-stats .stat .value{font-size:2.2rem;font-weight:700;display:block}.process-stats .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-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)}}.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}.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}.assign-case-content{display:flex;flex-direction:column;gap:1.5rem}.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}.upload-design-content{display:flex;flex-direction:column;gap:1.5rem}.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-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}.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-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{padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem}.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{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{background-color:#8052ec;color:#fff}.upload-design-content .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}.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:2rem;padding-top:2rem;border-top:2px solid #e6e6e6;flex:1;display:flex;flex-direction:column;min-height:0}.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;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-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:1rem;transition:all .3s ease;line-height:1.3}.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:2rem;display:flex;flex-direction:column;gap:.5rem;width:calc(100% - 4rem)}.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-download-btn{background:#6dbdf3;color:#fff}.dicom-download-btn:hover{background:#4e90bd}.dicom-download-btn:active{background:#426f8d}.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:60px 1fr 200px;gap:1rem;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:60px 1fr 200px;gap:1rem;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{display:flex;align-items:center}.file-material-column select{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem;background:#fff}.file-material-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}.home-page{display:flex;flex-direction:column;min-height:100vh}.header_manufacturing{display:grid;grid-template-columns:auto 1fr auto;align-items:center;height:80px;padding:0 20px;background:#fff;border-bottom:1px solid #e6e6e6}.header_manufacturing .logo-left img{margin-top:20px;height:60px}.header_manufacturing .logo-center{display:flex;justify-content:center;align-items:center}.header_manufacturing .logo-center .role-icon{margin-top:1%;height:40px;opacity:.8}.header_manufacturing .header-actions{display:flex;align-items:center;gap:10px}.header_manufacturing .header-actions .icon-btn{background:none;border:none;cursor:pointer}.header_manufacturing .header-actions .user-btn{background:#f5f5f5;border:none;border-radius:20px;padding:6px 14px;font-weight:500;cursor:pointer}.header_manufacturing .header-actions .logout-btn{background:linear-gradient(135deg,#f87979,#e35d5d);border:none;border-radius:20px;padding:6px 16px;font-weight:600;color:#fff;cursor:pointer}.home-container{display:grid;grid-template-columns:18% 1fr;height:calc(100vh - 80px);background:#f7f8fc}.sidebar{background:#fff;border-right:1px solid #e6e6e6;padding:20px;display:flex;flex-direction:column;gap:15px}.sidebar .menu-item{padding:12px;border-radius:8px;text-align:center;cursor:pointer;background:#f0f0f0;transition:all .2s}.sidebar .menu-item:hover{background:#e0e0e0}.sidebar .menu-item.active{background:linear-gradient(135deg,#b388f3,#8052ec);color:#fff;font-weight:600}.content{padding:20px;overflow-y:auto}.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}.details-panel{position:fixed;top:80px;right:-450px;width:400px;height:calc(100vh - 80px);background:#fff;border-left:1px solid #e6e6e6;box-shadow:-2px 0 6px #00000014;padding:20px;transition:right .3s ease-in-out;z-index:20}.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}.viewer-planning-page{display:flex;flex-direction:column;height:100vh;background:#111;color:#eee;overflow:hidden}.viewer-planning-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:#1b1b1b;border-bottom:1px solid #333}.viewer-planning-header-left,.viewer-planning-header-right{display:flex;align-items:center;gap:1rem}.viewer-planning-btn-back{padding:8px 16px;background:#2b2b2b;color:#eee;border:1px solid #444;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-header h2{margin:0;font-size:1.2rem;color:#eee}.viewer-planning-container{display:flex;flex:1;overflow:hidden}.viewer-planning-sidebar{width:300px;background:#1b1b1b;border-right:1px solid #333;display:flex;flex-direction:column;overflow-y:auto}.viewer-planning-info-panel,.viewer-planning-files-panel{padding:1rem;border-bottom:1px solid #333}.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;margin:0 0 .75rem;display:flex;justify-content:space-between;align-items:center}.viewer-planning-case-info-summary::-webkit-details-marker{display:none}.viewer-planning-case-info-summary:after{content:"▶";display:inline-block;font-size:.7rem;color:#888;transition:transform .2s;margin-left:.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;flex:1}.viewer-planning-info-panel h3,.viewer-planning-files-panel h3{margin:0 0 1rem;font-size:1rem;color:#ddd}.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:#73737733;border-radius:6px}.viewer-planning-info-label{font-size:.7rem;color:#999}.viewer-planning-info-value{font-size:.7rem;color:#eee;font-weight:500}.files-tabs{display:flex;gap:.5rem;margin-bottom:1rem;border-bottom:1px solid #333}.file-tab{padding:.5rem 1rem;background:transparent;color:#999;border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:.85rem;transition:all .2s}.file-tab:hover{color:#ddd}.file-tab.active{color:#6c5ce7;border-bottom-color:#6c5ce7}.case-implant-group{margin-bottom:.5rem;background:#1a1a1a;border:1px solid #333;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 .implant-item-label{color:#ccc}.btn-delete-implant{background:transparent;border:none;color:#e74c3c;cursor:pointer;font-size:1rem;padding:.25rem .5rem;border-radius:4px;transition:all .2s;display:flex;align-items:center;justify-content:center}.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}.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}.section-header h4{margin:0;font-size:.8rem;color:#ddd;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:1px solid #2a2a2a;border-radius:12px;background:#1a1a1a;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:#1a1a1a;transition:background .2s}.category-summary::-webkit-details-marker{display:none}.category-summary:before{content:"▶";margin-right:.5rem;font-size:.7rem;color:#888;transition:transform .2s}.library-category-details[open] .category-summary:before{transform:rotate(90deg)}.category-summary:hover{background:#222}.category-title{font-size:.8rem;font-weight:500;color:#ddd}.category-count{font-size:.75rem;color:#888;font-weight:400}.library-items{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:#151515}.library-item{display:flex;justify-content:space-between;align-items:center;padding:.2rem .5rem;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:12px;transition:background .2s,border-color .2s}.library-item:hover{background:#222;border-color:#444}.library-item-info{flex:1}.library-item-name{font-size:.75rem;color:#ddd;font-weight:400;margin-bottom:.25rem}.library-item-meta{display:flex;gap:.75rem;font-size:.6rem;color:#888}.btn-load-implant{padding:1px;font-size:1rem;border-radius:20px;background:#f8f8f8;border:none}.btn-load-implant:hover{background:#555}.viewer-main{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#111}#dicom-viewer-container{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:1rem 1.5rem}.planning-management-panel{width:400px;background:#1b1b1b;border-left:1px solid #333;display:flex;flex-direction:column;overflow-y:auto;position:relative;z-index:1}.case-management-panel{width:400px;background:#1b1b1b;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}.panel-header h3{margin:0;font-size:1rem;color:#ddd}.panel-close{background:transparent;border:none;color:#999;font-size:1.5rem;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:color .2s}.panel-close:hover{color:#eee}.panel-content{padding:1rem;color:#999;font-size:.9rem}.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-expand-view,.btn-restore-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-expand-view:hover,.btn-restore-view:hover{background:#333;border-color:#555}.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:#1f1f1f;color:#eee;border:1px solid #333;border-radius:20px;font-size:.9rem;transition:background .2s;display:block;width:100%;box-sizing:border-box}.movement-summary::-webkit-details-marker{display:none}.movement-summary:hover{background:#252525}.movement-content{margin-top:.75rem;padding:1rem;background:#111;border:1px solid #333;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:#aaa;font-size:.75rem;font-weight:500}.meshes-tree{max-height:180px;overflow-y:auto;border:1px solid #333;border-radius:8px;background:#0d0d0d;padding:.5rem}.movement-select{width:100%;padding:8px;background:#1b1b1b;color:#eee;border:1px solid #333;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:#aaa;font-size:.75rem;font-weight:500;min-width:20px;text-align:right}.transform-input{flex:1;padding:6px 8px;background:#1b1b1b;color:#eee;border:1px solid #333;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-3d-expanded{grid-template-columns:1fr;grid-template-rows:1fr}.views-grid.view-3d-expanded .view-panel:not(#view-panel-3d){display:none}.views-grid.view-3d-expanded #view-panel-3d{grid-column:1;grid-row:1}.view-panel{display:flex;flex-direction:column;background:#111;border-radius:6px;padding:0;overflow:hidden;min-height:0}.view-header{font-size:.85rem;color:#ccc;margin-bottom:.2rem;display:flex;justify-content:space-between;align-items:center;padding:.5rem .5rem .2rem}.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}.view-footer span{white-space:nowrap}.vtk-view{position:relative;flex:1;min-height:0;width:100%;height:100%;background:#000}.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}.design-viewer-page{display:flex;flex-direction:column;height:100vh;background:#f7f8fc;overflow:hidden;position:relative}.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,.viewer-design-header-right{display:flex;align-items:center;gap:1rem}.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-container{display:flex;flex:1;overflow:hidden;gap:10px;padding:10px}.viewer-design-sidebar{flex:0 0 370px;background:#fff;border-radius:12px;display:flex;flex-direction:column;overflow-y:auto;box-shadow:0 2px 6px #00000014}.viewer-design-info-panel,.viewer-design-files-panel,.layers-panel{padding: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 h3,.viewer-design-files-panel h3,.layers-panel h3,.layers-section h3{margin:0 0 12px;font-size:1rem;font-weight:600;color:#333}.layers-section{margin-bottom:24px}.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-content{display:flex;flex-direction:column;gap:8px;margin-top:8px}.viewer-design-info-item{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:.9rem}.viewer-design-info-label{font-weight:500;color:#666}.viewer-design-info-value{color:#333;text-align:right}.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:8px}.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}.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}.tools-panel{position:absolute;top:16px;left:16px;background:#fffffff2;border-radius:10px;padding:8px 12px;z-index:100;box-shadow:0 4px 12px #00000026;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:200px}.tools-title{margin:0 0 8px;font-size:.9rem;color:#333;font-weight:600}.tools-toggle-btn{position:absolute;top:6px;right:6px;background:linear-gradient(135deg,#b388f3,#8052ec);border:none;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;box-shadow:0 2px 6px #00000026;transition:all .2s ease}.tools-toggle-btn:hover{transform:scale(1.1);box-shadow:0 4px 10px #0003}.tools-toggle-btn .arrow{color:#fff;font-size:9px;transition:transform .3s ease;display:inline-block}.tools-content{display:flex;flex-direction:column;gap:8px;animation:fadeIn .3s ease}.tool-control{display:flex;flex-direction:column;gap:6px}.tool-control label{font-size:.8rem;color:#555;font-weight:500;margin-bottom:0}#thickness-range-control{display:flex!important;flex-direction:column!important;gap:6px;align-items:flex-start}#thickness-range-control label{margin-bottom:0;width:100%;order:1}#thickness-range-control #thickness-range-value{order:2!important;width:100%;text-align:center;margin-top:4px}#thickness-range-control input[type=range]{order:3!important;width:100%}.design-viewer-page input[type=range],.tools-content .tool-control input[type=range],.tool-control input[type=range],#thickness-range-slider{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}#thickness-range-slider::-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}#thickness-range-slider::-moz-range-thumb{width:16px;height:16px;background:#6c5ce7;border-radius:50%;cursor:pointer;border:none}#thickness-range-slider{--slider-progress: 50%}#thickness-range-slider::-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}#thickness-range-slider::-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}.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}.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}.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}
