.toast{align-items:center;animation:toastFadeIn .2s ease;background:#1e1e1e;border:1px solid #333;border-radius:8px;box-shadow:0 4px 12px #0000004d;display:flex;gap:10px;left:50%;max-width:400px;padding:12px 16px;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:9999}@keyframes toastFadeIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.toast-exit{animation:toastFadeOut .2s ease forwards}@keyframes toastFadeOut{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.95)}}.toast-icon{align-items:center;display:flex;flex-shrink:0;justify-content:center}.toast-success{border-left:3px solid #4caf50}.toast-success .toast-icon{color:#4caf50}.toast-error{border-left:3px solid #f44336}.toast-error .toast-icon{color:#f44336}.toast-warning{border-left:3px solid #ff9800}.toast-warning .toast-icon{color:#ff9800}.toast-info{border-left:3px solid #2196f3}.toast-info .toast-icon{color:#2196f3}.toast-message{color:#ddd;flex:1 1;font-size:13px;line-height:1.4}.toast-close{align-items:center;background:#0000;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:4px;transition:all .15s}.toast-close:hover{background:#333;color:#888}@media (max-width:480px){.toast{bottom:auto;left:50%;max-width:calc(100vw - 32px);right:auto;top:50%;transform:translate(-50%,-50%)}@keyframes toastFadeIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.toast-exit{animation:toastFadeOutMobile .2s ease forwards}@keyframes toastFadeOutMobile{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.95)}}}.change-password-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:3100}.change-password-modal{background:#0f0f1a;border:1px solid #ffffff0f;border-radius:20px;box-shadow:0 32px 100px #000c;max-width:460px;overflow:hidden;width:100%}.change-password-modal-header{align-items:center;border-bottom:1px solid #ffffff0f;display:flex;justify-content:space-between;padding:18px 24px}.change-password-modal-header h3{color:#f1f5f9;font-size:18px;font-weight:600;letter-spacing:-.3px;margin:0}.change-password-modal-close{align-items:center;background:none;border:none;border-radius:8px;color:#64748b;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;line-height:1;transition:all .2s;width:32px}.change-password-modal-close:hover{background:#ffffff0f;color:#e2e8f0}.change-password-modal-body{display:flex;flex-direction:column;gap:16px;padding:20px 24px 24px}.change-password-field{display:flex;flex-direction:column;gap:8px}.change-password-field label{color:#94a3b8;font-size:13px;font-weight:500}.change-password-field input{background:#ffffff08;border:1px solid #ffffff14;border-radius:10px;box-sizing:border-box;color:#f1f5f9;font-family:inherit;font-size:14px;padding:12px 14px;transition:all .2s;width:100%}.change-password-field input:focus{background:#ffffff0d;border-color:#3b82f666;outline:none}.change-password-field input::placeholder{color:#475569}.change-password-hint{color:#64748b;font-size:12px;font-weight:500}.change-password-hint.ok{color:#4ade80}.change-password-hint.err{color:#f87171}.change-password-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:4px}.change-password-actions button{border-radius:10px;cursor:pointer;font-family:inherit;font-size:14px;font-weight:500;padding:10px 22px;transition:all .2s}.change-password-actions .btn-cancel{background:#0000;border:1px solid #ffffff14;color:#64748b}.change-password-actions .btn-cancel:hover:not(:disabled){background:#ffffff08;border-color:#ffffff26;color:#94a3b8}.change-password-actions .btn-confirm{background:#3b82f6;border:none;color:#fff}.change-password-actions .btn-confirm:hover:not(:disabled){background:#2563eb;box-shadow:0 4px 16px #3b82f64d}.change-password-actions button:disabled{cursor:not-disabled;opacity:.5}.finance-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:2000}.finance-modal{background:#0f0f1a;border:1px solid #ffffff0f;border-radius:20px;box-shadow:0 32px 100px #000c;display:flex;flex-direction:column;max-height:90vh;max-width:720px;overflow:hidden;width:100%}.finance-modal-header{align-items:center;border-bottom:1px solid #ffffff0f;display:flex;justify-content:space-between;padding:10px 15px}.finance-modal-header h2{color:#f1f5f9;font-size:20px;font-weight:600;letter-spacing:-.3px;margin:0}.finance-modal-close{align-items:center;background:none;border:none;border-radius:10px;color:#64748b;cursor:pointer;display:flex;font-size:24px;height:36px;justify-content:center;line-height:1;transition:all .2s;width:36px}.finance-modal-close:hover{background:#ffffff0f;color:#e2e8f0}.finance-modal-body{overflow-y:auto;padding:10px}.finance-personal-info{background:#ffffff05;border:1px solid #ffffff0f;border-radius:14px;display:flex;flex-direction:column;gap:10px;margin-bottom:5px;padding:14px 18px}.finance-personal-row{align-items:center;display:flex;flex-wrap:wrap;font-size:12px;gap:10px}.finance-personal-label{color:#64748b;font-weight:500;min-width:60px}.finance-personal-value{color:#f1f5f9;flex:1 1;font-weight:600;min-width:0;word-break:break-all}.finance-info-btn{background:#3b82f61f;border:1px solid #3b82f666;border-radius:8px;color:#60a5fa;cursor:pointer;font-family:inherit;font-size:10px;font-weight:500;padding:2px 12px;transition:all .2s}.finance-info-btn:hover{background:#3b82f638;border-color:#3b82f699;color:#93c5fd}.finance-info-btn--ghost{background:#0000;border:1px solid #ffffff1a;color:#94a3b8}.finance-info-btn--ghost:hover{background:#ffffff0a;border-color:#fff3;color:#cbd5e1}.finance-personal-divider{border-top:1px dashed #ffffff14;color:#475569;font-size:11px;font-weight:600;letter-spacing:.5px;margin-top:4px;padding-top:10px;text-transform:uppercase}.finance-points-summary{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-bottom:8px}.points-summary-card{background:#ffffff08;border:1px solid #ffffff0f;border-radius:14px;padding:20px;text-align:center;transition:all .3s ease}.points-summary-card:hover{background:#ffffff0a;border-color:#ffffff1a}.points-summary-card .label{color:#64748b;font-size:13px;font-weight:500;margin-bottom:8px}.points-summary-card .value{color:#f1f5f9;font-size:24px;font-weight:700;letter-spacing:-.5px}.points-summary-card.recharge .value{color:#4ade80}.points-summary-card.consume .value{color:#f87171}.finance-tabs-row{align-items:center;border-bottom:1px solid #ffffff0f;display:flex;justify-content:space-between;margin-bottom:12px}.finance-tabs{display:flex;gap:8px;padding-bottom:0}.btn-recharge-main{align-items:center;background:#0000;border:1px solid #ffffff26;border-radius:10px;color:#e2e8f0;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;margin-bottom:6px;padding:10px 24px;transition:all .2s ease}.btn-recharge-main:hover{background:#ffffff0d;border-color:#ffffff40;color:#fff}.finance-tab{background:#0000;border:none;border-bottom:2px solid #0000;border-radius:8px 8px 0 0;color:#64748b;cursor:pointer;font-size:14px;font-weight:500;margin-bottom:-1px;padding:10px 20px;transition:all .2s}.finance-tab:hover{background:#ffffff08;color:#94a3b8}.finance-tab.active{background:#3b82f60f;border-bottom-color:#3b82f6;color:#60a5fa}.finance-records{background:#ffffff05;border:1px solid #ffffff0f;border-radius:14px;display:flex;flex-direction:column;height:520px;overflow:hidden}.finance-table-wrapper{flex:1 1;height:475px;overflow-y:auto}.finance-table{border-collapse:collapse;font-size:13px;width:100%}.finance-table td,.finance-table th{border-bottom:1px solid #ffffff0a;padding:14px 20px;text-align:left}.finance-table th{background:#ffffff08;color:#64748b;font-size:12px;font-weight:600;letter-spacing:.5px;position:sticky;text-transform:uppercase;top:0;z-index:1}.finance-table tbody tr{transition:background .15s ease}.finance-table tbody tr:hover{background:#ffffff08}.finance-table td{color:#cbd5e1}.finance-table .amount-positive{color:#4ade80;font-weight:600}.finance-table .amount-negative{color:#f87171;font-weight:600}.finance-table .points-cell{color:#818cf8;font-weight:500}.finance-table .time-cell{color:#475569;font-size:12px}.finance-pagination{align-items:center;border-top:1px solid #ffffff0a;display:flex;flex-shrink:0;gap:6px;justify-content:center;margin-top:auto;padding:5px}.finance-pagination button{background:#ffffff08;border:1px solid #ffffff14;border-radius:8px;color:#94a3b8;cursor:pointer;font-size:13px;font-weight:500;padding:8px 14px;transition:all .2s}.finance-pagination button:hover:not(:disabled){background:#ffffff0d;border-color:#60a5fa4d;color:#e2e8f0}.finance-pagination button:disabled{background:#ffffff05;cursor:not-allowed;opacity:.3}.finance-pagination .page-info{color:#475569;font-size:13px;font-weight:500;padding:0 8px}.finance-pagination .page-btn.active{background:#3b82f626;border-color:#3b82f64d;color:#60a5fa;font-weight:600}.finance-empty{align-items:center;color:#475569;display:flex;flex:1 1;flex-direction:column;justify-content:center;min-height:280px;padding:60px 24px;text-align:center}.finance-empty-icon{font-size:48px;margin-bottom:16px;opacity:.4}.finance-empty p{font-size:14px;margin:0}.recharge-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:3000}.recharge-modal{background:#0f0f1a;border:1px solid #ffffff0f;border-radius:20px;box-shadow:0 32px 100px #000c;max-width:480px;padding:32px;width:100%}.recharge-modal h3{color:#f1f5f9;font-size:20px;font-weight:600;letter-spacing:-.3px;margin:0 0 8px}.recharge-modal>p{color:#64748b;font-size:14px;margin-bottom:24px}.recharge-amounts{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);margin-bottom:24px}.recharge-amount-btn{background:#ffffff08;border:1px solid #ffffff14;border-radius:12px;cursor:pointer;padding:16px 12px;text-align:center;transition:all .2s}.recharge-amount-btn:hover{background:#ffffff0d;border-color:#60a5fa4d}.recharge-amount-btn.selected{background:#3b82f61a;border-color:#3b82f666}.recharge-amount-btn .amount{color:#f1f5f9;font-size:18px;font-weight:700}.recharge-amount-btn .points{color:#64748b;font-size:12px;font-weight:500;margin-top:4px}.recharge-amount-btn.selected .points{color:#60a5fa}.recharge-custom{margin-bottom:24px}.recharge-custom label{color:#94a3b8;display:block;font-size:14px;font-weight:500;margin-bottom:10px}.recharge-custom input{background:#ffffff08;border:1px solid #ffffff14;border-radius:12px;box-sizing:border-box;color:#f1f5f9;font-size:15px;padding:14px 18px;transition:all .2s;width:100%}.recharge-custom input:focus{background:#ffffff0d;border-color:#3b82f666;outline:none}.recharge-custom input::placeholder{color:#475569}.recharge-custom p{color:#60a5fa;font-size:13px;font-weight:500;margin-top:8px}.recharge-actions{display:flex;gap:12px;justify-content:flex-end}.recharge-actions button{border-radius:10px;cursor:pointer;font-size:14px;font-weight:500;padding:11px 24px;transition:all .2s}.recharge-actions .btn-cancel{background:#0000;border:1px solid #ffffff14;color:#64748b}.recharge-actions .btn-cancel:hover{background:#ffffff08;border-color:#ffffff26;color:#94a3b8}.recharge-actions .btn-confirm{background:#3b82f6;border:none;color:#fff}.recharge-actions .btn-confirm:hover{background:#2563eb;box-shadow:0 4px 16px #3b82f64d}.recharge-actions .btn-confirm:disabled{cursor:not-allowed;opacity:.5}.finance-loading{align-items:center;color:#475569;display:flex;flex:1 1;font-size:14px;justify-content:center;min-height:280px;padding:60px 24px;text-align:center}.status-badge{align-items:center;border-radius:6px;display:inline-flex;font-size:12px;font-weight:500;padding:4px 10px}.status-badge.success{background:#22c55e1a;color:#4ade80}@media (max-width:640px){.finance-modal{border-radius:16px;max-width:100%}.finance-modal-body,.finance-modal-header{padding:20px 24px}.finance-points-summary{grid-template-columns:1fr}.finance-table td,.finance-table th{padding:12px 16px}.recharge-amounts{grid-template-columns:repeat(2,1fr)}.recharge-modal{padding:24px}}.language-switcher{align-items:center;display:flex;font-size:13px;gap:4px}.lang-btn{background:none;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;font-size:13px;font-weight:500;padding:2px 6px;transition:all .2s}.lang-btn:hover{background:#ffffff1a;color:#e5e7eb}.lang-btn.active{background:#6366f14d;color:#fff}.lang-divider{color:#4b5563;font-size:11px}.gift-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.gift-modal-content{animation:giftModalSlideIn .3s ease;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:420px;width:90%}@keyframes giftModalSlideIn{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.gift-modal-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:16px 20px}.gift-modal-header h3{color:#333;font-size:18px;margin:0}.gift-modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#999;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;transition:background .2s;width:32px}.gift-modal-close:hover{background:#f5f5f5}.gift-modal-body{padding:24px 20px;text-align:center}.gift-icon{font-size:48px;margin-bottom:12px}.gift-message{color:#333;font-size:16px;line-height:1.5;margin:0 0 8px}.gift-hint{color:#999;font-size:14px;margin:0}.gift-modal-footer{border-top:1px solid #eee;display:flex;gap:10px;padding:16px 20px}.gift-btn{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:14px;padding:10px 16px;transition:all .2s}.gift-btn-secondary{background:#f5f5f5;color:#666}.gift-btn-secondary:hover{background:#e8e8e8}.gift-btn-primary{background:#4f46e5;color:#fff}.gift-btn-primary:hover{background:#4338ca}.gift-btn-upgrade{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.gift-btn-upgrade:hover{background:linear-gradient(135deg,#d97706,#b45309)}.vip-badge{border-radius:4px;bottom:-4px;color:#fff;font-size:9px;font-weight:700;padding:1px 4px;position:absolute;right:-4px;white-space:nowrap;z-index:10}.vip-badge.vip-month{background:linear-gradient(135deg,#cd7f32,#b87333)}.vip-badge.vip-quarter{background:linear-gradient(135deg,silver,#a8a8a8)}.vip-badge.vip-half{background:linear-gradient(135deg,gold,#daa520)}.vip-badge.vip-year{background:linear-gradient(135deg,#e5e4e2,#b9f2ff);color:#333}.vip-badge.team{background:linear-gradient(135deg,#f093fb,#f5576c)}.page-loader{align-items:center;background:radial-gradient(ellipse at center,#6366f114 0,#12121200 60%),#121212;display:flex;inset:0;justify-content:center;overflow:hidden;position:fixed;z-index:50}.page-loader-inner{animation:page-loader-float 3s ease-in-out infinite;height:140px;position:relative;width:140px}.page-loader-ring{border-color:#0000;border-radius:50%;border-style:solid;inset:0;position:absolute}.page-loader-ring--1{animation:page-loader-spin 1.2s linear infinite;border-right-color:#a78bfa;border-top-color:#a78bfa;border-width:3px}.page-loader-ring--2{animation:page-loader-spin 1.8s linear infinite reverse;border-bottom:2px dashed #22d3ee;border-left:2px dashed #22d3ee;border-right-style:dashed;border-right-width:2px;border-top-style:dashed;border-top-width:2px;inset:12px;opacity:.85}.page-loader-ring--3{animation:page-loader-spin 2.4s linear infinite;border-style:dotted;border-top:dotted #f472b6;border-width:2px;inset:24px;opacity:.7}.page-loader-core{align-items:center;display:flex;inset:0;justify-content:center;position:absolute}.page-loader-core-letter{-webkit-text-fill-color:#0000;animation:page-loader-pulse 1.6s ease-in-out infinite;background:linear-gradient(135deg,#a78bfa,#22d3ee);-webkit-background-clip:text;background-clip:text;color:#0000;filter:drop-shadow(0 0 12px rgba(167,139,250,.5));font-size:38px;font-weight:800}.page-loader-text{align-items:center;color:#94a3b8;display:flex;font-size:13px;font-weight:500;gap:6px;left:50%;letter-spacing:.5px;position:absolute;top:160px;transform:translateX(-50%);-webkit-user-select:none;user-select:none;white-space:nowrap}.page-loader-dots{align-items:center;display:inline-flex;gap:3px}.page-loader-dot{animation:page-loader-bounce 1.4s ease-in-out infinite;background:#22d3ee;border-radius:50%;height:4px;width:4px}.page-loader-dot:nth-child(2){animation-delay:.2s;background:#a78bfa}.page-loader-dot:nth-child(3){animation-delay:.4s;background:#f472b6}@keyframes page-loader-spin{to{transform:rotate(1turn)}}@keyframes page-loader-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes page-loader-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.15)}}@keyframes page-loader-bounce{0%,80%,to{opacity:.4;transform:translateY(0)}40%{opacity:1;transform:translateY(-5px)}}@media (max-width:640px){.page-loader-inner{height:110px;width:110px}.page-loader-ring--2{inset:10px}.page-loader-ring--3{inset:20px}.page-loader-core-letter{font-size:30px}.page-loader-text{font-size:12px;top:130px}}@media (prefers-reduced-motion:reduce){.page-loader-core-letter,.page-loader-dot,.page-loader-inner,.page-loader-ring{animation-duration:1ms!important;animation-iteration-count:1!important}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.App,body{background-color:#121212}.App{display:flex;flex-direction:column;min-height:100vh}.App>.top-bar{flex-shrink:0}.App>div:has(.workflow-container),.App>main{display:flex;flex:1 1;flex-direction:column;min-height:0}.top-bar{background-color:#1e1e1e;border-bottom:1px solid #333;height:50px;justify-content:space-between;padding:0 1rem;position:relative;-webkit-user-select:none;user-select:none}.top-bar,.top-bar-left{align-items:center;display:flex}.top-bar-left{gap:1rem}.top-bar-title{cursor:pointer;font-size:1rem;font-weight:700}.top-bar-title span{color:#ff4757}.top-bar-right{align-items:center;display:flex;gap:1rem}.top-bar-tutorial-btn{align-items:center;border-radius:4px;color:#b0b0b0;display:inline-flex;font-size:.9rem;gap:6px;padding:4px 10px;text-decoration:none;transition:all .2s}.top-bar-tutorial-btn:hover{background-color:#2d2d2d;color:#fff}.top-bar-tutorial-icon{flex-shrink:0;height:16px;width:16px}.top-bar-button{background:#0000;border:none;border-radius:4px;color:#b0b0b0;cursor:pointer;font-size:.9rem;padding:.25rem .75rem;transition:all .2s}.top-bar-button:hover{background-color:#2d2d2d;color:#fff}.top-bar-user{color:#fff;font-size:.9rem}.user-profile{cursor:pointer;position:relative}.user-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;font-size:.9rem;font-weight:700;height:32px;justify-content:center;transition:all .2s;-webkit-user-select:none;user-select:none;width:32px}.user-avatar:hover{box-shadow:0 2px 8px #667eea80;transform:scale(1.05)}.user-menu{background:#1e1e1e;border:1px solid #333;border-radius:8px;box-shadow:0 4px 12px #0000004d;margin-top:.5rem;min-width:180px;overflow:hidden;position:absolute;right:0;top:100%;z-index:1000}.user-menu-item{align-items:center;color:#b0b0b0;display:flex;font-size:.9rem;gap:8px;padding:.75rem 1rem;transition:all .2s}.menu-icon{flex-shrink:0;height:18px;width:18px}.user-menu-item:hover{background:#2d2d2d;color:#fff}.user-menu-divider{background:#333;height:1px;margin:.25rem 0}.user-menu-points{align-items:center}.user-menu-points-wrap{display:flex;flex:1 1;flex-direction:column;gap:2px}.user-menu-points-value{color:#f5d76e;font-size:1.1rem;font-weight:600;line-height:1.2}.user-menu-points-label{color:#999;font-size:.9rem;line-height:1.2}.left-sidebar-nav{background:#1e1e1e;border:1px solid #333;border-radius:12px;box-shadow:2px 0 12px #0000004d;display:flex;flex-direction:column;gap:4px;left:30px;padding:8px 4px;position:fixed;top:30%;z-index:100}.sidebar-nav-item{align-items:center;border-radius:10px;color:#888;cursor:pointer;display:flex;height:44px;justify-content:center;position:relative;transition:all .2s ease;width:44px}.sidebar-nav-item:hover{background:#2d2d2d;color:#fff}.sidebar-nav-item.active{background:#1890ff26;color:#1890ff}.sidebar-nav-icon{height:22px;width:22px}.sidebar-nav-label{background:#1e1e1e;border:1px solid #333;border-radius:6px;box-shadow:2px 2px 8px #0000004d;color:#fff;font-size:13px;left:calc(100% + 12px);opacity:0;padding:6px 12px;pointer-events:none;transition:all .2s ease;visibility:hidden;white-space:nowrap}.sidebar-nav-label,.sidebar-nav-label:before{position:absolute;top:50%;transform:translateY(-50%)}.sidebar-nav-label:before{border-color:#0000 #333 #0000 #0000;border-style:solid;border-width:5px 5px 5px 0;content:"";left:-5px}.sidebar-nav-item:hover .sidebar-nav-label{left:calc(100% + 8px);opacity:1;visibility:visible}.main-content{flex:1 1;overflow:auto;padding:1rem}.project-list-container{background:#0a0a0f;box-sizing:border-box;color:#e2e8f0;margin:0 auto;max-width:100%;min-height:100vh;padding:32px 64px 32px 120px;width:100%}.project-actions{align-items:center;border-bottom:1px solid #ffffff0f;display:flex;justify-content:space-between;margin-bottom:32px;padding-bottom:20px}.project-header{align-items:center;display:flex;gap:2rem}.project-header h1{color:#f1f5f9;font-size:28px;font-weight:700;letter-spacing:-.5px;margin:0}.project-filters{display:flex;gap:12px}.filter-select{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:10px;color:#e2e8f0;cursor:pointer;font-size:14px;padding:10px 16px;transition:all .2s}.filter-select:focus{border-color:#3b82f6;outline:none}.filter-select option{background:#1e1e2e;color:#e2e8f0}.create-project-button{background:#0000;border:1px solid #ffffff26;border-radius:10px;color:#e2e8f0;cursor:pointer;font-size:14px;font-weight:500;padding:11px 24px;transition:all .2s ease}.create-project-button:hover{background:#ffffff0d;border-color:#ffffff40;color:#fff}.project-header-actions{align-items:center;display:flex;gap:12px}.project-header-actions .btn-icon{align-items:center;background:#0000;border:1px solid #ffffff26;border-radius:10px;color:#e2e8f0;cursor:pointer;display:flex;justify-content:center;padding:10px;transition:all .2s ease}.project-header-actions .btn-icon:hover{background:#ffffff0d;border-color:#ffffff40}.project-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.project-card{background:#ffffff08;border:1px solid #ffffff0f;border-radius:16px;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;min-height:140px;padding:24px;text-align:left;transition:all .3s ease}.project-card:hover{border-color:#60a5fa33;box-shadow:0 8px 32px #0006;transform:translateY(-2px)}.project-card h3{color:#f1f5f9;font-size:17px;font-weight:600;margin-bottom:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-card p{color:#64748b;font-size:13px;margin-bottom:4px}.project-card-actions{border-top:1px solid #ffffff0f;display:flex;gap:10px;margin-top:16px;padding-top:16px}.delete-button,.edit-button{border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;padding:6px 14px;transition:all .2s}.edit-button{background:#22c55e1f;color:#4ade80}.edit-button:hover{background:#22c55e33}.delete-button{background:#ef444414;color:#f87171}.delete-button:hover{background:#ef444426}.modal{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal>.modal-content{background:#14141f;border:1px solid #ffffff14;border-radius:16px;box-shadow:0 24px 80px #0009;max-width:500px;padding:28px;width:90%}.modal>.modal-content h3{color:#f1f5f9;font-size:18px;font-weight:600;margin-bottom:20px}.modal .form-group{margin-bottom:1.5rem}.modal .form-group label{color:#b0b0b0;display:block;margin-bottom:.5rem}.modal .form-group input,.modal .form-group textarea{background:#2d2d2d;border:1px solid #3d3d3d;border-radius:4px;color:#fff;font-size:1rem;padding:.75rem;width:100%}.modal .form-group input:focus,.modal .form-group textarea:focus{border-color:#64b5f6;outline:none}.modal .modal-actions{display:flex;gap:1rem;justify-content:flex-end}.modal-button{border:none;border-radius:4px;cursor:pointer;font-size:1rem;padding:.5rem 1.5rem}.modal-button.cancel{background:#2d2d2d;color:#fff}.modal-button.cancel:hover{background:#3d3d3d}.modal-button.confirm{background:#64b5f6;color:#fff}.modal-button.confirm:hover{background:#42a5f5}.project-detail-header{height:60px;padding:0 2rem}.project-detail-header,.project-top-bar{align-items:center;background-color:#1e1e1e;border-bottom:1px solid #333;display:flex;flex-shrink:0;justify-content:space-between}.project-top-bar{height:50px;padding:0 1rem}.project-top-bar .back-button{background:#0000;border:none;border-radius:4px;color:#64b5f6;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:background-color .2s}.project-top-bar .back-button:hover{background-color:#64b5f61a}.project-top-bar .save-button{background:#64b5f6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:background-color .2s}.project-top-bar .save-button:hover{background-color:#42a5f5}.project-detail-wrapper{background-color:#1a1a1a;display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden;position:relative}.project-detail-wrapper .back-button{background:#0000;border:none;border-radius:4px;color:#64b5f6;cursor:pointer;font-size:.9rem;left:10px;padding:.5rem 1rem;position:absolute;top:10px;transition:background-color .2s;z-index:100}.project-detail-wrapper .back-button:hover{background-color:#64b5f61a}.project-detail-wrapper .save-button{background:#64b5f6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;position:absolute;right:10px;top:10px;transition:background-color .2s;z-index:100}.project-detail-wrapper .save-button:hover{background-color:#42a5f5}.tabs{background:#0000;border:none;border-radius:4px;color:#b0b0b0;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:all .2s}.tab:hover{background:#1e1e1e;color:#fff}.tab.active{background:#64b5f6;color:#fff}.tab-content{min-height:400px}.upload-area{background:#1e1e1e;border:2px dashed #333;border-radius:8px;cursor:pointer;padding:3rem;text-align:center;transition:all .3s}.upload-area:hover{background:#64b5f60d;border-color:#64b5f6}.upload-icon{font-size:3rem;margin-bottom:1rem}.upload-text{color:#b0b0b0;font-size:1rem}.image-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:2rem}.image-item{aspect-ratio:1;background:#1e1e1e;border-radius:8px;overflow:hidden;position:relative}.image-item img{height:100%;object-fit:cover;width:100%}.image-actions{background:#000000b3;bottom:0;display:flex;gap:.5rem;left:0;padding:.5rem;position:absolute;right:0}.ai-generation-form{background:#1e1e1e;border-radius:8px;padding:2rem}.ai-generation-form h3{color:#fff;margin-bottom:1.5rem}.form-textarea{background:#0000004d;border:1px solid #ffffff14;border-radius:8px;box-sizing:border-box;color:#e2e8f0;font-size:14px;margin-bottom:1rem;min-height:150px;padding:10px 12px;resize:vertical;transition:all .2s;width:100%}.form-textarea:focus{background:#3b82f60d;border-color:#3b82f6;outline:none}.model-select{background:#2d2d2d;border:1px solid #3d3d3d;border-radius:4px;margin-bottom:1rem;padding:.75rem;width:100%}.generate-button,.model-select{color:#fff;cursor:pointer;font-size:1rem}.generate-button{background:linear-gradient(135deg,#64b5f6,#42a5f5);border:none;border-radius:4px;font-weight:600;padding:.75rem 2rem;transition:all .2s}.generate-button:hover:not(:disabled){box-shadow:0 4px 12px #64b5f666;transform:translateY(-2px)}.generate-button:disabled{cursor:not-allowed;opacity:.5}.storyboard-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin-top:1.5rem}.storyboard-item textarea{background:#2d2d2d;border:1px solid #3d3d3d;border-radius:4px;color:#fff;font-size:.9rem;min-height:100px;padding:.75rem;resize:vertical;width:100%}.storyboard-item textarea:focus{border-color:#64b5f6;outline:none}.auth-container{align-items:center;background-color:#121212;display:flex;justify-content:center;min-height:100vh}.auth-box{background:#1e1e1e;border-radius:8px;box-shadow:0 4px 6px #0000004d;max-width:400px;padding:2.5rem;width:100%}.auth-box h2{color:#fff;margin-bottom:1.5rem;text-align:center}.auth-form .form-group{margin-bottom:1rem}.auth-form button{background:#64b5f6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem;transition:background-color .2s;width:100%}.auth-form button:hover{background:#42a5f5}.auth-links{margin-top:1rem;text-align:center}.auth-links a{color:#64b5f6;text-decoration:none}.auth-links a:hover{text-decoration:underline}.error-message{background:#f443361a;color:#f44336}.error-message,.success-message{border-radius:4px;margin-bottom:1rem;padding:.75rem;text-align:center}.success-message{background:#4caf501a;color:#4caf50}