: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;min-width:320px;min-height:100vh;background:#fff}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}}.layout{min-height:100vh;display:flex;flex-direction:column}.layout-header{display:flex;align-items:center;gap:1.5rem;padding:.75rem 1rem;background:#f8f8f8;color:#eee;height:80px}.layout-brand{font-weight:700;font-size:1.25rem;color:#eee;text-decoration:none}.layout-nav{display:flex;gap:1rem}.layout-nav a{color:var(--Text-color, #202224);font-size:16px;font-style:normal;font-weight:700;line-height:normal;padding:10px 20px}.layout-nav a:hover,.layout-nav a.active{color:#4379ee}.layout-user{margin-left:auto;display:flex;align-items:center;gap:.35rem;position:relative}.layout-welcome{color:var(--Text-color, #202224);text-align:right;font-size:13px;font-style:normal;font-weight:700;line-height:normal;cursor:pointer}.layout-user-name{color:var(--Main-Blue, #4379EE);font-size:13px;font-style:normal;font-weight:700;line-height:normal}.layout-role{color:var(--Text-color, #202224);text-align:right;font-family:Nunito Sans;font-size:13px;font-style:normal;font-weight:700;line-height:normal}.layout-user-toggle{padding:.25rem .5rem;background:transparent;border:none;color:#4379ee;cursor:pointer;font-size:.7rem}.layout-user-toggle:hover{color:#4379ee}.layout-user-toggle:focus{outline:none}.layout-user-toggle-arrow{display:inline-block;transition:transform .2s}.layout-user.is-open .layout-user-toggle-arrow{transform:rotate(180deg)}.layout-user-dropdown{position:absolute;top:100%;right:0;margin-top:.5rem;min-width:180px;padding:.5rem 0;background:#16213e;border:1px solid #333;border-radius:8px;box-shadow:0 8px 24px #0006;z-index:100}.layout-user-dropdown-info{padding:.6rem 1rem;color:#aaa;font-size:.9rem;border-bottom:1px solid #333;text-align:left}.layout-user-dropdown-info small{color:#777;font-size:.8rem}.layout-user-dropdown-item{display:block;width:100%;padding:.5rem 1rem;background:none;border:none;color:#ccc;text-align:left;cursor:pointer;font-size:.9rem}.layout-user-dropdown-item:hover{background:#252540;color:#fff}.layout-main{flex:1;padding:1.5rem}.page-title{margin:0 0 1rem;font-size:1.5rem}.loading{padding:2rem;text-align:center;color:#aaa}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center}.login-header h3{font-family:Arial;font-weight:700;font-style:Bold;font-size:21px;line-height:28px;letter-spacing:0px;text-align:center;color:#101828;margin:14px 0 6px}.login-header p{font-family:Arial;font-weight:400;font-style:Regular;font-size:14px;leading-trim:NONE;line-height:21px;letter-spacing:0px;text-align:center;color:#4a5565;margin:0}.login-card{width:100%;min-width:392px;max-width:392px;padding:1.4rem;background:#fff;border-radius:12px;box-shadow:0 10px 15px -3px #0000001a;margin-top:28px}.forgot-password-card{border-radius:14px;border:1px solid rgba(0,0,0,.1);background:#fff;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.login-card h1{margin:0 0 .25rem;font-size:1.75rem;color:#fff}.login-sub{color:#101828;text-align:center;font-family:Arial;font-size:17.5px;font-style:normal;font-weight:400;line-height:24.5px;margin-top:0;margin-bottom:30px}.password-label{top:10px}.login-card form{text-align:left!important}.login-card label{color:#364153;font-family:Arial;font-size:12.25px;font-style:normal;font-weight:400;line-height:20.25px;text-align:left!important;position:relative;width:100%;display:block}.login-card label span.password-toggle{background-image:url(../assets/img/eye-show-icon.svg);background-repeat:no-repeat;background-position:10px center;position:absolute;right:7px;top:33px;width:24px;height:24px;cursor:pointer;background-size:14px}.login-card label span.password-toggle.hide{background-image:url(../assets/img/eye-hide-icon.svg)}.login-card input{display:flex;width:350px;height:42px;padding:3.5px 10.5px 3.5px 35px;align-items:center;border-radius:12.75px;border:1px solid #E5E7EB;background:#f9fafb;color:#000;font-family:Arial;font-size:12.25px;font-style:normal;font-weight:400;line-height:normal;background-image:url(../assets/img/email-icon.svg);background-repeat:no-repeat;background-position:10px center}.login-card input::placeholder{color:#717182}.login-card input.password{background-image:url(../assets/img/lock-icon.svg);background-repeat:no-repeat;background-position:10px center}.login-card input:focus{outline:none;border-color:#4a90d9}.login-error{padding:.5rem .75rem;margin-bottom:1rem;background:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;color:#721c24;font-size:.9rem}.login-card input.error{border-color:#c44}.login-card button{width:100%;border-radius:12.75px;background:#1849d6;display:flex;padding:13.75px 0;justify-content:center;align-items:center;color:#fff;text-align:center;font-family:Arial;font-size:12.25px;font-style:normal;font-weight:400;line-height:17.5px}.login-card button:hover:not(:disabled){background:#5a9ee9}.login-card button:disabled{opacity:.7;cursor:not-allowed}.login-card button:focus{outline:none}.login-forgot{margin-top:27px;margin-bottom:14px;text-align:right}.login-forgot.login{text-align:right;margin-bottom:14px}.login-forgot a{color:#030213;text-align:center;font-family:Arial;font-size:12.25px;font-style:normal;font-weight:400;line-height:17.5px}.login-forgot a:hover{text-decoration:underline}.forgot-password-card{max-width:360px}.forgot-steps{display:flex;align-items:center;justify-content:center;gap:.25rem;margin:1rem 0 .5rem}.forgot-steps span{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#252540;color:#666;font-size:.85rem;font-weight:600}.forgot-steps span.active{background:#4a90d9;color:#fff}.forgot-steps-line{width:24px!important;height:3px!important;border-radius:0!important;background:#333!important}.forgot-steps .forgot-steps-line.active{background:#4a90d9!important}.forgot-step-label{color:#0a0a0a;text-align:center;font-family:Arial;font-size:16px;font-style:normal;font-weight:400;line-height:16px}.forgot-password-card .login-success{padding:.5rem .75rem;margin-bottom:1rem;background:#d4edda;border:1px solid #c3e6cb;border-radius:6px;color:#155724;font-size:.9rem}.forgot-password-card .input-readonly{opacity:.8;cursor:not-allowed}.forgot-password-card .btn-back{width:100%;margin-top:.5rem;padding:.6rem;background:transparent;color:#888;border:1px solid #444;border-radius:6px;font-size:.9rem;cursor:pointer}.forgot-password-card .btn-back:hover{background:#252540;color:#ccc}p.forgot-sub{color:#717182;text-align:center;font-family:Arial;font-size:16px;font-style:normal;font-weight:400;line-height:24px}p.try-text{color:#6a7282;text-align:center;font-family:Arial;font-size:12px;font-style:normal;font-weight:400;line-height:16px;margin-top:16px}p.login-back-btn{text-align:center;margin-top:35px;margin-bottom:0}p.login-back-btn a{color:#717182;text-align:center;font-family:Arial;font-size:14px;font-style:normal;font-weight:400;line-height:24px;text-decoration-line:underline;text-decoration-style:solid;text-decoration-skip-ink:auto;text-decoration-thickness:auto;text-underline-offset:auto;text-underline-position:from-font}.footer-action-area{display:flex;align-items:center;justify-content:space-between}p.login-forgot{text-align:center;margin-bottom:0}p.login-forgot a{color:#3b82f6;text-align:center;font-family:Arial;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.project-list-page{padding:0;background:#fff;min-height:100vh}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px;align-items:flex-end}.page-header h2{color:#0a0a0a;font-size:16px;font-style:normal;font-weight:600;line-height:22px;margin:0;padding-left:28px}.btn-add{border-radius:4px;background:#2549ff;display:inline-flex;padding:12px 24px;justify-content:center;align-items:center;gap:8px;color:#fff;font-size:16px;font-style:normal;font-weight:600;line-height:normal}.btn-add:hover{background:#2f4ecb;color:#fff}.table-wrapper{background:#fff;border-radius:8px;overflow:hidden}.align-left{text-align:left!important}.project-table{width:100%;border-collapse:collapse}.project-table thead{border-radius:10px;background:#f8f8f8}.project-table th{color:#0a0a0a;font-size:14px;font-style:normal;font-weight:600;line-height:14px;padding:12px 28px}.project-table td{padding:20px 28px;color:#0a0a0a;font-size:14px;font-style:normal;font-weight:400;line-height:14px;vertical-align:top}.project-table td p{margin-top:0}.project-table tbody tr:nth-child(2n){background:#f8f8f8}.title{font-weight:500}.lyric{max-width:350px;color:#444}.see-more{color:#3b5bdb;cursor:pointer;font-size:13px}.scene-count{text-align:center}.actions{display:flex;justify-content:center;gap:10px}.edit-btn{background-color:transparent;border:none;padding:0 10px 10px}.edit-btn:focus{outline:none}.edit-btn:hover{outline:none;border:none;opacity:.7}.delete-btn{background-color:transparent;border:none;padding:0 10px 10px}.delete-btn:focus{outline:none}.delete-btn:hover{outline:none;border:none;opacity:.7}.pagination{margin-top:90px;display:flex;justify-content:center;gap:6px}.pagination button{border-radius:8px;border:1px solid #F1F1F1;background:#fff;display:flex;width:32px;height:32px;padding:10px;flex-direction:column;justify-content:center;align-items:center;gap:10px;color:#333;font-size:13px;font-style:normal;font-weight:600;line-height:normal}.pagination .active,.pagination button:hover{background:#3b5bdb;color:#fff;border-color:#3b5bdb}.pagination button:focus{outline:none}.pagination span{color:#333;font-size:13px;font-style:normal;font-weight:600;line-height:25px}.create-project-page{max-width:1200px}.song-info-card{max-width:560px;margin:0 auto;padding:2rem;background:#1a1a2e;border-radius:12px;box-shadow:0 4px 24px #0000004d}.song-info-title{margin:0 0 .5rem;font-size:1.5rem;font-weight:700;color:#fff}.song-info-desc{margin:0 0 1.5rem;color:#999;font-size:.95rem}.song-info-form label{display:block;margin-bottom:1.25rem;color:#bbb;font-size:.9rem;font-weight:500}.song-info-form input,.song-info-form textarea{display:block;width:100%;margin-top:.5rem;padding:.75rem 1rem;background:#252540;border:1px solid #333;border-radius:8px;color:#e0e0e0;font-size:1rem;box-sizing:border-box}.song-info-form input::placeholder,.song-info-form textarea::placeholder{color:#666}.song-info-form input:focus,.song-info-form textarea:focus{outline:none;border-color:#4a90d9}.song-info-form textarea{min-height:140px;resize:vertical}.btn-next{width:100%;margin-top:.5rem;padding:.85rem 1.5rem;background:#4a90d9;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer}.btn-next:hover{background:#5a9ee9}.step-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.step-tabs button{padding:.5rem 1rem;background:#252540;color:#bbb;border:1px solid #333;border-radius:6px;cursor:pointer}.step-tabs button.active{background:#4a90d9;color:#fff;border-color:#4a90d9}.step-tabs button:hover:not(.active){background:#333;color:#fff}.step-title{margin:0 0 .5rem;font-size:1.25rem}.step-desc{color:#999;margin:0 0 1rem;font-size:.9rem}.hint{color:#888;font-size:.85rem;margin:.5rem 0}.table-wrap{overflow-x:auto;margin:1rem 0}.step-table input{width:100%;min-width:80px;padding:.4rem;background:#0f0f1a;border:1px solid #333;border-radius:4px;color:#fff;box-sizing:border-box}.step-table textarea{width:100%;min-height:60px;padding:.4rem;background:#0f0f1a;border:1px solid #333;border-radius:4px;color:#fff;box-sizing:border-box}.uploaded{color:#8f8;font-size:.85rem}.file-upload{display:inline-block;padding:.5rem 1rem;background:#333;border-radius:6px;cursor:pointer;margin-bottom:1rem}.file-upload input{display:none}.file-upload-inline{display:inline-block;padding:.25rem .5rem;background:#333;border-radius:4px;cursor:pointer;margin-right:.5rem;font-size:.85rem}.file-upload-inline input{display:none}.btn-secondary{background:#444;color:#eee;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;margin-right:.5rem}.step-actions{margin-top:1.5rem;display:flex;gap:.5rem;flex-wrap:wrap}.step4-form{max-width:560px}.step4-form label{display:block;margin-bottom:.75rem;color:#bbb;font-size:.9rem}.step4-form input,.step4-form textarea{width:100%;padding:.5rem;background:#1a1a2e;border:1px solid #333;border-radius:4px;color:#fff;margin-top:.25rem;box-sizing:border-box}.step4-form h3{margin:1rem 0 .5rem;font-size:1rem}.meta-row{display:flex;gap:.5rem;margin-bottom:.5rem}.meta-row input,.meta-row select{flex:1;padding:.4rem;background:#1a1a2e;border:1px solid #333;border-radius:4px;color:#fff}.page-loading{padding:2rem;color:#888}.settings-page{max-width:640px}.settings-form label{display:block;margin-bottom:.5rem;color:#bbb;font-size:.9rem}.settings-form textarea{width:100%;padding:.75rem;margin-bottom:1rem;background:#1a1a2e;border:1px solid #333;border-radius:8px;color:#e0e0e0;font-family:inherit;font-size:.95rem;box-sizing:border-box}.settings-form textarea:focus{outline:none;border-color:#4a90d9}.settings-form .form-message{margin-bottom:1rem;color:#8f8}.settings-form button{padding:.6rem 1.2rem;background:#4a90d9;color:#fff;border:none;border-radius:6px;cursor:pointer}.settings-form button:disabled{opacity:.7;cursor:not-allowed}.btn-primary{background:#4a90d9;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer}.btn-danger{background:#b44;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer}.btn-sm{padding:.3rem .6rem;font-size:.85rem;margin-right:.5rem;background:#333;color:#eee;border:none;border-radius:4px;cursor:pointer}.btn-sm.btn-danger{background:#833}.roles-page{max-width:900px}.roles-page .btn-primary{margin-bottom:1rem}.data-table{width:100%;border-collapse:collapse;background:#1a1a2e;border-radius:8px;overflow:hidden}.data-table th,.data-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #333}.data-table th{background:#16213e;color:#ccc;font-weight:600}.data-table tbody tr:hover{background:#252540}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:#1a1a2e;padding:1.5rem;border-radius:12px;max-width:480px;width:90%;max-height:90vh;overflow-y:auto}.modal h2{margin:0 0 1rem;font-size:1.25rem}.modal label{display:block;margin-bottom:.75rem;color:#bbb;font-size:.9rem}.modal input[type=text]{width:100%;padding:.5rem;background:#0f0f1a;border:1px solid #333;border-radius:4px;color:#fff;margin-top:.25rem;box-sizing:border-box}.permissions-group{margin:1rem 0}.permissions-group strong{display:block;margin-bottom:.5rem}.perm-group-name{text-transform:capitalize;margin-right:.5rem}.perm-check{display:inline-block;margin-right:1rem;margin-bottom:.35rem;cursor:pointer}.modal-actions{margin-top:1rem;display:flex;gap:.5rem;flex-wrap:wrap}.users-page{max-width:960px}.users-page .btn-primary{margin-bottom:1rem}.users-page .data-table select{background:#252540;color:#eee;border:1px solid #444;padding:.35rem .5rem;border-radius:4px}.modal select{width:100%;padding:.5rem;background:#0f0f1a;border:1px solid #333;border-radius:4px;color:#fff;margin-top:.25rem;box-sizing:border-box}#root{max-width:100%;margin:0 auto;padding:0rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}
