:root{--color-bg-main:#fff;--color-bg-soft:#f5f7f6;--color-bg-tabs:#f5f5f5;--color-bg-muted:#eef2f1;--color-text-main:#1f2933;--color-text-tab:#666;--color-text-tab-hover:#333;--color-text-contrast:#000;--color-text-secondary:#52606d;--color-text-light:#7b8794;--color-border:#e4e7eb;--color-white:#fff;--color-transparent:transparent;--color-white-translucent:#ffffffb3;--color-border-soft:#eef2f1;--color-border-section:#e4ebe7;--color-border-brand-soft:#dcece4;--color-border-brand-hover:#bdd8ca;--color-border-interactive-hover:var(--color-border-brand-hover);--color-bg-brand-subtle:#f6fbf8;--color-bg-brand-section:#f5f9f7;--color-bg-interactive-hover:var(--color-bg-brand-subtle);--color-surface-interactive-hover:var(--color-green-soft);--color-control-secondary:var(--color-text-secondary);--color-control-secondary-hover:var(--color-text-main);--color-control-outline-hover:var(--color-bg-muted);--color-control-disabled-border:var(--color-text-light);--color-skeleton-start:var(--color-bg-brand-subtle);--color-skeleton-middle:#e0f5e7;--color-tool-green-soft:#e9f6ef;--color-tool-blue-soft:#edf5fb;--color-tool-violet-soft:#f5effb;--color-quick-goal-balance:#4b8b9e;--color-green-primary:#2f7d5c;--color-green-hover:#25694d;--color-text-link-hover:var(--color-green-hover);--color-green-light:#e6f4ee;--color-green-soft:#f0faf6;--color-accent:#f59e0b;--color-accent-hover:#d97706;--color-accent-soft:#fef3c7;--color-success:#22c55e;--color-warning:#f59e0b;--color-error:#ef4444;--color-info:#3b82f6;--color-violet:#7c3aed;--color-error-soft:#fff5f5;--color-info-soft:#eff6ff;--color-calculator-result-bg:#f8faf9;--color-calculator-result-border:#e6efe9;--color-calculator-result-heading:#0f3d2e;--color-calculator-result-blue:#4a90e2;--color-calculator-result-orange:#fa8e2f;--color-calculator-result-red:#f44;--color-calculator-warning-bg:#fff8e6;--color-calculator-warning-border:#ffe58f;--color-calculator-warning-text:#d48806;--shadow-sm:0 1px 2px #0000000a;--shadow-tab-active:0 2px 8px #00000014;--shadow-md:0 4px 12px #0000000f;--shadow-lg:0 8px 24px #00000014;--shadow-tool-image:0 18px 25px #1f44341f;--shadow-card-hover:0 10px 26px #1f443417;--shadow-control-hover:0 3px 10px #1f443414;--color-focus-ring-brand:#2f7d5c3d;--color-focus-ring:var(--color-focus-ring-brand);--color-overlay:#00000080;--radius-sm:2px;--radius-control:5px;--radius-md:4px;--radius-lg:6px;--radius-xl:8px;--radius-2xl:10px;--radius-3xl:12px;--radius-card:var(--radius-2xl);--radius-card-compact:var(--radius-xl);--radius-control-lg:var(--radius-3xl);--radius-pill:999px;--radius-modal:var(--radius-3xl);--radius-round:50%;--transition-normal:all .3s ease;--transition-none:none;--transition-fast:.2s ease;--transition-card:transform .2s ease,border-color .2s ease,box-shadow .2s ease;--transition-interactive:var(--transition-fast);--interactive-hover-transform:translateY(-2px);--interactive-hover-shadow:var(--shadow-control-hover);--card-hover-shadow:var(--shadow-card-hover);--focus-ring-width:3px;--focus-ring-offset:2px;--z-index-dropdown:1001;--z-index-mobile-menu:999;--z-index-header:100;--content-max-width:1220px;--font-size-title-sm:42px;--font-size-title-md:32px;--font-size-title-lg:24px;--font-size-text-sm:18px;--font-size-text-md:16px;--font-size-text-lg:14px}.auth-modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10000;background:#00000080;justify-content:center;align-items:center;padding:20px;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.auth-modal{background:var(--color-white);border-radius:var(--radius-3xl);width:100%;max-width:440px;box-shadow:var(--shadow-lg);max-height:calc(100vh - 40px);padding:32px;animation:.3s slideUp;position:relative;overflow-y:auto}.auth-modal::-webkit-scrollbar{width:6px}.auth-modal::-webkit-scrollbar-thumb{background:var(--color-border-brand-hover);border-radius:4px}.auth-modal__close{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:24px;transition:all .2s;display:flex;position:absolute;top:16px;right:16px}@media (hover:hover) and (pointer:fine){.auth-modal__close:hover{background:var(--color-bg-soft);color:var(--color-text-main)}}.auth-modal__close:focus-visible{outline:3px solid var(--color-focus-ring-brand);outline-offset:1px}.auth-modal__header{text-align:center;margin-bottom:24px}.auth-modal__title{color:var(--color-text-main);margin:0 0 8px;font-size:24px;font-weight:600}.auth-modal__form{flex-direction:column;gap:16px;display:flex}.auth-modal__input-group{flex-direction:column;gap:6px;display:flex}.auth-modal__label{color:var(--color-text-main);font-size:14px;font-weight:500}.auth-modal__input{background:var(--color-white);border:1px solid var(--color-border);color:var(--color-text-main);border-radius:8px;padding:12px 16px;font-size:16px;transition:all .2s}.auth-modal__input--error{border-color:var(--color-error);background:var(--color-error-soft)}.auth-modal__error{color:var(--color-error);margin-top:4px;font-size:12px;display:block}.auth-modal__submit{background:var(--color-green-primary);color:var(--color-white);border:1px solid var(--color-green-primary);border-radius:var(--radius-xl);cursor:pointer;transition:var(--transition-fast);margin-top:8px;padding:14px 24px;font-size:16px;font-weight:600}@media (hover:hover) and (pointer:fine){.auth-modal__submit:hover:not(:disabled){border-color:var(--color-green-hover);background:var(--color-green-hover)}}.auth-modal__submit:focus-visible{outline:3px solid var(--color-focus-ring-brand);outline-offset:2px}.auth-modal__submit:disabled{border-color:var(--color-border);background:var(--color-bg-muted);color:var(--color-text-light);cursor:not-allowed;transform:none}.auth-modal__footer{text-align:center;border-top:1px solid var(--color-border-soft);margin-top:24px;padding-top:24px}.auth-modal__switch-text{color:var(--color-text-secondary);margin:0;font-size:14px}.auth-modal__switch-btn{color:var(--color-green-primary);cursor:pointer;background:0 0;border:none;margin-left:4px;font-weight:500;text-decoration:underline}@media (hover:hover) and (pointer:fine){.auth-modal__switch-btn:hover{color:var(--color-green-hover)}}.auth-modal__switch-btn:focus-visible{outline:3px solid var(--color-focus-ring-brand);outline-offset:2px}.auth-modal__forgot{text-align:center;margin-top:16px}.auth-modal__forgot-btn{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;font-size:14px}@media (hover:hover) and (pointer:fine){.auth-modal__forgot-btn:hover{color:var(--color-green-primary)}}.auth-modal__forgot-btn:focus-visible{outline:3px solid var(--color-focus-ring-brand);outline-offset:2px}.auth-modal__checkbox-group{flex-direction:column;gap:12px;margin-top:8px;display:flex}.auth-modal__checkbox{color:var(--color-text-main);align-items:flex-start;gap:8px;font-size:14px;display:flex}.auth-modal__checkbox input[type=checkbox]{cursor:pointer;flex-shrink:0;width:18px;height:18px}.auth-modal__checkbox span{line-height:1.3}.auth-modal__checkbox a{color:var(--color-green-primary);cursor:pointer;font-weight:500;text-decoration:underline}@media (hover:hover) and (pointer:fine){.auth-modal__checkbox a:hover{color:var(--color-green-hover)}}@media (prefers-reduced-motion:reduce){.auth-modal-overlay,.auth-modal,.auth-modal__close,.auth-modal__submit{transition:var(--transition-none);animation:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:480px){.auth-modal-overlay{padding:16px}.auth-modal{padding:24px}.auth-modal__title{font-size:20px}}
