.feature-limits-page h1{font-size:1.75rem;font-weight:600;color:var(--text-primary)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.tabs-container{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--border);padding-bottom:0}.tab-btn{padding:.75rem 1.5rem;background:transparent;border:none;color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary)}.limits-table .tier-col{text-align:center;width:120px}.tier-col.tier-free{color:var(--text-secondary)}.tier-col.tier-kielo_plus{color:#a78bfa}.feature-cell code{font-family:Monaco,Menlo,Consolas,monospace;font-size:.8rem;color:var(--text-muted);background:var(--bg-body);padding:.25rem .5rem;border-radius:4px}.limit-cell{text-align:center;cursor:pointer;transition:background .2s}.limit-cell:hover{background:var(--bg-card-hover)}.limit-cell.no-value{color:var(--text-muted)}.limit-badge{display:inline-flex;align-items:center;justify-content:center;min-width:40px;padding:.25rem .75rem;border-radius:9999px;font-size:.875rem;font-weight:600}.limit-badge.unlimited{background:#22c55e26;color:#22c55e}.limit-badge.blocked{background:#ef444426;color:#ef4444}.limit-badge.limited{background:#3b82f626;color:#3b82f6}.limit-input{width:60px;padding:.25rem .5rem;text-align:center;background:var(--bg-body);border:2px solid var(--primary);border-radius:6px;color:var(--text-primary);font-size:.875rem;outline:none}.legend{display:flex;gap:1.5rem;padding-top:1rem;margin-top:1rem;border-top:1px solid var(--border)}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--text-muted)}.legend-item .limit-badge{min-width:28px;padding:.125rem .5rem;font-size:.75rem}.search-results{margin-top:1rem;border:1px solid var(--border);border-radius:8px;max-height:240px;overflow-y:auto}.user-email{color:var(--text-primary)}.user-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:1rem;border-bottom:1px solid var(--border);margin-bottom:1rem}.user-info{display:flex;align-items:center;gap:.75rem}.user-info h3{margin:0;font-size:1rem;font-weight:600}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-header h4{margin:0;font-size:.875rem;font-weight:600;color:var(--text-secondary)}.override-input{width:100px;text-align:center}.empty-state{display:flex;align-items:center;justify-content:center;min-height:200px}.loading-state{display:flex;align-items:center;justify-content:center;padding:3rem;color:var(--text-muted)}.modal-content{width:100%;max-width:420px;animation:modalIn .2s ease-out}.modal-content h3{margin:0 0 .5rem;font-size:1.25rem;color:var(--text-primary)}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}small.text-muted{display:block;margin-top:.25rem;font-size:.75rem}@keyframes modalIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.achievements-page h1{font-size:1.75rem;font-weight:600;color:var(--text-primary);margin:0}.stat-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.panel-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.panel-header h2{margin:0;font-size:1.25rem}.category-filter{display:flex;gap:.5rem;flex-wrap:wrap}.filter-btn{background:var(--bg-body);border:1px solid var(--border);border-radius:20px;padding:.4rem .75rem;font-size:.8rem;cursor:pointer;transition:all .2s;color:var(--text-secondary)}.filter-btn:hover{border-color:var(--primary);color:var(--primary)}.filter-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.category-section{margin-bottom:2rem}.category-header{display:flex;align-items:center;gap:.5rem;font-size:1rem;color:var(--text-secondary);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.category-count{background:var(--bg-body);padding:.2rem .6rem;border-radius:12px;font-size:.75rem;font-weight:600}.search-card h3{margin:0 0 1rem;font-size:1rem}.search-card{margin-bottom:1rem}.search-row{display:flex;gap:.75rem}.search-input{flex:1;max-width:400px}.search-results{margin-top:1rem;border:1px solid var(--border);border-radius:8px;max-height:280px;overflow-y:auto}.search-result-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;cursor:pointer;border-bottom:1px solid var(--border);transition:background .2s}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:var(--bg-card-hover)}.result-user{display:flex;align-items:center;gap:.75rem}.user-avatar{font-size:1.25rem}.user-avatar-large{font-size:2.5rem;background:var(--bg-body);width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:50%}.user-details{display:flex;flex-direction:column}.user-email{color:var(--text-primary);font-weight:500}.user-name{color:var(--text-muted);font-size:.8rem}.user-email-sub{color:var(--text-muted);font-size:.85rem}.user-stats{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.user-stat{font-size:.8rem;color:var(--text-secondary)}.badge-free{background:var(--bg-card-hover);color:var(--text-secondary)}.badge-kielo_plus{background:#a78bfa26;color:#a78bfa}.badge-inactive{background:#ef444426;color:#ef4444;font-size:.65rem;padding:.15rem .4rem;border-radius:4px}.user-panel{margin-top:1rem}.user-header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:1rem;border-bottom:1px solid var(--border);margin-bottom:1.5rem}.user-info{display:flex;align-items:center;gap:1rem}.user-info h3{margin:0;font-size:1.1rem;font-weight:600}.user-actions{display:flex;gap:.5rem}.achievements-section h4{margin:0 0 .75rem;font-size:.9rem;font-weight:600;color:var(--text-secondary)}.progress-bar-container{height:6px;background:var(--bg-body);border-radius:3px;margin-bottom:1rem;overflow:hidden}.progress-bar{height:100%;background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:3px;transition:width .3s ease}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.achievement-card{background:var(--bg-body);border:1px solid var(--border);border-radius:12px;padding:1rem;transition:transform .2s,box-shadow .2s}.achievement-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.achievement-card.earned{border-color:#22c55e4d;background:#22c55e0d}.achievement-card.catalogue{background:var(--bg-card)}.achievement-card.inactive{opacity:.6}.achievement-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.achievement-badges{display:flex;gap:.5rem;align-items:center}.achievement-icon{font-size:1.5rem}.achievement-points{background:#3b82f626;color:#3b82f6;padding:.25rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:600}.achievement-card h5{margin:0 0 .25rem;font-size:.95rem;color:var(--text-primary)}.achievement-card code{font-size:.7rem;color:var(--text-muted);background:var(--bg-card);padding:.125rem .375rem;border-radius:4px}.achievement-card p{margin:.5rem 0;font-size:.8rem;line-height:1.4}.achievement-footer{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.criteria-type{font-size:.75rem;color:var(--text-muted)}.achievement-meta{display:flex;justify-content:space-between;align-items:center;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.earned-date{font-size:.75rem;color:var(--text-muted)}.btn-xs{padding:.25rem .5rem;font-size:.7rem}.empty-state{display:flex;align-items:center;justify-content:center;min-height:250px}.empty-content{text-align:center}.empty-content h3{margin-bottom:.5rem;color:var(--text-primary)}.empty-message{padding:1.5rem;text-align:center}.loading-state{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:3rem;color:var(--text-muted)}.spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.alert{padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem}.alert-error{background:#ef444426;color:var(--danger);border:1px solid rgba(239,68,68,.3)}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{width:100%;max-width:480px;animation:modalIn .2s ease-out}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.modal-header h3{margin:0;font-size:1.25rem;color:var(--text-primary)}.modal-close{background:none;border:none;font-size:1.5rem;color:var(--text-muted);cursor:pointer;padding:.25rem;line-height:1}.modal-close:hover{color:var(--text-primary)}.modal-subtitle{margin-bottom:1.5rem}.grant-preview{margin:1rem 0;padding:1rem;background:var(--bg-body);border-radius:8px;border:1px solid var(--border)}.preview-card{display:flex;gap:1rem;align-items:flex-start}.preview-icon{font-size:2rem}.preview-card p{margin:.25rem 0;font-size:.85rem;color:var(--text-muted)}.preview-points{font-size:.8rem;color:#3b82f6;font-weight:600}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:500;color:var(--text-secondary)}@keyframes modalIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.localization-manager{padding:0}.localization-manager .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.localization-manager .header-content h1{font-size:1.75rem;font-weight:700;margin:0 0 .5rem;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.localization-manager .header-content p{color:var(--text-muted);margin:0}.localization-manager .header-stats{display:flex;gap:2rem}.localization-manager .stat-item{display:flex;flex-direction:column;align-items:center;padding:.75rem 1.25rem;background:#3b82f614;border-radius:12px;border:1px solid rgba(59,130,246,.2)}.localization-manager .stat-value{font-size:1.5rem;font-weight:700;color:var(--primary)}.localization-manager .stat-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.localization-manager .alert{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-radius:12px;margin-bottom:1.5rem;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.localization-manager .alert-icon{font-size:1.25rem}.localization-manager .alert-close{margin-left:auto;background:none;border:none;color:inherit;font-size:1.25rem;cursor:pointer;opacity:.7;transition:opacity .2s}.localization-manager .alert-close:hover{opacity:1}.localization-manager .alert-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#f87171}.localization-manager .alert-success{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);color:#4ade80}.localization-manager .alert-warning{background:#eab3081a;border:1px solid rgba(234,179,8,.3);color:#fbbf24}.localization-manager .alert-action .btn{margin-left:auto}.localization-manager .alert-action .btn+.alert-close{margin-left:0}.health-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:1.25rem 1.5rem;margin-bottom:1.5rem}.health-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem}.health-header h3{margin:0 0 .25rem}.health-header p{margin:0;color:var(--text-muted);font-size:.85rem}.health-actions{display:flex;gap:.5rem}.health-status{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-radius:12px;font-size:.85rem}.health-status span+.health-meta{margin-left:1rem}.health-meta{color:var(--text-muted);font-size:.8rem}.health-ok{background:#22c55e14;border:1px solid rgba(34,197,94,.3);color:#4ade80}.health-missing,.health-error{background:#ef444414;border:1px solid rgba(239,68,68,.3);color:#f87171}.health-checking{background:#3b82f614;border:1px solid rgba(59,130,246,.3);color:#60a5fa}.config-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:1.5rem;margin-bottom:1.5rem}.config-section h3{font-size:1rem;font-weight:600;margin:0 0 1rem}.config-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.config-field label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary);margin-bottom:.5rem}.label-icon{font-size:1rem}.required{color:#ef4444;margin-left:.25rem}.select-styled{width:100%;padding:.875rem 2.5rem .875rem 1rem;background:var(--bg-body);border:1px solid var(--border);border-radius:10px;color:var(--text-primary);font-size:.9rem;cursor:pointer;transition:all .2s;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}.select-styled:hover{border-color:var(--primary)}.select-styled:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f633}.select-with-action{display:flex;gap:.5rem;align-items:center}.select-with-action .select-styled{flex:1}.coverage-card{margin-top:1.5rem;padding:1.25rem;background:#3b82f60d;border:1px solid rgba(59,130,246,.2);border-radius:12px}.coverage-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;color:#fff}.coverage-lang{font-weight:600;font-size:.95rem}.coverage-percent{font-size:1.25rem;font-weight:700;color:var(--primary)}.coverage-bar{height:10px;background:var(--bg-body);border-radius:5px;overflow:hidden;margin-bottom:.75rem}.coverage-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:5px;transition:width .5s ease}.coverage-details{display:flex;justify-content:space-between;font-size:.8rem;color:var(--text-muted)}.actions-grid{position:relative;display:grid;grid-template-columns:repeat(2,minmax(320px,1fr));gap:1.5rem;margin-bottom:1.5rem}.actions-disabled{pointer-events:none;opacity:.6}.actions-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0a0e1c99;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:16px;border:1px solid rgba(59,130,246,.25);z-index:2;pointer-events:auto}.actions-overlay-card{background:#0f172ae6;border:1px solid rgba(59,130,246,.35);border-radius:14px;padding:1.25rem 1.5rem;text-align:center;max-width:360px;box-shadow:0 10px 30px #0f172a80}.overlay-title{font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.overlay-subtitle{font-size:.85rem;color:var(--text-muted)}.action-card{display:flex;gap:1.25rem;padding:1.75rem;background:var(--bg-card);border:1px solid var(--border);border-radius:16px;transition:all .3s ease}.import-card{grid-column:span 2;border-color:#3b82f659;background:linear-gradient(180deg,#3b82f614,#0f172a99)}.action-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026;border-color:#3b82f64d}.card-icon{font-size:2.5rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#3b82f626,#8b5cf626);border-radius:14px;flex-shrink:0}.card-content{flex:1}.card-content h3{font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.card-content p{font-size:.85rem;color:var(--text-muted);margin:0 0 1.25rem}.card-actions{display:flex;gap:.75rem}.localization-manager .btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:10px;font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s ease;border:none}.localization-manager .btn-gradient{background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;box-shadow:0 4px 12px #3b82f64d}.localization-manager .btn-gradient:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #3b82f666}.localization-manager .btn-gradient:disabled{opacity:.5;cursor:not-allowed}.localization-manager .btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border)}.localization-manager .btn-ghost:hover{background:var(--bg-card-hover);color:var(--text-primary)}.localization-manager .btn-lg{padding:1rem 2rem;font-size:1rem}.localization-manager .spinner{width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.drop-zone{padding:2.5rem;border:2px dashed var(--border);border-radius:12px;cursor:pointer;transition:all .3s ease;text-align:center}.drop-zone:hover,.drop-zone.drag-active{border-color:var(--primary);background:#3b82f60d}.drop-zone.drag-active{transform:scale(1.02)}.file-input-hidden{display:none}.drop-content{display:flex;flex-direction:column;align-items:center;gap:.5rem}@media(max-width:900px){.actions-grid{grid-template-columns:1fr}.import-card{grid-column:span 1}}.drop-icon{font-size:2rem;opacity:.6}.drop-text{font-size:.9rem;color:var(--text-muted)}.preview-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:1.5rem;animation:slideIn .3s ease}.preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.preview-header h3{font-size:1rem;font-weight:600;margin:0}.preview-badges{display:flex;gap:.75rem}.badge{padding:.4rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500}.badge-success{background:#22c55e26;color:#4ade80}.badge-warning{background:#eab30826;color:#fbbf24}.preview-table-wrapper{max-height:400px;overflow-y:auto;border:1px solid var(--border);border-radius:10px;margin-bottom:1rem}.preview-table{width:100%;border-collapse:collapse}.preview-table th{position:sticky;top:0;background:var(--bg-body);padding:.875rem 1rem;text-align:left;font-size:.8rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border)}.preview-table td{padding:.75rem 1rem;font-size:.85rem;border-bottom:1px solid var(--border)}.row-empty{background:#eab3080d}.row-filled td{color:var(--text-primary)}.namespace-badge{padding:.25rem .5rem;background:#8b5cf626;color:#a78bfa;border-radius:6px;font-size:.75rem;font-weight:500}.key-code{font-family:JetBrains Mono,monospace;font-size:.8rem;color:#22d3ee;background:#22d3ee1a;padding:.25rem .5rem;border-radius:4px}.text-cell{max-width:250px}.truncated{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-indicator{color:var(--text-muted);font-style:italic}.preview-more{text-align:center;padding:.75rem;color:var(--text-muted);font-size:.85rem;border-top:1px solid var(--border)}.preview-actions{display:flex;justify-content:center;gap:1rem;margin-top:1.5rem}.localization-page h1{font-size:1.75rem;font-weight:600;color:var(--text-primary);margin:0}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.header-subtitle{color:var(--text-muted);margin:.25rem 0 0;font-size:.9rem}.stats-row{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.stat-card{display:flex;align-items:center;gap:1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1rem 1.25rem;min-width:140px}.stat-card.highlight{background:#3b82f614;border-color:#3b82f64d}.stat-icon{font-size:1.75rem}.stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.stat-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase}.tabs-container{margin-bottom:1rem}.tabs{display:flex;gap:.5rem;border-bottom:1px solid var(--border)}.tab{background:none;border:none;padding:.75rem 1rem;font-size:.9rem;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.tab:hover{color:var(--text-primary)}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.filters-row{display:flex;gap:.75rem;margin-bottom:1rem}.namespace-select{max-width:200px}.search-input{flex:1;max-width:300px}.keys-layout{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.keys-list{max-height:600px;overflow-y:auto}.key-row{display:flex;align-items:center;gap:1rem;padding:.75rem;border-bottom:1px solid var(--border);cursor:pointer}.key-row:hover{background:var(--bg-card-hover)}.key-row.selected{background:#3b82f61a;border-left:3px solid var(--primary)}.key-info{flex:1;min-width:0}.key-name{font-size:.85rem;display:block;margin-bottom:.25rem}.key-namespace{font-size:.75rem;color:var(--text-muted)}.key-source{flex:2;font-size:.85rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.translation-editor{padding:1.5rem}.editor-header{display:flex;justify-content:space-between;margin-bottom:1rem}.editor-header h3{margin:0;font-size:1rem}.source-text{margin-bottom:1.5rem}.source-text label{font-size:.8rem;color:var(--text-muted);display:block;margin-bottom:.25rem}.source-value{background:var(--bg-body);padding:.75rem;border-radius:6px}.translations-list h4{font-size:.9rem;margin-bottom:1rem}.translation-row{display:flex;gap:1rem;padding:.75rem 0;border-top:1px solid var(--border)}.translation-lang{min-width:100px}.lang-code{font-size:.75rem;color:var(--text-muted);display:block}.translation-value{flex:1;display:flex;flex-direction:column;gap:.5rem}.value-text{font-size:.9rem}.translation-meta{display:flex;gap:.5rem;align-items:center}.translation-edit{flex:1}.edit-actions{display:flex;gap:.5rem;margin-top:.5rem}.badge-draft{background:#eab30826;color:#eab308}.badge-pending{background:#3b82f626;color:#3b82f6}.badge-approved{background:#22c55e26;color:#22c55e}.badge-rejected{background:#ef444426;color:#ef4444}.coverage-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.coverage-card{background:var(--bg-body);border:1px solid var(--border);border-radius:12px;padding:1rem}.coverage-card-button{width:100%;text-align:left;cursor:pointer;transition:transform .2s ease,border-color .2s ease;appearance:none;font:inherit}.coverage-card-button:hover{transform:translateY(-2px);border-color:#3b82f666}.coverage-header{display:flex;justify-content:space-between;margin-bottom:.75rem;color:#fff}.coverage-title{display:flex;align-items:center;gap:.5rem}.coverage-flag{font-size:1.1rem}.coverage-bar{height:8px;background:var(--bg-card);border-radius:4px;overflow:hidden;margin-bottom:.5rem}.coverage-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#8b5cf6);transition:width .3s}.coverage-numbers{display:flex;justify-content:space-between;font-size:.8rem}.coverage-percent{font-weight:600;color:var(--primary)}.approval-stats{font-size:.75rem;color:var(--text-muted);margin-top:.5rem}.approved-count{color:#22c55e}.audit-panel{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.audit-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.audit-list{max-height:500px;overflow-y:auto}.audit-entry{display:flex;gap:1rem;padding:.75rem;border-bottom:1px solid var(--border)}.audit-icon{font-size:1.25rem}.audit-content{flex:1}.audit-summary{font-size:.9rem}.audit-time{font-size:.75rem;color:var(--text-muted)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{width:500px;max-width:90vw;padding:1.5rem}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.modal-header h3{margin:0}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-muted)}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.5rem}.header-actions{display:flex;gap:.5rem}.form-group label input[type=checkbox]{margin-right:.25rem}.mode-toggle{display:flex;gap:.5rem}.empty-state{text-align:center;padding:2rem;color:var(--text-muted)}.empty-icon{font-size:3rem;margin-bottom:1rem}.loading-state{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:2rem}.spinner{width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.cb-layout{display:grid;grid-template-columns:var(--cb-sidebar-width, 340px) 1fr 320px;grid-template-rows:auto 1fr auto;gap:0;height:calc(100vh - 80px);min-height:600px}.cb-layout.cb-panel-closed{grid-template-columns:var(--cb-sidebar-width, 340px) 1fr}.cb-sidebar{grid-row:1 / -1;border-right:1px solid var(--border);background:#0206178c;display:flex;flex-direction:column;overflow:hidden;position:relative}.cb-sidebar-resize-handle{position:absolute;top:0;right:-3px;width:6px;height:100%;cursor:col-resize;z-index:10;background:transparent;transition:background .15s}.cb-sidebar-resize-handle:hover,.cb-sidebar-resize-handle.is-dragging{background:var(--primary, #6366f1)}.cb-sidebar-header{padding:.85rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:.5rem}.cb-sidebar-header h2{margin:0;font-size:.92rem;font-weight:700;letter-spacing:-.01em}.cb-sidebar-scroll{flex:1;overflow-y:auto;padding:.5rem 0}.cb-tree-empty{padding:1.5rem 1rem;text-align:center;color:var(--text-secondary);font-size:.82rem}.cb-tree-node{-webkit-user-select:none;user-select:none}.cb-tree-row{display:flex;align-items:center;gap:.25rem;padding:.3rem .5rem;cursor:pointer;border-radius:6px;margin:1px .35rem;transition:background .12s,color .12s;font-size:.82rem;color:var(--text-primary);min-height:30px}.cb-tree-row:hover{background:#94a3b81a}.cb-tree-row.is-selected{background:#3b82f62e;color:var(--accent)}.cb-tree-toggle{width:18px;height:18px;border:none;background:none;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.65rem;flex-shrink:0;border-radius:4px;transition:background .12s,transform .16s}.cb-tree-toggle:hover{background:#94a3b826}.cb-tree-toggle.is-expanded{transform:rotate(90deg)}.cb-tree-emoji{font-size:.85rem;flex-shrink:0;width:18px;text-align:center}.cb-tree-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.cb-tree-count{font-size:.68rem;color:var(--text-muted);background:#94a3b81f;padding:.05rem .35rem;border-radius:999px;flex-shrink:0}.cb-tree-actions{display:flex;gap:.15rem;opacity:0;transition:opacity .12s}.cb-tree-row:hover .cb-tree-actions{opacity:1}.cb-tree-action-btn{width:20px;height:20px;border:none;background:none;color:var(--text-secondary);cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:.72rem;transition:background .12s,color .12s}.cb-tree-action-btn:hover{background:#94a3b82e;color:var(--text-primary)}.cb-tree-action-btn.is-danger:hover{background:#ef44442e;color:#ef4444}.cb-tree-children{padding-left:1.4rem;margin-left:.65rem;border-left:1px solid rgba(148,163,184,.12)}.cb-tree-lesson-row{padding-left:.75rem}.cb-tree-lesson-row .cb-tree-label{font-weight:400;font-size:.78rem}.cb-tree-row--track{margin-top:.35rem;border-top:1px solid rgba(148,163,184,.08)}.cb-tree-row--track .cb-tree-label{font-size:.86rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.cb-tree-row--level{border-left:2px solid rgba(99,102,241,.4);border-radius:0 6px 6px 0;margin-left:.35rem;padding-left:.4rem}.cb-tree-row--level .cb-tree-label{font-size:.8rem;font-weight:600;color:#a5b4fc}.cb-tree-row--chapter .cb-tree-label{font-size:.78rem;font-weight:500;color:var(--text-secondary)}.cb-tree-type-badge{font-size:.56rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.05rem .3rem;border-radius:3px;flex-shrink:0;opacity:.7}.cb-tree-type-badge--track{background:#6366f126;color:#818cf8}.cb-tree-type-badge--level{background:#0ea5e926;color:#38bdf8}.cb-tree-type-badge--chapter{background:#14b8a626;color:#2dd4bf}.cb-topbar{grid-column:2 / 3;padding:.65rem 1rem;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:.75rem;background:#02061759}.cb-layout.cb-panel-closed .cb-topbar{grid-column:2 / -1}.cb-breadcrumbs{display:flex;align-items:center;gap:.3rem;flex:1;min-width:0;font-size:.82rem}.cb-breadcrumb-item{color:var(--text-secondary);cursor:pointer;transition:color .12s;white-space:nowrap}.cb-breadcrumb-item:hover{color:var(--accent)}.cb-breadcrumb-item.is-active{color:var(--text-primary);font-weight:600;cursor:default}.cb-breadcrumb-sep{color:var(--text-muted);font-size:.72rem}.cb-topbar-actions{display:flex;gap:.45rem;flex-shrink:0}.cb-main{grid-column:2 / 3;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem}.cb-detail-panel{border-left:1px solid var(--border);background:#02061773;display:flex;flex-direction:column}.cb-detail-header{padding:.85rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:.5rem}.cb-detail-header h3{margin:0;font-size:.92rem;font-weight:600}.cb-detail-body{flex:1;padding:.85rem;display:flex;flex-direction:column;gap:.75rem}.cb-detail-section{border:1px solid var(--border);border-radius:8px;padding:.75rem;background:#0f172a59}.cb-detail-section h4{margin:0 0 .45rem;font-size:.82rem;color:var(--text-secondary);font-weight:600}.cb-detail-field{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.6rem}.cb-detail-field:last-child{margin-bottom:0}.cb-detail-field label{font-size:.72rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.cb-detail-field .form-control{font-size:.82rem}.cb-detail-actions{padding:.85rem;border-top:1px solid var(--border);display:flex;gap:.5rem;flex-wrap:wrap}.cb-grouped-list{border-top:1px solid var(--border);background:#02061759}.cb-grouped-list-header{padding:.65rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem;border-bottom:1px solid var(--border)}.cb-grouped-list-header h3{margin:0;font-size:.88rem;font-weight:600}.cb-chapter-group{border-bottom:1px solid var(--border)}.cb-chapter-group:last-child{border-bottom:none}.cb-chapter-group-title{padding:.45rem 1rem;font-size:.78rem;font-weight:600;color:var(--text-secondary);background:#94a3b80f;display:flex;align-items:center;gap:.35rem}.cb-lesson-row{display:flex;align-items:center;gap:.6rem;padding:.4rem 1rem .4rem 1.5rem;cursor:pointer;transition:background .12s;font-size:.82rem}.cb-lesson-row:hover{background:#94a3b814}.cb-lesson-row.is-selected{background:#3b82f61f}.cb-lesson-row-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cb-lesson-row-meta{font-size:.72rem;color:var(--text-secondary);flex-shrink:0}.cb-status-dot{width:7px;height:7px;border-radius:999px;flex-shrink:0}.cb-status-dot.is-published{background:#22c55e;box-shadow:0 0 4px #22c55e66}.cb-status-dot.is-draft{background:#f59e0b;box-shadow:0 0 4px #f59e0b4d}.cb-status-dot.is-archived{background:var(--text-muted)}.cb-main-tree-node{margin-bottom:2px}.cb-main-tree-children{padding-left:1.5rem;border-left:1px solid var(--border);margin-left:.75rem}.cb-main-tree-lesson{padding-left:.25rem}.cb-panel{grid-column:3;grid-row:1 / -1;display:flex;flex-direction:column;overflow-y:auto;background:#02061773;border-left:1px solid var(--border)}.cb-chapter-lessons-panel{padding:.85rem;border-top:1px solid var(--border)}.cb-chapter-lessons-panel h4{margin:0 0 .5rem;font-size:.85rem;font-weight:600}@media(max-width:1200px){.cb-layout{grid-template-columns:var(--cb-sidebar-width, 300px) 1fr 280px}}@media(max-width:900px){.cb-layout{grid-template-columns:1fr;grid-template-rows:auto 1fr;height:auto}.cb-sidebar{grid-row:auto;border-right:none;border-bottom:1px solid var(--border);max-height:300px}.cb-detail-panel{display:none}.cb-topbar{grid-column:1}}.cb-tree-drag-handle{font-size:.85rem;color:var(--text-muted);cursor:grab;opacity:0;transition:opacity .12s;flex-shrink:0;line-height:1;padding:0 2px;-webkit-user-select:none;user-select:none}.cb-tree-row:hover .cb-tree-drag-handle{opacity:1}.cb-tree-drag-handle:active{cursor:grabbing}.cb-drag-over>.cb-tree-row{border-top:2px solid var(--primary, #6366f1);margin-top:-1px}.cb-track-label-badge{font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.1rem .4rem;border-radius:4px;flex-shrink:0;line-height:1.3}.roadmap-generator-header{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;flex-wrap:wrap;margin-bottom:.85rem}.roadmap-generator-tabs{min-width:220px}.roadmap-section-title{margin-bottom:.35rem;font-size:1.2rem}.roadmap-section-description{margin-bottom:.75rem}.roadmap-generator-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.roadmap-generator-grid-advanced{margin-top:.85rem}.roadmap-generator-batch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem}.roadmap-inline-checkbox{display:inline-flex;align-items:center;gap:.5rem}.roadmap-helper-text{font-size:.78rem}.roadmap-help-dot{width:1rem;height:1rem;border-radius:999px;border:1px solid var(--border);color:var(--text-secondary);display:inline-flex;justify-content:center;align-items:center;font-size:.68rem;line-height:1}.roadmap-advanced{margin-top:1rem}.roadmap-advanced-summary{cursor:pointer;color:var(--text-secondary);font-size:.9rem}.roadmap-checkbox-list{max-height:160px;overflow-y:auto;border:1px solid var(--border);border-radius:8px;padding:.5rem .75rem;display:grid;gap:.4rem}.roadmap-connect-to-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:.45rem}.roadmap-branch-preview{margin-top:1rem;border:1px solid var(--border);border-radius:10px;padding:.85rem;background:#0f172a59}.roadmap-branch-preview-header{display:flex;justify-content:space-between;align-items:center;gap:.65rem;margin-bottom:.75rem}.roadmap-branch-preview-header h3{margin:0;font-size:.95rem}.roadmap-branch-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.roadmap-branch-card{border:1px solid var(--border);border-radius:8px;padding:.65rem;background:#02061766}.roadmap-branch-card h4{margin:0 0 .45rem;font-size:.82rem;color:var(--text-secondary)}.roadmap-chip-list{display:flex;flex-wrap:wrap;gap:.35rem}.roadmap-chip{display:inline-flex;align-items:center;gap:.25rem;border-radius:999px;padding:.2rem .55rem;border:1px solid rgba(148,163,184,.5);background:#1e293bbf;color:var(--text-primary);font-size:.74rem}.roadmap-chip-muted{color:var(--text-secondary)}.roadmap-branch-legend{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.7rem;margin-bottom:.35rem}.roadmap-chip-parent{border-color:#38bdf8b3}.roadmap-chip-incoming{border-color:#f59e0bb3}.roadmap-chip-target{border-color:#22c55eb3}.roadmap-graph-wrapper{position:relative;border:1px solid var(--border);border-radius:10px;overflow:hidden}.roadmap-graph-toolbar{position:absolute;top:.5rem;right:.5rem;z-index:10;display:flex;gap:.35rem;align-items:center}.roadmap-graph-toolbar button{width:28px;height:28px;border-radius:6px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;font-size:.85rem;display:flex;align-items:center;justify-content:center;transition:all .15s}.roadmap-graph-toolbar button:hover{background:var(--bg-card-hover);color:var(--text-primary)}.roadmap-graph-zoom-label{font-size:.72rem;color:var(--text-muted);min-width:32px;text-align:center;-webkit-user-select:none;user-select:none}.roadmap-graph-canvas{position:relative;height:560px;cursor:grab;-webkit-user-select:none;user-select:none;background:radial-gradient(circle at 1px 1px,rgba(148,163,184,.18) 1px,transparent 0);background-size:20px 20px;transform-origin:0 0}.roadmap-graph-canvas.is-panning{cursor:grabbing}.roadmap-graph-inner{position:absolute;inset:40px 90px}.roadmap-graph-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.roadmap-graph-node{position:absolute;transform:translate(-50%,-50%);width:160px;min-height:56px;border-radius:10px;border:2px solid var(--border);background:var(--bg-card);color:var(--text-primary);padding:.45rem .55rem;text-align:left;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease;z-index:1;touch-action:none}.roadmap-graph-node:hover{z-index:5;box-shadow:0 4px 12px #00000059}.roadmap-graph-node.is-selected{border-color:#3b82f6;background:#3b82f62e;z-index:6}.roadmap-graph-node.is-linked{border-color:#818cf8}.roadmap-graph-node.is-generator-neighbor{box-shadow:0 0 0 2px #f59e0b33}.roadmap-graph-node.is-generator-target{border-color:#22c55ebf}.roadmap-graph-node.is-generator-parent{border-color:#38bdf8e6;box-shadow:0 0 0 2px #38bdf833}.roadmap-graph-node.is-dragging{opacity:.85;cursor:grabbing;z-index:20;transition:none}.roadmap-graph-node-title{font-weight:600;font-size:.8rem;margin-bottom:.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.roadmap-graph-node-meta{font-size:.7rem;color:var(--text-secondary)}.roadmap-lesson-row{border:1px solid var(--border);border-radius:8px;background:var(--bg-card);display:flex;gap:.65rem;padding:.45rem;align-items:stretch}.roadmap-lesson-row.is-selected{background:#3b82f61f;border-color:#3b82f666}.roadmap-lesson-row-select{border:none;background:transparent;color:var(--text-primary);cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:.65rem;text-align:left;width:100%;min-width:0}.roadmap-lesson-row-main{min-width:0}.roadmap-lesson-row-title{font-weight:600}.roadmap-lesson-row-meta{font-size:.85rem}.roadmap-lesson-row-actions{display:flex;flex-direction:column;gap:.35rem;justify-content:center}.roadmap-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.roadmap-json-editor{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.85rem}.roadmap-json-editor-full{min-height:500px;resize:vertical}.roadmap-editor-actions{border-top:1px solid var(--border);padding-top:1rem}.roadmap-thumbnail-field{display:flex;flex-direction:column;gap:.5rem}.roadmap-thumbnail-preview{border:1px solid var(--border);border-radius:8px;overflow:hidden;max-width:200px}.roadmap-thumbnail-preview img{display:block;width:100%;max-height:120px;object-fit:cover}@media(max-width:768px){.roadmap-branch-preview-grid,.roadmap-editor-grid{grid-template-columns:1fr}.roadmap-graph-node{width:130px;min-height:48px}.roadmap-graph-canvas{height:460px}.roadmap-graph-inner{left:65px;right:65px}}.lp-root{display:flex;gap:24px;align-items:flex-start;padding:24px 0;min-height:600px}.lp-phone{flex-shrink:0;width:405px;min-height:720px;background:#0f1117;border-radius:36px;border:2px solid rgba(255,255,255,.08);box-shadow:0 24px 64px #0009,0 0 0 6px #ffffff0a;display:flex;flex-direction:column;overflow:hidden;position:relative}.lp-status-bar{padding:16px 20px 10px;display:flex;flex-direction:column;gap:10px;background:#0f1117;border-bottom:1px solid rgba(255,255,255,.05)}.lp-back{font-size:13px;font-weight:600;color:#e2e8f0;letter-spacing:-.2px}.lp-progress-track{display:flex;gap:3px;height:3px;border-radius:2px;overflow:hidden}.lp-progress-seg{height:100%;border-radius:2px;background:#ffffff1f;transition:background .25s}.lp-progress-seg-filled{background:#6366f1}.lp-screen{flex:1;overflow-y:auto;padding:20px 16px;display:flex;flex-direction:column}.lp-screen::-webkit-scrollbar{width:4px}.lp-screen::-webkit-scrollbar-track{background:transparent}.lp-screen::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.lp-nav{display:flex;gap:8px;padding:12px 16px;background:#0f1117;border-top:1px solid rgba(255,255,255,.06)}.lp-nav-btn{flex:1;padding:12px;border-radius:14px;border:none;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s}.lp-nav-btn:disabled{opacity:.3;cursor:not-allowed}.lp-nav-btn:not(:disabled):active{transform:scale(.97)}.lp-nav-back{background:#ffffff14;color:#94a3b8}.lp-nav-next{background:#1e1e2e;color:#e2e8f0;border:1.5px solid rgba(99,102,241,.5)}.lp-step-card{background:#1a1b2e;border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,.06)}.lp-step-header{display:flex;align-items:center;justify-content:space-between;padding:8px 14px 0 4px;min-height:24px}.lp-step-type-bar{width:4px;height:16px;border-radius:0 2px 2px 0;flex-shrink:0}.lp-step-index{font-size:11px;color:#ffffff4d;font-variant-numeric:tabular-nums;font-weight:500}.lp-step-inner{padding:16px;display:flex;flex-direction:column;gap:10px}.lp-step-badge{display:flex;align-items:center;gap:5px;font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase}.lp-step-emoji{font-size:28px;text-align:center}.lp-step-title{font-size:22px;font-weight:700;color:#f1f5f9;line-height:1.25;margin:0}.lp-divider{height:1px;background:#ffffff0f}.lp-html-content{font-size:15px;line-height:1.6;color:#94a3b8}.lp-html-content b,.lp-html-content strong{color:#e2e8f0;font-weight:600}.lp-html-content em,.lp-html-content i{font-style:italic}.lp-html-content p{margin:0 0 6px}.lp-html-content ul{padding-left:18px;margin:4px 0}.lp-html-content li{margin-bottom:3px}.lp-target-word,.lp-fi-word{background:#6366f12e;color:#818cf8;border-radius:4px;padding:1px 4px;font-weight:600;mark:unset}.lp-muted{color:#475569;font-size:13px;margin:0}.lp-listen-btn{align-self:flex-start;display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);color:#94a3b8;font-size:13px;font-weight:600;cursor:pointer}.lp-quiz-question{font-size:16px;font-weight:600;color:#e2e8f0;margin:0;line-height:1.4}.lp-options-list{display:flex;flex-direction:column;gap:7px}.lp-option{padding:11px 14px;border-radius:12px;background:#ffffff0a;border:1.5px solid rgba(255,255,255,.08);color:#cbd5e1;font-size:14px;text-align:left;cursor:pointer;transition:background .15s,border-color .15s}.lp-option:hover{background:#ffffff12}.lp-option-correct{background:#22c55e1f!important;border-color:#22c55e66!important;color:#4ade80!important}.lp-option-wrong{background:#ef44441f!important;border-color:#ef444466!important;color:#f87171!important}.lp-option-correct-hint{border-color:#22c55e40!important}.lp-feedback{padding:10px 14px;border-radius:10px;font-size:13px;font-weight:600}.lp-feedback-ok{background:#22c55e1a;color:#4ade80;border:1px solid rgba(34,197,94,.2)}.lp-feedback-err{background:#ef44441a;color:#f87171;border:1px solid rgba(239,68,68,.2)}.lp-feedback-info{background:#6366f11a;color:#818cf8;border:1px solid rgba(99,102,241,.2)}.lp-phrase-card{background:#6366f114;border:1px solid rgba(99,102,241,.18);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}.lp-phrase-fi{font-size:20px;font-weight:700;color:#818cf8}.lp-phrase-phonetic{font-size:12px;color:#64748b}.lp-phrase-en{font-size:14px;color:#94a3b8}.lp-fill-sentence{font-size:16px;color:#e2e8f0;line-height:1.6}.lp-blank{display:inline-block;min-width:60px;border-bottom:2px solid #6366f1;color:#818cf8;font-weight:600;padding:0 6px;text-align:center}.lp-sb-answer-area{min-height:44px;border:1.5px dashed rgba(255,255,255,.12);border-radius:12px;padding:8px 10px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.lp-tile-row{display:flex;flex-wrap:wrap;gap:7px}.lp-tile{padding:7px 13px;border-radius:10px;background:#ffffff0f;border:1.5px solid rgba(255,255,255,.1);color:#e2e8f0;font-size:14px;font-weight:500;cursor:pointer;transition:background .12s}.lp-tile:hover{background:#ffffff1a}.lp-tile-selected{background:#6366f126;border-color:#6366f166;color:#818cf8}.lp-tile-used{opacity:.3;cursor:not-allowed}.lp-match-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.lp-match-col{display:flex;flex-direction:column;gap:6px}.lp-match-item{padding:9px 12px;border-radius:10px;background:#ffffff0a;border:1.5px solid rgba(255,255,255,.08);color:#cbd5e1;font-size:13px;text-align:left;cursor:pointer}.lp-match-selected{border-color:#6366f1!important;background:#6366f11f!important;color:#818cf8!important}.lp-match-matched{border-color:#22c55e66!important;background:#22c55e14!important;color:#4ade80!important}.lp-tf-row{display:flex;gap:8px}.lp-tf-btn{flex:1;padding:13px;border-radius:12px;background:#ffffff0a;border:1.5px solid rgba(255,255,255,.08);color:#cbd5e1;font-size:15px;font-weight:600;cursor:pointer;transition:all .15s}.lp-persona{display:flex;align-items:center;gap:8px}.lp-persona-avatar{font-size:24px}.lp-persona-name{font-size:14px;font-weight:600;color:#e2e8f0}.lp-dialogue-bubble{background:#ffffff0a;border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:6px}.lp-dialogue-bubble p{margin:0;color:#e2e8f0;font-size:15px}.lp-cat-grid{display:flex;gap:8px}.lp-cat-bucket{flex:1;min-height:80px;border:1.5px dashed rgba(255,255,255,.1);border-radius:12px;padding:8px;display:flex;flex-direction:column;gap:4px}.lp-cat-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#64748b;margin-bottom:4px}.lp-step-list{flex:1;min-width:220px;max-width:300px;display:flex;flex-direction:column;gap:4px;max-height:720px;overflow-y:auto}.lp-step-list::-webkit-scrollbar{width:4px}.lp-step-list::-webkit-scrollbar-track{background:transparent}.lp-step-list::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:2px}.lp-step-list-header{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#475569;padding:0 8px 8px}.lp-step-thumb{display:flex;align-items:flex-start;gap:10px;padding:9px 10px;border-radius:10px;background:transparent;border:1px solid transparent;color:#94a3b8;text-align:left;cursor:pointer;transition:all .12s;width:100%}.lp-step-thumb:hover{background:#ffffff0a}.lp-step-thumb-active{background:#6366f11a!important;border-color:#6366f140!important}.lp-step-thumb-num{font-size:11px;font-variant-numeric:tabular-nums;color:#475569;min-width:18px;padding-top:1px}.lp-step-thumb-body{display:flex;flex-direction:column;gap:2px;min-width:0}.lp-step-thumb-type{font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.lp-step-thumb-title{font-size:12px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.lp-split{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.lp-error{padding:20px;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:10px;color:#f87171;font-size:14px}.lp-editable{border-radius:4px;transition:background .12s,outline .12s;display:inline-block;min-width:20px}.lp-editable:hover{background:#6366f114;outline:1px dashed rgba(99,102,241,.35)}.lp-edit-placeholder{color:#334155;font-style:italic}.lp-edit-input{background:#1e1e32e6;border:1.5px solid #6366f1;border-radius:6px;color:#e2e8f0;font-size:inherit;font-family:inherit;font-weight:inherit;padding:3px 7px;width:100%;outline:none;resize:vertical;line-height:1.5}.lp-option-row{display:flex;align-items:center;gap:6px}.lp-option-row .lp-option{flex:1}.lp-option-edit{display:none}.wm-page{display:flex;flex-direction:column;gap:1.25rem}.wm-actions{display:flex;gap:.5rem}.wm-alert{padding:.7rem .9rem;border-radius:10px;font-size:.85rem;font-weight:500;display:flex;align-items:center;gap:.5rem;animation:wmFadeIn .25s ease}.wm-alert--error{background:#ef44441f;border:1px solid rgba(239,68,68,.3);color:#fca5a5}.wm-alert--success{background:#22c55e1f;border:1px solid rgba(34,197,94,.3);color:#bbf7d0}.wm-alert--info{background:#3b82f61f;border:1px solid rgba(59,130,246,.3);color:#bfdbfe}.wm-alert code{font-size:.8rem;color:inherit;background:#0f172a40;border-radius:6px;padding:.08rem .3rem}.wm-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;align-items:stretch}.wm-meta-field label{margin-bottom:.35rem}.wm-meta-stat{border:1px solid var(--border);border-radius:10px;padding:.65rem .85rem;background:#94a3b80d;display:flex;flex-direction:column;gap:.1rem;justify-content:center}.wm-meta-label{color:var(--text-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.wm-meta-value{font-size:1.15rem;font-weight:700;color:var(--text-primary)}.wm-meta-value--warn{color:#fca5a5}.wm-models-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.25rem}.wm-models-header-actions{display:flex;gap:.5rem}.wm-models-title{font-size:1.05rem;font-weight:700;color:var(--text-primary)}.wm-models-grid{display:flex;flex-direction:column;gap:.85rem}.wm-empty{text-align:center;padding:2.5rem 1rem;color:var(--text-muted)}.wm-empty-icon{font-size:2.2rem;margin-bottom:.5rem;opacity:.5}.wm-empty-title{font-size:1rem;font-weight:600;color:var(--text-secondary);margin-bottom:.3rem}.wm-empty-desc{font-size:.84rem;color:var(--text-muted);max-width:400px;margin:0 auto}.wm-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:border-color .2s,box-shadow .2s;animation:wmSlideIn .3s ease}.wm-card:hover{border-color:#94a3b859}.wm-card-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem .6rem;border-bottom:1px solid rgba(51,65,85,.5)}.wm-card-head-left{display:flex;align-items:center;gap:.65rem;min-width:0;flex:1}.wm-card-avatar{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#3b82f633,#8b5cf62e);display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;border:1px solid rgba(59,130,246,.15);color:#93c5fd}.wm-card-name{font-size:.92rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wm-card-name--placeholder{color:var(--text-muted);font-style:italic}.wm-card-badges{display:flex;gap:.4rem;flex-shrink:0}.wm-badge{padding:.18rem .55rem;border-radius:999px;font-size:.68rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;border:1px solid transparent;cursor:default}.wm-badge--default{background:#22c55e24;border-color:#22c55e4d;color:#86efac}.wm-badge--size{background:#94a3b81a;border-color:#94a3b833;color:#cbd5e1;text-transform:none;font-weight:500}.wm-card-body{padding:.85rem 1rem}.wm-field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.65rem}.wm-field label{font-size:.76rem;color:var(--text-muted);margin-bottom:.3rem;font-weight:500}.wm-field .form-control{font-size:.84rem;padding:.55rem .65rem}.wm-field--wide{grid-column:1 / -1}.wm-field-hint{margin-top:.3rem;font-size:.72rem;color:var(--text-muted)}.wm-field-hint code{font-size:.7rem;color:var(--text-secondary)}.wm-advanced-toggle{display:flex;align-items:center;gap:.4rem;border:none;background:transparent;color:var(--text-muted);font-size:.76rem;font-weight:500;cursor:pointer;padding:.55rem 1rem .1rem;transition:color .15s}.wm-advanced-toggle:hover{color:var(--text-secondary)}.wm-advanced-chevron{font-size:.65rem;transition:transform .2s ease;display:inline-block}.wm-advanced-chevron--open{transform:rotate(90deg)}.wm-advanced-body{padding:0 1rem .85rem;animation:wmFadeIn .2s ease}.wm-default-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.82rem;color:var(--text-secondary);padding:.3rem 0}.wm-default-toggle input[type=checkbox]{accent-color:var(--success);width:15px;height:15px;cursor:pointer}.wm-checksum-row{display:grid;grid-template-columns:120px 1fr;gap:.5rem;align-items:start}.wm-card-footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:.55rem 1rem;border-top:1px solid rgba(51,65,85,.4);background:#0f172a26}.wm-loading{text-align:center;padding:3rem 1rem;color:var(--text-muted);font-size:.9rem}.wm-loading-spinner{display:inline-block;width:24px;height:24px;border:2.5px solid rgba(148,163,184,.2);border-top-color:var(--primary);border-radius:50%;animation:wmSpin .7s linear infinite;margin-bottom:.5rem}.btn-accent{background:linear-gradient(135deg,#f59e0b,#f97316);color:#fff;border:none;font-weight:600;transition:opacity .15s,transform .15s}.btn-accent:hover{opacity:.9;transform:translateY(-1px)}.hf-browser{background:var(--bg-card);border:1px solid rgba(251,191,36,.3);border-radius:var(--radius);overflow:hidden;animation:wmSlideIn .35s ease}.hf-browser-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;border-bottom:1px solid rgba(251,191,36,.15);background:linear-gradient(135deg,#fbbf240f,#f973160a)}.hf-browser-head-left{display:flex;align-items:center;gap:.75rem}.hf-browser-icon{font-size:1.5rem;flex-shrink:0}.hf-browser-title{font-size:.98rem;font-weight:700;color:var(--text-primary);margin:0}.hf-browser-subtitle{font-size:.76rem;color:var(--text-muted);margin:.15rem 0 0}.hf-controls{display:flex;align-items:flex-end;justify-content:space-between;gap:.75rem;padding:.85rem 1.15rem;border-bottom:1px solid rgba(51,65,85,.35)}.hf-controls-left{display:flex;gap:.75rem;flex:1}.hf-controls-left .wm-field{min-width:180px}.hf-model-grid{max-height:440px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.25) transparent}.hf-model-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem 1.15rem;border-bottom:1px solid rgba(51,65,85,.25);transition:background .15s}.hf-model-item:last-child{border-bottom:none}.hf-model-item:hover{background:#94a3b80d}.hf-model-item--added{opacity:.55}.hf-model-item-left{display:flex;align-items:center;gap:.65rem;min-width:0;flex:1}.hf-model-tier-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.hf-model-info{min-width:0}.hf-model-name{font-size:.84rem;font-weight:600;color:var(--text-primary);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:JetBrains Mono,SF Mono,Fira Code,monospace}.hf-model-meta{display:flex;align-items:center;gap:.5rem;margin-top:.2rem}.hf-model-size{font-size:.72rem;color:var(--text-muted);font-weight:500}.hf-model-tier-badge{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.1rem .4rem;border-radius:4px;border:1px solid;background:transparent}.hf-model-quant-badge{font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;padding:.1rem .35rem;border-radius:4px;border:1px solid rgba(139,92,246,.3);color:#c4b5fd;background:#8b5cf614}.hf-model-item-right{flex-shrink:0;display:flex;align-items:center;gap:.5rem}.hf-model-added-badge{font-size:.72rem;font-weight:600;color:#86efac;padding:.25rem .6rem;border-radius:6px;background:#22c55e1a;border:1px solid rgba(34,197,94,.2)}.hf-import-status{display:flex;align-items:center;gap:.45rem}.hf-import-spinner{width:14px;height:14px;border:2px solid rgba(251,191,36,.2);border-top-color:#fbbf24;border-radius:50%;animation:wmSpin .7s linear infinite}.hf-import-label{font-size:.74rem;color:#fcd34d;font-weight:500}.hf-import-failed{display:flex;align-items:center;gap:.4rem}.hf-import-error-text{font-size:.74rem;color:#fca5a5;font-weight:600}.hf-browser-footer{padding:.55rem 1.15rem;border-top:1px solid rgba(51,65,85,.3);background:#0f172a26}.hf-browser-footer-hint{font-size:.72rem;color:var(--text-muted);font-weight:500}@keyframes wmFadeIn{0%{opacity:0}to{opacity:1}}@keyframes wmSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes wmSpin{to{transform:rotate(360deg)}}@media(max-width:768px){.wm-meta{grid-template-columns:1fr 1fr}.wm-field-grid,.wm-checksum-row{grid-template-columns:1fr}.wm-card-head{flex-direction:column;align-items:flex-start;gap:.45rem}.hf-controls{flex-direction:column;align-items:stretch}.hf-controls-left{flex-direction:column}.hf-model-item{flex-direction:column;align-items:flex-start;gap:.5rem}.wm-models-header{flex-direction:column;align-items:flex-start}.wm-models-header-actions{width:100%;justify-content:flex-end}}.web-ingest-page{display:flex;flex-direction:column;gap:1rem}.web-ingest-section-card{margin-bottom:0;padding:.5rem 0}.web-ingest-card-title{margin:0;font-size:1rem;font-weight:600}.web-ingest-card-description{margin-top:.3rem;color:var(--text-secondary);font-size:.82rem;max-width:68ch;line-height:1.5}.web-ingest-header-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.web-ingest-date-input{width:160px}.web-ingest-meta-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;color:var(--text-secondary);font-size:.86rem;padding:0 .25rem}.web-ingest-meta-row strong{color:var(--text-primary);font-weight:600}.web-ingest-meta-sep{color:var(--text-muted)}.web-ingest-meta-warn,.web-ingest-meta-warn strong{color:#fbbf24}.web-ingest-dirty-pill{margin-left:auto;padding:.18rem .6rem;border-radius:999px;border:1px solid rgba(234,179,8,.4);background:#eab3081f;color:#fde68a;font-size:.76rem;font-weight:600}.web-ingest-row-muted{color:var(--text-muted)}.web-ingest-order-cell{display:flex;align-items:center;gap:.3rem}.web-ingest-order-badge{font-size:.78rem;font-weight:700;color:var(--text-secondary);min-width:28px}.web-ingest-order-controls{display:flex;flex-direction:column;gap:1px}.web-ingest-icon-btn{width:22px;height:16px;padding:0;border:1px solid var(--border);border-radius:4px;background:#0f172a66;color:var(--text-secondary);font-size:.68rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.web-ingest-icon-btn:hover:not(:disabled){color:var(--text-primary);border-color:#3b82f680}.web-ingest-icon-btn:disabled{opacity:.35;cursor:not-allowed}.web-ingest-plan-toggle{display:inline-flex;align-items:center;justify-content:center;width:100%;cursor:pointer}.web-ingest-plan-toggle input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#3b82f6}.web-ingest-plan-toggle input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.web-ingest-target-cell{min-width:0}.web-ingest-target-name{font-weight:600;color:var(--text-primary)}.web-ingest-target-id{display:inline-block;margin-top:.15rem;font-size:.74rem;color:var(--text-muted)}.web-ingest-target-notes{margin-top:.2rem;color:var(--text-secondary);font-size:.78rem;line-height:1.4}.web-ingest-source-link{font-size:.84rem;word-break:break-all}.web-ingest-dot{display:inline-block;width:10px;height:10px;border-radius:50%}.web-ingest-dot.is-active{background:#22c55e;box-shadow:0 0 0 3px #22c55e26}.web-ingest-dot.is-inactive{background:#64748b}.web-ingest-runs-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem}.web-ingest-run-detail{display:flex;flex-direction:column;gap:1rem}.web-ingest-run-detail-meta{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;color:var(--text-secondary);font-size:.82rem}.web-ingest-form{display:flex;flex-direction:column;gap:1rem}.web-ingest-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.web-ingest-form-grid .form-group,.web-ingest-form .form-group{margin-bottom:0}.web-ingest-form-hint{padding:.7rem .9rem;border:1px dashed var(--border);border-radius:10px;background:#3b82f60f;color:var(--text-secondary);font-size:.82rem;line-height:1.5}.web-ingest-form-hint strong{color:var(--text-primary)}.web-ingest-toggle{display:inline-flex;align-items:center;gap:.55rem;padding:.6rem .8rem;border:1px solid var(--border);border-radius:10px;background:#0f172a73;color:var(--text-primary);cursor:pointer;margin-bottom:0}.web-ingest-toggle span{color:var(--text-primary);font-size:.88rem}@media(max-width:960px){.web-ingest-form-grid{grid-template-columns:1fr}}@media(max-width:768px){.web-ingest-header-actions,.web-ingest-date-input{width:100%}}:root{--bg-body: #0f172a;--bg-card: #1e293b;--bg-card-hover: #334155;--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--primary: #3b82f6;--primary-hover: #2563eb;--danger: #ef4444;--danger-hover: #dc2626;--success: #22c55e;--warning: #eab308;--border: #334155;--radius: 12px;--shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .22), 0 4px 6px -4px rgb(0 0 0 / .22);--font-sans: "Inter", system-ui, -apple-system, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-body);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-hover)}.app-container{display:flex;min-height:100vh}.sidebar{width:270px;background-color:#162238;border-right:1px solid var(--border);display:flex;flex-direction:column;padding:.8rem;position:fixed;height:100vh;top:0;left:0;z-index:80;transition:width .18s ease,transform .2s ease}.sidebar.collapsed{width:74px}.sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.75rem;padding:.25rem .2rem}.logo{font-size:1.45rem;font-weight:800;color:var(--text-primary);background:linear-gradient(to right,#60a5fa,#38bdf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;white-space:nowrap}.logo-sub{font-size:1rem}.sidebar-collapse-btn{border:1px solid var(--border);background:transparent;color:var(--text-secondary);border-radius:8px;width:30px;height:30px;cursor:pointer}.sidebar-collapse-btn:hover{color:var(--text-primary);background:var(--bg-card-hover)}.sidebar-nav{overflow-y:auto;padding-right:.15rem;scrollbar-width:thin}.sidebar-nav::-webkit-scrollbar{width:7px}.sidebar-nav::-webkit-scrollbar-thumb{background:#94a3b859;border-radius:999px}.nav-section{margin-bottom:.75rem;border-radius:10px;padding:.25rem}.nav-section.active{background:#94a3b80f}.nav-section-title{color:var(--text-muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;margin:.3rem .35rem .45rem}.nav-link{display:flex;align-items:center;gap:.6rem;padding:.62rem .7rem;color:var(--text-secondary);border-radius:8px;margin-bottom:.2rem;transition:all .2s;font-size:.9rem}.nav-link:hover,.nav-link.active{background-color:var(--bg-card-hover);color:var(--text-primary)}.nav-link.active{background-color:#3b82f62e;color:#bfdbfe}.nav-icon{width:18px;display:inline-flex;justify-content:center;color:inherit;font-size:.9rem}.sidebar.collapsed .nav-link{justify-content:center;padding-inline:.5rem}.sidebar-footer{margin-top:auto;padding-top:.7rem;border-top:1px solid rgba(148,163,184,.2)}.sidebar-env{color:var(--text-muted);font-size:.72rem;margin-bottom:.55rem}.sidebar-logout{width:100%}.sidebar-mobile-toggle{display:none;position:fixed;top:.7rem;left:.7rem;z-index:110;width:36px;height:36px;border-radius:8px;border:1px solid var(--border);background:#162238;color:var(--text-primary)}.sidebar-overlay{display:none}.main-content{flex:1;margin-left:270px;padding:1.35rem 1.5rem;max-width:1800px;transition:margin-left .18s ease}.app-container.sidebar-collapsed .main-content{margin-left:74px}.card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow);margin-bottom:1rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s;border:none;font-size:.875rem;gap:.4rem}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:var(--primary);color:#fff}.btn-primary:hover{background-color:var(--primary-hover)}.btn-secondary{background-color:transparent;border:1px solid var(--border);color:var(--text-primary)}.btn-secondary:hover{background-color:var(--bg-card-hover)}.btn-danger{background-color:#ef44441f;color:#fda4af;border:1px solid rgba(239,68,68,.28)}.btn-danger:hover{background-color:#ef444433}.btn-sm{padding:.25rem .65rem;font-size:.75rem}.form-group{margin-bottom:1rem}.form-control{width:100%;padding:.66rem .7rem;background-color:var(--bg-body);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:.875rem}.form-control:focus{outline:none;border-color:var(--primary)}label{display:block;margin-bottom:.45rem;font-size:.82rem;color:var(--text-secondary)}.table-container{overflow-x:auto}.table{width:100%;border-collapse:collapse}.table th{text-align:left;padding:.8rem;color:var(--text-secondary);font-weight:500;border-bottom:1px solid var(--border);font-size:.82rem}.table td{padding:.8rem;border-bottom:1px solid rgba(51,65,85,.7);color:var(--text-primary);font-size:.85rem}.table tr:last-child td{border-bottom:none}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.text-center{text-align:center}.mb-4{margin-bottom:1rem}.mb-3{margin-bottom:.75rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.ml-2{margin-left:.5rem}.p-4{padding:1rem}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.section-heading{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.75rem}.section-heading h4{font-size:.9rem;font-weight:600}.section-heading p{font-size:.75rem;color:var(--text-secondary)}.split-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:1rem}.split-layout-wide{display:grid;grid-template-columns:minmax(0,640px) minmax(0,1fr);gap:1rem}.stack{display:flex;flex-direction:column;gap:.75rem}.pill-group{display:flex;flex-wrap:wrap;gap:.5rem}.pill{padding:.35rem .75rem;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s}.pill.active{border-color:var(--primary);background:#3b82f61f;color:#93c5fd}.pill:hover{background:var(--bg-card-hover)}.badge{padding:.2rem .5rem;border-radius:9999px;font-size:.72rem;font-weight:600}.badge-success{background-color:#22c55e24;color:#86efac}.badge-warning{background-color:#eab30824;color:var(--warning)}.badge-danger{background-color:#ef444424;color:var(--danger)}.badge-secondary{background-color:#94a3b826;color:#cbd5e1}.badge-warning{background-color:#eab30826;color:#fde68a}.badge-danger{background-color:#ef444426;color:#fca5a5}.badge-primary{background-color:#3b82f62b;color:#93c5fd}.badge-info{background-color:#0ea5e92e;color:#7dd3fc}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:radial-gradient(circle at top center,#1e293b,#0f172a)}.login-card{width:100%;max-width:400px;background:#1e293bb3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.modal-overlay{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1200;padding:1rem}.modal-content{width:min(92vw,900px);max-height:calc(100vh - 2rem);overflow:auto;border:1px solid var(--border);border-radius:12px;background:var(--bg-card);box-shadow:var(--shadow-lg)}.content-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem}.content-type-card{padding:1rem;cursor:pointer;border:2px solid transparent;border-radius:10px;text-align:left;transition:transform .2s,box-shadow .2s;background:#0f172a4d}.content-type-card:hover{transform:translateY(-2px);box-shadow:0 8px 18px #02061759}.content-type-icon{font-size:2rem;margin-bottom:.45rem}.content-type-title{font-size:1.05rem;margin-bottom:.35rem}.content-type-description{color:var(--text-secondary);font-size:.83rem;line-height:1.4}.toast-stack{position:fixed;top:1rem;right:1rem;z-index:2000;display:flex;flex-direction:column;gap:.55rem}.toast-item{min-width:260px;max-width:420px;border-radius:10px;border:1px solid transparent;padding:.7rem .75rem;box-shadow:0 6px 18px #02061759;display:grid;grid-template-columns:24px 1fr 20px;align-items:center;gap:.5rem;color:#f8fafc}.toast-item.success{background:#16a34aeb;border-color:#86efac4d}.toast-item.error{background:#dc2626eb;border-color:#fca5a54d}.toast-item.info{background:#2563ebeb;border-color:#93c5fd4d}.toast-item.warning{background:#ca8a04eb;border-color:#fde68a4d}.toast-icon{width:24px;height:24px;border-radius:999px;background:#fff3;display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700}.toast-message{font-size:.85rem}.toast-close{border:none;background:transparent;color:inherit;cursor:pointer;font-size:1rem;line-height:1}@media(max-width:1200px){.sidebar{width:74px}.sidebar .nav-section-title,.sidebar .logo-sub,.sidebar .sidebar-env,.sidebar .nav-link span:not(.nav-icon){display:none}.sidebar .nav-link{justify-content:center}.main-content{margin-left:74px}}@media(max-width:1024px){.split-layout,.split-layout-wide{grid-template-columns:1fr}}@media(max-width:768px){.sidebar-mobile-toggle{display:inline-flex;align-items:center;justify-content:center}.sidebar{transform:translate(-100%);width:270px}.sidebar.collapsed{width:270px}.sidebar.open{transform:translate(0)}.sidebar-overlay{position:fixed;inset:0;background:#0206178c;z-index:70;display:none}.sidebar-overlay.open{display:block}.main-content,.app-container.sidebar-collapsed .main-content{margin-left:0;padding:1rem}.toast-stack{right:.6rem;left:.6rem;top:.6rem}.toast-item{min-width:0;width:100%}.sidebar .nav-section-title,.sidebar .logo-sub,.sidebar .sidebar-env,.sidebar .nav-link span:not(.nav-icon){display:initial}.sidebar .nav-link{justify-content:flex-start}}.ktv{display:flex;flex-direction:column;gap:.75rem;font-family:"Plus Jakarta Sans",var(--font-sans)}.ktv-topbar{display:flex;align-items:center;justify-content:space-between;padding:.6rem 0;border-bottom:1px solid var(--border)}.ktv-topbar-left{display:flex;align-items:center;gap:.5rem}.ktv-logo{font-size:1.15rem;font-weight:800;letter-spacing:-.03em;color:var(--text-primary)}.ktv-logo span{font-weight:400;opacity:.6}.ktv-crumb{display:flex;align-items:center;gap:.35rem}.ktv-crumb-sep{color:var(--text-muted);font-size:.85rem}.ktv-crumb-word{font-weight:700;font-size:.95rem}.ktv-topbar-actions{display:flex;align-items:center;gap:.5rem}.ktv-topbar-stat{font-size:.72rem;color:var(--text-muted);padding:.2rem .5rem;border:1px solid var(--border);border-radius:6px}.ktv-pill{display:inline-block;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.15rem .45rem;border-radius:4px;background:#64748b33;color:var(--text-secondary)}.ktv-pill-ok{background:#22c55e26;color:#4ade80}.ktv-pill-warn{background:#eab30826;color:#facc15}.ktv-pill-err{background:#ef444426;color:#f87171}.ktv-pill-muted{background:#64748b26;color:var(--text-muted)}.ktv-toast{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.6rem .85rem;border-radius:8px;font-size:.82rem;border:1px solid var(--border);animation:ktv-slide-in .2s ease-out}.ktv-toast-info{background:#3b82f614;border-color:#3b82f640}.ktv-toast-success{background:#22c55e14;border-color:#22c55e40}.ktv-toast-error{background:#ef444414;border-color:#ef444440}.ktv-toast-body{flex:1}.ktv-toast-steps{margin:.3rem 0 0 1rem;padding:0;font-size:.78rem}.ktv-toast-actions{display:flex;gap:.35rem;flex-shrink:0}@keyframes ktv-slide-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.ktv-tabs{display:flex;align-items:center;gap:.35rem;border-bottom:2px solid var(--border);padding-bottom:.5rem}.ktv-tab{display:flex;align-items:center;gap:.4rem;padding:.4rem .85rem;border:none;border-radius:6px 6px 0 0;background:transparent;color:var(--text-muted);font-weight:600;font-size:.82rem;cursor:pointer;transition:all .15s;border-bottom:2px solid transparent;margin-bottom:-2px}.ktv-tab:hover{color:var(--text-secondary);background:#ffffff08}.ktv-tab-active{color:var(--text-primary);border-bottom-color:var(--primary);background:#3b82f60f}.ktv-tab-done .ktv-tab-num{background:#22c55e40;color:#4ade80}.ktv-tab-num{width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:800;background:#64748b33}.ktv-tab-label{white-space:nowrap}.ktv-tab-nav-controls{margin-left:auto;display:flex;gap:.35rem}.ktv-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.45rem .9rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-card);color:var(--text-primary);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s}.ktv-btn:hover{background:var(--bg-card-hover)}.ktv-btn:disabled{opacity:.4;cursor:not-allowed}.ktv-btn-sm{padding:.25rem .6rem;font-size:.74rem}.ktv-btn-accent{background:var(--primary);border-color:var(--primary);color:#fff}.ktv-btn-accent:hover{background:var(--primary-hover)}.ktv-btn-ghost{background:transparent;border-color:transparent}.ktv-btn-ghost:hover{background:#ffffff0d}.ktv-card{background:linear-gradient(180deg,#0f172af0,#0f172ad1),var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:1.1rem;box-shadow:0 18px 40px #02061738}.ktv-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.75rem}.ktv-card-head h2{font-size:.95rem;font-weight:700;letter-spacing:-.02em}.ktv-card-sub{font-size:.72rem;color:var(--text-muted)}.ktv-input{width:100%;padding:.45rem .65rem;border:1px solid var(--border);border-radius:6px;background:#0f172a80;color:var(--text-primary);font-size:.82rem;outline:none;transition:border-color .15s}.ktv-input:focus{border-color:var(--primary)}.ktv-input-sm{padding:.3rem .5rem;font-size:.78rem}.ktv-textarea{width:100%;padding:.55rem .65rem;border:1px solid var(--border);border-radius:6px;background:#0f172a80;color:var(--text-primary);font-size:.82rem;resize:vertical;outline:none;font-family:inherit}.ktv-textarea:focus{border-color:var(--primary)}.ktv-label{display:block;font-size:.74rem;font-weight:600;color:var(--text-muted);margin-bottom:.3rem;text-transform:uppercase;letter-spacing:.03em}.ktv-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.5rem}.ktv-count{font-size:.72rem;color:var(--text-muted);margin-left:auto}.ktv-muted{font-size:.8rem;color:var(--text-muted)}.ktv-italic{font-style:italic}.ktv-err{font-size:.8rem;color:#f87171;margin:.3rem 0}.ktv-divider{height:1px;background:var(--border);margin:.85rem 0}.ktv-inline-meta{font-size:.74rem;color:var(--text-muted)}.ktv-empty-panel{border:1px dashed rgba(148,163,184,.28);border-radius:10px;padding:.95rem;color:var(--text-muted);font-size:.82rem;background:#0f172a47}.ktv-stage-card{border-color:#3b82f638;background:radial-gradient(circle at top right,rgba(34,197,94,.08),transparent 32%),radial-gradient(circle at top left,rgba(56,189,248,.12),transparent 34%),linear-gradient(180deg,#0a1830f5,#0f172ae0)}.ktv-stage-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);gap:1rem;align-items:start}.ktv-stage-label{display:inline-flex;align-items:center;padding:.22rem .55rem;border-radius:999px;background:#3b82f61f;color:#93c5fd;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.55rem}.ktv-stage-title{font-size:1.18rem;line-height:1.2;letter-spacing:-.03em;margin:0 0 .45rem}.ktv-stage-copy{margin:0;color:var(--text-secondary);font-size:.86rem;line-height:1.6;max-width:62ch}.ktv-stage-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.ktv-stage-stat{border:1px solid rgba(148,163,184,.18);border-radius:12px;padding:.8rem;background:#0f172a6b}.ktv-stage-stat strong{display:block;font-size:1.25rem;margin-top:.2rem}.ktv-stage-stat-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.ktv-dict-stats-bar{display:flex;align-items:center;justify-content:space-between;padding:.6rem 1rem;background:#0f172a66;border:1px solid var(--border);border-radius:8px;margin-bottom:.75rem;gap:1rem}.ktv-dict-stats-bar-left{display:flex;align-items:center;gap:.75rem}.ktv-dict-stats-label{background:var(--primary);color:#fff;font-size:.7rem;font-weight:700;text-transform:uppercase;padding:.2rem .5rem;border-radius:4px;letter-spacing:.04em}.ktv-dict-stats-title{font-weight:500;font-size:.9rem}.ktv-dict-stats-bar-right{display:flex;gap:1.25rem;font-size:.82rem;color:var(--text-secondary)}.ktv-dict-stats-item{white-space:nowrap}.ktv-dict-columns{display:grid;grid-template-columns:340px 1fr;gap:1rem;align-items:start}.ktv-dict-sidebar{display:flex;flex-direction:column;gap:.6rem;position:sticky;top:1rem;max-height:calc(100vh - 160px);overflow-y:auto;scrollbar-width:thin}.ktv-dict-sidebar-section{background:#0f172a40;border:1px solid var(--border);border-radius:10px;padding:.75rem}.ktv-dict-sidebar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.ktv-dict-sidebar-head h3{font-size:.85rem;font-weight:600;margin:0}.ktv-chips-scroll{max-height:260px;overflow-y:auto;scrollbar-width:thin}.ktv-chips-scroll-sm{max-height:160px;overflow-y:auto;scrollbar-width:thin}.ktv-bar-compact{margin-bottom:.35rem}.ktv-dict-workspace{min-height:400px}.ktv-workspace-card{border-color:#6366f140!important}.ktv-workspace-header{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.ktv-dict-inline{font-size:.85rem;padding:.5rem .65rem;margin-bottom:.75rem;background:#6366f10f;border-left:3px solid rgba(99,102,241,.4);border-radius:0 6px 6px 0;line-height:1.5}.ktv-workspace-word{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.25rem}.ktv-workspace-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.ktv-workspace-translation{font-size:.9rem;color:var(--text-secondary)}.ktv-workspace-cta{display:flex;gap:.65rem;margin:1rem 0}.ktv-btn-primary-lg{padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;background:var(--primary);color:#fff;border:none;border-radius:8px;cursor:pointer;flex:1;transition:opacity .15s}.ktv-btn-primary-lg:hover{opacity:.9}.ktv-btn-primary-lg:disabled{opacity:.45;cursor:not-allowed}.ktv-workspace-progress{display:flex;gap:.75rem;padding:.65rem 0;flex-wrap:wrap}.ktv-workspace-progress .ktv-step-item{font-size:.78rem;white-space:nowrap}.ktv-workspace-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;color:var(--text-secondary);background:#0f172a26;border:1px dashed var(--border);border-radius:12px;padding:2rem}.ktv-workspace-empty-icon{font-size:3rem;opacity:.25;margin-bottom:1rem}.ktv-workspace-empty h3{margin:0 0 .5rem;font-size:1.1rem;color:var(--text-primary)}.ktv-workspace-empty p{margin:0;font-size:.85rem;max-width:320px}.ktv-workspace-edit{margin-top:1rem;border-top:1px solid var(--border);padding-top:.75rem}.ktv-workspace-edit summary{cursor:pointer;font-size:.82rem;color:var(--text-secondary);padding:.35rem 0}.ktv-workspace-edit summary:hover{color:var(--text-primary)}.ktv-cefr{padding:.2rem .5rem;border:1px solid var(--border);border-radius:4px;background:transparent;color:var(--text-muted);font-size:.7rem;font-weight:700;cursor:pointer;transition:all .15s}.ktv-cefr:hover{border-color:var(--text-secondary);color:var(--text-secondary)}.ktv-cefr-on{background:#3b82f626;border-color:var(--primary);color:var(--primary)}.ktv-chips{display:flex;flex-wrap:wrap;gap:.3rem;max-height:220px;overflow-y:auto;margin-bottom:.65rem;padding:.3rem}.ktv-chip-group{display:flex;gap:1px}.ktv-chip{padding:.3rem .6rem;border:1px solid var(--border);border-radius:5px;background:#0f172a80;color:var(--text-primary);font-size:.82rem;font-weight:500;cursor:pointer;transition:all .15s}.ktv-chip:hover{border-color:var(--primary);background:#3b82f614}.ktv-chip:disabled{opacity:.4;cursor:not-allowed}.ktv-chip-level{margin-left:.25rem;opacity:.45;font-size:.68rem}.ktv-chip-icon{padding:.3rem .4rem;font-size:.7rem;border-radius:0 5px 5px 0}.ktv-chip-group .ktv-chip:first-child{border-radius:5px 0 0 5px}.ktv-chip-active{border-color:#3b82f68c;background:#3b82f624}.ktv-dict-panel{border:1px solid var(--border);border-radius:8px;padding:.65rem;margin:.65rem 0;background:#0f172a66}.ktv-dict-panel-head{display:flex;align-items:center;justify-content:space-between;font-size:.78rem;color:var(--text-muted);margin-bottom:.3rem}.ktv-dict-panel-body{display:grid;gap:.2rem;font-size:.82rem}.ktv-dict-suggest{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;margin-top:.35rem}.ktv-dict{display:flex;flex-direction:column;gap:.75rem}.ktv-dict-split{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.ktv-dict-toolbar,.ktv-dict-search,.ktv-prompt-actions,.ktv-card-head-actions,.ktv-meta-row,.ktv-mini-actions,.ktv-pagination{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.ktv-dict-toolbar{justify-content:space-between;margin-bottom:.6rem}.ktv-dict-toolbar-main,.ktv-filter-pills{display:flex;flex-wrap:wrap;gap:.4rem}.ktv-dict-search{justify-content:space-between;margin-bottom:.6rem}.ktv-dict-search .ktv-input{flex:1;min-width:220px}.ktv-selected-summary,.ktv-browser-word-card{border:1px solid rgba(59,130,246,.16);border-radius:12px;padding:.85rem;background:linear-gradient(180deg,#0f172a85,#1e293b38);margin-bottom:.75rem}.ktv-selected-word,.ktv-browser-word{font-size:1.1rem;font-weight:800;letter-spacing:-.03em}.ktv-selected-meta{margin-top:.18rem;color:var(--text-secondary);font-size:.84rem}.ktv-selected-example{margin:.55rem 0 0;color:var(--text-secondary);font-size:.8rem;line-height:1.5}.ktv-meta-pill{display:inline-flex;align-items:center;padding:.24rem .52rem;border-radius:999px;border:1px solid rgba(148,163,184,.2);background:#0f172a73;color:var(--text-secondary);font-size:.72rem;font-weight:700}.ktv-wf-list{display:flex;flex-direction:column;gap:.2rem;max-height:420px;overflow-y:auto}.ktv-wf-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.4rem .6rem;border:none;border-radius:5px;background:transparent;color:var(--text-primary);cursor:pointer;transition:background .1s;text-align:left;width:100%;font-size:.82rem}.ktv-wf-row:hover{background:#ffffff0a}.ktv-wf-row-sel{background:#3b82f61a}.ktv-wf-word{font-weight:600}.ktv-wf-main{display:flex;flex-direction:column;gap:.1rem;min-width:0}.ktv-wf-sub{font-size:.74rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ktv-prompt-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.ktv-prompt-word{font-size:1.15rem;font-weight:800;letter-spacing:-.02em;margin-bottom:.2rem}.ktv-source-pill{margin-bottom:.8rem;padding:.45rem .6rem;border-radius:8px;background:#0f172a70;border:1px solid rgba(148,163,184,.14);color:var(--text-muted);font-size:.76rem;overflow-wrap:anywhere}.ktv-prompt-box{border:1px solid rgba(21,94,117,.5);border-radius:12px;padding:0;background:#0b4f6c38;overflow:hidden;transition:border-color .18s ease,background-color .18s ease}.ktv-prompt-box+.ktv-prompt-box{margin-top:.85rem}.ktv-prompt-box.is-editing{border-color:#6366f18c;background:#0f172a8c;box-shadow:0 0 0 3px #6366f114}.ktv-prompt-box-variant{background:#082f492e;border-color:#0e749066}.ktv-prompt-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem .85rem;border-bottom:1px solid rgba(148,163,184,.12);background:#0f172a40}.ktv-prompt-box.is-editing .ktv-prompt-header{background:#6366f11a;border-bottom-color:#6366f140}.ktv-prompt-header-title{display:flex;align-items:center;gap:.5rem;min-width:0}.ktv-prompt-box-title{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.ktv-prompt-mode-badge{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding:.15rem .45rem;border-radius:4px;background:#6366f12e;color:#a5b4fc;border:1px solid rgba(99,102,241,.35)}.ktv-prompt-variant-badge{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:.15rem .45rem;border-radius:4px;background:#0e74902e;color:#7dd3fc;border:1px solid rgba(14,116,144,.4)}.ktv-prompt-actions{display:flex;gap:.4rem;flex-shrink:0}.ktv-prompt-action-btn{background:#ffffff0a;border:1px solid rgba(148,163,184,.18);border-radius:6px;color:var(--text-secondary);padding:.32rem .7rem;font-size:.78rem;font-weight:500;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s;line-height:1}.ktv-prompt-action-btn:hover:not(:disabled){background:#ffffff1a;border-color:#94a3b859;color:var(--text-primary)}.ktv-prompt-action-btn:disabled{opacity:.4;cursor:not-allowed}.ktv-prompt-action-btn.is-active{background:#6366f133;border-color:#6366f180;color:#c7d2fe}.ktv-prompt-footer{display:flex;justify-content:flex-end;padding:.5rem .85rem;border-top:1px solid rgba(148,163,184,.1);background:#0f172a26}.ktv-prompt-diff-toggle{font-size:.74rem;padding:.28rem .6rem}.ktv-prompt-diff-toggle.is-active{background:#22c55e24;border-color:#22c55e66;color:#86efac}.ktv-prompt-box>.ktv-prompt-box-text,.ktv-prompt-box>.ktv-prompt-box-empty{padding:.85rem 1rem;margin:0}.ktv-prompt-box>.ktv-prompt-edit-inline{border:none;border-radius:0;background:#0000002e;padding:.85rem 1rem}.ktv-prompt-box>.ktv-prompt-edit-inline:focus{outline:none;background:#00000047}.ktv-prompt-box-text{font-size:.86rem;line-height:1.6;white-space:pre-wrap;color:var(--text-primary)}.ktv-prompt-box-empty{font-size:.82rem;color:var(--text-muted);font-style:italic}.ktv-prompt-diff-panel{margin:0;padding:.75rem 1rem .85rem;border-top:1px solid rgba(148,163,184,.14);background:#0f172a33}.ktv-prompt-diff-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.ktv-prompt-diff-title{font-size:.78rem;font-weight:700;color:var(--text-primary)}.ktv-prompt-diff-subtitle{margin-top:.12rem;font-size:.72rem;color:var(--text-muted)}.ktv-prompt-diff-badge{flex-shrink:0;padding:.2rem .5rem;border-radius:999px;border:1px solid rgba(148,163,184,.18);font-size:.68rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.ktv-prompt-diff-badge.is-changed{border-color:#22c55e42;background:#22c55e1a;color:#86efac}.ktv-prompt-diff-badge.is-unchanged{border-color:#94a3b82e;background:#0f172a52;color:var(--text-secondary)}.ktv-prompt-diff-scroll{max-height:14rem;overflow:auto;border-radius:8px;border:1px solid rgba(148,163,184,.14);background:#0f172a57;padding:.7rem;font-size:.8rem;line-height:1.6;white-space:pre-wrap}.ktv-prompt-diff-token.is-equal{color:var(--text-secondary)}.ktv-prompt-diff-token.is-remove{color:#fca5a5;background:#7f1d1d47;text-decoration:line-through;text-decoration-thickness:1px}.ktv-prompt-diff-token.is-add{color:#86efac;background:#14532d42}.ktv-prompt-diff-notes{margin-top:.5rem;font-size:.76rem;line-height:1.5;white-space:pre-wrap;color:var(--text-muted)}.ktv-caption-row{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-top:.65rem}.ktv-caption-row>.ktv-caption-preview{margin-top:0}.ktv-caption-preview{margin-top:.65rem;border:1px solid rgba(14,116,144,.35);border-radius:10px;padding:.65rem;background:#082f4947;min-width:0}.ktv-caption-preview-title{font-size:.86rem;font-weight:700;color:var(--text-primary)}.ktv-caption-preview-body{margin-top:.22rem;white-space:pre-wrap;font-size:.8rem;color:var(--text-secondary);line-height:1.45}.ktv-prompt-truncated{max-height:28em;overflow:auto}.ktv-prompt-edit-inline{width:100%;min-height:14em;font-size:.86rem;line-height:1.6;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;resize:vertical}.ktv-caption-inline{font-size:.8rem;padding:.5rem .65rem;margin-top:1rem;margin-bottom:2rem;border-left:3px solid rgba(14,116,144,.5);background:#082f4926;border-radius:0 6px 6px 0;line-height:1.45}.ktv-caption-inline-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-right:.4rem}.ktv-step-list{display:grid;gap:.35rem;margin-top:.8rem}.ktv-step-item{padding:.48rem .65rem;border-radius:8px;border:1px solid rgba(148,163,184,.14);background:#0f172a4d;color:var(--text-muted);font-size:.78rem}.ktv-step-item.is-done{border-color:#22c55e47;color:#86efac;background:#22c55e14}.ktv-step-item.is-skipped{border-color:#eab30847;color:#fcd34d;background:#eab3080f}.ktv-browser{display:flex;flex-direction:column;gap:.75rem}.ktv-browser-top{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.ktv-video-wrap{margin-bottom:.5rem}.ktv-video{width:100%;max-height:340px;border-radius:8px;background:#000}.ktv-dl-list{display:flex;flex-direction:column;gap:.3rem;max-height:240px;overflow-y:auto}.ktv-dl-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.35rem .5rem;border-radius:5px;background:#0f172a66;border:1px solid transparent}.ktv-dl-row-sel{border-color:#3b82f64d;background:#3b82f60f}.ktv-dl-info{display:flex;flex-direction:column;gap:.1rem;min-width:0}.ktv-dl-name{font-size:.78rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ktv-dl-btns{display:flex;gap:.25rem;flex-shrink:0}.ktv-browser-preview-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-top:.45rem}.ktv-browser-preview-name{font-size:.82rem;font-weight:700}.ktv-firefox-wrap{padding:.75rem}.ktv-firefox-tip{margin-bottom:.7rem;padding:.6rem .7rem;border-radius:8px;background:#3b82f614;border:1px solid rgba(59,130,246,.18);color:var(--text-secondary);font-size:.8rem}.ktv-firefox{width:100%;min-height:640px;border:1px solid var(--border);border-radius:8px;background:#0b1220}.ktv-jobs{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.ktv-jobs-full-span{grid-column:1 / -1}.ktv-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.5rem}.ktv-upload-col{border:1px solid var(--border);border-radius:8px;padding:.75rem;text-align:center}.ktv-upload-col-ready{border-color:#22c55e4d;background:#22c55e0a}.ktv-upload-col-title{font-weight:700;font-size:.82rem;margin-bottom:.3rem}.ktv-upload-col-status{font-weight:600;color:#4ade80;font-size:.82rem}.ktv-job-card{border:1px solid var(--border);border-radius:8px;padding:.65rem;background:#0f172a4d;margin-bottom:.65rem}.ktv-job-running{border-color:#eab3084d}.ktv-job-completed{border-color:#22c55e4d}.ktv-job-failed{border-color:#ef44444d}.ktv-job-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem}.ktv-job-card-body{display:grid;gap:.2rem;font-size:.76rem;color:var(--text-secondary)}.ktv-target-lane{display:flex;flex-direction:column;gap:.75rem}.ktv-target-lane-head-actions{display:flex;align-items:center;gap:.4rem}.ktv-target-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-top:auto}.ktv-job-error{margin-top:.4rem;padding:.4rem;border-radius:6px;border:1px solid rgba(239,68,68,.25);background:#ef444414;color:#fca5a5;font-size:.76rem}.ktv-log{border:1px solid var(--border);border-radius:8px;padding:.5rem;background:#0f172a66;max-height:200px;overflow-y:auto}.ktv-log-lane{max-height:220px}.ktv-log-tall{max-height:320px}.ktv-log-title{font-size:.74rem;font-weight:700;color:var(--text-muted);margin-bottom:.3rem;text-transform:uppercase;letter-spacing:.03em}.ktv-log-line{font-size:.74rem;color:var(--text-secondary);line-height:1.4;font-family:JetBrains Mono,Fira Code,monospace}.ktv-compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.ktv-jobs-source-note{margin-bottom:.75rem}.ktv-compare-col{border:1px solid var(--border);border-radius:8px;padding:.55rem;background:#0f172a52}.ktv-compare-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.4rem;margin-bottom:.45rem}.ktv-compare-actions{display:flex;align-items:center;gap:.3rem}.ktv-compare-video{max-height:360px}.ktv-compare-empty{min-height:180px;border:1px dashed var(--border);border-radius:8px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--text-muted);font-size:.78rem;padding:.6rem;background:#0f172a33}.ktv-overlay{position:fixed;inset:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1000;animation:ktv-fade-in .15s ease-out}.ktv-modal{width:680px;max-width:92vw;max-height:85vh;overflow-y:auto;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.25rem}.ktv-modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.85rem}.ktv-modal-head h2{font-size:1rem;font-weight:700}.ktv-modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-muted);line-height:1}.ktv-form-row{display:flex;gap:.5rem}.ktv-form-field{flex:1}.ktv-processing-modal{max-width:42rem}.ktv-processing-option-list{display:grid;gap:.65rem;margin-top:.75rem}.ktv-processing-option-row{display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:flex-start;padding:.75rem;border:1px solid rgba(148,163,184,.18);border-radius:10px;background:#0f172a47;cursor:pointer}.ktv-processing-option-row input{margin-top:.15rem}.ktv-processing-option-title{font-size:.86rem;font-weight:700;color:var(--text-primary)}.ktv-processing-option-desc{margin-top:.2rem;font-size:.78rem;line-height:1.45;color:var(--text-muted)}.ktv-processing-summary{margin-top:.85rem;font-size:.8rem;color:var(--text-secondary)}.ktv-processing-modal-actions{justify-content:flex-end;margin-top:1rem}@keyframes ktv-fade-in{0%{opacity:0}to{opacity:1}}.ktv-wf-row-delete{opacity:0;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:.2rem .4rem;font-size:.8rem;transition:opacity .15s}.ktv-wf-row:hover .ktv-wf-row-delete{opacity:.6}.ktv-wf-row-delete:hover{opacity:1!important;color:#ef4444}.ktv-processing-placeholder{display:flex;align-items:center;justify-content:center;min-height:200px;background:#0f172a4d;border:1px dashed var(--border);border-radius:8px;color:var(--text-secondary);font-size:.85rem}.ktv-publish-actions{display:flex;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.ktv-lane-steps{display:flex;flex-direction:column;gap:.4rem;margin:.75rem 0;padding:.5rem 0;border-top:1px solid var(--border)}.ktv-lane-step{display:flex;align-items:flex-start;gap:.5rem;font-size:.8rem;line-height:1.4}.ktv-lane-step-copy{flex:1;min-width:0}.ktv-lane-step-icon{width:1.2em;text-align:center;flex-shrink:0;font-weight:600}.ktv-lane-step.is-done .ktv-lane-step-icon{color:#86efac}.ktv-lane-step.is-running .ktv-lane-step-icon{color:var(--primary);animation:ktv-pulse 1.5s infinite}.ktv-lane-step.is-failed .ktv-lane-step-icon{color:#ef4444}.ktv-lane-step.is-pending .ktv-lane-step-icon{color:var(--text-secondary);opacity:.4}.ktv-lane-step-label{font-weight:500}.ktv-lane-step-detail{display:block;font-size:.72rem;color:var(--text-secondary);margin-top:.1rem}.ktv-lane-step.is-failed .ktv-lane-step-detail{color:#ef4444}.ktv-lane-step-retry{margin-left:auto;flex-shrink:0}@keyframes ktv-pulse{0%,to{opacity:1}50%{opacity:.4}}@media(max-width:1100px){.ktv-stage-grid,.ktv-stage-stats,.ktv-dict-split,.ktv-browser-top,.ktv-jobs,.ktv-upload-grid,.ktv-compare-grid{grid-template-columns:1fr}}.skeleton-row{height:44px;background:linear-gradient(90deg,#1e293b 20%,#334155 42%,#1e293b 65%);background-size:400% 100%;border-radius:8px;margin-bottom:6px;animation:shimmer 1.4s ease infinite}.skeleton-card{height:120px;border-radius:10px;background:linear-gradient(90deg,#1e293b 20%,#334155 42%,#1e293b 65%);background-size:400% 100%;animation:shimmer 1.4s ease infinite}.skeleton-pill{width:80px;height:18px;border-radius:999px;background:linear-gradient(90deg,#1e293b 20%,#334155 42%,#1e293b 65%);background-size:400% 100%;animation:shimmer 1.4s ease infinite}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.ui-modal-backdrop,.ui-slide-panel-backdrop{position:fixed;inset:0;background:#020617a6;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:1200;display:flex;align-items:center;justify-content:center;padding:1rem}.ui-modal{width:min(92vw,720px);border-radius:14px;border:1px solid var(--border);background:var(--bg-card);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:calc(100vh - 2rem);animation:uiModalIn .18s ease-out}.ui-modal--sm{width:min(92vw,420px)}.ui-modal--md{width:min(92vw,620px)}.ui-modal--lg{width:min(94vw,840px)}.ui-modal--xl{width:min(95vw,1080px)}.ui-modal--scenario-builder{width:min(96vw,1320px)}.scenario-builder-layout{display:grid;grid-template-columns:1fr 340px;gap:1.25rem;min-height:500px}.scenario-builder-editor{min-width:0}.scenario-builder-preview{position:sticky;top:0;align-self:start}.phone-frame{width:300px;aspect-ratio:9 / 16;border-radius:28px;border:3px solid rgba(100,116,139,.5);background:#0f172a;overflow:hidden;position:relative;margin:0 auto;box-shadow:0 8px 32px #0006,inset 0 0 0 1px #ffffff0d}.phone-frame-scene{position:absolute;inset:0;background-size:cover;background-position:center}.phone-frame-overlay{position:absolute;inset:0;background:linear-gradient(180deg,#00000026,#0000000d 40%,#00000073)}.phone-frame-header{position:absolute;top:12px;left:12px;right:12px;display:flex;justify-content:space-between;align-items:center;z-index:5}.phone-frame-btn{width:28px;height:28px;border-radius:14px;background:#fffc;border:1px solid rgba(0,0,0,.08);display:flex;align-items:center;justify-content:center;font-size:.65rem;color:#1e293b}.phone-frame-avatar-area{position:absolute;top:38%;display:flex;flex-direction:column;align-items:center;gap:8px;z-index:5}.phone-frame-avatar-area.pos-left{left:14px}.phone-frame-avatar-area.pos-right{right:14px}.phone-frame-avatar-area.pos-center{left:50%;transform:translate(-50%)}.phone-frame-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.7);box-shadow:0 2px 8px #00000040}.phone-frame-wave{display:flex;align-items:flex-end;gap:2px;height:20px}.phone-frame-wave-bar{width:3px;border-radius:2px;background:#ffffffb3}.phone-frame-fallback-badge{position:absolute;top:48px;left:50%;transform:translate(-50%);z-index:9;font-size:.45rem;color:#e2e8f0;background:#0f172ab3;border:1px solid rgba(148,163,184,.35);border-radius:999px;padding:2px 8px}.phone-frame-message-stack{position:absolute;inset:62px 10px 68px;z-index:8;display:flex;flex-direction:column;gap:10px;pointer-events:none}.phone-frame-message-row{width:100%;display:flex;flex-direction:column;gap:4px}.phone-frame-message-row.align-left{align-items:flex-start}.phone-frame-message-row.align-right{align-items:flex-end}.phone-frame-message-bubble{max-width:76%;border-radius:13px;padding:6px 8px;font-size:.5rem;line-height:1.25;text-shadow:0 1px 2px rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.2)}.phone-frame-message-bubble.agent{color:#f8fafc;background:#0f172a9e}.phone-frame-message-bubble.user{color:#e2f7ff;background:#082f499e}.phone-frame-message-actions{display:flex;align-items:center;gap:4px}.phone-frame-message-actions.align-left{justify-content:flex-start}.phone-frame-message-actions.align-right{justify-content:flex-end;flex-direction:row-reverse}.phone-frame-mini-avatar{width:16px;height:16px;border-radius:50%;border:1px solid rgba(255,255,255,.55);background-color:#ffffff2e;background-size:cover;background-position:center;color:#f8fafc;font-size:.45rem;line-height:1;display:inline-flex;align-items:center;justify-content:center}.phone-frame-mini-avatar.user{background:#1e40afa6}.phone-frame-action-btn{font-size:.45rem;line-height:1;min-width:16px;height:16px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:#e2e8f0;background:#0f172a94;border:1px solid rgba(148,163,184,.35)}.phone-frame-transcript{position:absolute;bottom:70px;padding:0 14px;z-index:5}.phone-frame-transcript.pos-left{left:0;right:40%}.phone-frame-transcript.pos-right,.phone-frame-transcript.pos-center{left:0;right:0}.phone-frame-transcript-line{font-size:.55rem;line-height:1.3;color:#f8fafc;text-shadow:0 1px 3px rgba(0,0,0,.6);margin-bottom:3px}.phone-frame-transcript-role{color:#fff9}.phone-frame-bottom{position:absolute;bottom:0;left:0;right:0;height:62px;background:#f8fafc;border-radius:0 0 22px 22px;z-index:5;display:flex;align-items:center;padding:0 12px;gap:6px}.phone-frame-cards{display:flex;gap:6px;overflow:hidden;flex:1}.phone-frame-card{min-width:80px;padding:4px 6px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;font-size:.45rem;line-height:1.2;color:#1e293b}.phone-frame-no-scene{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted);font-size:.75rem;gap:.4rem}.phone-frame-no-scene-icon{font-size:1.5rem;opacity:.5}.phone-frame-char-indicator{position:absolute;top:25%;height:45%;width:50px;border:2px dashed rgba(59,130,246,.4);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:.5rem;color:#3b82f699;background:#3b82f60a;z-index:3}.phone-frame-char-indicator.pos-left{left:12px}.phone-frame-char-indicator.pos-right{right:12px}.phone-frame-char-indicator.pos-center{left:50%;transform:translate(-50%)}.preview-label{text-align:center;color:var(--text-muted);font-size:.72rem;margin-top:.6rem}.phone-frame-click-zone{border:2px solid transparent;background:transparent;transition:all .15s ease}.phone-frame-click-zone:hover{border-color:#3b82f699;background:#3b82f61a}.phone-frame-zone-label{font-size:.4rem;color:transparent;background:transparent;padding:1px 4px;border-radius:3px;transition:all .15s ease}.phone-frame-click-zone:hover .phone-frame-zone-label{color:#3b82f6e6;background:#00000080}@media(max-width:900px){.scenario-builder-layout{grid-template-columns:1fr}.scenario-builder-preview{display:none}}.ui-modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.ui-modal-title{margin:0;font-size:1.1rem;font-weight:700}.ui-modal-subtitle{margin:.25rem 0 0;color:var(--text-secondary);font-size:.86rem}.ui-modal-close{border:1px solid var(--border);background:transparent;color:var(--text-secondary);width:30px;height:30px;border-radius:8px;cursor:pointer;font-size:1rem}.ui-modal-close:hover{background:var(--bg-card-hover);color:var(--text-primary)}.ui-modal-body{padding:1.1rem 1.25rem;overflow:auto}.ui-modal-footer{border-top:1px solid var(--border);padding:.9rem 1.25rem;display:flex;justify-content:flex-end;gap:.6rem}.ui-publish-footer{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.ui-publish-footer-left,.ui-publish-footer-right{display:flex;align-items:center;gap:.6rem}.ui-publish-footer-right{margin-left:auto}.ui-slide-panel{margin-left:auto;height:calc(100vh - 2rem);max-width:100%;border-radius:14px;border:1px solid var(--border);background:var(--bg-card);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;animation:uiSlidePanelIn .2s ease-out}.ui-slide-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;padding:1rem 1.1rem;border-bottom:1px solid var(--border)}.ui-slide-panel-title{margin:0;font-size:1.1rem;font-weight:700}.ui-slide-panel-subtitle{margin:.2rem 0 0;color:var(--text-secondary);font-size:.83rem}.ui-slide-panel-close{border:1px solid var(--border);background:transparent;color:var(--text-secondary);width:30px;height:30px;border-radius:8px;cursor:pointer;font-size:1rem}.ui-slide-panel-close:hover{background:var(--bg-card-hover);color:var(--text-primary)}.ui-slide-panel-content{flex:1;overflow:auto;padding:1rem 1.1rem}.ui-slide-panel-footer{border-top:1px solid var(--border);padding:.8rem 1.1rem;display:flex;justify-content:flex-end;gap:.6rem}.ui-tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--border);overflow-x:auto}.ui-tab{border:none;border-bottom:2px solid transparent;background:transparent;color:var(--text-secondary);padding:.6rem .9rem;display:inline-flex;align-items:center;gap:.45rem;cursor:pointer;font-size:.85rem;white-space:nowrap}.ui-tab:hover{color:var(--text-primary);background:#94a3b814}.ui-tab.is-active{color:var(--primary);border-bottom-color:var(--primary)}.ui-tab:disabled{opacity:.5;cursor:not-allowed}.ui-tab-badge{min-width:18px;padding:0 .35rem;border-radius:999px;background:#3b82f629;font-size:.72rem}.ui-tooltip{position:relative;display:inline-flex}.ui-tooltip-trigger{display:inline-flex}.ui-tooltip-content{position:absolute;z-index:1300;background:#020617;color:#f8fafc;border:1px solid #334155;padding:.35rem .55rem;border-radius:6px;font-size:.72rem;line-height:1.2;opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .16s ease,transform .16s ease;width:max-content;max-width:240px}.ui-tooltip:hover .ui-tooltip-content,.ui-tooltip:focus-within .ui-tooltip-content{opacity:1;transform:translateY(0)}.ui-tooltip--top .ui-tooltip-content{bottom:calc(100% + 8px);left:50%;transform:translate(-50%,-4px)}.ui-tooltip--bottom .ui-tooltip-content{top:calc(100% + 8px);left:50%;transform:translate(-50%,4px)}.ui-tooltip--left .ui-tooltip-content{right:calc(100% + 8px);top:50%;transform:translate(-4px,-50%)}.ui-tooltip--right .ui-tooltip-content{left:calc(100% + 8px);top:50%;transform:translate(4px,-50%)}.ui-dropdown{display:flex;flex-direction:column;gap:.35rem}.ui-dropdown-label{font-size:.8rem;color:var(--text-secondary)}.ui-dropdown-select-wrap{position:relative}.ui-dropdown-select{appearance:none;width:100%;padding:.65rem 2rem .65rem .7rem;border-radius:8px;border:1px solid var(--border);background:var(--bg-body);color:var(--text-primary)}.ui-dropdown-select:focus{outline:none;border-color:var(--primary)}.ui-dropdown-chevron{position:absolute;right:.68rem;top:50%;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none}.ui-range-slider{display:flex;flex-direction:column;gap:.35rem}.ui-range-slider-meta{display:flex;justify-content:space-between;align-items:center;color:var(--text-secondary);font-size:.8rem}.ui-range-slider-input{width:100%}.ui-page-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap;margin-bottom:1rem}.ui-page-header-title{margin:0;font-size:1.85rem;line-height:1.1}.ui-page-header-contexts{display:flex;gap:.5rem;margin-bottom:.45rem}.ui-page-header-context-chip{display:inline-flex;align-items:center;border:1px solid var(--border-color);border-radius:999px;padding:.24rem .7rem;font-size:.74rem;font-weight:600;color:var(--text-secondary);background:#ffffffa6}.ui-page-header-description{margin:.35rem 0 0;color:var(--text-secondary)}.ui-page-header-actions{display:flex;gap:.6rem;align-items:center}.ui-page-header-breadcrumbs{color:var(--text-muted);font-size:.74rem;margin-bottom:.25rem}.ui-page-header-sep{margin:0 .35rem}.ui-page-header-meta{margin-top:.45rem;color:var(--text-secondary)}.ui-empty-state{padding:2rem 1rem;text-align:center}.ui-empty-state-icon{font-size:2rem;margin-bottom:.35rem}.ui-empty-state-title{margin:0;font-size:1.05rem}.ui-empty-state-description{margin:.35rem auto 0;color:var(--text-secondary);max-width:520px}.ui-empty-state-action{margin-top:.9rem}.ui-data-table-sort{border:none;background:transparent;color:inherit;display:inline-flex;align-items:center;gap:.3rem;cursor:pointer;font:inherit;padding:0}.ui-data-table-sort-indicator{color:var(--text-muted);font-size:.75rem}.ui-data-table-empty{text-align:center;color:var(--text-muted);padding:2rem}.ui-data-table-footer{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding-top:.75rem}.ui-status-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.2rem .55rem;font-size:.72rem;font-weight:600;text-transform:capitalize;border:1px solid transparent}.ui-status-badge--success{color:#86efac;background:#22c55e24;border-color:#22c55e4d}.ui-status-badge--warning{color:#fde68a;background:#eab30826;border-color:#eab3084d}.ui-status-badge--danger{color:#fca5a5;background:#ef444426;border-color:#ef44444d}.ui-status-badge--neutral{color:#cbd5e1;background:#94a3b81f;border-color:#94a3b847}.ui-status-badge--info{color:#93c5fd;background:#3b82f626;border-color:#3b82f64d}.ui-confirm-dialog-message{color:var(--text-secondary);font-size:.92rem}@keyframes uiModalIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes uiSlidePanelIn{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}@media(max-width:768px){.ui-modal-backdrop,.ui-slide-panel-backdrop{padding:.5rem}.ui-slide-panel{width:100%!important;height:100%;border-radius:10px}}
