.auth-wrap{min-height:calc(100vh - var(--h));display:grid;grid-template-columns:1fr 1fr}.auth-visual{background:linear-gradient(160deg,#0F1B2D,#1E4A8C);padding:4rem;display:flex;align-items:center;justify-content:center}.auth-visual-content{max-width:420px}.auth-visual-content h2{font-family:var(--font-sora);font-weight:800;font-size:clamp(26px,2.5vw,34px);color:#fff;letter-spacing:-1px;margin-bottom:14px}.auth-visual-content p{color:rgba(255,255,255,.7);font-size:16px;line-height:1.7;margin-bottom:2rem}.auth-bullets{display:flex;flex-direction:column;gap:12px}.auth-bullet{display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.85);font-size:15px}.auth-bullet .ck{width:26px;height:26px;background:rgba(47,165,114,.25);border:1px solid rgba(47,165,114,.4);border-radius:50%;font-size:12px;font-weight:700;color:#34D399;flex-shrink:0}.auth-bullet .ck,.auth-panel{display:flex;align-items:center;justify-content:center}.auth-panel{padding:3rem 2rem;background:var(--bg)}.auth-card{width:100%;max-width:440px;background:#fff;border-radius:24px;padding:2.5rem;box-shadow:var(--sh3)}.auth-tabs{display:flex;border-bottom:1px solid var(--border);margin-bottom:1.75rem}.auth-tab{flex:1;padding:12px;font-size:14px;font-weight:600;color:var(--gray);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .2s;font-family:inherit}.auth-tab.active{color:var(--blue);border-bottom-color:var(--blue)}.auth-card h1{font-family:var(--font-sora);font-weight:800;font-size:26px;color:var(--dark);margin-bottom:6px}.auth-card .sub{color:var(--gray);font-size:14.5px;margin-bottom:1.5rem}.sso-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:12px;border-radius:12px;border:1.5px solid var(--border);background:#fff;font-size:14.5px;font-weight:600;color:var(--dark);cursor:pointer;transition:all .15s;font-family:inherit;margin-bottom:10px}.sso-btn:hover{background:var(--bg);border-color:var(--border2)}.sso-btn.apple{background:#000;color:#fff;border-color:#000}.sso-btn.apple:hover{background:#1a1a1a}.sso-btn.facebook{background:#1877F2;color:#fff;border-color:#1877F2}.sso-btn.facebook:hover{background:#166FE5;border-color:#166FE5}.sso-icon{width:20px;height:20px;flex-shrink:0}.auth-divider{display:flex;align-items:center;gap:12px;margin:1.25rem 0;font-size:12.5px;color:var(--gray-l);font-weight:500}.auth-divider:after,.auth-divider:before{content:"";flex:1;height:1px;background:var(--border)}.auth-field{margin-bottom:14px}.auth-field label{display:block;font-size:13px;font-weight:600;color:var(--dark);margin-bottom:7px}.auth-input{width:100%;padding:13px 15px;border-radius:12px;border:1.5px solid var(--border);font-size:15px;font-family:inherit;color:var(--dark);outline:none;transition:border .2s}.auth-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(43,125,224,.1)}.auth-row{justify-content:space-between;margin-bottom:1.25rem;font-size:13.5px}.auth-row,.auth-row label{display:flex;align-items:center}.auth-row label{gap:8px;color:var(--gray);cursor:pointer}.auth-row a{color:var(--blue);font-weight:600}.auth-submit{width:100%;padding:14px;background:var(--blue);color:#fff;border:none;border-radius:12px;font-size:15.5px;font-weight:700;font-family:inherit;cursor:pointer;box-shadow:var(--sh-blue);transition:all .2s}.auth-submit:hover{background:var(--blue-d);transform:translateY(-1px)}.auth-foot{text-align:center;font-size:14px;color:var(--gray);margin-top:1.25rem}.auth-foot a{color:var(--blue);font-weight:600}.auth-legal{text-align:center;font-size:12px;color:var(--gray-l);margin-top:1.25rem;line-height:1.5}.auth-legal a{color:var(--blue)}.auth-field-error{color:var(--red);font-size:12px;margin-top:4px}.auth-field-error--form{margin-bottom:12px}.auth-link-btn{background:none;border:none;color:var(--blue);font-weight:600;cursor:pointer;font-family:inherit;font-size:inherit;padding:0}.auth-link-btn:hover{text-decoration:underline}.auth-pwd-wrap{position:relative}.auth-pwd-wrap .auth-input{padding-right:44px}.auth-pwd-eye{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--gray-l);padding:4px;display:flex;align-items:center;border-radius:4px;line-height:0}.auth-pwd-eye:hover{color:var(--dark)}.nav-user-avatar{width:26px;height:26px;background:var(--blue);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-family:var(--font-sora);font-weight:700;font-size:12px;flex-shrink:0}.dash-hero{background:linear-gradient(135deg,#0F1B2D,#1E4A8C);padding:2.5rem 1.5rem}.dash-hero-inner{max-width:var(--max);margin:0 auto;display:flex;align-items:center;gap:1.25rem}.dash-hero h1{font-family:var(--font-sora);font-weight:800;font-size:28px;color:#fff;margin-bottom:4px}.dash-hero p{color:rgba(255,255,255,.6);font-size:14px}.dash-avatar{width:54px;height:54px;background:var(--blue);border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--font-sora);font-weight:700;font-size:20px;border:2px solid rgba(255,255,255,.2)}.dash-wrap{max-width:var(--max);margin:0 auto;padding:3rem 1.5rem;display:grid;grid-template-columns:220px 1fr;gap:2rem;align-items:start}.dash-side{position:sticky;top:calc(var(--h) + 1.5rem)}.dash-nav{display:flex;flex-direction:column;gap:4px}.dash-nav button{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:12px;font-size:14.5px;font-weight:600;color:var(--gray);background:none;border:none;cursor:pointer;transition:all .15s;font-family:inherit;text-align:left}.dash-nav button.active,.dash-nav button:hover{background:var(--blue-l);color:var(--blue)}.dash-nav button .ic{font-size:18px}.dash-nav .sep{height:1px;background:var(--border);margin:8px 0}.dash-panel{min-width:0}.dash-section{display:none}.dash-section.active{display:block}.dash-section h2{font-family:var(--font-sora);font-weight:800;font-size:26px;margin-bottom:6px}.dash-section .desc{color:var(--gray);font-size:15px;margin-bottom:2rem}.dash-subtitle{font-family:var(--font-sora);font-weight:700;font-size:18px;margin-bottom:6px;margin-top:2rem}.dash-subdesc{color:var(--gray);font-size:14px;margin-bottom:1.25rem}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.25rem}.photo-item{background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:var(--sh1);transition:box-shadow .2s}.photo-item:hover{box-shadow:var(--sh2)}.photo-thumb{position:relative;aspect-ratio:35/45;background:linear-gradient(160deg,#E6F1FB,#BFE3F5);display:flex;align-items:center;justify-content:center}.photo-badge{position:absolute;top:10px;right:10px;background:#DCF3E8;color:#1E6B47;font-size:11px;font-weight:700;padding:4px 10px;border-radius:20px}.photo-info{padding:1rem}.photo-info .t{font-weight:700;font-size:14px;margin-bottom:3px}.photo-info .d{font-size:12px;color:var(--gray);margin-bottom:12px}.photo-actions{display:flex;gap:8px}.photo-actions button{flex:1;padding:8px;border-radius:8px;font-size:12.5px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s}.photo-actions button.primary{background:var(--blue);color:#fff;border:none}.photo-actions button.primary:hover{background:var(--blue-d)}.photo-actions button:not(.primary){background:#fff;border:1px solid var(--border);color:var(--dark)}.photo-actions button:not(.primary):hover{background:var(--bg)}.inv-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:16px;box-shadow:var(--sh1);border:1px solid var(--border)}.inv-table{width:100%;border-collapse:collapse;background:#fff;border-radius:16px;overflow:hidden;min-width:480px}.inv-table th{background:var(--bg2);padding:13px 18px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--gray);border-bottom:2px solid var(--border);text-align:left}.inv-table td{padding:14px 18px;font-size:14px;border-top:1px solid var(--border)}.inv-status{background:#DCF3E8;color:#1E6B47;font-size:12px;font-weight:700;padding:4px 10px;border-radius:20px}.inv-dl{background:none;border:none;color:var(--blue);font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;padding:4px 0}.inv-dl:hover{text-decoration:underline}.sub-card{background:linear-gradient(135deg,#1B62C9,#4A90D9);border-radius:20px;padding:2rem}.sub-card .plan-badge{display:inline-flex;background:rgba(255,255,255,.15);border-radius:20px;padding:4px 14px;font-size:12px;font-weight:700;color:#fff;margin-bottom:12px}.sub-card h3{font-family:var(--font-sora);font-weight:700;font-size:22px;color:#fff;margin-bottom:6px}.sub-card .price{color:rgba(255,255,255,.75);font-size:14px;margin-bottom:1.25rem}.sub-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:1.5rem}.sub-meta>div{background:rgba(255,255,255,.1);border-radius:12px;padding:12px 14px}.sub-meta .k{font-size:11px;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:.8px;margin-bottom:4px}.sub-meta .v{font-weight:700;color:#fff;font-size:15px}.sub-included{margin-bottom:1.5rem}.sub-included .item{display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.85);font-size:14px;padding:6px 0}.sub-included .item:before{content:"✓";color:#34D399;font-weight:700}.sub-actions{display:flex;gap:10px;flex-wrap:wrap}.sub-actions button{padding:10px 20px;border-radius:10px;font-size:13.5px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s}.sub-actions .btn-change{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);color:#fff}.sub-actions .btn-change:hover{background:rgba(255,255,255,.25)}.sub-actions .btn-cancel{background:rgba(220,38,38,.15);border:1px solid rgba(220,38,38,.3);color:#FCA5A5}.sub-actions .btn-cancel:hover{background:rgba(220,38,38,.25)}.sso-google-container{display:flex;justify-content:center;margin-bottom:1rem;min-height:44px;overflow:hidden;width:100%}@media (max-width:960px){.auth-wrap{grid-template-columns:1fr}.auth-visual{display:none}.auth-panel{padding:2rem 1.5rem}.dash-wrap{grid-template-columns:1fr}.dash-side{position:static}.dash-nav{flex-direction:row;flex-wrap:wrap}}@media (max-width:768px){.sub-meta{grid-template-columns:1fr}}@media (max-width:480px){.auth-card{padding:1.75rem 1.25rem}.auth-panel{padding:1.5rem 1rem}}