.auth-container{min-height:100vh;background:var(--color-bg);display:flex;flex-direction:column}.auth-header{height:88px;background:var(--color-surface-soft);display:flex;align-items:center;justify-content:center}.logo{font-family:var(--font-heading);font-weight:600;letter-spacing:.18em;font-size:14px;color:var(--color-accent);text-decoration:none}.logo:hover{opacity:.9}.logo:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:10px;padding:6px 10px}.auth-card{width:min(420px,calc(100% - 32px));margin:64px auto 0;padding:44px 28px 34px;text-align:center;background:var(--color-surface);border-radius:28px;box-shadow:0 30px 60px #00000014}.success-banner{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:#eef2ff;color:var(--color-accent);font-size:13px;font-weight:500;margin:0 auto 18px}.success-emoji{font-size:14px;line-height:1}.auth-card h1{font-family:var(--font-heading);font-size:32px;line-height:1.15;color:var(--color-heading);margin:0 0 12px}.subtitle{max-width:320px;margin:0 auto 26px;font-size:15px;line-height:1.6;color:var(--color-text-muted)}.auth-card input{width:100%;height:54px;padding:0 16px;border-radius:var(--radius-md);border:1.5px solid var(--color-border);background:var(--color-surface);font-size:15px;color:var(--color-text);outline:none;margin-bottom:16px}.error{color:#dc2626;font-size:14px;margin:0 0 14px}button.primary{width:100%;height:56px;border-radius:var(--radius-pill);border:none;background:var(--color-primary);color:var(--color-primary-text);font-size:15px;font-weight:600;cursor:pointer;margin-top:6px;transition:opacity .2s ease,transform .08s ease}button.primary:hover:enabled{opacity:.95}button.primary:active:enabled{transform:translateY(1px)}button.primary:disabled{opacity:.55;cursor:not-allowed}.login-link{margin-top:18px;font-size:14px;color:var(--color-text-muted)}.login-link-action{color:var(--color-accent);font-weight:600;text-decoration:none;cursor:pointer}.login-link-action:hover{text-decoration:underline}.login-link-action:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:8px;padding:2px 4px}.divider{margin:26px 0 18px;display:flex;align-items:center;gap:12px;font-size:13px;color:var(--color-text-muted)}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.divider span{padding:0 2px}button.google{width:100%;height:52px;border-radius:var(--radius-md);border:1.5px solid var(--color-border);background:var(--color-surface);display:flex;align-items:center;justify-content:center;gap:10px;font-size:14px;font-weight:500;color:var(--color-text);cursor:pointer;transition:background .2s ease}button.google:hover{background:#f8fafc}.google-icon{width:18px;height:18px;display:block;flex:0 0 18px}.terms{margin-top:18px;font-size:12px;line-height:1.6;color:var(--color-text-muted)}.terms a{color:var(--color-accent);text-decoration:none;font-weight:500}.terms a:hover{text-decoration:underline}@media(max-width:420px){.auth-card{margin-top:40px;padding:36px 18px 28px;border-radius:22px}.auth-card h1{font-size:28px}}.logo{display:inline-flex;align-items:center}.auth-container{min-height:100vh;background:linear-gradient(180deg,var(--color-surface-soft) 0%,var(--color-bg) 40%);display:flex;flex-direction:column}.auth-header{height:88px;background:transparent;display:flex;align-items:center;justify-content:center}.logo{display:inline-flex;align-items:center;font-weight:600;letter-spacing:.12em;font-size:14px;color:var(--color-accent);text-decoration:none;text-align:center}.logo img{height:26px;width:auto;display:block;transition:opacity .2s ease}.logo:hover img{opacity:.85}.logo-img{display:block;height:36px;width:36px;object-fit:contain}.auth-card{width:min(420px,calc(100% - 32px));margin:0 auto;padding:44px 28px 34px;text-align:center;background:var(--color-surface);border-radius:28px;box-shadow:var(--shadow-soft)}.auth-card h1{font-family:var(--font-heading);color:var(--color-heading);font-size:28px;line-height:1.25;margin-bottom:var(--space-sm)}.subtitle{color:var(--color-text-muted);font-size:15px;margin-bottom:var(--space-xl)}.auth-card input,.auth-card .primary,.auth-card .google-btn{width:100%;max-width:360px;margin-left:auto;margin-right:auto;box-sizing:border-box;display:block}.auth-card input{height:52px;border-radius:var(--radius-md);border:1.5px solid var(--color-border);padding:0 var(--space-md);font-size:15px;outline:none;background:var(--color-surface);color:var(--color-text);margin-bottom:var(--space-md)}.auth-card input::placeholder{color:var(--color-text-muted)}.auth-card input:focus{border-color:var(--color-accent);box-shadow:var(--focus-ring)}.auth-card .primary{height:56px;border-radius:var(--radius-pill);border:none;background:var(--color-primary);color:var(--color-primary-text);font-weight:600;font-size:15px;cursor:pointer;margin-top:var(--space-sm);transition:background .2s ease,transform .05s ease}.auth-card .primary:hover{background:var(--color-primary-hover)}.auth-card .primary:active{transform:translateY(1px)}.divider{max-width:360px;margin:var(--space-xl) auto;display:flex;align-items:center;gap:var(--space-sm)}.divider span{flex:1;height:1px;background:var(--color-border)}.divider p{margin:0;font-size:14px;color:var(--color-text-muted)}.auth-card .google-btn{height:52px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;font-weight:500;font-size:14px;color:var(--color-text);transition:background .2s}.auth-card .google-btn:hover{background:#5b6cff08}.auth-card .google-btn img,.auth-card .google-btn svg{width:18px;height:18px;display:block;flex:0 0 18px}.footer-text{margin-top:var(--space-lg);font-size:14px;color:var(--color-text-muted)}.footer-text a{color:var(--color-accent);text-decoration:none;font-weight:500}.error{color:#dc2626;font-size:14px;margin-bottom:var(--space-sm)}.alert-error{width:100%;max-width:360px;margin:0 auto var(--space-md);padding:10px 12px;border-radius:12px;background:#dc26260f;border:1px solid rgba(220,38,38,.22);color:#991b1b;text-align:center}.alert-error strong{display:block;font-size:13px;margin-bottom:6px}.alert-error p{margin:0;font-size:13px;line-height:1.35;color:var(--color-text-muted)}@media(max-width:420px){.auth-card{padding:36px 18px 28px;border-radius:22px}.auth-card h1{font-size:24px}}.verify-container{min-height:100vh;background:var(--color-bg);display:flex;flex-direction:column}.verify-header{height:88px;background:var(--color-surface-soft);display:flex;align-items:center;justify-content:center}.verify-logo{font-weight:600;letter-spacing:.12em;font-size:14px;color:var(--color-accent);text-decoration:none;text-align:center}.verify-logo:hover{opacity:.85}.verify-card{max-width:420px;margin:0 auto;padding:var(--space-2xl) var(--space-md);text-align:center}.verify-card h1{font-family:var(--font-heading);color:var(--color-heading);font-size:28px;line-height:1.25;margin-bottom:var(--space-sm)}.verify-subtitle{color:var(--color-text-muted);margin-bottom:var(--space-lg);font-size:15px}.code-inputs{display:flex;gap:var(--space-sm);justify-content:center;margin:var(--space-xl) 0}.code-inputs input{width:48px;height:56px;text-align:center;font-size:20px;border-radius:var(--radius-md);border:1.5px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}.code-inputs input:focus{border-color:var(--color-accent);outline:none;box-shadow:var(--focus-ring)}.verify-primary{height:56px;width:100%;border-radius:var(--radius-pill);border:none;background:var(--color-primary);color:var(--color-primary-text);font-weight:600;font-size:15px;cursor:pointer;transition:background .2s ease,transform .05s ease}.verify-primary:hover{background:var(--color-primary-hover)}.verify-primary:active{transform:translateY(1px)}.verify-error{color:#dc2626;font-size:14px;margin-bottom:var(--space-sm)}.verify-footer{margin-top:var(--space-lg);font-size:14px;color:var(--color-text-muted)}.verify-footer .link-btn{background:none;border:none;color:var(--color-accent);cursor:pointer;font-weight:500;padding:0}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:14px 20px;border-radius:10px;font-size:15px;font-weight:500;box-shadow:0 4px 20px #00000026;z-index:9999;transition:opacity .3s ease,transform .3s ease}.toast-visible{opacity:1;transform:translate(-50%) translateY(0)}.toast-hidden{opacity:0;transform:translate(-50%) translateY(10px)}.toast-success{background:#10b981;color:#fff}.toast-error{background:#ef4444;color:#fff}.toast-info{background:#3b82f6;color:#fff}.toast-icon{font-size:18px;line-height:1}.toast-message{line-height:1.4}@media(max-width:480px){.toast{left:16px;right:16px;transform:translate(0);bottom:16px}.toast-visible{transform:translateY(0)}.toast-hidden{transform:translateY(10px)}}:root{--PhoneInput-color--focus: #03b2cb;--PhoneInputInternationalIconPhone-opacity: .8;--PhoneInputInternationalIconGlobe-opacity: .65;--PhoneInputCountrySelect-marginRight: .35em;--PhoneInputCountrySelectArrow-width: .3em;--PhoneInputCountrySelectArrow-marginLeft: var(--PhoneInputCountrySelect-marginRight);--PhoneInputCountrySelectArrow-borderWidth: 1px;--PhoneInputCountrySelectArrow-opacity: .45;--PhoneInputCountrySelectArrow-color: currentColor;--PhoneInputCountrySelectArrow-color--focus: var(--PhoneInput-color--focus);--PhoneInputCountrySelectArrow-transform: rotate(45deg);--PhoneInputCountryFlag-aspectRatio: 1.5;--PhoneInputCountryFlag-height: 1em;--PhoneInputCountryFlag-borderWidth: 1px;--PhoneInputCountryFlag-borderColor: rgba(0,0,0,.5);--PhoneInputCountryFlag-borderColor--focus: var(--PhoneInput-color--focus);--PhoneInputCountryFlag-backgroundColor--loading: rgba(0,0,0,.1)}.PhoneInput{display:flex;align-items:center}.PhoneInputInput{flex:1;min-width:0}.PhoneInputCountryIcon{width:calc(var(--PhoneInputCountryFlag-height) * var(--PhoneInputCountryFlag-aspectRatio));height:var(--PhoneInputCountryFlag-height)}.PhoneInputCountryIcon--square{width:var(--PhoneInputCountryFlag-height)}.PhoneInputCountryIcon--border{background-color:var(--PhoneInputCountryFlag-backgroundColor--loading);box-shadow:0 0 0 var(--PhoneInputCountryFlag-borderWidth) var(--PhoneInputCountryFlag-borderColor),inset 0 0 0 var(--PhoneInputCountryFlag-borderWidth) var(--PhoneInputCountryFlag-borderColor)}.PhoneInputCountryIconImg{display:block;width:100%;height:100%}.PhoneInputInternationalIconPhone{opacity:var(--PhoneInputInternationalIconPhone-opacity)}.PhoneInputInternationalIconGlobe{opacity:var(--PhoneInputInternationalIconGlobe-opacity)}.PhoneInputCountry{position:relative;align-self:stretch;display:flex;align-items:center;margin-right:var(--PhoneInputCountrySelect-marginRight)}.PhoneInputCountrySelect{position:absolute;top:0;left:0;height:100%;width:100%;z-index:1;border:0;opacity:0;cursor:pointer}.PhoneInputCountrySelect[disabled],.PhoneInputCountrySelect[readonly]{cursor:default}.PhoneInputCountrySelectArrow{display:block;content:"";width:var(--PhoneInputCountrySelectArrow-width);height:var(--PhoneInputCountrySelectArrow-width);margin-left:var(--PhoneInputCountrySelectArrow-marginLeft);border-style:solid;border-color:var(--PhoneInputCountrySelectArrow-color);border-top-width:0;border-bottom-width:var(--PhoneInputCountrySelectArrow-borderWidth);border-left-width:0;border-right-width:var(--PhoneInputCountrySelectArrow-borderWidth);transform:var(--PhoneInputCountrySelectArrow-transform);opacity:var(--PhoneInputCountrySelectArrow-opacity)}.PhoneInputCountrySelect:focus+.PhoneInputCountryIcon+.PhoneInputCountrySelectArrow{opacity:1;color:var(--PhoneInputCountrySelectArrow-color--focus)}.PhoneInputCountrySelect:focus+.PhoneInputCountryIcon--border{box-shadow:0 0 0 var(--PhoneInputCountryFlag-borderWidth) var(--PhoneInputCountryFlag-borderColor--focus),inset 0 0 0 var(--PhoneInputCountryFlag-borderWidth) var(--PhoneInputCountryFlag-borderColor--focus)}.PhoneInputCountrySelect:focus+.PhoneInputCountryIcon .PhoneInputInternationalIconGlobe{opacity:1;color:var(--PhoneInputCountrySelectArrow-color--focus)}.onboarding-container{min-height:100vh;background:linear-gradient(180deg,var(--color-surface-soft) 0%,var(--color-bg) 40%);display:flex;flex-direction:column}.logo{font-family:var(--font-heading);font-size:14px;letter-spacing:.18em;color:var(--color-accent);font-weight:600}.onboarding-card{max-width:440px;width:100%;margin:20px auto 48px;padding:48px 32px 44px;background:#fff;border-radius:24px;box-shadow:0 1px 3px #0000000a,0 12px 40px #0000000f;display:flex;flex-direction:column;animation:cardIn .4s ease-out}.onboarding-card h1{font-family:var(--font-heading);font-size:26px;text-align:center;margin-bottom:6px}.subtitle{text-align:center;font-size:14px;color:var(--color-text-muted);margin-bottom:36px}.field{margin-bottom:20px}.field-row{display:flex;gap:10px}.field-row .field{flex:1}.float-label input{width:100%;height:56px;padding:20px 38px 6px 14px;border-radius:12px;border:1.5px solid var(--color-border);background:#fafafa;font-size:15px;outline:none;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}.field-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:13px;font-weight:700;animation:iconPop .2s ease-out}@keyframes iconPop{0%{opacity:0;transform:translateY(-50%) scale(.5)}to{opacity:1;transform:translateY(-50%) scale(1)}}.field-icon.valid{color:#22c55e}.field-icon.invalid{color:#ef4444}.field-hint{font-size:11px;margin:3px 0 0 4px;min-height:16px;animation:hintIn .15s ease-out}.field-hint.error{color:#ef4444}.phone-wrapper{position:relative}.PhoneInput{display:flex;align-items:center;height:56px;padding:0 12px;border-radius:12px;border:1.5px solid var(--color-border);background:#fafafa;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}.PhoneInput:focus-within{border-color:var(--color-accent);background:#fff;box-shadow:0 0 0 3px #5b6cff1f}.PhoneInputCountry{display:flex;align-items:center;margin-right:8px}.PhoneInputInput{flex:1;border:none!important;outline:none!important;box-shadow:none!important;background:transparent!important;padding:0!important;margin:0!important;border-radius:0!important;font-size:15px}.PhoneInputInput::placeholder{color:var(--color-text-muted)}.phone-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:13px;font-weight:700;animation:iconPop .2s ease-out}.form-error{color:#ef4444;font-size:13px;text-align:center;margin-bottom:8px;animation:hintIn .15s ease-out}.onboarding-card .primary{height:56px;border-radius:999px;border:none;background:var(--color-primary);color:#fff;font-size:16px;font-weight:600;cursor:pointer;margin-top:16px;transition:background .2s ease,opacity .2s ease,transform .1s ease,box-shadow .2s ease}.onboarding-card .primary:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:0 4px 16px #5b6cff40}.onboarding-card .primary:active:not(:disabled){transform:translateY(1px)}.onboarding-card .primary:disabled{opacity:.4;cursor:not-allowed}.trust-row{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:14px;font-size:11px;color:var(--color-text-muted);opacity:.7}.hipaa-container{min-height:100vh;background:linear-gradient(180deg,var(--color-surface-soft) 0%,var(--color-bg) 40%);display:flex;flex-direction:column}.auth-header{height:88px;display:flex;align-items:center;justify-content:center}.logo{font-family:var(--font-heading);font-weight:600;letter-spacing:.18em;font-size:14px;color:var(--color-accent)}.hipaa-card{max-width:620px;width:100%;margin:20px auto 48px;padding:48px 32px 40px;background:#fff;border-radius:24px;box-shadow:0 1px 3px #0000000a,0 12px 40px #0000000f;display:flex;flex-direction:column;animation:cardIn .4s ease-out}@keyframes cardIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.steps{display:flex;align-items:center;justify-content:center;margin-bottom:32px}.step{display:flex;flex-direction:column;align-items:center;gap:5px}.step span{font-size:11px;font-weight:500;color:var(--color-text-muted);letter-spacing:.02em}.step.active span{color:var(--color-accent);font-weight:600}.step.completed span{color:#22c55e;font-weight:600}.step-dot{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;background:#f0f0f5;color:var(--color-text-muted);transition:all .3s ease}.step.active .step-dot{background:var(--color-accent);color:#fff;box-shadow:0 2px 8px #5b6cff4d}.step.completed .step-dot{background:#22c55e;color:#fff;font-size:13px}.step-line{width:40px;height:2px;background:#f0f0f5;margin:0 6px 18px;border-radius:1px}.step-line.filled{background:#22c55e}.hipaa-card h1{font-family:var(--font-heading);font-size:26px;color:var(--color-heading);text-align:center;margin-bottom:6px}.subtitle{text-align:center;font-size:14px;color:var(--color-text-muted);margin-bottom:28px}.hipaa-content{display:flex;flex-direction:column;gap:20px}.hipaa-box{max-height:340px;overflow-y:auto;padding:24px;border-radius:12px;border:1.5px solid #e2dcf8;background:#f5f5ff;font-family:var(--font-body);font-size:13px;line-height:1.6;color:var(--color-text);white-space:pre-wrap;word-wrap:break-word}.hipaa-box::-webkit-scrollbar{width:5px}.hipaa-box::-webkit-scrollbar-thumb{background:#c8c3ee;border-radius:4px}.checkbox{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--color-text);line-height:1.4;cursor:pointer}.checkbox input{margin-top:2px;accent-color:var(--color-accent);width:16px;height:16px;flex-shrink:0}.float-label input{width:100%;height:56px;padding:20px 16px 6px 14px;border-radius:12px;border:1.5px solid var(--color-border);background:#fafafa;font-size:15px;outline:none;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}.float-label input:focus{border-color:var(--color-accent);background:#fff;box-shadow:0 0 0 3px #5b6cff1f}.float-label input:focus+label{color:var(--color-accent)}.signature-pad-wrapper{display:flex;flex-direction:column;gap:8px}.signature-pad-header{display:flex;align-items:center;justify-content:space-between}.signature-pad-label{font-size:13px;font-weight:500;color:var(--color-text-muted);letter-spacing:.01em}.signature-clear-btn{background:none;border:none;font-size:13px;font-weight:500;color:var(--color-accent);cursor:pointer;padding:2px 8px;border-radius:6px;transition:background .15s ease}.signature-clear-btn:hover{background:#5b6cff14}.signature-pad-container{position:relative;height:160px;border-radius:12px;border:1.5px dashed var(--color-border);background:#fafafa;overflow:hidden;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease;cursor:crosshair}.signature-pad-container:hover{border-color:#5b6cff66;background:#fefefe}.signature-pad-container.has-signature{border-style:solid;border-color:var(--color-accent);background:#fff;box-shadow:0 0 0 3px #5b6cff14}.signature-canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.signature-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;pointer-events:none;color:var(--color-text-muted);opacity:.45}.signature-placeholder span{font-size:13px;font-weight:500}.signature-line{position:absolute;bottom:32px;left:24px;right:24px;height:1px;background:#d0d0d8;pointer-events:none}.form-error{color:#ef4444;font-size:13px;text-align:center;animation:hintIn .15s ease-out}@keyframes hintIn{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.hipaa-content .primary{height:56px;border-radius:999px;border:none;background:var(--color-primary);color:#fff;font-size:16px;font-weight:600;cursor:pointer;margin-top:4px;transition:background .2s ease,opacity .2s ease,transform .1s ease,box-shadow .2s ease}.hipaa-content .primary:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:0 4px 16px #5b6cff40}.hipaa-content .primary:active:not(:disabled){transform:translateY(1px)}.hipaa-content .primary:disabled{opacity:.4;cursor:not-allowed}.trust-row{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:20px;font-size:11px;color:var(--color-text-muted);opacity:.7}.trust-row svg{flex-shrink:0}@media(max-width:640px){.hipaa-card{margin:12px 12px 48px;padding:32px 20px 28px}.hipaa-card h1{font-size:22px}.hipaa-box{max-height:300px;font-size:12px;padding:16px}}.modal-overlay{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal-priority{z-index:10000}.confirm-dialog{background:var(--color-bg);border-radius:24px;padding:28px;max-width:360px;width:100%;box-shadow:var(--shadow-soft)}.confirm-dialog h3{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--color-heading)}.confirm-dialog p{margin:0 0 24px;font-size:15px;color:var(--color-text-muted);line-height:1.5}.confirm-actions{display:flex;gap:12px}.confirm-cancel{flex:1;padding:12px 16px;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-bg);color:var(--color-text);font-size:15px;font-weight:500;cursor:pointer;transition:background .2s}.confirm-cancel:hover{background:#5b6cff0a}.confirm-btn{flex:1;padding:12px 16px;border:none;border-radius:var(--radius-pill);background:var(--color-primary);color:#fff;font-size:15px;font-weight:500;cursor:pointer;transition:background .2s}.confirm-btn:hover{background:var(--color-primary-hover)}.confirm-danger{background:#ef4444}.confirm-danger:hover{background:#dc2626}.top-nav{background:var(--color-bg);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100}.top-nav-inner{max-width:1100px;margin:0 auto;height:64px;padding:0 24px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.nav-logo{display:flex;align-items:center;text-decoration:none;justify-self:start}.nav-logo-img{height:22px;width:auto}.nav-tabs{display:flex;align-items:center;gap:4px;justify-self:center}.nav-tab{padding:8px 16px;border-radius:var(--radius-pill);font-size:14px;font-weight:500;color:var(--color-text-muted);text-decoration:none;transition:background .15s,color .15s}.nav-tab:hover{background:#5b6cff0f;color:var(--color-text)}.nav-tab.active{background:#5b6cff1a;color:var(--color-primary);font-weight:600}.nav-right{display:flex;align-items:center;gap:8px;justify-self:end}.nav-avatar-wrap{position:relative}.nav-avatar{width:34px;height:34px;border-radius:50%;background:#5b6cff1f;color:var(--color-primary);border:none;font-size:13px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:box-shadow .15s}.nav-avatar:hover{box-shadow:var(--focus-ring)}.avatar-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:180px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 8px 24px #0000001f;overflow:hidden;z-index:200}.dropdown-name{padding:12px 14px 8px;font-size:13px;font-weight:600;color:var(--color-heading);border-bottom:1px solid var(--color-border)}.dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;border:none;background:none;font-size:14px;color:var(--color-text);cursor:pointer;text-align:left;transition:background .12s}.dropdown-item:hover{background:#5b6cff0d}.dropdown-item.logout{color:#d94444;border-top:1px solid var(--color-border)}.dropdown-item.logout:hover{background:#fff5f5}@media(max-width:600px){.top-nav-inner{grid-template-columns:auto 1fr auto;gap:0}.nav-logo-img{height:18px}.nav-tab{padding:6px 10px;font-size:13px}}.dashboard-container{min-height:100vh;background:linear-gradient(180deg,var(--color-surface-soft) 0%,var(--color-bg) 30%)}.dashboard-content{max-width:1100px;margin:0 auto;padding:32px 24px 60px}.welcome-section{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:24px}.welcome-section h1{font-family:var(--font-heading);font-size:24px;color:var(--color-heading);margin:0}.welcome-sub{font-size:14px;color:var(--color-text-muted);margin-top:4px}.upload-btn{flex-shrink:0;display:flex;align-items:center;gap:6px;padding:12px 24px;background:var(--color-primary);color:var(--color-primary-text);border:none;border-radius:var(--radius-pill);font-size:14px;font-weight:600;cursor:pointer;transition:background .2s ease,box-shadow .2s ease;white-space:nowrap}.upload-btn:hover{background:var(--color-primary-hover);box-shadow:0 4px 16px #5b6cff40}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}.stat-card{padding:20px;border-radius:20px;background:var(--color-surface);box-shadow:0 1px 3px #0000000a,0 8px 24px #0000000f;transition:box-shadow .2s ease,transform .2s ease}.stat-card:hover{box-shadow:0 1px 3px #0000000a,0 12px 32px #0000001a;transform:translateY(-1px)}.stat-card .stat-label{display:block;font-size:13px;color:var(--color-text-muted)}.stat-card .stat-value{display:block;font-size:28px;font-weight:700;color:var(--color-heading);margin-top:4px}.stat-card .stat-sub{display:block;font-size:12px;color:var(--color-text-muted);margin-top:2px}.stat-card-savings{background:linear-gradient(135deg,#5b6cff,#5a4bcf)}.stat-card-savings .stat-label{color:#fffc}.stat-card-savings .stat-value{color:#fff}.stat-card-savings .stat-sub{color:#fffc}.action-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;background:#fffbf0;border-radius:20px;margin-bottom:24px;cursor:pointer;box-shadow:0 1px 3px #0000000a,0 4px 12px #b48c2814;transition:box-shadow .2s ease}.action-banner:hover{box-shadow:0 1px 3px #0000000a,0 8px 24px #b48c281f}.action-banner-left{display:flex;align-items:center;gap:12px}.action-icon-wrap{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#ffecb3;border-radius:12px;color:#b07a00;flex-shrink:0}.action-banner strong{display:block;font-size:15px;color:#7a5d00}.action-banner p{font-size:13px;color:#9a7a20;margin:2px 0 0}.action-review-btn{flex-shrink:0;padding:10px 18px;background:#b07a00;color:#fff;border:none;border-radius:var(--radius-pill);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.action-review-btn:hover{background:#96690a}.section-title{font-size:18px;font-weight:600;color:var(--color-heading);margin:0 0 14px}.bills-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.bill-card{background:var(--color-surface);border-radius:20px;padding:20px;cursor:pointer;box-shadow:0 1px 3px #0000000a,0 8px 24px #0000000f;transition:box-shadow .2s ease,transform .2s ease}.bill-card:hover{box-shadow:0 1px 3px #0000000a,0 12px 32px #5b6cff1f;transform:translateY(-2px)}.bill-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.bill-name{font-size:16px;font-weight:600;color:var(--color-heading);margin:0}.bill-date{display:block;font-size:12px;color:var(--color-text-muted);margin-top:2px}.status-badge{display:inline-block;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.status-submitted{background:#f1ecff;color:var(--color-text-muted)}.status-in-review{background:#fff4d6;color:#b07a00}.status-negotiating{background:#ede9fe;color:#5a4bcf}.status-completed{background:#e8f8ea;color:#2f8f4e}.bill-amounts{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:14px}.amount-label{display:block;font-size:12px;color:var(--color-text-muted)}.amount-original{display:block;font-size:16px;color:#9ca3af;text-decoration:line-through}.amount-right{text-align:right}.amount-current{display:block;font-size:22px;font-weight:700;color:var(--color-heading)}.savings-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:#e8f8ea;border-radius:14px;margin-bottom:14px}.savings-left{display:flex;align-items:center;gap:8px;color:#2f8f4e;font-size:14px;font-weight:500}.savings-value{font-size:15px;font-weight:700;color:#2f8f4e}.bill-footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid var(--color-border)}.bill-view{display:flex;align-items:center;gap:4px;font-size:13px;font-weight:600;color:var(--color-accent);cursor:pointer}.bill-actions{display:flex;gap:6px}.bill-action-btn{padding:6px 12px;border:none;border-radius:var(--radius-sm);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s}.bill-action-btn.edit{background:#f1ecff;color:#5a4bcf}.bill-action-btn.edit:hover{background:#e4dbff}.bill-action-btn.delete{background:#ffecec;color:#d94444}.bill-action-btn.delete:hover{background:#ffe0e0}.bill-action-btn.delete.disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed;opacity:.7}.bill-action-btn.delete.disabled:hover{background:#f3f4f6}.delete-disabled-wrap{position:relative;display:inline-flex;flex-direction:column;align-items:flex-end}.delete-disabled-msg{display:none;position:absolute;top:calc(100% + 6px);right:0;width:max-content;max-width:220px;padding:6px 10px;background:var(--color-heading);color:#fff;font-size:11px;line-height:1.4;border-radius:var(--radius-sm);z-index:10;pointer-events:none}.delete-disabled-wrap:hover .delete-disabled-msg{display:block}.empty-card{background:var(--color-surface);border:2px dashed var(--color-border);border-radius:24px;padding:48px 24px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;color:var(--color-text-muted)}.empty-icon-wrap{width:64px;height:64px;border-radius:50%;background:#f1ecff;display:flex;align-items:center;justify-content:center;color:var(--color-accent);margin-bottom:8px}.empty-title{font-size:17px;color:var(--color-heading)}.empty-desc{font-size:14px;color:var(--color-text-muted);max-width:300px;line-height:1.5;margin-bottom:8px}.secondary{background:#d6c9f7;border:none;border-radius:var(--radius-pill);padding:10px 18px;font-weight:600;cursor:pointer}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{background:linear-gradient(90deg,#eae5f5 25%,#ddd7ec,#eae5f5 75%);background-size:800px 100%;animation:shimmer 1.5s infinite ease-in-out;border-radius:6px}.stat-card-savings .skeleton{background:linear-gradient(90deg,#ffffff26 25%,#ffffff40,#ffffff26 75%);background-size:800px 100%}.skeleton-text-sm{height:12px;width:60%}.skeleton-text-md{height:16px;width:70%}.skeleton-text-lg{height:28px;width:50%;margin-top:8px}.skeleton-badge{height:24px;width:80px;border-radius:999px}.skeleton-bar{height:44px;width:100%;border-radius:14px;margin:14px 0}.bill-card-skeleton{cursor:default;pointer-events:none}.detail-modal{background:var(--color-surface);border-radius:24px;width:100%;max-width:480px;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 3px #0000000a,0 12px 40px #00000026}.detail-header{padding:24px 24px 16px}.detail-title-row{display:flex;justify-content:space-between;align-items:flex-start}.detail-name-badge{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.detail-name-badge h2{font-size:18px;font-weight:700;color:var(--color-heading);margin:0;word-break:break-word}.detail-sub{font-size:13px;color:var(--color-text-muted);margin-top:4px}.close-btn{background:none;border:none;padding:8px;border-radius:50%;cursor:pointer;color:var(--color-text-muted);transition:background .15s}.close-btn:hover{background:#f3f4f6}.detail-savings-card{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#5b6cff,#5a4bcf);border-radius:var(--radius-md);padding:20px;margin-top:16px;color:#fff}.detail-savings-label{display:block;font-size:13px;opacity:.8}.detail-savings-amount{display:block;font-size:28px;font-weight:700}.detail-savings-pct{display:block;font-size:13px;opacity:.8}.detail-savings-right{text-align:right}.detail-savings-sub{display:block;font-size:11px;opacity:.7}.detail-savings-strike{display:block;text-decoration:line-through;opacity:.7;margin-bottom:8px}.detail-savings-current{display:block;font-size:20px;font-weight:700}.detail-tabs{display:flex;border-bottom:2px solid var(--color-border);background:var(--color-surface)}.detail-tab{flex:1;padding:14px 0;background:none!important;border:none;border-bottom:3px solid transparent;border-radius:0;margin-bottom:-2px;font-size:14px;font-weight:600;color:var(--color-text-muted);cursor:pointer;text-align:center;outline:none;-webkit-appearance:none;appearance:none;transition:color .15s,border-bottom-color .15s}.detail-tab:hover{color:#5a4bcf;background:none!important}.detail-tab:focus,.detail-tab:focus-visible{outline:none;background:none!important;box-shadow:none}.detail-tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent);background:none!important}.detail-body{flex:1;overflow-y:auto;padding:20px 24px}.progress-timeline{display:flex;flex-direction:column}.timeline-item{display:flex;align-items:flex-start}.timeline-marker-col{display:flex;flex-direction:column;align-items:center;margin-right:14px}.timeline-dot{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f1ecff;color:#9ca3af;flex-shrink:0}.timeline-dot.done{background:#ede9fe;color:var(--color-accent)}.timeline-line{width:2px;height:28px;background:var(--color-border)}.timeline-content{padding-top:5px;padding-bottom:16px}.timeline-label{font-size:14px;font-weight:500;color:var(--color-heading);margin:0}.timeline-content small{font-size:12px;color:var(--color-text-muted)}.detail-action-box{display:flex;gap:12px;align-items:flex-start;padding:16px;background:#fffbf0;border-radius:var(--radius-md);margin-top:20px;color:#b07a00;box-shadow:0 2px 8px #b48c2814}.detail-action-box strong{display:block;color:#7a5d00;font-size:15px}.detail-action-box p{font-size:13px;color:#9a7a20;margin:4px 0 0}.updates-list{display:flex;flex-direction:column;gap:16px}.update-item{display:flex;gap:12px}.update-dot{width:8px;height:8px;background:#b8b0ff;border-radius:50%;flex-shrink:0;margin-top:6px}.update-item p{font-size:14px;color:var(--color-text);margin:0}.update-item small{font-size:12px;color:#9ca3af}.empty-updates{font-size:14px;color:var(--color-text-muted)}.detail-footer{padding:14px 24px;border-top:1px solid var(--color-border);background:var(--color-surface)}.detail-close-btn{width:100%;padding:12px;background:var(--color-heading);color:#fff;border:none;border-radius:var(--radius-pill);font-size:14px;font-weight:600;cursor:pointer;transition:background .15s}.detail-close-btn:hover{background:#1f2233}.edit-modal{background:var(--color-surface);border-radius:24px;padding:28px;width:100%;max-width:400px;box-shadow:0 1px 3px #0000000a,0 12px 40px #00000026}.edit-modal h2{margin:0 0 20px;font-size:20px;color:var(--color-heading)}.edit-modal input{width:100%;padding:14px 16px;border:1.5px solid var(--color-border);border-radius:12px;font-size:16px;margin-bottom:16px;background:#fafafa;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}.edit-modal input:focus{outline:none;border-color:var(--color-accent);background:#fff;box-shadow:0 0 0 3px #5b6cff1f}.edit-modal-actions{display:flex;gap:12px}.edit-modal-actions button{flex:1;padding:12px;border-radius:var(--radius-pill);font-size:16px;font-weight:500;cursor:pointer;border:none;transition:background .2s ease}.edit-modal-actions .cancel{background:transparent;border:1.5px solid var(--color-border);color:var(--color-text)}.edit-modal-actions .cancel:hover{background:#00000008}.edit-modal-actions .save{background:var(--color-primary);color:var(--color-primary-text)}.edit-modal-actions .save:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:0 4px 16px #5b6cff40}.edit-modal-actions .save:disabled{opacity:.4;cursor:not-allowed}.bills-toolbar{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.bills-search{position:relative}.bills-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}.bills-search-input{width:100%;height:44px;padding:0 16px 0 40px;border:1.5px solid var(--color-border);border-radius:var(--radius-pill);font-size:14px;color:var(--color-text);background:var(--color-bg);outline:none;transition:border-color .2s,box-shadow .2s}.bills-search-input::placeholder{color:var(--color-text-muted)}.bills-search-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #5b6cff1f}.bills-filters{display:flex;gap:6px;flex-wrap:wrap}.bills-filter-btn{padding:6px 14px;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-bg);color:var(--color-text-muted);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.bills-filter-btn:hover{border-color:#5b6cff4d;color:var(--color-text)}.bills-filter-btn.active{background:#5b6cff1a;border-color:var(--color-primary);color:var(--color-primary);font-weight:600}@media(max-width:900px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.dashboard-content{padding:20px 16px 48px}.stats-grid{grid-template-columns:1fr 1fr}.bills-grid{grid-template-columns:1fr}.welcome-section{flex-direction:column;align-items:stretch}.upload-btn{text-align:center;justify-content:center}.action-banner{flex-direction:column;align-items:flex-start}.action-review-btn{align-self:flex-end}}.add-bill-container{min-height:100vh;background:linear-gradient(180deg,var(--color-surface-soft) 0%,var(--color-bg) 30%)}.add-bill-card{max-width:520px;margin:0 auto;padding:var(--space-xl) var(--space-md) var(--space-2xl);display:flex;flex-direction:column;gap:var(--space-lg)}.add-bill-card h1{font-family:var(--font-heading);font-size:28px;color:var(--color-heading);text-align:center}.checklist-card{background:#f3effc;border-radius:var(--radius-lg);padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md)}.check-row-wrapper{position:relative;display:flex;align-items:center;gap:0}.check-row{display:flex;align-items:center;font-size:15px;color:var(--color-heading);cursor:pointer;flex:1;min-height:28px}.check-row input{position:absolute;opacity:0;pointer-events:none}.check-row span{position:relative;padding-left:34px;line-height:1.45}.check-row span:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:20px;height:20px;border-radius:6px;border:2px solid #cbbef7;background:var(--color-surface);box-sizing:border-box;transition:all .15s ease}.check-row input:checked+span:before{background:#e3dbff;border-color:var(--color-accent)}.check-row input:checked+span:after{content:"";position:absolute;left:7px;top:50%;transform:translateY(-50%) rotate(45deg);width:5px;height:9px;border:solid var(--color-primary-text);border-width:0 2px 2px 0}.tooltip-wrapper{position:relative;display:flex;align-items:center;flex-shrink:0}.tooltip-trigger{color:var(--color-text-muted);cursor:help;padding:4px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:color .15s ease,background .15s ease}.tooltip-wrapper:hover .tooltip-trigger{color:var(--color-accent);background:#5b6cff14}.tooltip-popover{position:absolute;bottom:calc(100% + 8px);right:-8px;width:260px;background:#1a1a2e;color:#f0f0f5;font-size:13px;line-height:1.5;padding:10px 14px;border-radius:10px;box-shadow:0 4px 16px #0000002e;z-index:10;opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .15s ease,transform .15s ease,visibility .15s ease;pointer-events:none}.tooltip-wrapper:hover .tooltip-popover{opacity:1;visibility:visible;transform:translateY(0)}.tooltip-arrow{position:absolute;bottom:-5px;right:14px;width:10px;height:10px;background:#1a1a2e;transform:rotate(45deg);border-radius:2px}.drop-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px 20px;border-radius:var(--radius-lg);border:2px dashed var(--color-border);background:#fafafa;cursor:pointer;transition:all .2s ease}.drop-zone:hover{border-color:#5b6cff66;background:#f5f3ff}.drop-zone.dragging{border-color:var(--color-accent);background:#eef0ff;transform:scale(1.01);box-shadow:0 0 0 3px #5b6cff1a}.drop-zone-icon{color:var(--color-accent);opacity:.6}.drop-zone strong{font-size:15px;font-weight:600;color:var(--color-heading)}.drop-zone-hint{font-size:13px;color:var(--color-text-muted)}.file-preview-card{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:var(--radius-lg);border:1.5px solid var(--color-accent);background:#f9f8ff}.file-preview-left{flex-shrink:0}.file-thumbnail{width:48px;height:48px;object-fit:cover;border-radius:8px;border:1px solid var(--color-border)}.file-icon-box{width:48px;height:48px;border-radius:8px;background:#eef0ff;display:flex;align-items:center;justify-content:center;color:var(--color-accent)}.file-preview-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.file-preview-name{font-size:14px;font-weight:600;color:var(--color-heading);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-preview-size{font-size:12px;color:var(--color-text-muted)}.file-change-btn{background:none;border:none;font-size:13px;font-weight:500;color:var(--color-accent);cursor:pointer;padding:4px 10px;border-radius:6px;white-space:nowrap;transition:background .15s ease}.file-change-btn:hover{background:#5b6cff14}.float-label{position:relative}.float-label input,.float-label textarea{width:100%;padding:20px 16px 6px 14px;border-radius:12px;border:1.5px solid var(--color-border);background:#fafafa;font-size:15px;font-family:var(--font-body);color:var(--color-text);outline:none;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}.float-label input{height:56px}.float-label textarea{min-height:80px;resize:none}.float-label input:focus,.float-label textarea:focus{border-color:var(--color-accent);background:#fff;box-shadow:0 0 0 3px #5b6cff1f}.float-label label{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:14px;color:var(--color-text-muted);pointer-events:none;transition:all .2s ease;transform-origin:left center}.float-label.textarea label{top:20px;transform:translateY(0)}.float-label input:focus+label,.float-label.has-value label{top:10px;transform:translateY(0);font-size:10px;color:var(--color-text-muted);letter-spacing:.02em}.float-label.textarea textarea:focus+label,.float-label.textarea.has-value label{top:6px;font-size:10px;color:var(--color-text-muted);letter-spacing:.02em}.float-label input:focus+label,.float-label textarea:focus+label{color:var(--color-accent)}.add-bill-card .error{color:#dc2626;font-size:14px;text-align:center}.actions-row{width:100%;display:flex;flex-direction:column;gap:12px;margin-top:4px}.actions-row button{width:100%}.add-bill-card .primary{height:56px;border-radius:var(--radius-pill);border:none;background:var(--color-primary);color:var(--color-primary-text);font-size:16px;font-weight:600;cursor:pointer;transition:background .2s ease,transform .05s ease,box-shadow .2s ease}.add-bill-card .primary:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:0 4px 16px #5b6cff40}.add-bill-card .primary:active:not(:disabled){transform:translateY(1px)}.add-bill-card .primary:disabled{opacity:.4;cursor:not-allowed}.add-bill-card .secondary{height:56px;border-radius:var(--radius-pill);background:transparent;border:1.5px solid var(--color-border);color:var(--color-heading);font-size:16px;font-weight:600;cursor:pointer;transition:background .2s ease,transform .05s ease}.add-bill-card .secondary:hover{background:#00000008}.add-bill-card .secondary:active{transform:translateY(1px)}.add-bill-card .secondary:disabled{opacity:.6;cursor:not-allowed}.limit-card{max-width:440px;margin:0 auto;padding:44px 36px 36px;background:var(--color-bg);border-radius:24px;box-shadow:0 1px 3px #0000000a,0 12px 32px #00000014;display:flex;flex-direction:column;align-items:center;text-align:center}.limit-icon{width:56px;height:56px;border-radius:50%;background:#5b6cff1a;color:var(--color-primary);display:flex;align-items:center;justify-content:center;margin-bottom:20px}.limit-card h2{font-family:var(--font-heading);font-size:22px;color:var(--color-heading);margin:0 0 8px}.limit-card p{font-size:15px;color:var(--color-text-muted);margin:0 0 20px;line-height:1.5;max-width:320px}.limit-card p strong{color:var(--color-heading)}.limit-usage-bar{width:100%;height:8px;border-radius:var(--radius-pill);background:#5b6cff1a;overflow:hidden;margin-bottom:6px}.limit-usage-fill{height:100%;border-radius:var(--radius-pill);background:var(--color-primary);transition:width .4s ease}.limit-usage-label{font-size:13px;font-weight:500;color:var(--color-text-muted);margin-bottom:24px}.limit-card .primary{width:100%}.limit-back{display:inline-flex;align-items:center;gap:6px;margin-top:14px;padding:8px 16px;border:none;background:none;color:var(--color-text-muted);font-size:14px;font-weight:500;cursor:pointer;border-radius:var(--radius-pill);transition:color .15s,background .15s}.limit-back:hover{color:var(--color-primary);background:#5b6cff0f}@media(max-width:640px){.add-bill-card{padding:var(--space-lg) var(--space-sm) var(--space-xl)}.add-bill-card h1{font-size:24px}.file-preview-card{flex-wrap:wrap}.file-change-btn{width:100%;text-align:center;padding:8px;border-top:1px solid var(--color-border);margin-top:4px;border-radius:0}.tooltip-popover{left:0;right:auto}.tooltip-arrow{left:auto;right:14px}.drop-zone{padding:28px 16px}}.billing-container{min-height:100vh;background:linear-gradient(180deg,var(--color-surface-soft) 0%,var(--color-bg) 30%)}.billing-card{max-width:640px;margin:0 auto;padding:var(--space-2xl) var(--space-md)}.billing-card h1{font-family:var(--font-heading);font-size:32px;color:var(--color-heading);margin-bottom:var(--space-xl)}.plan-content{max-width:900px;margin:0 auto;padding:var(--space-2xl) var(--space-md)}.plan-heading{font-family:var(--font-heading);font-size:28px;color:var(--color-heading);margin-bottom:var(--space-lg)}.addon-success-banner{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 20px;margin-bottom:var(--space-lg);background:#e8f8ea;border:1px solid #b8e6be;border-radius:16px;animation:bannerSlideIn .3s ease}@keyframes bannerSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.addon-success-content{display:flex;align-items:flex-start;gap:12px}.addon-success-icon{color:#2f8f4e;flex-shrink:0;margin-top:1px}.addon-success-title{font-size:15px;font-weight:600;color:#1a6b2e;margin:0 0 2px}.addon-success-desc{font-size:14px;color:#2f7a42;margin:0;line-height:1.4}.addon-success-dismiss{background:none;border:none;color:#2f8f4e;cursor:pointer;padding:4px;border-radius:6px;flex-shrink:0;transition:background .15s}.addon-success-dismiss:hover{background:#2f8f4e1a}.plan-card{background:var(--color-bg);border-radius:24px;border:none;overflow:hidden;margin-bottom:var(--space-lg);box-shadow:0 1px 3px #0000000a,0 8px 24px #0000000f}.plan-card-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg);border-bottom:1px solid var(--color-border)}.plan-name-row{display:flex;align-items:center;gap:10px}.plan-name{font-size:18px;font-weight:600;color:var(--color-heading);margin:0}.active-badge{display:inline-block;padding:2px 10px;font-size:12px;font-weight:600;border-radius:var(--radius-pill);background:#e8f8ea;color:#2f8f4e}.plan-renewal{font-size:14px;color:var(--color-text-muted);margin-top:4px}.plan-renewal-canceled{color:#ef4444}.canceled-badge,.canceled-indicator{background:#fef2f2;color:#ef4444}.plan-price-col{text-align:right}.plan-price{font-size:28px;font-weight:700;color:var(--color-heading)}.plan-period{font-size:14px;color:var(--color-text-muted)}.plan-usage-section{padding:var(--space-lg)}.plan-usage-header{display:flex;justify-content:space-between;margin-bottom:8px}.plan-usage-label{font-size:14px;color:var(--color-text-muted)}.plan-usage-count{font-size:14px;font-weight:600;color:var(--color-heading)}.plan-progress-bar{width:100%;height:12px;border-radius:var(--radius-pill);background:#5b6cff1a;overflow:hidden}.plan-progress-fill{height:100%;background:var(--color-primary);border-radius:var(--radius-pill);transition:width .3s ease}.plan-remaining{font-size:13px;color:var(--color-text-muted);margin-top:8px}.plan-buy-more{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg);background:#5b6cff0a;border-top:1px solid var(--color-border)}.plan-buy-more p{font-size:14px;color:var(--color-text-muted);margin:0}.buy-more-btn{padding:8px 18px;font-size:14px;font-weight:600;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-bg);color:var(--color-heading);cursor:pointer;transition:background .15s,box-shadow .15s}.buy-more-btn:hover:not(:disabled){background:#5b6cff0a;box-shadow:0 2px 8px #5b6cff1a}.buy-more-btn:disabled{opacity:.6;cursor:not-allowed}.pricing-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-lg)}@media(max-width:640px){.pricing-grid{grid-template-columns:1fr}}.pricing-card{position:relative;background:var(--color-bg);border-radius:24px;border:none;padding:var(--space-lg);display:flex;flex-direction:column;box-shadow:0 1px 3px #0000000a,0 8px 24px #0000000f}.pricing-card.highlighted{box-shadow:0 0 0 2px var(--color-primary),0 8px 24px #5b6cff1f}.best-value-badge{position:absolute;top:-12px;left:16px;padding:3px 10px;font-size:12px;font-weight:600;border-radius:var(--radius-pill);background:var(--color-primary);color:#fff}.pricing-title{font-size:16px;font-weight:600;color:var(--color-heading);margin:0}.pricing-amount{font-size:32px;font-weight:700;color:var(--color-heading);margin-top:8px}.pricing-sub{font-size:14px;color:var(--color-text-muted);margin-top:2px}.pricing-features{list-style:none;padding:0;margin:var(--space-md) 0 0;display:flex;flex-direction:column;gap:10px}.pricing-features li{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--color-text-muted)}.feature-check{color:#2f8f4e;flex-shrink:0}.current-plan-indicator{margin-top:var(--space-md);padding:8px 14px;background:#5b6cff1a;border-radius:var(--radius-pill);font-size:13px;font-weight:600;color:var(--color-primary);text-align:center}.pricing-cta{margin-top:auto;padding:12px 20px;width:100%;border:none;border-radius:var(--radius-pill);background:var(--color-primary);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s,box-shadow .2s}.pricing-cta:hover{background:var(--color-primary-hover);box-shadow:0 4px 16px #5b6cff40}.pricing-cta-outline{background:transparent;border:1.5px solid var(--color-border);color:var(--color-text)}.pricing-cta-outline:hover{background:#5b6cff0a;border-color:#5b6cff4d;box-shadow:none}.downgrade-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease}.downgrade-modal{background:var(--color-bg, #fff);border-radius:12px;padding:28px 32px;max-width:420px;width:90%;box-shadow:0 8px 32px #0000002e;animation:slideUp .2s ease}.downgrade-modal-title{font-family:var(--font-heading);font-size:18px;font-weight:600;color:var(--color-heading, #1a1a2e);margin:0 0 12px}.downgrade-modal-desc{font-size:14px;color:var(--color-text-secondary, #64748b);line-height:1.6;margin:0 0 24px}.downgrade-modal-actions{display:flex;gap:12px;justify-content:flex-end}.downgrade-modal-cancel{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;border:1.5px solid var(--color-border);background:transparent;color:var(--color-text);transition:background .15s}.downgrade-modal-cancel:hover{background:#0000000a}.downgrade-modal-confirm{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;border:none;background:#ef4444;color:#fff;transition:background .15s}.downgrade-modal-confirm:hover{background:#dc2626}.downgrade-modal-confirm:disabled{opacity:.6;cursor:not-allowed}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.contact-container{min-height:100vh;background:linear-gradient(180deg,var(--color-surface-soft) 0%,var(--color-bg) 30%);padding-top:64px}.contact-card{max-width:520px;margin:0 auto;padding:var(--space-2xl) var(--space-md)}.contact-card h1{font-family:var(--font-heading);font-size:32px;color:var(--color-heading);margin-bottom:var(--space-sm)}.contact-subtitle{font-size:15px;color:var(--color-text-muted);margin-bottom:var(--space-xl);line-height:1.5}.contact-box{background:#f6f2fb;border-radius:var(--radius-lg);padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md)}.contact-row{display:flex;justify-content:space-between;align-items:center;font-size:15px;color:var(--color-text)}.contact-row strong{font-weight:600;color:var(--color-heading)}.contact-row a{color:var(--color-accent);font-weight:600;text-decoration:none}.contact-row a:hover{text-decoration:underline}.contact-note{margin-top:var(--space-lg);font-size:14px;color:var(--color-text-muted);line-height:1.5}.account-content{max-width:640px;margin:0 auto;padding:32px 24px 64px}.account-heading{font-family:var(--font-heading);font-size:28px;color:var(--color-heading);margin-bottom:28px}.account-section{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:24px;margin-bottom:20px}.account-section-header{display:flex;align-items:center;gap:10px;margin-bottom:20px;color:var(--color-heading)}.account-section-header h2{font-family:var(--font-heading);font-size:17px;font-weight:600;margin:0}.account-section-header svg{color:var(--color-primary);flex-shrink:0}.account-info-grid{display:flex;flex-direction:column;gap:14px}.account-info-row{display:flex;justify-content:space-between;align-items:center;padding:0 2px}.account-info-label{font-size:14px;color:var(--color-text-muted);font-weight:500}.account-info-value{font-size:14px;color:var(--color-text);font-weight:500;text-align:right}.account-edit-btn{margin-top:8px;padding:10px 20px;border-radius:8px;border:1.5px solid var(--color-border);background:transparent;color:var(--color-text);font-size:14px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s;align-self:flex-start}.account-edit-btn:hover{background:#5b6cff0a;border-color:#5b6cff4d}.account-edit-form{display:flex;flex-direction:column;gap:16px}.account-form-row{display:flex;flex-direction:column;gap:6px}.account-form-row label{font-size:13px;font-weight:600;color:var(--color-text-muted)}.account-form-row input{padding:10px 14px;border:1.5px solid var(--color-border);border-radius:8px;font-size:14px;color:var(--color-text);background:var(--color-bg);transition:border-color .15s,box-shadow .15s;outline:none}.account-form-row input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #5b6cff1a}.account-form-row input::placeholder{color:var(--color-text-muted);opacity:.6}.account-form-actions{display:flex;gap:12px;margin-top:4px}.account-cancel-btn{padding:10px 20px;border-radius:8px;border:1.5px solid var(--color-border);background:transparent;color:var(--color-text);font-size:14px;font-weight:500;cursor:pointer;transition:background .15s}.account-cancel-btn:hover{background:#0000000a}.account-save-btn{padding:10px 20px;border-radius:8px;border:none;background:var(--color-primary);color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s}.account-save-btn:hover{background:var(--color-primary-hover, #4a5be6)}.account-save-btn:disabled{opacity:.6;cursor:not-allowed}.account-manage-plan-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:8px;border:1.5px solid var(--color-border);background:transparent;color:var(--color-text);font-size:14px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s;margin-bottom:20px}.account-manage-plan-btn:hover{background:#5b6cff0a;border-color:#5b6cff4d}.account-empty{font-size:14px;color:var(--color-text-muted);padding:4px 0}.account-payments-list{display:flex;flex-direction:column;gap:0}.account-payment-row{display:flex;justify-content:space-between;align-items:center;padding:12px 2px;border-bottom:1px solid var(--color-border)}.account-payment-row:last-child{border-bottom:none}.account-payment-info{display:flex;flex-direction:column;gap:2px}.account-payment-label{font-size:14px;font-weight:500;color:var(--color-text)}.account-payment-date{font-size:12px;color:var(--color-text-muted)}.account-payment-amount{font-size:14px;font-weight:600;color:var(--color-heading)}.account-danger-section{border-color:#ef444433}.account-danger-desc{font-size:14px;color:var(--color-text-muted);line-height:1.5;margin-bottom:16px}.account-delete-mailto{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:8px;border:1.5px solid var(--color-border);background:transparent;color:var(--color-primary);font-size:14px;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s}.account-delete-mailto:hover{background:#5b6cff0a;border-color:#5b6cff4d}@media(max-width:600px){.account-content{padding:24px 16px 48px}.account-heading{font-size:24px}.account-info-row{flex-direction:column;align-items:flex-start;gap:2px}.account-info-value{text-align:left}}:root{--color-bg: #ffffff;--color-surface: #ffffff;--color-surface-soft: #d3d3fa;--color-heading: #2b2f42;--color-text: #3f3f46;--color-text-muted: #6b7280;--color-primary: #5b6cff;--color-primary-hover: #4c5cf0;--color-primary-text: #ffffff;--color-accent: #5b6cff;--color-border: #e5e7eb;--shadow-soft: 0 12px 32px rgba(0, 0, 0, .08);--focus-ring: 0 0 0 4px rgba(91, 108, 255, .18)}:root{--font-body: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-heading: Georgia, "Times New Roman", serif}:root{--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-pill: 999px}:root{--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}body{margin:0;min-height:100vh;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{margin:0;font-family:var(--font-heading);font-weight:600;color:var(--color-heading);line-height:1.2}h1{font-size:2.25rem}h2{font-size:1.75rem}h3{font-size:1.4rem}p{margin:0;color:var(--color-text-muted)}a{color:var(--color-accent);text-decoration:none;font-weight:500}a:hover{text-decoration:underline}button{font-family:inherit;font-size:15px;font-weight:500;border:none;border-radius:var(--radius-pill);padding:14px 20px;cursor:pointer;background:var(--color-primary);color:var(--color-primary-text);transition:background .15s ease,transform .05s ease}button:hover{background:var(--color-primary-hover)}button:active{transform:translateY(1px)}button:disabled{opacity:.6;cursor:not-allowed}input,textarea,select{font-family:inherit;font-size:15px;border-radius:var(--radius-md);border:1px solid var(--color-border);padding:12px 14px;background:#fff;color:var(--color-text)}input::placeholder{color:var(--color-text-muted)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-accent)}img,svg{display:block;max-width:100%}ul,ol{margin:0;padding:0;list-style:none}hr{border:none;border-top:1px solid var(--color-border);margin:24px 0}.page-transition{transition:opacity .2s ease,transform .2s ease}.page-visible{opacity:1;transform:translateY(0)}.page-hidden{opacity:0;transform:translateY(6px)}.error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,var(--color-surface-soft) 0%,var(--color-bg) 40%);padding:24px}.error-boundary-card{max-width:400px;width:100%;background:var(--color-bg);border-radius:24px;padding:40px 32px;box-shadow:var(--shadow-soft);text-align:center}.error-boundary-icon{width:56px;height:56px;border-radius:50%;background:#ef44441a;color:#ef4444;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}.error-boundary-card h2{font-family:var(--font-heading);font-size:22px;color:var(--color-heading);margin:0 0 8px}.error-boundary-card p{font-size:15px;color:var(--color-text-muted);margin:0 0 24px;line-height:1.5}.error-boundary-actions{display:flex;flex-direction:column;gap:10px}.error-boundary-retry{width:100%;padding:12px;border-radius:var(--radius-pill);border:none;background:var(--color-primary);color:#fff;font-size:15px;font-weight:600;cursor:pointer}.error-boundary-retry:hover{background:var(--color-primary-hover)}.error-boundary-home{width:100%;padding:12px;border-radius:var(--radius-pill);border:1px solid var(--color-border);background:transparent;color:var(--color-text-muted);font-size:14px;font-weight:500;cursor:pointer}.error-boundary-home:hover{background:#5b6cff0a;color:var(--color-text)}
