@import"https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&family=Open+Sans:wght@400;700&family=Lato:wght@400;700&family=Montserrat:wght@400;700&family=Oswald:wght@400;700&family=Playfair+Display:wght@400;700&family=Merriweather:wght@400;700&family=Source+Code+Pro:wght@400;700&family=Nunito:wght@400;700&family=Raleway:wght@400;700&family=PT+Sans:wght@400;700&family=Poppins:wght@400;700&family=Ubuntu:wght@400;700&family=Bebas+Neue&family=Dancing+Script:wght@400;700&family=Pacifico&family=Caveat:wght@400;700&display=swap";*{margin:0;padding:0;box-sizing:border-box;user-select:none;-webkit-user-select:none}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input,textarea,[contenteditable=true]{user-select:text;-webkit-user-select:text}@keyframes pidly-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:768px){.project-list-page .nav-sidebar{width:56px!important;min-width:56px!important}.project-list-page .nav-sidebar-header{padding:0 10px!important;justify-content:center}.project-list-page .nav-sidebar-header .brand-title{display:none}.project-list-page .nav-section-title,.project-list-page .nav-label,.project-list-page .nav-badge{display:none!important}.project-list-page .nav-item{justify-content:center;padding:10px 0!important}.project-list-page .content-toolbar{flex-wrap:wrap;padding:8px 12px!important;gap:6px!important}.project-list-page .content-toolbar .search-box{flex:1 1 100%;min-width:0}.project-list-page .content-toolbar .search-box input{width:100%!important}.project-list-page .toolbar-spacer{display:none}.project-list-page .content-header{padding:10px 12px!important}.project-list-page .main-content,.project-list-page .projects-container{padding-left:12px!important;padding-right:12px!important}.project-list-page .projects-grid{grid-template-columns:1fr!important}.workspace-header{padding-left:8px!important;padding-right:8px!important;gap:4px!important}.workspace-header h1{font-size:14px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.workspace-header .brand-title{display:none}.pdf-toolbar,.pdf-toolbar-top{flex-wrap:wrap!important;padding:2px 4px!important;gap:2px!important;height:auto!important;min-height:0!important}.pdf-toolbar .toolbar-left,.pdf-toolbar .toolbar-right,.pdf-toolbar-top .toolbar-left,.pdf-toolbar-top .toolbar-right{flex-wrap:wrap;gap:2px}.pdf-toolbar.pdf-toolbar-top button{padding:3px 6px!important;font-size:11px!important;min-height:0!important}.pdf-toolbar.pdf-toolbar-top button svg{width:14px!important;height:14px!important}.pdf-toolbar-top .toolbar-doc-name{font-size:8px!important;max-width:120px!important}.pdf-toolbar-bottom{padding:2px 6px!important;gap:1px!important;border-radius:14px!important;bottom:4px!important}.pdf-toolbar-bottom button{padding:2px 5px!important;min-width:22px!important;font-size:11px!important}.pdf-toolbar-bottom .toolbar-mode-buttons button{padding:3px 5px!important;min-width:24px!important}.pdf-toolbar-bottom .toolbar-mode-buttons button svg{width:14px!important;height:14px!important}.pdf-toolbar-bottom .zoom-input{width:32px!important;font-size:10px!important;padding:1px 3px!important}.pdf-toolbar-bottom .page-info{font-size:10px!important;padding:0 3px!important}.pdf-toolbar-bottom .toolbar-divider{height:12px!important;margin:0 2px!important}.pdf-toolbar-bottom.docked{padding:1px 6px!important}.modal-overlay .modal,.modal-overlay .modal-wide{max-width:calc(100vw - 24px)!important;margin:12px!important;padding:16px!important}input,select,textarea{font-size:16px!important}.user-menu-name{display:none!important}}.project-list-page{display:flex;flex-direction:row;height:100vh;width:100vw;overflow:hidden;position:fixed;inset:0;background:#1e1e1e}.project-list-page .nav-sidebar{width:320px;min-width:320px;background:#131313;display:flex;flex-direction:column;z-index:100}.project-list-page .nav-sidebar-nav{flex:1;padding:16px 0;overflow-y:auto;overflow-x:hidden}.project-list-page .nav-sidebar-header{display:flex;align-items:center;gap:14px;padding:0 2rem;height:54px;min-height:54px;background:#000;border-bottom:1px solid #333}.project-list-page .nav-user-avatar{width:42px;height:42px;border-radius:50%;background:#ffffff1a;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#ffffffb3}.project-list-page .nav-user-info{flex:1;min-width:0}.project-list-page .nav-user-name{font-size:1.5rem;font-weight:700;color:#fff;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.project-list-page .nav-section{padding:0 12px;margin-bottom:8px}.project-list-page .nav-section-title{font-size:10px;font-weight:700;color:#ffffff4d;text-transform:uppercase;letter-spacing:1.2px;padding:12px 16px 6px;display:block;white-space:nowrap;overflow:hidden}.project-list-page .nav-item{display:flex;align-items:center;gap:14px;padding:10px 16px;color:#ffffffa6;text-decoration:none;border-radius:8px;transition:all .15s;cursor:pointer;white-space:nowrap;overflow:hidden;margin-bottom:2px}.project-list-page .nav-item:hover{background:#ffffff12;color:#ffffffe6}.project-list-page .nav-item.active{background:#ffffff1a;color:#fff;font-weight:700}.project-list-page .nav-item.active .nav-label{font-weight:700!important;letter-spacing:.01em}.project-list-page .nav-icon{width:18px;height:18px;flex-shrink:0;stroke:currentColor;opacity:.7}.project-list-page .nav-item:hover .nav-icon,.project-list-page .nav-item.active .nav-icon{opacity:1}.project-list-page .nav-label{font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;letter-spacing:.02em}.project-list-page .nav-tba{cursor:pointer!important;pointer-events:auto;padding:8px 16px 8px 48px}.project-list-page .nav-tba .nav-label{color:#ffffff40;font-weight:400;font-size:13px}.project-list-page .nav-tba:hover .nav-label{color:#ffffff80}.project-list-page .nav-sidebar-footer{padding:12px;border-top:1px solid rgba(255,255,255,.06)}.project-list-page .nav-sidebar-footer .nav-item{margin-bottom:2px;color:#ffffff73;font-size:13px}.project-list-page .nav-sidebar-footer .nav-item:hover{color:#fffc}.project-list-page .nav-sidebar-footer .nav-item:last-child{margin-bottom:0}.project-list-page .main-area{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.project-list-page.project-list-no-sidebar{flex-direction:column}.project-list-page.project-list-no-sidebar .main-area{width:100%}.project-list-page .top-bar{display:flex;align-items:center;justify-content:space-between;padding:0 2rem;height:54px;min-height:54px;background:#000;border-bottom:1px solid #333;flex-shrink:0}.project-list-page .brand-title{font-size:1.3rem;color:#fff;margin:0;font-weight:700}.project-list-page .brand-version{font-size:.5em;font-weight:400;color:#666}.project-list-page .top-bar-left{display:flex;align-items:center;gap:12px}.project-list-page .top-bar-title{font-size:1rem;font-weight:600;color:#fff;margin:0;letter-spacing:.02em}.project-list-page .top-bar-right{display:flex;align-items:center;gap:12px;margin-left:auto}.account-menu-wrap{position:relative}.account-btn{display:flex;align-items:center;gap:8px;background:none;border:1px solid transparent;border-radius:6px;color:#ccc;cursor:pointer;padding:4px 10px 4px 4px;transition:all .15s}.account-btn:hover{background:#ffffff0d;border-color:#333}.account-avatar{width:18px;height:18px;color:#ffffffbf;flex-shrink:0}.account-name{font-size:13px;font-weight:500}.account-dropdown{position:absolute;top:calc(100% + 6px);right:0;width:220px;background:#1e1e2e;border:1px solid #333;border-radius:8px;box-shadow:0 8px 24px #0006;z-index:1000;overflow:hidden;animation:dropdownFadeIn .12s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.account-dropdown-header{padding:12px 14px}.account-dropdown-name{font-size:13px;font-weight:600;color:#fff}.account-dropdown-email{font-size:11px;color:#888;margin-top:2px}.account-dropdown-divider{height:1px;background:#2a2a3a;margin:0}.account-dropdown-item{display:flex;align-items:center;gap:10px;padding:9px 14px;font-size:13px;color:#ccc;text-decoration:none;cursor:pointer;transition:background .1s}.account-dropdown-item:hover{background:#ffffff0d;color:#fff}.account-dropdown-item svg{flex-shrink:0;opacity:.6}.account-dropdown-logout{color:#ef4444}.account-dropdown-logout:hover{background:#ef44441a;color:#ef4444}.project-list-page .content-toolbar{display:flex;align-items:center;gap:8px;padding:10px 32px;background:#1e1e1e;border-bottom:1px solid #333;flex-shrink:0}.project-list-page .content-toolbar .search-box{flex:0 1 320px}.project-list-page .toolbar-spacer{flex:1 1 auto}.project-list-page .nav-item.nav-tba-item{cursor:default;color:#ffffff59}.project-list-page .nav-item.nav-tba-item:hover{background:#ffffff08;color:#ffffff80}.project-list-page .nav-item.nav-tba-item .nav-icon{opacity:.4}.project-list-page .nav-badge{margin-left:auto;font-size:9px;font-weight:600;color:#ffffff59;background:#ffffff0f;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.project-list-page .content-header{display:flex;align-items:center;justify-content:space-between;padding:14px 32px;background:#1e1e1e;border-bottom:1px solid #333;flex-shrink:0;gap:16px}.project-list-page .content-header-left{display:flex;align-items:baseline;gap:12px}.project-list-page .page-title{font-size:18px;color:#ffffffe6;margin:0;font-weight:600}.project-list-page .project-count{font-size:13px;color:#ffffff59;font-weight:500}.project-list-page .header-actions{display:flex;align-items:center;gap:12px}.project-list-page .search-box{display:flex;align-items:center;gap:8px;background:#ffffff0a;border:1px solid transparent;border-radius:6px;padding:0 10px;height:32px;transition:all .15s}.project-list-page .search-box:focus-within{background:#ffffff12}.project-list-page .search-box svg{color:#fff6;flex-shrink:0}.project-list-page .search-box input{border:none;background:none;outline:none;font-size:13px;width:180px;color:#fff;font-weight:500}.project-list-page .search-box input::placeholder{color:#ffffff59;font-weight:400}.project-list-page .filter-select{padding:0 10px;height:32px;border:1px solid transparent;border-radius:6px;font-size:13px;color:#fffc;font-weight:500;background:#ffffff0a;cursor:pointer;outline:none;transition:all .15s}.project-list-page .filter-select:hover{background:#ffffff12}.project-list-page .filter-select option{background:#2a2a2a;color:#fff}.project-list-page .view-toggle{display:flex;border-radius:6px;overflow:hidden;background:#ffffff0a;height:32px}.project-list-page .view-btn{background:transparent;border:none;padding:0 9px;cursor:pointer;color:#fff6;transition:all .15s;display:flex;align-items:center;justify-content:center}.project-list-page .view-btn:hover{background:#ffffff0f;color:#fff}.project-list-page .view-btn.active{background:#ffffff1a;color:#fff}.project-list-page .view-btn svg{stroke:currentColor}.project-list-page .new-project-btn{background:#3498db;color:#fff;border:none;padding:0 14px;height:32px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s;display:flex;align-items:center}.project-list-page .new-project-btn:hover{background:#2f8fd1}.project-list-page .quick-use-btn{display:flex;align-items:center;gap:6px;background:#ffffff0a;color:#ffffffbf;border:none;padding:0 12px;height:32px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.project-list-page .quick-use-btn:hover{background:#ffffff14;color:#fff}.project-list-page .content-filters{display:flex;align-items:center;gap:10px;padding:0 2rem 12px}.project-card-title-row{display:flex;align-items:center;gap:8px;min-width:0}.project-card-title-row h3{margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-type-badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:10px;flex-shrink:0;text-transform:uppercase;letter-spacing:.3px}.badge-personal{background:#6464ff1f;color:#818cf8}.badge-team{background:#22c55e1f;color:#22c55e}.project-type-choices{display:flex;gap:12px;margin:16px 0}.type-choice-card{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 16px;background:#1e1e2e;border:1px solid #333;border-radius:10px;cursor:pointer;color:#ccc;transition:all .15s;text-align:center}.type-choice-card:hover{border-color:#2563eb;background:#1e1e35;color:#fff}.type-choice-card strong{font-size:15px;color:#fff}.type-choice-card span{font-size:12px;color:#888;line-height:1.4}.modal-subtitle{color:#888;font-size:13px;margin:-8px 0 8px}.modal-header-row{display:flex;align-items:center;gap:8px;margin-bottom:16px}.modal-header-row h2{margin:0}.modal-back-btn{background:none;border:1px solid #333;border-radius:6px;color:#ccc;cursor:pointer;padding:4px 6px;display:flex;align-items:center}.modal-back-btn:hover{border-color:#555;color:#fff}.modal-wide{max-width:600px;width:600px}.team-invite-row{display:flex;gap:8px;margin-bottom:12px}.team-invite-row input{flex:1}.invite-add-btn{background:#2563eb;color:#fff;border:none;border-radius:6px;padding:0 16px;font-weight:600;font-size:13px;cursor:pointer}.invite-add-btn:hover{background:#1d4ed8}.invite-add-btn:disabled{opacity:.5;cursor:default}.invite-error{color:#ef4444;font-size:12px;margin:-8px 0 8px}.team-members-table{border:1px solid #333;border-radius:8px;overflow:hidden;margin-bottom:16px;font-size:12px}.team-header-row,.team-member-row{display:flex;align-items:center;padding:8px 12px}.team-header-row{background:#1a1a2e;color:#888;font-weight:600;font-size:11px}.team-member-row{border-top:1px solid #2a2a3a;color:#ccc}.team-member-row:hover{background:#ffffff05}.team-col-email{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-col-perm{width:80px;text-align:center;flex-shrink:0}.team-col-perm input[type=checkbox]{cursor:pointer}.team-col-action{width:32px;text-align:center;flex-shrink:0}.team-remove-btn{background:none;border:none;color:#666;cursor:pointer;padding:2px;display:flex}.team-remove-btn:hover{color:#ef4444}.project-list-page .main-content{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#1e1e1e}.project-list-page .projects-container{flex:1;overflow:auto;padding:24px 32px}.project-list-page .projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.project-list-page .project-card{background:transparent;border-radius:12px;padding:20px;cursor:pointer;transition:all .2s;box-shadow:none;border:1px solid transparent}.project-list-page .project-card:hover{background:#2a2a2a;transform:translateY(-2px);box-shadow:0 4px 16px #00000059;border-color:#383838}.project-list-page .project-card-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:12px}.project-list-page .project-card h3{margin:0;font-size:18px;color:#fff;font-weight:700;word-break:break-word;flex:1}.project-list-page .card-actions{display:flex;align-items:center;gap:2px;margin-left:8px;flex-shrink:0}.project-list-page .edit-btn,.project-list-page .delete-btn,.project-list-page .share-btn{background:none;border:none;width:32px;height:32px;font-size:14px;color:#777;cursor:pointer;padding:0;border-radius:6px;transition:all .2s;display:flex;align-items:center;justify-content:center;opacity:0}.project-list-page .share-btn:hover{background:#3498db26;color:#3498db}.share-invite-row{display:flex;gap:8px;align-items:center}.share-invite-input{flex:1;height:36px;padding:0 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:6px;color:#fff;font-size:13px;outline:none;transition:border-color .15s}.share-invite-input:focus{border-color:#ffffff40;background:#ffffff12}.share-invite-input::placeholder{color:#ffffff59}.share-role-select{height:36px;padding:0 28px 0 10px;background-color:#ffffff0d;color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;outline:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23bbb' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 10px center;background-size:12px;transition:border-color .15s,background-color .15s}.share-role-select:hover{border-color:#ffffff38}.share-role-select:focus{border-color:#ffffff4d}.share-role-select option{background:#2a2a2a;color:#fff}.share-add-btn{height:36px;padding:0 16px;background:#ffffff14;color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.share-add-btn:hover:not(:disabled){background:#ffffff24;border-color:#ffffff38}.share-add-btn:disabled{opacity:.4;cursor:not-allowed}.invite-success{margin-top:10px;padding:8px 12px;background:#22c55e1f;color:#22c55e;border-radius:6px;font-size:12px}.share-member-table{display:flex;flex-direction:column;margin-top:8px;min-height:0;flex:1 1 auto}.share-member-header,.share-member-row{display:grid;grid-template-columns:minmax(0,1fr) 100px 130px 100px;align-items:center;gap:12px;padding:10px 12px}.share-member-header{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#ffffff73;border-bottom:1px solid rgba(255,255,255,.08);padding-top:8px;padding-bottom:8px;flex-shrink:0}.share-member-list{display:flex;flex-direction:column;gap:4px;padding-top:4px;overflow-y:auto;max-height:420px;min-height:0}.share-member-row{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:6px}.share-member-info{min-width:0}.share-member-name{font-size:13px;font-weight:600;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-member-email{font-size:11px;color:#888;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-col-active{font-size:11px;color:#ffffff8c;font-weight:500;white-space:nowrap}.share-col-rights,.share-col-remove{min-width:0}.share-role-badge{display:inline-block;font-size:10px;font-weight:600;padding:4px 10px;border-radius:10px;text-transform:uppercase;letter-spacing:.4px}.share-role-admin{background:#ffffff12;color:#ffffffb3;border:1px solid rgba(255,255,255,.12)}.share-remove-btn{height:28px;padding:0 12px;background:#ffffff0d;color:#ffffffbf;border:1px solid rgba(255,255,255,.12);border-radius:5px;font-size:11px;font-weight:600;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.share-remove-btn:hover:not(:disabled){background:#e74c3c26;color:#e74c3c;border-color:#e74c3c59}.share-remove-btn:disabled{opacity:.35;cursor:not-allowed}.manage-members-modal{max-height:calc(100vh - 80px);display:flex;flex-direction:column}.project-list-page .project-card:hover .edit-btn,.project-list-page .project-card:hover .delete-btn,.project-list-page .project-card:hover .share-btn,.project-list-page .project-row:hover .edit-btn,.project-list-page .project-row:hover .delete-btn,.project-list-page .project-row:hover .share-btn{opacity:1}.project-list-page .edit-btn:hover{background:#3498db26;color:#3498db}.project-list-page .delete-btn:hover{background:#e74c3c26;color:#e74c3c}.project-list-page .project-description{margin:0 0 12px;font-size:14px;color:#bbb;font-weight:600;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-list-page .project-card-info{font-size:13px}.project-list-page .project-client{margin:0 0 8px;color:#ddd;font-weight:700}.project-list-page .info-label{color:#999;font-weight:600}.project-list-page .project-date{margin:0 0 4px;color:#aaa;font-weight:600}.project-list-page .project-stats{margin:0;color:#aaa;font-weight:600}.project-list-page .project-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.project-list-page .tag{background:#3498db26;color:#5dade2;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:700}.project-list-page .tag.more{background:#ffffff14;color:#999}.project-list-page .projects-list{display:flex;flex-direction:column;gap:8px}.project-list-page .project-row{display:flex;align-items:center;gap:16px;padding:16px 20px;background:transparent;border-radius:10px;cursor:pointer;transition:all .15s;border:1px solid transparent}.project-list-page .project-row:hover{background:#2a2a2a;border-color:#383838;box-shadow:0 2px 8px #00000040}.project-list-page .project-row-icon{width:40px;height:40px;background:#383838;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.project-list-page .project-row-main{flex:1;min-width:0}.project-list-page .project-row-name{font-size:15px;font-weight:700;color:#fff;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-list-page .project-row-description{font-size:13px;color:#aaa;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-list-page .project-row-meta{display:flex;align-items:center;gap:20px;flex-shrink:0}.project-list-page .meta-item{display:flex;align-items:center;gap:6px;font-size:13px;color:#bbb;font-weight:600}.project-list-page .meta-item svg{color:#888}.project-list-page .project-row-tags{display:flex;gap:6px;flex-shrink:0}.project-list-page .project-row-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.project-list-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 40px;text-align:center}.project-list-page .empty-state svg{margin-bottom:16px;color:#666}.project-list-page .empty-state p{font-size:18px;color:#bbb;margin:0 0 20px;font-weight:700}.project-list-page .empty-state button{background:#3498db;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer;transition:background .2s}.project-list-page .empty-state button:hover{background:#2980b9}.project-list-page .loading-state{display:flex;align-items:center;justify-content:center;height:100%;width:100%;font-size:16px;color:#bbb;font-weight:700}.project-list-page .modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.project-list-page .modal{background:#2a2a2a;border-radius:12px;padding:24px;width:480px;max-width:90%;max-height:90vh;overflow-y:auto;border:1px solid #444}.project-list-page .modal h2{margin:0 0 24px;color:#fff;font-size:20px;font-weight:700}.project-list-page .form-group{margin-bottom:20px}.project-list-page .form-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:700;color:#ddd}.project-list-page .form-group input,.project-list-page .form-group textarea{width:100%;padding:12px;border:1px solid #444;border-radius:6px;font-size:14px;box-sizing:border-box;font-family:inherit;background:#1e1e1e;color:#fff;font-weight:600}.project-list-page .form-group input:focus,.project-list-page .form-group textarea:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db26}.project-list-page .form-group input::placeholder,.project-list-page .form-group textarea::placeholder{color:#666;font-weight:400}.project-list-page .form-group textarea{resize:vertical;min-height:80px}.project-list-page .modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.project-list-page .modal-actions button{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:700;cursor:pointer;transition:background .2s}.project-list-page .modal-actions button:first-child{background:#444;color:#fff}.project-list-page .modal-actions button:first-child:hover{background:#555}.project-list-page .modal-actions button:last-child{background:#3498db;color:#fff}.project-list-page .modal-actions button:last-child:hover{background:#2980b9}.project-list-page .modal-actions button:disabled{opacity:.5;cursor:not-allowed}.project-list-page .projects-container::-webkit-scrollbar{width:8px}.project-list-page .projects-container::-webkit-scrollbar-track{background:#1e1e1e}.project-list-page .projects-container::-webkit-scrollbar-thumb{background:#444;border-radius:4px}.project-list-page .projects-container::-webkit-scrollbar-thumb:hover{background:#555}@media(max-width:1024px){.project-list-page .search-box input{width:140px}.project-list-page .project-row-meta{gap:12px}}@media(max-width:768px){.project-list-page .nav-sidebar{display:none}.project-list-page .projects-container{padding:16px}.project-list-page .content-header{padding:12px 16px;flex-wrap:wrap}.project-list-page .header-actions{flex-wrap:wrap}.project-list-page .project-row-meta,.project-list-page .project-row-tags{display:none}}.file-sidebar{min-width:320px;max-width:500px;background:#1a1a1a;display:flex;flex-direction:column;overflow:hidden;flex-shrink:0;position:relative;transition:width .2s ease,min-width .2s ease;cursor:default;border-top:1px solid rgba(255,255,255,.08)}.file-sidebar ::selection{background:transparent}.file-sidebar ::-moz-selection{background:transparent}.file-sidebar *{-webkit-tap-highlight-color:transparent;outline-color:transparent!important}.file-sidebar *:focus,.file-sidebar *:focus-visible,.file-sidebar *:focus-within{outline:none!important;box-shadow:none!important}.file-sidebar.resizing{-webkit-user-select:none;user-select:none}.sidebar-resize-handle{position:absolute;top:0;right:-4px;width:8px;height:100%;cursor:col-resize;background:transparent;z-index:10}.sidebar-resize-handle:hover{background:#6464644d}.file-sidebar.resizing .sidebar-resize-handle{background:#64646480}.sidebar-header-dark{display:flex;align-items:center;justify-content:flex-start;padding:4px 12px;background:#000;flex-shrink:0;min-height:45.5px;box-sizing:border-box;border-bottom:1px solid rgba(255,255,255,.15)}.sidebar-title{color:#fff;font-size:12px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:4px;transition:background .15s;white-space:nowrap}.sidebar-title:hover{background:#333}.sidebar-title .collapse-icon{width:14px;height:14px;transition:transform .2s;opacity:.6;flex-shrink:0}.sidebar-title:hover .collapse-icon{opacity:1}.toolbar-right,.toolbar-left{display:flex;align-items:center;gap:4px;flex-shrink:0}.sidebar-header-btn{background:transparent;color:#fff;border:none;padding:8px 12px;border-radius:0;font-size:15px;cursor:pointer;transition:color .15s;display:flex;align-items:center;white-space:nowrap;flex-shrink:0;box-sizing:border-box;outline:none}.sidebar-header-btn svg{width:20px;height:20px;margin-right:6px;flex-shrink:0}.sidebar-header-btn:hover{background:#ffffff14;color:#fff}.sidebar-header-btn:focus,.sidebar-header-btn:focus-visible{outline:none;box-shadow:none}.sidebar-header-btn:disabled{background:transparent;color:#666;cursor:not-allowed}.sidebar-header-btn.active{background:transparent;color:#3498db}.sidebar-search-row{display:flex;align-items:center;justify-content:space-between;padding:4px 12px;background:#1a1a1a;flex-shrink:0;min-height:41px;box-sizing:border-box}.sidebar-search{position:relative;display:flex;align-items:center;flex:1}.sidebar-search .search-icon{position:absolute;left:8px;pointer-events:none}.sidebar-search input{width:100%;padding:4px 24px 4px 28px;border:none;border-radius:3px;font-size:13px;box-sizing:border-box;background:#333;color:#fff;height:24px}.sidebar-search input::placeholder{color:#888}.sidebar-search input:focus{outline:none;background:#3a3a3a}.sidebar-search .clear-search{position:absolute;right:6px;background:#555;color:#fff;border:none;border-radius:50%;width:14px;height:14px;font-size:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;line-height:1}.sidebar-search .clear-search:hover{background:#777}.sidebar-section-title{display:flex;align-items:center;padding:12px 12px 4px;font-size:15px;font-weight:600;color:#fff;background:#1a1a1a;flex-shrink:0}.sidebar-breadcrumb-row{display:flex;align-items:center;justify-content:space-between;padding:4px 12px 8px;background:#1a1a1a;flex-shrink:0;box-sizing:border-box}.file-breadcrumb{display:flex;align-items:center;gap:2px;overflow:hidden;width:100%}.breadcrumb-item{display:flex;align-items:center;min-width:0}.breadcrumb-arrow{color:#666;font-size:10px;margin:0 3px;flex-shrink:0}.breadcrumb-file{color:#999;font-size:11px;cursor:pointer;padding:2px 6px;border-radius:3px;transition:all .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:80px}.breadcrumb-file:hover{background:#444;color:#fff}.breadcrumb-file.active{background:#444;color:#fff;font-weight:500}.breadcrumb-empty{color:#666;font-size:11px;font-style:italic}.folder-breadcrumb{display:flex;align-items:center;gap:0;overflow:hidden;width:100%;flex-wrap:nowrap}.folder-breadcrumb .breadcrumb-item{display:flex;align-items:center;min-width:0;flex-shrink:1}.folder-breadcrumb .breadcrumb-item:first-child{flex-shrink:0}.folder-breadcrumb .breadcrumb-item:last-child{flex-shrink:1;min-width:40px}.folder-breadcrumb .breadcrumb-arrow{color:#666;font-size:16px;margin:0 2px;flex-shrink:0}.folder-breadcrumb .breadcrumb-home{width:32px;height:32px;color:#fff;cursor:pointer;padding:4px;border-radius:4px;transition:all .15s}.folder-breadcrumb .breadcrumb-item:hover .breadcrumb-home{background:#444}.folder-breadcrumb .breadcrumb-item.active .breadcrumb-home{color:#fff}.folder-breadcrumb .breadcrumb-folder{color:#888;font-size:16px;font-weight:500;cursor:pointer;padding:3px 6px;border-radius:4px;transition:all .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.folder-breadcrumb .breadcrumb-folder:hover{background:#444;color:#fff}.folder-breadcrumb .breadcrumb-folder.active{color:#fff;font-weight:500}.folder-breadcrumb .breadcrumb-item.drop-target,.folder-breadcrumb .breadcrumb-folder.drop-target{background:#3498db;color:#fff;box-shadow:0 0 0 2px #3498db80}.folder-breadcrumb .breadcrumb-ellipsis{color:#666;font-size:12px;padding:3px 4px;cursor:default}.folder-row{display:flex;align-items:center;gap:7px;padding:5px 12px;cursor:pointer;transition:background .15s;border-bottom:1px solid #333;outline:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;background:#1a1a1a}.folder-row:focus{outline:none;background:#1a1a1a}.folder-row:hover{background:#333}.folder-row:last-of-type{border-bottom:none}.folder-row-icon{flex-shrink:0;width:20px;height:20px}.folder-row-icon svg{width:100%;height:100%}.folder-row-text{flex:1;min-width:0;display:flex;flex-direction:column}.folder-row-name{font-size:14px;font-weight:500;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-row-count{font-size:11px;color:#888;font-style:italic}.folder-row-chevron{width:16px;height:16px;color:#ccc;flex-shrink:0;transition:color .15s}.folder-row:hover .folder-row-chevron{color:#666}.folder-row.linked-folder{background:#1a1a1a}.folder-row.linked-folder:hover{background:#333}.folder-row.selected,.folder-row.selected:hover,.folder-row.selected:focus,.folder-row.selected:active{background:#1a1a1a!important;background-color:#1a1a1a!important}.folder-row.selected .folder-row-name{font-weight:700}.folder-row.drag-over-file{background:#3a4a3a!important;border:2px dashed #4CAF50;border-bottom:2px dashed #4CAF50}.folder-row.drag-over-file .folder-row-name{color:#4caf50}.file-item.dragging-active{opacity:.5}.breadcrumb-item.drop-target .breadcrumb-home,.breadcrumb-folder.drop-target{background:#4caf50!important;color:#fff!important}.folder-rename-input{flex:1;padding:4px 8px;border:1px solid #3498db;border-radius:4px;font-size:14px;font-weight:500;outline:none;min-width:0}.folder-row .folder-menu-container{position:relative;flex-shrink:0}.folder-row .folder-menu-btn{background:none;border:none;color:#999;cursor:pointer;padding:4px 8px;display:flex;align-items:center;justify-content:center;visibility:hidden;opacity:0;transition:opacity .15s;border-radius:4px;transition:all .2s;font-size:1.2rem;font-weight:700}.folder-row:hover .folder-menu-btn,.folder-row.selected .folder-menu-btn{visibility:visible;opacity:1}.folder-row .folder-menu-btn:hover{background:#eee;color:#333}.menu-section-label{padding:6px 14px;font-size:11px;color:#666;font-weight:500;background:#f8f8f8;border-bottom:1px solid #eee}.file-sidebar.collapsed{width:0!important;min-width:0!important;max-width:0!important;padding:0!important;overflow:hidden!important;border:none!important;flex-basis:0!important}.file-sidebar.collapsed>*{display:none!important;visibility:hidden!important;opacity:0!important}.sidebar-expand-zone{position:fixed;left:0;top:0;width:12px;height:100%;z-index:1000;cursor:pointer}.sidebar-expand-zone:hover .sidebar-expand-tab{opacity:1}.sidebar-expand-tab{position:absolute;left:0;top:50%;transform:translateY(-50%);background:#1a1a1a;border:1px solid #333;border-left:none;border-radius:0 6px 6px 0;padding:12px 6px;opacity:0;transition:opacity .15s ease;display:flex;align-items:center;justify-content:center}.sidebar-expand-tab svg{width:14px;height:14px;color:#888;transition:color .15s}.sidebar-expand-tab:hover svg{color:#fff}.sidebar-collapse-tab{position:fixed;top:50%;transform:translateY(-50%);background:#1a1a1a;border:1px solid #333;border-left:none;border-radius:0 6px 6px 0;padding:12px 6px;cursor:pointer;z-index:1000;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.file-sidebar:hover+.sidebar-collapse-tab,.sidebar-collapse-tab:hover{opacity:1}.sidebar-collapse-tab svg{width:14px;height:14px;color:#888;transition:color .15s}.sidebar-collapse-tab:hover svg{color:#fff}.upload-dropdown-container{position:relative}.upload-dropdown-menu{position:absolute;top:100%;left:0;margin-top:4px;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:100;min-width:160px;overflow:hidden}.upload-dropdown-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;border:none;background:#fff;text-align:left;cursor:pointer;font-size:13px;color:#333;transition:background .15s;white-space:nowrap}.upload-dropdown-menu button:hover{background:#f5f5f5}.folder-list{flex:1;overflow-y:auto;padding:8px 0;background:#1a1a1a;min-height:120px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.folder-list::-webkit-scrollbar{width:5px}.folder-list::-webkit-scrollbar-track{background:transparent}.folder-list::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.folder-list::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.empty-state-sidebar{padding:2rem 1rem;text-align:center;color:#999}.empty-state-sidebar p{margin:0 0 .5rem;font-size:14px}.empty-state-sidebar .hint{font-size:12px;color:#bbb}.folder-menu-dropdown{position:fixed;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:10000;min-width:150px;overflow:hidden}.folder-menu-dropdown button{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;border:none;background:#fff;text-align:left;cursor:pointer;font-size:13px;color:#333;transition:background .15s}.folder-menu-dropdown button:hover{background:#f5f5f5}.folder-menu-dropdown button.delete-option{color:#e74c3c}.folder-menu-dropdown button.delete-option:hover{background:#fef0ef}.folder-menu-dropdown button:disabled{opacity:.5;cursor:wait}.color-section-label{padding:8px 14px 4px;font-size:11px;color:#888;font-weight:500}.color-options{display:flex;gap:4px;padding:4px 14px 10px;flex-wrap:wrap}.color-option{width:20px;height:20px;border:2px solid transparent;border-radius:4px;cursor:pointer;padding:0;transition:all .15s}.color-option:hover{transform:scale(1.15)}.color-option.selected{border-color:#333}.folder-content{margin-left:12px;border-left:1px solid #e8e8e8}.file-list{padding:0}.file-item{padding:5px 12px;display:flex;align-items:center;gap:7px;cursor:pointer;transition:background .15s;border-bottom:1px solid #333;outline:none!important;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;background:#1a1a1a!important;background-color:#1a1a1a!important;box-shadow:none!important;border-left:none!important;border-right:none!important;border-top:none!important}.file-item:focus,.file-item:focus-within,.file-item:focus-visible,.file-item:active{outline:none!important;background:#1a1a1a!important;background-color:#1a1a1a!important;box-shadow:none!important;border-color:#333!important}.file-item:hover{background:#333!important;background-color:#333!important}.file-item[draggable=true]{cursor:grab}.file-item[draggable=true]:active{cursor:grabbing}.file-item:last-child{border-bottom:none}.file-item.selected{background:#1a1a1a!important;background-color:#1a1a1a!important;color:#3498db}.file-item.selected:focus,.file-item.selected:focus-within,.file-item.selected:focus-visible,.file-item.selected:active{background:#1a1a1a!important;background-color:#1a1a1a!important;outline:none!important;box-shadow:none!important}.file-item.selected .file-name{font-weight:600;color:#3498db}.file-item.selected .file-icon,.file-item.selected .file-icon svg{color:#3498db}.file-item.on-canvas,.file-item.on-canvas .file-name{color:#3498db}.file-item.on-canvas .file-icon,.file-item.on-canvas .file-icon svg{color:#3498db}.file-item.multi-selected,.file-item.multi-selected:hover,.file-item.multi-selected:focus,.file-item.multi-selected:focus-within,.file-item.multi-selected:focus-visible,.file-item.multi-selected:active{background:#1a1a1a!important;background-color:#1a1a1a!important;outline:none!important;box-shadow:none!important}.file-item.multi-selected .file-name{font-weight:700}.file-icon{flex-shrink:0;font-size:16px}.file-name{flex:1;font-size:14px;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-folder-hint{padding:8px 24px;color:#999;font-size:12px;font-style:italic}.file-menu-container{position:relative;flex-shrink:0;margin-left:auto}.file-menu-btn{background:none;border:none;color:#999;cursor:pointer;padding:4px 8px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:opacity .15s;font-size:1.2rem;font-weight:700;visibility:hidden;opacity:0}.file-item:hover .file-menu-btn,.file-item.multi-selected .file-menu-btn{visibility:visible;opacity:1}.file-menu-btn:hover{background:#eee;color:#333}.file-menu-dropdown{position:fixed;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:10000;min-width:130px;overflow:hidden}.file-menu-dropdown button{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;border:none;background:#fff;text-align:left;cursor:pointer;font-size:13px;color:#333;transition:background .15s}.file-menu-dropdown button:hover{background:#f5f5f5}.file-menu-dropdown button.delete-option{color:#e74c3c}.file-menu-dropdown button.delete-option:hover{background:#fef0ef}.file-menu-dropdown .menu-divider{height:1px;background:#e0e0e0;margin:4px 0}.file-menu-dropdown button.sp-locked-hint{color:#999;font-style:italic;cursor:default;font-size:11px}.file-menu-dropdown button.sp-locked-hint:hover{background:transparent}.sp-file-icon{display:flex;align-items:center;justify-content:center}.sp-file-icon svg{flex-shrink:0}.file-item .delete-file-btn{display:none!important}.file-icon-pages{cursor:pointer;display:flex;align-items:center}.file-icon-pages .stacked-docs{position:relative;width:20px;height:18px;display:inline-block}.file-icon-pages .doc-back{position:absolute;top:0;left:4px;font-size:14px;opacity:.45;line-height:1}.file-icon-pages .doc-front{position:absolute;top:3px;left:0;font-size:14px;line-height:1}.file-page-list{padding-left:28px;background:transparent;border-left:none;margin-left:18px}.file-page-item{display:flex;align-items:center;padding:4px 12px;cursor:pointer;color:#999;font-size:12px;transition:background .1s,color .1s}.file-page-item:hover{background:#2a2a2a;color:#ddd}.file-page-item.active{color:#4fc3f7}.file-page-item .page-label{white-space:nowrap}.file-page-item[draggable=true]{cursor:grab}.file-page-item[draggable=true]:active{cursor:grabbing;opacity:.6}.file-page-item.has-unsaved{color:#fff;font-weight:600}.file-page-item.has-unsaved .unsaved-indicator{color:#e8a838;margin-left:2px}.folder-header.linked-folder{background:transparent}.folder-header.linked-folder:hover{background:#f0f0f0}.linked-badge{font-size:10px;margin-left:4px;opacity:.7}.folder-refresh-btn{background:none;border:none;cursor:pointer;padding:2px 6px;border-radius:4px;font-size:14px;opacity:.6;transition:all .2s;flex-shrink:0}.folder-refresh-btn:hover{opacity:1;background:#00000014}.folder-refresh-btn:disabled{cursor:wait;opacity:.4}.dropdown-divider{height:1px;background:#eee;margin:4px 0}.file-item.local-file{background:linear-gradient(90deg,rgba(100,100,100,.15) 0%,transparent 100%)!important}.file-item.local-file:hover{background:#333!important}.file-size{font-size:10px;color:#999;margin-left:auto;margin-right:8px}.unsaved-indicator{color:#e74c3c;font-weight:700;font-size:1.1em;margin-left:2px;animation:pulse-unsaved 2s ease-in-out infinite}@keyframes pulse-unsaved{0%,to{opacity:1}50%{opacity:.5}}.file-item.no-template{border-left:2px solid #e8a838!important}.no-template-indicator{display:inline-flex;align-items:center;margin-left:5px;vertical-align:middle;opacity:.85}.file-item.has-unsaved{background:linear-gradient(90deg,rgba(231,76,60,.15) 0%,transparent 100%)!important}.file-item.has-unsaved:hover{background:linear-gradient(90deg,#e74c3c33,#333)!important}.file-item.has-unsaved .file-name{color:#fff!important}.file-item.selected.has-unsaved .unsaved-indicator{color:#c0392b}.folder-display-dialog .dialog-body{padding:12px 16px}.folder-display-preview{display:flex;align-items:center;padding:8px 12px;background:#1a1a1a;border-radius:6px;margin-bottom:12px}.picker-section-label{font-size:11px;color:#888;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;margin-top:8px}.picker-color-row{display:flex;align-items:center;gap:8px}.color-input-large{width:36px;height:28px;border:1px solid #555;border-radius:4px;cursor:pointer;padding:1px;background:transparent}.recent-colors{display:flex;gap:4px;flex-wrap:wrap}.recent-color{width:22px;height:22px;border-radius:4px;border:2px solid #444;cursor:pointer;padding:0;transition:border-color .15s}.recent-color:hover{border-color:#fff}.apply-color-row{display:flex;gap:6px;margin-top:6px;margin-bottom:4px}.apply-btn{font-size:10px;padding:3px 8px;background:#2a2a2a;color:#aaa;border:1px solid #444;border-radius:4px;cursor:pointer;transition:all .15s}.apply-btn:hover{background:#333;color:#fff;border-color:#666}.icon-picker-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.icon-picker-item{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:2px solid transparent;border-radius:6px;background:#1a1a1a;cursor:pointer;padding:0;transition:all .15s}.icon-picker-item:hover{border-color:#555;background:#2a2a2a}.icon-picker-item.selected{border-color:#3498db;background:#1a2a3a}.color-picker-popup{padding:8px}.file-item.sp-removed{opacity:.5}.file-item.sp-removed .file-name{text-decoration:line-through}.sp-removed-badge{opacity:.8;margin-left:4px;flex-shrink:0;display:inline-flex;vertical-align:middle}.upload-progress{padding:4px 12px;background:#1a1a1a;color:#3498db;font-size:11px}.new-folder-dialog-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.new-folder-dialog{background:#2a2a2e;border-radius:12px;width:420px;max-width:90vw;box-shadow:0 8px 32px #00000080;overflow:hidden;border:1px solid #444}.new-folder-dialog.new-folder-dialog-compact{width:320px;border-radius:8px}.new-folder-dialog-compact .dialog-header{padding:12px 16px}.new-folder-dialog-compact .dialog-header h3{font-size:15px}.new-folder-dialog-compact .dialog-body{padding:12px 16px}.new-folder-dialog-compact .dialog-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.new-folder-dialog-compact .dialog-row:last-child{margin-bottom:0}.new-folder-dialog-compact .dialog-row label{font-size:13px;font-weight:500;color:#ccc;width:50px;flex-shrink:0}.new-folder-dialog-compact .dialog-row input[type=text]{flex:1;padding:8px 10px;border:1px solid #555;border-radius:4px;font-size:13px;box-sizing:border-box;background:#383838;color:#fff}.new-folder-dialog-compact .dialog-row input[type=text]:focus{outline:none;border-color:#3498db;background:#404040}.new-folder-dialog-compact .dialog-row input[type=text]::placeholder{color:#888}.new-folder-dialog-compact .color-input-compact{width:32px;height:32px;padding:0;border:1px solid #555;border-radius:4px;cursor:pointer;background:none}.new-folder-dialog-compact .color-input-compact::-webkit-color-swatch-wrapper{padding:0}.new-folder-dialog-compact .color-input-compact::-webkit-color-swatch{border:none;border-radius:3px}.new-folder-dialog-compact .color-input-full{flex:1;height:32px;padding:0;border:1px solid #555;border-radius:4px;cursor:pointer;background:none}.new-folder-dialog-compact .color-input-full::-webkit-color-swatch-wrapper{padding:0}.new-folder-dialog-compact .color-input-full::-webkit-color-swatch{border:none;border-radius:3px}.new-folder-dialog-compact .dialog-footer{padding:10px 16px;gap:8px}.new-folder-dialog-compact .dialog-btn{padding:6px 14px;font-size:13px}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #444}.dialog-header h3{margin:0;font-size:18px;font-weight:600;color:#fff}.dialog-close-btn{background:none;border:none;font-size:24px;color:#888;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .15s}.dialog-close-btn:hover{background:#444;color:#fff}.dialog-subfolder-note{padding:10px 20px;background:#333;border-bottom:1px solid #444;font-size:13px;color:#aaa}.dialog-body{padding:20px}.dialog-section{margin-bottom:20px}.dialog-section:last-child{margin-bottom:0}.dialog-section label{display:block;font-size:13px;font-weight:600;color:#ccc;margin-bottom:8px}.dialog-section input[type=text]{width:100%;padding:10px 12px;border:1px solid #555;border-radius:6px;font-size:14px;box-sizing:border-box;transition:border-color .15s;background:#383838;color:#fff}.dialog-section input[type=text]:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db26}.color-picker-row{display:flex;align-items:center;gap:12px}.color-input{width:44px;height:44px;border:none;border-radius:8px;cursor:pointer;padding:0;background:none}.color-input::-webkit-color-swatch-wrapper{padding:0}.color-input::-webkit-color-swatch{border:2px solid #555;border-radius:6px}.preset-colors{display:flex;gap:6px;flex-wrap:wrap}.preset-color{width:28px;height:28px;border:2px solid transparent;border-radius:6px;cursor:pointer;padding:0;transition:all .15s}.preset-color:hover{transform:scale(1.1)}.preset-color.selected{border-color:#fff;box-shadow:0 0 0 2px #2a2a2e,0 0 0 4px #fff}.document-properties-section{border-top:1px solid #444;padding-top:20px;margin-top:20px}.document-properties-placeholder{display:flex;flex-direction:column;align-items:center;padding:24px 16px;background:#333;border:1px dashed #555;border-radius:8px;text-align:center;gap:8px}.document-properties-placeholder svg{opacity:.5}.document-properties-placeholder span{font-size:13px;color:#888}.document-properties-placeholder .coming-soon{font-size:11px;font-weight:600;color:#3498db;background:#3498db1a;padding:4px 10px;border-radius:12px;margin-top:4px}.dialog-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px;border-top:1px solid #444;background:#252528}.dialog-btn{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s}.dialog-btn.cancel{background:#383838;border:1px solid #555;color:#ccc}.dialog-btn.cancel:hover{background:#444;border-color:#666;color:#fff}.dialog-btn.create{background:#3498db;border:1px solid #3498db;color:#fff}.dialog-btn.create:hover{background:#2980b9;border-color:#2980b9}.dialog-btn.create:disabled{background:#444;border-color:#444;color:#666;cursor:not-allowed}.file-item.with-folder-location{padding:5px 12px}.file-item .file-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.file-item .file-info .file-name{flex:none}.file-prop-primary{font-size:13px;font-weight:600;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.file-info.wrap-text .file-prop-primary,.file-info.wrap-text .file-prop-secondary,.file-info.wrap-text .file-name{white-space:pre-wrap;text-overflow:unset;word-break:break-word}.file-item.selected .file-prop-primary{color:#3498db}.file-prop-secondary{font-size:11px;font-style:italic;color:#888;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.file-item.selected .file-prop-secondary{color:#7ab8dc}.file-item .file-folder-location{font-size:10px;color:#666;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3;transition:color .15s;display:inline-flex;align-items:center}.file-item .file-folder-location:hover{color:#3498db}.file-item.selected .file-folder-location{color:#557}.file-item.selected .file-folder-location:hover{color:#3498db}.unsaved-section{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;background:#1a1a1a}.unsaved-section.collapsed{flex:0 0 auto}.unsaved-section-header{display:flex;align-items:center;justify-content:space-between;padding:4px 12px;background:transparent;cursor:pointer;flex-shrink:0;min-height:28px;-webkit-user-select:none;user-select:none;border-top:none}.unsaved-section-header:hover{background:#ffffff0a}.unsaved-header-left{display:flex;align-items:center;gap:8px}.unsaved-collapse-icon{color:#888;transition:transform .2s;flex-shrink:0}.unsaved-collapse-icon.collapsed{transform:rotate(-90deg)}.unsaved-title{font-size:14px;font-weight:600;color:#fff}.unsaved-count-badge{color:#888;font-size:13px;font-weight:400}.unsaved-header-actions{display:flex;gap:4px}.unsaved-action-btn{background:transparent;border:none;color:#888;cursor:pointer;padding:6px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .15s}.unsaved-action-btn:hover{background:#ffffff1a;color:#fff}.unsaved-action-btn.discard:hover{background:#e74c3c26;color:#e74c3c}.unsaved-action-btn:disabled{opacity:.4;cursor:not-allowed}.unsaved-search-row{padding:4px 8px;flex-shrink:0}.unsaved-search-input{width:100%;box-sizing:border-box;padding:4px 8px;font-size:12px;background:#2a2a2a;border:1px solid #444;border-radius:4px;color:#ddd;outline:none}.unsaved-search-input:focus{border-color:#3498db}.unsaved-file-list{flex:1;overflow-y:auto;padding:0;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.unsaved-file-list::-webkit-scrollbar{width:5px}.unsaved-file-list::-webkit-scrollbar-track{background:transparent}.unsaved-file-list::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.unsaved-file-list::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.on-canvas-section{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;background:#1a1a1a}.on-canvas-section.collapsed{flex:0 0 auto}.on-canvas-section-header{display:flex;align-items:center;justify-content:space-between;padding:4px 12px;background:transparent;cursor:pointer;flex-shrink:0;min-height:28px;-webkit-user-select:none;user-select:none;border-top:none}.on-canvas-section-header:hover{background:#ffffff0a}.on-canvas-file-list{overflow-y:auto;flex:1;min-height:0}.canvas-file-group{border-bottom:1px solid #333}.canvas-file-group:last-child{border-bottom:none}.canvas-file-header{display:flex;align-items:center;gap:7px;padding:5px 12px;cursor:pointer;transition:background .15s;background:#1a1a1a}.canvas-file-header:hover{background:#252525}.canvas-file-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;color:#fff}.canvas-page-count{color:#666;font-size:12px;flex-shrink:0}.canvas-remove-btn{background:none;border:none;color:#555;cursor:pointer;padding:2px;border-radius:3px;display:flex;align-items:center;opacity:0;transition:all .15s}.canvas-file-header:hover .canvas-remove-btn{opacity:1}.canvas-remove-btn:hover{color:#e74c3c;background:#e74c3c26}.canvas-menu-container{position:relative;flex-shrink:0;margin-left:auto}.canvas-menu-btn{background:none;border:none;color:#888;cursor:pointer;padding:2px 4px;font-size:14px;line-height:1;border-radius:3px;opacity:0;transition:all .15s}.canvas-file-header:hover .canvas-menu-btn{opacity:1}.canvas-menu-btn:hover{color:#fff;background:#ffffff1a}.canvas-menu-dropdown{position:absolute;right:0;top:100%;background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:1000;min-width:180px;overflow:hidden}.canvas-menu-dropdown button{display:flex;align-items:center;gap:8px;width:100%;padding:8px 14px;border:none;background:none;cursor:pointer;text-align:left;font-size:13px;color:#333;white-space:nowrap;transition:background .15s}.canvas-menu-dropdown button:hover{background:#f5f5f5}.canvas-menu-dropdown button.delete-option{color:#e74c3c}.canvas-menu-dropdown button.delete-option:hover{background:#fef0ef}.canvas-menu-dropdown .menu-divider{height:1px;background:#e0e0e0;margin:4px 0}.canvas-menu-dropdown button.sp-locked-hint{color:#999;font-style:italic;cursor:default;font-size:11px}.canvas-menu-dropdown button.sp-locked-hint:hover{background:transparent}.on-canvas-file-list::-webkit-scrollbar{width:6px}.on-canvas-file-list::-webkit-scrollbar-track{background:transparent}.on-canvas-file-list::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.on-canvas-file-list::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.pdf-viewer-area{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0;position:relative;touch-action:manipulation;background:#1a1a1a}.pdf-viewer-area *,.pdf-viewer-area{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) #2a2a2a}.pdf-viewer-area *::-webkit-scrollbar,.pdf-viewer-area::-webkit-scrollbar{width:5px;height:5px}.pdf-viewer-area *::-webkit-scrollbar-track,.pdf-viewer-area::-webkit-scrollbar-track{background:#2a2a2a}.pdf-viewer-area *::-webkit-scrollbar-thumb,.pdf-viewer-area::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.pdf-viewer-area *::-webkit-scrollbar-thumb:hover,.pdf-viewer-area::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.no-file-selected .empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.7}.pdf-toolbar{display:flex;align-items:center;justify-content:space-between;padding:4px 12px;background:#000;flex-shrink:0}.pdf-toolbar-top{height:45.5px;border-bottom:1px solid rgba(255,255,255,.15)}.pdf-toolbar.pdf-toolbar-top button{padding:4px 8px;font-size:15px;background:transparent;color:#fff;border:none;border-radius:0;outline:none;transition:color .15s}.pdf-toolbar.pdf-toolbar-top button:hover{background:#ffffff14;color:#fff}.pdf-toolbar.pdf-toolbar-top button.active{background:transparent;color:#3498db;outline:none}.pdf-toolbar.pdf-toolbar-top button:focus,.pdf-toolbar.pdf-toolbar-top button:focus-visible{outline:none;box-shadow:none}.pdf-toolbar-top .toolbar-doc-name{font-size:9px}.pdf-toolbar-bottom{position:absolute;bottom:8px;left:50%;transform:translate(-50%);width:auto;justify-content:center;gap:3px;padding:5px 12px;z-index:10;border:none;border-radius:20px;z-index:100;background:#1a1a1a}.pdf-toolbar-bottom .toolbar-divider{height:16px;margin:0 4px;background:#555}.pdf-toolbar-bottom button{padding:4px 7px;font-size:13px;min-width:26px;background:transparent;border-radius:0;border:none;color:#fff;outline:none;transition:color .15s}.pdf-toolbar-bottom .toolbar-mode-buttons button{padding:5px 7px;min-width:30px;display:flex;align-items:center;justify-content:center}.pdf-toolbar-bottom .toolbar-mode-buttons button svg{stroke:currentColor}.pdf-toolbar-bottom .zoom-input{width:40px;padding:2px 4px;font-size:11px;background:#222;border:1px solid #444;border-radius:3px}.pdf-toolbar-bottom.docked{position:static;bottom:auto;left:auto;transform:none;border-radius:0;border:none;border-top:1px solid rgba(255,255,255,.06);padding:2px 12px;flex-shrink:0;background:#1a1a1a}.pdf-toolbar-bottom.auto-hide{transition:opacity .3s ease}.pdf-toolbar-bottom.auto-hide.hidden{opacity:0;pointer-events:none}.toolbar-doc-name{color:#fff;font-size:9px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px;flex-shrink:0}.toolbar-left{display:flex;align-items:center;gap:8px;flex-shrink:0}.toolbar-title{color:#888;font-size:14px}.toolbar-center{display:flex;align-items:center;gap:8px;justify-content:center}.toolbar-right{display:flex;align-items:center;gap:4px;flex-shrink:0}.unlock-btn{background:transparent!important;border:none!important;color:#ccc!important;padding:3px 10px!important;border-radius:0!important;font-size:11px!important;cursor:pointer;transition:color .15s;margin-right:8px;z-index:1;outline:none;display:flex;align-items:center}.unlock-btn:hover{color:#fff!important}.unlock-btn.unlocked{background:transparent!important;color:#ccc!important}.unlock-btn.unlocked:hover{background:transparent!important;color:#fff!important}.unlock-btn:disabled{opacity:.5;cursor:not-allowed}.unlock-btn:focus,.unlock-btn:focus-visible{outline:none!important;box-shadow:none!important}.toolbar-group{display:flex;align-items:center;gap:4px}.toolbar-divider{width:1px;height:24px;background:#444;margin:0 8px}.pdf-toolbar button{background:#333;color:#fff;border:none;padding:8px 12px;border-radius:4px;cursor:pointer;font-size:14px;flex-shrink:0;transition:background .2s}.pdf-toolbar button:hover{background:#555}.pdf-toolbar button:disabled{background:#222;color:#666;cursor:not-allowed}.pdf-toolbar button.active{background:#3498db}.zoom-input{width:50px;padding:6px 8px;border:1px solid #444;border-radius:4px;text-align:center;font-size:14px;background:#222;color:#fff;flex-shrink:0}.page-info{color:#ccc;font-size:13px;padding:0 8px;white-space:nowrap}.page-object-count{margin-left:4px;font-size:11px;color:#2ecc71;font-weight:500}.doc-info{color:#fff;font-size:14px;padding:4px 12px;flex-shrink:0;min-width:80px;text-align:center;display:inline-flex;align-items:center;justify-content:center;font-weight:500}.nav-btn{font-size:12px!important;padding:4px 8px!important}.nav-btn.doc-nav{background:#2980b9!important}.nav-btn.doc-nav:hover:not(:disabled){background:#3498db!important}.nav-btn.page-nav{background:#2980b9!important;min-width:32px}.nav-btn.page-nav:hover:not(:disabled){background:#3498db!important}.viewer-content{flex:1;display:flex;overflow:hidden;min-height:0;position:relative;background:#2a2a2a}.pdf-container{flex:1;overflow:auto;min-height:0;position:relative}.pdf-container.pdf-transform-container{overflow:hidden}.pdf-infinite-container{flex:1;overflow:hidden;min-height:0;position:relative;cursor:grab;background-image:radial-gradient(circle,rgba(255,255,255,.08) 1px,transparent 1px);background-size:24px 24px}.pdf-transform-canvas{position:absolute;will-change:transform}.pdf-scroll-content{position:relative;display:flex;justify-content:center;align-items:center;box-sizing:border-box}.pdf-canvas-container{position:relative;will-change:contents;contain:layout style}.pdf-canvas{display:block;box-shadow:0 4px 20px #00000080;background:#fff}.hotspot-overlay{pointer-events:none;contain:layout style;will-change:contents}.drawing-rect{position:absolute;border:2px dashed #3498db;background:#3498db33;pointer-events:none}.drawing-rect.training{border-color:#9b59b6;background:#9b59b633}.training-box{position:absolute;border:2px solid #9b59b6;background:#9b59b633;pointer-events:none;will-change:transform}.training-box .box-label{position:absolute;bottom:-20px;left:0;background:#9b59b6;color:#fff;padding:2px 6px;font-size:10px;border-radius:3px}.hotspot{position:absolute;border:2px solid #27ae60;background:#27ae6026;cursor:pointer;transition:border-color .15s,background-color .15s,border-width .15s}.hotspot.unlinked{border-color:#e74c3c;background:#e74c3c26}.hotspot.property-assigned{border-color:#3498db;background:#3498db26}.hotspot.broken{border-color:#e74c3c;background:#e74c3c26;border-style:dashed}.hotspot.hovered{background:#27ae604d;border-width:3px}.hotspot.unlinked.hovered{background:#e74c3c4d}.hotspot.property-assigned.hovered{background:#3498db4d}.hotspot.broken.hovered{background:#e74c3c4d}.hotspot.highlighted{border-width:3px!important;z-index:150;animation:rainbow-border 1.5s linear infinite,rainbow-glow 1.5s linear infinite,rainbow-fill 1.5s linear infinite}.hotspot.highlighted .hotspot-label{animation:rainbow-label 1.5s linear infinite;color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.5)}.hotspot-delete,.hotspot-edit{position:absolute;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;color:#fff;box-shadow:0 2px 4px #0000004d}.hotspot-delete{top:-10px;right:-10px;background:#e74c3c}.hotspot-edit{top:-10px;left:-10px;background:#3498db}.hotspot-tooltip{position:absolute;bottom:-28px;left:50%;transform:translate(-50%);background:#000;color:#fff;padding:4px 10px;font-size:11px;border-radius:4px;white-space:nowrap;z-index:100}.hotspot-label{position:absolute;top:-18px;left:50%;transform:translate(-50%);padding:2px 8px;font-size:10px;font-weight:600;border-radius:3px;white-space:nowrap;z-index:50;box-shadow:0 1px 3px #0003}.hotspot-label.linked{background:#27ae60;color:#fff}.hotspot-label.property-assigned{background:#3498db;color:#fff}.hotspot-label.unlinked,.hotspot-label.broken{background:#e74c3c;color:#fff}.smart-links-panel{width:320px;min-width:320px;flex-shrink:0;align-self:stretch;background:#1a1a1a;display:flex;flex-direction:column;overflow:hidden;position:relative;color:#fff}.smart-links-panel,.smart-links-panel .panel-header h3,.smart-links-panel .panel-section h4,.smart-links-panel .docprop-nav-btn,.smart-links-panel label,.smart-links-panel span,.smart-links-panel p,.smart-links-panel .panel-content,.smart-links-panel button,.smart-links-panel select,.smart-links-panel .docprop-scope-label,.smart-links-panel .model-info,.smart-links-panel .no-links,.smart-links-panel .no-results{color:#fff}.panel-header{padding:16px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.panel-header h3{margin:0;font-size:16px;color:#fff}.close-panel{background:none;border:none;font-size:24px;color:#888;cursor:pointer;padding:0;line-height:1}.close-panel:hover{color:#fff}.panel-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:16px;background:#1a1a1a;display:flex;flex-direction:column}.panel-content::-webkit-scrollbar{width:5px;height:5px}.panel-content::-webkit-scrollbar-track{background:transparent}.panel-content::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.panel-content::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.panel-section{margin-bottom:16px;background:transparent;flex-shrink:0;border:none}.panel-section.filter-by-class-section{margin-bottom:16px;border:none;padding-bottom:0}.panel-section.search-results-section{flex:1;min-height:0;display:flex;flex-direction:column;margin-bottom:0;border:none;margin-top:0;padding-top:0}.panel-section.search-results-section h4{border:none!important;padding-bottom:0;margin-top:0;box-shadow:none;outline:none;border-top:none!important;border-bottom:none!important}.panel-section h4{margin:0 0 12px;font-size:14px;color:#fff;border:none;padding-bottom:0;background:transparent}.panel-section h4.panel-section-toggle{display:flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:4px;padding:4px 6px;margin-left:-6px;margin-top:-4px}.panel-section h4.panel-section-toggle:hover{background:#ffffff0f}.panel-section-badge{background:#333;color:#aaa;font-size:10px;font-weight:500;padding:1px 6px;border-radius:8px;min-width:18px;text-align:center}.panel-list-search{display:flex;align-items:center;gap:5px;padding:4px 8px;border:1px solid #333;border-radius:4px;background:#0003;margin-bottom:6px}.panel-dropdown-list{max-height:260px;overflow-y:auto;overflow-x:hidden;margin-bottom:6px;padding-right:2px;display:flex;flex-direction:column;gap:5px}.panel-dropdown-list::-webkit-scrollbar{width:4px}.panel-dropdown-list::-webkit-scrollbar-track{background:transparent}.panel-dropdown-list::-webkit-scrollbar-thumb{background:#444;border-radius:2px}.panel-section.panel-section-resizable{display:flex;flex-direction:column;overflow:hidden}.panel-section.panel-section-resizable .models-list.scrollable{flex:1;overflow-y:auto;max-height:none!important;background:transparent}.panel-section-resizer{height:8px;background:linear-gradient(to bottom,#3a3a3a,#333);cursor:row-resize;display:flex;align-items:center;justify-content:center;margin:4px 0;border-radius:4px;transition:background .2s;flex-shrink:0}.panel-section-resizer:hover{background:linear-gradient(to bottom,#444,#3a3a3a)}.panel-section-resizer:after{content:"";width:30px;height:3px;background:#555;border-radius:2px}.panel-section-resizer:hover:after{background:#666}.mode-buttons{display:flex;gap:8px}.mode-buttons button{flex:1;padding:8px 6px;border:none;background:none;border-radius:6px;cursor:pointer;font-size:12px;font-weight:500;color:#ccc}.mode-buttons button:hover,.mode-buttons button.active{color:#fff}.mode-hint{margin:6px 0 0;font-size:12px;color:#fff;font-style:italic}.shape-selector{display:flex;align-items:center;gap:6px;margin-top:4px;padding:6px 8px;background:transparent;border:none;border-radius:6px}.shape-selector .shape-label{font-size:12px;color:#fff;margin-right:4px}.shape-selector .shape-btn{width:32px;height:32px;padding:0;border:none;background:transparent;border-radius:4px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .15s;color:#ccd6dd}.shape-selector .shape-btn:hover{color:#3498db}.shape-selector .shape-btn.active{color:#3498db;background:transparent;box-shadow:none}.shape-selector .shape-btn.clear-points{background:#3a2020;border-color:#e74c3c;color:#e74c3c;font-size:12px}.polyline-point{position:absolute;width:8px;height:8px;background:#3498db;border:2px solid white;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:999}.polyline-point.start{background:#27ae60;width:12px;height:12px}.pending-shape-container{position:absolute;z-index:1000;pointer-events:auto}.pending-shape{position:absolute;top:0;left:0;width:100%;height:100%;border:2px dashed #3498db;background:#3498db26;pointer-events:none;box-sizing:border-box}.pending-shape.circle{border-radius:50%}.shape-handle{position:absolute;width:12px;height:12px;background:#fff;border:2px solid #3498db;border-radius:2px;cursor:pointer;z-index:1001;pointer-events:auto}.shape-handle:hover{background:#3498db}.shape-handle.handle-nw{top:-6px;left:-6px;cursor:nwse-resize}.shape-handle.handle-n{top:-6px;left:50%;transform:translate(-50%);cursor:ns-resize}.shape-handle.handle-ne{top:-6px;right:-6px;cursor:nesw-resize}.shape-handle.handle-e{top:50%;right:-6px;transform:translateY(-50%);cursor:ew-resize}.shape-handle.handle-se{bottom:-6px;right:-6px;cursor:nwse-resize}.shape-handle.handle-s{bottom:-6px;left:50%;transform:translate(-50%);cursor:ns-resize}.shape-handle.handle-sw{bottom:-6px;left:-6px;cursor:nesw-resize}.shape-handle.handle-w{top:50%;left:-6px;transform:translateY(-50%);cursor:ew-resize}.shape-confirm-buttons{position:absolute;bottom:-40px;left:50%;transform:translate(-50%);display:flex;gap:8px;z-index:1002;pointer-events:auto}.shape-confirm-buttons button{width:28px;height:28px;padding:0;border:none;border-radius:50%;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0003}.shape-confirm-buttons .confirm-btn{background:#27ae60;color:#fff}.shape-confirm-buttons .confirm-btn:hover{background:#219a52}.shape-confirm-buttons .cancel-btn{background:#e74c3c;color:#fff}.shape-confirm-buttons .cancel-btn:hover{background:#c0392b}.clear-btn{width:100%;padding:8px;margin-bottom:8px;border:1px solid #e74c3c;background:#252525;color:#e74c3c;border-radius:4px;cursor:pointer;font-size:13px}.clear-btn:hover{background:#3a2020}.primary-btn{width:100%;padding:12px;background:#3498db;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s}.primary-btn:hover{background:#2980b9}.primary-btn:disabled{background:#bdc3c7;cursor:not-allowed}.find-links-btn{background:#333}.find-links-btn:hover{background:#444}.no-models,.no-links{color:#999;font-size:13px;font-style:italic}.model-search-input{width:100%;padding:8px 12px;border:1px solid #444;border-radius:6px;font-size:13px;margin-bottom:10px;box-sizing:border-box;background:#333;color:#fff}.model-search-input:focus{outline:none;border-color:#555;box-shadow:none}.model-search-input::placeholder{color:#888}.models-list,.links-list{display:flex;flex-direction:column;gap:8px}.models-list.scrollable{max-height:200px;overflow-y:auto;padding-right:4px;background:transparent}.models-list.scrollable::-webkit-scrollbar{width:5px;height:5px}.models-list.scrollable::-webkit-scrollbar-track{background:transparent}.models-list.scrollable::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.models-list.scrollable::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.models-list .no-results{color:#999;font-size:12px;font-style:italic;text-align:center;padding:10px}.model-item,.link-item{display:flex;align-items:center;gap:8px;padding:10px;background:#333;border:1px solid #444;border-radius:6px;font-size:13px;color:#fff}.panel-section-resizable .model-item{background:transparent;border:none;padding:8px 10px}.links-model-item{background:transparent!important;border:none!important;padding:6px 10px!important}.model-item span:first-child,.link-item span:first-child{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-info{color:#999;font-size:11px}.link-item{cursor:pointer;transition:background .15s}.link-item:hover{background:#3a3a3a}.link-item.linked{border-left:3px solid #27ae60}.link-item.unlinked{border-left:3px solid #e74c3c}.link-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.link-status-dot.linked{background:#27ae60}.link-status-dot.unlinked{background:#e74c3c}.link-item-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.link-label{font-weight:500;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-target{font-size:11px;color:#888;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-item.unlinked .link-target{color:#e74c3c}.link-delete-btn{background:none;border:none;color:#999;font-size:16px;cursor:pointer;padding:4px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;flex-shrink:0}.link-delete-btn:hover{background:#3a2020;color:#e74c3c}.delete-model,.link-item button{background:none;border:none;color:#999;font-size:18px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px}.delete-model:hover,.link-item button:hover{background:#fee;color:#e74c3c}.option-group{margin-bottom:12px}.option-group label{display:block;font-size:13px;color:#888;margin-bottom:6px}.option-group select{width:100%;padding:8px;border:1px solid #444;border-radius:4px;font-size:13px;background:#333;color:#fff}.option-group input[type=range]{width:100%}.option-group.checkbox label{display:flex;align-items:center;gap:8px;cursor:pointer;color:#fff}.option-group.checkbox input{width:16px;height:16px}.toggle-option{display:flex;align-items:center;gap:8px;cursor:pointer;color:#ccc;font-size:13px;margin-top:10px}.toggle-option input{width:16px;height:16px;cursor:pointer;accent-color:#3498db;filter:brightness(.75)}.toggle-option span{-webkit-user-select:none;user-select:none}.panel-section.disabled-section{opacity:.5;pointer-events:none}.disabled-hint{color:#666;font-style:italic;font-size:12px}.mode-buttons button.disabled,.mode-buttons button:disabled{opacity:.5;cursor:not-allowed;background:#333;border-color:#444}.model-item.disabled{opacity:.6;pointer-events:none}.model-search-input:disabled{opacity:.5;cursor:not-allowed}.modal{background:#fff;border-radius:12px;padding:24px;max-width:450px;width:450px;max-height:80vh;overflow-y:auto}.modal h2{margin:0 0 8px;font-size:18px;color:#2c3e50}.modal p{margin:0 0 16px;color:#666;font-size:14px}.pdf-list{max-height:300px;overflow-y:auto;border:1px solid #eee;border-radius:8px;margin-bottom:16px}.pdf-option{padding:12px 16px;border-bottom:1px solid #eee;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background .2s}.pdf-option:last-child{border-bottom:none}.pdf-option:hover{background:#f0f7ff}.pdf-option.current{background:#f8f9fa}.pdf-option .badge{background:#3498db;color:#fff;padding:2px 8px;border-radius:10px;font-size:11px}.modal-actions{display:flex;justify-content:flex-end;gap:12px}.modal-actions button{padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-size:14px}.modal-actions button:first-child{background:#eee;color:#333}.modal-actions button:first-child:hover{background:#ddd}.modal.dark-modal{background:#1e1e1e;border:1px solid #333;box-shadow:0 8px 32px #00000080}.modal.dark-modal .modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #333}.modal.dark-modal h2{color:#fff;margin:0;font-size:16px;font-weight:600}.modal.dark-modal .modal-close-btn{background:transparent;border:none;color:#888;font-size:20px;cursor:pointer;padding:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:4px}.modal.dark-modal .modal-close-btn:hover{background:#333;color:#fff}.modal.dark-modal p{color:#999;font-size:13px;margin-bottom:12px}.modal.dark-modal .link-label-preview{background:#2a2a2a;border:1px solid #444;border-radius:6px;padding:10px 12px;margin-bottom:16px}.modal.dark-modal .link-label-preview .label-text{color:#3498db;font-weight:500;font-size:14px}.target-search-input.dark{background:#2a2a2a;border:1px solid #444;color:#fff;padding:10px 12px;border-radius:6px;width:100%;font-size:13px;margin-bottom:12px;box-sizing:border-box}.target-search-input.dark:focus{outline:none;border-color:#3498db}.target-search-input.dark::placeholder{color:#666}.pdf-list.dark{background:#2a2a2a;border:1px solid #444;border-radius:6px;max-height:280px;overflow-y:auto;margin-bottom:16px}.pdf-list.dark::-webkit-scrollbar{width:5px;height:5px}.pdf-list.dark::-webkit-scrollbar-track{background:transparent}.pdf-list.dark::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.pdf-list.dark .pdf-option{padding:10px 12px;border-bottom:1px solid #333;color:#ccc;font-size:13px;transition:background .15s}.pdf-list.dark .pdf-option:last-child{border-bottom:none}.pdf-list.dark .pdf-option:hover{background:#333;color:#fff}.pdf-list.dark .pdf-option.current{background:#2d3748}.pdf-list.dark .pdf-option .badge{background:#3498db;color:#fff;padding:2px 8px;border-radius:10px;font-size:10px}.pdf-list.dark .no-results{padding:20px;text-align:center;color:#666;font-size:13px}.modal.dark-modal .modal-actions{margin-top:8px}.modal.dark-modal .cancel-btn{background:#333;color:#ccc;border:1px solid #444;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:13px;transition:all .15s}.modal.dark-modal .cancel-btn:hover{background:#444;color:#fff}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.section-header h4{margin:0;border-bottom:none;padding-bottom:0}.delete-all-btn{background:#fee;color:#c00;border:1px solid #fcc;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;cursor:pointer;transition:all .2s}.delete-all-btn:hover{background:#c00;color:#fff;border-color:#c00}.ocr-format-section{margin-top:.75rem;padding:.75rem;background:#f8f9fa;border-radius:6px;border:1px solid #e9ecef}.ocr-provider-section{margin-bottom:1rem}.ocr-provider-options{display:flex;gap:.5rem;margin-top:.5rem}.provider-option{flex:1;display:flex;flex-direction:column;align-items:center;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s;text-align:center}.provider-option:hover{border-color:#3498db;background:#f0f7ff}.provider-option.selected{border-color:#3498db;background:#e8f4fc}.provider-option input[type=radio]{display:none}.provider-option span{font-weight:600;font-size:.85rem;color:#333}.provider-option small{font-size:.7rem;color:#888;margin-top:2px}.claude-ocr-info{background:#e8f4fc;border-radius:6px;padding:.75rem;margin-top:.5rem}.claude-ocr-info p{margin:0 0 .5rem;font-size:.85rem;color:#333}.claude-ocr-info small{font-size:.75rem;color:#666}.format-label{display:block;font-size:.8rem;color:#666;margin-bottom:.25rem}.format-input{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem;font-family:monospace;box-sizing:border-box}.format-input:focus{outline:none;border-color:#06c;box-shadow:0 0 0 2px #0066cc1a}.format-options{margin-top:.75rem}.format-option{margin-bottom:.5rem}.format-option label{display:block;font-size:.75rem;color:#666;margin-bottom:.25rem}.format-option input[type=range]{width:100%;height:4px;-webkit-appearance:none;background:#ddd;border-radius:2px}.format-option input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:#06c;border-radius:50%;cursor:pointer}.format-preview{margin-top:.5rem;padding:.5rem;background:#e8f4ff;border-radius:4px}.format-preview small{color:#06c;font-size:.75rem}.link-item.high{border-left:3px solid #28a745;background:#f0fff4}.link-item.medium{border-left:3px solid #ffc107;background:#fffdf0}.link-item.low{border-left:3px solid #dc3545;background:#fff5f5}.model-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;flex:1;min-width:0}.model-checkbox input[type=checkbox]{width:16px;height:16px;flex-shrink:0}.model-checkbox span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.target-search-input{width:100%;padding:10px 12px;margin-bottom:12px;border:1px solid #444;border-radius:6px;font-size:14px;box-sizing:border-box;background:#333;color:#fff}.target-search-input::placeholder{color:#888}.target-search-input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db33}.pdf-list .no-results{padding:20px;text-align:center;color:#999;font-style:italic}.refresh-links-btn{background:#3498db;color:#fff;border:none;border-radius:4px;padding:4px 8px;cursor:pointer;font-size:11px;transition:all .2s}.refresh-links-btn:hover{background:#2980b9}.toggle-links-btn{background:#e0e0e0;border:none;border-radius:4px;padding:4px 8px;cursor:pointer;font-size:14px;transition:all .2s}.toggle-links-btn:hover{background:#d0d0d0}.toggle-links-btn.active{background:#3498db}.ocr-test-section .testing{color:#3498db;font-style:italic}.ocr-test-section .hint{color:#999;font-style:italic;font-size:13px}.ocr-test-section .error{color:#e74c3c}.ocr-result{background:#f8f9fa;border-radius:6px;padding:10px;font-size:13px}.ocr-result .result-row{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px solid #eee}.ocr-result .result-row:last-child{border-bottom:none}.ocr-result .label{color:#666;font-weight:500}.ocr-result .value{font-family:monospace;color:#333}.ocr-result .value.raw{color:#999;font-size:11px}.ocr-result .value.high{color:#27ae60;font-weight:700}.ocr-result .value.medium{color:#f39c12;font-weight:700}.ocr-result .value.low{color:#e74c3c;font-weight:700}.ocr-result .value.badge{padding:2px 8px;border-radius:10px;font-size:11px;text-transform:uppercase}.ocr-result .value.badge.high{background:#d4edda}.ocr-result .value.badge.medium{background:#fff3cd}.ocr-result .value.badge.low{background:#f8d7da}.ocr-result .value.warning{color:#e74c3c}.ocr-test-inline{background:#f0f7ff;border:1px solid #3498db;border-radius:8px;padding:12px;margin-bottom:15px;display:flex;flex-wrap:wrap;align-items:center;gap:10px}.ocr-test-btn{background:#3498db;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;transition:background .2s}.ocr-test-btn:hover:not(:disabled){background:#2980b9}.ocr-test-btn:disabled{background:#95a5a6;cursor:not-allowed}.ocr-inline-result{display:flex;align-items:center;gap:8px;flex:1}.ocr-inline-result .ocr-text{font-family:monospace;font-size:14px;font-weight:700;padding:4px 8px;background:#fff;border-radius:4px}.ocr-inline-result .ocr-text.high{color:#27ae60}.ocr-inline-result .ocr-text.medium{color:#f39c12}.ocr-inline-result .ocr-text.low{color:#e74c3c}.ocr-inline-result .ocr-confidence{font-size:11px;padding:2px 8px;border-radius:10px;text-transform:uppercase}.ocr-inline-result .ocr-confidence.high{background:#d4edda;color:#155724}.ocr-inline-result .ocr-confidence.medium{background:#fff3cd;color:#856404}.ocr-inline-result .ocr-confidence.low{background:#f8d7da;color:#721c24}.ocr-inline-result .use-ocr-btn{background:#27ae60;color:#fff;border:none;padding:4px 12px;border-radius:4px;cursor:pointer;font-size:12px}.ocr-inline-result .use-ocr-btn:hover{background:#219a52}.ocr-test-inline .ocr-error{color:#e74c3c;font-size:13px}.object-training-box{border-style:solid}.object-training-box.no-color{border-color:transparent!important;background:transparent!important}.object-training-box.circle-shape{border-radius:50%}.object-training-box.circle-shape .box-label{top:-22px;left:50%;transform:translate(-50%)}.object-training-box .box-label{background:#3498db}.detected-object-box{position:absolute;border:2px solid;pointer-events:none;contain:layout style}.detected-object-box.no-color{border-color:transparent!important;background:transparent!important}.detected-object-box.circle-shape{border-radius:50%}.detected-object-box.circle-shape .object-box-label{top:-22px;left:50%;transform:translate(-50%)}.detected-object-box .object-box-label{position:absolute;top:-20px;left:0;color:#fff;font-size:10px;padding:2px 6px;border-radius:3px;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.detected-object-box .object-box-label.ocr-low-conf{outline:1.5px dashed #e67e22;outline-offset:1px;display:inline-flex;align-items:center}.object-conf{font-size:11px;color:#888;margin-left:auto}.export-btn{background:#27ae60;color:#fff;border:none;padding:4px 8px;border-radius:4px;font-size:12px;cursor:pointer}.export-btn:hover{background:#219a52}.training-summary{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.class-count{background:#e8f4fc;color:#2980b9;padding:4px 8px;border-radius:4px;font-size:12px}.quick-classes{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0}.quick-classes span{font-size:12px;color:#666}.quick-class-btn{background:#f0f0f0;border:1px solid #ddd;padding:4px 10px;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s}.quick-class-btn:hover{background:#e0e0e0;border-color:#3498db}.detected-object-box{transition:border-color .15s,border-width .15s,background-color .15s;will-change:border-color,background-color}.detected-object-box.hovered{border-color:#d35400;border-width:3px;border-style:solid;background:#e67e2240;z-index:100}.object-tooltip{position:absolute;bottom:calc(100% + 5px);left:50%;transform:translate(-50%);background:#000000d9;color:#fff;padding:8px 12px;border-radius:6px;font-size:12px;white-space:nowrap;z-index:1000;pointer-events:none}.object-tooltip .tooltip-hint{color:#95a5a6;font-size:10px;margin-top:4px}.object-edit-modal{background:#2d3436!important;border:1px solid #444;color:#fff}.object-edit-modal h2{color:#fff!important;font-weight:700!important}.object-edit-modal p{color:#ccc!important}.object-edit-modal .modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #444}.object-edit-modal .modal-close-btn{background:transparent;border:none;color:#888;font-size:20px;cursor:pointer;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .15s}.object-edit-modal .modal-close-btn:hover{background:#333;color:#fff}.add-to-model-dialog{background:#1e1e1e!important;border:1px solid #333;box-shadow:0 8px 32px #00000080;max-width:380px;width:380px;padding:0!important}.atm-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #333}.atm-header h2{margin:0;font-size:15px;font-weight:600;color:#fff}.atm-close{background:transparent;border:none;color:#666;font-size:18px;cursor:pointer;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .15s}.atm-close:hover{background:#2a2a2a;color:#ccc}.atm-info{padding:16px 20px;border-bottom:1px solid #333}.atm-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0}.atm-label{font-size:12px;color:#fff;font-weight:600}.atm-value{font-size:13px;color:#fff;font-weight:600}.atm-options{padding:14px 20px;border-bottom:1px solid #333}.atm-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:#fff;font-weight:600;padding:4px 0}.atm-checkbox input[type=checkbox]{accent-color:#555}.atm-checkbox:hover{color:#ccc}.atm-hint{padding:14px 20px;font-size:12px;color:#fff;font-weight:600;line-height:1.5;border-bottom:1px solid #333}.atm-actions{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px}.atm-btn{padding:8px 18px;border-radius:5px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.atm-btn:disabled{opacity:.5;cursor:not-allowed}.atm-btn-cancel{background:transparent;border:1px solid #333;color:#fff;font-weight:600}.atm-btn-cancel:hover:not(:disabled){background:#2a2a2a;color:#ccc}.atm-btn-confirm{background:#333;border:1px solid #444;color:#fff;font-weight:600}.atm-btn-confirm:hover:not(:disabled){background:#444;color:#fff}.atm-delete-dialog{background:#1e1e1e!important;border:1px solid #333;box-shadow:0 8px 32px #00000080;max-width:360px;width:360px;padding:0!important}.atm-body{padding:16px 20px}.atm-body p{margin:0;font-size:13px;color:#fff;font-weight:600;line-height:1.6}.atm-btn-delete{background:#3a2228;border:1px solid #4a2a30;color:#fff;font-weight:600}.atm-btn-delete:hover:not(:disabled){background:#4a2a30;color:#eaa}.object-edit-modal .object-details{margin:15px 0}.object-edit-modal .object-image-preview{margin-bottom:15px;text-align:center;background:#1a1a1a;border-radius:8px;padding:15px;border:1px solid #444}.object-edit-modal .object-image-preview img{max-width:100%;max-height:200px;border-radius:4px;box-shadow:0 2px 4px #0000004d}.object-edit-modal .detail-row{display:flex;align-items:center;margin-bottom:12px;gap:10px}.object-edit-modal .detail-row label{width:90px;font-weight:700;font-size:14px;color:#fff;flex-shrink:0;text-align:right}.object-edit-modal .detail-row input{flex:1;padding:8px 10px;border:1px solid #444;border-radius:6px;font-size:14px;background:#1a1a1a;color:#fff}.object-edit-modal .detail-row input:focus{outline:none;border-color:#666;box-shadow:none}.object-edit-modal .detail-row select{flex:1;padding:8px 10px;border:1px solid #444;border-radius:6px;font-size:14px;background:#1a1a1a;color:#fff}.object-edit-modal .detail-row select:focus{outline:none;border-color:#666;box-shadow:none}.object-edit-modal .detail-value{color:#fff;font-size:14px;font-weight:700}.object-edit-modal .custom-fields-divider{font-size:11px;font-weight:700;color:#ccc;margin:15px 0 10px;padding-top:10px;border-top:1px solid #444}.object-edit-modal .coords-section{margin-top:15px;padding-top:10px;border-top:1px solid #444}.object-edit-modal .coords-header{font-size:11px;font-weight:700;color:#ccc;text-transform:uppercase;margin-bottom:8px}.object-edit-modal .coords-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.object-edit-modal .coord-item{display:flex;gap:8px;font-size:12px}.object-edit-modal .coord-label{color:#999;font-weight:700}.object-edit-modal .coord-value{font-family:monospace;color:#fff}.object-edit-modal .modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px;padding-top:15px;border-top:1px solid #444}.object-edit-modal .modal-actions .delete-object-btn{background:#2d3436;color:#ccc;border:1px solid #444;padding:10px 16px;border-radius:6px;cursor:pointer;margin-right:auto;font-size:14px;font-weight:700;transition:all .2s}.object-edit-modal .modal-actions .delete-object-btn:hover{background:#333;border-color:#555;color:#fff}.object-edit-modal .modal-actions .cancel-btn{background:#2d3436;color:#ccc;border:1px solid #444;padding:10px 16px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:700;transition:all .2s}.object-edit-modal .modal-actions .cancel-btn:hover{background:#333;border-color:#555;color:#fff}.object-edit-modal .modal-actions .primary-btn{background:#444;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:700;transition:all .2s}.object-edit-modal .modal-actions .primary-btn:hover{background:#555}.training-options-modal{max-width:450px;width:90%}.training-options-modal h2{margin:0 0 16px}.training-options-modal .form-row{margin-bottom:16px}.training-options-modal .form-row label{display:block;font-weight:500;color:#555;margin-bottom:6px;font-size:13px}.training-options-modal .form-row input[type=text],.training-options-modal .form-row select{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;box-sizing:border-box}.training-options-modal .form-row input[type=text]:focus,.training-options-modal .form-row select:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db33}.training-mode-section{margin-bottom:16px}.training-mode-section .section-label{display:block;font-weight:500;color:#555;margin-bottom:8px;font-size:13px}.training-mode-options{display:flex;flex-direction:column;gap:8px}.training-mode-options .mode-option{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;transition:all .2s}.training-mode-options .mode-option:hover:not(.disabled){background:#f0f0f0;border-color:#ccc}.training-mode-options .mode-option.selected{border-color:#3498db;background:#f0f7ff}.training-mode-options .mode-option.disabled{opacity:.5;cursor:not-allowed;background:#f5f5f5}.training-mode-options .mode-option .radio-circle{width:18px;height:18px;min-width:18px;border:2px solid #bbb;border-radius:50%;background:#fff;position:relative;flex-shrink:0}.training-mode-options .mode-option.selected .radio-circle,.training-mode-options .mode-option .radio-circle.checked{border-color:#3498db}.training-mode-options .mode-option .radio-circle.checked:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;background:#3498db;border-radius:50%}.training-mode-options .mode-option span{font-size:14px;color:#333}.training-options-modal .duplicate-warning{color:#e74c3c;font-size:12px;margin-top:6px}.training-options-modal .modal-actions{display:flex;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid #eee}.training-options-modal .cancel-btn{flex:1;padding:10px 16px;background:#f0f0f0;border:1px solid #ddd;border-radius:6px;color:#333;font-size:14px;cursor:pointer}.training-options-modal .cancel-btn:hover{background:#e0e0e0}.training-options-modal .primary-btn{flex:1;padding:10px 16px;background:#3498db;border:none;border-radius:6px;color:#fff;font-size:14px;font-weight:500;cursor:pointer}.training-options-modal .primary-btn:hover{background:#2980b9}.training-options-modal .primary-btn:disabled{background:#bdc3c7;cursor:not-allowed}.detection-settings-modal{max-width:540px;width:90%;max-height:85vh;overflow-y:auto}.detection-settings-modal h2{margin:0 0 4px}.detection-settings-modal .modal-subtitle{color:#666;font-size:13px;margin:0 0 16px}.detection-settings-list{max-height:400px;overflow-y:auto}.class-detection-settings{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:12px 16px;margin-bottom:12px}.class-detection-settings:last-child{margin-bottom:0}.class-name-header{font-weight:600;font-size:14px;color:#2c3e50;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #e0e0e0}.class-detection-settings .setting-row{margin-bottom:10px}.class-detection-settings .setting-row:last-child{margin-bottom:0}.class-detection-settings .setting-row label{display:block;font-size:13px;color:#555;margin-bottom:4px}.class-detection-settings .setting-row input[type=range]{width:100%;margin:0}.class-detection-settings .setting-row.checkbox label{display:flex;align-items:center;gap:8px;cursor:pointer}.class-detection-settings .setting-row.checkbox input[type=checkbox]{width:16px;height:16px;margin:0}.detection-settings-modal .modal-actions{display:flex;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid #eee}.detection-settings-modal .cancel-btn{flex:1;padding:10px 16px;background:#f0f0f0;border:1px solid #ddd;border-radius:6px;color:#333;font-size:14px;cursor:pointer}.detection-settings-modal .cancel-btn:hover{background:#e0e0e0}.detection-settings-modal .primary-btn{flex:1;padding:10px 16px;background:#3498db;border:none;border-radius:6px;color:#fff;font-size:14px;font-weight:500;cursor:pointer}.detection-settings-modal .primary-btn:hover{background:#2980b9}.detection-settings-modal .primary-btn:disabled{background:#bdc3c7;cursor:not-allowed}.object-class-modal{min-width:350px;max-width:450px;width:auto;background:#2d3436!important;border:1px solid #444;color:#fff}.object-class-modal h2{margin:0 0 16px;color:#fff;font-weight:700}.object-class-modal p{color:#ccc}.object-class-modal .object-form{margin:0;background:transparent}.object-class-modal .form-row{margin-bottom:10px}.object-class-modal .form-row label{display:block;font-weight:700;color:#fff;margin-bottom:3px;font-size:12px}.object-class-modal .form-row input{width:100%;padding:8px 10px;border:1px solid #444;border-radius:4px;font-size:13px;box-sizing:border-box;background:#1a1a1a;color:#fff}.object-class-modal .form-row input:focus{outline:none;border-color:#666;box-shadow:none}.object-class-modal .form-row select{width:100%;padding:8px 10px;border:1px solid #444;border-radius:4px;font-size:13px;background:#1a1a1a;color:#fff}.object-class-modal .form-row select:focus{outline:none;border-color:#666;box-shadow:none}.object-class-modal .no-classes-warning{text-align:center;padding:20px 0}.object-class-modal .no-classes-warning p{margin:6px 0;color:#ccc;font-size:13px}.object-class-modal .custom-fields-section{margin-top:10px;padding-top:10px;border-top:1px solid #444}.object-class-modal .object-details-section{margin-top:16px;padding-top:16px;border-top:1px solid #444;background:transparent}.object-class-modal .custom-fields-header{font-size:11px;font-weight:700;color:#ccc;text-transform:uppercase;margin-bottom:8px}.object-class-modal .tag-input-row{display:flex;gap:6px;align-items:stretch}.object-class-modal .tag-input-row input{flex:1}.object-class-modal .ocr-tag-btn{background:#444;color:#fff;border:none;padding:8px 12px;border-radius:4px;cursor:pointer;font-size:12px;font-weight:700;white-space:nowrap}.object-class-modal .ocr-tag-btn:hover:not(:disabled){background:#555}.object-class-modal .ocr-tag-btn:disabled{background:#333;color:#666}.object-class-modal .ocr-result-row{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#1a1a1a;border-radius:4px;margin-bottom:10px}.object-class-modal .ocr-result-row .ocr-text{font-family:monospace;font-size:13px;font-weight:700}.object-class-modal .ocr-result-row .ocr-text.high{color:#27ae60}.object-class-modal .ocr-result-row .ocr-text.medium{color:#f39c12}.object-class-modal .ocr-result-row .ocr-text.low{color:#e74c3c}.object-class-modal .ocr-result-row .ocr-confidence{font-size:11px;padding:2px 8px;border-radius:10px;text-transform:uppercase}.object-class-modal .ocr-result-row .ocr-confidence.high{background:#27ae6033;color:#27ae60}.object-class-modal .ocr-result-row .ocr-confidence.medium{background:#f39c1233;color:#f39c12}.object-class-modal .ocr-result-row .ocr-confidence.low{background:#e74c3c33;color:#e74c3c}.object-class-modal .ocr-result-row .use-ocr-btn{margin-left:auto;background:#444;color:#fff;border:none;padding:6px 14px;border-radius:4px;cursor:pointer;font-size:12px;font-weight:700}.object-class-modal .ocr-result-row .use-ocr-btn:hover{background:#555}.object-class-modal .quick-classes{margin-bottom:12px}.object-class-modal .quick-classes span{color:#ccc}.object-class-modal .quick-class-btn{background:#1a1a1a;border:1px solid #444;color:#fff;font-weight:700}.object-class-modal .quick-class-btn:hover{background:#333;border-color:#666}.object-class-modal .modal-actions{border-top:1px solid #444}.object-class-modal label{color:#fff!important;font-weight:700!important}.object-class-modal .modal-actions button{font-weight:700;color:#fff}.object-class-modal .modal-actions .cancel-btn,.object-class-modal .modal-actions button:first-child{background:#2d3436;color:#ccc;border:1px solid #444}.object-class-modal .modal-actions .cancel-btn:hover,.object-class-modal .modal-actions button:first-child:hover{background:#333;border-color:#555;color:#fff}.object-class-modal .modal-actions .primary-btn{background:#444;color:#fff;border:none}.object-class-modal .modal-actions .primary-btn:hover{background:#555}.object-class-modal div,.object-class-modal section,.object-class-modal form{background-color:transparent}.object-class-modal input,.object-class-modal select,.object-class-modal textarea{background:#1a1a1a;color:#fff;border-color:#444}.pdf-viewer-area .search-input,.smart-links-panel .search-input{width:100%;padding:10px 12px;border:none!important;border-radius:6px;font-size:14px;box-sizing:border-box;background:#333;color:#fff;outline:none!important;box-shadow:none!important}.pdf-viewer-area .search-input::placeholder,.smart-links-panel .search-input::placeholder{color:#888}.pdf-viewer-area .search-input:focus,.smart-links-panel .search-input:focus{outline:none!important;border:none!important;box-shadow:none!important;background:#3a3a3a}.search-scope-container{margin-top:8px}.pdf-viewer-area .dark-select,.smart-links-panel .dark-select{width:100%;padding:8px 32px 8px 12px;border:none!important;border-radius:6px;font-size:13px;background:#333;color:#fff;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6L8 10L12 6' stroke='%23ffffff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;outline:none!important;box-shadow:none!important}.pdf-viewer-area .dark-select:hover,.smart-links-panel .dark-select:hover{background-color:#3a3a3a}.pdf-viewer-area .dark-select:focus,.smart-links-panel .dark-select:focus{outline:none!important;border:none!important;box-shadow:none!important;background-color:#3a3a3a}.link-layout-toggle{display:flex;align-items:center;justify-content:space-between;padding:6px 0;margin-top:4px}.link-layout-label{font-size:12px;color:#aaa}.link-layout-buttons{display:flex;gap:2px;background:#ffffff0f;border-radius:6px;padding:2px}.link-layout-btn{display:flex;align-items:center;justify-content:center;width:30px;height:26px;border:none;border-radius:4px;background:transparent;color:#888;cursor:pointer;transition:background .15s,color .15s}.link-layout-btn:hover{background:#ffffff14;color:#ccc}.link-layout-btn.active{background:#3498db;color:#fff}.dark-select option{background:#333;color:#fff;padding:8px}.class-filters{display:flex;flex-direction:column;gap:0;background:transparent!important;padding:4px 0;max-height:200px;overflow-y:auto;border:none!important;box-shadow:none!important}.class-filters:after{display:none}.class-filter-actions{display:flex;gap:8px;margin-bottom:12px}.class-filter-actions button{flex:1;padding:8px 12px;border:1px solid #444;border-radius:6px;background:transparent!important;color:#fff;cursor:pointer;font-size:13px}.class-filter-actions button:hover{background:#ffffff1a!important}.class-filter-item{display:flex;align-items:center;padding:8px 12px;background:transparent!important;cursor:pointer;border:none;border-radius:6px;margin-bottom:4px}.class-filter-item:last-child{margin-bottom:0}.class-filter-item:hover{background:#ffffff0d!important}.class-filter-item input{margin:0 10px 0 0;accent-color:#3498db}.class-filter-item span{font-size:13px;color:#fff}.class-filter-item .class-count{margin-left:4px;color:#888;font-size:13px}.no-classes{color:#888;font-size:13px}.search-results{flex:1;overflow-y:auto;background:transparent!important}.search-result-item{display:flex;flex-direction:column;padding:6px 8px;border-bottom:1px solid rgba(255,255,255,.1)!important;border-left:none!important;cursor:pointer;background:transparent!important;border-radius:0!important;margin-bottom:0!important}.search-result-item:hover{background:#ffffff0d!important}.search-result-item:last-child{border-bottom:none!important}.search-result-item.missing-file{opacity:.4;cursor:default}.search-result-item.missing-file:hover{background:transparent!important}.result-line{font-size:12px;color:#fff!important;font-weight:700;line-height:1.3;background:transparent!important}.result-line.result-document{color:#fff!important;font-size:11px;font-weight:400}.no-results{color:#666;font-size:12px;padding:12px 0}.search-result-item .result-type{font-size:12px}.search-result-item .result-label{font-weight:500;color:#ccc}.search-result-item .result-text{color:#666;font-size:11px;margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}.search-input-row{display:flex;gap:6px;align-items:stretch}.search-input-row .search-input{flex:1}.search-case-toggle{background:#333;border:1px solid #555;color:#888;border-radius:6px;padding:0 10px;font-size:13px;font-weight:700;cursor:pointer;flex-shrink:0;outline:none;transition:color .15s,border-color .15s;align-self:stretch}.search-case-toggle:hover{color:#bbb;border-color:#666}.search-case-toggle.active{background:#3498db26;border-color:#3498db;color:#3498db}.search-match-highlight{font-weight:700;background:none!important;border-radius:2px;padding:0 1px}.search-results-counter{font-size:11px;color:#888;padding:6px 0;border-bottom:1px solid #333;margin-bottom:4px}.search-section-header{font-size:10px;color:#fff;font-weight:700;padding:4px 0;border-bottom:1px solid #333;margin-bottom:4px;letter-spacing:.5px;cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:4px}.search-section-header:hover{color:#ccc}.section-arrow{font-size:7px;width:10px;flex-shrink:0}.search-result-item.ocr-result{border-left:none!important}.result-line.ocr-text{font-weight:700}.ocr-separator{margin:0 4px;color:#555}.search-result-item.annotation-result{border-left:none!important}.search-result-group-header{display:flex;align-items:center;gap:6px;padding:6px 8px;cursor:pointer;font-size:12px;color:#aaa;background:#ffffff08;border-bottom:1px solid #333;-webkit-user-select:none;user-select:none}.search-result-group-header:hover{background:#ffffff0f}.search-result-group-header .group-arrow{font-size:8px;width:12px;flex-shrink:0}.search-result-group-header .group-label{flex:1;font-weight:500;color:#ccc}.search-result-group-header .group-count{color:#666;font-size:10px}.search-result-item.active{background:#ffffff14!important;outline:1px solid rgba(255,255,255,.2)}.detected-object-box.highlighted{border-width:3px!important;z-index:150;animation:rainbow-border 1.5s linear infinite,rainbow-glow 1.5s linear infinite,rainbow-fill 1.5s linear infinite}.detected-object-box.highlighted .object-tooltip,.detected-object-box.highlighted .object-box-label-tooltip{display:none!important}.pdf-canvas-container:has(.detected-object-box.highlighted) .detected-object-box:not(.highlighted),.pdf-canvas-container:has(.detected-object-box.highlighted) .hotspot:not(.highlighted),.hotspot-overlay:has(.detected-object-box.highlighted) .detected-object-box:not(.highlighted),.hotspot-overlay:has(.detected-object-box.highlighted) .hotspot:not(.highlighted){opacity:0!important;pointer-events:none!important;transition:opacity .2s}@keyframes rainbow-fill{0%{background:#ff000026}16%{background:#ff880026}33%{background:#ffff0026}50%{background:#00cc4426}66%{background:#0088ff26}83%{background:#aa00ff26}to{background:#ff000026}}@keyframes rainbow-border{0%{border-color:red}16%{border-color:#f80}33%{border-color:#ff0}50%{border-color:#0c4}66%{border-color:#08f}83%{border-color:#a0f}to{border-color:red}}@keyframes rainbow-glow{0%{box-shadow:0 0 8px 2px #ff000080}16%{box-shadow:0 0 8px 2px #ff880080}33%{box-shadow:0 0 8px 2px #ffff0080}50%{box-shadow:0 0 8px 2px #00cc4480}66%{box-shadow:0 0 8px 2px #0088ff80}83%{box-shadow:0 0 8px 2px #aa00ff80}to{box-shadow:0 0 8px 2px #ff000080}}.detected-object-box.highlighted .object-box-label{animation:rainbow-label 1.5s linear infinite;color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.5)}@keyframes rainbow-label{0%{background:red}16%{background:#f80}33%{background:#cc0}50%{background:#0a4}66%{background:#08f}83%{background:#a0f}to{background:red}}.detected-object-box.selected{outline:2px solid #00bcd4!important;outline-offset:1px;box-shadow:0 0 6px #00bcd466;z-index:120}.detected-object-box.selected:after{content:"✓";position:absolute;top:-8px;right:-8px;width:16px;height:16px;background:#00bcd4;color:#fff;font-size:10px;line-height:16px;text-align:center;border-radius:50%;z-index:11;pointer-events:none}.class-checkbox-label{display:flex;align-items:center;flex:1;cursor:pointer;color:#fff;font-size:13px}.class-checkbox-label input{margin:0 8px 0 0}.view-panel{width:320px}.view-panel .panel-content{padding:16px}.view-mode-options{display:flex;flex-direction:column;gap:12px}.view-mode-option{display:flex;align-items:flex-start;gap:12px;padding:12px;border:2px solid #444;border-radius:8px;cursor:pointer;transition:all .2s;background:#333}.view-mode-option:hover{border-color:#3498db;background:#3a3a3a}.view-mode-option.selected{border-color:#3498db;background:#3a4a5a}.view-mode-option input[type=radio]{margin-top:4px}.view-mode-content{display:flex;flex-direction:column;gap:2px}.view-mode-icon{font-size:20px}.view-mode-label{font-weight:600;font-size:14px;color:#fff}.view-mode-desc{font-size:12px;color:#888}.view-mode-options-simple{display:flex;flex-direction:column;gap:2px}.view-mode-option-simple{display:flex;align-items:center;gap:8px;padding:5px 0;border:1px solid transparent;border-radius:6px;cursor:pointer;transition:all .15s;background:transparent;color:#ccc;font-size:13px}.view-mode-option-simple:hover{background:#ffffff08;color:#3498db}.view-mode-option-simple:hover svg{stroke:#3498db}.view-mode-option-simple.selected{color:#3498db;background:transparent}.view-mode-option-simple.disabled{opacity:.5;cursor:not-allowed}.view-mode-option-simple.disabled:hover{background:transparent}.view-mode-option-simple input[type=radio]{display:none}.continuous-sub-options{display:flex;gap:4px;padding:0;margin:0 0 4px;width:100%}.view-mode-sub-option{display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;border:none;border-radius:4px;outline:none;cursor:pointer;transition:all .15s;background:transparent;color:#ccc;font-weight:500;font-size:13px;flex:1}.view-mode-sub-option:hover{background:#ffffff08}.view-mode-sub-option.selected{color:#3498db;background:#3498db14;font-weight:600}.view-mode-sub-option input[type=radio]{display:none}.view-mode-tip-small{font-size:11px;color:#888;margin:8px 0 0;padding:0}.view-preferences{display:flex;flex-direction:column;gap:10px}.view-pref-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.view-pref-row:last-child{margin-bottom:0}.view-pref-row label{font-size:13px;color:#ccc}.view-pref-row .checkbox-input{width:18px;height:18px;cursor:pointer;accent-color:#3498db}.color-input-small{width:60px;height:28px;padding:0;border:1px solid #444;border-radius:4px;cursor:pointer;background:transparent}.color-input-small::-webkit-color-swatch-wrapper{padding:2px}.color-input-small::-webkit-color-swatch{border-radius:2px;border:none}.option-description{font-size:12px;color:#888;margin:0 0 12px}.buffer-selector{display:flex;gap:8px}.buffer-btn{width:40px;height:40px;border:2px solid #444;border-radius:8px;background:#333;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;color:#fff}.buffer-btn:hover{border-color:#3498db;background:#3a3a3a}.buffer-btn.selected{border-color:#3498db;background:#3498db;color:#fff}.buffer-info{font-size:12px;color:#888;margin-top:12px;padding:8px;background:#333;border-radius:4px}.smart-link-behavior-list{font-size:13px;color:#888;margin:0;padding-left:20px}.smart-link-behavior-list li{margin-bottom:8px}.smart-link-behavior-list strong{color:#3498db}.continuous-view-container{display:flex;flex-direction:column;height:100%;background:#1a1a2e;overflow:hidden}.continuous-scroll-wrapper{flex:1;display:flex;gap:2px;padding:20px;overflow:auto;align-items:flex-start}.continuous-scroll-wrapper::-webkit-scrollbar{width:5px;height:5px}.continuous-scroll-wrapper::-webkit-scrollbar-track{background:#2a2a2a}.continuous-scroll-wrapper::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.continuous-scroll-wrapper::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.continuous-page{flex-shrink:0;display:flex;flex-direction:column;background:transparent;overflow:visible;cursor:default;content-visibility:auto}.viewer-content.pan-cursor .pdf-infinite-container,.viewer-content.pan-cursor .pdf-infinite-container *,.viewer-content.pan-cursor .pdf-container,.viewer-content.pan-cursor .pdf-container *,.viewer-content.pan-cursor .pdf-container-continuous,.viewer-content.pan-cursor .pdf-container-continuous *,.viewer-content.pan-cursor .continuous-view-container,.viewer-content.pan-cursor .continuous-view-container *,.viewer-content.pan-cursor .continuous-scroll-wrapper,.viewer-content.pan-cursor .continuous-scroll-wrapper *,.viewer-content.pan-cursor .pdf-canvas-container,.viewer-content.pan-cursor .pdf-canvas-container *{cursor:grab!important}.viewer-content.panning-cursor .pdf-infinite-container,.viewer-content.panning-cursor .pdf-infinite-container *,.viewer-content.panning-cursor .pdf-container,.viewer-content.panning-cursor .pdf-container *,.viewer-content.panning-cursor .pdf-container-continuous,.viewer-content.panning-cursor .pdf-container-continuous *,.viewer-content.panning-cursor .continuous-view-container,.viewer-content.panning-cursor .continuous-view-container *,.viewer-content.panning-cursor .continuous-scroll-wrapper,.viewer-content.panning-cursor .continuous-scroll-wrapper *,.viewer-content.panning-cursor .pdf-canvas-container,.viewer-content.panning-cursor .pdf-canvas-container *{cursor:grabbing!important}.continuous-page-canvas-wrapper{position:relative;background:#fff}.continuous-page-canvas-wrapper canvas{display:block}.continuous-page-overlay{position:absolute;top:0;left:0;pointer-events:none}.continuous-page-overlay .hotspot-box,.continuous-page-overlay .detected-object-box{pointer-events:all}.continuous-page-overlay .detected-object-box.circle-shape{border-radius:50%}.continuous-page-overlay .hotspot-box{position:absolute;border:2px solid #27ae60;background:#27ae6026;cursor:pointer;transition:all .2s}.continuous-page-overlay .hotspot-box:hover{background:#27ae604d;border-width:3px}.continuous-page-overlay .hotspot-box.linked{border-color:#27ae60}.continuous-page-overlay .hotspot-box.unlinked{border-color:#e74c3c;background:#e74c3c26}.continuous-page-overlay .hotspot-box.unlinked:hover{background:#e74c3c4d}.continuous-object{border-width:1px!important;font-size:8px!important;pointer-events:all}.continuous-object .object-box-label{font-size:8px!important;padding:1px 3px!important}.continuous-object.hovered{z-index:50;border-color:#3498db!important;border-width:2px!important;box-shadow:0 0 8px #3498db80}.continuous-object-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#000000e6;color:#fff;padding:8px 12px;border-radius:6px;font-size:12px;white-space:nowrap;z-index:100;pointer-events:none;margin-bottom:5px;box-shadow:0 2px 10px #0000004d}.continuous-object-tooltip .tooltip-hint{font-size:10px;color:#aaa;margin-top:4px}.viewer-content.markup-drawing-active .detected-object-box,.viewer-content.markup-drawing-active .hotspot-box,.viewer-content.markup-drawing-active .continuous-object,.viewer-content.markup-drawing-active .drawn-region-box,.viewer-content.markup-drawing-active .ocr-result-box{pointer-events:none!important;cursor:crosshair}.continuous-nav-hint{padding:8px 16px;background:#2d2d44;color:#88a;font-size:12px;text-align:center;border-top:1px solid #3d3d5c}.continuous-page-header{padding:8px 16px;background:#3d3d5c;color:#fff;font-size:12px;font-weight:600;text-align:center;display:flex;justify-content:space-between;align-items:center}.page-controls{display:flex;gap:4px}.page-control-btn{width:22px;height:22px;border:none;border-radius:4px;background:#ffffff1a;color:#fff;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.page-control-btn:hover{background:#fff3}.page-control-btn.remove-btn:hover{background:#e74c3c}.page-selector-dropdown{position:absolute;top:100%;left:50%;transform:translate(-50%);background:#2d2d44;border-radius:8px;padding:12px;z-index:100;box-shadow:0 4px 20px #0006;min-width:200px}.page-selector-header{color:#aaa;font-size:11px;margin-bottom:8px;text-transform:uppercase}.page-selector-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin-bottom:8px}.page-num-btn{padding:6px;border:1px solid #4a4a6a;border-radius:4px;background:#3d3d5c;color:#fff;font-size:12px;cursor:pointer;transition:all .2s}.page-num-btn:hover{background:#4a4a6a;border-color:#3498db}.page-num-btn.current{background:#3498db;border-color:#3498db}.page-num-input{width:100%;padding:6px;border:1px solid #4a4a6a;border-radius:4px;background:#3d3d5c;color:#fff;font-size:12px;text-align:center;grid-column:span 5}.page-num-input::placeholder{color:#888}.page-selector-close{width:100%;padding:8px;border:none;border-radius:4px;background:#4a4a6a;color:#fff;font-size:12px;cursor:pointer}.page-selector-close:hover{background:#5a5a7a}.continuous-add-group{flex-shrink:0;display:flex;flex-direction:column;gap:4px;align-self:center;opacity:.3;transition:opacity .2s}.continuous-add-group:hover{opacity:1}.continuous-add-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;width:40px;min-height:80px;background:transparent;border:1px dashed #5a5a7a;border-radius:4px;color:#88a;cursor:pointer;transition:all .2s;font-size:18px}.continuous-add-btn:hover:not(:disabled){background:#3498db1a;border-color:#3498db;color:#3498db}.continuous-add-btn:disabled{opacity:.2;cursor:not-allowed}.continuous-add-btn.add-doc{background:transparent;border-color:#3d6a8c}.continuous-add-btn.add-doc:hover:not(:disabled){background:#4a9aca1a;border-color:#4a9aca;color:#4a9aca}.continuous-add-btn .add-icon{font-size:18px;line-height:1}.continuous-add-btn .add-label{display:none}.continuous-page-header .header-info{display:flex;flex-direction:column;align-items:flex-start;gap:2px;overflow:hidden}.continuous-page-header .doc-name{font-size:10px;opacity:.8;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.continuous-page-header .page-label{font-size:12px}.document-picker-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.document-picker-modal{background:#2d2d44;border-radius:12px;width:400px;max-width:90vw;max-height:70vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0006}.picker-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #3d3d5c}.picker-header h3{margin:0;color:#fff;font-size:16px}.picker-header .close-btn{background:none;border:none;color:#888;font-size:24px;cursor:pointer;padding:0;line-height:1}.picker-header .close-btn:hover{color:#fff}.picker-search{padding:12px 16px;border-bottom:1px solid #3d3d5c}.picker-search input{width:100%;padding:10px 12px;border:1px solid #4a4a6a;border-radius:6px;background:#1a1a2e;color:#fff;font-size:14px}.picker-search input::placeholder{color:#666}.picker-search input:focus{outline:none;border-color:#3498db}.picker-file-list{flex:1;overflow-y:auto;padding:8px}.picker-file-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:6px;cursor:pointer;transition:background .2s}.picker-file-item:hover{background:#3d3d5c}.picker-file-item .file-icon{font-size:20px}.picker-file-item .file-name{color:#fff;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-empty{padding:24px;text-align:center;color:#888;font-size:14px}.training-modal{width:580px;max-width:90vw;max-height:85vh;display:flex;flex-direction:column}.training-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #eee;flex-shrink:0}.training-modal .modal-header h2{margin:0;font-size:18px}.training-modal-tabs{display:flex;border-bottom:1px solid #eee;padding:0 16px;flex-shrink:0}.training-modal-tabs button{flex:1;padding:14px 8px;border:none;background:none;cursor:pointer;font-size:14px;font-weight:500;color:#666;border-bottom:3px solid transparent;transition:all .2s}.training-modal-tabs button:hover:not(:disabled){background:#f5f5f5;color:#333}.training-modal-tabs button.active{color:#3498db;border-bottom-color:#3498db}.training-modal-tabs button:disabled{opacity:.5;cursor:not-allowed}.training-modal-content{flex:1;overflow-y:auto;padding:20px}.training-mode-section{display:flex;flex-direction:column;gap:16px}.mode-description{margin:0;padding:16px;background:linear-gradient(135deg,#e8f4fd,#f0f7ff);border-radius:8px;font-size:13px;color:#2c3e50;line-height:1.5;border:1px solid #d0e8f7}.mode-description strong{display:block;font-size:15px;margin-bottom:8px;color:#1a5276}.mode-description p{margin:0 0 12px}.mode-features{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:6px}.mode-features li{font-size:12px;color:#34495e}.mode-features li:last-child{color:#e67e22}.training-modal .form-group{display:flex;flex-direction:column;gap:8px}.training-modal .form-group label{font-weight:600;font-size:13px;color:#333}.training-modal .form-group select,.training-modal .form-group input[type=text]{padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px}.training-modal .form-group select:focus,.training-modal .form-group input[type=text]:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db33}.training-modal .form-group input[type=range]{width:100%;margin-top:4px}.form-hint{font-size:11px;color:#666;margin-top:4px}.radio-group{display:flex;flex-direction:column;gap:8px}.radio-option{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#f8f9fa;border-radius:6px;cursor:pointer;transition:background .2s}.radio-option:hover{background:#e9ecef}.radio-option input[type=radio]{margin:0}.radio-option span{font-size:13px}.pdf-selector{max-height:250px;display:flex;flex-direction:column}.pdf-search-input{margin-bottom:8px}.pdf-list{flex:1;overflow-y:auto;border:1px solid #ddd;border-radius:6px;max-height:150px}.pdf-checkbox{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;border-bottom:1px solid #eee;transition:background .2s}.pdf-checkbox:last-child{border-bottom:none}.pdf-checkbox:hover{background:#f5f5f5}.pdf-checkbox input[type=checkbox]{margin:0;flex-shrink:0}.pdf-checkbox .pdf-name{flex:1;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-checkbox .pdf-count{font-size:12px;color:#666;flex-shrink:0}.selected-count{margin-top:8px;font-size:12px;color:#666;text-align:right}.training-summary-box{padding:14px;border-radius:8px;border:1px solid}.training-summary-box.optimal{background:#d4edda;border-color:#c3e6cb}.training-summary-box.optimal strong,.training-summary-box.optimal p{color:#155724}.training-summary-box.ready{background:#fff3cd;border-color:#ffeeba}.training-summary-box.ready strong,.training-summary-box.ready p{color:#856404}.training-summary-box.not-ready{background:#f8d7da;border-color:#f5c6cb}.training-summary-box.not-ready strong,.training-summary-box.not-ready p{color:#721c24}.training-summary-box strong{display:block;margin-bottom:8px;font-size:13px}.training-summary-box p{margin:0 0 4px;font-size:14px;line-height:1.6}.training-summary-box .warning{color:#c0392b;font-weight:500}.training-summary-box .info{color:#f39c12}.training-summary-box .success{color:#27ae60;font-weight:500}.training-summary-box .time-estimate{font-size:12px;opacity:.8;margin-top:8px;padding-top:8px;border-top:1px solid rgba(0,0,0,.1)}.info-text{margin:0;padding:12px 14px;background:#fff3cd;border:1px solid #ffeeba;border-radius:6px;font-size:13px;color:#856404}.training-progress{padding:16px;background:#e8f4fd;border-radius:8px;border:1px solid #bee5eb}.progress-status{font-size:13px;color:#0c5460;margin-bottom:10px;font-weight:500}.progress-bar{height:8px;background:#d1ecf1;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#3498db,#2ecc71);border-radius:4px;transition:width .3s ease}.training-progress-container{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;padding:20px;color:#fff;margin-top:8px}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.progress-title{font-size:14px;font-weight:600}.progress-epoch{font-size:12px;background:#fff3;padding:4px 10px;border-radius:12px}.progress-bar-container{display:flex;align-items:center;gap:12px}.progress-bar-track{flex:1;height:10px;background:#ffffff4d;border-radius:5px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#2ecc71,#27ae60);border-radius:5px;transition:width .5s ease;box-shadow:0 0 10px #2ecc7180}.progress-percent{font-size:14px;font-weight:700;min-width:45px;text-align:right}.progress-tip{margin-top:12px;font-size:11px;opacity:.9;text-align:center}.background-training-indicator{position:fixed;bottom:20px;right:20px;width:320px;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026,0 0 0 1px #0000000d;z-index:10000;overflow:hidden;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.background-training-indicator.complete{border-left:4px solid #27ae60}.background-training-indicator.error{border-left:4px solid #e74c3c}.background-training-indicator.training,.background-training-indicator.preparing,.background-training-indicator.starting{border-left:4px solid #3498db}.training-indicator-content{padding:14px 16px}.training-indicator-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.training-indicator-icon{font-size:20px}.training-indicator-title{flex:1;font-weight:600;font-size:14px;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.training-indicator-close{width:24px;height:24px;border:none;background:#f0f0f0;border-radius:50%;cursor:pointer;font-size:16px;color:#666;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.training-indicator-close:hover{background:#e0e0e0;color:#333}.training-indicator-progress{height:6px;background:#e9ecef;border-radius:3px;overflow:hidden;margin-bottom:8px}.training-indicator-progress-fill{height:100%;background:linear-gradient(90deg,#3498db,#2ecc71);border-radius:3px;transition:width .5s ease}.training-indicator-details{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#666}.training-indicator-epoch{background:#e8f4fd;padding:2px 8px;border-radius:10px;color:#2980b9;font-weight:500}.training-indicator-success{font-size:13px;color:#27ae60}.training-indicator-error{font-size:12px;color:#e74c3c;word-break:break-word}.training-modal .modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px;padding-top:16px;border-top:1px solid #eee}.training-modal .cancel-btn{padding:10px 20px;border:1px solid #ddd;background:#fff;border-radius:6px;cursor:pointer;font-size:14px;transition:background .2s}.training-modal .cancel-btn:hover:not(:disabled){background:#f5f5f5}.training-modal .cancel-btn:disabled{opacity:.5;cursor:not-allowed}.training-modal .primary-btn{padding:10px 20px;border:none;background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.training-modal .primary-btn:hover:not(:disabled){background:linear-gradient(135deg,#2980b9,#1f6dad);transform:translateY(-1px);box-shadow:0 2px 8px #3498db4d}.training-modal .primary-btn:disabled{background:#bdc3c7;cursor:not-allowed;transform:none;box-shadow:none}.scope-cards{display:flex;flex-direction:column;gap:8px}.scope-card{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;transition:all .2s}.scope-card:hover{background:#e9ecef;border-color:#dee2e6}.scope-card.selected{background:#e3f2fd;border-color:#2196f3}.scope-card-icon{font-size:24px;flex-shrink:0}.scope-card-content{flex:1}.scope-card-title{font-weight:600;font-size:14px;color:#333}.scope-card-count{font-size:12px;color:#666;margin-top:2px}.scope-card-radio{flex-shrink:0}.scope-card-radio input[type=radio]{width:18px;height:18px;cursor:pointer}.pdf-selector-expanded{background:#f8f9fa;border-radius:8px;padding:12px;border:1px solid #e9ecef}.pdf-selector-expanded .pdf-search-input{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;margin-bottom:10px;box-sizing:border-box}.pdf-list-improved{max-height:200px;overflow-y:auto;border:1px solid #ddd;border-radius:6px;background:#fff}.pdf-list-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid #eee;cursor:pointer;transition:background .15s}.pdf-list-item:last-child{border-bottom:none}.pdf-list-item:hover{background:#f5f5f5}.pdf-list-item.checked{background:#e3f2fd}.pdf-list-item.no-objects{opacity:.6}.pdf-list-item input[type=checkbox]{width:16px;height:16px;flex-shrink:0;cursor:pointer}.pdf-item-name{flex:1;font-size:13px;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-item-count{font-size:11px;color:#999;flex-shrink:0;padding:2px 8px;background:#f0f0f0;border-radius:10px}.pdf-item-count.has-objects{background:#e8f5e9;color:#2e7d32}.pdf-selection-summary{display:flex;justify-content:space-between;margin-top:10px;padding-top:10px;border-top:1px solid #e9ecef;font-size:12px}.selection-count{color:#666}.selection-objects{color:#2196f3;font-weight:600}.hierarchical-class-selector{display:flex;flex-direction:column;gap:10px;margin-bottom:16px;padding:12px;background:#f8f9fa;border-radius:8px}.hierarchical-class-selector .form-row{display:flex;align-items:center;gap:12px}.hierarchical-class-selector .form-row label{min-width:80px;font-weight:500;color:#555;font-size:13px}.hierarchical-class-selector select{flex:1;padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;background:#fff}.hierarchical-class-selector select:focus{border-color:#3498db;outline:none;box-shadow:0 0 0 2px #3498db33}.selected-class-display{padding:10px 12px;background:#e8f4fd;border:1px solid #3498db;border-radius:6px;margin-top:8px;display:flex;align-items:center;gap:8px}.selected-class-display .class-path-label{font-size:12px;color:#666}.selected-class-display .class-path{font-weight:600;color:#2980b9;font-size:14px}.selected-class-display .class-shape-badge{margin-left:auto;padding:4px 10px;background:#f0f7ff;border:1px solid #3498db;border-radius:12px;font-size:12px;color:#2980b9;display:flex;align-items:center;gap:4px}.subclass-indicator{color:#999;margin-right:4px}.hierarchical-option{background:#f0f7ff;padding:10px;border-radius:6px;margin-top:8px}.hierarchical-option label{display:flex;align-items:center;gap:8px;cursor:pointer}.hierarchical-option input[type=checkbox]{width:16px;height:16px}.hierarchical-option .option-hint{display:block;margin-top:4px;margin-left:24px;font-size:11px;color:#666}.hierarchical-training-info{background:#fff8e6;border:1px solid #f0c36d;border-radius:6px;padding:12px;margin-top:8px;font-size:12px}.hierarchical-training-info p{margin:0 0 8px}.hierarchical-training-info ol{margin:0;padding-left:20px}.hierarchical-training-info li{margin:4px 0;color:#666}.subclass-badge{background:#9b59b6;color:#fff;font-size:10px;padding:2px 6px;border-radius:3px;margin-left:4px}.original-class-badge{background:#95a5a6;color:#fff;font-size:9px;padding:1px 4px;border-radius:3px;margin-left:4px;opacity:.7}.subclass-training-info{margin-top:12px;padding:12px;background:#fff8e6;border:1px solid #f0c36d;border-radius:8px;font-size:13px}.subclass-training-info p{margin:0 0 8px}.subclass-training-info .subclass-hint{color:#666;font-size:12px;margin-top:8px;margin-bottom:0}.subclass-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.subclass-chip{padding:4px 10px;background:#3498db;color:#fff;border-radius:12px;font-size:12px;font-weight:500}.subclass-region-modal{position:relative;display:flex;flex-direction:column;overflow:hidden}.subclass-region-modal.resizable{resize:none}.resize-handle{position:absolute;background:transparent;z-index:100}.resize-handle-e{right:0;top:0;bottom:0;width:8px;cursor:ew-resize}.resize-handle-s{bottom:0;left:0;right:0;height:8px;cursor:ns-resize}.resize-handle-se{right:0;bottom:0;width:16px;height:16px;cursor:nwse-resize;background:linear-gradient(135deg,transparent 50%,#ccc 50%);border-radius:0 0 8px}.resize-handle-se:hover{background:linear-gradient(135deg,transparent 50%,#3498db 50%)}.subclass-dialog-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #eee;flex-shrink:0}.subclass-dialog-header h2{margin:0;font-size:20px;font-weight:600}.current-subclass-name{color:#e74c3c;background:#fdf2f2;padding:2px 10px;border-radius:4px}.subclass-progress{background:#f0f0f0;padding:6px 14px;border-radius:20px;font-size:13px;color:#666;font-weight:500}.subclass-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;flex-shrink:0}.subclass-tab{padding:8px 16px;border:2px solid #ddd;background:#fff;border-radius:20px;cursor:pointer;font-size:13px;font-weight:500;transition:all .15s;display:flex;align-items:center;gap:6px}.subclass-tab:hover{border-color:#3498db;background:#f8fbff}.subclass-tab.active{border-color:#e74c3c;background:#fdf2f2;color:#e74c3c}.subclass-tab.completed{border-color:#27ae60;background:#f0fff4}.subclass-tab .tab-check{color:#27ae60;font-weight:700}.subclass-region-modal .instruction-text{margin:0 0 16px;font-size:14px;color:#555;flex-shrink:0}.subclass-zoom-controls{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-shrink:0}.subclass-zoom-controls button{padding:6px 12px;border:1px solid #ddd;background:#f8f9fa;border-radius:4px;cursor:pointer;font-size:14px}.subclass-zoom-controls button:hover{background:#e9ecef}.subclass-zoom-controls span{min-width:50px;text-align:center;font-size:13px;color:#666}.subclass-image-container{position:relative;flex:1;min-height:200px;background:#f0f0f0;border:2px solid #e0e0e0;border-radius:8px;overflow:auto;cursor:crosshair;-webkit-user-select:none;user-select:none}.subclass-image-wrapper{position:relative;display:inline-block;min-width:100%;min-height:100%}.subclass-object-image{display:block;min-width:100%;height:auto;width:auto;pointer-events:none;transform-origin:top left}.no-image-placeholder{display:flex;align-items:center;justify-content:center;height:300px;color:#999;font-size:16px}.subclass-draw-rect{position:absolute;border:3px solid #e74c3c;background:#e74c3c26;pointer-events:none;transition:opacity .15s}.subclass-draw-rect.current{border-color:#e74c3c;background:#e74c3c33;z-index:10}.subclass-draw-rect.other{border-color:#27ae60;background:#27ae6026;border-style:solid;opacity:.7}.subclass-draw-rect.drawing{border-style:dashed}.subclass-draw-rect .region-label{position:absolute;top:-22px;left:0;background:#e74c3c;color:#fff;padding:2px 8px;font-size:11px;font-weight:600;border-radius:3px;white-space:nowrap}.subclass-draw-rect.other .region-label{background:#27ae60}.subclass-status{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding:10px 14px;background:#f8f9fa;border-radius:6px;font-size:13px}.status-done{color:#27ae60;font-weight:500}.status-pending{color:#888}.regions-count{color:#666;font-weight:500}.subclass-region-modal .modal-actions{margin-top:20px;display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.subclass-region-modal .secondary-btn{padding:10px 20px;background:#95a5a6;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px}.subclass-region-modal .secondary-btn:hover{background:#7f8c8d}.subclass-region-modal .save-btn{background:#27ae60}.subclass-region-modal .save-btn:hover{background:#219a52}.training-box.has-subclass-region{position:relative}.training-box .subclass-region-indicator{position:absolute;border:2px dashed #9b59b6;background:#9b59b64d;pointer-events:none}.subclass-region-indicator{position:absolute;border:2px dashed #9b59b6;background:#9b59b633;pointer-events:none}.subclass-region-name{position:absolute;bottom:-16px;left:0;background:#9b59b6;color:#fff;padding:1px 4px;font-size:9px;font-weight:600;border-radius:2px;white-space:nowrap}.link-item{cursor:pointer;padding:8px;border-radius:4px;transition:background .15s}.link-item:hover{background:#f5f5f5}.link-item-main{display:flex;justify-content:space-between;align-items:center}.subclass-values{margin-top:6px;padding-top:6px;border-top:1px solid #eee}.subclass-value-item{display:flex;gap:6px;font-size:12px;padding:2px 0}.subclass-key{color:#666;font-weight:500;min-width:80px}.subclass-val{color:#333;flex:1;word-break:break-word}.ocr-text-display{margin-top:4px;font-size:12px;color:#666;font-style:italic}.view-mode-select{padding:4px 8px;font-size:11px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer}.view-mode-select:hover{border-color:#3498db}.save-to-project-btn{padding:4px 8px;font-size:12px;background:#27ae60;color:#fff;border:none;border-radius:4px;cursor:pointer}.save-to-project-btn:hover{background:#219a52}.section-header-buttons{display:flex;gap:6px;align-items:center}.result-subclass-values{display:block;font-size:11px;color:#666;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detected-object-box.subclass-box{border-width:2px;border-style:solid}.subclass-box-label{position:absolute;top:-18px;left:0;font-size:10px;padding:1px 4px;color:#fff;border-radius:2px;white-space:nowrap;max-width:150px;overflow:hidden;text-overflow:ellipsis}.object-tooltip.floating-tooltip{position:absolute;z-index:1000;background:#000000e6;color:#fff;padding:8px 12px;border-radius:6px;font-size:12px;pointer-events:none;min-width:150px}.open-infinite-btn{margin-top:12px;width:100%}.continuous-options{margin:12px 0;padding:12px;background:#f5f8ff;border-radius:8px;border:1px solid #e0e8f5}.direction-label{display:block;font-size:12px;color:#666;margin-bottom:8px}.direction-buttons{display:flex;gap:8px}.direction-btn{flex:1;padding:8px 12px;border:2px solid #ddd;background:#fff;border-radius:6px;font-size:13px;cursor:pointer;transition:all .15s}.direction-btn:hover{border-color:#3498db;background:#f8fbff}.direction-btn.selected{border-color:#3498db;background:#3498db;color:#fff}.continuous-view-container{background:#2a2a3e;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) #2a2a2a}.continuous-view-container::-webkit-scrollbar{width:6px;height:6px}.continuous-view-container::-webkit-scrollbar-track{background:#2a2a2a}.continuous-view-container::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.continuous-view-container::-webkit-scrollbar-thumb:hover{background:#ffffff59}.continuous-view-container.vertical{flex-direction:column}.continuous-view-container.horizontal{flex-direction:row}.continuous-page{background:#fff;position:relative}.continuous-page img{-webkit-user-select:none;user-select:none}.page-number-badge{position:absolute;bottom:10px;right:10px;background:#000000b3;color:#fff;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.continuous-loading{display:flex;flex-direction:column;align-items:center;gap:16px;color:#fff;padding:40px}.loading-spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.2);border-top-color:#3498db;border-radius:50%;animation:spin 1s linear infinite}.view-mode-indicator{position:absolute;top:55px;left:50%;transform:translate(-50%);background:#3498dbe6;color:#fff;padding:6px 16px;border-radius:20px;font-size:12px;font-weight:500;z-index:100;pointer-events:none}.view-mode-tip{margin-top:16px;padding:12px;background:#2a3a4a;border-radius:8px;font-size:12px;color:#5dade2;line-height:1.4}.markup-tools{display:flex;gap:8px;flex-wrap:wrap}.markup-tool-btn{width:40px;height:40px;border:1px solid #ddd;border-radius:8px;background:#fff;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:all .2s}.markup-tool-btn:hover{background:#f5f5f5;border-color:#999}.markup-tool-btn.active{background:#e3f2fd;border-color:#2196f3;box-shadow:0 0 0 2px #2196f333}.markup-colors{display:flex;gap:8px;flex-wrap:wrap}.markup-color-btn{width:28px;height:28px;border-radius:50%;cursor:pointer;transition:transform .2s}.markup-color-btn:hover{transform:scale(1.15)}.markup-color-btn.active{box-shadow:0 0 0 3px #2196f380}.markup-stroke-slider{width:100%;margin:8px 0}.markup-stroke-value{font-size:12px;color:#666}.markup-list{margin:8px 0}.no-markups{color:#999;font-size:13px;font-style:italic}.markup-count{color:#333;font-size:13px}.clear-markups-btn{width:100%;padding:8px 12px;background:#fff;border:1px solid #e74c3c;color:#e74c3c;border-radius:6px;cursor:pointer;font-size:13px;margin-top:8px;transition:all .2s}.clear-markups-btn:hover{background:#e74c3c;color:#fff}.clear-markups-btn:disabled{opacity:.5;cursor:not-allowed}.clear-markups-btn:disabled:hover{background:#fff;color:#e74c3c}.markup-save-options{display:flex;flex-direction:column;gap:8px}.markup-save-btn{width:100%;padding:10px 12px;background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:6px}.markup-save-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #3498db4d}.markup-save-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.markup-save-btn.flatten{background:linear-gradient(135deg,#9b59b6,#8e44ad)}.markup-save-btn.flatten:hover:not(:disabled){box-shadow:0 4px 12px #9b59b64d}.save-hint{margin-top:8px;font-size:11px;color:#666;line-height:1.5;padding:8px;background:#f9f9f9;border-radius:4px}.save-hint strong{color:#333}.markup-overlay{z-index:5}.markup-overlay.select-active [data-markup-id]{cursor:pointer;pointer-events:all}.markup-overlay.select-active .selection-handle,.markup-overlay.select-active .rotate-handle{pointer-events:all}.continuous-view-embedded{flex:1;display:flex;flex-direction:column;overflow:hidden}.continuous-view-embedded>div{flex:1;display:flex;flex-direction:column}.continuous-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#bdc3c7;font-size:14px;gap:8px}.continuous-documents{display:flex;gap:0;padding:0}.continuous-documents.horizontal{flex-direction:row;align-items:flex-start}.continuous-documents.vertical{flex-direction:column;align-items:center}.continuous-doc-wrapper{display:flex;align-items:center}.continuous-doc-wrapper.vertical{flex-direction:column}.continuous-add-zone{display:flex;align-items:center;justify-content:center;padding:0;position:relative}.continuous-add-btn{width:24px;height:24px;border-radius:50%;border:2px dashed #7f8c8d;background:transparent;color:#7f8c8d;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;opacity:.5}.continuous-add-btn:hover{opacity:1;border-color:#3498db;color:#3498db;background:#3498db1a}.continuous-add-menu{position:absolute;top:100%;left:50%;transform:translate(-50%);background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000004d;z-index:1000;min-width:220px;max-height:300px;overflow-y:auto}.add-menu-header{padding:10px 14px;font-weight:600;font-size:12px;color:#7f8c8d;border-bottom:1px solid #eee;text-transform:uppercase}.add-menu-empty{padding:20px;text-align:center;color:#999;font-size:13px}.add-menu-item{display:block;width:100%;padding:10px 14px;border:none;background:#fff;text-align:left;cursor:pointer;font-size:13px;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .15s}.add-menu-item:hover{background:#e8f4ff}.continuous-doc{background:#fff;border-radius:6px;box-shadow:0 2px 12px #0003;overflow:hidden}.continuous-doc-header{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:#34495e;color:#fff;font-size:11px;gap:8px}.continuous-doc-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.continuous-doc-nav{display:flex;align-items:center;gap:4px;flex-shrink:0}.continuous-doc-nav button{background:#4a6278;border:none;color:#fff;padding:3px 6px;border-radius:3px;cursor:pointer;font-size:10px;transition:background .15s}.continuous-doc-nav button:hover:not(:disabled){background:#3498db}.continuous-doc-nav button:disabled{opacity:.4;cursor:not-allowed}.continuous-doc-page{padding:0 4px;font-size:10px;min-width:40px;text-align:center}.continuous-doc-remove{background:#c0392b!important;margin-left:4px}.continuous-doc-remove:hover{background:#e74c3c!important}.continuous-doc-canvas{background:#f5f5f5;display:block}.continuous-doc-canvas canvas{display:block}.continuous-hotspot{position:absolute;border:2px solid;cursor:pointer;transition:all .2s;box-sizing:border-box}.continuous-hotspot:hover{filter:brightness(1.2);box-shadow:0 0 10px currentColor}.continuous-object{position:absolute;border:2px solid;cursor:pointer;transition:all .2s;box-sizing:border-box}.continuous-object:hover{filter:brightness(1.1);box-shadow:0 0 8px currentColor}.continuous-object.highlighted{animation:rainbow-border 1.5s linear infinite,rainbow-glow 1.5s linear infinite,rainbow-fill 1.5s linear infinite;border-width:3px!important}.continuous-object.highlighted .continuous-object-tooltip{display:none!important}.continuous-view-options{margin-top:16px;padding-top:16px;border-top:1px solid #eee}.continuous-view-options h4{margin:12px 0 8px;font-size:13px;color:#333}.continuous-view-options h4:first-child{margin-top:0}.layout-toggle{display:flex;gap:8px}.layout-toggle button{flex:1;padding:8px 12px;border:1px solid #ddd;background:#fff;border-radius:6px;cursor:pointer;font-size:13px;transition:all .2s}.layout-toggle button:hover{background:#f5f5f5}.layout-toggle button.active{background:#e3f2fd;border-color:#2196f3;color:#1976d2}.continuous-zoom-slider{width:100%}.continuous-file-list{max-height:150px;overflow-y:auto;border:1px solid #eee;border-radius:6px;margin-bottom:8px}.continuous-file-item{display:flex;align-items:center;padding:8px 10px;border-bottom:1px solid #eee;font-size:12px}.continuous-file-item:last-child{border-bottom:none}.continuous-file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remove-continuous-file{background:none;border:none;color:#e74c3c;cursor:pointer;font-size:16px;padding:0 4px}.remove-continuous-file:hover{color:#c0392b}.add-file-btn{width:100%;padding:10px;background:#3498db;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px;transition:background .2s}.add-file-btn:hover{background:#2980b9}.panel-section-label{font-size:14px;font-weight:600;color:#fff;margin-bottom:10px;padding-left:2px}.panel-nav-links{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.nav-link-btn{flex:1 1 calc(33% - 4px);min-width:70px;padding:8px 6px;background:none;border:none;border-radius:6px;cursor:pointer;font-size:12px;font-weight:500;color:#ccc;text-align:center}.nav-link-btn:hover{color:#fff}.draw-type-popup{background:transparent;border:none;border-radius:8px;padding:12px;margin-top:10px;box-shadow:none}.draw-type-popup .popup-label{font-size:14px;color:#fff;margin:0 0 12px;font-weight:700;text-transform:none;letter-spacing:0}.draw-type-buttons{display:flex;gap:6px;margin-bottom:0}.draw-type-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .2s;color:#fff}.draw-type-btn:hover,.draw-type-btn.selected{color:#3498db}.draw-type-btn .type-name{font-size:12px;font-weight:600;color:inherit;transition:color .2s}.popup-cancel-btn{width:100%;padding:6px 12px;background:transparent;border:none;border-radius:4px;cursor:pointer;font-size:12px;color:#8899a6;transition:all .2s}.popup-cancel-btn:hover{background:transparent;color:#3498db}.current-draw-type{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;background:transparent;border:1px solid #4a5568;border-radius:6px;margin:8px 0;font-size:12px;color:#ccd6dd}.current-draw-type strong{color:#fff}.change-type-btn{padding:3px 8px;background:transparent;border:1px solid #5a7080;border-radius:4px;cursor:pointer;font-size:11px;color:#8899a6;transition:all .2s}.change-type-btn:hover{background:transparent;border-color:#5a7080;color:#ccd6dd}.markup-tool-btn.select-btn{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff;border:none}.markup-tool-btn.select-btn:hover{background:linear-gradient(135deg,#42a5f5,#2196f3)}.markup-tool-btn.select-btn.active{background:linear-gradient(135deg,#1565c0,#0d47a1);box-shadow:inset 0 2px 4px #0003}.selected-markup-props{background:#f0f7ff;border-radius:8px;padding:12px;margin-bottom:12px;border:1px solid #c5dff8}.selected-markup-props h4{margin:0 0 12px;color:#1976d2;font-size:13px;padding-bottom:8px;border-bottom:1px solid #c5dff8}.selected-markup-props .prop-row{display:flex;align-items:center;margin-bottom:10px;gap:8px}.selected-markup-props .prop-row label{font-size:12px;color:#555;min-width:50px}.selected-markup-props .prop-row input[type=range]{flex:1;height:6px}.delete-markup-btn{width:100%;padding:8px 12px;background:#fff;border:1px solid #e74c3c;color:#e74c3c;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;margin-top:8px;transition:all .2s}.delete-markup-btn:hover{background:#e74c3c;color:#fff}.markup-selection .resize-handle{cursor:pointer;transition:fill .15s}.markup-selection .resize-handle:hover{fill:var(--selection-color, #42a5f5)}.markup-overlay path.selected,.markup-overlay rect.selected,.markup-overlay ellipse.selected,.markup-overlay text.selected,.markup-overlay line.selected{stroke-opacity:1;paint-order:stroke}.select-mode-hint{font-size:11px;color:#666;font-style:italic;margin-top:8px;padding:8px;background:#f9f9f9;border-radius:4px;line-height:1.4}.shortcut-hint{display:inline-block;background:#e0e0e0;padding:2px 6px;border-radius:3px;font-family:monospace;font-size:11px;margin-left:4px}.markup-list-panel{border:1px solid #e0e0e0;border-radius:8px;background:#fafafa;padding:12px!important;margin-top:10px}.markup-list-panel h4{margin-top:0;margin-bottom:10px;font-size:14px;color:#333}.markup-list-items{border:1px solid #e0e0e0;border-radius:4px;background:#fff;overflow:hidden}.markup-list-item{transition:background .15s ease}.markup-list-item:hover{background:#f5f5f5!important}.markup-list-item.selected{background:#e3f2fd!important;border-left:3px solid #3498db}.markup-list-filters button.active{background:#3498db!important;color:#fff!important}.markup-tools button:disabled{opacity:.4;cursor:not-allowed}.note-modal{animation:slideIn .2s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.sticky-note-marker{cursor:pointer;transition:transform .15s ease}.sticky-note-marker:hover{transform:scale(1.1)}.note-popup{background:#ffeb3b;padding:10px;border-radius:4px;box-shadow:0 2px 10px #00000026;font-size:12px;max-width:200px;word-wrap:break-word}.note-popup-header{font-size:10px;color:#00000080;margin-bottom:4px;font-weight:700}.markup-comments{margin-top:10px;padding-top:10px;border-top:1px solid #eee}.markup-comments h5{font-size:12px;margin:0 0 8px;color:#666}.comment-item{background:#f9f9f9;padding:8px;border-radius:4px;margin-bottom:6px;font-size:11px}.comment-item .comment-header{display:flex;justify-content:space-between;margin-bottom:4px;font-size:10px;color:#999}.comment-item .comment-text{color:#333}.comment-input-container{display:flex;gap:6px;margin-top:8px}.comment-input-container input{flex:1;padding:6px 8px;border:1px solid #ddd;border-radius:4px;font-size:11px}.comment-input-container button{padding:6px 10px;border:none;border-radius:4px;background:#3498db;color:#fff;font-size:11px;cursor:pointer}.inline-text-edit{border:2px solid #3498db;border-radius:4px;padding:4px 8px;background:#fff;outline:none;min-width:100px;box-shadow:0 2px 8px #00000026}.cloud-preview{stroke-dasharray:4 4;animation:dash .5s linear infinite}@keyframes dash{to{stroke-dashoffset:-8}}.callout-tail{fill:#ffffffe6}.markup-tools .markup-tool-btn{position:relative}.markup-tools .markup-tool-btn[title]:hover:after{content:attr(title);position:absolute;bottom:-25px;left:50%;transform:translate(-50%);background:#333;color:#fff;padding:3px 8px;border-radius:3px;font-size:10px;white-space:nowrap;z-index:100}.author-input-row{display:flex;align-items:center;gap:8px;padding:8px 0;border-top:1px solid #eee;margin-top:8px}.author-input-row label{font-size:12px;color:#666}.author-input-row input{flex:1;padding:4px 8px;border:1px solid #ddd;border-radius:4px;font-size:12px}.polyline-point{cursor:pointer;transition:r .15s ease}.polyline-point:hover{r:8}.polyline-close-hint{fill:#27ae60;font-weight:700;pointer-events:none}.undo-redo-counter{position:absolute;top:-4px;right:-4px;background:#e74c3c;color:#fff;font-size:9px;padding:1px 4px;border-radius:8px;min-width:12px;text-align:center}.markup-list-item.hovered{background:#f0f7ff!important}.markup-save-btn{position:relative;overflow:hidden}.markup-save-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.markup-save-btn:hover:before{left:100%}.pdf-toolbar-markup{justify-content:space-between;padding:6px 12px;background:#1a1a1a;border-top:1px solid rgba(255,255,255,.06);border-bottom:none;overflow:visible;position:relative;z-index:50}.markup-toolbar-left{display:none}.markup-toolbar-right{display:flex;align-items:center;justify-content:flex-end}.pdf-toolbar-markup.toolbar-align-left .markup-toolbar-left{display:none}.pdf-toolbar-markup.toolbar-align-left .markup-toolbar-right{margin-left:auto}.pdf-toolbar-markup.toolbar-align-center{justify-content:center}.pdf-toolbar-markup.toolbar-align-center .markup-toolbar-left{display:block;flex:1;min-width:0}.pdf-toolbar-markup.toolbar-align-center .markup-toolbar-right{flex:1}.pdf-toolbar-markup.toolbar-align-right{justify-content:flex-end}.pdf-toolbar-markup.toolbar-align-right .markup-toolbar-left{display:block;flex:1;min-width:0}.pdf-toolbar-markup.toolbar-align-right .markup-toolbar-right{margin-left:12px}.pdf-toolbar-options.toolbar-align-left{justify-content:flex-start}.pdf-toolbar-options.toolbar-align-center{justify-content:center}.pdf-toolbar-options.toolbar-align-right{justify-content:flex-end}.pdf-toolbar .markup-tb-lock-btn{background:transparent;border:none;color:#fff9;font-size:13px;padding:4px 10px;cursor:pointer;white-space:nowrap;transition:color .15s;flex-shrink:0;outline:none}.pdf-toolbar .markup-tb-lock-btn:hover{background:transparent;color:#ffffffe6}.markup-tb-lock-btn:focus,.markup-tb-lock-btn:focus-visible{outline:none;box-shadow:none}.markup-tb-lock-btn.unlocked{color:#27ae60}.markup-tb-lock-btn.unlocked:hover{color:#2ecc71}.markup-tb-lock-btn:disabled{opacity:.3;cursor:not-allowed}.bottom-toolbar-docname{color:#fff;font-size:12px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}.markup-toolbar-tools{display:flex;align-items:center;gap:10px;flex-shrink:0}.pdf-viewer-area.toolbar-overflow-active{overflow-x:visible;overflow-y:clip}.pdf-toolbar-markup.toolbar-compact .markup-toolbar-tools{gap:3px}.pdf-toolbar-markup.toolbar-compact .markup-tb-btn{padding:4px;min-width:24px}.pdf-toolbar-markup.toolbar-compact .markup-tb-btn svg{width:19px;height:19px}.pdf-toolbar-markup.toolbar-compact .markup-tb-divider{margin:0 1px}.pdf-toolbar-markup.toolbar-compact .markup-tb-lock-btn{font-size:11px;padding:3px 8px}.pdf-toolbar-markup .markup-tb-btn svg{stroke-width:2.2}.pdf-toolbar-markup .markup-tb-btn{position:relative;background:transparent;color:#fffffff2;border:none;padding:5px 6px;border-radius:4px;cursor:pointer;font-size:13px;transition:all .15s ease;min-width:28px;outline:none;display:flex;align-items:center;justify-content:center}.markup-tb-label{font-size:9px;font-weight:500;letter-spacing:.3px;opacity:.7;line-height:1}.pdf-toolbar-markup.has-labels .markup-tb-btn{flex-direction:column;gap:2px;padding:4px 8px}.pdf-toolbar-markup .markup-tb-btn:hover{color:#5dade2}.pdf-toolbar-markup .markup-tb-btn.active{color:#3498db;background:transparent}.pdf-toolbar-markup .markup-tb-btn:disabled{opacity:.35;cursor:not-allowed}.pdf-toolbar-markup .markup-tb-btn:disabled:hover{background:transparent;transform:none;box-shadow:none}.pdf-toolbar-markup .markup-tb-btn:focus,.pdf-toolbar-markup .markup-tb-btn:focus-visible{outline:none;box-shadow:none}.markup-tb-color-dot{position:absolute;bottom:1px;left:50%;transform:translate(-50%);width:5px;height:5px;border-radius:50%;pointer-events:none;box-shadow:0 0 3px #00000080}.pdf-toolbar-markup.markup-toolbar-disabled{position:relative}.markup-toolbar-disabled .markup-tb-btn{opacity:.3}.markup-tb-divider{width:1px;height:18px;background:#ffffff1a;margin:0 2px;flex-shrink:0}.markup-toolbar-options{display:flex;align-items:center;gap:8px;font-size:12px;color:#ccc}.markup-toolbar-options label{color:#999}.markup-toolbar-options input[type=color]{width:28px;height:28px;border:1px solid #555;border-radius:4px;cursor:pointer;background:transparent}.markup-toolbar-options input[type=range]{width:80px;cursor:pointer}.markup-toolbar-options span{min-width:30px;color:#aaa}.pdf-toolbar-options{justify-content:space-between;padding:4px 16px;background:#1a1a1a;min-height:40px;overflow:visible}.tool-options-row{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;white-space:nowrap;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#555 #333}.tool-options-row::-webkit-scrollbar{width:5px;height:5px}.tool-options-row::-webkit-scrollbar-track{background:transparent}.tool-options-row::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.tool-options-row::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.tool-option{display:flex;align-items:center;gap:4px}.tool-option label{font-size:11px;color:#999;white-space:nowrap}.tool-option input[type=color]{width:24px;height:24px;border:1px solid #555;border-radius:4px;cursor:pointer;background:transparent;padding:0}.tool-option input[type=range]{width:120px;cursor:pointer;accent-color:#3498db}.tool-option span{font-size:10px;color:#aaa;min-width:20px}.tool-option .manual-input{width:40px;padding:2px 4px;background:#333;color:#fff;border:1px solid #555;border-radius:4px;font-size:11px;text-align:center}.tool-option .manual-input::-webkit-inner-spin-button,.tool-option .manual-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.tool-option .manual-input[type=number]{-moz-appearance:textfield}.tool-option .manual-input:focus{outline:none;border-color:#3498db}.tool-option select{padding:2px 6px;background:#333;color:#fff;border:1px solid #555;border-radius:4px;font-size:11px;cursor:pointer}.tool-option .size-dropdown{padding:3px 8px;min-width:65px;font-size:12px;border-radius:4px;background:#2a2a2a;border:1px solid #555;color:#fff;outline:none;text-align:center}.tool-option .size-dropdown:focus{outline:none;border-color:#555}.tool-option select:focus{outline:none}.text-align-popup{position:fixed;background:#2a2a2a;border:1px solid #444;border-radius:6px;padding:8px 10px;z-index:10000;min-width:140px;box-shadow:0 4px 12px #0006}.text-align-popup-section{margin-bottom:8px}.text-align-popup-section:last-child{margin-bottom:0}.text-align-popup-label{font-size:10px;color:#fff;font-weight:700;display:block;margin-bottom:4px;letter-spacing:.3px}.text-align-popup-btns{display:flex;gap:3px}.text-align-popup-btn{padding:3px 8px;background:#444;border:none;border-radius:3px;color:#ccc;cursor:pointer;font-size:11px;flex:1;text-align:center}.text-align-popup-btn:hover{background:#555}.text-align-popup-btn.active{background:#3498db;color:#fff}.text-align-popup .size-dropdown{background:#333;color:#fff;border:1px solid #444;border-radius:3px;padding:3px 6px;font-size:11px;outline:none}.border-style-list{display:flex;flex-direction:column;gap:1px}.border-style-row{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:3px;cursor:pointer;font-size:11px;color:#aaa}.border-style-row:hover{background:#444}.border-style-row.active{background:#3a3a3a;color:#fff}.border-style-row svg{flex-shrink:0}.fill-toggle,.pdf-toolbar .fill-toggle,.tool-options-row .fill-toggle{padding:0!important;background:#333;color:#aaa;border:1px solid #555;border-radius:4px;cursor:pointer;font-size:12px;transition:all .2s;width:24px;height:24px;min-width:24px;text-align:center;align-self:center;line-height:22px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center}.fill-toggle:hover{background:#3a3a3a}.fill-toggle.active{background:#333!important;border:1px solid #555!important;color:#aaa}.set-default-btn,.pdf-toolbar .set-default-btn,.tool-options-row .set-default-btn{padding:2px 6px!important;background:#3a3a3a;color:#999;border:1px solid #4a4a4a;border-radius:3px;cursor:pointer;font-size:9px;margin-left:auto;transition:all .2s;white-space:nowrap;align-self:center;height:auto;line-height:1;box-sizing:border-box}.set-default-btn:hover{background:#4a4a4a;color:#ccc;border-color:#5a5a5a}.tool-hint{font-size:11px;color:#888;font-style:italic}.selected-markup-label,.pdf-toolbar .selected-markup-label,.tool-options-row .selected-markup-label{font-size:10px;color:#3498db;font-weight:600;padding:1px 6px;background:#3498db26;border-radius:3px;margin-right:8px;white-space:nowrap;align-self:center;height:auto;line-height:1.3}.delete-selected-btn,.pdf-toolbar .delete-selected-btn,.tool-options-row .delete-selected-btn{padding:2px 6px!important;background:#e74c3c;color:#fff;border:none;border-radius:3px;cursor:pointer;font-size:9px;margin-left:auto;transition:all .2s;white-space:nowrap;align-self:center;height:auto;line-height:1;box-sizing:border-box}.delete-selected-btn:hover{background:#c0392b}.pdf-container-continuous{display:flex;flex-direction:column;overflow-anchor:none;will-change:scroll-position}.pdf-continuous-page{content-visibility:auto}.pdf-continuous-page:hover{box-shadow:0 4px 16px #0000004d!important}.pdf-container.is-scrolling .pdf-continuous-page,.pdf-container.is-scrolling .pdf-continuous-page:hover,.pdf-container.is-scrolling .pdf-sidebyside-page,.pdf-container.is-scrolling .pdf-sidebyside-page:hover{box-shadow:0 2px 8px #00000026!important;pointer-events:none}.pdf-container.is-scrolling .markup-overlay,.pdf-container.is-scrolling .hotspot-overlay{visibility:hidden}.pdf-container.is-zooming-continuous .pdf-continuous-page,.pdf-container.is-zooming-continuous .pdf-continuous-page:hover{box-shadow:0 2px 8px #00000026!important;pointer-events:none}.pdf-container.is-zooming-continuous .markup-overlay,.pdf-container.is-zooming-continuous .hotspot-overlay{visibility:hidden}.pdf-container.is-zooming-continuous .zoom-transform-inner{will-change:transform}.pdf-container-sidebyside{display:flex;justify-content:center;align-items:flex-start}.pdf-sidebyside-wrapper{width:100%}.pdf-sidebyside-page{transition:box-shadow .2s ease}.pdf-sidebyside-page:hover{box-shadow:0 4px 16px #0000004d!important}.view-mode-option.disabled{opacity:.5;cursor:not-allowed}.view-mode-option.disabled:hover{background:transparent}.view-mode-indicator{font-size:11px;color:#888;padding:4px 8px;background:#0003;border-radius:4px;margin-left:8px}.region-assign-modal{max-width:450px;background:#2d3436!important;border:1px solid #4a5568!important;box-shadow:0 8px 32px #00000080!important}.region-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #4a5568}.region-assign-modal h2{color:#fff!important;margin:0!important;font-size:17px;font-weight:700;display:flex;align-items:center}.region-assign-modal h2 svg{color:#fff}.region-modal-close{background:transparent;border:none;color:#8899a6;font-size:22px;cursor:pointer;padding:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .15s}.region-modal-close:hover{background:#3d4f5f;color:#e1e8ed}.region-assign-modal .region-no-types{background:transparent}.region-assign-modal .region-no-types p{color:#fff!important;font-size:13px;font-weight:700}.region-assign-modal .region-no-types strong{color:#fff}.region-assign-modal .region-form .form-group{margin-bottom:16px}.region-assign-modal .region-form .form-group label{display:block;margin-bottom:6px;font-weight:700;color:#fff;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.region-assign-modal .region-form .form-group select,.region-assign-modal .region-form .form-group input[type=text]{width:100%;padding:10px 12px;border:1px solid #4a5568;border-radius:6px;font-size:14px;box-sizing:border-box;background:#1e272e;color:#e1e8ed;transition:border-color .2s}.region-assign-modal .region-form .form-group select:focus,.region-assign-modal .region-form .form-group input[type=text]:focus{outline:none;border-color:#6b7c8a;box-shadow:0 0 0 2px #6b7c8a26}.region-assign-modal .region-form .form-group select option{background:#1e272e;color:#e1e8ed}.region-assign-modal .region-form .form-group input[type=text]::placeholder{color:#5a6a7a}.region-hint{font-size:11px;color:#6b8a9e!important;margin-top:4px;display:block}.region-color-row{display:flex;gap:16px;align-items:center}.region-color-picker{display:flex;align-items:center;gap:6px}.region-color-label{font-size:13px;font-weight:700;color:#fff}.region-color-input{width:32px!important;height:28px!important;padding:0!important;border:1px solid #4a5568!important;border-radius:4px!important;cursor:pointer;background:transparent!important}.region-assign-modal .modal-actions{margin-top:20px;padding-top:14px;border-top:1px solid #4a5568}.region-assign-modal .modal-actions button:first-child{background:#354148;color:#fff;border:1px solid #4a5568;padding:8px 18px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:700;transition:all .15s}.region-assign-modal .modal-actions button:first-child:hover{background:#3d5a6e;color:#fff}.region-assign-modal .modal-actions .primary-btn{background:#27ae60;color:#fff;border:1px solid #2ecc71;padding:8px 18px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:700;transition:all .15s}.region-assign-modal .modal-actions .primary-btn:hover{background:#219a52;border-color:#27ae60;color:#fff}.region-assign-modal .modal-actions .primary-btn:disabled{background:#2d2d35;color:#5a5a6a;border-color:#3a3a45;cursor:not-allowed}.drawn-region-box{box-sizing:border-box}.drawn-region-box.circle{border-radius:50%}.region-box-label{z-index:10}.draw-type-btn.region-type{border:none}.draw-type-btn.region-type:hover{color:#3498db}.draw-type-btn.region-type.selected{color:#3498db;background:transparent;box-shadow:none}.current-draw-type.region-mode{background:transparent;border-color:#4a5568}.current-draw-type.region-mode strong{color:#fff}.stats-mini .stat-item{display:flex;flex-direction:column;align-items:center;flex:1;padding:12px 8px;background:#333;border-radius:8px}.stats-mini .stat-label{font-size:11px;color:#888;margin-top:4px}.page-summary{font-size:12px;color:#888;margin-bottom:12px}.model-dropdown{position:relative;flex:1}.model-dropdown-btn{display:flex;align-items:center;width:100%;padding:4px 8px;background:#1a1a1a;border:1px solid #444;border-radius:4px;color:#ccc;font-size:12px;cursor:pointer;gap:6px;text-align:left;outline:none}.model-dropdown-btn:hover,.model-dropdown-btn.open{border-color:#666}.model-dropdown-btn:disabled{opacity:.5;cursor:default}.model-dropdown-value{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#ddd}.model-dropdown-btn.has-selection .model-dropdown-value{color:#ddd}.model-dropdown-chevron{flex-shrink:0;transition:transform .15s;color:#888}.model-dropdown-btn.open .model-dropdown-chevron{transform:rotate(180deg)}.model-dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#1a1a1a;border:1px solid #555;border-radius:4px;z-index:100;box-shadow:0 4px 12px #0006;overflow:hidden}.model-dropdown-search{width:100%;padding:8px 10px;background:#222;border:none;border-bottom:1px solid #444;color:#ddd;font-size:13px;outline:none;box-sizing:border-box}.model-dropdown-list{max-height:240px;overflow-y:auto;padding:4px 0}.model-dropdown-list::-webkit-scrollbar{width:5px}.model-dropdown-list::-webkit-scrollbar-track{background:transparent}.model-dropdown-list::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.model-dropdown-item{display:flex;align-items:center;gap:8px;padding:7px 10px;cursor:pointer;font-size:13px;color:#ccc}.model-dropdown-item:hover{background:#ffffff0f}.model-dropdown-item.selected{background:#3498db1a}.model-dropdown-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-dropdown-empty{display:block;padding:10px;color:#666;font-size:13px;font-style:italic}.model-dropdown-actions{display:flex;gap:4px;padding:5px 6px;border-top:1px solid #444}.model-dropdown-actions button{flex:1;padding:5px 0;background:transparent;border:none;border-radius:3px;color:#ddd;font-size:12px;cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent}.model-dropdown-actions button:hover{background:#ffffff14;color:#fff}.model-dropdown-actions button:focus,.model-dropdown-actions button:focus-visible,.model-dropdown-actions button:active{outline:none;box-shadow:none;background:transparent;color:#ddd}.model-dropdown-actions .model-dropdown-cancel{color:#999}.model-dropdown-actions .model-dropdown-cancel:hover{background:#ffffff0f;color:#ccc}.model-dropdown-actions .model-dropdown-done{color:#3498db;font-weight:600}.model-dropdown-actions .model-dropdown-done:hover{background:#3498db1f;color:#5dade2}.detection-results .detection-results-list{max-height:300px;overflow-y:auto}.detection-results .detection-results-list::-webkit-scrollbar{width:5px}.detection-results .detection-results-list::-webkit-scrollbar-track{background:transparent}.detection-results .detection-results-list::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.detection-results .detection-results-list::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.result-class-group{margin-bottom:4px}.result-class-header{display:flex;align-items:center;gap:6px;padding:6px 8px;cursor:pointer;border-radius:4px;font-size:13px;color:#fff;font-weight:500;-webkit-user-select:none;user-select:none}.result-class-header:hover{background:#333}.result-class-header .collapse-icon{font-size:10px;color:#888;width:12px;flex-shrink:0}.result-class-header .class-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-class-header .class-count{color:#888;font-weight:400;font-size:12px;flex-shrink:0}.result-class-items{padding-left:12px}.result-item{display:flex;align-items:center;gap:8px;padding:5px 8px;cursor:pointer;border-radius:4px;font-size:12px;color:#ccc;transition:background .15s}.result-item:hover{background:#3a3a3a}.result-item.highlighted{background:#3498db33}.result-item .result-page{color:#888;font-size:11px;flex-shrink:0;white-space:nowrap}.result-item .result-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-item .result-confidence{color:#888;font-size:11px;flex-shrink:0}.pdf-overlay-container,.pdf-canvas-wrapper{will-change:transform;contain:layout style;transform:translateZ(0)}.detected-object-box{will-change:transform,left,top,width,height;contain:layout style;backface-visibility:hidden}.hotspot-box,.hotspot,.drawn-region-box{will-change:transform;contain:layout style;backface-visibility:hidden}.training-box,.training-box-wrapper{will-change:transform;contain:layout style}.markup-overlay{contain:strict}.pdf-container{scroll-behavior:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;overflow-anchor:none}.pdf-continuous-wrapper{contain:layout}.pdf-canvas-wrapper canvas,.pdf-container canvas{transform:translateZ(0);image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.pdf-container.is-zooming-continuous canvas{image-rendering:auto!important}.object-tooltip,.hotspot-tooltip,.region-tooltip{contain:layout style paint;will-change:opacity}.resize-handle{contain:strict}.pdf-container.is-panning *,.pdf-container.is-zooming *,.pdf-infinite-container.is-panning *,.pdf-infinite-container.is-zooming *{pointer-events:none!important}.pdf-container.is-panning canvas,.pdf-container.is-zooming canvas,.pdf-infinite-container.is-panning canvas,.pdf-infinite-container.is-zooming canvas{pointer-events:auto!important}.markup-overlay path,.markup-overlay rect,.markup-overlay ellipse,.markup-overlay line,.markup-overlay polygon,.markup-overlay g{shape-rendering:auto}.markup-overlay.is-drawing{shape-rendering:optimizeSpeed}.markup-overlay foreignObject{isolation:isolate}.markup-context-menu{transition:opacity .1s ease-out}.markup-context-menu button:focus{outline:none;background:#f5f5f5}.drawn-region-box{transition:background-color .15s,border-color .15s,box-shadow .15s}.drawn-region-box:hover{box-shadow:0 0 0 2px #3498db4d}svg polygon[style*="cursor: pointer"]:hover{filter:brightness(1.1)}.markup-multi-selection{pointer-events:none}[data-markup-id]{will-change:transform}.symbol-markup{pointer-events:none}.symbol-markup svg{width:100%;height:100%}.markup-hovered{filter:drop-shadow(0 0 3px rgba(52,152,219,.8)) drop-shadow(0 0 6px rgba(52,152,219,.4))}.markup-hovered path,.markup-hovered rect,.markup-hovered ellipse,.markup-hovered line,.markup-hovered polygon,.markup-hovered polyline{stroke-opacity:1!important}[data-markup-id]{transition:filter .1s ease-out}.markup-highlighted{animation:markup-pulse 1.2s ease-in-out infinite}@keyframes markup-pulse{0%,to{opacity:.5}50%{opacity:1}}.hotspot-context-menu-overlay{position:fixed;inset:0;z-index:10000}.hotspot-context-menu{position:fixed;background:#fff;border-radius:10px;box-shadow:0 8px 32px #0003,0 2px 8px #0000001a;min-width:220px;max-width:300px;overflow:hidden;z-index:10001;animation:contextMenuFadeIn .15s ease}@keyframes contextMenuFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.hotspot-context-menu .context-menu-header{padding:12px 14px;font-weight:600;font-size:13px;color:#333;background:#f8f9fa;border-bottom:1px solid #eee;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hotspot-context-menu .context-menu-section{padding:8px 14px}.hotspot-context-menu .context-menu-label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#888;margin-bottom:4px}.hotspot-context-menu .context-menu-value{font-size:12px;color:#333;word-break:break-word}.hotspot-context-menu .context-menu-value.broken{color:#e74c3c}.hotspot-context-menu .context-menu-status{font-size:12px;font-weight:500}.hotspot-context-menu .context-menu-status.linked{color:#27ae60}.hotspot-context-menu .context-menu-status.property-assigned{color:#3498db}.hotspot-context-menu .context-menu-status.unlinked{color:#f39c12}.hotspot-context-menu .context-menu-status.broken{color:#e74c3c}.hotspot-context-menu .context-menu-divider{height:1px;background:#eee;margin:4px 0}.hotspot-context-menu .context-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:none;background:none;font-size:13px;color:#333;cursor:pointer;text-align:left;transition:background .1s}.hotspot-context-menu .context-menu-item:hover{background:#f0f4f8}.hotspot-context-menu .context-menu-item.delete{color:#e74c3c}.hotspot-context-menu .context-menu-item.delete:hover{background:#fde8e8}.hotspot-context-menu .context-menu-item svg{flex-shrink:0}.hotspot-context-menu.object-context-menu{overflow:hidden;max-width:320px}.submenu-arrow{margin-left:auto;font-size:10px;opacity:.5}.context-menu-model-list{background:#f5f6f8;border-top:1px solid #eee;border-bottom:1px solid #eee;padding:2px 0}.context-menu-model-item{padding-left:32px!important;font-size:12px!important}.context-menu-item .context-submenu{display:none}.context-menu-item:hover>.context-submenu{display:block}.hotspot.property-assigned{border-color:#9b59b6!important;background:#9b59b626!important}.hotspot.property-assigned:hover{background:#9b59b640!important}.hotspot.property-assigned .hotspot-label,.hotspot-label.property-assigned{background:#9b59b6;color:#fff}.ocr-panel .ocr-result-item{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;border-bottom:1px solid #eee;cursor:pointer;transition:background-color .15s ease}.ocr-panel .ocr-result-item:hover{background-color:#f5f5f5}.ocr-panel .ocr-text{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;color:#333;word-break:break-all}.ocr-panel .run-ocr-btn{width:100%;margin-top:8px}.quick-filter-btn:hover{background:#e9e9e9;border-color:#ccc}.filter-type-options{margin-top:8px;display:flex;gap:12px}.filter-type-options label{font-size:12px;display:flex;align-items:center;gap:4px;cursor:pointer}.filter-type-options input[type=radio]{margin:0}.ocr-panel .export-btn{margin-top:8px}.ocr-text-overlay.ocr-partial-match{background:transparent!important;border:none!important;box-shadow:none!important}.ocr-list-item{display:flex;align-items:center;gap:4px;padding:4px 6px;border-bottom:1px solid rgba(255,255,255,.05);cursor:pointer;transition:background-color .15s;font-size:11px}.ocr-list-item:hover{background:#ffffff0f}.ocr-list-item.highlighted{background:#ff980026;border-left:2px solid #ff9800}.ocr-list-item .ocr-item-text{flex:1;color:#ddd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.ocr-list-item .ocr-item-conf{font-size:9px;padding:1px 4px;border-radius:3px;flex-shrink:0}.ocr-list-item .ocr-item-conf.high{background:#27ae6033;color:#2ecc71}.ocr-list-item .ocr-item-conf.medium{background:#f39c1233;color:#f39c12}.ocr-list-item .ocr-item-conf.low{background:#e74c3c33;color:#e74c3c}.ocr-list-item .ocr-item-actions{display:flex;gap:2px;opacity:0;transition:opacity .15s;flex-shrink:0}.ocr-list-item:hover .ocr-item-actions{opacity:1}.ocr-list-item .ocr-item-actions button{background:none;border:none;color:#ddd;cursor:pointer;padding:2px;border-radius:3px;display:flex;align-items:center}.ocr-list-item .ocr-item-actions button:hover{background:#ffffff1a;color:#ccc}.ocr-text-overlay.ocr-highlighted{outline:2px solid #ff9800!important;background:#ff980040!important;border-radius:3px;z-index:10!important}.vp-check-row{display:flex;align-items:center;gap:8px;padding:5px 0;cursor:pointer;font-size:13px;color:#ccc}.vp-check-row:hover{color:#fff}.vp-check-row input[type=checkbox]{accent-color:#3498db;width:15px;height:15px;flex-shrink:0}.vp-bg-row{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:#ccc}.vp-class-header{display:flex;align-items:center;justify-content:space-between;margin:8px 0 4px;padding-top:6px;border-top:1px solid #333}.vp-class-count{font-size:11px;color:#888}.vp-class-actions{display:flex;gap:2px}.vp-class-actions button{background:transparent;border:1px solid #444;border-radius:3px;color:#888;font-size:10px;padding:2px 8px;cursor:pointer;transition:all .15s}.vp-class-actions button:hover{color:#3498db;border-color:#3498db}.vp-class-list{max-height:200px;overflow-y:auto}.vp-class-search{width:100%;padding:5px 8px;margin:4px 0;background:#111;border:1px solid #333;border-radius:4px;color:#ccc;font-size:12px;outline:none;box-sizing:border-box}.vp-class-search:focus{border-color:#3498db}.vp-class-search::placeholder{color:#555}.pdfv-zoom-settings-btn{display:flex;align-items:center;gap:8px;width:100%;padding:0;margin:0;background:transparent;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:color .15s}.pdfv-zoom-settings-btn+.pdfv-zoom-settings-btn{margin-top:16px}.pdfv-zoom-settings-btn:hover{color:#3498db}.view-settings-list{display:flex;flex-direction:column;gap:8px}.view-settings-btn{display:flex;align-items:center;gap:6px;width:100%;padding:0;margin:0;background:transparent;color:#ddd;border:none;font-size:12px;font-weight:500;cursor:pointer;transition:color .15s;outline:none}.view-settings-btn:hover,.view-settings-btn.active{color:#3498db}.view-display-toggles{display:flex;flex-direction:column;gap:2px}.view-display-toggles .pdfv-setting-row{padding:2px 0}.view-display-toggles .pdfv-setting-row label{font-size:12px}.pdfv-minimap-inline{border:1px solid rgba(255,255,255,.15);border-radius:4px;overflow:hidden;background:#333}.mhp-scope-row{display:flex;gap:12px;padding:0 12px 8px}.mhp-scope-btn{background:transparent;border:none;padding:0;font-size:12px;font-weight:500;color:#888;cursor:pointer;transition:color .15s;outline:none}.mhp-scope-btn:hover{color:#3498db}.mhp-scope-btn.active{color:#3498db;font-weight:600}.mhp-scope-btn:disabled{color:#444;cursor:default}.mhp-sort-row{display:flex;align-items:center;gap:8px;padding:0 12px 8px}.mhp-sort-label{font-size:11px;color:#666;margin-right:2px}.mhp-sort-btn{background:transparent;border:none;padding:0;font-size:11px;font-weight:500;color:#888;cursor:pointer;transition:color .15s;outline:none}.mhp-sort-btn:hover{color:#3498db}.mhp-sort-btn.active{color:#3498db;font-weight:600}.mhp-actions-row{display:flex;align-items:center;justify-content:space-between;padding:0 12px 8px}.mhp-region-btn{display:flex;align-items:center;gap:6px;background:transparent;border:none;padding:0;font-size:12px;font-weight:500;color:#888;cursor:pointer;transition:color .15s;outline:none}.mhp-region-btn:hover,.mhp-region-btn.active{color:#3498db}.mhp-count{font-size:11px;color:#666;margin-left:auto}.mhp-item{padding:10px 12px;background:#1e1e1e;border:1px solid #333;border-radius:5px;cursor:pointer;transition:all .15s}.mhp-item:hover{background:#2a2a2a;border-color:#555}.mhp-item.expanded{background:#252525}.mhp-item-type{font-size:14px;font-weight:700;color:#fff}.mhp-item-author{font-size:13px;font-weight:600;color:#eee;margin-top:3px}.mhp-item-date{font-size:12px;font-weight:600;color:#ccc;margin-top:3px}.mhp-item-details{margin-top:8px;padding-top:8px;border-top:1px solid #3a3a3a;font-size:11px;color:#999;line-height:1.7}.mhp-item-details span{color:#bbb}.mhp-item-text{margin-top:4px;font-style:italic;color:#aaa}.mhp-item-actions{display:flex;gap:6px;margin-top:6px}.mhp-action-btn{background:transparent;border:none;padding:0;font-size:11px;color:#888;cursor:pointer;transition:color .15s}.mhp-action-btn:hover{color:#3498db}.mhp-action-btn.delete{color:#e55}.mhp-action-btn.delete:hover{color:#f66}.mhp-comments-section{margin-top:8px;padding-top:8px;border-top:1px solid #333}.mhp-export-btn{width:100%;padding:6px 8px;background:transparent;border:none;color:#888;font-size:11px;cursor:pointer;transition:color .15s}.mhp-export-btn:hover{color:#3498db}.rp-type-header{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:5px;background:#ffffff0a;-webkit-user-select:none;user-select:none;transition:background .15s}.rp-type-header:hover{background:#ffffff12}.rp-sub-header{display:flex;align-items:center;gap:8px;padding:6px 8px;-webkit-user-select:none;user-select:none;border-radius:4px;transition:background .15s}.rp-sub-header:hover{background:#ffffff0a}.rp-filter-toggle{display:flex;align-items:center;gap:6px;padding:4px 6px;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:3px;transition:background .15s}.rp-filter-toggle:hover{background:#ffffff0a}.rp-filter-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:500;color:#999;background:#ffffff0d;border:1px solid #444;cursor:pointer;transition:all .15s;white-space:nowrap}.rp-filter-chip:hover{background:#ffffff14;border-color:#555;color:#ccc}.rp-filter-chip.active{background:#3498db26;border-color:#3498db;color:#3498db;font-weight:600}.regions-panel-list{display:flex;flex-direction:column;gap:3px}.regions-panel-item{display:flex;align-items:center;gap:8px;padding:6px 8px;background:transparent;border-radius:4px;cursor:pointer;transition:background .15s}.regions-panel-item:hover{background:#ffffff0a}.regions-panel-item-swatch{width:12px;height:12px;border-radius:2px;flex-shrink:0;border:1px solid #444}.regions-panel-item-info{flex:1;min-width:0}.regions-panel-item-name{font-size:12px;color:#ccc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.regions-panel-item-type{font-size:11px;color:#666}.regions-panel-item-delete{background:none;border:none;color:transparent;cursor:pointer;font-size:15px;padding:2px 4px;line-height:1;transition:color .15s}.regions-panel-item:hover .regions-panel-item-delete{color:#666}.regions-panel-item-delete:hover{color:#e55!important}.op-class-header{display:flex;align-items:center;gap:6px;padding:5px 4px;border-radius:4px}.op-sub-header{display:flex;align-items:center;gap:6px;padding:3px 4px;border-radius:3px}.op-object-item{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:3px;cursor:pointer}.op-object-item:hover{background:#ffffff0a}.op-locate-btn{background:none;border:none;color:#555;cursor:pointer;padding:3px;border-radius:3px;display:flex;align-items:center;flex-shrink:0;transition:color .15s}.op-locate-btn:hover{color:#3498db}.op-delete-btn{background:none;border:none;color:#555;cursor:pointer;padding:3px;border-radius:3px;display:flex;align-items:center;flex-shrink:0;transition:color .15s}.op-delete-btn:hover{color:#e55}.op-add-prop-btn{background:none;border:none;color:#555;cursor:pointer;padding:3px;border-radius:3px;display:flex;align-items:center;flex-shrink:0;transition:color .15s}.op-add-prop-btn:hover{color:#3498db}.op-bulk-delete-btn{background:none;border:none;color:#666;cursor:pointer;font-size:10px;display:flex;align-items:center;gap:4px;padding:4px 0;margin-top:2px;transition:color .15s}.op-bulk-delete-btn:hover{color:#e55}.sc-step-row{display:flex;gap:4px;padding:0 0 10px}.sc-step{font-size:10px;color:#555;padding:2px 8px;border-radius:3px;transition:color .15s}.sc-step.active{color:#3498db;background:#3498db1a;font-weight:600}.sc-step.completed{color:#27ae60}.sc-scope-row{display:flex;gap:8px;padding:4px 0 8px}.sc-filter-group{border-bottom:1px solid #2a2a2a}.sc-filter-header{display:flex;justify-content:space-between;align-items:center;padding:8px 0;cursor:pointer;font-size:12px;color:#aaa;transition:color .15s;-webkit-user-select:none;user-select:none}.sc-filter-header:hover{color:#ddd}.sc-filter-content{max-height:150px;overflow-y:auto;padding-bottom:6px}.sc-filter-option{display:flex;align-items:center;gap:6px;padding:3px 0;font-size:11px;color:#bbb;cursor:pointer}.sc-filter-option:hover{color:#fff}.sc-filter-option input[type=checkbox]{accent-color:#3498db;width:13px;height:13px;flex-shrink:0}.sc-color-swatch{width:14px;height:14px;border-radius:3px;border:1px solid #555;flex-shrink:0}.sc-filter-count{color:#555;margin-left:auto;font-size:10px}.sc-match-count{font-size:12px;color:#3498db;padding:8px 0 4px;font-weight:600}.sc-preview-list{max-height:200px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.sc-preview-item{display:flex;align-items:center;gap:6px;padding:4px 6px;background:#1a1a1a;border-radius:3px;font-size:11px;color:#bbb;cursor:pointer}.sc-preview-item:hover{background:#222}.sc-preview-item.excluded{opacity:.3}.sc-preview-item input[type=checkbox]{accent-color:#3498db;width:12px;height:12px;flex-shrink:0}.sc-preview-page{font-size:9px;color:#555;background:#252525;padding:1px 4px;border-radius:2px;flex-shrink:0}.sc-assign-form{display:flex;flex-direction:column;gap:10px;padding:4px 0}.sc-auto-row{display:flex;align-items:center;gap:8px}.sc-nav-row{display:flex;justify-content:space-between;padding:8px 0;gap:8px}.sc-nav-btn{background:none;border:none;color:#888;font-size:12px;cursor:pointer;transition:color .15s;padding:0}.sc-nav-btn:hover{color:#3498db}.sc-nav-btn:disabled{color:#444;cursor:default}.sc-convert-btn{background:#3498db;color:#fff;border:none;padding:8px 16px;border-radius:5px;font-size:12px;font-weight:600;cursor:pointer;width:100%;transition:background .15s}.sc-convert-btn:hover{background:#2980b9}.sc-convert-btn:disabled{opacity:.4;cursor:default}.rp-start-convert-btn{display:flex;align-items:center;gap:6px;width:100%;padding:8px 12px;border-radius:5px;font-size:12px;font-weight:500;color:#ddd;background:#ffffff0a;border:1px solid #444;cursor:pointer;transition:background .15s,border-color .15s}.rp-start-convert-btn:hover{background:#ffffff12;border-color:#555;color:#fff}.sc-result-banner{padding:8px 12px;border-radius:5px;font-size:12px;margin-bottom:8px;display:flex;align-items:center;flex-wrap:wrap}.sc-result-banner.success{background:#27ae6026;color:#27ae60;border:1px solid rgba(39,174,96,.3)}.sc-result-banner.error{background:#e74c3c26;color:#e74c3c;border:1px solid rgba(231,76,60,.3)}.pdfv-crosshair{pointer-events:none;z-index:2}.pdfv-crosshair-h{height:1px;background:#3498db80}.pdfv-crosshair-v{width:1px;background:#3498db80}.pdfv-coordinates{pointer-events:none;z-index:9999;padding:3px 8px;border-radius:4px;background:#000000bf;color:#ddd;font-size:11px;font-family:SF Mono,Cascadia Code,Consolas,monospace;white-space:nowrap}.pdfv-dialog-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000}.pdfv-dialog{background:#1a1a1a;border:1px solid #333;border-radius:12px;width:420px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080}.pdfv-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #333}.pdfv-dialog-header h3{margin:0;font-size:15px;font-weight:600;color:#fff}.pdfv-dialog-close{background:none;border:none;color:#888;font-size:20px;cursor:pointer;padding:0 4px;line-height:1}.pdfv-dialog-close:hover{color:#fff}.pdfv-dialog-body{flex:1;overflow-y:auto;padding:16px 20px}.pdfv-dialog-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid #333}.pdfv-dialog-btn{padding:7px 16px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}.pdfv-dialog-btn.primary{background:#3498db;color:#fff;border:none}.pdfv-dialog-btn.primary:hover{background:#2980b9}.pdfv-dialog-btn.secondary{background:transparent;color:#888;border:1px solid #444}.pdfv-dialog-btn.secondary:hover{color:#ccc;border-color:#666}.pdfv-settings-group{margin-bottom:20px}.pdfv-settings-group:last-child{margin-bottom:0}.pdfv-settings-group-title{font-size:11px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.pdfv-setting-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0}.pdfv-setting-row label{font-size:13px;color:#ccc}.pdfv-setting-control{display:flex;align-items:center;gap:6px}.pdfv-setting-control input[type=range]{width:80px;accent-color:#3498db}.pdfv-setting-control input[type=color]{-webkit-appearance:none;appearance:none;border:none;background:none;padding:0;width:24px;height:24px;cursor:pointer;border-radius:3px}.pdfv-setting-control input[type=color]::-webkit-color-swatch-wrapper{padding:0}.pdfv-setting-control input[type=color]::-webkit-color-swatch{border:1px solid #444;border-radius:3px}.pdfv-segmented-control{display:inline-flex;background:#ffffff0f;border-radius:6px;border:1px solid #3a3a3a;overflow:hidden}.pdfv-segmented-btn{background:transparent;border:none;color:#777;padding:5px 10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;outline:none}.pdfv-segmented-btn:not(:last-child){border-right:1px solid #3a3a3a}.pdfv-segmented-btn:hover{color:#ccc;background:#ffffff0f}.pdfv-segmented-btn.active{color:#3498db;background:#3498db26}.pdfv-setting-hint{font-size:10px;color:#666}.pdfv-setting-value{font-size:11px;color:#888;min-width:32px;text-align:right;font-family:monospace}.pdfv-setting-input{width:48px;padding:2px 4px;font-size:11px;font-family:monospace;color:#ccc;background:#ffffff14;border:1px solid #444;border-radius:4px;text-align:center;outline:none}.pdfv-setting-input:focus{border-color:#3498db}.pdfv-setting-chip{padding:4px 10px;border-radius:4px;font-size:11px;cursor:pointer;border:1px solid #444;background:transparent;color:#888;transition:all .15s}.pdfv-setting-chip:hover{border-color:#666;color:#ccc}.pdfv-setting-chip.active{border-color:#3498db;color:#3498db;background:#3498db1a}.pdfv-toggle-switch{position:relative;display:inline-block;width:30px;height:16px;cursor:pointer}.pdfv-toggle-switch input{opacity:0;width:0;height:0}.pdfv-toggle-track{position:absolute;inset:0;background:#444;border-radius:8px;transition:background .2s}.pdfv-toggle-track:after{content:"";position:absolute;width:12px;height:12px;left:2px;top:2px;background:#fff;border-radius:50%;transition:transform .2s}.pdfv-toggle-switch input:checked+.pdfv-toggle-track{background:#3498db}.pdfv-toggle-switch input:checked+.pdfv-toggle-track:after{transform:translate(14px)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.ai-chat-panel{position:relative;display:flex;flex-direction:column;background:#1a1a1a;border-left:1px solid #333;height:100%;overflow:hidden;flex-shrink:0}.ai-chat-panel.floating{position:fixed;border-radius:8px;border:1px solid #444;box-shadow:0 8px 32px #00000080;z-index:10000;height:auto;border-left:none}.ai-chat-panel.floating .ai-chat-header{cursor:grab;border-radius:8px 8px 0 0}.ai-chat-panel.floating .ai-chat-header:active{cursor:grabbing}.ai-chat-float-resize{position:absolute;bottom:0;right:0;width:16px;height:16px;cursor:nwse-resize;z-index:5}.ai-chat-float-resize:after{content:"";position:absolute;bottom:3px;right:3px;width:8px;height:8px;border-right:2px solid #555;border-bottom:2px solid #555}.ai-chat-float-resize:hover:after{border-color:#3498db}.ai-chat-resize{position:absolute;top:0;left:-2px;width:4px;height:100%;cursor:col-resize;z-index:5}.ai-chat-resize:hover,.ai-chat-resize:active{background:#3498db}.ai-chat-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid #333;flex-shrink:0}.ai-chat-icon-btn{background:none;border:none;color:#888;cursor:pointer;padding:4px 6px;border-radius:4px;font-size:15px;line-height:1}.ai-chat-icon-btn:hover{color:#ddd;background:#333}.ai-chat-settings{padding:8px 12px;border-bottom:1px solid #333;display:flex;flex-direction:column;gap:4px;flex-shrink:0}.ai-chat-settings label{font-size:10px;color:#888;text-transform:uppercase;letter-spacing:.5px;margin-top:2px}.ai-chat-settings select,.ai-chat-settings textarea{width:100%;padding:5px 8px;font-size:11px;background:#2a2a2a;border:1px solid #444;border-radius:4px;color:#ddd;outline:none;font-family:inherit;box-sizing:border-box}.ai-chat-settings textarea{resize:vertical}.ai-chat-refresh-btn{padding:3px 8px;font-size:10px;background:#2a2a2a;border:1px solid #444;border-radius:3px;color:#aaa;cursor:pointer}.ai-chat-offline{padding:10px 12px;margin:6px 10px;border-radius:5px;background:#3a1a1a;border:1px solid #662222;font-size:11px;color:#e88}.ai-chat-offline code{background:#2a1a1a;padding:2px 4px;border-radius:3px;font-size:10px}.ai-chat-messages{flex:1;overflow-y:auto;overflow-x:hidden;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.ai-chat-messages::-webkit-scrollbar{width:4px}.ai-chat-messages::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:2px}.ai-chat-quick{padding:5px 10px;font-size:10px;border-radius:14px;background:#2a2a2a;border:1px solid #444;color:#bbb;cursor:pointer;transition:all .15s}.ai-chat-quick:hover{border-color:#3498db;color:#fff}.ai-chat-bubble{max-width:90%;padding:9px 12px;border-radius:12px;font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.ai-chat-bubble.user{background:#2563eb;color:#fff;border-radius:12px 12px 3px;align-self:flex-end}.ai-chat-bubble.assistant{background:#2a2a2a;color:#ddd;border:1px solid #333;border-radius:12px 12px 12px 3px}.ai-chat-bubble.error{background:#3a1a1a;color:#e88;border:1px solid #662222;border-radius:12px 12px 12px 3px}.ai-chat-dot{width:5px;height:5px;border-radius:50%;background:#888;display:inline-block;animation:aiChatDotPulse 1.2s infinite}@keyframes aiChatDotPulse{0%,60%,to{opacity:.2;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.ai-chat-input-area{padding:8px 12px;border-top:1px solid #333;flex-shrink:0}.ai-chat-textarea{flex:1;padding:9px 11px;font-size:12px;background:#2a2a2a;border:1px solid #444;border-radius:6px;color:#ddd;outline:none;resize:none;font-family:inherit;max-height:80px;overflow-y:auto;box-sizing:border-box}.ai-chat-textarea:focus{border-color:#3498db}.ai-chat-send{padding:9px 13px;background:#2563eb;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;flex-shrink:0;line-height:1}.ai-chat-send:disabled{background:#333;color:#666;cursor:not-allowed}.ai-chat-send.stop{background:#e74c3c}.ai-chat-action-badge{font-size:9px;padding:2px 7px;border-radius:8px;background:#1a3a2a;border:1px solid #2d6a4f;color:#52b788;font-weight:500}.ai-chat-panel button:focus-visible{outline:1px solid #3498db;outline-offset:1px}.scale-confirm-inline{display:flex;gap:6px;transform:translate(-50%)}.scale-confirm-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:50%;cursor:pointer;box-shadow:0 2px 8px #0006;transition:transform .15s,box-shadow .15s}.scale-confirm-btn:hover{transform:scale(1.1);box-shadow:0 3px 12px #00000080}.scale-confirm-tick{background:#4caf50}.scale-confirm-tick:hover{background:#43a047}.scale-confirm-cancel{background:#666}.scale-confirm-cancel:hover{background:#888}.measurement-panel .measurement-panel-scale-label{color:#ccc;font-size:13px;display:block;margin-bottom:4px}.measurement-panel .measurement-panel-list{display:flex;flex-direction:column;gap:2px;max-height:400px;overflow-y:auto}.measurement-panel .measurement-panel-item{display:flex;align-items:center;gap:8px;padding:8px;border-radius:4px;cursor:pointer;transition:background .15s}.measurement-panel .measurement-panel-item:hover{background:#353538}.measurement-panel .measurement-panel-item-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px}.measurement-panel .measurement-panel-item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.measurement-panel .measurement-panel-item-label{color:#ddd;font-size:13px;font-weight:500}.measurement-panel .measurement-panel-item-perimeter{color:#777;font-size:11px}.measurement-panel .measurement-panel-item-delete{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:3px;background:transparent;color:#666;font-size:16px;cursor:pointer;opacity:0;transition:opacity .15s,background .15s,color .15s}.measurement-panel .measurement-panel-item:hover .measurement-panel-item-delete{opacity:1}.measurement-panel .measurement-panel-item-delete:hover{background:#5c2020;color:#ff6b6b}.measurement-panel .measurement-panel-summary-row{display:flex;align-items:center;justify-content:space-between;padding:4px 0;color:#999;font-size:12px}.measurement-panel .measurement-panel-summary-row span:last-child{color:#ccc;font-weight:500}.docprop-file-info{display:flex;align-items:center;gap:8px;padding:4px 0}.docprop-filename{font-size:13px;color:#ccc;word-break:break-all;line-height:1.4}.docprop-template-info{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.docprop-template-row{display:flex;align-items:center;gap:8px}.docprop-label{font-size:12px;color:#888;flex-shrink:0}.docprop-value-text{font-size:12px;color:#888}.docprop-status-pill{font-size:11px;font-weight:500;padding:2px 8px;border-radius:10px;background:#ffffff14;color:#888}.docprop-status-pill.success{background:#27ae6026;color:#27ae60}.docprop-status-pill.warning{background:#f39c1226;color:#f39c12}.docprop-status-pill.error{background:#e74c3c26;color:#e74c3c}.docprop-status-pill-v2{font-size:11px;font-weight:500;padding:2px 10px;border-radius:10px;display:inline-flex;align-items:center;min-width:55px;justify-content:center}.docprop-template-name{font-size:13px;color:#ddd;font-weight:600;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.docprop-values-list{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.docprop-value-item{background:none;border:none;border-radius:0;padding:4px 0}.docprop-value-header{display:flex;align-items:center;gap:6px;margin-bottom:4px}.docprop-color-dot{width:10px;height:10px;border-radius:3px;flex-shrink:0}.docprop-prop-name{font-size:12px;color:#888}.docprop-value-display{font-size:13px;color:#ccc;padding:3px 6px;border-radius:3px;cursor:text;min-height:20px;word-break:break-all;white-space:pre-wrap}.docprop-value-display:hover{background:#ffffff0a}.docprop-value-display.empty{color:#555}.docprop-edit-input{width:100%;background:#1a1a1a;border:1px solid #3498db;border-radius:3px;color:#fff;font-size:13px;padding:3px 6px;outline:none;resize:vertical;min-height:20px;font-family:inherit;box-sizing:border-box}.docprop-detection-area{padding-top:8px;border-top:1px solid #333}.docprop-show-area-btn{display:flex;align-items:center;gap:4px;margin-left:8px;padding:2px 0;background:none;border:none;color:#888;font-size:11px;cursor:pointer;transition:color .15s}.docprop-show-area-btn:hover,.docprop-show-area-btn.active{color:#3498db}.docprop-value-text.has-area{color:#27ae60}.docprop-unassigned{text-align:center;padding:12px 0}.docprop-unassigned p{font-size:13px;color:#888;margin:0 0 4px}.docprop-unassigned span{font-size:12px;color:#555}.docprop-run-btn{padding:9px 0;background:transparent;color:#ddd;border:none;border-radius:5px;cursor:pointer;font-size:13px;font-weight:600;transition:color .15s;display:flex;align-items:center;outline:none}.docprop-run-btn:hover{color:#3498db}.docprop-run-btn:disabled{color:#555;border-color:#333;cursor:not-allowed}.docprop-run-btn-active{color:#3498db!important;border-color:#3498db!important}.docprop-secondary-btn{width:100%;padding:9px 12px;background:transparent;color:#ddd;border:1px solid #444;border-radius:5px;cursor:pointer;font-size:13px;font-weight:600;transition:color .15s;display:flex;align-items:center;justify-content:center;outline:none}.docprop-secondary-btn:hover{color:#3498db}.docprop-nav-btn{padding:9px 0;margin-top:4px;background:transparent;color:#ddd;border:none;border-radius:5px;cursor:pointer;font-size:13px;font-weight:600;transition:color .15s;display:flex;align-items:center;outline:none}.docprop-nav-btn:hover{color:#3498db}.docprop-nav-btn:hover svg:last-child{opacity:1!important}.docprop-extraction-controls{display:flex;flex-direction:column;gap:12px}.docprop-scope-row{display:flex;align-items:center;gap:8px}.docprop-scope-group{display:flex;flex-direction:column;gap:4px}.docprop-scope-label{font-size:12px;color:#ddd;flex-shrink:0;min-width:55px}.docprop-template-checkboxes{display:flex;flex-direction:column;gap:2px;padding:4px 0}.docprop-template-check-row{display:flex;align-items:center;gap:6px;font-size:12px;color:#ccc;cursor:pointer;padding:2px 0}.docprop-template-check-row input[type=checkbox]{margin:0;cursor:pointer}.docprop-template-check-row:hover{color:#fff}.docprop-scope-select{flex:1;background:#1a1a1a;border:1px solid #444;border-radius:4px;color:#ddd;font-size:12px;padding:4px 8px;outline:none}.docprop-scope-select:focus{border-color:#3498db}.docprop-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:docprop-spin .6s linear infinite;margin-right:8px;vertical-align:middle}@keyframes docprop-spin{to{transform:rotate(360deg)}}.docprop-extraction-file{font-size:11px;color:#888;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.properties-panel-resizable{position:relative}.properties-panel-resize-handle{position:absolute;left:0;top:0;bottom:0;width:5px;cursor:col-resize;z-index:5}.properties-panel-resize-handle:hover,.properties-panel-resize-handle:active{background:#3498db59}.docprop-settings-trigger{display:flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer;padding:4px 0;color:#999;font-size:12px;font-weight:500}.docprop-settings-trigger:hover{color:#fff}.docprop-settings-popup-overlay{position:fixed;inset:0;z-index:10000;background:#00000080;display:flex;align-items:center;justify-content:center}.docprop-settings-popup{background:#2a2a2a;border:1px solid #444;border-radius:10px;box-shadow:0 12px 40px #00000080;width:380px;max-width:95vw;max-height:80vh;display:flex;flex-direction:column}.docprop-settings-popup-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #333}.docprop-settings-popup-header h4{margin:0;color:#fff;font-size:14px;font-weight:700}.docprop-settings-popup-body{padding:16px 18px;display:flex;flex-direction:column;gap:8px;overflow-y:auto}.docprop-settings-header{display:flex;align-items:center;gap:6px;cursor:pointer;padding:2px 0;color:#ccc;-webkit-user-select:none;user-select:none}.docprop-settings-header:hover{color:#fff}.docprop-settings-header h4{font-size:12px}.docprop-settings-body{margin-top:8px;display:flex;flex-direction:column;gap:6px}.docprop-setting-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.docprop-setting-row>label:first-child{font-size:11px;color:#aaa;white-space:nowrap}.docprop-setting-select{flex:1;min-width:0;padding:3px 6px;font-size:11px;background:#2a2a2a;color:#ccc;border:1px solid #444;border-radius:4px;cursor:pointer}.docprop-setting-select:hover{border-color:#555}.docprop-toggle{position:relative;display:inline-block;width:28px;height:16px;flex-shrink:0}.docprop-toggle input{opacity:0;width:0;height:0}.docprop-toggle-track{position:absolute;inset:0;background:#444;border-radius:8px;cursor:pointer;transition:background .2s}.docprop-toggle-track:after{content:"";position:absolute;width:12px;height:12px;left:2px;top:2px;background:#ccc;border-radius:50%;transition:transform .2s}.docprop-toggle input:checked+.docprop-toggle-track{background:#3498db}.docprop-toggle input:checked+.docprop-toggle-track:after{transform:translate(12px)}.docprop-toggle input:disabled+.docprop-toggle-track{opacity:.4;cursor:default}.docprop-prop-checkboxes{display:flex;flex-direction:column;gap:3px}.docprop-prop-checkbox{display:flex;align-items:center;gap:5px;font-size:11px;color:#ccc;cursor:pointer;-webkit-user-select:none;user-select:none;padding:1px 0}.docprop-prop-checkbox:hover{color:#fff}.docprop-label-toggle{background:#333;border:1px solid #555;color:#666;font-size:9px;font-weight:600;padding:0 4px;border-radius:3px;cursor:pointer;transition:all .15s;line-height:16px;flex-shrink:0;font-style:italic}.docprop-label-toggle:hover{border-color:#777;color:#aaa}.docprop-label-toggle.active{background:#3498db;border-color:#3498db;color:#fff}.scope-selection-modal{width:480px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column;padding:0;background:#1a1c1f;border:1px solid #333;border-radius:10px;box-shadow:0 8px 32px #000000a6;color:#d0d0d0}.scope-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid #2a2d30}.scope-dialog-header h3{margin:0;font-size:15px;font-weight:600;color:#e8e8e8}.scope-selection-count{font-size:12px;color:#8a8d93}.scope-presets{display:flex;gap:6px;padding:10px 20px;border-bottom:1px solid #2a2d30;flex-wrap:wrap}.scope-preset-btn{padding:4px 10px;font-size:12px;background:#262a2e;border:1px solid #3a3d42;color:#b0b3b8;border-radius:4px;cursor:pointer;transition:all .15s}.scope-preset-btn:hover{background:#32363b;color:#e0e0e0;border-color:#4a4d52}.scope-preset-btn.active{background:#3a3d42;border-color:#666;color:#e0e0e0}.scope-tree{flex:1;overflow-y:auto;padding:8px 0;max-height:50vh;min-height:120px;background:#141618}.scope-tree-folder-row{display:flex;align-items:center;gap:6px;padding:3px 8px;cursor:default;font-size:13px;color:#c0c3c8}.scope-tree-folder-row:hover{background:#ffffff0d}.scope-tree-file-row{display:flex;align-items:center;gap:6px;padding:3px 8px;cursor:default;font-size:12px;color:#9a9da2}.scope-tree-file-row:hover{background:#ffffff0d}.scope-tree-file-row.current{color:#e0e0e0}.scope-tree-file-row.current .scope-tree-file-name{font-weight:500}.scope-tree-arrow{width:14px;text-align:center;font-size:10px;color:#6a6d72;cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0}.scope-tree-arrow.hidden{visibility:hidden}.scope-tree-arrow:hover{color:#b0b3b8}.scope-tree-icon{flex-shrink:0}.scope-tree-folder-name{cursor:pointer;-webkit-user-select:none;user-select:none}.scope-tree-folder-name:hover{color:#e8e8e8}.scope-tree-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scope-tree-count{margin-left:auto;font-size:11px;color:#5a5d62;flex-shrink:0}.scope-tree input[type=checkbox]{width:14px;height:14px;flex-shrink:0;cursor:pointer;accent-color:#888}.scope-dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid #2a2d30}.scope-cancel-btn{padding:6px 16px;font-size:13px;background:#262a2e;border:1px solid #3a3d42;color:#9a9da2;border-radius:4px;cursor:pointer}.scope-cancel-btn:hover{background:#32363b;color:#d0d0d0;border-color:#4a4d52}.scope-selection-modal .primary-btn{width:auto;padding:6px 16px;font-size:13px;border-radius:4px}.scope-selection-modal .primary-btn:disabled{background:#333;color:#666}.markup-recovery-banner{display:flex;align-items:center;gap:10px;padding:8px 16px;background:#2d1f00;border-bottom:2px solid #f39c12;flex-shrink:0;z-index:50;animation:recovery-slide-in .3s ease-out}@keyframes recovery-slide-in{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.markup-recovery-icon{color:#f39c12;flex-shrink:0;display:flex;align-items:center}.markup-recovery-text{flex:1;display:flex;flex-direction:column;gap:1px;font-size:12px;color:#ddd}.markup-recovery-text strong{font-size:13px;color:#f39c12}.markup-recovery-text span{font-size:11px;color:#999}.markup-recovery-btn{padding:5px 14px;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;border:none;transition:all .15s}.markup-recovery-btn.recover{background:#f39c12;color:#1a1a1a}.markup-recovery-btn.recover:hover{background:#e67e22}.markup-recovery-btn.dismiss{background:#333;color:#aaa;border:1px solid #555}.markup-recovery-btn.dismiss:hover{background:#444;color:#fff}.unsaved-indicator-dot{width:7px;height:7px;border-radius:50%;background:#f39c12;position:absolute;top:2px;right:2px;box-shadow:0 0 4px #f39c12;animation:unsaved-pulse 2s ease-in-out infinite;pointer-events:none}@keyframes unsaved-pulse{0%,to{opacity:.6}50%{opacity:1}}.text-selection-layer{color:transparent;cursor:default;user-select:none;-webkit-user-select:none}.text-selection-layer.active{cursor:text;user-select:text;-webkit-user-select:text}.text-selection-layer .text-selection-span{color:transparent;background:none;border:none;padding:0 1px 0 0;margin:0;letter-spacing:0;word-spacing:0}.text-selection-layer.highlight-mode{cursor:text;user-select:text;-webkit-user-select:text}.text-selection-layer .text-selection-span::selection{background:color-mix(in srgb,var(--selection-color, #0066ff) 30%,transparent);color:transparent}.text-selection-layer .text-selection-span::-moz-selection{background:color-mix(in srgb,var(--selection-color, #0066ff) 30%,transparent);color:transparent}.infinite-view{display:flex;flex-direction:column;height:100%;width:100%;flex:1;background:#1a1a2e;color:#fff}.infinite-view-content{flex:1;position:relative;overflow:hidden;display:flex;flex-direction:column}.infinite-view-header{display:flex;flex-direction:column;background:#000;border-bottom:none;flex-shrink:0}.infinite-view-header .header-top-row{display:flex;align-items:center;gap:1.5rem;padding:1rem 2rem;border-bottom:none}.infinite-view-header .header-title{font-size:1.5rem;font-weight:700;color:#fff;margin:0}.infinite-view-header .header-separator{color:#fff;margin:0 4px}.infinite-view-header .header-brand{margin-left:auto;font-size:1.5rem;font-weight:700;color:#fff}.infinite-view-header .header-toolbar-row{display:flex;align-items:center;gap:8px;padding:6px 16px;background:#000;border-top:1px solid #333}.infinite-view-header .toolbar-spacer{flex:1}.infinite-view-header .toolbar-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:transparent;border:none;border-radius:4px;color:#aaa;cursor:pointer;font-size:12px;transition:all .15s}.infinite-view-header .toolbar-btn:hover{background:#333;color:#fff}.infinite-view-header .toolbar-btn.active{background:#3498db;color:#fff}.infinite-view-header .toolbar-btn svg{flex-shrink:0}.infinite-view-header h2{margin:0;font-size:14px;font-weight:500}.back-btn{padding:5px 10px;background:#333;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;transition:background .2s}.back-btn:hover{background:#444}.infinite-toolbar{display:flex;align-items:center;gap:8px;margin-left:auto}.tool-group{display:flex;gap:2px}.tool-btn{padding:5px 10px;background:transparent;border:none;border-radius:4px;color:#aaa;cursor:pointer;font-size:12px;transition:all .2s}.tool-btn:hover{background:#333;color:#fff}.tool-btn.active{background:#3498db;color:#fff}.toolbar-divider{width:1px;height:16px;background:#444}.infinite-view .infinite-toolbar-bottom{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:4px;padding:6px 14px;background:#1a1a1a;border:none;border-radius:24px;z-index:100}.infinite-view .infinite-toolbar-bottom .toolbar-group{display:flex;align-items:center;gap:4px}.infinite-view .infinite-toolbar-bottom .toolbar-divider{width:1px;height:20px;background:#333;margin:0 6px}.infinite-view .infinite-toolbar-bottom button{padding:6px 10px;font-size:14px;min-width:32px;background:transparent;border:none;border-radius:6px;color:#9a9da1;cursor:pointer;transition:color .15s;outline:none}.infinite-view .infinite-toolbar-bottom button:hover{color:#ccc}.infinite-view .infinite-toolbar-bottom button.active{background:transparent;color:#3498db}.infinite-view .infinite-toolbar-bottom .zoom-value{min-width:48px;text-align:center;font-size:13px;color:#ccc;padding:0 4px}.zoom-controls{display:flex;align-items:center;gap:4px;background:#1a1a2e;padding:4px;border-radius:6px}.zoom-controls button{width:28px;height:28px;background:transparent;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;transition:background .2s}.zoom-controls button:hover{background:#3d3d5c}.zoom-display{min-width:45px;text-align:center;font-size:12px;color:#aaa}.view-buttons{display:flex;gap:6px}.view-btn{padding:5px 10px;background:#333;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;transition:all .15s}.view-btn:hover{background:#444}.view-btn.active{background:#3498db}.search-buttons{display:flex;gap:4px}.infinite-view .smart-links-panel{position:absolute;top:0;width:320px;min-width:320px;height:100%;background:#1a1a1a;display:flex;flex-direction:column;overflow:hidden;z-index:100;box-shadow:2px 0 10px #0000004d}.infinite-view .smart-links-panel.left-panel{left:0;right:auto;border-right:1px solid #333;border-left:none;background:#1a1a1a}.infinite-view .iv-panel-resize-handle{position:absolute;top:0;right:-3px;width:6px;height:100%;cursor:col-resize;z-index:101}.infinite-view .iv-panel-resize-handle:hover{background:#3498db66}.infinite-view .smart-links-panel.right-panel{right:0;left:auto;border-left:1px solid #333;border-right:none;box-shadow:-2px 0 10px #0000004d}.infinite-view .smart-links-panel.right-panel *{background-color:transparent}.infinite-view .smart-links-panel.right-panel .panel-content,.infinite-view .smart-links-panel.right-panel .panel-section{background:#1a1a1a!important}.infinite-view .smart-links-panel.right-panel input{background:#1a1a1a!important;box-shadow:none!important;-webkit-box-shadow:none!important}.infinite-view .smart-links-panel.right-panel input:before,.infinite-view .smart-links-panel.right-panel input:after,.infinite-view .smart-links-panel.right-panel .panel-section:before,.infinite-view .smart-links-panel.right-panel .panel-section:after{display:none!important;content:none!important}.infinite-view .panel-header{padding:16px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.infinite-view .panel-header h3{margin:0;font-size:16px;color:#fff}.infinite-view .close-panel{background:none;border:none;font-size:20px;color:#666!important;cursor:pointer;padding:0;line-height:1;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .15s}.infinite-view .close-panel:hover{color:#fff!important;background:#333}.infinite-view .panel-section{margin-bottom:16px;background:transparent!important;flex-shrink:0;border:none!important}.infinite-view .panel-section.filter-by-class-section{margin-bottom:16px;background:transparent!important;border:none!important;padding-bottom:0}.infinite-view .panel-section.search-results-section{flex:1;min-height:0;display:flex;flex-direction:column;margin-bottom:0;border:none;margin-top:0;padding-top:0}.infinite-view .panel-section.search-results-section h4{border:none!important;padding-bottom:0;margin-top:0;box-shadow:none;outline:none}.infinite-view .panel-section h4{margin:0 0 12px;font-size:14px;color:#fff;border:none;padding-bottom:0;background:transparent}.infinite-view .search-results{flex:1;overflow-y:auto;background:transparent!important}.infinite-view .search-result-item{display:flex;flex-direction:column;padding:6px 8px;border-bottom:1px solid rgba(255,255,255,.1)!important;border-left:none!important;cursor:pointer;background:transparent!important;border-radius:0!important;margin-bottom:0!important}.infinite-view .search-result-item:hover{background:#ffffff0d!important}.infinite-view .search-result-item:last-child{border-bottom:none!important}.infinite-view .result-line{font-size:12px;color:#fff!important;font-weight:600;line-height:1.3;background:transparent!important}.infinite-view .result-line.result-document{color:#888!important;font-size:11px;font-weight:400}.infinite-view .no-results{color:#666;font-size:12px;padding:12px 0}.infinite-view .no-classes{color:#888;font-size:13px}.infinite-view .class-filter-actions{display:flex;gap:8px;margin-bottom:12px}.infinite-view .class-filter-actions button{flex:1;padding:8px 12px;border:1px solid #444;border-radius:6px;background:transparent!important;color:#fff;cursor:pointer;font-size:13px}.infinite-view .class-filter-actions button:hover{background:#ffffff1a!important}.infinite-view .class-filters{display:flex;flex-direction:column;gap:0;background:transparent!important;padding:4px 0;max-height:200px;overflow-y:auto;border:none!important;box-shadow:none!important}.infinite-view .class-filter-item{display:flex;align-items:center;padding:8px 12px;background:transparent!important;cursor:pointer;border:none;border-radius:6px;margin-bottom:4px}.infinite-view .class-filter-item:last-child{margin-bottom:0}.infinite-view .class-filter-item:hover{background:#ffffff0d!important}.infinite-view .class-filter-item input{margin:0 10px 0 0;accent-color:#3498db}.infinite-view .class-filter-item span{font-size:13px;color:#fff}.infinite-view .class-checkbox-label{display:flex;align-items:center;flex:1;cursor:pointer;color:#fff;font-size:13px}.infinite-view .class-checkbox-label input{margin:0 8px 0 0}.infinite-view .iv-doc-item{padding:10px 12px;display:flex;align-items:center;gap:10px;cursor:pointer;transition:background .15s;background:#1a1a1a!important}.infinite-view .iv-doc-item:last-child{border-bottom:none}.infinite-view .iv-doc-item:hover{background:#333!important}.infinite-view .iv-doc-item.iv-loaded{background:#1a1a1a!important;border-left:none!important}.infinite-view .iv-doc-item.iv-loaded:hover{background:#333!important}.infinite-view .iv-file-icon{flex-shrink:0;font-size:16px}.infinite-view .iv-file-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.infinite-view .iv-doc-name{font-size:14px;color:#fff;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.infinite-view .iv-doc-item.iv-loaded .iv-doc-name{color:#fff;font-weight:600}.infinite-view .iv-unsaved{color:#e74c3c;font-weight:700;flex-shrink:0}.infinite-view .iv-doc-page{font-size:11px;color:#666}.infinite-view .iv-on-canvas{padding:1px 4px;background:transparent;border:1px solid #444;border-radius:2px;font-size:9px;color:#666;text-transform:uppercase;letter-spacing:.3px;width:fit-content}.infinite-view .iv-doc-list{background:#1a1a1a!important}.iv-expand-toggle{background:none;border:none;padding:2px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center}.iv-expand-toggle-spacer{width:16px;flex-shrink:0}.iv-expand-chevron{width:12px;height:12px;color:#888;transition:transform .2s ease}.iv-expand-chevron.expanded{transform:rotate(90deg)}.iv-page-list{background:#ffffff05}.iv-page-row{display:flex;align-items:center;justify-content:space-between;padding:6px 12px 6px 42px;cursor:pointer;transition:background .15s;font-size:13px;color:#ccc}.iv-page-row:hover{background:#ffffff0d}.iv-file-info[draggable=true]{cursor:grab}.iv-file-info[draggable=true]:active{cursor:grabbing}.iv-page-row[draggable=true]{cursor:grab}.iv-page-row[draggable=true]:active{cursor:grabbing}.iv-page-row.on-canvas{color:#fff}.iv-page-num{font-size:13px}.iv-page-add{font-size:16px;color:#666;font-weight:300;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .15s}.iv-page-row:hover .iv-page-add{color:#fff;background:#ffffff1a}.iv-page-loading{padding:8px 12px 8px 42px;font-size:12px;color:#666;font-style:italic}.iv-file-page-summary{font-size:11px;color:#888}.iv-file-group-header{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;transition:background .15s}.iv-file-group-header:hover{background:#ffffff0d}.iv-file-group-header .iv-expand-chevron{width:12px;height:12px;color:#888;flex-shrink:0}.iv-file-group-header .iv-file-icon{flex-shrink:0;font-size:16px}.iv-file-lock-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:1px solid transparent;border-radius:4px;cursor:pointer;color:#999;transition:all .15s}.iv-file-lock-btn:hover{background:#ffffff14;border-color:#555}.iv-file-lock-btn.unlocked{color:#999}.iv-file-lock-btn.disabled{opacity:.35;cursor:not-allowed}.iv-file-group-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.iv-file-group-name{font-size:14px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.iv-file-group-meta{font-size:11px;color:#888}.canvas-slot-item.iv-page-slot{padding:6px 12px 6px 36px;display:flex;flex-direction:column;gap:3px}.canvas-slot-item{padding:10px 12px;display:flex;flex-direction:column;gap:3px}.iv-slot-main{flex:1;min-width:0;cursor:pointer;display:flex;align-items:center;gap:4px;overflow:hidden}.iv-slot-label{font-size:14px;font-weight:600;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.iv-page-slot .iv-slot-label{font-size:13px;font-weight:400;color:#ccc}.iv-slot-page-info{font-size:11px;color:#888;flex-shrink:0;margin-left:4px}.iv-unsaved-dot{color:#fff;font-weight:700;flex-shrink:0}.iv-remove-btn{background:none;border:none;color:#555;font-size:16px;line-height:1;padding:2px 6px;cursor:pointer;border-radius:4px;flex-shrink:0;transition:color .15s,background .15s}.iv-remove-btn:hover{color:#e74c3c;background:#e74c3c1a}.iv-slot-row{display:flex;align-items:center;gap:4px}.iv-all-files-tab{display:flex;flex-direction:column;flex:1;min-height:0}.infinite-view .iv-doc-panel-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#1a1a1a;flex-shrink:0;min-height:80px;box-sizing:border-box}.infinite-view .smart-links-panel.left-panel .panel-content{padding:0}.infinite-view .smart-links-panel.left-panel .panel-tabs{margin-bottom:0;padding:0}.infinite-view .iv-doc-panel-header .iv-breadcrumb{flex:1;min-width:0}.infinite-view .iv-doc-panel-header .close-panel{flex-shrink:0}.iv-doc-panel-header .iv-breadcrumb-home{width:32px;height:32px;color:#fff;cursor:pointer;padding:4px;border-radius:4px;transition:all .15s}.iv-doc-panel-header .iv-breadcrumb-item:hover .iv-breadcrumb-home{background:#444}.iv-doc-panel-header .iv-breadcrumb-folder{color:#888;font-size:16px;font-weight:500;cursor:pointer;padding:3px 6px;border-radius:4px;transition:all .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px}.iv-doc-panel-header .iv-breadcrumb-folder.active{color:#fff;font-weight:500}.iv-doc-panel-header .iv-breadcrumb-folder:hover{color:#fff;background:#444}.iv-doc-panel-header .iv-breadcrumb-arrow{color:#666;font-size:16px;margin:0 2px}.iv-breadcrumb{display:flex;align-items:center;gap:0;overflow:hidden;flex-wrap:nowrap}.iv-breadcrumb-item{display:flex;align-items:center;min-width:0;flex-shrink:0}.iv-breadcrumb-item:last-child{flex-shrink:1;min-width:30px}.iv-breadcrumb-home{width:32px;height:32px;color:#888;cursor:pointer;padding:4px;border-radius:4px;transition:all .15s}.iv-breadcrumb-item:hover .iv-breadcrumb-home{background:#444;color:#fff}.iv-breadcrumb-item.active .iv-breadcrumb-home{color:#fff}.iv-breadcrumb-arrow{color:#666;font-size:16px;margin:0 2px;flex-shrink:0}.iv-breadcrumb-folder{color:#888;font-size:16px;font-weight:500;cursor:pointer;padding:3px 6px;border-radius:4px;transition:all .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px}.iv-breadcrumb-folder:hover{background:#444;color:#fff}.iv-breadcrumb-folder.active{color:#fff}.iv-breadcrumb-ellipsis{color:#666;font-size:12px;padding:3px 4px}.iv-browse-search{display:flex;align-items:center;justify-content:space-between;padding:4px 12px;background:#1a1a1a;flex-shrink:0;min-height:41px;box-sizing:border-box}.iv-sidebar-search{position:relative;display:flex;align-items:center;flex:1}.iv-sidebar-search .iv-search-icon{position:absolute;left:8px;pointer-events:none;color:#888}.iv-sidebar-search input{width:100%;padding:4px 24px 4px 28px;border:none;border-radius:3px;font-size:13px;box-sizing:border-box;background:#333;color:#fff;height:24px}.iv-sidebar-search input::placeholder{color:#888}.iv-sidebar-search input:focus{outline:none;background:#3a3a3a}.iv-search-clear{position:absolute;right:6px;background:#555;color:#fff;border:none;border-radius:50%;width:14px;height:14px;font-size:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;line-height:1}.iv-search-clear:hover{background:#777}.iv-browse-list{flex:1;overflow-y:auto;background:#1a1a1a}.iv-browse-list::-webkit-scrollbar{width:6px}.iv-browse-list::-webkit-scrollbar-thumb{background:#333;border-radius:3px}.iv-browse-empty{padding:24px 12px;color:#888;font-size:13px;text-align:center;font-style:italic}.infinite-view .iv-folder-row{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;background:#1a1a1a;transition:background .15s}.infinite-view .iv-folder-row:hover{background:#333}.iv-folder-icon{width:20px;height:20px;flex-shrink:0}.iv-folder-name{flex:1;font-size:14px;font-weight:500;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.iv-linked-badge{font-size:11px;flex-shrink:0}.iv-folder-count{font-size:12px;color:#888;flex-shrink:0}.iv-folder-chevron{width:16px;height:16px;color:#ccc;flex-shrink:0;transition:color .15s}.infinite-view .iv-folder-row:hover .iv-folder-chevron{color:#666}.iv-doc-folder-hint{font-size:10px;color:#666;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.infinite-view .iv-doc-list::-webkit-scrollbar{width:6px}.infinite-view .iv-doc-list::-webkit-scrollbar-track{background:#252525}.infinite-view .iv-doc-list::-webkit-scrollbar-thumb{background:#444;border-radius:3px}.infinite-view .iv-doc-list::-webkit-scrollbar-thumb:hover{background:#555}.infinite-view .smart-links-panel input[type=text],.infinite-view .panel-content input[type=text]{background:#1a1a1a!important;color:#fff!important;border:1px solid #333!important;box-shadow:none!important;-webkit-box-shadow:none!important}.infinite-view .iv-sidebar-search input,.infinite-view .iv-sidebar-search input[type=text]{background:#333!important;border:none!important;border-radius:3px;height:24px}.infinite-view .search-input,.infinite-view input[type=text].search-input{background:#333!important;border:none!important;border-radius:6px;font-size:14px;padding:10px 12px;outline:none!important}.infinite-view .search-input:focus{background:#3a3a3a!important;border:none!important}.infinite-view .search-input::placeholder{color:#888!important}.infinite-object{position:absolute;border:2px solid;pointer-events:none}.infinite-object.highlighted{border-width:3px!important;z-index:150;animation:iv-rainbow-border 1.5s linear infinite,iv-rainbow-glow 1.5s linear infinite,iv-rainbow-fill 1.5s linear infinite}@keyframes iv-rainbow-fill{0%{background:#ff000026}16%{background:#ff880026}33%{background:#ffff0026}50%{background:#00cc4426}66%{background:#0088ff26}83%{background:#aa00ff26}to{background:#ff000026}}@keyframes iv-rainbow-border{0%{border-color:red}16%{border-color:#f80}33%{border-color:#ff0}50%{border-color:#0c4}66%{border-color:#08f}83%{border-color:#a0f}to{border-color:red}}@keyframes iv-rainbow-glow{0%{box-shadow:0 0 8px 2px #ff000080}16%{box-shadow:0 0 8px 2px #ff880080}33%{box-shadow:0 0 8px 2px #ffff0080}50%{box-shadow:0 0 8px 2px #00cc4480}66%{box-shadow:0 0 8px 2px #0088ff80}83%{box-shadow:0 0 8px 2px #aa00ff80}to{box-shadow:0 0 8px 2px #ff000080}}.object-label{position:absolute;bottom:100%;left:0;color:#fff;padding:2px 4px;font-size:9px;white-space:nowrap;border-radius:2px}.infinite-object.obj-hovered{border-color:#d35400!important;border-width:3px!important;border-style:solid!important;background:#e67e2240!important;z-index:100!important}.object-hover-tooltip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:#000000e0;color:#fff;padding:7px 11px;border-radius:6px;font-size:11px;white-space:nowrap;z-index:1000;pointer-events:none;box-shadow:0 2px 8px #0000004d;text-align:center}.hover-tooltip-label{font-weight:600;font-size:11px;max-width:200px;overflow:hidden;text-overflow:ellipsis}.hover-tooltip-conf{color:#95a5a6;font-size:10px;margin-top:2px}.hover-tooltip-hint{color:#7f8c8d;font-size:9px;margin-top:3px}.region-label{font-style:italic;opacity:.9}.object-dialog-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000}.object-dialog{background:#2d2d44;border-radius:12px;width:400px;max-width:90%;box-shadow:0 8px 32px #0006;overflow:hidden}.object-dialog-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#3d3d5c;border-bottom:1px solid #4a4a6a}.object-dialog-header h3{margin:0;font-size:16px;font-weight:500;color:#fff}.object-dialog .close-btn{background:none;border:none;color:#ccc;font-size:24px;cursor:pointer;padding:0;line-height:1}.object-dialog .close-btn:hover{color:#fff}.object-dialog-content{padding:20px}.object-thumbnail-container{width:100%;height:150px;background:#1a1a2e;border-radius:8px;margin-bottom:16px;display:flex;align-items:center;justify-content:center;overflow:hidden}.object-thumbnail{max-width:100%;max-height:100%;object-fit:contain}.object-thumbnail-placeholder{color:#666;font-size:14px}.object-detail-row{display:flex;margin-bottom:12px;align-items:center}.object-detail-row:last-child{margin-bottom:0}.object-detail-row label{width:100px;flex-shrink:0;color:#888;font-size:13px}.object-detail-row span{color:#fff;font-size:14px;word-break:break-word}.object-detail-row input{flex:1;padding:8px 12px;background:#1a1a2e;border:1px solid #3d3d5c;border-radius:4px;color:#fff;font-size:14px}.object-detail-row input:focus{outline:none;border-color:#3498db}.object-detail-row input::placeholder{color:#666}.object-detail-row select{flex:1;padding:8px 32px 8px 12px;background:#1a1a2e;border:1px solid #3d3d5c;border-radius:4px;color:#fff;font-size:14px;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23888' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.object-detail-row select:focus{outline:none;border-color:#3498db}.object-detail-row select option{background:#1a1a2e;color:#fff;padding:8px}.object-dialog-actions{display:flex;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid #3d3d5c}.object-dialog-actions .save-btn{flex:1;padding:10px 16px;background:#27ae60;border:none;border-radius:6px;color:#fff;font-size:14px;cursor:pointer;transition:background .2s}.object-dialog-actions .save-btn:hover{background:#2ecc71}.object-dialog-actions .cancel-btn{flex:1;padding:10px 16px;background:#3d3d5c;border:none;border-radius:6px;color:#fff;font-size:14px;cursor:pointer;transition:background .2s}.object-dialog-actions .cancel-btn:hover{background:#4a4a6a}.infinite-canvas-container{flex:1;overflow:hidden;position:relative}.iv-loading-indicator{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:200;display:flex;align-items:center;gap:8px;background:#000000bf;color:#ccc;font-size:12px;padding:6px 14px;border-radius:16px;pointer-events:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:iv-loading-fadein .2s ease}@keyframes iv-loading-fadein{0%{opacity:0;transform:translate(-50%) translateY(-6px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.iv-loading-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.2);border-top-color:#3498db;border-radius:50%;animation:iv-loading-spin .8s linear infinite}@keyframes iv-loading-spin{to{transform:rotate(360deg)}}.infinite-canvas-container.drag-over:after{content:"";position:absolute;inset:8px;border:2px dashed rgba(52,152,219,.4);border-radius:8px;pointer-events:none;z-index:100;animation:iv-drop-pulse 1.5s ease-in-out infinite}@keyframes iv-drop-pulse{0%,to{border-color:#3498db40}50%{border-color:#3498db80}}.infinite-canvas{position:absolute;top:50%;left:50%;display:flex;align-items:center;justify-content:center}.infinite-slot{position:absolute;background:#2d2d44;border-radius:8px;box-shadow:0 4px 20px #0006;overflow:visible;transition:box-shadow .2s,left .3s ease-out,top .3s ease-out;transform:translate(-50%,-50%)}.infinite-slot.dragging{transition:box-shadow .2s}.infinite-slot:hover{box-shadow:0 6px 30px #00000080}.infinite-slot.anchor{box-shadow:0 0 0 3px #3498db,0 4px 20px #0006}.infinite-slot.anchor.no-shadow{box-shadow:none}.infinite-slot.dragging{opacity:.95;z-index:1000}.infinite-slot.zoom-highlighted{animation:slot-zoom-highlight .5s ease-in-out 3;z-index:900}@keyframes slot-zoom-highlight{0%,to{box-shadow:0 0 #f1c40fb3}50%{box-shadow:0 0 0 10px #f1c40f00}}.slot-delete-btn{position:absolute;top:-8px;right:-8px;width:20px;height:20px;background:#e74c3ce6;border:1.5px solid white;border-radius:50%;color:#fff;font-size:12px;font-weight:500;line-height:1;cursor:pointer;opacity:0;transition:opacity .15s,transform .15s,background .15s;z-index:100;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px #0003}.infinite-slot:hover .slot-delete-btn{opacity:1}.slot-delete-btn:hover{background:#e74c3c;transform:scale(1.1)}.slot-delete-confirm{position:absolute;top:-10px;right:-10px;background:#2d2d44;border:1px solid #4a4a6a;border-radius:8px;padding:12px 16px;z-index:200;box-shadow:0 4px 20px #00000080;min-width:200px}.slot-delete-confirm p{margin:0 0 12px;font-size:13px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:250px}.delete-confirm-buttons{display:flex;gap:8px;justify-content:flex-end}.delete-confirm-buttons button{padding:6px 12px;border:none;border-radius:4px;font-size:12px;cursor:pointer;transition:background .2s}.confirm-cancel{background:#4a4a6a;color:#fff}.confirm-cancel:hover{background:#5a5a7a}.confirm-delete{background:#e74c3c;color:#fff}.confirm-delete:hover{background:#c0392b}.slot-hover-label{position:absolute;top:-80px;left:50%;background:#000000f2;color:#fff;padding:12px 20px;border-radius:8px;font-size:18px;font-weight:500;white-space:nowrap;z-index:10000;pointer-events:none;box-shadow:0 4px 16px #0006;border:1px solid rgba(255,255,255,.2)}.slot-label{position:absolute;top:0;left:0;display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#2d2d44f2;font-size:14px;cursor:grab;-webkit-user-select:none;user-select:none;border-radius:6px 6px 0 0;min-width:200px;white-space:nowrap;box-shadow:0 -2px 8px #0000004d}.slot-label:active{cursor:grabbing}.slot-filename{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.slot-page{color:#88a;flex-shrink:0}.slot-canvas-wrapper{position:relative;background:#1a1a2e}.slot-canvas-wrapper canvas{display:block;opacity:0;transition:opacity .15s ease-in}.slot-canvas-wrapper.rendered{background:#fff}.slot-canvas-wrapper.rendered canvas{opacity:1}.slot-loading-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#555;font-size:13px;pointer-events:none;z-index:1}.slot-loading-placeholder .loading-spinner{width:28px;height:28px;border:2.5px solid #333;border-top-color:#666;border-radius:50%;animation:slot-spin .8s linear infinite}@keyframes slot-spin{to{transform:rotate(360deg)}}.slot-overlay{position:absolute;top:0;left:0;pointer-events:none;z-index:350}.infinite-hotspot{position:absolute;border:none;background:transparent;cursor:pointer;pointer-events:all}.hotspot-label{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#000c;color:#fff;padding:2px 6px;border-radius:3px;font-size:10px;white-space:nowrap;opacity:0;transition:opacity .2s;pointer-events:none}.infinite-hotspot:hover .hotspot-label{opacity:1}.slot-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#88a;font-size:14px}.connection-line{position:absolute;pointer-events:none;stroke:#3498db;stroke-width:2;fill:none;opacity:.5}.subclass-fields-divider{font-size:12px;font-weight:600;color:#888;text-transform:uppercase;margin:16px 0 8px;padding-top:12px;border-top:1px solid #333}.infinite-object.circle-shape{border-radius:50%}.view-options-sidebar{position:absolute;top:0;right:0;width:320px;min-width:320px;height:100%;background:#1a1a1a;border-left:1px solid #333;display:flex;flex-direction:column;overflow:hidden;z-index:100;box-shadow:-2px 0 10px #0000004d}.view-options-sidebar .panel-header{padding:16px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0;background:#1a1a1a}.view-options-sidebar .panel-header h3{margin:0;font-size:16px;color:#fff}.view-options-sidebar .panel-content{flex:1;overflow-y:auto;padding:16px;background:#1a1a1a}.view-options-sidebar .panel-section{margin-bottom:16px;background:transparent!important}.view-options-sidebar .panel-section h4{margin:0 0 12px;font-size:14px;color:#fff;border:none;padding-bottom:0;background:transparent!important;box-shadow:none}.view-options-sidebar h4{background:transparent!important;box-shadow:none!important}.view-options-sidebar .section-description{font-size:12px;color:#888;margin:0 0 12px;line-height:1.5}.view-options-sidebar .panel-divider{display:none}.crop-controls{display:flex;flex-direction:column;gap:12px}.crop-action-btn{padding:8px 12px;background:transparent;border:1px solid #444;border-radius:6px;color:#fff;font-size:13px;cursor:pointer;transition:all .2s;text-align:center}.crop-action-btn:hover{background:#ffffff1a}.crop-action-btn.active{background:#27ae60}.crop-action-btn.secondary{border-color:#666}.crop-action-btn.secondary:hover{background:#ffffff1a}.crop-action-btn.danger{border-color:#e74c3c;color:#e74c3c}.crop-action-btn.danger:hover{background:#e74c3c26}.crop-hint{font-size:12px;color:#888;background:transparent;padding:10px 12px;border-radius:6px;margin:0;line-height:1.5}.crop-preview{background:transparent;padding:12px;border-radius:6px;border:1px solid #444}.crop-preview-label{font-size:12px;color:#888;margin-bottom:8px;font-weight:500}.crop-preview-values{font-size:12px;color:#fff;font-family:monospace;line-height:1.6}.crop-toggle{display:flex;align-items:center;padding:8px 12px;background:transparent!important;border-radius:6px;cursor:pointer;margin-bottom:4px}.crop-toggle:hover{background:#ffffff0d!important}.crop-toggle input[type=checkbox]{margin:0 10px 0 0;cursor:pointer;accent-color:#3498db}.crop-toggle span{font-size:13px;color:#fff}.crop-actions{display:flex;gap:10px}.crop-actions .crop-action-btn{flex:1}.view-option-toggle{display:flex;align-items:center;padding:8px 12px;background:transparent!important;border-radius:6px;cursor:pointer;margin-bottom:4px}.view-option-toggle:hover{background:#ffffff0d!important}.view-option-toggle input[type=checkbox]{margin:0 10px 0 0;cursor:pointer;accent-color:#3498db}.view-option-toggle span{font-size:13px;color:#fff}.iv-class-filter{margin-top:8px;border:1px solid #333;border-radius:6px;overflow:hidden}.iv-class-filter-header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;background:#ffffff0a;border-bottom:1px solid #333}.iv-class-filter-title{font-size:12px;font-weight:600;color:#ddd}.iv-class-filter-count{font-size:10px;color:#888}.iv-class-filter-toolbar{display:flex;gap:0;border-bottom:1px solid #333}.iv-class-bulk-btn{flex:1;padding:6px 0;font-size:11px;font-weight:600;background:transparent;color:#aaa;border:none;cursor:pointer;transition:all .15s}.iv-class-bulk-btn:first-child{border-right:1px solid #333}.iv-class-bulk-btn:hover:not(:disabled){background:#3498db1a;color:#3498db}.iv-class-bulk-btn.active,.iv-class-bulk-btn:disabled{color:#555;cursor:default}.iv-class-search{position:relative;padding:6px 8px;border-bottom:1px solid #333}.iv-class-search input{width:100%;padding:4px 24px 4px 8px;font-size:11px;background:#111;color:#ccc;border:1px solid #333;border-radius:4px;outline:none;box-sizing:border-box}.iv-class-search input:focus{border-color:#3498db}.iv-class-search-clear{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:#666;cursor:pointer;font-size:14px;padding:0 4px}.iv-class-list{max-height:180px;overflow-y:auto;padding:4px 0}.iv-class-list::-webkit-scrollbar{width:4px}.iv-class-list::-webkit-scrollbar-track{background:transparent}.iv-class-list::-webkit-scrollbar-thumb{background:#444;border-radius:2px}.iv-class-item{display:flex;align-items:center;padding:4px 10px;cursor:pointer;font-size:12px}.iv-class-item:hover{background:#ffffff0a}.iv-class-item input[type=checkbox]{margin:0 8px 0 0;accent-color:#3498db;cursor:pointer}.iv-class-name{color:#ccc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.iv-class-empty{padding:8px 10px;font-size:11px;color:#666;text-align:center}.iv-crop-section{margin-top:12px}.iv-crop-label{font-size:12px;color:#aaa;font-weight:500}.crop-drawing-overlay{pointer-events:none}.crop-selection{box-shadow:0 0 0 9999px #0000}.bg-mode-options{display:flex;flex-direction:column;gap:4px}.bg-mode-row{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer;transition:all .15s}.bg-mode-row:hover{background:#ffffff08}.bg-mode-row.active{border-color:transparent;background:transparent}.bg-mode-label{display:flex;align-items:center;gap:8px;font-size:13px;color:#888}.bg-mode-row.active .bg-mode-label{color:#3498db}.bg-mode-icon{font-size:14px;width:20px;text-align:center}.bg-color-picker{width:28px;height:28px;padding:0;border:1px solid #444;border-radius:4px;cursor:pointer;background:none;-webkit-appearance:none;appearance:none}.bg-color-picker::-webkit-color-swatch-wrapper{padding:0}.bg-color-picker::-webkit-color-swatch{border:none;border-radius:2px}.bg-color-picker::-moz-color-swatch{border:none;border-radius:2px}.bg-mode-row.active .bg-color-picker{border-color:#444}.bg-grid-size-row{display:flex;align-items:center;gap:8px;padding:6px 12px;font-size:12px;color:#888}.bg-grid-size-row label{flex-shrink:0;min-width:30px}.bg-grid-size-row input[type=range]{flex:1;accent-color:#888}.bg-grid-size-value{font-size:11px;color:#666;min-width:32px;text-align:right}.infinite-canvas-container.bg-blank{background-color:var(--bg-color, #1a1a2e)}.infinite-view .panel-tabs{display:flex;gap:0;margin-bottom:12px;border-bottom:1px solid #333}.infinite-view .panel-tab{flex:1;padding:8px 12px;background:transparent;border:none;border-bottom:2px solid transparent;color:#888;font-size:13px;cursor:pointer;transition:all .15s ease;outline:none}.infinite-view .panel-tab:focus,.infinite-view .panel-tab:focus-visible{outline:none;box-shadow:none}.infinite-view .panel-tab:hover{color:#fff;background:#252525}.infinite-view .panel-tab.active{color:#fff;border-bottom-color:#fff;background:transparent}.infinite-view .panel-content{flex:1;overflow:hidden;padding:12px;background:#1a1a1a!important;display:flex;flex-direction:column}.infinite-markup-toolbar{position:absolute;top:12px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:stretch;padding:6px;background:#1a1a1a;border:1px solid #333;border-radius:12px;z-index:100;max-width:90vw}.infinite-markup-toolbar .markup-toolbar-tools{display:flex;align-items:center;gap:2px;flex-wrap:nowrap;flex-wrap:wrap;justify-content:center;padding:4px 8px}.infinite-markup-toolbar .markup-tb-btn{display:flex;align-items:center;justify-content:center;padding:6px 10px;font-size:14px;min-width:32px;min-height:32px;background:transparent;border:none;border-radius:6px;color:#fff;cursor:pointer;transition:color .15s;outline:none}.infinite-markup-toolbar .markup-tb-btn svg{flex-shrink:0}.infinite-markup-toolbar .markup-tb-btn:hover{color:#ccc}.infinite-markup-toolbar .markup-tb-btn.active{background:transparent;color:#3498db}.infinite-markup-toolbar .markup-tb-btn:disabled{opacity:.5;cursor:not-allowed}.infinite-markup-toolbar .markup-tb-divider{width:1px;height:20px;background:#333;margin:0 6px}.infinite-markup-toolbar .eraser-btn{color:#e07070}.infinite-markup-toolbar .eraser-btn:hover{color:#ff6b6b}.infinite-markup-toolbar .eraser-btn.active{color:#e74c3c}.infinite-markup-toolbar .tool-options-row{display:flex;align-items:center;gap:12px;padding:8px 14px;background:#ffffff0d;border-top:1px solid #3a3d42;flex-wrap:nowrap;white-space:nowrap;overflow-x:auto}.infinite-markup-toolbar .tool-options-row::-webkit-scrollbar{height:4px}.infinite-markup-toolbar .tool-options-row::-webkit-scrollbar-track{background:transparent}.infinite-markup-toolbar .tool-options-row::-webkit-scrollbar-thumb{background:#555;border-radius:2px}.infinite-markup-toolbar .tool-option-group,.infinite-markup-toolbar .tool-option{display:flex;align-items:center;gap:6px;flex-shrink:0}.infinite-markup-toolbar .tool-option label{font-size:11px;color:#888;white-space:nowrap}.infinite-markup-toolbar .tool-option input[type=color]{width:24px;height:24px;padding:0;border:1px solid #555;border-radius:4px;cursor:pointer;background:transparent}.infinite-markup-toolbar .tool-option input[type=range]{width:60px;height:4px;-webkit-appearance:none;background:#333;border-radius:2px;cursor:pointer}.infinite-markup-toolbar .tool-option input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;background:#3498db;border-radius:50%;cursor:pointer}.infinite-markup-toolbar .tool-option select{padding:4px 8px;background:#222;border:1px solid #444;border-radius:4px;color:#fff;font-size:11px;cursor:pointer}.infinite-markup-toolbar .tool-option span{font-size:11px;color:#aaa;min-width:28px}.infinite-markup-toolbar .set-default-btn{padding:4px 10px;background:#333;border:1px solid #555;border-radius:4px;color:#ccc;font-size:11px;cursor:pointer;white-space:nowrap;transition:all .15s ease}.infinite-markup-toolbar .set-default-btn:hover{background:#444;border-color:#3498db;color:#fff}.infinite-markup-toolbar .align-buttons{display:flex;gap:2px}.infinite-markup-toolbar .align-btn{width:24px;height:24px;padding:0;background:#222;border:1px solid #444;border-radius:3px;color:#aaa;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.infinite-markup-toolbar .align-btn:hover{background:#333;color:#fff}.infinite-markup-toolbar .align-btn.active{background:#3498db;border-color:#3498db;color:#fff}.infinite-markup-toolbar .fill-toggle{width:24px;height:24px;padding:0;background:#222;border:1px solid #444;border-radius:3px;color:#aaa;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.infinite-markup-toolbar .fill-toggle:hover{background:#333;color:#fff}.infinite-markup-toolbar .fill-toggle.active{background:#e74c3c;border-color:#e74c3c;color:#fff}.infinite-markup-toolbar .delete-selected-btn{padding:4px 10px;background:#c0392b;border:1px solid #e74c3c;border-radius:4px;color:#fff;font-size:11px;cursor:pointer;white-space:nowrap;transition:all .15s ease}.infinite-markup-toolbar .delete-selected-btn:hover{background:#e74c3c;border-color:#e74c3c}.infinite-markup-toolbar .close-toggle{padding:4px 10px;background:#333;border:1px solid #555;border-radius:4px;color:#ccc;font-size:11px;cursor:pointer;white-space:nowrap;transition:all .15s ease}.infinite-markup-toolbar .close-toggle:hover{background:#444;border-color:#3498db;color:#fff}.infinite-markup-toolbar .close-toggle.active{background:#27ae60;border-color:#2ecc71;color:#fff}.infinite-markup-toolbar .tool-option-group label{font-size:11px;color:#888;white-space:nowrap}.infinite-markup-toolbar .tool-option-group input[type=color]{width:24px;height:24px;padding:0;border:1px solid #555;border-radius:4px;cursor:pointer;background:transparent}.infinite-markup-toolbar .tool-option-group input[type=range]{width:60px;height:4px;-webkit-appearance:none;background:#333;border-radius:2px;cursor:pointer}.infinite-markup-toolbar .tool-option-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;background:#3498db;border-radius:50%;cursor:pointer}.infinite-markup-toolbar .tool-option-group select{padding:4px 8px;background:#222;border:1px solid #444;border-radius:4px;color:#fff;font-size:11px;cursor:pointer}.infinite-markup-toolbar .tool-option-group .value-display{font-size:11px;color:#aaa;min-width:28px;text-align:right}.infinite-markup-toolbar .options-divider{width:1px;height:20px;background:#444;flex-shrink:0}.annotation-overlay.select-active [data-markup-id]{cursor:pointer}.annotation-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10}.annotation-overlay svg{position:absolute;top:0;left:0;width:100%;height:100%;overflow:visible}.annotation-overlay .annotation-element{pointer-events:all;cursor:pointer}.annotation-overlay .annotation-element:hover{filter:none!important}.annotation-overlay g:hover,.annotation-overlay rect:hover,.annotation-overlay ellipse:hover,.annotation-overlay path:hover,.annotation-overlay line:hover,.annotation-overlay polygon:hover,.annotation-overlay polyline:hover,.annotation-overlay foreignObject:hover{filter:none!important}.infinite-view .annotation-overlay *:hover{filter:none!important;-webkit-filter:none!important}.infinite-view svg polygon:hover,.infinite-view svg rect:hover,.infinite-view svg ellipse:hover,.infinite-view svg path:hover,.infinite-view svg line:hover,.infinite-view svg polyline:hover,.infinite-view svg g:hover,.infinite-view svg polygon[style*="cursor: pointer"]:hover,.infinite-view svg rect[style*="cursor: pointer"]:hover,.infinite-view svg ellipse[style*="cursor: pointer"]:hover{filter:none!important;-webkit-filter:none!important;box-shadow:none!important}.annotation-overlay .selection-handles{filter:none!important;-webkit-filter:none!important}.annotation-overlay .selection-handles rect{pointer-events:all;filter:none!important}.annotation-overlay .selection-handles rect:hover{filter:none!important}.annotation-overlay .selection-handles circle{filter:none!important}.annotation-overlay .selection-handles line{filter:none!important}.annotation-text-input{position:absolute;background:transparent;border:none;outline:none;resize:none;overflow:hidden;font-family:Arial,sans-serif;padding:0;margin:0;z-index:20}.infinite-slot.unlocked{box-shadow:0 0 0 2px #27ae60,0 4px 20px #0006}.infinite-slot.unlocked.no-shadow{box-shadow:0 0 0 2px #27ae60}.infinite-slot.no-shadow{box-shadow:none!important;background:transparent!important;border-radius:0!important;border:none!important;padding:0!important;margin:0!important;outline:none!important}.infinite-slot.no-shadow:hover{box-shadow:none!important;outline:none!important}.infinite-slot.no-shadow .slot-canvas-wrapper{border-radius:0!important;margin:0!important;padding:0!important;box-shadow:none!important}.infinite-slot.no-shadow .slot-label{display:none}.isFullyHidden{display:none!important}.infinite-view .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;color:#666;text-align:center}.infinite-view .empty-state-icon{font-size:32px;margin-bottom:8px;opacity:.5}.infinite-view .empty-state-text{font-size:13px;line-height:1.4}.batch-dialog-overlay{position:fixed;inset:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:2000;animation:batch-fade-in .15s ease}@keyframes batch-fade-in{0%{opacity:0}to{opacity:1}}.batch-dialog{background:#2b2d31;border:1px solid #404348;border-radius:12px;width:780px;max-width:92vw;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 12px 48px #00000080;animation:batch-slide-in .2s ease}@keyframes batch-slide-in{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.batch-dialog-header{display:flex;align-items:center;padding:14px 20px;border-bottom:1px solid #404348;gap:12px}.batch-dialog-header h3{margin:0;font-size:15px;font-weight:600;color:#fff;flex:1}.batch-dialog-header .close-btn{background:none;border:none;color:#888;font-size:22px;cursor:pointer;padding:0 4px;line-height:1}.batch-dialog-header .close-btn:hover{color:#fff}.batch-dialog-body{display:flex;flex:1;min-height:0;overflow:hidden}.batch-picker{width:380px;border-right:1px solid #404348;display:flex;flex-direction:column;flex-shrink:0}.batch-picker-header{padding:10px 12px;border-bottom:1px solid #383a3e;display:flex;flex-direction:column;gap:8px}.batch-search{display:flex;align-items:center;gap:6px;background:#353739;border:1px solid #4a4d52;border-radius:6px;padding:6px 10px;color:#aaa}.batch-search input{flex:1;background:none;border:none;color:#eee;font-size:13px;outline:none}.batch-search input::placeholder{color:#666}.batch-search-clear{background:none;border:none;color:#888;cursor:pointer;font-size:16px;padding:0 2px;line-height:1}.batch-select-actions{display:flex;align-items:center;gap:4px}.batch-select-actions button{background:none;border:none;color:#3498db;font-size:12px;cursor:pointer;padding:2px 6px;border-radius:3px}.batch-select-actions button:hover{background:#3498db1a}.batch-divider{color:#555;font-size:12px}.batch-file-list{flex:1;overflow-y:auto;padding:4px 0}.batch-empty{padding:24px;color:#666;text-align:center;font-size:13px}.batch-file-row{display:flex;align-items:center;gap:6px;padding:5px 12px;cursor:default}.batch-file-row:hover{background:#ffffff08}.batch-expand-toggle{background:none;border:none;color:#777;cursor:pointer;padding:2px;display:flex;align-items:center;flex-shrink:0}.batch-chevron{width:12px;height:12px;transition:transform .15s ease}.batch-chevron.expanded{transform:rotate(90deg)}.batch-checkbox{display:flex;align-items:center;flex-shrink:0}.batch-checkbox input[type=checkbox]{width:14px;height:14px;accent-color:#3498db;cursor:pointer;margin:0}.batch-file-name{flex:1;font-size:13px;color:#ddd;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.batch-page-badge{font-size:10px;color:#888;background:#ffffff0f;padding:1px 5px;border-radius:3px;flex-shrink:0}.batch-on-canvas-badge{font-size:10px;color:#27ae60;flex-shrink:0}.batch-page-list{padding:2px 0 4px;background:#ffffff05}.batch-page-row{display:flex;align-items:center;gap:6px;padding:3px 12px 3px 44px;font-size:12px;color:#bbb}.batch-page-row.disabled{opacity:.5}.batch-page-row:hover:not(.disabled){background:#ffffff08}.batch-page-label{flex:1}.batch-page-loading{padding:8px 44px;font-size:12px;color:#666;font-style:italic}.batch-layout-section{flex:1;display:flex;flex-direction:column;min-width:0;padding:16px 20px;gap:14px}.batch-layout-section h4{margin:0 0 8px;font-size:11px;font-weight:600;color:#8a8d93;text-transform:uppercase;letter-spacing:.5px}.batch-layout-row{display:flex;gap:5px}.batch-layout-chip{display:flex;align-items:center;gap:5px;padding:6px 10px;background:#353739;border:1px solid #4a4d52;border-radius:6px;color:#aaa;cursor:pointer;font-size:11px;transition:all .15s;white-space:nowrap}.batch-layout-chip:hover{background:#3e4044;border-color:#5a5d62;color:#ddd}.batch-layout-chip.active{background:#3498db26;border-color:#3498db;color:#5dade2}.batch-layout-options{display:flex;gap:6px;flex-wrap:wrap}.batch-layout-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 12px;background:#353739;border:1px solid #4a4d52;border-radius:8px;color:#aaa;cursor:pointer;font-size:11px;min-width:62px;transition:all .15s}.batch-layout-btn:hover{background:#3e4044;border-color:#5a5d62;color:#ddd}.batch-layout-btn.active{background:#3498db26;border-color:#3498db;color:#5dade2}.batch-gap-control{display:flex;align-items:center;gap:10px;margin-top:10px}.batch-gap-control label{font-size:11px;color:#8a8d93;flex-shrink:0}.batch-gap-control input[type=range]{flex:1;accent-color:#3498db;height:4px}.batch-gap-value{font-size:12px;color:#888;min-width:40px;text-align:right}.batch-preview{flex:1;display:flex;flex-direction:column;min-height:0}.batch-preview-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#555;font-size:13px;min-height:120px}.batch-preview-grid{flex:1;display:flex;align-items:center;justify-content:center;background:#ffffff05;border:1px solid #404348;border-radius:8px;padding:16px;min-height:120px;overflow:hidden}.batch-preview-info{text-align:center;font-size:11px;color:#666;margin-top:8px}.batch-dialog-footer{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:12px 20px;border-top:1px solid #404348}.batch-cancel-btn{padding:8px 18px;background:transparent;border:1px solid #4a4d52;border-radius:6px;color:#ccc;font-size:13px;cursor:pointer}.batch-cancel-btn:hover{background:#ffffff0f}.batch-add-btn{padding:8px 20px;background:#3498db;border:none;border-radius:6px;color:#fff;font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;transition:background .15s}.batch-add-btn:hover:not(:disabled){background:#2980b9}.batch-add-btn:disabled{opacity:.4;cursor:not-allowed}.batch-placement{flex:1;display:flex;flex-direction:column;min-height:0}.batch-placement-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.batch-placement-header h4{margin:0;font-size:11px;font-weight:600;color:#8a8d93;text-transform:uppercase;letter-spacing:.5px}.batch-placement-mode{display:flex;gap:2px;background:#25272a;border-radius:5px;padding:2px}.batch-mode-btn{padding:3px 10px;background:none;border:none;border-radius:4px;color:#8a8d93;font-size:11px;cursor:pointer;transition:all .15s}.batch-mode-btn:hover:not(:disabled){color:#ccc}.batch-mode-btn.active{background:#4a4d52;color:#fff}.batch-mode-btn:disabled{opacity:.4;cursor:not-allowed}.batch-placement-auto-info{font-size:12px;color:#777;margin-bottom:8px;font-style:italic}.batch-placement-hint{font-size:12px;color:#3498db;margin-bottom:8px}.batch-canvas-map{flex:1;min-height:160px;max-height:280px;background:#1e2023;border:1px solid #404348;border-radius:8px;width:100%}.batch-canvas-map.manual{cursor:crosshair}.batch-collision-warning{margin-top:8px;padding:6px 10px;background:#e74c3c1a;border:1px solid rgba(231,76,60,.25);border-radius:5px;font-size:12px;color:#e74c3c}.batch-quick-places,.batch-quick-row{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.batch-quick-btn,.batch-quick-chip{display:flex;align-items:center;gap:4px;padding:4px 10px;background:#353739;border:1px solid #4a4d52;border-radius:4px;color:#aaa;font-size:11px;cursor:pointer;transition:all .12s;white-space:nowrap}.batch-quick-btn:hover,.batch-quick-chip:hover{background:#3e4044;border-color:#5a5d62;color:#ddd}.batch-quick-btn.active,.batch-quick-chip.active{background:#3498db26;border-color:#3498db66;color:#5dade2}.batch-quick-icon{font-size:12px;line-height:1}.batch-custom-layout{display:flex;align-items:center;gap:8px;margin-top:8px;padding:6px 0}.batch-custom-layout label{font-size:12px;color:#8a8d93;flex-shrink:0}.batch-custom-input{width:52px;padding:4px 8px;background:#353739;border:1px solid #4a4d52;border-radius:5px;color:#eee;font-size:13px;text-align:center;outline:none}.batch-custom-input:focus{border-color:#3498db}.batch-custom-input::-webkit-outer-spin-button,.batch-custom-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.batch-custom-input[type=number]{-moz-appearance:textfield}.batch-custom-result{font-size:12px;color:#666}.canvas-shape{transition:outline-color .15s}.canvas-shape:hover:not(.selected){outline:2px solid color-mix(in srgb,var(--selection-color, #3498db) 40%,transparent)!important;outline-offset:2px!important}.canvas-shape.selected{box-shadow:0 0 0 1px color-mix(in srgb,var(--selection-color, #3498db) 30%,transparent)}.canvas-shape textarea{font-family:inherit}.canvas-shape textarea:focus{outline:none}.iv-slot-context-menu{background:#fff;border-radius:10px;min-width:220px;max-width:300px;overflow:hidden;box-shadow:0 8px 32px #0003,0 2px 8px #0000001a;animation:contextMenuFadeIn .15s ease}.iv-ctx-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:none;border:none;color:#333;font-size:13px;cursor:pointer;transition:background .1s;text-align:left}.iv-ctx-item:hover{background:#f0f4f8}.iv-ctx-item.iv-ctx-danger{color:#e74c3c}.iv-ctx-item.iv-ctx-danger:hover{background:#fde8e8}.iv-ctx-divider{height:1px;background:#eee;margin:4px 0}.iv-ctx-header{padding:12px 14px;font-weight:600;font-size:13px;color:#333;background:#f8f9fa;border-bottom:1px solid #eee}.iv-ctx-color-swatch{width:14px;height:14px;border-radius:3px;border:1px solid rgba(0,0,0,.2);display:inline-block;flex-shrink:0}.iv-ctx-submenu-parent .iv-ctx-submenu-popup{display:none}.iv-ctx-submenu-parent:hover>.iv-ctx-submenu-popup{display:block}.iv-ctx-color-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.iv-dialog-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000}.iv-dialog{background:#1e1e1e;border:1px solid #333;border-radius:12px;width:480px;max-width:90vw;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080}.iv-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #333}.iv-dialog-header h3{margin:0;font-size:15px;font-weight:600;color:#fff}.iv-dialog-close{background:none;border:none;color:#888;font-size:20px;cursor:pointer;padding:0 4px}.iv-dialog-close:hover{color:#fff}.iv-dialog-body{padding:16px 20px;overflow-y:auto;flex:1}.iv-dialog-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid #333}.iv-dialog-btn{padding:7px 16px;font-size:12px;border-radius:6px;cursor:pointer;border:none}.iv-dialog-btn.primary{background:#3498db;color:#fff}.iv-dialog-btn.primary:hover{background:#2980b9}.iv-dialog-btn.secondary{background:transparent;color:#888;border:1px solid #444}.iv-dialog-btn.secondary:hover{color:#fff;border-color:#666}.iv-dialog-btn.danger{background:#e74c3c;color:#fff}.iv-dialog-btn.danger:hover{background:#c0392b}.iv-settings-group{margin-bottom:16px}.iv-settings-group:last-child{margin-bottom:0}.iv-settings-group-title{font-size:11px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid #2a2a2a}.iv-setting-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0;min-height:32px}.iv-setting-row label{font-size:13px;color:#ccc;white-space:nowrap;margin-right:12px}.iv-setting-control{display:flex;align-items:center;gap:6px;flex-shrink:0}.iv-setting-control input[type=range]{width:100px;accent-color:#3498db}.iv-setting-hint{font-size:10px;color:#666}.iv-setting-value{font-size:11px;color:#aaa;min-width:30px;text-align:right}.iv-setting-chip{padding:4px 10px;font-size:11px;background:#2a2a2a;color:#888;border:1px solid #3a3a3a;border-radius:4px;cursor:pointer}.iv-setting-chip:hover{color:#ccc;border-color:#555}.iv-setting-chip.active{background:#3498db22;color:#3498db;border-color:#3498db}.iv-toggle-switch{position:relative;display:inline-block;width:36px;height:20px;cursor:pointer}.iv-toggle-switch input{opacity:0;width:0;height:0}.iv-toggle-track{position:absolute;inset:0;background:#333;border-radius:10px;transition:background .2s}.iv-toggle-track:after{content:"";position:absolute;width:16px;height:16px;left:2px;top:2px;background:#888;border-radius:50%;transition:transform .2s,background .2s}.iv-toggle-switch input:checked+.iv-toggle-track{background:#3498db44}.iv-toggle-switch input:checked+.iv-toggle-track:after{transform:translate(16px);background:#3498db}.iv-zoom-settings-btn{display:flex;align-items:center;gap:8px;width:100%;padding:0;margin:0 0 4px;background:transparent;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:color .15s}.iv-zoom-settings-btn:hover{color:#3498db}.iv-crosshair{position:absolute;pointer-events:none;z-index:99}.iv-crosshair-h{left:0;right:0;height:1px;background:#3498db66}.iv-crosshair-v{top:0;bottom:0;width:1px;background:#3498db66}.iv-coordinates{position:absolute;pointer-events:none;z-index:99;padding:3px 7px;font-size:10px;font-family:monospace;color:#3498db;background:#000000b3;border-radius:3px;white-space:nowrap}.iv-vp-section{margin-bottom:16px}.iv-vp-heading{margin:0 0 10px;font-size:14px;font-weight:600;color:#fff;text-transform:none;letter-spacing:0;background:transparent!important;box-shadow:none!important;border:none;padding:0}.iv-vp-lock-btn{width:100%;padding:8px 12px;border-radius:6;border:1px solid #333;background:transparent;color:#aaa;cursor:pointer;fontSize:12px;font-weight:500;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .15s;border-radius:6px;font-size:12px}.iv-vp-lock-btn:hover{color:#fff;border-color:#555}.iv-vp-lock-btn.locked{color:#e67e22;border-color:#e67e2255}.iv-vp-shape-btn{display:flex;align-items:center;gap:6px;padding:7px 10px;border-radius:6px;border:1px solid #333;background:transparent;color:#ccc;cursor:pointer;font-size:12px;transition:all .15s;-webkit-user-select:none;user-select:none}.iv-vp-shape-btn:hover{background:#ffffff0a;border-color:#555}.iv-vp-shape-btn.active{color:#3498db;border-color:#3498db}.iv-vp-style-btn{flex:1;padding:4px 0;border-radius:4px;font-size:12px;cursor:pointer;border:1px solid #333;background:transparent;color:#888;transition:all .15s}.iv-vp-style-btn.active{color:#3498db;border-color:#3498db;background:transparent}.iv-vp-style-btn:hover:not(.active){border-color:#555}.iv-vp-delete-btn{width:100%;padding:6px;border-radius:4px;border:1px solid #e74c3c33;background:transparent;color:#e74c3c;cursor:pointer;font-size:11px;transition:background .15s}.iv-vp-delete-btn:hover{background:#e74c3c15}.iv-vp-search{display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:5px;border:1px solid #333;background:#111;margin-bottom:8px}.iv-vp-search input{flex:1;background:none;border:none;outline:none;color:#ccc;font-size:11px}.iv-vp-search button{background:none;border:none;color:#666;cursor:pointer;font-size:12px;padding:0;line-height:1}.iv-vp-empty{color:#555;font-size:12px;padding:12px 0;text-align:center}.iv-vp-card{padding:10px 12px;border-radius:6px;border:1px solid #333;background:transparent;transition:background .15s}.iv-vp-card:hover{background:#ffffff08}.iv-vp-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.iv-vp-card-name{font-weight:500;color:#fff;font-size:13px;cursor:default}.iv-vp-card-actions{display:flex;gap:4px;flex-shrink:0}.iv-vp-card-actions button{background:none;border:none;color:#888;cursor:pointer;padding:2px;font-size:12px}.iv-vp-card-actions button:hover{color:#fff}.iv-vp-card-meta{font-size:11px;color:#888;display:flex;gap:8px;margin-bottom:4px}.iv-vp-rename-input{flex:1;padding:2px 6px;border-radius:3px;border:1px solid #3498db;background:#111;color:#fff;font-size:13px;font-weight:500;margin-right:8px;outline:none}.iv-vp-action-btn{width:100%;padding:5px;border-radius:4px;border:1px solid #3498db44;background:transparent;color:#3498db;cursor:pointer;font-size:11px;font-weight:500;transition:background .15s}.iv-vp-action-btn:hover:not(:disabled){background:#3498db1a}.iv-vp-action-btn:disabled{opacity:.4;cursor:not-allowed}.iv-vp-action-btn.danger{border-color:#e74c3c44;color:#e74c3c}.iv-vp-action-btn.danger:hover{background:#e74c3c1a}.iv-vp-cancel-btn{padding:5px 10px;border-radius:4px;border:1px solid #333;background:transparent;color:#888;cursor:pointer;font-size:11px}.iv-vp-cancel-btn:hover{color:#ccc;border-color:#555}.iv-vp-confirm{margin-top:8px;padding:8px;border-radius:4px;background:#e74c3c0d;border:1px solid #e74c3c22}.iv-vp-dashed-btn{width:100%;padding:8px;border-radius:6px;border:1px dashed #444;background:transparent;color:#aaa;cursor:pointer;font-size:12px;transition:all .15s}.iv-vp-dashed-btn:hover:not(:disabled){border-color:#3498db;color:#3498db}.iv-vp-dashed-btn:disabled{cursor:default}.iv-vp-save-row{margin-top:4px}.iv-vp-collapse-header{display:flex;align-items:center;gap:6px;width:100%;padding:6px 0;background:none;border:none;color:#fff;font-size:14px;font-weight:600;cursor:pointer;text-align:left}.iv-vp-collapse-header:hover{color:#ddd}.iv-vp-badge{margin-left:auto;background:#333;color:#aaa;font-size:10px;font-weight:500;padding:1px 6px;border-radius:8px;min-width:18px;text-align:center}.iv-vp-dropdown-list{max-height:280px;overflow-y:auto;overflow-x:hidden;margin-bottom:8px;padding-right:2px;display:flex;flex-direction:column;gap:6px}.iv-vp-dropdown-list::-webkit-scrollbar{width:4px}.iv-vp-dropdown-list::-webkit-scrollbar-track{background:transparent}.iv-vp-dropdown-list::-webkit-scrollbar-thumb{background:#444;border-radius:2px}.iv-vp-section input[type=number]{-moz-appearance:textfield}.iv-vp-section input[type=number]::-webkit-inner-spin-button,.iv-vp-section input[type=number]::-webkit-outer-spin-button{opacity:1}.infinite-view .measurement-panel{right:0;left:auto;border-left:1px solid #333;border-right:none;box-shadow:-2px 0 10px #0000004d}.infinite-view .measurement-panel *{background-color:transparent}.infinite-view .measurement-panel .measurement-panel-scale-label{color:#ccc;font-size:13px;display:block;margin-bottom:4px}.infinite-view .measurement-panel .measurement-panel-btn{padding:6px 12px;border:1px solid #555;border-radius:4px;background:transparent;color:#aaa;font-size:12px;cursor:pointer}.infinite-view .measurement-panel .measurement-panel-btn:hover{background:#3a3a3e;color:#ddd}.infinite-view .measurement-panel .measurement-panel-btn-danger{border-color:#633;color:#e74c3c}.infinite-view .measurement-panel .measurement-panel-btn-danger:hover{background:#5c2020;color:#ff6b6b}.infinite-view .measurement-panel .measurement-panel-set-scale-btn{width:100%;padding:8px 16px;border:1px solid #FF9800;border-radius:4px;background:transparent;color:#ff9800;font-size:12px;font-weight:600;cursor:pointer}.infinite-view .measurement-panel .measurement-panel-set-scale-btn:hover{background:#ff9800;color:#fff}.infinite-view .measurement-panel .measurement-panel-list{display:flex;flex-direction:column;gap:2px;max-height:400px;overflow-y:auto}.infinite-view .measurement-panel .measurement-panel-item{display:flex;align-items:center;gap:8px;padding:8px;border-radius:4px;cursor:pointer}.infinite-view .measurement-panel .measurement-panel-item:hover{background:#353538}.infinite-view .measurement-panel .measurement-panel-item-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px}.infinite-view .measurement-panel .measurement-panel-item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.measure-flyout{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:4px;background:#2a2a2a;border:1px solid #444;border-radius:6px;box-shadow:0 4px 16px #0006;z-index:200;min-width:140px;padding:4px 0}.measure-flyout-item{display:flex;align-items:center;gap:8px;padding:6px 12px;cursor:pointer;color:#ccc;font-size:12px;white-space:nowrap;-webkit-user-select:none;user-select:none}.measure-flyout-item:hover{background:#ffffff14;color:#fff}.measure-flyout-item.active{color:#3498db}.measure-flyout-separator{height:1px;background:#444;margin:4px 8px}.rev-compare-view{display:flex;flex-direction:column;width:100%;height:100%;background:#1a1a1a;position:absolute;top:0;left:0;z-index:100}.rev-compare-content{flex:1;overflow:hidden;position:relative}.rev-compare-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;color:#888;font-size:14px}.rev-compare-spinner{width:32px;height:32px;border:3px solid #333;border-top-color:#3498db;border-radius:50%;animation:rc-spin .8s linear infinite}@keyframes rc-spin{to{transform:rotate(360deg)}}.rev-compare-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:8px;color:#e74c3c;font-size:13px}.rc-toolbar{display:flex;align-items:center;gap:12px;padding:6px 12px;background:#2a2a2a;border-bottom:1px solid #3a3a3a;flex-shrink:0;flex-wrap:wrap;min-height:36px}.rc-toolbar-section{display:flex;align-items:center;gap:6px}.rc-toolbar-close{background:none;border:none;color:#888;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;transition:all .15s}.rc-toolbar-close:hover{color:#e74c3c;background:#e74c3c22}.rc-toolbar-file{font-size:12px;font-weight:600;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rc-toolbar-file.primary{color:#3498db}.rc-toolbar-file.secondary{color:#e67e22}.rc-toolbar-vs{font-size:10px;color:#555;font-weight:700}.rc-toolbar-mode-btn{padding:3px 10px;font-size:11px;border:1px solid #555;border-radius:4px;background:#333;color:#aaa;cursor:pointer;font-weight:600;transition:all .15s}.rc-toolbar-mode-btn:hover{border-color:#777;color:#ddd}.rc-toolbar-mode-btn.active{background:#3498db44;border-color:#3498db;color:#fff;box-shadow:0 0 0 1px #3498db55}.rc-toolbar-btn{background:#333;border:1px solid #555;color:#aaa;padding:3px 8px;border-radius:4px;cursor:pointer;font-size:12px;font-weight:700;transition:all .15s;display:flex;align-items:center;justify-content:center}.rc-toolbar-btn:hover:not(:disabled){background:#444;color:#fff}.rc-toolbar-btn:disabled{opacity:.4;cursor:default}.rc-toolbar-page{display:flex;align-items:center;gap:4px;font-size:12px;color:#aaa}.rc-toolbar-page-input{width:40px;padding:2px 4px;font-size:12px;background:#1e1e1e;border:1px solid #444;border-radius:3px;color:#ddd;text-align:center;outline:none}.rc-toolbar-page-total{color:#666}.rc-toolbar-zoom{font-size:11px;color:#aaa;min-width:36px;text-align:center}.rc-toolbar-toggle{display:flex;align-items:center;gap:4px;font-size:11px;color:#aaa;cursor:pointer}.rc-toolbar-toggle input[type=checkbox]{margin:0;accent-color:#3498db}.rc-toolbar-progress{display:flex;align-items:center;gap:4px;font-size:10px;color:#f39c12}.rc-toolbar-progress-dot{width:6px;height:6px;border-radius:50%;background:#f39c12;animation:rc-pulse 1s ease-in-out infinite}@keyframes rc-pulse{0%,to{opacity:.4}50%{opacity:1}}.rc-toolbar-legend{gap:10px!important}.rc-legend-item{display:flex;align-items:center;gap:4px;font-size:10px;color:#888}.rc-legend-swatch{width:10px;height:10px;border-radius:2px;flex-shrink:0}.rc-legend-stat{font-size:10px;color:#f39c12;font-weight:600}.rc-side-by-side{display:flex;flex-direction:column;width:100%;height:100%}.rc-side-by-side-panels{display:flex;flex:1;min-height:0}.rc-size-mismatch-banner{padding:3px 12px;font-size:10px;color:#f39c12;background:#f39c1212;border-bottom:1px solid #f39c1233;text-align:center;flex-shrink:0}.rc-panel{flex:1;display:flex;flex-direction:column;min-width:0;position:relative}.rc-panel-label{padding:4px 10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0;text-align:center}.rc-panel-label.primary{background:#3498db15;color:#3498db;border-bottom:2px solid #3498db44}.rc-panel-label.secondary{background:#e67e2215;color:#e67e22;border-bottom:2px solid #e67e2244}.rc-panel-scroll{flex:1;overflow:auto;display:flex;align-items:flex-start;justify-content:center;padding:20px;background:#222}.rc-divider{width:2px;background:#3a3a3a;flex-shrink:0}.rc-page-container{position:relative;box-shadow:0 2px 12px #0006}.rc-page-canvas{display:block}.rc-diff-overlay{position:absolute;top:0;left:0;pointer-events:none;transition:opacity .3s}.rc-no-page{display:flex;align-items:center;justify-content:center;text-align:center;color:#555;font-size:13px;line-height:1.6;padding:40px;border:2px dashed #333;border-radius:8px;min-width:300px;min-height:400px}.rc-overlay-mode{display:flex;flex-direction:column;width:100%;height:100%}.rc-overlay-controls{display:flex;align-items:center;gap:16px;padding:6px 16px;background:#252525;border-bottom:1px solid #333;flex-shrink:0}.rc-overlay-controls label{display:flex;align-items:center;gap:8px;font-size:12px;color:#aaa}.rc-overlay-controls input[type=range]{width:120px;accent-color:#3498db}.rc-overlay-opacity-val{font-size:11px;color:#888;min-width:32px}.rc-overlay-blend-btns{display:flex;gap:4px}.rc-overlay-scroll{flex:1;overflow:auto;display:flex;align-items:flex-start;justify-content:center;padding:20px;background:#222}.rc-overlay-canvas-stack{position:relative;box-shadow:0 2px 12px #0006}.rc-overlay-base-canvas,.rc-overlay-blend-canvas{display:block}.rc-swipe-mode{display:flex;flex-direction:column;width:100%;height:100%}.rc-swipe-scroll{flex:1;overflow:auto;display:flex;align-items:flex-start;justify-content:center;padding:20px;background:#222}.rc-swipe-container{position:relative;box-shadow:0 2px 12px #0006;cursor:ew-resize;-webkit-user-select:none;user-select:none}.rc-swipe-layer{position:absolute;top:0;left:0;width:100%;height:100%}.rc-swipe-divider{position:absolute;top:0;bottom:0;width:4px;background:#fff;transform:translate(-50%);cursor:ew-resize;z-index:10;box-shadow:0 0 8px #00000080}.rc-swipe-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:28px;height:28px;border-radius:50%;background:#fff;border:2px solid #3498db;box-shadow:0 2px 8px #0006;display:flex;align-items:center;justify-content:center}.rc-swipe-handle:before{content:"⇔";font-size:12px;color:#3498db}.rc-swipe-label{position:absolute;top:8px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border-radius:3px;z-index:5;pointer-events:none}.rc-swipe-label-left{background:#3498db33;color:#3498db}.rc-swipe-label-right{background:#e67e2233;color:#e67e22}.rc-toolbar-swap{padding:2px 5px}.rc-toolbar-swap:hover:not(:disabled){color:#3498db;border-color:#3498db}.rc-toolbar-sensitivity{gap:4px}.rc-toolbar-sensitivity input[type=range]{width:70px;accent-color:#3498db;cursor:pointer}.rc-toolbar-sensitivity-val{font-size:10px;color:#888;min-width:20px;text-align:right}.rc-toolbar-progress-bar{width:50px;height:4px;background:#444;border-radius:2px;overflow:hidden;display:inline-block}.rc-toolbar-progress-bar>span{display:block;height:100%;background:#f39c12;border-radius:2px;transition:width .15s}.rc-toolbar-help{color:#666;font-size:11px}.rc-toolbar-help:hover:not(:disabled){color:#3498db;border-color:#3498db}.rc-page-loading-overlay{position:absolute;inset:0;background:#1e1e1e33;pointer-events:none;z-index:1}.rc-page-loading-shimmer{position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.04),transparent);animation:rc-shimmer 1.5s infinite}@keyframes rc-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.detection-status-widget{position:fixed;bottom:20px;right:20px;z-index:9999;min-width:280px;max-width:480px;background:#1e1e1e;border:1px solid #333;border-radius:8px;box-shadow:0 4px 20px #00000080;color:#ccc;font-size:12px;overflow:hidden;transition:width .2s ease,height .2s ease;resize:both;display:flex;flex-direction:column}.detection-status-widget.collapsed{resize:none;min-width:0;max-width:none;width:auto!important;height:auto!important}.detection-widget-header{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#252525;cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0}.detection-widget-header:hover{background:#2a2a2a}.detection-widget-spinner{width:14px;height:14px;border:2px solid transparent;border-top-color:#3498db;border-radius:50%;animation:detection-spin .8s linear infinite;flex-shrink:0}.detection-widget-spinner.complete{border-top-color:#27ae60;animation:none;border-color:#27ae60;position:relative}@keyframes detection-spin{to{transform:rotate(360deg)}}.detection-widget-title{flex:1;font-weight:500;color:#eee;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detection-widget-badge{padding:2px 6px;border-radius:3px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.detection-widget-badge.objects{background:#2c3e50;color:#3498db}.detection-widget-badge.smartlinks{background:#2c3e2c;color:#2ecc71}.detection-widget-badge.training{background:#3e2c3e;color:#9b59b6}.detection-widget-collapse-btn{background:none;border:none;color:#888;cursor:pointer;padding:2px;display:flex;align-items:center;flex-shrink:0}.detection-widget-collapse-btn:hover{color:#ccc}.detection-widget-dismiss-btn{background:none;border:none;color:#888;cursor:pointer;padding:2px;display:flex;align-items:center;flex-shrink:0}.detection-widget-dismiss-btn:hover{color:#e74c3c}.detection-widget-body{padding:10px 12px;display:flex;flex-direction:column;gap:8px}.detection-widget-progress-bar{background:#333;border-radius:4px;height:6px;overflow:hidden}.detection-widget-progress-fill{height:100%;border-radius:4px;transition:width .3s ease,background .3s ease}.detection-widget-phase{color:#999;font-size:11px;display:flex;align-items:center;justify-content:space-between}.detection-widget-phase .phase-text{display:flex;align-items:center;gap:4px}.detection-widget-phase .phase-percent{color:#bbb;font-weight:500;font-variant-numeric:tabular-nums}.detection-widget-file{color:#777;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detection-widget-file .filename{color:#999}.detection-widget-models{color:#666;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detection-widget-complete{color:#27ae60;font-weight:500}.sp-overlay{position:fixed;inset:0;background:#0009;z-index:9000;display:flex;align-items:center;justify-content:center}.sp-modal{background:#1e1e1e;border:1px solid #444;border-radius:8px;width:700px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000080}.sp-header{display:flex;align-items:center;padding:14px 16px;border-bottom:1px solid #333;gap:10px}.sp-header h2{font-size:15px;font-weight:600;color:#fff;margin:0;flex:1}.sp-close-btn{background:none;border:none;color:#888;cursor:pointer;padding:4px;font-size:18px;line-height:1}.sp-close-btn:hover{color:#fff}.sp-breadcrumb{display:flex;align-items:center;gap:4px;padding:8px 16px;border-bottom:1px solid #2a2a2a;font-size:12px;color:#888;flex-wrap:wrap}.sp-breadcrumb-item{background:none;border:none;color:#3498db;cursor:pointer;font-size:12px;padding:2px 4px;border-radius:3px}.sp-breadcrumb-item:hover{background:#3498db26}.sp-breadcrumb-sep{color:#555}.sp-breadcrumb-current{color:#ccc;font-weight:500}.sp-body{flex:1;overflow-y:auto;min-height:300px}.sp-loading{display:flex;align-items:center;justify-content:center;padding:40px;color:#888;font-size:13px}.sp-empty{display:flex;align-items:center;justify-content:center;padding:40px;color:#666;font-size:13px}.sp-error{padding:16px;color:#e74c3c;font-size:13px;text-align:center}.sp-item{display:flex;align-items:center;padding:8px 16px;cursor:pointer;gap:10px;border-bottom:1px solid #2a2a2a;transition:background .1s}.sp-item:hover{background:#ffffff0a}.sp-item.selected{background:#3498db26}.sp-item-icon{width:20px;height:20px;flex-shrink:0;color:#888}.sp-item-icon.folder{color:#f1c40f}.sp-item-icon.pdf{color:#e74c3c}.sp-item-name{flex:1;font-size:13px;color:#ccc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sp-item-meta{font-size:11px;color:#666;flex-shrink:0}.sp-item-checkout{font-size:11px;color:#f39c12;flex-shrink:0;display:flex;align-items:center;gap:4px}.sp-footer{display:flex;align-items:center;justify-content:flex-end;padding:12px 16px;border-top:1px solid #333;gap:8px}.sp-footer-info{flex:1;font-size:12px;color:#888}.sp-btn{padding:6px 16px;font-size:13px;font-weight:500;border:1px solid #555;border-radius:4px;cursor:pointer;background:transparent;color:#ccc;transition:all .15s}.sp-btn:hover{background:#ffffff14;color:#fff}.sp-btn:disabled{opacity:.4;cursor:default}.sp-btn-primary{background:#2563eb;border-color:#2563eb;color:#fff}.sp-btn-primary:hover{background:#1d4ed8}.sp-btn-primary:disabled{background:#2563eb}.sp-signin-prompt{display:flex;flex-direction:column;align-items:center;gap:16px;padding:40px 20px;text-align:center}.sp-signin-prompt p{color:#aaa;font-size:14px;margin:0}.project-workspace{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden;touch-action:manipulation}.no-file-selected{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;background:#2a2a2a}.no-file-selected h2{margin:0 0 .5rem;color:#fff;font-size:1.5rem;font-weight:500}.no-file-selected .brand-subtitle{margin:0;color:#888;font-size:1.1rem;font-style:italic}.workspace-header{background:#000;padding:.6rem 1rem;display:flex;align-items:center;gap:.75rem;flex-shrink:0;border-bottom:1px solid rgba(255,255,255,.15)}.back-btn{background:none;border:none;padding:6px 10px;border-radius:4px;cursor:pointer;color:#ccc;transition:all .2s;display:flex;align-items:center;justify-content:center}.back-btn:hover{background:none;color:#3498db}.workspace-header h1{margin:0 0 0 6px;font-size:1.5rem;font-weight:700;line-height:1;color:#fff}.workspace-header .brand-title{margin-left:auto;color:#fff;font-weight:700}.toolbar-hide-btn{background:none;border:none;color:#888;cursor:pointer;padding:4px;margin-left:8px;display:flex;align-items:center;border-radius:4px;transition:all .15s}.toolbar-hide-btn:hover{color:#ccc;background:#333}.toolbar-reveal-bar{height:6px;background:#000;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s;color:transparent}.toolbar-reveal-bar:hover{height:20px;background:#1a1a1a;color:#888}.fullscreen-btn{background:none;border:none;color:#888;cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .15s}.fullscreen-btn:hover{color:#fff}.alert-btn{background:none;border:none;color:#fff;cursor:pointer;padding:6px;position:relative;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .15s}.alert-btn:hover,.alert-btn:active{color:#3498db;background:none}.alert-badge{position:absolute;top:-4px;right:-2px;background:#e74c3c;color:#fff;font-size:10px;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:600;pointer-events:none}.alert-dialog{position:absolute;top:100%;right:0;margin-top:6px;width:380px;max-height:520px;background:#1a1a1a;border:1px solid #333;border-radius:10px;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000080;animation:alertSlideDown .2s ease-out;z-index:10000}@keyframes alertSlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.alert-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid #2a2a2a}.alert-dialog-header h3{margin:0;font-size:14px;color:#eee;font-weight:600}.alert-dialog-actions{display:flex;align-items:center;gap:6px}.alert-dialog-clear{background:none;border:none;color:#888;cursor:pointer;font-size:11px;padding:3px 8px;border-radius:4px;transition:all .15s}.alert-dialog-clear:hover{color:#e74c3c;background:#e74c3c1a}.alert-dialog-close{background:none;border:none;color:#666;cursor:pointer;padding:2px;display:flex;border-radius:3px}.alert-dialog-close:hover{color:#ccc;background:#333}.alert-dialog-list{flex:1;overflow-y:auto;padding:6px 0}.alert-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:40px 0;color:#555;font-size:13px}.alert-item{display:flex;align-items:flex-start;gap:10px;padding:10px 16px;border-left:3px solid transparent;transition:background .15s}.alert-item:hover{background:#ffffff08}.alert-item.unread{background:#3498db0d}.alert-item-icon{flex-shrink:0;margin-top:1px}.alert-item-content{flex:1;min-width:0}.alert-item-title{font-size:13px;color:#ddd;font-weight:500;line-height:1.3}.alert-item-detail{font-size:11px;color:#888;margin-top:2px;line-height:1.3}.alert-item-time{flex-shrink:0;font-size:10px;color:#666;margin-top:2px}.operation-lock-banner{display:flex;align-items:center;gap:8px;padding:8px 20px;background:#f39c121f;border-bottom:1px solid rgba(243,156,18,.3);color:#f39c12;font-size:13px;font-weight:500;flex-shrink:0}.top-toolbar-slot{flex-shrink:0;background:#000}.workspace-content{display:flex;flex:1;overflow:hidden;min-height:0}.workspace-content.toolbar-overflow-active{overflow-x:visible;overflow-y:clip}.workspace-content.toolbar-overflow-active>.file-sidebar>.sidebar-breadcrumb-row{padding-top:calc(var(--toolbar-overlap-below-header, 0px) + 8px)}.loading{display:flex;align-items:center;justify-content:center;height:100vh;font-size:1.2rem;color:#666}.panel-hint{color:#888;font-size:13px;text-align:center;padding:20px;margin:0}.mode-hint.disabled-hint{color:#aaa;font-style:italic}.disabled-btn{opacity:.5!important;cursor:not-allowed!important;background:#e0e0e0!important;color:#888!important}.disabled-btn:hover{background:#e0e0e0!important}.view-mode-option.disabled-option{opacity:.5;cursor:not-allowed}.toolbar-title{color:#666;font-size:14px}.stats-mini{display:flex;gap:16px;padding:8px 0}.stats-mini .stat-item{display:flex;flex-direction:column;align-items:center;flex:1;padding:12px 8px;background:#f8f9fa;border-radius:8px}.stats-mini .stat-value{font-size:24px;font-weight:700;color:#3498db}.stats-mini .stat-label{font-size:11px;color:#666;margin-top:4px}.pdf-toolbar-bottom{position:absolute;bottom:8px;left:50%;transform:translate(-50%);width:auto;display:flex;align-items:center;justify-content:center;gap:3px;padding:5px 12px;border:1px solid #444;border-radius:20px;z-index:100;background:#2a2a2e}.pdf-toolbar-bottom .toolbar-group{display:flex;align-items:center;gap:4px}.pdf-toolbar-bottom .toolbar-divider{width:1px;height:16px;margin:0 4px;background:#555}.pdf-toolbar-bottom button{padding:4px 7px;font-size:13px;min-width:26px;background:transparent;border:none;border-radius:0;color:#fff;cursor:pointer;outline:none;transition:color .15s}.pdf-toolbar-bottom button:hover{background:#ffffff14}.pdf-toolbar-bottom button.active{background:transparent;color:#3498db}.pdf-toolbar-bottom button:disabled{opacity:.4;cursor:not-allowed}.pdf-toolbar-bottom button:focus,.pdf-toolbar-bottom button:focus-visible{outline:none;box-shadow:none}.pdf-toolbar-bottom .zoom-input{width:40px;padding:2px 4px;font-size:11px;background:#222;border:1px solid #444;border-radius:3px;color:#fff;text-align:center}.pdf-toolbar-bottom .page-info{font-size:11px;padding:0 4px;color:#aaa}.project-workspace .search-input,.project-workspace .smart-links-panel .search-input{width:100%;padding:10px 12px;border:none!important;border-radius:6px;font-size:14px;box-sizing:border-box;background:#333;color:#fff;outline:none!important;box-shadow:none!important}.project-workspace .search-input::placeholder{color:#888}.project-workspace .search-input:focus{outline:none!important;border:none!important;box-shadow:none!important;background:#3a3a3a}.quick-filters{margin-top:10px;display:flex;flex-wrap:wrap;gap:4px}.quick-filter-btn{padding:4px 10px;font-size:11px;border:1px solid #ddd;background:#f9f9f9;border-radius:4px;cursor:pointer;transition:all .15s ease}.quick-filter-btn:hover:not(:disabled){background:#e9e9e9;border-color:#ccc}.quick-filter-btn:disabled{opacity:.5;cursor:not-allowed}.user-menu-btn{background:none;border:none;color:#fff;cursor:pointer;padding:6px;position:relative;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .15s}.user-menu-btn:hover,.user-menu-btn:active{color:#3498db;background:none}.user-menu-dialog{position:absolute;top:100%;right:0;margin-top:6px;width:260px;background:#1a1a1a;border:1px solid #333;border-radius:10px;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000080;animation:alertSlideDown .2s ease-out;z-index:10000;padding:4px 0}.user-menu-profile{display:flex;align-items:center;gap:12px;padding:14px 16px}.user-menu-avatar{width:36px;height:36px;border-radius:50%;background:#333;display:flex;align-items:center;justify-content:center;color:#aaa;flex-shrink:0}.user-menu-name{font-size:14px;font-weight:600;color:#eee;line-height:1.3}.user-menu-role{font-size:12px;color:#888;line-height:1.3}.user-menu-divider{height:1px;background:#333;margin:4px 0}.user-menu-item{display:flex;align-items:center;gap:10px;padding:8px 16px;color:#ccc;font-size:13px;cursor:pointer;transition:background .12s,color .12s;-webkit-user-select:none;user-select:none}.user-menu-item:hover{background:#ffffff0f;color:#fff}.user-menu-item.danger{color:#e74c3c}.user-menu-item.danger:hover{background:#e74c3c1a;color:#e74c3c}.user-menu-version{margin-left:auto;font-size:11px;color:#666}.user-menu-section-header{display:flex;align-items:center;justify-content:space-between;padding:6px 16px 4px;font-size:11px;color:#888;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.user-menu-clear-btn{background:none;border:none;color:#888;cursor:pointer;font-size:11px;padding:2px 6px;border-radius:3px;transition:all .15s}.user-menu-clear-btn:hover{color:#e74c3c;background:#e74c3c1a}.user-menu-notifications{max-height:200px;overflow-y:auto;padding:2px 0}.user-menu-empty{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 0;color:#555;font-size:12px}.user-menu-alert-item{padding:8px 16px;border-left:3px solid transparent;transition:background .15s}.user-menu-alert-item:hover{background:#ffffff08}.user-menu-alert-item.unread{background:#3498db0f}.user-menu-alert-title{font-size:12px;color:#ddd;font-weight:500;line-height:1.3}.user-menu-alert-detail{font-size:11px;color:#888;margin-top:2px;line-height:1.3}.user-menu-alert-time{font-size:10px;color:#666;margin-top:3px}.project-classes-page{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden;position:absolute;top:0;left:0;right:0}.project-classes-page button:focus,.project-classes-page input:focus,.project-classes-page select:focus{outline:none}.project-classes-page input[type=checkbox]{accent-color:#555;filter:brightness(.8)}bottom: 0; background: #1a1a1a; } .project-classes-page.loading{display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:#aaa}.project-classes-page .classes-header{background:#000;padding:.6rem 1rem;display:flex;align-items:center;gap:.75rem;flex-shrink:0;border-bottom:1px solid rgba(255,255,255,.15)}.project-classes-page .classes-header .back-btn{background:none;border:none;padding:6px 10px;border-radius:4px;cursor:pointer;color:#ccc;transition:all .2s;display:flex;align-items:center;justify-content:center}.project-classes-page .classes-header .back-btn:hover{background:none;color:#3498db}.project-classes-page .classes-header h1{margin:0 0 0 6px;font-size:1.5rem;font-weight:700;line-height:1;color:#fff}.project-classes-page .classes-header .brand-title{color:#fff;font-weight:700}.project-classes-page .classes-sub-header{background:#000;border-bottom:1px solid rgba(255,255,255,.15);padding:4px 12px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;height:45.5px;box-sizing:border-box}.project-classes-page .classes-sub-left,.project-classes-page .classes-sub-right{display:flex;align-items:center;gap:4px}.project-classes-page .classes-sub-btn{background:transparent;color:#fff;border:none;padding:8px 12px;border-radius:0;font-size:15px;cursor:pointer;transition:color .15s;display:flex;align-items:center;white-space:nowrap;flex-shrink:0;box-sizing:border-box;outline:none;gap:6px}.project-classes-page .classes-sub-btn:hover{background:#ffffff14;color:#fff}.project-classes-page .classes-sub-btn.active{background:transparent;color:#fff}.project-classes-page .classes-sub-btn svg{flex-shrink:0}.project-classes-page .classes-content{display:flex;flex:1;overflow:hidden;background:#1a1a1a}.project-classes-page .classes-sidebar{background:#1e1e1e;border-right:1px solid #333;display:flex;flex-direction:column;flex-shrink:0;overflow:hidden}.project-classes-page .sidebar-item{display:flex;align-items:center;gap:10px;padding:10px 16px;cursor:pointer;transition:all .15s;margin:4px 12px;border-radius:6px;background:transparent;border:1px solid transparent}.project-classes-page .sidebar-item:hover{background:#2a2a2a;border-color:#444}.project-classes-page .sidebar-item.selected{background:#2a2a2a;border-color:#555}.project-classes-page .sidebar-item .item-name{font-weight:600!important;font-size:13px;color:#fff!important}.project-classes-page .home-item{margin:8px 12px 4px;border-radius:6px;background:transparent;border:none;font-weight:600;color:#fff;outline:none}.project-classes-page .home-item:hover{background:#252525}.project-classes-page .home-item.selected{background:#2a2a2a}.project-classes-page .home-item .item-name{font-weight:600;color:#fff}.project-classes-page .classes-search{padding:0 12px 12px}.project-classes-page .classes-search input{width:100%;padding:6px 10px;border:1px solid #444;border-radius:4px;font-size:13px;box-sizing:border-box;background:#2a2a2a;color:#fff}.project-classes-page .classes-search input::placeholder{color:#888}.project-classes-page .classes-search input:focus{outline:none;border-color:#555}.project-classes-page .classes-section-header{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 12px;flex-shrink:0}.project-classes-page .classes-section-header .section-title{font-size:14px;font-weight:700;color:#fff}.project-classes-page .sidebar-divider{height:1px;background:#333;margin:8px 16px}.project-classes-page .sidebar-section{padding:0 12px}.project-classes-page .sidebar-section-header{display:flex;justify-content:space-between;align-items:center;padding:8px 4px;font-size:11px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.5px}.project-classes-page .new-class-btn-sm{width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s}.project-classes-page .new-class-btn-sm:hover{background:#2980b9}.project-classes-page .new-class-btn{margin:8px 12px;padding:10px 16px;background:#1e1e1e;color:#fff!important;border:none;border-radius:6px;font-size:13px;font-weight:600!important;cursor:pointer;transition:background .15s;text-align:left;width:calc(100% - 24px)}.project-classes-page .new-class-btn:hover{background:#2a2a2a}.project-classes-page .class-search{padding:0 12px 12px}.project-classes-page .class-search input{width:100%;padding:6px 10px;border:1px solid #444;border-radius:4px;font-size:13px;box-sizing:border-box;background:#2a2a2a;color:#fff}.project-classes-page .class-search input::placeholder{color:#888}.project-classes-page .class-search input:focus{outline:none;border-color:#555}.project-classes-page .class-list{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:4px 8px;min-height:0;scrollbar-width:thin;scrollbar-color:#555 #2a2a2a;background:#1e1e1e}.project-classes-page .class-list::-webkit-scrollbar{width:8px}.project-classes-page .class-list::-webkit-scrollbar-track{background:#2a2a2a;border-radius:4px}.project-classes-page .class-list::-webkit-scrollbar-thumb{background:#555;border-radius:4px}.project-classes-page .class-list::-webkit-scrollbar-thumb:hover{background:#666}.project-classes-page .class-item{display:flex;align-items:center;gap:10px;padding:10px 12px;margin:2px 0;background:transparent;border:none;border-radius:6px;cursor:pointer;transition:all .15s}.project-classes-page .class-item:hover,.project-classes-page .class-item.selected{background:#2a2a2a}.project-classes-page .class-item.selected:hover{background:#333}.project-classes-page .class-item-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#333;border-radius:6px;color:#888;flex-shrink:0}.project-classes-page .class-item:hover .class-item-icon,.project-classes-page .class-item.selected .class-item-icon{background:#3a3a3a;color:#aaa}.project-classes-page .class-item-info{flex:1;min-width:0}.project-classes-page .class-item-name{font-weight:600;font-size:13px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-classes-page .class-item-meta{font-size:11px;color:#888;margin-top:1px}.project-classes-page .class-item-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s}.project-classes-page .class-item:hover .class-item-actions{opacity:1}.project-classes-page .class-action-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;background:#333;border:1px solid #444;border-radius:4px;cursor:pointer;color:#888;transition:all .15s}.project-classes-page .class-action-btn:hover{background:#444;border-color:#3498db;color:#3498db}.project-classes-page .class-action-btn.delete:hover{background:#e74c3c33;border-color:#e74c3c;color:#e74c3c}.project-classes-page .no-classes{text-align:center;color:#888;padding:20px;font-size:13px}.project-classes-page .sidebar-footer{margin-top:auto;padding:12px;border-top:1px solid #333;background:linear-gradient(to top,#1a1a1a,#1e1e1e)}.project-classes-page .sidebar-footer-hint{font-size:11px;color:#666;margin-bottom:8px;padding-left:2px}.project-classes-page .properties-link{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;background:linear-gradient(135deg,#252525,#2a2a2a);border:1px solid #3a3a3a;border-radius:6px;color:#bbb;font-size:12px;cursor:pointer;transition:all .2s}.project-classes-page .properties-link:hover{background:linear-gradient(135deg,#2a2a2a,#333);border-color:#3498db;color:#fff}.project-classes-page .properties-link svg{transition:color .2s}.project-classes-page .properties-link:hover svg{color:#3498db}.project-classes-page .properties-link .arrow-icon{margin-left:auto;opacity:.5;transition:all .2s}.project-classes-page .properties-link:hover .arrow-icon{opacity:1;transform:translate(2px)}.project-classes-page .classes-main{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;background:#1a1a1a}.project-classes-page .home-content{display:flex;flex-direction:column;align-items:center;max-width:900px;margin:0 auto;width:100%}.project-classes-page .objects-hero-split{display:flex;align-items:center;gap:50px;margin-bottom:32px;width:100%}.project-classes-page .objects-hero-left{flex:1;display:flex;flex-direction:column;gap:14px}.project-classes-page .objects-title-row{display:flex;align-items:center;gap:14px}.project-classes-page .objects-title-row h2{margin:0;color:#fff;font-size:32px;font-weight:700}.project-classes-page .objects-desc{margin:0;font-size:15px;color:#999;line-height:1.6}.project-classes-page .objects-hero-right{flex-shrink:0;display:flex;gap:12px}.project-classes-page .objects-drawing-img{width:180px;height:auto;border-radius:10px;opacity:.85;box-shadow:0 4px 20px #0000004d}.project-classes-page .home-header-section{display:flex;flex-direction:column;align-items:center;margin-bottom:20px}.project-classes-page .home-icon{margin-bottom:12px}.project-classes-page .home-content h2{margin:0 0 8px;color:#fff;font-size:28px;font-weight:700}.project-classes-page .home-subtitle{color:#888;font-size:16px;margin:0 0 32px}.project-classes-page .home-stats-row{display:flex;gap:16px;margin-bottom:16px;width:100%}.project-classes-page .home-stats-row .stat-card{flex:1;max-width:180px}.project-classes-page .stat-card{background:transparent;border:1px solid #333;border-radius:12px;padding:24px 32px;text-align:center}.project-classes-page .stat-number{font-size:36px;font-weight:700;color:#fff}.project-classes-page .stat-label{font-size:14px;font-weight:600;color:#888;margin-top:4px}.project-classes-page .class-distribution-section{background:#252525;border:1px solid #333;border-radius:12px;padding:24px;width:100%;margin-bottom:24px}.project-classes-page .class-distribution-section h3{margin:0 0 24px;color:#fff;font-size:16px;font-weight:700}.project-classes-page .bar-chart{display:flex;align-items:flex-end;justify-content:center;gap:8px;height:200px;padding:0 8px}.project-classes-page .bar-column{display:flex;flex-direction:column;align-items:center;flex:1;max-width:60px;height:100%;cursor:pointer}.project-classes-page .bar-column:hover .bar-fill-vertical{filter:brightness(1.2)}.project-classes-page .bar-fill-wrapper{flex:1;width:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}.project-classes-page .bar-fill-vertical{width:100%;border-radius:4px 4px 0 0;transition:height .3s ease,filter .15s;min-height:4px}.project-classes-page .bar-count-vertical{font-size:11px;font-weight:700;color:#fff;margin-bottom:6px}.project-classes-page .bar-label-vertical{font-size:10px;font-weight:600;color:#888;text-align:center;margin-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;padding:0 2px}.project-classes-page .bar-column:hover .bar-label-vertical{color:#fff}.project-classes-page .bar-more{font-size:12px;font-weight:600;color:#888;text-align:center;padding-top:16px;width:100%}.project-classes-page .home-actions-section{width:100%;margin-bottom:24px}.project-classes-page .home-actions-section h3{margin:0 0 16px;color:#fff;font-size:14px;font-weight:700}.project-classes-page .home-actions-grid{display:flex;gap:12px}.project-classes-page .action-card{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:16px;background:#2a2a2a;border:1px solid #3a3a3a;border-radius:8px;cursor:pointer;transition:all .15s}.project-classes-page .action-card:hover{background:#333;border-color:#4a4a4a}.project-classes-page .action-card .action-row{display:flex;align-items:center;gap:10px}.project-classes-page .action-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#3a3a3a;border-radius:6px;flex-shrink:0}.project-classes-page .action-card:hover .action-icon{background:#4a4a4a}.project-classes-page .action-text{flex:1;min-width:0}.project-classes-page .action-title{font-size:14px;font-weight:700;color:#fff}.project-classes-page .action-desc{font-size:12px;font-weight:500;color:#888}.project-classes-page .orphaned-banner{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:8px;padding:16px 20px;width:100%}.project-classes-page .orphaned-banner-content{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.project-classes-page .orphaned-banner-title{font-weight:600;color:#f59e0b}.project-classes-page .orphaned-banner-desc{color:#fcd34d;font-size:13px;flex:1}.project-classes-page .orphaned-actions{display:flex;gap:8px}.project-classes-page .orphaned-reassign-btn,.project-classes-page .orphaned-delete-all-btn{padding:6px 14px;border-radius:4px;font-size:13px;cursor:pointer;transition:all .2s}.project-classes-page .orphaned-reassign-btn{background:#3498db;color:#fff;border:none}.project-classes-page .orphaned-reassign-btn:hover{background:#2980b9}.project-classes-page .orphaned-delete-all-btn{background:transparent;color:#e74c3c;border:1px solid #e74c3c}.project-classes-page .orphaned-delete-all-btn:hover{background:#e74c3c1a}.project-classes-page .class-detail{padding:24px;overflow-y:auto;height:100%;background:#1a1a1a}.project-classes-page .class-detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.project-classes-page .class-detail-header h2{margin:0;font-size:24px;font-weight:700;color:#fff}.project-classes-page .class-detail-header .class-meta{font-size:13px;color:#888;margin-top:4px}.project-classes-page .class-detail-actions{display:flex;gap:8px}.project-classes-page .class-detail-actions button{padding:8px 16px;border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s}.project-classes-page .edit-class-btn{background:#3498db;color:#fff;border:none}.project-classes-page .edit-class-btn:hover{background:#2980b9}.project-classes-page .delete-class-btn{background:transparent;color:#e74c3c;border:1px solid #e74c3c}.project-classes-page .delete-class-btn:hover{background:#e74c3c1a}.project-classes-page .form-section{background:#252525;border:1px solid #333;border-radius:12px;padding:20px;margin-bottom:20px}.project-classes-page .form-section h3{margin:0 0 16px;font-size:16px;font-weight:700;color:#fff}.project-classes-page .form-group{margin-bottom:16px}.project-classes-page .form-group:last-child{margin-bottom:0}.project-classes-page .form-group label{display:block;font-size:13px;font-weight:600;color:#fff;margin-bottom:6px}.project-classes-page .form-group input,.project-classes-page .form-group select,.project-classes-page .form-group textarea{width:100%;padding:10px 12px;border:1px solid #444;border-radius:6px;font-size:14px;box-sizing:border-box;background:#2a2a2a;color:#fff}.project-classes-page .form-group input:focus,.project-classes-page .form-group select:focus,.project-classes-page .form-group textarea:focus{outline:none;border-color:#3498db}.project-classes-page .form-group input::placeholder,.project-classes-page .form-group textarea::placeholder{color:#666}.project-classes-page .color-row{display:flex;gap:12px;align-items:center}.project-classes-page .color-preview{width:40px;height:40px;border-radius:8px;border:2px solid #444;flex-shrink:0}.project-classes-page .color-input-wrapper{flex:1}.project-classes-page .save-class-btn{padding:12px 24px;background:#3498db;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.project-classes-page .save-class-btn:hover{background:#2980b9}.project-classes-page .save-class-btn:disabled{background:#555;cursor:not-allowed}.project-classes-page .objects-section{background:#252525;border:1px solid #333;border-radius:12px;overflow:hidden}.project-classes-page .objects-section-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #333}.project-classes-page .objects-section-header h3{margin:0;font-size:16px;font-weight:700;color:#fff}.project-classes-page .object-count{font-size:12px;color:#888;background:#333;padding:4px 10px;border-radius:12px}.project-classes-page .objects-table-container{overflow-x:auto}.project-classes-page .objects-table{width:100%;border-collapse:collapse}.project-classes-page .objects-table th,.project-classes-page .objects-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #333}.project-classes-page .objects-table th{background:#2a2a2a;font-size:11px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.5px}.project-classes-page .objects-table td{font-size:13px;color:#ccc}.project-classes-page .objects-table tbody tr:hover{background:#2a2a2a}.project-classes-page .objects-table tbody tr:last-child td{border-bottom:none}.project-classes-page .orphaned-row{background:#e74c3c1a!important}.project-classes-page .orphaned-row:hover{background:#e74c3c26!important}.project-classes-page .orphaned-row td{color:#888}.project-classes-page .csv-table tbody tr:hover td{background:#1e1e1e!important}.project-classes-page .csv-table td{border-bottom:1px solid #222}.project-classes-page .csv-table .highlight-match td{background:#3498db14!important}.project-classes-page .orphaned-filename{color:#e74c3c}.project-classes-page .orphaned-filename del{text-decoration:line-through;color:#e74c3c}.project-classes-page .orphaned-thumbnail{font-size:16px;opacity:.5}.project-classes-page .modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.project-classes-page .modal{background:#252525;border:1px solid #333;border-radius:12px;padding:24px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto}.project-classes-page .modal h2{margin:0 0 20px;font-size:20px;font-weight:700;color:#fff}.project-classes-page .modal-description{color:#ccc;font-size:14px;margin-bottom:20px}.project-classes-page .modal-buttons{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.project-classes-page .modal-buttons button{padding:10px 20px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.project-classes-page .modal-buttons button:first-child{background:transparent;border:1px solid #444;color:#ccc}.project-classes-page .modal-buttons button:first-child:hover{background:#333;border-color:#555}.project-classes-page .modal-buttons .primary-btn{background:#3498db;color:#fff;border:none}.project-classes-page .modal-buttons .primary-btn:hover{background:#2980b9}.project-classes-page .modal-buttons .danger-btn{background:#e74c3c;color:#fff;border:none}.project-classes-page .modal-buttons .danger-btn:hover{background:#c0392b}.project-classes-page .reassign-modal{max-width:500px}.project-classes-page .reassign-info{background:#2a2a2a;padding:12px 16px;border-radius:6px;margin-bottom:20px}.project-classes-page .reassign-info p{margin:4px 0;font-size:14px;color:#ccc}.project-classes-page .reassign-options{margin-top:20px}.project-classes-page .options-label{font-weight:500;margin-bottom:12px;color:#fff}.project-classes-page .reassign-option-btn{display:flex;align-items:flex-start;gap:12px;width:100%;padding:16px;margin-bottom:12px;background:#2a2a2a;border:2px solid #444;border-radius:8px;cursor:pointer;text-align:left;transition:all .2s}.project-classes-page .reassign-option-btn:hover{border-color:#3498db;background:#333}.project-classes-page .reassign-option-btn:disabled{opacity:.5;cursor:not-allowed}.project-classes-page .reassign-option-btn .option-icon{font-size:24px;flex-shrink:0}.project-classes-page .reassign-option-btn .option-content{display:flex;flex-direction:column;gap:4px}.project-classes-page .reassign-option-btn .option-content strong{font-size:14px;color:#fff}.project-classes-page .reassign-option-btn .option-content small{font-size:12px;color:#888;line-height:1.4}.project-classes-page .keep-boxes-btn:hover{border-color:#2ecc71;background:#2ecc711a}.project-classes-page .redetect-btn:hover{border-color:#3498db;background:#3498db1a}.project-classes-page .reassign-info-box{display:flex;gap:12px;background:#2ecc711a;border:1px solid rgba(46,204,113,.3);border-radius:8px;padding:16px;margin-top:16px;text-align:left}.project-classes-page .reassign-info-icon{font-size:24px;flex-shrink:0}.project-classes-page .reassign-info-content{flex:1}.project-classes-page .reassign-info-content strong{display:block;font-size:14px;color:#2ecc71;margin-bottom:4px}.project-classes-page .reassign-info-content p{margin:0;font-size:13px;color:#888;line-height:1.4}.project-classes-page .delete-orphaned-modal{max-width:500px}.project-classes-page .delete-orphaned-options{display:flex;flex-direction:column;gap:12px;margin:20px 0}.project-classes-page .delete-option-btn{display:flex;align-items:flex-start;gap:12px;width:100%;padding:16px;background:#2a2a2a;border:2px solid #444;border-radius:8px;cursor:pointer;text-align:left;transition:all .2s}.project-classes-page .delete-option-btn:hover{border-color:#3498db;background:#333}.project-classes-page .delete-option-btn .option-icon{font-size:24px;flex-shrink:0}.project-classes-page .delete-option-btn .option-content{display:flex;flex-direction:column;gap:4px}.project-classes-page .delete-option-btn .option-content strong{font-size:14px;color:#fff}.project-classes-page .delete-option-btn .option-content small{font-size:12px;color:#888;line-height:1.4}.project-classes-page .redetect-option:hover{border-color:#3498db;background:#3498db1a}.project-classes-page .delete-only-option:hover{border-color:#e74c3c;background:#e74c3c1a}.project-classes-page .import-summary{background:#2a2a2a;padding:16px;border-radius:8px;margin-bottom:20px}.project-classes-page .import-summary p{margin:4px 0;font-size:14px;color:#ccc}.project-classes-page .import-summary strong{color:#fff}.project-classes-page .import-preview{margin-top:12px;padding-top:12px;border-top:1px solid #444}.project-classes-page .preview-label{font-size:12px;color:#888;margin-bottom:8px}.project-classes-page .preview-list{display:flex;flex-direction:column;gap:6px}.project-classes-page .preview-item{display:flex;gap:12px;font-size:13px}.project-classes-page .preview-class{color:#3498db;font-weight:500}.project-classes-page .preview-file{color:#888}.project-classes-page .preview-more{font-size:12px;color:#666;font-style:italic}.project-classes-page .import-mode{margin-bottom:16px}.project-classes-page .mode-label{font-size:13px;font-weight:500;color:#ccc;margin-bottom:8px}.project-classes-page .mode-toggle{display:flex;gap:12px}.project-classes-page .mode-btn{flex:1;padding:12px;background:#2a2a2a;border:2px solid #444;border-radius:8px;cursor:pointer;text-align:center;transition:all .2s}.project-classes-page .mode-btn:hover{border-color:#555}.project-classes-page .mode-btn.active{border-color:#3498db;background:#3498db1a}.project-classes-page .mode-title{display:block;font-size:14px;font-weight:600;color:#fff;margin-bottom:4px}.project-classes-page .mode-desc{display:block;font-size:12px;color:#888}.project-classes-page .import-error{display:flex;align-items:center;gap:12px;padding:16px;background:#e74c3c1a;border:1px solid rgba(231,76,60,.3);border-radius:8px}.project-classes-page .error-icon{font-size:24px}.project-classes-page .import-error p{margin:0;font-size:14px;color:#e74c3c}.project-classes-page .registry-view{display:flex;flex:1;overflow:hidden}.project-classes-page .registry-sidebar{width:280px;min-width:220px;background:#1e1e1e;border-right:1px solid #333;display:flex;flex-direction:column;overflow:hidden}.project-classes-page .registry-sidebar-header{padding:16px;border-bottom:1px solid #333}.project-classes-page .registry-sidebar-header h3{margin:0;font-size:15px;font-weight:700;color:#fff}.project-classes-page .registry-filter{padding:12px 16px;border-bottom:1px solid #333}.project-classes-page .registry-filter select{width:100%;padding:8px 10px;border:1px solid #444;border-radius:6px;font-size:13px;background:#2a2a2a;color:#fff;cursor:pointer}.project-classes-page .registry-filter select:focus{outline:none;border-color:#3498db}.project-classes-page .registry-search{padding:12px 16px;border-bottom:1px solid #333}.project-classes-page .registry-search input{width:100%;padding:8px 12px;border:1px solid #444;border-radius:6px;font-size:13px;box-sizing:border-box;background:#2a2a2a;color:#fff}.project-classes-page .registry-search input::placeholder{color:#666}.project-classes-page .registry-search input:focus{outline:none;border-color:#3498db}.project-classes-page .registry-tag-list{flex:1;overflow-y:auto;padding:8px}.project-classes-page .registry-tag-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;margin-bottom:4px;border-radius:6px;cursor:pointer;transition:all .15s}.project-classes-page .registry-tag-item:hover,.project-classes-page .registry-tag-item.selected{background:#2a2a2a}.project-classes-page .registry-tag-item .tag-name{font-size:13px;font-weight:600;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;margin-right:8px}.project-classes-page .registry-tag-item .tag-occurrences{font-size:11px;color:#888;background:#333;padding:2px 8px;border-radius:10px;flex-shrink:0}.project-classes-page .registry-tag-item.selected .tag-occurrences{background:#3498db;color:#fff}.project-classes-page .registry-sidebar-footer{padding:12px 16px;border-top:1px solid #333;background:#1a1a1a}.project-classes-page .registry-sidebar-footer .tag-summary{font-size:12px;color:#888}.project-classes-page .no-tags{text-align:center;color:#888;font-size:13px;padding:20px}.project-classes-page .registry-content{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#1a1a1a}.project-classes-page .registry-content-header{display:flex;align-items:center;gap:16px;padding:20px 24px;background:#252525;border-bottom:1px solid #333;flex-shrink:0}.project-classes-page .registry-content-header h2{margin:0;font-size:20px;font-weight:700;color:#fff}.project-classes-page .registry-content-header .occurrence-count{font-size:13px;color:#888;background:#333;padding:4px 12px;border-radius:12px}.project-classes-page .registry-tables-container{flex:1;overflow-y:auto;padding:20px 24px}.project-classes-page .registry-class-section{margin-bottom:24px}.project-classes-page .registry-class-header{display:flex;align-items:center;gap:12px;padding:10px 16px;background:#333;color:#fff;border-radius:8px 8px 0 0}.project-classes-page .registry-class-header .class-name{font-weight:700;font-size:14px}.project-classes-page .registry-class-header .class-count{font-size:12px;background:#fff3;padding:2px 8px;border-radius:10px}.project-classes-page .registry-table{width:100%;border-collapse:collapse;background:#252525;border-radius:0 0 8px 8px;overflow:hidden;box-shadow:0 1px 3px #0003}.project-classes-page .registry-table th,.project-classes-page .registry-table td{padding:10px 14px;text-align:left;border-bottom:1px solid #333}.project-classes-page .registry-table th{background:#2a2a2a;font-weight:700;font-size:11px;color:#fff;text-transform:uppercase;letter-spacing:.5px}.project-classes-page .registry-table td{font-size:13px;font-weight:600;color:#fff}.project-classes-page .registry-table tbody tr:hover{background:#2a2a2a}.project-classes-page .registry-table tbody tr:last-child td{border-bottom:none}.project-classes-page .registry-placeholder{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px}.project-classes-page .registry-placeholder .placeholder-icon{font-size:64px;margin-bottom:16px}.project-classes-page .registry-placeholder h3{margin:0 0 8px;font-size:20px;font-weight:700;color:#fff}.project-classes-page .registry-placeholder p{margin:0;font-size:14px;color:#888;max-width:300px}.project-classes-page .home-content-wrapper{display:flex;flex-direction:column;flex:1;overflow-y:auto}.project-classes-page .sidebar-resizer{width:4px;cursor:col-resize;background:transparent;transition:background .2s;flex-shrink:0}.project-classes-page .sidebar-resizer:hover,.project-classes-page .sidebar-resizer.resizing{background:#3498db}.project-classes-page .find-replace-panel{padding:16px 20px;background:#252525;border-bottom:1px solid #333;display:flex;flex-direction:column;gap:12px;margin-bottom:0;border-radius:0;border:none}.project-classes-page .find-replace-row{display:flex;align-items:center;gap:12px;margin-bottom:0}.project-classes-page .find-replace-row label{font-size:13px;font-weight:600;color:#fff;min-width:60px}.project-classes-page .find-replace-row input[type=text]{flex:1;max-width:280px;padding:8px 12px;border:1px solid #444;border-radius:6px;font-size:13px;background:#1e1e1e;color:#fff}.project-classes-page .find-replace-row input[type=text]:focus{outline:none;border-color:#3498db}.project-classes-page .find-replace-row input[type=text]::placeholder{color:#666}.project-classes-page .find-replace-row select{padding:8px 12px;border:1px solid #444;border-radius:6px;font-size:13px;background:#1e1e1e;color:#fff;cursor:pointer}.project-classes-page .find-replace-row .field-label{font-size:13px;font-weight:500;color:#888;min-width:auto}.project-classes-page .match-case-label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;cursor:pointer;min-width:auto!important;color:#aaa;margin-left:8px}.project-classes-page .match-case-label:hover{color:#fff}.project-classes-page .match-count{font-size:12px;font-weight:600;color:#888;min-width:90px}.project-classes-page .replace-all-btn{padding:8px 16px;background:#3498db;color:#fff;font-weight:600;border:none;border-radius:6px;cursor:pointer;font-size:13px;transition:background .15s}.project-classes-page .replace-all-btn:hover:not(:disabled){background:#2980b9}.project-classes-page .replace-all-btn:disabled{background:#444;color:#666;cursor:not-allowed}.project-classes-page .close-find-btn{background:none;border:none;font-size:20px;cursor:pointer;color:#666;padding:4px 8px;line-height:1;transition:color .15s}.project-classes-page .close-find-btn:hover{color:#e74c3c}.project-classes-page .find-replace-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.project-classes-page .find-replace-header h4{margin:0;font-size:14px;font-weight:600;color:#fff}.project-classes-page .find-replace-close{background:none;border:none;color:#888;font-size:18px;cursor:pointer;padding:4px}.project-classes-page .find-replace-close:hover{color:#fff}.project-classes-page .find-replace-options{display:flex;gap:16px;align-items:center}.project-classes-page .find-replace-options label{display:flex;align-items:center;gap:6px;font-size:13px;color:#ccc;cursor:pointer}.project-classes-page .find-replace-options select{padding:6px 10px;border:1px solid #444;border-radius:4px;font-size:13px;background:#2a2a2a;color:#fff}.project-classes-page .find-replace-actions{display:flex;gap:8px;margin-top:12px}.project-classes-page .find-replace-actions button{padding:8px 16px;border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s}.project-classes-page .replace-btn{background:#3498db;color:#fff;border:none}.project-classes-page .replace-btn:hover{background:#2980b9}.project-classes-page .class-data-header{background:#252525;border-bottom:1px solid #333;flex-shrink:0}.project-classes-page .header-row{display:flex;align-items:center;gap:16px}.project-classes-page .header-row-toolbar{flex-wrap:wrap}.project-classes-page .header-left{display:flex;align-items:center;gap:12px;flex:1}.project-classes-page .header-left h2{margin:0;font-size:20px;font-weight:700;color:#fff}.project-classes-page .class-settings{display:flex;align-items:center;gap:12px;margin-left:16px}.project-classes-page .color-picker-group{display:flex;align-items:center;gap:6px}.project-classes-page .color-label{font-size:12px;font-weight:600;color:#fff}.project-classes-page .no-color-btn{width:24px;height:24px;border:1px solid #444;border-radius:4px;background:#2a2a2a;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.project-classes-page .no-color-btn:hover{border-color:#555}.project-classes-page .no-color-btn.active{border-color:#3498db;color:#3498db}.project-classes-page .color-picker-group input[type=color]{width:28px;height:28px;border:1px solid #444;border-radius:4px;cursor:pointer;background:transparent}.project-classes-page .header-actions{display:flex;gap:8px}.project-classes-page .delete-class-btn-header{padding:6px 12px;background:transparent;border:1px solid #e74c3c;border-radius:6px;color:#e74c3c;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.project-classes-page .delete-class-btn-header:hover{background:#e74c3c1a}.project-classes-page .toolbar-group{display:flex;align-items:center;gap:8px}.project-classes-page .toolbar-btn{padding:6px 12px;background:#2a2a2a;border:1px solid #444;border-radius:6px;color:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.project-classes-page .toolbar-btn:hover{background:#333;border-color:#555}.project-classes-page .toolbar-btn.active{background:#3498db;border-color:#3498db;color:#fff}.project-classes-page .add-column-btn{padding:6px 12px;background:#2a2a2a;border:1px solid #444;border-radius:6px;color:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.project-classes-page .add-column-btn:hover{background:#333;border-color:#3498db;color:#3498db}.project-classes-page .class-data-table-container{flex:1;overflow:auto;background:#1a1a1a}.project-classes-page .class-data-table{width:100%;border-collapse:collapse;table-layout:fixed}.project-classes-page .class-data-table th,.project-classes-page .class-data-table td{padding:10px 12px;text-align:left;border-bottom:1px solid #333;border-right:1px solid #333}.project-classes-page .class-data-table th:last-child,.project-classes-page .class-data-table td:last-child{border-right:none}.project-classes-page .class-data-table th{background:#252525;font-size:11px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.5px;position:sticky;top:0;z-index:10}.project-classes-page .class-data-table td{font-size:13px;font-weight:600;color:#fff;background:#1e1e1e}.project-classes-page .class-data-table tbody tr:hover td{background:#2a2a2a}.project-classes-page .column-header{display:flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none}.project-classes-page .column-resize-handle{position:absolute;right:0;top:0;bottom:0;width:4px;cursor:col-resize;background:transparent}.project-classes-page .column-resize-handle:hover{background:#3498db}.project-classes-page .filter-input{width:100%;padding:4px 8px;border:1px solid #444;border-radius:4px;font-size:11px;font-weight:600;background:#2a2a2a;color:#fff;margin-top:6px}.project-classes-page .filter-input::placeholder{color:#666;font-weight:400}.project-classes-page .filter-input:focus{outline:none;border-color:#3498db}.project-classes-page .cell-edit-input{width:100%;padding:6px 8px;border:1px solid #3498db;border-radius:4px;font-size:13px;font-weight:600;background:#2a2a2a;color:#fff}.project-classes-page .cell-edit-input:focus{outline:none}.project-classes-page .editable-cell{cursor:pointer}.project-classes-page .editable-cell:hover{background:#333}.project-classes-page .thumbnail-cell{width:60px;padding:4px}.project-classes-page .thumbnail-img{width:50px;height:50px;object-fit:cover;border-radius:4px;border:1px solid #444}.project-classes-page .thumbnail-placeholder{width:50px;height:50px;background:#2a2a2a;border-radius:4px;display:flex;align-items:center;justify-content:center;color:#666;font-size:10px;font-weight:600}.project-classes-page .delete-column-btn{background:none;border:none;color:#888;cursor:pointer;padding:2px;margin-left:4px;opacity:0;transition:all .15s}.project-classes-page th:hover .delete-column-btn,.project-classes-page .column-header:hover .delete-column-btn{opacity:1}.project-classes-page .delete-column-btn:hover{color:#e74c3c}.project-classes-page .object-count{font-size:12px;font-weight:700;color:#fff;background:#333;padding:4px 10px;border-radius:12px}.models-sidebar{background:#1a1a1a;border-right:1px solid #333;display:flex;flex-direction:column;flex-shrink:0;overflow:hidden}.models-sidebar ::-webkit-scrollbar{width:5px}.models-sidebar ::-webkit-scrollbar-track{background:transparent}.models-sidebar ::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.models-sidebar ::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.models-sidebar *{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.models-sidebar button:focus,.models-sidebar select:focus,.models-sidebar input:focus{outline:none}.models-sidebar.collapsed{width:40px!important;min-width:40px!important;max-width:40px!important;align-items:center;padding:8px 0;gap:8px}.ms-expand-btn{background:none;border:none;color:#888;cursor:pointer;padding:6px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .15s}.ms-expand-btn:hover{color:#fff;background:#333}.ms-collapsed-label{writing-mode:vertical-rl;text-orientation:mixed;font-size:11px;font-weight:700;color:#888;letter-spacing:.5px}.ms-collapsed-badge{font-size:10px;color:#888;background:#252525;padding:2px 0;width:20px;text-align:center;border-radius:8px;font-weight:700}.ms-top-row{padding:10px 12px 0}.ms-top-items{display:flex;flex-direction:column;gap:1px}.ms-nav-item{display:flex;align-items:center;padding:8px 10px;border-radius:5px;cursor:pointer;color:#ccc;font-size:13px;font-weight:500;transition:all .12s;-webkit-user-select:none;user-select:none}.ms-nav-item:hover{background:#252525}.ms-nav-item.selected{color:#3498db}.ms-back-btn{display:flex;align-items:center;gap:8px;padding:12px 14px;background:#1a1a1a;border:none;color:#ccc;font-size:13px;cursor:pointer;transition:all .15s;flex-shrink:0}.ms-back-btn:hover{color:#3498db}.ms-section{flex:1;display:flex;flex-direction:column;overflow:hidden;border-top:1px solid #2a2a2a;margin-top:8px;padding-top:4px}.ms-label{display:flex;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:700;color:#fff;letter-spacing:.2px}.ms-badge{font-size:11px;color:#aaa;background:#252525;padding:1px 7px;border-radius:8px;font-weight:700}.ms-search{padding:2px 10px 6px}.ms-search input{width:100%;background:#252525;border:1px solid #333;border-radius:5px;padding:6px 10px;color:#fff;font-size:12px;font-weight:500;outline:none;transition:border-color .15s}.ms-search input:focus{border-color:#555}.ms-search input::placeholder{color:#666}.ms-list{flex:1;overflow-y:auto;padding:2px 8px 8px}.ms-empty{color:#666;font-size:13px;padding:20px 8px;text-align:center}.ms-item{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:6px;cursor:pointer;margin-bottom:2px;transition:background .1s}.ms-item:hover{background:#222}.ms-item.selected{background:transparent}.ms-item-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.ms-item-name{font-size:14px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ms-item.selected .ms-item-name{color:#3498db}.ms-item-detail{font-size:11px;color:#666;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ms-item-dot{color:#444}.ms-item.selected .ms-item-detail{color:#888}.ms-stats{display:flex;align-items:center;gap:6px;padding:0 14px 6px;font-size:11px;color:#666;font-weight:500}.ms-stat-sep{color:#444}.ms-io-buttons{display:flex;gap:6px;padding:0 10px 8px}.ms-io-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:6px 8px;background:#252525;border:1px solid #333;border-radius:5px;color:#999;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s}.ms-io-btn:hover{background:#2a2a2a;border-color:#444;color:#ddd}.ms-io-btn:disabled{opacity:.35;cursor:default;pointer-events:none}.ms-item-actions{display:flex;gap:2px;opacity:0;transition:opacity .12s;flex-shrink:0}.ms-item:hover .ms-item-actions,.ms-item.selected .ms-item-actions{opacity:1}.ms-item-actions button{background:transparent;border:none;color:#555;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;transition:all .1s}.ms-item-actions button:hover{color:#ccc;background:#333}.ms-item-actions button.del:hover{color:#e74c3c;background:#2a1a1a}.ms-footer{margin-top:auto;padding:6px 8px 8px;border-top:1px solid #2a2a2a;display:flex;flex-direction:column;gap:1px}.ms-footer-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:6px;font-size:14px;font-weight:700;color:#fff;-webkit-user-select:none;user-select:none}.ms-footer-item.disabled{color:#444;cursor:default;pointer-events:none}.ms-footer-item.disabled svg{opacity:.35}.ms-sep{height:1px;background:#2a2a2a;margin:6px 4px}.ms-footer-btn{display:flex;align-items:center;gap:10px;width:100%;padding:7px 12px;background:none;border:none;border-radius:5px;color:#ccc;font-size:13px;font-weight:500;cursor:pointer;transition:all .12s}.ms-footer-btn:hover{background:#252525;color:#fff}.ms-footer-chevron{margin-left:auto;opacity:.3;flex-shrink:0}.ms-resize{position:absolute;right:0;top:0;bottom:0;width:3px;cursor:col-resize;z-index:10;transition:background .15s}.train-panel-sidebar{width:320px;min-width:320px;background:#1a1a1a;border-left:none;display:flex;flex-direction:column;overflow:hidden}.train-panel-sidebar button:focus,.train-panel-sidebar select:focus,.train-panel-sidebar input:focus{outline:none}.train-panel-sidebar .tp-header{padding:12px 14px;border-bottom:1px solid #2a2a2a;flex-shrink:0}.train-panel-sidebar .tp-header h3{margin:0;font-size:15px;color:#fff;font-weight:700}.train-panel-sidebar .tp-content{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:12px}.train-panel-sidebar .tp-section{display:flex;flex-direction:column;gap:8px;padding-bottom:12px;border-bottom:1px solid #2a2a2a}.train-panel-sidebar .tp-section:last-of-type{border-bottom:none;padding-bottom:0}.train-panel-sidebar .tp-section h4{margin:0;font-size:11px;color:#aaa;font-weight:700;letter-spacing:.3px}.train-panel-sidebar .tp-mode-group{display:flex;flex-direction:column;gap:4px}.train-panel-sidebar .tp-mode-btn{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer;transition:all .12s;text-align:left}.train-panel-sidebar .tp-mode-btn:hover:not(:disabled){background:#2a2a2a;border-color:#333}.train-panel-sidebar .tp-mode-btn.active{background:transparent;border-color:transparent}.train-panel-sidebar .tp-mode-btn:disabled{opacity:.3;cursor:not-allowed}.train-panel-sidebar .tp-mode-icon{font-size:16px;width:24px;text-align:center;flex-shrink:0;color:#888}.train-panel-sidebar .tp-mode-btn.active .tp-mode-icon{color:#3498db}.train-panel-sidebar .tp-mode-text{display:flex;flex-direction:column;gap:1px}.train-panel-sidebar .tp-mode-title{font-size:12px;font-weight:600;color:#ccc}.train-panel-sidebar .tp-mode-btn.active .tp-mode-title{color:#3498db;font-weight:700}.train-panel-sidebar .tp-mode-desc{font-size:10px;color:#666}.train-panel-sidebar .tp-mode-btn.active .tp-mode-desc{color:#888}.train-panel-sidebar .tp-field{display:flex;flex-direction:column;gap:4px}.train-panel-sidebar .tp-field-label{font-size:11px;font-weight:600;color:#888}.train-panel-sidebar .tp-select{padding:7px 10px;border:1px solid #333;border-radius:5px;font-size:13px;width:100%;box-sizing:border-box;background:#2a2a2a;color:#fff;font-weight:500}.train-panel-sidebar .tp-shape-group{display:flex;gap:4px}.train-panel-sidebar .tp-shape-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:7px 0;background:transparent;border:1px solid transparent;border-radius:6px;color:#999;font-size:12px;font-weight:600;cursor:pointer;transition:all .12s}.train-panel-sidebar .tp-shape-btn:hover{background:#2a2a2a;border-color:#333;color:#ccc}.train-panel-sidebar .tp-shape-btn.active{background:transparent;border-color:transparent;color:#3498db;font-weight:700}.train-panel-sidebar .tp-shape-icon{font-size:15px;line-height:1}.train-panel-sidebar .tp-input{padding:7px 10px;border:1px solid #333;border-radius:5px;font-size:13px;width:100%;box-sizing:border-box;background:#2a2a2a;color:#fff;font-weight:500}.train-panel-sidebar .tp-input::placeholder{color:#666}.train-panel-sidebar .tp-muted{font-size:12px;color:#666;padding:4px 0}.train-panel-sidebar .tp-model-list{display:flex;flex-wrap:wrap;gap:4px}.train-panel-sidebar .tp-model-tag{font-size:11px;color:#ccc;background:#252525;padding:3px 8px;border-radius:4px;border:1px solid #333;font-weight:600}.train-panel-sidebar .tp-option{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer;transition:all .12s}.train-panel-sidebar .tp-option:hover{background:#2a2a2a;border-color:#333}.train-panel-sidebar .tp-option input{display:none}.train-panel-sidebar .tp-option-check{width:16px;height:16px;border:1px solid #555;border-radius:4px;background:#2c2f33;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;transition:all .1s}.train-panel-sidebar .tp-option input:checked+.tp-option-check{background:#2c2f33;border-color:#3498db}.train-panel-sidebar .tp-option input:checked+.tp-option-check:after{content:"✓";font-size:11px;color:#3498db;font-weight:700}.train-panel-sidebar .tp-option-text{display:flex;flex-direction:column;gap:1px}.train-panel-sidebar .tp-option-title{font-size:12px;font-weight:600;color:#ccc}.train-panel-sidebar .tp-option input:checked~.tp-option-text .tp-option-title{color:#3498db}.train-panel-sidebar .tp-option-desc{font-size:10px;color:#666}.train-panel-sidebar .tp-section-header{display:flex;align-items:center;justify-content:space-between}.train-panel-sidebar .tp-section-header h4{margin:0;font-size:11px;color:#aaa;font-weight:700;letter-spacing:.3px}.train-panel-sidebar .tp-clear-btn{background:none;border:none;color:#666;font-size:10px;font-weight:600;cursor:pointer;padding:2px 6px;border-radius:3px;transition:all .12s}.train-panel-sidebar .tp-clear-btn:hover{color:#e74c3c;background:#2a1a1a}.train-panel-sidebar .tp-examples-inline{display:flex;align-items:center;gap:12px;padding:6px 0}.train-panel-sidebar .tp-ex-inline-item{font-size:12px;color:#888;font-weight:500}.train-panel-sidebar .tp-ex-inline-val{color:#fff;font-weight:700}.train-panel-sidebar .tp-train-btn{padding:11px 16px;background:#2a2a2a;border:1px solid #333;border-radius:6px;color:#ccc;font-size:13px;font-weight:700;cursor:pointer;width:100%;transition:all .12s;flex-shrink:0}.train-panel-sidebar .tp-train-btn:hover:not(:disabled){background:#333;border-color:#444;color:#3498db}.train-panel-sidebar .tp-train-btn:disabled{opacity:.35;cursor:not-allowed}.project-models-page{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden;background:#1a1a1a;position:fixed;inset:0}.project-models-page ::-webkit-scrollbar{width:5px;height:5px}.project-models-page ::-webkit-scrollbar-track{background:transparent}.project-models-page ::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.project-models-page ::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.project-models-page *{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}body:has(.project-models-page){overflow:hidden}.project-models-page button:focus,.project-models-page select:focus,.project-models-page input:focus,.project-models-page textarea:focus,.project-models-page [tabindex]:focus{outline:none}.project-models-page .models-header{background:#000;padding:.6rem 1rem;display:flex;align-items:center;gap:.75rem;flex-shrink:0;border-bottom:1px solid rgba(255,255,255,.15)}.project-models-page .models-header .back-btn{background:none;border:none;padding:6px 10px;border-radius:4px;cursor:pointer;color:#ccc;transition:all .2s;display:flex;align-items:center;justify-content:center}.project-models-page .models-header .back-btn:hover{background:none;color:#3498db}.project-models-page .models-header h1{margin:0 0 0 6px;font-size:1.5rem;font-weight:700;line-height:1;color:#fff}.project-models-page .models-header .brand-title{color:#fff;font-weight:700}.project-models-page .models-toolbar{background:#000;border-bottom:1px solid rgba(255,255,255,.15);padding:4px 12px;display:flex;align-items:center;flex-shrink:0;height:45.5px;box-sizing:border-box}.project-models-page .models-toolbar-left{display:flex;align-items:center;gap:0}.project-models-page .menu-bar-trigger{color:#fff}.project-models-page .models-body{display:flex;flex:1;overflow:hidden}.project-models-page .models-right-panel{width:260px;min-width:260px;background:#1e1e1e;border-left:1px solid #333;display:flex;flex-direction:column;flex-shrink:0;overflow:hidden}.project-models-page .models-right-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #333;font-size:13px;font-weight:600;color:#fff}.project-models-page .models-right-panel-header button{background:none;border:none;color:#666;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center}.project-models-page .models-right-panel-header button:hover{color:#fff;background:#333}.project-models-page .models-right-panel-list{flex:1;overflow-y:auto;padding:8px;scrollbar-width:thin;scrollbar-color:#444 #1e1e1e}.project-models-page .models-right-panel-empty{color:#666;font-size:12px;text-align:center;padding:20px}.project-models-page .models-right-panel-item{padding:8px 10px;border-radius:5px;cursor:pointer;transition:background .15s;margin-bottom:2px}.project-models-page .models-right-panel-item:hover{background:#2a2a2a}.project-models-page .models-right-panel-item-name{font-size:13px;font-weight:600;color:#fff}.project-models-page .models-right-panel-item-meta{font-size:11px;color:#666;margin-top:2px}.project-models-page .models-right-panel-add{margin:8px;padding:8px;background:transparent;border:1px dashed #444;border-radius:5px;color:#888;font-size:12px;cursor:pointer;transition:all .15s}.project-models-page .models-right-panel-add:hover{border-color:#3498db;color:#3498db}.project-models-page .models-sidebar{background:#1e1e1e;border-right:1px solid #333;display:flex;flex-direction:column;flex-shrink:0;overflow:hidden}.project-models-page .sidebar-item{display:flex;align-items:center;gap:10px;padding:10px 16px;cursor:pointer;transition:all .15s;margin:4px 12px;border-radius:6px;background:transparent;border:1px solid transparent}.project-models-page .sidebar-item:hover{background:#2a2a2a;border-color:#444}.project-models-page .sidebar-item.selected{background:#2a2a2a;border-color:#555}.project-models-page .home-item{margin:8px 12px 4px;border-radius:6px;background:transparent;border:none;font-weight:600;color:#fff;outline:none}.project-models-page .home-item:hover{background:#252525}.project-models-page .home-item.selected{background:#2a2a2a}.project-models-page .home-item .item-name{font-weight:600;color:#fff}.project-models-page .item-icon{font-size:18px}.project-models-page .item-name{font-weight:600;font-size:13px;color:#fff}.project-models-page .sidebar-divider{height:1px;background:#333;margin:8px 16px}.project-models-page .create-model-btn{margin:8px 12px;padding:10px 16px;background:transparent;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:flex-start;gap:8px;outline:none}.project-models-page .create-model-btn:hover{background:#252525}.project-models-page .create-model-btn.selected{background:#2a2a2a}.project-models-page .create-model-btn:focus{outline:none}.project-models-page .models-search{padding:0 12px 12px}.project-models-page .models-search input{width:100%;padding:6px 10px;border:1px solid #444;border-radius:4px;font-size:13px;box-sizing:border-box;background:#2a2a2a;color:#fff}.project-models-page .models-search input::placeholder{color:#888}.project-models-page .models-search input:focus{outline:none;border-color:#555}.project-models-page .models-section{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;padding:8px 0;background:#1e1e1e}.project-models-page .models-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;padding:0 16px;flex-shrink:0}.project-models-page .models-section-header .section-title{font-size:14px;font-weight:700;color:#fff}.project-models-page .model-count{font-size:11px;color:#aaa;background:#333;padding:2px 8px;border-radius:10px}.project-models-page .models-list{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:4px 8px;min-height:0;scrollbar-width:thin;scrollbar-color:#555 #2a2a2a;background:#1e1e1e}.project-models-page .model-list-item{display:flex;align-items:center;gap:10px;padding:8px 12px;margin-bottom:2px;background:transparent;border-radius:6px;cursor:pointer;transition:all .15s;border-top:none!important;border-right:none!important;border-bottom:none!important;border-left:3px solid transparent!important;outline:none!important}.project-models-page .model-list-item:hover{background:#252525}.project-models-page .model-list-item.selected{background:#2a2a2a;border-top:none!important;border-right:none!important;border-bottom:none!important;border-left:3px solid #3498db!important;outline:none!important}.project-models-page .model-list-item.selected:hover{background:#2a2a2a}.project-models-page .model-item-info{flex:1;min-width:0}.project-models-page .model-item-name{font-weight:600;font-size:13px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-models-page .model-item-meta{font-size:11px;color:#888;margin-top:1px}.project-models-page .model-item-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s}.project-models-page .model-list-item:hover .model-item-actions{opacity:1}.project-models-page .model-action-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:4px;cursor:pointer;color:#666;transition:all .15s}.project-models-page .model-action-btn:hover{background:#333;color:#aaa}.project-models-page .model-action-btn.delete:hover{background:#3a2525;color:#e74c3c}.project-models-page .models-list::-webkit-scrollbar{width:8px}.project-models-page .models-list::-webkit-scrollbar-track{background:#2a2a2a;border-radius:4px}.project-models-page .models-list::-webkit-scrollbar-thumb{background:#555;border-radius:4px}.project-models-page .models-list::-webkit-scrollbar-thumb:hover{background:#666}.project-models-page .model-item{margin:4px 0;border-radius:6px;padding:10px 12px}.project-models-page .model-info{display:flex;flex-direction:column;gap:2px}.project-models-page .model-name{font-weight:500;color:#333;font-size:14px}.project-models-page .model-meta{font-size:12px;color:#7f8c8d}.project-models-page .no-models{text-align:center;color:#888;padding:20px;font-size:13px}.project-models-page .sidebar-resize-handle{position:absolute;right:0;top:0;bottom:0;width:5px;cursor:col-resize;transition:background .2s}.project-models-page .sidebar-resize-handle:hover{background:#3498db}.project-models-page .models-main{flex:1;min-width:0;min-height:0;overflow:hidden;display:flex;flex-direction:column;background:#1a1a1a}.project-models-page .home-content{display:flex;flex-direction:column;align-items:center;max-width:900px;margin:0 auto;padding:0;width:100%}.project-models-page .home-content h2{margin:0 0 8px;color:#fff;font-size:28px;font-weight:600}.project-models-page .home-icon{margin:0 0 12px}.project-models-page .home-subtitle{color:#888;font-size:16px;margin:0 0 32px}.project-models-page .home-stats-row{display:flex;gap:20px;margin-bottom:40px;justify-content:center;width:100%}.project-models-page .home-stats-row .stat-card{flex:1;max-width:180px}.project-models-page .home-description{color:#888;margin-bottom:32px}.project-models-page .home-stats{display:flex;gap:20px;margin-bottom:40px;justify-content:center}.project-models-page .stat-card{background:transparent;border:none;border-radius:12px;padding:24px 32px;text-align:center;min-width:140px}.project-models-page .stat-card.large{padding:40px 60px;min-width:200px}.project-models-page .stat-card.large .stat-number{font-size:56px}.project-models-page .stat-card.large .stat-label{font-size:16px}.project-models-page .stat-number{font-size:36px;font-weight:700;color:#fff}.project-models-page .stat-label{font-size:14px;color:#888;margin-top:4px;font-weight:600}.project-models-page .home-header-section{display:flex;flex-direction:column;align-items:center;margin:0 0 20px;padding:0}.project-models-page .home-header-section h2{margin:0}.project-models-page .home-actions-section{background:transparent;border:none;border-radius:12px;padding:24px 0;width:100%;margin-bottom:24px}.project-models-page .home-actions-section h3{margin:0 0 16px;color:#fff;font-size:16px;font-weight:700}.project-models-page .home-actions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.project-models-page .action-card{display:flex;flex-direction:column;gap:4px;padding:12px 16px;background:linear-gradient(135deg,#252525,#2a2a2a);border:1px solid #3a3a3a;border-radius:10px;cursor:pointer;transition:all .2s;flex:1}.project-models-page .action-card:hover{background:linear-gradient(135deg,#2a2a2a,#333);border-color:#3498db}.project-models-page .action-row{display:flex;align-items:center;gap:10px}.project-models-page .action-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#333;border-radius:6px;flex-shrink:0}.project-models-page .action-title{font-size:13px;font-weight:600;color:#fff}.project-models-page .action-desc{font-size:11px;color:#888;padding-left:38px}.project-models-page .home-tips-section{background:transparent;border:none;border-radius:12px;padding:24px;width:100%}.project-models-page .home-tips-section h3{margin:0 0 16px;color:#fff;font-size:16px;font-weight:600}.project-models-page .tips-list{display:flex;flex-direction:column;gap:12px}.project-models-page .tip-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#2a2a2a;border-radius:8px}.project-models-page .tip-number{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#3498db;color:#fff;border-radius:50%;font-size:14px;font-weight:600;flex-shrink:0}.project-models-page .tip-text{font-size:14px;color:#ccc}.project-models-page .home-instructions{background:#fff;border:1px solid #e1e4e8;border-radius:12px;padding:24px;width:100%;max-width:600px}.project-models-page .home-instructions h3{margin:0 0 12px;color:#333;font-size:16px}.project-models-page .home-instructions p{margin:0;color:#666;line-height:1.6}.project-models-page .instructions-scroll-container{max-height:300px;overflow-y:auto;border:1px solid #e1e4e8;border-radius:8px;padding:16px;background:#fafbfc}.project-models-page .instructions-placeholder{color:#666}.project-models-page .instructions-placeholder p:first-child{font-size:18px;font-weight:500;color:#333;margin-bottom:16px}.project-models-page .instructions-placeholder ul{margin:12px 0 0;padding-left:20px}.project-models-page .instructions-placeholder li{margin-bottom:8px;color:#888}.project-models-page .export-note{font-size:12px;color:#888;margin-bottom:12px;line-height:1.5}.project-models-page .home-export-import{background:#2a2a2a;border:1px solid #444;border-radius:12px;padding:24px;width:100%;max-width:600px;margin-bottom:20px}.project-models-page .home-export-import h3{margin:0 0 16px;color:#fff;font-size:16px}.project-models-page .export-import-buttons{display:flex;gap:12px}.project-models-page .export-btn,.project-models-page .import-btn{padding:10px 20px;border-radius:8px;font-size:14px;cursor:pointer;transition:all .2s}.project-models-page .export-btn{background:#3498db26;border:1px solid #3498db;color:#5dade2}.project-models-page .export-btn:hover{background:#3498db40}.project-models-page .import-btn{background:#27ae6026;border:1px solid #27ae60;color:#58d68d}.project-models-page .import-btn:hover{background:#27ae6040}.project-models-page .modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.project-models-page .modal{background:#2a2a2a;border-radius:12px;padding:24px;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;border:1px solid #444}.project-models-page .modal h2{color:#fff;margin:0 0 20px}.project-models-page .import-modal{min-width:400px}.project-models-page .import-error{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#dc26261a;border:1px solid rgba(220,38,38,.3);border-radius:8px;margin-bottom:16px}.project-models-page .import-error .error-icon{font-size:20px}.project-models-page .import-error p{margin:0;color:#f87171}.project-models-page .import-summary{margin-bottom:16px}.project-models-page .import-summary p{margin:0 0 8px;color:#ccc}.project-models-page .import-warning{display:flex;align-items:flex-start;gap:8px;padding:12px;background:#eab3081a;border:1px solid rgba(234,179,8,.25);border-radius:6px;margin:12px 0}.project-models-page .import-warning span{font-size:16px}.project-models-page .import-warning p{margin:0;font-size:13px;color:#eab308}.project-models-page .import-info{display:flex;align-items:flex-start;gap:8px;padding:12px;background:#27ae601a;border:1px solid rgba(39,174,96,.25);border-radius:6px;margin:12px 0}.project-models-page .import-info span{font-size:16px}.project-models-page .import-info p{margin:0;font-size:13px;color:#2ecc71}.project-models-page .import-preview{margin-top:16px;padding:12px;background:#1e1e1e;border-radius:8px}.project-models-page .preview-label{font-size:12px;color:#888;margin-bottom:8px!important}.project-models-page .preview-list{display:flex;flex-direction:column;gap:6px}.project-models-page .preview-item{display:flex;justify-content:space-between;font-size:13px;padding:6px 8px;background:#252525;border-radius:4px}.project-models-page .preview-class{font-weight:500;color:#fff}.project-models-page .preview-type{color:#888;font-size:12px}.project-models-page .preview-more{font-size:12px;color:#888;text-align:center;padding-top:4px}.project-models-page .import-mode{margin-bottom:16px}.project-models-page .mode-label{font-size:13px;font-weight:500;margin-bottom:8px;color:#ccc}.project-models-page .mode-toggle{display:flex;gap:8px}.project-models-page .mode-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 16px;border:2px solid #444;border-radius:8px;background:#1e1e1e;cursor:pointer;transition:all .2s}.project-models-page .mode-btn:hover{border-color:#3498db;background:#252525}.project-models-page .mode-btn.active{border-color:#3498db;background:#3498db1a}.project-models-page .mode-btn .mode-title{font-weight:600;font-size:14px;color:#ccc}.project-models-page .mode-btn .mode-desc{font-size:11px;color:#888}.project-models-page .mode-btn.active .mode-title{color:#3498db}.project-models-page .mode-btn.active .mode-desc{color:#5aa3d0}.project-models-page .modal-buttons{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.project-models-page .modal-buttons button{padding:10px 20px;border-radius:6px;cursor:pointer}.project-models-page .modal-buttons button:first-child{background:#333;border:1px solid #444;color:#ccc}.project-models-page .modal-buttons .primary-btn{background:#3498db;border:1px solid #3498db;color:#fff}.project-models-page .modal-buttons .primary-btn:hover{background:#2980b9}.project-models-page .model-details{max-width:560px;padding:24px}.project-models-page .model-details-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.project-models-page .delete-model-btn{padding:6px 14px;background:transparent;color:#e74c3c;border:1px solid #555;border-radius:4px;cursor:pointer;font-size:12px;transition:all .2s}.project-models-page .delete-model-btn:hover{background:#e74c3c1a;border-color:#e74c3c}.project-models-page .model-details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.project-models-page .detail-card{background:transparent;border:none;border-radius:6px;padding:12px 14px}.project-models-page .detail-label{font-size:10px;color:#888;letter-spacing:.3px;margin-bottom:4px}.project-models-page .detail-value{font-size:15px;font-weight:600;color:#fff}.project-models-page .model-classes-section,.project-models-page .model-shapes-section{background:transparent;border:none;border-radius:6px;padding:14px 16px;margin-bottom:16px}.project-models-page .model-classes-section h3,.project-models-page .model-shapes-section h3{margin:0 0 12px;font-size:13px;color:#ccc;font-weight:600}.project-models-page .model-classes-list{display:flex;flex-wrap:wrap;gap:8px}.project-models-page .class-tag{background:#3498db26;color:#5dade2;padding:4px 12px;border-radius:4px;font-size:12px;border:1px solid rgba(52,152,219,.25)}.project-models-page .shapes-list{display:flex;flex-direction:column;gap:8px}.project-models-page .shape-item{display:flex;justify-content:space-between;padding:8px 12px;background:#2a2a2a;border-radius:4px}.project-models-page .shape-class{font-weight:500;color:#fff}.project-models-page .shape-type{color:#7f8c8d;text-transform:capitalize}.project-models-page .no-selection{display:flex;align-items:center;justify-content:center;height:100%;color:#95a5a6}.project-models-page .loading{display:flex;align-items:center;justify-content:center;height:100vh;font-size:1.2rem;color:#666}.project-models-page .training-section{padding:12px;display:flex;flex-direction:column;flex:1 1 auto;min-height:100px;overflow:hidden;background:#1e1e1e}.project-models-page .section-resize-handle{flex-shrink:0}.project-models-page .training-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.project-models-page .section-title{font-weight:700;color:#fff;font-size:14px}.project-models-page .pdf-count{font-size:11px;color:#aaa;background:#333;padding:2px 8px;border-radius:10px}.project-models-page .pdf-search{position:relative;margin-bottom:10px}.project-models-page .pdf-search input{width:100%;padding:6px 30px 6px 10px;border:1px solid #444;border-radius:4px;font-size:13px;box-sizing:border-box;background:#2a2a2a;color:#fff}.project-models-page .pdf-search input::placeholder{color:#888}.project-models-page .pdf-search input:focus{outline:none;border-color:#555}.project-models-page .clear-search-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:#666;color:#fff;border:none;border-radius:50%;width:18px;height:18px;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.project-models-page .clear-search-btn:hover{background:#888}.project-models-page .training-pdf-list{flex:1;overflow-y:scroll;min-height:100px;scrollbar-width:thin;scrollbar-color:#555 #2a2a2a}.project-models-page .training-pdf-list::-webkit-scrollbar{width:8px}.project-models-page .training-pdf-list::-webkit-scrollbar-track{background:#2a2a2a;border-radius:4px}.project-models-page .training-pdf-list::-webkit-scrollbar-thumb{background:#555;border-radius:4px}.project-models-page .training-pdf-list::-webkit-scrollbar-thumb:hover{background:#666}.project-models-page .no-pdfs{text-align:center;color:#888;font-size:12px;padding:10px}.project-models-page .training-pdf-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;cursor:pointer;transition:background .15s;border-left:3px solid transparent}.project-models-page .training-pdf-item:hover{background:#252525}.project-models-page .training-pdf-item.selected{background:#2a2a2a;border-left:3px solid #3498db}.project-models-page .pdf-icon{flex-shrink:0}.project-models-page .pdf-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.project-models-page .pdf-name{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff}.project-models-page .pdf-folder{font-size:11px;color:#888;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-models-page .pdf-training-area{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.project-models-page .training-viewer{display:flex;flex-direction:column;flex:1;min-height:0;background:#1a1a1a}.project-models-page .training-page-header{padding:12px 16px;display:flex;align-items:center;gap:12px;border-bottom:1px solid #2a2a2a;background:#222;flex-shrink:0}.project-models-page .training-page-header h2{margin:0;color:#fff;font-size:20px;font-weight:700}.project-models-page .header-clear-btn{background:#2a2a2a;border:1px solid #3a3a3a;color:#ccc;font-size:12px;font-weight:600;cursor:pointer;padding:5px 14px;border-radius:5px;transition:all .12s;flex-shrink:0}.project-models-page .header-clear-btn:hover{color:#e74c3c;border-color:#e74c3c;background:#2a1a1a}.project-models-page .show-docs-btn{display:flex;align-items:center;gap:5px;padding:4px 10px;background:#252525;border:1px solid #444;border-radius:5px;color:#999;font-size:11px;cursor:pointer;transition:all .15s;white-space:nowrap;margin-left:auto}.project-models-page .show-docs-btn:hover{background:#333;border-color:#3498db;color:#fff}.project-models-page .show-docs-btn.active{background:#1a2530;border-color:#3498db;color:#3498db}.project-models-page .show-docs-btn.large{padding:10px 20px;font-size:13px;margin-top:12px}.project-models-page .training-empty-state .show-docs-btn{margin-top:16px}.project-models-page .training-form{padding:16px 24px;display:flex;gap:20px;flex-wrap:wrap}.project-models-page .training-form-row{display:flex;flex-direction:column;gap:6px;min-width:200px}.project-models-page .training-form-row label{font-size:12px;font-weight:600;color:#888}.project-models-page .models-pdf-dropdown{position:relative}.project-models-page .models-pdf-search-input{width:300px;padding:10px 36px 10px 12px;border:1px solid #444;border-radius:6px;font-size:13px;background:#2a2a2a;color:#fff;cursor:pointer}.project-models-page .models-pdf-search-input:focus{outline:none;border-color:#3498db}.project-models-page .models-pdf-search-input.no-selection{color:#888}.project-models-page .models-clear-pdf-btn{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;color:#999;border:none;width:18px;height:18px;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2;transition:color .15s}.project-models-page .models-clear-pdf-btn:hover{color:#fff}.project-models-page .pdf-dropdown-list{position:absolute;top:100%;left:0;right:0;background:#2a2a2a;border:1px solid #444;border-radius:6px;max-height:300px;overflow-y:auto;z-index:100;margin-top:4px}.project-models-page .pdf-dropdown-item{padding:10px 12px;cursor:pointer;display:flex;flex-direction:column;gap:2px;border-bottom:1px solid #333}.project-models-page .pdf-dropdown-item:last-child{border-bottom:none}.project-models-page .pdf-dropdown-item:hover{background:#333}.project-models-page .pdf-dropdown-item.selected{background:#3498db33}.project-models-page .pdf-item-name{font-size:13px;color:#fff}.project-models-page .pdf-item-folder{font-size:11px;color:#888}.project-models-page .pdf-dropdown-empty{padding:20px;text-align:center;color:#888;font-size:13px}.project-models-page .training-form-select{padding:10px 12px;border:1px solid #444;border-radius:6px;font-size:13px;background:#2a2a2a;color:#fff;cursor:pointer;min-width:200px}.project-models-page .training-form-select:focus{outline:none;border-color:#3498db}.project-models-page .training-empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#888}.project-models-page .training-empty-state h3{margin:0;color:#fff;font-size:18px}.project-models-page .training-empty-state p{margin:0;font-size:14px}.project-models-page .empty-steps{display:flex;flex-direction:column;gap:12px;max-width:360px;width:100%;margin-top:4px}.project-models-page .empty-step{display:flex;align-items:flex-start;gap:14px;padding:14px 16px;background:#222;border:1px solid #2a2a2a;border-radius:8px;transition:border-color .15s}.project-models-page .empty-step:hover{border-color:#3498db33}.project-models-page .empty-step-num{width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:#3498db1f;color:#3498db;border-radius:50%;font-size:13px;font-weight:700;flex-shrink:0}.project-models-page .empty-step-text{display:flex;flex-direction:column;gap:2px}.project-models-page .empty-step-text strong{font-size:13px;color:#ddd;font-weight:600}.project-models-page .empty-step-text span{font-size:12px;color:#777}.project-models-page .close-pdf-btn{padding:6px 12px;background:#f0f0f0;border:none;border-radius:4px;cursor:pointer;font-size:13px;color:#666;transition:all .15s}.project-models-page .close-pdf-btn:hover{background:#e0e0e0;color:#333}.project-models-page .pdf-preview-container{flex:1;background:#333;overflow:hidden}.project-models-page .pdf-preview-frame{width:100%;height:100%;border:none}.project-models-page .pdf-training-footer{padding:12px 16px;background:#fff;border-top:1px solid #e1e4e8}.project-models-page .training-hint{margin:0;font-size:13px;color:#666}.project-models-page .file-sidebar{border-top:none}.project-models-page .pdf-training-header{display:flex;align-items:center;padding:4px 14px;background:#1a1a1a;border-bottom:none}.project-models-page .header-doc-info{flex:1;min-width:0}.project-models-page .header-doc-title{font-size:13px;font-weight:500;color:#ccc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-models-page .header-doc-page{font-size:11px;color:#888;margin-top:1px}.project-models-page .header-panel-btns{display:flex;align-items:center;gap:6px;flex-shrink:0}.project-models-page .training-toolbar{background:#222;border-bottom:1px solid #2a2a2a}.project-models-page .tb-row{display:flex;align-items:center;gap:8px;padding:6px 12px;flex-wrap:wrap}.project-models-page .tb-spacer{flex:1}.project-models-page .tb-sep{width:1px;height:20px;background:#3a3a3a;margin:0 2px}.project-models-page .tb-group{display:flex;align-items:center;gap:6px}.project-models-page .tb-label{font-size:11px;font-weight:600;color:#888}.project-models-page .tb-select{padding:4px 8px;border:1px solid #3a3a3a;border-radius:5px;font-size:12px;font-weight:500;min-width:120px;height:28px;box-sizing:border-box;background:#2c2f33;color:#fff;outline:none;cursor:pointer}.project-models-page .tb-select:focus{border-color:#555}.project-models-page .tb-select.sm{min-width:100px}.project-models-page .tb-input{padding:4px 8px;border:1px solid #3a3a3a;border-radius:5px;font-size:12px;font-weight:500;min-width:140px;height:28px;box-sizing:border-box;background:#2c2f33;color:#fff;outline:none}.project-models-page .tb-input:focus{border-color:#555}.project-models-page .tb-input::placeholder{color:#666}.project-models-page .tb-toggle-group{display:flex;border:1px solid #3a3a3a;border-radius:5px;overflow:hidden;height:28px}.project-models-page .tb-toggle{padding:0 10px;border:none;border-right:1px solid #3a3a3a;background:#2c2f33;cursor:pointer;font-size:11px;font-weight:600;color:#999;transition:all .1s;height:100%;display:flex;align-items:center;white-space:nowrap}.project-models-page .tb-toggle:last-child{border-right:none}.project-models-page .tb-toggle:hover:not(:disabled){background:#3a3d42;color:#fff}.project-models-page .tb-toggle.active{background:#3a4a5a;color:#fff}.project-models-page .tb-toggle:disabled{opacity:.35;cursor:not-allowed}.project-models-page .tb-model-preview{display:flex;align-items:center}.project-models-page .tb-muted{font-size:11px;color:#666;font-style:italic;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-models-page .tb-check{display:flex;align-items:center;gap:5px;cursor:pointer;font-size:11px;color:#999;font-weight:500;-webkit-user-select:none;user-select:none;transition:color .1s}.project-models-page .tb-check:hover{color:#ccc}.project-models-page .tb-check input{display:none}.project-models-page .tb-check-box{width:14px;height:14px;border:1px solid #555;border-radius:3px;background:#2c2f33;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .1s}.project-models-page .tb-check input:checked+.tb-check-box{background:#3a4a5a;border-color:#4a6070}.project-models-page .tb-check input:checked+.tb-check-box:after{content:"✓";font-size:10px;color:#fff;font-weight:700}.project-models-page .tb-check input:checked~span:last-child{color:#ccc}.project-models-page .tb-count{font-size:11px;color:#888;background:#2c2f33;padding:3px 10px;border-radius:10px;font-weight:500;border:1px solid #3a3a3a;white-space:nowrap}.project-models-page .tb-btn{padding:6px 16px;border-radius:5px;cursor:pointer;font-size:13px;font-weight:700;white-space:nowrap;transition:all .12s;height:30px;display:flex;align-items:center;box-sizing:border-box}.project-models-page .tb-btn.ghost{background:transparent;border:1px solid #3a3a3a;color:#999}.project-models-page .tb-btn.ghost:hover:not(:disabled){background:#2c2f33;border-color:#555;color:#ccc}.project-models-page .tb-btn.primary{background:#2a3a4a;border:1px solid #3a4a5a;color:#fff}.project-models-page .tb-btn.primary:hover:not(:disabled){background:#354b5e;border-color:#4a6070}.project-models-page .tb-btn.accent{background:transparent;border:1px solid transparent;color:#fff}.project-models-page .tb-btn.accent:hover:not(:disabled){color:#3498db}.project-models-page .tb-btn.accent.active{background:transparent;border-color:transparent;color:#3498db}.project-models-page .tb-btn.accent.testing{background:transparent;border-color:transparent;color:#3498db;opacity:.7}.project-models-page .tb-btn:disabled{opacity:.35;cursor:not-allowed}.project-models-page .shape-hint,.project-models-page .models-class-hint{padding:4px 12px;background:#252525;color:#ccc;font-size:11px;border-bottom:1px solid #333}.project-models-page .models-pdf-canvas-container{flex:1;min-height:0;overflow:hidden;background:#1a1a1a;position:relative}.project-models-page .models-pdf-canvas-container::-webkit-scrollbar{width:6px;height:6px}.project-models-page .models-pdf-canvas-container::-webkit-scrollbar-track{background:transparent}.project-models-page .models-pdf-canvas-container::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.project-models-page .models-pdf-canvas-container::-webkit-scrollbar-thumb:hover{background:#ffffff59}.project-models-page .models-pdf-canvas-container::-webkit-scrollbar-corner{background:transparent}.project-models-page .models-pdf-canvas-wrapper{background:#fff;box-shadow:0 2px 10px #0000004d;margin:8px;display:inline-block;position:relative;will-change:transform;transform-origin:0 0}.project-models-page .models-pdf-canvas-wrapper canvas{display:block}.project-models-page .models-drawing-rect{position:absolute;border:2px dashed;background:#3498db1a;pointer-events:none}.project-models-page .models-training-box{position:absolute;border:2px solid;pointer-events:all;cursor:default}.project-models-page .models-training-box .box-label{position:absolute;top:-20px;left:0;padding:2px 6px;color:#fff;font-size:11px;border-radius:3px;white-space:nowrap}.project-models-page .models-training-box .models-remove-box-btn{position:absolute;top:-6px;right:-6px;width:14px;height:14px;background:#fff;color:#e74c3c;border:1px solid #ccc;border-radius:2px;cursor:pointer;line-height:0;display:flex;align-items:center;justify-content:center;z-index:15;pointer-events:all;transition:background .15s,border-color .15s;box-shadow:0 1px 2px #0003;padding:0}.project-models-page .models-training-box .models-remove-box-btn:hover{background:#fee;border-color:#e74c3c}.project-models-page .models-training-box.circle,.project-models-page .models-drawing-rect.circle{border-radius:50%}.project-models-page .pending-shape{position:absolute;border:2px dashed #3498db;background:#3498db1a;pointer-events:none;z-index:20}.project-models-page .pending-label{position:absolute;top:-22px;left:0;padding:2px 8px;background:#3498db;color:#fff;font-size:11px;font-weight:600;border-radius:3px;white-space:nowrap;pointer-events:none}.project-models-page .resize-handle{position:absolute;width:10px;height:10px;background:#fff;border:2px solid #3498db;border-radius:2px;z-index:25;pointer-events:all}.project-models-page .resize-handle:hover{background:#3498db}.project-models-page .resize-handle.nw{cursor:nwse-resize}.project-models-page .resize-handle.ne,.project-models-page .resize-handle.sw{cursor:nesw-resize}.project-models-page .resize-handle.se{cursor:nwse-resize}.project-models-page .resize-handle.n,.project-models-page .resize-handle.s{cursor:ns-resize}.project-models-page .resize-handle.e,.project-models-page .resize-handle.w{cursor:ew-resize}.project-models-page .pending-action-bar{position:absolute;transform:translate(-50%);display:flex;align-items:center;gap:6px;background:#2a2a2a;border:1px solid #444;border-radius:6px;padding:5px 8px;box-shadow:0 4px 12px #0006;z-index:30;white-space:nowrap;pointer-events:all;overflow-anchor:none}.project-models-page .action-bar-btn{padding:5px 12px;border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;transition:all .15s;display:flex;align-items:center;gap:4px;white-space:nowrap}.project-models-page .action-bar-btn.confirm-btn{background:#fff;color:#1a1a1a}.project-models-page .action-bar-btn.confirm-btn:hover{background:#e0e0e0}.project-models-page .action-bar-btn.cancel-btn{background:#444;color:#ccc;padding:5px 8px}.project-models-page .action-bar-btn.cancel-btn:hover{background:#e74c3c;color:#fff}.project-models-page .action-bar-btn.regions-btn{background:#3a4a5a;color:#ccc}.project-models-page .action-bar-btn.regions-btn:hover{background:#4a5a6a;color:#fff}.project-models-page .action-bar-btn.regions-btn.has-regions{background:#27ae60;color:#fff}.project-models-page .action-bar-btn.regions-btn.has-regions:hover{background:#2ecc71}.project-models-page .action-bar-btn.regions-btn.loading{opacity:.7;cursor:wait;pointer-events:none;animation:regionPulse 1s ease-in-out infinite}@keyframes regionPulse{0%,to{opacity:.5}50%{opacity:.9}}.project-models-page .action-bar-btn.regions-btn:disabled{cursor:not-allowed}.project-models-page .shape-handle{position:absolute;width:10px;height:10px;background:#fff;border:2px solid #3498db;border-radius:2px;z-index:25}.project-models-page .shape-handle:hover{background:#3498db}.project-models-page .handle-nw{top:-5px;left:-5px;cursor:nwse-resize}.project-models-page .handle-ne{top:-5px;right:-5px;cursor:nesw-resize}.project-models-page .handle-sw{bottom:-5px;left:-5px;cursor:nesw-resize}.project-models-page .handle-se{bottom:-5px;right:-5px;cursor:nwse-resize}.project-models-page .handle-n{top:-5px;left:50%;transform:translate(-50%);cursor:ns-resize}.project-models-page .handle-s{bottom:-5px;left:50%;transform:translate(-50%);cursor:ns-resize}.project-models-page .handle-e{right:-5px;top:50%;transform:translateY(-50%);cursor:ew-resize}.project-models-page .handle-w{left:-5px;top:50%;transform:translateY(-50%);cursor:ew-resize}.project-models-page .training-mode-selector{display:flex;align-items:center;gap:8px}.project-models-page .training-mode-selector label{font-size:13px;font-weight:500;color:#333}.project-models-page .mode-buttons{display:flex;gap:4px}.project-models-page .mode-btn{padding:6px 12px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer;font-size:12px;transition:all .15s}.project-models-page .mode-btn:hover:not(:disabled){border-color:#3498db;background:#f0f7ff}.project-models-page .mode-btn.active{border-color:#3498db;background:#3498db;color:#fff}.project-models-page .mode-btn:disabled{opacity:.5;cursor:not-allowed}.project-models-page .subclass-region-dialog{background:#1e1e1e;border-radius:12px;max-width:95vw;max-height:95vh;min-width:400px;min-height:400px;display:flex;flex-direction:column;overflow:hidden;position:relative;border:1px solid #444}.project-models-page .dialog-resize-handle{position:absolute;z-index:10}.project-models-page .dialog-resize-handle.resize-e{right:0;top:0;bottom:0;width:8px;cursor:ew-resize}.project-models-page .dialog-resize-handle.resize-s{bottom:0;left:0;right:0;height:8px;cursor:ns-resize}.project-models-page .dialog-resize-handle.resize-se{bottom:0;right:0;width:16px;height:16px;cursor:nwse-resize}.project-models-page .dialog-resize-handle:hover{background:#3498db33}.project-models-page .dialog-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #444;background:#252525}.project-models-page .dialog-header h3{margin:0;font-size:18px;font-weight:700;color:#fff}.project-models-page .close-dialog-btn{background:none;border:none;font-size:20px;cursor:pointer;color:#888;padding:4px 8px}.project-models-page .close-dialog-btn:hover{color:#fff}.project-models-page .subclass-tabs{display:flex;gap:8px;padding:12px 20px;background:#252525;flex-wrap:wrap;border-bottom:1px solid #444}.project-models-page .subclass-tab{padding:8px 16px;border:1px solid #555;border-radius:20px;background:#333;color:#ccc;cursor:pointer;font-size:13px;transition:all .15s}.project-models-page .subclass-tab:hover{border-color:#3498db;color:#fff}.project-models-page .subclass-tab.active{background:#3498db;border-color:#3498db;color:#fff}.project-models-page .subclass-tab.completed{background:#1a3a2a;border-color:#2ecc71;color:#2ecc71}.project-models-page .subclass-tab.completed.active{background:#2ecc71;color:#fff}.project-models-page .tab-check{margin-right:4px}.project-models-page .region-instruction{padding:10px 20px;margin:0;font-size:13px;color:#ccc;background:#2a2a2a;border-bottom:1px solid #444}.project-models-page .region-instruction strong{color:#fff}.project-models-page .subclass-zoom-controls{display:flex;align-items:center;gap:8px;padding:8px 20px;background:#252525;border-bottom:1px solid #444}.project-models-page .subclass-zoom-controls button{width:28px;height:28px;border:1px solid #555;border-radius:4px;background:#333;color:#ccc;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .15s}.project-models-page .subclass-zoom-controls button:hover{background:#444;border-color:#666;color:#fff}.project-models-page .subclass-zoom-controls button:last-child{width:auto;padding:0 10px;font-size:12px}.project-models-page .subclass-zoom-controls span{font-size:12px;color:#999;min-width:45px;text-align:center}.project-models-page .region-image-container{flex:1;min-height:200px;margin:12px 20px;border:2px dashed #555;border-radius:8px;position:relative;overflow:auto;background:#2a2a2a;-webkit-user-select:none;user-select:none;scrollbar-width:thin;scrollbar-color:#555 #2a2a2a}.project-models-page .subclass-image-wrapper{position:relative;display:inline-block;cursor:crosshair;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.project-models-page .subclass-image-wrapper img{display:block;-webkit-user-select:none;user-select:none;pointer-events:none;-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;user-drag:none}.project-models-page .subclass-draw-rect{position:absolute;border:2px solid;pointer-events:none}.project-models-page .subclass-draw-rect.current{border-color:#9b59b6;background:#9b59b633}.project-models-page .subclass-draw-rect.other{border-color:#3498db;background:#3498db26}.project-models-page .subclass-draw-rect.drawing{border-style:dashed}.project-models-page .subclass-draw-rect .region-label{position:absolute;top:0;left:0;background:#9b59b6;color:#fff;font-size:10px;padding:1px 5px;border-radius:0 0 4px}.project-models-page .subclass-draw-rect.other .region-label{background:#3498db}.project-models-page .subclass-status{padding:8px 20px;font-size:13px;background:#252525;border-top:1px solid #444}.project-models-page .status-done{color:#2ecc71}.project-models-page .status-pending{color:#888}.project-models-page .dialog-spacer{flex:1}.project-models-page .dialog-actions{display:flex;align-items:center;gap:12px;padding:12px 20px;border-top:1px solid #444;background:#252525}.project-models-page .dialog-actions button{padding:8px 16px;border-radius:6px;cursor:pointer;font-size:13px;transition:all .15s}.project-models-page .prev-btn,.project-models-page .next-btn{background:#333;border:1px solid #555;color:#ccc}.project-models-page .prev-btn:hover,.project-models-page .next-btn:hover{background:#444;border-color:#666;color:#fff}.project-models-page .clear-region-btn{background:#3a2525;border:1px solid #e74c3c;color:#e74c3c}.project-models-page .clear-region-btn:hover{background:#4a2525}.project-models-page .done-btn{background:#27ae60;border:none;color:#fff}.project-models-page .done-btn:hover{background:#2ecc71}.project-models-page .orientation-toggle{display:flex;align-items:center;gap:4px;font-size:11px;color:#999;cursor:pointer;padding:3px 6px;border-radius:4px;transition:background .15s}.project-models-page .orientation-toggle:hover{background:#333}.project-models-page .orientation-toggle input[type=checkbox]{cursor:pointer;width:12px;height:12px}.project-models-page .orientation-toggle span{white-space:nowrap}.project-models-page .model-details-actions{display:flex;gap:8px}.project-models-page .add-templates-btn{padding:6px 14px;background:#333;color:#ccc;border:1px solid #555;border-radius:4px;cursor:pointer;font-size:12px;transition:all .15s}.project-models-page .add-templates-btn:hover{background:#444;color:#fff}.project-models-page .model-select-inline{padding:6px 10px;border:1px solid #555;border-radius:4px;font-size:13px;min-width:150px;background:#333;color:#fff}.project-models-page .view-templates-btn{padding:6px 14px;background:#333;color:#ccc;border:1px solid #555;border-radius:4px;cursor:pointer;font-size:12px;transition:all .15s}.project-models-page .view-templates-btn:hover{background:#444;color:#fff}.project-models-page .view-templates-btn.active{background:#3498db;color:#fff;border-color:#3498db}.project-models-page .model-templates-section{margin-top:20px;padding-top:16px;border-top:1px solid #333}.project-models-page .model-templates-section h3{margin:0 0 14px;font-size:14px;color:#ccc;font-weight:600}.project-models-page .templates-container{min-height:150px}.project-models-page .templates-loading{display:flex;align-items:center;justify-content:center;padding:40px;color:#888}.project-models-page .templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px;max-height:400px;overflow-y:auto;padding:4px}.project-models-page .template-item{position:relative;background:transparent;border:none;border-radius:6px;padding:8px;display:flex;flex-direction:column;align-items:center;gap:6px;transition:all .15s}.project-models-page .template-item:hover{border-color:#555}.project-models-page .template-item img{max-width:100%;max-height:80px;object-fit:contain;border-radius:3px;background:#1e1e1e}.project-models-page .template-label{font-size:10px;color:#aaa;text-align:center;word-break:break-word;max-width:100%}.project-models-page .template-rotation{position:absolute;top:4px;right:4px;background:#0009;color:#fff;font-size:9px;padding:2px 4px;border-radius:3px}.project-models-page .templates-empty{text-align:center;padding:30px;color:#666}.project-models-page .templates-empty p{margin:8px 0}.project-models-page .templates-hint{font-size:12px;color:#999}.project-models-page .test-model-btn{padding:5px 14px;background:#fff;color:#1a1a1a;border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:600;transition:all .15s;width:60px;text-align:center;box-sizing:border-box}.project-models-page .test-model-btn:hover:not(:disabled){background:#e0e0e0}.project-models-page .test-model-btn.active{background:#ddd}.project-models-page .training-content-area{display:flex;flex:1;min-height:0;overflow:hidden}.project-models-page .training-canvas-section{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.project-models-page .training-canvas-wrapper{flex:1;overflow:hidden;position:relative}.project-models-page .training-canvas-container{flex:1;overflow:auto;background:#404040;position:relative;width:100%;height:100%;overflow-anchor:none}.project-models-page .canvas-pan-container{background:#fff;box-shadow:0 2px 10px #0000004d;margin:20px;display:inline-block;position:relative}.project-models-page .canvas-pan-container canvas{display:block}.project-models-page .test-panel-sidebar{width:320px;min-width:320px;background:#1a1a1a;border-left:none;display:flex;flex-direction:column;overflow:hidden}.project-models-page .test-panel-sidebar .panel-header{padding:12px 14px;border-bottom:1px solid #2a2a2a;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.project-models-page .test-panel-sidebar .panel-header h3{margin:0;font-size:15px;color:#fff;font-weight:700}.project-models-page .test-panel-sidebar .close-panel{background:none;border:none;font-size:20px;color:#666;cursor:pointer;padding:0;line-height:1}.project-models-page .test-panel-sidebar .close-panel:hover{color:#fff}.project-models-page .test-panel-sidebar .panel-content{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:12px}.project-models-page .test-panel-sidebar .panel-section{display:flex;flex-direction:column;gap:8px;padding-bottom:12px;border-bottom:1px solid #252525}.project-models-page .test-panel-sidebar .panel-section:last-child{border-bottom:none;padding-bottom:0}.project-models-page .test-panel-sidebar .panel-section h4{margin:0;font-size:11px;color:#aaa;font-weight:700;letter-spacing:.3px}.project-models-page .test-panel-sidebar .panel-select{padding:7px 10px;border:1px solid #333;border-radius:5px;font-size:13px;width:100%;box-sizing:border-box;background:#2a2a2a;color:#fff}.project-models-page .test-panel-sidebar .panel-action-btn{padding:10px 12px;background:#2a2a2a;color:#ccc;border:1px solid #333;border-radius:5px;cursor:pointer;font-size:13px;font-weight:700;width:100%;transition:all .12s}.project-models-page .test-panel-sidebar .panel-action-btn:hover:not(:disabled){background:#333;border-color:#444;color:#3498db}.project-models-page .test-panel-sidebar .panel-action-btn:disabled{background:#2a2a2a;color:#666;border-color:#333;cursor:not-allowed}.project-models-page .test-panel-sidebar .panel-results-badge{background:#2a2a2a;color:#fff;padding:8px 12px;border-radius:5px;font-size:13px;font-weight:600;text-align:center;border:1px solid #333}.project-models-page .test-panel-sidebar .panel-setting-row{display:flex;flex-direction:column;gap:5px}.project-models-page .test-panel-sidebar .panel-setting-row label{font-size:12px;color:#aaa;font-weight:600}.project-models-page .test-panel-sidebar .panel-slider-control{display:flex;align-items:center;gap:10px}.project-models-page .test-panel-sidebar .panel-slider-control input[type=range]{flex:1;height:4px;-webkit-appearance:none;background:#333;border-radius:2px;cursor:pointer}.project-models-page .test-panel-sidebar .panel-slider-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:#fff;border-radius:50%;cursor:pointer}.project-models-page .test-panel-sidebar .panel-value{font-size:13px;font-weight:700;color:#fff;min-width:40px;text-align:right}.project-models-page .test-panel-sidebar .panel-input{padding:7px 10px;border:1px solid #333;border-radius:5px;font-size:12px;font-family:monospace;width:100%;box-sizing:border-box;background:#2a2a2a;color:#fff}.project-models-page .test-panel-sidebar .panel-pattern{font-size:10px;color:#888;font-family:monospace}.project-models-page .test-panel-sidebar .panel-save-btn{padding:8px 12px;background:#2a2a2a;color:#ccc;border:1px solid #333;border-radius:5px;cursor:pointer;font-size:12px;font-weight:700;width:100%;transition:all .12s}.project-models-page .test-panel-sidebar .panel-save-btn:hover{background:#333;border-color:#444;color:#3498db}.project-models-page .test-panel-sidebar .panel-guidance{display:flex;flex-direction:column;gap:4px;font-size:11px;color:#888}.project-models-page .test-panel-sidebar .panel-clear-btn{padding:7px 12px;background:#2a2a2a;border:1px solid #333;border-radius:5px;cursor:pointer;font-size:12px;font-weight:600;color:#ccc;width:100%;transition:all .12s}.project-models-page .test-panel-sidebar .panel-clear-btn:hover{background:#333;color:#fff}.project-models-page .run-test-btn.compact{padding:4px 12px;background:#27ae60;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:11px;font-weight:500;white-space:nowrap;height:26px}.project-models-page .run-test-btn.compact:hover:not(:disabled){background:#219a52}.project-models-page .run-test-btn.compact:disabled{background:#95a5a6;cursor:not-allowed}.project-models-page .recommended-settings-section{background:#252525;border:1px solid #333;border-radius:4px;padding:8px;margin-bottom:8px}.project-models-page .recommended-settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-weight:600;font-size:11px;color:#ccc}.project-models-page .settings-hint{font-size:10px;color:#666;font-weight:400}.project-models-page .recommended-settings-grid{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.project-models-page .setting-item{display:flex;flex-direction:column;gap:4px}.project-models-page .setting-item label{font-size:11px;color:#888;font-weight:500}.project-models-page .setting-control{display:flex;align-items:center;gap:8px}.project-models-page .setting-control input[type=range]{flex:1;height:4px;-webkit-appearance:none;background:#444;border-radius:2px;cursor:pointer}.project-models-page .setting-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:#3498db;border-radius:50%;cursor:pointer}.project-models-page .setting-value{font-size:12px;font-weight:600;color:#fff;min-width:40px;text-align:right}.project-models-page .format-control{flex-wrap:wrap}.project-models-page .format-input{flex:1;min-width:100px;padding:4px 8px;border:1px solid #444;border-radius:4px;font-size:11px;font-family:monospace;text-transform:uppercase;height:26px;box-sizing:border-box;background:#1e1e1e;color:#fff}.project-models-page .pattern-badge{background:#27ae6026;color:#2ecc71;padding:2px 8px;border-radius:4px;font-size:10px;font-family:monospace}.project-models-page .save-recommended-btn{width:100%;padding:6px 12px;background:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:11px;font-weight:500;transition:background .2s}.project-models-page .save-recommended-btn:hover{background:#2980b9}.project-models-page .test-results-section{border-top:1px solid #333;padding-top:8px;margin-top:4px}.project-models-page .test-guidance-compact{display:flex;gap:12px;font-size:10px;color:#888;flex-wrap:wrap;margin-bottom:8px}.project-models-page .test-guidance-compact span{white-space:nowrap}.project-models-page .clear-test-btn{padding:4px 10px;background:#333;border:1px solid #444;border-radius:4px;cursor:pointer;font-size:11px;color:#ccc}.project-models-page .clear-test-btn:hover{background:#444}.project-models-page .test-hint{font-size:11px;color:#888;font-style:italic}.project-models-page .test-result-box{position:absolute;border:3px solid #27ae60;background:#27ae6026;pointer-events:none;box-sizing:border-box}.project-models-page .test-result-label{position:absolute;top:-22px;left:-1px;background:#27ae60;color:#fff;font-size:10px;padding:2px 6px;border-radius:3px 3px 0 0;white-space:nowrap;font-weight:500}.project-models-page .test-model-details-btn{padding:8px 16px;background:#e67e22;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s}.project-models-page .test-model-details-btn:hover{background:#d35400}.project-models-page .sidebar-model-card{background:#fff;border:2px solid #c0c8d0;border-radius:6px;margin:6px 4px;overflow:visible;transition:all .2s;box-shadow:0 1px 4px #0000001a}.project-models-page .sidebar-model-card:hover{border-color:#3498db;box-shadow:0 2px 8px #00000026}.project-models-page .sidebar-model-card.selected{border-color:#3498db;border-width:2px;background:#e8f4fc;box-shadow:0 2px 8px #3498db4d}.project-models-page .model-card-header{padding:8px 10px;cursor:pointer;background:#fff;border-bottom:1px solid #eee}.project-models-page .model-card-header .model-name{display:block;font-weight:600;color:#1a1a1a;font-size:13px;margin-bottom:2px;text-decoration:none!important;border:none!important}.project-models-page .model-card-header .model-meta{display:block;font-size:11px;color:#666;text-decoration:none!important}.project-models-page .model-card-actions{display:flex!important;gap:4px;padding:6px 8px;background:#f6f8fa}.project-models-page .model-action-btn{flex:1;padding:5px 8px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer;font-size:11px;transition:all .15s;white-space:nowrap}.project-models-page .model-action-btn:hover{background:#f0f0f0}.project-models-page .model-action-btn.test:hover{background:#fff3e0;border-color:#e67e22}.project-models-page .model-action-btn.add:hover{background:#e3f2fd;border-color:#3498db}.project-models-page .model-action-btn.delete{flex:0 0 auto;padding:5px 8px}.project-models-page .model-action-btn.delete:hover{background:#ffebee;border-color:#e74c3c}.project-models-page .model-details-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}.project-models-page .model-details-header h2{margin:0;font-size:22px;color:#fff;font-weight:700}.project-models-page .detail-card.highlight{background:#27ae601a;border-color:#27ae604d}.project-models-page .detail-card.highlight .detail-label{color:#27ae60}.project-models-page .detail-card.highlight .detail-value{color:#2ecc71;font-weight:600}.project-models-page .test-model-btn.testing{background:#95a5a6;cursor:not-allowed}.project-models-page .test-model-btn:disabled{opacity:.7;cursor:not-allowed}.project-models-page .test-ocr-row{display:flex;align-items:center;gap:6px;margin-top:6px;padding-top:6px;border-top:1px solid #333}.project-models-page .test-ocr-row label{font-size:11px;color:#888;white-space:nowrap}.project-models-page .test-ocr-input{padding:3px 6px;border:1px solid #444;border-radius:4px;font-size:11px;width:80px;font-family:monospace;height:24px;box-sizing:border-box;background:#1e1e1e;color:#fff}.project-models-page .test-ocr-row .ocr-hint{font-size:9px;color:#999;font-family:monospace}.project-models-page .set-recommended-btn{margin-top:6px;padding:5px 12px;background:#27ae60;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:11px;font-weight:500;width:100%;transition:background .2s}.project-models-page .set-recommended-btn:hover{background:#219a52}.project-models-page .test-actions-row{display:flex;gap:8px;margin-top:8px;align-items:center}.project-models-page .test-actions-row .set-recommended-btn{flex:1}.project-models-page .test-actions-row .clear-test-btn{flex-shrink:0}.project-models-page .current-recommended-info{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#27ae601a;border-radius:4px;font-size:11px;margin-top:4px}.project-models-page .recommended-label{color:#2ecc71;font-weight:500}.project-models-page .recommended-value{color:#27ae60;font-family:monospace;background:#27ae601a;padding:2px 6px;border-radius:3px}.project-models-page .detail-card.highlight-blue{background:#3498db1a;border-color:#3498db4d}.project-models-page .detail-card.highlight-blue .detail-label{color:#3498db}.project-models-page .detail-card.highlight-blue .detail-value{color:#5dade2;font-weight:600;font-family:monospace}.project-models-page .model-recommended-settings{background:transparent;border:none;border-radius:6px;padding:16px;margin-top:16px;display:flex;flex-direction:column;gap:14px}.project-models-page .models-settings-section{display:flex;flex-direction:column;gap:8px}.project-models-page .models-settings-section>label{font-size:11px;font-weight:600;color:#888;letter-spacing:.3px}.project-models-page .models-confidence-row{display:flex;align-items:center;gap:12px}.project-models-page .models-confidence-row input[type=range]{flex:1;height:4px;-webkit-appearance:none;background:#444;border-radius:2px;cursor:pointer}.project-models-page .models-confidence-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:#3498db;border-radius:50%;cursor:pointer}.project-models-page .models-ocr-row{display:flex;align-items:center;gap:10px}.project-models-page .models-subclass-ocr-list{display:flex;flex-direction:column;gap:8px}.project-models-page .models-subclass-ocr-row{display:flex;align-items:center;gap:10px}.project-models-page .models-subclass-name{font-size:12px;color:#ccc;min-width:100px;font-weight:500}.project-models-page .model-recommended-settings .save-settings-btn{align-self:flex-start}.project-models-page .confidence-display{font-size:13px;font-weight:600;color:#fff;min-width:45px;text-align:right}.project-models-page .format-text-input{flex:1;padding:7px 10px;border:1px solid #444;border-radius:4px;font-size:12px;font-family:monospace;text-transform:uppercase;background:#1e1e1e;color:#fff}.project-models-page .format-text-input:focus{outline:none;border-color:#3498db}.project-models-page .pattern-display{background:#27ae6026;color:#2ecc71;padding:6px 10px;border-radius:4px;font-size:11px;font-family:monospace;font-weight:500;white-space:nowrap}.project-models-page .save-settings-btn{padding:7px 18px;background:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;transition:background .15s;white-space:nowrap}.project-models-page .save-settings-btn:hover{background:#2980b9}.project-models-page .subclass-ocr-panel{flex-direction:column;gap:6px!important}.project-models-page .panel-subclass-row{display:flex;align-items:center;gap:6px;width:100%}.project-models-page .panel-subclass-label{font-size:11px;color:#aaa;min-width:70px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-models-page .panel-input-small{flex:1;min-width:0}.project-models-page .template-item{position:relative}.project-models-page .remove-example-btn{position:absolute;top:4px;right:4px;width:14px;height:14px;border-radius:2px;background:#fff;color:#e74c3c;border:1px solid #ccc;cursor:pointer;font-size:10px;line-height:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s,background .15s,border-color .15s;box-shadow:0 1px 2px #0003}.project-models-page .template-item:hover .remove-example-btn{opacity:1}.project-models-page .remove-example-btn:hover{background:#fee;border-color:#e74c3c}.project-models-page .template-class{display:block;font-size:9px;color:#666;margin-top:2px}.project-models-page .templates-help-text{font-size:11px;font-weight:400;color:#666;margin-left:10px}.project-models-page .model-templates-section h3{display:flex;align-items:center;gap:8px}.project-models-page .test-panel-sidebar .tp-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px}.project-models-page .test-panel-sidebar .tp-info-cell{padding:8px 10px;background:#2a2a2a;border-radius:5px;display:flex;flex-direction:column;gap:2px}.project-models-page .test-panel-sidebar .tp-info-val{font-size:14px;color:#fff;font-weight:700}.project-models-page .test-panel-sidebar .tp-info-lbl{font-size:10px;color:#aaa;font-weight:600;letter-spacing:.3px}.project-models-page .test-panel-sidebar .tp-class-tags{display:flex;flex-wrap:wrap;gap:4px}.project-models-page .test-panel-sidebar .tp-class-tag{font-size:11px;color:#ccc;background:#252525;padding:3px 8px;border-radius:4px;border:1px solid #333;font-weight:600}.project-models-page .test-panel-sidebar .tp-examples-btn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:7px 10px;background:#2a2a2a;border:1px solid #2a2a2a;border-radius:5px;color:#ccc;font-size:12px;font-weight:600;cursor:pointer;transition:all .12s}.project-models-page .test-panel-sidebar .tp-examples-btn:hover{background:#333;color:#fff;border-color:#444}.project-models-page .test-panel-sidebar .tp-examples-count{font-size:10px;color:#aaa;background:#222;padding:2px 7px;border-radius:8px;font-weight:700}.project-models-page .tp-modal-overlay{position:fixed;inset:0;background:#000000bf;z-index:1000;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.project-models-page .tp-modal{background:#1a1a1a;border:1px solid #333;border-radius:10px;width:90vw;max-width:800px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #00000080}.project-models-page .tp-modal-header{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid #2a2a2a;flex-shrink:0}.project-models-page .tp-modal-header h3{margin:0;font-size:15px;font-weight:700;color:#fff}.project-models-page .tp-modal-count{font-size:11px;color:#aaa;background:#252525;padding:2px 8px;border-radius:8px;font-weight:600}.project-models-page .tp-modal-close{margin-left:auto;background:none;border:none;font-size:22px;color:#666;cursor:pointer;padding:0;line-height:1;transition:color .12s}.project-models-page .tp-modal-close:hover{color:#fff}.project-models-page .tp-modal-body{flex:1;overflow:hidden;padding:16px}.project-models-page .tp-modal-msg{font-size:13px;color:#888;padding:40px 0;text-align:center}.project-models-page .tp-modal-layout{display:flex;gap:16px;height:100%;max-height:calc(80vh - 80px)}.project-models-page .tp-modal-grid{flex:1;display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;overflow-y:auto;align-content:start;padding-right:4px}.project-models-page .tp-modal-thumb{position:relative;aspect-ratio:1;border-radius:6px;overflow:hidden;border:2px solid #2a2a2a;background:#2a2a2a;cursor:pointer;transition:border-color .12s}.project-models-page .tp-modal-thumb:hover{border-color:#555}.project-models-page .tp-modal-thumb.selected{border-color:#fff}.project-models-page .tp-modal-thumb img{width:100%;height:100%;object-fit:contain;background:#1a1a1a}.project-models-page .tp-modal-thumb-label{position:absolute;bottom:0;left:0;right:0;font-size:10px;color:#fff;background:#000c;padding:3px 6px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}.project-models-page .tp-modal-preview{width:280px;flex-shrink:0;display:flex;flex-direction:column;gap:12px;background:#141414;border:1px solid #252525;border-radius:8px;padding:12px;overflow:hidden}.project-models-page .tp-modal-preview img{width:100%;flex:1;min-height:0;object-fit:contain;background:#1a1a1a;border-radius:6px;border:1px solid #2a2a2a}.project-models-page .tp-modal-preview-info{display:flex;flex-direction:column;gap:6px;flex-shrink:0}.project-models-page .tp-preview-label{font-size:13px;font-weight:700;color:#fff}.project-models-page .tp-preview-idx{font-size:11px;color:#aaa;font-weight:500}.project-models-page .tp-preview-rm{padding:6px 12px;background:#2a1a1a;border:1px solid #442222;border-radius:5px;color:#e74c3c;font-size:11px;font-weight:600;cursor:pointer;transition:all .12s;text-align:center}.project-models-page .tp-preview-rm:hover{background:#3a1a1a;border-color:#633;color:#ff6b6b}.project-models-page .floating-page-nav{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:2px;background:#2c2f33;border:1px solid #3a3d42;border-radius:8px;padding:4px 6px;box-shadow:0 4px 20px #0006;z-index:20;-webkit-user-select:none;user-select:none}.project-models-page .fpn-btn{display:flex;align-items:center;justify-content:center;width:30px;height:28px;background:transparent;border:none;border-radius:5px;color:#ccc;cursor:pointer;transition:all .1s}.project-models-page .fpn-btn:hover:not(:disabled){background:#3a3d42;color:#fff}.project-models-page .fpn-btn:disabled{color:#555;cursor:default}.project-models-page .fpn-info{display:flex;align-items:baseline;gap:3px;padding:0 8px;min-width:50px;justify-content:center}.project-models-page .fpn-current{font-size:14px;font-weight:700;color:#fff}.project-models-page .fpn-sep{font-size:12px;color:#555}.project-models-page .fpn-total{font-size:12px;font-weight:500;color:#888}.project-models-page .models-overview{flex:1;display:flex;flex-direction:column;overflow:hidden}.project-models-page .overview-content{flex:1;overflow-y:auto;padding:40px 60px;width:100%}.project-models-page .overview-hero-split{display:flex;align-items:center;gap:60px;min-height:70vh;width:100%}.project-models-page .overview-hero-left{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center}.project-models-page .overview-title-row{display:flex;align-items:center;gap:14px}.project-models-page .overview-title-row h2{margin:0;color:#fff;font-size:32px;font-weight:700}.project-models-page .overview-desc{margin:0;font-size:15px;color:#999;line-height:1.6;max-width:400px}.project-models-page .overview-hero-right{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}.project-models-page .overview-drawing-img{width:100%;max-width:600px;height:auto;border-radius:12px;opacity:.9;box-shadow:0 8px 40px #0006}.project-models-page .overview-stats-row{display:flex;gap:16px;margin-bottom:8px;width:100%}.project-models-page .overview-stat-card{flex:1;max-width:180px;background:transparent;border:1px solid #333;border-radius:12px;padding:24px 32px;text-align:center}.project-models-page .overview-stat-value{font-size:36px;font-weight:700;color:#fff}.project-models-page .overview-stat-label{font-size:14px;font-weight:600;color:#888;margin-top:4px}.project-models-page .overview-models-section{width:100%;margin-bottom:24px}.project-models-page .overview-models-section h3{margin:0 0 12px;font-size:16px;font-weight:700;color:#fff}.project-models-page .overview-models-list{background:#252525;border:1px solid #333;border-radius:12px;overflow:hidden}.project-models-page .overview-model-row{display:flex;align-items:center;gap:10px;padding:12px 16px;cursor:pointer;transition:background .1s;border-bottom:1px solid #2a2a2a}.project-models-page .overview-model-row:last-child{border-bottom:none}.project-models-page .overview-model-row:hover{background:#2e2e2e}.project-models-page .overview-model-dot{width:8px;height:8px;border-radius:50%;background:#3498db;flex-shrink:0}.project-models-page .overview-model-name{font-size:13px;font-weight:600;color:#fff;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-models-page .overview-model-detail{font-size:11px;color:#666;font-weight:500;flex-shrink:0}.project-models-page .overview-actions-section{width:100%;margin-bottom:24px}.project-models-page .overview-actions-section h3{margin:0 0 16px;color:#fff;font-size:14px;font-weight:700}.project-models-page .overview-actions-grid{display:flex;gap:12px}.project-models-page .overview-action-card{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:16px;background:#2a2a2a;border:1px solid #3a3a3a;border-radius:8px;cursor:pointer;transition:all .15s}.project-models-page .overview-action-card:hover{background:#333;border-color:#4a4a4a}.project-models-page .overview-action-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#3a3a3a;border-radius:6px;flex-shrink:0}.project-models-page .overview-action-card:hover .overview-action-icon{background:#4a4a4a}.project-models-page .overview-action-title{font-size:14px;font-weight:700;color:#fff}.project-models-page .overview-action-desc{font-size:12px;color:#888}.project-models-page .overview-empty{text-align:center;padding:40px 20px;color:#888}.project-models-page .overview-empty p{margin:0 0 16px;font-size:14px}.project-models-page .overview-create-btn{padding:8px 20px;background:#252525;border:1px solid #333;border-radius:6px;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}.project-models-page .overview-create-btn:hover{background:#2a2a2a;border-color:#3498db;color:#3498db}.project-detection-page{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden;background:#1e1e1e;position:fixed;inset:0}body:has(.project-detection-page){overflow:hidden}.project-detection-page .detection-header{background:#000;padding:.6rem 1rem;display:flex;align-items:center;gap:.75rem;flex-shrink:0;border-bottom:1px solid rgba(255,255,255,.15)}.project-detection-page .detection-header .back-btn{background:none;border:none;padding:6px 10px;border-radius:4px;cursor:pointer;color:#ccc;transition:all .2s;display:flex;align-items:center;justify-content:center}.project-detection-page .detection-header .back-btn:hover{background:none;color:#3498db}.project-detection-page .detection-header h1{margin:0 0 0 6px;font-size:1.5rem;font-weight:700;line-height:1;color:#fff}.project-detection-page .detection-header .brand-title{color:#fff;font-weight:700}.project-detection-page .detection-content{flex:1;display:flex;overflow:hidden;min-height:0}.project-detection-page .detection-content .project-classes-page,.project-detection-page .detection-content .project-models-page{height:100%!important;position:relative!important;inset:auto!important}.detection-overview{flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#333 #1e1e1e}.detection-overview-inner{width:100%;padding:40px 60px}.detection-hero-split{display:flex;align-items:center;gap:60px;min-height:70vh}.detection-hero-left{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center}.detection-title-row{display:flex;align-items:center;gap:14px}.detection-title-row h2{margin:0;color:#fff;font-size:32px;font-weight:700}.detection-desc{margin:0;font-size:15px;color:#999;line-height:1.6;max-width:400px}.detection-hero-right{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}.detection-drawing-img{width:100%;max-width:600px;height:auto;border-radius:12px;opacity:.9;box-shadow:0 8px 40px #0006}.detection-overview h2{margin:0 0 4px;font-size:20px;color:#fff;font-weight:700}.detection-stats{display:flex;gap:16px;margin-bottom:32px}.detection-stat{flex:1;text-align:center;padding:16px 8px}.detection-stat-number{font-size:28px;font-weight:700;color:#fff;line-height:1;margin-bottom:4px}.detection-stat-label{font-size:11px;color:#888;font-weight:500}.detection-section{margin-bottom:28px}.detection-section h3{margin:0 0 12px;font-size:13px;color:#888;font-weight:600;text-transform:lowercase}.detection-model-list{display:flex;flex-direction:column;gap:4px}.detection-model-card{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#252525;border-radius:6px;cursor:pointer;transition:background .15s}.detection-model-card:hover{background:#2a2a2a}.detection-model-name{font-size:13px;font-weight:600;color:#fff}.detection-model-meta{display:flex;gap:12px;font-size:11px;color:#666}.detection-class-list{display:flex;flex-wrap:wrap;gap:6px}.detection-class-card{display:flex;align-items:center;gap:8px;padding:8px 14px;background:#252525;border-radius:6px;cursor:pointer;transition:background .15s}.detection-class-card:hover{background:#2a2a2a}.detection-class-name{font-size:13px;font-weight:500;color:#ccc}.detection-class-count{font-size:11px;color:#666}.detection-empty{text-align:center;padding:40px 20px}.detection-empty p{color:#666;font-size:13px;margin:0 0 4px}.detection-empty-hint{font-size:12px;color:#555}.detection-chat{flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#333 #1e1e1e}.detection-chat-inner{max-width:700px;margin:0 auto;padding:40px 32px}.detection-chat h2{margin:0 0 4px;font-size:20px;color:#fff;font-weight:700}.detection-chat-subtitle{color:#666;font-size:12px;margin:0 0 28px}.detection-chat-placeholder{text-align:center;padding:60px 20px;color:#555;font-size:14px}.project-smartlinks-page{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden;background:#1e1e1e;touch-action:pan-x pan-y;-ms-touch-action:pan-x pan-y}.project-smartlinks-page.loading{display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:#aaa}.project-smartlinks-page .smartlinks-header{background:#000;padding:.6rem 1rem;display:flex;align-items:center;gap:.75rem;flex-shrink:0;border-bottom:1px solid rgba(255,255,255,.15)}.project-smartlinks-page .smartlinks-header .back-btn{background:none;border:none;padding:6px 10px;border-radius:4px;cursor:pointer;color:#ccc;transition:all .2s;display:flex;align-items:center;justify-content:center}.project-smartlinks-page .smartlinks-header .back-btn:hover{background:none;color:#3498db}.project-smartlinks-page .smartlinks-header h1{margin:0 0 0 6px;font-size:1.5rem;font-weight:700;line-height:1;color:#fff}.project-smartlinks-page .smartlinks-header .brand-title{color:#fff;font-weight:700}.project-smartlinks-page .menu-bar-trigger{color:#fff}.project-smartlinks-page .smartlinks-toolbar{background:#000;border-bottom:1px solid rgba(255,255,255,.15);padding:4px 12px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;height:45.5px;box-sizing:border-box}.project-smartlinks-page .smartlinks-toolbar-left,.project-smartlinks-page .smartlinks-toolbar-right{display:flex;align-items:center;gap:0}.project-smartlinks-page .smartlinks-tab-btn{background:transparent;color:#fff;border:none;padding:4px 8px;border-radius:3px;font-size:15px;cursor:pointer;transition:color .1s,background .1s;display:flex;align-items:center;white-space:nowrap;flex-shrink:0;box-sizing:border-box;outline:none;gap:6px;line-height:1.4}.project-smartlinks-page .smartlinks-tab-btn:hover{background:#ffffff14;color:#fff}.project-smartlinks-page .smartlinks-tab-btn.active{background:transparent;color:#3498db}.project-smartlinks-page .smartlinks-sidebar{background:#1e1e1e;border-right:1px solid #333;display:flex;flex-direction:column;flex-shrink:0;overflow:hidden}.project-smartlinks-page .smartlinks-sidebar .sidebar-item{display:flex;align-items:center;gap:10px;padding:10px 16px;cursor:pointer;transition:all .15s;margin:4px 12px;border-radius:6px;background:transparent;border:1px solid transparent}.project-smartlinks-page .smartlinks-sidebar .sidebar-item:hover{background:#2a2a2a;border-color:#444}.project-smartlinks-page .smartlinks-sidebar .sidebar-item.selected{background:#2a2a2a;border-color:#555}.project-smartlinks-page .smartlinks-sidebar .home-item{margin:8px 12px 4px}.project-smartlinks-page .smartlinks-sidebar .item-name{font-weight:600!important;font-size:13px;color:#fff!important}.project-smartlinks-page .smartlinks-sidebar .sidebar-divider{height:1px;background:#333;margin:8px 16px}.project-smartlinks-page .smartlinks-sidebar .create-model-btn{margin:8px 12px;padding:10px 16px;background:#1e1e1e;color:#fff!important;border:none;border-radius:6px;font-size:13px;font-weight:600!important;cursor:pointer;transition:background .15s;text-align:left;width:calc(100% - 24px)}.project-smartlinks-page .smartlinks-sidebar .create-model-btn:hover{background:#2a2a2a}.project-smartlinks-page .smartlinks-sidebar .sidebar-footer{margin-top:auto;padding:12px;border-top:1px solid #333;background:linear-gradient(to top,#1a1a1a,#1e1e1e)}.project-smartlinks-page .smartlinks-sidebar .sidebar-footer-hint{font-size:11px;color:#666;margin-bottom:8px;padding-left:2px}.project-smartlinks-page .smartlinks-sidebar .properties-link{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;background:linear-gradient(135deg,#252525,#2a2a2a);border:1px solid #3a3a3a;border-radius:6px;color:#bbb;font-size:12px;cursor:pointer;transition:all .2s}.project-smartlinks-page .smartlinks-sidebar .properties-link:hover{background:linear-gradient(135deg,#2a2a2a,#333);border-color:#3498db;color:#fff}.project-smartlinks-page .smartlinks-sidebar .properties-link svg{transition:color .2s}.project-smartlinks-page .smartlinks-sidebar .properties-link:hover svg{color:#3498db}.project-smartlinks-page .smartlinks-sidebar .properties-link .arrow-icon{margin-left:auto;opacity:.5;transition:all .2s}.project-smartlinks-page .smartlinks-sidebar .properties-link:hover .arrow-icon{opacity:1;transform:translate(2px)}.project-smartlinks-page .sidebar-section{padding:0 12px}.project-smartlinks-page .sidebar-section-header{display:flex;justify-content:space-between;align-items:center;padding:8px 4px;font-size:11px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.5px}.smartlinks-search{padding:8px 4px}.smartlinks-search input{width:100%;padding:8px 10px;border:1px solid #e1e4e8;border-radius:6px;font-size:13px;box-sizing:border-box}.smartlinks-search input:focus{outline:none;border-color:#3498db}.smartlinks-list{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:4px 8px;min-height:0;scrollbar-width:thin;scrollbar-color:#ccc #f0f0f0;background:#fafafa}.smartlinks-list::-webkit-scrollbar{width:8px}.smartlinks-list::-webkit-scrollbar-track{background:#f0f0f0;border-radius:4px}.smartlinks-list::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.smartlinks-list::-webkit-scrollbar-thumb:hover{background:#aaa}.project-smartlinks-page .no-links{color:#888;font-size:13px;text-align:center;padding:20px}.project-smartlinks-page .models-search{padding:0 12px 12px}.project-smartlinks-page .models-search input{width:100%;padding:6px 10px;border:1px solid #444;border-radius:4px;font-size:13px;box-sizing:border-box;background:#2a2a2a;color:#fff}.project-smartlinks-page .models-search input::placeholder{color:#888}.project-smartlinks-page .models-search input:focus{outline:none;border-color:#555}.project-smartlinks-page .models-section{display:flex;flex-direction:column;flex:1;min-height:100px;overflow:hidden;background:#1e1e1e}.project-smartlinks-page .models-section-header{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 12px;flex-shrink:0}.project-smartlinks-page .models-section-header .section-title{font-size:14px;font-weight:700;color:#fff}.project-smartlinks-page .model-count{font-size:11px;color:#aaa;background:#333;padding:2px 8px;border-radius:10px}.project-smartlinks-page .models-list{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:4px 8px;min-height:0;scrollbar-width:thin;scrollbar-color:#555 #2a2a2a;background:#1e1e1e}.project-smartlinks-page .models-list::-webkit-scrollbar{width:8px}.project-smartlinks-page .models-list::-webkit-scrollbar-track{background:#2a2a2a;border-radius:4px}.project-smartlinks-page .models-list::-webkit-scrollbar-thumb{background:#555;border-radius:4px}.project-smartlinks-page .models-list::-webkit-scrollbar-thumb:hover{background:#666}.project-smartlinks-page .no-models{text-align:center;color:#888;font-size:13px;padding:20px}.project-smartlinks-page .model-list-item{display:flex;align-items:center;gap:10px;padding:8px 12px;margin-bottom:2px;background:transparent;border-radius:6px;cursor:pointer;transition:all .15s;border-top:none!important;border-right:none!important;border-bottom:none!important;border-left:3px solid transparent!important;outline:none!important}.project-smartlinks-page .model-list-item:hover{background:#252525}.project-smartlinks-page .model-list-item.selected{background:#2a2a2a;border-top:none!important;border-right:none!important;border-bottom:none!important;border-left:3px solid #3498db!important;outline:none!important}.project-smartlinks-page .model-list-item.selected:hover{background:#2a2a2a}.project-smartlinks-page .model-item-icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px;background:transparent;color:#fff;flex-shrink:0}.project-smartlinks-page .model-list-item:hover .model-item-icon,.project-smartlinks-page .model-list-item.selected .model-item-icon{background:transparent;color:#fff}.project-smartlinks-page .model-item-info{flex:1;min-width:0}.project-smartlinks-page .model-item-name{font-weight:500;font-size:13px;color:#ccc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-smartlinks-page .model-list-item:hover .model-item-name,.project-smartlinks-page .model-list-item.selected .model-item-name{color:#fff}.project-smartlinks-page .model-action-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:4px;cursor:pointer;color:#666;transition:all .15s;opacity:0}.project-smartlinks-page .model-list-item:hover .model-action-btn{opacity:1}.project-smartlinks-page .model-action-btn:hover{background:#333;color:#aaa}.project-smartlinks-page .model-action-btn.delete:hover{background:#3a2525;color:#e74c3c}.project-smartlinks-page .link-item{display:flex;align-items:center;padding:8px 12px;margin:2px 0;background:#fff;border:1px solid #e1e4e8;border-radius:6px;cursor:pointer;transition:all .15s}.project-smartlinks-page .link-item:hover{background:#f8f9fa;border-color:#ccc}.project-smartlinks-page .link-item.selected{background:#e8f4fc;border-color:#3498db}.project-smartlinks-page .link-item.selected:hover{background:#d6eaf8}.project-smartlinks-page .link-item.selected{border-left:none!important}.project-smartlinks-page .link-info{display:flex;flex-direction:column;gap:4px;overflow:hidden}.project-smartlinks-page .link-name{font-weight:500;color:#333;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-smartlinks-page .link-meta{font-size:11px;color:#888}.project-smartlinks-page .training-section{padding:12px;display:flex;flex-direction:column;flex:1 1 auto;min-height:100px;overflow:hidden;background:#1e1e1e}.project-smartlinks-page .training-section-header{display:flex;justify-content:space-between;align-items:center;padding:8px 4px;flex-shrink:0}.project-smartlinks-page .section-resize-handle{height:12px;cursor:row-resize;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#252525;border-top:1px solid #333;border-bottom:1px solid #333;transition:background .15s}.project-smartlinks-page .section-resize-handle:hover{background:#2a2a2a}.project-smartlinks-page .section-resize-handle.active{background:#333}.project-smartlinks-page .resize-handle-bar{width:40px;height:4px;background:#555;border-radius:2px;transition:background .15s}.project-smartlinks-page .section-resize-handle:hover .resize-handle-bar{background:#888}.project-smartlinks-page .section-resize-handle.active .resize-handle-bar{background:#aaa}.project-smartlinks-page .training-section-header .section-title{font-size:11px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.5px}.project-smartlinks-page .training-section-header .pdf-count{background:#333;padding:2px 8px;border-radius:10px;font-size:11px;color:#aaa}.project-smartlinks-page .pdf-search{position:relative;margin-bottom:8px;flex-shrink:0}.project-smartlinks-page .pdf-search input{width:100%;padding:6px 10px;border:1px solid #444;border-radius:4px;font-size:12px;box-sizing:border-box;background:#2a2a2a;color:#fff}.project-smartlinks-page .pdf-search input::placeholder{color:#888}.project-smartlinks-page .pdf-search input:focus{outline:none;border-color:#555}.project-smartlinks-page .pdf-search .clear-search-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#888;font-size:14px;padding:2px}.project-smartlinks-page .training-pdf-list{flex:1;overflow-y:scroll;min-height:100px;scrollbar-width:thin;scrollbar-color:#555 #2a2a2a}.project-smartlinks-page .training-pdf-list::-webkit-scrollbar{width:8px}.project-smartlinks-page .training-pdf-list::-webkit-scrollbar-track{background:#2a2a2a;border-radius:4px}.project-smartlinks-page .training-pdf-list::-webkit-scrollbar-thumb{background:#555;border-radius:4px}.project-smartlinks-page .training-pdf-list::-webkit-scrollbar-thumb:hover{background:#666}.project-smartlinks-page .pdf-list-item{padding:8px 10px;cursor:pointer;border-radius:4px;margin-bottom:2px;transition:background .15s}.project-smartlinks-page .pdf-list-item:hover{background:#2a2a2a}.project-smartlinks-page .pdf-list-item.selected{background:#333}.project-smartlinks-page .pdf-list-item .pdf-name{display:block;font-size:12px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-smartlinks-page .pdf-list-item .pdf-folder{display:block;font-size:10px;color:#888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-smartlinks-page .no-pdfs{color:#888;font-size:12px;text-align:center;padding:12px}.project-smartlinks-page .sidebar-resize-handle{position:absolute;right:0;top:0;bottom:0;width:4px;cursor:col-resize;background:transparent;transition:background .2s}.project-smartlinks-page .sidebar-resize-handle:hover{background:#555}.smartlinks-content{flex:1;display:flex;background:#1e1e1e;min-height:0;overflow:hidden}.smartlinks-content-main{flex:1;overflow:auto;min-width:0;min-height:0;scrollbar-width:thin;scrollbar-color:#444 #1e1e1e}.smartlinks-content-main:has(.training-viewer){overflow:hidden}.smartlinks-content-main::-webkit-scrollbar{width:8px}.smartlinks-content-main::-webkit-scrollbar-track{background:#1a1a1a}.smartlinks-content-main::-webkit-scrollbar-thumb{background:#444;border-radius:4px}.smartlinks-content-main::-webkit-scrollbar-thumb:hover{background:#555}.smartlinks-left-panel{width:320px;min-width:320px;background:#1e1e1e;border-right:1px solid #333;display:flex;flex-direction:column;overflow:hidden}.smartlinks-left-panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid #333;font-size:13px;font-weight:600;color:#ccc}.smartlinks-left-panel-body{flex:1;overflow-y:auto;padding:12px;scrollbar-width:thin;scrollbar-color:#444 #1e1e1e}.smartlinks-left-panel-body::-webkit-scrollbar{width:6px}.smartlinks-left-panel-body::-webkit-scrollbar-track{background:#1e1e1e}.smartlinks-left-panel-body::-webkit-scrollbar-thumb{background:#444;border-radius:3px}.smartlinks-left-panel-body::-webkit-scrollbar-thumb:hover{background:#555}.project-smartlinks-page .smartlinks-content .home-content{height:100%;overflow-y:auto;background:#1e1e1e!important;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#333 #1e1e1e}.project-smartlinks-page .home-content-3col,.project-smartlinks-page .home-content-2col{display:flex;gap:0;height:100%}.project-smartlinks-page .home-drawings-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:16px 32px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#333 #1e1e1e;background:transparent}.project-smartlinks-page .home-center-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:28px 32px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#333 #1e1e1e}.project-smartlinks-page .home-center-col>*{max-width:420px;width:100%}.project-smartlinks-page .smartlinks-content .home-header-section{display:flex;flex-direction:column;align-items:center;margin-bottom:20px;width:100%}.project-smartlinks-page .smartlinks-content .home-content h2{margin:0 0 4px;font-size:20px;color:#fff;font-weight:700}.project-smartlinks-page .smartlinks-content .home-subtitle{color:#666;font-size:12px;margin:0}.project-smartlinks-page .thread-counts-overview{display:flex;gap:16px;width:100%;margin-bottom:24px}.project-smartlinks-page .thread-count-card{flex:1;text-align:center;padding:16px 8px;background:transparent}.project-smartlinks-page .thread-count-number{font-size:28px;font-weight:700;color:#fff;line-height:1;margin-bottom:4px}.project-smartlinks-page .thread-count-label{font-size:11px;color:#888;font-weight:500}.project-smartlinks-page .thread-chart-centered{display:flex;justify-content:center;margin-bottom:20px}.project-smartlinks-page .thread-settings{display:flex;flex-direction:column;gap:18px;width:100%}.project-smartlinks-page .thread-dist-swatch{width:12px;height:12px;border-radius:3px;border:2px solid;flex-shrink:0}.project-smartlinks-page .thread-color-block{display:flex;flex-direction:column;gap:0;border-radius:6px;overflow:hidden}.project-smartlinks-page .thread-color-block-header{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#252525;border:none;border-radius:6px;cursor:pointer;transition:background .15s;width:100%;text-align:left}.project-smartlinks-page .thread-color-block-header:hover{background:#2a2a2a}.project-smartlinks-page .thread-color-block-title{font-size:13px;color:#ccc;font-weight:500;flex:1}.project-smartlinks-page .thread-color-chevron{color:#666;transition:transform .2s;flex-shrink:0}.project-smartlinks-page .thread-color-chevron.open{transform:rotate(180deg)}.project-smartlinks-page .thread-color-block-controls{display:flex;flex-wrap:wrap;gap:8px 16px;padding:10px 14px 12px 34px;background:#222}.project-smartlinks-page .thread-color-control{display:flex;align-items:center;gap:8px}.project-smartlinks-page .thread-color-label{font-size:11px;color:#888;white-space:nowrap}.project-smartlinks-page .thread-color-control input[type=color]{width:22px;height:22px;padding:0;border:1px solid #444;border-radius:3px;cursor:pointer;background:transparent}.project-smartlinks-page .thread-color-input-row{display:flex;align-items:center;gap:8px}.project-smartlinks-page .thread-toggle-label{display:flex;align-items:center;gap:4px;font-size:11px;color:#888;cursor:pointer;white-space:nowrap}.project-smartlinks-page .thread-toggle-label input[type=checkbox]{width:12px;height:12px;margin:0;accent-color:#3498db;cursor:pointer}.project-smartlinks-page .thread-opacity-row{display:flex;align-items:center;gap:6px}.project-smartlinks-page .thread-opacity-row input[type=range]{width:60px;height:4px;accent-color:#3498db;cursor:pointer}.project-smartlinks-page .thread-opacity-value{font-size:11px;color:#888;min-width:28px;text-align:right}.project-smartlinks-page .thread-line-style-btn{background:#2a2a2a;border:1px solid #444;border-radius:3px;padding:3px 8px;cursor:pointer;display:flex;align-items:center}.project-smartlinks-page .thread-line-style-btn:hover{border-color:#666}.project-smartlinks-page .thread-line-style-dropdown{position:absolute;top:100%;left:0;z-index:100;background:#2a2a2a;border:1px solid #444;border-radius:6px;padding:4px 0;min-width:160px;box-shadow:0 4px 12px #0006;margin-top:4px}.project-smartlinks-page .thread-line-style-option{display:flex;align-items:center;gap:10px;padding:6px 12px;cursor:pointer;font-size:12px;color:#ccc;transition:background .1s}.project-smartlinks-page .thread-line-style-option:hover{background:#333}.project-smartlinks-page .thread-line-style-option.active{color:#3498db}.project-smartlinks-page .thread-line-style-option.active svg line{stroke:#3498db}.project-smartlinks-page .thread-distribution-empty{padding:32px 24px;background:#1e1e1e;border-radius:8px;margin-bottom:24px;text-align:center;width:100%}.project-smartlinks-page .thread-distribution-empty p{color:#666;font-size:13px;margin:0}.project-smartlinks-page .home-drawing-card{border-radius:4px;overflow:hidden;border:none;background:transparent;display:flex;align-items:center;justify-content:center;opacity:.55;flex:1;min-height:0}.project-smartlinks-page .home-drawing-card img{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px}.project-smartlinks-page .smartlinks-content .home-stats-row{display:flex;gap:20px;margin-bottom:40px;justify-content:center;width:100%}.project-smartlinks-page .smartlinks-content .home-stats-row .stat-card{background:transparent;border:1px solid #333;border-radius:12px;padding:24px 32px;text-align:center;flex:1;max-width:180px}.project-smartlinks-page .smartlinks-content .home-stats-row .stat-number{font-size:36px;font-weight:700;color:#fff;line-height:1}.project-smartlinks-page .smartlinks-content .home-stats-row .stat-label{font-size:14px;color:#888;font-weight:600;margin-top:4px}.project-smartlinks-page .home-actions-row{display:flex;gap:12px;margin-bottom:32px;justify-content:center}.project-smartlinks-page .home-actions-row .action-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:transparent;border:1px solid #333;border-radius:6px;color:#aaa;font-size:12px;cursor:pointer;transition:all .15s;min-width:120px;justify-content:center}.project-smartlinks-page .home-actions-row .action-btn:hover{border-color:#3498db;color:#fff}.project-smartlinks-page .home-actions-row .action-btn svg{flex-shrink:0;opacity:.7}.project-smartlinks-page .home-actions-row .action-btn:hover svg{opacity:1}.project-smartlinks-page .action-card{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:16px;background:#2a2a2a;border:1px solid #3a3a3a;border-radius:8px;cursor:pointer;transition:all .15s;max-width:180px}.project-smartlinks-page .action-card:hover{background:#333;border-color:#4a4a4a}.project-smartlinks-page .action-card .action-row{display:flex;align-items:center;gap:10px}.project-smartlinks-page .action-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#3a3a3a;border-radius:6px;flex-shrink:0}.project-smartlinks-page .action-card:hover .action-icon{background:#4a4a4a}.project-smartlinks-page .action-title{font-size:14px;font-weight:700;color:#fff}.project-smartlinks-page .action-desc{font-size:12px;font-weight:500;color:#888}.project-smartlinks-page .link-appearance-section{width:100%;max-width:600px;margin-bottom:32px}.project-smartlinks-page .link-appearance-section h3{font-size:14px;color:#fff;margin:0 0 16px;font-weight:600;text-align:center}.project-smartlinks-page .appearance-content{padding:16px 0}.project-smartlinks-page .appearance-row{display:flex;gap:48px;justify-content:center}.project-smartlinks-page .appearance-item{display:flex;flex-direction:column;align-items:center;gap:12px}.project-smartlinks-page .appearance-label{font-size:12px;color:#aaa;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.project-smartlinks-page .link-preview-swatch{padding:12px 24px;border:2px solid;border-radius:4px;font-family:monospace;font-size:14px;font-weight:600;color:#fff}.project-smartlinks-page .appearance-options{display:flex;flex-direction:column;gap:8px}.project-smartlinks-page .option-row{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:12px;color:#888}.project-smartlinks-page .option-row input[type=checkbox]{width:14px;height:14px;cursor:pointer;accent-color:#3498db}.project-smartlinks-page .option-row span{min-width:30px}.project-smartlinks-page .option-row input[type=color]{width:24px;height:20px;border:1px solid #444;border-radius:3px;background:#2a2a2a;cursor:pointer;padding:0}.project-smartlinks-page .option-row input[type=color]:disabled{opacity:.4;cursor:not-allowed}.project-smartlinks-page .option-row input[type=color]::-webkit-color-swatch-wrapper{padding:2px}.project-smartlinks-page .option-row input[type=color]::-webkit-color-swatch{border-radius:2px;border:none}.project-smartlinks-page input[type=color]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;outline:none}.project-smartlinks-page input[type=color]::-webkit-color-swatch-wrapper{padding:0}.project-smartlinks-page input[type=color]::-webkit-color-swatch{border:none;border-radius:4px}.project-smartlinks-page input[type=color]::-moz-color-swatch{border:none;border-radius:4px}.project-smartlinks-page .smartlinks-content .home-warnings-section{width:100%}.project-smartlinks-page .smartlinks-content .home-warnings-section h3{font-size:14px;color:#fff;margin:0 0 16px;font-weight:600;text-align:center}.project-smartlinks-page .smartlinks-content .warnings-grid{display:flex;gap:12px;justify-content:center}.project-smartlinks-page .smartlinks-content .warning-card{padding:16px 20px;border-radius:8px;text-align:center;min-width:140px}.project-smartlinks-page .smartlinks-content .warning-card.broken{background:#e74c3c1a;border:1px solid rgba(231,76,60,.3)}.project-smartlinks-page .smartlinks-content .warning-card.orphaned{background:#f39c121a;border:1px solid rgba(243,156,18,.3)}.project-smartlinks-page .smartlinks-content .warning-number{font-size:28px;font-weight:700;margin-bottom:4px;line-height:1}.project-smartlinks-page .smartlinks-content .warning-card.broken .warning-number{color:#e74c3c}.project-smartlinks-page .smartlinks-content .warning-card.orphaned .warning-number{color:#f39c12}.project-smartlinks-page .smartlinks-content .warning-label{font-size:13px;font-weight:600;color:#fff;margin-bottom:4px}.project-smartlinks-page .smartlinks-content .warning-desc{font-size:11px;color:#888}.smartlinks-content .toolbar-btn{padding:8px 14px;background:#333;border:1px solid #555;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;color:#ccc;transition:all .15s}.smartlinks-content .toolbar-btn:hover{background:#444;border-color:#666;color:#fff}.smartlinks-content .toolbar-btn.active{background:#2980b9;border-color:#3498db;color:#fff}.smartlinks-content .stats-table{width:100%;max-width:500px;border-collapse:collapse;margin-bottom:32px;background:#252525;border-radius:8px;overflow:hidden;border:1px solid #333}.smartlinks-content .stats-table th,.smartlinks-content .stats-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #333}.smartlinks-content .stats-table th{background:#1e1e1e;font-weight:600;font-size:12px;color:#888;text-transform:uppercase;letter-spacing:.5px}.smartlinks-content .stats-table td{font-size:14px;color:#ccc}.smartlinks-content .stats-table td:first-child{font-weight:500}.smartlinks-content .stats-table td:last-child{font-weight:600;text-align:right}.smartlinks-content .stats-table tr:last-child td{border-bottom:none}.smartlinks-content .home-stats{display:none}.smartlinks-content .stat-card{background:transparent;border:1px solid #333;border-radius:10px;padding:16px 20px;min-width:80px;text-align:center}.smartlinks-content .stat-number{font-size:24px;font-weight:600;color:#fff;margin-bottom:2px}.smartlinks-content .stat-label{font-size:11px;color:#888}.smartlinks-content .stat-card.accent-green .stat-number{color:#27ae60}.smartlinks-content .stat-card.accent-red .stat-number{color:#e74c3c}.smartlinks-content .home-instructions{background:#252525;border:1px solid #333;border-radius:8px;padding:24px;width:100%;text-align:left}.smartlinks-content .home-instructions h3{margin:0 0 16px;font-size:18px;color:#333;font-weight:600}.smartlinks-content .instructions-scroll-container{max-height:none;overflow-y:visible;border:none;border-radius:0;padding:0;background:transparent}.smartlinks-content .instructions-placeholder{color:#666;font-size:14px;line-height:1.6}.smartlinks-content .instructions-placeholder p:first-child{font-size:14px;font-weight:400;color:#666;margin-bottom:12px}.smartlinks-content .home-instructions ol{margin:0;padding-left:24px;color:#666;font-size:14px;line-height:1.8}.smartlinks-content .home-export-import{background:#252525;border:1px solid #333;border-radius:8px;padding:20px 24px;width:100%;max-width:500px;margin-bottom:32px}.smartlinks-content .home-export-import h3{margin:0 0 16px;color:#333;font-size:16px;font-weight:600}.smartlinks-content .export-import-buttons{display:flex;gap:12px;flex-wrap:wrap}.smartlinks-content .export-import-buttons .export-btn,.smartlinks-content .export-import-buttons .import-btn{padding:8px 16px;border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s;background:#f8f9fa;border:1px solid #e1e4e8;color:#333}.smartlinks-content .export-import-buttons .export-btn:hover,.smartlinks-content .export-import-buttons .import-btn:hover{background:#e9ecef;border-color:#ced4da}.project-smartlinks-page .modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.project-smartlinks-page .modal{background:#1e1e1e;border:1px solid #333;border-radius:12px;padding:28px;max-width:480px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 40px #00000080}.project-smartlinks-page .modal h2{margin:0 0 24px;color:#fff;font-size:20px;font-weight:600}.project-smartlinks-page .modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.project-smartlinks-page .modal-header h2{margin:0}.project-smartlinks-page .modal-close-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid #444;border-radius:6px;color:#888;font-size:20px;cursor:pointer;transition:all .15s}.project-smartlinks-page .modal-close-btn:hover{background:#333;border-color:#555;color:#fff}.project-smartlinks-page .link-reassign-modal{max-width:450px}.project-smartlinks-page .modal .form-group{margin-bottom:20px}.project-smartlinks-page .modal .form-group label{display:block;color:#aaa;font-size:13px;margin-bottom:8px;font-weight:500}.project-smartlinks-page .modal .form-group select{width:100%;padding:12px 14px;background:#2a2a2a;border:1px solid #444;border-radius:6px;color:#fff;font-size:14px;cursor:pointer;transition:border-color .15s}.project-smartlinks-page .modal .form-group select:hover{border-color:#555}.project-smartlinks-page .modal .form-group select:focus{border-color:#555;outline:none}.project-smartlinks-page .modal-buttons{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #333}.project-smartlinks-page .modal-buttons button{padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .15s}.project-smartlinks-page .modal-buttons button:first-child{background:transparent;border:1px solid #555;color:#aaa}.project-smartlinks-page .modal-buttons button:first-child:hover{background:#333;border-color:#666;color:#fff}.project-smartlinks-page .modal-buttons .primary-btn{background:#3498db;border:none;color:#fff;min-width:130px}.project-smartlinks-page .import-modal{min-width:400px}.project-smartlinks-page .import-error{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#dc262626;border:1px solid #b91c1c;border-radius:8px;margin-bottom:16px}.project-smartlinks-page .import-error .error-icon{font-size:20px}.project-smartlinks-page .import-error p{margin:0;color:#fca5a5}.project-smartlinks-page .import-summary{margin-bottom:16px}.project-smartlinks-page .import-summary p{margin:0 0 8px;color:#ccc}.project-smartlinks-page .import-mode{margin-bottom:16px}.project-smartlinks-page .mode-label{font-size:13px;font-weight:500;margin-bottom:8px}.project-smartlinks-page .mode-toggle{display:flex;gap:8px}.project-smartlinks-page .mode-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 16px;border:2px solid #e1e4e8;border-radius:8px;background:#fff;cursor:pointer;transition:all .2s}.project-smartlinks-page .mode-btn:hover{border-color:#3498db;background:#f8fbfe}.project-smartlinks-page .mode-btn.active{border-color:#3498db;background:#e8f4fc}.project-smartlinks-page .mode-btn .mode-title{font-weight:600;font-size:14px;color:#333}.project-smartlinks-page .mode-btn .mode-desc{font-size:11px;color:#888}.project-smartlinks-page .mode-btn.active .mode-title{color:#2980b9}.project-smartlinks-page .mode-btn.active .mode-desc{color:#5aa3d0}.project-smartlinks-page .modal-buttons{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.project-smartlinks-page .modal-buttons button{padding:10px 20px;border-radius:6px;cursor:pointer}.project-smartlinks-page .modal-buttons button:first-child{background:#fff;border:1px solid #ddd}.project-smartlinks-page .modal-buttons .primary-btn{background:#3498db;border:1px solid #3498db;color:#fff}.project-smartlinks-page .modal-buttons .primary-btn:hover{background:#2980b9}.project-smartlinks-page .model-details{flex:1;overflow-y:auto;background:#1a1a1a}.project-smartlinks-page .model-details-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:#1a1a1a;border-bottom:1px solid #333}.project-smartlinks-page .model-details-header h2{margin:0;font-size:18px;font-weight:700;color:#fff}.project-smartlinks-page .model-header-actions{display:flex;align-items:center;gap:8px}.project-smartlinks-page .view-templates-btn{padding:4px 10px;background:none;border:1px solid #555;border-radius:4px;cursor:pointer;font-size:12px;color:#ccc;transition:all .15s}.project-smartlinks-page .view-templates-btn:hover{background:#333;border-color:#3498db;color:#3498db}.project-smartlinks-page .view-templates-btn.active{background:#1a3a4a;color:#5dade2;border-color:#3498db}.project-smartlinks-page .delete-model-btn-icon{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;background:#333;border:1px solid #444;border-radius:4px;cursor:pointer;color:#888;transition:all .15s}.project-smartlinks-page .delete-model-btn-icon:hover{background:#3a2020;border-color:#e74c3c;color:#e74c3c}.project-smartlinks-page .delete-model-btn{padding:6px 14px;background:#3a2020;color:#e74c3c;border:1px solid #e74c3c;border-radius:4px;cursor:pointer;font-size:13px;transition:all .2s}.project-smartlinks-page .delete-model-btn:hover{background:#e74c3c;color:#fff}.project-smartlinks-page .model-usage-hint{margin:0;padding:0 24px 16px;font-size:12px;color:#888;font-style:italic;line-height:1.4}.project-smartlinks-page .model-info-row{display:flex;gap:24px;padding:0 24px 16px}.project-smartlinks-page .info-item{font-size:13px;color:#ccc}.project-smartlinks-page .info-label{color:#888}.project-smartlinks-page .setting-row.compact .setting-input-row{max-width:300px}.project-smartlinks-page .model-default-settings{padding:0 24px 20px}.project-smartlinks-page .model-default-settings h3{margin:0 0 16px;font-size:14px;font-weight:600;color:#fff}.project-smartlinks-page .setting-row{margin-bottom:16px}.project-smartlinks-page .setting-row>label{display:block;font-size:13px;color:#888;margin-bottom:8px}.project-smartlinks-page .settings-row{display:flex;align-items:flex-end;gap:20px}.project-smartlinks-page .setting-group{display:flex;flex-direction:column;gap:6px;flex:1}.project-smartlinks-page .setting-group label{font-size:12px;font-weight:500;color:#888}.project-smartlinks-page .setting-input-row{display:flex;align-items:center;gap:10px}.project-smartlinks-page .setting-input-row input[type=range]{flex:1;height:4px;-webkit-appearance:none;background:#444;border-radius:2px;cursor:pointer}.project-smartlinks-page .setting-input-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:#3498db;border-radius:50%;cursor:pointer}.project-smartlinks-page .confidence-display{font-size:14px;font-weight:600;color:#fff;min-width:45px;text-align:right}.project-smartlinks-page .format-text-input{width:180px;max-width:180px;flex:none;padding:8px 12px;border:1px solid #444;border-radius:4px;font-size:13px;font-family:monospace;text-transform:uppercase;background:#2a2a2a;color:#fff}.project-smartlinks-page .format-text-input:focus{outline:none;border-color:#3498db}.project-smartlinks-page .pattern-display{background:#1a3a1a;color:#4ade80;padding:6px 10px;border-radius:4px;font-size:12px;font-family:monospace;font-weight:500;white-space:nowrap}.project-smartlinks-page .save-settings-btn{padding:4px 12px;background:none;color:#ccc;border:1px solid #555;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;transition:all .15s;white-space:nowrap}.project-smartlinks-page .save-settings-btn:hover{background:#333;border-color:#3498db;color:#3498db}.project-smartlinks-page .model-templates-section{background:#252525;border:1px solid #333;border-radius:8px;padding:20px;margin:0 24px 20px}.project-smartlinks-page .model-templates-section h3{margin:0 0 16px;font-size:14px;font-weight:600;color:#fff;display:flex;align-items:center;gap:12px}.project-smartlinks-page .templates-help-text{font-size:12px;font-weight:400;color:#666}.project-smartlinks-page .templates-container{min-height:100px}.project-smartlinks-page .templates-loading{display:flex;align-items:center;justify-content:center;padding:40px;color:#888}.project-smartlinks-page .templates-empty{display:flex;align-items:center;justify-content:center;padding:40px;color:#666}.project-smartlinks-page .templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.project-smartlinks-page .template-item{position:relative;background:#1e1e1e;border:1px solid #333;border-radius:8px;padding:12px;display:flex;flex-direction:column;align-items:center;gap:8px}.project-smartlinks-page .template-item img{max-width:100%;max-height:180px;object-fit:contain;border-radius:4px}.project-smartlinks-page .template-label{font-size:12px;color:#aaa;text-align:center;word-break:break-all;max-width:100%}.project-smartlinks-page .remove-example-btn{position:absolute;top:6px;right:6px;width:24px;height:24px;padding:0;background:#1e1e1ee6;border:1px solid #444;border-radius:50%;cursor:pointer;font-size:14px;color:#888;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .15s}.project-smartlinks-page .template-item:hover .remove-example-btn{opacity:1}.project-smartlinks-page .remove-example-btn:hover{background:#3a2020;border-color:#e74c3c;color:#e74c3c}.project-smartlinks-page .model-usage-info{background:#252525;border:1px solid #333;border-radius:8px;padding:20px;margin:0 24px 20px}.project-smartlinks-page .model-usage-info h3{margin:0 0 12px;font-size:14px;font-weight:600;color:#fff}.project-smartlinks-page .model-usage-info p{margin:0;color:#888;font-size:14px;line-height:1.6}.project-smartlinks-page .training-viewer{display:flex;flex-direction:row;flex:1;min-height:0;overflow:hidden}.project-smartlinks-page .training-page-header{padding:16px 24px;background:#1a1a1a;border-bottom:1px solid #333;flex-shrink:0}.project-smartlinks-page .training-page-header h2{margin:0;font-size:18px;font-weight:700;color:#fff}.project-smartlinks-page .training-form{background:#1e1e1e;padding:16px 24px;border-bottom:1px solid #333;flex-shrink:0}.project-smartlinks-page .training-form-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.project-smartlinks-page .training-form-row:last-child{margin-bottom:0}.project-smartlinks-page .training-form-row label{width:120px;flex-shrink:0;font-size:13px;color:#888;font-weight:500}.project-smartlinks-page .training-form-row .searchable-dropdown{width:300px}.project-smartlinks-page .training-form-input{width:300px;padding:6px 10px;background:#2a2a2a;border:1px solid #444;border-radius:4px;color:#fff;font-size:13px;box-sizing:border-box}.project-smartlinks-page .training-form-input:focus{outline:none;border-color:#555}.project-smartlinks-page .training-form-input.error{border-color:#e74c3c}.project-smartlinks-page .training-header{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:#1e1e1e;border-bottom:1px solid #333}.project-smartlinks-page .pdf-selector{display:flex!important;flex-direction:row!important;align-items:center;gap:10px}.project-smartlinks-page .pdf-selector label{display:inline-block!important;font-size:13px;color:#888;font-weight:500;white-space:nowrap;flex-shrink:0}.project-smartlinks-page .searchable-dropdown{position:relative;width:300px}.project-smartlinks-page .pdf-search-input{width:100%;padding:6px 28px 6px 10px;background:#2a2a2a;border:1px solid #444;border-radius:4px;color:#fff;font-size:13px;box-sizing:border-box}.project-smartlinks-page .pdf-search-input::placeholder{color:#666}.project-smartlinks-page .pdf-search-input.no-selection::placeholder{color:#555}.project-smartlinks-page .pdf-search-input:focus{outline:none;border-color:#555}.project-smartlinks-page .clear-pdf-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;color:#666;font-size:14px;cursor:pointer;padding:2px 4px;line-height:1}.project-smartlinks-page .clear-pdf-btn:hover{color:#fff}.project-smartlinks-page .pdf-dropdown-list{position:absolute;top:100%;left:0;right:0;max-height:300px;overflow-y:auto;background:#2a2a2a;border:1px solid #444;border-top:none;border-radius:0 0 4px 4px;z-index:100}.project-smartlinks-page .pdf-dropdown-item{padding:8px 10px;cursor:pointer;display:flex;flex-direction:column;gap:2px;border-bottom:1px solid #333}.project-smartlinks-page .pdf-dropdown-item:last-child{border-bottom:none}.project-smartlinks-page .pdf-dropdown-item:hover{background:#333}.project-smartlinks-page .pdf-dropdown-item.selected{background:#3a3a3a}.project-smartlinks-page .pdf-item-name{font-size:13px;color:#fff}.project-smartlinks-page .pdf-item-folder{font-size:11px;color:#888}.project-smartlinks-page .pdf-dropdown-empty{padding:12px;color:#888;font-size:13px;text-align:center}.project-smartlinks-page .pdf-dropdown{padding:8px 12px;background:#2a2a2a;border:1px solid #444;border-radius:6px;color:#fff;font-size:13px;min-width:300px;cursor:pointer}.project-smartlinks-page .pdf-dropdown:hover{border-color:#555}.project-smartlinks-page .pdf-dropdown:focus{outline:none;border-color:#555}.project-smartlinks-page .training-pdf-name{font-weight:600;color:#fff;font-size:14px}.project-smartlinks-page .header-controls{display:flex;align-items:center;gap:8px}.project-smartlinks-page .header-controls button{padding:6px 12px;background:#2a2a2a;border:1px solid #444;border-radius:4px;cursor:pointer;font-size:14px;transition:all .15s;color:#fff}.project-smartlinks-page .header-controls button:hover{background:#333;border-color:#555}.project-smartlinks-page .header-controls .zoom-level{font-size:13px;color:#aaa;min-width:50px;text-align:center}.project-smartlinks-page .header-controls .close-pdf-btn{margin-left:16px;color:#e74c3c;border-color:#e74c3c}.project-smartlinks-page .header-controls .close-pdf-btn:hover{background:#3a2525}.project-smartlinks-page .training-empty-state{flex:1;display:flex;align-items:center;justify-content:center;background:#1a1a1a}.project-smartlinks-page .empty-state-text{color:#555;font-size:14px}.project-smartlinks-page .training-right-panel{width:320px;min-width:320px;background:#1a1a1a;border-left:none;overflow-y:auto;display:flex;flex-direction:column;scrollbar-width:thin;scrollbar-color:#333 #1a1a1a}.project-smartlinks-page .training-right-section{padding:14px;border-bottom:1px solid #222;display:flex;flex-direction:column;gap:8px}.project-smartlinks-page .training-right-section-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#777}.project-smartlinks-page .training-right-input{padding:7px 10px;background:#1a1a1a;border:1px solid #333;border-radius:4px;color:#ddd;font-size:12px;outline:none;width:100%;box-sizing:border-box}.project-smartlinks-page .training-right-input:focus{border-color:#3498db}.project-smartlinks-page .training-right-input.error{border-color:#e74c3c}.project-smartlinks-page .training-right-error{font-size:11px;color:#e74c3c}.project-smartlinks-page .training-right-select{padding:6px 8px;background:#1a1a1a;border:1px solid #333;border-radius:4px;color:#ddd;font-size:12px;outline:none;width:100%;box-sizing:border-box}.project-smartlinks-page .training-right-stat{font-size:13px;color:#ccc;font-weight:500}.project-smartlinks-page .training-right-hint{font-size:11px;color:#666;margin:0;line-height:1.4}.project-smartlinks-page .training-right-row{display:flex;flex-direction:column;gap:4px}.project-smartlinks-page .training-right-row label{font-size:11px;color:#888;font-weight:600}.project-smartlinks-page .training-right-btn{padding:6px 10px;background:transparent;border:1px solid #444;border-radius:4px;color:#bbb;font-size:12px;cursor:pointer;transition:all .15s}.project-smartlinks-page .training-right-btn:hover{background:#ffffff0f;color:#fff}.project-smartlinks-page .training-right-btn.primary{background:#3498db;border-color:#3498db;color:#fff;font-weight:600}.project-smartlinks-page .training-right-btn.primary:hover{background:#2980b9}.project-smartlinks-page .training-right-btn:disabled{opacity:.4;cursor:not-allowed}.project-smartlinks-page .training-mode-toggle{display:flex;border:1px solid #333;border-radius:4px;overflow:hidden}.project-smartlinks-page .training-mode-toggle .mode-btn{background:transparent;border:none;padding:4px 8px;cursor:pointer;color:#666;display:flex;align-items:center;justify-content:center;transition:all .15s}.project-smartlinks-page .training-mode-toggle .mode-btn:first-child{border-right:1px solid #333}.project-smartlinks-page .training-mode-toggle .mode-btn:hover{color:#fff;background:#ffffff0f}.project-smartlinks-page .training-mode-toggle .mode-btn.active{color:#3498db;background:#3498db1f}.project-smartlinks-page .training-models-list{display:flex;flex-direction:column;gap:2px}.project-smartlinks-page .training-model-item{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:4px;transition:background .1s}.project-smartlinks-page .training-model-item:hover{background:#ffffff0a}.project-smartlinks-page .training-model-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.project-smartlinks-page .training-model-name{font-size:12px;font-weight:600;color:#ccc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-smartlinks-page .training-model-meta{font-size:10px;color:#666}.project-smartlinks-page .training-model-delete{background:none;border:none;color:#555;font-size:16px;cursor:pointer;padding:0 4px;line-height:1;flex-shrink:0;opacity:0;transition:all .15s}.project-smartlinks-page .training-model-item:hover .training-model-delete{opacity:1}.project-smartlinks-page .training-model-delete:hover{color:#e74c3c}.project-smartlinks-page .page-nav-inline{display:flex;align-items:center;gap:4px}.project-smartlinks-page .page-nav-inline button{background:none;border:1px solid #444;border-radius:3px;padding:2px 4px;cursor:pointer;color:#aaa;display:flex;align-items:center}.project-smartlinks-page .page-nav-inline button:hover:not(:disabled){color:#fff;border-color:#666}.project-smartlinks-page .page-nav-inline button:disabled{opacity:.3;cursor:default}.project-smartlinks-page .page-nav-inline span{font-size:11px;color:#888;min-width:40px;text-align:center}.project-smartlinks-page .training-toolbar{display:flex;flex-direction:column;background:#1a1a1a;border-bottom:none;flex-shrink:0}.project-smartlinks-page .toolbar-row{display:flex;align-items:center;gap:10px;padding:6px 12px}.project-smartlinks-page .toolbar-spacer{flex:1}.project-smartlinks-page .zoom-controls{display:flex;align-items:center;gap:6px}.project-smartlinks-page .zoom-controls button{padding:4px 10px;background:#333;border:1px solid #444;border-radius:4px;color:#fff;cursor:pointer;font-size:14px}.project-smartlinks-page .zoom-controls button:hover{background:#444}.project-smartlinks-page .zoom-controls .zoom-level{font-size:12px;color:#aaa;min-width:45px;text-align:center}.project-smartlinks-page .model-name-wrapper{position:relative;display:flex;align-items:center;gap:10px}.project-smartlinks-page .model-name-wrapper label{font-size:13px;color:#888;font-weight:500;white-space:nowrap}.project-smartlinks-page .model-name-input{width:180px;padding:6px 10px;border:1px solid #444;border-radius:4px;font-size:13px;background:#2a2a2a;color:#fff}.project-smartlinks-page .model-name-input.error{border-color:#e74c3c}.project-smartlinks-page .model-name-input::placeholder{color:#888}.project-smartlinks-page .model-name-input:focus{outline:none;border-color:#555}.project-smartlinks-page .model-name-input.error:focus{border-color:#e74c3c}.project-smartlinks-page .model-name-error{font-size:11px;color:#e74c3c;white-space:nowrap}.project-smartlinks-page .box-count{font-size:12px;color:#aaa;background:#333;padding:4px 10px;border-radius:12px}.project-smartlinks-page .clear-boxes-btn{padding:6px 12px;background:#2a2a2a;border:1px solid #444;border-radius:4px;cursor:pointer;font-size:12px;transition:all .15s;color:#fff}.project-smartlinks-page .clear-boxes-btn:hover:not(:disabled){background:#333;border-color:#555}.project-smartlinks-page .clear-boxes-btn:disabled{opacity:.5;cursor:not-allowed}.project-smartlinks-page .train-btn{padding:5px 14px;background:#27ae60;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:600;transition:all .15s;min-width:85px;text-align:center;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-smartlinks-page .train-btn:hover:not(:disabled){background:#219a52}.project-smartlinks-page .train-btn:disabled{opacity:.5;cursor:not-allowed}.project-smartlinks-page .page-nav{display:flex;align-items:center;justify-content:center;gap:16px;padding:10px;background:#1e1e1e;border-bottom:1px solid #333}.project-smartlinks-page .page-nav button{padding:6px 14px;background:#2a2a2a;border:1px solid #444;border-radius:4px;cursor:pointer;font-size:13px;color:#fff}.project-smartlinks-page .page-nav button:hover:not(:disabled){background:#333;border-color:#555}.project-smartlinks-page .page-nav button:disabled{opacity:.5;cursor:not-allowed}.project-smartlinks-page .page-nav span{font-size:13px;color:#aaa}.project-smartlinks-page .training-viewer .pdf-container{flex:1;overflow:auto;background:#404040;position:relative}.project-smartlinks-page .training-viewer .pdf-canvas-wrapper{background:#fff;box-shadow:0 2px 10px #0000004d;margin:20px;display:inline-block}.project-smartlinks-page .training-viewer .pdf-canvas-wrapper canvas{display:block}.project-smartlinks-page .drawing-rect{position:absolute;border:2px dashed #e74c3c;background:#e74c3c1a;pointer-events:none}.project-smartlinks-page .training-box{position:absolute;border:2px solid #e74c3c;pointer-events:all;cursor:default}.project-smartlinks-page .training-box .box-label{position:absolute;inset:-20px auto auto 0;width:auto;height:auto;padding:2px 6px;color:#fff;font-size:11px;border-radius:3px;white-space:nowrap;display:inline-block}.project-smartlinks-page .training-box .remove-box-btn{width:18px;height:18px;background:#e74c3c;color:#fff;border:none;border-radius:50%;cursor:pointer;font-size:12px;line-height:1;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s;padding:0}.project-smartlinks-page .training-box:hover .remove-box-btn{opacity:1}.project-smartlinks-page .training-box .remove-box-btn:hover{background:#c0392b}.project-smartlinks-page .training-box.masking{border-color:#e67e22;z-index:3}.project-smartlinks-page .training-mask-overlay{position:absolute;background:#ffffffd9;border:1px solid rgba(230,126,34,.4);z-index:2;pointer-events:none}.project-smartlinks-page .training-box.masking .training-mask-overlay{pointer-events:auto}.project-smartlinks-page .mask-remove-btn{position:absolute;top:-6px;right:-6px;width:14px;height:14px;background:#e67e22;color:#fff;border:none;border-radius:50%;cursor:pointer;font-size:10px;line-height:1;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s;padding:0}.project-smartlinks-page .training-mask-overlay:hover .mask-remove-btn{opacity:1}.project-smartlinks-page .mask-then-confirm-btn{width:28px;height:28px;border-radius:50%;border:2px solid #e67e22;background:#e67e2226;color:#e67e22;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:all .15s}.project-smartlinks-page .mask-then-confirm-btn:hover{background:#e67e22;color:#fff}.mask-dialog-backdrop{position:fixed;inset:0;background:#0009;z-index:10000;display:flex;align-items:center;justify-content:center}.mask-dialog{background:#1e1e1e;border:1px solid #444;border-radius:8px;box-shadow:0 8px 32px #00000080;display:flex;flex-direction:column;max-width:640px;max-height:80vh;min-width:400px}.mask-dialog-header{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid #333}.mask-dialog-header h3{margin:0;font-size:15px;color:#fff;font-weight:600}.mask-dialog-close{margin-left:auto;background:none;border:none;color:#888;font-size:20px;cursor:pointer;padding:0 4px}.mask-dialog-close:hover{color:#fff}.mask-dialog-body{padding:18px;overflow:auto;display:flex;justify-content:center}.mask-dialog-preview{position:relative;display:inline-block;border:1px solid #333;border-radius:4px;overflow:hidden;line-height:0}.mask-dialog-region{position:absolute;background:#fffc;border:2px solid #e67e22;border-radius:2px;z-index:2}.mask-dialog-region-remove{position:absolute;top:-8px;right:-8px;width:16px;height:16px;background:#e67e22;color:#fff;border:none;border-radius:50%;cursor:pointer;font-size:11px;line-height:1;display:flex;align-items:center;justify-content:center;padding:0;opacity:0;transition:opacity .15s}.mask-dialog-region:hover .mask-dialog-region-remove{opacity:1}.mask-dialog-drawing{position:absolute;background:#ffffff80;border:1px dashed #e67e22;pointer-events:none;z-index:3}.mask-dialog-footer{display:flex;align-items:center;padding:12px 18px;border-top:1px solid #333;gap:8px}.mask-dialog-btn{padding:7px 16px;background:transparent;border:1px solid #444;border-radius:4px;color:#ccc;font-size:12px;cursor:pointer;font-weight:500;transition:all .15s}.mask-dialog-btn:hover{background:#ffffff0f;color:#fff}.mask-dialog-btn.primary{background:#3498db;border-color:#3498db;color:#fff;font-weight:600}.mask-dialog-btn.primary:hover{background:#2980b9}.mask-dialog-btn.danger{color:#e74c3c;border-color:#e74c3c4d}.mask-dialog-btn.danger:hover{background:#e74c3c1a}.project-smartlinks-page .pending-shape-overlay{position:absolute;pointer-events:auto}.project-smartlinks-page .pending-shape-border{position:absolute;inset:0;border:2px dashed #3498db;background:#3498db1a}.project-smartlinks-page .shape-handle{position:absolute;width:10px;height:10px;background:#fff;border:2px solid #3498db;border-radius:2px;cursor:pointer}.project-smartlinks-page .shape-handle.handle-nw{top:-5px;left:-5px;cursor:nwse-resize}.project-smartlinks-page .shape-handle.handle-ne{top:-5px;right:-5px;cursor:nesw-resize}.project-smartlinks-page .shape-handle.handle-sw{bottom:-5px;left:-5px;cursor:nesw-resize}.project-smartlinks-page .shape-handle.handle-se{bottom:-5px;right:-5px;cursor:nwse-resize}.project-smartlinks-page .shape-handle.handle-n{top:-5px;left:50%;transform:translate(-50%);cursor:ns-resize}.project-smartlinks-page .shape-handle.handle-s{bottom:-5px;left:50%;transform:translate(-50%);cursor:ns-resize}.project-smartlinks-page .shape-handle.handle-e{right:-5px;top:50%;transform:translateY(-50%);cursor:ew-resize}.project-smartlinks-page .shape-handle.handle-w{left:-5px;top:50%;transform:translateY(-50%);cursor:ew-resize}.project-smartlinks-page .shape-actions{position:absolute;bottom:-36px;left:50%;transform:translate(-50%);display:flex;gap:8px;z-index:10}.project-smartlinks-page .shape-actions button{width:28px;height:28px;border-radius:50%;border:none;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0003;transition:transform .15s}.project-smartlinks-page .shape-actions button:hover{transform:scale(1.1)}.project-smartlinks-page .shape-actions .confirm-btn{background:#27ae60;color:#fff}.project-smartlinks-page .shape-actions .cancel-btn{background:#e74c3c;color:#fff}.project-smartlinks-page .training-hint{padding:12px 16px;background:#f0f7ff;border-top:1px solid #d0e3f7;color:#2c5282;font-size:13px;margin:0;text-align:center}.project-smartlinks-page .no-selection{display:flex;align-items:center;justify-content:center;height:100%;color:#888;font-size:15px}.project-smartlinks-page .pdf-loading-indicator{display:flex;align-items:center;justify-content:center;height:100%;width:100%;font-size:16px;color:#666;background:#f5f5f5}.project-smartlinks-page .links-data-view{display:flex;flex-direction:column;height:100%;overflow:hidden;background:#1a1a1a}.project-smartlinks-page .links-toolbar{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:#1e1e1e;border-bottom:1px solid #2a2a2a;flex-shrink:0;gap:8px;min-height:36px}.project-smartlinks-page .links-toolbar-left,.project-smartlinks-page .links-toolbar-right{display:flex;align-items:center;gap:6px}.project-smartlinks-page .links-toolbar-count{font-size:12px;color:#888;font-weight:500;white-space:nowrap}.project-smartlinks-page .links-toolbar-btn{padding:3px 10px;background:transparent;border:1px solid #333;border-radius:4px;color:#aaa;font-size:11px;cursor:pointer;white-space:nowrap;transition:all .15s}.project-smartlinks-page .links-toolbar-btn:hover{background:#ffffff0f;color:#fff;border-color:#444}.project-smartlinks-page .links-toolbar-btn.active{background:#3498db1f;color:#3498db;border-color:#3498db4d}.project-smartlinks-page .links-toolbar-btn.icon{padding:4px 6px;display:flex;align-items:center}.project-smartlinks-page .links-toolbar-btn.warning{color:#f59e0b;border-color:#f59e0b40}.project-smartlinks-page .links-toolbar-issues{display:flex;gap:4px}.project-smartlinks-page .links-issues-inline{background:#1a1a1a;border-bottom:1px solid #333;padding:8px 12px;flex-shrink:0}.project-smartlinks-page .links-issues-inline-header{display:flex;align-items:center;gap:8px;font-size:12px;color:#ccc;font-weight:600;margin-bottom:6px}.project-smartlinks-page .links-issues-inline-header button{background:none;border:1px solid #444;border-radius:3px;color:#aaa;cursor:pointer;font-size:11px;padding:2px 8px}.project-smartlinks-page .links-issues-inline-header button:last-child{margin-left:auto;border:none;font-size:16px;padding:0 4px;color:#666}.project-smartlinks-page .links-issues-inline-row{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:12px;color:#999}.project-smartlinks-page .links-issues-inline-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-smartlinks-page .links-issues-inline-count{color:#666;font-weight:600;min-width:20px;text-align:right}.project-smartlinks-page .links-issues-inline-row button{background:none;border:1px solid #444;border-radius:3px;color:#aaa;cursor:pointer;font-size:11px;padding:2px 8px}.project-smartlinks-page .links-issues-inline-row button:last-child{border:none;font-size:14px;padding:0 4px;color:#666}.project-smartlinks-page .links-data-body{display:flex;flex:1;overflow:hidden}.project-smartlinks-page .links-tools-panel{width:200px;min-width:200px;background:#1e1e1e;border-left:1px solid #333;display:flex;flex-direction:column;overflow-y:auto;padding:0;scrollbar-width:thin;scrollbar-color:#444 #1e1e1e}.project-smartlinks-page .links-tools-panel::-webkit-scrollbar{width:6px}.project-smartlinks-page .links-tools-panel::-webkit-scrollbar-track{background:#1e1e1e}.project-smartlinks-page .links-tools-panel::-webkit-scrollbar-thumb{background:#444;border-radius:3px}.project-smartlinks-page .links-tools-panel::-webkit-scrollbar-thumb:hover{background:#555}.project-smartlinks-page .links-tools-section{padding:10px 12px;border-bottom:1px solid #2a2a2a;display:flex;flex-direction:column;gap:5px}.project-smartlinks-page .links-tools-section-title{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#666;margin-bottom:2px}.project-smartlinks-page .links-tools-stat{font-size:13px;color:#ccc;font-weight:500}.project-smartlinks-page .links-tools-btn{display:block;width:100%;padding:6px 10px;background:transparent;color:#bbb;border:none;border-radius:4px;cursor:pointer;font-size:12px;text-align:left;transition:background .1s,color .1s}.project-smartlinks-page .links-tools-btn:hover{background:#ffffff0f;color:#fff}.project-smartlinks-page .links-tools-btn.active{background:#3498db26;color:#3498db}.project-smartlinks-page .links-tools-btn:disabled{opacity:.35;cursor:not-allowed}.project-smartlinks-page .links-tools-btn:disabled:hover{background:transparent;color:#bbb}.project-smartlinks-page .links-tools-btn.warning{color:#f59e0b}.project-smartlinks-page .links-tools-btn.danger{color:#f87171}.project-smartlinks-page .links-tools-btn.danger:hover{background:#f871711a}.project-smartlinks-page .links-tools-issues-list{background:#1a1a1a;border-radius:4px;padding:6px;margin-top:2px}.project-smartlinks-page .links-tools-issues-header{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#888;margin-bottom:4px;padding:0 2px}.project-smartlinks-page .links-tools-issues-delete-all{background:none;border:none;color:#f87171;font-size:10px;cursor:pointer;padding:1px 4px;border-radius:3px}.project-smartlinks-page .links-tools-issues-delete-all:hover{background:#f8717126}.project-smartlinks-page .links-tools-issue-row{display:flex;justify-content:space-between;align-items:center;padding:3px 2px;border-radius:3px}.project-smartlinks-page .links-tools-issue-row:hover{background:#ffffff0a}.project-smartlinks-page .links-tools-issue-info{display:flex;flex-direction:column;min-width:0}.project-smartlinks-page .links-tools-issue-name{font-size:11px;color:#aaa;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:110px}.project-smartlinks-page .links-tools-issue-count{font-size:10px;color:#666}.project-smartlinks-page .links-tools-issue-actions{display:flex;gap:2px;flex-shrink:0}.project-smartlinks-page .links-tools-issue-actions button{background:none;border:none;color:#888;font-size:10px;cursor:pointer;padding:2px 4px;border-radius:3px}.project-smartlinks-page .links-tools-issue-actions button:hover{background:#ffffff14;color:#fff}.project-smartlinks-page .links-table-wrapper{flex:1;overflow:auto;background:#1a1a1a;padding:0;scrollbar-width:thin;scrollbar-color:#444 #1e1e1e}.project-smartlinks-page .links-table-wrapper::-webkit-scrollbar{width:8px;height:8px}.project-smartlinks-page .links-table-wrapper::-webkit-scrollbar-track{background:#1a1a1a}.project-smartlinks-page .links-table-wrapper::-webkit-scrollbar-thumb{background:#444;border-radius:4px}.project-smartlinks-page .links-table-wrapper::-webkit-scrollbar-thumb:hover{background:#555}.project-smartlinks-page .links-table-wrapper::-webkit-scrollbar-corner{background:#1a1a1a}.project-smartlinks-page .links-table{border-collapse:separate;border-spacing:0;background:#1e1e1e;min-width:100%;width:100%;font-size:13px;table-layout:fixed}.project-smartlinks-page .links-table th,.project-smartlinks-page .links-table td{padding:8px 12px;text-align:left;border-bottom:1px solid #2a2a2a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#ddd;font-weight:400}.project-smartlinks-page .links-table td{border-right:none;font-size:12px}.project-smartlinks-page .links-table thead{position:sticky;top:0;z-index:10}.project-smartlinks-page .links-table th{background:#222;font-weight:600;font-size:12px;letter-spacing:0;text-transform:none;color:#bbb;position:sticky;top:0;z-index:10;border-bottom:1px solid #333;border-right:none;text-align:left;padding:10px 12px}.project-smartlinks-page .links-table .th-content{display:flex;flex-direction:column;align-items:center;gap:4px}.project-smartlinks-page .links-table .th-header{display:flex;align-items:center;justify-content:center;gap:4px;width:100%}.project-smartlinks-page .links-table .th-header.sortable-header{cursor:pointer}.project-smartlinks-page .links-table .th-header.sortable-header:hover span:first-child{color:#bbb}.project-smartlinks-page .links-table .image-column .th-header{justify-content:center}.project-smartlinks-page .links-table .th-filter-input,.project-smartlinks-page .links-table .th-filter-select{flex:1;padding:3px 6px;border:1px solid #333;border-radius:3px;font-size:11px;font-weight:400;text-transform:none;box-sizing:border-box;min-width:0;width:100%;background:#1a1a1a;color:#ccc}.project-smartlinks-page .links-table .th-filter-input:focus{width:100px;border-color:#3498db;outline:none}.project-smartlinks-page .links-table .th-filter-input::placeholder{color:#666;font-size:10px}.project-smartlinks-page .links-table .th-controls{display:flex;align-items:center;gap:4px;width:100%}.project-smartlinks-page .links-toolbar .column-menu-dropdown{right:0;left:auto}.project-smartlinks-page .links-table .align-btn{width:22px;height:22px;padding:0;border:1px solid #444;border-radius:3px;background:#333;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#888;flex-shrink:0;transition:all .15s}.project-smartlinks-page .links-table .align-btn:hover{background:#444;border-color:#3498db;color:#3498db}.project-smartlinks-page .links-table .align-btn svg{width:12px;height:12px}.project-smartlinks-page .links-table .th-filter{width:100%}.project-smartlinks-page .links-table tbody tr{transition:background .1s}.project-smartlinks-page .links-table tbody tr:hover{background:#ffffff08}.project-smartlinks-page .links-table tbody tr.assigned-row{background:#27ae6026}.project-smartlinks-page .links-table tbody tr.unassigned-row{background:#e74c3c26}.project-smartlinks-page .links-table tbody tr.broken-target-row{background:#e67e2233}.project-smartlinks-page .links-table tbody tr.missing-source-row{background:#c0392b33}.project-smartlinks-page .links-table tbody tr.assigned-row:hover{background:#27ae6040}.project-smartlinks-page .links-table tbody tr.unassigned-row:hover{background:#e74c3c40}.project-smartlinks-page .links-table tbody tr.broken-target-row:hover{background:#e67e224d}.project-smartlinks-page .links-table tbody tr.missing-source-row:hover{background:#c0392b59}.project-smartlinks-page .missing-file-cell{color:#f87171}.project-smartlinks-page .missing-file-text{color:#f87171;font-weight:500;font-size:12px}.project-smartlinks-page .status-badge.missing{background:#c0392b33;color:#e74c3c;border:1px solid rgba(192,57,43,.3)}.project-smartlinks-page .find-column,.project-smartlinks-page .index-column,.project-smartlinks-page .delete-column{text-align:center;width:40px;min-width:40px;max-width:40px}.project-smartlinks-page .status-column{width:120px;text-align:center}.project-smartlinks-page .image-column{text-align:center;width:100px;min-width:100px}.project-smartlinks-page .find-cell,.project-smartlinks-page .index-cell,.project-smartlinks-page .image-cell,.project-smartlinks-page .delete-cell,.project-smartlinks-page .status-cell{text-align:center;vertical-align:middle}.project-smartlinks-page .assigned-type-cell{color:#fff;font-weight:600}.project-smartlinks-page .image-cell{padding:4px!important}.project-smartlinks-page .link-thumbnail{max-width:100px;max-height:70px;border-radius:4px;border:1px solid #ddd;display:block;margin:0 auto}.project-smartlinks-page .loading-thumbnail{color:#999;font-size:12px}.project-smartlinks-page .load-thumbnail-btn{background:none;border:1px solid #ddd;border-radius:4px;padding:4px 8px;cursor:pointer;font-size:14px;opacity:.6;transition:opacity .2s}.project-smartlinks-page .load-thumbnail-btn:hover{opacity:1;background:#f5f5f5}.project-smartlinks-page .show-all-images-btn{background:none;border:none;padding:0;font-size:10px;cursor:pointer;color:#666;white-space:nowrap}.project-smartlinks-page .show-all-images-btn:hover{color:#fff}.project-smartlinks-page .index-cell{color:#95a5a6;font-size:12px}.project-smartlinks-page .find-btn{background:none;border:none;cursor:pointer;padding:4px 6px;color:#fff;display:flex;align-items:center;justify-content:center;border-radius:3px;transition:background .15s}.project-smartlinks-page .find-btn:hover{background:#ffffff1a}.project-smartlinks-page .find-btn:disabled{color:#555;cursor:default}.project-smartlinks-page .find-btn:disabled:hover{background:none}.project-smartlinks-page .status-cell{text-align:center}.project-smartlinks-page .status-text{font-weight:600;font-size:12px}.project-smartlinks-page .status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:none;letter-spacing:.3px}.project-smartlinks-page .status-badge.assigned{background:#27ae6033;color:#27ae60;border:1px solid rgba(39,174,96,.3)}.project-smartlinks-page .status-badge.unassigned{background:#e74c3c33;color:#e74c3c;border:1px solid rgba(231,76,60,.3)}.project-smartlinks-page .delete-link-btn{background:none;border:1px solid transparent;border-radius:4px;cursor:pointer;font-size:18px;color:#666;padding:2px 8px;transition:all .15s}.project-smartlinks-page .delete-link-btn:hover{color:#e74c3c;background:#e74c3c26;border-color:#e74c3c}.project-smartlinks-page .no-results-row{text-align:center;padding:40px 20px!important;color:#95a5a6}.project-smartlinks-page .links-table th{position:relative}.project-smartlinks-page .column-resizer{position:absolute;right:0;top:0;bottom:0;width:5px;cursor:col-resize;background:transparent;transition:background .2s}.project-smartlinks-page .column-resizer:hover{background:#3498db}.project-smartlinks-page .find-replace-btn{padding:6px 12px;background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:13px;transition:all .15s}.project-smartlinks-page .find-replace-btn:hover{background:#f5f5f5;border-color:#3498db}.project-smartlinks-page .find-replace-btn.active{background:#e8f4fc;border-color:#3498db;color:#3498db}.project-smartlinks-page .refresh-links-btn{padding:6px 12px;background:#27ae60;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px;transition:all .15s}.project-smartlinks-page .refresh-links-btn.icon-btn{padding:6px 10px;font-size:14px}.project-smartlinks-page .refresh-links-btn:hover{background:#219a52}.project-smartlinks-page .orphaned-dropdown-container{position:relative}.project-smartlinks-page .orphaned-dropdown-trigger{display:flex;align-items:center;gap:5px;padding:7px 12px;background:#44340a;color:#fcd34d;border:1px solid #a16207;border-radius:6px;cursor:pointer;font-size:12px;font-weight:500;white-space:nowrap;transition:all .15s}.project-smartlinks-page .orphaned-dropdown-trigger:hover,.project-smartlinks-page .orphaned-dropdown-trigger.active{background:#55410d;border-color:#f59e0b}.project-smartlinks-page .orphaned-dropdown-trigger.broken{background:#450a0a;color:#fca5a5;border-color:#b91c1c}.project-smartlinks-page .orphaned-dropdown-trigger.broken:hover,.project-smartlinks-page .orphaned-dropdown-trigger.broken.active{background:#5c1212;border-color:#f87171}.project-smartlinks-page .orphaned-badge{display:flex;align-items:center;gap:4px}.project-smartlinks-page .dropdown-arrow{font-size:8px;margin-left:2px}.project-smartlinks-page .orphaned-dropdown-panel{position:absolute;top:100%;right:0;margin-top:4px;background:#2a2a2a;border:1px solid #444;border-radius:8px;box-shadow:0 4px 12px #0006;min-width:320px;z-index:100;overflow:hidden}.project-smartlinks-page .orphaned-panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#44340a;border-bottom:1px solid #a16207;font-size:12px;font-weight:600;color:#fcd34d}.project-smartlinks-page .orphaned-panel-header.broken{background:#450a0a;border-bottom-color:#b91c1c;color:#fca5a5}.project-smartlinks-page .delete-all-orphaned-btn{padding:4px 8px;background:#333;border:1px solid #a16207;border-radius:4px;cursor:pointer;font-size:11px;color:#fcd34d;transition:all .15s}.project-smartlinks-page .delete-all-orphaned-btn:hover{background:#444;color:#fef3c7}.project-smartlinks-page .orphaned-files-list{max-height:240px;overflow-y:auto}.project-smartlinks-page .orphaned-file-row{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid #333;gap:12px}.project-smartlinks-page .orphaned-file-row:last-child{border-bottom:none}.project-smartlinks-page .orphaned-file-row:hover{background:#333}.project-smartlinks-page .orphaned-file-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.project-smartlinks-page .orphaned-file-name{font-size:13px;color:#ddd;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-smartlinks-page .orphaned-file-count{font-size:11px;color:#888}.project-smartlinks-page .orphaned-file-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.project-smartlinks-page .reassign-file-btn{padding:5px 10px;background:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:11px;font-weight:500;transition:background .15s}.project-smartlinks-page .reassign-file-btn:hover{background:#2980b9}.project-smartlinks-page .delete-file-orphans-btn{width:24px;height:24px;padding:0;background:#333;border:1px solid #555;border-radius:4px;cursor:pointer;font-size:14px;color:#888;display:flex;align-items:center;justify-content:center;transition:all .15s}.project-smartlinks-page .delete-file-orphans-btn:hover{background:#450a0a;border-color:#f87171;color:#f87171}.project-smartlinks-page .find-replace-panel{padding:16px 20px;background:#252525;border-bottom:1px solid #333;display:flex;flex-direction:column;gap:12px}.project-smartlinks-page .find-replace-row{display:flex;align-items:center;gap:12px}.project-smartlinks-page .find-replace-row label{font-size:13px;font-weight:600;color:#fff;min-width:60px}.project-smartlinks-page .find-replace-row input[type=text]{flex:1;max-width:280px;padding:8px 12px;border:1px solid #444;border-radius:6px;font-size:13px;background:#1e1e1e;color:#fff}.project-smartlinks-page .find-replace-row input[type=text]:focus{outline:none;border-color:#3498db}.project-smartlinks-page .find-replace-row input[type=text]::placeholder{color:#666}.project-smartlinks-page .find-replace-row select{padding:8px 12px;border:1px solid #444;border-radius:6px;font-size:13px;background:#1e1e1e;color:#fff;cursor:pointer}.project-smartlinks-page .find-replace-row .field-label{font-size:13px;font-weight:500;color:#888;min-width:auto}.project-smartlinks-page .match-case-label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;cursor:pointer;min-width:auto!important;color:#aaa;margin-left:8px}.project-smartlinks-page .match-case-label:hover{color:#fff}.project-smartlinks-page .match-count{font-size:12px;font-weight:600;color:#888;min-width:90px}.project-smartlinks-page .replace-all-btn{padding:8px 16px;background:#3498db;color:#fff;font-weight:600;border:none;border-radius:6px;cursor:pointer;font-size:13px;transition:background .15s}.project-smartlinks-page .replace-all-btn:hover:not(:disabled){background:#2980b9}.project-smartlinks-page .replace-all-btn:disabled{background:#444;color:#666;cursor:not-allowed}.project-smartlinks-page .close-find-btn{background:none;border:none;font-size:20px;cursor:pointer;color:#666;padding:4px 8px;line-height:1;transition:color .15s}.project-smartlinks-page .close-find-btn:hover{color:#e74c3c}.project-smartlinks-page .clickable-cell{cursor:pointer;position:relative}.project-smartlinks-page .clickable-cell:hover{background:#3498db33}.project-smartlinks-page .clickable-cell .cell-text{display:inline-flex;align-items:center;gap:6px}.project-smartlinks-page .clickable-cell .edit-icon{opacity:0;font-size:12px;color:#3498db;transition:opacity .15s}.project-smartlinks-page .clickable-cell:hover .edit-icon{opacity:1}.project-smartlinks-page .highlight-match{background:#f1c40f4d!important}.project-smartlinks-page .replace-single-btn{position:absolute;right:4px;top:50%;transform:translateY(-50%);background:#333;border:1px solid #555;border-radius:3px;cursor:pointer;font-size:12px;padding:2px 6px;color:#ccc}.project-smartlinks-page .replace-single-btn:hover{background:#444;color:#fff}.project-smartlinks-page .test-model-btn{padding:5px 14px;background:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:600;transition:all .15s;width:60px;text-align:center;box-sizing:border-box}.project-smartlinks-page .test-model-btn:hover:not(:disabled){background:#2980b9}.project-smartlinks-page .test-model-btn.active{background:#2471a3}.project-smartlinks-page .test-model-btn.testing{background:#95a5a6;cursor:not-allowed}.project-smartlinks-page .test-model-btn:disabled{opacity:.7;cursor:not-allowed}.project-smartlinks-page .training-content-area{display:flex;flex:1;overflow:hidden}.project-smartlinks-page .training-canvas-section{flex:1;display:flex;flex-direction:column;overflow:hidden}.project-smartlinks-page .test-panel-sidebar{width:280px;min-width:280px;background:#252525;border-left:1px solid #333;display:flex;flex-direction:column;overflow:hidden}.project-smartlinks-page .test-panel-sidebar .panel-header{padding:12px 16px;border-bottom:1px solid #333;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.project-smartlinks-page .test-panel-sidebar .panel-header h3{margin:0;font-size:14px;color:#fff}.project-smartlinks-page .test-panel-sidebar .close-panel{background:none;border:none;font-size:20px;color:#666;cursor:pointer;padding:0;line-height:1}.project-smartlinks-page .test-panel-sidebar .close-panel:hover{color:#fff}.project-smartlinks-page .test-panel-sidebar .panel-content{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:16px}.project-smartlinks-page .test-panel-sidebar .panel-section{display:flex;flex-direction:column;gap:10px}.project-smartlinks-page .test-panel-sidebar .panel-section h4{margin:0;font-size:12px;color:#888;font-weight:600;padding-bottom:8px;border-bottom:1px solid #333}.project-smartlinks-page .test-panel-sidebar .panel-select{padding:8px 10px;border:1px solid #444;border-radius:6px;font-size:13px;width:100%;box-sizing:border-box;background:#2a2a2a;color:#fff}.project-smartlinks-page .test-panel-sidebar .panel-action-btn{padding:10px 12px;background:#27ae60;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;width:100%}.project-smartlinks-page .test-panel-sidebar .panel-action-btn:hover:not(:disabled){background:#219a52}.project-smartlinks-page .test-panel-sidebar .panel-action-btn:disabled{background:#444;cursor:not-allowed}.project-smartlinks-page .test-panel-sidebar .panel-results-badge{background:#27ae60;color:#fff;padding:8px 12px;border-radius:6px;font-size:13px;font-weight:500;text-align:center}.project-smartlinks-page .test-panel-sidebar .panel-setting-row{display:flex;flex-direction:column;gap:6px}.project-smartlinks-page .test-panel-sidebar .panel-setting-row label{font-size:12px;color:#888;font-weight:500}.project-smartlinks-page .test-panel-sidebar .panel-slider-control{display:flex;align-items:center;gap:10px}.project-smartlinks-page .test-panel-sidebar .panel-slider-control input[type=range]{flex:1;height:6px;-webkit-appearance:none;background:#444;border-radius:3px;cursor:pointer}.project-smartlinks-page .test-panel-sidebar .panel-slider-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:#27ae60;border-radius:50%;cursor:pointer}.project-smartlinks-page .test-panel-sidebar .panel-value{font-size:13px;font-weight:600;color:#fff;min-width:40px;text-align:right}.project-smartlinks-page .test-panel-sidebar .panel-input{padding:8px 10px;border:1px solid #444;border-radius:6px;font-size:12px;font-family:monospace;width:100%;box-sizing:border-box;background:#2a2a2a;color:#fff}.project-smartlinks-page .test-panel-sidebar .panel-pattern{font-size:11px;color:#4ade80;font-family:monospace}.project-smartlinks-page .test-panel-sidebar .format-helper-text{font-size:11px;color:#666;font-style:italic;margin-top:-2px}.project-smartlinks-page .test-panel-sidebar .format-hint{font-size:11px;color:#f59e0b;line-height:1.4}.project-smartlinks-page .test-panel-sidebar .panel-save-btn{padding:10px 12px;background:#3498db;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;width:100%;margin-top:8px}.project-smartlinks-page .test-panel-sidebar .panel-save-btn:hover{background:#2980b9}.project-smartlinks-page .test-panel-sidebar .save-settings-hint{display:block;font-size:11px;color:#666;font-style:italic;margin-top:6px;line-height:1.4;text-align:center}.project-smartlinks-page .test-panel-sidebar .run-detection-btn{margin-top:12px;width:100%}.project-smartlinks-page .test-panel-sidebar .panel-guidance{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#888}.project-smartlinks-page .test-panel-sidebar .panel-clear-btn{padding:8px 12px;background:#333;border:1px solid #444;border-radius:6px;cursor:pointer;font-size:12px;width:100%;color:#ccc}.project-smartlinks-page .test-panel-sidebar .panel-clear-btn:hover{background:#444}.project-smartlinks-page .test-result-box{position:absolute;border:2px solid #27ae60;background:#27ae6026;pointer-events:none}.project-smartlinks-page .test-result-label{position:absolute;top:-20px;left:0;background:#27ae60;color:#fff;padding:2px 6px;font-size:10px;border-radius:3px;white-space:nowrap}.project-smartlinks-page .reassign-modal{max-width:500px}.project-smartlinks-page .reassign-modal .modal-description{font-size:13px;color:#aaa;margin-bottom:20px;line-height:1.5}.project-smartlinks-page .reassign-source-info{background:#f59e0b26;border:1px solid #a16207;border-radius:8px;padding:14px;margin-bottom:16px;position:relative}.project-smartlinks-page .reassign-source-info.broken{background:#f8717126;border-color:#b91c1c}.project-smartlinks-page .reassign-source-info.broken .source-label{color:#fca5a5}.project-smartlinks-page .reassign-source-info.broken .source-file-name{color:#f87171}.project-smartlinks-page .reassign-source-info.broken .source-link-count{color:#fca5a5}.project-smartlinks-page .reassign-source-info.broken .change-source-btn{border-color:#b91c1c;color:#fca5a5}.project-smartlinks-page .reassign-source-info.broken .change-source-btn:hover{background:#f8717133}.project-smartlinks-page .reassign-source-info .source-label{font-size:11px;color:#fcd34d;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.project-smartlinks-page .reassign-source-info .source-file-name{font-size:15px;font-weight:600;color:#fef3c7;margin-bottom:2px}.project-smartlinks-page .reassign-source-info .source-link-count{font-size:12px;color:#fcd34d}.project-smartlinks-page .reassign-source-info .change-source-btn{position:absolute;top:12px;right:12px;padding:4px 10px;background:#333;border:1px solid #a16207;border-radius:4px;cursor:pointer;font-size:11px;color:#fcd34d;transition:all .15s}.project-smartlinks-page .reassign-source-info .change-source-btn:hover{background:#444}.project-smartlinks-page .reassign-modal .form-group{margin-bottom:16px}.project-smartlinks-page .reassign-modal .form-group label{display:block;font-size:13px;font-weight:500;color:#ccc;margin-bottom:6px}.project-smartlinks-page .reassign-modal .form-group select{width:100%;padding:10px 12px;border:1px solid #444;border-radius:6px;font-size:14px;background:#2a2a2a;color:#fff}.project-smartlinks-page .reassign-modal .form-group select:focus{outline:none;border-color:#555}.project-smartlinks-page .reassign-info-box{display:flex;align-items:center;gap:14px;padding:14px 16px;background:#2ecc711a;border:1px solid rgba(46,204,113,.3);border-radius:8px;margin-bottom:0}.project-smartlinks-page .reassign-info-icon{font-size:20px;flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#2ecc7126;border-radius:50%}.project-smartlinks-page .reassign-info-content{flex:1}.project-smartlinks-page .reassign-info-content strong{display:block;color:#2ecc71;font-size:14px;margin-bottom:2px}.project-smartlinks-page .reassign-info-content p{font-size:12px;color:#888;margin:0;line-height:1.4}.project-smartlinks-page .reassign-note{padding:12px 14px;background:#2a2a2a;border:1px solid #444;border-radius:6px;margin-bottom:16px;font-size:12px;color:#aaa}.project-smartlinks-page .reassign-note strong{color:#ccc}.project-smartlinks-page .reassign-note ul{margin:8px 0 0;padding-left:18px}.project-smartlinks-page .reassign-note li{margin-bottom:4px;line-height:1.5}.project-smartlinks-page .reassign-note li:last-child{margin-bottom:0}.project-smartlinks-page .missing-source-row{background:#c0392b1a!important}.project-smartlinks-page .missing-source-row:hover{background:#c0392b26!important}.project-smartlinks-page .missing-file-cell{color:#c0392b;font-style:italic}.project-smartlinks-page .missing-file-info{display:flex;flex-direction:column;gap:2px}.project-smartlinks-page .missing-file-text{color:#c0392b;font-weight:500;font-size:12px}.project-smartlinks-page .original-file-note{font-size:10px;color:#888;font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.project-smartlinks-page .status-badge.orphaned{background:#f59e0b33;color:#f59e0b;border:1px solid rgba(245,158,11,.3)}.project-smartlinks-page .status-badge.broken{background:#e67e2233;color:#e67e22;border:1px solid rgba(230,126,34,.3)}.project-smartlinks-page .link-info-box{background:#252525;border:1px solid #444;border-radius:8px;padding:14px 16px;margin-bottom:20px}.project-smartlinks-page .link-info-label{font-size:10px;color:#888;text-transform:uppercase;letter-spacing:.8px;margin-bottom:6px;font-weight:600}.project-smartlinks-page .link-info-value{font-size:16px;font-weight:600;color:#fff;font-family:monospace}.project-smartlinks-page .assignment-mode-section{margin-top:20px;padding-top:20px;background:transparent;border:none}.project-smartlinks-page .assignment-mode-section h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#fff}.project-smartlinks-page .assignment-mode-options{display:flex;flex-direction:column;gap:8px;border:none;background:none}.project-smartlinks-page .mode-option{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:#888;transition:color .15s}.project-smartlinks-page .mode-option:hover{color:#ccc}.project-smartlinks-page .mode-option.active{color:#fff}.project-smartlinks-page .mode-check{width:16px;height:16px;border:1px solid #555;border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:11px;color:#3498db;background:#2a2a2a}.project-smartlinks-page .mode-option.active .mode-check{border-color:#3498db;background:#1a3a4a}.project-smartlinks-page .mode-description{margin:10px 0 0;font-size:12px;color:#ccc;font-style:italic;line-height:1.4;background:none;border:none;padding:0}.project-smartlinks-page .property-assignment-config{margin-top:12px;background:none;border:none;padding:0}.project-smartlinks-page .property-selectors{display:flex;gap:12px;margin-top:12px;background:none;border:none}.project-smartlinks-page .property-selector-group{flex:1;background:none;border:none}.project-smartlinks-page .property-selector-group label{display:block;font-size:12px;color:#888;margin-bottom:6px}.project-smartlinks-page .property-selector-group select{width:100%;padding:8px 10px;font-size:13px;border:1px solid #444;border-radius:6px;background:#2a2a2a;color:#fff;cursor:pointer}.project-smartlinks-page .property-selector-group select:focus{outline:none;border-color:#3498db}.project-smartlinks-page .no-templates-warning{margin:12px 0 0;font-size:12px;color:#ccc;font-style:italic;line-height:1.4;background:none;border:none;padding:0}.project-smartlinks-page .inline-link{color:#3498db;cursor:pointer;font-style:normal;transition:color .15s}.project-smartlinks-page .inline-link:hover{color:#5dade2;text-decoration:underline}.project-smartlinks-page .model-default-settings .save-settings-btn{margin-top:20px}.project-smartlinks-page .assignment-mode-badge{display:inline-block;margin-left:8px;padding:2px 6px;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;border-radius:4px;vertical-align:middle}.project-smartlinks-page .assignment-mode-badge.property{background:#3498db33;color:#5dade2}.models-tab-view{display:flex;flex-direction:column;height:100%;padding:0}.models-tab-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;flex-shrink:0}.models-tab-header h2{margin:0;font-size:1.3rem;color:#fff}.models-tab-actions{display:flex;align-items:center;gap:12px}.models-tab-search input{padding:8px 14px;border:1px solid #444;border-radius:6px;background:#2a2a2a;color:#fff;font-size:13px;width:220px}.models-tab-search input::placeholder{color:#888}.models-tab-search input:focus{outline:none;border-color:#3498db}.create-model-tab-btn{padding:8px 16px;background:#3498db;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.create-model-tab-btn:hover{background:#2980b9}.models-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;padding:0 24px 24px;overflow-y:auto}.model-card{background:#252525;border:1px solid #333;border-radius:8px;padding:16px;cursor:pointer;transition:all .15s}.model-card:hover{border-color:#3498db;background:#2a2a2a}.model-card-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.model-card-name{font-size:14px;font-weight:600;color:#fff;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.model-card-delete{background:none;border:none;color:#666;font-size:18px;cursor:pointer;padding:2px 6px;border-radius:4px;opacity:0;transition:all .15s}.model-card:hover .model-card-delete{opacity:1}.model-card-delete:hover{color:#e74c3c;background:#e74c3c1a}.model-card-meta{display:flex;gap:12px;font-size:12px;color:#888}.models-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;color:#888;font-size:14px}.models-empty-state .empty-hint{font-size:12px;color:#666;margin-top:4px}.models-tab-footer{margin-top:auto;padding:16px 24px;border-top:1px solid #333}.doc-props-link{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;background:linear-gradient(135deg,#252525,#2a2a2a);border:1px solid #3a3a3a;border-radius:6px;color:#bbb;font-size:12px;cursor:pointer;transition:all .2s}.doc-props-link:hover{background:linear-gradient(135deg,#2a2a2a,#333);border-color:#3498db;color:#fff}.models-tab-breadcrumb{display:flex;align-items:center;gap:8px;padding:12px 24px;border-bottom:1px solid #333;background:#1e1e1e;flex-shrink:0}.breadcrumb-back{background:none;border:none;color:#3498db;font-size:13px;cursor:pointer;padding:0}.breadcrumb-back:hover{text-decoration:underline}.breadcrumb-sep{color:#555;font-size:13px}.breadcrumb-current{color:#fff;font-size:13px;font-weight:500}.pagination-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-top:1px solid #333;background:#1e1e1e;flex-shrink:0;gap:16px}.pagination-info{font-size:12px;color:#888;white-space:nowrap}.pagination-controls{display:flex;align-items:center;gap:4px}.pagination-controls button{background:#2a2a2a;border:1px solid #444;color:#ccc;padding:4px 10px;border-radius:4px;cursor:pointer;font-size:13px;transition:all .15s}.pagination-controls button:hover:not(:disabled){background:#333;border-color:#3498db;color:#fff}.pagination-controls button:disabled{opacity:.3;cursor:default}.pagination-page{font-size:12px;color:#aaa;padding:0 8px;white-space:nowrap}.pagination-size{display:flex;align-items:center;gap:4px;font-size:12px;color:#888}.pagination-size button{background:#2a2a2a;border:1px solid #444;color:#aaa;padding:3px 8px;border-radius:4px;cursor:pointer;font-size:11px;transition:all .15s}.pagination-size button:hover{background:#333;color:#fff}.pagination-size button.active{background:#3498db;border-color:#3498db;color:#fff}.column-menu-dropdown{position:absolute;top:100%;right:0;z-index:100;background:#2a2a2a;border:1px solid #444;border-radius:6px;padding:8px 0;min-width:180px;box-shadow:0 4px 12px #0006;margin-top:4px}.column-menu-item{display:flex;align-items:center;gap:8px;padding:6px 14px;cursor:pointer;font-size:13px;color:#ccc;transition:background .1s}.column-menu-item:hover{background:#333}.column-menu-item input[type=checkbox]{accent-color:#3498db}.sortable-header{display:flex;align-items:center;gap:4px;cursor:pointer;-webkit-user-select:none;user-select:none}.sortable-header:hover{color:#fff}.sort-icon{font-size:10px;color:#555;transition:color .15s}.sort-icon.active{color:#3498db}.notes-cell{max-width:200px;cursor:pointer}.notes-cell:hover{background:#3498db0d}.note-inline-input{width:100%;padding:4px 8px;border:1px solid #3498db;border-radius:4px;background:#1e1e1e;color:#fff;font-size:12px;box-sizing:border-box;outline:none}.note-placeholder{color:#555;font-style:italic;font-size:12px}.note-text{font-size:12px;color:#ccc;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-column{width:40px!important;max-width:40px}.select-cell{width:40px;text-align:center}.select-cell input[type=checkbox],.select-column input[type=checkbox]{accent-color:#3498db;cursor:pointer}.bulk-action-bar{position:sticky;bottom:0;display:flex;align-items:center;gap:12px;padding:12px 20px;background:#2a2a2a;border-top:1px solid #444;z-index:50}.bulk-count{font-size:13px;font-weight:600;color:#3498db;margin-right:8px}.bulk-action-btn{padding:6px 14px;border-radius:5px;border:1px solid #555;background:#333;color:#ccc;font-size:12px;cursor:pointer;transition:all .15s}.bulk-action-btn:hover{background:#444;color:#fff;border-color:#666}.bulk-action-btn.danger{border-color:#c0392b;color:#e74c3c}.bulk-action-btn.danger:hover{background:#c0392b;color:#fff}.coverage-section{width:100%;margin-bottom:24px;padding:20px;background:#1e1e1e;border:1px solid #333;border-radius:8px}.link-hover-preview{z-index:200;background:#2a2a2a;border:1px solid #444;border-radius:8px;padding:14px;display:flex;align-items:center;gap:14px;box-shadow:0 8px 24px #00000080;max-width:400px;pointer-events:none}.preview-source,.preview-target{display:flex;flex-direction:column;gap:4px;min-width:0}.preview-thumbnail{width:120px;height:80px;object-fit:contain;border-radius:4px;border:1px solid #444;background:#1a1a1a}.preview-no-image{width:120px;height:80px;display:flex;align-items:center;justify-content:center;background:#1a1a1a;border:1px solid #333;border-radius:4px;color:#555;font-size:11px}.preview-file-name{font-size:12px;color:#fff;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}.preview-page{font-size:11px;color:#888}.preview-arrow{color:#3498db;font-size:20px;flex-shrink:0}.preview-label{font-size:11px;color:#aaa;font-style:italic}.linkmap-fullscreen{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#1a1a1a}.linkmap-layout{display:flex;flex:1;overflow:hidden;height:100%}.linkmap-sidebar{width:240px;flex-shrink:0;background:#1e1e1e;border-right:1px solid #333;padding:16px;display:flex;flex-direction:column;gap:6px;overflow-y:auto}.linkmap-sidebar h4{margin:0 0 8px;color:#fff;font-size:13px;font-weight:600}.linkmap-sidebar label{color:#888;font-size:11px;margin-top:6px}.linkmap-sidebar input[type=text],.linkmap-sidebar input[type=number],.linkmap-sidebar select{background:#2a2a2a;border:1px solid #444;color:#ddd;padding:6px 8px;border-radius:4px;font-size:12px;width:100%;box-sizing:border-box}.linkmap-sidebar input:focus,.linkmap-sidebar select:focus{outline:none;border-color:#3498db}.linkmap-sidebar-stats{margin-top:auto;padding-top:12px;border-top:1px solid #333;color:#666;font-size:11px}.linkmap-main{flex:1;display:flex;flex-direction:column;position:relative;overflow:hidden}.linkmap-toolbar{display:flex;align-items:center;gap:12px;padding:8px 12px;background:#222;border-bottom:1px solid #333;flex-shrink:0}.linkmap-tool-btn{background:#2a2a2a;border:1px solid #444;color:#ccc;padding:4px 10px;border-radius:4px;font-size:11px;cursor:pointer;transition:all .15s;white-space:nowrap}.linkmap-tool-btn:hover{background:#333;border-color:#3498db;color:#fff}.linkmap-stats{color:#777;font-size:11px}.linkmap-legend{display:flex;gap:12px;margin-left:8px}.linkmap-legend-item{display:flex;align-items:center;gap:4px;color:#888;font-size:10px}.linkmap-legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.linkmap-tool-right{margin-left:auto;display:flex;gap:6px}.linkmap-info-panel{position:absolute;bottom:16px;right:16px;width:280px;background:#1e1e1e;border:1px solid #444;border-radius:8px;padding:14px;box-shadow:0 4px 20px #00000080;z-index:10;max-height:60%;overflow-y:auto}.linkmap-info-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:4px}.linkmap-info-header strong{color:#fff;font-size:13px;word-break:break-all}.linkmap-info-close{background:none;border:none;color:#666;cursor:pointer;font-size:14px;padding:0 4px;line-height:1}.linkmap-info-close:hover{color:#fff}.linkmap-info-folder{color:#666;font-size:10px;margin-bottom:10px}.linkmap-info-section{margin-bottom:10px}.linkmap-info-label{font-size:11px;font-weight:600;margin-bottom:4px}.linkmap-info-empty{color:#555;font-size:11px;font-style:italic}.linkmap-info-list{list-style:none;margin:0;padding:0}.linkmap-info-list li{color:#aaa;font-size:11px;padding:2px 6px;border-radius:3px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.linkmap-info-list li:hover{background:#2a2a2a;color:#fff}.linkmap-info-action{width:100%;padding:7px;background:#2a4a6b;border:1px solid #3498db;color:#fff;border-radius:4px;font-size:11px;cursor:pointer;margin-top:6px;transition:background .15s}.linkmap-info-action:hover{background:#3498db}.project-regions-page{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden;background:#1a1a1a}.project-regions-page ::-webkit-scrollbar{width:5px;height:5px}.project-regions-page ::-webkit-scrollbar-track{background:transparent}.project-regions-page ::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.project-regions-page ::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.project-regions-page *{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.project-regions-page .regions-header{background:#000;padding:.6rem 1rem;display:flex;align-items:center;gap:.75rem;flex-shrink:0;border-bottom:1px solid rgba(255,255,255,.15)}.project-regions-page .regions-header .back-btn{background:none;border:none;padding:6px 10px;border-radius:4px;cursor:pointer;color:#ccc;transition:all .2s;display:flex;align-items:center}.project-regions-page .regions-header .back-btn:hover{background:none;color:#3498db}.project-regions-page .regions-header h1{margin:0 0 0 6px;font-size:1.5rem;font-weight:700;line-height:1;color:#fff}.project-regions-page .regions-header .brand-title{margin-left:auto;color:#fff;font-weight:700}.project-regions-page .regions-toolbar{background:#000;border-bottom:1px solid rgba(255,255,255,.15);padding:4px 12px;display:flex;align-items:center;flex-shrink:0;height:45.5px;box-sizing:border-box}.project-regions-page .regions-toolbar button{padding:4px 8px;font-size:15px;background:transparent;color:#fff;border:none;border-radius:0;outline:none;transition:color .15s}.project-regions-page .regions-toolbar button:hover{background:#ffffff14;color:#fff}.project-regions-page .regions-toolbar button.active,.project-regions-page .regions-toolbar button.open{color:#3498db;background:transparent;outline:none}.project-regions-page .regions-toolbar button:focus,.project-regions-page .regions-toolbar button:focus-visible{outline:none;box-shadow:none}.project-regions-page .regions-toolbar-left{display:flex;align-items:center;gap:8px}.project-regions-page .regions-body{display:flex;flex:1;overflow:hidden}.project-regions-page .loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px;color:#888}.project-regions-page .spinner{width:40px;height:40px;border:3px solid #333;border-top-color:#3498db;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.project-regions-page .regions-sidebar{background:#1a1a1a;border-right:1px solid #333;display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;min-width:320px}.project-regions-page .sidebar-item{display:flex;align-items:center;gap:10px;padding:10px 16px;cursor:pointer;transition:all .15s;margin:4px 12px;border-radius:6px;background:transparent;border:1px solid transparent}.project-regions-page .sidebar-item:hover{background:#2a2a2a;border-color:#444}.project-regions-page .sidebar-item.selected{background:#2a2a2a;border-color:#555}.project-regions-page .home-item{margin:8px 12px 4px;border-radius:6px;background:transparent;border:none;font-weight:600;color:#fff;outline:none}.project-regions-page .home-item:hover{background:#252525}.project-regions-page .home-item.selected{background:#2a2a2a}.project-regions-page .home-item .item-name{font-weight:600;color:#fff}.project-regions-page .item-name{font-weight:600;font-size:13px;color:#fff}.project-regions-page .sidebar-divider{height:1px;background:#333;margin:8px 16px}.project-regions-page .create-region-btn{margin:8px 12px;padding:10px 16px;background:transparent;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:flex-start;gap:8px;outline:none}.project-regions-page .create-region-btn:hover{background:#252525}.project-regions-page .create-region-btn:focus{outline:none}.project-regions-page .regions-section{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;padding:8px 0;background:#1e1e1e}.project-regions-page .regions-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;padding:0 16px;flex-shrink:0}.project-regions-page .regions-section-header .section-title{font-size:14px;font-weight:700;color:#fff}.project-regions-page .regions-search{padding:0 12px 12px}.project-regions-page .regions-search input{width:100%;padding:6px 10px;border:1px solid #444;border-radius:4px;font-size:13px;box-sizing:border-box;background:#2a2a2a;color:#fff}.project-regions-page .regions-search input::placeholder{color:#888}.project-regions-page .regions-search input:focus{outline:none;border-color:#555}.project-regions-page .type-count{font-size:11px;color:#aaa;background:#333;padding:2px 8px;border-radius:10px}.project-regions-page .new-region-btn{margin:8px 12px;padding:10px 16px;background:transparent;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:flex-start;gap:8px;outline:none}.project-regions-page .new-region-btn:hover{background:#252525}.project-regions-page .new-region-btn:focus{outline:none}.project-regions-page .region-list{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:4px 8px;min-height:0;scrollbar-width:thin;scrollbar-color:#555 #2a2a2a;background:#1e1e1e}.project-regions-page .region-list::-webkit-scrollbar{width:8px}.project-regions-page .region-list::-webkit-scrollbar-track{background:#2a2a2a;border-radius:4px}.project-regions-page .region-list::-webkit-scrollbar-thumb{background:#555;border-radius:4px}.project-regions-page .region-list::-webkit-scrollbar-thumb:hover{background:#666}.project-regions-page .no-regions{text-align:center;color:#888;padding:20px;font-size:13px}.project-regions-page .region-list-item{display:flex;align-items:center;gap:10px;padding:8px 12px;margin-bottom:2px;background:transparent;border-radius:6px;cursor:pointer;transition:all .15s;border-top:none!important;border-right:none!important;border-bottom:none!important;border-left:3px solid transparent!important;outline:none!important}.project-regions-page .region-list-item:hover{background:#252525}.project-regions-page .region-list-item.selected{background:#2a2a2a;border-top:none!important;border-right:none!important;border-bottom:none!important;border-left:3px solid #3498db!important;outline:none!important}.project-regions-page .region-list-item.selected:hover{background:#2a2a2a}.project-regions-page .region-item-info{flex:1;min-width:0}.project-regions-page .region-item-name{font-weight:600;font-size:13px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-regions-page .region-item-meta{font-size:11px;color:#888;margin-top:1px}.project-regions-page .region-item-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s}.project-regions-page .region-list-item:hover .region-item-actions{opacity:1}.project-regions-page .region-action-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:4px;cursor:pointer;color:#666;transition:all .15s}.project-regions-page .region-action-btn:hover{background:#333;color:#aaa}.project-regions-page .region-action-btn.delete:hover{background:#3a2525;color:#e74c3c}.project-regions-page .regions-main{flex:1;overflow-y:auto;padding:16px 20px;background:#1a1a1a}.project-regions-page .home-content{display:flex;flex-direction:column;width:100%;flex:1}.project-regions-page .home-content h2{margin:0 0 8px;color:#fff;font-size:28px;font-weight:600}.project-regions-page .regions-hero-split{display:flex;align-items:flex-start;gap:60px;padding-top:40px;flex:1}.project-regions-page .regions-hero-left{flex:1;display:flex;flex-direction:column;gap:16px}.project-regions-page .regions-title-row{display:flex;align-items:center;gap:14px}.project-regions-page .regions-title-row h2{margin:0;color:#fff;font-size:32px;font-weight:700}.project-regions-page .regions-desc{margin:0;font-size:15px;color:#999;line-height:1.6;max-width:400px}.project-regions-page .regions-hero-right{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}.project-regions-page .region-states-section{margin-bottom:16px}.project-regions-page .region-states-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.project-regions-page .region-states-header h3{margin:0;font-size:15px;font-weight:600;color:#fff}.project-regions-page .region-add-state-btn{background:none;border:none;color:#888;font-size:11px;padding:2px 8px;cursor:pointer;transition:color .15s}.project-regions-page .region-add-state-btn:hover{color:#3498db}.project-regions-page .region-states-empty{font-size:11px;color:#555;padding:4px 0}.project-regions-page .region-states-list{display:flex;flex-direction:column;gap:4px;padding-left:18px}.project-regions-page .region-state-item{display:flex;align-items:center;gap:8px}.project-regions-page .region-state-color{width:20px;height:20px;border:none;background:none;cursor:pointer;padding:0;flex-shrink:0}.project-regions-page .region-state-name{flex:1;padding:3px 8px;font-size:13px;background:transparent;border:1px solid transparent;border-radius:3px;color:#fff}.project-regions-page .region-state-name:hover{border-color:#333}.project-regions-page .region-state-name:focus{border-color:#3498db;background:#2a2a2a;color:#fff;outline:none}.project-regions-page .region-state-delete{background:none;border:none;color:#555;font-size:14px;cursor:pointer;padding:0 2px;line-height:1;flex-shrink:0;opacity:0;transition:all .15s}.project-regions-page .region-state-item:hover .region-state-delete{opacity:1}.project-regions-page .region-state-delete:hover{color:#e74c3c}.project-regions-page .regions-drawing-img{width:100%;max-width:800px;height:auto;border-radius:12px;opacity:.9;box-shadow:0 8px 40px #0006}.project-regions-page .home-stats-row{display:flex;gap:20px;margin-bottom:40px;justify-content:center;width:100%}.project-regions-page .home-stats-row .stat-card{flex:1;max-width:180px}.project-regions-page .stat-card{background:transparent;border:1px solid #333;border-radius:12px;padding:24px 32px;text-align:center;min-width:140px}.project-regions-page .stat-number{font-size:36px;font-weight:700;color:#fff}.project-regions-page .stat-label{font-size:14px;color:#888;margin-top:4px;font-weight:600}.project-regions-page .home-actions-section{background:transparent;border:none;border-radius:12px;padding:24px 0;width:100%;margin-bottom:24px}.project-regions-page .home-actions-section h3{margin:0 0 16px;color:#fff;font-size:16px;font-weight:700}.project-regions-page .home-actions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;max-width:400px}.project-regions-page .action-card{display:flex;flex-direction:column;gap:4px;padding:12px 16px;background:linear-gradient(135deg,#252525,#2a2a2a);border:1px solid #3a3a3a;border-radius:10px;cursor:pointer;transition:all .2s;flex:1}.project-regions-page .action-card:hover{background:linear-gradient(135deg,#2a2a2a,#333);border-color:#3498db}.project-regions-page .action-row{display:flex;align-items:center;gap:10px}.project-regions-page .action-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#333;border-radius:6px;flex-shrink:0}.project-regions-page .action-title{font-size:13px;font-weight:600;color:#fff}.project-regions-page .action-desc{font-size:11px;color:#888}.project-regions-page .region-type-content{padding:20px}.project-regions-page .sub-regions-search{margin-bottom:16px}.project-regions-page .sub-regions-search input{width:100%;max-width:400px;padding:10px 14px;border:1px solid #444;border-radius:6px;font-size:14px;background:#2a2a2a;color:#fff;box-sizing:border-box}.project-regions-page .sub-regions-search input::placeholder{color:#888}.project-regions-page .sub-regions-search input:focus{outline:none;border-color:#3498db}.project-regions-page .sub-region-name{font-weight:600}.project-regions-page .region-documents{color:#ccc;max-width:300px}.project-regions-page .region-documents .doc-names{display:inline}.project-regions-page .region-documents .regions-count{color:#888;font-size:12px;white-space:nowrap}.project-regions-page .region-objects-count{text-align:center}.project-regions-page .no-regions-message{text-align:center;color:#888;padding:40px 20px}.project-regions-page .no-regions-message p{margin:8px 0}.project-regions-page .sub-region-detail{background:transparent;border-radius:12px;border:none;min-width:0;width:100%}.project-regions-page .sub-region-detail-header{display:flex;align-items:center;gap:16px;padding:16px 20px;background:transparent;border-bottom:1px solid #333;border-radius:0}.project-regions-page .back-to-list-btn{padding:6px 12px;background:transparent;border:1px solid #444;border-radius:6px;cursor:pointer;font-size:13px;color:#ccc;transition:all .15s}.project-regions-page .back-to-list-btn:hover{background:transparent;border-color:#3498db;color:#3498db}.project-regions-page .sub-region-detail-header h3{margin:0;font-size:18px;color:#fff}.project-regions-page .sub-region-doc{font-size:13px;color:#888}.project-regions-page .sub-region-detail-header .goto-btn{padding:8px 14px;background:transparent;border:1px solid #3498db;border-radius:6px;color:#3498db;cursor:pointer;font-size:13px;transition:all .15s}.project-regions-page .sub-region-detail-header .goto-btn:hover{background:#1a3a4a}.project-regions-page .objects-in-region{padding:20px;overflow:hidden;min-width:0;width:100%}.project-regions-page .objects-in-region h4{margin:0;font-size:14px;color:#aaa}.project-regions-page .no-objects-message{color:#888;font-size:14px;text-align:center;padding:24px;background:transparent;border-radius:8px}.project-regions-page .objects-table{border:1px solid #444;border-radius:8px;overflow:hidden}.project-regions-page .objects-table table{width:100%;border-collapse:collapse}.project-regions-page .objects-table th,.project-regions-page .objects-table td{padding:10px 14px;text-align:left;border-bottom:1px solid #444}.project-regions-page .objects-table th{background:transparent;font-weight:600;font-size:12px;color:#aaa;text-transform:uppercase}.project-regions-page .objects-table td{font-size:14px;color:#fff}.project-regions-page .objects-table tr:last-child td{border-bottom:none}.project-regions-page .objects-table tr:hover{background:#252525}.project-regions-page .obj-document{color:#888;font-size:12px}.project-regions-page .objects-table .find-col{width:40px}.project-regions-page .objects-table .find-cell{width:40px;text-align:center;padding:6px!important}.project-regions-page .objects-table .find-btn{background:none;border:none;cursor:pointer;font-size:16px;padding:4px 8px;border-radius:4px;transition:background .15s}.project-regions-page .objects-table .find-btn:hover{background:#1a3a4a}.project-regions-page .objects-table .image-col{width:120px}.project-regions-page .objects-table .image-cell{width:120px;text-align:center;padding:4px!important}.project-regions-page .objects-table .object-thumbnail{max-width:100px;max-height:80px;border-radius:4px;border:1px solid #555}.project-regions-page .objects-table .loading-thumbnail{color:#888;font-size:12px}.project-regions-page .objects-table .load-thumbnail-btn{background:none;border:1px solid #555;cursor:pointer;font-size:14px;padding:4px 8px;border-radius:4px;transition:all .15s}.project-regions-page .objects-table .load-thumbnail-btn:hover{background:#333;border-color:#666}.project-regions-page .editable-cell{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.project-regions-page .editable-cell:hover{color:#3498db}.project-regions-page .edit-name-input,.project-regions-page .edit-name-input-inline{padding:6px 10px;border:2px solid #3498db;border-radius:6px;font-size:14px;background:#2a2a2a;color:#fff;outline:none}.project-regions-page .edit-name-input-inline{width:100%;max-width:200px}.project-regions-page .sub-region-documents{padding:16px 20px;border-bottom:1px solid #444}.project-regions-page .sub-region-documents h4{margin:0 0 12px;font-size:14px;color:#aaa}.project-regions-page .documents-list{display:flex;flex-direction:column;gap:8px}.project-regions-page .document-item{display:flex;align-items:center;gap:12px;padding:10px 14px;background:transparent;border-radius:8px;border-bottom:1px solid #2a2a2a}.project-regions-page .doc-name{font-weight:500;flex:1;color:#fff}.project-regions-page .doc-objects{color:#888;font-size:12px;background:transparent;padding:2px 8px;border-radius:10px}.project-regions-page .objects-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.project-regions-page .objects-header h4{margin:0;font-size:14px;color:#aaa}.project-regions-page .objects-header-actions{display:flex;gap:8px;align-items:center}.project-regions-page .export-csv-btn{padding:6px 12px;background:#1a3a2a;border:1px solid #27ae60;border-radius:6px;color:#27ae60;cursor:pointer;font-size:13px;transition:all .15s}.project-regions-page .export-csv-btn:hover{background:#254a35}.project-regions-page .view-toggle-btn{padding:6px 12px;background:transparent;border:1px solid #444;border-radius:6px;color:#aaa;cursor:pointer;font-size:13px;transition:all .15s}.project-regions-page .view-toggle-btn:hover{background:transparent;border-color:#666}.project-regions-page .view-toggle-btn.active{background:transparent;border-color:#888;color:#fff;font-weight:600}.project-regions-page .by-class-view{display:flex;flex-direction:column;width:100%;min-width:0}.project-regions-page .class-tabs{display:flex;gap:0;border-bottom:2px solid #333;background:transparent;overflow-x:auto;padding:0 4px}.project-regions-page .class-tab{padding:10px 20px;background:transparent;border:1px solid #333;border-bottom:none;border-radius:8px 8px 0 0;cursor:pointer;font-size:13px;font-weight:500;color:#aaa;margin-bottom:-2px;transition:all .15s;white-space:nowrap}.project-regions-page .class-tab:hover{background:#252525}.project-regions-page .class-tab.active{background:transparent;border-color:#333;border-bottom-color:#1a1a1a;color:#3498db;font-weight:600}.project-regions-page .class-tab-content{background:transparent;border:1px solid #333;border-top:none;border-radius:0 0 8px 8px;min-width:0;width:100%}.project-regions-page .objects-table-scroll-wrapper{max-height:500px;overflow:auto;min-width:0}.project-regions-page .objects-table-scroll-wrapper .objects-table{border:none;border-radius:0;overflow:visible}.project-regions-page .objects-table-scroll-wrapper .objects-table table{width:auto;min-width:max-content}.project-regions-page .resizable-table th.resizable-col{position:relative;min-width:80px}.project-regions-page .resizable-table .col-header-text{display:block;overflow:hidden;text-overflow:ellipsis;padding-right:10px}.project-regions-page .column-resizer{position:absolute;right:0;top:0;bottom:0;width:5px;cursor:col-resize;background:transparent;transition:background .2s}.project-regions-page .column-resizer:hover{background:#3498db}.project-regions-page .resizable-table td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-regions-page .delete-group-btn{padding:4px 6px;background:transparent;border:none;border-radius:4px;color:#888;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.project-regions-page .delete-group-btn:hover{background:#e5393526;color:#e53935}.project-regions-page .line-style-select{background:#1e1e1e;border:1px solid #444;border-radius:4px;color:#ccc;font-size:12px;padding:2px 4px;cursor:pointer;outline:none}.project-regions-page .line-style-select:hover{border-color:#666}.project-regions-page .line-style-select:focus{border-color:#3498db}.project-regions-page .property-search-input{padding:4px 8px;font-size:12px;background:#1e1e1e;border:1px solid #444;border-radius:4px;color:#ccc;outline:none;width:160px}.project-regions-page .property-search-input::placeholder{color:#666}.project-regions-page .property-search-input:focus{border-color:#3498db}.project-regions-page .modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.project-regions-page .modal{background:#2a2a2a;border-radius:12px;padding:24px;min-width:400px;max-width:500px;border:1px solid #444}.project-regions-page .modal h2{margin:0 0 8px;font-size:20px;color:#fff}.project-regions-page .modal-description{color:#888;font-size:14px;margin-bottom:20px}.project-regions-page .form-group{margin-bottom:20px}.project-regions-page .form-group label{display:block;margin-bottom:8px;font-weight:500;color:#ccc}.project-regions-page .form-group input{width:100%;padding:10px 14px;border:1px solid #444;border-radius:6px;font-size:14px;background:#1a1a1a;color:#fff;box-sizing:border-box}.project-regions-page .form-group input:focus{outline:none;border-color:#3498db}.project-regions-page .modal-actions{display:flex;gap:12px;justify-content:flex-end}.project-regions-page .modal-actions button{padding:10px 20px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.project-regions-page .modal-actions button:first-child{background:#333;border:1px solid #555;color:#ccc}.project-regions-page .modal-actions button:first-child:hover{background:#3a3a3a}.project-regions-page .modal-actions .primary-btn{background:#3498db;border:none;color:#fff}.project-regions-page .modal-actions .primary-btn:hover{background:#2980b9}.project-regions-page .modal-actions .primary-btn:disabled{background:#555;cursor:not-allowed}.project-regions-page .sidebar-resize-handle{position:absolute;right:0;top:0;bottom:0;width:5px;cursor:col-resize;transition:background .2s}.project-regions-page .sidebar-resize-handle:hover{background:#3498db}.project-regions-page .region-type-settings{display:flex;gap:16px;align-items:center;margin-left:auto}.project-regions-page .color-setting{display:flex;align-items:center;gap:8px}.project-regions-page .color-setting label{font-size:12px;color:#888}.project-regions-page .color-picker{width:32px;height:32px;border:2px solid #555;border-radius:6px;cursor:pointer;padding:0}.project-regions-page .color-picker::-webkit-color-swatch-wrapper{padding:2px}.project-regions-page .color-picker::-webkit-color-swatch{border:none;border-radius:4px}.project-regions-page .region-type-detail{flex:1;display:flex;flex-direction:column;overflow:hidden}.project-regions-page .header-spacer{flex:1}.project-regions-page .region-type-header{display:flex;align-items:center;gap:12px;padding:14px 20px;border-bottom:none;flex-shrink:0}.project-regions-page .region-type-header-left{flex:1;display:flex;flex-direction:column;gap:12px;min-width:0}.project-regions-page .region-type-name-input{font-size:22px;font-weight:700;color:#fff;background:transparent;border:1px solid transparent;border-radius:4px;padding:4px 0;width:100%}.project-regions-page .region-type-name-input:hover{border-color:#333}.project-regions-page .region-type-name-input:focus{border-color:#3498db;background:#2a2a2a;outline:none}.project-regions-page .region-type-desc-input{font-size:13px;color:#ccc;background:transparent;border:1px solid transparent;border-radius:4px;padding:6px 0;width:100%;min-height:60px;resize:both;line-height:1.5;font-family:inherit}.project-regions-page .region-type-desc-input:hover{border-color:#333}.project-regions-page .region-type-desc-input:focus{border-color:#3498db;background:#2a2a2a;color:#ccc;outline:none}.project-regions-page .region-type-desc-input::placeholder{color:#555}.project-regions-page .region-count-badge{font-size:12px;color:#888}.project-regions-page .delete-type-btn{padding:6px;background:transparent;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.project-regions-page .delete-type-btn:hover{color:#e74c3c;background:#e74c3c1a}.project-regions-page .region-type-content{flex:1;overflow-y:auto;padding:20px}.project-regions-page .home-search-panel{width:100%;background:#2a2a2a;border:1px solid #444;border-radius:12px;padding:20px}.project-regions-page .home-search-panel h3{margin:0 0 16px;font-size:16px;color:#fff;font-weight:600}.project-regions-page .home-search-panel .search-input{width:100%;padding:12px 16px;border:1px solid #444;border-radius:8px;font-size:14px;background:#1a1a1a;color:#fff;box-sizing:border-box}.project-regions-page .home-search-panel .search-input::placeholder{color:#888}.project-regions-page .home-search-panel .search-input:focus{outline:none;border-color:#3498db}.project-regions-page .search-results-container{margin-top:16px}.project-regions-page .search-results-container h4{margin:0 0 12px;font-size:14px;color:#aaa}.project-regions-page .no-results{color:#888;font-size:13px}.project-regions-page .search-results-list{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto}.project-regions-page .search-result-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#333;border-radius:8px;cursor:pointer;transition:all .15s}.project-regions-page .search-result-item:hover{background:#3a3a3a;border-color:#3498db}.project-regions-page .result-type-badge{font-size:11px;font-weight:600;color:#3498db;background:#1a3a4a;padding:4px 8px;border-radius:4px}.project-regions-page .result-name{flex:1;font-weight:500;color:#fff}.project-regions-page .result-document{font-size:12px;color:#888}.project-regions-page .header-color-controls{display:flex;gap:16px;align-items:center}.project-regions-page .color-setting-inline{display:flex;align-items:center;gap:8px}.project-regions-page .color-setting-inline label{font-size:12px;color:#888}.project-regions-page .color-controls{display:flex;align-items:center;gap:4px}.project-regions-page .no-color-btn{width:28px;height:28px;border:1px solid #555;border-radius:4px;background:transparent;color:#888;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .15s}.project-regions-page .no-color-btn:hover{background:#333;border-color:#666}.project-regions-page .no-color-btn.active{background:#3498db;border-color:#3498db;color:#fff}.project-regions-page .color-setting-inline input[type=color]{width:28px;height:28px;border:1px solid #555;border-radius:4px;padding:2px;background:#2a2a2a}.project-regions-page .editable-name{cursor:pointer;transition:color .15s}.project-regions-page .editable-name:hover{color:#3498db}.project-docprops-page{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden;background:#1a1a1a}.project-docprops-page .docprops-header{background:#000;border-bottom:1px solid rgba(255,255,255,.15);padding:.6rem 1rem;display:flex;align-items:center;gap:.75rem;flex-shrink:0}.project-docprops-page .docprops-header .back-btn{background:none;border:none;padding:6px 10px;border-radius:4px;cursor:pointer;color:#ccc;transition:all .2s;display:flex;align-items:center;justify-content:center}.project-docprops-page .docprops-header .back-btn:hover{background:none;color:#3498db}.project-docprops-page .docprops-header h1{margin:0 0 0 6px;font-size:1.5rem;font-weight:700;line-height:1;color:#fff}.project-docprops-page .docprops-header .brand-title{color:#fff;font-weight:700}.project-docprops-page .docprops-loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px;color:#666}.project-docprops-page .docprops-spinner{width:40px;height:40px;border:3px solid #333;border-top-color:#3498db;border-radius:50%;animation:docprops-spin 1s linear infinite}@keyframes docprops-spin{to{transform:rotate(360deg)}}.project-docprops-page .docprops-body{display:flex;flex:1;overflow:hidden}.project-docprops-page .docprops-sidebar{display:flex;flex-direction:column;background:#1e1e1e;border-right:1px solid #333;overflow:hidden;flex-shrink:0}.project-docprops-page .docprops-sidebar-resize-handle{position:absolute;right:0;top:0;bottom:0;width:4px;cursor:col-resize;background:transparent;transition:background .2s}.project-docprops-page .docprops-sidebar-resize-handle:hover{background:#3498db}.project-docprops-page .docprops-sidebar-item{display:flex;align-items:center;gap:10px;padding:10px 16px;cursor:pointer;transition:all .15s;margin:4px 12px;border-radius:6px;background:transparent;border:1px solid transparent;color:#ccc}.project-docprops-page .docprops-sidebar-item:hover{background:#252525}.project-docprops-page .docprops-sidebar-item.selected{background:#2a2a2a}.project-docprops-page .docprops-sidebar-item.home-item{margin:8px 12px 4px;border-radius:6px;background:transparent;border:none;font-weight:600;color:#fff;outline:none}.project-docprops-page .docprops-sidebar-item.home-item:hover{background:#252525}.project-docprops-page .docprops-sidebar-item.home-item.selected{background:#2a2a2a}.project-docprops-page .docprops-sidebar-item .item-name{font-weight:600;font-size:13px;color:#fff}.project-docprops-page .docprops-sidebar-divider{height:1px;background:#333;margin:8px 16px}.project-docprops-page .docprops-nav-btn{margin:4px 12px;padding:10px 16px;background:transparent;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:flex-start;gap:8px;outline:none;text-align:left}.project-docprops-page .docprops-nav-btn:hover{background:#252525}.project-docprops-page .docprops-nav-btn:focus{outline:none}.project-docprops-page .docprops-search{padding:0 12px 12px}.project-docprops-page .docprops-search input{width:100%;padding:6px 10px;border:1px solid #444;border-radius:4px;font-size:13px;box-sizing:border-box;background:#2a2a2a;color:#fff}.project-docprops-page .docprops-search input::placeholder{color:#888}.project-docprops-page .docprops-search input:focus{outline:none;border-color:#555}.project-docprops-page .docprops-templates-section{display:flex;flex-direction:column;flex-shrink:0;min-height:100px;overflow:hidden;padding:8px 0;background:#1e1e1e}.project-docprops-page .docprops-templates-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;padding:0 16px;flex-shrink:0}.project-docprops-page .docprops-templates-section-header .section-title{font-size:14px;font-weight:700;color:#fff}.project-docprops-page .docprops-template-count{font-size:11px;color:#888;background:#333;padding:2px 8px;border-radius:10px}.project-docprops-page .docprops-templates-list{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:4px 8px;min-height:0;scrollbar-width:thin;scrollbar-color:#555 #2a2a2a;background:#1e1e1e}.project-docprops-page .docprops-templates-list::-webkit-scrollbar{width:6px}.project-docprops-page .docprops-templates-list::-webkit-scrollbar-track{background:#2a2a2a;border-radius:3px}.project-docprops-page .docprops-templates-list::-webkit-scrollbar-thumb{background:#555;border-radius:3px}.project-docprops-page .docprops-no-templates{text-align:center;color:#666;font-size:13px;padding:20px}.project-docprops-page .docprops-template-list-item{display:flex;align-items:center;gap:10px;padding:8px 12px;margin:2px 0;background:transparent;border-top:none;border-right:none;border-bottom:none;border-left:3px solid transparent;border-radius:6px;cursor:pointer;transition:all .15s;outline:none}.project-docprops-page .docprops-template-list-item:hover{background:#252525}.project-docprops-page .docprops-template-list-item.selected{background:#2a2a2a;border-left:3px solid #3498db}.project-docprops-page .docprops-template-item-info{flex:1;min-width:0}.project-docprops-page .docprops-template-item-name{font-weight:600;font-size:13px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-docprops-page .docprops-template-item-meta{font-size:11px;color:#888;margin-top:1px;display:flex;align-items:center;gap:8px}.project-docprops-page .docprops-issue-badge{background:#e74c3c33;color:#e74c3c;padding:1px 6px;border-radius:4px;font-size:10px;font-weight:500}.project-docprops-page .docprops-template-item-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s}.project-docprops-page .docprops-template-list-item:hover .docprops-template-item-actions{opacity:1}.project-docprops-page .docprops-template-action-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;background:transparent;border:none;border-radius:4px;cursor:pointer;color:#666;transition:all .15s}.project-docprops-page .docprops-template-action-btn:hover{background:#333;color:#aaa}.project-docprops-page .docprops-template-action-btn.delete:hover{background:#3a2525;color:#e74c3c}.project-docprops-page .docprops-section-resize-handle{height:12px;display:flex;align-items:center;justify-content:center;cursor:ns-resize;background:#1e1e1e;flex-shrink:0}.project-docprops-page .docprops-section-resize-handle:hover,.project-docprops-page .docprops-section-resize-handle.active{background:#2a2a2a}.project-docprops-page .docprops-resize-handle-bar{width:40px;height:3px;background:#444;border-radius:2px}.project-docprops-page .docprops-section-resize-handle:hover .docprops-resize-handle-bar,.project-docprops-page .docprops-section-resize-handle.active .docprops-resize-handle-bar{background:#3498db}.project-docprops-page .docprops-folders-section{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:8px 0;background:#1e1e1e}.project-docprops-page .docprops-folders-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;padding:0 16px;flex-shrink:0}.project-docprops-page .docprops-folders-section-header .section-title{font-size:14px;font-weight:700;color:#fff}.project-docprops-page .docprops-folder-count{font-size:11px;color:#888;background:#333;padding:2px 8px;border-radius:10px}.project-docprops-page .docprops-folders-list{flex:1 1 auto;overflow-y:auto;padding:4px 8px;min-height:0;background:#1e1e1e;scrollbar-width:thin;scrollbar-color:#555 #2a2a2a}.project-docprops-page .docprops-no-folders{text-align:center;color:#888;font-size:13px;padding:20px}.project-docprops-page .docprops-folder-list-item{display:flex;align-items:center;gap:10px;padding:8px 12px;margin:2px 0;background:transparent;border-radius:6px}.project-docprops-page .docprops-folder-item-icon{flex-shrink:0}.project-docprops-page .docprops-folder-item-info{flex:1;min-width:0}.project-docprops-page .docprops-folder-item-name{font-weight:600;font-size:13px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-docprops-page .docprops-folder-item-meta{font-size:11px;color:#888;margin-top:1px}.project-docprops-page .docprops-content{flex:1;min-width:0;display:flex;flex-direction:column;background:#1a1a1a;overflow:hidden}.project-docprops-page .docprops-home-content{display:flex;flex-direction:column;box-sizing:border-box;flex:1;min-height:0;overflow-y:auto}.project-docprops-page .docprops-template-detail{flex:1;overflow-y:auto;padding:32px;background:#1a1a1a}.project-docprops-page .docprops-template-detail-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:28px}.project-docprops-page .docprops-template-header-left h2{margin:0 0 6px;font-size:26px;font-weight:600;color:#fff}.project-docprops-page .docprops-template-meta{font-size:13px;color:#888}.project-docprops-page .docprops-template-meta-row{display:flex;align-items:center;gap:12px;margin-top:4px}.project-docprops-page .docprops-model-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:10px;font-size:11px;font-weight:500}.project-docprops-page .docprops-model-badge.trained{background:#27ae6026;color:#27ae60}.project-docprops-page .docprops-model-badge.no-model{background:#333;color:#666}.project-docprops-page .docprops-template-header-actions{display:flex;gap:10px}.project-docprops-page .docprops-test-results{background:#1e1e1e;border:1px solid #333;border-radius:12px;padding:20px;margin-bottom:24px}.project-docprops-page .docprops-test-results-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.project-docprops-page .docprops-test-results-header h4{margin:0;font-size:15px;font-weight:600;color:#ccc}.project-docprops-page .docprops-close-btn{background:none;border:none;padding:4px;cursor:pointer;color:#666;border-radius:4px;display:flex;align-items:center;justify-content:center}.project-docprops-page .docprops-close-btn:hover{background:#333;color:#ccc}.project-docprops-page .docprops-test-source{font-size:13px;color:#666;margin:0 0 16px}.project-docprops-page .docprops-test-properties{display:flex;flex-direction:column;gap:12px}.project-docprops-page .docprops-test-property{display:grid;grid-template-columns:180px 1fr;gap:16px;padding:12px;background:#252525;border-radius:8px}.project-docprops-page .docprops-test-property-name{display:flex;align-items:center;gap:8px;font-weight:500;color:#ccc;font-size:13px}.project-docprops-page .docprops-test-property-value{font-size:14px;color:#ccc;padding:8px 12px;background:#1a1a1a;border:1px solid #333;border-radius:6px;min-height:36px;display:flex;align-items:center}.project-docprops-page .docprops-test-property-value .empty{color:#666;font-style:italic}.project-docprops-page .docprops-test-error{padding:16px;background:#e74c3c26;border-radius:8px;color:#e74c3c;font-size:14px}.project-docprops-page .docprops-detection-info{display:flex;align-items:center;gap:12px;padding:10px 0;margin-bottom:8px;border-bottom:1px solid #333}.project-docprops-page .docprops-detection-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.project-docprops-page .docprops-detection-badge.success{background:#27ae6026;color:#27ae60}.project-docprops-page .docprops-detection-badge.warning{background:#f39c1226;color:#f39c12}.project-docprops-page .docprops-detection-badge.error{background:#e74c3c26;color:#e74c3c}.project-docprops-page .docprops-detection-details{font-size:12px;color:#888}.project-docprops-page .docprops-template-preview-section{display:grid;grid-template-columns:1fr 320px;gap:24px;margin-bottom:28px}@media(max-width:1200px){.project-docprops-page .docprops-template-preview-section{grid-template-columns:1fr}}.project-docprops-page .docprops-preview-card,.project-docprops-page .docprops-properties-card{background:#1e1e1e;border:1px solid #333;border-radius:12px;padding:20px}.project-docprops-page .docprops-preview-card h3,.project-docprops-page .docprops-properties-card h3{margin:0 0 16px;font-size:15px;font-weight:600;color:#ccc}.project-docprops-page .docprops-preview-container{display:flex;justify-content:center;align-items:center;background:#252525;border-radius:8px;padding:24px;min-height:180px}.project-docprops-page .docprops-preview-canvas-wrapper{position:relative;box-shadow:0 4px 20px #00000026;border-radius:4px;overflow:visible}.project-docprops-page .docprops-preview-canvas-wrapper canvas{display:block;border-radius:4px}.project-docprops-page .docprops-preview-image{max-width:100%;max-height:350px;border-radius:4px;box-shadow:0 4px 20px #00000026}.project-docprops-page .docprops-preview-region{position:absolute;border:2px solid;border-radius:3px;pointer-events:none}.project-docprops-page .docprops-preview-region-label{position:absolute;top:-1px;left:-1px;font-size:9px;font-weight:600;color:#fff;padding:2px 6px;border-radius:3px 0;white-space:nowrap}.project-docprops-page .docprops-preview-loading,.project-docprops-page .docprops-preview-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px 20px;color:#888;font-size:13px}.project-docprops-page .docprops-properties-list{display:flex;flex-direction:column;gap:8px}.project-docprops-page .docprops-property-item{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#252525;border-radius:8px}.project-docprops-page .docprops-property-name{flex:1;font-weight:500;color:#ccc;font-size:14px}.project-docprops-page .docprops-property-type{font-size:11px;color:#888;background:#333;padding:3px 10px;border-radius:4px;text-transform:capitalize}.project-docprops-page .docprops-empty-text{color:#666;font-size:13px;text-align:center;padding:20px;margin:0}.project-docprops-page .docprops-documents-section{background:#1e1e1e;border:1px solid #333;border-radius:12px;overflow:hidden}.project-docprops-page .docprops-documents-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #333}.project-docprops-page .docprops-documents-header h3{margin:0;font-size:15px;font-weight:600;color:#ccc}.project-docprops-page .docprops-documents-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.project-docprops-page .docprops-documents-empty p{margin:16px 0 4px;font-weight:500;color:#888}.project-docprops-page .docprops-documents-empty span{font-size:13px;color:#555}.project-docprops-page .docprops-documents-table{overflow-x:auto}.project-docprops-page .docprops-table-header{display:flex;background:#252525;border-bottom:1px solid #333;font-size:11px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.3px}.project-docprops-page .docprops-table-header .docprops-table-cell{padding:12px 16px;display:flex;align-items:center;gap:6px;position:relative;flex:none}.project-docprops-page .docprops-table-header .docprops-table-cell.prop-value{color:#888}.project-docprops-page .docprops-table-body{max-height:400px;overflow-y:auto}.project-docprops-page .docprops-table-row{display:flex;border-bottom:1px solid #2a2a2a;transition:background .1s}.project-docprops-page .docprops-table-row:hover{background:#252525}.project-docprops-page .docprops-table-row.has-issue{background:#f39c1214}.project-docprops-page .docprops-table-row:last-child{border-bottom:none}.project-docprops-page .docprops-table-cell{padding:14px 16px;font-size:13px;color:#ccc;display:flex;align-items:center;gap:8px;min-width:0;flex:none;overflow:hidden}.project-docprops-page .docprops-table-cell.doc-name{font-weight:500}.project-docprops-page .docprops-table-cell.doc-name span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-docprops-page .docprops-table-cell.prop-value{color:#888;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:default}.project-docprops-page .docprops-table-cell.prop-value:hover:not(.editing){background:#ffffff08}.project-docprops-page .docprops-table-cell.status{justify-content:center}.project-docprops-page .docprops-col-resize{position:absolute;right:0;top:0;bottom:0;width:6px;cursor:col-resize;z-index:2}.project-docprops-page .docprops-col-resize:hover,.project-docprops-page .docprops-col-resize:active{background:#3498db66}.project-docprops-page .docprops-cell-edit-input{width:100%;background:#1a1a1a;border:1px solid #3498db;border-radius:3px;color:#fff;font-size:13px;padding:4px 8px;outline:none;font-family:inherit}.project-docprops-page .docprops-table-cell.prop-value.editing{padding:6px 8px}.project-docprops-page .docprops-empty-value{color:#555}.project-docprops-page .docprops-status-badge{font-size:11px;font-weight:500;padding:4px 10px;border-radius:12px}.project-docprops-page .docprops-status-badge.success{background:#27ae6026;color:#27ae60}.project-docprops-page .docprops-status-badge.error{background:#e74c3c26;color:#e74c3c}.project-docprops-page .docprops-status-badge.pending{background:#f39c1226;color:#f39c12}.project-docprops-page .docprops-color-dot.small{width:10px;height:10px;border-radius:3px}.project-docprops-page .docprops-no-selection{display:flex;align-items:center;justify-content:center;height:100%;color:#666}.project-docprops-page .docprops-color-dot{width:14px;height:14px;border-radius:4px;flex-shrink:0}.project-docprops-page .docprops-color-dot.large{width:24px;height:24px;border-radius:6px}.project-docprops-page .docprops-wizard-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000}.project-docprops-page .docprops-wizard-modal{background:#1e1e1e;border:1px solid #333;border-radius:12px;box-shadow:0 20px 60px #0009;width:580px;max-width:90vw;max-height:85vh;display:flex;flex-direction:column;overflow:hidden}.project-docprops-page .docprops-wizard-modal.medium{width:680px;max-height:80vh}.project-docprops-page .docprops-wizard-modal.large{width:calc(100vw - 40px);height:calc(100vh - 40px);max-width:2000px;max-height:none}.project-docprops-page .docprops-wizard-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #333;flex-shrink:0;background:#252525}.project-docprops-page .docprops-wizard-header h2{margin:0;font-size:18px;color:#fff}.project-docprops-page .docprops-wizard-close{width:32px;height:32px;border:none;background:transparent;border-radius:6px;cursor:pointer;font-size:20px;color:#888;display:flex;align-items:center;justify-content:center;transition:all .15s}.project-docprops-page .docprops-wizard-close:hover{background:#333;color:#fff}.project-docprops-page .docprops-wizard-body{padding:24px 28px;overflow-y:auto;flex:1}.project-docprops-page .docprops-wizard-body-full{display:flex;flex:1;overflow:hidden}.project-docprops-page .docprops-form-group{margin-bottom:24px}.project-docprops-page .docprops-form-group label{display:block;font-weight:600;margin-bottom:8px;color:#ccc;font-size:14px}.project-docprops-page .docprops-form-group input[type=text],.project-docprops-page .docprops-form-group select{width:100%;padding:12px 16px;border:1px solid #444;border-radius:8px;font-size:14px;box-sizing:border-box;background:#2a2a2a;color:#ccc;transition:border-color .15s,box-shadow .15s}.project-docprops-page .docprops-form-group input:focus,.project-docprops-page .docprops-form-group select:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db26}.project-docprops-page .docprops-form-group input::placeholder{color:#666}.project-docprops-page .docprops-hint{font-size:13px;color:#666;margin:0 0 16px;line-height:1.5}.project-docprops-page .docprops-pdf-search{margin-bottom:12px}.project-docprops-page .docprops-pdf-list{max-height:300px;overflow-y:auto;border:1px solid #333;border-radius:8px;background:#1a1a1a}.project-docprops-page .docprops-pdf-item{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;border-bottom:1px solid #2a2a2a;background:#1e1e1e;transition:all .1s}.project-docprops-page .docprops-pdf-item:last-child{border-bottom:none}.project-docprops-page .docprops-pdf-item:hover{background:#282828}.project-docprops-page .docprops-pdf-item.selected{background:#1a2a3a;border-left:3px solid #3498db}.project-docprops-page .docprops-pdf-item-text{flex:1;min-width:0}.project-docprops-page .docprops-pdf-name{font-weight:500;color:#ccc;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-docprops-page .docprops-pdf-folder{font-size:12px;color:#666;margin-top:2px}.project-docprops-page .docprops-pdf-empty{padding:40px 20px;text-align:center;color:#666;font-size:14px}.project-docprops-page .docprops-wizard-footer{display:flex;justify-content:flex-end;gap:12px;padding-top:20px;margin-top:8px;border-top:1px solid #333}.project-docprops-page .docprops-btn{padding:12px 28px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:all .15s}.project-docprops-page .docprops-btn.primary{background:#3498db;color:#fff}.project-docprops-page .docprops-btn.primary:hover{background:#2980b9}.project-docprops-page .docprops-btn.primary:disabled{opacity:.5;cursor:not-allowed}.project-docprops-page .docprops-btn.secondary{background:#2a2a2a;color:#ccc;border:1px solid #444}.project-docprops-page .docprops-btn.secondary:hover{background:#333;border-color:#555}.project-docprops-page .docprops-btn.small{padding:8px 16px;font-size:13px}.project-docprops-page .docprops-btn.full{width:100%;margin-top:auto;padding-top:14px;padding-bottom:14px}.project-docprops-page .docprops-draw-sidebar{width:300px;flex-shrink:0;background:#1e1e1e;border-right:1px solid #333;padding:20px;display:flex;flex-direction:column;gap:4px;overflow-y:auto}.project-docprops-page .docprops-instruction-box{background:#252525;border:1px solid #333;border-radius:10px;padding:18px;margin:12px 0 16px}.project-docprops-page .docprops-instruction-box.highlight{background:#2a2518;border:2px solid #6b5b2d}.project-docprops-page .docprops-instruction-box h4{margin:0 0 8px;font-size:14px;color:#fff}.project-docprops-page .docprops-instruction-box p{margin:0;font-size:13px;color:#888;line-height:1.5}.project-docprops-page .docprops-success-box{display:flex;align-items:center;gap:10px;padding:14px 16px;background:#1a2e1a;border:1px solid #2d5a2d;border-radius:8px;margin:8px 0;font-size:14px;font-weight:500;color:#6fcf6f}.project-docprops-page .docprops-success-box button{margin-left:auto;background:none;border:none;color:#3498db;cursor:pointer;font-size:13px;font-weight:500;padding:4px 8px;border-radius:4px;transition:background .15s}.project-docprops-page .docprops-success-box button:hover{background:#3498db1a}.project-docprops-page .docprops-tips{background:#252525;border:1px solid #333;border-radius:8px;padding:14px 16px;margin-top:16px;font-size:13px;color:#888}.project-docprops-page .docprops-tips p{margin:0 0 8px;color:#ccc}.project-docprops-page .docprops-tips ul{margin:0;padding-left:0;list-style:none}.project-docprops-page .docprops-tips li{margin-bottom:6px;display:flex;align-items:center;gap:8px}.project-docprops-page .docprops-tips kbd{display:inline-block;padding:2px 6px;font-size:11px;font-family:monospace;background:#333;border:1px solid #555;border-radius:4px;color:#ccc;min-width:20px;text-align:center}.project-docprops-page .docprops-mode-section{margin:12px 0}.project-docprops-page .docprops-mode-section label{display:block;font-size:11px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.project-docprops-page .docprops-mode-buttons{display:flex;gap:6px}.project-docprops-page .docprops-mode-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;background:#252525;border:1px solid #444;border-radius:8px;cursor:pointer;font-size:12px;font-weight:500;color:#888;transition:all .15s}.project-docprops-page .docprops-mode-btn:hover{background:#2a2a2a;border-color:#555}.project-docprops-page .docprops-mode-btn.active{background:#1a2a3a;border-color:#3498db;color:#3498db}.project-docprops-page .docprops-mode-btn span{font-size:10px;color:#666;background:#333;padding:2px 6px;border-radius:4px;font-weight:500}.project-docprops-page .docprops-mode-btn.active span{background:#1a3a5a;color:#3498db}.project-docprops-page .docprops-tips{font-size:12px;color:#888;padding:12px;background:#252525;border-radius:6px;margin-bottom:16px}.project-docprops-page .docprops-tips ul{margin:0;padding-left:16px}.project-docprops-page .docprops-tips li{margin:4px 0}.project-docprops-page .docprops-pdf-viewer{flex:1;display:flex;flex-direction:column;background:#141414;overflow:hidden}.project-docprops-page .docprops-pdf-toolbar{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#252525;border-bottom:1px solid #333;flex-shrink:0}.project-docprops-page .docprops-pdf-toolbar button{padding:6px 12px;background:#333;border:1px solid #444;border-radius:4px;color:#ccc;cursor:pointer}.project-docprops-page .docprops-pdf-toolbar button:hover:not(:disabled){background:#444}.project-docprops-page .docprops-pdf-toolbar button:disabled{opacity:.5;cursor:not-allowed}.project-docprops-page .docprops-pdf-toolbar span{color:#fff;font-size:13px}.project-docprops-page .docprops-toolbar-sep{opacity:.3}.project-docprops-page .docprops-pdf-canvas-area{flex:1;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center}.project-docprops-page .docprops-drawn-region{position:absolute;border:2px solid;pointer-events:none;box-sizing:border-box}.project-docprops-page .docprops-drawn-region.outer{border-color:#e67e22;background:#e67e2226;border-style:dashed}.project-docprops-page .docprops-drawn-region.outer.faded{opacity:.4}.project-docprops-page .docprops-drawn-region.prop{border-width:2px}.project-docprops-page .docprops-drawn-region.prop.active{box-shadow:0 0 0 3px #3498db4d}.project-docprops-page .docprops-region-label{position:absolute;top:-22px;left:0;padding:2px 8px;background:#e67e22;color:#fff;font-size:11px;font-weight:500;border-radius:3px;white-space:nowrap}.project-docprops-page .docprops-drawing-rect{position:absolute;border:2px dashed;pointer-events:none;box-sizing:border-box;background:#e67e2233}.project-docprops-page .docprops-wizard-body-vertical{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.project-docprops-page .docprops-titleblock-preview{background:#141414;border-bottom:1px solid #333;padding:0;display:flex;align-items:center;justify-content:center;max-height:45%;overflow:hidden}.project-docprops-page .docprops-titleblock-preview canvas{max-height:100%;object-fit:contain}.project-docprops-page .docprops-props-section{flex:1;min-height:0;display:flex;flex-direction:column;padding:14px 20px;overflow-y:auto}.project-docprops-page .docprops-props-section-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.project-docprops-page .docprops-props-list{margin-bottom:8px;overflow-y:auto}.project-docprops-page .docprops-prop-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.project-docprops-page .docprops-prop-row input[type=text]{flex:1;padding:7px 10px;border:1px solid #444;border-radius:5px;font-size:13px;min-width:0;box-sizing:border-box;background:#252525;color:#ccc}.project-docprops-page .docprops-prop-row input[type=text]::placeholder{color:#666}.project-docprops-page .docprops-prop-row input:focus{outline:none;border-color:#3498db}.project-docprops-page .docprops-prop-row select{width:100%;padding:10px 12px;border:1px solid #444;border-radius:6px;background:#1e1e1e;color:#ccc;font-size:14px;cursor:pointer;box-sizing:border-box}.project-docprops-page .docprops-props-empty{padding:20px 16px;text-align:center;border:1px dashed #444;border-radius:6px;margin-bottom:8px}.project-docprops-page .docprops-props-empty p{margin:0 0 2px;font-weight:500;font-size:13px;color:#888}.project-docprops-page .docprops-props-empty span{font-size:12px;color:#666}.project-docprops-page .docprops-remove-btn{width:28px;height:28px;border:none;background:transparent;border-radius:4px;cursor:pointer;color:#666;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s;padding:0}.project-docprops-page .docprops-remove-btn:hover{background:#3a1a1a;color:#e74c3c}.project-docprops-page .docprops-add-btn{padding:7px 14px;background:transparent;border:1px dashed #444;border-radius:5px;cursor:pointer;font-size:12px;font-weight:500;color:#888;width:100%;transition:all .15s}.project-docprops-page .docprops-add-btn:hover{background:#1a2a3a;border-color:#3498db;color:#3498db}.project-docprops-page .docprops-progress-section{margin:8px 0 12px;padding:14px;background:#252525;border:1px solid #333;border-radius:8px;font-size:13px;font-weight:500;color:#ccc}.project-docprops-page .docprops-progress-bar{height:8px;background:#333;border-radius:4px;margin-top:10px;overflow:hidden}.project-docprops-page .docprops-progress-fill{height:100%;background:linear-gradient(90deg,#27ae60,#2ecc71);transition:width .3s ease;border-radius:4px}.project-docprops-page .docprops-props-nav{flex:1;overflow-y:auto;margin:12px 0;display:flex;flex-direction:column;gap:6px}.project-docprops-page .docprops-prop-nav-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid #333;border-radius:8px;cursor:pointer;font-size:14px;transition:all .15s;background:#252525;color:#ccc}.project-docprops-page .docprops-prop-nav-item:hover{background:#2a2a2a;border-color:#555}.project-docprops-page .docprops-prop-nav-item.active{background:#1a2a3a;border-color:#3498db;border-width:2px}.project-docprops-page .docprops-prop-nav-item.done{border-color:#2d5a2d;background:#1a2e1a}.project-docprops-page .docprops-prop-nav-item span{flex:1}.project-docprops-page .docprops-prop-nav-item svg{flex-shrink:0}.project-docprops-page .docprops-current-prop{display:flex;align-items:center;gap:12px;margin-bottom:8px}.project-docprops-page .docprops-current-prop h4{margin:0;font-size:14px;color:#fff}.project-docprops-page .docprops-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.project-docprops-page .docprops-modal{background:#1e1e1e;border:1px solid #333;border-radius:12px;box-shadow:0 20px 60px #00000080;max-width:90vw;max-height:85vh;overflow:hidden;display:flex;flex-direction:column}.project-docprops-page .docprops-extraction-modal{width:560px}.project-docprops-page .docprops-modal-header{padding:24px 28px 16px;border-bottom:1px solid #333}.project-docprops-page .docprops-modal-header h2{margin:0 0 6px;font-size:20px;font-weight:600;color:#fff}.project-docprops-page .docprops-modal-subtitle{margin:0;font-size:13px;color:#888}.project-docprops-page .docprops-extraction-settings{padding:20px 28px;overflow-y:auto;flex:1}.project-docprops-page .docprops-setting-group{margin-bottom:20px}.project-docprops-page .docprops-setting-group>label{display:block;font-size:13px;font-weight:500;color:#ccc;margin-bottom:8px}.project-docprops-page .docprops-setting-group select{width:100%;padding:10px 12px;font-size:14px;border:1px solid #444;border-radius:6px;background:#2a2a2a;color:#ccc;cursor:pointer}.project-docprops-page .docprops-setting-group select:focus{outline:none;border-color:#3498db}.project-docprops-page .docprops-setting-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.project-docprops-page .docprops-setting-value{font-size:14px;font-weight:600;color:#ccc}.project-docprops-page .docprops-setting-group input[type=range]{width:100%;cursor:pointer;accent-color:#3498db}.project-docprops-page .docprops-checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#ccc}.project-docprops-page .docprops-checkbox-label input{cursor:pointer}.project-docprops-page .docprops-setting-help{margin:0 0 12px;font-size:12px;color:#888;line-height:1.4}.project-docprops-page .docprops-format-list{display:flex;flex-direction:column;gap:8px}.project-docprops-page .docprops-format-row{display:flex;align-items:center;gap:10px}.project-docprops-page .docprops-format-name{font-size:13px;color:#999;min-width:100px}.project-docprops-page .docprops-format-input{flex:1;padding:6px 10px;font-size:12px;font-family:monospace;border:1px solid #444;border-radius:4px;background:#1e1e1e;color:#ccc}.project-docprops-page .docprops-format-input:focus{outline:none;border-color:#3498db}.project-docprops-page .docprops-file-tree-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.project-docprops-page .docprops-selected-count{font-size:11px;color:#888;background:#252525;padding:3px 10px;border-radius:10px}.project-docprops-page .docprops-file-tree-actions{display:flex;gap:8px;margin-bottom:8px}.project-docprops-page .docprops-tree-action-btn{background:#252525;border:1px solid #333;color:#ccc;padding:4px 12px;border-radius:4px;font-size:11px;cursor:pointer;transition:all .15s}.project-docprops-page .docprops-tree-action-btn:hover{background:#333;border-color:#444}.project-docprops-page .docprops-file-tree{background:#1a1a1a;border:1px solid #333;border-radius:8px;max-height:280px;overflow-y:auto;padding:6px 0}.project-docprops-page .docprops-file-tree::-webkit-scrollbar{width:6px}.project-docprops-page .docprops-file-tree::-webkit-scrollbar-track{background:transparent}.project-docprops-page .docprops-file-tree::-webkit-scrollbar-thumb{background:#444;border-radius:3px}.project-docprops-page .docprops-file-tree-empty{padding:24px;text-align:center;color:#666;font-size:13px}.project-docprops-page .docprops-tree-folder-row{display:flex;align-items:center;gap:6px;padding:6px 12px}.project-docprops-page .docprops-tree-folder-label{display:flex;align-items:center;gap:6px;flex:1;cursor:pointer;min-width:0}.project-docprops-page .docprops-tree-folder-name{font-size:13px;font-weight:500;color:#ccc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-docprops-page .docprops-tree-folder-count{font-size:11px;color:#666;margin-left:auto;flex-shrink:0}.project-docprops-page .docprops-tree-file-row{display:flex;align-items:center;gap:6px;padding:4px 12px 4px 38px;transition:background .1s}.project-docprops-page .docprops-tree-file-row:hover{background:#252525}.project-docprops-page .docprops-tree-file-name{font-size:12px;color:#aaa;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.project-docprops-page .docprops-tree-checkbox{accent-color:#3498db;width:14px;height:14px;flex-shrink:0;cursor:pointer}.project-docprops-page .docprops-tree-warning{flex-shrink:0;display:flex;align-items:center}.project-docprops-page .docprops-tree-status{font-size:10px;padding:2px 8px;border-radius:8px;flex-shrink:0;font-weight:500}.project-docprops-page .docprops-tree-status.unassigned{background:#88888826;color:#888}.project-docprops-page .docprops-tree-status.pending{background:#f39c1226;color:#f39c12}.project-docprops-page .docprops-tree-status.extracted{background:#27ae6026;color:#27ae60}.project-docprops-page .docprops-tree-status.failed{background:#e74c3c26;color:#e74c3c}.project-docprops-page .docprops-extraction-progress{padding:16px 28px;background:#252525;border-top:1px solid #333}.project-docprops-page .docprops-progress-bar-container{height:8px;background:#333;border-radius:4px;overflow:hidden;margin-bottom:8px}.project-docprops-page .docprops-progress-bar-fill{height:100%;background:#3498db;transition:width .3s ease,background .3s ease}.project-docprops-page .docprops-progress-text{font-size:12px;color:#888}.project-docprops-page .docprops-modal-actions{padding:16px 28px 24px;display:flex;gap:12px;justify-content:flex-end;border-top:1px solid #333}.project-docprops-page .docprops-extraction-results{padding:20px 28px}.project-docprops-page .docprops-results-summary{display:flex;gap:16px;margin-bottom:24px}.project-docprops-page .docprops-result-stat{flex:1;text-align:center;padding:16px;border-radius:8px}.project-docprops-page .docprops-result-stat.success{background:#1a2e1a}.project-docprops-page .docprops-result-stat.failed{background:#2e1a1a}.project-docprops-page .docprops-result-stat.total{background:#252525}.project-docprops-page .docprops-result-stat .stat-number{display:block;font-size:28px;font-weight:700;margin-bottom:4px}.project-docprops-page .docprops-result-stat.success .stat-number{color:#27ae60}.project-docprops-page .docprops-result-stat.failed .stat-number{color:#c0392b}.project-docprops-page .docprops-result-stat.total .stat-number{color:#fff}.project-docprops-page .docprops-result-stat .stat-label{font-size:12px;color:#888;text-transform:uppercase;letter-spacing:.5px}.project-docprops-page .docprops-results-list h4{margin:0 0 12px;font-size:14px;color:#ccc}.project-docprops-page .docprops-results-scroll{max-height:250px;overflow-y:auto;border:1px solid #333;border-radius:8px}.project-docprops-page .docprops-result-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid #333;font-size:13px;color:#ccc}.project-docprops-page .docprops-result-item:last-child{border-bottom:none}.project-docprops-page .docprops-result-item.success{background:#1a2e1a}.project-docprops-page .docprops-result-item.failed{background:#2e1a1a}.project-docprops-page .docprops-result-item .result-icon{width:18px;text-align:center;font-weight:700}.project-docprops-page .docprops-result-item.success .result-icon{color:#27ae60}.project-docprops-page .docprops-result-item.failed .result-icon{color:#c0392b}.project-docprops-page .docprops-result-item .result-file{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-docprops-page .docprops-result-item .result-info{font-size:11px;color:#27ae60;white-space:nowrap}.project-docprops-page .docprops-result-item .result-error{font-size:11px;color:#c0392b;white-space:nowrap}.docprops-explainer{display:flex;align-items:center;gap:28px;padding:24px 28px;background:linear-gradient(135deg,#1e1e1e,#232323);border:1px solid #333;border-radius:12px;margin-bottom:20px}.docprops-explainer-text{display:flex;flex-direction:column;gap:6px;flex:1}.docprops-explainer-text h3{color:#fff;font-size:15px;font-weight:700;margin:0}.docprops-explainer-text p{color:#999;font-size:13px;line-height:1.5;margin:0}.docprops-explainer-actions{display:flex;gap:8px;margin-top:6px}.docprops-explainer-cta{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;background:#3498db;border:none;border-radius:6px;color:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s}.docprops-explainer-cta:hover{background:#2980b9}.docprops-explainer-cta.secondary{background:#333;border:1px solid #555;color:#ccc}.docprops-explainer-cta.secondary:hover{background:#444;border-color:#27ae60;color:#27ae60}.docprops-overview-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:16px}.docprops-overview-left{display:flex;flex-direction:column;gap:10px}.docprops-overview-title{color:#fff;font-size:18px;font-weight:700;margin:0}.docprops-split-layout{display:flex;gap:24px;flex:1;min-height:0;overflow:hidden}.docprops-split-left-example{width:50%;flex-shrink:0;display:flex;flex-direction:column}.docprops-split-right-docs{flex:1;min-width:0;display:flex;flex-direction:column}.docprops-example-card{background:linear-gradient(135deg,#1e1e1e,#232323);border:1px solid #333;border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:16px}.docprops-example-desc{display:flex;flex-direction:column;gap:6px}.docprops-example-desc h4{color:#fff;font-size:13px;font-weight:700;margin:0}.docprops-example-desc p{color:#888;font-size:12px;line-height:1.5;margin:0}.docprops-example-legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.docprops-legend-item{display:flex;align-items:center;gap:5px;font-size:11px;color:#999}.docprops-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.project-docprops-page .file-sidebar{border-top:none}.template-creator-panel{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.template-creator-body{flex:1;display:flex;min-height:0;overflow:hidden}.template-creator-main{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.template-creator-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#666}.template-creator-empty h3{margin:0;color:#aaa;font-size:18px;font-weight:600}.template-creator-empty p{margin:0;font-size:13px;color:#666;max-width:300px;text-align:center;line-height:1.5}.template-creator-right-panel{width:280px;flex-shrink:0;background:#111;border-left:1px solid #333;display:flex;flex-direction:column;padding:16px;gap:12px;overflow-y:auto}.tc-panel-section{display:flex;flex-direction:column;gap:6px}.tc-panel-label{font-size:11px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.5px}.tc-panel-input{padding:6px 10px;font-size:13px;background:#1e1e1e;border:1px solid #444;border-radius:4px;color:#ddd;outline:none}.tc-panel-input:focus{border-color:#3498db}.tc-panel-divider{height:1px;background:#333;margin:4px 0}.tc-panel-heading{margin:0;color:#fff;font-size:13px;font-weight:700}.tc-panel-desc{margin:0;font-size:12px;color:#888;line-height:1.5}.tc-panel-controls{margin-top:4px}.tc-panel-hint{margin:0;font-size:11px;color:#555;line-height:1.6}.tc-panel-hint kbd{background:#222;border:1px solid #444;border-radius:3px;padding:1px 4px;font-size:10px;color:#aaa;font-family:inherit}.tc-panel-footer-actions{display:flex;gap:8px}.tc-steps-indicator{display:flex;flex-direction:column;gap:6px}.tc-step{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:5px;font-size:12px;color:#666;transition:background .15s}.tc-step.active{background:#3498db1a;color:#fff}.tc-step.done{color:#999}.tc-step-num{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:inherit}.tc-step.active .tc-step-num{background:#3498db33;border-color:#3498db66;color:#3498db}.tc-step-label{flex:1;font-weight:600}.docprops-overview-hero{padding:40px 48px;border-bottom:1px solid #222;flex-shrink:0}.docprops-hero-split{display:flex;align-items:center;gap:60px;max-width:1200px;margin:0 auto}.docprops-hero-left{flex:1;display:flex;flex-direction:column;gap:20px}.docprops-hero-title-row{display:flex;align-items:center;gap:14px}.docprops-hero-title-row h2{margin:0;color:#fff;font-size:28px;font-weight:700}.docprops-hero-desc{margin:0;font-size:14px;color:#999;line-height:1.7;max-width:480px}.docprops-hero-steps{display:flex;flex-direction:column;gap:10px;margin-top:4px}.docprops-hero-step{display:flex;align-items:flex-start;gap:12px;font-size:13px;color:#aaa;line-height:1.5}.docprops-step-num{width:22px;height:22px;border-radius:50%;background:#3498db26;border:1px solid rgba(52,152,219,.3);color:#3498db;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.docprops-hero-actions{display:flex;gap:10px;margin-top:8px}.docprops-hero-cta{display:flex;align-items:center;gap:6px;padding:8px 18px;font-size:13px;font-weight:600;border-radius:6px;border:none;cursor:pointer;background:#3498db;color:#fff;transition:background .2s}.docprops-hero-cta:hover{background:#2980b9}.docprops-hero-cta.secondary{background:#ffffff0f;color:#ccc;border:1px solid rgba(255,255,255,.1)}.docprops-hero-cta.secondary:hover{background:#ffffff1a;color:#fff}.docprops-hero-right{flex:1;display:flex;align-items:center;justify-content:center}.docprops-hero-img{width:100%;max-width:500px;height:auto;border-radius:12px;opacity:.9;box-shadow:0 8px 40px #0006}.docprops-settings-cards{display:flex;gap:16px;margin-top:32px;flex-wrap:wrap}.docprops-settings-card{flex:1;min-width:200px;background:linear-gradient(135deg,#1e1e1e,#232323);border:1px solid #333;border-radius:10px;padding:20px}.docprops-settings-card-title{color:#fff;font-weight:600;font-size:14px;margin-bottom:6px}.docprops-settings-card-desc{color:#888;font-size:12px;line-height:1.5;margin-bottom:14px}.docprops-settings-card-status{color:#555;font-size:12px;font-style:italic}.docprops-docs-section{flex:1;min-height:0;display:flex;flex-direction:column;padding:20px 24px;overflow:hidden}.docprops-docs-section-title{color:#fff;font-size:15px;font-weight:700;margin:0 0 12px}.docprops-docs-area{flex:1;min-height:0;display:flex;flex-direction:column}.docprops-stats-pills{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}.docprops-stat-pill{display:flex;align-items:center;gap:8px;padding:7px 16px;background:linear-gradient(135deg,#ffffff0a,#ffffff03);border:1px solid rgba(255,255,255,.06);border-radius:20px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color .2s,background .2s}.docprops-stat-pill:hover{border-color:#ffffff1f;background:linear-gradient(135deg,#ffffff0f,#ffffff05)}.docprops-stat-pill .pill-number{font-size:14px;font-weight:700;color:#fff}.docprops-stat-pill .pill-label{font-size:11px;color:#888;font-weight:500}.docprops-stat-pill.has-issues{border-color:#e74c3c33;background:linear-gradient(135deg,#e74c3c0f,#e74c3c05)}.docprops-stat-pill.has-issues .pill-number{color:#e74c3c}.docprops-filter-bar{display:flex;gap:8px;margin-bottom:10px}.docprops-docs-search{flex:1;min-width:0;padding:7px 12px;background:#161616;border:1px solid #2a2a2a;border-radius:6px;color:#ccc;font-size:12px;outline:none;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.docprops-docs-search:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db1f}.docprops-docs-search::placeholder{color:#555}.docprops-filter-select{padding:7px 10px;background:#161616;border:1px solid #2a2a2a;border-radius:6px;color:#ccc;font-size:11px;outline:none;cursor:pointer;transition:border-color .2s,box-shadow .2s}.docprops-filter-select:hover{border-color:#444}.docprops-filter-select:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db1f}.docprops-filter-select option{background:#1a1a1a;color:#ccc}.docprops-docs-table-dark{width:100%;border:1px solid #333;border-radius:8px;overflow:hidden;flex:1;display:flex;flex-direction:column}.docprops-docs-header-row{display:flex;background:#252525;border-bottom:1px solid #3a3a3a;font-size:11px;font-weight:600;color:#888}.docprops-docs-header-row>div{padding:10px 14px}.docprops-docs-scroll{flex:1;overflow-y:auto}.docprops-docs-row{display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.04);transition:background .15s}.docprops-docs-row:last-child{border-bottom:none}.docprops-docs-row:hover{background:#ffffff08}.docprops-docs-row>div{padding:9px 14px;font-size:12px;color:#ccc}.docprops-docs-col-name{flex:2;min-width:180px;display:flex;align-items:center;gap:8px;overflow:hidden}.docprops-docs-col-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.docprops-docs-col-folder{flex:1;min-width:100px;color:#777!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.docprops-docs-col-template{flex:1.5;min-width:160px}.docprops-docs-col-status{width:100px;flex-shrink:0;display:flex;align-items:center}.docprops-template-select{width:100%;padding:5px 8px;background:#1a1a1a;border:1px solid #333;border-radius:4px;color:#ccc;font-size:11px;cursor:pointer;outline:none;transition:border-color .15s}.docprops-template-select:hover{border-color:#555}.docprops-template-select:focus{border-color:#3498db}.docprops-template-select option{background:#1a1a1a;color:#ccc}.docprops-status-pill{display:inline-flex;align-items:center;justify-content:center;padding:3px 10px;border-radius:10px;font-size:10px;font-weight:600;letter-spacing:.2px;min-width:60px;text-align:center}.docprops-status-pill.unassigned{background:#88888826;color:#888}.docprops-status-pill.pending{background:#f39c1226;color:#f39c12}.docprops-status-pill.extracted{background:#27ae6026;color:#27ae60}.docprops-status-pill.failed{background:#e74c3c26;color:#e74c3c}.docprops-docs-empty{display:flex;flex-direction:column;align-items:center;padding:40px 20px;color:#666;font-size:13px;gap:4px}.docprops-docs-empty svg{margin-bottom:8px;opacity:.4}.docprops-detection-area-select{width:100%;padding:8px 10px;background:#1a1a1a;border:1px solid #444;border-radius:6px;color:#ccc;font-size:13px}.docprops-detection-area-status{display:flex;align-items:center;gap:6px;margin-top:6px;padding:6px 10px;background:#27ae601a;border:1px solid rgba(39,174,96,.3);border-radius:6px;font-size:12px;color:#27ae60}.docprops-detection-area-status .docprops-btn{margin-left:auto}.docprops-clear-area-btn{background:none;border:none;color:#999;font-size:14px;cursor:pointer;padding:0 2px;margin-left:4px;line-height:1}.docprops-clear-area-btn:hover{color:#e74c3c}.project-docprops-page .docprops-wizard-steps-indicator{display:flex;align-items:center;gap:6px;margin:0 auto}.project-docprops-page .docprops-step-dot{width:10px;height:10px;border-radius:50%;background:#333;border:2px solid #444;transition:all .2s}.project-docprops-page .docprops-step-dot.active{background:#3498db;border-color:#3498db;box-shadow:0 0 8px #3498db66}.project-docprops-page .docprops-step-dot.done{background:#27ae60;border-color:#27ae60}.project-docprops-page .docprops-step-line{width:24px;height:2px;background:#333;border-radius:1px}.project-docprops-page .docprops-draw-sidebar.define-map-sidebar{width:320px;gap:8px}.project-docprops-page .docprops-add-prop-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 16px;background:linear-gradient(135deg,#3498db1f,#3498db0f);border:1px dashed rgba(52,152,219,.4);border-radius:8px;color:#3498db;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;margin:4px 0}.project-docprops-page .docprops-add-prop-btn:hover{background:linear-gradient(135deg,#3498db33,#3498db1a);border-color:#3498db}.project-docprops-page .docprops-define-map-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:4px;min-height:0;scrollbar-width:thin;scrollbar-color:#444 transparent}.project-docprops-page .docprops-define-map-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #2a2a2a;border-radius:8px;cursor:pointer;transition:all .15s;background:#1e1e1e}.project-docprops-page .docprops-define-map-row:hover{background:#252525;border-color:#3a3a3a}.project-docprops-page .docprops-define-map-row.active{background:#1a2a3a;border-color:#3498db;box-shadow:0 0 0 1px #3498db33}.project-docprops-page .docprops-define-map-row.mapped{border-color:#2d5a2d}.project-docprops-page .docprops-define-map-row.active.mapped{border-color:#3498db}.project-docprops-page .docprops-color-swatch{width:20px;height:20px;border-radius:5px;flex-shrink:0;cursor:pointer;border:2px solid rgba(255,255,255,.1);transition:border-color .15s,transform .15s}.project-docprops-page .docprops-color-swatch:hover{border-color:#ffffff4d;transform:scale(1.1)}.project-docprops-page .docprops-hidden-color-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.project-docprops-page .docprops-define-map-name{flex:1;min-width:0;padding:4px 8px;background:transparent;border:1px solid transparent;border-radius:4px;color:#ccc;font-size:13px;outline:none;transition:border-color .15s,background .15s}.project-docprops-page .docprops-define-map-name::placeholder{color:#555}.project-docprops-page .docprops-define-map-name:focus{background:#252525;border-color:#444}.project-docprops-page .docprops-map-check{flex-shrink:0}.project-docprops-page .docprops-map-pending{font-size:10px;color:#666;background:#2a2a2a;padding:2px 8px;border-radius:4px;font-weight:500;flex-shrink:0}.docprops-extraction-toast{position:fixed;bottom:24px;right:24px;width:340px;background:#1e1e1e;border:1px solid #333;border-radius:10px;box-shadow:0 8px 32px #00000080;padding:14px 16px;z-index:9999;animation:docprops-toast-slide-up .3s ease-out}.docprops-extraction-toast.done{border-color:#27ae604d}@keyframes docprops-toast-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.docprops-toast-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.docprops-toast-spinner{width:14px;height:14px;border:2px solid #333;border-top-color:#3498db;border-radius:50%;animation:docprops-spin .6s linear infinite;flex-shrink:0}.docprops-toast-title{font-size:13px;font-weight:600;color:#ddd;flex:1}.docprops-toast-dismiss{background:none;border:none;color:#666;cursor:pointer;padding:2px;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .15s,background .15s}.docprops-toast-dismiss:hover{color:#ccc;background:#333}.docprops-toast-progress-bar{height:4px;background:#333;border-radius:2px;overflow:hidden;margin-bottom:6px}.docprops-toast-progress-fill{height:100%;border-radius:2px;transition:width .3s ease}.docprops-toast-detail{font-size:11px;color:#888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.docprops-toast-results{display:flex;gap:12px;font-size:12px}.docprops-toast-stat{font-weight:500}.docprops-toast-stat.success{color:#27ae60}.docprops-toast-stat.failed{color:#e74c3c}.docprops-toast-stat.total{color:#888}.project-symbols-page{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden;background:#1a1a1a}.project-symbols-page .symbols-header{background:#000;border-bottom:1px solid #333;padding:1rem 2rem;display:flex;align-items:center;gap:1.5rem;flex-shrink:0}.project-symbols-page .symbols-header .back-btn{background:none;border:1px solid #555;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;color:#ccc;transition:all .2s}.project-symbols-page .symbols-header .back-btn:hover{background:#333;border-color:#3498db;color:#3498db}.project-symbols-page .symbols-header h1{margin:0;font-size:1.5rem;color:#fff}.project-symbols-page .symbols-header .brand-title{margin-left:auto;color:#fff}.project-symbols-page .symbols-body{display:flex;flex:1;overflow:hidden}.project-symbols-page .symbols-sidebar{background:#1e1e1e;border-right:1px solid #333;display:flex;flex-direction:column;flex-shrink:0;overflow:hidden}.project-symbols-page .sidebar-item{display:flex;align-items:center;gap:10px;padding:10px 16px;cursor:pointer;transition:all .15s;margin:4px 12px;border-radius:6px;background:transparent;border:1px solid transparent}.project-symbols-page .sidebar-item:hover{background:#2a2a2a;border-color:#444}.project-symbols-page .sidebar-item.selected{background:#2a2a2a;border-color:#555}.project-symbols-page .home-item{margin:8px 12px 4px;border-radius:6px;background:transparent;border:none;font-weight:600;color:#fff;outline:none}.project-symbols-page .home-item:hover{background:#252525}.project-symbols-page .home-item.selected{background:#2a2a2a}.project-symbols-page .item-name{font-weight:600;font-size:13px;color:#fff}.project-symbols-page .create-symbol-btn{margin:8px 12px;padding:10px 16px;background:#3498db;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px;outline:none}.project-symbols-page .create-symbol-btn:hover{background:#2980b9}.project-symbols-page .create-symbol-btn.selected{background:#2980b9;box-shadow:0 0 0 2px #3498db4d}.project-symbols-page .symbols-section{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;padding:8px 0;background:#1e1e1e}.project-symbols-page .symbols-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;padding:0 16px;flex-shrink:0}.project-symbols-page .section-title{font-size:14px;font-weight:700;color:#fff}.project-symbols-page .symbol-count{font-size:11px;color:#aaa;background:#333;padding:2px 8px;border-radius:10px}.project-symbols-page .symbols-search{padding:0 12px 12px}.project-symbols-page .symbols-search input{width:100%;padding:6px 10px;border:1px solid #444;border-radius:4px;font-size:13px;box-sizing:border-box;background:#2a2a2a;color:#fff}.project-symbols-page .symbols-search input::placeholder{color:#888}.project-symbols-page .symbols-search input:focus{outline:none;border-color:#555}.project-symbols-page .symbols-list{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:4px 8px;min-height:0;scrollbar-width:thin;scrollbar-color:#555 #2a2a2a}.project-symbols-page .symbol-category{margin-bottom:12px}.project-symbols-page .category-header{font-size:11px;font-weight:700;color:#888;text-transform:uppercase;padding:4px 12px;margin-bottom:4px}.project-symbols-page .symbol-list-item{display:flex;align-items:center;gap:10px;padding:8px 12px;margin-bottom:2px;background:transparent;border-radius:6px;cursor:pointer;transition:all .15s;border-left:3px solid transparent;position:relative}.project-symbols-page .symbol-list-item:hover{background:#252525}.project-symbols-page .symbol-list-item.selected{background:#2a2a2a;border-left:3px solid #3498db}.project-symbols-page .symbol-test-btn{position:absolute;right:8px;background:#3498db;color:#fff;border:none;width:24px;height:24px;border-radius:4px;font-size:10px;cursor:pointer;opacity:0;transition:opacity .15s,background .15s;display:flex;align-items:center;justify-content:center}.project-symbols-page .symbol-list-item:hover .symbol-test-btn{opacity:1}.project-symbols-page .symbol-test-btn:hover{background:#2980b9}.project-symbols-page .symbol-thumbnail{width:32px;height:32px;object-fit:contain;background:#333;border-radius:4px;flex-shrink:0}.project-symbols-page .symbol-thumbnail.svg-thumb{display:flex;align-items:center;justify-content:center}.project-symbols-page .symbol-thumbnail.svg-thumb svg{width:100%;height:100%}.project-symbols-page .symbol-thumbnail.placeholder{display:flex;align-items:center;justify-content:center;color:#666}.project-symbols-page .symbol-item-info{flex:1;min-width:0}.project-symbols-page .symbol-item-name{font-weight:600;font-size:13px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-symbols-page .symbol-item-meta{font-size:11px;color:#888;margin-top:1px}.project-symbols-page .no-symbols{text-align:center;color:#888;padding:20px;font-size:13px}.project-symbols-page .sidebar-resize-handle{position:absolute;right:0;top:0;bottom:0;width:5px;cursor:col-resize;transition:background .2s}.project-symbols-page .sidebar-resize-handle:hover{background:#3498db4d}.project-symbols-page .symbols-main{flex:1;overflow-y:auto;padding:16px 20px;background:#1a1a1a}.project-symbols-page .home-view{max-width:800px;margin:0 auto;padding:20px}.project-symbols-page .home-header{text-align:center;margin-bottom:32px}.project-symbols-page .home-header h2{color:#fff;margin:0 0 8px;font-size:28px}.project-symbols-page .home-subtitle{color:#888;font-size:16px;margin:0}.project-symbols-page .home-stats-row{display:flex;gap:20px;margin-bottom:40px;justify-content:center}.project-symbols-page .stat-card{background:transparent;border:1px solid #333;border-radius:8px;padding:20px 32px;text-align:center;min-width:120px}.project-symbols-page .stat-number{font-size:32px;font-weight:700;color:#fff}.project-symbols-page .stat-label{font-size:14px;color:#888;font-weight:600;margin-top:4px}.project-symbols-page .home-actions-section{width:100%;margin-bottom:40px}.project-symbols-page .home-actions-section h3{color:#fff;font-weight:700;margin-bottom:16px;text-align:center}.project-symbols-page .home-actions-grid{display:flex;gap:12px;justify-content:center}.project-symbols-page .action-card{background:#252525;border:1px solid #333;border-radius:8px;padding:16px 20px;cursor:pointer;transition:all .2s;min-width:160px}.project-symbols-page .action-card:hover{background:#2a2a2a;border-color:#3498db}.project-symbols-page .action-row{display:flex;align-items:center;gap:10px;margin-bottom:6px}.project-symbols-page .action-icon{font-size:20px}.project-symbols-page .action-title{font-weight:600;color:#fff;font-size:14px}.project-symbols-page .action-desc{font-size:12px;color:#888}.project-symbols-page .feature-preview{background:#252525;border:1px solid #333;border-radius:12px;padding:24px 32px;width:100%;max-width:500px;margin:0 auto}.project-symbols-page .feature-preview h3{color:#fff;font-weight:700;margin:0 0 20px;text-align:center}.project-symbols-page .feature-steps{display:flex;flex-direction:column;gap:16px}.project-symbols-page .feature-step{display:flex;align-items:flex-start;gap:16px}.project-symbols-page .step-number{width:32px;height:32px;background:#3498db;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}.project-symbols-page .step-content{flex:1}.project-symbols-page .step-title{font-weight:600;color:#fff;font-size:14px;margin-bottom:4px}.project-symbols-page .step-desc{font-size:13px;color:#888}.project-symbols-page .create-symbol-view{display:flex;flex-direction:column;height:100%}.project-symbols-page .create-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:12px}.project-symbols-page .create-page-header h2{color:#fff;margin:0;font-size:24px}.project-symbols-page .creation-mode-tabs{display:flex;gap:8px}.project-symbols-page .mode-tab{padding:8px 16px;background:#2a2a2a;border:1px solid #444;border-radius:6px;color:#ccc;cursor:pointer;font-size:13px;transition:all .2s}.project-symbols-page .mode-tab:hover{background:#333;border-color:#555}.project-symbols-page .mode-tab.active{background:#3498db;border-color:#3498db;color:#fff}.project-symbols-page .draw-mode-content{margin-bottom:16px}.project-symbols-page .markup-tools-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:12px}.project-symbols-page .tools-label{color:#888;font-size:13px}.project-symbols-page .markup-tools{display:flex;gap:4px;flex-wrap:wrap}.project-symbols-page .markup-tool-btn{width:36px;height:36px;background:#2a2a2a;border:1px solid #444;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;color:#ccc}.project-symbols-page .markup-tool-btn:hover{background:#333;border-color:#555}.project-symbols-page .markup-tool-btn.active{background:#3498db;border-color:#3498db;color:#fff}.project-symbols-page .tool-icon{font-size:16px}.project-symbols-page .tool-properties{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.project-symbols-page .prop-group{display:flex;align-items:center;gap:6px}.project-symbols-page .prop-group label{color:#888;font-size:12px}.project-symbols-page .prop-group input[type=color]{width:28px;height:28px;padding:0;border:1px solid #444;border-radius:4px;cursor:pointer;background:transparent}.project-symbols-page .prop-group input[type=range]{width:60px;cursor:pointer}.project-symbols-page .prop-group span{color:#fff;font-size:12px;min-width:30px}.project-symbols-page .no-fill-btn{width:24px;height:24px;background:#2a2a2a;border:1px solid #444;border-radius:4px;color:#888;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center}.project-symbols-page .no-fill-btn.active{background:#e74c3c;border-color:#e74c3c;color:#fff}.project-symbols-page .text-input-row{display:flex;align-items:center;gap:12px;padding:8px 12px;background:#252525;border-radius:6px;margin-bottom:12px}.project-symbols-page .text-input-row label{color:#888;font-size:12px}.project-symbols-page .text-input-row input[type=text]{flex:1;padding:6px 10px;background:#2a2a2a;border:1px solid #444;border-radius:4px;color:#fff;font-size:13px}.project-symbols-page .text-input-row input[type=number]{width:60px;padding:6px 8px;background:#2a2a2a;border:1px solid #444;border-radius:4px;color:#fff;font-size:13px}.project-symbols-page .polyline-controls{display:flex;align-items:center;gap:12px;padding:8px 12px;background:#252525;border-radius:6px;margin-bottom:12px}.project-symbols-page .polyline-controls span{color:#888;font-size:13px}.project-symbols-page .polyline-controls button{padding:6px 12px;background:#3498db;border:none;border-radius:4px;color:#fff;font-size:12px;cursor:pointer}.project-symbols-page .polyline-controls button:hover{background:#2980b9}.project-symbols-page .polyline-controls button:disabled{opacity:.5;cursor:not-allowed}.project-symbols-page .extract-mode-content{margin-bottom:16px}.project-symbols-page .extract-instructions{color:#888;font-size:13px;margin-bottom:12px}.project-symbols-page .extraction-settings{display:flex;gap:20px;flex-wrap:wrap}.project-symbols-page .pdf-selection-row{display:flex;align-items:center;gap:12px;margin-bottom:16px}.project-symbols-page .pdf-selection-row label{color:#888;font-size:13px;white-space:nowrap}.project-symbols-page .searchable-dropdown{position:relative;flex:1;max-width:400px}.project-symbols-page .pdf-search-input{width:100%;padding:8px 32px 8px 12px;border:1px solid #444;border-radius:6px;font-size:13px;background:#2a2a2a;color:#fff;box-sizing:border-box}.project-symbols-page .pdf-search-input::placeholder{color:#888}.project-symbols-page .pdf-search-input:focus{outline:none;border-color:#3498db}.project-symbols-page .clear-pdf-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:#888;font-size:16px;cursor:pointer;padding:4px}.project-symbols-page .clear-pdf-btn:hover{color:#fff}.project-symbols-page .pdf-dropdown-list{position:absolute;top:100%;left:0;right:0;background:#2a2a2a;border:1px solid #444;border-radius:6px;margin-top:4px;max-height:300px;overflow-y:auto;z-index:100}.project-symbols-page .pdf-dropdown-item{padding:10px 12px;cursor:pointer;transition:background .15s;display:flex;flex-direction:column;gap:2px}.project-symbols-page .pdf-dropdown-item:hover{background:#333}.project-symbols-page .pdf-dropdown-item.selected{background:#3498db33}.project-symbols-page .pdf-item-name{color:#fff;font-size:13px}.project-symbols-page .pdf-item-folder{color:#888;font-size:11px}.project-symbols-page .pdf-dropdown-empty{padding:12px;color:#888;text-align:center;font-size:13px}.project-symbols-page .extraction-workspace{display:flex;gap:16px;flex:1;min-height:0}.project-symbols-page .pdf-viewer-section{flex:1;display:flex;flex-direction:column;background:#222;border-radius:8px;overflow:hidden;min-width:0}.project-symbols-page .pdf-viewer-header{display:flex;align-items:center;gap:16px;padding:8px 12px;background:#1a1a1a;border-bottom:1px solid #333}.project-symbols-page .page-info{color:#888;font-size:13px}.project-symbols-page .page-nav{display:flex;gap:4px}.project-symbols-page .page-nav button,.project-symbols-page .zoom-controls button{width:28px;height:28px;background:#2a2a2a;border:1px solid #444;border-radius:4px;color:#ccc;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px}.project-symbols-page .page-nav button:hover,.project-symbols-page .zoom-controls button:hover{background:#333;border-color:#555}.project-symbols-page .page-nav button:disabled{opacity:.5;cursor:not-allowed}.project-symbols-page .zoom-controls{display:flex;align-items:center;gap:8px;margin-left:auto}.project-symbols-page .zoom-controls span{color:#888;font-size:12px;min-width:45px;text-align:center}.project-symbols-page .pdf-canvas-container{flex:1;overflow:auto;background:#525659;display:flex;justify-content:center;align-items:flex-start;padding:20px;position:relative}.project-symbols-page .canvas-wrapper{position:relative;box-shadow:0 4px 20px #00000080}.project-symbols-page .pdf-canvas{display:block}.project-symbols-page .markup-overlay,.project-symbols-page .placement-overlay{pointer-events:none}.project-symbols-page .canvas-instructions{position:absolute;bottom:12px;left:50%;transform:translate(-50%);background:#000000b3;color:#fff;padding:6px 12px;border-radius:4px;font-size:12px}.project-symbols-page .creation-panel{width:280px;background:#222;border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:16px;overflow-y:auto}.project-symbols-page .creation-panel h3{color:#fff;margin:0;font-size:15px;font-weight:600}.project-symbols-page .symbol-name-input,.project-symbols-page .symbol-category-input{display:flex;flex-direction:column;gap:6px}.project-symbols-page .symbol-name-input label,.project-symbols-page .symbol-category-input label{color:#888;font-size:12px}.project-symbols-page .symbol-name-input input,.project-symbols-page .symbol-category-input input{padding:8px 12px;background:#2a2a2a;border:1px solid #444;border-radius:6px;color:#fff;font-size:13px}.project-symbols-page .symbol-name-input input:focus,.project-symbols-page .symbol-category-input input:focus{outline:none;border-color:#3498db}.project-symbols-page .markups-list{flex:1;min-height:0}.project-symbols-page .markups-list h4{color:#888;font-size:12px;margin:0 0 8px}.project-symbols-page .markup-item{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;background:#2a2a2a;border-radius:4px;margin-bottom:4px;cursor:pointer;transition:background .15s}.project-symbols-page .markup-item:hover{background:#333}.project-symbols-page .markup-item.selected{background:#3498db33;border-left:2px solid #3498db}.project-symbols-page .markup-type{color:#fff;font-size:12px;text-transform:capitalize}.project-symbols-page .delete-markup-btn{background:none;border:none;color:#888;cursor:pointer;font-size:14px;padding:2px 6px}.project-symbols-page .delete-markup-btn:hover{color:#e74c3c}.project-symbols-page .no-markups{color:#666;font-size:12px;text-align:center;padding:16px}.project-symbols-page .extraction-preview{display:flex;flex-direction:column;gap:12px}.project-symbols-page .extract-btn{padding:10px 16px;background:#3498db;border:none;border-radius:6px;color:#fff;font-size:13px;font-weight:600;cursor:pointer}.project-symbols-page .extract-btn:hover{background:#2980b9}.project-symbols-page .extract-btn:disabled{opacity:.5;cursor:not-allowed}.project-symbols-page .extracted-preview{background:#2a2a2a;border-radius:6px;padding:12px;text-align:center}.project-symbols-page .extracted-preview h4{color:#fff;font-size:12px;margin:0 0 8px}.project-symbols-page .extracted-preview img{max-width:100%;max-height:120px;background:#fff;border-radius:4px}.project-symbols-page .extracted-svg-preview{max-width:100%;max-height:150px;border:1px solid #444;border-radius:4px;background:#fff;padding:10px;display:flex;align-items:center;justify-content:center}.project-symbols-page .extracted-svg-preview svg{max-width:100%;max-height:130px}.project-symbols-page .shape-stats{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:10px 0}.project-symbols-page .shape-stat-badge{background:#2ecc71;color:#000;padding:3px 8px;border-radius:10px;font-size:11px;font-weight:500;text-transform:capitalize}.project-symbols-page .shape-stat-badge:nth-child(2){background:#3498db;color:#fff}.project-symbols-page .shape-stat-badge:nth-child(3){background:#9b59b6;color:#fff}.project-symbols-page .shape-stat-badge:nth-child(4){background:#e67e22;color:#fff}.project-symbols-page .shape-stat-badge:nth-child(5){background:#e74c3c;color:#fff}.project-symbols-page .bitmap-preview-toggle{margin-top:8px}.project-symbols-page .bitmap-preview-toggle summary{cursor:pointer;color:#888;font-size:11px}.project-symbols-page .bitmap-preview-toggle summary:hover{color:#fff}.project-symbols-page .bitmap-preview{margin-top:8px;opacity:.7}.project-symbols-page .extracted-preview p{color:#888;font-size:11px;margin:8px 0 0}.project-symbols-page .creation-actions{display:flex;flex-direction:column;gap:8px;margin-top:auto}.project-symbols-page .save-symbol-btn{padding:10px 16px;background:#27ae60;border:none;border-radius:6px;color:#fff;font-size:13px;font-weight:600;cursor:pointer}.project-symbols-page .save-symbol-btn:hover{background:#219a52}.project-symbols-page .clear-btn{padding:8px 12px;background:transparent;border:1px solid #444;border-radius:6px;color:#ccc;font-size:12px;cursor:pointer}.project-symbols-page .clear-btn:hover{background:#2a2a2a;border-color:#555}.project-symbols-page .no-pdf-selected{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;color:#666}.project-symbols-page .no-pdf-selected .empty-icon{font-size:48px;margin-bottom:12px}.project-symbols-page .no-pdf-selected p{font-size:14px}.project-symbols-page .test-symbol-view{display:flex;flex-direction:column;height:100%}.project-symbols-page .test-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.project-symbols-page .test-page-header h2{color:#fff;margin:0;font-size:20px}.project-symbols-page .back-to-symbol-btn{background:#333;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:13px;cursor:pointer;transition:background .2s}.project-symbols-page .back-to-symbol-btn:hover{background:#444}.project-symbols-page .test-workspace{display:flex;gap:16px;flex:1;min-height:0}.project-symbols-page .placement-panel{width:260px;background:#222;border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:12px;overflow-y:auto}.project-symbols-page .placement-panel h3{color:#fff;margin:0;font-size:14px}.project-symbols-page .placement-symbol-preview{background:#1a1a1a;border:1px solid #333;border-radius:6px;padding:12px;display:flex;align-items:center;justify-content:center;min-height:80px}.project-symbols-page .preview-svg,.project-symbols-page .preview-img{max-width:100%;max-height:80px}.project-symbols-page .preview-svg svg{width:80px;height:80px}.project-symbols-page .preview-placeholder{color:#666;font-size:12px}.project-symbols-page .setting-row{display:flex;align-items:center;gap:8px}.project-symbols-page .setting-row label{color:#888;font-size:12px;min-width:60px}.project-symbols-page .setting-row input[type=range]{flex:1;cursor:pointer}.project-symbols-page .setting-value{color:#fff;font-size:12px;min-width:45px;text-align:right}.project-symbols-page .color-row input[type=color]{width:32px;height:24px;padding:0;border:1px solid #444;border-radius:4px;cursor:pointer;background:transparent}.project-symbols-page .color-row input[type=color]:disabled{opacity:.5;cursor:not-allowed}.project-symbols-page .checkbox-label{display:flex;align-items:center;gap:4px;color:#888;font-size:12px;cursor:pointer}.project-symbols-page .checkbox-label input[type=checkbox]{cursor:pointer}.project-symbols-page .color-presets-row{flex-wrap:wrap}.project-symbols-page .color-presets-row label{width:100%;margin-bottom:6px}.project-symbols-page .color-presets{display:flex;gap:6px;flex-wrap:wrap}.project-symbols-page .color-preset-btn{width:28px;height:28px;border:2px solid #444;border-radius:4px;cursor:pointer;padding:0;transition:transform .1s,border-color .15s,box-shadow .15s;display:flex;align-items:center;justify-content:center;font-size:14px;color:#888}.project-symbols-page .color-preset-btn:hover{transform:scale(1.1);border-color:#666}.project-symbols-page .color-preset-btn.active{border-color:#fff;box-shadow:0 0 0 2px #2ecc7180}.project-symbols-page .color-preset-btn.original{background:linear-gradient(135deg,#666 25%,#444 25% 50%,#666 50% 75%,#444 75%);background-size:8px 8px}.project-symbols-page .placement-mode-toggle{margin-top:8px}.project-symbols-page .mode-btn{width:100%;padding:10px 16px;border:1px solid #444;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;background:#333;color:#fff}.project-symbols-page .mode-btn:hover{background:#444}.project-symbols-page .mode-btn.active{background:#27ae60;border-color:#27ae60;color:#fff}.project-symbols-page .placed-count{display:flex;flex-direction:column;gap:2px;text-align:center;color:#888;font-size:12px;padding:8px;background:#1a1a1a;border-radius:4px}.project-symbols-page .export-markups-btn{padding:10px 16px;background:#3498db;border:none;border-radius:6px;color:#fff;font-size:13px;cursor:pointer}.project-symbols-page .export-markups-btn:hover{background:#2980b9}.project-symbols-page .clear-all-btn{background:#e74c3c;color:#fff;border:none;padding:10px 16px;border-radius:6px;font-size:13px;cursor:pointer;transition:background .2s}.project-symbols-page .clear-all-btn:hover{background:#c0392b}.project-symbols-page .editable-markups-section{background:#1a1a1a;border-radius:6px;padding:12px;margin-top:8px}.project-symbols-page .editable-markups-section h4{color:#fff;font-size:13px;margin:0 0 10px;font-weight:600}.project-symbols-page .selected-markup-props{display:flex;flex-direction:column;gap:8px;padding:10px;background:#252525;border-radius:6px;border:1px solid #3498db}.project-symbols-page .selected-markup-props .prop-row{display:flex;align-items:center;gap:8px}.project-symbols-page .selected-markup-props .prop-row label{color:#888;font-size:11px;min-width:50px}.project-symbols-page .selected-markup-props .prop-row .prop-value{color:#fff;font-size:12px;text-transform:capitalize}.project-symbols-page .selected-markup-props .prop-row input[type=color]{width:28px;height:22px;padding:0;border:1px solid #444;border-radius:4px;cursor:pointer;background:transparent}.project-symbols-page .selected-markup-props .prop-row input[type=range]{flex:1;cursor:pointer}.project-symbols-page .selected-markup-props .prop-row span{color:#fff;font-size:11px;min-width:30px}.project-symbols-page .selected-markup-props .delete-markup-btn{margin-top:6px;padding:8px 12px;background:#e74c3c;border:none;border-radius:4px;color:#fff;font-size:12px;cursor:pointer}.project-symbols-page .selected-markup-props .delete-markup-btn:hover{background:#c0392b}.project-symbols-page .no-markups-hint{color:#666;font-size:12px;text-align:center;padding:8px;margin:0}.project-symbols-page .legacy-symbols-section{margin-top:12px;padding-top:12px;border-top:1px solid #333}.project-symbols-page .legacy-symbols-section h4{color:#888;font-size:12px;margin:0 0 8px}.project-symbols-page .selection-handles rect[data-handle]{transition:fill .15s}.project-symbols-page .selection-handles rect[data-handle]:hover{fill:#3498db}.project-symbols-page .symbol-details{max-width:600px;margin:0 auto}.project-symbols-page .symbol-details h2{color:#fff;margin:0 0 8px}.project-symbols-page .symbol-category-badge{display:inline-block;background:#333;color:#888;padding:4px 12px;border-radius:12px;font-size:12px;margin-bottom:24px}.project-symbols-page .symbol-detail-preview{background:#222;border:1px solid #333;border-radius:8px;padding:24px;display:flex;align-items:center;justify-content:center;margin-bottom:24px;min-height:200px}.project-symbols-page .symbol-detail-svg{width:200px;height:200px;display:flex;align-items:center;justify-content:center}.project-symbols-page .symbol-detail-svg svg{width:100%;height:100%}.project-symbols-page .symbol-detail-img{max-width:200px;max-height:200px;background:#fff;border-radius:4px}.project-symbols-page .symbol-placeholder{color:#666}.project-symbols-page .symbol-detail-stats{display:flex;gap:24px;margin-bottom:24px;flex-wrap:wrap}.project-symbols-page .detail-stat{display:flex;gap:8px}.project-symbols-page .detail-stat .stat-label{color:#888;font-size:13px}.project-symbols-page .detail-stat .stat-value{color:#fff;font-size:13px;font-weight:600}.project-symbols-page .symbol-actions{display:flex;gap:12px}.project-symbols-page .test-symbol-btn{background:#3498db;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:13px;cursor:pointer;transition:background .2s}.project-symbols-page .test-symbol-btn:hover{background:#2980b9}.project-symbols-page .delete-symbol-btn{background:#e74c3c;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:13px;cursor:pointer;transition:background .2s}.project-symbols-page .delete-symbol-btn:hover{background:#c0392b}.project-symbols-page .placed-symbol{cursor:pointer;transition:opacity .2s}.project-symbols-page .placed-symbol:hover{opacity:.7}.project-symbols-page .symbols-list::-webkit-scrollbar,.project-symbols-page .creation-panel::-webkit-scrollbar,.project-symbols-page .placement-panel::-webkit-scrollbar{width:8px}.project-symbols-page .symbols-list::-webkit-scrollbar-track,.project-symbols-page .creation-panel::-webkit-scrollbar-track,.project-symbols-page .placement-panel::-webkit-scrollbar-track{background:#2a2a2a;border-radius:4px}.project-symbols-page .symbols-list::-webkit-scrollbar-thumb,.project-symbols-page .creation-panel::-webkit-scrollbar-thumb,.project-symbols-page .placement-panel::-webkit-scrollbar-thumb{background:#555;border-radius:4px}.project-symbols-page .symbols-list::-webkit-scrollbar-thumb:hover,.project-symbols-page .creation-panel::-webkit-scrollbar-thumb:hover,.project-symbols-page .placement-panel::-webkit-scrollbar-thumb:hover{background:#666}.project-symbols-page .loading{display:flex;align-items:center;justify-content:center;height:100vh;font-size:1.2rem;color:#666}.project-symbols-page .cleanup-modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.project-symbols-page .cleanup-modal{background:#1e1e1e;border-radius:12px;width:90%;max-width:1000px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080;border:1px solid #333}.project-symbols-page .cleanup-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #333}.project-symbols-page .cleanup-modal-header h3{margin:0;color:#fff;font-size:18px;font-weight:600}.project-symbols-page .close-modal-btn{background:none;border:none;color:#888;font-size:28px;cursor:pointer;padding:0;line-height:1;transition:color .15s}.project-symbols-page .close-modal-btn:hover{color:#fff}.project-symbols-page .cleanup-modal-body{display:flex;flex:1;overflow:hidden;padding:20px;gap:20px}.project-symbols-page .cleanup-modal .cleanup-canvas-container{flex:1;background:#fff;border:2px solid #444;border-radius:8px;display:flex;align-items:center;justify-content:center;overflow:auto;min-height:400px;background-image:linear-gradient(45deg,#ddd 25%,transparent 25%),linear-gradient(-45deg,#ddd 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ddd 75%),linear-gradient(-45deg,transparent 75%,#ddd 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0px}.project-symbols-page .cleanup-modal .cleanup-canvas{max-width:100%;max-height:100%;object-fit:contain}.project-symbols-page .cleanup-tools-panel{width:280px;flex-shrink:0;display:flex;flex-direction:column;gap:16px;overflow-y:auto}.project-symbols-page .tool-section{background:#252525;border-radius:8px;padding:12px}.project-symbols-page .tool-section label{display:block;color:#aaa;font-size:12px;margin-bottom:8px;font-weight:500}.project-symbols-page .symbol-name-input{width:100%;padding:8px 10px;background:#333;border:1px solid #444;border-radius:4px;color:#fff;font-size:13px}.project-symbols-page .symbol-name-input:focus{outline:none;border-color:#2ecc71}.project-symbols-page .tool-buttons{display:flex;gap:8px}.project-symbols-page .tool-btn{flex:1;padding:10px;background:#333;border:1px solid #444;border-radius:6px;color:#ccc;font-size:12px;cursor:pointer;transition:all .15s}.project-symbols-page .tool-btn:hover{background:#444;color:#fff}.project-symbols-page .tool-btn.active{background:#2ecc71;border-color:#27ae60;color:#000}.project-symbols-page .tool-section input[type=range]{width:100%;height:6px;background:#333;border-radius:3px;outline:none;-webkit-appearance:none;margin-top:4px}.project-symbols-page .tool-section input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:#2ecc71;border-radius:50%;cursor:pointer}.project-symbols-page .cleanup-actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.project-symbols-page .cleanup-actions-grid button{padding:8px 6px;background:#333;border:1px solid #444;border-radius:4px;color:#ccc;font-size:11px;cursor:pointer;transition:all .15s}.project-symbols-page .cleanup-actions-grid button:hover{background:#444;color:#fff;border-color:#555}.project-symbols-page .recolor-row{display:flex;gap:8px;margin-bottom:10px}.project-symbols-page .color-picker-large{width:50px;height:36px;border:none;border-radius:4px;cursor:pointer;padding:0}.project-symbols-page .apply-color-btn{flex:1;padding:8px;background:#444;border:1px solid #555;border-radius:4px;color:#fff;font-size:12px;cursor:pointer}.project-symbols-page .apply-color-btn:hover{background:#555}.project-symbols-page .preset-colors-large{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.project-symbols-page .preset-color-large{width:100%;height:28px;border:2px solid #444;border-radius:4px;cursor:pointer;padding:0;transition:transform .1s,border-color .1s}.project-symbols-page .preset-color-large:hover{transform:scale(1.05);border-color:#fff}.project-symbols-page .cleanup-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid #333}.project-symbols-page .cleanup-modal-footer .cancel-btn{padding:10px 20px;background:#444;border:none;border-radius:6px;color:#ccc;font-size:14px;cursor:pointer}.project-symbols-page .cleanup-modal-footer .cancel-btn:hover{background:#555;color:#fff}.project-symbols-page .cleanup-modal-footer .save-symbol-btn{padding:10px 24px;background:#27ae60;border:none;border-radius:6px;color:#fff;font-size:14px;font-weight:500;cursor:pointer}.project-symbols-page .cleanup-modal-footer .save-symbol-btn:hover{background:#2ecc71}.project-symbols-page .cleanup-editor{background:#252525;border-radius:8px;padding:16px;margin-top:12px}.project-symbols-page .cleanup-editor h4{color:#fff;font-size:14px;margin:0 0 12px;font-weight:600}.project-symbols-page .cleanup-canvas-container{background:#fff;border:2px solid #444;border-radius:6px;padding:8px;margin-bottom:12px;display:flex;justify-content:center;align-items:center;max-height:200px;overflow:auto}.project-symbols-page .cleanup-canvas{max-width:100%;max-height:180px;object-fit:contain;background-image:linear-gradient(45deg,#ccc 25%,transparent 25%),linear-gradient(-45deg,#ccc 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ccc 75%),linear-gradient(-45deg,transparent 75%,#ccc 75%);background-size:10px 10px;background-position:0 0,0 5px,5px -5px,-5px 0px}.project-symbols-page .cleanup-tools{margin-bottom:12px}.project-symbols-page .cleanup-tools .tool-group{margin-bottom:10px}.project-symbols-page .cleanup-tools .tool-group label{display:block;color:#aaa;font-size:11px;margin-bottom:4px}.project-symbols-page .cleanup-tools .tool-buttons{display:flex;gap:6px}.project-symbols-page .cleanup-tools .tool-btn{padding:6px 10px;background:#333;border:1px solid #444;border-radius:4px;color:#ccc;font-size:12px;cursor:pointer;transition:all .15s}.project-symbols-page .cleanup-tools .tool-btn:hover{background:#444;color:#fff}.project-symbols-page .cleanup-tools .tool-btn.active{background:#2ecc71;border-color:#27ae60;color:#000}.project-symbols-page .cleanup-tools input[type=range]{width:100%;height:6px;background:#333;border-radius:3px;outline:none;-webkit-appearance:none}.project-symbols-page .cleanup-tools input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:#2ecc71;border-radius:50%;cursor:pointer}.project-symbols-page .cleanup-actions{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.project-symbols-page .cleanup-actions button{padding:6px 10px;background:#333;border:1px solid #444;border-radius:4px;color:#ccc;font-size:11px;cursor:pointer;transition:all .15s}.project-symbols-page .cleanup-actions button:hover{background:#444;color:#fff;border-color:#555}.project-symbols-page .cleanup-recolor{margin-bottom:12px;padding:10px;background:#333;border-radius:6px}.project-symbols-page .cleanup-recolor label{display:block;color:#aaa;font-size:11px;margin-bottom:6px}.project-symbols-page .recolor-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.project-symbols-page .recolor-controls .color-picker{width:36px;height:28px;border:none;border-radius:4px;cursor:pointer;padding:0}.project-symbols-page .recolor-controls button{padding:6px 10px;background:#444;border:1px solid #555;border-radius:4px;color:#ccc;font-size:11px;cursor:pointer}.project-symbols-page .recolor-controls button:hover{background:#555;color:#fff}.project-symbols-page .preset-colors{display:flex;gap:4px}.project-symbols-page .preset-color{width:22px;height:22px;border:2px solid #555;border-radius:4px;cursor:pointer;padding:0;transition:transform .1s,border-color .1s}.project-symbols-page .preset-color:hover{transform:scale(1.15);border-color:#fff}.project-symbols-page .cleanup-save-actions{display:flex;gap:8px;margin-top:12px}.project-symbols-page .cleanup-save-actions .save-symbol-btn{flex:1;padding:10px;background:#27ae60;border:none;border-radius:6px;color:#fff;font-size:13px;font-weight:500;cursor:pointer}.project-symbols-page .cleanup-save-actions .save-symbol-btn:hover{background:#2ecc71}.project-symbols-page .cleanup-save-actions .cancel-btn{padding:10px 16px;background:#444;border:none;border-radius:6px;color:#ccc;font-size:13px;cursor:pointer}.project-symbols-page .cleanup-save-actions .cancel-btn:hover{background:#555;color:#fff}@media(max-width:1200px){.project-symbols-page .extraction-workspace,.project-symbols-page .test-workspace{flex-direction:column}.project-symbols-page .creation-panel,.project-symbols-page .placement-panel{width:100%;max-height:300px}}.project-vectorisation-page{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden;background:#1a1a1a;position:fixed;inset:0}body:has(.project-vectorisation-page){overflow:hidden}.project-vectorisation-page button:focus,.project-vectorisation-page input:focus{outline:none}.vec-header{background:#000;padding:.6rem 1rem;display:flex;align-items:center;gap:.75rem;flex-shrink:0;border-bottom:1px solid rgba(255,255,255,.15)}.vec-panel-toolbar{display:flex;align-items:center;justify-content:space-between;padding:4px 12px;height:45.5px;background:#000;border-bottom:1px solid rgba(255,255,255,.15);flex-shrink:0}.vec-panel-toolbar button{padding:4px 8px;font-size:15px;background:transparent;color:#fff;border:none;border-radius:0;outline:none;transition:color .15s}.vec-panel-toolbar button:hover{background:#ffffff14;color:#fff}.vec-panel-toolbar button.active,.vec-panel-toolbar button.open{color:#3498db;background:transparent;outline:none}.vec-panel-toolbar button:focus,.vec-panel-toolbar button:focus-visible{outline:none;box-shadow:none}.vec-panel-toolbar-left{display:flex;align-items:center;gap:8px}.vec-panel-toolbar-right{display:flex;align-items:center;gap:2px}.vec-tools-toolbar{display:flex;align-items:center;justify-content:center;gap:10px;padding:6px 12px;background:#1a1a1a;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0;z-index:50}.vec-tools-toolbar-group{display:flex;align-items:center;gap:2px}.vec-tb-btn{position:relative;background:transparent;color:#ffffffb3;border:none;padding:4px 8px;border-radius:4px;cursor:pointer;font-size:13px;transition:all .15s ease;min-width:28px;outline:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.vec-tb-label{font-size:9px;font-weight:500;letter-spacing:.3px;opacity:.7;line-height:1}.vec-tb-btn svg{stroke-width:2.2}.vec-tb-btn:hover{color:#5dade2}.vec-tb-btn.active{color:#3498db;background:#3498db1a}.vec-tb-btn:disabled{opacity:.3;cursor:not-allowed}.vec-tb-btn:disabled:hover{color:#ffffffb3}.vec-tb-divider{width:1px;height:18px;background:#ffffff1a;margin:0 2px;flex-shrink:0}.vec-panel-toggle-btn{display:inline-flex;align-items:center;padding:4px 8px;font-size:15px;background:transparent;color:#fff;border:none;border-radius:0;cursor:pointer;transition:color .15s;outline:none;white-space:nowrap}.vec-panel-toggle-btn:hover{background:#ffffff14;color:#fff}.vec-panel-toggle-btn.active{background:transparent;color:#3498db}.vec-panel-toggle-btn:focus,.vec-panel-toggle-btn:focus-visible{outline:none;box-shadow:none}.vec-body{flex:1;display:flex;min-height:0;overflow:hidden}.vec-sidebar{width:320px;min-width:320px;max-width:500px;background:#1a1a1a;display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;position:relative;cursor:default}.vec-sidebar ::selection{background:transparent}.vec-sidebar *{-webkit-tap-highlight-color:transparent}.vec-sidebar-header{display:flex;align-items:center;justify-content:flex-start;padding:4px 12px;background:#000;flex-shrink:0;min-height:45.5px;box-sizing:border-box;border-bottom:1px solid rgba(255,255,255,.15)}.vec-sidebar-title{color:#fff;font-size:12px;font-weight:500;display:flex;align-items:center;gap:6px;padding:4px 8px;white-space:nowrap}.vec-sidebar-count{font-size:11px;font-weight:500;color:#888;flex-shrink:0}.vec-sidebar-search-row{display:flex;align-items:center;justify-content:space-between;padding:4px 12px;background:#1a1a1a;flex-shrink:0;min-height:41px;box-sizing:border-box}.vec-sidebar-search{position:relative;display:flex;align-items:center;flex:1}.vec-search-icon{position:absolute;left:8px;top:50%;transform:translateY(-50%);color:#555;pointer-events:none}.vec-sidebar-search input{width:100%;padding:4px 24px 4px 28px;border:none;border-radius:3px;font-size:13px;box-sizing:border-box;background:#333;color:#fff;height:24px;outline:none}.vec-sidebar-search input::placeholder{color:#888}.vec-sidebar-search input:focus{outline:none;background:#3a3a3a}.vec-search-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:#555;color:#fff;border:none;border-radius:50%;width:14px;height:14px;font-size:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;line-height:1}.vec-search-clear:hover{background:#777}.vec-sidebar-list{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px 0;background:#1a1a1a;min-height:120px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.vec-sidebar-list::-webkit-scrollbar{width:5px}.vec-sidebar-list::-webkit-scrollbar-track{background:transparent}.vec-sidebar-list::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.vec-sidebar-list::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.vec-sidebar-empty{text-align:center;color:#999;font-size:14px;padding:2rem 1rem}.vec-breadcrumb-row{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 8px;background:#1a1a1a;flex-shrink:0;box-sizing:border-box}.vec-breadcrumb{display:flex;align-items:center;gap:0;overflow:hidden;width:100%;flex-wrap:nowrap}.vec-breadcrumb-item{display:flex;align-items:center;min-width:0;flex-shrink:1}.vec-breadcrumb-item:first-child{flex-shrink:0}.vec-breadcrumb-home{width:32px;height:32px;color:#fff;cursor:pointer;padding:4px;border-radius:4px;transition:all .15s}.vec-breadcrumb-item:hover .vec-breadcrumb-home{background:#444}.vec-breadcrumb-item.active .vec-breadcrumb-home{color:#fff}.vec-breadcrumb-arrow{color:#666;font-size:16px;margin:0 2px;flex-shrink:0}.vec-breadcrumb-folder{color:#888;font-size:16px;font-weight:500;cursor:pointer;padding:3px 6px;border-radius:4px;transition:all .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vec-breadcrumb-folder:hover{background:#444;color:#fff}.vec-breadcrumb-folder.active{color:#fff;font-weight:500}.vec-breadcrumb-ellipsis{color:#666;font-size:12px;padding:3px 4px;cursor:default}.vec-folder-row{display:flex;align-items:center;gap:7px;padding:5px 12px;cursor:pointer;transition:background .15s;border-bottom:1px solid #333;outline:none;-webkit-user-select:none;user-select:none;background:#1a1a1a}.vec-folder-row:hover{background:#333}.vec-folder-row:last-of-type{border-bottom:none}.vec-folder-row-icon{flex-shrink:0;width:20px;height:20px}.vec-folder-row-icon svg{width:100%;height:100%}.vec-folder-row-text{flex:1;min-width:0;display:flex;flex-direction:column}.vec-folder-row-name{font-size:14px;font-weight:500;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vec-folder-row-count{font-size:11px;color:#888;font-style:italic}.vec-folder-row-twin-dot{width:6px;height:6px;border-radius:50%;background:#2ecc71;flex-shrink:0}.vec-folder-row-chevron{width:16px;height:16px;color:#ccc;flex-shrink:0;transition:color .15s}.vec-folder-row:hover .vec-folder-row-chevron{color:#666}.vec-file-item{padding:10px 12px;display:flex;align-items:center;gap:10px;cursor:pointer;transition:background .15s;border-bottom:1px solid #333;outline:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#1a1a1a}.vec-file-item:hover{background:#333}.vec-file-item:last-child{border-bottom:none}.vec-file-item.selected{background:#1a1a1a}.vec-file-item.selected .vec-file-name{font-weight:600;color:#3498db}.vec-file-icon{flex-shrink:0;font-size:16px}.vec-file-item.selected .vec-file-icon{color:#3498db}.vec-file-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.vec-file-name{flex:1;font-size:14px;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vec-file-folder{font-size:11px;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vec-file-twin-dot{width:6px;height:6px;border-radius:50%;background:#2ecc71;flex-shrink:0;margin-left:auto}.vec-main{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden;background:#1a1a1a}.vec-content{flex:1;display:flex;flex-direction:column;min-height:0}.vec-content-header{display:flex;align-items:center;padding:6px 14px;border-bottom:1px solid #2a2a2a;background:#222;flex-shrink:0;gap:10px}.vec-back-to-canvas-btn{background:none;border:1px solid #555;border-radius:4px;padding:3px 5px;cursor:pointer;color:#aaa;display:flex;align-items:center;justify-content:center;margin-right:4px}.vec-back-to-canvas-btn:hover{background:#3498db26;border-color:#3498db;color:#3498db}.vec-header-info{flex:1;min-width:0;display:flex;align-items:center;gap:6px}.vec-header-title{font-size:13px;font-weight:500;color:#ccc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vec-header-page{font-size:11px;color:#888;margin-top:1px}.vec-header-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.vec-select-area-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;background:#333;border:1px solid #444;border-radius:6px;color:#ccc;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.vec-select-area-btn:hover{background:#3a3a3a;border-color:#3498db;color:#fff}.vec-select-area-btn.active{background:#3498db;border-color:#3498db;color:#fff}.vec-line-draw-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;background:#333;border:1px solid #444;border-radius:6px;color:#ccc;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.vec-line-draw-btn:hover{background:#3a3a3a;border-color:#2ecc71;color:#fff}.vec-line-draw-btn.active{background:#27ae60;border-color:#2ecc71;color:#fff}.vec-line-width-control{display:flex;align-items:center;gap:4px;font-size:11px;color:#aaa}.vec-line-width-control label{font-weight:600;white-space:nowrap}.vec-line-width-control input[type=number]{width:48px;padding:3px 4px;background:#2a2a2a;border:1px solid #444;border-radius:4px;color:#fff;font-size:11px;text-align:center}.vec-snip-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;background:#333;border:1px solid #444;border-radius:6px;color:#ccc;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.vec-snip-btn:hover{background:#3a3a3a;border-color:#e67e22;color:#fff}.vec-snip-btn.active{background:#e67e22;border-color:#e67e22;color:#fff}.vec-snip-confirm-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;background:#27ae60;border:1px solid #27ae60;border-radius:6px;color:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.vec-snip-confirm-btn:hover{background:#2ecc71;border-color:#2ecc71}.vec-snip-undo-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#333;border:1px solid #444;border-radius:6px;color:#ccc;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}.vec-snip-undo-btn:hover{background:#3a3a3a;border-color:#666;color:#fff}.vec-snip-combine-toggle{display:flex;align-items:center;padding:6px 12px;background:#333;border:1px solid #555;border-radius:6px;color:#aaa;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}.vec-snip-combine-toggle:hover{background:#3a3a3a;border-color:#888;color:#fff}.vec-snip-combine-toggle.active{background:#2c3e50;border-color:#5dade2;color:#5dade2}.vec-combine-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;background:#2980b9;border:1px solid #2980b9;border-radius:6px;color:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.vec-combine-btn:hover{background:#3498db;border-color:#3498db}.vec-clear-btn{padding:6px 12px;background:none;border:1px solid #444;border-radius:6px;color:#888;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}.vec-clear-btn:hover{border-color:#e74c3c;color:#e74c3c}.vec-gate-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;background:#333;border:1px solid #444;border-radius:6px;color:#ccc;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.vec-gate-btn:hover{background:#3a3a3a;border-color:#9b59b6;color:#fff}.vec-gate-btn.active{background:#9b59b6;border-color:#9b59b6;color:#fff}.vec-gate-popup{position:absolute;z-index:20;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:8px;padding:10px;width:260px;box-shadow:0 8px 32px #0000008c,0 0 0 1px #ffffff08 inset;color:#dfe6e9;font-size:11px;cursor:grab;-webkit-user-select:none;user-select:none}.vec-gate-popup.vec-gate-popup-lg{width:320px;padding:14px;font-size:12px}.vec-gate-popup button,.vec-gate-popup input,.vec-gate-popup select{cursor:pointer}.vec-gate-popup input[type=text],.vec-gate-popup .vec-gate-name-input,.vec-gate-popup .vec-popup-title-input{cursor:text}.vec-popup-title-row{display:flex;align-items:center;gap:8px;margin-bottom:10px}.vec-popup-title-input{flex:1;min-width:0;background:transparent;border:none;color:#fff;padding:4px 2px;font-size:16px;font-weight:700;letter-spacing:.3px}.vec-popup-title-input:focus{outline:none}.vec-popup-title-input::placeholder{color:#555d60}.vec-popup-btn-row{display:flex;gap:6px;margin-bottom:10px}.vec-popup-white-btn{flex:1;padding:7px 0;border:1px solid #333;border-radius:5px;background:#222;color:#ccc;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;text-align:center}.vec-popup-white-btn:hover{background:#2a2a2a;border-color:#444;color:#fff}.vec-popup-white-btn.active-green,.vec-popup-white-btn.active-red,.vec-popup-white-btn.active-amber{color:#3498db;border-color:#3498db66;background:#ffffff14}.vec-popup-white-btn.active-green:hover,.vec-popup-white-btn.active-red:hover,.vec-popup-white-btn.active-amber:hover{color:#5dade2;border-color:#3498db99;background:#ffffff1f}.vec-popup-collapse-section{margin-bottom:4px;border:1px solid #2a2a2a;border-radius:5px;background:#222;overflow:hidden}.vec-popup-collapse-header{display:flex;align-items:center;gap:6px;padding:7px 8px;cursor:pointer;transition:background .12s;-webkit-user-select:none;user-select:none}.vec-popup-collapse-header:hover{background:#2a2a2a}.vec-popup-collapse-header>span{font-size:11px;font-weight:700;color:#b2bec3;letter-spacing:.3px}.vec-popup-collapse-body{padding:4px 8px 8px;border-top:1px solid #2a2a2a}.vec-popup-sub-section{margin-bottom:6px}.vec-popup-sub-section:last-child{margin-bottom:0}.vec-popup-sub-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:3px}.vec-popup-sub-header>span{font-size:9px;font-weight:600;color:#636e72;text-transform:uppercase;letter-spacing:.5px}.vec-gate-popup-header{display:flex;align-items:center;gap:5px;margin-bottom:6px}.vec-gate-name-input{flex:1;min-width:0;background:#353b3e;border:1px solid transparent;border-bottom:2px solid #636e72;border-radius:4px 4px 0 0;color:#dfe6e9;padding:5px 8px;font-size:12px;font-weight:600;transition:border-color .15s}.vec-gate-name-input:focus{outline:none;border-bottom-color:#74b9ff;background:#3d4448}.vec-gate-name-input::placeholder{color:#636e72}.vec-popup-action-btn{padding:4px 7px;border:1px solid #3d4448;border-radius:4px;font-size:9px;font-weight:700;letter-spacing:.5px;cursor:pointer;transition:all .15s;background:#3d4448;color:#b2bec3;line-height:1;flex-shrink:0}.vec-popup-action-btn:hover{background:#4a5459;color:#dfe6e9}.vec-popup-action-btn.run.active{background:#00b894;border-color:#00b894;color:#fff}.vec-popup-action-btn.run.active:hover{background:#00cca3}.vec-popup-action-btn.stop.active{background:#d63031;border-color:#d63031;color:#fff}.vec-popup-action-btn.stop.active:hover{background:#e74c3c}.vec-popup-action-btn.bypass.active{background:#fdcb6e;border-color:#fdcb6e;color:#2d3436}.vec-popup-action-btn.bypass.active:hover{background:#ffeaa7}.vec-popup-action-btn.type-icon{padding:4px 5px;display:inline-flex;align-items:center;justify-content:center}.vec-popup-action-btn.type-icon.active-type{background:#e67e22;border-color:#e67e22;color:#fff}.vec-popup-action-btn.type-icon.passive-type{background:#9b59b6;border-color:#9b59b6;color:#fff}.vec-gate-popup-close{background:none;border:none;color:#636e72;font-size:16px;cursor:pointer;padding:0 2px;line-height:1;flex-shrink:0}.vec-gate-popup-close:hover{color:#dfe6e9}.vec-popup-desc-input{width:100%;background:#222;border:1px solid #2a2a2a;border-radius:5px;color:#dfe6e9;padding:8px 10px;font-size:13px;margin-bottom:10px;transition:border-color .15s;box-sizing:border-box}.vec-popup-desc-input:focus{outline:none;border-color:#74b9ff;color:#dfe6e9}.vec-popup-desc-input::placeholder{color:#555d60}.vec-popup-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.vec-popup-section{margin-bottom:5px;padding:6px;background:#252a2c;border-radius:5px;border:1px solid #3d4448}.vec-popup-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.vec-popup-section-header>span{font-size:9px;font-weight:700;color:#636e72;text-transform:uppercase;letter-spacing:.8px}.vec-popup-section-actions{display:flex;gap:2px}.vec-popup-add-btn{background:#3d4448;border:1px solid #4a5459;border-radius:3px;color:#b2bec3;padding:1px 5px;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;font-size:11px}.vec-popup-add-btn:hover{border-color:#a29bfe;color:#a29bfe}.vec-popup-add-btn.active{background:#a29bfe26;border-color:#a29bfe;color:#a29bfe;animation:vec-assign-pulse 1.5s ease-in-out infinite}.vec-popup-empty{color:#4a5459;font-size:10px;font-style:italic;padding:2px 0}.vec-popup-assign-hint{font-size:10px;color:#a29bfe;padding:2px 0;animation:vec-assign-pulse 1.5s ease-in-out infinite}.vec-popup-actions-row{display:flex;align-items:center;gap:4px;margin-bottom:6px;padding:4px 0}.vec-popup-type-btn{background:#3d4448;border:1px solid #4a5459;border-radius:4px;color:#b2bec3;padding:4px 8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.vec-popup-type-btn:hover{border-color:#74b9ff;color:#dfe6e9}.vec-popup-type-btn.active{color:#fff}.vec-popup-bypass-btn{background:#3d4448;border:1px solid #4a5459;border-radius:4px;color:#b2bec3;padding:4px 8px;cursor:pointer;font-size:10px;font-weight:700;transition:all .15s}.vec-popup-bypass-btn:hover{border-color:#fdcb6e;color:#fdcb6e}.vec-popup-bypass-btn.active{background:#fdcb6e;border-color:#fdcb6e;color:#2d3436}.vec-gate-connection-item{display:flex;align-items:center;gap:5px;margin-bottom:2px;padding:3px 4px;border-radius:3px;cursor:pointer;transition:background .12s}.vec-gate-connection-item:hover,.vec-gate-connection-item.hovered{background:#3d4448}.vec-gate-conn-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.vec-gate-conn-label{font-size:10px;color:#b2bec3;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vec-gate-conn-remove{background:none;border:none;color:#555d60;font-size:13px;cursor:pointer;padding:0 2px;line-height:1;flex-shrink:0;opacity:0;transition:opacity .12s,color .12s}.vec-gate-connection-item:hover .vec-gate-conn-remove{opacity:1}.vec-gate-conn-remove:hover{color:#ff7675}@keyframes vec-assign-pulse{0%,to{border-color:#a29bfe}50%{border-color:#6c5ce7;background:#a29bfe33}}.vec-popup-browse-row{display:flex;gap:4px;margin-bottom:4px}.vec-popup-browse-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;background:#3d4448;border:1px solid #4a5459;border-radius:4px;color:#b2bec3;font-size:10px;padding:4px 8px;cursor:pointer;transition:all .15s}.vec-popup-browse-btn:hover{border-color:#a29bfe;color:#a29bfe}.vec-popup-picker{margin-bottom:4px;padding:6px;background:#1e2324;border-radius:5px;border:1px solid #3d4448}.vec-popup-picker-label{font-size:10px;color:#636e72;margin-bottom:4px}.vec-popup-picker-list{max-height:100px;overflow-y:auto;margin-bottom:4px}.vec-popup-picker-item{display:block;width:100%;text-align:left;background:#353b3e;border:1px solid transparent;border-radius:3px;color:#b2bec3;font-size:10px;padding:3px 6px;margin-bottom:2px;cursor:pointer;transition:all .12s}.vec-popup-picker-item:hover{background:#a29bfe26;border-color:#a29bfe;color:#fff}.vec-popup-picker-cancel{background:#353b3e;border:1px solid #4a5459;border-radius:3px;color:#b2bec3;font-size:10px;padding:3px 8px;cursor:pointer;transition:all .12s}.vec-popup-picker-cancel:hover{color:#dfe6e9}.vec-gate-delete-btn{width:100%;padding:5px;background:#353b3e;border:1px solid #3d4448;border-radius:4px;color:#636e72;font-size:10px;cursor:pointer;transition:all .15s;margin-top:6px}.vec-gate-delete-btn:hover{border-color:#ff7675;color:#ff7675;background:#ff767514}.vec-popup-confirm-row{display:flex;align-items:center;gap:6px;margin-top:6px;padding:6px 8px;background:#222;border:1px solid #2a2a2a;border-radius:4px}.vec-popup-confirm-row>span{flex:1;font-size:11px;color:#ff7675;font-weight:600}.vec-popup-confirm-yes{padding:4px 12px;border:1px solid #ff7675;border-radius:4px;background:#ff76751f;color:#ff7675;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s}.vec-popup-confirm-yes:hover{background:#ff7675;color:#fff}.vec-popup-confirm-no{padding:4px 12px;border:1px solid #333;border-radius:4px;background:#222;color:#999;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s}.vec-popup-confirm-no:hover{background:#2a2a2a;color:#dfe6e9}.vec-gate-role-section{margin-bottom:5px;padding:6px;background:#252a2c;border-radius:5px;border:1px solid #3d4448}.vec-gate-role-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.vec-gate-role-header>span{font-size:9px;font-weight:700;color:#636e72;text-transform:uppercase;letter-spacing:.8px}.vec-gate-add-btn{background:#3d4448;border:1px solid #4a5459;border-radius:3px;color:#b2bec3;font-size:11px;padding:1px 6px;cursor:pointer;transition:all .15s}.vec-gate-add-btn:hover{border-color:#a29bfe;color:#a29bfe}.vec-gate-add-btn.active{background:#a29bfe26;border-color:#a29bfe;color:#a29bfe;animation:vec-assign-pulse 1.5s ease-in-out infinite}.vec-gate-no-conns{color:#4a5459;font-size:10px;font-style:italic;padding:2px 4px;margin-bottom:4px}.vec-gate-bypass-btn{background:#3d4448;border:1px solid #4a5459;border-radius:4px;color:#b2bec3;padding:4px 8px;cursor:pointer;font-size:10px;font-weight:700;transition:all .15s}.vec-gate-bypass-btn:hover{border-color:#fdcb6e;color:#fdcb6e}.vec-gate-bypass-btn.active{background:#fdcb6e;border-color:#fdcb6e;color:#2d3436}.vec-gate-toggle-btn{background:#3d4448;border:1px solid #4a5459;border-radius:4px;color:#b2bec3;padding:4px 10px;cursor:pointer;font-size:10px;font-weight:700;transition:all .15s}.vec-gate-toggle-btn.on{background:#00b894;border-color:#00b894;color:#fff}.vec-gate-toggle-btn.off{background:#d63031;border-color:#d63031;color:#fff}.vec-canvas-container{flex:1;overflow:hidden;position:relative;background:#1a1a1a}.vec-canvas-wrapper{position:relative;will-change:transform;transform-origin:0 0}.vec-canvas-wrapper canvas{display:block}.vec-canvas-wrapper.drawing-mode{cursor:crosshair}.vec-canvas-wrapper.drawing-mode canvas{cursor:crosshair}.vec-selection-rect{position:absolute;border:2px dashed #3498db;background:#3498db14;pointer-events:none;z-index:5;box-sizing:border-box}.vec-selection-rect.selected{border-color:#3498db;background:#3498db0d;animation:vec-pulse 2s ease-in-out infinite}@keyframes vec-pulse{0%,to{border-color:#3498db}50%{border-color:#2ecc71}}.vec-svg-overlay{position:absolute;top:0;left:0;pointer-events:none;z-index:4;user-select:none;-webkit-user-select:none}.vec-svg-overlay.interactive{pointer-events:none}.vec-svg-overlay.interactive path[style*="pointer-events: stroke"]{pointer-events:stroke}.vec-svg-overlay.snip-active{pointer-events:all;cursor:crosshair}.vec-selection-actions{position:absolute;display:flex;gap:6px;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid #333;border-radius:6px;padding:4px 8px;z-index:6;pointer-events:auto}.vec-selection-actions button{padding:5px 14px;border:none;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;transition:all .12s}.vec-action-vectorise{background:#3498db;color:#fff}.vec-action-vectorise:hover{background:#2980b9}.vec-action-vectorise:disabled{background:#555;color:#888;cursor:wait}.vec-action-cancel{background:#333;color:#ccc}.vec-action-cancel:hover{background:#444;color:#fff}.vec-page-nav{position:absolute;bottom:14px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:4px;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid #333;border-radius:8px;padding:4px 6px;z-index:10}.vec-page-btn{background:none;border:none;color:#aaa;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;transition:all .12s}.vec-page-btn:hover:not(:disabled){color:#fff;background:#ffffff1a}.vec-page-btn:disabled{color:#444;cursor:default}.vec-page-info{display:flex;align-items:center;gap:3px;padding:0 6px;-webkit-user-select:none;user-select:none}.vec-page-current{font-size:13px;font-weight:700;color:#fff}.vec-page-sep{font-size:12px;color:#555}.vec-page-total{font-size:12px;font-weight:500;color:#888}.vec-canvas-container::-webkit-scrollbar{width:6px;height:6px}.vec-canvas-container::-webkit-scrollbar-track{background:transparent}.vec-canvas-container::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}.vec-canvas-container::-webkit-scrollbar-thumb:hover{background:#ffffff40}.vec-overview{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;color:#888;padding:40px 24px}.vec-home{flex:1;display:flex;align-items:center;justify-content:center;gap:80px;padding:60px 80px;overflow:hidden}.vec-home-left{display:flex;flex-direction:column;gap:16px;max-width:420px}.vec-home-title-row{display:flex;align-items:center;gap:14px}.vec-home-title-row h2{margin:0;color:#fff;font-size:32px;font-weight:700}.vec-home-badge{display:inline-block;width:fit-content;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#3498db;background:#3498db1a;border:1px solid rgba(52,152,219,.25);border-radius:4px;padding:4px 12px}.vec-home-desc{margin:0;font-size:15px;color:#999;line-height:1.6}.vec-home-enter-btn{display:inline-flex;align-items:center;gap:8px;width:fit-content;margin-top:8px;padding:10px 24px;background:#3498db;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s}.vec-home-enter-btn:hover{background:#2980b9}.vec-home-right{flex-shrink:0;display:flex;align-items:center;justify-content:center}.vec-home-pid-img{width:100%;max-width:560px;height:auto;border-radius:12px;opacity:.9;box-shadow:0 8px 40px #0006}.vec-overview-subtitle{margin:0;font-size:14px;color:#888;max-width:420px;line-height:1.5}.vec-overview-start{display:flex;align-items:center;gap:8px;font-size:13px;color:#666;padding:10px 18px;border:1px dashed #333;border-radius:8px}.vec-panel{width:320px;min-width:320px;flex-shrink:0;align-self:stretch;background:#1a1a1a;display:flex;flex-direction:column;overflow:hidden}.vec-panel-header{padding:16px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.vec-panel-header h3{margin:0;font-size:16px;color:#fff}.vec-panel-close{background:none;border:none;font-size:24px;color:#888;cursor:pointer;padding:0;line-height:1}.vec-panel-close:hover{color:#fff}.vec-panel-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:0 16px 16px;background:#1a1a1a;display:flex;flex-direction:column}.vec-panel-content::-webkit-scrollbar{width:5px;height:5px}.vec-panel-content::-webkit-scrollbar-track{background:transparent}.vec-panel-content::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.vec-panel-content::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.vec-panel-section{margin-bottom:16px;background:transparent;flex-shrink:0;border:none}.vec-panel-section-title{margin:0 0 12px;font-size:14px;color:#fff;border:none;padding-bottom:0;background:transparent}.vec-panel-reset-btn{width:100%;padding:6px 12px;background:none;border:1px solid #383838;border-radius:6px;color:#777;font-size:12px;cursor:pointer;transition:all .15s}.vec-panel-reset-btn:hover{color:#ccc;border-color:#555}.vec-skeleton-status{display:flex;align-items:center;gap:8px;padding:10px 12px;font-size:13px;color:#666;background:#222;border-radius:6px}.vec-skeleton-status.done{color:#2ecc71;background:#2ecc7114}.vec-skeleton-fields{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:6px}.vec-skeleton-fields label{display:flex;align-items:center;gap:6px;font-size:12px;color:#999;white-space:nowrap}.vec-skeleton-fields .vec-num-input{display:inline-flex;align-items:center;background:#222;border:1px solid #333;border-radius:4px;overflow:hidden;height:24px}.vec-skeleton-fields .vec-num-input input[type=number]{width:40px;padding:0 2px;background:transparent;border:none;color:#ccc;font-size:11px;text-align:center;outline:none;-moz-appearance:textfield}.vec-skeleton-fields .vec-num-input input[type=number]::-webkit-inner-spin-button,.vec-skeleton-fields .vec-num-input input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.vec-skeleton-fields .vec-num-input input[type=number]:focus{color:#fff}.vec-skeleton-fields .vec-num-btn{display:flex;align-items:center;justify-content:center;width:18px;height:100%;background:transparent;border:none;color:#555;cursor:pointer;padding:0;font-size:10px;line-height:1;transition:color .1s}.vec-skeleton-fields .vec-num-btn:hover{color:#ccc;background:#ffffff0f}.vec-skeleton-fields .vec-num-btn:active{color:#3498db}.vec-skeleton-check{cursor:pointer;-webkit-user-select:none;user-select:none;font-size:13px;color:#aaa}.vec-skeleton-check input[type=checkbox]{margin-right:4px;accent-color:#3498db}.vec-view-section-label{margin:0 0 12px;font-size:14px;font-weight:600;color:#fff}.vec-collapsible-header{display:flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:4px;padding:4px 6px;margin-left:-6px;margin-top:-4px}.vec-collapsible-header:hover{background:#ffffff0f;color:#fff}.vec-layout-options{display:flex;flex-direction:column;gap:2px}.vec-layout-option{display:flex;align-items:center;gap:8px;padding:5px 0;cursor:pointer;transition:all .15s;color:#ccc;font-size:13px;font-weight:600}.vec-layout-option:hover,.vec-layout-option.selected{color:#3498db}.vec-layout-option input[type=radio]{display:none}.vec-view-toggle-row{display:flex;align-items:center;gap:8px;font-size:13px;color:#ccc;cursor:pointer;padding:5px 0;-webkit-user-select:none;user-select:none}.vec-view-toggle-row:hover{color:#fff}.vec-view-toggle-row input[type=checkbox]{accent-color:#3498db;cursor:pointer;flex-shrink:0}.vec-panel-content>.vec-panel-section+.vec-panel-section{border-top:1px solid #2a2a2a;padding-top:14px}.vec-reader-mode-grid{display:flex;flex-wrap:wrap;gap:4px}.vec-ctx-overlay{position:fixed;inset:0;z-index:10000}.vec-ctx-menu{position:fixed;background:#fff;border-radius:10px;box-shadow:0 8px 32px #0003,0 2px 8px #0000001a;min-width:220px;max-width:300px;z-index:10001;padding:4px 0;animation:vecCtxFadeIn .15s ease}@keyframes vecCtxFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.vec-ctx-item{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;background:none;border:none;color:#333;font-size:13px;cursor:pointer;text-align:left;transition:background .1s;position:relative}.vec-ctx-item:hover{background:#f0f4f8}.vec-ctx-item.vec-ctx-danger{color:#e74c3c}.vec-ctx-item.vec-ctx-danger:hover{background:#fde8e8}.vec-ctx-divider{height:1px;background:#eee;margin:4px 0}.vec-ctx-bg-row{display:flex;gap:4px;padding:6px 14px}.vec-ctx-bg-btn{flex:1;padding:5px 0;font-size:11px;background:transparent;border:1px solid #ddd;border-radius:4px;color:#666;cursor:pointer;transition:all .15s}.vec-ctx-bg-btn:hover{background:#f0f4f8}.vec-ctx-bg-btn.active{background:#e8ecf0;font-weight:600;color:#333;border-color:#bbb}.vec-canvas-grid{position:absolute;inset:0;pointer-events:none;z-index:0}.vec-skel-input{width:60px;padding:3px 6px;font-size:12px;background:#2a2a2a;color:#ccc;border:1px solid #444;border-radius:3px}.vec-reader-btn{padding:4px 8px;font-size:11px;background:#2a2a2a;color:#999;border:1px solid #333;border-radius:4px;cursor:pointer;transition:all .15s}.vec-reader-btn:hover{background:#333;color:#ccc}.vec-reader-btn.active{background:#3498db;color:#fff;border-color:#3498db}.vec-rpanel-empty-hint{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 0;color:#555;font-size:12px;text-align:center}.vec-rpanel-section{padding:0;margin-bottom:16px}.vec-rpanel-undo-row{display:flex;gap:6px}.vec-rpanel-undo-row .vec-rpanel-btn{flex:1;justify-content:center}.vec-rpanel-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.vec-rpanel-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:#2a2a2a;border:1px solid #383838;border-radius:6px;color:#bbb;font-size:12px;font-weight:500;cursor:pointer;transition:all .12s;white-space:nowrap}.vec-rpanel-btn:hover{background:#333;color:#fff;border-color:#555}.vec-rpanel-btn.active{background:#3498db26;border-color:#3498db;color:#3498db}.vec-rpanel-btn.active.snip{background:#e74c3c26;border-color:#e74c3c;color:#e74c3c}.vec-rpanel-btn.active.gate{background:#9b59b626;border-color:#9b59b6;color:#c39bdb}.vec-rpanel-btn.active.node{background:#e67e2226;border-color:#e67e22;color:#e67e22}.vec-rpanel-btn.active.tag{background:#f39c1226;border-color:#f39c12;color:#f39c12}.vec-rpanel-btn.active.io{background:#1abc9c26;border-color:#1abc9c;color:#1abc9c}.vec-rpanel-btn.warn{color:#e67e22;border-color:#5a3a1a}.vec-rpanel-btn.warn:hover{background:#e67e2226;border-color:#e67e22}.vec-rpanel-btn.full{width:100%;justify-content:center;padding:8px 12px;font-size:13px}.vec-rpanel-btn.mini{padding:4px 8px;font-size:11px}.vec-rpanel-btn.mini.confirm{background:#2ecc711f;border-color:#2ecc71;color:#2ecc71}.vec-rpanel-btn.mini.confirm:hover{background:#2ecc7140}.vec-rpanel-btn:disabled{opacity:.4;cursor:not-allowed}.vec-rpanel-snip-controls{margin-top:8px;padding-top:8px;border-top:1px solid #2a2a2a}.vec-rpanel-status{font-size:12px;font-family:monospace;display:block;margin-bottom:2px}.vec-field-label{display:flex;align-items:center;gap:8px;font-size:13px;color:#aaa}.vec-field-input{width:56px;padding:5px 6px;background:#252525;border:1px solid #383838;border-radius:6px;color:#fff;font-size:12px;text-align:center;outline:none}.vec-field-input:focus{border-color:#3498db}.vec-selection-props{display:flex;flex-direction:column;gap:8px}.vec-sel-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.vec-sel-label{font-size:12px;color:#999;min-width:44px;flex-shrink:0}.vec-sel-controls{display:flex;align-items:center;gap:8px}.vec-sel-swatch{position:relative;display:inline-flex;align-items:center;cursor:pointer}.vec-sel-swatch input[type=color]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.vec-sel-swatch-preview{display:block;width:24px;height:24px;border-radius:4px;border:1px solid #444;cursor:pointer;transition:border-color .15s}.vec-sel-swatch:hover .vec-sel-swatch-preview{border-color:#888}.vec-sel-swatch:focus-within .vec-sel-swatch-preview{border-color:#3498db}.vec-sel-check{display:inline-flex;align-items:center;cursor:pointer}.vec-sel-check input[type=checkbox]{accent-color:#3498db;cursor:pointer;width:14px;height:14px}.vec-display-check{flex:none;font-size:12px}.vec-tools-info{font-size:12px;color:#666}.vec-rpanel-section-toggle{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:2px 0;-webkit-user-select:none;user-select:none}.vec-rpanel-section-toggle:hover .vec-rpanel-title{color:#aaa}.vec-rpanel-chevron{font-size:10px;color:#555;transition:transform .15s}.vec-rpanel-display-body{margin-top:6px}.vec-panel-header{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid #333}.vec-panel-header h3{margin:0;font-size:13px;font-weight:700;color:#fff}.vec-panel-count{font-size:11px;font-weight:500;color:#888;background:#252525;padding:1px 7px;border-radius:8px}.vec-panel-close{margin-left:auto;background:none;border:none;color:#666;cursor:pointer;font-size:16px;line-height:1;padding:2px 4px;border-radius:3px;transition:all .12s}.vec-panel-close:hover{color:#e74c3c;background:#e74c3c1a}.vec-panel-actions{display:flex;gap:4px;padding:6px 10px;border-bottom:1px solid #2a2a2a}.vec-panel-actions button{flex:1;padding:4px 8px;background:#2a2a2a;border:1px solid #333;border-radius:4px;color:#aaa;font-size:11px;font-weight:500;cursor:pointer;transition:all .12s}.vec-panel-actions button:hover{background:#333;color:#fff;border-color:#444}.vec-panel-list{flex:1;overflow-y:auto;padding:4px 8px 12px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.vec-panel-list::-webkit-scrollbar{width:5px}.vec-panel-list::-webkit-scrollbar-track{background:transparent}.vec-panel-list::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.vec-panel-item{display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:4px;margin-bottom:2px;transition:all .12s}.vec-panel-item:hover{background:#2a2a2a}.vec-panel-item.hidden-path{opacity:.4}.vec-panel-item.selected{background:#2a2a2a;border-left:2px solid #3498db;padding-left:6px}.vec-panel-item.selected .vec-panel-item-label{color:#fff;font-weight:700}.vec-panel-item-color{width:8px;height:8px;border-radius:50%;flex-shrink:0}.vec-panel-item-label{flex:1;font-size:12px;font-weight:500;color:#ccc}.vec-panel-item-eye,.vec-panel-item-delete{background:none;border:none;color:#666;cursor:pointer;padding:2px;display:flex;align-items:center;opacity:0;transition:opacity .12s,color .12s}.vec-panel-item:hover .vec-panel-item-eye,.vec-panel-item:hover .vec-panel-item-delete,.vec-panel-item.selected .vec-panel-item-eye,.vec-panel-item.selected .vec-panel-item-delete{opacity:1}.vec-panel-item.hidden-path .vec-panel-item-eye{opacity:1;color:#888}.vec-panel-item-eye:hover{color:#3498db}.vec-panel-item-delete:hover{color:#e74c3c}.vec-panel-item.assign-mode{cursor:pointer;border:1px solid transparent;transition:all .12s}.vec-panel-item.assign-mode:hover{background:#9b59b61f;border-color:#9b59b6}.vec-panel-item.assign-mode.already-assigned{opacity:.4;pointer-events:none}.vec-panel-item.panel-hovered{background:#ffffff0f}.vec-panel-item-assigned{font-size:9px;color:#9b59b6;background:#9b59b626;padding:1px 5px;border-radius:3px;flex-shrink:0;text-transform:uppercase;letter-spacing:.3px;font-weight:600}.vec-panel-item-length{font-size:10px;color:#666;flex-shrink:0;margin-right:2px}.vec-panel-item.selected .vec-panel-item-length{color:#888}.vec-panel-filter{padding:6px 12px;border-bottom:1px solid #2a2a2a}.vec-panel-filter label{display:flex;align-items:center;gap:6px;font-size:11px;color:#aaa}.vec-panel-filter input[type=number]{width:54px;padding:3px 4px;background:#252525;border:1px solid #333;border-radius:4px;color:#fff;font-size:11px;text-align:center;outline:none}.vec-panel-filter input[type=number]:focus{border-color:#3498db}.vec-settings-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#333;border:1px solid #444;border-radius:6px;color:#888;cursor:pointer;transition:all .15s;flex-shrink:0}.vec-settings-btn:hover{color:#fff;border-color:#555}.vec-settings-btn.active{color:#3498db;border-color:#3498db}.vec-settings-bar{display:flex;align-items:center;gap:8px;padding:6px 14px;background:#1e1e1e;border-bottom:1px solid #2a2a2a;flex-shrink:0;flex-wrap:wrap}.vec-settings-group{display:flex;align-items:center;gap:8px}.vec-settings-title{font-size:11px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.5px}.vec-settings-bar label{display:flex;align-items:center;gap:4px;font-size:11px;color:#aaa;white-space:nowrap}.vec-settings-bar input[type=number]{width:54px;padding:3px 4px;background:#252525;border:1px solid #333;border-radius:4px;color:#fff;font-size:11px;text-align:center;outline:none;transition:border-color .15s;-moz-appearance:textfield}.vec-settings-bar input[type=number]::-webkit-inner-spin-button,.vec-settings-bar input[type=number]::-webkit-outer-spin-button{opacity:1}.vec-settings-bar input[type=number]:focus{border-color:#3498db}.vec-settings-divider{width:1px;height:20px;background:#333;flex-shrink:0}.vec-settings-reset{margin-left:auto;padding:3px 10px;background:none;border:1px solid #444;border-radius:4px;color:#888;font-size:11px;cursor:pointer;transition:all .15s}.vec-settings-reset:hover{color:#fff;border-color:#666}.vec-method-toggle{display:flex;gap:0;border-radius:6px;overflow:hidden;border:1px solid #383838;flex-shrink:0}.vec-method-btn{padding:6px 14px;background:#252525;border:none;color:#888;font-size:13px;cursor:pointer;transition:all .15s;white-space:nowrap;flex:1;text-align:center}.vec-method-btn:not(:last-child){border-right:1px solid #333}.vec-method-btn.active{background:#3498db;color:#fff}.vec-method-btn:hover:not(.active){background:#333;color:#ccc}.vec-checkbox-label{cursor:pointer;-webkit-user-select:none;user-select:none}.vec-checkbox-label input[type=checkbox]{accent-color:#3498db;cursor:pointer}.vec-import-btn{display:flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid #555;border-radius:6px;background:none;color:#ccc;cursor:pointer;font-size:12px;font-weight:500;transition:all .15s}.vec-import-btn:hover{border-color:#f39c12;color:#f39c12}.vec-import-btn.active{border-color:#f39c12;color:#f39c12;background:#f39c121a}.vec-import-btn:disabled{opacity:.5;cursor:not-allowed}.vec-objects-toggle-btn{padding:5px 10px;border:1px solid #555;border-radius:6px;background:none;color:#ccc;cursor:pointer;font-size:12px;transition:all .15s}.vec-objects-toggle-btn.active{border-color:#f39c12;color:#f39c12}.vec-class-selector{position:absolute;top:60px;right:20px;z-index:25;background:#1e1e1e;border:1px solid #333;border-radius:8px;padding:14px;min-width:260px;max-width:340px;max-height:420px;box-shadow:0 8px 24px #0009;color:#ddd;font-size:12px;display:flex;flex-direction:column}.vec-class-selector-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #2a2a2a}.vec-class-selector-header h4{margin:0;font-size:13px;font-weight:600;color:#fff}.vec-import-section{margin-bottom:12px}.vec-import-section-title{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:#888;margin-bottom:6px;display:flex;align-items:center}.vec-class-selector-list{overflow-y:auto;margin-bottom:8px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.vec-class-selector-item{display:flex;align-items:center;gap:8px;padding:5px 6px;cursor:pointer;border-radius:4px;transition:background .1s}.vec-class-selector-item:hover{background:#2a2a2a}.vec-class-selector-item input[type=checkbox]{accent-color:#3498db}.vec-class-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.vec-class-name{flex:1;font-size:12px;color:#ccc}.vec-class-count{font-size:10px;color:#777;background:#252525;padding:1px 6px;border-radius:8px}.vec-import-actions{display:flex;gap:6px}.vec-import-action-btn{flex:1;padding:6px 8px;border:1px solid #444;border-radius:4px;background:transparent;color:#ccc;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s}.vec-import-action-btn:hover{border-color:#3498db;color:#fff}.vec-import-action-btn:disabled{opacity:.3;cursor:not-allowed}.vec-import-action-btn.gate{border-color:#9b59b666;color:#c39bdb}.vec-import-action-btn.gate:hover{border-color:#9b59b6;background:#9b59b61a}.vec-import-action-btn.node{border-color:#e67e2266;color:#e67e22}.vec-import-action-btn.node:hover{border-color:#e67e22;background:#e67e221a}.vec-import-action-btn.io{border-color:#1abc9c66;color:#1abc9c}.vec-import-action-btn.io:hover{border-color:#1abc9c;background:#1abc9c1a}.vec-import-footer{margin-top:4px;padding-top:8px;border-top:1px solid #2a2a2a;display:flex;justify-content:flex-end}.vec-import-close-btn{padding:5px 14px;border:1px solid #444;border-radius:4px;background:transparent;color:#999;font-size:11px;cursor:pointer;transition:all .15s}.vec-import-close-btn:hover{border-color:#666;color:#ccc}.vec-uncombine-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;background:#333;border:1px solid #e67e22;border-radius:6px;color:#e67e22;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.vec-uncombine-btn:hover{background:#e67e2226;color:#f39c12;border-color:#f39c12}.vec-node-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;background:#333;border:1px solid #444;border-radius:6px;color:#ccc;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.vec-node-btn:hover{background:#3a3a3a;border-color:#e67e22;color:#fff}.vec-node-btn.active{background:#e67e22;border-color:#e67e22;color:#fff}.vec-node-type-row{display:flex;align-items:center;gap:0;margin-bottom:10px}.vec-node-type-btn{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border:1px solid #444;background:#2a2a2a;color:#888;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s}.vec-node-type-btn:first-child{border-radius:4px 0 0 4px;border-right:none}.vec-node-type-btn:nth-child(2){border-radius:0 4px 4px 0}.vec-node-type-btn.active{color:#fff}.vec-node-type-btn:hover:not(.active){background:#333;color:#ccc}.vec-io-field-row{display:flex;align-items:center;gap:6px;margin-bottom:4px}.vec-io-field-label{width:56px;flex-shrink:0;font-size:11px;color:#999;font-weight:500}.vec-display-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;background:#333;border:1px solid #444;border-radius:6px;color:#ccc;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.vec-display-btn:hover{background:#3a3a3a;border-color:#3498db;color:#fff}.vec-display-btn.active{background:#3498db;border-color:#3498db;color:#fff}.vec-ds-body{padding:0}.vec-ds-section{padding:10px 0;border-bottom:1px solid #2a2a2a}.vec-ds-section:first-child{padding-top:0}.vec-ds-section-title{font-size:10px;font-weight:600;letter-spacing:.3px;color:#999;margin-bottom:8px}.vec-ds-row{display:flex;align-items:center;gap:8px;margin-bottom:5px}.vec-ds-row-label{font-size:11px;color:#888;white-space:nowrap;min-width:38px}.vec-ds-color{width:22px;height:20px;border:1px solid #444;border-radius:3px;background:#333;cursor:pointer;padding:0;flex-shrink:0}.vec-ds-color::-webkit-color-swatch-wrapper{padding:2px}.vec-ds-color::-webkit-color-swatch{border:none;border-radius:2px}.vec-ds-check{display:inline-flex;align-items:center;gap:4px;cursor:pointer;-webkit-user-select:none;user-select:none}.vec-ds-check input[type=checkbox]{accent-color:#3498db;cursor:pointer}.vec-ds-check span{font-size:11px;color:#999}.vec-ds-num{display:inline-flex;align-items:center;background:#222;border:1px solid #333;border-radius:4px;overflow:hidden;height:24px}.vec-ds-num input[type=number]{width:38px;padding:0 2px;background:transparent;border:none;color:#ccc;font-size:11px;text-align:center;outline:none;-moz-appearance:textfield}.vec-ds-num input[type=number]::-webkit-inner-spin-button,.vec-ds-num input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.vec-ds-num input[type=number]:focus{color:#fff}.vec-ds-num-btn{display:flex;align-items:center;justify-content:center;width:18px;height:100%;background:transparent;border:none;color:#555;cursor:pointer;padding:0;font-size:10px;line-height:1;transition:color .1s}.vec-ds-num-btn:hover{color:#ccc;background:#ffffff0f}.vec-ds-num-btn:active{color:#3498db}.vec-ds-slider{width:60px;accent-color:#3498db;cursor:pointer}.vec-ds-select{background:#222;border:1px solid #333;border-radius:4px;color:#ccc;font-size:10px;padding:2px 4px;cursor:pointer;outline:none;height:24px}.vec-ds-select:focus{border-color:#3498db}.vec-ds-gate-preview{background:#1a1a1a;border:1px solid #333;border-radius:5px;padding:4px;margin-bottom:8px}.vec-ds-sub-title{font-size:10px;font-weight:600;color:#888;margin-bottom:4px}.vec-ds-btn-grid{display:flex;flex-direction:column;gap:4px}.vec-ds-grid-btn{display:flex;align-items:center;gap:8px;padding:6px 10px;background:none;border:none;border-radius:5px;color:#999;font-size:12.5px;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.vec-ds-grid-btn:hover{color:#ddd;background:#ffffff0a}.vec-ds-grid-btn.active{color:#3498db;background:#3498db14}.vec-ds-grid-btn.reset{justify-content:center;margin-top:4px;color:#666;font-weight:400;font-size:11px}.vec-ds-grid-btn.reset:hover{color:#ccc}.vec-ds-dialog{position:absolute;right:330px;top:180px;z-index:30;background:#222;border:1px solid #444;border-radius:8px;min-width:240px;box-shadow:0 4px 16px #00000080}.vec-ds-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid #333;font-size:12px;font-weight:600;color:#ccc}.vec-ds-dialog-close{background:none;border:none;color:#666;font-size:16px;cursor:pointer;padding:0 2px;line-height:1}.vec-ds-dialog-close:hover{color:#fff}.vec-ds-dialog-body{padding:10px 12px}.vec-panel-toggle-btn.dirty{color:#e67e22}.vec-panel-toggle-btn.dirty:after{content:"";width:5px;height:5px;background:#e67e22;border-radius:50%;margin-left:2px}.vec-panel-toggle-btn:disabled{opacity:.5;cursor:not-allowed}.vec-save-msg{font-size:10px;margin-left:4px;font-weight:400}.vec-save-msg.success{color:#2ecc71}.vec-save-msg.error{color:#e74c3c}.vec-assign-obj-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;background:#333;border:1px solid #444;border-radius:6px;color:#ccc;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.vec-assign-obj-btn:hover{background:#3a3a3a;border-color:#f39c12;color:#fff}.vec-assign-obj-btn.active{background:#f39c12;border-color:#f39c12;color:#fff}.vec-assign-popover{position:absolute;top:44px;right:12px;background:#2a2a2a;border:1px solid #444;border-radius:8px;padding:10px 12px;z-index:20;min-width:220px;box-shadow:0 4px 12px #0006}.vec-assign-inputs{display:flex;gap:6px}.vec-assign-inputs input{flex:1;padding:5px 8px;background:#333;border:1px solid #444;border-radius:4px;color:#ccc;font-size:12px;outline:none}.vec-assign-inputs input:focus{border-color:#f39c12}.vec-link-gate-bar{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#1abc9c1a;border:1px solid rgba(26,188,156,.3);border-radius:6px;margin:4px 0}.vec-twin-chat{flex-shrink:0;align-self:stretch;background:#1a1a1a;display:flex;flex-direction:column;overflow:hidden;font-family:inherit;position:relative;border-left:1px solid #333;height:100%}.vec-twin-chat.floating{position:fixed;border-radius:8px;border:1px solid #444;box-shadow:0 8px 32px #00000080;z-index:10000;height:auto;border-left:none}.vec-twin-chat.floating .vec-twin-chat-header{cursor:grab;border-radius:8px 8px 0 0}.vec-twin-chat.floating .vec-twin-chat-header:active{cursor:grabbing}.vec-twin-chat-float-resize{position:absolute;bottom:0;right:0;width:16px;height:16px;cursor:nwse-resize;z-index:5}.vec-twin-chat-float-resize:after{content:"";position:absolute;bottom:3px;right:3px;width:8px;height:8px;border-right:2px solid #555;border-bottom:2px solid #555}.vec-twin-chat-float-resize:hover:after{border-color:#3498db}.vec-twin-chat-resize{position:absolute;left:0;top:0;bottom:0;width:4px;cursor:col-resize;z-index:10;background:transparent;transition:background .15s}.vec-twin-chat-resize:hover,.vec-twin-chat-resize:active{background:#3498db}.vec-twin-chat-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid #333;color:#ddd;flex-shrink:0}.vec-twin-chat-icon-btn{background:none;border:none;color:#888;cursor:pointer;padding:2px 5px;border-radius:4px;font-size:14px}.vec-twin-chat-icon-btn:hover{color:#ddd;background:#333}.vec-twin-chat-settings{padding:8px 12px;border-bottom:1px solid #333;display:flex;flex-direction:column;gap:4px;flex-shrink:0}.vec-twin-chat-settings label{font-size:10px;color:#888;margin-top:2px}.vec-twin-chat-settings select,.vec-twin-chat-settings textarea{width:100%;padding:5px 7px;font-size:11px;background:#2a2a2a;border:1px solid #444;border-radius:4px;color:#ddd;outline:none;font-family:inherit;box-sizing:border-box;resize:vertical}.vec-twin-chat-refresh-btn{padding:2px 8px;font-size:10px;background:#2a2a2a;border:1px solid #444;border-radius:3px;color:#aaa;cursor:pointer}.vec-twin-chat-offline{padding:10px 12px;margin:8px;border-radius:6px;background:#3a1a1a;border:1px solid #662222;font-size:11px;color:#e88;flex-shrink:0}.vec-twin-chat-offline code{background:#2a1a1a;padding:1px 4px;border-radius:3px;font-size:10px}.vec-twin-chat-messages{flex:1;overflow-y:auto;overflow-x:hidden;padding:10px;display:flex;flex-direction:column;gap:6px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}.vec-twin-chat-messages::-webkit-scrollbar{width:4px}.vec-twin-chat-messages::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:2px}.vec-twin-chat-quick{padding:5px 10px;font-size:10px;border-radius:14px;background:#2a2a2a;border:1px solid #444;color:#bbb;cursor:pointer;transition:border-color .15s,color .15s}.vec-twin-chat-quick:hover{border-color:#3498db;color:#fff}.vec-twin-chat-bubble{max-width:90%;padding:8px 12px;font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.vec-twin-chat-bubble.user{background:#2563eb;border-radius:12px 12px 4px;color:#fff}.vec-twin-chat-bubble.assistant{background:#2a2a2a;border:1px solid #333;border-radius:12px 12px 12px 4px;color:#ddd}.vec-twin-chat-bubble.error{background:#3a1a1a;border:1px solid #662222;border-radius:12px;color:#e88}.vec-twin-chat-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#888;animation:vec-dot-pulse 1s infinite}@keyframes vec-dot-pulse{0%,to{opacity:.3}50%{opacity:1}}.vec-twin-chat-input-area{padding:8px 10px;border-top:1px solid #333;display:flex;gap:6px;align-items:flex-end;flex-shrink:0}.vec-twin-chat-textarea{flex:1;padding:8px 10px;font-size:12px;background:#2a2a2a;border:1px solid #444;border-radius:8px;color:#ddd;outline:none;resize:none;font-family:inherit;max-height:80px;overflow-y:auto}.vec-twin-chat-textarea:focus{border-color:#3498db}.vec-twin-chat-send{padding:8px 12px;background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;flex-shrink:0}.vec-twin-chat-send:disabled{background:#333;color:#666;cursor:not-allowed}.vec-twin-chat-send.stop{background:#e74c3c}.vec-twin-chat-action-badge{display:inline-block;padding:2px 8px;font-size:10px;border-radius:10px;background:#2ecc7126;border:1px solid rgba(46,204,113,.4);color:#2ecc71;font-weight:500}.twin-cv-container{position:relative;width:100%;height:100%;overflow:hidden;background:#0a0a14;background-image:radial-gradient(circle at 50% 50%,rgba(52,152,219,.03) 0%,transparent 70%),linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:100% 100%,40px 40px,40px 40px;-webkit-user-select:none;user-select:none}.twin-cv-world{position:absolute;top:0;left:0}.twin-cv-slot{border-radius:6px;overflow:visible;box-shadow:0 4px 20px #00000080,0 0 0 1px #ffffff0f;transition:box-shadow .2s}.twin-cv-slot.no-border,.twin-cv-slot.no-border:hover,.twin-cv-slot.no-border.active{border-radius:0;box-shadow:none}.twin-cv-slot.no-border img{border-radius:0}.twin-cv-slot-title{padding:4px 8px;font-size:11px;font-weight:600;color:#ccc;background:#0009;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:6px 6px 0 0}.twin-cv-slot.no-border .twin-cv-slot-title{border-radius:0}.twin-cv-slot-title-page{font-weight:400;color:#888}.twin-cv-slot img{border-radius:6px}.twin-cv-slot-close-float{display:none}.twin-cv-slot:hover{box-shadow:0 4px 24px #3498db33,0 0 0 1px #3498db4d}.twin-cv-slot.active{box-shadow:0 0 0 2px #3498db,0 0 12px #3498db66}.twin-cv-slot.active .twin-cv-slot-header{background:#1a2a3e;border-bottom-color:#3498db}.twin-cv-slot-header{height:28px;display:flex;align-items:center;gap:6px;padding:0 10px;background:#1a1a2e;border-bottom:1px solid #333;font-size:11px;color:#ccc;cursor:default}.twin-cv-slot-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;color:#e0e0e0}.twin-cv-slot-page{color:#888;font-size:10px;flex-shrink:0}.twin-cv-slot-stats{display:flex;gap:4px;font-size:9px;color:#666;flex-shrink:0}.twin-cv-slot-stats span{background:#222;padding:1px 4px;border-radius:3px}.twin-cv-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:12px;color:#aaa;font-size:13px;z-index:10;background:#0a0a14e6;padding:16px 24px;border-radius:10px;border:1px solid #333}.twin-cv-loading-spinner{width:18px;height:18px;border:2px solid #333;border-top-color:#3498db;border-radius:50%;animation:twin-cv-spin .8s linear infinite}@keyframes twin-cv-spin{to{transform:rotate(360deg)}}.twin-cv-empty{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:#888;font-size:14px}.twin-cv-empty p{margin:8px 0}.twin-cv-bottom-bar{position:absolute;bottom:8px;left:50%;transform:translate(-50%);z-index:100}.twin-cv-save-toast{position:absolute;bottom:56px;left:50%;transform:translate(-50%);z-index:100}.twin-cv-toolbar{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:6px;background:#1a1a2ef2;border:1px solid #444;border-radius:8px;padding:4px 10px;z-index:10}.twin-cv-toolbar button{background:none;border:1px solid #555;color:#ccc;border-radius:4px;padding:3px 6px;cursor:pointer;display:flex;align-items:center;justify-content:center}.twin-cv-toolbar button:hover{background:#333;border-color:#3498db;color:#fff}.twin-cv-zoom-label{font-size:11px;color:#aaa;min-width:36px;text-align:center}.twin-cv-slot-count{font-size:10px;color:#666;margin-left:4px}.twin-cv-hint{position:absolute;top:12px;left:50%;transform:translate(-50%);font-size:11px;color:#555;background:#0a0a14cc;padding:4px 14px;border-radius:12px;border:1px solid #222;z-index:10;pointer-events:none}.vec-canvas-toggle{display:flex;align-items:center;gap:5px;padding:4px 10px;background:none;border:1px solid #555;border-radius:6px;color:#aaa;font-size:12px;cursor:pointer;transition:all .15s}.vec-canvas-toggle:hover{border-color:#3498db;color:#fff}.vec-canvas-toggle.active{background:#3498db26;border-color:#3498db;color:#3498db}.vec-file-canvas-check{width:16px;height:16px;border:1.5px solid #555;border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:11px;color:transparent;flex-shrink:0;transition:all .15s}.vec-file-canvas-check.checked{background:#3498db33;border-color:#3498db;color:#3498db}.vec-file-item.on-canvas,.vec-file-item.on-canvas .vec-file-name{color:#3498db}.vec-on-canvas-section{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;border-top:1px solid #333;background:#1a1a1a}.vec-on-canvas-section.collapsed{flex:0 0 auto}.vec-on-canvas-header{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;cursor:pointer;-webkit-user-select:none;user-select:none;min-height:28px;flex-shrink:0}.vec-on-canvas-header:hover{background:#ffffff0a}.vec-on-canvas-list{overflow-y:auto;flex:1;min-height:0}.vec-on-canvas-list::-webkit-scrollbar{width:6px}.vec-on-canvas-list::-webkit-scrollbar-track{background:transparent}.vec-on-canvas-list::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.twin-cv-container.drag-over{outline:2px dashed #3498db;outline-offset:-2px}.vec-on-canvas-remove{background:none;border:none;color:#666;font-size:16px;cursor:pointer;padding:0 4px;line-height:1;flex-shrink:0;transition:color .15s}.vec-on-canvas-remove:hover{color:#e74c3c}.twin-cv-slot-close{background:none;border:none;color:#666;font-size:14px;cursor:pointer;padding:0 2px;line-height:1;flex-shrink:0}.twin-cv-slot-close:hover{color:#e74c3c}.twin-cv-toolbar-sep{width:1px;height:18px;background:#444;margin:0 2px}.twin-cv-toolbar button.active{background:#3498db33;border-color:#3498db;color:#3498db}.twin-cv-add-all-btn{margin-top:12px;padding:8px 20px;background:#3498db26;border:1px solid #3498db;color:#3498db;border-radius:6px;font-size:13px;cursor:pointer;transition:all .15s}.twin-cv-add-all-btn:hover{background:#3498db4d}.twin-cv-tool-toolbar{position:absolute;top:12px;left:12px;display:flex;align-items:center;gap:4px;background:#1a1a2ef2;border:1px solid #444;border-radius:8px;padding:4px 8px;z-index:10}.twin-cv-tool-btn{position:relative;background:none;border:1px solid #555;color:#ccc;border-radius:4px;padding:4px 6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.twin-cv-tool-btn:hover{background:#333;border-color:#3498db;color:#fff}.twin-cv-tool-btn.active{background:#3498db33;border-color:#3498db;color:#3498db}.twin-cv-tool-btn.dirty{border-color:#e67e22;color:#e67e22}.twin-cv-tool-btn.dirty:hover{background:#e67e2226}.twin-cv-tool-btn:disabled{opacity:.4;cursor:default}.twin-cv-dirty-badge{position:absolute;top:-5px;right:-5px;background:#e67e22;color:#fff;font-size:9px;font-weight:700;width:14px;height:14px;border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:1}.twin-cv-save-msg{font-size:11px;margin-left:4px}.twin-cv-save-msg.success{color:#2ecc71}.twin-cv-save-msg.error{color:#e74c3c}.twin-cv-settings-panel{position:absolute;top:50px;left:12px;width:240px;background:#1a1a2ef7;border:1px solid #444;border-radius:8px;z-index:11;font-size:11px;color:#ccc;box-shadow:0 4px 16px #0006;max-height:calc(100vh - 120px);overflow-y:auto}.twin-cv-sp-header{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;border-bottom:1px solid #444;font-weight:600;font-size:12px;color:#eee}.twin-cv-sp-close{background:none;border:none;color:#888;font-size:16px;cursor:pointer;padding:0 2px;line-height:1}.twin-cv-sp-close:hover{color:#e74c3c}.twin-cv-sp-section{padding:6px 10px;border-bottom:1px solid #333}.twin-cv-sp-title{font-weight:600;font-size:10px;text-transform:uppercase;color:#888;margin-bottom:4px;letter-spacing:.5px}.twin-cv-sp-row{display:flex;align-items:center;gap:6px;margin-bottom:4px}.twin-cv-sp-row label{font-size:11px;color:#aaa;flex-shrink:0}.twin-cv-sp-row input[type=color]{width:24px;height:20px;border:1px solid #555;border-radius:3px;background:none;padding:0;cursor:pointer}.twin-cv-sp-row input[type=number]{width:48px;background:#1a1a2e;border:1px solid #555;border-radius:3px;color:#ccc;font-size:11px;padding:2px 4px;text-align:center}.twin-cv-sp-toggle{display:flex;align-items:center;gap:4px;cursor:pointer;font-size:11px}.twin-cv-sp-toggle input[type=checkbox]{width:14px;height:14px;accent-color:#3498db;cursor:pointer}.twin-cv-sp-reset{width:100%;padding:5px 0;background:#e74c3c1a;border:1px solid rgba(231,76,60,.3);color:#e74c3c;border-radius:4px;font-size:11px;cursor:pointer;transition:all .15s}.twin-cv-sp-reset:hover{background:#e74c3c33}.twin-cv-assign-banner{position:absolute;top:50px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;background:#9b59b6f2;color:#fff;padding:6px 16px;border-radius:8px;font-size:12px;font-weight:500;z-index:20;box-shadow:0 4px 16px #0006;white-space:nowrap;animation:twin-cv-banner-pulse 1.5s ease-in-out infinite}@keyframes twin-cv-banner-pulse{0%,to{box-shadow:0 4px 16px #9b59b666}50%{box-shadow:0 4px 24px #9b59b6b3}}.twin-cv-assign-banner button{background:#fff3;border:1px solid rgba(255,255,255,.4);color:#fff;border-radius:4px;padding:2px 10px;font-size:11px;cursor:pointer}.twin-cv-assign-banner button:hover{background:#ffffff59}.snip-flash-group{animation:snipFlashFade .6s ease-out forwards}.snip-flash-line{animation:snipFlashPulse .6s ease-out forwards}.snip-flash-marker{animation:snipMarkerPop .6s ease-out forwards}@keyframes snipFlashFade{0%{opacity:1}60%{opacity:1}to{opacity:0}}@keyframes snipFlashPulse{0%{stroke-width:3;opacity:1}30%{stroke-width:2;opacity:1}to{stroke-width:1;opacity:0}}@keyframes snipMarkerPop{0%{opacity:0;transform:scale(.3)}20%{opacity:1;transform:scale(1.3)}40%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1)}}.menu-bar{display:flex;align-items:center;gap:0}.menu-bar-root{position:relative}.menu-bar-trigger{padding:4px 10px;font-size:15px;background:transparent;color:#ccc;border:none;border-radius:3px;cursor:pointer;white-space:nowrap;line-height:1.4;transition:background .1s,color .1s}.menu-bar-trigger:hover,.menu-bar-trigger.open{background:#ffffff1a;color:#fff}.menu-dropdown{position:absolute;top:100%;left:0;margin-top:2px;background:#2a2a2a;border:1px solid #444;border-radius:6px;box-shadow:0 4px 16px #0006;min-width:220px;padding:4px 0;z-index:200;animation:menuFadeIn .1s ease}@keyframes menuFadeIn{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.menu-item{display:flex;align-items:center;padding:5px 12px;cursor:pointer;color:#ccc;font-size:12.5px;white-space:nowrap;-webkit-user-select:none;user-select:none;position:relative}.menu-item:hover{background:#ffffff14;color:#fff}.menu-item.disabled{color:#666;cursor:default;pointer-events:none}.menu-item-check{width:20px;flex-shrink:0;text-align:center;font-size:11px;color:#3498db}.menu-item-label{flex:1}.menu-item-shortcut{margin-left:24px;color:#777;font-size:11px;flex-shrink:0}.menu-item-arrow{margin-left:12px;color:#777;font-size:10px;flex-shrink:0}.menu-divider{height:1px;background:#444;margin:4px 8px}.menu-submenu{position:absolute;left:100%;top:-4px;background:#2a2a2a;border:1px solid #444;border-radius:6px;box-shadow:0 4px 16px #0006;min-width:200px;padding:4px 0;z-index:201}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;width:100vw;background:#1e1e1e;position:fixed;top:0;left:0}.login-container{display:flex;flex-direction:column;align-items:center;width:280px}.login-brand{font-size:36px;font-weight:700;color:#fff;text-align:center;margin:0 0 8px;letter-spacing:-.5px}.login-subtitle{color:#888;font-size:13px;margin:0 0 24px;text-align:center}.login-form{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}.login-form input{width:100%;padding:10px 14px;font-size:14px;font-weight:600;color:#fff;border:1px solid #444;border-radius:4px;outline:none;transition:border-color .2s;box-sizing:border-box;background:#2a2a2a}.login-form input:focus{border-color:#888;background:#333}.login-form input::placeholder{color:#fff6;font-weight:500}.login-error{color:#e74c3c;font-size:12px;font-weight:600;text-align:center}.login-btn{width:48px;height:48px;display:flex;align-items:center;justify-content:center;color:#fff;background:transparent;border:1.5px solid #555;border-radius:50%;cursor:pointer;transition:all .2s;margin-top:12px;padding:0;line-height:1}.login-btn:hover{background:#ffffff1a;border-color:#999}.login-divider{display:flex;align-items:center;width:100%;margin:20px 0 16px;color:#666;font-size:12px}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:#444}.login-divider span{padding:0 12px}.login-microsoft-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:10px 14px;font-size:13px;font-weight:600;color:#fff;background:#2a2a2a;border:1px solid #444;border-radius:4px;cursor:pointer;transition:all .2s}.login-microsoft-btn:hover{background:#333;border-color:#666}.login-microsoft-btn:disabled{opacity:.6;cursor:default}.login-submit-btn{width:100%;padding:10px 14px;font-size:14px;font-weight:600;color:#fff;background:#2563eb;border:none;border-radius:4px;cursor:pointer;transition:background .2s;margin-top:4px}.login-submit-btn:hover{background:#1d4ed8}.login-submit-btn:disabled{opacity:.6;cursor:default}.login-switch{margin-top:16px;font-size:12px;color:#888;text-align:center}.login-link{background:none;border:none;color:#60a5fa;cursor:pointer;font-size:12px;padding:0;text-decoration:underline}.login-link:hover{color:#93c5fd}.login-password-wrapper{position:relative;width:100%}.login-password-wrapper input{width:100%;padding-right:40px}.login-eye-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:#666;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px}.login-eye-btn:hover{color:#aaa;background:#ffffff0d}.login-verify{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:20px 0}.login-verify svg{margin-bottom:8px}.login-verify h2{color:#fff;font-size:18px;margin:0}.login-verify p{color:#999;font-size:13px;margin:0;line-height:1.5}.login-verify strong{color:#ccc}.login-success{color:#22c55e;font-size:12px;font-weight:600;text-align:center}.admin-page{min-height:100vh;background:#1e1e1e;color:#e0e0e0;padding:0}.admin-header{display:flex;align-items:center;gap:12px;padding:16px 24px;background:#000;border-bottom:1px solid #333}.admin-header h1{font-size:18px;font-weight:600;margin:0;color:#fff}.admin-count{font-size:12px;color:#888;margin-left:auto}.admin-back-btn{background:none;border:1px solid #333;border-radius:6px;color:#ccc;cursor:pointer;padding:6px 8px;display:flex;align-items:center}.admin-back-btn:hover{border-color:#555;color:#fff}.admin-toast{position:fixed;top:16px;right:16px;background:#22c55e;color:#000;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:600;z-index:999;animation:adminFadeIn .2s ease}@keyframes adminFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.admin-loading,.admin-error{padding:40px;text-align:center;color:#888}.admin-error{color:#ef4444}.admin-denied{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:12px}.admin-denied h2{color:#fff;margin:0}.admin-denied p{color:#888;margin:0}.admin-table-wrap{padding:16px 24px;overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th{text-align:left;padding:8px 12px;color:#888;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #333;white-space:nowrap}.admin-table td{padding:10px 12px;border-bottom:1px solid #2a2a2a;vertical-align:middle}.admin-table tr:hover td{background:#ffffff05}.admin-cell-name{display:flex;align-items:center;gap:8px;font-weight:500;color:#fff;white-space:nowrap}.admin-avatar{width:28px;height:28px;border-radius:50%;background:#2563eb;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.admin-cell-date{color:#888;white-space:nowrap;font-size:12px}.admin-role-select{background:#2a2a2a;color:#ccc;border:1px solid #333;border-radius:4px;padding:4px 8px;font-size:12px;cursor:pointer}.admin-role-select:focus{border-color:#555;outline:none}.admin-role-admin{color:#f59e0b;border-color:#f59e0b44}.admin-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600}.admin-badge-green{background:#22c55e26;color:#22c55e}.admin-btn{background:#2563eb;color:#fff;border:none;border-radius:6px;padding:8px 20px;font-size:13px;font-weight:600;cursor:pointer}.admin-btn:hover{background:#1d4ed8}.admin-btn-sm{padding:3px 10px;border-radius:4px;font-size:11px;font-weight:600;border:none;cursor:pointer}.admin-btn-verify{background:#22c55e26;color:#22c55e}.admin-btn-verify:hover{background:#22c55e40}.admin-btn-delete{background:#ef44441a;color:#ef4444}.admin-btn-delete:hover{background:#ef444433}.admin-projects-list{display:flex;flex-wrap:wrap;gap:4px}.admin-project-tag{display:inline-flex;align-items:center;gap:4px;background:#2a2a2a;border:1px solid #333;border-radius:4px;padding:2px 8px;font-size:11px;color:#ccc;white-space:nowrap}.admin-project-role{font-size:9px;color:#888;text-transform:uppercase}.admin-muted{color:#555;font-size:12px}.app{display:flex;flex-direction:column;height:100vh;width:100vw}.top-toolbar{display:flex;align-items:center;gap:8px;background:#fff;padding:12px 24px;border-bottom:1px solid #ddd;box-shadow:0 2px 4px #0000001a;z-index:100;flex-shrink:0}.main-content{display:flex;flex-direction:row;flex:1;overflow:hidden}.sidebar{width:320px;background:#2c3e50;color:#fff;padding:20px;overflow-y:auto;flex-shrink:0}.sidebar h1{font-size:24px;margin-bottom:30px}.sidebar h2{font-size:16px;margin-bottom:15px;color:#ecf0f1}.upload-section{margin-bottom:40px;padding-bottom:30px;border-bottom:1px solid #34495e}.upload-option{margin-bottom:15px}.upload-label{display:block;font-size:13px;font-weight:600;color:#ecf0f1;margin-bottom:5px}.upload-section input[type=file]{margin-bottom:10px;color:#fff;width:100%;padding:8px;background:#34495e;border:1px solid #4a5f7f;border-radius:4px;cursor:pointer;font-size:12px}.upload-section input[type=file]::file-selector-button{background:#3498db;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;margin-right:10px}.upload-section input[type=file]::file-selector-button:hover{background:#2980b9}.selected-file{font-size:12px;color:#bdc3c7;margin-bottom:10px;word-break:break-all}.selected-files-info{background:#2c3e50;border:1px solid #4a5f7f;border-radius:4px;padding:10px;margin-bottom:10px;max-height:150px;overflow-y:auto}.selected-files-info strong{color:#3498db;display:block;margin-bottom:8px;font-size:13px}.file-names-list,.file-names-preview{margin-top:5px}.file-name-item{font-size:11px;color:#ecf0f1;padding:2px 0;word-break:break-all}.upload-section button{width:100%;padding:12px;background:#27ae60;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:600}.upload-section button:hover:not(:disabled){background:#229954}.upload-section button:disabled{background:#7f8c8d;cursor:not-allowed}.status-success{color:#2ecc71;font-size:14px;margin-top:10px}.status-error{color:#e74c3c;font-size:14px;margin-top:10px}.files-section{margin-top:20px}.file-name{flex:1;cursor:pointer}.file-actions{display:flex;gap:4px;flex-shrink:0}.rename-btn{background:#3498db;color:#fff;border:none;border-radius:4px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;line-height:1;flex-shrink:0}.rename-btn:hover{background:#2980b9}.delete-btn{background:#e74c3c;color:#fff;border:none;border-radius:4px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;line-height:1;flex-shrink:0}.delete-btn:hover{background:#c0392b}.viewer{flex:1;background:#ecf0f1;overflow:hidden;position:relative}.pdf-container{width:100%;height:100%;overflow:auto;position:relative;background:#ecf0f1}.pdf-container canvas{box-shadow:0 4px 6px #0000001a;background:#fff;display:block}.pdf-container.continuous{display:flex;flex-direction:row;gap:0;overflow-x:auto;overflow-y:auto;align-items:flex-start;padding:0}.pdf-item{flex-shrink:0;display:flex;flex-direction:column;align-items:center}.pdf-item canvas{box-shadow:0 4px 6px #0000001a;background:#fff;border-right:2px solid #34495e}.top-toolbar button{padding:8px 12px;background:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:18px;min-width:40px;height:36px;display:flex;align-items:center;justify-content:center}.top-toolbar button:hover:not(:disabled){background:#2980b9}.top-toolbar button:disabled{background:#bdc3c7;cursor:not-allowed;opacity:.5}.zoom-input{width:40px;height:36px;padding:4px;border:1px solid #ddd;border-radius:4px;text-align:center;font-size:13px;flex-shrink:0}.zoom-percent{font-size:14px;color:#2c3e50;font-weight:500;flex-shrink:0}.toolbar-divider{width:1px;height:30px;background:#ddd;margin:0 4px;flex-shrink:0}.page-info{font-size:14px;color:#2c3e50;font-weight:500;min-width:60px;text-align:center;flex-shrink:0}.empty-state{text-align:center;color:#7f8c8d;font-size:18px;margin:auto}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;padding:30px;border-radius:8px;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 4px 20px #0000004d}.modal-content h2{margin:0 0 10px;color:#2c3e50;font-size:24px}.modal-content p{margin:0 0 20px;color:#7f8c8d;font-size:14px}.pdf-selection-list{display:flex;flex-direction:column;gap:10px;margin-bottom:20px;max-height:400px;overflow-y:auto}.pdf-selection-item{padding:15px;background:#ecf0f1;border-radius:4px;cursor:pointer;transition:background .2s;display:flex;justify-content:space-between;align-items:center}.pdf-selection-item:hover{background:#3498db;color:#fff}.pdf-selection-item span{font-size:13px;word-break:break-all}.current-badge{background:#27ae60;color:#fff;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:700;margin-left:10px}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.cancel-btn{padding:10px 20px;background:#95a5a6;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.cancel-btn:hover{background:#7f8c8d}.object-modal{max-width:600px}.object-form{display:flex;flex-direction:column;gap:15px}.form-group{display:flex;flex-direction:column;gap:5px}.form-group label{font-size:13px;font-weight:600;color:#2c3e50}.form-group input,.form-group textarea{padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#3498db}.save-btn{padding:10px 20px;background:#27ae60;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:600}.save-btn:hover{background:#229954}.search-panel{position:fixed;right:0;top:0;width:350px;height:100vh;background:#fff;box-shadow:-2px 0 10px #0003;display:flex;flex-direction:column;z-index:200}.search-panel-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #ddd;background:#2c3e50;color:#fff}.search-panel-header h3{margin:0;font-size:18px}.close-search{background:none;border:none;color:#fff;font-size:28px;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.close-search:hover{background:#ffffff1a;border-radius:4px}.visibility-toggles{padding:15px;border-bottom:1px solid #ddd;display:flex;flex-direction:column;gap:10px}.toggle-item{display:flex;align-items:center;gap:8px;cursor:pointer}.toggle-item input[type=checkbox]{cursor:pointer}.class-filter-section{padding:15px;border-bottom:1px solid #ddd;background:#f8f9fa}.class-filter-header{margin-bottom:10px;font-size:13px;color:#2c3e50;display:flex;flex-direction:column;gap:10px}.class-management-buttons{display:flex;gap:5px}.class-mgmt-btn{flex:1;padding:6px 8px;background:#95a5a6;color:#fff;border:none;border-radius:4px;font-size:11px;cursor:pointer;transition:background .2s}.class-mgmt-btn:hover{background:#7f8c8d}.class-mgmt-btn.danger{background:#e74c3c}.class-mgmt-btn.danger:hover{background:#c0392b}.class-filter-list{display:flex;flex-direction:column;gap:8px}.class-filter-item{display:flex;align-items:center;gap:8px;padding:6px;background:#fff;border-radius:4px;cursor:pointer;transition:background .2s}.class-filter-item:hover{background:#e8f4f8}.class-filter-item input[type=checkbox]{cursor:pointer}.class-filter-item span{flex:1}.class-count{color:#7f8c8d;font-size:11px;font-weight:700}.no-classes{text-align:center;padding:10px;color:#95a5a6;font-size:12px;font-style:italic}.search-input-container{padding:15px;border-bottom:1px solid #ddd}.search-input{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px}.search-input:focus{outline:none;border-color:#3498db}.search-stats{padding:10px 15px;background:#ecf0f1;font-size:12px;color:#7f8c8d;font-weight:600}.search-results{flex:1;overflow-y:auto;padding:10px}.search-result-item{padding:12px;margin-bottom:8px;background:#f8f9fa;border-radius:4px;cursor:pointer;transition:all .2s;border-left:4px solid #e67e22}.search-result-item:hover{background:#e8f4f8;transform:translate(4px)}.search-result-item.selected{background:#d4edda;border-left-color:#27ae60}.result-tag{font-size:16px;font-weight:700;color:#e67e22;margin-bottom:4px}.result-class{font-size:12px;color:#7f8c8d;margin-bottom:2px}.result-title{font-size:13px;color:#2c3e50;margin-bottom:4px}.result-pdf{font-size:11px;color:#95a5a6;font-style:italic;word-break:break-all}.no-results{text-align:center;padding:40px 20px;color:#95a5a6;font-size:14px}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}.loading-overlay{position:fixed;inset:0;background:#000c;color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;z-index:10000;animation:pulse-loading 2s ease-in-out infinite}@keyframes pulse-loading{0%,to{opacity:.8}50%{opacity:1}}.training-sidebar{position:fixed;right:0;top:60px;bottom:0;width:350px;background:#fff;border-left:3px solid #9b59b6;box-shadow:-2px 0 10px #0003;z-index:1000;display:flex;flex-direction:column}.training-sidebar-content{padding:20px;overflow-y:auto;flex:1;display:flex;flex-direction:column}.training-sidebar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid #ecf0f1}.training-sidebar-header h2{margin:0;color:#9b59b6;font-size:20px}.close-training{background:#e74c3c;color:#fff;border:none;border-radius:50%;width:32px;height:32px;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.close-training:hover{background:#c0392b}.training-instructions{background:#ecf0f1;padding:15px;border-radius:5px;margin-bottom:20px}.training-instructions p{margin:0 0 10px;font-weight:700;color:#2c3e50}.training-instructions ol{margin:0;padding-left:20px}.training-instructions li{margin-bottom:8px;color:#34495e}.training-stats{background:#e8f4f8;padding:15px;border-radius:5px;margin-bottom:20px}.training-stats strong{display:block;margin-bottom:10px;color:#2c3e50}.training-classes{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.class-badge{background:#9b59b6;color:#fff;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:700}.training-actions{display:flex;gap:10px;margin-top:auto;padding-top:20px;border-top:2px solid #ecf0f1}.training-actions button{flex:1;padding:12px;border:none;border-radius:5px;font-size:14px;font-weight:700;cursor:pointer}.training-actions .cancel-btn{background:#95a5a6;color:#fff}.training-actions .save-btn{background:#9b59b6;color:#fff}.training-actions .save-btn:disabled{background:#bdc3c7;cursor:not-allowed}.training-actions button:hover:not(:disabled){opacity:.9}.detector-settings-modal{max-width:500px;max-height:80vh;overflow-y:auto}.detector-settings-modal .form-group{margin-bottom:20px}.detector-settings-modal label{display:block;font-weight:700;margin-bottom:5px;color:#2c3e50}.detector-settings-modal input[type=text]{width:100%;padding:8px;border:2px solid #ddd;border-radius:4px;font-size:14px}.detector-settings-modal input[type=text]:focus{outline:none;border-color:#3498db}.detector-settings-modal small{display:block;color:#7f8c8d;font-size:12px;margin-top:5px}.checkbox-label{display:flex!important;align-items:center;gap:8px;cursor:pointer}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.checkbox-label span{font-weight:400}.pdf-selection-checklist{max-height:200px;overflow-y:auto;border:1px solid #ddd;border-radius:4px;padding:8px;background:#f8f9fa}.pdf-checkbox-item{display:flex;align-items:center;gap:8px;padding:6px;cursor:pointer;border-radius:3px;transition:background .2s}.pdf-checkbox-item:hover{background:#e8f4f8}.pdf-checkbox-item input[type=checkbox]{cursor:pointer}.pdf-checkbox-item .current-pdf{font-weight:700;color:#3498db}.pdf-checkbox-item span{font-size:12px;word-break:break-all}.training-box{border-color:#9b59b6!important;background-color:#9b59b633!important}.error-boundary{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;text-align:center;background:#f8f9fa;color:#2c3e50;padding:40px}.error-boundary h1{font-size:28px;margin-bottom:10px}.error-boundary p{color:#e74c3c;font-size:14px;margin-bottom:20px;max-width:500px;word-break:break-word}.error-boundary button{padding:12px 24px;background:#3498db;color:#fff;border:none;border-radius:4px;font-size:14px;cursor:pointer}.error-boundary button:hover{background:#2980b9}
