.form-group{position:relative;margin:var(--padding-modal);input,select,textarea{font-family:var(--font-family);width:100%;padding:var(--padding-modal);border:1px solid var(--color-border);border-radius:var(--border-radius);background:var(--color-sidebar-bg);color:var(--color-text);outline:none;box-sizing:border-box}input[type=checkbox]{appearance:none;width:44px;height:24px;background:var(--color-border);border-radius:12px;position:relative;cursor:pointer;transition:background var(--transition);border:none;padding:0;vertical-align:middle;margin-top:10px;&:checked{background:var(--color-primary)}&:before{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;top:3px;left:3px;transition:transform var(--transition);box-shadow:0 1px 3px #0003}&:checked:before{transform:translate(20px)}}label.floating-label{position:absolute;left:12px;top:16px;color:var(--color-text);background:var(--color-sidebar-bg);padding:0 4px;pointer-events:none;transition:var(--transition);z-index:2}input:focus+label.floating-label,input:not(:placeholder-shown)+label.floating-label,textarea:focus+label.floating-label,textarea:not(:placeholder-shown)+label.floating-label{top:-10px;left:8px}.field-description{position:absolute;right:0;top:-14px;pointer-events:none;opacity:0;transform:translateY(10px);transition:opacity var(--transition),transform var(--transition);z-index:1;display:block}input:focus~.field-description,textarea:focus~.field-description{opacity:.6;transform:translateY(0)}}.tabs[data-v-625d27fa]{display:flex;margin-bottom:var(--padding-modal)}.tab-btn[data-v-625d27fa]{flex:1;padding:var(--padding-modal);background:none;border:none;cursor:pointer;border:0;border-radius:0;border-bottom:2px solid transparent;transition:border-color .2s,color .2s}.tab-btn.active[data-v-625d27fa]{border-bottom:2px solid var(--color-primary)}.user{&[data-v-188ffa64]{position:relative}.user-avatar[data-v-188ffa64]{width:32px;height:32px;border-radius:50%;background:#007bff;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;cursor:pointer;overflow:hidden}.user-avatar img[data-v-188ffa64]{width:100%;height:100%;object-fit:cover}.user-menu{&[data-v-188ffa64]{position:absolute;top:100%;right:0;background:var(--color-sidebar-bg);border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text);box-shadow:0 2px 10px #0000001a;min-width:200px;z-index:1000;margin-top:var(--padding-header)}.user-info[data-v-188ffa64]{padding:var(--padding-header);border-bottom:1px solid var(--color-border)}strong[data-v-188ffa64]{display:block;margin-bottom:var(--padding-header)}small[data-v-188ffa64]{display:block;opacity:.8}ul[data-v-188ffa64]{list-style:none;margin:0;padding:0}li a{&[data-v-188ffa64]{display:block;padding:var(--padding-header);color:var(--color-text);text-decoration:none;transition:background var(--transition)}&[data-v-188ffa64]:hover{background:var(--color-sidebar-header-bg)}}}}.job-handler[data-v-9ca58d5d]{max-width:480px;margin:24px auto 0;padding:0 8px;position:absolute;right:0;top:50px;z-index:1002}.job-handler-fade-slide-enter-active[data-v-9ca58d5d],.job-handler-fade-slide-leave-active[data-v-9ca58d5d]{transition:opacity .4s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.4,0,.2,1)}.job-handler-fade-slide-enter-from[data-v-9ca58d5d],.job-handler-fade-slide-leave-to[data-v-9ca58d5d]{opacity:0;transform:translateY(-30px) translate(40px) scale(.98)}.job-handler-fade-slide-enter-to[data-v-9ca58d5d],.job-handler-fade-slide-leave-from[data-v-9ca58d5d]{opacity:1;transform:translateY(0) translate(0) scale(1)}.job-handler-close[data-v-9ca58d5d]{position:absolute;top:8px;right:12px;background:none;border:none;font-size:1.7em;color:#888;cursor:pointer;z-index:1003;transition:color .2s}.job-handler-close[data-v-9ca58d5d]:hover{color:#d32f2f}.job-item[data-v-9ca58d5d]{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000012;margin-bottom:18px;padding:18px 20px 14px;position:relative;border-left:4px solid var(--color-primary)}.job-header[data-v-9ca58d5d]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.job-id[data-v-9ca58d5d]{font-size:.98em;color:#888}.job-status[data-v-9ca58d5d]{font-size:1em;font-weight:600;text-transform:capitalize;padding:2px 10px;border-radius:12px;background:#f1f1f1;color:#555}.job-status.pending[data-v-9ca58d5d],.job-status.running[data-v-9ca58d5d]{background:#fffbe6;color:#bfa100}.job-status.done[data-v-9ca58d5d]{background:#e6ffed;color:#1a7f37}.job-status.error[data-v-9ca58d5d]{background:#ffeaea;color:#d32f2f}.job-progress[data-v-9ca58d5d]{margin:10px 0 6px}.progress-bar[data-v-9ca58d5d]{width:100%;height:10px;background:#f0f0f0;border-radius:5px;overflow:hidden;margin-bottom:4px}.progress-fill[data-v-9ca58d5d]{height:100%;background:var(--color-primary);transition:width .3s}.progress-text[data-v-9ca58d5d]{font-size:.95em;color:#666}.job-error[data-v-9ca58d5d]{color:#d32f2f;background:#ffeaea;padding:8px;border-radius:4px;margin-bottom:6px}.job-success[data-v-9ca58d5d]{color:#1a7f37;background:#e6ffed;padding:8px;border-radius:4px;margin-bottom:6px}.cancel-job-btn[data-v-9ca58d5d]{background:#fffbe6;color:#bfa100;border:none;border-radius:4px;padding:6px 14px;font-size:.98em;cursor:pointer;margin-top:6px;transition:background .2s}.cancel-job-btn[data-v-9ca58d5d]:hover{background:#fff3c1}.job-desc[data-v-9ca58d5d]{font-size:1.05em;color:#444;margin-bottom:8px;font-style:italic}textarea[data-v-1d338ad8]{height:30vh}.divider[data-v-fbe93783]{text-align:center;margin:1.5rem 0;position:relative}.divider[data-v-fbe93783]:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#eee}.divider span[data-v-fbe93783]{background:#fff;padding:0 1rem;color:#666;font-size:.9rem}.google-auth[data-v-fbe93783]{margin-bottom:1rem}.btn-google[data-v-fbe93783]{width:100%;padding:.75rem;background:#fff;color:#333;border:1px solid #ddd;border-radius:4px;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:background-color .2s}.btn-google[data-v-fbe93783]:hover:not(:disabled){background:#f8f9fa}.btn-google[data-v-fbe93783]:disabled{opacity:.6;cursor:not-allowed}.google-icon[data-v-fbe93783]{width:18px;height:18px}.auth-required[data-v-e35839fa]{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:2rem}.auth-message[data-v-e35839fa]{text-align:center;max-width:400px}.auth-message h2[data-v-e35839fa]{margin-bottom:1rem;color:#333}.auth-message p[data-v-e35839fa]{margin-bottom:2rem;color:#666;line-height:1.5}.btn-primary[data-v-e35839fa]{background:#007bff;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .2s}.btn-primary[data-v-e35839fa]:hover{background:#0056b3}:root{--color-bg: #f5f5f5;--color-primary: #667eea;--color-secondary: #6c757d;--color-success-bg: #d4edda;--color-success-text: #155724;--color-error-bg: #f8d7da;--color-error-text: #721c24;--color-header-bg: #000;--color-header-text: #fff;--color-border: #ddd;--color-sidebar-bg: #fff;--color-sidebar-header-bg: #f8f9fa;--color-text: #333;--color-link: #333;--color-link-hover: #e9ecef;--padding-main: 20px;--padding-header: 10px;--padding-sidebar-header: 10px;--padding-modal: 20px;--border-radius: 4px;--border-radius-modal: 8px;--transition: .3s;--font-family: monospace}.dark-theme{--color-bg: #1a1a1a;--color-primary: #7c93ff;--color-secondary: #a0a0a0;--color-success-bg: #1e4d2b;--color-success-text: #4ade80;--color-error-bg: #4c1d1d;--color-error-text: #f87171;--color-header-bg: #000;--color-header-text: #fff;--color-border: #404040;--color-sidebar-bg: #2d2d2d;--color-sidebar-header-bg: #1f1f1f;--color-text: #e5e5e5;--color-link: #e5e5e5;--color-link-hover: #404040}@font-face{font-family:Material Icons;font-style:normal;font-weight:400;src:local("Material Icons"),local("MaterialIcons-Regular"),url("./MaterialIcons-Regular-5HNTTCIU.ttf") format("truetype")}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}body{font-family:var(--font-family);background:var(--color-bg)}body,h1,h2,h3,h4,h5,h6,p,ol,ul{margin:0;padding:0;font-weight:400}ol,ul{list-style:none}button{font-family:var(--font-family);background:transparent;border:1px solid var(--color-link);color:var(--color-link);padding:8px;border-radius:var(--border-radius);cursor:pointer;transition:background var(--transition),color var(--transition);&:hover{color:var(--color-primary);border-color:var(--color-primary)}&.btn-primary{background:var(--color-header-text);color:var(--color-header-bg);font-weight:500}&.icon{border:0}}#app{display:flex;flex-direction:column;height:100vh;.main-content{display:flex;flex:1;overflow:hidden;.content{flex:1;display:flex;color:var(--color-text);.movie{display:flex;flex:1;.movie-form-tree{padding:var(--padding-main);flex:1;overflow-y:auto}}}}}.icon{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga";&.icon-badge{position:relative;&[data-badge]:before{content:attr(data-badge);font-family:Material Icons;position:absolute;bottom:-4px;right:-4px;font-size:16px;background:#fff;border-radius:50%;box-shadow:0 1px 4px #0000001f;padding:2px;z-index:1;color:#000}}}.loading{text-align:center;padding:var(--padding-main);color:#666}.error{background:var(--color-error-bg);color:var(--color-error-text);padding:10px;border-radius:var(--border-radius);margin-bottom:10px}.warning{color:var(--color-error-text);padding:10px;border-radius:var(--border-radius);margin-bottom:10px}.toast{position:fixed;top:10px;left:50%;max-width:400px;transform:translate(-50%);z-index:100}.success{background:var(--color-success-bg);color:var(--color-success-text);padding:10px;border-radius:var(--border-radius);margin-bottom:10px}.header{background:var(--color-header-bg);color:var(--color-header-text);padding:var(--padding-header);z-index:1010;.header-content{display:flex;justify-content:space-between;align-items:center;>button{border:0;font-size:xx-large}}}.sidebar{width:280px;background:var(--color-sidebar-bg);border-left:1px solid var(--color-border);box-shadow:-2px 0 5px #0000000d;transform:translate(-100%);transition:transform var(--transition) ease-in-out;overflow-y:auto;flex-shrink:0;&.open{transform:translate(0)}&.collapsed{width:60px;overflow:hidden;.sidebar-content{display:none}.sidebar-header{background-color:transparent;h3{display:none}button{position:absolute;left:0;top:10px}}}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:var(--padding-sidebar-header);background:var(--color-sidebar-header-bg);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:2;h3{margin:0;font-size:18px}}.close-btn{background:transparent;border:none;font-size:24px;cursor:pointer;padding:0 5px}.sidebar-content.toc{ul{list-style:none;padding:0;margin:0;ul{position:relative;margin:0 0 0 10px;&:before{content:"";position:absolute;height:100%;width:1px;border-left:1px dotted var(--color-border)}}li.shot-item{display:flex;border-bottom:1px dotted var(--color-border);a{flex:1;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}}}a{display:block;padding:10px;text-decoration:none;color:var(--color-link);transition:background-color .2s;&:hover{background-color:var(--color-link-hover)}}li:has(li)>a{margin-left:-2px;&:before{content:"\2304  "}}.sidebar-movie-tree,.sidebar-movie-tree ul{padding-left:var(--padding-modal)}}}.accordion-item{padding:10px 0 0 10px;&.open{>.accordion-content{display:block}>.accordion-header .accordion-title:before{content:"-"}}.accordion-header{display:flex;align-items:center;cursor:pointer;user-select:none;font-weight:700;padding:.5em 0;.accordion-title{margin:0;flex:1;&:before{content:"+"}}}.accordion-content{border-top:1px solid var(--color-border);display:none}}.entity-fields{background-color:#fff;display:grid;grid-gap:10px;grid-template-columns:max-content;font-size:small;margin-top:-5px;dt{font-weight:700}dd{margin:0;grid-column-start:2}}.form-actions{position:sticky;z-index:3;bottom:0;text-align:right;border-top:1px solid var(--color-border);background-color:var(--color-sidebar-bg);padding:var(--padding-modal)}.relation-controls{margin-top:10px}.nested-relations{margin-top:10px;padding-left:20px;border-left:2px solid var(--color-link-hover)}.modal{position:fixed;top:50%;left:50%;translate:-50% -50%;z-index:1001;max-width:600px;width:90%;isolation:isolate;display:flex;flex-direction:column;box-shadow:0 2px 4px #0003;&:before{content:" ";position:fixed;inset:-10000px 0 0 -10000px;width:20000px;height:20000px;background:#00000080;z-index:-1}&.without-overlay{z-index:1000;&:before{display:none}}>*{background:var(--color-sidebar-bg)}>*:first-child{border-top-left-radius:var(--border-radius-modal);border-top-right-radius:var(--border-radius-modal)}>*:last-child{border-bottom-left-radius:var(--border-radius-modal);border-bottom-right-radius:var(--border-radius-modal)}.modal-header{background-color:var(--color-header-bg);color:var(--color-header-text);display:flex;justify-content:space-between;align-items:center;padding:var(--padding-modal);border-bottom:1px solid var(--color-border);h3{margin:0}.modal-close{background:none;border:none;cursor:pointer;padding:0;color:var(--color-header-text)}}.modal-body{max-height:60vh;overflow-y:auto}}.movie-list-container{padding:24px 32px;margin:32px auto;max-width:700px;min-height:300px;.movie-list-title{font-size:2rem;font-weight:600;margin-bottom:24px;color:var(--color-primary);letter-spacing:1px;text-align:center}.movie-list{display:flex;flex-direction:column;gap:var(--padding-header)}.movie-card{align-items:center;padding:var(--padding-header);margin:var(--padding-header);border-radius:var(--border-radius);background-color:var(--color-sidebar-bg);border:1px solid var(--color-border);font-size:1.1rem;cursor:pointer;transition:background .2s,box-shadow .2s;box-shadow:0 1px 2px #00000005;.movie-meta{font-size:small;opacity:.6}}.movie-card:hover{box-shadow:0 2px 8px #0003}}.diagram-btn{background:transparent;border:none;font-size:20px;cursor:pointer;margin-right:8px;color:#333;transition:color .2s;&:hover{color:var(--color-primary)}}
/*# sourceMappingURL=app.css.map */
