:root{--bevy-primary: #2874c4;--bevy-primary-hover: #1e5ea8;--bevy-primary-light: #e3f2fd;--bevy-purple: #7b1fa2;--bevy-blue: #1976d2;--bevy-aqua: #00838f;--bevy-purple-dark: #1a0d22;--bevy-blue-dark: #0a1628;--app-bg: #f5f5f5;--app-text: #1a1a1a;--app-text-muted: #555;--app-text-muted-2: #6b7280;--surface: #fff;--surface-hover: #f5f5f5;--surface-hover-2: #f9fafb;--row-hover: #e8eced;--link-color: #1565c0;--border: #e5e7eb;--border-light: #d1d5db;--input-bg: #fff;--input-bg-disabled: #f3f4f6;--card-shadow: 0 1px 3px rgba(0, 0, 0, .08);--focus-ring: rgba(40, 116, 196, .25);--error-bg: #fef2f2;--error-text: #b91c1c;--success-bg: #dcfce7;--success-border: #86efac;--success-text: #166534;--sticky-overlay: #fff;--sticky-overlay-hover: #e8eced}[data-theme=dark]{--app-bg: #0f172a;--app-text: #e2e8f0;--app-text-muted: #94a3b8;--app-text-muted-2: #94a3b8;--surface: #1e293b;--surface-hover: #334155;--surface-hover-2: #334155;--row-hover: #293548;--link-color: #7dd3fc;--border: #334155;--border-light: #475569;--input-bg: #1e293b;--input-bg-disabled: #334155;--card-shadow: 0 4px 24px rgba(0, 0, 0, .4);--focus-ring: rgba(40, 116, 196, .4);--error-bg: #450a0a;--error-text: #fca5a5;--success-bg: #14532d;--success-border: #166534;--success-text: #86efac;--sticky-overlay: #1e293b;--sticky-overlay-hover: #293548;--bevy-primary-light: #1e3a5f}[data-theme=dark] .tree-node-action select.action-keep{background:#14532d;border-color:#166534;color:#86efac}[data-theme=dark] .tree-node-action select.action-remove{background:#450a0a;border-color:#991b1b;color:#fca5a5}[data-theme=dark] .tree-node-action select.action-roll-up{background:#334155;border-color:#475569;color:#cbd5e1}[data-theme=dark] .tree-node-action select.action-move-to-chapter{background:#365314;border-color:#3f6212;color:#bef264}[data-theme=dark] .tree-node-readonly.action-keep{background:#14532d;border-color:#166534;color:#86efac}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;line-height:1.5;color:var(--app-text);background:var(--app-bg)}.app{min-height:100vh;padding:2rem 1.5rem}.app-header{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:80px;max-height:150px;padding:1rem 1.5rem;margin:-2rem -1.5rem 2rem;background:linear-gradient(135deg,var(--bevy-purple) 0%,var(--bevy-blue) 50%,var(--bevy-aqua) 100%);box-shadow:0 4px 24px #1976d259,inset 0 1px #fff3;overflow:visible}.app-header-logo{position:absolute;left:-20px;top:0;width:150px;height:100%;object-fit:cover;object-position:left center;opacity:.08;filter:invert(1) brightness(1.2);pointer-events:none;z-index:0}.app-header-left{display:flex;align-items:center;gap:1rem;flex-shrink:0;z-index:1}.app-header-title-wrap{position:relative;display:flex;align-items:baseline;gap:.6rem;flex-shrink:0;transform:translateY(-5px)}.app-header-title-link{display:flex;align-items:baseline;gap:.6rem;color:inherit;text-decoration:none;transition:opacity .15s}.app-header-title-link:hover{opacity:.9}.app-header-logo-inline{height:clamp(2rem,5.5vw,2.9rem);width:auto;flex-shrink:0;filter:brightness(0) invert(1);vertical-align:baseline;transform:translateY(.28em)}.app-header-title{margin:0;font-size:clamp(1.5rem,4vw,2.25rem);font-weight:700;letter-spacing:-.03em;color:#f1f5f9;line-height:1.2;text-shadow:0 1px 2px rgba(0,0,0,.25)}.app-header-admin-user{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;z-index:10}.app-header-admin-user .app-header-greeting{font-size:1.1rem;font-weight:500;color:#f1f5f9;text-shadow:0 1px 2px rgba(0,0,0,.25)}.app-header-signout-btn{padding:.25rem .5rem;font-size:.8rem;color:#f1f5f9;background:#ffffff26;border:1px solid rgba(255,255,255,.3);border-radius:6px;cursor:pointer;font-family:inherit;font-weight:500;transition:background .15s,border-color .15s}.app-header-signout-btn:hover{background:#ffffff40;border-color:#fff6}.app-header-admin-link{font-size:.95rem;font-weight:500;color:#f1f5f9;text-decoration:none;padding:.35rem .5rem;border-radius:6px;transition:background .15s,opacity .15s;z-index:10}.app-header-admin-link:hover{background:#ffffff26;opacity:.95}.app-header-right{display:flex;align-items:center;gap:1rem;z-index:10}.app-header-theme-wrap{position:relative;display:flex;align-items:center;margin-right:1rem}.app-header-theme-btn{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;color:#f1f5f9;background:#ffffff26;border:1px solid rgba(255,255,255,.3);border-radius:6px;cursor:pointer;transition:background .15s,border-color .15s}.app-header-theme-btn:hover{background:#ffffff40;border-color:#fff6}.app-header-theme-btn:focus{outline:none;box-shadow:0 0 0 2px #ffffff4d}.app-header-theme-icon{flex-shrink:0}.app-header-theme-dropdown{position:absolute;top:100%;right:0;margin-top:.25rem;padding:.5rem 0;list-style:none;background:linear-gradient(180deg,var(--bevy-purple-dark) 0%,var(--bevy-blue-dark) 100%);border:1px solid rgba(255,255,255,.25);border-radius:8px;box-shadow:0 8px 24px #00000080;min-width:120px;z-index:1000}.app-header-theme-option{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem 1rem;font-size:.95rem;font-weight:500;color:#e2e8f0;background:none;border:none;cursor:pointer;text-align:left;font-family:inherit;transition:background .15s}.app-header-theme-option-icon{flex-shrink:0}.app-header-theme-option:hover{background:#ffffff1f;color:#f1f5f9}.app-header-theme-option-current{background:#fff3;color:#fff;font-weight:600}.app-header-customer{position:relative;display:flex;flex-direction:column;align-items:flex-end;text-align:right;min-width:0;z-index:10}.app-header-customer-title-wrap{position:relative;display:flex;flex-direction:column;align-items:flex-end}.app-header-workspace-title{font-size:1rem;font-weight:600;color:#f1f5f9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:280px;text-shadow:0 1px 2px rgba(0,0,0,.25);background:none;border:none;padding:0;cursor:default;font-family:inherit}.app-header-workspace-title{display:inline-flex;align-items:center;gap:.35rem}.app-header-workspace-title-clickable{cursor:pointer}.app-header-workspace-title-clickable:hover{color:#e2e8f0}.app-header-workspace-arrow{display:inline-flex;align-items:center;opacity:.5;transition:transform .15s,opacity .15s}.app-header-workspace-title-clickable:hover .app-header-workspace-arrow,.app-header-workspace-arrow-open{opacity:1}.app-header-workspace-arrow-open{transform:rotate(180deg)}.app-header-customer-dropdown{position:absolute;top:100%;right:0;margin-top:.25rem;padding:.5rem 0;list-style:none;background:linear-gradient(180deg,var(--bevy-purple-dark) 0%,var(--bevy-blue-dark) 100%);border:1px solid rgba(255,255,255,.25);border-radius:8px;box-shadow:0 8px 24px #00000080;min-width:200px;max-width:300px;max-height:280px;overflow-y:auto;z-index:1000}.app-header-customer-option{display:block;width:100%;padding:.5rem 1rem;font-size:.95rem;font-weight:500;color:#e2e8f0;background:none;border:none;cursor:pointer;text-align:left;font-family:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .15s}.app-header-customer-option:hover{background:#ffffff1f;color:#f1f5f9}.app-header-customer-option-current{background:#fff3;color:#fff;font-weight:600}.app-header-workspace-link{font-size:.85rem;color:#fffffff2;text-decoration:none;font-weight:500;margin-top:.2rem;text-shadow:0 1px 2px rgba(0,0,0,.2);transition:color .15s;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:280px}.app-header-workspace-link:hover{color:#fff;text-decoration:underline}.app-header p{margin:0;font-size:.95rem;color:var(--app-text-muted)}.app-main{width:100%;max-width:100%}.loading-message{text-align:center;color:var(--app-text-muted);padding:2rem}.password-prompt,.workspace-setup{max-width:420px;margin:0 auto;padding:2rem;background:var(--surface);border-radius:8px;box-shadow:var(--card-shadow)}.password-prompt h2,.workspace-setup h2{margin:0 0 .5rem;font-size:1.25rem}.password-prompt-hint,.workspace-setup-hint,.workspace-setup-ready{margin:0 0 1rem;color:var(--app-text-muted);font-size:.95rem}.password-prompt form,.workspace-setup form{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.password-fields{display:flex;flex-direction:column;gap:.75rem}.password-input{padding:.5rem .75rem;font-size:1rem;border:1px solid var(--border-light);border-radius:6px;background:var(--input-bg);color:var(--app-text)}.password-input:focus{outline:none;border-color:var(--bevy-primary);box-shadow:0 0 0 2px var(--focus-ring)}.password-submit{padding:.5rem 1rem;font-size:1rem;font-weight:500;color:#fff;background:var(--bevy-primary);border:none;border-radius:6px;cursor:pointer;transition:background .2s}.password-submit:hover:not(:disabled){background:var(--bevy-primary-hover)}.password-submit:disabled{opacity:.7;cursor:not-allowed}.password-error{margin:0;color:var(--error-text);font-size:.9rem}.workspace-setup.admin-dashboard{max-width:none;width:100%}.admin-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.admin-header h2{margin:0}.admin-signout-btn{padding:.35rem .75rem;font-size:.9rem;color:var(--app-text-muted-2);background:none;border:1px solid var(--border);border-radius:6px;cursor:pointer;font-family:inherit}.admin-signout-btn:hover{background:var(--surface-hover-2);color:var(--app-text-muted)}.admin-google-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1.25rem;font-size:1rem;font-weight:500;color:var(--app-text);background:var(--surface);border:1px solid var(--border-light);border-radius:6px;cursor:pointer;font-family:inherit}.admin-google-btn:hover{background:var(--bevy-primary);border-color:var(--bevy-primary);color:#fff}.admin-create-btn{padding:.5rem 1rem;font-size:1rem;font-weight:500;color:#fff;background:var(--bevy-primary);border:none;border-radius:6px;cursor:pointer;font-family:inherit}.admin-create-btn:hover{background:var(--bevy-primary-hover)}.admin-created-banner{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;margin-bottom:1rem;background:var(--success-bg);border:1px solid var(--success-border);border-radius:6px;font-size:.95rem}.admin-created-banner a{color:var(--success-text);font-weight:500}.admin-dismiss-btn{margin-left:auto;padding:.25rem .5rem;font-size:.9rem;color:var(--success-text);background:none;border:none;cursor:pointer;font-family:inherit}.admin-dismiss-btn:hover{text-decoration:underline}.admin-table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--card-shadow)}.admin-table{width:100%;border-collapse:collapse;font-size:.95rem}.admin-table th,.admin-table td{padding:.75rem 1rem;text-align:left;vertical-align:middle;border-bottom:1px solid var(--border);line-height:1.35;color:var(--app-text)}.admin-table th{font-weight:600;color:var(--app-text-muted);background:var(--surface-hover-2)}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody tr:hover{background:var(--row-hover)}.admin-table-url-cell{display:flex;align-items:center;gap:.35rem}.admin-table-url-icon{flex-shrink:0;color:var(--app-text-muted-2);display:flex;align-items:center;padding:.15rem;border-radius:4px;transition:color .15s,background .15s}.admin-table-url-icon:hover{color:var(--bevy-primary);background:var(--bevy-primary-light)}.admin-table-url{color:var(--app-text-muted-2);font-size:.9rem;overflow:hidden;text-overflow:ellipsis;max-width:200px;min-width:0;line-height:1.25}.admin-completion-cell{display:flex;align-items:center;gap:.5rem;min-width:120px}.admin-progress-bar{flex:1;min-width:60px;height:8px;background:var(--border);border-radius:4px;overflow:hidden}.admin-progress-fill{height:100%;background:var(--bevy-primary);border-radius:4px;transition:width .2s ease}.admin-completion-pct{font-size:.9rem;color:var(--app-text-muted-2);flex-shrink:0;min-width:2.5rem}.admin-table-actions{white-space:nowrap;text-align:right;display:flex;justify-content:flex-end;gap:.5rem}.admin-table-actions .admin-btn{margin-right:0}.admin-table-title-link{color:var(--link-color);text-decoration:none;font-weight:600}.admin-table-title-link:hover{text-decoration:underline}.admin-table th:last-child{text-align:right}.admin-btn{padding:.35rem .75rem;font-size:.9rem;font-weight:500;border-radius:6px;cursor:pointer;font-family:inherit;margin-right:.5rem}.admin-table-title-cell{display:flex;align-items:center;gap:.35rem}.admin-table-title-cell .admin-table-title-link{min-width:0}.admin-copy-icon-btn{display:inline-flex;align-items:center;justify-content:center;padding:.25rem;background:none;border:none;border-radius:4px;color:var(--app-text-muted-2);cursor:pointer}.admin-copy-icon-btn:hover{background:var(--surface-hover);color:var(--app-text)}.admin-edit-btn{color:var(--bevy-primary);background:none;border:1px solid var(--bevy-primary)}.admin-edit-btn:hover{background:var(--bevy-primary-light)}.admin-delete-btn{color:var(--error-text);background:none;border:1px solid var(--error-text)}.admin-delete-btn:hover{background:var(--error-bg)}.admin-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.admin-modal{background:var(--surface);border-radius:8px;box-shadow:0 20px 50px #0003;max-width:480px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.admin-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.admin-modal-header h3{margin:0;font-size:1.25rem;color:var(--app-text)}.admin-modal-close{padding:.25rem;background:none;border:none;cursor:pointer;color:var(--app-text-muted-2);display:flex;align-items:center;justify-content:center}.admin-modal-close:hover{color:var(--app-text)}.admin-modal-body{padding:1.25rem;overflow-y:auto;color:var(--app-text)}.admin-edit-form{margin-top:0}.admin-cancel-margin{margin-top:1rem}.admin-reupload-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border)}.admin-reupload-title{margin:0 0 .35rem;font-size:1rem;font-weight:600}.admin-reupload-hint{margin:0 0 1rem;font-size:.9rem;color:var(--app-text-muted-2)}.admin-reupload-loading{margin:.75rem 0 0;font-size:.9rem;color:var(--app-text-muted-2)}.admin-edit-actions{display:flex;gap:.5rem;margin-top:.75rem}.admin-cancel-btn{padding:.5rem 1rem;font-size:1rem;color:var(--app-text-muted-2);background:none;border:1px solid var(--border-light);border-radius:6px;cursor:pointer;font-family:inherit}.admin-cancel-btn:hover{background:var(--surface-hover-2);border-color:var(--app-text-muted-2)}.upload-zone{border:2px dashed var(--border-light);border-radius:8px;padding:3rem 2rem;text-align:center;background:var(--surface);transition:border-color .2s,background .2s}.upload-zone:hover,.upload-zone:focus-within{border-color:var(--app-text-muted);background:var(--surface-hover)}.upload-zone p{margin:0 0 1rem;color:var(--app-text-muted)}.upload-button{display:inline-block;padding:.5rem 1.25rem;font-size:1rem;font-weight:500;color:#fff;background:var(--bevy-primary);border:none;border-radius:6px;cursor:pointer;transition:background .2s}.upload-button:hover{background:var(--bevy-primary-hover)}.error-message{margin-top:1rem;padding:1rem;background:var(--error-bg);color:var(--error-text);border-radius:6px;font-size:.9rem}.tree-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.tree-toolbar-left{display:flex;gap:.5rem}.tree-toolbar-progress{display:flex;align-items:center;gap:.5rem;min-width:120px}.tree-copy-btn{display:inline-flex;align-items:center;justify-content:center;padding:.4rem .8rem;font-size:.875rem;color:var(--app-text);background:var(--surface);border:1px solid var(--border-light);border-radius:6px;cursor:pointer;transition:background .2s,border-color .2s;white-space:nowrap}.tree-copy-btn:hover{background:var(--surface-hover);border-color:var(--app-text-muted-2)}.tree-copy-btn:disabled{background:var(--input-bg-disabled);color:var(--app-text-muted-2);cursor:not-allowed}.tree-progress-bar{flex:1;min-width:60px;max-width:120px;height:8px;background:var(--border);border-radius:4px;overflow:hidden}.tree-progress-fill{height:100%;background:var(--bevy-primary);border-radius:4px;transition:width .2s ease}.tree-progress-pct{font-size:.9rem;color:var(--app-text-muted-2);flex-shrink:0;min-width:2.5rem}.tree-section{background:var(--surface);border-radius:8px;padding:1.5rem;box-shadow:var(--card-shadow)}.tree-expand-btn,.tree-collapse-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .9rem;font-size:.875rem;color:var(--app-text);background:var(--surface);border:1px solid var(--border-light);border-radius:6px;cursor:pointer;transition:background .2s,border-color .2s}.tree-toolbar-icon{flex-shrink:0}.tree-expand-btn:hover,.tree-collapse-btn:hover{background:var(--surface-hover);border-color:var(--app-text-muted-2)}.tree-view-wrapper{overflow-x:auto;overflow-y:visible}.tree-view-scroll-content{min-width:max-content;display:flex;flex-direction:column}.tree-view-header{display:grid;grid-template-columns:minmax(500px,1fr) 140px 330px 360px 360px 360px 240px;gap:1rem;min-width:max-content;padding:.5rem;font-size:.8rem;font-weight:600;color:var(--app-text-muted);text-transform:uppercase;letter-spacing:.02em;border-bottom:1px solid var(--border);background:var(--surface);position:relative;z-index:2}.tree-view-col{min-width:0}.tree-view-col.source-col{position:sticky;left:0;z-index:2;background:var(--sticky-overlay);padding-right:1rem;isolation:isolate;box-shadow:0 -2px 0 0 var(--sticky-overlay),0 2px 0 0 var(--sticky-overlay),1rem 0 0 0 var(--sticky-overlay)}.tree-view-col.source-col:before{content:"";position:absolute;top:-1px;left:100%;width:1rem;bottom:-1px;background:var(--sticky-overlay);pointer-events:none;z-index:-1}.tree-view-col.source-col:after{content:"";position:absolute;top:-1px;left:calc(100% + 1rem);bottom:-1px;width:48px;background:linear-gradient(to right,var(--sticky-overlay),transparent);pointer-events:none;opacity:0;transition:opacity .2s;z-index:-1}.tree-view-wrapper.is-scrolled .tree-view-col.source-col:after{opacity:1}.tree-view{list-style:none;margin:0;padding:0;min-width:max-content}.tree-node{margin:0;padding:0}.tree-node-row{display:grid;grid-template-columns:minmax(500px,1fr) 140px 330px 360px 360px 360px 240px;gap:1rem;align-items:center;padding:.25rem .5rem;min-height:2.25rem;background:var(--surface)}.tree-node-row:hover{background:var(--row-hover);border-radius:4px}.tree-node.has-children .tree-node-source{cursor:pointer}.tree-node-source{position:sticky;left:0;z-index:1;display:flex;align-items:center;gap:.5rem;min-width:0;overflow:visible;background:var(--sticky-overlay);margin:-.25rem 0;padding:.25rem 0;isolation:isolate;box-shadow:0 -2px 0 0 var(--sticky-overlay),0 2px 0 0 var(--sticky-overlay),1rem 0 0 0 var(--sticky-overlay)}.tree-node-source:before{content:"";position:absolute;top:-1px;left:100%;width:1rem;bottom:-1px;background:var(--sticky-overlay);pointer-events:none;z-index:-1}.tree-node-source:after{content:"";position:absolute;top:-1px;left:calc(100% + 1rem);bottom:-1px;width:48px;background:linear-gradient(to right,var(--sticky-overlay),transparent);pointer-events:none;opacity:0;transition:opacity .2s;z-index:-1}.tree-view-wrapper.is-scrolled .tree-node-source:after{opacity:1}.tree-node-row:hover .tree-node-source{background:var(--sticky-overlay-hover);box-shadow:0 -2px 0 0 var(--sticky-overlay-hover),0 2px 0 0 var(--sticky-overlay-hover),1rem 0 0 0 var(--sticky-overlay-hover)}.tree-node-row:hover .tree-node-source:before{background:var(--sticky-overlay-hover)}.tree-node-row:hover .tree-node-source:after{background:linear-gradient(to right,var(--sticky-overlay-hover),transparent)}.tree-node-toggle{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;background:none;border:none;cursor:pointer;color:var(--app-text-muted);flex-shrink:0}.tree-node-toggle:hover{color:var(--app-text)}.chevron{display:inline-block;font-size:.85rem;transition:transform .2s}.chevron.expanded{transform:rotate(90deg)}.chevron-placeholder{display:inline-block;width:.85rem;height:1rem}.tree-node-content{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0;overflow:visible}.tree-node-title-wrap{flex:1;min-width:0}.tree-node-title-inner{min-width:0;overflow:hidden}.tree-node-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-node-title:not(a){color:inherit}a.tree-node-title{color:var(--link-color);text-decoration:none}a.tree-node-title:hover{text-decoration:underline}.tree-node-type-icon,.tree-node-hidden-icon{flex-shrink:0;display:inline-flex;align-items:center;cursor:help}button.tree-node-type-icon{border:none;background:transparent;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;border-radius:4px}button.tree-node-type-icon:focus-visible{outline:2px solid var(--bevy-primary);outline-offset:2px}button.tree-node-type-icon:hover{color:var(--app-text)}.tree-node-row.tree-node-struck .tree-node-title{text-decoration:line-through;opacity:.55}.tree-node-type-icon,.tree-node-hidden-icon{color:var(--app-text-muted-2)}.tooltip-trigger{display:inline-flex;align-items:center}.tooltip-popup{padding:.35rem .6rem;font-size:.75rem;font-weight:500;color:#fff;background:linear-gradient(135deg,var(--bevy-purple-dark) 0%,var(--bevy-blue-dark) 100%);border-radius:4px;white-space:nowrap;max-width:min(90vw,400px);overflow:hidden;text-overflow:ellipsis;pointer-events:none}.tree-node-action select{width:100%;padding:.35rem .5rem;font-size:.875rem;line-height:1.5;min-height:2.25rem;border-radius:4px;cursor:pointer;font-weight:500;box-sizing:border-box}.tree-node-action select.action-empty{background:var(--input-bg);border:1px solid var(--border-light);color:var(--app-text-muted-2)}.tree-node-action select.action-keep{background:#dcfce7;border:1px solid #86efac;color:#166534}.tree-node-action select.action-remove{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b}.tree-node-action select.action-roll-up{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.tree-node-action select.action-move-to-chapter{background:#ecfccb;border:1px solid #bef264;color:#3f6212}.tree-node-action select:focus{outline:none;box-shadow:0 0 0 2px var(--focus-ring)}.tree-node-readonly{display:block;width:100%;padding:.35rem .5rem;font-size:.875rem;line-height:1.5;min-height:2.25rem;background:var(--input-bg-disabled);color:var(--app-text-muted-2);border:1px solid var(--border);border-radius:4px;cursor:default;box-sizing:border-box}.tree-node-readonly.action-keep{background:#dcfce7;border-color:#86efac;color:#166534}.tree-node-readonly.tree-node-empty{color:var(--app-text-muted-2);font-style:italic}.tree-node-destination input{width:100%;padding:.35rem .5rem;font-size:.875rem;line-height:1.5;min-height:2.25rem;border:1px solid var(--border-light);border-radius:4px;box-sizing:border-box;background:var(--input-bg);color:var(--app-text)}.tree-node-destination input:focus{outline:none;border-color:var(--bevy-primary)}.tree-node-destination input::placeholder{color:var(--app-text-muted-2)}.tree-node-destination input:disabled{background:var(--input-bg-disabled);color:var(--app-text-muted-2);cursor:not-allowed}.tree-node-customer-comments input,.tree-node-bevy-comments input,.tree-node-bevy-link input,.tree-node-bevy-id input{width:100%;padding:.35rem .5rem;font-size:.875rem;line-height:1.5;min-height:2.25rem;border:1px solid var(--border-light);border-radius:4px;box-sizing:border-box;background:var(--input-bg);color:var(--app-text)}.tree-node-bevy-id{display:flex;flex-direction:column;justify-content:center}.tree-node-bevy-id input.tree-node-invalid{border-color:var(--error-text)}.tree-node-bevy-id input.tree-node-invalid:focus{border-color:var(--error-text);box-shadow:0 0 0 2px #b91c1c33}.tree-node-inline-error{margin-top:.25rem;font-size:.75rem;line-height:1.2;color:var(--error-text)}.tree-node-customer-comments input:focus,.tree-node-bevy-comments input:focus,.tree-node-bevy-link input:focus,.tree-node-bevy-id input:focus{outline:none;border-color:var(--bevy-primary)}.tree-node-customer-comments input::placeholder,.tree-node-bevy-comments input::placeholder,.tree-node-bevy-link input::placeholder,.tree-node-bevy-id input::placeholder{color:var(--app-text-muted-2)}.tree-children{list-style:none;margin:0;padding:0}.tree-empty{margin:0;padding:1rem;color:var(--app-text-muted);text-align:center}.require-customer{max-width:420px;margin:0 auto;padding:2rem;background:var(--surface);border-radius:8px;box-shadow:var(--card-shadow)}.require-customer h2{margin:0 0 .5rem;font-size:1.25rem}.require-customer-hint{margin:0 0 1rem;color:var(--app-text-muted);font-size:.95rem}.require-customer form{display:flex;flex-direction:column;gap:.75rem}.require-customer-input-wrap{position:relative;width:100%;margin-top:.5rem}.require-customer-input-wrap .password-input{width:100%;box-sizing:border-box}.require-customer-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:.25rem;padding:.5rem 0;list-style:none;background:linear-gradient(180deg,var(--bevy-purple-dark) 0%,var(--bevy-blue-dark) 100%);border:1px solid rgba(255,255,255,.15);border-radius:8px;box-shadow:0 8px 24px #00000080;max-height:200px;overflow-y:auto;z-index:100}.require-customer-option{display:block;width:100%;padding:.5rem 1rem;font-size:.95rem;font-weight:500;color:#e2e8f0;background:none;border:none;cursor:pointer;text-align:left;font-family:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .15s}.require-customer-option:hover{background:#ffffff1f;color:#f1f5f9}.require-customer p{margin:0;color:var(--app-text-muted);font-size:.95rem}.workspace-not-found{max-width:420px;margin:0 auto;padding:2rem;background:var(--surface);border-radius:8px;box-shadow:var(--card-shadow)}.workspace-not-found p{margin:0;color:var(--app-text-muted);font-size:.95rem}.app-snackbar{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);z-index:10000;padding:.65rem 1.25rem;font-size:.9rem;font-weight:500;color:#f8fafc;background:linear-gradient(135deg,var(--bevy-purple-dark) 0%,var(--bevy-blue-dark) 100%);border:1px solid rgba(255,255,255,.12);border-radius:8px;box-shadow:0 8px 28px #00000059;animation:app-snackbar-in .22s ease-out;pointer-events:none;max-width:min(90vw,360px);text-align:center}@keyframes app-snackbar-in{0%{opacity:0;transform:translate(-50%) translateY(.5rem)}to{opacity:1;transform:translate(-50%) translateY(0)}}
