.toast{display:flex;align-items:center;gap:.75rem;min-width:300px;max-width:500px;padding:1rem;border-radius:.5rem;box-shadow:0 4px 12px #00000026;background:var(--surface);border:1px solid;margin-bottom:.75rem;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-icon{flex-shrink:0;width:20px;height:20px}.toast-icon svg{width:100%;height:100%}.toast-message{flex:1;font-family:var(--font-family);font-size:.875rem;color:var(--text-on-light)}.toast-close{flex-shrink:0;background:none;border:none;cursor:pointer;padding:0;width:16px;height:16px;opacity:.6;transition:opacity .2s}.toast-close:hover{opacity:1}.toast-close svg{width:100%;height:100%;stroke:var(--text-on-light)}.toast-success{border-color:#22c55e}.toast-success .toast-icon{color:#22c55e}.toast-error{border-color:#ef4444}.toast-error .toast-icon{color:#ef4444}.toast-warning{border-color:#f59e0b}.toast-warning .toast-icon{color:#f59e0b}.toast-info{border-color:#3b82f6}.toast-info .toast-icon{color:#3b82f6}.toast-container{position:fixed;bottom:1.5rem;left:1.5rem;z-index:1000;display:flex;flex-direction:column}@media(max-width:768px){.toast-container{left:1rem;right:1rem}.toast{min-width:auto;width:100%}}.layout{height:100vh;display:flex;flex-direction:column;overflow:hidden}.header{background:var(--surface);border-bottom:1px solid var(--border);padding:1rem 2rem;flex-shrink:0;z-index:100}.header .container{max-width:100%;padding:0}.header-content{display:flex;justify-content:space-between;align-items:center;gap:2rem}.logo{display:flex;align-items:center;gap:.5rem;font-size:1.5rem;font-weight:700;color:var(--text-on-light);margin-right:auto}.logo:hover{color:var(--text-on-light)}.logo-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-accent, #ff6b1a)}.logo-icon svg{width:28px;height:28px}.logo-image{width:40px;height:40px;object-fit:contain;border-radius:4px;flex-shrink:0}.breadcrumb-nav{background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;z-index:99}.breadcrumb-nav .container.breadcrumb-container{display:flex;align-items:center;gap:.75rem;padding:.75rem 2rem .75rem 2.5rem;max-width:100%}.breadcrumb-nav button.btn-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0!important;border-radius:.25rem;border:1px solid var(--border);background:transparent;color:var(--text-on-light);cursor:pointer;transition:all .2s}.breadcrumb-nav button.btn-icon:hover{background:var(--background);border-color:var(--color-accent);color:var(--color-accent)}.breadcrumb-nav button.btn-icon svg{width:16px;height:16px}.breadcrumb-path{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-on-light)}.breadcrumb-item{opacity:.6}.breadcrumb-item.clickable{cursor:pointer;transition:opacity .15s,color .15s}.breadcrumb-item.clickable:hover{opacity:1;color:var(--color-accent)}.breadcrumb-item.active{opacity:1;font-weight:500}.breadcrumb-separator{opacity:.4}.main{flex:1;padding:0;display:flex;flex-direction:column;width:100%;min-height:0;overflow:hidden}.main>.container{flex:1;display:flex;flex-direction:column;max-width:100%!important;width:100%;padding:0!important;margin:0!important;min-height:0;overflow:hidden}.project-selector{position:relative;width:250px;margin-left:auto}.project-button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.5rem 1rem;border:1px solid var(--border);border-radius:.375rem;background:var(--surface);cursor:pointer;transition:all .2s;font-family:var(--font-family);font-size:1rem;color:var(--text-on-light)}.project-button:hover{border-color:var(--color-accent)}.project-label{font-weight:500}.dropdown-chevron{color:var(--text-on-light)}.user-menu{position:relative}.user-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:var(--surface);cursor:pointer;transition:all .2s}.user-button:hover{border-color:var(--color-accent)}.user-icon{width:20px;height:20px;color:var(--text-on-light)}.dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:var(--surface);border:1px solid var(--border);border-radius:.5rem;box-shadow:0 4px 12px #00000026;padding:.5rem 0;z-index:200}.project-selector .dropdown-menu{left:0;right:auto;min-width:100%}.dropdown-item{display:block;width:100%;padding:.5rem 1rem;color:var(--text-on-light);text-align:left;transition:background-color .15s}.dropdown-item:hover{background-color:var(--background);color:var(--color-accent)}.dropdown-item.active{background-color:var(--background);color:var(--color-accent);font-weight:500}.dropdown-item-button{background:none;border:none;font-family:var(--font-family);font-size:1rem;cursor:pointer}.dropdown-item-with-icon{display:flex;align-items:center;gap:.5rem}.dropdown-user-info{padding:.5rem 1rem;display:flex;flex-direction:column;gap:.125rem}.dropdown-user-name{font-weight:500;color:var(--text-on-light);font-size:.875rem}.dropdown-user-email{font-size:.75rem;color:var(--text-on-light);opacity:.7}.padlock-icon{flex-shrink:0;color:var(--text-on-light);opacity:.6}.dropdown-item:hover .padlock-icon,.dropdown-item.active .padlock-icon{color:var(--color-accent);opacity:1}.dropdown-divider{border:none;border-top:1px solid var(--border);margin:.5rem 0}@media(max-width:768px){.breadcrumb-container{padding:.5rem 1rem}.breadcrumb-path{font-size:.75rem}.breadcrumb-nav{top:65px}}.tile{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--border);border-radius:.75rem;padding:2rem 1.5rem;min-height:200px;width:100%;cursor:pointer;transition:all .3s;box-shadow:0 1px 3px #0000001a}.tile:hover{border-color:var(--color-accent);box-shadow:0 4px 12px #f36f2726;transform:translateY(-2px)}.tile-icon{font-size:3rem;margin-bottom:1rem;color:var(--color-accent)}.tile-icon svg{width:3rem;height:3rem;stroke:var(--color-accent)}.tile-title{font-family:var(--font-family);font-size:1.125rem;font-weight:500;color:var(--text-on-light);text-align:center}.home{display:flex;flex-direction:column;justify-content:center;align-items:center;flex:1;height:100%;min-height:0}.tiles-section{display:flex;justify-content:center;align-items:center;width:100%}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--background);padding:1rem}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:.5rem;padding:3rem;max-width:400px;width:100%;text-align:center;box-shadow:0 4px 12px #0000001a}.login-logo{width:64px;height:64px;margin:0 auto 1.5rem;color:var(--color-accent)}.login-logo svg{width:100%;height:100%}.login-card h1{font-size:1.5rem;font-weight:600;color:var(--text-on-light);margin:0 0 .5rem}.login-subtitle{color:var(--text-on-light);opacity:.7;margin:0 0 2rem;font-size:.875rem}.login-button{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:.875rem 1.5rem;border:1px solid var(--border);border-radius:.375rem;background:var(--surface);color:var(--text-on-light);font-family:var(--font-family);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.login-button:hover{border-color:var(--color-accent);background:var(--background)}.login-button svg{width:21px;height:21px;flex-shrink:0}.login-help{margin:1.5rem 0 0;font-size:.8125rem;color:var(--text-on-light);opacity:.6}.loading-spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--color-accent);border-radius:50%;margin:0 auto 1rem;animation:spin 1s linear infinite}.admin-guard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:2rem;color:var(--text-on-light)}.admin-guard-loading p{margin:0;opacity:.7}.access-denied-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--background);padding:1rem}.access-denied-card{background:var(--surface);border:1px solid var(--border);border-radius:.5rem;padding:3rem;max-width:450px;width:100%;text-align:center;box-shadow:0 4px 12px #0000001a}.access-denied-icon{width:72px;height:72px;margin:0 auto 1.5rem;color:#ef4444}.access-denied-icon svg{width:100%;height:100%}.access-denied-card h1{font-size:1.5rem;font-weight:600;color:var(--text-on-light);margin:0 0 1rem}.access-denied-message{font-size:1rem;color:var(--text-on-light);margin:0 0 1rem}.access-denied-user{font-size:.875rem;color:var(--text-on-light);opacity:.8;margin:0 0 1.5rem;padding:.75rem;background:var(--background);border-radius:.375rem}.access-denied-user strong{font-weight:500}.access-denied-help{font-size:.875rem;color:var(--text-on-light);opacity:.7;margin:0 0 2rem;line-height:1.5}.access-denied-actions{display:flex;justify-content:center}.access-denied-actions .btn{padding:.625rem 1.5rem;font-size:.9375rem}.auth-guard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem;color:var(--text-on-light);background:var(--background)}.auth-guard-loading .loading-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--color-accent);border-radius:50%;margin-bottom:1rem;animation:spin 1s linear infinite}.auth-guard-loading p{margin:0;opacity:.7}.modal-content-wide{max-width:900px}.modal-content.modal-content-medium{max-width:900px;width:100%;height:500px;max-height:500px;display:flex;flex-direction:column;overflow:hidden}.access-form{display:flex;flex-direction:column;height:100%;overflow:hidden}.access-form-body{display:grid;grid-template-columns:250px 1fr;gap:2rem;padding:1.5rem;min-height:500px}.access-form-body-simple{padding:1.5rem;flex:1;overflow:hidden;display:flex;flex-direction:column}.access-groups-panel{display:flex;flex-direction:column;flex:1;overflow:hidden}.panel-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.panel-header h3{font-size:1.25rem;font-weight:600;margin:0 0 .25rem;color:var(--text-on-light)}.role-description{font-size:.875rem;color:var(--text-on-light);opacity:.7;margin:0}.groups-table-container{flex:1;overflow-y:auto;border:1px solid var(--border);border-radius:.375rem;background:var(--surface);min-height:0}.access-form .form-actions{padding:1rem 1.5rem;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:.75rem;flex-shrink:0}.empty-groups{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;gap:1rem}.empty-groups p{color:var(--text-on-light);opacity:.7;margin:0}.groups-table{width:100%;border-collapse:collapse}.groups-table thead{background-color:var(--background);position:sticky;top:0;z-index:1}.groups-table th{padding:.75rem 1rem;text-align:left;font-weight:600;font-size:.875rem;color:var(--text-on-light);border-bottom:2px solid var(--border)}.groups-table td{padding:.75rem 1rem;border-bottom:1px solid var(--border)}.groups-table tbody tr:hover{background-color:var(--background)}.groups-table tbody tr:last-child td{border-bottom:none}.group-input{width:100%;padding:.5rem .75rem;border:1px solid var(--border);border-radius:.375rem;font-family:var(--font-family);font-size:.875rem;color:var(--text-on-light);transition:border-color .2s}.group-input:focus{outline:none;border-color:var(--color-accent)}.confirmation-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:2000}.confirmation-dialog{background:var(--surface);border-radius:.5rem;padding:2rem;max-width:450px;width:90%;box-shadow:0 20px 25px -5px #0003;text-align:center}.confirmation-icon{width:64px;height:64px;margin:0 auto 1rem;border-radius:50%;display:flex;align-items:center;justify-content:center}.confirmation-icon.warning{background-color:#fef3c7;color:#f59e0b}.confirmation-icon svg{width:32px;height:32px}.confirmation-dialog h3{font-size:1.25rem;font-weight:600;margin:0 0 .75rem;color:var(--text-on-light)}.confirmation-dialog p{color:var(--text-on-light);opacity:.8;margin:0 0 1.5rem;line-height:1.5}.confirmation-dialog p strong{font-weight:600;color:var(--text-on-light);opacity:1}.confirmation-actions{display:flex;gap:.75rem;justify-content:center}.btn-danger{background-color:#ef4444;color:#fff;border:none;padding:.5rem 1rem;border-radius:.375rem;font-family:var(--font-family);font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-danger:hover{background-color:#dc2626}@media(max-width:768px){.modal-content-wide{max-width:100%;max-height:100vh}.access-form-body{grid-template-columns:1fr;gap:1.5rem}.access-roles-panel{border-right:none;border-bottom:1px solid var(--border);padding-right:0;padding-bottom:1.5rem}.roles-list{flex-direction:row;overflow-x:auto}.role-item{min-width:150px}.panel-header{flex-direction:column;gap:1rem}.panel-header .btn{width:100%;justify-content:center}}.project-management{max-width:100%;margin:0;padding:.5rem;height:100%;display:flex;flex-direction:column;width:100%;box-sizing:border-box}.project-management .management-layout{display:grid;grid-template-columns:280px 1fr 1fr;gap:1rem;flex:1;min-height:0;overflow:hidden;width:100%}.projects-panel{border:1px solid var(--border);border-radius:.5rem;background:var(--surface);display:flex;flex-direction:column;height:100%;min-height:0}.panel-header h2{font-size:1.125rem;font-weight:600;margin:0;color:var(--text-on-light)}.panel-header p{margin:.25rem 0 0;font-size:.875rem;color:var(--text-on-light);opacity:.7;font-weight:400}.header-actions{display:flex;gap:.5rem}.projects-list{flex:1;overflow-y:auto;padding:.5rem}.empty-state{text-align:center;padding:2rem 1rem;display:flex;flex-direction:column;gap:1rem;align-items:center}.project-item{display:flex;justify-content:space-between;align-items:center;padding:.625rem .75rem;margin-bottom:.375rem;border:1px solid var(--border);border-radius:.375rem;cursor:pointer;transition:all .2s;background:var(--surface)}.project-item:hover{background:var(--background);border-color:var(--color-accent)}.project-item.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.project-item.active .project-name,.project-item.active .project-description{color:#fff}.project-info{flex:1;min-width:0}.project-name{font-weight:500;font-size:.875rem;color:var(--text-on-light);margin-bottom:.125rem}.project-description{font-size:.75rem;color:var(--text-on-light);opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty-selection{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:2rem;gap:1rem;color:var(--text-on-light);opacity:.5}.empty-selection p{margin:0;text-align:center}.project-details-form{display:flex;flex-direction:column;gap:1.5rem}.details-section{padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.details-section:last-child{border-bottom:none;padding-bottom:0}.details-section h3{font-size:1rem;font-weight:600;margin:0 0 1rem;color:var(--text-on-light)}.form-group:last-child{margin-bottom:0}.form-group label{display:block;font-size:.875rem;font-weight:500;color:var(--text-on-light);margin-bottom:.375rem}.form-group input[type=text],.form-group textarea{width:100%;padding:.5rem .75rem;border:1px solid var(--border);border-radius:.375rem;font-family:var(--font-family);font-size:.875rem;color:var(--text-on-light);background:var(--surface);transition:border-color .2s}.form-group input[type=text]:focus,.form-group textarea:focus{outline:none;border-color:var(--color-accent)}.form-group input[type=file]{font-size:.875rem}.field-value{font-size:.875rem;color:var(--text-on-light);padding:.5rem 0}.required{color:#ef4444}.logo-preview{display:flex;align-items:center;gap:1rem}.logo-preview img{max-height:60px;max-width:120px;object-fit:contain;border:1px solid var(--border);border-radius:.25rem;padding:.25rem;background:#fff}.form-group-checkbox{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.form-group-checkbox:last-child{margin-bottom:0}.form-group-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-accent);cursor:pointer}.form-group-checkbox input[type=checkbox]:disabled{cursor:default;opacity:.7}.form-group-checkbox label{font-size:.875rem;color:var(--text-on-light);cursor:pointer;margin:0}.form-group-checkbox input[type=checkbox]:disabled+label{cursor:default}.actions-panel{border:1px solid var(--border);border-radius:.5rem;background:var(--surface);display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.actions-content{flex:1;overflow-y:auto;padding:1rem;min-height:0}.actions-list{display:flex;flex-direction:column;gap:1.5rem}.action-section{padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.action-section:last-child{border-bottom:none;padding-bottom:0}.action-section h3{font-size:.9375rem;font-weight:600;margin:0 0 .5rem;color:var(--text-on-light)}.action-description{font-size:.8125rem;color:var(--text-on-light);opacity:.7;margin:0 0 1rem;line-height:1.4}.action-section .btn{display:flex;align-items:center;gap:.5rem;width:100%;justify-content:center}.action-section .btn svg{width:16px;height:16px}.danger-zone{background:#fef2f2;border:1px solid #fecaca;border-radius:.375rem;padding:1rem;margin-top:.5rem}.danger-zone h3{color:#991b1b}.danger-zone .action-description{color:#991b1b;opacity:.9}.btn{padding:.5rem 1rem;border-radius:.375rem;font-family:var(--font-family);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-primary{background:var(--color-accent);color:#fff;border:1px solid var(--color-accent)}.btn-primary:hover{background:#e55d1a;border-color:#e55d1a}.btn-secondary{background:#fff;color:var(--text-on-light);border:1px solid var(--border)}.btn-secondary:hover{border-color:var(--color-accent);color:var(--color-accent)}.btn-danger{background:#ef4444;color:#fff;border:1px solid #ef4444}.btn-danger:hover{background:#dc2626;border-color:#dc2626}@media(max-width:1024px){.project-management .management-layout{grid-template-columns:220px 1fr 1fr}}@media(max-width:768px){.project-management .management-layout{grid-template-columns:1fr;grid-template-rows:auto 1fr auto}.projects-panel,.details-panel,.actions-panel{max-height:300px}}.global-model-management{max-width:100%;margin:0;padding:.5rem;height:100%;display:flex;flex-direction:column;width:100%;box-sizing:border-box}.page-header{margin-bottom:2rem}.page-header h1{font-size:2rem;font-weight:700;margin:0;color:var(--text-on-light)}.management-layout{display:grid;grid-template-columns:280px 280px 1fr;gap:1rem;flex:1;min-height:0;overflow:hidden;width:100%}.panel-header .btn{display:flex;align-items:center;gap:.5rem}.panel-header .btn svg{width:16px;height:16px}.manufacturer-item.active .manufacturer-name,.manufacturer-item.active .manufacturer-description{color:#fff}.manufacturer-description{font-size:.75rem;color:var(--text-on-light);opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty-models{text-align:center;padding:3rem 2rem;display:flex;flex-direction:column;gap:1rem;align-items:center}.empty-models p{color:var(--text-on-light);opacity:.7;margin:0}.model-description{font-size:.75rem;color:var(--text-on-light);opacity:.7}.details-panel .panel-header{border-bottom:1px solid var(--border)}.details-panel .panel-header p{margin:.5rem 0 0;font-size:.875rem;color:var(--text-on-light);opacity:.7;font-weight:400}.details-content .empty-selection{height:100%;padding:2rem}.model-details{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.model-details-description{font-size:.875rem;color:var(--text-on-light);opacity:.7;margin:0}.documents-section{display:flex;flex-direction:column;gap:1rem}.section-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:1rem;border-bottom:1px solid var(--border)}.section-header h3{font-size:1rem;font-weight:600;margin:0;color:var(--text-on-light)}.empty-documents{text-align:center;padding:3rem 2rem;color:var(--text-on-light);opacity:.7;display:flex;flex-direction:column;gap:1rem;align-items:center}.empty-documents p{margin:0}.documents-list{display:flex;flex-direction:column;gap:.5rem}.document-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;border:1px solid var(--border);border-radius:.375rem;background:var(--surface);transition:background-color .2s}.document-item:hover{background:#fff}.document-item.active{background:var(--color-accent);border-color:var(--color-accent)}.document-item.active .document-name,.document-item.active .document-meta{color:#fff}.document-item.active .document-icon{background:#fff3;color:#fff}.document-item.active .btn-icon{color:#fff;border-color:#ffffff4d}.document-item.active .btn-icon:hover{background:#fff3}.document-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:.375rem;background:var(--background);color:var(--color-accent);flex-shrink:0}.document-icon svg{width:20px;height:20px}.document-info{flex:1;min-width:0}.document-name{font-weight:500;font-size:.875rem;color:var(--text-on-light);margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.document-meta{font-size:.75rem;color:var(--text-on-light);opacity:.6}.document-actions{display:flex;gap:.25rem;flex-shrink:0}.simple-form{padding:.75rem}.simple-form label{display:block;font-weight:500;margin-bottom:.5rem;color:var(--text-on-light);font-family:var(--font-family)}.simple-form input[type=text],.simple-form input[type=file],.simple-form textarea{width:100%;padding:.5rem .75rem;border:1px solid var(--border);border-radius:.375rem;font-family:var(--font-family);font-size:1rem;color:var(--text-on-light);transition:border-color .2s}.simple-form input[type=text]:focus,.simple-form input[type=file]:focus,.simple-form textarea:focus{outline:none;border-color:var(--color-accent)}.file-info{margin-top:.5rem;padding:.5rem .75rem;background:var(--background);border-radius:.375rem;font-size:.875rem;color:var(--text-on-light)}.simple-form .form-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:.75rem;border-top:1px solid var(--border);margin-top:1rem}@media(max-width:1400px){.management-layout{grid-template-columns:250px 250px 1fr}}@media(max-width:1200px){.management-layout{grid-template-columns:220px 220px 1fr}}@media(max-width:1024px){.global-model-management{height:auto;min-height:100%;padding:.5rem}.management-layout{grid-template-columns:1fr;min-height:600px}.manufacturers-panel,.models-panel,.details-panel{max-height:400px}}@media(max-width:768px){.global-model-management{padding:.375rem;height:100%}.page-header h1{font-size:1.5rem}.panel-header{padding:.75rem 1rem}.panel-header h2{font-size:.875rem}.panel-filter{padding:.375rem .75rem}.manufacturer-item,.model-item{padding:.5rem}.simple-form .form-actions{flex-direction:column-reverse}.simple-form .form-actions button{width:100%}}.tag-management{display:flex;flex-direction:column;height:100%;padding:1rem;overflow:hidden}.tag-management-loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-on-light);opacity:.7}.tag-management-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.tag-management-content{flex:1;overflow-y:auto}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:1rem;padding:3rem;text-align:center}.empty-state p{color:var(--text-on-light);opacity:.7;margin:0;font-size:1rem}.items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}.item-card{border:1px solid var(--border);border-radius:.5rem;background:var(--surface);padding:1rem;transition:box-shadow .2s}.item-card:hover{box-shadow:0 2px 8px #0000001a}.item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.item-info{flex:1;min-width:0}.item-info h3{font-size:1rem;font-weight:600;color:var(--text-on-light);margin:0 0 .25rem}.item-description{font-size:.875rem;color:var(--text-on-light);opacity:.7;margin:0}.item-actions{display:flex;gap:.25rem;flex-shrink:0}.item-details{display:flex;flex-direction:column;gap:.5rem}.entry-count{font-size:.8125rem;color:var(--text-on-light);opacity:.6;font-weight:500}.entry-preview{display:flex;flex-wrap:wrap;gap:.375rem}.entry-tag{display:inline-block;padding:.25rem .5rem;background:var(--background);border:1px solid var(--border);border-radius:.25rem;font-size:.75rem;color:var(--text-on-light)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:var(--surface);border-radius:.5rem;max-width:600px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 4px 24px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border)}.modal-header h2{font-size:1.25rem;font-weight:600;color:var(--text-on-light);margin:0}.modal-close{width:32px;height:32px;border-radius:.375rem;border:none;background:transparent;color:var(--text-on-light);font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.modal-form{padding:1.5rem;overflow-y:auto;flex:1}.form-group{margin-bottom:1rem}.form-group:last-of-type{margin-bottom:0}.form-group label{display:block;font-weight:500;margin-bottom:.5rem;color:var(--text-on-light);font-size:.875rem}.form-group input[type=text],.form-group textarea,.form-group select{width:100%;padding:.625rem;border:1px solid var(--border);border-radius:.375rem;font-family:var(--font-family);font-size:.875rem;color:var(--text-on-light);background:var(--surface);transition:border-color .2s}.form-group input[type=text]:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--color-accent)}.form-group textarea{resize:vertical;min-height:60px}.form-group input[type=checkbox]{width:auto;margin-right:.5rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-weight:400;cursor:pointer}.checkbox-label input[type=checkbox]{cursor:pointer;margin:0;flex-shrink:0}.entries-list{display:flex;flex-direction:column;gap:.5rem}.entry-input-group{display:flex;gap:.5rem;align-items:center}.entry-input-group input{flex:1}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1.5rem;margin-top:1.5rem;border-top:1px solid var(--border)}.tree-view{padding:.5rem 0}.tree-node{margin-bottom:.25rem}.tree-node-content{display:flex;align-items:center;padding:.5rem;border-radius:.375rem;cursor:pointer;transition:background-color .2s}.tree-node-content:hover{background:var(--background)}.tree-node-content.selected{background:var(--color-accent);color:#fff}.tree-toggle{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;cursor:pointer;color:var(--text-on-light);flex-shrink:0}.tree-node-label{flex:1;font-size:.875rem;color:var(--text-on-light)}.tree-node-content.selected .tree-node-label{color:#fff}.tree-node-badge{font-size:.75rem;padding:.125rem .375rem;background:var(--background);border-radius:.25rem;margin-left:.5rem}.tree-node-badge-code{background:var(--color-accent);color:#fff;font-weight:500}.tree-node-badge-warning{background:#f59e0b;color:#fff}.tree-node-content.selected .tree-node-badge{background:#fff3;color:#fff}.tree-node-actions{display:flex;gap:.25rem;margin-left:.5rem}.tree-children{margin-left:1.5rem;border-left:1px solid var(--border);padding-left:.5rem}.mapping-container{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;height:100%}.mapping-panel{border:1px solid var(--border);border-radius:.5rem;background:var(--surface);display:flex;flex-direction:column;overflow:hidden}.mapping-panel-header{padding:1rem;border-bottom:1px solid var(--border);background:var(--background)}.mapping-panel-header h3{font-size:1rem;font-weight:600;color:var(--text-on-light);margin:0}.mapping-panel-content{flex:1;overflow-y:auto;padding:.75rem}.mapping-list{display:flex;flex-direction:column;gap:.5rem}.mapping-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;border:1px solid var(--border);border-radius:.375rem;background:var(--surface);transition:background-color .2s}.mapping-item:hover{background:var(--background)}.mapping-item-info{flex:1;min-width:0}.mapping-item-name{font-size:.875rem;font-weight:500;color:var(--text-on-light)}.mapping-item-meta{font-size:.75rem;color:var(--text-on-light);opacity:.6;margin-top:.25rem}@media(max-width:1024px){.items-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.mapping-container{grid-template-columns:1fr}}@media(max-width:768px){.tag-management{padding:.75rem}.items-grid{grid-template-columns:1fr}.modal-content{max-width:100%;max-height:95vh}.modal-header,.modal-form{padding:1rem}}.mapping-grid-container{display:flex;flex-direction:column;height:100%;background:var(--background);border-radius:.25rem;overflow:hidden}.mapping-grid-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}.mapping-grid-header h3{margin:0;font-size:.875rem;font-weight:600;color:var(--text-primary)}.mapping-grid-header .btn{padding:.25rem .5rem;font-size:.75rem;gap:.25rem}.mapping-grid-header .btn svg{width:12px;height:12px}.mapping-grid-legend{display:flex;gap:1rem;padding:.375rem .75rem;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.legend-item{display:flex;align-items:center;gap:.375rem;font-size:.7rem;color:var(--text-on-light)}.legend-checkbox{width:14px;height:14px;border:2px solid;border-radius:2px;position:relative}.legend-checkbox:after{content:"";position:absolute;top:0;left:3px;width:4px;height:7px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.legend-checkbox.direct{border-color:#2563eb;background:#2563eb}.legend-checkbox.inherited{border-color:#ff9800;background:#ff9800}.legend-indicator{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:2px;font-weight:700;font-size:.625rem;color:#fff}.legend-indicator.mandatory{background:#2563eb}.legend-indicator.rule-based{background:#8b5cf6}.mapping-grid-scroll{flex:1;overflow:auto;position:relative;min-height:0}.mapping-grid{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:.75rem;table-layout:fixed}.mapping-grid thead{position:sticky;top:0;z-index:10;background:var(--surface)}.mapping-grid th{padding:.35rem .5rem;text-align:left;font-weight:600;color:var(--text-primary);border-bottom:1px solid #d0d0d0;background:#f8f9fa;line-height:1.2}.mapping-grid td{padding:.2rem .35rem;border-bottom:1px solid #f0f0f0;background:var(--background)}.mapping-grid tbody tr:hover td{background:#f8f9fa}.classification-column{width:200px;min-width:200px;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.property-column{width:60px;min-width:60px;max-width:60px;text-align:center}.sticky-column{position:sticky;left:0;z-index:5;box-shadow:2px 0 4px #0000000d}.mapping-grid thead .sticky-column{z-index:15}.property-header{display:flex;flex-direction:column;align-items:center;gap:.125rem;position:relative}.property-name{font-weight:600;width:100%;max-width:55px;overflow:hidden;text-overflow:ellipsis;line-height:1.2;text-align:center;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word;font-size:.7rem}.property-type{font-size:.6rem;color:var(--text-on-light);opacity:.7;text-transform:capitalize;display:none}.property-header-wrapper{position:relative}.property-tooltip{display:none;position:absolute;top:100%;left:50%;transform:translate(-50%);z-index:100;background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #00000026;padding:.75rem;min-width:200px;max-width:280px;margin-top:.5rem;text-align:left}.property-tooltip:before{content:"";position:absolute;top:-6px;left:50%;transform:translate(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid var(--border)}.property-tooltip:after{content:"";position:absolute;top:-5px;left:50%;transform:translate(-50%);border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid var(--surface)}.property-header-wrapper:hover .property-tooltip{display:block}.property-tooltip-name{font-weight:600;font-size:.875rem;color:var(--text-on-surface);margin-bottom:.25rem}.property-tooltip-type{font-size:.75rem;color:var(--primary);text-transform:uppercase;margin-bottom:.5rem}.property-tooltip-description{font-size:.8125rem;color:var(--text-on-light);line-height:1.4}.classification-cell{font-weight:500;font-size:.7rem}.classification-name{display:flex;align-items:center;gap:.25rem}.tree-indent{color:var(--text-on-light);opacity:.5;font-size:.6rem}.classification-badge{display:inline-block;padding:.0625rem .25rem;font-size:.6rem;font-weight:500;background:var(--background);border:1px solid var(--border);border-radius:2px;color:var(--text-on-light);margin-left:.25rem}.property-cell{text-align:center;vertical-align:middle;width:60px;min-width:60px;max-width:60px}.checkbox-wrapper{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:.25rem}.checkbox-wrapper input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.checkbox-custom{position:relative;width:22px;height:22px;border:2px solid #d0d0d0;border-radius:.25rem;transition:all .2s ease;background:#fff}.checkbox-custom:after{content:"";position:absolute;top:2px;left:6px;width:6px;height:12px;border:solid white;border-width:0 2.5px 2.5px 0;transform:rotate(45deg) scale(0);transition:transform .2s ease}.checkbox-wrapper:hover .checkbox-custom{border-color:#999}.checkbox-wrapper input[type=checkbox].direct:checked~.checkbox-custom{border-color:#2563eb;background:#2563eb}.checkbox-wrapper input[type=checkbox].direct:checked~.checkbox-custom:after{transform:rotate(45deg) scale(1)}.checkbox-wrapper:hover input[type=checkbox].direct:checked~.checkbox-custom{border-color:#1d4ed8;background:#1d4ed8}.checkbox-wrapper input[type=checkbox].inherited:checked~.checkbox-custom{border-color:#ff9800;background:#ff9800}.checkbox-wrapper input[type=checkbox].inherited:checked~.checkbox-custom:after{transform:rotate(45deg) scale(1)}.checkbox-wrapper:hover input[type=checkbox].inherited:checked~.checkbox-custom{border-color:#f57c00;background:#f57c00}.checkbox-wrapper input[type=checkbox]:focus-visible~.checkbox-custom{outline:2px solid var(--color-primary);outline-offset:2px}@media(max-width:768px){.mapping-grid{font-size:.7rem}.classification-column{width:150px;min-width:150px;max-width:150px}.property-column{min-width:50px}.mapping-grid th,.mapping-grid td{padding:.2rem .25rem}}.tag-management.fullscreen-mode{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;background:#f8f9fa;margin:0;padding:0;display:flex;flex-direction:column}.tag-management.fullscreen-mode .mapping-grid-container{height:100%;border-radius:0;flex:1;display:flex;flex-direction:column}.tag-management.fullscreen-mode .mapping-grid-scroll{flex:1;min-height:0}.tree-toggle{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;padding:0;margin:0;background:none;border:none;cursor:pointer;color:var(--text-on-surface);transition:all .1s}.tree-toggle:hover{background:var(--surface);border-radius:2px}.tree-toggle:active{transform:scale(.95)}.property-cell{width:60px;min-width:60px;max-width:60px;overflow:hidden}.group-header-row{background:var(--surface-variant, #f5f5f5)}.group-header{background:var(--surface-variant, #e8e8e8)!important;border-bottom:1px solid var(--border)!important;border-right:1px solid var(--border);text-align:center!important;padding:.25rem .35rem!important;-webkit-user-select:none;user-select:none}.group-header:hover{background:var(--surface-hover, #ddd)!important}.group-header-content{display:flex;align-items:center;justify-content:center;gap:.25rem;font-size:.7rem;font-weight:600}.group-toggle{font-size:.5rem;color:var(--text-on-light)}.group-count{font-size:.625rem;font-weight:400;color:var(--text-on-light);opacity:.7}.property-header-row th{border-top:none}.collapsed-group{background:var(--surface-variant, #f0f0f0)!important;min-width:24px!important;max-width:24px!important;width:24px!important}.collapsed-cell{background:var(--surface-variant, #f8f8f8)!important;min-width:24px!important;max-width:24px!important;width:24px!important;text-align:center}.mapping-indicator{display:flex;align-items:center;justify-content:center;width:18px;height:18px;margin:0 auto;border:1px solid #d0d0d0;border-radius:2px;background:#fff;font-weight:700;font-size:.6rem;transition:all .1s ease}.mapping-indicator.checked{border-color:#2563eb;background:#2563eb;color:#fff}.mapping-indicator.checked.inherited{border-color:#ff9800;background:#ff9800;color:#fff}.mapping-indicator.mandatory{border-color:#2563eb;background:#2563eb;color:#fff}.mapping-indicator.mandatory.inherited{border-color:#ff9800;background:#ff9800}.mapping-indicator.rule-based{border-color:#8b5cf6;background:#8b5cf6;color:#fff}.mapping-indicator.rule-based.inherited{border-color:#a78bfa;background:#a78bfa}.property-cell:hover .mapping-indicator{border-color:#999}.property-cell:hover .mapping-indicator.checked{border-color:#1d4ed8;background:#1d4ed8}.property-cell:hover .mapping-indicator.inherited{border-color:#f57c00;background:#f57c00}.property-cell:hover .mapping-indicator.rule-based{border-color:#7c3aed;background:#7c3aed}.context-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;background:transparent}.context-menu{position:fixed;min-width:150px;background:#fff;border:1px solid var(--border);border-radius:4px;box-shadow:0 2px 8px #00000026;z-index:1001;overflow:hidden}.context-menu-header{padding:.375rem .5rem;font-size:.65rem;font-weight:600;color:var(--text-on-light);background:var(--surface-variant, #f5f5f5);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.3px}.context-menu-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.375rem .5rem;border:none;background:none;font-size:.75rem;color:var(--text-on-surface);cursor:pointer;text-align:left;transition:background .1s}.context-menu-item:hover{background:var(--surface-variant, #f5f5f5)}.context-menu-item.danger{color:#ef4444}.context-menu-item.danger:hover{background:#fef2f2}.context-menu-icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px;font-weight:700;font-size:.65rem;color:var(--primary, #2563eb);background:var(--surface, #f0f0f0);border-radius:2px}.context-menu-item.danger .context-menu-icon{color:#ef4444;background:#fef2f2}.context-menu-divider{height:1px;margin:.125rem 0;background:var(--border)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.rule-editor-modal{background:#fff;border-radius:12px;width:90%;max-width:700px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0003}.rule-editor-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border);background:var(--surface-variant, #f9fafb);border-radius:12px 12px 0 0}.rule-editor-modal .modal-header h2{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.rule-editor-modal .modal-close{background:none;border:none;font-size:1.5rem;color:var(--text-on-light);cursor:pointer;padding:.25rem;line-height:1;border-radius:4px;transition:all .15s}.rule-editor-modal .modal-close:hover{background:var(--surface);color:var(--text-on-surface)}.rule-editor-content{flex:1;padding:1.25rem;overflow-y:auto}.rule-editor-description{margin:0 0 1.25rem;font-size:.875rem;color:var(--text-on-light)}.rule-row{display:flex;flex-wrap:wrap;gap:.75rem;padding:1rem;margin-bottom:.75rem;background:var(--surface-variant, #f9fafb);border:1px solid var(--border);border-radius:8px;align-items:flex-end}.rule-condition{display:flex;flex-direction:column;gap:.375rem;min-width:140px}.rule-condition label{font-size:.75rem;font-weight:500;color:var(--text-on-light)}.rule-condition select,.rule-condition input{padding:.5rem .75rem;border:1px solid var(--border);border-radius:6px;font-size:.875rem;background:#fff;color:var(--text-on-surface)}.rule-condition select:focus,.rule-condition input:focus{outline:none;border-color:var(--primary, #2563eb);box-shadow:0 0 0 2px #2563eb1a}.rule-remove-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--border);border-radius:6px;background:#fff;color:#ef4444;font-size:1.125rem;cursor:pointer;transition:all .15s;margin-bottom:.25rem}.rule-remove-btn:hover{background:#fef2f2;border-color:#ef4444}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.25rem;border-top:1px solid var(--border);background:var(--surface-variant, #f9fafb);border-radius:0 0 12px 12px}.uid-configuration{height:100%;display:flex;flex-direction:column;background:var(--background)}.uid-settings-bar{display:flex;gap:2rem;padding:1rem 1.5rem;border-bottom:1px solid var(--border);background:var(--surface)}.setting-item{display:flex;align-items:center;gap:.75rem}.setting-item label{font-size:.875rem;font-weight:500;color:var(--text-on-surface)}.setting-item select,.setting-item input{padding:.375rem .75rem;border:1px solid var(--border);border-radius:4px;background:var(--background);color:var(--text-on-surface);font-size:.875rem}.uid-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.uid-layout{flex:1;display:grid;grid-template-columns:350px 1fr;gap:1rem;padding:1rem;overflow:hidden}.uid-panel{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden}.uid-panel .panel-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border);background:var(--surface-variant)}.uid-panel .panel-header h3{margin:0;font-size:.9375rem;font-weight:600;color:var(--text-on-surface)}.property-count{font-size:.75rem;color:var(--text-on-light)}.compact-panel{max-width:350px}.compact-header{padding:.5rem 1rem!important}.panel-filter{display:flex;align-items:center;padding:.5rem;border-bottom:1px solid var(--border);background:var(--background);position:relative}.filter-input{flex:1;padding:.375rem 2rem .375rem .75rem;border:1px solid var(--border);border-radius:4px;background:var(--surface);font-size:.8125rem}.filter-clear{position:absolute;right:.75rem;background:none;border:none;font-size:1.25rem;cursor:pointer;color:var(--text-on-light);padding:0;line-height:1}.filter-clear:hover{color:var(--text-on-surface)}.compact-list{padding:.5rem!important}.compact-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem!important;margin-bottom:.25rem!important;cursor:pointer;font-size:.8125rem}.compact-item:hover{background:var(--primary);border-color:var(--primary)}.compact-item:hover .compact-name,.compact-item:hover .compact-type,.compact-item:hover .compact-add{color:#fff}.compact-name{flex:1;font-weight:500;color:var(--text-on-surface);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-type{font-size:.6875rem;color:var(--text-on-light);background:var(--surface-variant);padding:.125rem .375rem;border-radius:3px;text-transform:uppercase}.compact-add{font-size:1rem;font-weight:700;color:var(--primary);opacity:0;transition:opacity .15s}.compact-item:hover .compact-add{opacity:1}.compact-empty{padding:1.5rem!important}.compact-empty p{font-size:.8125rem}.config-panel{flex:1}.properties-list{flex:1;overflow-y:auto;padding:.75rem}.uid-item-row{margin-bottom:.5rem}.uid-property-item{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;background:var(--background);border:1px solid var(--border);border-radius:6px}.uid-order{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#f59e0b;color:#fff;border-radius:50%;font-weight:600;font-size:.75rem;flex-shrink:0}.property-info{flex:1;min-width:0}.uid-property-item .property-info .property-name{font-weight:500;font-size:.875rem;color:var(--text-on-surface);margin:0;max-width:none;width:auto;overflow:visible;text-overflow:unset;display:inline;-webkit-line-clamp:unset;-webkit-box-orient:unset;word-break:normal;text-align:left;line-height:normal}.property-actions{display:flex;gap:.25rem;align-items:center;flex-shrink:0}.btn-icon-sm{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:1px solid var(--border);border-radius:4px;background:var(--surface);cursor:pointer;font-size:.875rem;color:var(--text-on-light);transition:all .15s}.btn-icon-sm:hover:not(:disabled){background:var(--surface-variant);color:var(--text-on-surface)}.btn-icon-sm:disabled{opacity:.3;cursor:not-allowed}.btn-icon-sm.btn-danger:hover:not(:disabled){background:#fee2e2;border-color:#ef4444;color:#ef4444}.delimiter-inline{flex-shrink:0}.delimiter-input{width:50px;padding:.25rem .5rem;border:1px solid var(--border);border-radius:4px;font-size:.8125rem;text-align:center;background:var(--surface);font-family:Courier New,monospace}.delimiter-input:focus{outline:none;border-color:var(--primary)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;text-align:center;color:var(--text-on-light)}.empty-state p{margin:0;font-size:.875rem}.uid-footer{padding:1rem 1.5rem;border-top:1px solid var(--border);background:var(--surface);display:flex;justify-content:space-between;align-items:center;gap:1.5rem}.uid-preview{flex:1}.uid-preview h4{margin:0 0 .375rem;font-size:.75rem;font-weight:600;color:var(--text-on-light);text-transform:uppercase;letter-spacing:.5px}.preview-text{padding:.625rem 1rem;background:var(--background);border:1px solid var(--border);border-radius:4px;font-family:Courier New,monospace;font-size:.9375rem;color:var(--text-on-surface);word-break:break-word}.uid-actions{display:flex;gap:.75rem;align-items:center}.loading{display:flex;align-items:center;justify-content:center;padding:3rem;color:var(--text-on-light)}.required-asterisk{color:#ef4444;font-weight:700}.input-error{border-color:#ef4444!important;background-color:#fef2f2!important}.uid-property-item.protected{background:#f0f9ff;border-color:#0ea5e9}.required-badge{display:inline-block;margin-left:.5rem;padding:.125rem .375rem;font-size:.625rem;font-weight:600;text-transform:uppercase;background:#0ea5e9;color:#fff;border-radius:3px}.btn-locked{cursor:not-allowed;opacity:.6;font-size:.75rem}.import-settings{padding:1.5rem}.import-settings-loading{padding:2rem;text-align:center;color:#666}.settings-section{background:#fff;border-radius:8px;padding:1.5rem;border:1px solid #e0e0e0}.settings-section h3{margin:0 0 .5rem;font-size:1.125rem;font-weight:600;color:#333}.section-description{margin:0 0 1.5rem;color:#666;font-size:.875rem}.failure-mode-options{display:flex;flex-direction:column;gap:1rem}.failure-mode-option{display:flex;align-items:flex-start;gap:1rem;padding:1rem;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s}.failure-mode-option:hover{border-color:#2563eb;background:#fafafa}.failure-mode-option.selected{border-color:#2563eb;background:#eff6ff}.failure-mode-option input[type=radio]{margin-top:.25rem;width:18px;height:18px;cursor:pointer}.option-content{flex:1}.option-title{font-weight:600;color:#333;margin-bottom:.25rem}.option-description{font-size:.875rem;color:#666;line-height:1.5}.settings-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e0e0e0}.btn{padding:.625rem 1.25rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.project-model-management{max-width:100%;margin:0;padding:.5rem;height:100%;display:flex;flex-direction:column;width:100%;box-sizing:border-box}.loading{text-align:center;padding:3rem;color:var(--text-on-light);font-size:1.125rem}.management-layout{display:grid;grid-template-columns:250px 320px 1fr;gap:1rem;flex:1;min-height:0;overflow:hidden;width:100%}.manufacturers-panel{border:1px solid var(--border);border-radius:.5rem;background:var(--surface);display:flex;flex-direction:column;height:100%;min-height:0}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--border)}.panel-header h2{font-size:1.25rem;font-weight:600;margin:0;color:var(--text-on-light)}.panel-filter{padding:.5rem 1rem;border-bottom:1px solid var(--border);background:var(--background)}.filter-input{width:100%;padding:.5rem .75rem;border:1px solid var(--border);border-radius:.375rem;font-family:var(--font-family);font-size:.875rem;color:var(--text-on-light);background:var(--surface);transition:border-color .2s}.filter-input:focus{outline:none;border-color:var(--color-accent)}.filter-input::placeholder{color:var(--text-on-light);opacity:.5}.btn-icon-circle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--color-accent);color:#fff;border:none;cursor:pointer;transition:all .2s;flex-shrink:0}.btn-icon-circle:hover{background:#e55d1a;transform:scale(1.05)}.btn-icon-circle svg{width:18px;height:18px}.manufacturers-list{flex:1;overflow-y:auto;padding:.5rem .5rem 0}.empty-state{text-align:center;padding:3rem 1.5rem;display:flex;flex-direction:column;gap:1rem;align-items:center}.empty-state p{color:var(--text-on-light);opacity:.7;margin:0}.empty-state svg{width:48px;height:48px;color:var(--text-on-light);opacity:.3}.manufacturer-item{display:flex;justify-content:space-between;align-items:center;padding:.625rem .75rem;margin-bottom:.375rem;border:1px solid var(--border);border-radius:.375rem;cursor:pointer;transition:all .2s;background:var(--surface)}.manufacturer-item:hover{background:var(--background);border-color:var(--color-accent)}.manufacturer-item.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.manufacturer-item.active .manufacturer-name,.manufacturer-item.active .manufacturer-meta{color:#fff}.manufacturer-info{flex:1;min-width:0}.manufacturer-name{font-weight:500;font-size:.875rem;color:var(--text-on-light);margin-bottom:.125rem}.manufacturer-meta{font-size:.75rem;color:var(--text-on-light);opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.manufacturer-actions{display:flex;gap:.25rem;flex-shrink:0}.models-panel{border:1px solid var(--border);border-radius:.5rem;background:var(--surface);display:flex;flex-direction:column;height:100%;min-height:0}.models-list{flex:1;overflow-y:auto;padding:.5rem .5rem 0}.model-item{display:flex;justify-content:space-between;align-items:center;padding:.625rem .75rem;margin-bottom:.375rem;border:1px solid var(--border);border-radius:.375rem;cursor:pointer;transition:all .2s;background:var(--surface)}.model-item:hover{background:var(--background);border-color:var(--color-accent)}.model-item.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.model-item.active .model-name,.model-item.active .model-description{color:#fff}.model-info{flex:1;min-width:0}.model-name{font-weight:500;font-size:.875rem;color:var(--text-on-light);margin-bottom:.125rem}.model-description{font-size:.75rem;color:var(--text-on-light);opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.model-actions{display:flex;gap:.25rem;flex-shrink:0}.details-panel{border:1px solid var(--border);border-radius:.5rem;background:var(--surface);display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.details-content{flex:1;overflow-y:auto;padding:1rem;min-height:0}.empty-selection{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:4rem 2rem;gap:1rem;color:var(--text-on-light);opacity:.5}.empty-selection svg{width:64px;height:64px}.defaults-section{display:flex;flex-direction:column;gap:1.5rem}.model-details{padding-bottom:1rem;border-bottom:1px solid var(--border)}.model-details-name{font-size:1.125rem;font-weight:600;color:var(--text-on-light);margin:0 0 .5rem}.model-details-description{font-size:.875rem;color:var(--text-on-light);opacity:.7;margin:0 0 .75rem}.defaults-info{font-size:.8125rem;color:var(--text-on-light);opacity:.7;margin:0;line-height:1.5}.color-badge{display:inline-block;padding:.125rem .375rem;border-radius:.25rem;font-weight:500}.color-badge.orange{background:#fed7aa;color:#9a3412}.defaults-grid{display:flex;flex-direction:column;gap:.75rem}.default-row{display:grid;grid-template-columns:200px 1fr;gap:1rem;align-items:center}.default-row label{font-size:.875rem;font-weight:500;color:var(--text-on-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.default-row input,.default-row select{width:100%;padding:.5rem .75rem;border:1px solid var(--border);border-radius:.375rem;font-family:var(--font-family);font-size:.875rem;color:var(--text-on-light);background:var(--surface);transition:border-color .2s}.default-row input:focus,.default-row select:focus{outline:none;border-color:var(--color-accent)}.empty-defaults{text-align:center;padding:2rem;color:var(--text-on-light);opacity:.7}.btn-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:.25rem;border:1px solid var(--border);background:transparent;color:var(--text-on-light);cursor:pointer;transition:all .2s}.btn-icon:hover{background:var(--background);border-color:var(--color-accent);color:var(--color-accent)}.btn-icon svg{width:14px;height:14px}.btn-icon-danger:hover{background:#fef2f2;border-color:#ef4444;color:#ef4444}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border-radius:.375rem;font-family:var(--font-family);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-primary{background:var(--color-accent);color:#fff}.btn-primary:hover{background:#e55d1a}.btn-secondary{background:var(--surface);color:var(--text-on-light);border:1px solid var(--border)}.btn-secondary:hover{background:var(--background)}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}.modal-content{background:var(--surface);border-radius:.5rem;box-shadow:0 10px 25px #0003;width:100%;max-width:480px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.modal-header h2{font-size:1.125rem;font-weight:600;margin:0;color:var(--text-on-light)}.modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--text-on-light);cursor:pointer;border-radius:.25rem;transition:background .2s}.modal-close:hover{background:var(--background)}.modal-close svg{width:20px;height:20px}.simple-form{padding:1.25rem}.simple-form .form-group{margin-bottom:1rem}.simple-form .form-group:last-of-type{margin-bottom:0}.simple-form label{display:block;font-weight:500;margin-bottom:.5rem;color:var(--text-on-light);font-family:var(--font-family);font-size:.875rem}.simple-form .required{color:#ef4444}.simple-form input[type=text],.simple-form textarea{width:100%;padding:.5rem .75rem;border:1px solid var(--border);border-radius:.375rem;font-family:var(--font-family);font-size:.9375rem;color:var(--text-on-light);transition:border-color .2s;box-sizing:border-box}.simple-form input[type=text]:focus,.simple-form textarea:focus{outline:none;border-color:var(--color-accent)}.simple-form textarea{resize:vertical;min-height:80px}.simple-form .form-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid var(--border);margin-top:1.25rem}@media(max-width:1400px){.management-layout{grid-template-columns:230px 300px 1fr}}@media(max-width:1200px){.management-layout{grid-template-columns:220px 280px 1fr}.default-row{grid-template-columns:160px 1fr}}@media(max-width:1024px){.project-model-management{height:auto;min-height:100%;padding:.5rem}.management-layout{grid-template-columns:1fr;min-height:600px}.manufacturers-panel,.models-panel,.details-panel{max-height:400px}.default-row{grid-template-columns:1fr;gap:.25rem}}@media(max-width:768px){.project-model-management{padding:.375rem;height:100%}.panel-header{padding:.75rem 1rem}.panel-header h2{font-size:.875rem}.panel-filter{padding:.375rem .75rem}.manufacturer-item,.model-item{padding:.5rem}.simple-form .form-actions{flex-direction:column-reverse}.simple-form .form-actions button{width:100%}}.project-settings{max-width:100%;margin:0;padding:.5rem;height:calc(100vh - 122px - 1rem);display:flex;flex-direction:column;width:100%;box-sizing:border-box}.error-message{display:flex;align-items:center;justify-content:center;height:100%;padding:2rem;text-align:center}.error-message p{font-size:1.125rem;color:var(--text-on-light);opacity:.7}.tabs-container{display:flex;flex-direction:column;height:100%;border:1px solid var(--border);border-radius:.5rem;background:var(--surface);overflow:hidden}.tabs{display:flex;border-bottom:1px solid var(--border);background:var(--background);padding:.5rem 1rem 0;gap:.25rem}.tab{padding:.75rem 1.5rem;border:none;background:transparent;color:var(--text-on-light);font-family:var(--font-family);font-size:.875rem;font-weight:500;cursor:pointer;border-radius:.375rem .375rem 0 0;transition:all .2s;opacity:.7}.tab:hover{background:var(--surface);opacity:1}.tab.active{background:var(--surface);opacity:1;border-bottom:2px solid var(--color-accent)}.tab-content{flex:1;overflow:hidden;display:flex;flex-direction:column}@media(max-width:768px){.project-settings{padding:.375rem;height:calc(100vh - 106px - .75rem)}.tabs{padding:.375rem .5rem 0;overflow-x:auto;flex-wrap:nowrap}.tab{padding:.625rem 1rem;font-size:.8125rem;white-space:nowrap}}.tag-template-import{display:flex;flex-direction:column;height:100%;background:#f8f9fa}.wizard-header{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:#fff;border-bottom:1px solid #e0e0e0}.wizard-header h1{margin:0;font-size:1.25rem;font-weight:600;color:#333}.back-button{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:transparent;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:.875rem;color:#666;transition:all .2s}.back-button:hover{background:#f5f5f5;border-color:#ccc}.back-button svg{width:16px;height:16px}.wizard-progress{display:flex;justify-content:center;gap:2rem;padding:1.5rem;background:#fff;border-bottom:1px solid #e0e0e0}.wizard-content{flex:1;overflow:hidden;padding:2rem;display:flex;flex-direction:column}.wizard-step{max-width:900px;margin:0 auto;width:100%}.wizard-content:has(.mapping-step){overflow:hidden}.wizard-content:has(.mapping-step) .mapping-step{max-width:100%;flex:1}.wizard-step h2{margin:0 0 .5rem;font-size:1.5rem;font-weight:600;color:#333}.wizard-step>p{margin:0 0 1.5rem;color:#666}.file-info{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#f5f5f5;border-radius:6px;margin-bottom:1.5rem}.file-icon{font-size:1.5rem}.file-name{font-weight:500;color:#333}.file-rows{margin-left:auto;color:#666;font-size:.875rem}.template-options{display:flex;flex-direction:column;gap:.75rem}.template-option{padding:1rem;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s}.template-option:hover{border-color:#2563eb}.template-option.selected{border-color:#2563eb;background:#f8faff}.template-option.auto-selected{border-color:#10b981;background:#f0fdf4}.template-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem}.template-name{font-weight:600;color:#333}.template-description{font-size:.875rem;color:#666}.template-match-details{display:flex;gap:1rem;margin-top:.5rem;font-size:.75rem}.template-match-details .matched{color:#10b981}.template-match-details .unmatched{color:#f59e0b;cursor:help}.match-badge{font-size:.75rem;padding:.125rem .5rem;border-radius:12px;font-weight:500}.match-badge.perfect{background:#d1fae5;color:#059669}.match-badge.good{background:#dbeafe;color:#2563eb}.match-badge.partial{background:#fef3c7;color:#d97706}.auto-detect-notice{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.875rem}.auto-detect-notice.success{background:#f0fdf4;border:1px solid #86efac;color:#166534}.auto-detect-notice.warning{background:#fffbeb;border:1px solid #fcd34d;color:#92400e}.auto-detect-notice.error{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b}.auto-detect-notice svg{flex-shrink:0}.auto-detect-notice strong{font-weight:600}.auto-detect-panel{background:#f0fdf4;border:1px solid #86efac;border-radius:8px;padding:1rem;margin-bottom:1rem}.auto-detect-panel .auto-detect-notice{margin-bottom:1rem;padding:0;border:none;background:transparent}.auto-detect-actions{display:flex;gap:.75rem;justify-content:flex-end}.mapping-step{display:flex;flex-direction:column;height:100%;overflow:hidden}.mapping-header{flex-shrink:0;margin-bottom:1rem}.mapping-header h2{margin:0 0 .25rem}.mapping-header p{margin:0 0 .5rem;color:#666}.mapping-header .mapping-summary{margin:0}.mapping-table-scroll-container{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.mapping-table-container{flex:1;background:#fff;border-radius:8px;border:1px solid #e0e0e0;overflow:auto}.mapping-table{width:100%;border-collapse:collapse}.mapping-table th{text-align:left;padding:.75rem 1rem;background:#f8f9fa;border-bottom:1px solid #e0e0e0;font-weight:600;font-size:.75rem;text-transform:uppercase;color:#666}.mapping-table td{padding:.75rem 1rem;border-bottom:1px solid #f0f0f0}.mapping-table tr:last-child td{border-bottom:none}.column-name{font-weight:500;font-family:monospace;font-size:.875rem}.mapping-table select{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.875rem}.confidence-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.confidence-badge.exact{background:#dcfce7;color:#166534}.confidence-badge.alias{background:#dbeafe;color:#1e40af}.confidence-badge.partial{background:#fef3c7;color:#92400e}.confidence-badge.none{background:#f3f4f6;color:#6b7280}.sample-values{display:flex;gap:.5rem;flex-wrap:wrap}.sample-value{padding:.125rem .375rem;background:#f5f5f5;border-radius:3px;font-size:.75rem;color:#666;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mapping-summary{padding:1rem;text-align:right;color:#666;font-size:.875rem}.load-info{display:flex;gap:1rem;align-items:center;margin-bottom:1rem}.load-number{font-weight:600;color:#2563eb;background:#eff6ff;padding:.25rem .5rem;border-radius:4px}.load-file{color:#666;font-size:.875rem}.validation-summary{display:flex;gap:1rem;margin-bottom:1.5rem}.validation-stat{flex:1;padding:1rem;background:#fff;border-radius:8px;text-align:center;border:1px solid #e0e0e0}.validation-stat.valid{border-color:#86efac;background:#f0fdf4}.validation-stat.errors{border-color:#fca5a5;background:#fef2f2}.validation-stat.warnings{border-color:#fcd34d;background:#fffbeb}.stat-value{display:block;font-size:2rem;font-weight:700}.validation-stat.valid .stat-value{color:#166534}.validation-stat.errors .stat-value{color:#dc2626}.validation-stat.warnings .stat-value{color:#d97706}.stat-label{display:block;font-size:.75rem;text-transform:uppercase;color:#666;margin-top:.25rem}.staged-tags-table-container{background:#fff;border-radius:8px;overflow:hidden;border:1px solid #e0e0e0}.staged-tags-table{width:100%;border-collapse:collapse}.staged-tags-table th{text-align:left;padding:.75rem 1rem;background:#f8f9fa;border-bottom:1px solid #e0e0e0;font-weight:600;font-size:.75rem;text-transform:uppercase;color:#666}.staged-tags-table td{padding:.75rem 1rem;border-bottom:1px solid #f0f0f0;vertical-align:top}.staged-tags-table tr.status-error{background:#fef2f2}.staged-tags-table tr.status-warning{background:#fffbeb}.action-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.action-badge.create{background:#dbeafe;color:#1e40af}.action-badge.update{background:#e0e7ff;color:#3730a3}.status-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.status-badge.valid,.status-badge.pending{background:#dcfce7;color:#166534}.status-badge.warning{background:#fef3c7;color:#d97706}.uid-cell{font-family:monospace;font-size:.8rem}.details-cell{max-width:300px}.error-list{margin:0;padding:0;list-style:none;font-size:.8rem;color:#dc2626}.error-list li{margin-bottom:.25rem}.table-truncated{padding:.75rem;text-align:center;background:#f5f5f5;color:#666;font-size:.875rem}.commit-summary{text-align:center;padding:2rem;background:#fff;border-radius:8px;border:1px solid #e0e0e0}.commit-icon{width:64px;height:64px;margin:0 auto 1.5rem;display:flex;align-items:center;justify-content:center;border-radius:50%}.commit-icon.success{background:#dcfce7;color:#166534}.commit-icon svg{width:32px;height:32px}.commit-stats{display:flex;justify-content:center;gap:2rem;margin-bottom:1.5rem}.commit-stat{text-align:center}.commit-stat .stat-value{font-size:2.5rem;font-weight:700;color:#2563eb}.commit-stat .stat-label{font-size:.875rem;color:#666;text-transform:uppercase}.commit-errors{text-align:left;padding:1rem;background:#fef2f2;border-radius:6px;margin-top:1.5rem}.commit-errors h3{margin:0 0 .5rem;color:#dc2626;font-size:.875rem}.commit-errors ul{margin:0;padding-left:1.25rem;font-size:.875rem;color:#7f1d1d}.load-reference{margin-top:1.5rem;color:#666}.load-reference strong{color:#2563eb}.wizard-footer{display:flex;align-items:center;padding:1rem 1.5rem;background:#fff;border-top:1px solid #e0e0e0}.footer-spacer{flex:1}.btn-primary,.btn-secondary{padding:.625rem 1.25rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary{background:#2563eb;color:#fff;border:none}.btn-primary:hover:not(:disabled){background:#1d4ed8}.btn-primary:disabled{background:#93c5fd;cursor:not-allowed}.btn-secondary{background:#fff;color:#333;border:1px solid #ddd}.btn-secondary:hover:not(:disabled){background:#f5f5f5}.error-message{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;margin:1rem 2rem 0;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:.875rem}.loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffffe6;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:100}.spinner{width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:#2563eb;border-radius:50%;animation:spin 1s linear infinite}.loading-overlay p{margin-top:1rem;color:#666}.submitted-step{display:flex;justify-content:center;align-items:center;min-height:400px}.submit-summary{text-align:center;max-width:500px;padding:2rem;background:#fff;border-radius:12px;border:1px solid #e0e0e0}.submit-icon{width:80px;height:80px;margin:0 auto 1.5rem;display:flex;align-items:center;justify-content:center;border-radius:50%}.submit-icon.success{background:#dcfce7;color:#166534}.submit-icon svg{width:40px;height:40px}.submit-summary h2{margin:0 0 .75rem;font-size:1.5rem;color:#333}.submit-description{color:#666;margin:0 0 1.5rem;line-height:1.6}.submit-details{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem;text-align:left}.detail-item{background:#f9fafb;padding:.75rem 1rem;border-radius:8px}.detail-label{display:block;font-size:.75rem;text-transform:uppercase;color:#6b7280;margin-bottom:.25rem}.detail-value{font-weight:600;color:#111827}.detail-value.status-processing{color:#2563eb}.submit-info{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;font-size:.875rem;color:#1e40af;text-align:left}.submit-info svg{flex-shrink:0}.inverted-csv-import{display:flex;flex-direction:column;height:100%;background:#f8f9fa}.wizard-progress{display:flex;justify-content:center;gap:2rem;padding:1.5rem;background:#fff;border-bottom:1px solid #e0e0e0;margin-bottom:0}.progress-step{display:flex;flex-direction:column;align-items:center;gap:.5rem;position:relative}.progress-step:not(:last-child):after{content:"";position:absolute;top:16px;left:calc(50% + 20px);width:calc(100% + 1rem);height:2px;background:#ddd}.progress-step.completed:not(:last-child):after{background:#2563eb}.step-number{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#f5f5f5;border:2px solid #ddd;font-weight:600;font-size:.875rem;color:#888;z-index:1}.progress-step.active .step-number{background:var(--color-accent, #f36f27);border-color:var(--color-accent, #f36f27);color:#fff}.progress-step.completed .step-number{background:#2563eb;border-color:#2563eb;color:#fff}.step-label{font-size:.75rem;color:#888;text-transform:uppercase;letter-spacing:.5px}.progress-step.active .step-label{color:var(--color-accent, #f36f27);font-weight:600}.progress-step.completed .step-label{color:#2563eb;font-weight:600}.wizard-content{flex:1;overflow-y:auto;padding:2rem;background:#f8f9fa}.upload-step{max-width:900px;margin:0 auto;display:flex;flex-direction:column;align-items:center}.upload-step h2{margin:0 0 .5rem;font-size:1.5rem;font-weight:600;color:#333}.upload-step>p{margin:0 0 1.5rem;color:#666}.configure-step{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:24px}.file-info{display:flex;align-items:center;gap:16px;padding:12px 16px;background:var(--bg-secondary);border-radius:6px}.file-name{font-weight:500}.row-count{color:var(--text-secondary);font-size:13px}.column-mapping h3,.classification-select h3{margin:0 0 8px;font-size:16px}.hint{color:var(--text-secondary);font-size:13px;margin:0 0 16px}.mapping-row{display:flex;align-items:center;gap:16px;margin-bottom:12px}.mapping-row label{width:180px;flex-shrink:0}.mapping-row select,.classification-select select{flex:1;padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:14px}.classification-select select{max-width:300px}.preview-step{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.preview-step h3{margin:0}.preview-table-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;max-height:400px;overflow-y:auto;padding:4px}.preview-tag{background:var(--bg-secondary);border-radius:8px;overflow:hidden}.preview-tag-header{display:flex;justify-content:space-between;align-items:center;padding:12px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.tag-number{font-weight:600;font-family:monospace}.property-count{font-size:12px;color:var(--text-secondary)}.preview-properties{width:100%;border-collapse:collapse}.preview-properties td{padding:8px 12px;border-bottom:1px solid var(--border-color);font-size:13px}.preview-properties tr:last-child td{border-bottom:none}.prop-name{color:var(--text-secondary);width:45%}.prop-value{font-family:monospace}.prop-value .empty{color:var(--text-tertiary);font-style:italic}.more-props{text-align:center;color:var(--text-secondary);font-style:italic}.result-step{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.result-header{display:flex;justify-content:space-between;align-items:center}.result-header h3{margin:0}.status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;text-transform:uppercase}.status-badge.staged{background:var(--warning-bg);color:var(--warning-color)}.status-badge.committed{background:var(--success-bg);color:var(--success-color)}.result-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;padding:16px;background:var(--bg-secondary);border-radius:8px}.summary-item{display:flex;flex-direction:column;gap:4px}.summary-item .label{font-size:12px;color:var(--text-secondary)}.summary-item .value{font-size:18px;font-weight:600}.unmapped-warning{padding:16px;background:var(--warning-bg);border-radius:8px;border-left:4px solid var(--warning-color)}.unmapped-warning h4{margin:0 0 8px;color:var(--warning-color)}.unmapped-warning p{margin:0 0 12px;font-size:13px}.unmapped-warning ul{margin:0;padding-left:20px}.unmapped-warning li{font-family:monospace;font-size:13px}.validation-summary{padding:16px;background:var(--bg-secondary);border-radius:8px}.validation-summary h4{margin:0 0 16px}.validation-stats{display:flex;gap:24px;margin-bottom:16px}.validation-stats .stat{display:flex;flex-direction:column;align-items:center;padding:12px 24px;border-radius:8px;background:var(--bg-primary)}.validation-stats .count{font-size:24px;font-weight:600}.validation-stats .label{font-size:12px;color:var(--text-secondary)}.validation-stats .valid .count{color:var(--success-color)}.validation-stats .warning .count{color:var(--warning-color)}.validation-stats .error .count{color:var(--error-color)}.validation-details{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-color)}.validation-details h5{margin:0 0 12px;color:var(--error-color)}.error-list{max-height:200px;overflow-y:auto}.error-item{padding:8px;background:var(--bg-primary);border-radius:4px;margin-bottom:8px}.error-item .row-num{font-weight:500;color:var(--error-color)}.error-item ul{margin:4px 0 0;padding-left:20px}.error-item li{font-size:13px;color:var(--text-secondary)}.step-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid var(--border-color)}.primary-button,.secondary-button,.warning-button{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.primary-button{background:var(--accent-color);color:#fff;border:none}.primary-button:hover:not(:disabled){background:var(--accent-hover)}.secondary-button{background:transparent;color:var(--text-primary);border:1px solid var(--border-color)}.secondary-button:hover{background:var(--bg-secondary)}.warning-button{background:var(--warning-color);color:#fff;border:none}.warning-button:hover:not(:disabled){opacity:.9}.primary-button:disabled,.warning-button:disabled{opacity:.5;cursor:not-allowed}.error-message{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--error-bg);border-radius:6px;margin-bottom:16px;color:var(--error-color)}.error-icon{width:20px;height:20px;background:var(--error-color);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.dismiss-error{margin-left:auto;background:none;border:none;color:var(--error-color);cursor:pointer;font-size:20px;padding:0;line-height:1}.data-load-history{display:flex;flex-direction:column;height:100%;max-height:100%;overflow:hidden;background:#f8f9fa}.loading-state{display:flex;align-items:center;justify-content:center;height:100%;color:#666}.history-content{display:flex;flex:1;overflow:hidden;min-height:0}.loads-panel{width:320px;min-width:280px;display:flex;flex-direction:column;background:#fff;border-right:1px solid #e0e0e0;overflow:hidden}.load-status-filter{display:flex;gap:.25rem;padding:.5rem;border-bottom:1px solid #e0e0e0;background:#f8f9fa;flex-wrap:wrap}.status-filter-btn{padding:.25rem .5rem;background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:.65rem;color:#666;transition:all .2s;white-space:nowrap}.status-filter-btn:hover{background:#f5f5f5;border-color:#ccc}.status-filter-btn.active{background:#2563eb;border-color:#2563eb;color:#fff}.loads-list{flex:1;overflow-y:auto;min-height:0}.load-item{padding:.5rem .75rem;border-bottom:1px solid #f0f0f0;cursor:pointer;transition:background .2s}.load-item:hover{background:#f8f9fa}.load-item.selected{background:#eff6ff;border-left:3px solid #2563eb;padding-left:calc(.75rem - 3px)}.load-item-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.load-number{font-weight:600;color:#2563eb;font-size:.75rem;white-space:nowrap}.status-badge{padding:.0625rem .375rem;border-radius:8px;font-size:.625rem;font-weight:500;text-transform:uppercase;white-space:nowrap}.status-badge.pending{background:#fef3c7;color:#92400e}.status-badge.info{background:#dbeafe;color:#1e40af}.status-badge.warning{background:#fed7aa;color:#c2410c}.status-badge.error{background:#fecaca;color:#dc2626}.status-badge.large{padding:.25rem .75rem;font-size:.8rem}.load-item-details{display:flex;flex-direction:column;gap:.125rem;font-size:.7rem;margin-top:.125rem}.load-meta{display:flex;justify-content:space-between;align-items:center}.load-submitter{color:#2563eb;font-size:.65rem}.file-name{color:#666;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.load-date{color:#999;font-size:.65rem;white-space:nowrap}.validation-progress{display:flex;align-items:center;gap:.375rem;margin-top:.25rem}.validation-progress .progress-bar{flex:1;height:3px;background:#e0e0e0;border-radius:2px;overflow:hidden}.validation-progress .progress-fill{height:100%;background:#2563eb;border-radius:2px;transition:width .3s ease}.validation-progress .progress-fill.committing{background:#10b981}.validation-progress .progress-text{font-size:.6rem;color:#666;min-width:28px;text-align:right}.validation-status{font-size:.6rem;padding:.125rem .375rem;border-radius:4px;margin-top:.25rem;display:inline-block}.validation-status.pending{background:#f3f4f6;color:#6b7280}.validation-status.completed{background:#dcfce7;color:#166534}.validation-status.completed.has-errors{background:#fef3c7;color:#92400e}.validation-status.failed{background:#fecaca;color:#dc2626}.load-item-stats{display:flex;gap:.75rem;font-size:.65rem;margin-top:.25rem}.load-item-stats .stat{display:flex;align-items:center;gap:.25rem}.load-item-stats .stat-value{font-weight:600;color:#333}.load-item-stats .stat-value.new{color:#059669}.load-item-stats .stat-value.update{color:#2563eb}.load-item-stats .stat-value.error{color:#dc2626}.load-item-stats .stat-label{font-size:.6rem;color:#999;text-transform:uppercase}.detail-panel{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#fff;min-height:0}.no-selection{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#888}.no-selection-icon{width:64px;height:64px;margin-bottom:1rem;color:#ddd}.no-selection-icon svg{width:100%;height:100%}.no-selection p{margin:0;font-size:.875rem}.detail-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid #e0e0e0;background:#f8f9fa}.detail-title{display:flex;align-items:center;gap:1rem}.detail-title h2{margin:0;font-size:1.25rem;font-weight:600;color:#333}.detail-actions{display:flex;gap:.75rem}.action-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:none;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s}.action-button svg{width:16px;height:16px}.action-button.primary{background:#2563eb;color:#fff}.action-button.primary:hover{background:#1d4ed8}.action-button.success{background:#10b981;color:#fff}.action-button.success:hover{background:#059669}.action-button.warning{background:#f59e0b;color:#fff}.action-button.warning:hover{background:#d97706}.action-button.danger{background:#fff;color:#dc2626;border:1px solid #dc2626}.action-button.danger:hover{background:#fef2f2}.action-button:disabled{opacity:.6;cursor:not-allowed}.detail-info{padding:1rem 1.5rem;border-bottom:1px solid #e0e0e0}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-label{font-size:.75rem;color:#888;text-transform:uppercase}.info-value{font-size:.875rem;color:#333}.stats-grid{display:flex;gap:.5rem}.stat-card{flex:1;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:.375rem;padding:.375rem .5rem;background:#f8f9fa;border-radius:6px}.stat-number{font-size:.875rem;font-weight:600;color:#333}.stat-number.new{color:#059669}.stat-number.update{color:#2563eb}.stat-number.warning{color:#f59e0b}.stat-number.error{color:#dc2626}.stat-card .stat-label{font-size:.65rem;color:#888;text-transform:uppercase}.validation-banner{padding:1rem 1.5rem;background:#eff6ff;border-bottom:1px solid #dbeafe}.validation-progress-large .progress-header{display:flex;justify-content:space-between;margin-bottom:.5rem;font-size:.875rem;color:#1e40af}.validation-progress-large .progress-bar{height:8px;background:#dbeafe;border-radius:4px;overflow:hidden}.validation-progress-large .progress-fill{height:100%;background:#2563eb;border-radius:4px;transition:width .3s ease}.validation-progress-large .progress-fill.committing{background:#10b981}.validation-banner.committing{background:#ecfdf5;border-bottom:1px solid #a7f3d0}.validation-banner.committing .progress-header{color:#047857}.validation-banner.committing .progress-bar{background:#d1fae5}.committed-banner{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;background:#f0fdf4;border-bottom:1px solid #bbf7d0;color:#166534;font-size:.875rem}.committed-banner svg{width:20px;height:20px}.staged-data-section{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.filter-bar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;border-bottom:1px solid #e0e0e0;background:#f8f9fa}.filter-buttons{display:flex;gap:.5rem}.filter-btn{padding:.375rem .75rem;background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:.8rem;transition:all .2s}.filter-btn:hover{background:#f5f5f5}.filter-btn.active{background:#2563eb;border-color:#2563eb;color:#fff}.filter-btn.valid.active{background:#10b981;border-color:#10b981}.filter-btn.warning.active{background:#f59e0b;border-color:#f59e0b}.filter-btn.error.active{background:#ef4444;border-color:#ef4444}.filter-btn.create.active{background:#059669;border-color:#059669}.filter-btn.update.active{background:#d97706;border-color:#d97706}.filter-btn.unchanged.active{background:#64748b;border-color:#64748b}.filter-divider{color:#ccc;font-size:.875rem;padding:0 .25rem}.pagination-info{font-size:.8rem;color:#666}.data-grid-container{flex:1;overflow:auto}.data-grid{width:100%;border-collapse:collapse;font-size:.875rem}.data-grid th{position:sticky;top:0;background:#f8f9fa;padding:.75rem;text-align:left;font-weight:600;color:#666;border-bottom:2px solid #e0e0e0;font-size:.75rem;text-transform:uppercase}.data-grid td{padding:.75rem;border-bottom:1px solid #f0f0f0}.data-row{cursor:pointer;transition:background .2s}.data-row:hover{background:#f8f9fa}.data-row.error{background:#fef2f2}.data-row.warning{background:#fffbeb}.data-row.expanded{background:#eff6ff}.col-expand{width:40px;text-align:center}.expand-icon{font-size:.625rem;color:#888}.col-row{width:60px;color:#888}.col-uid{font-family:monospace;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-action{width:80px}.action-badge{padding:.125rem .5rem;border-radius:4px;font-size:.7rem;font-weight:500;text-transform:capitalize}.action-badge.create,.action-badge.new{background:#dcfce7;color:#166534}.action-badge.update,.action-badge.changed{background:#fef3c7;color:#92400e}.action-badge.unchanged{background:#f1f5f9;color:#64748b}.col-classification{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-status{width:100px}.badge-valid{background:#dcfce7;color:#166534}.badge-error{background:#fecaca;color:#dc2626}.badge-warning{background:#fef3c7;color:#92400e}.badge-pending{background:#f3f4f6;color:#6b7280}.expanded-row td{padding:0;background:#f8f9fa}.expanded-content{padding:1rem 1.5rem}.validation-errors{margin-bottom:1rem;padding:1rem;background:#fef2f2;border-radius:8px;border:1px solid #fecaca}.validation-errors h4{margin:0 0 .5rem;font-size:.875rem;color:#dc2626}.validation-errors ul{margin:0;padding-left:1.25rem}.validation-errors li{font-size:.8rem;color:#991b1b;margin-bottom:.25rem}.property-values h4{margin:0 0 .75rem;font-size:.875rem;color:#333}.properties-table{width:100%;border-collapse:collapse;font-size:.8rem;background:#fff;border-radius:8px;overflow:hidden;border:1px solid #e0e0e0}.properties-table th{padding:.5rem .75rem;text-align:left;background:#f8f9fa;font-weight:600;color:#666;font-size:.7rem;text-transform:uppercase;border-bottom:1px solid #e0e0e0}.properties-table td{padding:.5rem .75rem;border-bottom:1px solid #f0f0f0}.properties-table tr:last-child td{border-bottom:none}.properties-table tr.error{background:#fef2f2}.properties-table tr.warning{background:#fffbeb}.value-cell{font-family:monospace;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.value-cell.new-value{color:#166534}.value-cell.old-value{color:#888}.value-cell .null{color:#ccc;font-style:italic}.changed-cell{text-align:center;color:#2563eb}.no-changes{text-align:center;color:#6b7280;font-style:italic;padding:1rem!important}.prop-status{font-size:.7rem;padding:.125rem .375rem;border-radius:4px}.prop-status.error{background:#fecaca;color:#dc2626}.prop-status.warning{background:#fef3c7;color:#92400e}.pagination{display:flex;justify-content:center;align-items:center;gap:.5rem;padding:1rem;border-top:1px solid #e0e0e0;background:#f8f9fa}.page-btn{padding:.375rem .75rem;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;font-size:.875rem}.page-btn:hover:not(:disabled){background:#f5f5f5}.page-info{padding:0 1rem;font-size:.875rem;color:#666}.empty-state{padding:2rem;text-align:center}.empty-state p{margin:0;color:#666}.edit-hint-banner{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.5rem;background:#eff6ff;border-bottom:1px solid #dbeafe;color:#1e40af;font-size:.8rem}.edit-hint-banner svg{width:18px;height:18px;flex-shrink:0}.edit-history-panel{margin:1rem 1.5rem;background:#fff;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.edit-history-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:#f8f9fa;border-bottom:1px solid #e0e0e0}.edit-history-header h3{margin:0;font-size:.875rem;font-weight:600;color:#333}.edit-history-header .close-btn{background:none;border:none;font-size:1.25rem;color:#888;cursor:pointer;padding:0 .25rem;line-height:1}.edit-history-header .close-btn:hover{color:#333}.edit-history-list{max-height:200px;overflow-y:auto}.edit-history-item{padding:.75rem 1rem;border-bottom:1px solid #f0f0f0}.edit-history-item:last-child{border-bottom:none}.edit-history-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.edit-property{font-weight:500;color:#333;font-size:.8rem}.edit-uid{font-size:.7rem;color:#888;font-family:monospace}.edit-history-values{display:flex;align-items:center;gap:.5rem;font-family:monospace;font-size:.8rem;margin-bottom:.25rem}.edit-history-values .old-val{color:#dc2626;text-decoration:line-through}.edit-history-values .arrow{color:#888}.edit-history-values .new-val{color:#059669}.edit-history-meta{display:flex;justify-content:space-between;font-size:.7rem;color:#888}.edit-reason{font-style:italic}.value-cell.editable{cursor:pointer;position:relative}.value-cell.editable:hover{background:#eff6ff}.edit-cell{display:flex;align-items:center;gap:.25rem}.edit-cell input{flex:1;padding:.25rem .5rem;border:1px solid #2563eb;border-radius:4px;font-family:monospace;font-size:.8rem;min-width:100px}.edit-cell input:focus{outline:none;box-shadow:0 0 0 2px #2563eb33}.edit-cell .save-btn,.edit-cell .cancel-btn{padding:.25rem .5rem;border:none;border-radius:4px;cursor:pointer;font-size:.875rem}.edit-cell .save-btn{background:#10b981;color:#fff}.edit-cell .save-btn:hover{background:#059669}.edit-cell .cancel-btn{background:#f3f4f6;color:#666}.edit-cell .cancel-btn:hover{background:#e5e7eb}.property-values .edit-hint{font-weight:400;font-size:.75rem;color:#888;margin-left:.5rem}.modal{background:#fff;border-radius:8px;padding:1.5rem;width:400px;max-width:90%;box-shadow:0 10px 25px #0003}.modal h3{margin:0 0 .5rem;font-size:1.125rem;color:#333}.modal p{margin:0 0 1rem;font-size:.875rem;color:#666}.modal textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:.875rem;resize:vertical;margin-bottom:1rem;font-family:inherit}.modal textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb33}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem}.modal-actions .cancel-btn,.modal-actions .confirm-btn{padding:.5rem 1rem;border-radius:6px;font-size:.875rem;cursor:pointer}.modal-actions .cancel-btn{background:#fff;border:1px solid #ddd;color:#666}.modal-actions .cancel-btn:hover{background:#f5f5f5}.modal-actions .confirm-btn{background:#2563eb;border:none;color:#fff}.modal-actions .confirm-btn:hover{background:#1d4ed8}.modal-actions .confirm-btn.danger{background:#dc2626}.modal-actions .confirm-btn.danger:hover{background:#b91c1c}.modal-actions .confirm-btn:disabled{opacity:.5;cursor:not-allowed}.rejection-reason-box{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:1rem;margin-bottom:1rem}.rejection-reason-header{display:flex;align-items:center;gap:.5rem;color:#dc2626;font-weight:600;margin-bottom:.5rem}.rejection-reason-header svg{width:18px;height:18px}.rejection-reason-text{margin:0;color:#7f1d1d;font-size:.875rem;line-height:1.5;white-space:pre-wrap}.reject-modal{max-width:500px}.reject-modal h3{color:#dc2626}.action-button.secondary{background:#fff;color:#666;border:1px solid #ddd}.action-button.secondary:hover{background:#f5f5f5}.action-button.secondary.active{background:#eff6ff;border-color:#2563eb;color:#2563eb}.data-row.unchanged{opacity:.7}.data-import{display:flex;flex-direction:column;height:100%;background:#f8f9fa}.data-import:has(.tiles-grid){justify-content:center;align-items:center;flex:1;height:100%;min-height:0}.data-import:has(.data-load-history),.data-import:has(.tag-template-import),.data-import:has(.inverted-csv-import){justify-content:flex-start;align-items:stretch;height:calc(100vh - 120px);max-height:calc(100vh - 120px);overflow:hidden}.data-import-header{padding:2rem;background:#fff;border-bottom:1px solid #e0e0e0}.data-import-header h1{margin:0 0 .5rem;font-size:1.5rem;font-weight:600;color:#333}.data-import-header p{margin:0;color:#666}.import-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;padding:2rem;max-width:900px}.import-tile{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:#fff;border:1px solid #e0e0e0;border-radius:12px;cursor:pointer;transition:all .2s}.import-tile:hover{border-color:#2563eb;box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.tile-icon{width:48px;height:48px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#eff6ff;border-radius:10px;color:#2563eb}.tile-icon svg{width:24px;height:24px}.tile-content{flex:1}.tile-content h3{margin:0 0 .25rem;font-size:1rem;font-weight:600;color:#333}.tile-content p{margin:0;font-size:.875rem;color:#666;line-height:1.4}.tile-arrow{width:24px;height:24px;color:#ccc;transition:color .2s}.import-tile:hover .tile-arrow{color:#2563eb}.tile-arrow svg{width:100%;height:100%}.template-export{display:flex;flex-direction:column;height:100%;background:#f8f9fa}.error-banner{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:#fef2f2;border-bottom:1px solid #fecaca;color:#dc2626;font-size:.875rem}.error-banner button{background:none;border:none;color:#dc2626;font-size:1.25rem;cursor:pointer;padding:0 .5rem}.loading-state{display:flex;align-items:center;justify-content:center;height:100%;color:#64748b}.export-content{display:flex;flex:1;overflow:hidden}.export-sidebar{width:300px;min-width:280px;background:#fff;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;overflow-y:auto}.sidebar-section{padding:1rem;border-bottom:1px solid #e2e8f0}.sidebar-section h3{margin:0 0 .75rem;font-size:.8125rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.template-list{display:flex;flex-direction:column;gap:.25rem}.no-templates{color:#94a3b8;font-size:.875rem;padding:.5rem}.template-item{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.75rem;border:1px solid #e2e8f0;border-radius:6px;background:#fff;cursor:pointer;transition:all .15s;text-align:left;width:100%}.template-item:hover,.template-item.active{border-color:#3b82f6;background:#eff6ff}.template-name{font-weight:500;color:#1e293b}.template-desc{font-size:.75rem;color:#64748b}.filter-list{display:flex;flex-direction:column;gap:.75rem}.filter-item{display:flex;flex-direction:column;gap:.25rem}.filter-item label{font-size:.75rem;font-weight:500;color:#475569}.filter-item input{padding:.5rem;border:1px solid #e2e8f0;border-radius:4px;font-size:.875rem;transition:border-color .15s}.filter-item input:focus{outline:none;border-color:#3b82f6}.filter-note{font-size:.75rem;color:#94a3b8;font-style:italic;margin:.5rem 0 0}.export-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.export-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:#fff;border-bottom:1px solid #e2e8f0}.export-info h2{margin:0 0 .25rem;font-size:1.25rem;color:#1e293b}.export-info p{margin:0;font-size:.875rem;color:#64748b}.filter-badge{display:inline-block;margin-left:.5rem;padding:.125rem .5rem;background:#eff6ff;color:#3b82f6;border-radius:9999px;font-size:.75rem;font-weight:500}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;color:#94a3b8;text-align:center}.empty-state svg{width:64px;height:64px;margin-bottom:1rem;opacity:.5}.empty-state p{margin:0;font-size:1rem}.preview-section{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:1rem 1.5rem}.preview-section h3{margin:0 0 1rem;font-size:.875rem;font-weight:500;color:#64748b}.preview-table-container{flex:1;overflow:auto;border:1px solid #e2e8f0;border-radius:8px;background:#fff}.preview-table{width:100%;border-collapse:collapse;font-size:.8125rem}.preview-table th,.preview-table td{padding:.625rem .75rem;text-align:left;border-bottom:1px solid #e2e8f0;white-space:nowrap}.preview-table th{background:#f8fafc;font-weight:600;color:#475569;position:sticky;top:0;z-index:1}.preview-table tbody tr:hover{background:#f8fafc}.preview-table tbody tr:last-child td{border-bottom:none}.preview-table td{color:#334155;max-width:200px;overflow:hidden;text-overflow:ellipsis}.export-clean-template{display:flex;flex-direction:column;height:100%;background:#f8f9fa}.export-clean-template .error-banner{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:#fef2f2;border-bottom:1px solid #fecaca;color:#dc2626;font-size:.875rem}.export-clean-template .error-banner button{background:none;border:none;color:#dc2626;font-size:1.25rem;cursor:pointer;padding:0 .5rem}.export-clean-template .loading-state{display:flex;align-items:center;justify-content:center;height:100%;color:#64748b}.export-clean-template .export-content{display:flex;flex:1;overflow:hidden}.export-clean-template .export-sidebar{width:380px;min-width:350px;background:#fff;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;overflow-y:auto}.export-clean-template .sidebar-section{padding:1rem;border-bottom:1px solid #e2e8f0}.export-clean-template .sidebar-section h3{margin:0 0 .5rem;font-size:.8125rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.export-clean-template .sidebar-hint{margin:0 0 .75rem;font-size:.75rem;color:#94a3b8}.export-clean-template .template-list{display:flex;flex-direction:column;gap:.25rem}.export-clean-template .no-templates{color:#94a3b8;font-size:.875rem;padding:.5rem}.export-clean-template .template-item{display:flex;flex-direction:row;align-items:center;gap:.5rem;padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:6px;background:#fff;transition:all .15s;cursor:pointer;flex-wrap:nowrap}.export-clean-template .template-item:hover{border-color:#cbd5e1;background:#f8fafc}.export-clean-template .template-item.previewing{border-color:#ff6b1a;background:#fff7ed}.export-clean-template .template-item.selected{border-color:#ff6b1a}.export-clean-template .template-item.selected.previewing{border-color:#ff6b1a;box-shadow:0 0 0 2px #ff6b1a33}.export-clean-template .template-checkbox{display:flex;align-items:center;flex-shrink:0}.export-clean-template .template-checkbox input{width:16px;height:16px;cursor:pointer;accent-color:#ff6b1a}.export-clean-template .template-info{flex:1;display:flex;align-items:center;gap:.5rem;min-width:0}.export-clean-template .template-name{font-weight:500;color:#1e293b;font-size:.875rem;white-space:nowrap}.export-clean-template .template-desc{font-size:.75rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.export-clean-template .selection-summary p{margin:0 0 .5rem;font-size:.875rem;color:#1e293b}.export-clean-template .selected-list{margin:0;padding:0 0 0 1.25rem;font-size:.8125rem;color:#475569}.export-clean-template .selected-list li{margin-bottom:.25rem}.export-clean-template .export-options{border-bottom:none}.export-clean-template .option-item{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.5rem 0}.export-clean-template .option-item input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#ff6b1a}.export-clean-template .option-label{font-size:.875rem;color:#1e293b;font-weight:500}.export-clean-template .option-hint{margin:.25rem 0 0;font-size:.75rem;color:#64748b;padding-left:1.5rem}.export-clean-template .export-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.export-clean-template .export-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:#fff;border-bottom:1px solid #e2e8f0}.export-clean-template .export-info h2{margin:0 0 .25rem;font-size:1.25rem;color:#1e293b}.export-clean-template .export-info p{margin:0;font-size:.875rem;color:#64748b}.export-clean-template .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;color:#94a3b8;text-align:center;padding:2rem}.export-clean-template .empty-state svg{width:64px;height:64px;margin-bottom:1rem;opacity:.5}.export-clean-template .empty-state p{margin:0 0 .5rem;font-size:1rem}.export-clean-template .empty-state .hint{font-size:.875rem;color:#cbd5e1}.export-clean-template .preview-section{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:1.5rem}.export-clean-template .preview-header{margin-bottom:1rem}.export-clean-template .preview-header h3{margin:0 0 .5rem;font-size:1.125rem;font-weight:600;color:#1e293b}.export-clean-template .preview-description{margin:0 0 .75rem;font-size:.875rem;color:#64748b}.export-clean-template .preview-stats{display:flex;gap:1.5rem}.export-clean-template .preview-stats .stat{font-size:.875rem;color:#64748b}.export-clean-template .preview-stats .stat strong{color:#1e293b}.export-clean-template .properties-table-container{flex:1;overflow:auto;border:1px solid #e2e8f0;border-radius:8px;background:#fff}.export-clean-template .properties-table{width:100%;border-collapse:collapse;font-size:.8125rem}.export-clean-template .properties-table th,.export-clean-template .properties-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #e2e8f0}.export-clean-template .properties-table th{background:#f8fafc;font-weight:600;color:#475569;position:sticky;top:0;z-index:1}.export-clean-template .properties-table tbody tr:hover{background:#f8fafc}.export-clean-template .properties-table tbody tr:last-child td{border-bottom:none}.export-clean-template .properties-table .col-num{width:40px;color:#94a3b8;font-weight:500}.export-clean-template .data-type-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500;background:#f1f5f9;color:#475569}.export-clean-template .data-type-badge.text{background:#dbeafe;color:#1d4ed8}.export-clean-template .data-type-badge.number{background:#dcfce7;color:#16a34a}.export-clean-template .data-type-badge.date{background:#fef3c7;color:#d97706}.export-clean-template .data-type-badge.select{background:#f3e8ff;color:#7c3aed}.export-clean-template .has-dropdown{display:flex;align-items:center;gap:.375rem;color:#16a34a;font-size:.8125rem}.export-clean-template .has-dropdown svg{color:#22c55e}.export-clean-template .no-dropdown{color:#cbd5e1}.export-clean-template .btn-action{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:#ff6b1a;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s}.export-clean-template .btn-action:hover:not(:disabled){background:#e55d1a}.export-clean-template .btn-action:disabled{background:#94a3b8;cursor:not-allowed}.export-clean-template .btn-action svg{width:18px;height:18px}.export-clean-template .spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.data-export{display:flex;flex-direction:column;height:100%;background:#f8f9fa}.data-export:has(.tiles-grid){justify-content:center;align-items:center;flex:1;height:100%;min-height:0}.data-export:has(.template-export){justify-content:flex-start;align-items:stretch;height:calc(100vh - 120px);max-height:calc(100vh - 120px);overflow:hidden}.placeholder-content{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:#64748b}.placeholder-icon{width:80px;height:80px;margin-bottom:1.5rem;color:#cbd5e1}.placeholder-icon svg{width:100%;height:100%}.placeholder-content h2{margin:0 0 .5rem;font-size:1.5rem;color:#334155}.placeholder-content p{margin:0;font-size:1rem}.completeness-report{display:flex;flex-direction:column;height:100%;background:#f8f9fa;padding:1.5rem;gap:1.5rem;overflow:hidden}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#64748b;gap:1rem}.error-state button{padding:.5rem 1rem;background:#3b82f6;color:#fff;border:none;border-radius:6px;cursor:pointer}.summary-cards{display:flex;gap:1rem;flex-wrap:wrap;flex-shrink:0}.summary-card{flex:1;min-width:140px;background:#fff;border-radius:8px;padding:1rem 1.25rem;box-shadow:0 1px 3px #0000001a;border-left:4px solid #94a3b8}.summary-card.success{border-left-color:#10b981}.summary-card.warning{border-left-color:#f59e0b}.summary-card.danger{border-left-color:#ef4444}.summary-value{font-size:1.75rem;font-weight:700;color:#1e293b}.summary-label{font-size:.8125rem;color:#64748b;margin-top:.25rem}.report-content{display:flex;gap:1.5rem;flex:1;overflow:hidden;min-height:0}.report-left{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.report-right{width:320px;min-width:280px;display:flex;flex-direction:column;gap:1rem;overflow-y:auto}.report-toolbar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem;flex-shrink:0}.refresh-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border:1px solid #e2e8f0;background:#fff;border-radius:6px;font-size:.75rem;color:#475569;cursor:pointer;transition:all .15s}.refresh-btn:hover:not(:disabled){border-color:#3b82f6;color:#3b82f6}.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.refresh-btn svg{width:14px;height:14px}.refresh-btn svg.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.export-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border:1px solid #10b981;background:#10b981;border-radius:6px;font-size:.75rem;color:#fff;cursor:pointer;transition:all .15s}.export-btn:hover:not(:disabled){background:#059669;border-color:#059669}.export-btn:disabled{opacity:.6;cursor:not-allowed}.filter-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.filter-btn{padding:.5rem .75rem;border:1px solid #e2e8f0;background:#fff;border-radius:6px;font-size:.75rem;color:#475569;cursor:pointer;transition:all .15s}.filter-btn:hover{border-color:#3b82f6;color:#3b82f6}.filter-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.report-table-container{flex:1;overflow:auto;border:1px solid #e2e8f0;border-radius:8px;background:#fff;min-height:0}.report-table{width:100%;border-collapse:collapse;font-size:.8125rem}.report-table th,.report-table td{padding:.625rem .75rem;text-align:left;border-bottom:1px solid #e2e8f0}.report-table th{background:#f8fafc;font-weight:600;color:#475569;position:sticky;top:0;z-index:1}.report-table tbody tr{cursor:pointer;transition:background .15s}.report-table tbody tr:hover{background:#f8fafc}.report-table tbody tr.expanded{background:#eff6ff}.empty-row{text-align:center!important;color:#94a3b8;padding:2rem!important}.expand-col{width:32px;padding:.5rem!important}.expand-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:none;border:none;cursor:pointer;color:#64748b}.expand-btn svg{width:14px;height:14px}.uid-col{font-family:monospace;font-weight:500;font-size:.75rem}.progress-cell{display:flex;align-items:center;gap:.5rem}.progress-bar{flex:1;height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden;min-width:60px;max-width:100px}.progress-fill{height:100%;border-radius:3px;transition:width .3s}.progress-text{font-size:.6875rem;color:#64748b;white-space:nowrap}.stat-badge{display:inline-block;padding:.125rem .375rem;border-radius:4px;font-size:.6875rem;font-weight:500;background:#f1f5f9;color:#475569}.stat-badge.success{background:#dcfce7;color:#166534}.stat-badge.warning{background:#fef3c7;color:#92400e}.stat-badge.danger{background:#fee2e2;color:#991b1b}.status-badge{display:inline-block;padding:.125rem .5rem;border-radius:9999px;font-size:.6875rem;font-weight:500}.status-badge.success{background:#dcfce7;color:#166534}.status-badge.warning{background:#fef3c7;color:#92400e}.status-badge.danger{background:#fee2e2;color:#991b1b}.status-badge.info{background:#e0f2fe;color:#0369a1}.detail-row{background:#f8fafc!important;cursor:default!important}.detail-row:hover{background:#f8fafc!important}.entity-details{padding:.5rem 1rem 1rem}.missing-section{margin-bottom:1rem}.missing-section:last-child{margin-bottom:0}.missing-section h4{font-size:.75rem;font-weight:600;color:#475569;margin:0 0 .5rem}.missing-tags{display:flex;flex-wrap:wrap;gap:.375rem}.missing-tag{padding:.125rem .5rem;border-radius:4px;font-size:.6875rem;font-weight:500}.missing-tag.warning{background:#fef3c7;color:#92400e}.missing-tag.danger{background:#fee2e2;color:#991b1b}.no-missing{margin:0;color:#64748b;font-size:.8125rem}.pagination{display:flex;align-items:center;justify-content:center;gap:.5rem;padding-top:.75rem;flex-shrink:0}.page-btn{padding:.375rem .75rem;border:1px solid #e2e8f0;background:#fff;border-radius:6px;font-size:.75rem;color:#475569;cursor:pointer;transition:all .15s}.page-btn:hover:not(:disabled){border-color:#3b82f6;color:#3b82f6}.page-btn:disabled{opacity:.5;cursor:not-allowed}.page-info{font-size:.8125rem;color:#475569;padding:0 .75rem}.page-total{color:#94a3b8;margin-left:.5rem}.chart-section{background:#fff;border-radius:8px;padding:1rem;box-shadow:0 1px 3px #0000001a}.chart-section h3{margin:0 0 1rem;font-size:.875rem;font-weight:600;color:#1e293b}.donut-charts{display:flex;justify-content:space-around;gap:1rem}.donut-chart{display:flex;flex-direction:column;align-items:center;gap:.5rem}.donut-label{font-size:.75rem;font-weight:500;color:#64748b}.bar-chart{display:flex;flex-direction:column;gap:.5rem}.bar-row{display:flex;align-items:center;gap:.5rem}.bar-label{width:80px;font-size:.6875rem;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-track{flex:1;height:16px;background:#e2e8f0;border-radius:4px;overflow:hidden}.bar-fill{height:100%;border-radius:4px;transition:width .3s}.bar-value{width:30px;font-size:.6875rem;font-weight:600;color:#1e293b;text-align:right}.histogram-chart{padding:.5rem 0}.histogram-bars{display:flex;justify-content:space-between;align-items:flex-end;gap:.5rem;height:100px}.histogram-bar-container{flex:1;display:flex;flex-direction:column;align-items:center;gap:.25rem}.histogram-bar-wrapper{width:100%;height:80px;display:flex;align-items:flex-end}.histogram-bar{width:100%;min-height:4px;border-radius:3px 3px 0 0;transition:height .3s}.histogram-label{font-size:.625rem;color:#64748b;text-align:center;white-space:nowrap}.histogram-count{font-size:.6875rem;font-weight:600;color:#1e293b}@media(max-width:1200px){.report-content{flex-direction:column}.report-right{width:100%;flex-direction:row;flex-wrap:wrap}.chart-section{flex:1;min-width:280px}}.qaqc{display:flex;flex-direction:column;height:100%;background:#f8f9fa}.qaqc:has(.tiles-grid){justify-content:center;align-items:center;flex:1;height:100%;min-height:0}.qaqc:has(.completeness-report){justify-content:flex-start;align-items:stretch;height:calc(100vh - 120px);max-height:calc(100vh - 120px);overflow:hidden}.error-message{display:flex;align-items:center;justify-content:center;padding:2rem;color:#666}.error-message p{margin:0;padding:1rem 2rem;background:#fef3c7;border-radius:8px;color:#92400e}.data-viewer{display:flex;flex-direction:column;flex:1;height:100%;min-height:0;background:#f8f9fa;overflow:hidden}.data-viewer.fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;background:#f8f9fa}.viewer-toolbar{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;background:#fff;border-bottom:1px solid #e0e0e0;gap:.75rem;flex-wrap:wrap;flex-shrink:0}.toolbar-left{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.toolbar-right{display:flex;align-items:center;gap:1rem}.template-selector{display:flex;align-items:center;gap:.5rem}.template-selector label{font-size:.875rem;font-weight:500;color:#666}.template-selector select{padding:.5rem .75rem;border:1px solid #ddd;border-radius:4px;font-size:.875rem;min-width:150px}.search-box{display:flex;align-items:center}.search-box input{padding:.5rem .75rem;border:1px solid #ddd;border-radius:4px 0 0 4px;font-size:.875rem;min-width:200px}.search-button{padding:.5rem .75rem;border:1px solid #ddd;border-left:none;border-radius:0 4px 4px 0;background:#f5f5f5;cursor:pointer;display:flex;align-items:center;justify-content:center}.search-button:hover{background:#e8e8e8}.search-button svg{width:16px;height:16px}.filter-badge{background:#fff;color:var(--color-accent);font-size:.7rem;padding:.125rem .375rem;border-radius:10px;margin-left:.25rem}.pending-changes{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;background:#fef3c7;border-radius:4px;font-size:.75rem;color:#92400e}.pending-changes .pending-count{color:#92400e;font-weight:500}.save-button{padding:.25rem .5rem;background:var(--color-accent, #ff6b1a);color:#fff;border:none;border-radius:3px;cursor:pointer;font-size:.7rem;font-weight:500}.save-button:hover{background:#e55d1a}.discard-button{padding:.25rem .5rem;background:transparent;color:var(--text-on-light, #374151);border:1px solid var(--border, #d1d5db);border-radius:3px;cursor:pointer;font-size:.7rem}.discard-button:hover{border-color:var(--color-accent, #ff6b1a);color:var(--color-accent, #ff6b1a)}.pagination-info{font-size:.75rem;color:#666}.filters-panel{display:flex;gap:1.5rem;padding:1rem 1.5rem;background:#f8f9fa;border-bottom:1px solid #e0e0e0;max-height:300px;overflow-y:auto;flex-shrink:0}.filters-section{flex:1;min-width:200px}.filters-section h3{margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:#333;display:flex;justify-content:space-between;align-items:center}.add-filter-button{padding:.25rem .5rem;background:#2563eb;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.75rem}.add-filter-button:hover{background:#1d4ed8}.classification-tree{max-height:200px;overflow-y:auto;background:#fff;border:1px solid #ddd;border-radius:4px;padding:.5rem}.classification-item{display:flex;align-items:center;gap:.5rem;padding:.25rem;cursor:pointer;font-size:.875rem}.classification-item:hover{background:#f5f5f5}.classification-item input{cursor:pointer}.classification-item .abstract{color:#888;font-style:italic}.property-filters{display:flex;flex-direction:column;gap:.5rem}.property-filter{display:flex;gap:.5rem;align-items:center}.property-filter select,.property-filter input{padding:.375rem .5rem;border:1px solid #ddd;border-radius:4px;font-size:.8rem}.property-filter select{min-width:120px}.property-filter input{flex:1;min-width:100px}.remove-filter{width:24px;height:24px;padding:0;border:none;background:#ef4444;color:#fff;border-radius:4px;cursor:pointer;font-size:1rem;line-height:1}.remove-filter:hover{background:#dc2626}.filters-actions{display:flex;flex-direction:column;gap:.5rem;justify-content:flex-end}.apply-filters{padding:.5rem 1rem;background:#2563eb;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.875rem}.apply-filters:hover{background:#1d4ed8}.clear-filters{padding:.5rem 1rem;background:transparent;color:#666;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:.875rem}.clear-filters:hover{background:#f5f5f5}.grid-container{flex:1;overflow:hidden;padding:.5rem;display:flex;flex-direction:column;min-height:0}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#666}.empty-state p{margin:0}.empty-state .hint{margin-top:.5rem;font-size:.875rem;color:#888}.data-grid-wrapper{flex:1;overflow:auto;background:#fff;border:1px solid #e0e0e0;border-radius:4px;min-height:0}.data-grid{width:100%;border-collapse:separate;border-spacing:0;font-size:.75rem}.data-grid thead{position:sticky;top:0;z-index:20}.data-grid th{position:sticky;top:0;background:#f8f9fa;padding:.35rem .5rem;text-align:left;font-weight:600;color:#333;border-bottom:1px solid #d0d0d0;white-space:normal;word-wrap:break-word;z-index:10;line-height:1.2}.data-grid td{padding:.25rem .5rem;border-bottom:1px solid #f0f0f0;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;line-height:1.3}.data-grid tr:hover td{background:#f8f9fa}.data-grid td.editing{padding:.15rem;background:#eff6ff!important}.data-grid td.pending{background:#fef3c7!important}.data-grid td.editing input,.data-grid td.editing select{width:100%;padding:.2rem .35rem;border:1px solid #2563eb;border-radius:3px;font-size:.75rem}.data-grid th.pinned-col{z-index:25;background:#f8f9fa}.data-grid tr:hover td.pinned-col{background:#f8f9fa}.cell-value{display:block;max-width:180px;overflow:hidden;text-overflow:ellipsis}.virtual-grid{table-layout:fixed}.virtual-grid th,.virtual-grid td{box-sizing:border-box}.virtual-spacer,.virtual-spacer-end,.virtual-spacer-header,.virtual-spacer-header-end{padding:0!important;border:none!important;background:transparent!important}.virtual-grid td:not(.sticky-col):not(.pinned-col):not(.virtual-spacer):not(.virtual-spacer-end){width:150px;min-width:150px;max-width:150px}.virtual-grid th:not(.sticky-col):not(.pinned-col):not(.virtual-spacer-header):not(.virtual-spacer-header-end){width:150px;min-width:150px;max-width:150px}.virtual-grid .cell-value{max-width:130px}.data-viewer-footer{display:flex;justify-content:space-between;align-items:center;padding:.4rem .75rem;background:#fff;border-top:1px solid #e0e0e0;flex-shrink:0;font-size:.75rem}.footer-left{display:flex;align-items:center;gap:.5rem;color:#666}.footer-left .pending-count{color:#92400e}.footer-center{display:flex;align-items:center;gap:.35rem}.footer-right{display:flex;align-items:center;gap:.5rem}.pagination{display:flex;align-items:center;gap:.35rem}.pagination button{padding:.25rem .5rem;border:1px solid #ddd;background:#fff;border-radius:3px;cursor:pointer;font-size:.7rem}.pagination button:hover:not(:disabled){background:#f5f5f5}.pagination button:disabled{opacity:.5;cursor:not-allowed}.page-info{padding:0 .5rem;font-size:.75rem;color:#666}.error-message{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;margin:1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:.875rem;flex-shrink:0}.data-grid td.source-model-default{background-color:#fed7aa!important}.data-grid td.source-user-input{background-color:#bfdbfe!important}.data-grid td.source-null{background-color:#fff!important}.data-grid tr:hover td.source-model-default{background-color:#fdba74!important}.data-grid tr:hover td.source-user-input{background-color:#93c5fd!important}.data-grid tr:hover td.source-null{background-color:#f8f9fa!important}.inline-select{width:100%;padding:.25rem .5rem;border:1px solid #e0e0e0;border-radius:4px;background:#fff;font-size:.875rem;cursor:pointer}.inline-select:hover{border-color:#2563eb}.inline-select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1a}.legend-panel{display:flex;align-items:center;gap:1.5rem;padding:.75rem 1.5rem;background:#f8f9fa;border-bottom:1px solid #e0e0e0;flex-shrink:0}.legend-panel h4{margin:0;font-size:.875rem;font-weight:600;color:#333}.legend-items{display:flex;gap:1.5rem}.legend-item{display:flex;align-items:center;gap:.5rem}.legend-color{display:inline-block;width:20px;height:20px;border-radius:4px;border:1px solid #ddd}.legend-model-default{background-color:#fed7aa}.legend-user-input{background-color:#bfdbfe}.legend-pending{background-color:#fef3c7}.legend-label{font-size:.8125rem;color:#555}.pinned-col{position:sticky;background:#fff;z-index:5}.data-grid th.pinned-col{z-index:15;background:#f0f4ff}.data-grid td.pinned-col{background:#fafbff}.data-grid tr:hover td.pinned-col{background:#f0f4ff}.system-prop-header{background:#e0e7ff!important;font-weight:600}.data-grid th.sticky-col.uid-col,.data-grid td.sticky-col.uid-col{left:0;min-width:150px}.disabled-cell{background:#f5f5f5!important}.disabled-cell select{background:#f5f5f5;color:#999;cursor:not-allowed}.data-grid td.pinned-col.source-model-default{background-color:#fed7aa!important}.data-grid td.pinned-col.source-user-input{background-color:#bfdbfe!important}.data-grid td.pinned-col.pending{background-color:#fef3c7!important}.data-grid tr:hover td.pinned-col.source-model-default{background-color:#fdba74!important}.data-grid tr:hover td.pinned-col.source-user-input{background-color:#93c5fd!important}.hierarchy-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.hierarchy-modal-content{background:#fff;border-radius:8px;width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 4px 20px #00000026}.hierarchy-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #e0e0e0}.hierarchy-modal-header h3{margin:0;font-size:1.125rem;font-weight:600;color:#333}.modal-close-btn{background:none;border:none;font-size:1.5rem;color:#666;cursor:pointer;padding:0;line-height:1}.modal-close-btn:hover{color:#333}.modal-actions-top{padding:.75rem 1.5rem;border-bottom:1px solid #e0e0e0;display:flex;gap:.5rem}.clear-selection-btn{padding:.375rem .75rem;background:#ef4444;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.8rem}.clear-selection-btn:hover{background:#dc2626}.modal-search{padding:.75rem 1.5rem;border-bottom:1px solid #e0e0e0}.modal-search input{width:100%;padding:.5rem .75rem;border:1px solid #ddd;border-radius:4px;font-size:.875rem}.modal-search input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1a}.pbs-tree-container{flex:1;overflow-y:auto;padding:.5rem 1rem;min-height:0}.pbs-tree-node{margin-left:0}.pbs-tree-node .pbs-tree-node{margin-left:1rem}.pbs-tree-item{display:flex;align-items:center;gap:.375rem;padding:.25rem .5rem;margin:.0625rem 0;border-radius:3px;cursor:default;transition:background-color .15s;font-size:.8rem}.pbs-tree-item:hover{background:#f5f5f5}.pbs-tree-item.selectable{cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0}.pbs-tree-item.selectable:hover{background:#e0e7ff;border-color:#c7d2fe}.pbs-tree-item.clickable{cursor:pointer}.expand-btn{width:18px;height:18px;padding:0;border:1px solid var(--border, #d1d5db);background:#fff;border-radius:3px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.65rem;color:#4b5563;flex-shrink:0;transition:all .15s}.expand-btn:hover{border-color:var(--color-accent, #ff6b1a);color:var(--color-accent, #ff6b1a)}.expand-placeholder{width:18px;height:18px;flex-shrink:0}.level-badge{display:inline-flex;align-items:center;justify-content:center;padding:.0625rem .25rem;background:#e0e7ff;color:#4338ca;border-radius:3px;font-size:.65rem;font-weight:600;min-width:18px;flex-shrink:0}.pbs-tree-item .pbs-code{font-family:monospace;color:#6b7280;font-size:.75rem;flex-shrink:0}.pbs-tree-item .pbs-name{flex:1;color:#111827;font-weight:500;font-size:.8rem}.pbs-tree-empty{text-align:center;padding:2rem;color:#6b7280}.modal-footer{padding:1rem 1.5rem;border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end;gap:.75rem}.modal-footer .btn-secondary{padding:.5rem 1rem;background:#fff;color:#333;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:.875rem}.modal-footer .btn-secondary:hover{background:#f5f5f5}.data-grid td.read-only-cell{background:#f9fafb!important;color:#6b7280;cursor:default}.data-grid tr:hover td.read-only-cell{background:#f3f4f6!important}.data-grid td.hierarchy-cell{cursor:pointer}.data-grid td.hierarchy-cell:hover{color:#2563eb}.data-grid td.hierarchy-cell .cell-value{display:inline;margin-right:.5rem}.data-grid td.hierarchy-cell .hierarchy-icon{display:inline}.hierarchy-cell .edit-indicator{font-size:.75rem;color:#9ca3af}.hierarchy-cell:hover .edit-indicator{color:#2563eb}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.hierarchy-modal{background:#fff;border-radius:8px;width:600px;height:500px;display:flex;flex-direction:column;box-shadow:0 4px 20px #00000026}.hierarchy-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid #e0e0e0}.hierarchy-modal .modal-header h3{margin:0;font-size:1rem;font-weight:600;color:#333}.hierarchy-modal .close-btn{background:none;border:none;font-size:1.25rem;color:#666;cursor:pointer;padding:0;line-height:1}.hierarchy-modal .close-btn:hover{color:#333}.hierarchy-modal .modal-info{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;background:#f8f9fa;border-bottom:1px solid #e0e0e0;font-size:.8rem}.hierarchy-modal .level-info{color:#6b7280}.hierarchy-modal .current-value{color:#374151}.hierarchy-modal .current-value strong{color:#2563eb}.hierarchy-modal .modal-search{padding:.5rem 1rem;border-bottom:1px solid #e0e0e0;display:flex;gap:.5rem;align-items:center}.hierarchy-modal .modal-search input{flex:1;padding:.375rem .5rem;border:1px solid #ddd;border-radius:4px;font-size:.8rem}.hierarchy-modal .modal-search input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1a}.hierarchy-modal .clear-search{background:none;border:none;font-size:1rem;color:#9ca3af;cursor:pointer;padding:.25rem}.hierarchy-modal .clear-search:hover{color:#6b7280}.hierarchy-modal .modal-actions-top{padding:.375rem 1rem;border-bottom:1px solid #e0e0e0;display:flex;gap:.375rem}.hierarchy-modal .expand-all-btn,.hierarchy-modal .collapse-all-btn{padding:.25rem .5rem;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:3px;cursor:pointer;font-size:.7rem;color:#4b5563}.hierarchy-modal .expand-all-btn:hover,.hierarchy-modal .collapse-all-btn:hover{background:#e5e7eb}.hierarchy-modal .empty-tree{text-align:center;padding:1.5rem;color:#6b7280;font-size:.8rem}.hierarchy-modal .modal-footer{padding:.75rem 1rem;border-top:1px solid #e0e0e0;display:flex;justify-content:space-between;gap:.5rem}.hierarchy-modal .clear-btn{padding:.375rem .75rem;background:var(--color-accent, #ff6b1a);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.8rem;font-weight:500;transition:all .15s}.hierarchy-modal .clear-btn:hover{background:#e55d1a}.hierarchy-modal .cancel-btn{padding:.375rem .75rem;background:#fff;color:var(--text-on-light, #374151);border:1px solid var(--border, #d1d5db);border-radius:4px;cursor:pointer;font-size:.8rem;transition:all .15s}.hierarchy-modal .cancel-btn:hover{border-color:var(--color-accent, #ff6b1a);color:var(--color-accent, #ff6b1a)}.pbs-children{margin-left:1rem}.data-grid td.hierarchy-cell.clickable{cursor:pointer}.hierarchy-cell .hierarchy-icon{color:#9ca3af;font-size:.7rem;margin-left:.5rem}.hierarchy-cell:hover .hierarchy-icon{color:#2563eb}.tag-number-cell{display:flex;align-items:center;justify-content:space-between;gap:.25rem}.tag-number-cell.clickable{cursor:pointer}.tag-number-cell.clickable:hover{background-color:#f0f7ff!important}.tag-number-cell .history-icon{display:flex;align-items:center;color:#9ca3af;opacity:.5;transition:opacity .2s,color .2s}.tag-number-cell.clickable:hover .history-icon{opacity:1;color:#3b82f6}.hierarchy-cell .placeholder{color:#9ca3af;font-style:italic}.pbs-name.parent-level{color:#6b7280}.pbs-name.clickable{color:#111827;cursor:pointer}.pbs-name.clickable:hover{color:#2563eb;text-decoration:underline}.classification-tree-node{margin-left:0}.classification-tree-node .classification-tree-node{margin-left:1rem}.classification-tree-item{display:flex;align-items:center;gap:.375rem;padding:.25rem .5rem;margin:.0625rem 0;border-radius:3px;cursor:default;transition:background-color .15s;font-size:.8rem}.classification-tree-item:hover{background:#f5f5f5}.classification-tree-item.selectable{cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0}.classification-tree-item.selectable:hover{background:#e0e7ff;border-color:#c7d2fe}.classification-tree-item.abstract{opacity:.7}.classification-name{flex:1;color:#111827;font-weight:500;font-size:.8rem}.classification-name.parent-level{color:#6b7280}.classification-name.clickable{color:#111827;cursor:pointer}.classification-name.clickable:hover{color:#2563eb;text-decoration:underline}.tag-code{font-family:monospace;color:#6b7280;font-size:.75rem;margin-left:.375rem}.abstract-badge{font-size:.6rem;padding:.0625rem .25rem;background:#f3f4f6;color:#6b7280;border-radius:2px;margin-left:.375rem;font-style:italic}.classification-children{margin-left:0}.level-badge.target-level{background:#dbeafe;color:#1d4ed8;font-weight:600}.lookup-modal{background:#fff;border-radius:8px;width:90%;max-width:400px;max-height:60vh;display:flex;flex-direction:column;box-shadow:0 4px 20px #00000026}.lookup-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid #e0e0e0}.lookup-modal .modal-header h3{margin:0;font-size:.95rem;font-weight:600;color:#333}.lookup-modal .close-btn{background:none;border:none;font-size:1.25rem;color:#666;cursor:pointer;padding:0;line-height:1}.lookup-modal .close-btn:hover{color:#333}.lookup-modal .modal-search{padding:.5rem 1rem;border-bottom:1px solid #e0e0e0;display:flex;gap:.5rem;align-items:center}.lookup-modal .modal-search input{flex:1;padding:.4rem .6rem;border:1px solid #ddd;border-radius:4px;font-size:.8rem}.lookup-modal .modal-search input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1a}.lookup-modal .clear-search{background:none;border:none;font-size:1rem;color:#9ca3af;cursor:pointer;padding:.25rem}.lookup-modal .clear-search:hover{color:#6b7280}.lookup-modal .modal-warning{padding:.5rem 1rem;background:#fef3c7;color:#92400e;font-size:.75rem;border-bottom:1px solid #fcd34d}.lookup-list{flex:1;overflow-y:auto;padding:.5rem;min-height:150px;max-height:300px}.lookup-item{padding:.5rem .75rem;margin:.125rem 0;border-radius:4px;cursor:pointer;font-size:.8rem;transition:background-color .15s}.lookup-item:hover{background:#f5f5f5}.lookup-item.selected{background:#e0e7ff;color:#1d4ed8;font-weight:500}.lookup-empty{text-align:center;padding:1.5rem;color:#6b7280;font-size:.8rem}.lookup-modal .modal-footer{padding:.75rem 1rem;border-top:1px solid #e0e0e0;display:flex;justify-content:space-between;gap:.5rem}.lookup-modal .clear-btn{padding:.4rem .75rem;background:var(--color-accent, #ff6b1a);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.75rem;font-weight:500;transition:all .15s}.lookup-modal .clear-btn:hover{background:#e55d1a}.lookup-modal .cancel-btn{padding:.4rem .75rem;background:#fff;color:var(--text-on-light, #374151);border:1px solid var(--border, #d1d5db);border-radius:4px;cursor:pointer;font-size:.75rem;transition:all .15s}.lookup-modal .cancel-btn:hover{border-color:var(--color-accent, #ff6b1a);color:var(--color-accent, #ff6b1a)}.groups-panel{padding:.75rem 1.5rem;background:#f8f9fa;border-bottom:1px solid #e0e0e0;flex-shrink:0}.groups-panel h4{margin:0 0 .25rem;font-size:.875rem;font-weight:600;color:#333}.groups-panel .groups-hint{margin:0 0 .75rem;font-size:.75rem;color:#6b7280}.groups-list{display:flex;flex-wrap:wrap;gap:.75rem}.groups-list .no-groups{color:#6b7280;font-size:.875rem;margin:0}.group-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#fff;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;font-size:.875rem;transition:all .2s}.group-item:hover{background:#f5f5f5}.group-item.hidden{background:#fee2e2;border-color:#fecaca}.group-item input{cursor:pointer}.group-name{font-weight:500;color:#333}.group-count{font-size:.75rem;color:#6b7280}.show-all-btn{margin-top:.75rem;padding:.375rem .75rem;background:#2563eb;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.8125rem}.show-all-btn:hover{background:#1d4ed8}.import-modal{background:#fff;border-radius:8px;width:90%;max-width:800px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 4px 20px #00000026}.import-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #e0e0e0}.import-modal .modal-header h3{margin:0;font-size:1.125rem;font-weight:600;color:#333}.import-modal .close-btn{background:none;border:none;font-size:1.5rem;color:#666;cursor:pointer;padding:0;line-height:1}.import-modal .close-btn:hover{color:#333}.import-summary{display:flex;gap:1rem;padding:1rem 1.5rem;background:#f8f9fa;border-bottom:1px solid #e0e0e0}.summary-item{display:flex;flex-direction:column;padding:.75rem 1rem;border-radius:6px;min-width:120px}.summary-item.success{background:#d1fae5;color:#065f46}.summary-item.warning{background:#fef3c7;color:#92400e}.summary-item .count{font-size:1.5rem;font-weight:700}.summary-item .label{font-size:.75rem}.import-skipped{padding:1rem 1.5rem;border-bottom:1px solid #e0e0e0;max-height:150px;overflow-y:auto}.import-skipped h4{margin:0 0 .5rem;font-size:.875rem;color:#92400e}.skipped-list{display:flex;flex-direction:column;gap:.25rem}.skipped-item{display:flex;gap:1rem;font-size:.8rem;padding:.25rem .5rem;background:#fef3c7;border-radius:4px}.skipped-item .uid{font-weight:500;min-width:120px}.skipped-item .reason{color:#92400e}.import-changes{flex:1;padding:1rem 1.5rem;overflow:hidden;display:flex;flex-direction:column}.import-changes h4{margin:0 0 .5rem;font-size:.875rem;color:#333}.changes-table-wrapper{flex:1;overflow:auto;border:1px solid #e0e0e0;border-radius:4px}.changes-table{width:100%;border-collapse:collapse;font-size:.8rem}.changes-table th{position:sticky;top:0;background:#f8f9fa;padding:.5rem;text-align:left;font-weight:600;border-bottom:1px solid #e0e0e0}.changes-table td{padding:.5rem;border-bottom:1px solid #f0f0f0}.changes-table .old-value{color:#dc2626;text-decoration:line-through}.changes-table .new-value{color:#059669}.changes-table em{color:#9ca3af;font-style:italic}.changes-overflow{padding:.5rem;text-align:center;color:#6b7280;font-size:.8rem;background:#f8f9fa;border-top:1px solid #e0e0e0}.import-modal .modal-footer{padding:1rem 1.5rem;border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end;gap:.75rem}.import-modal .apply-btn{padding:.5rem 1rem;background:var(--color-accent, #ff6b1a);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .15s}.import-modal .apply-btn:hover{background:#e55d1a}.import-modal .cancel-btn{padding:.5rem 1rem;background:#fff;color:var(--text-on-light, #374151);border:1px solid var(--border, #d1d5db);border-radius:4px;cursor:pointer;font-size:.875rem;transition:all .15s}.import-modal .cancel-btn:hover{border-color:var(--color-accent, #ff6b1a);color:var(--color-accent, #ff6b1a)}.toast{position:fixed;bottom:80px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:10000;animation:toast-slide-in .3s ease-out}@keyframes toast-slide-in{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.toast svg{width:20px;height:20px;flex-shrink:0}.toast-success{background:#10b981;color:#fff}.toast-error{background:#ef4444;color:#fff}.confirm-dialog{background:#fff;border-radius:8px;padding:1.5rem;max-width:400px;width:90%;box-shadow:0 4px 20px #0003}.confirm-dialog h3{margin:0 0 .75rem;font-size:1.125rem;color:#111827}.confirm-dialog p{margin:0 0 1.25rem;color:#6b7280;font-size:.875rem;line-height:1.5}.confirm-actions{display:flex;gap:.75rem;justify-content:flex-end}.confirm-btn{padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s}.confirm-btn.danger{background:#ef4444;color:#fff;border:none}.confirm-btn.danger:hover{background:#dc2626}.confirm-btn.save{background:#10b981;color:#fff;border:none}.confirm-btn.save:hover{background:#059669}.confirm-btn.cancel{background:#fff;color:#374151;border:1px solid #d1d5db}.confirm-btn.cancel:hover{background:#f3f4f6}.data-viewer:has(.tiles-grid){display:flex;flex-direction:column;justify-content:center;align-items:center}.sheet-list-transposed .data-grid{width:auto;min-width:100%}.sheet-list-transposed .property-header{position:sticky;left:0;z-index:25;background:#f8f9fa;font-weight:600;font-size:.8125rem;padding:.5rem 1rem;text-align:left;border-right:2px solid #e0e0e0}.sheet-list-transposed .property-name-cell{position:sticky;left:0;z-index:10;background:#f8fafc;font-weight:500;font-size:.8125rem;color:#333;padding:.5rem 1rem;border-right:2px solid #e0e0e0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sheet-list-transposed tbody tr:nth-child(2n) .property-name-cell{background:#f1f5f9}.sheet-list-transposed tbody tr:hover .property-name-cell{background:#e8ecf0}.copy-info{margin:0 0 1rem;font-size:.875rem;color:#64748b}.copy-info strong{color:var(--text-on-light, #0d3159)}.copy-actions{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.select-all-btn,.deselect-all-btn{padding:.375rem .75rem;font-size:.75rem;border-radius:4px;cursor:pointer;transition:all .15s}.select-all-btn{background:#eff6ff;color:#3b82f6;border:1px solid #bfdbfe}.select-all-btn:hover{background:#dbeafe}.deselect-all-btn{background:#fff;color:#64748b;border:1px solid var(--border, #e2e8f0)}.deselect-all-btn:hover:not(:disabled){background:#f8fafc}.deselect-all-btn:disabled{opacity:.5;cursor:not-allowed}.selected-count{font-size:.75rem;color:#64748b;margin-left:auto}.copy-targets-list{max-height:300px;overflow-y:auto;border:1px solid var(--border, #e2e8f0);border-radius:6px}.copy-target-item{display:flex;align-items:center;gap:.75rem;padding:.625rem .875rem;cursor:pointer;transition:background .1s;border-bottom:1px solid #f1f5f9}.copy-target-item:last-child{border-bottom:none}.copy-target-item:hover{background:#f8fafc}.copy-target-item input[type=checkbox]{width:16px;height:16px;cursor:pointer}.copy-target-item span{font-size:.875rem;color:var(--text-on-light, #0d3159)}.datasheet-viewer{display:flex;flex-direction:column;height:100%;overflow:hidden}.layout-toggle{display:flex;gap:.25rem;border:1px solid #e0e0e0;border-radius:6px;padding:.125rem;background:#f8f9fa}.layout-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid transparent;background:transparent;border-radius:4px;cursor:pointer;color:var(--text-on-light, #6b7280);transition:all .15s}.layout-btn:hover{border-color:var(--color-accent, #ff6b1a);color:var(--color-accent, #ff6b1a)}.layout-btn.active{background:var(--color-accent, #ff6b1a);color:#fff;border-color:var(--color-accent, #ff6b1a)}.layout-btn svg{width:18px;height:18px}.datasheet-layout{display:grid;grid-template-columns:200px 1fr;gap:0;flex:1;min-height:0;overflow:hidden}.datasheet-tags-panel{display:flex;flex-direction:column;background:#fff;border-right:1px solid #e0e0e0;min-height:0;overflow:hidden}.datasheet-tags-panel .panel-header{display:flex;align-items:center;gap:.375rem;padding:.5rem;border-bottom:1px solid #e0e0e0;background:#f8f9fa;flex-shrink:0}.datasheet-tags-panel .panel-header h2{margin:0;font-size:.8125rem;font-weight:600;color:#333}.datasheet-tags-panel .tag-count{font-size:.6875rem;color:#6b7280}.datasheet-tags-panel .panel-filter{padding:.375rem;border-bottom:1px solid #e0e0e0;flex-shrink:0}.datasheet-tags-panel .filter-input{width:100%;padding:.375rem .5rem;border:1px solid #e0e0e0;border-radius:4px;font-size:.75rem}.datasheet-tags-panel .filter-input:focus{outline:none;border-color:var(--color-accent, #ff6b1a)}.tags-list{flex:1;overflow-y:auto;padding:.375rem}.tag-item{display:flex;align-items:center;justify-content:space-between;padding:.375rem .5rem;margin-bottom:.125rem;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;transition:all .15s;background:#fff}.tag-item:hover{background:#f8f9fa;border-color:var(--color-accent, #ff6b1a)}.tag-item.active{background:var(--color-accent, #ff6b1a);border-color:var(--color-accent, #ff6b1a);color:#fff}.tag-item.has-changes{border-color:#f59e0b}.tag-item.active.has-changes{border-color:#d97706}.tag-item .tag-number{font-weight:500;font-size:.75rem}.tag-item .change-indicator{color:#f59e0b;font-size:.75rem}.tag-item.active .change-indicator{color:#fff}.datasheet-form-panel{display:flex;flex-direction:column;background:#f8f9fa;min-height:0;overflow:hidden}.datasheet-form-panel .empty-selection{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:#6b7280;padding:2rem}.datasheet-form-panel .empty-selection svg{width:64px;height:64px;opacity:.4}.datasheet-form-panel .empty-selection p{margin:0;font-size:.9375rem}.datasheet-header{display:flex;align-items:center;padding:.5rem .75rem;background:#fff;border-bottom:1px solid #e0e0e0;flex-shrink:0}.datasheet-header h2{margin:0;font-size:1rem;font-weight:600;color:#1a365d}.datasheet-tabs{display:flex;gap:.125rem;padding:.375rem .75rem;background:#fff;border-bottom:1px solid #e0e0e0;overflow-x:auto;flex-shrink:0}.datasheet-tab{padding:.375rem .75rem;border:1px solid var(--border, #d1d5db);border-bottom:none;border-radius:4px 4px 0 0;background:#f8f9fa;font-size:.75rem;font-weight:500;color:var(--text-on-light, #6b7280);cursor:pointer;transition:all .15s;white-space:nowrap}.datasheet-tab:hover{border-color:var(--color-accent, #ff6b1a);color:var(--color-accent, #ff6b1a)}.datasheet-tab.active{background:#fff;color:var(--color-accent, #ff6b1a);border-color:#e0e0e0;margin-bottom:-1px;border-bottom:1px solid white}.datasheet-form-content{flex:1;overflow-y:auto;padding:.5rem;display:flex;gap:.5rem;align-items:flex-start}.datasheet-form-content.three-column{display:flex;gap:.5rem}.datasheet-column{flex:1;display:flex;flex-direction:column;gap:.5rem;min-width:0}.datasheet-column.single{max-width:600px}.datasheet-section{margin-bottom:0;background:#fff;border:1px solid #e0e0e0;border-radius:4px;overflow:hidden;display:flex;flex-direction:row}.datasheet-section.tabbed{border:none;background:transparent;margin-bottom:0;flex-direction:column}.datasheet-section-header{display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg);padding:.5rem .375rem;background:var(--color-accent, #ff6b1a);color:#fff;cursor:pointer;transition:background .15s;min-width:28px;flex-shrink:0}.datasheet-section-header:hover{background:#e55d1a}.datasheet-section-header.fixed{cursor:default}.datasheet-section-header.fixed:hover{background:var(--color-accent, #ff6b1a)}.datasheet-section-header .section-toggle{display:none}.datasheet-section-header h3{margin:0;font-size:.75rem;font-weight:600;white-space:nowrap}.datasheet-section-header .section-count{font-size:.625rem;opacity:.7;margin-top:.25rem}.datasheet-section-content{flex:1;padding:0;display:flex;flex-direction:column}.datasheet-section.tabbed .datasheet-section-content{padding:0;background:#fff;border:1px solid #e0e0e0;border-radius:4px}.datasheet-field-row{display:grid;grid-template-columns:160px 1fr;gap:0;padding:0;border-bottom:1px solid #e0e0e0;align-items:stretch}.datasheet-field-row:last-child{border-bottom:none}.datasheet-field-row:hover{background:#f8f9fa}.datasheet-field-label{font-size:.6875rem;font-weight:500;color:#374151;padding:.25rem .5rem;background:#f8f9fa;border-right:1px solid #e0e0e0;display:flex;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.datasheet-input{width:100%;padding:.25rem .5rem;border:none;border-radius:0;font-size:.75rem;font-family:inherit;color:#333;background:#fff;transition:background-color .15s;box-sizing:border-box}.datasheet-input:focus{outline:none;background:#fff9f5}.datasheet-input:disabled{background:#f9fafb;color:#6b7280;cursor:not-allowed}.datasheet-input.changed{background:#fffbeb}.datasheet-field-value{display:flex;align-items:center;justify-content:space-between;padding:.25rem .5rem;border:none;border-radius:0;background:#fff;font-size:.75rem;color:#333;min-height:26px}.datasheet-field-value.clickable{cursor:pointer;transition:all .15s}.datasheet-field-value.clickable:hover{background:#fff9f5}.datasheet-field-value.changed{background:#fffbeb}.datasheet-field-value .placeholder{color:#9ca3af;font-style:italic;font-size:.6875rem}.datasheet-field-value .field-icon{color:#9ca3af;font-size:.625rem;margin-left:.25rem}.datasheet-field-value.clickable:hover .field-icon{color:var(--color-accent, #ff6b1a)}.zoom-controls{display:flex;align-items:center;gap:.25rem;padding:.125rem;background:#f5f5f5;border:1px solid #ddd;border-radius:4px;margin-right:.5rem}.zoom-btn{width:28px;height:24px;border:1px solid var(--border, #d1d5db);background:#fff;border-radius:3px;cursor:pointer;font-size:.75rem;font-weight:600;color:var(--text-on-light, #374151);display:flex;align-items:center;justify-content:center;transition:all .15s}.zoom-btn:hover{border-color:var(--color-accent, #ff6b1a);color:var(--color-accent, #ff6b1a)}.zoom-btn.fit{width:auto;padding:0 .5rem;font-size:.625rem}.zoom-level{font-size:.6875rem;font-weight:500;color:#666;min-width:36px;text-align:center}.export-buttons{display:flex;flex-direction:row;gap:.375rem}.export-btn{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border:none;border-radius:4px;font-size:.6875rem;font-weight:500;cursor:pointer;transition:all .15s}.export-btn svg{width:14px;height:14px}.export-btn{background:var(--color-accent, #ff6b1a);color:#fff}.export-btn:hover{background:#e55d1a}.datasheet-zoom-container{flex:1;overflow:auto;background:#e8e8e8;padding:1rem;display:flex;justify-content:center;align-items:flex-start;cursor:default}.datasheet-zoom-container.panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.datasheet-zoom-container:active:not(.panning){cursor:default}.datasheet-zoom-content{background:#fff;box-shadow:0 2px 8px #00000026;width:794px;min-height:1123px;display:flex;flex-direction:column}.datasheet-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:#1a365d;color:#fff;border:2px solid #333;border-bottom:none}.datasheet-header h2{margin:0;font-size:1rem;font-weight:600;color:#fff}.datasheet-header-meta{font-size:.75rem;opacity:.9;color:#fff}.isa-datasheet-grid{flex:1;display:flex;gap:0;border:2px solid #333;border-top:none;background:#fff}.isa-column{flex:1;display:flex;flex-direction:column;border-right:1px solid #333;min-width:0}.isa-column:last-child{border-right:none}.isa-column.single{max-width:400px;margin:0 auto}.isa-group-header{background:var(--color-accent, #ff6b1a);color:#fff;font-weight:600;font-size:.6875rem;padding:.25rem .5rem;text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid #333;flex-shrink:0}.isa-field-row{display:flex;border-bottom:1px solid #ddd;flex-shrink:0;min-height:22px}.isa-field-row:last-child{border-bottom:none}.isa-field-label{flex:0 0 45%;font-size:.625rem;font-weight:500;color:#333;padding:.125rem .375rem;background:#f5f5f5;border-right:1px solid #ddd;display:flex;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.isa-field-value{flex:1;min-width:0;display:flex;align-items:center}.isa-field-value input,.isa-field-value select{width:100%;border:none;background:transparent;font-size:.625rem;padding:.125rem .375rem;font-family:inherit;color:#333;height:100%}.isa-field-value input:focus,.isa-field-value select:focus{outline:none;background:#fffaf5}.isa-field-value input.changed,.isa-field-value select.changed{background:#fff3cd}.isa-field-value .datasheet-field-value{width:100%;padding:.125rem .375rem;font-size:.625rem;cursor:pointer;display:flex;align-items:center;justify-content:space-between;min-height:100%}.isa-field-value .datasheet-field-value:hover{background:#f0f0f0}.isa-field-value .datasheet-field-value.changed{background:#fff3cd}.isa-tab-content{display:flex;flex-direction:column;border:1px solid #ddd;border-radius:4px;overflow:hidden}@media(max-width:1200px){.isa-datasheet-grid{flex-direction:column}.isa-column{border-right:none;border-bottom:1px solid #333}.isa-column:last-child{border-bottom:none}}@media(max-width:768px){.datasheet-layout{grid-template-columns:1fr}.datasheet-tags-panel{max-height:150px;border-right:none;border-bottom:1px solid #e0e0e0}.isa-field-label{flex:0 0 40%;font-size:.5625rem}.isa-field-value input,.isa-field-value select{font-size:.5625rem}}.entity-history-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;width:90%;max-width:700px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.entity-history-modal .modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid #e0e0e0;background:#f8f9fa}.entity-history-modal .header-content{display:flex;flex-direction:column;gap:.5rem}.entity-history-modal .modal-header h2{margin:0;font-size:1.125rem;font-weight:600;color:#1f2937}.entity-history-modal .tag-number{background:#1f2937;padding:.375rem .875rem;border-radius:4px;font-family:monospace;font-size:1rem;font-weight:600;color:#fff;display:inline-block}.entity-history-modal .close-btn{margin-left:auto;background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;padding:.25rem;line-height:1}.entity-history-modal .close-btn:hover{color:#1f2937}.entity-history-modal .modal-content{flex:1;overflow-y:auto;padding:1.5rem;width:100%;box-sizing:border-box}.entity-history-modal .loading-state,.entity-history-modal .error-state,.entity-history-modal .empty-state{display:flex;align-items:center;justify-content:center;padding:2rem;color:#6b7280;text-align:center}.entity-history-modal .error-state{color:#dc2626}.history-timeline{display:flex;flex-direction:column;gap:0;width:100%}.history-entry{display:flex;gap:1rem;position:relative;width:100%}.timeline-marker{display:flex;flex-direction:column;align-items:center;width:20px;flex-shrink:0}.marker-dot{width:12px;height:12px;border-radius:50%;background:#9ca3af;border:2px solid white;box-shadow:0 0 0 2px #e5e7eb;z-index:1}.marker-dot.source-direct{background:#3b82f6;box-shadow:0 0 0 2px #dbeafe}.marker-dot.source-import{background:#10b981;box-shadow:0 0 0 2px #d1fae5}.marker-dot.source-model{background:#8b5cf6;box-shadow:0 0 0 2px #ede9fe}.marker-dot.source-bulk{background:#f59e0b;box-shadow:0 0 0 2px #fef3c7}.timeline-line{width:2px;flex:1;background:#e5e7eb;min-height:20px}.entry-content{flex:1;padding-bottom:1.5rem;min-width:0}.entry-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.property-name{font-weight:600;color:#1f2937;min-width:200px;flex-shrink:0}.source-badge{font-size:.7rem;padding:.125rem .5rem;border-radius:9999px;background:#e5e7eb;color:#4b5563}.source-badge.source-direct{background:#dbeafe;color:#1d4ed8}.source-badge.source-import{background:#d1fae5;color:#047857}.source-badge.source-model{background:#ede9fe;color:#6d28d9}.source-badge.source-bulk{background:#fef3c7;color:#b45309}.value-change{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-family:monospace;font-size:.875rem}.value-change .old-value{color:#dc2626;text-decoration:line-through;opacity:.8}.value-change .arrow{color:#9ca3af}.value-change .new-value{color:#059669;font-weight:500}.value-change .null-value{color:#9ca3af;font-style:italic;text-decoration:none}.entry-meta{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.75rem;color:#6b7280}.entry-meta .timestamp{color:#9ca3af}.entry-meta .changed-by{color:#3b82f6}.entry-meta .load-number{background:#f3f4f6;padding:.125rem .5rem;border-radius:4px}@font-face{font-family:Avenir Next LT Pro;src:url(/assets/AvenirNextLTPro-Regular-wL3gLsns.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--color-dark: #0d3159;--color-light: #ffffff;--color-accent: #f36f27;--color-accent-hover: #e05f1a;--background: #f8fafc;--surface: #ffffff;--surface-dark: #0d3159;--text-on-light: #0d3159;--text-on-dark: #ffffff;--border: #e2e8f0;--font-family: "Avenir Next LT Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;overflow:hidden}body{font-family:var(--font-family);background-color:var(--background);color:var(--text-on-light);line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-family);color:var(--text-on-light)}a{color:var(--color-accent);text-decoration:none}a:hover{color:var(--color-accent-hover)}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.main>.container{max-width:100%;margin:0;padding:0}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border-radius:.375rem;font-family:var(--font-family);font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-primary{background-color:var(--color-accent);color:var(--text-on-dark)}.btn-primary:hover{background-color:var(--color-accent-hover)}.btn-action{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;background:var(--color-accent);color:var(--text-on-dark);border:1px solid var(--color-accent);border-radius:4px;font-family:var(--font-family);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-action:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn-action:disabled{opacity:.6;cursor:not-allowed}.btn-action svg{width:16px;height:16px}.btn-action .spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.dropzone{border:2px dashed #ccc;border-radius:8px;padding:3rem;text-align:center;cursor:pointer;transition:all .2s;background:#fff;width:100%;max-width:500px;margin:0 auto}.dropzone:hover{border-color:var(--color-accent);background:#fffaf7}.dropzone.drag-over{border-color:var(--color-accent);background:#fff5f0}.dropzone-icon{width:64px;height:64px;margin:0 auto 1rem;color:#888}.dropzone-icon svg{width:100%;height:100%}.dropzone:hover .dropzone-icon,.dropzone.drag-over .dropzone-icon{color:var(--color-accent)}.dropzone-text{font-size:1rem;color:#333;margin:0 0 .5rem}.dropzone-hint{font-size:.875rem;color:#888;margin:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:.5rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.tiles-grid{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;align-items:center;max-width:1200px;margin:0 auto;padding:0 1rem}.tiles-grid>*{flex:0 0 auto;width:200px}@media(max-width:480px){.tiles-grid>*{width:100%;max-width:300px}}.bg-dark{background-color:var(--surface-dark);color:var(--text-on-dark)}.bg-dark h1,.bg-dark h2,.bg-dark h3,.bg-dark h4,.bg-dark h5,.bg-dark h6,.bg-dark p,.bg-dark span{color:var(--text-on-dark)}
