:root{--font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}html,body,#root{height:100%}body{margin:0;font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,select,textarea{font-family:inherit}@media screen and (max-width:768px){input,textarea,select{font-size:16px!important}}.home-page.theme-light{--color-bg: #ffffff;--color-header: #ffffff;--color-surface: #ffffff;--color-border-subtle: #e5e7eb;--color-text-primary: #111827;--color-text-secondary: #6b7280;--color-input-bg: #f9fafb;--color-search-placeholder: #9ca3af;--color-status-active-bg: #dcfce7;--color-status-active-text: #22c55e;--color-status-inactive-bg: #e5e7eb;--color-status-inactive-text: #6b7280;--icon-bell: url(/notification-icon-light.png)}.home-page.theme-dark{--color-bg: #020617;--color-header: #020617;--color-surface: #111827;--color-border-subtle: #1f2937;--color-text-primary: #f9fafb;--color-text-secondary: #9ca3af;--color-input-bg: #020617;--color-search-placeholder: #6b7280;--color-bg-hover: rgba(255, 255, 255, .05);--color-status-active-bg: rgba(34, 197, 94, .12);--color-status-active-text: #4ade80;--color-status-inactive-bg: rgba(148, 163, 184, .25);--color-status-inactive-text: #e5e7eb;--icon-bell: url(/notification-icon-dark.png)}.home-page{--color-primary: #2563eb;--radius-lg: 24px;--radius-pill: 9999px;--shadow-soft: 0 18px 40px rgba(15, 23, 42, .12);margin:0;min-height:100vh;background:var(--color-bg);color:var(--color-text-primary)}.container{max-width:1120px;margin:0 auto;padding:0 24px}.main{padding:40px 0 64px}.home-page .page-header{margin:0 0 22px}.home-page .page-title{font-size:28px;letter-spacing:-.02em;margin:0}.home-page .page-subtitle{margin:8px 0 0;color:var(--color-text-secondary);font-size:14px}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.service-card{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:12px}.service-thumbnail{width:100%;height:84px;border-radius:18px;background:linear-gradient(135deg,#2563eb2e,#38bdf824);border:1px solid var(--color-border-subtle)}.service-title{font-size:16px;margin:0}.service-description{margin:0;font-size:13px;line-height:1.45;color:var(--color-text-secondary)}.service-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px}.status-pill{padding:6px 10px;border-radius:var(--radius-pill);font-size:12px;font-weight:600}.status-pill--active{background:var(--color-status-active-bg);color:var(--color-status-active-text)}.status-pill--inactive{background:var(--color-status-inactive-bg);color:var(--color-status-inactive-text)}.link-button{color:var(--color-primary);text-decoration:none;font-size:13px;font-weight:600}.link-button:hover{text-decoration:underline}@media(max-width:900px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.container{padding:0 16px}.main{padding-top:24px}.services-grid{grid-template-columns:minmax(0,1fr)}.home-page .page-title{font-size:24px}}.theme-toggle-switch{position:relative;display:inline-block;width:44px;height:24px}.theme-toggle-switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.4s;border-radius:24px}.slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.slider{background-color:#2563eb}input:focus+.slider{box-shadow:0 0 1px #2563eb}input:checked+.slider:before{transform:translate(20px)}.theme-dark .slider{background-color:#374151}.theme-dark input:checked+.slider{background-color:#2563eb}.header{width:100%;background:var(--color-header);border-bottom:1px solid var(--color-border-subtle)}.header-inner{height:72px;display:flex;align-items:center;gap:24px}.header-left,.header-center,.header-right{display:flex;align-items:center}.header-left{flex:0 0 auto;gap:8px;text-decoration:none;color:inherit;cursor:pointer}.logo-icon{width:28px;height:28px;border-radius:8px;background-color:#2563eb}.header-center{flex:1 1 auto;justify-content:center}.header .search{max-width:520px;width:100%;display:flex;align-items:center;gap:8px;background:var(--color-input-bg, #f9fafb);border-radius:999px;border:1px solid var(--color-border-subtle);padding:10px 20px}.header .search-icon,.icon-button--search .search-icon{width:16px;height:16px;border-radius:999px;border:1.5px solid var(--color-search-placeholder, var(--color-input-placeholder));position:relative;flex-shrink:0}.header .search-icon:after,.icon-button--search .search-icon:after{content:"";position:absolute;width:6px;height:1.5px;border-radius:999px;background:var(--color-search-placeholder, var(--color-input-placeholder));right:-3px;bottom:-1px;transform:rotate(45deg)}.header .search-input{border:none;outline:none;background:transparent;font-size:14px;width:100%;color:var(--color-text-primary);font-family:inherit}.header .search-input::placeholder{color:var(--color-search-placeholder, var(--color-input-placeholder))}.header-right{flex:0 0 auto;gap:12px;justify-content:flex-end}.icon-button{width:36px;height:36px;border-radius:999px;border:1px solid var(--color-border-subtle);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);font-size:18px}.avatar-container{position:relative}.avatar-block{display:flex;align-items:center;gap:10px;cursor:pointer;padding:4px 8px;border-radius:var(--radius-md, 8px);transition:background-color .2s;-webkit-user-select:none;user-select:none}.avatar-block:hover{background-color:var(--color-bg-hover, rgba(0, 0, 0, .05))}.avatar-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--color-surface, var(--color-header));border:1px solid var(--color-border-subtle);border-radius:var(--radius-md, 8px);box-shadow:0 4px 12px #0000001a;min-width:150px;z-index:100;padding:8px 0}.dropdown-item{width:100%;padding:10px 16px;text-align:left;background:transparent;border:none;font-size:14px;color:var(--color-text-primary);cursor:pointer;font-family:inherit;transition:background-color .2s;text-decoration:none;display:block;box-sizing:border-box}.dropdown-item:hover{background-color:var(--color-bg-hover, rgba(0, 0, 0, .05))}.avatar-image{width:32px;height:32px;border-radius:999px;object-fit:cover;display:block}.avatar-name{font-size:14px;font-weight:500;white-space:nowrap}.icon-button--search{display:none}.icon-button--bell{display:flex}.icon-bell{width:18px;height:18px;background-image:var(--icon-bell);background-repeat:no-repeat;background-position:center;background-size:18px 18px}@media(max-width:768px){.header-inner{height:56px;padding-top:8px;padding-bottom:8px;flex-wrap:nowrap;justify-content:space-between}.header-center{display:none}.icon-button--search{display:flex;color:var(--color-search-placeholder, var(--color-input-placeholder))}.icon-button--bell{display:flex}.avatar-name{display:none}}.calories-page{--color-primary: #2563eb;--color-point: var(--color-primary);--radius-lg: 24px;--radius-md: 16px;--radius-pill: 9999px;--shadow-soft: 0 18px 40px rgba(15, 23, 42, .12);--shadow-sm: 0 10px 25px rgba(15, 23, 42, .08);margin:0;min-height:100vh;background:var(--color-bg);color:var(--color-text-primary)}.calories-page.theme-light{--color-bg: #ffffff;--color-header: #ffffff;--color-surface: #ffffff;--color-border-subtle: #e5e7eb;--color-text-primary: #111827;--color-text-secondary: #6b7280;--color-input-bg: #f9fafb;--color-input-border: #e5e7eb;--color-input-placeholder: #9ca3af;--color-chip-bg: rgba(37, 99, 235, .06);--icon-bell: url(/notification-icon-light.png)}.calories-page.theme-dark{--color-bg: #020617;--color-header: #020617;--color-surface: #111827;--color-border-subtle: #1f2937;--color-text-primary: #f9fafb;--color-text-secondary: #9ca3af;--color-input-bg: #020617;--color-input-border: #1f2937;--color-input-placeholder: #6b7280;--color-bg-hover: rgba(255, 255, 255, .05);--color-chip-bg: rgba(37, 99, 235, .22);--icon-bell: url(/notification-icon-dark.png)}.calories-page *{box-sizing:border-box}.calories-page .container{max-width:1120px;margin:0 auto;padding:0 24px}.calories-page .main{padding-top:32px;padding-bottom:40px}.calories-page .page-header{display:flex;flex-direction:column;gap:6px;margin-bottom:20px;margin-left:0}.calories-page .page-title{font-size:28px;font-weight:600;letter-spacing:-.02em}.calories-page .page-subtitle{font-size:14px;color:var(--color-text-secondary);max-width:480px}.calories-page .metrics-section{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:20px 20px 22px;display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.calories-page .metrics-header{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}.calories-page .tabs{display:inline-flex;padding:4px;border-radius:999px;background:#94a3b81f;gap:4px}.calories-page .tab{border:none;outline:none;padding:6px 14px;border-radius:999px;font-size:13px;font-weight:500;background:transparent;color:var(--color-text-secondary);cursor:pointer;white-space:nowrap}.calories-page .tab--active{background:#fff;color:#111827;box-shadow:0 8px 18px #0f172a29}.calories-page.theme-dark .tab--active{background:#0b1120;color:#e5e7eb}.calories-page .filters{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.calories-page .filter-group{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--color-text-secondary)}.calories-page .filter-label{font-weight:500}.calories-page .filter-dates{display:flex;align-items:center;gap:8px}.calories-page .filter-input,.calories-page .filter-select{height:36px;border-radius:999px;border:1px solid var(--color-input-border);background:var(--color-input-bg);padding:0 12px;font-size:13px;font-family:inherit;color:var(--color-text-primary);outline:none;min-width:120px;transition:border-color .15s ease,box-shadow .15s ease}.calories-page .filter-select{-webkit-appearance:none;appearance:none;padding-right:34px;background-color:var(--color-input-bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%239CA3AF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M6 8l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:14px 14px}.calories-page .filter-input::placeholder{color:var(--color-input-placeholder)}.calories-page .filter-input:focus,.calories-page .filter-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 1px #2563eb40}.calories-page .filter-separator{font-size:14px;color:var(--color-text-secondary)}.calories-page .chart-card{border-radius:22px;border:1px solid var(--color-border-subtle);background:var(--color-surface);padding:14px 14px 10px;overflow:hidden}.calories-page.theme-light .chart-card{background:#ffffffa6}.calories-page.theme-dark .chart-card{background:#0f172a4d}.calories-page .chart-inner{position:relative;height:240px}.calories-page .chart-svg{width:100%;height:240px;display:block}.calories-page .chart-grid line,.calories-page .chart-axes line{stroke:#94a3b833;vector-effect:non-scaling-stroke;shape-rendering:crispEdges}.calories-page.theme-dark .chart-grid line,.calories-page.theme-dark .chart-axes line{stroke:#ffffff1a}.calories-page .chart-line{fill:none;stroke:var(--color-point);stroke-width:2.25;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.calories-page .chart-area{fill:var(--color-point);opacity:.1}.calories-page .chart-point{fill:var(--color-surface);stroke:var(--color-point);stroke-width:2;vector-effect:non-scaling-stroke;opacity:0;transition:opacity .12s ease}.calories-page .chart-hover .chart-point{opacity:1}.calories-page .chart-axis-text{font-size:12px;fill:var(--color-text-secondary);transition:fill .2s ease}.calories-page .chart-tip{position:absolute;pointer-events:none;padding:8px 10px;border-radius:12px;background:var(--color-surface);border:1px solid var(--color-border-subtle);box-shadow:0 12px 30px #0f172a1f;color:var(--color-text-primary);font-size:12px;white-space:nowrap}.calories-page .chart-footer{display:flex;justify-content:space-between;margin-top:10px;font-size:13px;color:var(--color-text-secondary)}.calories-page .chart-axis-label{display:flex;gap:4px;align-items:center}.calories-page .chart-dot{width:9px;height:9px;border-radius:999px;background:var(--color-point)}.calories-page .chart-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:10px;pointer-events:none}.calories-page .chart-overlay__text{font-size:12px;font-weight:500;padding:6px 10px;border-radius:999px;background:#0f172a47;color:#f9fafbeb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.calories-page.theme-light .chart-overlay__text{background:#ffffffb8;color:#111827d1;border:1px solid rgba(229,231,235,.9)}.calories-page .chart-overlay__text--error{color:#fee2e2;background:#dc262659}.calories-page.theme-light .chart-overlay__text--error{color:#991b1b;background:#fee2e2d9;border:1px solid rgba(254,202,202,.9)}.calories-page .day-section{display:flex;flex-direction:column;gap:12px;margin-top:12px}.calories-page .day-section-header{font-size:14px;color:var(--color-text-secondary);display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px}.calories-page .day-section-actions{display:flex;gap:12px;align-items:center}.calories-page .btn-ghost-nav{border:1px solid var(--color-border-subtle);border-radius:var(--radius-pill);padding:10px 18px;font-size:14px;font-weight:500;background:transparent;cursor:pointer;color:var(--color-text-secondary);transition:all .2s ease}.calories-page .btn-ghost-nav:hover{background:var(--color-bg-hover, rgba(0, 0, 0, .05));color:var(--color-text-primary)}.calories-page .day-section-header span:first-child{font-weight:500;color:var(--color-text-primary)}.calories-page .day-list{display:flex;flex-direction:column;gap:12px;background:none}.calories-page details.day-card{background:var(--color-surface);border-radius:18px;border:none;padding:12px 16px;cursor:pointer;box-shadow:0 12px 30px #0f172a1a;transition:box-shadow .12s ease,transform .12s ease,background .12s ease}.calories-page details.day-card:hover{transform:translateY(-1px);box-shadow:0 18px 40px #0f172a24}.calories-page details.day-card[open]{background:var(--color-surface)}.calories-page .day-summary{list-style:none;display:flex;align-items:center;gap:12px}.calories-page .day-summary-main{flex:0 0 120px;display:flex;flex-direction:column;gap:2px}.calories-page .day-date{font-size:13px;font-weight:500}.calories-page .day-kcal{font-size:12px;color:var(--color-text-secondary)}.calories-page .day-summary-stats{flex:1 1 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.calories-page .stat-chip{border-radius:999px;background:var(--color-chip-bg);padding:6px 10px;font-size:11px;display:flex;flex-direction:column;gap:2px}.calories-page .stat-label{text-transform:uppercase;letter-spacing:.06em;font-size:10px;color:var(--color-text-secondary)}.calories-page .stat-value{font-weight:500;color:var(--color-text-primary)}.calories-page .day-toggle-icon{flex:0 0 auto;margin-left:8px;font-size:16px;color:var(--color-text-secondary);transition:transform .15s ease}.calories-page details.day-card[open] .day-toggle-icon{transform:rotate(180deg)}.calories-page .day-details-header{margin-top:10px;border-top:1px dashed var(--color-border-subtle);padding-top:10px}.calories-page .day-details-header{font-size:12px;font-weight:500;color:var(--color-text-secondary);margin-bottom:6px}.day-details-header{display:grid;grid-template-columns:2.4fr 1fr 1fr 1fr 1fr 1fr;gap:8px}.day-details-title,.day-details-description,.product-name{display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:break-word;word-break:break-word}.day-details-description{text-align:right;font-weight:600}.calories-page .product-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.calories-page .product-item{display:grid;grid-template-columns:2.4fr 1fr 1fr 1fr 1fr 1fr;gap:8px;font-size:12px;color:var(--color-text-secondary)}.calories-page .product-name{color:var(--color-text-primary);font-weight:500}.calories-page .product-weight,.product-kcal,.product-proteins,.product-fats,.product-carbs{text-align:right}.calories-page .btn-add-day{border:none;outline:none;border-radius:var(--radius-pill);padding:8px 14px;font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;background:var(--color-primary);color:#fff;display:inline-flex;align-items:center;gap:6px;box-shadow:0 10px 24px #2563eb59;transition:transform .08s ease,box-shadow .08s ease,background .08s ease}.calories-page .btn-add-day:hover{transform:translateY(-1px);box-shadow:0 14px 32px #2563eb73;background:#1d4ed8}.calories-page .btn-add-day:active{transform:translateY(0);box-shadow:0 8px 20px #2563eb59}.calories-page .pagination{margin-top:20px;display:flex;justify-content:center;gap:6px;font-size:13px}.calories-page .page-btn{min-width:32px;height:32px;border-radius:999px;border:1px solid var(--color-border-subtle);background:var(--color-surface);display:flex;align-items:center;justify-content:center;padding:0 10px;cursor:pointer;color:var(--color-text-secondary);text-decoration:none;font-weight:500}.calories-page .page-btn--active{background:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:0 10px 24px #2563eb66}.calories-page .page-btn--ghost{background:transparent}@media(max-width:1024px){.calories-page .metrics-section{padding:18px 16px 20px}.calories-page .day-summary-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:768px){.calories-page .container{padding:0 16px}.calories-page .main{padding-top:24px}.calories-page .metrics-section{padding:16px 14px 18px;border-radius:18px}.calories-page .metrics-header{align-items:flex-start}.calories-page .filters{flex-direction:column;align-items:stretch}.calories-page .filter-dates,.calories-page .filter-input,.calories-page .filter-select{width:100%}.calories-page .chart-svg,.calories-page .chart-inner{height:200px}.calories-page .page-title{font-size:24px}.calories-page .day-summary{flex-direction:column;align-items:flex-start}.calories-page .day-summary-main{flex:0 0 auto}.calories-page .day-summary-stats{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:8px;row-gap:8px}.calories-page .day-toggle-icon{align-self:flex-end}.calories-page{grid-template-columns:2fr 1fr 1.1fr}.calories-page .day-section-header{flex-direction:column;align-items:stretch;gap:12px}.calories-page .day-section-actions{flex-direction:column;align-items:stretch;gap:8px}.calories-page .btn-ghost-nav{width:100%;justify-content:center;padding:12px}.calories-page .btn-add-day{width:100%;justify-content:center}.calories-page .chart-axis-text{font-size:20px}}.products-page{--color-primary: #2563EB;--radius-lg: 24px;--radius-md: 16px;--radius-pill: 9999px;--shadow-soft: 0 18px 40px rgba(15, 23, 42, .12);min-height:100vh;background:var(--color-bg);color:var(--color-text-primary)}.products-page.theme-light{--color-bg: #FFFFFF;--color-header: #FFFFFF;--color-surface: #FFFFFF;--color-border-subtle: #E5E7EB;--color-text-primary: #111827;--color-text-secondary: #6B7280;--color-input-bg: #F9FAFB;--color-input-border: #E5E7EB;--color-input-placeholder: #9CA3AF;--icon-bell: url(/notification-icon-light.png)}.products-page.theme-dark{--color-bg: #020617;--color-header: #020617;--color-surface: #111827;--color-border-subtle: #1F2937;--color-text-primary: #F9FAFB;--color-text-secondary: #9CA3AF;--color-input-bg: #020617;--color-input-border: #1F2937;--color-input-placeholder: #6B7280;--color-bg-hover: rgba(255, 255, 255, .05);--icon-bell: url(/notification-icon-dark.png)}.products-page .container{max-width:1120px;margin:0 auto;padding:0 24px}@media(max-width:768px){.products-page .container{padding:0 16px}}.products-page .main{padding-top:32px;padding-bottom:40px}.products-page .page-header{margin-bottom:24px;max-width:800px;margin-left:auto;margin-right:auto}.products-page .page-header-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.products-page .page-title{font-size:28px;font-weight:600;letter-spacing:-.02em;margin:0}@media(max-width:768px){.products-page .page-title{font-size:24px}}.products-page .page-subtitle{font-size:14px;color:var(--color-text-secondary);margin:4px 0 0}.btn-primary{background:var(--color-primary);color:#fff;border:none;padding:10px 18px;border-radius:var(--radius-pill);font-weight:500;cursor:pointer;box-shadow:0 10px 20px #2563eb33;transition:transform .2s;white-space:nowrap}.btn-sm{padding:6px 14px;margin:0!important;font-size:14px;width:20%!important}@media(max-width:768px){.btn-sm{width:auto!important;flex:0 0 auto}}.btn-primary:hover{transform:translateY(-1px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.filters{margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:12px}@media(max-width:768px){.filters{flex-direction:column;align-items:stretch;gap:12px}}.search-bar{flex:1;max-width:400px}@media(max-width:768px){.search-bar{max-width:none}}.field-input,.filter-input{width:100%;padding:10px 16px;border-radius:var(--radius-md);border:1px solid var(--color-input-border);background:var(--color-input-bg);color:var(--color-text-primary);font-family:inherit;outline:none}.field-input:focus,.filter-input:focus{border-color:var(--color-primary)}.product-section{display:flex;flex-direction:column;gap:24px;max-width:800px;margin:0 auto}.product-list{display:flex;flex-direction:column;gap:16px}.product-card{background:var(--color-surface);border-radius:var(--radius-md);padding:16px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 12px #0000000d;border:1px solid var(--color-border-subtle);transition:border-color .2s}.product-card--today{border-color:#10b981;border-width:2px}@media(max-width:480px){.product-card{flex-direction:column;align-items:flex-start;gap:16px}.product-actions{align-self:flex-end}}.product-name{font-weight:600;font-size:16px;margin-bottom:4px}.product-stats{display:flex;gap:12px;font-size:13px;color:var(--color-text-secondary);align-items:center}@media(max-width:768px){.product-stats{flex-wrap:wrap;gap:8px}}.stat-kcal{font-weight:600;color:var(--color-text-primary)}.per-100{font-size:11px;opacity:.8}.product-actions{display:flex;gap:8px}.btn-icon{width:32px;height:32px;border-radius:50%;border:1px solid var(--color-border-subtle);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);transition:all .2s}.btn-icon:hover{background:var(--color-input-bg);color:var(--color-text-primary)}.btn-icon--delete:hover{background:#fee2e2;color:#dc2626;border-color:#fecaca}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:24px}.page-btn{padding:6px 12px;border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);background:var(--color-surface);cursor:pointer;color:var(--color-text-primary)}.page-btn:disabled{opacity:.5;cursor:not-allowed}.page-info{font-size:14px;color:var(--color-text-secondary)}.modal-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--color-surface);border-radius:var(--radius-lg);width:100%;max-width:450px;padding:24px;box-shadow:0 20px 40px #0003}@media(max-width:768px){.modal-content{max-width:90%;padding:20px;border-radius:var(--radius-md)}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-header h3{margin:0;font-size:20px}.btn-close{background:transparent;border:none;font-size:18px;cursor:pointer;color:var(--color-text-secondary)}.modal-body{display:flex;flex-direction:column;gap:16px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:480px){.grid-2{grid-template-columns:1fr}}.field-group label{display:block;font-size:12px;font-weight:500;color:var(--color-text-secondary);margin-bottom:6px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.btn-ghost{background:transparent;border:1px solid var(--color-border-subtle);padding:10px 18px;border-radius:var(--radius-pill);cursor:pointer;color:var(--color-text-primary)}.error-message{color:#dc2626;font-size:13px;margin-top:8px}.loading,.empty,.error{text-align:center;padding:40px;color:var(--color-text-secondary)}.add-day-page{--color-primary: #2563EB;--radius-pill: 9999px}.add-day-page.theme-light{--color-bg: #FFFFFF;--color-header: #FFFFFF;--color-border-subtle: #E5E7EB;--color-text-primary: #111827;--color-text-secondary: #6B7280;--color-input-bg: #F9FAFB;--color-input-border: #E5E7EB;--color-input-placeholder: #9CA3AF;--color-modal-bg: #FFFFFF;--icon-bell: url(/notification-icon-light.png)}.add-day-page.theme-dark{--color-bg: #020617;--color-header: #020617;--color-border-subtle: #1F2937;--color-text-primary: #F9FAFB;--color-text-secondary: #9CA3AF;--color-input-bg: #020617;--color-input-border: #1F2937;--color-input-placeholder: #6B7280;--color-modal-bg: #111827;--color-bg-hover: rgba(255, 255, 255, .05);--icon-bell: url(/notification-icon-dark.png)}.add-day-page *{box-sizing:border-box}.add-day-page{margin:0;min-height:100vh;background:var(--color-bg);color:var(--color-text-primary)}.add-day-page .container{max-width:1120px;margin:0 auto;padding:0 24px}.add-day-page .header{width:100%;background:var(--color-header);border-bottom:1px solid var(--color-border-subtle)}.add-day-page .header-inner{height:72px;display:flex;align-items:center;gap:24px}.add-day-page .header-left,.add-day-page .header-center,.add-day-page .header-right{display:flex;align-items:center}.add-day-page .header-left{flex:0 0 auto;gap:8px;cursor:pointer;text-decoration:none;color:inherit}.add-day-page .logo-icon{width:28px;height:28px;border-radius:8px;background-color:var(--color-primary)}.add-day-page .logo-text{font-weight:600;font-size:18px;letter-spacing:.01em}.add-day-page .header-center{flex:1 1 auto;justify-content:center}.add-day-page .search{max-width:520px;width:100%;display:flex;align-items:center;gap:8px;background:var(--color-header);border-radius:var(--radius-pill);border:1px solid var(--color-border-subtle);padding:8px 14px}.add-day-page .search-icon{width:18px;height:18px;border-radius:999px;border:2px solid var(--color-input-placeholder);position:relative;flex-shrink:0}.add-day-page .search-icon:after{content:"";position:absolute;width:8px;height:2px;border-radius:999px;background:var(--color-input-placeholder);right:-4px;bottom:-1px;transform:rotate(45deg)}.add-day-page .search-input{border:none;outline:none;background:transparent;width:100%;font-family:inherit;font-size:14px;color:var(--color-text-primary)}.add-day-page .search-input::placeholder{color:var(--color-input-placeholder)}.add-day-page .header-right{flex:0 0 auto;gap:12px;margin-left:auto}.add-day-page .icon-button{width:36px;height:36px;border-radius:999px;border:1px solid var(--color-border-subtle);display:flex;align-items:center;justify-content:center;cursor:pointer;background:transparent;color:var(--color-text-secondary);font-size:18px}.add-day-page .avatar-block{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.add-day-page .avatar-image{width:32px;height:32px;border-radius:999px;object-fit:cover;display:block}.add-day-page .avatar-name{font-size:14px;font-weight:500;white-space:nowrap}.add-day-page .icon-button--search{display:none}.add-day-page .icon-button--bell{display:flex}.add-day-page .icon-bell{width:18px;height:18px;background-image:var(--icon-bell);background-repeat:no-repeat;background-position:center;background-size:18px 18px}.add-day-page .main{padding-top:32px;padding-bottom:40px}.add-day-page .page-header{display:flex;flex-direction:column;gap:6px;margin-bottom:20px;max-width:640px;margin-left:auto;margin-right:auto}.add-day-page .page-title{font-size:28px;font-weight:600;letter-spacing:-.02em}.add-day-page .page-subtitle{font-size:14px;color:var(--color-text-secondary);max-width:480px}.add-day-page .form-wrapper{max-width:640px;margin:0 auto;padding:0}.add-day-page .form-card{background:transparent;border-radius:0;box-shadow:none;padding:0;display:flex;flex-direction:column;gap:18px}.add-day-page .progress{display:flex;align-items:center;gap:10px;margin-bottom:18px}.add-day-page .progress-step{flex:1 1 0;display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:999px;border:1px solid transparent;background:transparent;cursor:pointer;font-family:inherit;font-size:13px;color:var(--color-text-secondary);text-align:left;transition:background .12s ease,border-color .12s ease,color .12s ease}.add-day-page .progress-step-index{width:22px;height:22px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;background:#e5e7eb;color:#111827;flex-shrink:0}.add-day-page .progress-step-label-main{font-weight:500;display:block}.add-day-page .progress-step-label-sub{font-size:11px;color:var(--color-text-secondary)}.add-day-page .progress-step--active{background:#2563eb14;border-color:#2563eb66;color:var(--color-text-primary)}.add-day-page .progress-step--active .progress-step-index{background:var(--color-primary);color:#fff}.add-day-page .progress-step--completed{background:#10b9810f;border-color:#10b98166;color:var(--color-text-primary)}.add-day-page .progress-step--completed .progress-step-index{background:#10b981;color:#fff}.add-day-page .progress-step[disabled]{cursor:not-allowed;opacity:.6}.add-day-page .progress-line{width:26px;height:1px;background:var(--color-border-subtle);flex:0 0 auto}.add-day-page .step-section-title{font-size:18px;font-weight:600;margin:0}.add-day-page .form-description{margin:4px 0 0;font-size:13px;color:var(--color-text-secondary)}.add-day-page .form-body{display:flex;flex-direction:column;gap:18px;margin-top:8px}.add-day-page .field-group{display:flex;flex-direction:column;gap:6px}.add-day-page .field-label{font-size:14px;font-weight:500}.add-day-page .field-hint{font-size:12px;color:var(--color-text-secondary)}.add-day-page .field-input{width:100%;border-radius:12px;border:1px solid var(--color-input-border);background:var(--color-input-bg);padding:10px 12px;font-size:14px;font-family:inherit;color:var(--color-text-primary);outline:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.add-day-page .field-input::placeholder{color:var(--color-input-placeholder)}.add-day-page .field-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 1px #2563eb40}.add-day-page textarea.field-input{resize:vertical;min-height:90px}.add-day-page .file-input-wrapper{position:relative}.add-day-page .file-input{position:absolute;inset:0;opacity:0;cursor:pointer}.add-day-page .file-visual{border-radius:14px;border:1px dashed var(--color-input-border);background:var(--color-input-bg);padding:12px 14px;display:flex;align-items:center;gap:10px;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.add-day-page .file-icon{width:32px;height:32px;border-radius:999px;background:#2563eb14;display:flex;align-items:center;justify-content:center;font-size:16px}.add-day-page .file-text-main{font-size:14px;font-weight:500}.add-day-page .file-text-sub{font-size:12px;color:var(--color-text-secondary)}.add-day-page .file-visual:hover{border-color:var(--color-primary);background:#eff6ff;box-shadow:0 0 0 1px #2563eb29}.add-day-page .image-preview{width:100%;height:120px;object-fit:cover;border-radius:8px}.add-day-page .review-section{margin-top:4px}.add-day-page .review-items{margin-top:12px;display:flex;flex-direction:column;gap:8px}.add-day-page .review-header{display:grid;grid-template-columns:auto 2fr 1.1fr auto;gap:10px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary)}.add-day-page .review-row{display:grid;grid-template-columns:auto 2fr 1.1fr auto;gap:10px;align-items:center}.add-day-page .review-user{border:none;background:transparent;padding:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.add-day-page .review-avatar{width:32px;height:32px;border-radius:999px;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600}.add-day-page .review-input{border-radius:10px;border:1px solid var(--color-input-border);background:var(--color-input-bg);padding:8px 10px;font-size:13px;font-family:inherit;color:var(--color-text-primary);outline:none;width:100%;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}.add-day-page .review-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 1px #2563eb38}.add-day-page .review-input[readonly]{cursor:pointer}.add-day-page #itemsContainer{display:flex;flex-direction:column;gap:8px}.add-day-page .btn-delete-item{border:none;background:transparent;cursor:pointer;font-size:16px;color:var(--color-text-secondary);padding:4px;line-height:1}.add-day-page .btn-delete-item:hover{color:#dc2626}.add-day-page .btn-add-item{margin-top:8px;border-radius:var(--radius-pill);border:1px dashed var(--color-border-subtle);background:transparent;padding:8px 14px;font-size:13px;font-weight:500;font-family:inherit;color:var(--color-text-secondary);cursor:pointer;display:inline-flex;align-items:center;gap:6px}.add-day-page .btn-add-item:hover{border-color:var(--color-primary);color:var(--color-primary);background:#2563eb0a}.add-day-page .form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:32px}.add-day-page .btn-primary{border:none;outline:none;border-radius:var(--radius-pill);padding:10px 18px;font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;background:var(--color-primary);color:#fff;box-shadow:0 12px 28px #2563eb59;transition:transform .08s ease,box-shadow .08s ease,background .08s ease;margin-top:0;width:auto}.add-day-page .btn-primary:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 16px 36px #2563eb73;background:#1d4ed8}.add-day-page .btn-primary:not(:disabled):active{transform:translateY(0);box-shadow:0 10px 24px #2563eb59}.add-day-page .btn-primary:disabled{cursor:not-allowed;opacity:.6;transform:none;box-shadow:none}.add-day-page .btn-ghost{border-radius:var(--radius-pill);border:1px solid var(--color-border-subtle);padding:10px 16px;font-size:14px;font-weight:500;font-family:inherit;background:transparent;color:var(--color-text-secondary);cursor:pointer;width:auto}.add-day-page .user-modal-backdrop{position:fixed;inset:0;background:#0f172a8c;display:none;align-items:flex-start;justify-content:center;z-index:50;padding:60px 16px;overflow-y:auto}.add-day-page .user-modal-backdrop.is-open{display:flex}.add-day-page .user-modal{width:100%;max-width:420px;background:var(--color-modal-bg);border-radius:18px;box-shadow:0 22px 60px #0f172a8c;padding:16px 16px 14px;display:flex;flex-direction:column;gap:10px}.add-day-page .user-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.add-day-page .user-modal-title{margin:0;font-size:16px;font-weight:600}.add-day-page .user-modal-close{border:none;background:transparent;cursor:pointer;font-size:18px;color:var(--color-text-secondary);padding:2px;line-height:1}.add-day-page .user-modal-search{margin-top:2px}.add-day-page .user-modal-search-input{width:100%;border-radius:12px;border:1px solid var(--color-input-border);background:var(--color-input-bg);padding:8px 12px;font-size:14px;font-family:inherit;color:var(--color-text-primary);outline:none}.add-day-page .user-modal-search-input::placeholder{color:var(--color-input-placeholder)}.add-day-page .user-modal-list{margin-top:6px;max-height:480px;overflow-y:auto;display:flex;flex-direction:column;gap:4px;padding-right:2px}.add-day-page .user-modal-list::-webkit-scrollbar{display:none}.add-day-page .user-modal-list{scrollbar-width:none;-ms-overflow-style:none}.add-day-page .user-modal-item{height:44px;border-radius:12px;border:1px solid transparent;padding:8px 10px;display:flex;align-items:center;gap:10px;cursor:pointer;background:transparent;font-family:inherit;font-size:14px;color:var(--color-text-primary);text-align:left;flex-shrink:0}.add-day-page .user-modal-item-avatar{width:30px;height:30px;border-radius:999px;background:var(--color-primary);color:#fff;font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.add-day-page .user-modal-item-name{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-day-page .user-modal-item:hover{border-color:#2563eb73;background:#2563eb0f}.add-day-page .user-modal-empty{font-size:13px;color:var(--color-text-secondary);padding:8px 2px 2px}@media(max-width:768px){.add-day-page .container{padding:0 16px}.add-day-page .header-inner{height:56px;padding-top:8px;padding-bottom:8px;flex-wrap:nowrap;justify-content:space-between}.add-day-page .header-center{display:none}.add-day-page .icon-button--search{display:flex;color:var(--color-search-placeholder, var(--color-input-placeholder))}.add-day-page .icon-button--bell{display:flex}.add-day-page .avatar-name{display:none}.add-day-page .main{padding-top:24px}.add-day-page .page-title{font-size:24px}.add-day-page .progress{flex-direction:column;align-items:stretch;gap:8px}.add-day-page .progress-line{width:1px;height:18px;align-self:center}.add-day-page .review-header,.add-day-page .review-row{grid-template-columns:auto 1.9fr 1.1fr auto;gap:6px}.add-day-page .review-input{font-size:12px;padding:7px 8px}.add-day-page .form-actions{flex-direction:column-reverse;align-items:stretch;margin-top:24px}.add-day-page .btn-primary,.add-day-page .btn-ghost{width:100%;text-align:center}}.profile-page{--color-primary: #2563eb;--radius-md: 8px;--radius-lg: 16px;margin:0;min-height:100vh;background:var(--color-bg);color:var(--color-text-primary)}.profile-page.theme-light{--color-bg: #ffffff;--color-header: #ffffff;--color-surface: #ffffff;--color-surface-muted: #f9fafb;--color-border-subtle: #e5e7eb;--color-text-primary: #111827;--color-text-secondary: #6b7280;--color-input-bg: #f9fafb;--color-input-border: #e5e7eb;--color-input-placeholder: #9ca3af;--color-bg-hover: rgba(0, 0, 0, .05);--color-badge-bg: #dbeafe;--color-badge-text: #1d4ed8;--icon-bell: url(/notification-icon-light.png)}.profile-page.theme-dark{--color-bg: #020617;--color-header: #020617;--color-surface: #111827;--color-surface-muted: #020617;--color-border-subtle: #1f2937;--color-text-primary: #f9fafb;--color-text-secondary: #9ca3af;--color-input-bg: #020617;--color-input-border: #1f2937;--color-input-placeholder: #6b7280;--color-bg-hover: rgba(255, 255, 255, .05);--color-badge-bg: rgba(37, 99, 235, .18);--color-badge-text: #93c5fd;--icon-bell: url(/notification-icon-dark.png)}.profile-container{display:flex;gap:32px;padding-top:32px;padding-bottom:64px}.profile-sidebar{width:240px;flex-shrink:0;display:flex;flex-direction:column;height:auto;position:sticky;top:100px}.profile-nav{display:flex;flex-direction:column;gap:8px}.profile-nav-item{display:flex;align-items:center;padding:12px 16px;border-radius:8px;text-decoration:none;color:var(--color-text-secondary);font-weight:500;transition:all .2s;border:none;background:none;width:100%;text-align:left;cursor:pointer}.profile-nav-item:hover{background:var(--color-bg-hover, rgba(0, 0, 0, .05));color:var(--color-text-primary)}.profile-nav-item.active{background:var(--color-primary);color:#fff}.signout-button{color:#dc3545}.signout-button:hover{background:#dc35451a;color:#dc3545}.profile-content{flex-grow:1;min-width:0}.profile-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:32px;box-shadow:0 4px 12px #0000000d;display:flex;flex-direction:column;gap:32px;border:1px solid var(--color-border-subtle);margin-top:10px}.theme-dark .profile-card{box-shadow:0 4px 12px #0003}.avatar-section{display:flex;flex-direction:column;align-items:center;gap:24px}.avatar-wrapper{position:relative;width:150px;height:150px;overflow:hidden;border-radius:50%}.avatar-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#0006;color:#fff;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;pointer-events:none;z-index:1}.avatar-wrapper:hover .avatar-overlay{opacity:1}.avatar-overlay span{font-size:12px;font-weight:500;text-align:center;padding:0 10px}.profile-avatar-large{width:100%;height:100%;border-radius:50%;object-fit:cover;border:4px solid var(--color-primary)}.avatar-loader{position:absolute;top:0;left:0;width:100%;height:100%;background:#000000b3;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;z-index:2}.avatar-actions{display:flex;gap:12px}.btn{padding:10px 20px;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{opacity:.9}.btn-outline-danger{background:transparent;border-color:#dc3545;color:#dc3545}.btn-outline-danger:hover{background:#dc3545;color:#fff}.error-message{color:#dc3545;font-size:14px}.profile-info{display:grid;grid-template-columns:1fr 1fr;gap:24px}.info-group{display:flex;flex-direction:column;gap:4px}.info-group label{font-size:12px;text-transform:uppercase;color:var(--color-text-secondary);letter-spacing:.5px}.info-group p{font-size:16px;font-weight:500;margin:0;color:var(--color-text-primary)}.profile-empty-card{gap:8px}.profile-empty-card h2{margin:0;color:var(--color-text-primary);font-size:20px}.profile-empty-card p{margin:0;color:var(--color-text-secondary);font-size:14px}.settings-card{gap:24px}.settings-card-header,.settings-group-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.settings-card-header h2,.settings-group-header h3{margin:0;color:var(--color-text-primary)}.settings-card-header h2{font-size:20px}.settings-card-header p{margin:6px 0 0;color:var(--color-text-secondary);font-size:14px;line-height:1.45}.setting-status{display:inline-flex;align-items:center;width:fit-content;border-radius:999px;background:var(--color-badge-bg);color:var(--color-badge-text);font-weight:600}.settings-state{margin:0;color:var(--color-text-secondary);font-size:14px}.settings-state--error{color:#dc3545}.settings-groups{display:flex;flex-direction:column;gap:18px}.settings-group{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);overflow:hidden;background:var(--color-surface)}.settings-group-header{padding:18px 20px;border-bottom:1px solid var(--color-border-subtle);background:var(--color-surface-muted)}.settings-group-header h3{font-size:17px}.settings-group-link{color:var(--color-primary);text-decoration:none;font-size:13px;font-weight:600;white-space:nowrap}.settings-group-link:hover{text-decoration:underline}.settings-list{display:flex;flex-direction:column}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;cursor:pointer}.setting-row+.setting-row{border-top:1px solid var(--color-border-subtle)}.setting-row:hover{background:var(--color-bg-hover)}.setting-copy{display:flex;min-width:0;flex-direction:column;gap:5px}.setting-label{color:var(--color-text-primary);font-size:15px;font-weight:600}.setting-description{color:var(--color-text-secondary);font-size:13px;line-height:1.45}.setting-status{margin-top:3px;padding:4px 8px;font-size:11px}.setting-status--error{background:#dc35451f;color:#dc3545}.setting-toggle{position:relative;display:inline-flex;flex:0 0 auto;width:48px;height:28px}.setting-toggle input{position:absolute;inset:0;margin:0;opacity:0;cursor:pointer}.setting-toggle input:disabled{cursor:wait}.setting-toggle-slider{width:100%;height:100%;border-radius:999px;background:var(--color-input-border);transition:background-color .2s}.setting-toggle-slider:before{content:"";position:absolute;top:4px;left:4px;width:20px;height:20px;border-radius:999px;background:#fff;box-shadow:0 1px 3px #0f172a47;transition:transform .2s}.setting-toggle input:checked+.setting-toggle-slider{background:var(--color-primary)}.setting-toggle input:checked+.setting-toggle-slider:before{transform:translate(20px)}.setting-toggle input:focus-visible+.setting-toggle-slider{outline:2px solid var(--color-primary);outline-offset:2px}@media(max-width:768px){.profile-container{flex-direction:column;gap:20px;padding-top:24px}.profile-sidebar{width:100%;height:auto;position:static}.profile-nav{flex-direction:row;flex-wrap:wrap}.profile-nav-item{flex:1 1 150px;justify-content:center;width:auto}.profile-info{grid-template-columns:1fr}.profile-card{padding:24px}.settings-card-header,.settings-group-header,.setting-row{align-items:stretch}.settings-card-header{flex-direction:column}.settings-group-header{flex-direction:row}.setting-row{gap:16px}}@media(max-width:520px){.profile-card{padding:20px}.avatar-actions{width:100%;justify-content:center}.settings-group-header,.setting-row{padding:16px}.setting-row{align-items:flex-start;flex-direction:column}.setting-toggle{align-self:flex-end}}.auth-page.theme-light{--color-bg: #f3f4f6;--color-surface: #ffffff;--color-border-subtle: #e5e7eb;--color-text-primary: #111827;--color-text-secondary: #6b7280;--color-input-bg: #f9fafb;--color-input-border: #e5e7eb;--color-input-placeholder: #9ca3af}.auth-page.theme-dark{--color-bg: #020617;--color-surface: #111827;--color-border-subtle: #1f2937;--color-text-primary: #f9fafb;--color-text-secondary: #9ca3af;--color-input-bg: #020617;--color-input-border: #1f2937;--color-input-placeholder: #6b7280}*{box-sizing:border-box}.auth-page{--color-primary: #2563eb;--radius-lg: 24px;--radius-pill: 9999px;--shadow-soft: 0 18px 40px rgba(15, 23, 42, .16);margin:0;min-height:100vh;background:var(--color-bg);color:var(--color-text-primary)}.auth-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:56px 24px}.auth-card{width:100%;max-width:400px;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:40px 32px 32px;display:flex;flex-direction:column;gap:28px}.auth-header{display:flex;flex-direction:column;gap:12px}.auth-logo{width:32px;height:32px;border-radius:10px;background:var(--color-primary)}.auth-logo-link{display:flex;align-items:center;gap:8px;text-decoration:none;color:inherit;width:fit-content}.logo-text{font-weight:600;font-size:18px;letter-spacing:.01em}.auth-heading{font-size:26px;font-weight:600;letter-spacing:-.02em;margin:0}.auth-subtitle{margin:0;font-size:14px;color:var(--color-text-secondary)}.auth-form{display:flex;flex-direction:column;gap:20px}.field-group{display:flex;flex-direction:column;gap:6px}.field-label{font-size:14px;font-weight:500}.field-input-wrapper{position:relative}.field-input{width:100%;border-radius:12px;border:1px solid var(--color-input-border);background:var(--color-input-bg);padding:10px 12px;font-size:14px;font-family:inherit;color:var(--color-text-primary);outline:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.field-input::placeholder{color:var(--color-input-placeholder)}.field-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 1px #2563eb40;background:#ffffff0a}.field-row{display:flex;justify-content:flex-end;font-size:13px;margin-top:4px}.btn-primary{width:100%;border:none;outline:none;border-radius:var(--radius-pill);padding:12px 16px;font-size:15px;font-weight:500;font-family:inherit;cursor:pointer;background:var(--color-primary);color:#fff;margin-top:6px;transition:transform .08s ease,box-shadow .08s ease,background .08s ease;box-shadow:0 14px 30px #2563eb59}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 18px 40px #2563eb73;background:#1d4ed8}.btn-primary:active{transform:translateY(0);box-shadow:0 10px 24px #2563eb59}.google-signin-slot{width:320px;max-width:100%;border-radius:var(--radius-pill)}.auth-page.theme-dark .google-signin-slot{background:transparent;border:0;padding:0;overflow:hidden}.auth-page.theme-dark .google-signin-slot iframe{border:0;border-radius:calc(var(--radius-pill) - 1px)}.auth-footer-text{font-size:13px;color:var(--color-text-secondary);text-align:center;margin-top:6px}.link-inline{color:var(--color-primary);text-decoration:none;font-weight:500}.link-inline:hover{text-decoration:underline}@media(max-width:640px){.auth-wrapper{align-items:flex-start;justify-content:center;padding:40px 20px 32px}.auth-card{max-width:480px;margin:0 auto;box-shadow:none;border-radius:0;background:transparent;padding:0;gap:24px}.auth-heading{font-size:24px}.logo-text{display:block}.auth-form{gap:18px}}.auth-email-hint{margin:2px 0 0;font-size:13px;color:var(--color-text-secondary)}.auth-footer{display:flex;flex-direction:column;gap:6px;font-size:13px;margin-top:4px;color:var(--color-text-secondary)}.auth-footer-row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px}
