@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{color:#1c281d;font-synthesis:none;text-rendering:optimizelegibility;--color-50:#aaf0ab;--color-100:#99d89a;--color-200:#89c089;--color-300:#79a879;--color-400:#699169;--color-500:#5a7b5a;--color-600:#4b664b;--color-700:#3d513c;--color-800:#2f3d2e;--color-900:#212a21;--color-950:#151914;--color-bg:#f6faf5;--color-bg-soft:#f4f8f3;--color-surface:#fff;--color-surface-soft:#fbfdfb;--color-surface-elevated:#fff;--color-border:#d6e4d4;--color-border-strong:#bfd2bc;--color-text:#1c281d;--color-text-muted:#5a6b5a;--color-primary:#79a879;--color-primary-hover:#5a7b5a;--color-primary-soft:#e8f8e8;--color-accent:#89c089;--color-accent-soft:#d9eed8;--color-danger:#b94f5e;--color-danger-soft:#fcecef;--color-warning:#9a6a20;--color-warning-soft:#fff5db;--color-success:#4b7e58;--color-success-soft:#e8f8e8;--color-on-primary:#fff;--accent-mint:#aaf0ab;--accent-soft:#99d89a;--accent-medium:#89c089;--accent-deep:#79a879;--accent-mint-wash:color-mix(in srgb, var(--accent-mint) 22%, white);--accent-soft-wash:color-mix(in srgb, var(--accent-soft) 18%, white);--accent-medium-wash:color-mix(in srgb, var(--accent-medium) 16%, white);--accent-deep-wash:color-mix(in srgb, var(--accent-deep) 14%, white);--bg:var(--color-bg);--surface:var(--color-surface);--surface-soft:var(--color-surface-soft);--surface-elevated:var(--color-surface-elevated);--text:var(--color-text);--muted:var(--color-text-muted);--border:var(--color-border);--primary:var(--color-primary);--primary-strong:var(--color-primary-hover);--primary-soft:var(--color-primary-soft);--success:var(--color-success);--success-soft:var(--color-success-soft);--danger:var(--color-danger);--danger-soft:var(--color-danger-soft);--warning:var(--color-warning);--warning-soft:var(--color-warning-soft);--shadow:0 18px 48px #273a281a;--shadow-soft:0 10px 26px #273a2812;--radius:18px;background:#f6faf5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=dark]{color:var(--color-text);background:var(--color-bg)}*{box-sizing:border-box}html{min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;color:var(--text);background:linear-gradient(135deg,#f6faf5 0%,#f4f8f3 52%,#eef6ed 100%);margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.03em}p{line-height:1.6}.boot-screen{min-height:100vh;color:var(--muted);place-content:center;justify-items:center;gap:16px;display:grid}.spinner{border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{min-height:100vh;display:flex}.sidebar{z-index:40;border-right:1px solid var(--border);background:linear-gradient(#eef6ed,#f6faf5);flex-direction:column;width:265px;padding:22px 16px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:12px;padding:0 8px 22px;display:flex}.brand-mark,.auth-logo{width:42px;height:42px;color:var(--color-on-primary);background:linear-gradient(135deg, var(--color-primary), var(--color-primary-hover));border-radius:14px;place-items:center;display:grid;box-shadow:0 10px 24px #5a7b5a2e}.brand strong{font-size:15px;display:block}.brand span{color:var(--muted);margin-top:2px;font-size:12px;display:block}.sidebar-close{margin-left:auto;display:none!important}.sidebar-nav{flex-direction:column;gap:5px;display:flex}.nav-item{width:100%;color:var(--muted);text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:11px 12px;font-weight:600;transition:all .2s;display:flex}.nav-item:hover{background:color-mix(in srgb, var(--accent-mint) 34%, white);color:var(--text)}.nav-item.active{background:linear-gradient(135deg, var(--accent-mint), var(--accent-soft));color:#1c281d}.nav-item svg{color:#5a7b5a}.nav-item.active svg{color:var(--accent-deep)}.nav-item svg:last-child{margin-left:auto}.sidebar-footer{border-top:1px solid var(--border);margin-top:auto;padding-top:16px}.user-chip{align-items:center;gap:10px;min-width:0;padding:0 8px 14px;display:flex}.avatar{background:var(--primary-soft);width:36px;height:36px;color:var(--primary-strong);border-radius:12px;place-items:center;font-weight:700;display:grid}.user-chip div:last-child{min-width:0}.user-chip strong,.user-chip span{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.user-chip strong{font-size:13px}.user-chip span{color:var(--muted);margin-top:2px;font-size:11px}.main-area{width:calc(100% - 265px);min-height:100vh;margin-left:265px}.topbar{z-index:30;background:linear-gradient(135deg, color-mix(in srgb, var(--accent-soft) 92%, white), color-mix(in srgb, var(--accent-medium) 88%, white));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--accent-deep);justify-content:space-between;align-items:center;height:76px;padding:0 28px;display:flex;position:sticky;top:0;box-shadow:0 12px 28px #5a7b5a21}.topbar-title{align-items:center;gap:12px;display:flex}.topbar-title span{color:color-mix(in srgb, #1c281d 76%, var(--color-700));text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:800}.topbar-title h1{color:#1c281d;margin:2px 0 0;font-size:19px}.topbar-actions{align-items:center;gap:10px;display:flex}.search-trigger{border:1px solid color-mix(in srgb, var(--accent-deep) 70%, white);background:color-mix(in srgb, #fff 86%, var(--accent-mint));min-width:220px;height:40px;color:color-mix(in srgb, #1c281d 72%, var(--color-600));border-radius:12px;align-items:center;gap:9px;padding:0 11px;display:flex;box-shadow:0 8px 18px #4b664b1f}.search-trigger:hover{border-color:var(--accent-deep);color:#1c281d;background:#fff}.search-trigger span{text-align:left;flex:1}kbd{background:color-mix(in srgb, var(--accent-mint) 34%, white);border:1px solid color-mix(in srgb, var(--accent-deep) 44%, white);color:#1c281d;border-radius:6px;align-items:center;gap:2px;padding:3px 6px;font-size:11px;display:inline-flex}.icon-button{width:38px;height:38px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:11px;place-items:center;transition:all .2s;display:inline-grid}.icon-button:hover{background:color-mix(in srgb, var(--accent-mint) 36%, white);color:var(--text);border-color:var(--accent-medium)}.icon-button.danger{color:var(--danger)}.theme-button{border-color:color-mix(in srgb, var(--accent-deep) 72%, white);background:color-mix(in srgb, var(--accent-mint) 58%, white);color:#1c281d;box-shadow:0 8px 18px #4b664b21}.theme-button:hover{background:color-mix(in srgb, var(--accent-mint) 78%, white);border-color:var(--accent-deep)}.mobile-menu{display:none}.page-content{max-width:1500px;margin:0 auto;padding:28px}.page-stack{flex-direction:column;gap:22px;display:flex}.eyebrow{color:var(--accent-deep);letter-spacing:.09em;text-transform:uppercase;align-items:center;gap:6px;font-size:11px;font-weight:800;display:inline-flex}.page-heading,.welcome-card{justify-content:space-between;align-items:center;gap:24px;display:flex}.page-heading h2,.welcome-card h2{margin:5px 0 7px;font-size:clamp(25px,3vw,34px)}.page-heading p,.welcome-card p{color:var(--muted);margin:0}.welcome-card{border:1px solid var(--border);box-shadow:var(--shadow-soft);background:linear-gradient(135deg,#fff,#f4f8f3);border-radius:22px;padding:28px}.button{border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:41px;padding:0 16px;font-weight:700;transition:all .2s;display:inline-flex}.button.primary{background:linear-gradient(135deg, var(--accent-deep), var(--accent-medium));color:#1c281d;box-shadow:0 10px 20px #79a87933}.button.primary:hover{background:linear-gradient(135deg, #6d9c6d, var(--accent-deep));transform:translateY(-1px)}.button.ghost{background:color-mix(in srgb, var(--accent-mint) 18%, white);color:var(--text);border-color:var(--accent-medium)}.button.ghost:hover{background:color-mix(in srgb, var(--accent-mint) 42%, white);border-color:var(--accent-deep)}.button.small{min-height:34px;padding:0 11px;font-size:12px}.button.full{width:100%}.button:disabled{opacity:.55;cursor:not-allowed;transform:none!important}.button-group{gap:10px;display:flex}.text-button{color:var(--primary-strong);background:0 0;border:0;font-size:13px;font-weight:700}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.stats-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-soft);gap:14px;padding:20px;display:flex}.stat-card:nth-child(4n+1){background:var(--accent-mint-wash)}.stat-card:nth-child(4n+2){background:var(--accent-soft-wash)}.stat-card:nth-child(4n+3){background:var(--accent-medium-wash)}.stat-card:nth-child(4n){background:var(--accent-deep-wash)}.stat-icon{color:#1c281d;background:color-mix(in srgb, var(--accent-medium) 42%, white);border-radius:14px;flex:none;place-items:center;width:44px;height:44px;display:grid}.stat-card:nth-child(4n+1) .stat-icon{background:var(--accent-mint)}.stat-card:nth-child(4n+2) .stat-icon{background:var(--accent-soft)}.stat-card:nth-child(4n+3) .stat-icon{background:var(--accent-medium)}.stat-card:nth-child(4n) .stat-icon{background:var(--accent-deep)}.stat-label,.stat-card small{color:var(--muted);display:block}.stat-label{font-size:12px;font-weight:700}.stat-value{margin:4px 0;font-size:20px;display:block}.stat-card small{font-size:11px}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.panel-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:22px}.dashboard-grid .panel-card:nth-child(4n+1){background:color-mix(in srgb, var(--accent-mint) 10%, white)}.dashboard-grid .panel-card:nth-child(4n+2){background:color-mix(in srgb, var(--accent-soft) 10%, white)}.dashboard-grid .panel-card:nth-child(4n+3){background:color-mix(in srgb, var(--accent-medium) 9%, white)}.dashboard-grid .panel-card:nth-child(4n){background:color-mix(in srgb, var(--accent-deep) 8%, white)}.panel-card.no-padding{padding:0;overflow:hidden}.panel-header{justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;display:flex}.panel-header span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:800}.panel-header h3{margin:4px 0 0;font-size:18px}.compact-list{flex-direction:column;gap:4px;display:flex}.compact-row{border-bottom:1px solid var(--border);align-items:center;gap:11px;padding:11px 4px;display:flex}.compact-row:last-child{border-bottom:0}.compact-row svg{color:var(--primary-strong)}.compact-row strong{font-size:14px;display:block}.compact-row p{color:var(--muted);margin:3px 0 0;font-size:12px}.priority-dot{background:var(--warning);border-radius:50%;width:9px;height:9px}.priority-dot.low{background:var(--success)}.priority-dot.high{background:var(--danger)}.money-summary{gap:14px;display:grid}.money-summary>div{justify-content:space-between;gap:18px;display:flex}.money-summary span{color:var(--muted)}.balance-line{border-top:1px solid var(--border);padding-top:15px;font-size:17px}.positive{color:#2f7a43!important}.negative{color:var(--danger)!important}.toolbar-card{background:color-mix(in srgb, var(--accent-mint) 12%, white);border:1px solid var(--border);box-shadow:var(--shadow-soft);border-radius:15px;align-items:center;gap:12px;padding:12px;display:flex}.search-field{background:var(--surface-soft);border:1px solid var(--border);min-width:220px;height:42px;color:var(--muted);border-radius:11px;flex:1;align-items:center;gap:9px;padding:0 12px;display:flex}.search-field input{width:100%;color:var(--text);background:0 0;border:0;outline:0}.segmented{background:color-mix(in srgb, var(--accent-soft) 22%, white);border-radius:10px;padding:4px;display:flex}.segmented button{color:var(--muted);background:0 0;border:0;border-radius:8px;padding:7px 11px;font-size:12px;font-weight:700}.segmented button.active{background:var(--accent-mint);color:#1c281d;box-shadow:var(--shadow-soft)}.compact-select{border:1px solid var(--border);background:var(--surface-soft);min-height:42px;color:var(--text);accent-color:var(--accent-deep);border-radius:11px;padding:0 11px}.item-list{flex-direction:column;gap:10px;display:flex}.two-column-list{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.item-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-soft);border-radius:15px;align-items:flex-start;gap:13px;padding:17px;display:flex}.item-card.completed{opacity:.65}.item-card.completed h3{text-decoration:line-through}.check-button{border:2px solid var(--border);width:24px;height:24px;color:var(--color-on-primary);background:0 0;border-radius:8px;flex:none;place-items:center;margin-top:1px;display:grid}.check-button.checked{background:var(--success);border-color:var(--success)}.item-main{flex:1;min-width:0}.item-title-line{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.item-title-line h3{margin:0;font-size:16px}.item-main p{color:var(--muted);margin:6px 0 0;font-size:13px}.item-meta{color:var(--muted);flex-wrap:wrap;gap:12px;margin-top:9px;font-size:11px;display:flex}.item-actions{gap:3px;display:flex}.badge{background:color-mix(in srgb, var(--accent-soft) 30%, white);border:1px solid color-mix(in srgb, var(--accent-medium) 45%, white);color:#1c281d;text-transform:uppercase;border-radius:999px;align-items:center;padding:4px 8px;font-size:10px;font-weight:800;display:inline-flex}.priority-high{color:var(--danger);background:var(--danger-soft);border-color:#0000}.priority-medium{color:var(--warning);background:var(--warning-soft);border-color:#0000}.priority-low{color:var(--success);background:var(--success-soft);border-color:#0000}.cards-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.inventory-card,.memory-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:19px}.inventory-card-top,.memory-top{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.inventory-icon{background:color-mix(in srgb, var(--accent-medium) 32%, white);color:#1c281d;border-radius:13px;place-items:center;width:43px;height:43px;display:grid}.inventory-card h3,.memory-card h3{margin:6px 0 4px}.inventory-quantity{margin:10px 0 16px;font-size:22px;display:block}.inventory-meta{color:var(--muted);grid-template-columns:1fr 1fr;gap:10px;font-size:11px;display:grid}.inventory-meta b{color:var(--text);text-transform:capitalize;margin-top:3px;font-weight:700;display:block}.expiry-banner{background:var(--surface-soft);color:var(--muted);border-radius:10px;align-items:center;gap:7px;margin-top:15px;padding:10px;font-size:12px;font-weight:700;display:flex}.expiry-banner.warning{background:var(--warning-soft);color:var(--warning)}.expiry-banner.danger{background:var(--danger-soft);color:var(--danger)}.memory-card p{color:var(--muted);min-height:65px;font-size:13px}.importance{color:var(--warning);gap:2px;display:flex}.memory-actions{justify-content:space-between;align-items:center;margin-top:15px;display:flex}.info-banner{background:color-mix(in srgb, var(--accent-mint) 28%, white);color:#1c281d;border:1px solid color-mix(in srgb, var(--primary) 20%, transparent);border-radius:14px;gap:12px;padding:16px 18px;display:flex}.info-banner strong{display:block}.info-banner p{color:var(--muted);margin:3px 0 0;font-size:12px}.finance-table{flex-direction:column;display:flex}.finance-row{border-bottom:1px solid var(--border);grid-template-columns:42px 1fr auto auto;align-items:center;gap:13px;padding:15px 18px;display:grid}.finance-row:last-child{border-bottom:0}.finance-icon{border-radius:12px;place-items:center;width:39px;height:39px;display:grid}.finance-icon.income{color:#2f7a43;background:#e8f8e8}.finance-icon.expense{background:var(--danger-soft);color:var(--danger)}.finance-description strong,.finance-description span{display:block}.finance-description span{color:var(--muted);margin-top:3px;font-size:11px}.chat-layout{height:calc(100vh - 132px);min-height:560px}.chat-card{border:1px solid var(--border);background:var(--surface);height:100%;box-shadow:var(--shadow-soft);border-radius:20px;grid-template-rows:auto 1fr auto;display:grid;overflow:hidden}.chat-toolbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;padding:15px 18px;display:flex}.chat-toolbar div{grid-template-columns:auto 1fr;align-items:center;column-gap:7px;display:grid}.status-dot{background:var(--success);width:9px;height:9px;box-shadow:0 0 0 5px var(--success-soft);border-radius:50%}.chat-toolbar strong{font-size:13px}.chat-toolbar p{color:var(--muted);grid-column:2;margin:2px 0 0;font-size:11px}.chat-messages{padding:22px;overflow-y:auto}.chat-empty{text-align:center;place-content:center;justify-items:center;min-height:100%;padding:30px;display:grid}.assistant-orb{width:66px;height:66px;color:var(--color-on-primary);background:linear-gradient(135deg, var(--color-primary), var(--color-primary-hover));border-radius:23px;place-items:center;margin-bottom:16px;display:grid;box-shadow:0 15px 30px #5a7b5a2e}.chat-empty h2{margin-bottom:7px}.chat-empty p{max-width:560px;color:var(--muted)}.suggestion-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-width:680px;margin-top:14px;display:grid}.suggestion-grid button{border:1px solid var(--border);background:var(--surface-soft);color:var(--text);text-align:left;border-radius:12px;padding:11px 13px;font-size:12px}.suggestion-grid button:hover{border-color:var(--primary)}.message{align-items:flex-start;gap:10px;max-width:820px;margin-bottom:16px;display:flex}.message.user{flex-direction:row-reverse;margin-left:auto}.message-avatar{background:var(--surface-soft);width:34px;height:34px;color:var(--muted);border:1px solid var(--border);border-radius:11px;place-items:center;display:grid}.message.assistant .message-avatar{color:var(--primary);background:#f4f8f3}.message-bubble{border:1px solid var(--border);max-width:min(76%,680px);box-shadow:var(--shadow-soft);background:#fff;border-radius:15px;padding:12px 14px}.message.user .message-bubble{color:var(--text);background:#e8f8e8;border-color:#bfddbb}.message-bubble p{white-space:pre-wrap;margin:0;font-size:14px}.message-bubble time{color:var(--muted);margin-top:7px;font-size:9px;display:block}.message.user .message-bubble time{color:var(--muted)}.typing{gap:4px;padding:16px;display:flex}.typing span{background:var(--muted);border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite pulse}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@keyframes pulse{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}.chat-composer{border-top:1px solid var(--border);align-items:flex-end;gap:10px;padding:14px;display:flex}.chat-composer textarea{resize:vertical;border:1px solid var(--border);background:var(--surface-soft);min-height:46px;max-height:130px;color:var(--text);border-radius:13px;outline:0;flex:1;padding:12px 13px}.chat-composer textarea:focus{border-color:var(--primary)}.send-button{background:var(--primary);width:46px;height:46px;color:var(--color-on-primary);border:0;border-radius:13px;place-items:center;display:grid;box-shadow:0 10px 20px #5a7b5a2e}.send-button:disabled{opacity:.45}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1c281d38;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--border);background:var(--surface);width:min(100%,620px);max-height:90vh;box-shadow:var(--shadow);border-radius:18px;overflow:hidden}.modal-small{max-width:440px}.modal-large{max-width:800px}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:17px 19px;display:flex}.modal-header h2{margin:0;font-size:18px}.modal-body{max-height:calc(90vh - 70px);padding:19px;overflow-y:auto}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.field{flex-direction:column;gap:7px;display:flex}.field>span{color:var(--muted);font-size:12px;font-weight:700}.field input,.field textarea,.field select,.import-control select{border:1px solid var(--border);background:var(--surface-soft);width:100%;color:var(--text);border-radius:11px;outline:0;padding:11px 12px}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent-medium);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent-medium) 26%, transparent)}.field input:disabled{opacity:.65}.full-span{grid-column:1/-1}.form-actions{justify-content:flex-end;gap:9px;padding-top:4px;display:flex}.form-alert{border-radius:10px;padding:11px 13px;font-size:12px;line-height:1.5}.form-alert.error{color:var(--danger);background:var(--danger-soft)}.form-alert.success{color:var(--success);background:var(--success-soft)}.input-with-icon{border:1px solid var(--border);background:var(--surface-soft);color:var(--muted);border-radius:11px;align-items:center;gap:9px;padding:0 11px;display:flex}.input-with-icon input{background:0 0;border:0;padding-inline:0}.global-search-input{border:1px solid var(--border);background:var(--surface-soft);border-radius:12px;align-items:center;gap:9px;padding:0 12px;display:flex}.global-search-input input{width:100%;color:var(--text);background:0 0;border:0;outline:0;padding:13px 0}.search-results{max-height:430px;margin-top:12px;overflow-y:auto}.search-result{border:0;border-bottom:1px solid var(--border);width:100%;color:var(--text);text-align:left;background:0 0;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 5px;display:grid}.search-result:hover{background:var(--surface-soft)}.search-result strong{display:block}.search-result p{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:600px;margin:3px 0 0;font-size:11px;overflow:hidden}.result-type{background:color-mix(in srgb, var(--accent-soft) 34%, white);color:#1c281d;text-transform:uppercase;border-radius:999px;padding:4px 7px;font-size:9px;font-weight:800}.empty-state{text-align:center;background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);justify-items:center;padding:60px 20px;display:grid}.empty-icon{width:58px;height:58px;color:var(--primary-strong);background:var(--primary-soft);border-radius:18px;place-items:center;margin-bottom:14px;display:grid}.empty-state h3{margin-bottom:6px}.empty-state p,.muted{color:var(--muted)}.loading-state{min-height:220px;color:var(--muted);justify-content:center;align-items:center;gap:10px;display:flex}.toast-stack{z-index:200;flex-direction:column;gap:9px;display:flex;position:fixed;bottom:18px;right:18px}.toast{background:var(--surface-elevated);min-width:280px;max-width:420px;color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:13px;align-items:center;gap:9px;padding:12px;display:flex}.toast-success>svg{color:var(--success)}.toast-error>svg{color:var(--danger)}.toast span{flex:1;font-size:12px}.auth-page{grid-template-columns:1.1fr .9fr;min-height:100vh;display:grid}.auth-hero{color:var(--color-text);background:radial-gradient(circle at 20% 20%,#aaf0ab6b,#0000 34%),linear-gradient(145deg,#f6faf5,#e8f2e7 58%,#d9eed8);place-items:center;padding:60px;display:grid}.auth-hero-content{max-width:650px}.auth-logo{margin-bottom:30px}.auth-hero .eyebrow{color:var(--color-primary)}.auth-hero h1{margin:12px 0 18px;font-size:clamp(42px,6vw,72px);line-height:1.02}.auth-hero p{color:var(--muted);font-size:17px}.auth-features{gap:12px;margin-top:34px;display:grid}.auth-features>div{color:var(--muted);align-items:center;gap:10px;display:flex}.auth-panel{background:var(--bg);place-items:center;padding:35px;display:grid}.auth-card{background:var(--surface);border:1px solid var(--border);width:min(100%,440px);box-shadow:var(--shadow);border-radius:22px;flex-direction:column;gap:17px;padding:28px;display:flex}.auth-card-header{align-items:center;gap:12px;margin-bottom:7px;display:flex}.auth-card-header span{color:var(--muted);font-size:11px}.auth-card-header h2{margin:3px 0 0}.auth-switch{text-align:center;color:var(--muted);margin:2px 0 0;font-size:12px}.auth-switch button{color:var(--primary-strong);background:0 0;border:0;font-weight:700}.settings-grid{grid-template-columns:1.2fr .8fr;gap:18px;display:grid}.full-settings-card{grid-column:1/-1}.settings-section-title{align-items:flex-start;gap:11px;margin-bottom:20px;display:flex}.settings-section-title svg{color:var(--primary-strong)}.settings-section-title h3{margin:0 0 3px}.settings-section-title p{color:var(--muted);margin:0;font-size:12px}.setting-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;padding:14px 0;display:flex}.setting-row p{color:var(--muted);margin:3px 0 0;font-size:12px}.backup-actions{justify-content:space-between;align-items:center;gap:16px;display:flex}.import-control{align-items:center;gap:9px;display:flex}.calendar-actions{flex-wrap:wrap;gap:10px;display:flex}.calendar-shell{border:1px solid var(--border);box-shadow:var(--shadow-soft);background:#fff;border-radius:24px;padding:18px}.calendar-month-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.calendar-month-header div{text-align:center}.calendar-month-header span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:800}.calendar-month-header h3{text-transform:capitalize;color:#1c281d;margin:4px 0 0;font-size:24px}.calendar-grid{border:1px solid var(--border);background:#f4f8f3;border-radius:18px;grid-template-columns:58px repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.calendar-week-label,.calendar-day-name{background:color-mix(in srgb, var(--accent-soft) 18%, white);color:var(--muted);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.06em;text-align:center;padding:12px 10px;font-size:11px;font-weight:800}.calendar-week-row{display:contents}.calendar-week-number{color:#1c281d;background:color-mix(in srgb, var(--accent-mint) 55%, white);border-bottom:1px solid var(--border);place-items:start center;padding-top:16px;font-size:12px;font-weight:800;display:grid}.calendar-day{border:0;border-left:1px solid var(--border);border-bottom:1px solid var(--border);min-height:132px;color:var(--text);text-align:left;background:#fff;flex-direction:column;gap:9px;padding:12px;transition:all .2s;display:flex}.calendar-day:hover{background:#fbfdfb}.calendar-day.outside{opacity:.58;color:#8b9a8b;background:#f6faf5}.calendar-day.today{outline:2px solid var(--accent-deep);outline-offset:-2px;background:color-mix(in srgb, var(--accent-mint) 18%, white)}.calendar-day-number{color:var(--text);font-size:24px;font-weight:800;line-height:1}.calendar-mobile-date{display:none}.calendar-shifts{gap:7px;display:grid}.shift-badge{--shift-color:var(--primary);color:#1c281d;background:color-mix(in srgb, var(--shift-color) 30%, white);border-left:4px solid var(--shift-color);box-shadow:none;border-radius:12px;gap:2px;padding:8px 9px;display:grid}.shift-badge strong{letter-spacing:.04em;font-size:11px}.shift-badge span,.shift-badge small{font-size:11px}.shift-badge small{opacity:.76;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shift-day_off{color:#151914}.checkbox-field{flex-direction:row;align-items:center;gap:10px;padding:10px 0}.checkbox-field input{width:auto}.split-actions{grid-template-columns:auto 1fr auto auto;align-items:center;display:grid}.danger-text{color:var(--danger)!important}.calendar-summary-card{margin-top:4px}.calendar-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.calendar-summary-tile,.calendar-summary-list{border:1px solid var(--border);background:#fbfdfb;border-radius:16px;padding:16px}.calendar-summary-tile:first-child{background:var(--accent-mint-wash)}.calendar-summary-tile:nth-child(2){background:var(--accent-soft-wash)}.calendar-summary-list{background:var(--accent-medium-wash)}.calendar-summary-tile{gap:7px;display:grid}.calendar-summary-tile svg{color:var(--primary)}.calendar-summary-tile span,.calendar-summary-list>span{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-size:11px;font-weight:800}.calendar-summary-tile strong{font-size:18px}.calendar-summary-tile p,.calendar-summary-list p{color:var(--muted);margin:0;font-size:12px}.calendar-summary-list{gap:10px;display:grid}.calendar-summary-list div{border-bottom:1px solid var(--border);padding-bottom:9px}.calendar-summary-list div:last-child{border-bottom:0;padding-bottom:0}@media (width<=1120px){.stats-grid,.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-page{grid-template-columns:1fr}.auth-hero{min-height:52vh;padding:45px 30px}.auth-panel{padding:28px 20px 50px}}@media (width<=820px){.sidebar{box-shadow:var(--shadow);transition:transform .25s;transform:translate(-100%)}.sidebar-open{transform:translate(0)}.sidebar-close{display:inline-grid!important}.sidebar-overlay{z-index:35;background:#1c281d38;border:0;position:fixed;inset:0}.main-area{width:100%;margin-left:0}.mobile-menu{display:inline-grid}.topbar{padding:0 16px}.page-content{padding:20px 16px}.search-trigger{justify-content:center;width:42px;min-width:42px;padding:0}.search-trigger span,.search-trigger kbd{display:none}.dashboard-grid,.two-column-list,.settings-grid{grid-template-columns:1fr}.full-settings-card{grid-column:auto}.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-heading,.welcome-card{flex-direction:column;align-items:flex-start}.toolbar-card{flex-direction:column;align-items:stretch}.search-field{min-width:0}.segmented{overflow-x:auto}.backup-actions,.import-control{flex-direction:column;align-items:stretch}.chat-layout{height:calc(100vh - 116px)}.calendar-summary-grid{grid-template-columns:1fr}.calendar-grid{background:0 0;border:0;flex-direction:column;gap:10px;display:flex}.calendar-week-label,.calendar-day-name,.calendar-week-number{display:none}.calendar-week-row{gap:10px;display:grid}.calendar-day{border:1px solid var(--border);background:var(--surface);border-radius:16px;min-height:auto}.calendar-day.outside,.calendar-day-number{display:none}.calendar-mobile-date{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:800;display:block}}@media (width<=560px){.topbar-title>div span{display:none}.topbar-title h1{font-size:16px}.stats-grid,.stats-grid.three,.cards-grid,.form-grid{grid-template-columns:1fr}.full-span{grid-column:auto}.button-group{width:100%}.button-group .button{flex:1}.finance-row{grid-template-columns:38px 1fr auto}.finance-row>.item-actions{grid-column:2/-1;justify-content:flex-end}.suggestion-grid{grid-template-columns:1fr}.message-bubble{max-width:84%}.chat-messages{padding:16px 11px}.auth-hero{min-height:auto;padding:36px 22px}.auth-hero h1{font-size:40px}.auth-features{display:none}.auth-panel{padding:18px 12px 35px}.auth-card{padding:21px 17px}.toast-stack{bottom:12px;left:12px;right:12px}.toast{width:100%;min-width:0}.calendar-actions,.calendar-month-header{align-items:stretch}.calendar-actions{width:100%}.calendar-actions .button{flex:1}.calendar-month-header h3{font-size:19px}.calendar-shell{border-radius:18px;padding:12px}.split-actions{grid-template-columns:1fr}}.member-select-page{background:radial-gradient(circle at top, #e8f8e8, transparent 42%), var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.member-select-card{background:var(--surface);border:1px solid var(--border);width:min(560px,100%);box-shadow:var(--shadow);text-align:center;border-radius:26px;padding:34px}.member-select-card h1{margin:10px 0 8px;font-size:clamp(28px,6vw,42px)}.member-select-card p{color:var(--muted);margin-bottom:24px}.member-select-card .brand-mark{margin:0 auto 14px}.member-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.member-card-option{border:1px solid var(--border);background:var(--surface-soft);color:var(--text);border-radius:18px;justify-items:center;gap:10px;padding:22px 16px;transition:all .2s;display:grid}.member-card-option:hover{border-color:var(--primary);box-shadow:var(--shadow-soft);transform:translateY(-2px)}.member-avatar{background:var(--primary-soft);width:52px;height:52px;color:var(--primary-strong);border-radius:18px;place-items:center;font-size:22px;font-weight:800;display:grid}@media (width<=560px){.member-card-grid{grid-template-columns:1fr}}.message-author{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;font-size:11px;font-weight:800;display:block}
