@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--bg-color:#0d0f12;--bg-gradient:radial-gradient(circle at top left, #1a1c23, #0d0f12);--surface-color:#1e212899;--surface-hover:#2d3037cc;--border-color:#ffffff14;--primary-color:#6366f1;--primary-hover:#818cf8;--secondary-color:#10b981;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--transition-fast:.15s ease;--transition-normal:.3s ease;--transition-bounce:.4s cubic-bezier(.175, .885, .32, 1.275);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 1px 2px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-glow:0 0 20px #6366f133}[data-theme=dark]{--bg-color:#0d0f12;--bg-gradient:radial-gradient(circle at top left, #1a1c23, #0d0f12);--surface-color:#1e212899;--surface-hover:#2d3037cc;--border-color:#ffffff14;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b}[data-theme=light]{--bg-color:#f8fafc;--bg-gradient:radial-gradient(circle at top left, #fff, #f1f5f9);--surface-color:#ffffffb3;--surface-hover:#ffffffe6;--border-color:#00000014;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--shadow-sm:0 1px 3px #0000001a;--shadow-md:0 4px 6px -1px #00000014;--shadow-lg:0 10px 15px -3px #0000000d}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-color);background-image:var(--bg-gradient);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-attachment:fixed;min-height:100vh;line-height:1.5;overflow-x:hidden}a{color:inherit;text-decoration:none}ul{list-style:none}button{cursor:pointer;background:0 0;border:none;outline:none;font-family:inherit}.glass-panel{background:var(--surface-color);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.glass-card{background:var(--surface-color);-webkit-backdrop-filter:blur(8px);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all var(--transition-bounce)}.glass-card:hover{background:var(--surface-hover);box-shadow:var(--shadow-glow);border-color:#ffffff26;transform:translateY(-4px)}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;font-weight:600}.text-gradient{background:linear-gradient(135deg,#818cf8 0%,#c084fc 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.5s forwards fadeIn}.container{max-width:1200px;margin:0 auto;padding:0 24px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0000001a}::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.navbar{z-index:100;border-radius:var(--radius-xl);margin:0 16px;position:sticky;top:16px}.navbar-container{justify-content:space-between;align-items:center;height:72px;padding:0 24px;display:flex}.navbar-logo{align-items:center;gap:12px;text-decoration:none;display:flex}.logo-icon{background:linear-gradient(135deg, var(--primary-color), var(--secondary-color));border-radius:var(--radius-md);color:#fff;justify-content:center;align-items:center;width:40px;height:40px;display:flex;box-shadow:0 0 15px #6366f166}.logo-text{font-size:1.25rem;font-weight:700}.search-container{flex:1;max-width:480px;margin:0 24px;position:relative}.search-input-wrapper{align-items:center;display:flex;position:relative}.search-icon{color:var(--text-muted);position:absolute;left:16px}.search-input{border:1px solid var(--border-color);border-radius:var(--radius-full);width:100%;height:44px;color:var(--text-primary);transition:all var(--transition-normal);background:#0003;padding:0 16px 0 44px;font-family:inherit;font-size:.95rem}.search-input:focus{border-color:var(--primary-color);background:#0006;outline:none;box-shadow:0 0 0 4px #6366f11a}.search-suggestions{z-index:9999;background:var(--suggestions-bg,#1a1d25);border:1px solid var(--border-color);border-radius:var(--radius-md);-webkit-backdrop-filter:none;padding:8px;position:absolute;top:calc(100% + 8px);left:0;right:0;box-shadow:0 16px 40px #0000004d,0 0 0 1px #6366f114}:root,[data-theme=dark]{--suggestions-bg:#1a1d25;--suggestions-item-hover:#ffffff0d}[data-theme=light]{--suggestions-bg:#fff;--suggestions-item-hover:#0000000a}.search-suggestions ul{flex-direction:column;gap:4px;display:flex}.search-suggestions li{border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast);align-items:center;gap:12px;padding:10px 16px;display:flex}.search-suggestions li:hover{background:var(--suggestions-item-hover)}.app-icon{font-size:1.2rem}.search-suggestion-icon{border-radius:var(--radius-sm);border:1px solid var(--border-color);width:32px;height:32px;color:var(--text-secondary);background:#ffffff0f;flex-shrink:0;justify-content:center;align-items:center;display:flex}.no-results{color:var(--text-muted);text-align:center;padding:12px 16px}.profile-container{position:relative}.profile-btn{border-radius:var(--radius-full);transition:all var(--transition-normal);background:#ffffff08;border:1px solid #0000;align-items:center;gap:12px;padding:6px 6px 6px 16px;display:flex}.profile-btn:hover{border-color:var(--border-color);background:#ffffff14}.profile-name{color:var(--text-primary);font-size:.9rem;font-weight:500}.profile-avatar{object-fit:cover;border:2px solid var(--primary-color);border-radius:50%;width:36px;height:36px}.profile-dropdown{z-index:10;width:240px;padding:8px 0;position:absolute;top:calc(100% + 12px);right:0}.dropdown-header{padding:12px 16px}.dropdown-name{font-size:.95rem;font-weight:600}.dropdown-email{color:var(--text-muted);margin-top:2px;font-size:.8rem}.dropdown-divider{background:var(--border-color);height:1px;margin:6px 0}.dropdown-item{width:100%;color:var(--text-secondary);text-align:left;transition:all var(--transition-fast);align-items:center;gap:12px;padding:10px 16px;font-size:.9rem;display:flex}.dropdown-item:hover{color:var(--text-primary);background:#ffffff0d}.dropdown-item.logout{color:#ef4444}.dropdown-item.logout:hover{background:#ef44441a}@media (width<=768px){.search-container,.profile-name{display:none}.profile-btn{padding:6px}.navbar{border-radius:var(--radius-lg);margin:8px}}.app-container{flex-direction:column;min-height:100vh;display:flex}.login-container{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-box{border-radius:var(--radius-xl);width:100%;max-width:440px;padding:40px}.login-header{text-align:center;margin-bottom:32px}.logo-icon-large{width:56px;height:56px;margin:0 auto 24px}.login-header h2{margin-bottom:8px;font-size:1.75rem}.login-header p{color:var(--text-muted);font-size:.95rem}.form-group{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.form-group label{color:var(--text-secondary);font-size:.9rem;font-weight:500}.form-group input{border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;height:48px;color:var(--text-primary);transition:all var(--transition-fast);background:#0003;padding:0 16px;font-family:inherit;font-size:1rem}.form-group input:focus{border-color:var(--primary-color);background:#0006;outline:none;box-shadow:0 0 0 4px #6366f11a}.btn-primary{background:var(--primary-color);color:#fff;border-radius:var(--radius-md);width:100%;height:48px;transition:all var(--transition-fast);font-size:1rem;font-weight:600}.btn-primary:hover{background:var(--primary-hover);box-shadow:var(--shadow-glow);transform:translateY(-2px)}.divider{color:var(--text-muted);align-items:center;margin:32px 0;font-size:.85rem;display:flex}.divider:before,.divider:after{content:"";background:var(--border-color);flex:1;height:1px}.divider span{padding:0 16px}.sso-options{flex-direction:column;gap:12px;display:flex}.btn-sso{border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;height:44px;color:var(--text-primary);transition:all var(--transition-fast);background:#ffffff0d;justify-content:center;align-items:center;gap:12px;font-size:.95rem;font-weight:500;display:flex}.btn-sso:hover{background:#ffffff1a;border-color:#fff3}.btn-sso img,.btn-sso svg{width:20px;height:20px}@media (width<=480px){.login-box{padding:32px 24px}}.home-container{padding-top:48px;padding-bottom:64px}.home-header{text-align:center;margin-bottom:48px}.home-title{margin-bottom:12px;font-size:2.5rem}.home-subtitle{color:var(--text-secondary);font-size:1.1rem}.apps-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;display:grid}.app-card{border-radius:var(--radius-xl);flex-direction:column;min-height:160px;padding:20px;text-decoration:none;display:flex}.app-card-header{border-radius:var(--radius-lg);background:#ffffff0d;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:20px;display:flex}.app-icon-large{stroke-width:1.5px}.text-emerald-500{color:#10b981}.text-indigo-500{color:#6366f1}.text-rose-500{color:#f43f5e}.text-amber-500{color:#f59e0b}.app-card-body h3{color:var(--text-primary);margin-bottom:8px;font-size:1.25rem}.app-card-body p{color:var(--text-muted);font-size:.95rem;line-height:1.5}@media (width<=768px){.home-title{font-size:2rem}.apps-grid{grid-template-columns:repeat(2,1fr);gap:12px}.app-card{min-height:140px;padding:16px}.app-card-header{width:40px;height:40px;margin-bottom:12px}.app-card-body h3{font-size:1rem}.app-card-body p{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.8rem;display:-webkit-box;overflow:hidden}}.admin-container{padding-top:48px;padding-bottom:64px}.admin-header{margin-bottom:40px}.admin-title-wrapper{align-items:center;gap:16px;margin-bottom:8px;display:flex}.admin-stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:32px;display:grid}.stat-card{align-items:center;gap:16px;padding:20px;display:flex}.stat-icon{border-radius:var(--radius-md);width:48px;height:48px;color:var(--primary-color);background:#6366f11a;justify-content:center;align-items:center;display:flex}.stat-label{color:var(--text-muted);font-size:.85rem}.stat-value{font-size:1.5rem;font-weight:700}.users-table-wrapper{padding:8px;overflow-x:auto}.users-table{border-collapse:collapse;text-align:left;width:100%}.users-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color);padding:16px;font-size:.85rem;font-weight:600}.users-table td{border-bottom:1px solid var(--border-color);vertical-align:middle;padding:16px}.user-cell{align-items:center;gap:12px;display:flex}.user-avatar-small{object-fit:cover;border-radius:50%;width:40px;height:40px}.user-name-cell{font-weight:500}.user-email-cell{color:var(--text-muted);font-size:.8rem}.role-badge{border-radius:var(--radius-full);padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-block}.role-badge.admin{color:var(--primary-color);background:#6366f11a}.role-badge.user{color:var(--text-secondary);background:#94a3b81a}.permission-toggle{border-radius:var(--radius-md);width:36px;height:36px;transition:all var(--transition-bounce);justify-content:center;align-items:center;display:flex}.permission-toggle.active{color:#10b981;background:#10b9811a}.permission-toggle.inactive{color:#ef4444;background:#ef44441a}.permission-toggle:hover{transform:scale(1.1)}@media (width<=768px){.admin-stats-grid{grid-template-columns:1fr}}.settings-container{padding-top:48px;padding-bottom:64px}.settings-header{margin-bottom:32px}.settings-title-wrapper{align-items:center;gap:16px;display:flex}.settings-layout{grid-template-columns:280px 1fr;align-items:start;gap:32px;display:grid}.settings-sidebar{padding:12px;position:sticky;top:104px}.sidebar-tab{border-radius:var(--radius-md);width:100%;color:var(--text-secondary);transition:all var(--transition-normal);text-align:left;align-items:center;gap:12px;padding:12px 16px;display:flex}.sidebar-tab:hover{color:var(--text-primary);background:#ffffff0d}.sidebar-tab.active{background:var(--primary-color);color:#fff;box-shadow:0 4px 12px #6366f14d}.tab-icon{justify-content:center;align-items:center;display:flex}.tab-label{flex:1;font-weight:500}.tab-arrow{opacity:.5}.sidebar-tab.active .tab-arrow{opacity:1}.settings-main{min-width:0}.settings-section h2{margin-bottom:8px;font-size:1.75rem}.section-description{color:var(--text-muted);margin-bottom:32px}.settings-group{margin-bottom:24px;padding:24px}.settings-group h3{margin-bottom:4px;font-size:1.1rem}.settings-group p{color:var(--text-muted);margin-bottom:24px;font-size:.9rem}.theme-options{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.theme-card{border-radius:var(--radius-lg);color:var(--text-secondary);transition:all var(--transition-normal);background:#0003;border:2px solid #0000;flex-direction:column;align-items:center;gap:12px;padding:24px;display:flex}.theme-card:hover{color:var(--text-primary);background:#ffffff0d}.theme-card.active{border-color:var(--primary-color);color:var(--primary-color);background:#6366f11a}.coming-soon-icon{background:#ffffff0d;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto;display:flex}@media (width<=992px){.settings-layout{grid-template-columns:1fr}.settings-sidebar{position:static}}@media (width<=640px){.theme-options{grid-template-columns:1fr}}:root{--r-sage:#5f7a61;--r-sage-lt:#8ba48d;--r-forest:#3e4f40;--r-stone:#f5f5f4;--r-cream:#fafaf9;--r-champagne:#e7e5e4;--r-gold:#a89276;--r-lavender:#f5f3ff;--r-peach:#fff7ed;--r-sky:#f0f9ff;--r-yellow:#fefce8;--r-text:#1c1917;--r-text-sub:#44403c;--r-text-muted:#78716c;--r-sidebar-w:250px;--r-radius:20px;--r-radius-sm:12px;--r-shadow:0 10px 30px -5px #0000000d, 0 4px 6px -2px #00000005;--r-glow:0 0 0 3px #a8927626;--r-trans:.3s cubic-bezier(.4, 0, .2, 1)}.recipes-shell{background-color:var(--r-stone);--on-surface:var(--r-text);--on-surface-sub:var(--r-text-sub);--surface-container-low:var(--r-champagne);--outline-variant:var(--r-stone);--primary:var(--r-sage);min-height:calc(100vh - 88px);color:var(--r-text);background-image:radial-gradient(at 0 0,#a892760d 0,#0000 50%),radial-gradient(at 100% 100%,#5f7a610d 0,#0000 50%);display:flex}.recipes-sidebar{width:var(--r-sidebar-w);border-right:1px solid var(--r-champagne);background:#fff;flex-direction:column;flex-shrink:0;gap:8px;height:calc(100vh - 88px);padding:32px 20px;display:flex;position:sticky;top:88px;overflow-y:auto}.recipes-sidebar-header{align-items:center;gap:14px;margin-bottom:12px;padding:0 12px 32px;display:flex}.recipes-sidebar-header .app-logo-icon{background:var(--r-sage);color:#fff;border-radius:14px;justify-content:center;align-items:center;width:42px;height:42px;display:flex;box-shadow:0 8px 16px -4px #5f7a6166}.recipes-sidebar-header h2{color:var(--r-text);letter-spacing:-.03em;font-size:1.15rem;font-weight:800}.recipes-sidebar-header p{color:var(--r-text-muted);font-size:.75rem;font-weight:500}.recipes-nav-item{border-radius:var(--r-radius-sm);color:var(--r-text-sub);transition:all var(--r-trans);align-items:center;gap:12px;padding:12px 16px;font-size:.92rem;font-weight:500;text-decoration:none;display:flex}.recipes-nav-item:hover{background:var(--r-stone);color:var(--r-sage);transform:translate(4px)}.recipes-nav-item.active{background:var(--r-sage);color:#fff;font-weight:600;box-shadow:0 10px 15px -3px #5f7a614d}.recipes-nav-item .nav-icon{transition:all var(--r-trans);justify-content:center;align-items:center;display:flex}.recipes-nav-item.active .nav-icon{transform:scale(1.1)}.recipes-content{flex:1;max-width:1400px;padding:48px;overflow-y:auto}.r-page-header{margin-bottom:40px}.r-page-header h1{color:var(--r-text);letter-spacing:-.04em;font-size:2.25rem;font-weight:800}.r-page-header p{color:var(--r-text-muted);margin-top:8px;font-size:1.05rem}.r-card{border:1px solid var(--r-champagne);border-radius:var(--r-radius);transition:all var(--r-trans);box-shadow:var(--r-shadow);background:#fff;overflow:hidden}.r-card:hover{border-color:var(--r-sage-lt);transform:translateY(-6px);box-shadow:0 20px 25px -5px #00000014}.r-hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.r-hide-scrollbar::-webkit-scrollbar{display:none}.r-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:.72rem;font-weight:700;display:inline-flex}.r-badge-green{color:#065f46;background:#ecfdf5}.r-badge-peach{color:#9a3412;background:#fff7ed}.r-badge-purple{color:#5b21b6;background:#f5f3ff}.r-badge-sky{color:#075985;background:#f0f9ff}.r-badge-yellow{color:#854d0e;background:#fefce8}.r-btn{cursor:pointer;transition:all var(--r-trans);border:none;border-radius:999px;align-items:center;gap:10px;padding:12px 24px;font-size:.9rem;font-weight:700;display:inline-flex}.r-btn-primary{background:var(--r-sage);color:#fff;box-shadow:0 10px 15px -3px #5f7a6133}.r-btn-primary:hover{background:var(--r-forest);transform:translateY(-2px);box-shadow:0 20px 25px -5px #5f7ac540}.r-btn-ghost{color:var(--r-stones-700,#44403c);border:1px solid var(--r-champagne);background:#fff}.r-btn-ghost:hover{background:var(--r-stone);border-color:var(--r-sage)}.r-grid-2{grid-template-columns:repeat(2,1fr);gap:32px;display:grid}.r-grid-3{grid-template-columns:repeat(3,1fr);gap:32px;display:grid}.r-grid-4{grid-template-columns:repeat(4,1fr);gap:24px;display:grid}.r-grid-5{grid-template-columns:repeat(5,1fr);gap:20px;display:grid}@media (width<=1300px){.r-grid-5{grid-template-columns:repeat(3,1fr)}}@media (width<=1100px){.r-grid-4{grid-template-columns:repeat(2,1fr)}}@media (width<=800px){.recipes-content{padding:32px 20px}.r-grid-3{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.recipes-shell{flex-direction:column}.recipes-sidebar{z-index:100;border-right:none;border-top:1px solid var(--r-champagne);background:#fff;flex-direction:row;justify-content:space-between;width:100%;height:auto;padding:10px 16px;position:fixed;top:auto;bottom:0;left:0;box-shadow:0 -10px 30px -5px #0000000d}.recipes-sidebar-header{display:none}.recipes-nav-item{flex:1;justify-content:center;padding:12px}.recipes-nav-item:hover{color:var(--r-sage);background:0 0;transform:none}.recipes-nav-item.active{box-shadow:none;transform:translateY(-3px)}.recipes-nav-item span:not(.nav-icon){display:none}.recipes-content{padding:24px 16px 100px}.r-grid-2,.r-grid-3,.r-grid-4{grid-template-columns:1fr}.r-grid-5{grid-template-columns:repeat(2,1fr);gap:12px}}@keyframes rFadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.r-animate{animation:.6s cubic-bezier(.16,1,.3,1) forwards rFadeUp}@keyframes rSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.r-spin{animation:.9s linear infinite rSpin}.k-dashboard{flex-direction:column;gap:26px;display:flex}.k-dashboard-hero{border:1px solid var(--r-champagne);border-radius:var(--r-radius);box-shadow:var(--r-shadow);background:#fff;grid-template-columns:minmax(0,1fr);gap:18px;padding:28px;display:grid}.k-hero-copy{gap:6px;display:grid}.k-eyebrow{color:var(--r-sage);text-transform:uppercase;letter-spacing:.08em;font-size:.76rem;font-weight:900}.k-dashboard-hero h1{color:var(--r-text);letter-spacing:0;margin:0;font-size:2.05rem;font-weight:850;line-height:1.05}.k-dashboard-hero p{max-width:640px;color:var(--r-text-muted);margin:0;font-size:1rem;line-height:1.45}.k-hero-search{border:1px solid var(--r-champagne);background:var(--r-cream);border-radius:999px;align-items:center;gap:10px;width:min(100%,620px);min-height:48px;padding:6px 6px 6px 14px;display:flex}.k-hero-search svg{color:var(--r-sage);flex:none}.k-hero-search input{min-width:0;color:var(--r-text);background:0 0;border:0;outline:0;flex:1;font-weight:750}.k-hero-search button{background:var(--r-sage);color:#fff;cursor:pointer;border:0;border-radius:999px;min-height:36px;padding:0 16px;font-weight:850}.k-hero-actions{flex-wrap:wrap;gap:10px;display:flex}.k-dashboard-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;align-items:center;gap:10px;padding:13px 15px;font-weight:800;display:flex}.k-main-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.k-access-card{border:1px solid var(--r-champagne);border-radius:var(--r-radius-sm);min-height:210px;color:var(--r-text);box-shadow:var(--r-shadow);background:#fff;flex-direction:column;justify-content:space-between;gap:16px;padding:20px;text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex}.k-access-card:hover{border-color:var(--r-sage-lt);transform:translateY(-3px);box-shadow:0 18px 28px -18px #1c191752}.k-access-top{color:var(--r-text-muted);justify-content:space-between;align-items:center;gap:12px;display:flex}.k-access-icon{border-radius:12px;justify-content:center;align-items:center;width:46px;height:46px;display:inline-flex}.k-access-card.sage .k-access-icon{color:var(--r-sage);background:#eef4ef}.k-access-card.sky .k-access-icon{background:var(--r-sky);color:#075985}.k-access-card.peach .k-access-icon{background:var(--r-peach);color:#9a3412}.k-access-card.yellow .k-access-icon{background:var(--r-yellow);color:#854d0e}.k-access-card h3{color:var(--r-text);letter-spacing:0;margin:0 0 6px;font-size:1.1rem;font-weight:850}.k-access-card p{color:var(--r-text-muted);margin:0;font-size:.9rem;line-height:1.4}.k-access-meta{align-items:baseline;gap:10px;display:flex}.k-access-meta strong{color:var(--r-text);font-size:1.75rem;font-weight:900;line-height:1}.k-access-meta span,.k-access-cta{color:var(--r-text-sub);font-size:.78rem;font-weight:850}.k-access-cta{color:var(--r-sage)}.k-dashboard-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:24px;display:grid}.k-dashboard-main,.k-dashboard-side{flex-direction:column;gap:24px;min-width:0;display:flex}.k-dashboard-section,.k-side-panel{min-width:0}.k-side-panel{border:1px solid var(--r-champagne);border-radius:var(--r-radius-sm);box-shadow:var(--r-shadow);background:#fff;padding:18px}.k-dashboard-section-head{justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.k-dashboard-section-head h2{color:var(--r-text);letter-spacing:0;margin:0;font-size:1.18rem;font-weight:850}.k-dashboard-link{color:var(--r-sage);white-space:nowrap;align-items:center;gap:5px;font-size:.82rem;font-weight:850;text-decoration:none;display:inline-flex}.k-recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.k-recipe-card{border:1px solid var(--r-champagne);border-radius:var(--r-radius-sm);min-width:0;color:var(--r-text);box-shadow:var(--r-shadow);background:#fff;grid-template-columns:124px minmax(0,1fr);gap:14px;padding:10px;text-decoration:none;transition:transform .2s,border-color .2s;display:grid}.k-recipe-card:hover{border-color:var(--r-sage-lt);transform:translateY(-2px)}.k-recipe-image{aspect-ratio:1.2;background:var(--r-stone);min-height:104px;color:var(--r-sage);border-radius:10px;justify-content:center;align-items:center;display:flex;overflow:hidden}.k-recipe-image img,.k-video-thumb img{object-fit:cover;width:100%;height:100%;display:block}.k-recipe-content{flex-direction:column;justify-content:space-between;gap:12px;min-width:0;padding:4px 2px;display:flex}.k-recipe-content h3,.k-video-main h3,.k-shopping-row h3{color:var(--r-text);letter-spacing:0;margin:0;font-size:.98rem;font-weight:850;line-height:1.25}.k-recipe-content p,.k-video-main p,.k-shopping-row p{color:var(--r-text-muted);margin:4px 0 0;font-size:.8rem;font-weight:750}.k-chip-row{flex-wrap:wrap;gap:6px;display:flex}.k-chip-row span,.k-soft-badge{min-height:24px;color:var(--r-forest);background:#eef4ef;border-radius:999px;align-items:center;gap:4px;padding:4px 8px;font-size:.7rem;font-weight:850;display:inline-flex}.k-video-list,.k-shopping-list,.k-activity-list,.k-quick-actions{flex-direction:column;gap:10px;display:flex}.k-video-row{border:1px solid var(--r-champagne);border-radius:var(--r-radius-sm);min-width:0;box-shadow:var(--r-shadow);background:#fff;grid-template-columns:96px minmax(0,1fr) 36px;align-items:center;gap:12px;padding:10px;display:grid}.k-video-thumb{aspect-ratio:16/9;color:#b91c1c;background:#fef2f2;border-radius:9px;justify-content:center;align-items:center;display:flex;overflow:hidden}.k-video-main{min-width:0}.k-video-main h3{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.k-video-row>a{background:var(--r-stone);width:34px;height:34px;color:var(--r-text-sub);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.k-activity-list a,.k-quick-actions a,.k-shopping-row{border:1px solid var(--r-champagne);background:var(--r-cream);color:var(--r-text-sub);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:11px 12px;font-size:.86rem;font-weight:850;text-decoration:none;display:flex}.k-activity-list a,.k-quick-actions a{justify-content:flex-start}.k-shopping-row span{color:var(--r-sage);white-space:nowrap;font-size:.78rem;font-weight:900}.k-panel-actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.k-empty-action,.k-dashboard-empty a{color:var(--r-sage);font-weight:850;text-decoration:none}.k-dashboard-empty{border:1px dashed var(--r-champagne);border-radius:var(--r-radius-sm);min-height:150px;color:var(--r-text-muted);text-align:center;background:#ffffffa6;place-items:center;gap:9px;padding:22px;display:grid}.k-dashboard-empty span{width:42px;height:42px;color:var(--r-sage);background:#eef4ef;border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.k-dashboard-empty p{margin:0;font-weight:800;line-height:1.35}.k-skeleton{border-radius:var(--r-radius-sm);background:linear-gradient(90deg,#efefed 0%,#fafaf9 45%,#efefed 90%) 0 0/200% 100%;animation:1.2s ease-in-out infinite kSkeleton}.k-skeleton.hero{border-radius:var(--r-radius);height:210px}.k-skeleton.card{height:210px}.k-skeleton.block{height:290px}.k-skeleton.block.short{height:230px}.k-skeleton.side{height:180px}@keyframes kSkeleton{0%{background-position:100% 0}to{background-position:-100% 0}}@media (width<=1180px){.k-main-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.k-dashboard-layout{grid-template-columns:1fr}.k-dashboard-side{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.k-dashboard-side .k-side-panel:last-child{grid-column:1/-1}}@media (width<=760px){.k-dashboard{gap:20px}.k-dashboard-hero{padding:22px}.k-hero-search{border-radius:14px;flex-wrap:wrap}.k-hero-search button{width:100%}.k-recipe-grid,.k-dashboard-side{grid-template-columns:1fr}.k-dashboard-side .k-side-panel:last-child{grid-column:auto}}@media (width<=560px){.k-dashboard-hero h1{font-size:1.75rem}.k-main-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.k-access-card{min-height:190px;padding:15px}.k-access-meta{gap:4px;display:grid}.k-recipe-card{grid-template-columns:88px minmax(0,1fr);gap:10px;padding:8px}.k-recipe-image{aspect-ratio:1;border-radius:8px;min-height:76px}.k-recipe-content{gap:8px;padding:1px 0}.k-recipe-content h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.88rem;line-height:1.18;display:-webkit-box;overflow:hidden}.k-recipe-content p{margin-top:2px;font-size:.72rem}.k-chip-row{gap:4px}.k-chip-row span{min-height:20px;padding:3px 6px;font-size:.64rem}.k-chip-row span:nth-child(n+3){display:none}.k-video-row{grid-template-columns:82px minmax(0,1fr) 32px}.k-hero-actions .r-btn{justify-content:center;width:100%}}.shopping-page{flex-direction:column;gap:22px;display:flex}.shopping-header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.shopping-header h1{color:var(--on-surface);margin:0;font-size:2.1rem;font-weight:900}.shopping-header p{color:var(--on-surface-sub);margin:8px 0 0;font-weight:650}.shopping-new-list,.shopping-toolbar,.shopping-modal-footer{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.shopping-card-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;gap:18px;display:grid}.shopping-list-tile{border:1px solid var(--r-champagne);min-height:360px;box-shadow:var(--r-shadow);cursor:pointer;background:#fff;border-radius:16px;flex-direction:column;gap:14px;padding:18px;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex}.shopping-list-tile:hover{border-color:var(--primary);transform:translateY(-3px);box-shadow:0 18px 38px #0f172a17}.shopping-tile-head{justify-content:space-between;align-items:flex-start;gap:12px;min-height:78px;display:flex}.shopping-tile-title-row{grid-template-columns:44px minmax(0,1fr);align-items:start;gap:12px;min-width:0;display:grid}.shopping-tile-head h2{color:var(--on-surface);overflow-wrap:anywhere;margin:0;font-size:1.15rem;font-weight:900}.shopping-tile-head p{margin:6px 0 0;font-size:.85rem;font-weight:900}.shopping-tile-head p.pending{color:#d97706}.shopping-tile-head p.complete{color:#047857}.shopping-updated{color:var(--on-surface-sub);text-align:right;font-size:.72rem;font-weight:750}.shopping-tile-side-actions{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:9px;display:flex}.shopping-card-items{flex-direction:column;flex:1;gap:8px;min-height:180px;display:flex}.shopping-card-item{color:var(--on-surface);cursor:pointer;background:#fbfcfb;border:1px solid #edf0ec;border-radius:11px;grid-template-columns:34px minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:9px;font-size:.9rem;font-weight:800;transition:border-color .18s,background .18s;display:grid}.shopping-card-item:hover{background:#f7faf6;border-color:#5f7a6161}.shopping-card-item>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.shopping-card-item-name,.shopping-modal-item-name{align-items:center;gap:9px;min-width:0;display:inline-flex}.shopping-card-item-name>span:last-child,.shopping-modal-item-name>span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.shopping-item-thumb{color:#5f7a61;background:#eef5ed;border:1px solid #e3e8e2;border-radius:10px;flex:0 0 30px;justify-content:center;align-items:center;width:30px;height:30px;font-size:.78rem;font-weight:950;text-decoration:none;display:inline-flex;overflow:hidden}.shopping-item-thumb.has-image{background:#f6f8f5}.shopping-item-thumb img{object-fit:contain;width:23px;height:23px;display:block}.shopping-card-item .shopping-note-info{color:#d97706;background:#fff7ed;border:1px solid #d9770638;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex;position:relative;overflow:visible}.shopping-card-item .shopping-note-info>span{z-index:40;color:#17201b;white-space:normal;background:#fff;border:1px solid #e7e0d7;border-radius:12px;width:min(240px,70vw);padding:10px 12px;font-size:.78rem;font-weight:750;line-height:1.35;display:none;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 16px 34px #0f172a29}.shopping-card-item .shopping-note-info:hover>span,.shopping-card-item .shopping-note-info:focus>span{display:block}.shopping-card-item strong{color:var(--primary);white-space:nowrap;font-size:.82rem}.shopping-card-item.checked{opacity:.58}.shopping-card-item.checked .shopping-card-item-name>span:last-child{text-decoration:line-through}.shopping-card-empty,.shopping-empty{border:1px dashed var(--r-champagne);color:var(--on-surface-sub);text-align:center;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:28px 16px;font-weight:750;display:flex}.shopping-card-empty{min-height:120px}.shopping-empty.error{color:#b91c1c;border-color:#fecaca}.shopping-empty.success{color:#047857;border-color:#bbf7d0}.shopping-mini-check,.shopping-check{border:2px solid var(--primary);color:var(--primary);cursor:pointer;background:#fff;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.shopping-mini-check{border-radius:9px;width:28px;height:28px}.shopping-check{color:#5f7a61;background:#fff;border-color:#5f7a61;border-radius:12px;width:42px;height:42px;position:relative;box-shadow:0 4px 10px #0f172a14}.shopping-item.checked .shopping-check{color:#fff;background:#5f7a61;border-color:#5f7a61;box-shadow:0 6px 14px #5f7a613d}.shopping-round-btn,.shopping-finish-check,.shopping-icon-btn,.shopping-modal-close{border:1px solid var(--outline-variant);color:var(--on-surface-sub);cursor:pointer;background:#fff;justify-content:center;align-items:center;display:inline-flex}.shopping-round-btn{width:42px;height:42px;color:var(--primary);border-radius:14px}.shopping-finish-check{width:42px;height:42px;color:var(--primary);border:2px solid var(--primary);border-radius:50%;margin-top:2px;transition:background .2s,color .2s,transform .2s}.shopping-finish-check:hover{background:var(--primary);color:#fff;transform:scale(1.04)}.shopping-input,.shopping-select,.shopping-textarea,.shopping-title-input{width:100%;color:var(--on-surface);background:#fff;border:1px solid #d9ded9;border-radius:10px;outline:none;padding:11px 12px;font-weight:750}.shopping-new-list .shopping-input{width:min(240px,100%)}.shopping-textarea{resize:vertical;min-height:42px}.shopping-title-input{margin-top:8px;font-size:1.45rem;font-weight:900}.shopping-field-label{color:#53615a;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:.72rem;font-weight:900;display:block}.shopping-ingredient-picker,.shopping-quantity-field,.shopping-select-field{min-width:0;position:relative}.shopping-search-input,.shopping-select-shell,.shopping-unit-trigger{color:#53615a;background:linear-gradient(#fff 0%,#fbfdfb 100%);border:1px solid #cfd7d0;border-radius:13px;align-items:center;gap:9px;min-height:46px;display:flex;box-shadow:0 8px 18px #0f172a0d}.shopping-search-input{padding:0 12px}.shopping-search-input.selected{border-color:#5f7a617a;box-shadow:0 0 0 3px #5f7a611a}.shopping-search-input input{color:#17201b;background:0 0;border:0;outline:none;flex:1;min-width:0;font-weight:850}.shopping-search-input input::placeholder{color:#728077}.shopping-ingredient-menu{z-index:80;background:#fff;border:1px solid #d7ddd8;border-radius:14px;max-height:260px;padding:8px;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:auto;box-shadow:0 20px 42px #0f172a2e}.shopping-ingredient-menu button{color:#17201b;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;width:100%;min-height:40px;padding:7px 8px;display:flex}.shopping-ingredient-menu button:hover{background:#f4f7f2}.shopping-ingredient-menu button span{color:#5f7a61;background:#eef5ed;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.78rem;font-weight:900;display:inline-flex}.shopping-ingredient-menu button span.ingredient-thumb{background:#f6f8f5;border:1px solid #e3e8e2;border-radius:11px;width:34px;height:34px;overflow:hidden}.shopping-ingredient-menu button span.ingredient-thumb img{object-fit:contain;width:25px;height:25px;display:block}.shopping-ingredient-menu button.custom span{color:#d97706;background:#fff7ed}.shopping-ingredient-menu button strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.86rem;overflow:hidden}.shopping-select-shell{padding-right:10px;position:relative}.shopping-select-shell.legacy{display:none}.shopping-unit-picker{position:relative}.shopping-unit-trigger{cursor:pointer;text-align:left;border:1px solid #cfd7d0;width:100%;padding:0 10px 0 8px}.shopping-unit-trigger strong{text-overflow:ellipsis;white-space:nowrap;color:#17201b;flex:1;min-width:0;font-size:.9rem;font-weight:900;overflow:hidden}.shopping-unit-trigger svg{color:#5f7a61;flex-shrink:0;transition:transform .2s}.shopping-unit-picker.open .shopping-unit-trigger{border-color:#5f7a6185;box-shadow:0 0 0 3px #5f7a611a}.shopping-unit-picker.open .shopping-unit-trigger svg{transform:rotate(180deg)}.unit-token{color:#5f7a61;text-transform:lowercase;background:#eef5ed;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:30px;font-size:.76rem;font-weight:950;display:inline-flex}.shopping-unit-menu{z-index:75;background:#fff;border:1px solid #d7ddd8;border-radius:14px;max-height:250px;padding:8px;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:auto;box-shadow:0 20px 42px #0f172a2e}.shopping-unit-menu button{color:#17201b;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:11px;align-items:center;gap:10px;width:100%;min-height:42px;padding:7px 8px;display:flex}.shopping-unit-menu button:hover,.shopping-unit-menu button.selected{background:#f4f7f2}.shopping-unit-menu button.selected .unit-token{color:#fff;background:#5f7a61}.shopping-unit-menu button strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.86rem;font-weight:900;overflow:hidden}.shopping-select-shell .shopping-select{min-height:44px;box-shadow:none;appearance:none;color:#17201b;cursor:pointer;background:0 0;border:0;padding-right:4px}.shopping-select-shell svg{color:#5f7a61;pointer-events:none;flex-shrink:0}.shopping-add-form{border:1px solid var(--outline-variant);background:#f8faf8;border-radius:14px;grid-template-columns:minmax(190px,1.4fr) minmax(92px,.48fr) minmax(136px,.72fr) auto 48px;align-items:end;gap:10px;padding:14px;display:grid;overflow:visible}.shopping-add-form.compact{grid-template-columns:minmax(0,1fr) 46px 48px;padding:10px}.shopping-add-form.compact .shopping-ingredient-picker,.shopping-add-form.compact .shopping-quantity-field,.shopping-add-form.compact .shopping-select-field{grid-column:1/-1}.shopping-add-form.compact .shopping-note-toggle{grid-column:2;margin-top:0}.shopping-add-form.compact .shopping-add-submit{grid-column:3;margin-top:0}.shopping-note-toggle{color:#53615a;cursor:pointer;background:#fff;border:1px solid #cfd7d0;border-radius:13px;justify-content:center;align-self:end;align-items:center;width:46px;height:46px;display:inline-flex}.shopping-note-toggle:hover,.shopping-note-toggle.active{color:#5f7a61;background:#f4f7f2;border-color:#5f7a6185}.shopping-add-submit{color:#fff;cursor:pointer;background:#5f7a61;border:0;border-radius:14px;justify-content:center;align-self:end;align-items:center;width:48px;height:46px;display:inline-flex;box-shadow:0 10px 18px #5f7a6133}.shopping-add-submit:hover{background:#3e4f40}.shopping-add-form .wide{grid-column:1/-1}.shopping-draft-items{flex-direction:column;gap:8px;display:flex}.shopping-draft-items .shopping-card-item{grid-template-columns:minmax(0,1fr) auto 38px}.shopping-modal-backdrop{z-index:9999;background:#0f172a70;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.shopping-confirm-backdrop{z-index:10000;background:#0f172a75;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.shopping-confirm{color:#17201b;border:1px solid var(--r-champagne);background:#fff;border-radius:18px;flex-direction:column;gap:14px;width:min(430px,100%);padding:28px;display:flex;position:relative;box-shadow:0 28px 70px #0f172a3d}.shopping-confirm h2{color:#17201b;margin:0;font-size:1.35rem;font-weight:900}.shopping-confirm p{color:#53615a;margin:0;font-weight:700;line-height:1.55}.shopping-confirm-icon{width:54px;height:54px;color:var(--primary);background:#eef5ed;border-radius:50%;justify-content:center;align-items:center;display:flex}.shopping-modal{color:#17201b;border:1px solid var(--r-champagne);background:#fff;border-radius:18px;flex-direction:column;gap:16px;width:min(920px,100%);max-height:min(86vh,860px);padding:24px;display:flex;position:relative;overflow:auto;box-shadow:0 28px 70px #0f172a3d}.shopping-modal-close{color:#53615a;background:#fff;border-radius:12px;width:38px;height:38px;position:absolute;top:14px;right:14px}.shopping-modal-header{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px;padding-right:46px;display:grid}.shopping-delete-list-btn{color:#dc2626;cursor:pointer;background:#fff1f2;border:1px solid #fecaca;border-radius:13px;justify-content:center;place-self:end;align-items:center;width:42px;height:42px;transition:background .16s,border-color .16s,transform .16s;display:inline-flex}.shopping-delete-list-btn:hover{background:#fee2e2;border-color:#fca5a5;transform:translateY(-1px)}.shopping-confirm.danger .shopping-confirm-icon{color:#dc2626;background:#fff1f2}.shopping-danger-action{color:#fff;background:#dc2626;border:1px solid #dc2626}.shopping-danger-action:hover{background:#b91c1c;border-color:#b91c1c}.shopping-section-title{color:#53615a;text-transform:uppercase;letter-spacing:.06em;font-size:.76rem;font-weight:900}.shopping-items{flex-direction:column;gap:10px;display:flex}.shopping-item{border:1px solid var(--outline-variant);color:#17201b;background:#fff;border-radius:14px;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px;display:grid}.shopping-item.checked{opacity:.72;background:#f7f8f6}.shopping-item.checked .shopping-modal-item-name>span:last-child{text-decoration:line-through}.shopping-item-main{min-width:0}.shopping-item-title{color:#17201b;flex-wrap:wrap;align-items:center;gap:8px;font-weight:900;display:flex}.shopping-qty{color:var(--primary);white-space:nowrap}.shopping-note{color:#53615a;margin-top:5px;font-size:.84rem;font-weight:650}.shopping-origin{color:var(--primary);background:#f4f7f2;border-radius:999px;align-items:center;gap:5px;padding:4px 8px;font-size:.72rem;font-weight:900;display:inline-flex;position:relative}.shopping-origin-popover{z-index:30;border:1px solid var(--r-champagne);min-width:240px;max-width:320px;color:var(--on-surface);background:#fff;border-radius:12px;padding:10px;display:none;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 18px 40px #0f172a29}.shopping-origin:hover .shopping-origin-popover,.shopping-origin:focus-within .shopping-origin-popover{display:block}.shopping-source-row{border-bottom:1px solid #eef1ed;justify-content:space-between;gap:12px;padding:6px 0;font-size:.78rem;display:flex}.shopping-source-row:last-child{border-bottom:0}.shopping-actions{align-items:center;gap:6px;display:flex}.shopping-icon-btn{color:#53615a;background:#fff;border-radius:10px;width:36px;height:36px}.shopping-edit{grid-column:2/-1;grid-template-columns:minmax(120px,1fr) minmax(100px,.8fr);gap:10px;display:grid}.shopping-edit .wide{grid-column:1/-1}.shopping-modal-footer{border-top:1px solid var(--outline-variant);justify-content:flex-end;padding-top:8px}.shopping-modal .shopping-input,.shopping-modal .shopping-select,.shopping-modal .shopping-textarea,.shopping-modal .shopping-title-input,.shopping-confirm .shopping-input,.shopping-confirm .shopping-select,.shopping-confirm .shopping-textarea{color:#17201b;background:#fff;border-color:#cfd7d0}.shopping-modal .shopping-input::placeholder,.shopping-modal .shopping-textarea::placeholder,.shopping-confirm .shopping-input::placeholder,.shopping-confirm .shopping-textarea::placeholder{color:#6b766e}.shopping-modal .r-btn-primary,.shopping-confirm .r-btn-primary{color:#fff;background:#5f7a61}.shopping-modal .r-btn-ghost,.shopping-confirm .r-btn-ghost{color:#17201b;background:#fff;border:1px solid #cfd7d0}@media (width<=760px){.shopping-header,.shopping-modal-header{flex-direction:column;grid-template-columns:1fr}.shopping-modal-header{padding-right:46px}.shopping-delete-list-btn{justify-self:end}.shopping-new-list,.shopping-new-list .shopping-input{width:100%}.shopping-card-grid,.shopping-add-form,.shopping-add-form.compact,.shopping-edit{grid-template-columns:1fr}.shopping-add-form.compact{grid-template-columns:minmax(0,1fr) 46px 48px}.shopping-add-form.compact .shopping-ingredient-picker,.shopping-add-form.compact .shopping-quantity-field,.shopping-add-form.compact .shopping-select-field{grid-column:1/-1}.shopping-add-form.compact .shopping-note-toggle{grid-area:auto/2;margin-top:0}.shopping-add-form.compact .shopping-add-submit{grid-area:auto/3;margin-top:0}.shopping-add-form.compact .shopping-select,.shopping-add-form.compact .r-btn{grid-area:auto}.shopping-modal-backdrop{align-items:stretch;padding:10px}.shopping-modal{height:calc(100vh - 20px);max-height:none;padding:18px}.shopping-item{grid-template-columns:48px minmax(0,1fr)}.shopping-actions{flex-wrap:wrap;grid-column:2;justify-content:flex-start}.shopping-edit{grid-column:1/-1}}.mk-admin{color:var(--r-text)}.mk-admin-header{align-items:center;gap:14px;margin-bottom:28px;display:flex}.mk-admin-header p{color:var(--r-sage);text-transform:uppercase;letter-spacing:.08em;margin:0 0 3px;font-size:.78rem;font-weight:900}.mk-admin-header h1{color:var(--r-text);letter-spacing:0;margin:0;font-size:2rem;font-weight:850}.mk-title-icon{background:var(--r-sage);color:#fff;border-radius:8px;justify-content:center;align-items:center;width:48px;height:48px;display:flex;box-shadow:0 12px 20px -10px #5f7a61a6}.mk-admin-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:18px;display:grid}.mk-admin-tabs,.mk-hierarchy-sidebar{border:1px solid var(--r-champagne);box-shadow:var(--r-shadow);background:#fff;border-radius:8px;padding:8px}.mk-admin-tabs{flex-wrap:wrap;gap:6px;display:flex}.mk-admin-tabs button,.mk-subtabs button,.mk-type-row{width:100%;color:var(--r-text-sub);cursor:pointer;background:0 0;border:0;border-radius:8px;font-weight:800;transition:background .2s,color .2s}.mk-admin-tabs button{text-align:center;white-space:nowrap;justify-content:center;align-items:center;gap:10px;width:auto;min-height:42px;padding:10px 14px;display:flex}.mk-admin-tabs button:hover,.mk-subtabs button:hover,.mk-type-row:hover{background:var(--r-stone);color:var(--r-sage)}.mk-admin-tabs button.active,.mk-subtabs button.active,.mk-type-row.active{background:var(--r-sage);color:#fff}.mk-section{min-width:0}.mk-section-header,.mk-list-heading{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.mk-section-header h1,.mk-list-heading h2{color:var(--r-text);letter-spacing:0;margin:0;font-size:1.45rem;font-weight:850}.mk-section-header p,.mk-list-heading p{color:var(--r-text-muted);margin:5px 0 0;line-height:1.45}.mk-primary-btn,.mk-ghost-btn,.mk-row-actions button,.mk-modal-header button,.mk-hierarchy-title button,.mk-error button{cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;font-weight:850;transition:background .2s,color .2s,transform .2s;display:inline-flex}.mk-primary-btn{background:var(--r-sage);color:#fff;min-height:40px;padding:0 14px;box-shadow:0 10px 18px -12px #5f7a61bf}.mk-primary-btn:disabled{opacity:.5;cursor:not-allowed}.mk-primary-btn:not(:disabled):hover{background:var(--r-forest);transform:translateY(-1px)}.mk-ghost-btn{color:var(--r-text-sub);border:1px solid var(--r-champagne);background:#fff;min-height:40px;padding:0 13px}.mk-ghost-btn:hover{background:var(--r-stone);color:var(--r-sage)}.mk-toolbar{grid-template-columns:minmax(220px,1fr) 210px 160px 220px;gap:12px;margin-bottom:16px;display:grid}.mk-search,.mk-field input,.mk-field select{border:1px solid var(--r-champagne);color:var(--r-text);background:#fff;border-radius:8px;outline:none;min-height:40px}.mk-search{align-items:center;gap:8px;padding:0 12px;display:flex}.mk-search svg{color:var(--r-sage);flex-shrink:0}.mk-search input{width:100%;color:var(--r-text);border:0;outline:none;font-weight:700}.mk-filter-select{border:1px solid var(--r-champagne);cursor:pointer;background:linear-gradient(#fff 0%,#fbfbfa 100%);border-radius:8px;align-items:center;gap:10px;min-height:44px;padding:7px 10px;transition:border-color .2s,box-shadow .2s,background .2s;display:flex;position:relative;box-shadow:0 8px 18px -14px #1c191773}.mk-filter-select:focus-within,.mk-filter-select:hover,.mk-filter-select.open{border-color:var(--r-sage-lt);box-shadow:0 0 0 3px #5f7a611f}.mk-filter-icon{width:30px;height:30px;color:var(--r-sage);background:#eef4ef;border-radius:8px;flex:0 0 30px;justify-content:center;align-items:center;display:inline-flex}.mk-filter-text{flex:1;gap:1px;min-width:0;display:grid}.mk-filter-text>span{color:var(--r-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.64rem;font-weight:900;line-height:1}.mk-filter-text strong{max-width:100%;color:var(--r-text);text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:850;line-height:1.2;overflow:hidden}.mk-filter-trigger{cursor:pointer;z-index:2;background:0 0;border:0;outline:none;position:absolute;inset:0}.mk-filter-chevron{color:var(--r-text-muted);flex:none;transition:transform .2s}.mk-filter-select.open .mk-filter-chevron{transform:rotate(180deg)}.mk-filter-menu{z-index:30;border:1px solid var(--r-champagne);background:#fff;border-radius:8px;max-height:260px;padding:6px;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto;box-shadow:0 18px 40px -22px #1c19178c,0 8px 18px -14px #1c191759}.mk-filter-option{width:100%;min-height:36px;color:var(--r-text-sub);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:7px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:.86rem;font-weight:800;transition:background .16s,color .16s;display:flex}.mk-filter-option-label{align-items:center;gap:8px;min-width:0;display:inline-flex}.mk-filter-option-label>span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.mk-filter-option-icon{border:1px solid #0000;border-radius:7px;flex:0 0 24px;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.mk-catalog-icon-value{color:var(--r-text-sub);align-items:center;gap:8px;font-weight:800;display:inline-flex}.mk-category-value{max-width:100%;color:var(--r-text)}.mk-category-value strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.86rem;font-weight:850;overflow:hidden}.mk-filter-option:hover{background:var(--r-stone);color:var(--r-sage)}.mk-filter-option.selected{color:var(--r-forest);background:#eef4ef}.mk-form-grid .mk-filter-select{min-height:40px;box-shadow:none}.mk-form-grid .mk-filter-menu{z-index:50}.mk-image-upload{color:var(--r-text-sub);flex-direction:column;gap:7px;font-size:.88rem;font-weight:850;display:flex}.mk-image-upload-box{border:1px dashed var(--r-sage-lt);cursor:pointer;background:#fbfdfb;border-radius:8px;align-items:center;gap:12px;min-height:58px;padding:9px 10px;transition:border-color .2s,box-shadow .2s,background .2s;display:flex}.mk-image-upload-box:hover,.mk-image-upload-box:focus-within{border-color:var(--r-sage);background:#f4f8f4;box-shadow:0 0 0 3px #5f7a611a}.mk-image-upload-box input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.mk-image-preview{border:1px solid var(--r-champagne);width:42px;height:42px;color:var(--r-sage);background:#fff;border-radius:8px;flex:0 0 42px;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.mk-image-preview img{object-fit:contain;width:34px;height:34px;display:block}.mk-image-upload-copy{gap:2px;min-width:0;display:grid}.mk-image-upload-copy strong{color:var(--r-text);font-size:.88rem;line-height:1.15}.mk-image-upload-copy small{color:var(--r-text-muted);font-size:.74rem;font-weight:750}.mk-table-wrap{border:1px solid var(--r-champagne);box-shadow:var(--r-shadow);background:#fff;border-radius:8px;overflow-x:auto}.mk-table{border-collapse:collapse;width:100%;min-width:760px}.mk-table th,.mk-table td{border-bottom:1px solid var(--r-champagne);text-align:left;vertical-align:middle;padding:14px 16px}.mk-table th{color:var(--r-text-muted);text-transform:uppercase;letter-spacing:.05em;background:#fbfbfa;font-size:.76rem;font-weight:900}.mk-table tr:last-child td{border-bottom:0}.mk-muted{color:var(--r-text-muted);font-size:.88rem}.mk-macro-cell{color:var(--r-text-sub);white-space:nowrap;font-size:.86rem;font-weight:750}.mk-code{text-overflow:ellipsis;white-space:nowrap;max-width:150px;color:var(--r-forest);background:var(--r-stone);border-radius:6px;padding:4px 7px;font-size:.78rem;font-weight:800;display:inline-block;overflow:hidden}.mk-ingredient-name-cell{align-items:center;gap:10px;min-width:170px;display:flex}.mk-ingredient-thumb{border:1px solid var(--r-champagne);background:var(--r-cream);border-radius:8px;flex:0 0 38px;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex;overflow:hidden}.mk-ingredient-thumb img{object-fit:contain;width:28px;height:28px;display:block}.mk-ingredient-thumb.empty:before{content:"";background:var(--r-champagne);border-radius:999px;width:12px;height:12px}.mk-chip-row{flex-wrap:wrap;gap:6px;display:flex}.mk-chip,.mk-status-badge{border-radius:999px;align-items:center;font-size:.76rem;font-weight:850;display:inline-flex}.mk-chip{color:var(--r-forest);background:#f4f7f4;border:1px solid #dce7de;padding:5px 9px}.mk-allergen-chip{gap:5px}.mk-status-badge{padding:5px 10px}.mk-status-badge.active{color:#047857;background:#ecfdf5}.mk-status-badge.inactive{color:#64748b;background:#f1f5f9}.mk-row-actions{gap:7px;display:flex}.mk-row-actions button,.mk-modal-header button,.mk-hierarchy-title button,.mk-error button{background:var(--r-stone);width:34px;height:34px;color:var(--r-text-sub)}.mk-row-actions button:hover,.mk-modal-header button:hover,.mk-hierarchy-title button:hover,.mk-error button:hover{background:var(--r-sage);color:#fff}.mk-loading{color:var(--r-sage);align-items:center;gap:8px;font-weight:850;display:inline-flex}.mk-loading svg,.mk-spin{animation:.9s linear infinite mkSpin}.mk-empty{color:var(--r-text-muted);text-align:center;padding:22px;font-weight:750}.mk-empty.small{padding:12px;font-size:.86rem}.mk-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;align-items:center;gap:10px;margin-bottom:16px;padding:12px 14px;font-weight:750;display:flex}.mk-error span{flex:1}.mk-subtabs{border:1px solid var(--r-champagne);background:#fff;border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-bottom:18px;padding:8px;display:grid}.mk-subtabs button{min-height:38px;padding:0 10px}.mk-color-dot{vertical-align:-2px;border:1px solid #0000001f;border-radius:50%;width:14px;height:14px;margin-right:6px;display:inline-block}.mk-hierarchy{grid-template-columns:260px minmax(0,1fr);gap:18px;display:grid}.mk-hierarchy-title{color:var(--r-text);justify-content:space-between;align-items:center;gap:10px;padding:8px 8px 12px;font-weight:900;display:flex}.mk-type-row{text-align:left;justify-content:space-between;align-items:center;gap:9px;padding:11px 10px;display:flex}.mk-type-icon{border:1px solid #0000;border-radius:7px;flex:0 0 26px;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.mk-type-row.active .mk-type-icon{color:#fff!important;background:#ffffff2e!important;border-color:#ffffff42!important}.mk-type-row span:nth-child(2),.mk-type-row span:first-child:last-of-type{flex:1}.mk-hierarchy-main{min-width:0}.mk-inline-actions{flex-wrap:wrap;gap:8px;display:flex}.mk-modal-backdrop{z-index:999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1c191747;justify-content:center;align-items:center;padding:22px;display:flex;position:fixed;inset:0}.mk-modal{border:1px solid var(--r-champagne);background:#fff;border-radius:8px;width:min(760px,100%);max-height:min(88vh,760px);overflow-y:auto;box-shadow:0 28px 70px #1c191738}.mk-modal-header{border-bottom:1px solid var(--r-champagne);justify-content:space-between;align-items:center;gap:14px;padding:18px 20px;display:flex}.mk-modal-header h2{letter-spacing:0;margin:0;font-size:1.15rem}.mk-form{padding:20px}.mk-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.mk-field{color:var(--r-text-sub);flex-direction:column;gap:7px;font-size:.88rem;font-weight:850;display:flex}.mk-field input,.mk-field select{width:100%;padding:0 11px;font-weight:700}.mk-field input:focus,.mk-field select:focus,.mk-search:focus-within,.mk-toolbar select:focus{border-color:var(--r-sage);box-shadow:var(--r-glow)}.mk-toggle-field{min-height:40px;color:var(--r-text-sub);align-self:end;align-items:center;gap:9px;font-weight:850;display:flex}.mk-toggle-field input,.mk-check-grid input{accent-color:var(--r-sage)}.mk-multiselect{margin-top:18px}.mk-multiselect>span{color:var(--r-text-sub);margin-bottom:9px;font-weight:900;display:block}.mk-check-grid{border:1px solid var(--r-champagne);background:#fbfbfa;border-radius:8px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;padding:12px;display:grid}.mk-check-grid label{color:var(--r-text-sub);align-items:center;gap:8px;font-weight:750;display:flex}.mk-form-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}@keyframes mkSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=980px){.mk-hierarchy{grid-template-columns:1fr}.mk-admin-tabs{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.mk-toolbar{grid-template-columns:1fr 1fr}}@media (width<=640px){.mk-admin{max-width:100%;overflow-x:hidden}.mk-admin-header h1{font-size:1.5rem}.mk-section-header,.mk-list-heading{flex-direction:column;align-items:stretch}.mk-admin-tabs,.mk-toolbar,.mk-form-grid{grid-template-columns:1fr}.mk-table-wrap{box-shadow:none;background:0 0;border:0;overflow-x:visible}.mk-table{border-collapse:separate;width:100%;min-width:0;display:block}.mk-table thead{display:none}.mk-table tbody{gap:12px;display:grid}.mk-table tr{border:1px solid var(--r-champagne);box-shadow:var(--r-shadow);background:#fff;border-radius:8px;gap:9px;padding:13px;display:grid}.mk-table td{width:100%;min-width:0;color:var(--r-text-sub);overflow-wrap:anywhere;border-bottom:0;grid-template-columns:minmax(92px,.42fr) minmax(0,1fr);align-items:start;gap:10px;padding:0;display:grid}.mk-table td:before{content:attr(data-label);color:var(--r-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.68rem;font-weight:900;line-height:1.25}.mk-table td[colspan]{text-align:center;padding:16px;display:block}.mk-table td[colspan]:before{content:none}.mk-table td[data-label=Nombre]{border-bottom:1px solid var(--r-champagne);grid-template-columns:1fr;gap:7px;padding-bottom:10px}.mk-table td[data-label=Nombre]:before{content:none}.mk-ingredient-name-cell{min-width:0}.mk-chip-row{justify-content:flex-end}.mk-row-actions{flex-wrap:wrap;justify-content:flex-end}.mk-code{max-width:100%}}:root{--f-bg:#f5f4f0;--f-panel:#fffefa;--f-panel-strong:#fff;--f-line:#dedbd2;--f-line-soft:#ebe8df;--f-text:#171717;--f-text-soft:#525252;--f-text-muted:#78716c;--f-accent:#a65f16;--f-accent-dark:#6f3d0d;--f-accent-soft:#fff1dc;--f-amber:#a36a18;--f-amber-soft:#fff4db;--f-graphite:#2f3437;--f-graphite-soft:#eceeed;--f-teal:#1f6f7a;--f-teal-soft:#e6f4f5;--f-radius:18px;--f-radius-sm:12px;--f-shadow:0 18px 42px #1f293714;--f-shadow-soft:0 10px 26px #1f29370f;--f-trans:.18s ease}.finance-shell{background:var(--f-bg);min-height:calc(100vh - 88px);color:var(--f-text);grid-template-columns:268px minmax(0,1fr);display:grid;overflow-x:hidden}.finance-shell,.finance-shell *{box-sizing:border-box}.finance-sidebar{border-right:1px solid var(--f-line);background:#fffefaf0;flex-direction:column;gap:18px;height:calc(100vh - 88px);padding:28px 18px;display:flex;position:sticky;top:88px;overflow-y:auto}.finance-sidebar-header{grid-template-columns:44px minmax(0,1fr);align-items:center;gap:12px;padding:0 8px 14px;display:grid}.finance-logo-icon,.finance-context-icon,.finance-placeholder-icon{justify-content:center;align-items:center;display:inline-flex}.finance-logo-icon{background:var(--f-accent);color:#fff;border-radius:14px;width:44px;height:44px;box-shadow:0 12px 24px #a65f1638}.finance-sidebar-header h2{letter-spacing:0;color:var(--f-text);margin:0;font-size:1.08rem;font-weight:850}.finance-sidebar-header p{color:var(--f-text-muted);margin:2px 0 0;font-size:.75rem;font-weight:650;line-height:1.3}.finance-nav{gap:7px;display:grid}.finance-nav-item{min-height:44px;color:var(--f-text-soft);transition:background var(--f-trans), color var(--f-trans), transform var(--f-trans), box-shadow var(--f-trans);border-radius:12px;align-items:center;gap:11px;padding:10px 12px;font-size:.9rem;font-weight:760;text-decoration:none;display:flex}.finance-nav-icon{width:30px;height:30px;color:var(--f-accent);background:var(--f-accent-soft);transition:background var(--f-trans), color var(--f-trans);border-radius:10px;flex:0 0 30px;justify-content:center;align-items:center;display:inline-flex}.finance-nav-item:hover{color:var(--f-accent-dark);background:#f0eee7;transform:translate(3px)}.finance-nav-item.active{background:var(--f-accent);color:#fff;box-shadow:0 12px 28px #a65f162e}.finance-nav-item.active .finance-nav-icon{color:#fff;background:#ffffff29}.finance-content{width:100%;min-width:0;max-width:1440px;padding:42px 48px 56px}.finance-module-header{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:22px;margin-bottom:30px;display:grid}.finance-module-label,.finance-eyebrow,.finance-section-kicker,.finance-coming-soon{text-transform:uppercase;letter-spacing:.08em;font-weight:900}.finance-module-label{color:var(--f-accent);font-size:.72rem}.finance-module-copy h1{color:var(--f-text);letter-spacing:0;margin:4px 0 0;font-size:2.55rem;font-weight:900;line-height:1}.finance-module-copy p{color:var(--f-text-muted);margin:10px 0 0;font-size:1.02rem;font-weight:620}.finance-space-selector{min-width:0}.finance-space-tabs{border:1px solid var(--f-line);box-shadow:var(--f-shadow-soft);background:#ffffffb8;border-radius:999px;gap:5px;padding:5px;display:inline-flex}.finance-space-tabs.skeleton span{background:linear-gradient(90deg,#efede6,#fffefa,#efede6) 0 0/220% 100%;border-radius:999px;width:112px;height:36px;animation:1.4s ease-in-out infinite financePulse}.finance-space-empty,.finance-state-card,.finance-notice{border:1px solid var(--f-line);border-radius:var(--f-radius-sm);background:var(--f-panel);color:var(--f-text-soft);box-shadow:var(--f-shadow-soft);font-weight:760}.finance-space-empty{padding:12px 14px;font-size:.86rem}.finance-state-card,.finance-notice{padding:18px}.finance-state-card.error,.finance-notice.error{color:#9f2f16;background:#fff3ef;border-color:#f0b8a8}.finance-notice.success{color:#23633c;background:#effaf3;border-color:#b8d8c4}.finance-space-tab{min-height:36px;color:var(--f-text-soft);white-space:nowrap;transition:background var(--f-trans), color var(--f-trans), box-shadow var(--f-trans);border-radius:999px;align-items:center;gap:8px;padding:0 13px;font-size:.84rem;font-weight:800;display:inline-flex}.finance-space-tab:hover{color:var(--f-accent-dark);background:#f2f0e9}.finance-space-tab.active{background:var(--f-graphite);color:#fff;box-shadow:0 10px 22px #17171729}.finance-space-select{border:1px solid var(--f-line);min-height:42px;color:var(--f-text);box-shadow:var(--f-shadow-soft);background:#fff;border-radius:12px;align-items:center;gap:8px;padding:0 12px;display:none;position:relative}.finance-space-select span{color:var(--f-text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.68rem;font-weight:900}.finance-space-select select{appearance:none;min-width:0;color:var(--f-text);font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:.9rem;font-weight:850}.finance-page-shell{gap:22px;display:grid}.finance-page-intro{grid-template-columns:minmax(0,1fr) minmax(220px,280px);align-items:stretch;gap:18px;display:grid}.finance-page-intro>div:first-child,.finance-context-card,.finance-empty-section,.finance-placeholder-card{border:1px solid var(--f-line);background:var(--f-panel);border-radius:var(--f-radius);box-shadow:var(--f-shadow-soft)}.finance-page-intro>div:first-child{padding:28px}.finance-eyebrow{color:var(--f-accent);font-size:.74rem}.finance-page-intro h1{color:var(--f-text);letter-spacing:0;margin:6px 0 0;font-size:2rem;font-weight:900;line-height:1.08}.finance-page-intro p{max-width:720px;color:var(--f-text-muted);margin:10px 0 0;font-size:.98rem;font-weight:620;line-height:1.6}.finance-context-card{align-items:center;gap:14px;padding:20px;display:flex}.finance-context-icon{background:var(--f-accent-soft);width:42px;height:42px;color:var(--f-accent);border-radius:14px;flex:0 0 42px;place-items:center;line-height:0}.finance-context-icon svg{margin:auto;display:block}.finance-context-card span{color:var(--f-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;font-weight:850;display:block}.finance-context-card strong{color:var(--f-text);margin-top:3px;font-size:1.05rem;font-weight:900;display:block}.finance-placeholder-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.finance-placeholder-card{min-height:232px;transition:transform var(--f-trans), border-color var(--f-trans), box-shadow var(--f-trans);flex-direction:column;justify-content:space-between;padding:18px;display:flex}.finance-placeholder-card:hover{box-shadow:var(--f-shadow);border-color:#a65f1647;transform:translateY(-3px)}.finance-placeholder-card-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.finance-placeholder-icon{background:var(--f-accent-soft);width:40px;height:40px;color:var(--f-accent);border-radius:13px}.finance-coming-soon{color:var(--f-text-muted);background:#f4f2eb;border-radius:999px;padding:5px 8px;font-size:.58rem}.finance-placeholder-card h3{color:var(--f-text);letter-spacing:0;margin:0;font-size:1.02rem;font-weight:900;line-height:1.2}.finance-placeholder-card p{color:var(--f-text-muted);margin:8px 0 0;font-size:.86rem;font-weight:620;line-height:1.48}.finance-placeholder-lines{gap:8px;display:grid}.finance-placeholder-lines span{background:#efede6;border-radius:999px;height:8px}.finance-placeholder-lines span:first-child{width:78%}.finance-placeholder-lines span:nth-child(2){width:58%}.finance-placeholder-lines span:nth-child(3){width:68%}.finance-placeholder-card.tone-graphite .finance-placeholder-icon{background:var(--f-graphite-soft);color:var(--f-graphite)}.finance-placeholder-card.tone-amber .finance-placeholder-icon{background:var(--f-amber-soft);color:var(--f-amber)}.finance-placeholder-card.tone-teal .finance-placeholder-icon{background:var(--f-teal-soft);color:var(--f-teal)}.finance-empty-section{background:linear-gradient(#fffefaf5,#fffefaf5),repeating-linear-gradient(90deg,#a65f1617 0 1px,#0000 1px 44px);align-items:flex-end;min-height:220px;padding:28px;display:flex}.finance-section-kicker{color:var(--f-accent);font-size:.72rem}.finance-empty-section h2{color:var(--f-text);letter-spacing:0;margin:6px 0 0;font-size:1.35rem;font-weight:900}.finance-empty-section p{max-width:680px;color:var(--f-text-muted);margin:8px 0 0;font-size:.94rem;font-weight:620;line-height:1.6}.finance-admin-panel{border:1px solid var(--f-line);border-radius:var(--f-radius);background:var(--f-panel);box-shadow:var(--f-shadow-soft);gap:16px;padding:22px;display:grid}.finance-admin-heading,.finance-space-admin-top,.finance-member-row,.finance-add-member{align-items:center;gap:12px;display:flex}.finance-admin-heading,.finance-space-admin-top{justify-content:space-between}.finance-admin-heading h2{letter-spacing:0;margin:4px 0 0;font-size:1.35rem}.finance-space-form,.finance-admin-actions{align-items:center;gap:8px;display:flex}.finance-space-form input,.finance-space-name-input,.finance-add-member select,.finance-member-row select{border:1px solid var(--f-line);min-height:38px;color:var(--f-text);font:inherit;transition:border-color var(--f-trans), box-shadow var(--f-trans), background var(--f-trans);background:#fff;border-radius:10px;outline:0;font-size:.88rem;font-weight:750}.finance-space-form input,.finance-add-member select{padding:0 11px}.finance-add-member select,.finance-member-row select{appearance:none;background:linear-gradient(45deg, transparent 50%, var(--f-accent) 50%) calc(100% - 17px) 50% / 6px 6px no-repeat, linear-gradient(135deg, var(--f-accent) 50%, transparent 50%) calc(100% - 12px) 50% / 6px 6px no-repeat, linear-gradient(180deg, #fff, #faf8f2);cursor:pointer;padding:0 34px 0 12px}.finance-space-form input:focus,.finance-space-name-input:focus,.finance-add-member select:focus,.finance-member-row select:focus{background-color:#fffefa;border-color:#a65f1685;box-shadow:0 0 0 3px #a65f161f}.finance-add-member select:hover,.finance-member-row select:hover{border-color:#a65f165c;box-shadow:0 8px 18px #1f29370f}.finance-add-member select option,.finance-member-row select option{color:var(--f-text);background:#fffefa;font-weight:750}.finance-space-form input:first-child{width:220px}.finance-space-form input:nth-child(2){text-align:center;width:72px}.finance-space-name-input{width:min(320px,100%);padding:0 10px;font-size:1rem;font-weight:900}.finance-admin-panel button{background:var(--f-graphite);color:#fff;min-height:38px;transition:background var(--f-trans), transform var(--f-trans);border-radius:10px;padding:0 12px;font-weight:850}.finance-admin-panel button:hover{background:var(--f-accent-dark);transform:translateY(-1px)}.finance-admin-panel button.ghost{color:var(--f-text-soft);background:#f3f1ea}.finance-admin-panel button.danger,.finance-admin-panel button.ghost.danger{color:#9f2f16;background:#fff0eb}.finance-space-admin-list{gap:14px;display:grid}.finance-space-admin-card{border:1px solid var(--f-line-soft);background:#fffefa;border-radius:14px;gap:14px;padding:16px;display:grid}.finance-space-admin-top span,.finance-member-row span{color:var(--f-text-muted);margin-top:3px;font-size:.78rem;font-weight:700;display:block}.finance-member-list{gap:8px;display:grid}.finance-member-row{background:#f7f5ef;border-radius:12px;justify-content:space-between;padding:10px}.finance-member-row>div{flex:1;min-width:0}.finance-member-row strong{color:var(--f-text);font-size:.92rem;display:block}.finance-member-row select{width:112px}.finance-add-member{padding-top:4px}.finance-add-member select:first-child{min-width:280px}.finance-accounts-page{gap:20px;display:grid}.finance-accounts-hero{margin-bottom:0}.finance-kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}.finance-kpi-grid article,.finance-section-card,.finance-empty-state,.finance-modal{border:1px solid var(--f-line);background:var(--f-panel);border-radius:var(--f-radius);box-shadow:var(--f-shadow-soft)}.finance-kpi-grid article{align-content:space-between;min-height:112px;padding:18px;display:grid}.finance-kpi-grid span,.finance-section-card>header span,.finance-form-hint{color:var(--f-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.74rem;font-weight:850}.finance-kpi-grid strong{color:var(--f-text);letter-spacing:0;font-size:1.35rem;font-weight:950}.finance-kpi-grid .positive,.finance-movement-table .positive{color:#237047}.finance-kpi-grid .negative,.finance-movement-table .negative{color:#a03a24}.finance-section-card{min-width:0;padding:20px}.finance-section-card>header,.finance-section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.finance-section-card h2,.finance-section-heading h2{color:var(--f-text);letter-spacing:0;margin:4px 0 0;font-size:1.28rem;font-weight:950}.finance-button,.finance-action-strip button,.finance-quick-views button{min-height:38px;transition:background var(--f-trans), color var(--f-trans), transform var(--f-trans), box-shadow var(--f-trans), border-color var(--f-trans);border-radius:11px;justify-content:center;align-items:center;gap:8px;padding:0 13px;font-weight:850;display:inline-flex}.finance-button.primary,.finance-button.secondary,.finance-action-strip button{background:var(--f-graphite);color:#fff}.finance-button.secondary{background:var(--f-accent)}.finance-button.ghost,.finance-quick-views button{border:1px solid var(--f-line);color:var(--f-text-soft);background:#fff}.finance-button.danger{color:#9f2f16;background:#fff0eb;margin-top:12px}.finance-button:hover,.finance-action-strip button:hover,.finance-quick-views button:hover{box-shadow:var(--f-shadow-soft);transform:translateY(-1px)}.finance-action-strip button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.finance-account-card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.finance-account-card{border:1px solid var(--f-line-soft);background:linear-gradient(180deg, #ffffffdb, #fffefafa), linear-gradient(90deg, var(--account-color), transparent 52%);min-height:156px;color:var(--f-text);text-align:left;transition:transform var(--f-trans), border-color var(--f-trans), box-shadow var(--f-trans);border-radius:16px;gap:5px;padding:18px;display:grid}.finance-account-card:hover,.finance-account-card.active{border-color:color-mix(in srgb, var(--account-color) 42%, var(--f-line));box-shadow:var(--f-shadow);transform:translateY(-3px)}.finance-account-card.active{outline:3px solid color-mix(in srgb, var(--account-color) 20%, transparent)}.finance-account-icon{color:#fff;background:var(--account-color);border-radius:13px;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.finance-account-card strong{margin-top:8px;font-size:1rem;font-weight:950}.finance-account-card small{color:var(--f-text-muted);font-weight:800}.finance-account-card b{margin-top:7px;font-size:1.22rem;font-weight:950}.finance-action-strip{flex-wrap:wrap;gap:10px;display:flex}.finance-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.finance-mini-chart{grid-template-columns:repeat(6,minmax(0,1fr));align-items:end;gap:12px;height:210px;padding-top:8px;display:grid}.finance-line-chart{gap:10px;min-height:210px;display:grid}.finance-line-chart svg{width:100%;height:190px;overflow:visible}.finance-line-chart .grid line{stroke:#78716c2e;stroke-width:1px}.finance-line-chart .grid line.year-boundary{stroke:#78716c6b;stroke-dasharray:4 6}.finance-line-chart polyline{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:4px}.finance-line-chart .income-line{stroke:#2f7b57}.finance-line-chart .expense-line{stroke:#b15d31}.finance-line-chart .income-dot{fill:#2f7b57;stroke:#fffefa;stroke-width:2px}.finance-line-chart .expense-dot{fill:#b15d31;stroke:#fffefa;stroke-width:2px}.finance-line-chart text{fill:var(--f-text-muted);font-size:.72rem;font-weight:800}.finance-chart-legend{color:var(--f-text-muted);align-items:center;gap:14px;font-size:.78rem;font-weight:850;display:flex}.finance-chart-legend span{align-items:center;gap:6px;display:inline-flex}.finance-chart-legend span:before{content:"";background:currentColor;border-radius:999px;width:10px;height:10px}.finance-chart-legend .income{color:#2f7b57}.finance-chart-legend .expense{color:#b15d31}.finance-chart-month{grid-template-rows:1fr auto;align-items:end;gap:8px;height:100%;display:grid;position:relative}.finance-chart-month.year-boundary:before{content:"";border-left:1px dashed #78716c6b;position:absolute;top:2px;bottom:24px;left:-6px}.finance-chart-bars,.finance-chart-linebar,.finance-chart-verticalbar{background:#f4f2eb;border-radius:14px;justify-content:center;align-items:end;gap:5px;height:100%;padding:8px;display:flex}.finance-chart-bars span,.finance-chart-linebar span,.finance-chart-verticalbar span{border-radius:999px;width:12px;min-height:6px}.finance-chart-bars .income{background:#2f7b57}.finance-chart-bars .expense{background:#b15d31}.finance-chart-linebar span{background:var(--f-teal);width:46%}.finance-chart-verticalbar{background:linear-gradient(#fffefa33,#fffefab8),#f4f2eb}.finance-chart-verticalbar span{background:linear-gradient(180deg, var(--f-teal), #184f58);width:34px;max-width:70%;box-shadow:0 8px 16px #1f6f7a29}.finance-chart-month small{text-align:center;color:var(--f-text-muted);font-weight:800}.finance-quick-views,.finance-filters{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.finance-quick-views button.active{background:var(--f-graphite);color:#fff;border-color:var(--f-graphite)}.finance-filters select,.finance-search,.finance-form-grid input,.finance-form-grid select,.finance-form-grid textarea,.finance-manager-form input,.finance-manager-form select,.finance-manager-form textarea{border:1px solid var(--f-line);min-height:40px;color:var(--f-text);font:inherit;background:#fff;border-radius:11px;outline:0;font-size:.88rem;font-weight:750}.finance-filters select,.finance-form-grid select,.finance-manager-form select{appearance:none;background:linear-gradient(45deg, transparent 50%, var(--f-accent) 50%) calc(100% - 17px) 50% / 6px 6px no-repeat, linear-gradient(135deg, var(--f-accent) 50%, transparent 50%) calc(100% - 12px) 50% / 6px 6px no-repeat, linear-gradient(180deg, #fff, #faf8f2);padding:0 34px 0 12px}.finance-search{align-items:center;gap:8px;min-width:280px;padding:0 11px;display:flex}.finance-search input{width:100%;font:inherit;background:0 0;border:0;outline:0;font-weight:750}.finance-movement-table{overflow-x:auto}.finance-movement-table table{border-collapse:collapse;width:100%;min-width:980px}.finance-movement-table th{color:var(--f-text-muted);text-transform:uppercase;letter-spacing:.05em;text-align:left;padding:11px 10px;font-size:.72rem}.finance-movement-table td{border-top:1px solid var(--f-line-soft);color:var(--f-text-soft);vertical-align:middle;padding:12px 10px;font-size:.88rem;font-weight:700}.finance-movement-table td strong{color:var(--f-text);font-weight:900;display:block}.finance-movement-table .money{text-align:right;color:var(--f-text);font-weight:950}.finance-movement-table .actions{white-space:nowrap;text-align:right}.finance-movement-table .actions button,.finance-icon-button{width:34px;height:34px;color:var(--f-text-soft);background:#f4f2eb;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.finance-icon-button.danger,.finance-movement-table .actions button:last-child{color:#9f2f16;background:#fff0eb}.finance-chip{border-radius:999px;align-items:center;min-height:24px;padding:0 8px;font-size:.72rem;font-weight:900;display:inline-flex}.type-income,.status-confirmed{color:#23633c;background:#edf8f1}.type-expense,.status-to_refund{color:#9f2f16;background:#fff0eb}.type-transfer,.status-review{color:var(--f-teal);background:var(--f-teal-soft)}.finance-refund-note{color:var(--f-amber);margin-top:3px;font-size:.73rem;font-weight:850;display:inline-block}.finance-movement-mobile{display:none}.finance-empty-state{text-align:center;justify-items:center;gap:8px;padding:28px;display:grid}.finance-empty-orb{background:var(--f-accent-soft);width:42px;height:42px;color:var(--f-accent);border-radius:14px;place-items:center;display:grid}.finance-empty-state h3{margin:4px 0 0;font-size:1.1rem}.finance-empty-state p{max-width:420px;color:var(--f-text-muted);margin:0;font-weight:650}.finance-modal-backdrop{z-index:300;background:#17171757;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.finance-modal{width:min(920px,100%);max-height:min(780px,100vh - 48px);padding:20px;overflow:auto}.finance-modal>header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.finance-modal h2{margin:0;font-size:1.28rem;font-weight:950}.finance-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.finance-form-grid label,.finance-manager-form{color:var(--f-text-muted);text-transform:uppercase;letter-spacing:.04em;gap:6px;font-size:.74rem;font-weight:900;display:grid}.finance-form-grid input,.finance-form-grid textarea,.finance-manager-form input,.finance-manager-form textarea{padding:0 11px}.finance-form-grid textarea,.finance-manager-form textarea{resize:vertical;min-height:90px;padding-top:10px}.finance-form-wide,.finance-form-grid footer{grid-column:1/-1}.finance-form-grid footer,.finance-import-preview footer{justify-content:flex-end;align-items:center;gap:10px;margin-top:4px;display:flex}.finance-form-hint{text-transform:none;letter-spacing:0;margin-right:auto}.finance-manager{grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:16px;display:grid}.finance-account-manager{grid-template-columns:minmax(320px,1fr) minmax(280px,360px);align-items:start;gap:16px;display:grid}.finance-manager-form{background:#f7f5ef;border-radius:14px;align-content:start;padding:16px}.finance-manager-form h3{color:var(--f-text);margin:0 0 8px}.finance-manager-list{align-content:start;gap:8px;display:grid}.finance-manager-row,.finance-possible-list div{background:#f7f5ef;border-radius:13px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;min-height:54px;padding:10px;display:grid}.finance-manager-row strong,.finance-possible-list strong{color:var(--f-text);font-weight:900;display:block}.finance-manager-row span,.finance-possible-list span{color:var(--f-text-muted);font-size:.78rem;font-weight:750}.finance-import-help{background:var(--f-teal-soft);color:var(--f-teal);border-radius:12px;grid-column:1/-1;padding:12px;font-weight:750}.finance-import-preview{gap:12px;display:grid}.finance-import-table{gap:7px;max-height:420px;display:grid;overflow:auto}.finance-import-row{color:var(--f-text-soft);background:#f7f5ef;border-radius:12px;grid-template-columns:auto 94px minmax(0,1fr) 90px 130px;align-items:center;gap:10px;padding:10px;font-weight:750;display:grid}.finance-import-row.duplicate{opacity:.58}.finance-import-row.possible_transfer{background:var(--f-teal-soft)}.finance-import-row strong{min-width:0;color:var(--f-text)}.finance-import-row em{color:var(--f-text-muted);font-size:.74rem;font-style:normal;font-weight:900}.finance-possible-list{gap:8px;margin-bottom:14px;display:grid}.finance-possible-list div{grid-template-columns:160px minmax(0,1fr) auto}@keyframes financePulse{0%{background-position:100% 0}to{background-position:-100% 0}}@media (width<=1180px){.finance-shell{grid-template-columns:230px minmax(0,1fr)}.finance-content{padding:34px 28px 48px}.finance-placeholder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.finance-account-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-admin-heading,.finance-space-admin-top,.finance-add-member{flex-direction:column;align-items:stretch}.finance-space-form,.finance-admin-actions,.finance-add-member{width:100%}.finance-space-form input:first-child,.finance-add-member select:first-child{width:100%;min-width:0}}@media (width<=860px){.finance-shell{grid-template-columns:1fr}.finance-sidebar{border-right:0;border-bottom:1px solid var(--f-line);height:auto;padding:14px 18px;position:static}.finance-sidebar-header{padding:0}.finance-nav{scrollbar-width:none;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.finance-nav::-webkit-scrollbar{display:none}.finance-nav-item{white-space:nowrap;flex:none;min-height:40px}.finance-nav-item:hover{transform:none}.finance-content{padding:28px 18px 42px}.finance-module-header,.finance-page-intro{grid-template-columns:1fr}.finance-module-copy h1{font-size:2.08rem}.finance-space-tabs{scrollbar-width:none;max-width:100%;overflow-x:auto}.finance-space-tabs::-webkit-scrollbar{display:none}.finance-kpi-grid,.finance-chart-grid,.finance-manager,.finance-account-manager{grid-template-columns:1fr}.finance-account-card-grid{scrollbar-width:none;padding-bottom:4px;display:flex;overflow-x:auto}.finance-account-card{min-width:220px}.finance-section-heading,.movement-heading{flex-direction:column;align-items:flex-start}}@media (width<=560px){.finance-shell{padding-bottom:74px}.finance-sidebar{z-index:120;border-bottom:0;border-top:1px solid var(--f-line);background:#fffefaf5;height:auto;padding:9px 12px;position:fixed;inset:auto 0 0;box-shadow:0 -16px 36px #1f29371a}.finance-sidebar-header{display:none}.finance-nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;width:100%;padding:0;display:grid;overflow:visible}.finance-nav-item{border-radius:14px;justify-content:center;min-height:48px;padding:7px 4px}.finance-nav-item>span:not(.finance-nav-icon){display:none}.finance-nav-item.active{transform:translateY(-3px);box-shadow:0 12px 24px #a65f1633}.finance-nav-icon{border-radius:12px;width:34px;height:34px}.finance-content{padding:22px 14px 34px}.finance-module-header{margin-bottom:20px}.finance-module-copy h1{font-size:1.82rem}.finance-module-copy p{font-size:.92rem}.finance-space-tabs{display:none}.finance-space-select{display:flex}.finance-page-intro>div:first-child,.finance-context-card,.finance-empty-section,.finance-placeholder-card{border-radius:14px}.finance-page-intro>div:first-child,.finance-empty-section{padding:20px}.finance-page-intro h1{font-size:1.48rem}.finance-context-card{padding:15px}.finance-placeholder-grid{grid-template-columns:1fr;gap:12px}.finance-placeholder-card{min-height:190px;padding:16px}.finance-kpi-grid{grid-template-columns:1fr 1fr}.finance-kpi-grid article{min-height:96px;padding:14px}.finance-kpi-grid strong{font-size:1.05rem}.finance-action-strip{grid-template-columns:1fr 1fr;display:grid}.finance-action-strip button{min-height:44px;padding:0 8px}.finance-chart-grid{grid-template-columns:1fr}.finance-mini-chart{gap:7px;height:170px}.finance-movement-table{display:none}.finance-movement-mobile{gap:10px;display:grid}.finance-movement-mobile article{border:1px solid var(--f-line-soft);background:#fffefa;border-radius:14px;gap:8px;padding:14px;display:grid}.finance-movement-mobile header,.finance-movement-mobile div{justify-content:space-between;align-items:center;gap:8px;display:flex}.finance-movement-mobile strong{color:var(--f-text)}.finance-movement-mobile small{color:var(--f-text-muted);font-weight:750}.finance-filters,.finance-quick-views{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.finance-search{min-width:240px}.finance-modal-backdrop{align-items:end;padding:10px}.finance-modal{border-radius:18px 18px 0 0;max-height:calc(100vh - 20px)}.finance-form-grid{grid-template-columns:1fr}.finance-import-row{grid-template-columns:auto minmax(0,1fr)}.finance-import-row span:first-of-type,.finance-import-row span:nth-of-type(2),.finance-import-row em{grid-column:2}.finance-space-form,.finance-admin-actions,.finance-member-row{flex-direction:column;align-items:stretch}.finance-space-form input:nth-child(2),.finance-member-row select{width:100%}}
