body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#f8fafc,#f1f5f9);color:#1e293b;direction:rtl;font-family:Heebo,Rubik,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0;max-width:100vw;min-height:100vh;overflow-x:hidden}*{box-sizing:border-box}:root{--primary-color:#f59e0b;--primary-dark:#d97706;--primary-light:#fef3c7;--secondary-color:#1e293b;--secondary-dark:#0f172a;--accent-gold:#fbbf24;--danger-color:#ef4444;--warning-color:#f97316;--success-color:#22c55e;--success-text:#166534;--danger-text:#b91c1c;--heading-gradient-start:#b45309;--heading-gradient-end:#92400e;--info-color:#3b82f6;--background-color:#f8fafc;--card-background:#fff;--text-primary:#1e293b;--text-secondary:#64748b;--text-muted:#94a3b8;--border-color:#e2e8f0;--border-light:#f1f5f9;--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 1px 3px #0000001a,0 1px 2px #0000000f;--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-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--shadow-gold:0 4px 14px #f59e0b40;--shadow-gold-lg:0 10px 25px #f59e0b4d;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-normal:250ms cubic-bezier(0.4,0,0.2,1);--transition-slow:350ms cubic-bezier(0.4,0,0.2,1)}.container{margin:0 auto;max-width:1200px;padding:20px;width:100%}@media (max-width:768px){.container{padding:16px 12px}}@media (max-width:480px){.container{padding:12px 8px}}.card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff;background:var(--card-background);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;box-shadow:var(--shadow-sm);margin-bottom:20px;padding:24px;transition:all .25s cubic-bezier(.4,0,.2,1);transition:all var(--transition-normal)}.card:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var(--shadow-lg)}.btn{align-items:center;border:none;border-radius:12px;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:Heebo,sans-serif;font-size:15px;font-weight:600;gap:8px;justify-content:center;letter-spacing:.3px;overflow:hidden;padding:12px 28px;position:relative;transition:all .25s cubic-bezier(.4,0,.2,1);transition:all var(--transition-normal)}.btn:before{background:linear-gradient(180deg,#ffffff26,#0000 50%);content:"";height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}.btn-primary{background:linear-gradient(135deg,#f59e0b,#d97706);background:linear-gradient(135deg,var(--primary-color) 0,var(--primary-dark) 100%);box-shadow:0 4px 14px #f59e0b40;box-shadow:var(--shadow-gold);color:#1e293b;color:var(--secondary-color);font-weight:700}.btn-primary:hover{box-shadow:0 10px 25px #f59e0b4d;box-shadow:var(--shadow-gold-lg);filter:brightness(1.05);transform:translateY(-3px)}.btn-primary:active{box-shadow:0 4px 14px #f59e0b40;box-shadow:var(--shadow-gold);transform:translateY(-1px)}.btn-secondary{background:linear-gradient(135deg,#1e293b,#0f172a);background:linear-gradient(135deg,var(--secondary-color) 0,var(--secondary-dark) 100%);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);color:#fff}.btn-secondary:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var(--shadow-lg);filter:brightness(1.1);transform:translateY(-3px)}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);background:linear-gradient(135deg,var(--danger-color) 0,#dc2626 100%);box-shadow:0 4px 14px #ef444440;color:#fff}.btn-danger:hover{box-shadow:0 8px 20px #ef444459;filter:brightness(1.05);transform:translateY(-3px)}.input-group{margin-bottom:24px}.input-group label{color:#1e293b;color:var(--text-primary);display:block;font-size:14px;font-weight:600;letter-spacing:.2px;margin-bottom:8px}.input-group input,.input-group select{background-color:#fff;border:2px solid #e2e8f0;border:2px solid var(--border-color);border-radius:12px;border-radius:var(--radius-md);color:#1e293b;color:var(--text-primary);font-family:Heebo,sans-serif;font-size:16px;padding:14px 18px;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast);width:100%}.input-group input:focus,.input-group select:focus{border-color:#f59e0b;border-color:var(--primary-color);box-shadow:0 0 0 4px #f59e0b26;outline:none}.input-group input::placeholder{color:#94a3b8;color:var(--text-muted)}.checkbox-group{align-items:center;display:flex;margin-bottom:10px}.checkbox-group input{margin-left:10px}.nav{background-color:#f59e0b;background-color:var(--primary-color);box-shadow:0 2px 4px #0000001a;color:#fff;padding:15px 20px}.nav-links{gap:20px}.nav-links a{border-radius:4px;color:#fff;padding:8px 16px;transition:background-color .3s}.nav-links a.active,.nav-links a:hover{background-color:#fff3}.loading{color:#64748b;color:var(--text-secondary);font-size:18px;padding:60px 20px;text-align:center}.loading:after{animation:dots 1.5s infinite;content:"..."}@keyframes dots{0%,20%{content:"."}40%{content:".."}60%,to{content:"..."}}.error{background:linear-gradient(135deg,#fff5f5,#ffe8e8);border-right:4px solid #ef4444;border-right:4px solid var(--danger-color);color:#b91c1c;color:var(--danger-text)}.error,.success{border-radius:12px;border-radius:var(--radius-md);box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;box-shadow:var(--shadow-sm);font-weight:500;margin-bottom:20px;padding:16px 20px}.success{background:linear-gradient(135deg,#f0fdf4,#e8f5e9);border-right:4px solid #22c55e;border-right:4px solid var(--success-color);color:#166534;color:var(--success-text)}.empty-state{color:#64748b;color:var(--text-secondary);padding:60px 20px}.empty-state p{font-size:18px;margin:10px 0}h1,h2,h3,h4,h5,h6{color:#1e293b;color:var(--text-primary);font-family:Heebo,sans-serif;font-weight:700;margin-top:0}h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#b45309,#92400e);background:linear-gradient(135deg,var(--heading-gradient-start) 0,var(--heading-gradient-end) 100%);-webkit-background-clip:text;background-clip:text;font-size:32px;margin-bottom:24px}@media (max-width:1024px){.container{padding:16px}h1{font-size:28px}h2{font-size:24px}.btn{font-size:15px;padding:10px 20px}}@media (max-width:768px){body{font-size:15px}.container{padding:12px}h1{font-size:24px;margin-bottom:16px}h2{font-size:20px}h3{font-size:18px}.card{border-radius:12px;margin-bottom:16px;padding:20px 16px}.btn{font-size:15px;min-height:48px;padding:14px 20px;width:100%}input,select,textarea{font-size:16px;min-height:48px;padding:12px 14px}.form-group{margin-bottom:16px}label{font-size:14px;margin-bottom:6px}.page-header{flex-direction:column;gap:12px}.empty-state{padding:40px 20px}.empty-state p{font-size:16px}}@media (max-width:480px){body{font-size:14px}.container{padding:8px}h1{font-size:20px;margin-bottom:12px}h2{font-size:18px}h3{font-size:16px}.card{margin-bottom:12px;padding:12px}.btn{font-size:13px;padding:8px 16px}.error,.success{font-size:13px;padding:12px 16px}.empty-state{padding:30px 16px}}@media (hover:none) and (pointer:coarse){.btn,a,button{min-width:44px}.btn,a,button,input,select,textarea{min-height:44px}}.btn:disabled,.btn[aria-disabled=true],button:disabled{cursor:not-allowed;filter:none;opacity:.55}.btn:disabled:active,.btn:disabled:hover,.btn[aria-disabled=true]:hover{box-shadow:none;filter:none;transform:none}.btn[aria-busy=true]{cursor:progress}.skip-link{background:#1e293b;background:var(--secondary-color);border-radius:12px;border-radius:var(--radius-md);color:#fff;font-weight:600;padding:10px 16px;position:absolute;right:12px;text-decoration:none;top:-100px;z-index:2000}.skip-link:focus{outline:3px solid #fbbf24;outline:3px solid var(--accent-gold);top:12px}main#main-content:focus{outline:none}.field-error{color:#b91c1c;color:var(--danger-text);display:block;font-size:13px;font-weight:600;margin-top:6px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.auth-container{align-items:center;background:linear-gradient(135deg,var(--secondary-color) 0,#334155 50%,var(--secondary-dark) 100%);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:24px;position:relative}.auth-container:before{background:radial-gradient(circle at 20% 80%,#f59e0b26 0,#0000 50%),radial-gradient(circle at 80% 20%,#fbbf241a 0,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.auth-card{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-width:420px;padding:48px 40px;position:relative;width:100%;z-index:1}.auth-card h1{color:var(--text-primary);font-size:36px;font-weight:700;letter-spacing:-.5px;margin-bottom:8px;text-align:center}.auth-card h2{color:var(--text-secondary);font-size:16px;font-weight:400;line-height:1.5;margin-bottom:40px}.auth-card h2,.google-signin-section{text-align:center}.signin-description{color:var(--text-secondary);font-size:14px;line-height:1.6;margin-bottom:28px}.btn-google{align-items:center;background:#fff;border:2px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--text-primary);display:flex;font-size:16px;font-weight:600;gap:14px;justify-content:center;padding:14px 24px;transition:all var(--transition-fast);width:100%}.btn-google:hover:not(:disabled){background:var(--background-color);border-color:var(--primary-color);box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-google:active:not(:disabled){background:var(--border-light);transform:translateY(0)}.btn-google:disabled{cursor:not-allowed;opacity:.6}.google-icon{height:24px;width:24px}.auth-divider{align-items:center;display:flex;gap:12px;margin:24px 0}.auth-divider:after,.auth-divider:before{background:var(--border-color);content:"";flex:1 1;height:1px}.auth-divider span{color:var(--text-secondary);font-size:14px;font-weight:500}.email-input,.email-link-section{text-align:center}.email-input{border:2px solid var(--border-color);border-radius:var(--radius-md);box-sizing:border-box;font-family:Heebo,Rubik,sans-serif;font-size:16px;margin-bottom:12px;padding:14px 16px;transition:border-color .3s ease;width:100%}.email-input:focus{border-color:var(--primary-color);outline:none}.btn-email{background:var(--secondary-color);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px 24px;transition:all var(--transition-fast);width:100%}.btn-email:hover:not(:disabled){background:var(--secondary-dark);transform:translateY(-2px)}.btn-email:disabled{cursor:not-allowed;opacity:.5}.btn-demo{background:#0000;border:1.5px solid #6366f1;border-radius:var(--radius-md);color:#6366f1;cursor:pointer;font-size:15px;font-weight:600;padding:13px 24px;transition:all var(--transition-fast);width:100%}.btn-demo:hover{background:#6366f1;color:#fff;transform:translateY(-2px)}.email-sent-section{padding:16px 0;text-align:center}.email-sent-icon{font-size:48px;margin-bottom:12px}.email-sent-section h3{color:#16a34a;color:var(--success-color,#16a34a);font-size:22px;margin-bottom:12px}.email-sent-section p{color:var(--text-secondary);font-size:14px;margin-bottom:4px}.sent-email{color:var(--text-primary)!important;direction:ltr;font-size:16px!important;font-weight:700;margin-bottom:16px!important}.email-sent-note{color:var(--text-secondary);font-size:13px;margin-top:12px!important}.btn-link{background:none;border:none;color:var(--primary-color);cursor:pointer;font-size:14px;font-weight:600;margin-top:16px;text-decoration:underline}.btn-link:hover{color:var(--primary-dark)}@media (max-width:768px){.auth-container{align-items:flex-start;padding:60px 16px 16px}.auth-card{border-radius:var(--radius-lg);padding:32px 24px}.auth-card h1{font-size:28px}.auth-card h2{font-size:14px;margin-bottom:32px}.btn-google{font-size:15px;padding:14px 20px}}@media (max-width:480px){.auth-container{padding:40px 12px 12px}.auth-card{padding:28px 20px}.auth-card h1{font-size:24px}}.auth-public-links{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-top:24px}.auth-public-links a{padding:12px 4px}.nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(135deg,var(--secondary-color) 0,#334155 50%,var(--secondary-dark) 100%);border-bottom:none;box-shadow:var(--shadow-lg);margin-bottom:0;min-height:70px;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.nav:after{background:linear-gradient(90deg,var(--primary-color) 0,var(--accent-gold) 50%,var(--primary-color) 100%);bottom:0;content:"";height:3px;left:0;position:absolute;right:0}.nav-content{align-items:center;display:flex;flex-wrap:nowrap;gap:20px;justify-content:space-between;margin:0 auto;max-width:1400px;min-height:64px;padding:16px 24px;position:relative}.nav-title{color:#fff;flex-shrink:0;font-size:22px;font-weight:700;gap:10px;letter-spacing:-.3px;min-width:200px;text-shadow:0 2px 10px #0000004d;white-space:nowrap}.nav-links,.nav-title{align-items:center;display:flex;margin:0}.nav-links{flex:1 1;flex-wrap:nowrap;gap:8px;justify-content:center;list-style:none;min-width:0;overflow:hidden;padding:0}.nav-links a,.nav-links li{align-items:center;display:flex}.nav-links a{background:#0000;border:none;border-radius:var(--radius-md);color:#ffffffe6;flex-shrink:1;font-size:14px;font-weight:500;height:40px;line-height:1.1;max-width:140px;min-width:0;overflow:hidden;padding:10px 18px;position:relative;text-decoration:none;text-overflow:ellipsis;transition:all var(--transition-fast);white-space:nowrap}.nav-links a:hover{background:#ffffff1a;color:#fff;transform:translateY(-1px)}.nav-links a.active{background:linear-gradient(135deg,var(--primary-color) 0,var(--accent-gold) 100%);box-shadow:var(--shadow-gold);color:var(--secondary-color);font-weight:600}.logout-btn{align-items:center;background:#0000!important;border:2px solid #ffffff4d!important;border-radius:var(--radius-md)!important;box-shadow:none;color:#fff!important;display:flex;flex-shrink:0;font-size:13px!important;font-weight:600!important;height:38px;min-width:70px;padding:8px 16px!important;transition:all var(--transition-fast)!important;white-space:nowrap}.logout-btn:hover{background:var(--primary-color)!important;border-color:var(--primary-color)!important;box-shadow:var(--shadow-gold);color:var(--secondary-color)!important;transform:translateY(-2px)}.hamburger-btn{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:var(--radius-md);cursor:pointer;display:none;flex-direction:column;gap:5px;height:44px;justify-content:center;padding:10px;position:relative;transition:all var(--transition-fast);width:44px;z-index:1001}.hamburger-btn:hover{background:#ffffff26;border-color:#fff3}.hamburger-btn span{background:#fff;border-radius:2px;height:3px;margin:1px 0;transform-origin:center;transition:all .3s ease;width:24px}.hamburger-btn:hover span{background:var(--primary-color)}.hamburger-btn.open span:first-child{transform:rotate(45deg) translate(5px,5px)}.hamburger-btn.open span:nth-child(2){opacity:0}.hamburger-btn.open span:nth-child(3){transform:rotate(-45deg) translate(7px,-6px)}.menu-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;bottom:0;cursor:pointer;left:0;position:fixed;right:0;top:0;z-index:999}.nav-links::-webkit-scrollbar{width:4px}.nav-links::-webkit-scrollbar-track{background:#ffffff1a;border-radius:2px}.nav-links::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:2px}.nav-links::-webkit-scrollbar-thumb:hover{background:#ffffff80}@media (max-width:1200px){.nav-title{font-size:18px;min-width:120px}.nav-links{gap:2px}.nav-links a{font-size:11px;height:34px;max-width:110px;padding:6px 8px}.logout-btn{font-size:11px!important;height:34px!important;min-width:60px!important;padding:6px 10px!important}.nav.admin-nav .nav-links a{font-size:12px;height:36px;padding:6px 10px}.nav.admin-nav .logout-btn{font-size:12px!important;height:36px!important;min-width:65px!important;padding:6px 12px!important}}@media (max-width:1024px){.nav-content{gap:8px;padding:10px 16px}.nav-title{font-size:16px;min-width:100px}.nav-links{gap:1px}.nav-links a{font-size:10px;height:30px;max-width:85px;padding:5px 7px}.logout-btn{font-size:10px!important;height:30px!important;min-width:50px!important;padding:5px 7px!important}.nav.admin-nav .nav-links a{font-size:11px;height:32px;padding:5px 8px}.nav.admin-nav .logout-btn{font-size:11px!important;height:32px!important;min-width:55px!important;padding:5px 9px!important}}@media (max-width:768px){.nav-content{align-items:center;flex-direction:row-reverse;justify-content:space-between;min-height:60px;padding:12px 16px;position:relative}.nav-title{flex:1 1;font-size:14px;min-width:0;padding:0 10px;text-align:center}.hamburger-btn{display:flex!important;flex-shrink:0;min-height:44px;min-width:44px}.nav-links{align-items:center;background:linear-gradient(135deg,var(--secondary-color) 0,#334155 50%,var(--secondary-dark) 100%);box-shadow:-4px 0 20px #0000004d;box-sizing:border-box;flex-direction:column;flex-wrap:nowrap;gap:4px;height:100vh;justify-content:flex-start;max-width:320px;min-width:0;overflow-x:hidden;overflow-y:auto;padding:40px 20px 20px;position:fixed;right:-100%;top:0;transition:right .4s ease;width:85%;z-index:1000}.nav-links.open{right:0!important}.nav-links li{border-bottom:1px solid #ffffff14;display:block!important;flex-shrink:0;opacity:1!important;visibility:visible!important;width:100%}.nav-links a{align-items:center;background:#0000;border:none;border-radius:var(--radius-md);box-sizing:border-box;display:flex;flex-shrink:0;font-size:15px;height:auto;justify-content:center;line-height:1.3;max-width:none;min-height:48px;overflow:visible;padding:14px 20px;text-align:center;text-overflow:clip;white-space:normal;width:100%}.nav-links a:hover{background:#ffffff26;transform:translateX(-3px)}.nav-links a.active{background:var(--primary-color)!important;color:var(--secondary-color)!important}.logout-btn{align-items:center!important;border-radius:var(--radius-sm)!important;box-sizing:border-box!important;display:flex!important;flex-shrink:0!important;font-size:14px!important;height:auto!important;justify-content:center!important;margin-top:10px!important;max-width:none!important;min-height:40px!important;min-width:0!important;min-width:auto!important;padding:12px 15px!important;width:100%!important}.nav-links.open:before{background:#00000080;bottom:0;content:"";left:0;pointer-events:auto;position:fixed;right:320px;top:0;z-index:-1}}@media (max-width:480px){.nav-content{min-height:56px;padding:10px 12px}.nav-title{font-size:15px;min-width:80px}.hamburger-btn{min-height:44px;min-width:44px}}@media (max-width:768px){.hamburger-btn{display:flex!important}}.nav-links-container{overflow:hidden;white-space:nowrap}.nav-links-container .nav-links{-ms-overflow-style:none;overflow-x:auto;scrollbar-width:none}.nav-links-container .nav-links::-webkit-scrollbar{display:none}.nav.admin-nav{min-height:75px}.nav.admin-nav .nav-content{padding:15px 20px}.nav.admin-nav .nav-title{font-size:22px;min-width:200px}.nav.admin-nav .nav-links a{font-size:13px;height:38px;max-width:130px;padding:8px 12px}.nav.admin-nav .logout-btn{font-size:13px!important;height:38px!important;min-width:70px!important;padding:8px 14px!important}@media (min-width:769px) and (max-width:1440px){.nav.admin-nav .nav-content{flex-wrap:wrap;row-gap:6px}.nav.admin-nav .nav-links{flex-basis:100%;flex-wrap:wrap;justify-content:center;order:3;overflow:visible;row-gap:4px}.nav.admin-nav .nav-links a{font-size:13px;height:34px;max-width:none;overflow:visible;padding:6px 10px;text-overflow:clip}}.nav.user-nav .nav-links a{font-size:13px;height:36px;max-width:140px;padding:8px 12px}.nav.user-nav .logout-btn{font-size:13px!important;height:36px!important;min-width:70px!important;padding:8px 16px!important}.public-navigation{align-items:center;background:#fff;display:flex;flex-wrap:wrap;gap:16px;justify-content:center;padding:16px}@media (max-width:768px){.nav .nav-links:not(.open){pointer-events:none;visibility:hidden}.nav .nav-links.open{visibility:visible}.nav.admin-nav .nav-links a,.nav.user-nav .nav-links a{font-size:16px;height:auto;justify-content:flex-start;max-width:none;min-height:48px;white-space:normal;width:100%}.nav .nav-links.open:before{display:none}}div.nav-title{font-family:Heebo,sans-serif;font-weight:700}.nav-links a[aria-current=page]{background:linear-gradient(135deg,var(--primary-color) 0,var(--accent-gold) 100%);color:var(--secondary-color);font-weight:600}@media (prefers-reduced-motion:reduce){.nav-links a:hover{transform:none}}.install-app-card{background:linear-gradient(120deg,#fff9e6,#fff);border:1px solid #e8d79d;border-radius:18px;color:#263244;margin:20px 0;padding:20px}.install-app-summary{align-items:center;display:flex;gap:12px}.install-app-summary img{border-radius:12px;flex-shrink:0}.install-app-summary h2{font-size:1.1rem;line-height:1.5;margin:0}.install-app-summary p{line-height:1.6;margin:4px 0 0}.install-app-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.install-app-actions .btn{min-height:44px;white-space:normal}.install-app-later{background:#0000;border:0;color:#475569;cursor:pointer;font:inherit;min-height:44px;padding:10px 12px}.install-app-guide{border-top:1px solid #e8d79d;line-height:1.8;margin-top:16px;padding-top:16px}.install-app-guide h3{font-size:1rem;margin:0 0 10px}.install-app-guide ol{-webkit-padding-start:24px;margin:0;padding-inline-start:24px}.install-app-guide li+li{margin-top:6px}.install-app-copy{display:flex;flex-wrap:wrap;gap:8px}.install-app-copy input{border:1px solid #94a3b8;border-radius:8px;flex:1 1 170px;font-size:16px;max-width:100%;min-width:0;padding:8px}.install-app-copy button{background:#fff;border:1px solid #94a3b8;border-radius:8px;color:#263244;cursor:pointer;font:inherit;min-height:44px;padding:8px 12px}.install-app-note{color:#475569;font-size:.9rem}.install-app-card :focus-visible{outline:3px solid #2563eb;outline-offset:3px}.install-app-card button:disabled{cursor:wait;opacity:.6}@media (max-width:360px){.install-app-card{padding:16px}.install-app-actions .btn{flex:1 1 100%}}.home-container{margin:0 auto;max-width:1200px;padding:24px}.payment-failed-banner{align-items:center;background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fca5a5;border-radius:14px;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px;padding:18px 22px}.payment-failed-text{display:flex;flex-direction:column;gap:4px}.payment-failed-text strong{color:#b91c1c;font-size:16px}.payment-failed-text span{color:#7f1d1d;font-size:14px}.payment-failed-banner .btn{flex-shrink:0;font-weight:600;padding:12px 24px}@media (max-width:600px){.payment-failed-banner{align-items:stretch;flex-direction:column;text-align:center}.payment-failed-banner .btn{width:100%}}.welcome-section{background:linear-gradient(135deg,var(--secondary-color) 0,#334155 50%,var(--secondary-dark) 100%);border:none;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);color:#fff;margin-bottom:48px;overflow:hidden;padding:72px 40px;position:relative;text-align:center}.welcome-section:before{background:radial-gradient(circle at 20% 80%,#f59e0b26 0,#0000 50%),radial-gradient(circle at 80% 20%,#fbbf241a 0,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.welcome-section:after{background:linear-gradient(135deg,var(--primary-color),var(--accent-gold),var(--primary-color));border-radius:var(--radius-xl);bottom:-2px;content:"";left:-2px;opacity:.5;position:absolute;right:-2px;top:-2px;z-index:-1}.welcome-section h1{-webkit-text-fill-color:#fff!important;color:#fff!important;font-size:48px;font-weight:800;letter-spacing:-.5px;margin-bottom:20px;position:relative;text-shadow:0 4px 20px #0000004d;z-index:1}.welcome-section p{font-size:20px;font-weight:400;line-height:1.6;margin:0 auto;max-width:600px;opacity:.9;position:relative;z-index:1}.menu-grid{grid-gap:28px;display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:50px}.menu-card{background:#fff;border:1px solid var(--border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);color:var(--text-primary);overflow:hidden;padding:40px 32px;position:relative;text-align:center;text-decoration:none;transition:all var(--transition-slow)}.menu-card:before{background:linear-gradient(90deg,var(--primary-color) 0,var(--accent-gold) 50%,var(--primary-color) 100%);content:"";height:5px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:right;transition:transform var(--transition-slow)}.menu-card:hover:before{transform:scaleX(1);transform-origin:left}.menu-card:hover{border-color:var(--primary-light);box-shadow:var(--shadow-xl);transform:translateY(-12px)}.menu-icon{animation:float 3s ease-in-out infinite;display:block;font-size:64px;margin-bottom:24px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.menu-card h2{color:var(--primary-color);font-size:24px;font-weight:700;margin-bottom:12px}.menu-card p{color:var(--text-secondary);font-size:15px;line-height:1.6;margin:0}.info-section{background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:50px}.info-section h3{color:var(--text-primary);font-size:32px;font-weight:700;margin-bottom:40px;text-align:center}.steps{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.step{background:var(--primary-light);border-radius:var(--radius-md);padding:24px;text-align:center;transition:transform .3s ease}.step:hover{transform:translateY(-5px)}.step-number{align-items:center;background:linear-gradient(135deg,var(--primary-color) 0,var(--accent-gold) 100%);border-radius:50%;box-shadow:0 4px 12px #f4c54280;color:var(--secondary-color);display:flex;font-size:28px;font-weight:800;height:60px;justify-content:center;margin:0 auto 16px;width:60px}.step p{color:var(--text-primary);font-size:16px;font-weight:500;line-height:1.6;margin:0}@media (max-width:768px){.welcome-section{padding:40px 20px}.welcome-section h1{font-size:32px}.welcome-section p{font-size:18px}.menu-grid{gap:16px;grid-template-columns:1fr}.menu-card{padding:28px}.info-section{padding:30px 20px}.info-section h3{font-size:26px}.steps{gap:16px;grid-template-columns:1fr}}.home-container .welcome-section{margin-bottom:20px;padding:24px;text-align:start}.home-container .welcome-section h1{font-size:28px;margin-bottom:6px}.home-container .welcome-section p{font-size:16px;margin:0}.home-registration,.upcoming-meals{margin-bottom:20px;padding:22px}.home-registration{background:#edf6ff;border:1px solid #b7d9f9}.home-status-link{display:block;margin-top:16px}.upcoming-meals h2{font-size:24px;margin:0 0 8px}.upcoming-date{font-weight:600}.upcoming-meals ul{list-style:none;margin:12px 0 20px;padding:0}.upcoming-meals li{grid-gap:4px;border-bottom:1px solid #e4e9f0;display:grid;gap:4px;padding:12px 0}.upcoming-meals small{color:#526075}.home-container .menu-grid{gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:20px}.home-container .menu-card{padding:18px 12px}.home-container .menu-icon{animation:none;font-size:30px;margin-bottom:8px}.home-container .menu-card h2{font-size:18px;margin-bottom:6px}.home-container .info-section{padding:20px}.home-container .info-section summary{cursor:pointer;font-weight:700;min-height:30px}@media (max-width:480px){.home-container{padding:16px}.home-container .welcome-section h1{font-size:24px}.home-container .menu-card p{display:none}.home-container .menu-card h2{font-size:16px}.home-registration .btn,.upcoming-meals .btn{width:100%}}.home-registration-check{color:#475569;margin:0 0 16px}.one-time-dialog{border:0;border-radius:1rem;box-shadow:0 1rem 3rem #0003;color:#263238;max-height:90dvh;overflow-y:auto;padding:1.25rem;width:min(36rem,calc(100% - 2rem))}.one-time-dialog::backdrop{background:#18222b88}.one-time-actions,.one-time-heading{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between}.one-time-heading h2{font-size:1.4rem;margin:0}.one-time-fields{grid-gap:.75rem;border:0;display:grid;gap:.75rem;margin:0;min-width:0;padding:1rem 0}.one-time-fields select{background:#fff;border:1px solid #bbb;border-radius:.5rem;font-size:1rem;min-height:3rem;min-width:0;padding:.65rem;width:100%}.one-time-dialog .btn{min-height:2.75rem;white-space:normal}.one-time-dialog p{line-height:1.6}.one-time-summary{background:#f3f7f3;border-radius:.75rem;padding:1rem}.one-time-badge{background:#e4f1e8;border-radius:1rem;color:#285139;display:inline-block;font-size:.875rem;padding:.2rem .55rem}.one-time-entry{margin-block:.75rem}@media (max-width:480px){.one-time-dialog{padding:1rem}.one-time-summary .btn{width:100%}}.one-time-range{color:#475569;font-size:.9rem;margin:0}.one-time-fields option:disabled,.one-time-option-disabled{color:#94a3b8}.registration-progress{margin:16px 0 24px}.registration-progress ol{display:flex;gap:8px;list-style:none;margin:0;padding:0}.registration-progress li{border-bottom:3px solid #dbe1e9;color:#586478;flex:1 1;font-size:14px;padding-bottom:10px}.registration-progress li.reached{border-color:#df8500;color:#243247}.registration-progress li[aria-current]{font-weight:700}.registration-progress li span{-webkit-margin-end:5px;display:inline-block;margin-inline-end:5px}@media (max-width:360px){.registration-progress li{font-size:12px}}.children-container{max-width:1000px;padding:24px}.payment-cta-banner{align-items:center;background:linear-gradient(135deg,#eff6ff,#e0f2fe);border:1px solid #bae6fd;border-radius:14px;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px;padding:18px 20px}.payment-cta-text{display:flex;flex-direction:column;gap:4px}.payment-cta-text strong{color:var(--text-primary);font-size:16px}.payment-cta-text span{color:var(--text-secondary);font-size:14px}.payment-cta-banner .btn{flex-shrink:0;font-weight:600;padding:12px 24px}.payment-setup-step{align-items:stretch;flex-direction:column;padding:28px;scroll-margin-top:140px}.payment-setup-step:focus-visible{outline:3px solid #1d4ed8;outline-offset:3px}.payment-setup-step h2{color:var(--text-primary);margin:0 0 12px}.payment-setup-step p{line-height:1.6;margin:4px 0}.payment-step-actions{display:flex;flex-wrap:wrap;gap:12px}.payment-step-actions .btn{white-space:normal}@media (max-width:600px){.payment-cta-banner{align-items:stretch;flex-direction:column;text-align:center}.payment-cta-banner .btn{width:100%}}.page-header{align-items:center;border-bottom:2px solid var(--border-light);display:flex;justify-content:space-between;margin-bottom:32px;padding-bottom:24px}.page-header h1{color:var(--text-primary);font-size:28px;font-weight:700;letter-spacing:-.3px;margin:0}.child-form{background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);margin-bottom:32px;padding:32px}.child-form h2{align-items:center;color:var(--text-primary);display:flex;font-size:20px;font-weight:600;gap:10px;margin-bottom:24px;margin-top:0}.child-form h2:before{background:linear-gradient(180deg,var(--primary-color) 0,var(--accent-gold) 100%);border-radius:2px;content:"";height:24px;width:4px}.days-selection{display:flex;flex-direction:column;gap:12px;margin-top:16px}.info-message{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #93c5fd;border-radius:var(--radius-md);color:#1d4ed8}.info-message,.warning-message{font-size:14px;line-height:1.5;margin:16px 0;padding:16px 20px}.warning-message{background:linear-gradient(135deg,#fefce8,#fef9c3);border:1px solid #fcd34d;border-radius:var(--radius-md);color:#92400e}.day-meal-group{align-items:center;background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--radius-md);display:flex;gap:16px;padding:16px 20px;transition:all var(--transition-fast)}.day-meal-group:hover{background:var(--primary-light);border-color:var(--primary-color);box-shadow:var(--shadow-sm)}.day-meal-group .checkbox-group{font-weight:600;margin:0;min-width:110px}.day-meal-group .checkbox-group input[type=checkbox]{accent-color:var(--primary-color);cursor:pointer;height:20px;width:20px}.meal-select{background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;flex:1 1;font-size:15px;font-weight:500;padding:12px 16px;transition:all var(--transition-fast);transition:all .3s ease}.meal-select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #f4c54233}.selected-count{background:var(--primary-light);border-radius:var(--radius-sm);color:var(--primary-dark);display:block;font-size:14px;font-weight:600;margin-top:12px;padding:10px 16px}.meals-summary{margin:12px 0}.meals-list{list-style:none;margin:8px 0 0;padding:0}.meals-list li{border-bottom:1px solid #f0f0f0;padding:6px 0}.meals-list li:last-child{border-bottom:none}.day-name{color:var(--primary-color);display:inline-block;font-weight:600;min-width:60px}.meal-name{color:var(--text-primary)}.meal-price{color:var(--text-secondary);font-size:13px}.form-actions{display:flex;gap:10px;margin-top:20px}.children-list{grid-gap:24px;display:grid;gap:24px}.child-card{align-items:flex-start;background:#fff;border-radius:var(--radius-lg);border-right:5px solid var(--primary-color);border:2px solid var(--border-color);box-shadow:var(--shadow-md);display:flex;justify-content:space-between;padding:28px;transition:all .3s ease}.child-card:hover{box-shadow:var(--shadow-lg);transform:translateX(-5px)}.child-info h3{color:var(--primary-color);font-size:24px;font-weight:700;margin:0 0 16px}.child-info p{color:var(--text-secondary);font-size:15px;margin:10px 0}.child-info p strong{color:var(--text-primary);font-weight:600}.status-active{background:#e8f5e9;color:var(--success-color)}.status-active,.status-inactive{border-radius:12px;display:inline-block;font-weight:700;padding:4px 12px}.status-inactive{background:#ffebee;color:var(--danger-color)}.status-suspended{background:#fff3e0;color:#e65100}.status-deleted,.status-suspended{border-radius:12px;display:inline-block;font-weight:700;padding:4px 12px}.status-deleted{background:#ffcdd2;color:#b71c1c}.child-suspended{border-right-color:#ff9800!important;opacity:.75}.child-deleted{border-right-color:#b71c1c!important;opacity:.5}.btn-warning{background:#ff9800;border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-weight:600;padding:8px 16px;transition:background .2s}.btn-warning:hover{background:#e65100}.child-actions{display:flex;flex-shrink:0;gap:12px}.empty-state{background:linear-gradient(135deg,var(--primary-light) 0,#fff 100%);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:80px 40px;text-align:center}.empty-state p{color:var(--text-secondary);font-size:20px;font-weight:500;margin-bottom:24px}@media (max-width:768px){.page-header{align-items:stretch;flex-direction:column;gap:16px;margin-bottom:24px}.page-header h1{font-size:26px;text-align:center}.child-form{padding:20px 16px}.child-form h2{font-size:22px;text-align:center}.child-card{flex-direction:column;gap:20px;padding:20px 16px}.child-info h3{font-size:20px;margin-bottom:16px;text-align:center}.child-actions{flex-direction:row;gap:12px;width:100%}.child-actions button{flex:1 1;min-height:48px}.day-meal-group{align-items:stretch;flex-direction:column;padding:12px}.day-meal-group .checkbox-group{min-width:auto;width:100%}.day-meal-group .checkbox-group label{align-items:center;display:flex;font-size:16px;gap:12px}.meal-select{font-size:16px;min-height:48px;padding:12px 14px;width:100%}.meals-list{padding-right:20px}.meals-list li{font-size:15px;padding:8px 0}.empty-state{padding:50px 24px}.empty-state p{font-size:16px}.form-actions{display:flex;flex-direction:column;gap:12px}.form-actions button{min-height:48px;width:100%}}.child-form-fields{border:0;margin:0;min-width:0;padding:0}.child-form .error,.settings-container .error{scroll-margin-top:140px}.child-form-fields:disabled{opacity:.75}.children-list[hidden]{display:none}.deleted-children{margin-top:24px}.deleted-children>summary{color:#475569;cursor:pointer;font-weight:600;padding:10px 0}.deleted-children .child-card{margin-top:12px}.child-card[aria-busy=true]{opacity:.85}.child-confirm{background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;display:flex;flex-direction:column;gap:8px;padding:12px}.child-confirm p{color:#1e293b;font-weight:600;margin:0}.child-info .success{margin:12px 0 0}.explanation-text{color:#526075;font-size:.9em;margin:5px 0 10px}.day-unavailable{color:#64748b;font-size:.8em;margin-right:4px}@media (prefers-reduced-motion:reduce){.child-card:hover{transform:none}}.mobile-month{background:#fff;border:1px solid #dde4ed;border-radius:18px;box-shadow:0 2px 8px #24324708;padding:12px 10px}.mobile-month-hint{color:#526075;font-size:14px;margin:0 0 10px;text-align:center}.mobile-month-days,.mobile-month-weekdays{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(7,minmax(0,1fr))}.mobile-month-weekdays{color:#526075;font-size:13px;font-weight:600;margin-bottom:6px;text-align:center}.mobile-month-weekdays>span{padding:4px 0}.mobile-month-day{align-items:center;-webkit-appearance:none;appearance:none;background:#fff;border:1px solid #0000;border-radius:12px;color:#263349;cursor:pointer;display:flex;flex-direction:column;font:inherit;gap:2px;justify-content:center;min-height:48px;min-width:0;padding:4px 0 2px}.mobile-month-number{font-size:16px;font-weight:600;line-height:24px}.mobile-month-day.is-weekend{background:#f6f7f9;color:#6b7280}.mobile-month-day.is-today{border-color:#d68600}.mobile-month-day.is-selected{background:#fff0c9;border-color:#b56b00;box-shadow:inset 0 0 0 1px #b56b00;color:#382810}.mobile-month-day.is-blocked{background:#b91c1c;border-color:#b91c1c;color:#fff}.mobile-month-day.is-blocked.is-selected{background:#991b1b;border-color:#991b1b;box-shadow:inset 0 0 0 2px #fff}.mobile-month-day.is-blocked.is-today .mobile-month-number{text-decoration:underline;text-underline-offset:3px}.mobile-month-day:focus-visible{outline:3px solid #2563eb;outline-offset:1px}.mobile-month-markers{align-items:center;display:flex;gap:3px;justify-content:center;min-height:9px}.cancelled-dot,.meal-dot{background:#b76b00;border-radius:50%;display:inline-block;flex-shrink:0;height:6px;width:6px}.cancelled-dot{background:#0000;border:1.5px solid #64748b}.blocked-mark{color:#b91c1c;font-size:14px;font-style:normal;font-weight:600;line-height:9px}.mobile-month-day.is-blocked .blocked-mark{color:#fff}.mobile-month-day.is-blocked .meal-dot{background:#fff}.mobile-month-day.is-blocked .cancelled-dot{border-color:#fff}.mobile-month-legend{border-top:1px solid #edf0f5;color:#526075;display:flex;flex-wrap:wrap;font-size:12px;gap:14px;justify-content:center;margin-top:12px;padding-top:10px}.mobile-month-legend>span{align-items:center;display:inline-flex;gap:5px}.selected-day-meals{margin-top:16px;scroll-margin-top:120px}.selected-day-meals .day-meals-heading{background:#eff6ff;padding:14px 16px}.selected-day-meals .day-meals-heading h2{color:#1d4ed8;font-size:18px;margin:0}.selected-day-meals .day-meals-heading p{color:#526075;font-size:13px;margin:4px 0 0}.day-block-notice,.day-no-meals{color:#526075;font-size:14px;line-height:1.7;margin:0;padding:14px 16px}.day-block-notice{background:#f8fafc;border-bottom:1px solid #e4e9f0}@media (prefers-reduced-motion:reduce){.mobile-month-day{scroll-behavior:auto}}.calendar-container{max-width:1000px;overflow-x:hidden;padding:24px;width:100%}.calendar-container h1{color:var(--text-primary);font-size:28px;font-weight:700;letter-spacing:-.3px;margin-bottom:28px}.filters-section{background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);margin-bottom:28px;padding:24px}.view-mode-toggle{border-bottom:1px solid var(--border-light);display:flex;gap:12px;margin-bottom:20px;padding-bottom:20px}.view-mode-toggle button{border-radius:var(--radius-md);flex:1 1;font-size:15px;padding:12px 24px;transition:all var(--transition-fast)}.filter-group{margin-bottom:20px}.filter-group label{color:var(--text-primary);display:block;font-size:14px;font-weight:600;margin-bottom:8px}.filter-group select{background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:15px;max-width:300px;padding:12px 16px;transition:all var(--transition-fast);width:100%}.filter-group select:focus{border-color:var(--primary-color);box-shadow:0 0 0 4px #f59e0b1a;outline:none}.month-navigation{align-items:center;border-top:1px solid var(--border-light);display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;padding-top:20px}.month-navigation h2{color:var(--text-primary);flex:1 1;font-size:20px;font-weight:600;margin:0;text-align:center}.entries-list{grid-gap:16px;display:grid;gap:16px}.entry-card{align-items:center;background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;padding:24px;transition:all var(--transition-fast)}.entry-card:hover{border-color:var(--primary-light);box-shadow:var(--shadow-md)}.entry-card.cancelled{background:var(--background-color);opacity:.6}.entry-info h3{color:var(--text-primary);font-size:18px;font-weight:600;margin:0 0 8px}.entry-info p{color:var(--text-secondary);font-size:14px;margin:4px 0}.entry-date{color:var(--text-primary)!important;font-weight:500}.entry-meal{font-size:14px}.cancelled-badge{background-color:var(--danger-color);border-radius:12px;color:#fff;display:inline-block;font-size:12px;font-weight:700;margin-top:8px;padding:4px 12px}.entry-actions{display:flex;gap:10px}.calendar-grid-view{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;max-width:100%;overflow:hidden;width:100%}.calendar-grid-view .calendar-header{background:var(--secondary-color);border-radius:0;box-shadow:none;color:#fff;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));margin:0;padding:0}.calendar-grid-view .calendar-weekday{color:#fff;font-size:14px;font-weight:700;padding:12px 4px;text-align:center}.calendar-grid-view .calendar-days{grid-gap:1px;background:var(--border-color);display:grid;gap:1px;grid-template-columns:repeat(7,minmax(0,1fr));width:100%}.calendar-grid-view .calendar-day{aspect-ratio:auto;background:#fff;border:0;border-radius:0;cursor:default;min-height:120px;min-width:0;padding:8px;position:relative;transition:background-color .2s}.calendar-grid-view .calendar-day:hover{background-color:#f8f9fa;box-shadow:none;transform:none}.calendar-day.empty{background-color:#fafafa}.calendar-day.today{background-color:#e3f2fd}.calendar-day.blocked{background:repeating-linear-gradient(45deg,#ffe0e0,#ffe0e0 10px,#fff5f5 0,#fff5f5 20px);border-color:#ff6b6b;cursor:not-allowed;opacity:.8;position:relative}.calendar-day.blocked:after{content:"🚫";font-size:1.2rem;left:5px;position:absolute;top:5px}.day-blocked-message{background:#fffc;border-radius:6px;color:#d32f2f;font-size:.85rem;font-weight:700;margin:5px;padding:10px;text-align:center}.calendar-day.today .day-number{align-items:center;background:var(--primary-color);border-radius:50%;color:#fff;display:flex;height:28px;justify-content:center;margin-bottom:5px;width:28px}.day-number{align-items:baseline;color:var(--text-primary);display:flex;font-size:14px;font-weight:700;gap:4px;margin-bottom:5px}.date-number{font-size:16px}.day-name-small{color:var(--text-secondary);font-size:11px;font-weight:400;opacity:.8}.day-entries{display:flex;flex-direction:column;gap:4px;max-height:80px;overflow-y:auto}.calendar-order-button{align-items:center;background:#fffbeb;border:1px solid #f3d59b;border-radius:var(--radius-sm);color:#92400e;cursor:pointer;display:inline-flex;font-family:inherit;font-size:.8125rem;font-weight:600;gap:.25rem;justify-content:center;line-height:1.35;margin-block:.25rem .5rem;min-height:2.125rem;padding:.375rem .25rem;transition:background-color .15s ease,border-color .15s ease;white-space:nowrap;width:100%}.calendar-order-button svg{flex-shrink:0;height:.875rem;width:.875rem}.calendar-order-button:focus-visible{outline:2px solid var(--secondary-color);outline-offset:2px;transition:none}@media (hover:hover) and (pointer:fine){.calendar-order-button:hover{background:var(--primary-light);border-color:var(--primary-dark)}}.calendar-order-button:active{background:#fde68a;border-color:var(--primary-dark)}@media (min-width:769px) and (max-width:1024px){.calendar-order-label{display:none}}@media (pointer:coarse){.calendar-order-button{min-height:2.75rem}}@media (prefers-reduced-motion:reduce){.calendar-order-button{transition:none}}.mini-entry{align-items:center;background:#fef3c7;border:1px solid #f3d59b;border-radius:4px;color:#1e293b;display:flex;font-size:11px;gap:6px;justify-content:space-between;line-height:1.35;padding:4px 6px;transition:opacity .2s}.entry-meal-name{color:#475569;display:block;font-size:10.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-entry:hover{opacity:.95}.mini-entry.cancelled{background:var(--border-color);color:var(--text-secondary);text-decoration:line-through}.mini-entry.blocked-child{background:#f8d7da;opacity:.6;text-decoration:line-through}.blocked-child-reason{color:#dc3545;font-size:.65em;white-space:nowrap}.entry-info-mini{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0;overflow:hidden}.entry-child{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-meal-icon{font-size:14px}.mini-cancel-btn{background:#ffffffb3;border:1px solid #0000;border-radius:4px;cursor:pointer;flex-shrink:0;font-size:13px;min-height:24px;min-width:24px;opacity:.85;padding:0;transition:opacity .2s,transform .2s}.mini-cancel-btn:hover{opacity:1;transform:scale(1.1)}.mini-cancel-btn:focus-visible{outline:2px solid var(--secondary-color);outline-offset:1px}.deadline-passed{color:#64748b;flex-shrink:0;font-size:12px}.mini-entry.cancelled .mini-cancel-btn{opacity:.9}@media (max-width:1024px){.calendar-grid-view .calendar-header{grid-template-columns:repeat(7,minmax(0,1fr))}.filter-group{flex-direction:column}}@media (max-width:768px){.calendar-container{max-width:100vw;padding:12px 8px;width:100%}.calendar-container h1{font-size:24px;margin-bottom:20px;text-align:center}.filters-section{padding:16px 12px}.filters-bar{flex-direction:column;gap:12px}.filter-group{width:100%}.filter-group label{font-size:15px;margin-bottom:8px}.filter-group input,.filter-group select{font-size:16px;min-height:48px;padding:12px 14px;width:100%}.month-navigation{align-items:center;flex-direction:row;gap:10px}.month-navigation h2{flex:1 1;font-size:18px;text-align:center}.month-navigation button{flex-shrink:0;font-size:14px;min-height:44px;padding:10px 16px}.view-mode-toggle{flex-direction:row;gap:8px;justify-content:space-between;margin-bottom:16px}.view-mode-toggle button{flex:1 1;font-size:14px;min-height:48px;padding:12px 10px}.calendar-grid-view{-webkit-overflow-scrolling:touch;margin:0 -8px;overflow-x:auto;padding:0 8px}.calendar-grid-view .calendar-header{gap:4px;grid-template-columns:repeat(7,minmax(0,1fr));min-width:100%}.calendar-grid-view .calendar-weekday{font-size:12px;font-weight:600;min-width:45px;padding:10px 4px}.calendar-grid-view .calendar-days{gap:4px;min-width:100%}.calendar-grid-view .calendar-day{font-size:11px;min-height:90px;min-width:45px;padding:6px 4px}.day-number{font-size:13px;margin-bottom:4px}.date-number{font-size:15px}.day-name-small{font-size:10px}.day-entries{gap:3px;max-height:55px}.mini-entry{border-radius:4px;font-size:9px;padding:3px 4px}.entry-child{font-size:10px}.entry-meal-icon{font-size:12px}.mini-cancel-btn{font-size:12px;min-height:24px;min-width:24px;padding:2px 4px}.entries-list{gap:12px}.entry-card{align-items:flex-start;flex-direction:column;gap:15px;padding:18px 14px}.entry-info{width:100%}.entry-info h3{font-size:18px}.entry-info p{font-size:14px}.entry-actions{flex-direction:row;gap:10px;width:100%}.entry-actions button{flex:1 1;min-height:48px}}@media (max-width:480px){.calendar-container{padding:8px}.calendar-container h1{font-size:20px}.month-navigation h2{font-size:18px}.view-mode-toggle{gap:6px}.view-mode-toggle button{font-size:13px;padding:10px 8px}.calendar-grid-view .calendar-weekday{font-size:10px;padding:6px 2px}.calendar-grid-view .calendar-day{min-height:60px;padding:3px}.day-number{font-size:12px}.day-entries{max-height:40px}.mini-entry{font-size:8px;padding:1px 3px}.entry-card{padding:12px}.entries-list{gap:10px}.entry-card{border-radius:12px;padding:14px}.entry-info h3{font-size:16px;margin-bottom:6px}.entry-info p{font-size:13px;line-height:1.5}.entry-date{font-size:14px!important;font-weight:600!important}.entry-meal{background:var(--primary-light);border-radius:16px;display:inline-block;font-size:12px;margin-top:6px;padding:4px 10px}.cancelled-badge{font-size:11px;padding:3px 10px}.entry-actions{gap:8px}.entry-actions button{font-size:13px;padding:10px 14px}.empty-state{padding:30px 16px}.empty-state p{font-size:14px}}.calendar-date-group{background:#fff;border:1px solid #dde4ed;border-radius:14px;overflow:hidden}.calendar-date-group>h2{background:#eff6ff;color:#1d4ed8;font-size:18px;margin:0;padding:14px 18px}.calendar-date-group .entry-card{border:0;border-bottom:1px solid #edf0f5;border-radius:0;box-shadow:none;gap:12px;margin:0;padding:14px 18px}.calendar-date-group .entry-info h3{font-size:18px;margin:0 0 4px}.calendar-date-group .entry-info p{margin:4px 0}.calendar-date-group .meal-action{background:#0000;border:1px solid #cbd5e1;box-shadow:none;color:#334155;font-size:14px;min-height:44px;padding:8px 12px}.calendar-today{margin:8px 0}@media (max-width:600px){.calendar-container .filters-section{gap:8px;padding:14px}.calendar-container .view-mode-toggle{margin-bottom:8px}.calendar-container .month-navigation{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.calendar-container .month-navigation h2{font-size:22px;grid-column:1/-1;grid-row:1;margin:4px 0;text-align:center}.calendar-container .month-navigation button{font-size:14px;padding:10px}.calendar-date-group .entry-card{align-items:center;flex-direction:row}.calendar-date-group .entry-info{flex:1 1;min-width:0}.calendar-date-group .entry-actions{flex-shrink:0;width:auto}.calendar-date-group .entry-actions .btn{width:auto}.calendar-date-group .entry-meal{background:none;border-radius:0;color:#526075;font-size:14px;padding:0}.calendar-container .filters-section{align-items:end;display:grid;grid-template-columns:minmax(0,1fr) 48px}.calendar-container .filter-group{grid-column:1;grid-row:1;margin:0}.calendar-container .filter-group select{font-size:16px;max-width:none}.calendar-container .view-mode-toggle{border:0;grid-column:2;grid-row:1;margin:0;padding:0}.calendar-container .view-mode-toggle .btn{padding:10px}.calendar-container .month-navigation{border:0;grid-column:1/-1;grid-row:2;padding-top:8px}.calendar-container .calendar-today{background:none;box-shadow:none;color:#334155;font-size:14px;grid-column:1/-1;justify-self:center;margin:0;padding:6px 12px}}@media (max-width:768px){.calendar-container>h1{font-size:24px;margin:6px 0 8px}.calendar-policy{color:#526075;font-size:13px;line-height:1.6;margin:0 4px 14px}.calendar-container .filters-section{grid-gap:12px 8px;align-items:end;border-radius:18px;display:grid;gap:12px 8px;grid-template-columns:minmax(0,1fr) 48px;margin-bottom:12px;padding:12px}.calendar-container .view-mode-toggle{border:0;gap:6px;grid-column:1/-1;grid-row:1;margin:0;padding:0}.calendar-container .view-mode-toggle .btn{align-items:center;display:inline-flex;font-size:14px;justify-content:center;min-height:44px;padding:8px}.calendar-container .view-mode-toggle .btn-secondary{background:#f1f5f9;box-shadow:none;color:#334155}.calendar-container .view-mode-toggle .btn-primary{box-shadow:none}.calendar-container .view-mode-toggle .calendar-refresh{background:#f1f5f9;box-shadow:none;color:#334155;flex:0 0 44px}.calendar-container .filter-group{grid-column:1;grid-row:2;margin:0;min-width:0}.calendar-container .filter-group label{font-size:13px;margin-bottom:4px}.calendar-container .filter-group select{font-size:16px;max-width:none;min-height:44px;padding:8px 10px;width:100%}.calendar-container .calendar-today{background:#f1f5f9;box-shadow:none;color:#334155;font-size:14px;grid-column:2;grid-row:2;justify-self:stretch;margin:0;min-height:44px;padding:8px 4px}.calendar-container .month-navigation{grid-gap:8px;border:0;display:grid;gap:8px;grid-column:1/-1;grid-row:3;grid-template-columns:44px minmax(0,1fr) 44px;padding:0}.calendar-container .month-navigation h2{font-size:21px;grid-column:2;grid-row:1;margin:0;white-space:normal}.calendar-container .month-navigation .btn{background:#f1f5f9;box-shadow:none;color:#334155;font-size:20px;min-height:44px;min-width:0;padding:8px}.calendar-container .month-navigation .btn:first-child{grid-column:1;grid-row:1}.calendar-container .month-navigation .btn:last-child{grid-column:3;grid-row:1}.calendar-container .month-button-label{display:none}.selected-day-meals .entry-card{align-items:center;flex-direction:row;gap:10px}.selected-day-meals .entry-card.cancelled{background:#f8fafc;opacity:1}.selected-day-meals .cancelled-badge{background:#fee2e2;color:#991b1b}.selected-day-meals .entry-info{flex:1 1;min-width:0;overflow-wrap:anywhere}.selected-day-meals .entry-actions{flex-shrink:0;max-width:45%;overflow-wrap:anywhere;width:auto}.selected-day-meals .entry-actions .btn{width:auto}}.calendar-policy p{color:#475569;font-size:14px;line-height:1.6;margin:0 0 8px}.calendar-policy-unavailable{color:var(--danger-text);font-weight:600}.calendar-range-loading{color:#475569;margin:0 0 12px}.calendar-status{bottom:12px;margin-top:12px;position:-webkit-sticky;position:sticky;z-index:5}.calendar-status .error,.calendar-status .success{margin-bottom:0}.past-date-badge{color:#64748b;font-size:.9em}.blocked-indicator{color:var(--danger-text);font-size:.9em}.deadline-note{color:#64748b;font-size:.85em}.calendar-confirm{border:0;border-radius:1rem;box-shadow:0 1rem 3rem #0003;color:#1e293b;padding:1.25rem;width:min(28rem,calc(100% - 2rem))}.calendar-confirm::backdrop{background:#18222b88}.calendar-confirm h2{font-size:1.3rem;margin:0 0 8px}.calendar-confirm-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.calendar-confirm .btn{min-height:44px}.payments-container{max-width:1000px;padding:24px}.payments-container h1{color:var(--text-primary);font-size:28px;font-weight:700;letter-spacing:-.3px;margin-bottom:32px}.summary-cards{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:36px}.summary-card{border:1px solid var(--border-color);border-radius:var(--radius-xl);overflow:hidden;padding:32px;position:relative;text-align:center}.summary-card:before{bottom:0;content:"";position:absolute;right:0;top:0;width:4px}.summary-card.pending,.summary-card.total{background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.summary-card.pending:before,.summary-card.total:before{background:linear-gradient(180deg,var(--info-color) 0,#60a5fa 100%)}.summary-card.paid{background:linear-gradient(135deg,#f0fdf4,#dcfce7)}.summary-card.paid:before{background:linear-gradient(180deg,var(--success-color) 0,#4ade80 100%)}.summary-card h3{color:var(--text-secondary);font-size:14px;font-weight:500;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.summary-card .amount{color:var(--text-primary);font-size:40px;font-weight:700;letter-spacing:-1px;margin:0 0 8px}.summary-note{color:var(--text-muted);font-size:13px;font-style:normal;margin:0}.payments-list{grid-gap:16px;display:grid;gap:16px}.payment-card{align-items:center;background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);display:flex;gap:24px;justify-content:space-between;padding:24px 28px;transition:all var(--transition-fast)}.payment-card:hover{border-color:var(--primary-light);box-shadow:var(--shadow-md)}.payment-info h3{color:var(--text-primary);font-size:18px;font-weight:600;margin:0 0 8px}.payment-info p{color:var(--text-secondary);font-size:14px;margin:4px 0}.payment-month{font-weight:500}.payment-amount,.payment-month{color:var(--text-primary)!important}.payment-amount{font-size:28px;font-weight:700;letter-spacing:-.5px;margin:12px 0!important}.status-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:12px;font-weight:600;letter-spacing:.3px;margin-top:8px;padding:6px 14px}.status-badge.status-pending{background-color:#e3f2fd;color:#1976d2}.status-badge.status-paid{background-color:#d4edda;color:#155724}.status-badge.status-overdue{background-color:#f8d7da;color:#721c24}.payment-description{flex:1 1;max-width:350px}.meal-breakdown{background:linear-gradient(135deg,#4caf5015,#4caf5008);border-right:3px solid var(--primary-color);color:var(--text-primary);font-size:15px;font-weight:500;margin:0 0 10px;padding:10px 14px}.info-text,.meal-breakdown{border-radius:8px;line-height:1.5;text-align:right}.info-text{background:#f5f5f5;color:var(--text-secondary);font-size:14px;margin:0 0 8px;padding:12px 16px}.description-note{background:#fff9e6;border-radius:6px;border-right:2px solid #ffc107;color:var(--text-secondary);font-size:13px;line-height:1.4;margin:0;padding:8px 12px;text-align:right}@media (max-width:768px){.summary-cards{grid-template-columns:1fr}.payment-card{align-items:flex-start;flex-direction:column;gap:15px}.payment-description{max-width:100%;width:100%}}.payments-month-navigation{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.payment-details{margin:16px 0}.payment-details>summary,.summary-note>summary{cursor:pointer;font-weight:600;min-height:44px;padding:12px 0}@media (max-width:600px){.payments-month-navigation{display:grid;grid-template-columns:1fr 1fr}.payments-month-navigation strong{font-size:22px;grid-column:1/-1;grid-row:1;text-align:center}.payments-month-navigation .btn{font-size:14px;padding:10px}.payments-month-navigation .btn:last-child{grid-column:1/-1;margin:0!important}}.payments-note{margin-bottom:16px;padding:16px}.payments-balance{margin-bottom:24px;padding:20px}.payments-history-title{margin-top:30px}.payments-history{margin-top:16px}.payment-history-card{padding:20px}.payment-attempt{overflow-wrap:anywhere}.payments-refresh{margin-right:auto}.payments-month-loading{color:#475569;margin:0 0 12px}.payment-methods{margin-block:1.5rem;overflow-wrap:anywhere;padding:1.25rem}.payment-method{border-top:1px solid #e5e7eb;padding-block:1rem}.payment-method h3{font-size:1.125rem;margin-block:0 .5rem}.payment-method p{line-height:1.6}.payment-method .btn,.payment-methods button{min-height:2.75rem;white-space:normal}.payment-method .btn{align-items:center;display:flex;justify-content:center;margin-top:.5rem;text-decoration:none}@media (min-width:768px){.payment-method .btn{-webkit-margin-end:.75rem;display:inline-flex;margin-inline-end:.75rem}}.settings-container{max-width:800px;padding:24px}.settings-container h1{color:var(--text-primary);font-size:28px;font-weight:700;letter-spacing:-.3px;margin-bottom:28px}.settings-card{background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);margin-bottom:24px;padding:28px}.settings-card h2{color:var(--text-primary);font-size:18px;font-weight:600;margin-bottom:12px;margin-top:0}.settings-description{color:var(--text-secondary);font-size:14px;line-height:1.6;margin-bottom:28px}.input-hint{color:var(--text-muted);display:block;font-size:13px;margin-top:6px}@media (max-width:768px){.settings-container{padding:12px}.settings-container h1{font-size:24px;margin-bottom:20px}.settings-card{margin-bottom:20px;padding:20px}.settings-card h2{font-size:20px}}@media (max-width:480px){.settings-container{padding:8px}.settings-container h1{font-size:20px}.settings-card{padding:16px}.settings-card h2{font-size:18px}.info-icon{font-size:32px}.whatsapp-notice{font-size:14px;padding:12px}}