:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.picker-dialog,.picker-dialog-bg,div[role=dialog][aria-label*=picker]{z-index:10001!important}.toast{position:fixed;top:20px;right:20px;display:flex;align-items:center;gap:12px;padding:16px 20px;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:300px;max-width:500px;z-index:10001;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.toast-icon{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;flex-shrink:0}.toast-message{flex:1;font-size:14px;line-height:1.4;color:#333}.toast-close{background:none;border:none;font-size:18px;color:#666;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .2s}.toast-close:hover{color:#333}.toast-success{border-left:4px solid #10b981}.toast-success .toast-icon{background-color:#d1fae5;color:#10b981}.toast-error{border-left:4px solid #ef4444}.toast-error .toast-icon{background-color:#fee2e2;color:#ef4444}.toast-warning{border-left:4px solid #f59e0b}.toast-warning .toast-icon{background-color:#fef3c7;color:#f59e0b}.toast-info{border-left:4px solid #3b82f6}.toast-info .toast-icon{background-color:#dbeafe;color:#3b82f6}@media(max-width:768px){.toast{top:10px;right:10px;left:10px;min-width:auto;max-width:none}}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.login-card{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 10px 40px #0000001a;width:100%;max-width:400px}.login-card h1{text-align:center;color:#333;margin-bottom:.5rem;font-size:1.8rem}.login-card h2{text-align:center;color:#666;margin-bottom:1.5rem;font-size:1.2rem;font-weight:400}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#333;font-weight:500}.form-group input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;transition:border-color .3s}.form-group input:focus{outline:none;border-color:#667eea}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.error-message{color:#e53e3e;background-color:#fff5f5;padding:.75rem;border-radius:6px;margin-bottom:1rem;font-size:.9rem;border:1px solid #fc8181}.submit-btn{width:100%;padding:.75rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.toggle-btn{width:100%;margin-top:1rem;padding:.75rem;background:transparent;color:#667eea;border:none;font-size:.9rem;cursor:pointer;transition:color .2s}.toggle-btn:hover:not(:disabled){color:#764ba2;text-decoration:underline}.toggle-btn:disabled{opacity:.6;cursor:not-allowed}.org-tree-view{height:100%;background-color:#f8f9fa;border-right:1px solid #e0e0e0;overflow-y:auto}.org-tree-view h3{padding:1rem;margin:0;background-color:#667eea;color:#fff;font-size:1.1rem;font-weight:600;border-bottom:1px solid #5568d3}.tree-container{padding:.5rem 0}.tree-node{-webkit-user-select:none;user-select:none}.node-content{display:flex;align-items:center;padding:.6rem 1rem;cursor:pointer;transition:background-color .2s;gap:.5rem}.node-content:hover{background-color:#e8eaf6}.expand-icon{color:#666;font-size:.7rem;width:16px;display:inline-block;transition:transform .2s}.no-children-spacer{width:16px;display:inline-block}.node-name{flex:1;font-weight:500;color:#333}.node-badge{padding:.2rem .6rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.node-badge.department{background-color:#e3f2fd;color:#1976d2}.node-badge.team{background-color:#f3e5f5;color:#7b1fa2}.node-badge.role{background-color:#e8f5e9;color:#388e3c}.node-children{border-left:2px solid #e0e0e0;margin-left:1rem}.sop-list-container{padding:clamp(.75rem,2.5vw,2rem);max-width:1400px;margin:0 auto}.sop-list-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem}.sop-list-header h2{margin:0;color:#333;font-size:clamp(1.35rem,2.5vw,1.75rem)}.btn-primary{padding:.7rem 1.35rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;white-space:nowrap}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.sop-filters{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap;align-items:flex-end}.sop-team-tree-dropdown{position:absolute;top:calc(100% + .25rem);left:0;min-width:280px;background:#2d3748;border-radius:8px;box-shadow:0 4px 20px #00000040;max-height:400px;overflow-y:auto;z-index:1000;padding:.5rem 0}.sop-tree-node{-webkit-user-select:none;user-select:none}.sop-tree-node-content{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;cursor:pointer;transition:background-color .15s;color:#fff}.sop-tree-node-content:hover{background-color:#ffffff1a}.sop-tree-node-content.selected{background-color:#667eea66}.sop-tree-expand-icon{font-size:.65rem;width:12px;color:#ffffffb3;cursor:pointer;transition:color .15s}.sop-tree-expand-icon:hover{color:#fff}.sop-tree-expand-spacer{width:12px}.sop-tree-team-icon{font-size:1rem;opacity:.9}.sop-tree-node-name{flex:1;font-size:.9rem;font-weight:500}.sop-tree-check-icon{color:#68d391;font-weight:700;font-size:1rem;margin-left:auto}.sop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:1.25rem}.sop-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:clamp(1rem,2vw,1.5rem);position:relative;transition:transform .2s,box-shadow .2s}.sop-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001a}.sop-card-content{cursor:pointer}.search-clear-btn{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:#e2e8f0;border:none;border-radius:50%;width:22px;height:22px;font-size:.75rem;color:#475569;cursor:pointer;display:flex;align-items:center;justify-content:center}.search-clear-btn:hover{background:#cbd5e1;color:#0f172a}.sop-subfilters{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.sop-status-pills{display:flex;gap:.5rem;flex-wrap:wrap}.status-pill{padding:.4rem .85rem;background-color:#f8fafc;color:#475569;border:1px solid #e2e8f0;border-radius:20px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .15s}.status-pill:hover{background-color:#f1f5f9;border-color:#cbd5e1}.status-pill.active{background-color:#667eea;color:#fff;border-color:#667eea}.sop-sort-controls{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.active-tag-filter{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;background:#e3f2fd;color:#1976d2;border-radius:16px;font-size:.82rem}.active-tag-filter button{background:none;border:none;color:#1976d2;cursor:pointer;font-size:.8rem;padding:0 .15rem;line-height:1}.sort-label{display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;color:#475569;font-weight:500}.sort-select{padding:.4rem .65rem;border:1px solid #cbd5e1;border-radius:6px;background-color:#fff;font-size:.85rem;color:#1e293b;cursor:pointer}.sop-card-actions{position:absolute;bottom:.85rem;right:1rem;display:flex;gap:.4rem;z-index:10}.btn-duplicate-sop,.btn-delete-sop{background:#fff;border:1px solid #e0e0e0;font-size:1.05rem;cursor:pointer;padding:.25rem .5rem;border-radius:4px;opacity:.65;transition:opacity .2s,background-color .2s,border-color .2s}.sop-card:hover .btn-duplicate-sop,.sop-card:hover .btn-delete-sop{opacity:1}.btn-duplicate-sop:hover:not(:disabled){background-color:#eef2ff;border-color:#667eea}.btn-delete-sop:hover{background-color:#ffebee;border-color:#ef5350}.sop-card-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:1rem;gap:.75rem}.sop-card-header h3{margin:0;color:#333;font-size:1.25rem;flex:1}.sop-card-badges{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.badge{padding:.25rem .65rem;border-radius:12px;font-size:.72rem;font-weight:600;text-transform:uppercase;white-space:nowrap}.badge-version{background-color:#dbeafe;color:#1d4ed8;text-transform:none}.badge-published{background-color:#e8f5e9;color:#388e3c}.badge-draft{background-color:#fff3e0;color:#f57c00}.sop-description{color:#666;font-size:.95rem;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sop-meta{display:flex;gap:1.25rem;margin-bottom:1rem;font-size:.88rem;color:#666;flex-wrap:wrap}.sop-team,.sop-sections,.sop-tr-linked{display:flex;align-items:center;gap:.4rem}.sop-tr-linked{color:#0284c7;font-weight:600}.sop-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.tag{padding:.25rem .75rem;background-color:#e3f2fd;color:#1976d2;border-radius:12px;font-size:.8rem;font-weight:500}.tag-clickable{cursor:pointer;transition:all .15s}.tag-clickable:hover{background-color:#bbdefb}.tag-selected{background-color:#1976d2;color:#fff}.sop-footer{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;padding-right:5rem;border-top:1px solid #f0f0f0;font-size:.85rem;color:#999}.empty-state{text-align:center;padding:4rem 2rem}.empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-state h3{color:#333;margin-bottom:.5rem}.empty-state p{color:#666;font-size:1rem}.loading{text-align:center;padding:4rem;color:#666;font-size:1.1rem}@media(hover:none){.btn-duplicate-sop,.btn-delete-sop{opacity:.9}}.voice-input-btn{width:36px;height:36px;background-color:#f8f9fa;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background-color .15s ease,border-color .15s ease,transform .1s ease,box-shadow .15s ease;flex-shrink:0;padding:0;user-select:none;-webkit-user-select:none;touch-action:none}.voice-icon{width:18px;height:18px;color:#4b5563;transition:color .15s ease;pointer-events:none}.voice-input-btn:hover{background-color:#eef2ff;border-color:#6366f1}.voice-input-btn:hover .voice-icon{color:#4f46e5}.voice-input-btn.listening{background-color:#ef4444;border-color:#dc2626;box-shadow:0 0 0 3px #ef444459;transform:scale(.94);animation:voice-pulse 1.2s infinite ease-in-out}.voice-input-btn.listening .voice-icon{color:#fff}.voice-input-btn.processing{background-color:#e0e7ff;border-color:#6366f1;cursor:wait}.voice-spinner{width:16px;height:16px;border:2px solid #6366f1;border-top-color:transparent;border-radius:50%;animation:voice-spin .8s linear infinite;display:inline-block}@keyframes voice-spin{to{transform:rotate(360deg)}}@keyframes voice-pulse{0%{box-shadow:0 0 #ef444499}70%{box-shadow:0 0 0 8px #ef444400}to{box-shadow:0 0 #ef444400}}.image-annotator{position:fixed;inset:0;width:100%;height:100vh;height:100dvh;background-color:#f8fafc;z-index:10000;display:flex;flex-direction:column;overflow:hidden;overscroll-behavior:contain}.annotator-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem .75rem;padding:clamp(.45rem,1.5vw,.75rem) clamp(.65rem,2vw,1.25rem);background-color:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 2px 4px #0000000a;flex-shrink:0}.annotator-header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.btn-back{padding:.45rem .85rem;background-color:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;cursor:pointer;transition:all .2s;font-size:clamp(.82rem,1.5vw,.9rem);font-weight:600;color:#334155;white-space:nowrap}.btn-back:hover:not(:disabled){background-color:#e2e8f0;border-color:#667eea}.btn-done-primary{background-color:#10b981;border-color:#059669;color:#fff}.btn-done-primary:hover:not(:disabled){background-color:#059669;border-color:#047857;color:#fff}.annotator-live-sync-pill{font-size:.8rem;font-weight:600;padding:.35rem .75rem;border-radius:999px;white-space:nowrap}.annotator-live-sync-pill.saving{background:#fef3c7;color:#b45309;border:1px solid #fde68a}.annotator-live-sync-pill.saved{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.title-input-container{flex:1 1 200px;min-width:min(100%,200px);display:flex;gap:.5rem;align-items:center}.title-input{flex:1;padding:.45rem .75rem;border:2px solid #e2e8f0;border-radius:6px;font-size:max(16px,.95rem);font-weight:600;transition:border-color .2s;min-width:0;width:100%}.title-input:focus{outline:none;border-color:#667eea}.annotator-footer{display:flex;justify-content:center;align-items:center;padding:clamp(.5rem,1.5vw,.85rem);background-color:#fff;border-top:1px solid #e2e8f0;box-shadow:0 -2px 4px #0000000a;flex-shrink:0}.annotator-footer .btn-save,.btn-save{padding:.6rem 1.75rem;background-color:#667eea;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #667eea33;font-size:.95rem;white-space:nowrap}.annotator-footer .btn-save:hover:not(:disabled),.btn-save:hover:not(:disabled){background-color:#5568d3;transform:translateY(-1px);box-shadow:0 4px 8px #667eea4d}.annotator-footer .btn-save:disabled,.btn-save:disabled{opacity:.5;cursor:not-allowed}.annotator-content{display:flex;flex-wrap:wrap;align-items:flex-start;align-content:flex-start;flex:1 1 0%;min-height:0;gap:clamp(.6rem,1.5vw,1rem);padding:clamp(.5rem,1.5vw,1rem);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.canvas-container{flex:999 1 360px;min-width:min(100%,360px);min-height:clamp(220px,46dvh,520px);max-height:76dvh;display:flex;align-items:center;justify-content:center;background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:.35rem;overflow:hidden;position:relative}.annotation-canvas{max-width:100%;max-height:min(72dvh,100%);width:auto;height:auto;object-fit:contain;display:block;cursor:crosshair;box-shadow:0 4px 12px #0000001f;background-color:#fff;touch-action:none}.annotator-sidebar{flex:1 1 280px;min-width:min(100%,260px);display:flex;flex-direction:column;gap:.75rem}.toolbar-card,.instructions-card{background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:.75rem;box-shadow:0 2px 4px #0000000a}.toolbar-card h3,.instructions-card h3{margin:0 0 .75rem;font-size:.95rem;font-weight:600;color:#1e293b}.color-picker{display:flex;gap:.5rem;margin-bottom:.85rem;flex-wrap:wrap}.color-btn{width:34px;height:34px;border:3px solid transparent;border-radius:50%;cursor:pointer;transition:all .2s;flex-shrink:0}.color-btn:hover{transform:scale(1.1)}.color-btn.active{border-color:#333;box-shadow:0 0 0 2px #fff,0 0 0 4px #333}.slider-control{margin-bottom:.85rem;width:100%}.slider-label{display:block;font-size:.88rem;font-weight:500;color:#334155;margin-bottom:.45rem}.slider{width:100%;height:6px;border-radius:3px;background:linear-gradient(to right,#e0e0e0,#667eea);outline:none;cursor:pointer;-webkit-appearance:none;appearance:none}.slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#667eea;cursor:pointer;box-shadow:0 2px 4px #0003;transition:all .2s}.slider::-webkit-slider-thumb:hover{background:#5568d3;transform:scale(1.1)}.slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#667eea;cursor:pointer;border:none;box-shadow:0 2px 4px #0003;transition:all .2s}.slider::-moz-range-thumb:hover{background:#5568d3;transform:scale(1.1)}.btn-clear{width:100%;padding:.6rem .75rem;background-color:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;cursor:pointer;transition:all .2s;font-weight:600;font-size:.85rem}.btn-clear:hover:not(:disabled){background-color:#dc3545;color:#fff;border-color:#dc3545}.btn-clear:disabled{opacity:.5;cursor:not-allowed}.ai-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;padding:.65rem .75rem;background-color:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;cursor:pointer;font-weight:600;transition:all .2s}.ai-toggle:hover{background-color:#667eea;color:#fff;border-color:#667eea}.ai-tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:.5rem;margin-top:.75rem}.ai-btn{width:100%;padding:.65rem .75rem;background-color:#fff;border:1px solid #cbd5e1;border-radius:6px;text-align:left;cursor:pointer;transition:all .2s;font-size:.88rem;font-weight:500}.ai-btn:hover:not(:disabled){background-color:#667eea;color:#fff;border-color:#667eea}.ai-btn:disabled{opacity:.5;cursor:not-allowed}.ai-status{text-align:center;color:#667eea;font-style:italic;margin:.5rem 0 0}.instructions-card{flex:1}.empty-message{text-align:center;color:#64748b;font-style:italic;padding:1.5rem .75rem}.arrows-list{display:flex;flex-direction:column;gap:.65rem}.arrow-item{border:1px solid #e2e8f0;border-radius:8px;padding:.75rem;background-color:#f8fafc;display:flex;flex-direction:column;gap:.65rem}.arrow-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.arrow-font-controls{display:flex;gap:.5rem;align-items:center}.font-select-small,.size-select-small{padding:.4rem .5rem;border:1px solid #cbd5e1;border-radius:4px;font-size:.85rem;background-color:#fff;cursor:pointer;transition:border-color .2s}.font-select-small{flex:1;min-width:0}.size-select-small{width:70px}.font-select-small:focus,.size-select-small:focus{outline:none;border-color:#667eea}.arrow-number{font-weight:700;font-size:1.05rem;flex-shrink:0}.btn-delete{width:30px;height:30px;background-color:transparent;border:none;color:#dc3545;cursor:pointer;border-radius:4px;font-size:1.1rem;transition:all .2s;flex-shrink:0;display:flex;align-items:center;justify-content:center}.input-with-voice{display:flex;gap:.5rem;align-items:flex-start;width:100%}.description-input{flex:1;min-width:0;padding:.5rem;border:1px solid #cbd5e1;border-radius:6px;font-size:max(16px,.9rem);transition:border-color .2s;resize:vertical;overflow:auto;min-height:2.5rem;font-family:inherit}.description-input:focus{outline:none;border-color:#667eea}.arrow-header-actions{display:flex;align-items:center;gap:.35rem}.btn-edit-bubble-modal{background:none;border:none;cursor:pointer;font-size:1rem;padding:2px 6px;border-radius:4px;transition:background .15s}.btn-edit-bubble-modal:hover{background:#e0e7ff}.bubble-description-modal-overlay{position:fixed;inset:0;background-color:#000000a6;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:25000;padding:1rem;box-sizing:border-box}.bubble-description-modal{background:#fff;border-radius:16px;max-width:480px;width:100%;box-shadow:0 20px 50px #0000004d;animation:bubble-modal-in .2s cubic-bezier(.16,1,.3,1);overflow:hidden;display:flex;flex-direction:column}@keyframes bubble-modal-in{0%{opacity:0;transform:scale(.92) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.bubble-modal-header{display:flex;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;background:#f8fafc;border-bottom:1px solid #e2e8f0;border-left:6px solid #4f46e5;position:relative}.bubble-modal-badge{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 8px;border-radius:50%;color:#fff;font-weight:800;font-size:1.15rem;box-shadow:0 2px 8px #0003;flex-shrink:0}.bubble-modal-titles{flex:1}.bubble-modal-titles h3{margin:0;font-size:1.15rem;color:#1e293b;font-weight:700}.bubble-modal-subtitle{margin:2px 0 0;font-size:.8rem;color:#64748b;font-weight:500}.bubble-modal-close{background:transparent;border:none;font-size:1.2rem;color:#94a3b8;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .15s}.bubble-modal-close:hover{background:#e2e8f0;color:#1e293b}.bubble-modal-body{padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.85rem}.bubble-modal-label-row{display:flex;align-items:center;gap:.6rem}.bubble-modal-label-row label{font-size:.85rem;font-weight:600;color:#4b5563}.bubble-modal-label-input{width:60px;height:34px;text-align:center;font-weight:700;font-size:1.1rem;border:2px solid;border-radius:6px;background:#fff;padding:0 4px;outline:none}.bubble-modal-label-hint{font-size:.78rem;color:#6b7280}.bubble-modal-input-label{font-size:.85rem;font-weight:600;color:#374151}.bubble-modal-textarea-wrap{position:relative;display:flex;align-items:flex-start;gap:.5rem}.bubble-modal-textarea{flex:1;padding:.75rem;border:2px solid #d1d5db;border-radius:8px;font-size:1rem;line-height:1.4;resize:vertical;min-height:80px;outline:none;transition:border-color .2s,box-shadow .2s;font-family:inherit}.bubble-modal-textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.bubble-modal-voice-btn-container{display:flex;align-items:center}.bubble-modal-voice-btn-container .voice-input-btn{width:44px;height:44px;border-radius:8px}.bubble-modal-voice-btn-container .voice-icon{width:22px;height:22px}.bubble-modal-voice-hint{margin:0;font-size:.78rem;color:#4f46e5;font-weight:500}.bubble-modal-footer{padding:1rem 1.5rem 1.25rem;display:flex;justify-content:flex-end;gap:.75rem;background:#f8fafc;border-top:1px solid #e2e8f0}.btn-bubble-skip{padding:.65rem 1rem;background:transparent;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;font-weight:500;color:#4b5563;cursor:pointer;transition:all .15s}.btn-bubble-skip:hover{background:#e5e7eb;color:#1f2937}.btn-bubble-save{padding:.65rem 1.5rem;background:#4f46e5;border:none;border-radius:8px;font-size:.9rem;font-weight:600;color:#fff;cursor:pointer;box-shadow:0 2px 6px #4f46e54d;transition:all .15s}.btn-bubble-save:hover{background:#4338ca;transform:translateY(-1px)}.style-modal-overlay{position:fixed;inset:0;background-color:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:20050;padding:1rem}.style-modal{background:#fff;border-radius:14px;padding:1.75rem;max-width:440px;width:95%;box-shadow:0 16px 40px #00000040;animation:style-modal-pop .2s ease-out}@keyframes style-modal-pop{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.style-modal-header{display:flex;align-items:center;gap:.65rem;margin-bottom:.5rem}.style-modal-icon{font-size:1.5rem;line-height:1}.style-modal h3{margin:0;color:#1f2937;font-size:1.25rem;font-weight:700}.style-modal p{margin:0 0 1.25rem;color:#4b5563;font-size:.9rem;line-height:1.4}.style-options-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1.5rem}.style-option-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem .75rem;border:2px solid #e5e7eb;border-radius:10px;background:#f9fafb;cursor:pointer;transition:all .15s ease;text-align:center}.style-option-card:hover{border-color:#6366f1;background:#f5f3ff;transform:translateY(-2px)}.style-option-card.selected{border-color:#4f46e5;background:#eef2ff;box-shadow:0 0 0 2px #4f46e533}.style-badge{display:inline-flex;align-items:center;justify-content:center;background:#4f46e5;color:#fff;font-weight:700;font-size:.95rem;padding:4px 10px;border-radius:20px;margin-bottom:.5rem;letter-spacing:.05em;transition:background-color .2s}.style-label{font-weight:600;font-size:.9rem;color:#1f2937;margin-bottom:.2rem}.style-example{font-size:.75rem;color:#6b7280}.style-modal-actions{display:flex;gap:.75rem;justify-content:flex-end}.btn-style-confirm{padding:.65rem 1.5rem;background:#4f46e5;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:background .15s;width:100%}.btn-style-confirm:hover{background:#4338ca}.annotation-style-selector{margin-bottom:1rem;padding-bottom:.85rem;border-bottom:1px solid #e5e7eb}.annotation-style-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.annotation-style-header label{font-size:.8rem;font-weight:600;color:#4b5563;text-transform:uppercase;letter-spacing:.04em}.btn-link-style{background:none;border:none;color:#4f46e5;font-size:.75rem;font-weight:600;cursor:pointer;padding:2px 4px}.btn-link-style:hover{text-decoration:underline}.style-segmented-control{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;background:#f3f4f6;padding:3px;border-radius:8px}.style-segment-btn{padding:6px 2px;border:none;background:transparent;color:#4b5563;font-size:.75rem;font-weight:600;border-radius:6px;cursor:pointer;transition:all .15s;text-align:center;white-space:nowrap}.style-segment-btn:hover{background:#fff9;color:#1f2937}.style-segment-btn.active{background:#fff;color:#4f46e5;box-shadow:0 1px 3px #0000001a}.instructions-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.6rem;gap:.5rem;flex-wrap:wrap}.instructions-card-header h3{margin:0;font-size:1rem}.btn-change-index-style{background:#eef2ff;border:1px solid #c7d2fe;color:#4338ca;font-size:.75rem;font-weight:600;padding:4px 8px;border-radius:6px;cursor:pointer;transition:all .15s}.btn-change-index-style:hover{background:#e0e7ff;border-color:#a5b4fc}.existing-bubbles-index-bar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.85rem;padding:6px 8px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.existing-index-label{font-size:.75rem;font-weight:600;color:#4b5563;white-space:nowrap}.style-segmented-control-compact{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;background:#e5e7eb;padding:2px;border-radius:6px;flex:1;max-width:220px}.style-segment-btn-compact{padding:3px 2px;border:none;background:transparent;color:#4b5563;font-size:.72rem;font-weight:600;border-radius:4px;cursor:pointer;transition:all .15s;text-align:center;white-space:nowrap}.style-segment-btn-compact:hover{background:#fff9;color:#1f2937}.style-segment-btn-compact.active{background:#fff;color:#4f46e5;box-shadow:0 1px 2px #0000001a}.arrow-label-badge-container{display:flex;align-items:center;gap:.25rem}.arrow-label-input{min-width:36px;max-width:58px;height:28px;text-align:center;font-weight:700;font-size:.95rem;border:2px solid;border-radius:6px;background:#fff;cursor:text;padding:0 4px;outline:none;transition:all .2s;box-sizing:border-box}.arrow-label-input:focus{background:#fdfdfd;box-shadow:0 0 0 2px #4f46e540}.arrow-label-suffix{font-weight:700;font-size:1.1rem;color:#4b5563}.text-editor-modal{position:fixed;inset:0;width:100%;height:100dvh;background-color:#2d3748;z-index:10000;display:flex;flex-direction:column;overflow:hidden;overscroll-behavior:contain}.text-editor-modal-header{position:sticky;top:0;z-index:10001;background-color:#2d3748fa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:clamp(.45rem,1.5vw,.75rem) clamp(.75rem,2.5vw,1.5rem);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}.text-editor-header-left{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;flex:1 1 220px;min-width:min(100%,220px)}.text-editor-inline-title{display:flex;align-items:center;gap:.4rem;flex:1 1 160px;max-width:420px}.text-editor-title-input{width:100%;padding:.45rem .75rem;background:#ffffff1f;border:1px solid rgba(255,255,255,.25);border-radius:6px;color:#fff;font-size:.95rem;font-weight:500}.text-editor-title-input::placeholder{color:#fff9}.text-editor-title-input:focus{outline:none;background:#ffffff2e;border-color:#667eea}.text-editor-header-right{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.live-sync-badge{font-size:.8rem;font-weight:600;padding:.3rem .65rem;border-radius:999px;white-space:nowrap}.live-sync-badge.saving{background:#f59e0b33;color:#fde68a;border:1px solid rgba(245,158,11,.4)}.live-sync-badge.saved{background:#10b98133;color:#a7f3d0;border:1px solid rgba(16,185,129,.4)}.btn-revert-editor{padding:.45rem .85rem;background:transparent;color:#cbd5e1;border:1px solid rgba(255,255,255,.2);border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s}.btn-revert-editor:hover{background:#ef444433;color:#fecaca;border-color:#ef444473}.text-editor-modal .btn-back{padding:.5rem 1rem;background-color:#10b981;color:#fff;border:1px solid #059669;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .2s;display:flex;align-items:center;gap:.5rem}.text-editor-modal .btn-back:hover{background-color:#059669}.text-editor-modal .btn-boilerplate{padding:.5rem 1rem;background-color:#667eea;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s;white-space:nowrap}.text-editor-modal .btn-boilerplate:hover{background-color:#5568d3}.boilerplate-menu{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10002}.boilerplate-menu-content{background-color:#fff;padding:2rem;border-radius:12px;max-width:600px;width:90%;max-height:80vh;overflow-y:auto}.boilerplate-menu-content h3{margin:0 0 1rem;color:#2d3748}.boilerplate-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.boilerplate-item{padding:1rem;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s}.boilerplate-item:hover{border-color:#667eea;background-color:#f7fafc}.boilerplate-item h4{margin:0 0 .5rem;color:#2d3748;font-size:1.1rem}.boilerplate-meta{margin:0;font-size:.85rem;color:#718096}.no-boilerplates{text-align:center;color:#718096;padding:2rem}.boilerplate-title-input{width:100%;padding:.75rem;border:1px solid #e2e8f0;border-radius:6px;font-size:1rem}.btn-save-boilerplate{padding:.75rem 1.5rem;background-color:#667eea;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s;flex:1}.btn-save-boilerplate:hover{background-color:#5568d3}.btn-close-menu{padding:.75rem 1.5rem;background-color:#e2e8f0;color:#2d3748;border:none;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s;flex:1}.btn-close-menu:hover{background-color:#cbd5e0}.text-editor-modal-content{flex:1;overflow-y:auto;overflow-x:hidden;display:flex;justify-content:center;padding:clamp(.5rem,2.5vw,2rem) clamp(.4rem,2vw,1rem);background:linear-gradient(135deg,#667eea,#764ba2);-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.text-editor-a4-container{width:100%;max-width:min(100%,210mm);display:flex;justify-content:center}.text-editor-a4-page{width:100%;min-height:min(297mm,calc(100dvh - 110px));background-color:#fff;box-shadow:0 10px 40px #0000004d;border-radius:8px;overflow:hidden;display:flex;flex-direction:column}.text-editor-toolbar-wrapper{background:#f8f9fa;border-bottom:1px solid #e2e8f0;display:flex;justify-content:center;width:100%;box-shadow:0 2px 6px #00000014;z-index:1000;flex-shrink:0}.tiptap-toolbar{width:100%;max-width:1200px;background:transparent;padding:.6rem 1rem;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.toolbar-group{display:flex;gap:.25rem;align-items:center}.toolbar-separator{width:1px;height:24px;background:#e2e8f0}.tiptap-toolbar button{padding:.5rem .75rem;border:1px solid #e2e8f0;background:#fff;border-radius:4px;cursor:pointer;font-size:.875rem;transition:all .2s;white-space:nowrap}.tiptap-toolbar button:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1}.tiptap-toolbar button:disabled{opacity:.5;cursor:not-allowed}.tiptap-toolbar button.is-active{background:#667eea;color:#fff;border-color:#667eea}.font-dropdown-container{position:relative;display:inline-flex;align-items:center}.tiptap-toolbar button.toolbar-btn-font{display:inline-flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.35rem .65rem;min-width:125px;max-width:170px;height:35px;background:#fff;border:1px solid #e2e8f0;border-radius:4px;cursor:pointer;transition:all .2s;color:#334155;font-size:.875rem;font-weight:500}.tiptap-toolbar button.toolbar-btn-font:hover{background:#f1f5f9;border-color:#cbd5e1}.tiptap-toolbar button.toolbar-btn-font.is-active{border-color:#667eea;background:#f8fafc}.font-btn-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:1}.font-dropdown-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:10050;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 10px 25px #00000026;padding:.5rem;min-width:190px;max-height:280px;overflow-y:auto}.font-dropdown-title{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.35rem;padding:0 .5rem}.font-dropdown-list{display:flex;flex-direction:column;gap:2px}.font-dropdown-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.45rem .65rem;border:none;background:transparent;cursor:pointer;border-radius:4px;text-align:left;font-size:.9rem;color:#1e293b;transition:background .15s}.font-dropdown-item:hover{background:#f1f5f9}.font-dropdown-item.is-selected{background:#eef2ff;color:#4f46e5;font-weight:600}.font-check{color:#4f46e5;font-weight:700;font-size:.85rem;margin-left:.5rem}.color-picker-container{position:relative;display:inline-flex;align-items:center}.tiptap-toolbar button.toolbar-btn-color{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .55rem;height:35px}.color-btn-content{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}.color-letter{font-weight:700;font-size:1rem;font-family:serif}.color-indicator-bar{display:block;width:16px;height:3px;border-radius:1px;margin-top:2px;box-shadow:0 0 1px #0000004d}.dropdown-arrow{font-size:.65rem;color:#64748b;margin-left:2px}.color-dropdown-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:10050;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 10px 25px #00000026;padding:.75rem;width:210px}.color-dropdown-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin-bottom:.5rem}.color-preset-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:.75rem}.color-preset-btn{width:32px!important;height:32px!important;min-width:32px;padding:0!important;border-radius:50%!important;border:2px solid #e2e8f0!important;cursor:pointer;transition:transform .15s,border-color .15s}.color-preset-btn:hover{transform:scale(1.15);border-color:#64748b!important}.color-preset-btn.is-selected{border-color:#3b82f6!important;transform:scale(1.1);box-shadow:0 0 0 2px #3b82f64d}.color-custom-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-top:.5rem;border-top:1px solid #f1f5f9}.color-custom-label{display:flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:500;color:#475569;cursor:pointer}.color-custom-input{width:28px;height:28px;padding:0;border:1px solid #cbd5e1;border-radius:4px;cursor:pointer;background:transparent}.btn-color-reset{padding:.3rem .6rem!important;font-size:.75rem!important;font-weight:500;color:#64748b!important;background:#f1f5f9!important;border:1px solid #e2e8f0!important;border-radius:4px!important;cursor:pointer}.btn-color-reset:hover{background:#e2e8f0!important;color:#1e293b!important}.ProseMirror{flex:1;min-height:450px;padding:clamp(.75rem,3vw,2rem);outline:none;overflow-y:auto;overflow-x:hidden;font-family:Arial,sans-serif;font-size:12pt;line-height:1.6}.ProseMirror::-webkit-scrollbar{width:12px}.ProseMirror::-webkit-scrollbar-track{background:#f1f1f1;border-radius:6px;margin:4px}.ProseMirror::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:6px;border:2px solid #f1f1f1}.ProseMirror::-webkit-scrollbar-thumb:hover{background:#94a3b8}.ProseMirror h1{font-size:2em;margin:.67em 0;font-weight:700}.ProseMirror h2{font-size:1.5em;margin:.75em 0;font-weight:700}.ProseMirror h3{font-size:1.17em;margin:.83em 0;font-weight:700}.ProseMirror ul,.ProseMirror ol{padding-left:2rem;margin:1em 0}.ProseMirror blockquote{border-left:4px solid #e2e8f0;padding-left:1rem;margin-left:0;font-style:italic;color:#64748b}.image-wrapper{display:block;margin:1rem 0;position:relative}.image-wrapper>div{position:relative;display:inline-block;max-width:100%}.ProseMirror img{max-width:100%;height:auto;display:block;border:2px solid transparent;transition:border-color .2s}.ProseMirror .ProseMirror-selectednode img{border-color:#667eea;outline:3px solid #667eea;outline-offset:2px}.image-quick-toolbar{position:absolute;top:-42px;left:50%;transform:translate(-50%);background:#111827f0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:4px 6px;border-radius:20px;display:flex;align-items:center;gap:4px;box-shadow:0 4px 16px #0000004d;z-index:105;white-space:nowrap}.image-quick-btn{background:transparent;border:none;color:#e5e7eb;padding:4px 8px;font-size:.75rem;font-weight:600;border-radius:12px;cursor:pointer;transition:all .15s ease;line-height:1.2;user-select:none;-webkit-user-select:none}.image-quick-btn:hover,.image-quick-btn:active{background:#4f46e5;color:#fff}.image-quick-btn.danger:hover,.image-quick-btn.danger:active{background:#ef4444;color:#fff}.image-resize-handle{position:absolute;width:14px;height:14px;background:#4f46e5;border:2px solid white;border-radius:50%;box-shadow:0 2px 6px #00000059;z-index:100;touch-action:none;user-select:none;-webkit-user-select:none}.image-resize-handle:after{content:"";position:absolute;inset:-12px;cursor:inherit}.image-resize-handle:hover{background:#4338ca;transform:scale(1.25)}.image-resize-handle.nw{top:-7px;left:-7px;cursor:nw-resize}.image-resize-handle.ne{top:-7px;right:-7px;cursor:ne-resize}.image-resize-handle.sw{bottom:-7px;left:-7px;cursor:sw-resize}.image-resize-handle.se{bottom:-7px;right:-7px;cursor:se-resize}.image-resize-handle.n{top:-7px;left:50%;transform:translate(-50%);cursor:n-resize}.image-resize-handle.s{bottom:-7px;left:50%;transform:translate(-50%);cursor:s-resize}.image-resize-handle.e{right:-7px;top:50%;transform:translateY(-50%);cursor:e-resize}.image-resize-handle.w{left:-7px;top:50%;transform:translateY(-50%);cursor:w-resize}.ProseMirror table{border-collapse:collapse;width:100%;margin:1rem 0}.ProseMirror th,.ProseMirror td{border:1px solid #e2e8f0;padding:.5rem;min-width:100px}.ProseMirror th{background:#f8f9fa;font-weight:700;text-align:left}.ProseMirror a{color:#667eea;text-decoration:underline}.ProseMirror p{margin:.5em 0}.camera-capture{position:fixed;inset:0;background-color:#000;display:flex;flex-direction:column;z-index:1000}.camera-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background-color:#000c}.btn-close-camera{padding:.5rem 1rem;background-color:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:6px;cursor:pointer;transition:all .2s;font-size:1rem}.btn-close-camera:hover{background-color:#fff3}.camera-select{padding:.5rem 1rem;background-color:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:6px;cursor:pointer;font-size:.95rem}.camera-select option{background-color:#333;color:#fff}.camera-error{padding:1rem;background-color:#dc3545;color:#fff;text-align:center;font-weight:500}.camera-viewport{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden}.camera-video{max-width:100%;max-height:100%;display:block}.camera-controls{padding:2rem;background-color:#000c;display:flex;justify-content:center;align-items:center}.btn-shutter{background:none;border:none;cursor:pointer;padding:0;transition:transform .1s}.btn-shutter:active{transform:scale(.95)}.shutter-ring{width:80px;height:80px;border:4px solid white;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-shutter:hover .shutter-ring{border-color:#667eea;box-shadow:0 0 20px #667eea80}.shutter-button{width:60px;height:60px;background-color:#fff;border-radius:50%;transition:all .2s}.btn-shutter:hover .shutter-button{background-color:#667eea}.btn-shutter:active .shutter-button{transform:scale(.9)}@media(max-width:640px){.camera-header{padding:.75rem 1rem}.btn-close-camera{padding:.4rem .8rem;font-size:.9rem}.camera-select{padding:.4rem .8rem;font-size:.85rem}.camera-controls{padding:1.5rem}.shutter-ring{width:70px;height:70px}.shutter-button{width:52px;height:52px}}.drive-image-picker{display:inline-flex;gap:8px;align-items:center}.btn-drive{padding:8px 16px;background-color:#4285f4;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.btn-drive:hover:not(:disabled){background-color:#357ae8}.btn-drive:disabled{background-color:#a8c7fa;cursor:not-allowed}.btn-clear-auth{padding:6px 10px;background-color:#f1f3f4;color:#5f6368;border:1px solid #dadce0;border-radius:4px;cursor:pointer;font-size:12px;transition:background-color .2s}.btn-clear-auth:hover{background-color:#e8eaed}.drive-picker-error{margin-top:8px;padding:8px 12px;background-color:#fce8e6;color:#c5221f;border-radius:4px;font-size:13px}.video-editor-modal{position:fixed;inset:0;background:#000000e6;z-index:10000;display:flex;align-items:center;justify-content:center;padding:clamp(.25rem,2vw,1rem)}.processing-overlay{position:fixed;inset:0;background:#000c;z-index:10002;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.processing-overlay p{color:#fff;font-size:1.2rem;font-weight:500}.spinner{width:60px;height:60px;border:5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.video-editor-container{background:#fff;border-radius:12px;width:100%;max-width:900px;max-height:94dvh;overflow:auto;box-shadow:0 20px 60px #00000080}.video-editor-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:clamp(.85rem,2vw,1.5rem);border-bottom:1px solid #e2e8f0;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px 12px 0 0}.video-editor-header h2{margin:0;font-size:clamp(1.15rem,2.5vw,1.5rem)}.btn-close{background:#fff3;border:none;color:#fff;font-size:2rem;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-close:hover{background:#ffffff4d}.video-editor-content{padding:clamp(.85rem,2vw,1.5rem)}.video-preview-container{background:#000;border-radius:8px;overflow:hidden;margin-bottom:1.5rem}.video-editor-preview{width:100%;display:block}.video-controls{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;padding:1rem;background:#f7fafc;border-radius:8px;position:relative;z-index:1;flex-wrap:wrap;justify-content:center}.btn-seek{background:#4299e1;color:#fff;border:none;padding:.5rem .75rem;border-radius:6px;font-size:.875rem;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-seek:hover{background:#3182ce}.btn-play-pause{background:#667eea;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-size:1rem;cursor:pointer;transition:all .2s;position:static;float:none;flex-shrink:0}.btn-play-pause:hover{background:#5568d3}.time-display{font-size:1.1rem;font-weight:600;color:#2d3748}.timeline-container{margin-bottom:2rem}.timeline-label{font-size:.9rem;color:#4a5568;margin-bottom:.5rem;font-weight:600}.timeline-slider{width:100%;height:8px;border-radius:4px;outline:none;background:linear-gradient(to right,#667eea 0%,#667eea var(--progress, 0%),#e2e8f0 var(--progress, 0%),#e2e8f0 100%);-webkit-appearance:none;appearance:none}.timeline-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#667eea;cursor:pointer;box-shadow:0 2px 4px #0003}.timeline-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#667eea;cursor:pointer;border:none;box-shadow:0 2px 4px #0003}.trim-controls{background:#f7fafc;border-radius:8px;padding:clamp(.85rem,2vw,1.5rem);margin-bottom:1rem}.trim-section{margin-bottom:1.5rem}.trim-section:last-child{margin-bottom:0}.trim-section label{display:block;font-weight:600;color:#2d3748;margin-bottom:.5rem}.trim-slider{width:100%;height:8px;border-radius:4px;outline:none;margin-bottom:.5rem;-webkit-appearance:none;appearance:none;pointer-events:auto;cursor:pointer}.trim-slider:disabled{opacity:.5;cursor:not-allowed}.trim-slider.start{background:linear-gradient(to right,transparent 0%,transparent var(--value, 0%),#48bb78 var(--value, 0%),#48bb78 100%)}.trim-slider.end{background:linear-gradient(to right,#f56565 0%,#f56565 var(--value, 0%),transparent var(--value, 0%),transparent 100%)}.trim-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;cursor:pointer;box-shadow:0 2px 6px #0000004d}.trim-slider.start::-webkit-slider-thumb{background:#48bb78}.trim-slider.end::-webkit-slider-thumb{background:#f56565}.trim-slider::-moz-range-thumb{width:24px;height:24px;border-radius:50%;cursor:pointer;border:none;box-shadow:0 2px 6px #0000004d}.trim-slider.start::-moz-range-thumb{background:#48bb78}.trim-slider.end::-moz-range-thumb{background:#f56565}.btn-set-time{background:#4299e1;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .2s}.btn-set-time:hover{background:#3182ce}.trim-info{text-align:center;margin-bottom:1.5rem;padding:1rem;background:#edf2f7;border-radius:8px}.trim-info p{margin:.5rem 0;color:#2d3748;font-weight:600}.trim-info .hint{font-size:.9rem;color:#4a5568;font-weight:400}.video-editor-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}.btn-cancel,.btn-trim{flex:1 1 140px;padding:.75rem 1.5rem;border-radius:6px;font-size:1rem;cursor:pointer;border:none;transition:all .2s;font-weight:600}.btn-cancel{background:#e2e8f0;color:#2d3748}.btn-cancel:hover:not(:disabled){background:#cbd5e0}.btn-trim{background:#48bb78;color:#fff}.btn-trim:hover:not(:disabled){background:#38a169}.btn-trim:disabled,.btn-cancel:disabled{opacity:.5;cursor:not-allowed}.editor-section{margin-bottom:1.5rem;padding:1rem;background:#f7fafc;border-radius:8px;border-left:4px solid #667eea}.editor-section h3{margin:0 0 .5rem;color:#2d3748;font-size:1.1rem}.section-hint{margin:0 0 1rem;font-size:.9rem;color:#718096;font-style:italic}.section-action{margin-top:1rem;padding:1rem;background:#fff;border-radius:6px;text-align:center}.action-hint{margin:.5rem 0 0;font-size:.9rem;color:#4a5568;font-weight:600}.btn-trim-only,.btn-apply-cuts{padding:.75rem 1.5rem;border-radius:6px;font-size:1rem;cursor:pointer;border:none;transition:all .2s;font-weight:600}.btn-trim-only{background:#48bb78;color:#fff}.btn-trim-only:hover:not(:disabled){background:#38a169}.btn-apply-cuts{background:#f56565;color:#fff}.btn-apply-cuts:hover:not(:disabled){background:#e53e3e}.btn-trim-only:disabled,.btn-apply-cuts:disabled{opacity:.5;cursor:not-allowed}.cut-controls{display:flex;flex-direction:column;gap:1rem}.cut-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:1rem}.cut-input-group{display:flex;flex-direction:column;gap:.5rem}.cut-input-group label{font-size:.9rem;font-weight:600;color:#4a5568}.btn-add-cut{background:#ed8936;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-size:1rem;cursor:pointer;transition:all .2s;font-weight:600}.btn-add-cut:hover{background:#dd6b20}.cut-segments-list{margin-top:1rem;padding:1rem;background:#fff;border-radius:6px;border:2px dashed #cbd5e0}.cut-segments-list h4{margin:0 0 .75rem;color:#2d3748;font-size:.95rem}.cut-segment-item{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem;background:#fed7d7;border-radius:6px;margin-bottom:.5rem;border-left:4px solid #f56565}.cut-segment-item:last-child{margin-bottom:0}.cut-segment-item span{color:#742a2a;font-weight:500}.cut-segment-item small{color:#9b2c2c;font-size:.85rem;margin-left:.5rem}.btn-remove-cut{background:#f56565;color:#fff;border:none;width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-remove-cut:hover{background:#e53e3e}.video-recorder{position:fixed;inset:0;width:100%;height:100dvh;display:flex;flex-direction:column;background:linear-gradient(135deg,#667eea,#764ba2);z-index:10000;overflow:hidden}.video-recorder-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:.75rem;padding:clamp(.5rem,1.5vw,1rem) clamp(.75rem,2.5vw,1.5rem);border-bottom:1px solid rgba(255,255,255,.1);background-color:#2d3748fa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:10;min-height:52px}.video-recorder-header h2{margin:0;font-size:clamp(1rem,2vw,1.25rem);font-weight:600;color:#fff}.btn-back{padding:.45rem .9rem;background-color:transparent;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s;display:flex;align-items:center;gap:.5rem}.btn-back:hover:not(:disabled){background-color:#ffffff1a;border-color:#ffffff4d}.btn-back:disabled{opacity:.5;cursor:not-allowed}.video-recorder-content{flex:1;overflow-y:auto;padding:0;display:flex;flex-direction:column;gap:.75rem}.initial-options{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;padding:clamp(1rem,3vw,2rem)}.initial-options h3{color:#fff;font-size:clamp(1.3rem,3vw,1.8rem);font-weight:600;margin:0;text-align:center}.option-buttons{display:flex;gap:clamp(1rem,2.5vw,2rem);flex-wrap:wrap;justify-content:center;width:100%;max-width:960px}.btn-option{background:#fff;border:none;border-radius:12px;padding:clamp(1.5rem,3vw,2.5rem) clamp(1.25rem,2.5vw,2rem);flex:1 1 220px;min-width:min(100%,220px);max-width:300px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 20px #0000001a;display:flex;flex-direction:column;align-items:center;gap:.85rem}.btn-option:hover{transform:translateY(-5px);box-shadow:0 8px 30px #00000026}.btn-camera:hover{background:linear-gradient(135deg,#667eea,#764ba2)}.btn-camera:hover .option-icon,.btn-camera:hover .option-text,.btn-camera:hover .option-description{color:#fff}.btn-upload:hover{background:linear-gradient(135deg,#f093fb,#f5576c)}.btn-upload:hover .option-icon,.btn-upload:hover .option-text,.btn-upload:hover .option-description{color:#fff}.btn-drive:hover{background:linear-gradient(135deg,#4285f4,#34a853)}.btn-drive:hover .option-icon,.btn-drive:hover .option-text,.btn-drive:hover .option-description{color:#fff}.option-icon{font-size:clamp(2.75rem,5vw,4rem)}.option-text{font-size:clamp(1.2rem,2.5vw,1.5rem);font-weight:600;color:#2d3748}.option-description{font-size:.9rem;color:#718096;text-align:center}.video-container{background:#000;border-radius:0;overflow:hidden;position:relative;width:100%;height:clamp(45dvh,65dvh,70dvh);min-height:260px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.video-preview,.video-playback{width:100%;height:100%;object-fit:contain;display:block}.video-controls{display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap;padding:.75rem;background:#f7fafc;border-radius:8px}.btn-control{padding:.5rem .85rem;border:none;border-radius:6px;font-size:.82rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap;min-height:36px;display:flex;align-items:center;justify-content:center;flex:0 1 auto}.btn-start-camera{background:#4caf50;color:#fff}.btn-start-camera:hover{background:#45a049}.btn-record{background:#f44336;color:#fff}.btn-record:hover{background:#da190b}.btn-pause{background:#ff9800;color:#fff}.btn-pause:hover{background:#e68900}.btn-resume{background:#4caf50;color:#fff}.btn-resume:hover{background:#45a049}.btn-stop{background:#333;color:#fff}.btn-stop:hover{background:#222}.btn-switch-camera{background:#9c27b0;color:#fff}.btn-switch-camera:hover{background:#7b1fa2}.btn-discard{background:#f44336;color:#fff}.btn-discard:hover{background:#da190b}.recording-indicator{display:flex;align-items:center;gap:.4rem;background:#f44336f2;color:#fff;padding:.4rem .75rem;border-radius:6px;font-weight:500;font-size:.8rem}.recording-dot{width:10px;height:10px;background:#fff;border-radius:50%;animation:pulse 1.5s infinite;flex-shrink:0}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.recording-time{font-variant-numeric:tabular-nums;min-width:2.5rem;font-size:.8rem}.video-metadata{display:flex;flex-direction:column;gap:.85rem;padding:clamp(.5rem,2vw,1rem)}.video-title-input{flex:1;min-width:0;padding:.65rem .75rem;border:1px solid #ddd;border-radius:6px;font-size:.95rem;font-weight:500}.video-title-input:focus{outline:none;border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a}.video-description-input{flex:1;min-width:0;padding:.65rem .75rem;border:1px solid #ddd;border-radius:6px;font-size:.875rem;font-family:inherit;resize:vertical}.video-description-input:focus{outline:none;border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a}.video-info{display:flex;flex-wrap:wrap;gap:.75rem;padding:.75rem;background:#f5f5f5;border-radius:6px;font-size:.875rem;color:#666}.section-editor{background-color:#fff;border-radius:8px;padding:clamp(.85rem,2vw,1.5rem)}.input-with-voice-horizontal input,.input-with-voice-horizontal textarea{flex:1;min-width:0}.section-editor-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.25rem;padding-bottom:.85rem;border-bottom:2px solid #f0f0f0}.section-editor-header h4{margin:0;color:#333;font-size:1.1rem}.btn-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;padding:0;background-color:transparent;color:#999;border:none;border-radius:6px;cursor:pointer;transition:all .2s;font-size:1.2rem}.btn-close:hover{background-color:#f8f9fa;color:#333}.btn-cancel{padding:.5rem 1rem;background-color:#fff;color:#666;border:1px solid #ddd;border-radius:6px;cursor:pointer;transition:background-color .2s}.btn-cancel:hover{background-color:#f8f9fa}.btn-save{padding:.5rem 1rem;background-color:#667eea;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:background-color .2s}.btn-save:hover{background-color:#5568d3}.section-editor-body{display:flex;flex-direction:column;gap:1rem}.text-editor{display:flex;flex-direction:column;gap:.75rem}.text-editor ol{list-style-type:decimal;list-style-position:outside;padding-left:2rem;margin:1rem 0}.text-editor ol li{display:list-item;margin-bottom:.5rem}.text-editor ul{list-style-type:disc;list-style-position:outside;padding-left:2rem;margin:1rem 0}.text-editor ul li{display:list-item;margin-bottom:.5rem}.font-select,.font-size-select,.align-select,.line-spacing-select{padding:.25rem .5rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem;cursor:pointer;background-color:#fff}.color-select{width:32px;height:28px;padding:0;border:1px solid #ddd;border-radius:4px;cursor:pointer;background:transparent;vertical-align:middle}.font-select:hover,.font-size-select:hover,.align-select:hover,.line-spacing-select:hover,.color-select:hover{border-color:#667eea}.text-editor-toolbar{display:flex;gap:.5rem;padding:.75rem;background-color:#f8f9fa;border:1px solid #ddd;border-radius:6px;flex-wrap:wrap}.toolbar-group{display:flex;gap:.25rem;padding-right:.5rem;border-right:1px solid #ddd}.toolbar-group:last-child{border-right:none}.toolbar-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background-color:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;transition:all .2s;font-size:14px;font-weight:600;color:#333}.toolbar-btn:hover{background-color:#667eea;border-color:#667eea;color:#fff}.toolbar-btn svg{width:16px;height:16px}.toolbar-select{padding:.25rem .5rem;background-color:#fff;border:1px solid #ddd;border-radius:4px;font-size:.9rem;cursor:pointer;transition:border-color .2s}.toolbar-select:hover{border-color:#667eea}.toolbar-select:focus{outline:none;border-color:#667eea}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:#333;font-size:.95rem}.form-group input,.form-group textarea{padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;font-family:inherit;transition:border-color .3s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#667eea}.text-editor-textarea{width:100%;padding:1rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;font-family:inherit;resize:vertical;min-height:200px}.editor-hint{font-size:.85rem;color:#999;margin:0}.image-preview,.video-preview{margin-top:1rem;padding:1rem;background-color:#f8f9fa;border-radius:6px}.image-preview img{max-width:100%;height:auto;border-radius:6px}.video-preview video{max-width:100%;border-radius:6px}.image-upload-options{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.btn-upload-option{flex:1 1 200px;min-width:min(100%,200px);display:flex;align-items:center;justify-content:center;gap:.5rem;padding:clamp(1rem,2vw,1.5rem);background-color:#f8f9fa;border:2px dashed #ddd;border-radius:8px;color:#667eea;font-weight:600;cursor:pointer;transition:all .2s}.btn-upload-option:hover{background-color:#667eea;border-color:#667eea;color:#fff}.btn-upload-option .icon{width:22px;height:22px}.upload-hint{text-align:center;color:#999;font-size:.9rem;padding:1rem}.image-title-display{margin-bottom:.75rem;padding:.75rem 1rem;background-color:#e8f4f8;border-radius:6px;color:#333;font-size:1rem}.image-title-display strong{color:#667eea;margin-right:.5rem}.annotated-image-preview{margin-bottom:1rem;padding:1rem;background-color:#f8f9fa;border-radius:6px}.annotated-image-preview img{max-width:100%;height:auto;border-radius:6px}.annotations-list{margin-bottom:1rem;padding:1rem;background-color:#f8f9fa;border-radius:6px}.annotations-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.6rem;flex-wrap:wrap;gap:.5rem}.annotations-list-header h5{margin:0;color:#333}.section-index-type-control{display:flex;align-items:center;gap:.4rem}.section-index-label{font-size:.75rem;font-weight:600;color:#4b5563;margin:0}.section-index-select{padding:3px 6px;font-size:.75rem;border-radius:4px;border:1px solid #d1d5db;background-color:#fff;color:#374151;font-weight:600;cursor:pointer}.section-index-select:focus{outline:none;border-color:#667eea}.arrows-descriptions{display:flex;flex-direction:column;gap:.5rem}.arrow-description-item{color:#666;line-height:1.5}.btn-edit-annotation{width:100%;padding:.75rem;background-color:#667eea;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:background-color .2s}.btn-edit-annotation:hover{background-color:#5568d3}.arrow-style-controls{display:flex;flex-direction:column;gap:.85rem;margin-top:1rem;padding:clamp(.75rem,2vw,1rem);background-color:#f8f9fa;border-radius:8px}.slider-group{display:flex;flex-direction:column;gap:.35rem}.slider-group label{font-size:.875rem;font-weight:500;color:#555}.slider{width:100%;height:6px;border-radius:3px;background:#ddd;outline:none;-webkit-appearance:none}.slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#007bff;cursor:pointer}.slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#007bff;cursor:pointer;border:none}.version-modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.version-modal{background:#fff;border-radius:12px;width:90%;max-width:680px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.version-modal-header{padding:1.25rem 1.5rem;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center}.version-modal-header h3{margin:0;font-size:1.25rem;color:#1e293b;display:flex;align-items:center;gap:.5rem}.version-modal-body{padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.5rem}.publish-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1.25rem}.publish-section h4{margin:0 0 1rem;color:#0f172a;font-size:1rem}.version-input-row{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.form-group{display:flex;flex-direction:column;gap:.35rem;flex:1 1 200px;min-width:min(100%,200px)}.form-group label{font-size:.85rem;font-weight:600;color:#475569}.form-group input,.form-group textarea{padding:.6rem .75rem;border:1px solid #cbd5e1;border-radius:6px;font-size:.95rem;font-family:inherit}.form-group textarea{resize:vertical;min-height:60px}.bump-options{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.bump-btn{padding:.4rem .75rem;border-radius:6px;border:1px solid #cbd5e1;background:#fff;color:#334155;font-size:.8rem;cursor:pointer;transition:all .15s ease}.bump-btn.active{background:#2563eb;color:#fff;border-color:#2563eb}.history-section h4{margin:0 0 .75rem;color:#0f172a;font-size:1rem}.versions-list{display:flex;flex-direction:column;gap:.75rem}.version-item{border:1px solid #e2e8f0;border-radius:8px;padding:1rem;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;align-items:center;background:#fff;transition:all .15s ease}.version-item:hover{border-color:#94a3b8;box-shadow:0 2px 4px #0000000d}.version-meta{display:flex;flex-direction:column;gap:.25rem;flex:1 1 180px}.version-badge{display:inline-flex;align-items:center;gap:.25rem;font-weight:700;color:#1d4ed8;background:#dbeafe;padding:.2rem .5rem;border-radius:4px;font-size:.85rem;width:fit-content}.version-badge.current{background:#dcfce7;color:#15803d}.version-date{font-size:.8rem;color:#64748b}.version-notes{font-size:.85rem;color:#334155;margin-top:.25rem}.version-actions{display:flex;flex-wrap:wrap;gap:.5rem}.action-btn{padding:.45rem .85rem;border-radius:6px;border:1px solid #cbd5e1;background:#fff;color:#1e293b;font-size:.85rem;cursor:pointer;transition:all .15s ease}.action-btn.primary{background:#2563eb;color:#fff;border-color:#2563eb}.action-btn:hover{background:#f1f5f9}.action-btn.primary:hover{background:#1d4ed8}.version-modal-footer{padding:1rem 1.5rem;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end}.version-item-wrapper{display:flex;flex-direction:column}.version-preview-pane{margin-top:-4px;padding:1rem;background:#f8fafc;border:1px solid #cbd5e1;border-top:none;border-radius:0 0 8px 8px;display:flex;flex-direction:column;gap:.75rem}.version-preview-header strong{font-size:.95rem;color:#0f172a}.version-preview-header p{margin:.25rem 0 0;font-size:.85rem;color:#475569}.version-preview-sections{display:flex;flex-direction:column;gap:.5rem;max-height:240px;overflow-y:auto}.version-preview-sec-item{background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:.65rem;display:flex;flex-direction:column;gap:.35rem}.version-preview-sec-badge{font-size:.7rem;font-weight:700;color:#4f46e5;background:#eef2ff;padding:.15rem .45rem;border-radius:4px;width:fit-content}.version-preview-sec-body{font-size:.85rem;color:#334155;overflow:hidden}.tr-modal-overlay{position:fixed;inset:0;background-color:#000000a6;display:flex;justify-content:center;align-items:center;z-index:1100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.tr-modal{background:#fff;border-radius:12px;width:90%;max-width:720px;max-height:88vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #00000026,0 10px 10px -5px #0000000d}.tr-modal-header{padding:1.25rem 1.5rem;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center;background:#0284c7;color:#fff;border-top-left-radius:12px;border-top-right-radius:12px}.tr-modal-header h3{margin:0;font-size:1.25rem;font-weight:700;display:flex;align-items:center;gap:.5rem}.tr-modal-header .close-btn{background:none;border:none;color:#fff;font-size:1.25rem;cursor:pointer;opacity:.85}.tr-modal-header .close-btn:hover{opacity:1}.tr-modal-body{padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.5rem}.status-card{border-radius:8px;padding:1rem 1.25rem;display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between;border:1px solid #cbd5e1}.status-card.linked{background:#f0fdf4;border-color:#86efac}.status-card.unlinked{background:#f8fafc;border-color:#cbd5e1}.status-info{display:flex;flex-direction:column;gap:.25rem}.status-title{font-weight:700;color:#1e293b;font-size:1rem}.status-subtitle{font-size:.85rem;color:#64748b}.nav-tabs{display:flex;flex-wrap:wrap;border-bottom:2px solid #e2e8f0;gap:.35rem}.nav-tab-btn{padding:.6rem 1rem;border:none;background:none;font-weight:600;color:#64748b;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s ease;font-size:.92rem}.nav-tab-btn.active{color:#0284c7;border-bottom-color:#0284c7}.section-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:clamp(.85rem,2vw,1.25rem);display:flex;flex-direction:column;gap:1rem}.field-group{display:flex;flex-direction:column;gap:.35rem}.field-group label{font-size:.85rem;font-weight:600;color:#475569}.field-group input,.field-group select,.field-group textarea{padding:.65rem .85rem;border:1px solid #cbd5e1;border-radius:6px;font-size:.95rem;font-family:inherit;background:#fff}.field-group select{cursor:pointer}.upload-section{border:2px dashed #0284c7;background:#f0f9ff;border-radius:8px;padding:clamp(.85rem,2vw,1.25rem);display:flex;flex-direction:column;gap:1rem}.upload-section h4{margin:0;color:#0369a1;display:flex;align-items:center;gap:.5rem}.btn-tr{padding:.6rem 1.25rem;border-radius:6px;font-weight:600;font-size:.95rem;cursor:pointer;border:none;transition:all .15s ease;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn-tr.primary{background:#0284c7;color:#fff}.btn-tr.primary:hover:not(:disabled){background:#0369a1}.btn-tr.secondary{background:#fff;border:1px solid #cbd5e1;color:#334155}.btn-tr.secondary:hover:not(:disabled){background:#f1f5f9}.btn-tr:disabled{opacity:.6;cursor:not-allowed}.tr-modal-footer{padding:1rem 1.5rem;border-top:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;align-items:center}.add-sec-modal-overlay{position:fixed;inset:0;background-color:#0f172aa6;display:flex;justify-content:center;align-items:center;z-index:1200;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fadeInOverlay .15s ease-out}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.add-sec-modal{background:#fff;border-radius:16px;width:92%;max-width:540px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #0000000d;animation:slideUpModal .2s cubic-bezier(.16,1,.3,1);overflow:hidden}@keyframes slideUpModal{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.add-sec-modal-header{padding:1.25rem 1.5rem;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;align-items:center;background:#f8fafc}.add-sec-modal-title{display:flex;align-items:center;gap:.6rem}.add-sec-icon{font-size:1.25rem}.add-sec-modal-title h3{margin:0;font-size:1.2rem;font-weight:700;color:#0f172a}.add-sec-close-btn{background:#e2e8f0;border:none;width:30px;height:30px;border-radius:50%;font-size:14px;color:#64748b;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.add-sec-close-btn:hover{background:#fee2e2;color:#ef4444;transform:scale(1.08)}.add-sec-modal-body{padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.25rem}.add-sec-reference-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:.75rem 1rem;display:flex;flex-direction:column;gap:.35rem}.ref-label{font-size:.72rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.ref-content{display:flex;align-items:center;gap:.6rem}.ref-badge{background:#e0e7ff;color:#4338ca;font-size:.78rem;font-weight:700;padding:.2rem .55rem;border-radius:6px;white-space:nowrap}.ref-title{font-size:.9rem;color:#334155;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-sec-form-group{display:flex;flex-direction:column;gap:.6rem}.add-sec-label{font-size:.85rem;font-weight:700;color:#1e293b}.add-sec-position-toggle{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:.75rem}.position-btn{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:.85rem 1rem;display:flex;align-items:center;gap:.75rem;cursor:pointer;text-align:left;transition:all .18s ease}.position-btn:hover{border-color:#a5b4fc;background:#f8fafc;transform:translateY(-1px)}.position-btn.active{background:#eef2ff;border-color:#6366f1;box-shadow:0 0 0 1px #6366f1}.pos-arrow{font-size:1.4rem}.pos-text{display:flex;flex-direction:column}.pos-text strong{font-size:.95rem;color:#0f172a}.position-btn.active .pos-text strong{color:#4338ca}.pos-text small{font-size:.72rem;color:#64748b;margin-top:.15rem}.add-sec-types-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:.75rem}.type-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;padding:.9rem;display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;text-align:left;transition:all .18s cubic-bezier(.4,0,.2,1)}.type-card:hover{border-color:#6366f1;background:#faf5ff;transform:translateY(-2px);box-shadow:0 4px 12px #6366f126}.type-card-icon{font-size:1.5rem;line-height:1;flex-shrink:0;padding-top:.1rem}.type-card-info{display:flex;flex-direction:column;gap:.2rem}.type-card-info strong{font-size:.9rem;color:#0f172a;font-weight:600}.type-card:hover .type-card-info strong{color:#4338ca}.type-card-info p{margin:0;font-size:.75rem;color:#64748b;line-height:1.35}.add-sec-modal-footer{padding:1rem 1.5rem;border-top:1px solid #f1f5f9;background:#f8fafc;display:flex;justify-content:flex-end}.btn-cancel{padding:.5rem 1.25rem;background:#fff;border:1px solid #cbd5e1;color:#475569;border-radius:8px;font-size:.88rem;font-weight:600;cursor:pointer;transition:all .15s ease}.btn-cancel:hover{background:#f1f5f9;color:#1e293b}.sop-editor-container{padding:clamp(.5rem,2.5vw,2rem);max-width:1200px;margin:0 auto;width:100%}.input-with-voice-horizontal{display:flex;gap:.5rem;align-items:flex-start}.input-with-voice-horizontal .sop-title-input,.input-with-voice-horizontal .sop-description-input{flex:1;min-width:0}.sop-editor-header{position:static;background-color:#fff;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:clamp(.85rem,2vw,2rem)}.btn-back{padding:.6rem 1.15rem;background-color:#f8f9fa;color:#333;border:1px solid #ddd;border-radius:8px;font-size:.95rem;cursor:pointer;transition:background-color .2s;white-space:nowrap}.btn-back:hover{background-color:#e9ecef}.editor-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.save-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.save-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.save-btn:disabled{opacity:.5;cursor:not-allowed;background:#ccc;transform:none}.btn-secondary{padding:.75rem 1.5rem;background-color:#fff;color:#667eea;border:2px solid #667eea;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary:hover:not(:disabled){background-color:#667eea;color:#fff}.btn-secondary:disabled,.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-version{padding:.75rem 1.25rem;background-color:#fff;color:#2563eb;border:2px solid #2563eb;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:.5rem}.btn-version:hover:not(:disabled){background-color:#2563eb;color:#fff}.btn-tr-sync{padding:.75rem 1.25rem;background:linear-gradient(135deg,#0284c7,#0369a1);color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:.5rem}.btn-tr-sync:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #0284c766}.btn-export{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background-color:#10b981;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-export:hover:not(:disabled){background-color:#059669}.btn-export:disabled{opacity:.6;cursor:not-allowed}.status-dropdown{padding:.75rem 1.5rem;background-color:#fff;color:#333;border:2px solid #667eea;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;min-width:150px}.status-dropdown:hover{background-color:#f8f9fa}.status-dropdown:focus{outline:none;border-color:#5568d3;box-shadow:0 0 0 3px #667eea1a}.status-dropdown option{padding:.5rem}.icon-export{width:20px;height:20px}.sop-editor-content{background:#fff;border-radius:12px;padding:clamp(.75rem,2.5vw,2rem);box-shadow:0 2px 8px #0000001a}.sop-metadata{margin-bottom:clamp(1rem,2.5vw,2rem)}.sop-title-input{width:100%;padding:clamp(.6rem,1.5vw,1rem);font-size:clamp(1.2rem,2.8vw,1.75rem);font-weight:600;border:2px solid transparent;border-radius:8px;margin-bottom:.75rem;transition:border-color .3s}.sop-title-input:focus{outline:none;border-color:#667eea;background-color:#f8f9fa}.sop-description-input{width:100%;padding:.65rem .75rem;font-size:max(16px,.95rem);border:1px solid #ddd;border-radius:8px;resize:vertical;transition:border-color .3s}.sop-description-input:focus{outline:none;border-color:#667eea}.add-section-toolbar{display:flex;align-items:center;gap:.65rem;padding:clamp(.6rem,1.5vw,1rem);background-color:#f8f9fa;border-radius:8px;margin-bottom:1.5rem;flex-wrap:wrap}.toolbar-label{font-weight:600;color:#666}.btn-add-section{flex:1 1 110px;padding:.5rem .85rem;background-color:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:.92rem;transition:all .2s;text-align:center;white-space:nowrap}.btn-add-section:hover{background-color:#667eea;color:#fff;border-color:#667eea}.empty-sections{text-align:center;padding:clamp(1.5rem,4vw,3rem);color:#999;background-color:#f8f9fa;border-radius:8px;border:2px dashed #ddd}.sections-list{display:flex;flex-direction:column;gap:clamp(.85rem,2vw,1.5rem)}.section-item{position:relative;border:1px solid #e0e0e0;border-radius:8px;padding:clamp(.75rem,2vw,1.5rem);background-color:#fafafa;transition:border-color .2s}.section-item:hover{border-color:#cbd5e1}.floating-add-btn{position:absolute;left:50%;transform:translate(-50%);width:28px;height:28px;border-radius:50%;background:#fff;border:1.5px solid #6366f1;color:#6366f1;font-size:18px;font-weight:600;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 6px #0000001f;transition:all .2s cubic-bezier(.4,0,.2,1);opacity:.7;z-index:20}.section-item:hover .floating-add-btn,.floating-add-btn:hover,.floating-add-btn:focus-visible{opacity:1}.floating-add-btn:hover{background:#6366f1;color:#fff;transform:translate(-50%) scale(1.15);box-shadow:0 4px 12px #6366f166}.floating-add-bottom{bottom:-14px}.section-preview{display:flex;flex-direction:column;gap:1rem}.section-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem}.section-type-badge{padding:.25rem .75rem;background-color:#667eea;color:#fff;border-radius:12px;font-size:.85rem;font-weight:600;text-transform:uppercase}.section-controls{display:flex;flex-wrap:wrap;gap:.4rem;margin-left:auto}.btn-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background-color:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;transition:all .2s}.btn-icon:hover:not(:disabled){background-color:#667eea;color:#fff;border-color:#667eea}.btn-icon:disabled{opacity:.3;cursor:not-allowed}.btn-delete:hover{background-color:#dc3545;border-color:#dc3545}.btn-add-modal{font-size:13px;background-color:#f8fafc;border-color:#cbd5e1}.btn-add-modal:hover:not(:disabled){background-color:#4f46e5;color:#fff;border-color:#4f46e5;transform:scale(1.08)}.section-content{padding:1rem;background-color:#fff;border-radius:6px;min-height:50px}.text-content{line-height:1.6;color:#333;word-wrap:break-word;overflow-wrap:break-word;overflow:hidden}.text-content ul,.text-content ol{margin-bottom:1rem;padding-left:2rem;list-style-position:outside}.text-content ul{list-style-type:disc}.text-content ol{list-style-type:decimal}.text-content li{display:list-item;margin-bottom:.5rem}.text-content strong{font-weight:600}.text-content em{font-style:italic}.text-content p{margin-bottom:1rem}.text-content table{border-collapse:collapse;width:100%;margin:1rem 0;border:1px solid #ddd}.text-content table td,.text-content table th{border:1px solid #ddd;padding:.5rem .75rem;text-align:left}.text-content table th{background-color:#f8f9fa;font-weight:600}.text-content table tr:nth-child(2n){background-color:#fafafa}.text-content img{max-width:100%;height:auto;display:block;margin:1rem auto;border-radius:6px;transform:none!important;clip-path:none!important}.image-content{text-align:center}.image-content img{max-width:100%;height:auto;border-radius:6px}.resizable-image-container,.resizable-video-container{position:relative;display:block;-webkit-user-select:none;user-select:none;min-width:80px;max-width:100%}.resize-width-badge{position:absolute;top:8px;left:50%;transform:translate(-50%);background:#0f172ad9;color:#fff;font-size:.78rem;font-weight:700;padding:.2rem .6rem;border-radius:9999px;z-index:30;pointer-events:none;box-shadow:0 2px 6px #00000040}.resize-handle{position:absolute;background:#667eea;border:2px solid white;opacity:0;transition:opacity .2s;z-index:25;touch-action:none;box-shadow:0 1px 4px #0000004d}.resize-handle:after{content:"";position:absolute;inset:-10px}.resize-handle:hover,.resize-handle:active,.resizable-image-container:hover .resize-handle,.resizable-video-container:hover .resize-handle{opacity:1}@media(hover:none),(pointer:coarse){.resize-handle{opacity:.92}}.resize-handle-nw,.resize-handle-ne,.resize-handle-se,.resize-handle-sw{width:16px;height:16px;border-radius:50%}.resize-handle-nw{top:-8px;left:-8px;cursor:nw-resize}.resize-handle-ne{top:-8px;right:-8px;cursor:ne-resize}.resize-handle-se{bottom:-8px;right:-8px;cursor:se-resize}.resize-handle-sw{bottom:-8px;left:-8px;cursor:sw-resize}.resize-handle-n,.resize-handle-s{width:44px;height:10px;left:50%;transform:translate(-50%);border-radius:5px}.resize-handle-e,.resize-handle-w{width:10px;height:44px;top:50%;transform:translateY(-50%);border-radius:5px}.resize-handle-n{top:-5px;cursor:n-resize}.resize-handle-s{bottom:-5px;cursor:s-resize}.resize-handle-e{right:-5px;cursor:e-resize}.resize-handle-w{left:-5px;cursor:w-resize}.image-caption{margin-top:.5rem;color:#666;font-size:.9rem;font-style:italic}.link-content a{color:#667eea;text-decoration:none;font-weight:600;word-break:break-word}.link-content a:hover{text-decoration:underline}.link-content p{margin-top:.5rem;color:#666}.video-content video{max-width:100%;border-radius:6px}.video-content p{margin-top:.5rem;color:#666}.section-annotations{margin-top:1rem;padding:1rem;background-color:#f8f9fa;border-radius:6px;text-align:left}.section-annotations h5{margin:0 0 .5rem;color:#333;font-size:1rem}.section-annotations .arrows-list{display:flex;flex-direction:column;gap:.5rem}.section-annotations .arrow-item{display:flex;align-items:flex-start;gap:.5rem;color:#333;line-height:1.5}.section-annotations .arrow-description{color:#333;flex:1}.section-annotations ol{margin:0;padding-left:1.5rem}.section-annotations li{margin-bottom:.5rem;color:#666;line-height:1.5}.empty-section{color:#999;font-style:italic;text-align:center;padding:1rem}.view-mode-tabs{display:flex;flex-wrap:wrap;gap:.35rem;border-radius:8px;background-color:#f8f9fa;padding:.25rem}.tab-button{padding:.55rem 1.15rem;background-color:transparent;color:#666;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.tab-button:hover{background-color:#667eea1a;color:#667eea}.tab-button.active{background-color:#fff;color:#667eea;box-shadow:0 2px 4px #0000001a}.sop-preview{max-width:900px;margin:0 auto}.preview-header{position:relative;text-align:center;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:2px solid #e9ecef}.preview-title{font-size:clamp(1.5rem,3.5vw,2.5rem);color:#333;margin:0 0 1rem;font-weight:700;word-break:break-word}.preview-description{font-size:clamp(1rem,1.5vw,1.125rem);color:#666;margin:0;line-height:1.6}.preview-export-section{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:clamp(.75rem,2vw,1.5rem);background-color:#f8f9fa;border-radius:8px}.metadata-toggle{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#fff;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:500;color:#666;transition:all .2s}.metadata-toggle:hover{background-color:#fff;box-shadow:0 2px 4px #0000001a}.metadata-toggle input[type=checkbox]{cursor:pointer;width:16px;height:16px}.preview-header:hover .copy-section-btn{opacity:1}.preview-metadata{position:relative;font-size:.95rem;color:#666;font-style:italic;line-height:1.8;margin-bottom:1.5rem;text-align:center}.preview-metadata:hover .copy-section-btn{opacity:1}.preview-metadata p{margin:.25rem 0}.preview-separator{text-align:center;color:#ccc;margin:2rem 0;font-family:monospace;letter-spacing:-1px;overflow:hidden}.preview-empty{text-align:center;padding:4rem 2rem;color:#999;font-size:1.125rem}.preview-sections{display:flex;flex-direction:column;gap:2rem}.preview-section{position:relative;background-color:#fff;border-radius:8px}.copy-section-btn{position:absolute;top:.5rem;right:.5rem;background-color:#fff;border:1px solid #ddd;border-radius:6px;padding:.5rem .75rem;font-size:1.25rem;cursor:pointer;opacity:0;transition:all .2s ease;box-shadow:0 2px 4px #0000001a;z-index:10}.preview-section:hover .copy-section-btn{opacity:1}@media(hover:none){.copy-section-btn{opacity:.85}}.copy-section-btn:hover{background-color:#f8f9fa;border-color:#667eea;transform:scale(1.05)}.copy-section-btn:active{transform:scale(.95)}.preview-text{font-size:1rem;line-height:1.8;color:#333;overflow-x:auto}.preview-text h1,.preview-text h2,.preview-text h3,.preview-text h4,.preview-text h5,.preview-text h6{margin-top:1.5rem;margin-bottom:.75rem;color:#222;font-weight:600}.preview-text p{margin-bottom:1rem}.preview-text ul,.preview-text ol{margin-bottom:1rem;padding-left:2rem;list-style-position:outside}.preview-text ul{list-style-type:disc}.preview-text ol{list-style-type:decimal}.preview-text li{display:list-item;margin-bottom:.5rem}.preview-text strong{font-weight:600;color:#222}.preview-text em{font-style:italic}.preview-text a{color:#667eea;text-decoration:underline}.preview-text a:hover{color:#5568d3}.preview-text table{border-collapse:collapse;width:100%;margin:1rem 0;border:1px solid #ddd}.preview-text table td,.preview-text table th{border:1px solid #ddd;padding:.5rem .75rem;text-align:left}.preview-text table th{background-color:#f8f9fa;font-weight:600}.preview-text table tr:nth-child(2n){background-color:#fafafa}.preview-text img{max-width:100%;height:auto;display:block;margin:1rem auto;border-radius:6px;transform:none!important;clip-path:none!important}.preview-image{margin:2rem 0;text-align:center}.preview-image:hover .copy-section-btn{opacity:1}.preview-image img{max-width:100%;height:auto;border-radius:8px;box-shadow:0 2px 8px #0000001a}.preview-arrows{position:relative;margin-top:1.5rem;padding:clamp(1rem,2vw,1.5rem);background-color:#f8f9fa;border-radius:8px;border-left:4px solid #667eea}.preview-arrows:hover .copy-section-btn{opacity:1}.preview-arrows h4{margin:0 0 1rem;color:#333;font-size:1.125rem;font-weight:600}.preview-arrows ol{margin:0;padding-left:1.5rem}.preview-arrows li{margin-bottom:.75rem;color:#444;line-height:1.6;font-size:1rem}.preview-arrows li:last-child{margin-bottom:0}.preview-caption{margin-top:.75rem;color:#666;font-style:italic;text-align:center}.preview-link{padding:clamp(1rem,2vw,1.5rem);background-color:#f8f9fa;border-radius:8px;border-left:4px solid #10b981}.preview-link a{font-size:1.125rem;color:#10b981;text-decoration:none;font-weight:600;display:inline-flex;align-items:center;gap:.5rem;word-break:break-word}.preview-link a:hover{text-decoration:underline}.preview-link-desc{margin-top:.75rem;margin-bottom:0;color:#666;line-height:1.6}.preview-video{margin:2rem 0}.preview-video video{width:100%;border-radius:8px;box-shadow:0 2px 8px #0000001a}.preview-video-desc{margin-top:.75rem;color:#666;font-style:italic;text-align:center}.sop-live-sync-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .9rem;border-radius:9999px;font-size:.85rem;font-weight:600;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:all .2s ease}.sop-live-sync-pill.status-saving{background-color:#fef3c7;color:#b45309;border:1px solid #fde68a}.sop-live-sync-pill.status-saved{background-color:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.sop-live-sync-pill.status-idle{background-color:#f1f5f9;color:#475569;border:1px solid #e2e8f0}.sop-live-sync-pill.status-error{background-color:#fef2f2;color:#b91c1c;border:1px solid #fecaca;cursor:pointer}.sop-tags-editor{display:flex;align-items:center;gap:.65rem;margin-top:.75rem;padding:.5rem .75rem;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-wrap:wrap}.tags-editor-label{font-size:.85rem;font-weight:600;color:#475569;white-space:nowrap}.tags-chips-list{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;flex:1 1 200px}.sop-tag-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .6rem;background-color:#e0e7ff;color:#3730a3;border-radius:9999px;font-size:.8rem;font-weight:600}.sop-tag-chip.readonly{background-color:#eef2ff}.sop-tag-remove{background:none;border:none;color:#4f46e5;font-size:.95rem;line-height:1;cursor:pointer;padding:0 .1rem;border-radius:50%}.sop-tag-remove:hover{color:#dc2626}.sop-tag-input{border:none;background:transparent;font-size:.85rem;color:#1e293b;min-width:min(100%,150px);flex:1;padding:.2rem .25rem}.sop-tag-input:focus{outline:none}.btn-add-tag-inline{padding:.2rem .6rem;background-color:#4f46e5;color:#fff;border:none;border-radius:6px;font-size:.75rem;font-weight:600;cursor:pointer}.preview-tags-row{display:flex;justify-content:center;gap:.45rem;flex-wrap:wrap;margin-top:.75rem}.sections-overview-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.5rem .85rem;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.sections-count-label{font-size:.85rem;font-weight:600;color:#475569}.btn-collapse-all{background:#fff;border:1px solid #cbd5e1;color:#334155;padding:.3rem .75rem;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s ease}.btn-collapse-all:hover{background-color:#f1f5f9;border-color:#94a3b8}.section-header-left{display:flex;align-items:center;gap:.5rem;min-width:min(100%,180px);flex:1 1 180px}.section-drag-handle{cursor:grab;color:#94a3b8;font-size:1rem;padding:.15rem .35rem;border-radius:4px;-webkit-user-select:none;user-select:none}.section-drag-handle:hover{background-color:#e2e8f0;color:#475569}.btn-collapse-step{background:none;border:none;color:#64748b;font-size:.75rem;cursor:pointer;padding:.2rem .35rem;border-radius:4px}.btn-collapse-step:hover{background-color:#e2e8f0;color:#1e293b}.section-step-badge{background-color:#1e293b;color:#fff;font-size:.75rem;font-weight:700;padding:.2rem .55rem;border-radius:9999px;white-space:nowrap}.section-type-pill{background-color:#e0e7ff;color:#3730a3;font-size:.75rem;font-weight:600;padding:.2rem .55rem;border-radius:6px;white-space:nowrap}.section-summary-text{font-size:.875rem;color:#334155;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.section-item.dragging{opacity:.55;border:2px dashed #6366f1}.section-item.drag-over{border-top:3px solid #4f46e5;box-shadow:0 -2px 8px #4f46e533}.boilerplate-list-container{padding:clamp(.75rem,2.5vw,2rem);max-width:1400px;margin:0 auto}.boilerplate-list-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem}.boilerplate-list-header h2{margin:0;color:#2d3748;font-size:clamp(1.35rem,2.5vw,1.75rem)}.boilerplate-filters{margin-bottom:1.5rem}.search-bar{position:relative;max-width:500px;width:100%}.search-input{width:100%;padding:.75rem 2.5rem .75rem 1rem;border:1px solid #e2e8f0;border-radius:8px;font-size:1rem}.search-icon{position:absolute;right:1rem;top:50%;transform:translateY(-50%);pointer-events:none}.empty-state{text-align:center;padding:4rem 2rem;color:#718096}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-state h3{color:#2d3748;margin-bottom:.5rem}.boilerplate-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:1.25rem}.boilerplate-card{border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;background:#fff;transition:all .2s}.boilerplate-card:hover{box-shadow:0 4px 12px #0000001a;border-color:#667eea}.boilerplate-card-content{padding:1.5rem;cursor:pointer}.boilerplate-card-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:1rem}.boilerplate-card-header h3{margin:0;color:#2d3748;font-size:1.25rem;font-weight:600}.boilerplate-preview{color:#4a5568;font-size:.9rem;line-height:1.5;margin-bottom:1rem;overflow:hidden;text-overflow:ellipsis;max-height:4.5em}.boilerplate-meta{display:flex;gap:1.5rem;font-size:.875rem;color:#718096}.boilerplate-author,.boilerplate-date{display:flex;align-items:center;gap:.5rem}.meta-icon{font-size:1rem}.boilerplate-actions{padding:1rem 1.5rem;border-top:1px solid #e2e8f0;background-color:#f7fafc;display:flex;gap:.5rem}.btn-delete{padding:.5rem 1rem;background-color:#fff;color:#e53e3e;border:1px solid #fc8181;border-radius:6px;cursor:pointer;font-size:.875rem;transition:all .2s}.btn-delete:hover{background-color:#fff5f5;border-color:#e53e3e}.loading{text-align:center;padding:4rem 2rem;color:#718096;font-size:1.125rem}.audit-list{padding:clamp(.75rem,2.5vw,2rem);max-width:1400px;margin:0 auto}.audit-list-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem}.audit-list-header h2{margin:0;font-size:clamp(1.35rem,2.5vw,2rem);color:#333}.btn-create{padding:.7rem 1.35rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-create:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.audit-filters{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.search-bar{position:relative;flex:1 1 240px;min-width:min(100%,240px)}.search-input{width:100%;padding:.75rem 2.5rem .75rem 1rem;border:1px solid #ddd;border-radius:8px;font-size:1rem;transition:border-color .3s}.search-input:focus{outline:none;border-color:#667eea}.search-icon{position:absolute;right:1rem;top:50%;transform:translateY(-50%);pointer-events:none;opacity:.5}.team-toggle{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background-color:#f8f9fa;border-radius:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.team-toggle input[type=checkbox]{cursor:pointer}.current-team-badge{padding:.25rem .75rem;background-color:#667eea;color:#fff;border-radius:12px;font-size:.85rem;font-weight:600;margin-left:.5rem}.audit-section{margin-bottom:2.5rem}.audit-section h3{font-size:1.25rem;color:#666;margin-bottom:1rem;font-weight:600}.audit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:1.25rem}.audit-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:clamp(1rem,2vw,1.5rem);transition:all .2s;display:flex;flex-direction:column;gap:1rem}.audit-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.audit-card.audit-completed{border-left:4px solid #10b981}.audit-card-header{display:flex;justify-content:space-between;align-items:start;gap:.75rem;flex-wrap:wrap}.audit-card-header h4{margin:0;font-size:1.25rem;color:#333;flex:1 1 160px}.status-badge{padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:600;white-space:nowrap}.status-pending{background-color:#fef3c7;color:#92400e}.status-completed{background-color:#d1fae5;color:#065f46}.audit-description{color:#666;font-size:.95rem;line-height:1.5;margin:0}.audit-meta{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:#999}.audit-date,.audit-author{display:block}.audit-team-badge{display:inline-block;padding:.25rem .75rem;background-color:#667eea;color:#fff;border-radius:12px;font-size:.75rem;font-weight:600;margin-top:.25rem}.audit-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto}.btn-edit,.btn-view,.btn-delete{flex:1 1 100px;padding:.5rem 1rem;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-edit,.btn-view{background-color:#667eea;color:#fff}.btn-edit:hover,.btn-view:hover{background-color:#5568d3}.btn-delete{background-color:#f8f9fa;color:#dc3545;border:1px solid #dc3545}.btn-delete:hover{background-color:#dc3545;color:#fff}.empty-state,.loading-state{text-align:center;padding:4rem 2rem;color:#999}.empty-hint{font-size:.9rem;margin-top:.5rem}.install-modal-overlay{position:fixed;inset:0;background-color:#000000a6;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:30000;padding:1rem;box-sizing:border-box}.install-modal-card{background:#fff;border-radius:18px;max-width:460px;width:100%;overflow:hidden;box-shadow:0 20px 50px #0000004d;animation:install-modal-in .25s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column}@keyframes install-modal-in{0%{opacity:0;transform:scale(.92) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.install-modal-header{background:linear-gradient(135deg,#006994,#0097a7);padding:1.75rem 1.5rem 1.25rem;text-align:center;color:#fff}.install-modal-avatar{width:72px;height:72px;background:#fff;border-radius:18px;padding:6px;margin:0 auto .75rem;box-shadow:0 6px 18px #00000040;display:flex;align-items:center;justify-content:center}.install-modal-avatar img{width:100%;height:100%;border-radius:12px;object-fit:cover}.install-modal-header h2{margin:0 0 .35rem;font-size:1.35rem;font-weight:700;letter-spacing:-.01em}.install-modal-header p{margin:0;font-size:.88rem;opacity:.9;line-height:1.4}.install-modal-body{padding:1.25rem 1.5rem}.install-intro-text{font-size:.9rem;color:#4b5563;line-height:1.45;margin:0 0 1rem}.install-state-center{text-align:center;padding:1rem 0}.install-icon-large{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;font-size:1.8rem;font-weight:700;margin-bottom:.75rem}.install-icon-large.success{background:#ecfdf5;color:#10b981}.install-features-list{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:.75rem;display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.25rem}.install-feature-item{display:flex;align-items:flex-start;gap:.75rem}.feature-icon{font-size:1.25rem;line-height:1.2}.feature-title{font-size:.88rem;font-weight:600;color:#1e293b}.feature-desc{font-size:.78rem;color:#64748b;margin-top:1px}.btn-install-primary{width:100%;padding:.85rem 1rem;background:#006994;color:#fff;border:none;border-radius:10px;font-size:.98rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #00699440}.btn-install-primary:hover:not(:disabled){background:#057;transform:translateY(-1px)}.btn-install-primary:disabled{opacity:.6;cursor:not-allowed}.install-ios-heading{display:flex;align-items:center;gap:.5rem;font-size:.95rem;font-weight:700;color:#1e293b;margin-bottom:.85rem}.apple-badge{font-size:1.2rem;color:#1e293b}.ios-steps-timeline{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.ios-step-item{display:flex;align-items:flex-start;gap:.75rem}.step-circle{width:24px;height:24px;border-radius:50%;background:#006994;color:#fff;font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.step-circle.success{background:#10b981}.step-content{flex:1}.step-title{font-size:.88rem;font-weight:600;color:#1f2937}.step-title span{display:inline-block;font-weight:700;margin-left:4px;color:#006994}.step-desc{font-size:.76rem;color:#6b7280;margin-top:2px}.ios-tip-box{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;border-radius:8px;padding:.6rem .75rem;font-size:.78rem;line-height:1.4}.install-modal-footer{padding:.75rem 1.5rem 1.25rem;display:flex;justify-content:flex-end}.btn-install-secondary{background:transparent;border:none;color:#64748b;font-size:.88rem;font-weight:500;cursor:pointer;padding:.4rem .8rem;border-radius:6px;transition:all .15s}.btn-install-secondary:hover{background:#f1f5f9;color:#1e293b}.main-container{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden}.main-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:clamp(.6rem,1.8vw,1rem) clamp(.75rem,2.5vw,2rem);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;box-shadow:0 2px 8px #0000001a;flex-shrink:0}.main-header h1{margin:0;font-size:clamp(1.05rem,2.2vw,1.5rem);font-weight:600}.burger-menu{display:none}.user-info{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.install-app-btn{background:#ffffff40;color:#fff;border:1px solid rgba(255,255,255,.4);padding:.4rem .85rem;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;transition:all .2s;white-space:nowrap}.install-app-btn:hover{background:#fff;color:#006994;border-color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.build-chip{background:#fff3;color:#ffffffe6;padding:.2rem .5rem;border-radius:12px;font-size:.7rem;font-weight:500;white-space:nowrap}.user-name{font-size:.9rem}.nav-btn{padding:.45rem .85rem;background-color:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:6px;cursor:pointer;font-size:.88rem;font-weight:500;transition:all .2s;white-space:nowrap}.nav-btn:hover{background-color:#fff3;border-color:#fff6}.nav-btn.active{background-color:#ffffff4d;border-color:#ffffff80}.sign-out-btn{padding:.45rem .85rem;background-color:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:6px;cursor:pointer;font-size:.88rem;transition:background-color .2s;white-space:nowrap}.sign-out-btn:hover{background-color:#ffffff4d}.main-content{display:flex;flex-wrap:wrap;flex:1 1 0%;min-height:0;overflow-y:auto;overflow-x:hidden}.sidebar{flex:1 1 240px;min-width:min(100%,240px);max-height:100%;overflow-y:auto}.content-area{flex:999 1 340px;min-width:min(100%,340px);max-height:100%;overflow-y:auto;background-color:#fff;padding:clamp(.5rem,2.5vw,2rem)}.welcome-message{text-align:center;margin-top:3rem}.welcome-message h2{color:#333;margin-bottom:1rem}.welcome-message p{color:#666;font-size:1.1rem}.team-context{color:#667eea!important;font-size:1rem!important;margin-bottom:.5rem}.team-context strong{color:#764ba2}.loading-container{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1.2rem;color:#666}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;height:100vh;overflow:hidden}
