*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #f5f3f0;--color-surface: #ffffff;--color-surface-raised: #fafaf8;--color-border: #e0ddd8;--color-border-light: #eae8e4;--color-text: #1a1814;--color-text-muted: #7a746a;--color-text-secondary: #5c574f;--color-primary: #0d7377;--color-primary-hover: #0a5c5f;--color-primary-light: #e6f4f4;--color-primary-subtle: #d0eded;--color-accent: #d97706;--color-accent-light: #fef3c7;--color-family: #6d5bba;--color-family-bg: #f1eefb;--color-family-text: #4a3d8f;--color-model: #2882b5;--color-model-bg: #edf6fc;--color-model-text: #1a5f85;--color-genre: #2d8a5e;--color-genre-bg: #edf8f2;--color-genre-text: #1e6b47;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--shadow-sm: 0 1px 3px rgba(26, 24, 20, .04), 0 1px 2px rgba(26, 24, 20, .03);--shadow-md: 0 4px 12px rgba(26, 24, 20, .06), 0 2px 4px rgba(26, 24, 20, .04);--shadow-lg: 0 8px 24px rgba(26, 24, 20, .08), 0 4px 8px rgba(26, 24, 20, .04);--shadow-glow: 0 0 0 3px rgba(13, 115, 119, .12)}body{font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--color-bg);color:var(--color-text);min-height:100vh;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:linear-gradient(135deg,#0d7377,#0a5c5f,#084547);padding:0 2rem;height:60px;display:flex;align-items:center;position:sticky;top:0;z-index:50;box-shadow:0 2px 12px #0d737733}.app-header-inner{display:flex;align-items:center;gap:2rem;max-width:860px;width:100%;margin:0 auto}.header-user{margin-left:auto;display:flex;align-items:center;gap:.75rem}.header-user-name{font-size:.8rem;color:#fffc;font-weight:500}.app-title{font-size:1.15rem;font-weight:700;color:#fff;letter-spacing:-.02em;display:flex;align-items:center;gap:.5rem}.app-title:before{content:"";display:inline-block;width:8px;height:8px;background:var(--color-accent);border-radius:50%;box-shadow:0 0 6px #d9770680}.header-nav{display:flex;gap:.25rem}.header-nav-item{padding:.4rem 1rem;background:none;border:none;border-radius:var(--radius-sm);font-size:.84rem;font-weight:500;color:#ffffffa6;cursor:pointer;transition:all .2s ease;line-height:1.4}.header-nav-item:hover:not(:disabled){background:#ffffff1a;color:#ffffffe6}.header-nav-item--active{background:#ffffff2e;color:#fff}.header-nav-item--active:hover:not(:disabled){background:#ffffff38;color:#fff}.app-header .btn--ghost{color:#fff9;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-sm)}.app-header .btn--ghost:hover:not(:disabled){background:#ffffff1a;color:#ffffffe6;border-color:#ffffff4d}.tsv-output{width:100%;height:400px;font-family:JetBrains Mono,Fira Code,Courier New,monospace;font-size:.75rem;line-height:1.6;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.85rem;resize:vertical;color:var(--color-text);background:var(--color-surface);cursor:text;transition:border-color .2s ease,box-shadow .2s ease}.tsv-output:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-glow)}.export-level-selector{display:flex;align-items:center;gap:.75rem}.export-level-label{font-size:.82rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em}.export-level-options{display:flex;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm)}.export-level-btn{padding:.45rem 1.1rem;background:var(--color-surface);border:none;font-size:.82rem;font-weight:500;color:var(--color-text-muted);cursor:pointer;transition:all .2s ease}.export-level-btn+.export-level-btn{border-left:1px solid var(--color-border)}.export-level-btn:hover:not(.export-level-btn--active){background:var(--color-surface-raised);color:var(--color-text)}.export-level-btn--active{background:var(--color-primary);color:#fff;box-shadow:inset 0 1px 2px #0000001a}.export-option{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--color-text);cursor:pointer}.export-option input[type=checkbox]{accent-color:var(--color-primary);width:16px;height:16px}.export-go-row{display:flex;align-items:center;gap:.75rem}.tsv-output--sql{height:200px;background:#f8f7f5;color:var(--color-text-secondary);font-size:.74rem}.export-picker{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm)}.export-picker-toolbar{display:flex;align-items:center;justify-content:space-between;padding:.55rem .85rem;background:var(--color-surface-raised);border-bottom:1px solid var(--color-border-light)}.export-tree{max-height:340px;overflow-y:auto;padding:.4rem;display:flex;flex-direction:column;gap:2px;background:var(--color-surface)}.export-tree-group{display:flex;flex-direction:column;gap:2px}.export-tree-item{display:flex;align-items:center;gap:.5rem;padding:.4rem .65rem;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s ease;font-size:.85rem}.export-tree-item:hover{background:var(--color-surface-raised)}.export-tree-item--l1{font-weight:600;color:var(--color-family-text)}.export-tree-item--l2{margin-left:2rem;font-weight:500;color:var(--color-model-text)}.export-tree-family-label{display:flex;align-items:center;gap:.5rem;flex:1;cursor:pointer;min-width:0}.export-tree-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.export-tree-children{display:flex;flex-direction:column;gap:2px}.export-tree input[type=checkbox],.export-tree input[type=radio]{accent-color:var(--color-primary);width:16px;height:16px;flex-shrink:0;cursor:pointer}.app-main{flex:1;padding:1.75rem 2rem 3rem}.page{max-width:860px;margin:0 auto;display:flex;flex-direction:column;gap:1.25rem}.stats-bar{display:flex;align-items:center;gap:1.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:.85rem 1.75rem;box-shadow:var(--shadow-sm)}.stat{display:flex;align-items:baseline;gap:.5rem}.stat-value{font-size:1.4rem;font-weight:700;color:var(--color-primary)}.stat-label{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.stat-divider{width:1px;height:28px;background:var(--color-border)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;display:flex;flex-direction:column;gap:1rem;box-shadow:var(--shadow-md)}.card h2{font-size:.95rem;font-weight:700;color:var(--color-text);letter-spacing:-.01em}.card-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem}.toolbar-actions{display:flex;align-items:center;gap:.4rem}.hierarchy-search{position:relative}.hierarchy-search-input{width:200px;font-size:.85rem;padding:.3rem .6rem}.hierarchy-search-dropdown{position:absolute;top:100%;right:0;z-index:100;margin-top:.3rem;min-width:260px;max-height:320px;overflow-y:auto;background:#fff;border:1px solid var(--color-border, #e0dcd7);border-radius:6px;box-shadow:0 4px 16px #0000001f}.hierarchy-search-empty{padding:.75rem 1rem;color:var(--color-text-muted, #6b6660);font-size:.85rem}.hierarchy-search-section{padding:.3rem 0}.hierarchy-search-section+.hierarchy-search-section{border-top:1px solid var(--color-border, #e0dcd7)}.hierarchy-search-label{padding:.3rem 1rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted, #6b6660)}.hierarchy-search-item{display:block;width:100%;text-align:left;padding:.4rem 1rem;font-size:.88rem;background:none;border:none;cursor:pointer;color:var(--color-text, #1a1a1a)}.hierarchy-search-item:hover{background:var(--color-bg-hover, #f5f3f0)}.btn{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-sm);font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;line-height:1}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--sm{padding:.45rem 1rem;font-size:.8rem}.btn--xs{padding:.3rem .65rem;font-size:.75rem}.btn--primary{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-hover) 100%);color:#fff;box-shadow:0 1px 3px #0d737740}.btn--primary:hover:not(:disabled){background:linear-gradient(135deg,var(--color-primary-hover) 0%,#084547 100%);box-shadow:0 2px 6px #0d73774d;transform:translateY(-.5px)}.btn--primary:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px #0d737733}.btn--ghost{background:transparent;color:var(--color-text-muted);padding:.2rem .5rem}.btn--ghost:hover:not(:disabled){background:var(--color-primary-light);color:var(--color-primary)}.btn--outline{background:var(--color-surface);color:var(--color-text-muted);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.btn--outline:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-light)}.tree{display:flex;flex-direction:column;gap:3px}.tree-node{display:flex;flex-direction:column}.tree-children{display:flex;flex-direction:column;gap:3px;margin-top:3px}.tree-row{display:flex;align-items:center;gap:.5rem;min-height:2.4rem;padding:.4rem .85rem;border-radius:var(--radius-md);transition:all .15s ease}.tree-row:not(.tree-row--add):hover{box-shadow:var(--shadow-sm)}.tree-row--l2{margin-left:1.75rem}.tree-row--l3{margin-left:3.5rem}.tree-row--l1:not(.tree-row--add){background:var(--color-family-bg);border-left:3px solid var(--color-family)}.tree-row--l1:not(.tree-row--add):hover{background:#ece8f8}.tree-row--l2:not(.tree-row--add){background:var(--color-model-bg);border-left:3px solid var(--color-model)}.tree-row--l2:not(.tree-row--add):hover{background:#e2f1fa}.tree-row--l3:not(.tree-row--add){background:var(--color-genre-bg);border-left:3px solid var(--color-genre)}.tree-row--l3:not(.tree-row--add):hover{background:#ddf4ea}.tree-row--highlight{animation:search-highlight 2.5s ease-out}@keyframes search-highlight{0%{background:#0d737740;box-shadow:0 0 8px #0d737766}40%{background:#0d737726;box-shadow:0 0 4px #0d737733}to{background:transparent;box-shadow:none}}.family-progress-ring{display:inline-flex;align-items:center;gap:.25rem;margin-left:.3rem;flex-shrink:0}.family-progress-ring svg{display:block}.family-progress-pct{font-size:.75rem;font-weight:600;color:var(--color-text-muted, #6b6660);width:2.5em;text-align:right}.tree-chevron{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;padding:0;background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;flex-shrink:0;color:inherit;transition:all .15s ease}.tree-chevron:hover{background:#00000012}.tree-chevron svg{width:12px;height:12px;transition:transform .2s ease}.tree-chevron svg.chevron-open{transform:rotate(90deg)}.tree-row--l1 .tree-chevron{color:var(--color-family)}.tree-row--l2 .tree-chevron{color:var(--color-model)}.tree-chevron-spacer{display:inline-block;width:1.35rem;flex-shrink:0}.tree-label{font-size:.875rem;flex:1;min-width:0}.tree-row--l1 .tree-label{font-weight:600;color:var(--color-family-text)}.tree-row--l2 .tree-label{font-weight:500;color:var(--color-model-text)}.tree-row--l3 .tree-label{font-weight:400;color:var(--color-genre-text)}.tree-badge{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.15rem .5rem;border-radius:10px;flex-shrink:0;margin-left:auto}.tree-badge--family{color:var(--color-family);background:#6d5bba1f}.tree-badge--model{color:var(--color-model);background:#2882b51f}.tree-badge--genre{color:var(--color-genre);background:#2d8a5e1f}.tree-count{font-size:.7rem;font-weight:600;border-radius:10px;padding:.12rem 0;flex-shrink:0;min-width:2.2rem;text-align:center;color:var(--color-model-text);background:#2882b51f}.tree-count--family{color:var(--color-family-text);background:#6d5bba1f}.add-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .75rem;background:none;border:1.5px dashed var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:.78rem;font-weight:600;cursor:pointer;transition:all .2s ease}.add-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-light);border-style:solid}.add-btn-icon{font-size:.95rem;line-height:1;font-weight:700}.inline-form{display:flex;align-items:center;gap:.4rem;flex:1}.inline-input{padding:.35rem .65rem;border:2px solid var(--color-primary);border-radius:var(--radius-sm);font-size:.85rem;width:260px;background:#fff;outline:none;transition:box-shadow .2s ease}.inline-input:focus{box-shadow:var(--shadow-glow)}.toast{position:fixed;bottom:28px;right:28px;display:flex;align-items:center;gap:.6rem;padding:.75rem 1.25rem;border-radius:var(--radius-md);font-size:.85rem;font-weight:600;box-shadow:var(--shadow-lg);z-index:1000;animation:toast-in .3s cubic-bezier(.16,1,.3,1)}.toast--success{background:linear-gradient(135deg,#059669,#047857);color:#fff}.toast--error{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff}.toast-icon{font-weight:700;font-size:.95rem}@keyframes toast-in{0%{opacity:0;transform:translateY(12px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.loading-state{display:flex;align-items:center;gap:.75rem;padding:1.25rem 0;color:var(--color-text-muted);font-size:.875rem}.spinner{width:20px;height:20px;border:2.5px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.meta{font-size:.82rem;color:var(--color-text-muted)}.error{color:#b91c1c;font-size:.875rem;font-weight:600}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#f5f3f0,#e8e4df,#ddd8d0)}.login-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:3rem 2.5rem;width:100%;max-width:380px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;align-items:center;gap:.5rem}.login-title{font-size:1.5rem;font-weight:700;color:var(--color-text);letter-spacing:-.02em}.login-subtitle{font-size:.875rem;color:var(--color-text-muted);margin-bottom:1.25rem}.login-error{width:100%;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-sm);padding:.6rem .8rem;color:#b91c1c;font-size:.82rem;font-weight:500;display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.login-error-dismiss{background:none;border:none;color:#b91c1c;font-size:1.1rem;cursor:pointer;padding:0 .2rem;line-height:1}.btn-google{display:inline-flex;align-items:center;gap:.7rem;padding:.7rem 1.6rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.9rem;font-weight:600;color:var(--color-text);cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm)}.btn-google:hover{background:var(--color-surface-raised);border-color:#b8b3ab;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-google:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.export-tree::-webkit-scrollbar,.tree::-webkit-scrollbar{width:6px}.export-tree::-webkit-scrollbar-track,.tree::-webkit-scrollbar-track{background:transparent}.export-tree::-webkit-scrollbar-thumb,.tree::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.export-tree::-webkit-scrollbar-thumb:hover,.tree::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.onboarding-groups{display:flex;flex-direction:column;gap:.75rem}.onboarding-group{border:1px solid var(--color-border, #e0ddd8);border-radius:10px;overflow:hidden;background:var(--color-surface, #fff)}.onboarding-group-header{width:100%;display:flex;align-items:center;gap:.7rem;padding:.7rem .9rem;background:transparent;border:none;cursor:pointer;text-align:left;font:inherit;color:inherit;transition:background-color .15s ease}.onboarding-group-header:hover{background:#0d73770a}.onboarding-group.is-expanded .onboarding-group-header{border-bottom:1px solid var(--color-border, #e0ddd8)}.group-chevron{flex:0 0 auto;color:var(--color-text-muted, #6b6660);transition:transform .2s ease}.group-chevron--open{transform:rotate(90deg)}.onboarding-group-title{font-size:.95rem;font-weight:700;color:var(--color-text, #1a1814);letter-spacing:-.01em}.onboarding-group-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;padding:0 .45rem;height:1.3rem;border-radius:999px;background:var(--color-border, #e0ddd8);color:var(--color-text, #1a1814);font-size:.72rem;font-weight:700}.onboarding-group-stats{margin-left:auto;display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;justify-content:flex-end}.onboarding-group .onboarding-list{padding:.6rem}.onboarding-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.onboarding-row{background:var(--color-surface, #fff);border:1px solid var(--color-border, #e0ddd8);border-radius:10px;padding:.85rem 1rem;cursor:pointer;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.onboarding-row:hover{border-color:var(--color-primary, #0d7377);transform:translateY(-1px);box-shadow:0 4px 14px #0d73771a}.onboarding-row-main{display:grid;grid-template-columns:2fr 2fr 2fr 1fr;gap:1rem;align-items:center}.onboarding-row-name{display:flex;flex-direction:column;gap:.15rem}.onboarding-row-model{font-weight:600}.onboarding-row-family{font-size:.8rem;color:var(--color-text-muted, #6b6660)}.onboarding-row-progress{display:flex;align-items:center;gap:.6rem}.progress-bar{flex:1;height:6px;background:var(--color-border, #e0ddd8);border-radius:999px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#0d7377,#14a085);transition:width .3s ease}.progress-label{font-size:.8rem;color:var(--color-text-muted, #6b6660);min-width:2.5rem;text-align:right}.onboarding-row-next{font-size:.85rem}.onboarding-row-status{display:flex;gap:.4rem;justify-content:flex-end;flex-wrap:wrap}.badge{font-size:.7rem;font-weight:600;padding:.2rem .55rem;border-radius:999px;text-transform:uppercase;letter-spacing:.04em}.badge--success{background:#dcf5e7;color:#1a6e3a}.badge--info{background:#d8efef;color:#0d5557}.badge--muted{background:#ebe8e2;color:#6b6660}.badge--warning{background:#fdecd0;color:#8a4f00}.detail-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.5rem}.detail-title{margin:0}.detail-subtitle{color:var(--color-text-muted, #6b6660);font-size:.9rem}.detail-progress{display:flex;align-items:center;gap:.6rem;min-width:200px}.stepper{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.step-card{border:1px solid var(--color-border, #e0ddd8);border-radius:12px;padding:1rem 1.1rem;background:#fff;transition:border-color .2s ease}.step-card--completed{border-left:4px solid #14a085}.step-card--skipped{border-left:4px solid #d97706;background:#fffaf0}.step-card--active{border:2px solid #0d7377;background:#f5fcfc}.step-card--future{opacity:.55}.step-card-header{display:flex;align-items:flex-start;gap:.8rem}.step-card-order{flex:0 0 auto;width:28px;height:28px;border-radius:50%;background:var(--color-border, #e0ddd8);color:var(--color-text, #1a1814);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem}.step-card--completed .step-card-order{background:#14a085;color:#fff}.step-card--skipped .step-card-order{background:#d97706;color:#fff}.step-card--active .step-card-order{background:#0d7377;color:#fff}.step-card-titles{flex:1}.step-card-title{font-weight:600}.step-card-desc{color:var(--color-text-muted, #6b6660);font-size:.85rem;margin-top:.15rem}.step-card-badge{flex:0 0 auto}.step-card--collapsed{padding:.5rem .8rem}.step-card-header--clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.step-card-header--clickable:hover{opacity:.8}.step-card-chevron{flex:0 0 auto;font-size:.9rem;color:var(--color-text-muted, #6b6660);transition:transform .15s ease;margin-left:.4rem}.step-card-chevron--open{transform:rotate(90deg)}.step-card-body{margin-top:.75rem;padding-left:calc(28px + .8rem)}.step-card-meta{font-size:.78rem;color:var(--color-text-muted, #6b6660);margin-top:.5rem}.metadata-list{margin:0;display:flex;flex-direction:column;gap:.3rem}.metadata-row{display:flex;gap:.5rem;font-size:.88rem}.metadata-row dt{font-weight:600;color:var(--color-text-muted, #6b6660);min-width:140px}.metadata-row dd{margin:0}.skip-reason{font-size:.9rem}.history-log{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.4rem}.history-entry{display:grid;grid-template-columns:auto auto 1fr auto;gap:.6rem;align-items:center;padding:.4rem .6rem;border:1px solid var(--color-border, #e0ddd8);border-radius:8px;font-size:.85rem}.history-when{color:var(--color-text-muted, #6b6660);white-space:nowrap}.history-step{font-weight:500}.history-who{color:var(--color-text-muted, #6b6660)}.step-form{display:flex;flex-direction:column;gap:.7rem}.form-row{display:flex;flex-direction:column;gap:.25rem}.form-label{font-size:.78rem;font-weight:600;color:var(--color-text-muted, #6b6660);text-transform:uppercase;letter-spacing:.04em}.step-form-actions{display:flex;gap:.5rem;margin-top:.4rem}.skip-form{margin-top:.6rem;padding:.7rem;background:#fffaf0;border:1px dashed #d97706;border-radius:8px;display:flex;flex-direction:column;gap:.4rem}.sheet-list{display:flex;flex-direction:column;gap:.4rem}.sheet-list-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,220px) auto;gap:.4rem;align-items:center}.sheet-list-url,.sheet-list-genre{min-width:0}.sheet-list-remove{width:1.8rem;height:1.8rem;padding:0;font-size:1.1rem;line-height:1;display:inline-flex;align-items:center;justify-content:center}.sheet-list-add{align-self:flex-start;margin-top:.25rem}.sheet-list-display{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}.sheet-list-display li{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.sheet-list-display a{word-break:break-all}.sheet-list-genre-tag{display:inline-flex;align-items:center;padding:.1rem .5rem;background:#ebe8e2;color:#6b6660;border-radius:999px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.muted{color:var(--color-text-muted, #6b6660)}.genre-edit-form{display:flex;flex-direction:column;gap:.35rem;flex:1}.genre-edit-row{display:flex;gap:.4rem;align-items:center}.genre-edit-row .inline-input:first-child{flex:1}.genre-edit-model-picker{min-width:180px;max-width:260px}.model-number-input{width:64px;text-align:center}.model-number-input::-webkit-inner-spin-button{display:none}.model-number-label{color:var(--color-muted, #6b7280);font-weight:400}.genre-edit-actions{display:flex;gap:.4rem;align-items:center}.genre-edit-move-hint{font-size:.78rem;color:var(--color-primary, #0d7377);font-weight:600;margin-left:.3rem}.tree-row .tree-count{margin-left:auto}.tree-onboarding-rollup{display:inline-flex;align-items:center;gap:.3rem;margin-left:.5rem;flex-wrap:wrap}.tree-onboarding-link{font:inherit;font-size:.7rem;font-weight:600;cursor:pointer;margin-left:.5rem;border:1px solid transparent;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.tree-onboarding-link:hover{transform:translateY(-1px);border-color:#0d737759;box-shadow:0 2px 6px #0d73771f}.admin-tabs{display:flex;gap:.4rem;border-bottom:1px solid var(--color-border, #e0ddd8);margin:-.5rem -.5rem .5rem;padding:0 .5rem}.admin-tab{padding:.55rem 1rem;background:transparent;border:none;border-bottom:2px solid transparent;font:inherit;font-weight:600;color:var(--color-text-muted, #6b6660);cursor:pointer;transition:color .15s ease,border-color .15s ease}.admin-tab:hover{color:var(--color-text, #1a1814)}.admin-tab--active{color:var(--color-primary, #0d7377);border-bottom-color:var(--color-primary, #0d7377)}.toolbar-toggle{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;color:var(--color-text-muted, #6b6660);cursor:pointer}.admin-table{width:100%;border-collapse:collapse;margin-top:.5rem}.admin-table th,.admin-table td{padding:.55rem .75rem;text-align:left;border-bottom:1px solid var(--color-border, #e0ddd8);vertical-align:middle}.admin-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted, #6b6660);font-weight:700}.admin-table-actions{text-align:right}.admin-table-actions .btn{margin-left:.3rem}.admin-row--inactive{opacity:.55}.admin-inline-form{display:flex;gap:.4rem;padding:.7rem;margin-bottom:.5rem;background:#f5fcfc;border:1px dashed var(--color-primary, #0d7377);border-radius:8px;align-items:center}.admin-inline-form .inline-input{flex:1}.admin-step-list{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.admin-step-row{display:grid;grid-template-columns:auto auto 1fr auto;gap:.7rem;align-items:flex-start;padding:.7rem .9rem;border:1px solid var(--color-border, #e0ddd8);border-radius:10px;background:var(--color-surface, #fff)}.admin-step-arrows{display:flex;flex-direction:column;gap:.15rem}.admin-step-arrows .btn{width:1.7rem;height:1.4rem;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;line-height:1}.admin-step-order{width:28px;height:28px;border-radius:50%;background:var(--color-border, #e0ddd8);color:var(--color-text, #1a1814);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem}.admin-step-main{min-width:0}.admin-step-name{font-weight:600}.admin-step-desc{color:var(--color-text-muted, #6b6660);font-size:.85rem;margin-top:.15rem}.admin-step-flags{display:flex;gap:.35rem;margin-top:.4rem;flex-wrap:wrap}.admin-step-actions{display:flex;gap:.3rem;align-items:flex-start}.admin-step-editor{grid-column:1 / -1;display:flex;flex-direction:column;gap:.6rem;width:100%}.admin-step-editor .form-row{gap:.3rem}.admin-schema-editor{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.82rem}.reports-layout{display:flex;min-height:480px}.reports-sidebar{width:160px;min-width:160px;background:var(--color-surface);border-right:1px solid var(--color-border-light);padding:.75rem 0;display:flex;flex-direction:column;gap:.15rem}.reports-sidebar-item{display:flex;align-items:center;gap:.5rem;padding:.55rem 1.15rem;font-size:.84rem;font-weight:500;color:var(--color-text-muted);cursor:pointer;border:none;background:none;border-left:3px solid transparent;text-align:left;transition:all .15s ease;width:100%}.reports-sidebar-item:hover{background:var(--color-surface-raised);color:var(--color-text)}.reports-sidebar-item--active{background:var(--color-primary-light);color:var(--color-primary);border-left-color:var(--color-primary);font-weight:600}.reports-sidebar-icon{font-size:.95rem;width:18px;text-align:center}.reports-main{flex:1;padding:1.25rem;min-width:0}.reports-search-form{display:flex;gap:.75rem;align-items:flex-end;margin-bottom:1.25rem;flex-wrap:wrap}.reports-form-field{display:flex;flex-direction:column;gap:.3rem}.reports-form-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.reports-search-form .inline-input{width:200px}.reports-results-count{font-size:.78rem;color:var(--color-text-muted);margin-bottom:.6rem}.reports-table-wrap{overflow-x:auto}.reports-table{width:100%;font-size:.82rem;border-collapse:collapse}.reports-table th{text-align:left;padding:.55rem .65rem;font-weight:600;color:var(--color-text-secondary);border-bottom:2px solid var(--color-border);font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.reports-table td{padding:.55rem .65rem;border-bottom:1px solid var(--color-border-light);color:var(--color-text)}.reports-table tr:hover td{background:#0d737708}.reports-cell-song{font-weight:600}.reports-genre-badge{display:inline-block;padding:.12rem .45rem;border-radius:999px;font-size:.72rem;font-weight:500;background:var(--color-genre-bg);color:var(--color-genre)}.reports-link{color:var(--color-primary);text-decoration:none;font-size:.78rem;font-weight:500}.reports-link:hover{text-decoration:underline}.reports-model-group{margin-bottom:.5rem}.reports-model-header{display:flex;align-items:center;gap:.6rem;width:100%;padding:.65rem .85rem;background:var(--color-model-bg);border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:all .15s ease}.reports-model-header:hover{border-color:var(--color-border)}.reports-model-header--open{border-radius:var(--radius-sm) var(--radius-sm) 0 0;border-color:var(--color-border-light);border-bottom:none}.reports-model-chevron{font-size:.75rem;color:var(--color-model);transition:transform .15s ease;display:inline-block}.reports-model-chevron--open{transform:rotate(90deg)}.reports-model-name{font-size:.88rem;font-weight:600;color:var(--color-model)}.reports-model-meta{font-size:.75rem;color:var(--color-text-muted);margin-left:auto}.reports-model-body{border:1px solid var(--color-border-light);border-top:none;border-radius:0 0 var(--radius-sm) var(--radius-sm);padding:.25rem 0}.reports-genre-row{display:flex;align-items:center;padding:.45rem .85rem .45rem 1.75rem;border-bottom:1px solid var(--color-border-light)}.reports-genre-row:last-child{border-bottom:none}.reports-genre-name{font-size:.82rem;font-weight:500;color:var(--color-text);flex:1;min-width:0}.reports-genre-bar-container{width:160px;margin:0 .75rem;flex-shrink:0}.reports-genre-bar{height:6px;background:var(--color-genre);border-radius:3px;opacity:.65;transition:width .3s ease}.reports-genre-count{font-size:.78rem;color:var(--color-text-muted);font-variant-numeric:tabular-nums;width:60px;text-align:right;flex-shrink:0}.reports-pagination{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem 0 .25rem}.reports-pagination-info{font-size:.78rem;color:var(--color-text-muted);font-variant-numeric:tabular-nums}
