@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap");:root{--purple:#5938e8;--purple-dark:#24106f;--ink:#130e2d;--muted:#746f84;--line:#e7e4ee;--lime:#79d669;--coral:#ff765f;--shadow:0 18px 55px rgba(38,20,117,.18)}*{box-sizing:border-box}body{margin:0;background:#5a39e8;color:var(--ink);font-family:DM Sans,sans-serif}.app-shell{min-height:100vh;padding:18px;display:grid;grid-template-columns:200px 1fr;position:relative;overflow:hidden;background:radial-gradient(circle at 7% 86%,#7559f1 0,transparent 19%),#5938e8}.sidebar{color:white;padding:30px 18px 22px;display:flex;flex-direction:column;position:relative;min-height:calc(100vh - 36px)}.brand{display:flex;align-items:center;gap:13px;font-family:Manrope;font-weight:800;font-size:19px;line-height:1.15;padding:0 8px 46px}.brand-mark{width:46px;height:40px;background:white;color:var(--purple);display:grid;place-items:center;border-radius:15px 15px 22px 22px}.sidebar nav{display:flex;flex-direction:column;gap:8px}.logout,.sidebar nav button{border:0;background:transparent;color:#e9e4ff;padding:13px 14px;border-radius:12px;display:flex;gap:13px;align-items:center;font:600 14px inherit;text-align:left;cursor:pointer}.sidebar nav button.active{background:rgba(255,255,255,.17);color:white;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}.role-box{margin-top:auto;border:1px solid rgba(255,255,255,.35);border-radius:14px;padding:10px 12px;background:rgba(30,8,111,.16)}.role-box small{font-size:9px;letter-spacing:.08em}.role-box button{width:100%;border:0;background:none;color:white;display:flex;align-items:center;gap:8px;padding:8px 0 1px;font:700 14px inherit;cursor:pointer}.role-box button span{flex:1 1;text-align:left}.logout{margin-top:10px}.tomato{font-size:66px;position:absolute;left:-7px;bottom:66px;filter:drop-shadow(0 12px 14px rgba(25,8,90,.3));pointer-events:none}.tomato i{font-size:34px;position:absolute;left:57px;top:-20px}.workspace{border-radius:28px;min-width:0;box-shadow:var(--shadow);overflow:hidden}.workspace header{height:84px;border-bottom:1px solid #f0edf5;padding:16px 28px;display:flex;align-items:center;justify-content:space-between}.date-control{display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:15px;padding:7px}.date-control button{border:0;background:#f6f4fa;border-radius:10px;width:34px;height:34px;display:grid;place-items:center}.date-control svg{width:18px}.date-control div{min-width:174px}.date-control b,.date-control small,.profile small{display:block}.date-control small,.profile small{color:var(--muted);font-size:11px}.profile{display:flex;align-items:center;gap:10px}.profile>span{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--purple);color:white;font-weight:700}.profile b{font-size:13px}.mobile-menu{display:none}.content{padding:34px;max-width:1260px;margin:auto}.hero{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px}.hero h1{font-family:Manrope;font-size:43px;line-height:1.04;max-width:620px;margin:0 0 8px;letter-spacing:-.04em}.hero p{color:var(--muted);margin:0}.primary,.submit{border:0;background:var(--purple);color:white;border-radius:15px;padding:15px 20px;font:700 14px inherit;display:flex;align-items:center;gap:9px;box-shadow:0 11px 24px rgba(89,56,232,.25);cursor:pointer}.week-strip{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-bottom:18px}.week-strip button{background:white;border:0;border-right:1px solid var(--line);padding:14px 10px;min-width:0;color:var(--ink);font-family:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:7px}.week-strip button:last-child{border:0}.week-strip button.selected{box-shadow:inset 0 0 0 2px var(--purple);border-radius:16px;color:var(--purple)}.week-strip small{color:var(--muted);font-size:10px}.week-strip b{font-size:20px}.week-strip img{width:100%;height:70px;object-fit:cover;border-radius:10px}.week-strip strong{font-size:12px;line-height:1.2}.week-strip span{font-size:10px;line-height:1.25;color:var(--muted)}.dashboard-grid{display:grid;grid-template-columns:1.65fr 1fr;grid-gap:18px;gap:18px}.panel{border:1px solid var(--line);border-radius:18px;padding:17px;background:white}.panel-title{display:flex;align-items:center;gap:9px;margin-bottom:14px}.panel-title svg{width:20px;color:var(--purple)}.panel-title b{font-family:Manrope}.icon-dot{background:var(--purple);border-radius:50%;padding:5px;font-size:12px}.meal-detail{display:grid;grid-template-columns:47% 1fr;grid-gap:22px;gap:22px}.meal-detail>img{width:100%;height:208px;object-fit:cover;border-radius:15px}.meal-detail h2{font:800 25px Manrope;margin:6px 0}.meal-detail p{font-size:12px;line-height:1.5}.muted{color:var(--muted)}.meal-detail small{font-size:10px}.stars{display:flex;margin-top:5px}.stars button{padding:0 2px;border:0;background:none;color:#d6d2df;cursor:pointer}.stars svg{width:22px;fill:currentColor}.stars .on{color:#f7bd21}.rating{font-size:10px;color:var(--muted)}.reorder{margin-left:auto;display:flex}.reorder button{border:1px solid var(--line);background:white;padding:4px 9px}.rank{display:grid;grid-template-columns:25px 1fr 46px 40px 24px;align-items:center;grid-gap:5px;gap:5px;padding:7px 0;font-size:12px}.rank>span{width:22px;height:22px;border-radius:50%;background:#f5f3f8;display:grid;place-items:center}.rank small{color:var(--muted)}.rank strong{font-size:11px}.rank button{border:0;background:none;color:#aaa;cursor:pointer}.rank svg{width:15px}.text-button{border:0;background:none;color:var(--purple);font-weight:700;margin-top:8px;cursor:pointer}.automation{position:relative}.automation p{max-width:66%;font-size:12px;color:var(--muted)}.success{display:inline-flex;align-items:center;gap:6px;border:1px solid #8fdc91;background:#f2fff3;color:#268932;border-radius:16px;padding:6px 10px;font-size:11px}.success svg{width:16px}.next{position:absolute;right:20px;bottom:23px;display:flex;gap:8px;align-items:center}.next svg{width:28px}.backups small,.next b,.next small{display:block}.next small{font-size:9px;color:var(--muted)}.backups>p{font-size:11px}.backups>div:not(.panel-title){display:flex;align-items:center;gap:8px;padding:5px;font-size:18px}.backups span{font-size:11px}.backups small{color:var(--muted)}.overlay{position:fixed;inset:0;background:rgba(25,12,67,.28);display:flex;justify-content:flex-end;padding:24px;z-index:20}.drawer{height:100%;width:390px;background:white;border-radius:22px;padding:28px;box-shadow:var(--shadow);position:relative;overflow:auto;animation:slide .25s ease-out}.drawer h2{font:800 24px Manrope;margin:0 0 8px}.drawer>p{font-size:12px;color:var(--muted);line-height:1.5;margin-bottom:26px}.close{position:absolute;right:22px;top:22px;border:0;background:none}.drawer label{display:block;font-weight:700;font-size:11px;margin:16px 0 7px}.drawer input,.drawer textarea{width:100%;border:1px solid var(--line);border-radius:11px;padding:13px;font:12px inherit;outline:none}.drawer input:focus,.drawer textarea:focus{border-color:var(--purple)}.drawer textarea{height:105px;resize:none}.counter{float:right;color:var(--muted)}.choices{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.choices button{border:1px solid var(--line);background:white;border-radius:10px;padding:11px;font:11px inherit}.choices .chosen{background:var(--purple);color:white}.submit{width:100%;justify-content:center;margin-top:28px}.cancel{width:100%;border:1px solid var(--line);background:white;padding:13px;margin-top:9px}.cancel,.toast{border-radius:12px}.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:#171128;color:white;padding:12px 18px;z-index:30;box-shadow:var(--shadow)}@keyframes slide{0%{transform:translateX(30px);opacity:0}}@media(max-width:1050px){.app-shell{grid-template-columns:76px 1fr}.sidebar{padding:25px 8px}.brand span:last-child,.sidebar nav button:not(.active){font-size:0}.brand{padding-left:2px}.sidebar nav button{justify-content:center}.logout,.role-box small,.role-box span,.role-box svg:last-child{display:none}.role-box button{justify-content:center}.tomato{font-size:43px}.content{padding:24px}.hero h1{font-size:34px}.week-strip{overflow-x:auto;grid-template-columns:repeat(7,130px)}.dashboard-grid{grid-template-columns:1fr}.profile div{display:none}}@media(max-width:700px){.app-shell{display:block;padding:0}.sidebar{position:fixed;bottom:0;left:0;right:0;z-index:10;min-height:auto;height:68px;display:block;padding:8px;background:var(--purple)}.brand,.role-box,.tomato{display:none}.sidebar nav{flex-direction:row;justify-content:space-around}.sidebar nav button,.sidebar nav button:not(.active){font-size:0;padding:11px}.sidebar nav button svg{width:23px}.workspace{border-radius:0;min-height:100vh;padding-bottom:70px}.workspace header{height:70px;padding:12px 16px}.date-control div{min-width:0}.date-control b{font-size:11px}.date-control>svg,.profile{display:none}.content{padding:22px 16px}.hero{align-items:flex-start;gap:18px}.hero h1{font-size:31px}.hero p{font-size:12px}.primary{width:48px;height:48px;padding:0;justify-content:center}.primary:not(svg){font-size:0}.primary svg{min-width:22px}.week-strip{margin-right:-16px;border-radius:14px}.dashboard-grid{display:block}.dashboard-grid .panel{margin-bottom:14px}.meal-detail{grid-template-columns:1fr}.meal-detail>img{height:210px}.automation,.backups,.popular{display:block}.drawer{width:100%;border-radius:20px}.overlay{padding:10px}.next{position:static;margin-top:15px}.automation p{max-width:100%}}a{text-decoration:none;color:inherit}.sidebar .brand{color:white}.sidebar nav a{color:#e9e4ff;border-radius:12px;display:flex;gap:13px;align-items:center;font:600 14px inherit}.sidebar nav a.active{background:rgba(255,255,255,.17);color:white}.role-box>div{padding-top:7px}.role-box b,.role-box span{display:block}.role-box span{font-size:11px;color:#dcd4ff;margin-top:2px}.workspace{min-height:calc(100vh - 36px)}.page-header{height:auto!important;min-height:125px;padding:28px 34px!important;border:0!important;display:flex;align-items:flex-end!important}.page-header h1{font:800 38px/1.05 Manrope;margin:0 0 7px;letter-spacing:-.035em}.page-header p{margin:0;color:var(--muted)}.page-header .primary{height:auto}.compact article{padding:14px 10px;display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center}.compact article img{width:100%;height:70px;object-fit:cover;border-radius:10px}.compact article small,.compact article span{font-size:10px;color:var(--muted)}.compact article strong{font-size:12px}.empty-state{padding:50px 30px;border:1px dashed #d8d2e8;border-radius:18px;text-align:center;background:#faf9fd}.empty-state h2{font:700 20px Manrope;margin:0 0 8px}.empty-state p{color:var(--muted);margin:0}.week-switcher{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:22px}.week-switcher button{border:1px solid var(--line);background:white;border-radius:12px;width:42px;height:42px;display:grid;place-items:center}.menu-list{display:flex;flex-direction:column;gap:12px}.menu-row{border:1px solid var(--line);border-radius:17px;padding:12px;display:grid;grid-template-columns:110px 1fr auto;align-items:center;grid-gap:18px;gap:18px}.menu-row>img{width:110px;height:82px;border-radius:12px}.menu-row h2{font:700 18px Manrope;margin:3px 0}.menu-row p,.menu-row small{color:var(--muted);margin:0}.rating-score{color:#e8a700;font-size:18px}.suggestions-layout{display:grid;grid-template-columns:340px 1fr;grid-gap:20px;gap:20px;align-items:start}.suggestion-form{position:-webkit-sticky;position:sticky;top:20px}.suggestion-form h2,.user-form h2{font:700 20px Manrope}.password-gate label,.suggestion-form label,.user-form label{display:block;font-weight:700;font-size:12px;margin:15px 0 6px}.password-gate input,.suggestion-form input:not([type=file]),.suggestion-form textarea,.user-form input,.user-form select{width:100%;border:1px solid var(--line);border-radius:11px;padding:12px;font:13px inherit}.suggestion-form textarea{height:100px;resize:vertical}.file-input{border:1px dashed #b8aaee!important;border-radius:11px;padding:13px;display:flex!important;align-items:center;gap:8px;color:var(--purple);cursor:pointer}.file-input input{display:none}.suggestion-form .primary,.user-form .primary{margin-top:18px}.suggestion-feed{display:flex;flex-direction:column;gap:12px}.suggestion-card{display:grid;grid-template-columns:100px 1fr auto auto;grid-gap:14px;gap:14px;align-items:center;border:1px solid var(--line);padding:11px;border-radius:17px}.suggestion-card>img{width:100px;height:78px;object-fit:cover;border-radius:12px}.suggestion-card h2{font:700 17px Manrope;margin:2px 0}.suggestion-card p,.suggestion-card small{margin:0;color:var(--muted);font-size:12px}.suggestion-card>button{border:1px solid var(--line);background:white;border-radius:11px;padding:9px;display:flex;align-items:center;gap:5px}.suggestion-card>button.liked{background:#fff0f4;color:#d82b62;border-color:#ffc7d8}.suggestion-card>button.liked svg{fill:currentColor}.icon-button{border:0!important;background:transparent!important;padding:7px!important}.danger{color:#c53548!important}.form-error{color:#bf273a!important;font-size:12px}.notice{padding:12px 16px;background:#f1edff;color:var(--purple-dark);border-radius:12px}.admin-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px}.user-form .check{display:flex;align-items:center;gap:8px;font-weight:500}.user-form .check input{width:auto}.generator p{color:var(--muted);line-height:1.55}.user-table{margin-top:20px;border:1px solid var(--line);border-radius:18px;overflow:hidden}.user-table article{display:grid;grid-template-columns:42px 1fr auto auto 38px;align-items:center;grid-gap:12px;gap:12px;padding:13px 16px;border-bottom:1px solid var(--line)}.user-table article:last-child{border:0}.avatar{width:38px;height:38px;background:#ede9ff;color:var(--purple);border-radius:12px;display:grid;place-items:center;font-weight:800}.user-table small{display:block;color:var(--muted)}.user-table button{border:1px solid var(--line);background:white;border-radius:9px;padding:8px;display:flex;gap:6px;align-items:center}.user-table button svg{width:16px}.status{background:#f0ecff;color:var(--purple);padding:5px 8px;border-radius:8px;font-size:10px}.status.danger{background:#fff0f2}.login-page{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;background:white}.login-brand{background:var(--purple);color:white;padding:9vw;display:flex;flex-direction:column;justify-content:center}.login-brand .brand{padding:0 0 60px}.login-brand h1{font:800 clamp(38px,5vw,68px)/1.02 Manrope;letter-spacing:-.05em;max-width:650px;margin:0 0 18px}.login-brand p{font-size:18px;color:#ded7ff;max-width:520px}.login-card{width:min(420px,80%);margin:auto;display:flex;flex-direction:column}.login-card h2{font:800 32px Manrope;margin:0}.login-card>p{color:var(--muted);margin-bottom:30px}.login-card label{font-weight:700;font-size:12px;margin:14px 0 6px}.login-card input{padding:13px;border:1px solid var(--line);border-radius:11px;font:14px inherit}.login-card .primary{justify-content:center;margin-top:20px}.password-gate{position:fixed;inset:0;background:rgba(22,12,57,.72);z-index:100;display:grid;place-items:center}.password-gate form{background:white;padding:28px;border-radius:20px;width:min(420px,90vw);box-shadow:var(--shadow)}.password-gate h2{font:800 24px Manrope;margin:0}.password-gate p{color:var(--muted)}@media(max-width:900px){.admin-actions,.suggestions-layout{grid-template-columns:1fr}.suggestion-form{position:static}.login-page{grid-template-columns:1fr}.login-brand{padding:50px 10vw}.login-brand h1{font-size:40px}.login-card{padding:50px 0}.user-table article{grid-template-columns:42px 1fr auto}.user-table .status{display:none}}.order-buttons{display:flex;gap:6px;margin-top:8px}.order-buttons button{border:1px solid var(--line);background:white;border-radius:7px;padding:5px 8px;font:11px inherit}.meal-admin{margin-top:34px}.meal-admin h2{font:800 26px Manrope;margin-bottom:5px}.meal-admin-grid{border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-top:14px}.meal-admin-grid article{display:grid;grid-template-columns:54px 1fr auto 36px;align-items:center;grid-gap:12px;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line)}.meal-admin-grid article:last-child{border:0}.meal-admin-grid img{width:54px;height:45px;object-fit:cover;border-radius:9px}.meal-admin-grid small{display:block;color:#c53548}.meal-admin-grid button{border:1px solid var(--line);background:white;border-radius:9px;padding:7px;display:flex;align-items:center;gap:6px}.meal-admin-grid button svg{width:16px}.admin-suggestions{margin-top:34px}.admin-suggestions>h2{font:800 26px Manrope;margin:0 0 5px}.admin-suggestions .empty-state{margin-top:14px}.admin-suggestion-list{border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-top:14px}.admin-suggestion-list article{display:grid;grid-template-columns:70px 1fr auto auto;align-items:center;grid-gap:14px;gap:14px;padding:12px 14px;border-bottom:1px solid var(--line)}.admin-suggestion-list article:last-child{border:0}.admin-suggestion-list img{width:70px;height:58px;object-fit:cover;border-radius:11px}.admin-suggestion-list article>div:nth-child(2) b,.admin-suggestion-list article>div:nth-child(2) small,.admin-suggestion-list article>div:nth-child(2) span{display:block}.admin-suggestion-list article>div:nth-child(2) p,.admin-suggestion-list article>div:nth-child(2) small,.admin-suggestion-list article>div:nth-child(2) span{font-size:11px;color:var(--muted);margin:2px 0}.row-actions{display:flex;gap:5px}.row-actions button{width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:white;display:grid;place-items:center}.row-actions svg{width:16px}.error-state{border-color:#f0b4bc;background:#fffafb}@media(max-width:700px){.sidebar nav a{font-size:0;padding:11px}.sidebar nav a svg{width:23px}.sidebar nav a:last-child{display:none}.page-header{padding:24px 16px!important}.page-header h1{font-size:30px}.page-header .primary{font-size:0;width:46px}.week-strip.compact{grid-template-columns:repeat(7,128px)}.menu-row{grid-template-columns:80px 1fr}.menu-row>img{width:80px;height:70px}.menu-row .stars{grid-column:1/-1}.suggestion-card{grid-template-columns:74px 1fr auto}.suggestion-card>img{width:74px;height:68px}.suggestion-card .icon-button{display:none}.content{padding-top:0}.login-brand{display:none}.login-page{display:flex}.login-card{padding:10vh 0}.workspace{padding-bottom:calc(78px + env(safe-area-inset-bottom))}.sidebar{height:calc(68px + env(safe-area-inset-bottom));padding:8px 6px calc(8px + env(safe-area-inset-bottom))}.sidebar nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:2px;gap:2px;width:100%}.sidebar nav a,.sidebar nav a:last-child{display:flex;min-width:0;min-height:52px;padding:10px 6px;justify-content:center}.sidebar nav a svg{width:22px;height:22px;flex:none}.login-card .primary,.primary,.submit,.suggestion-form .primary,.user-form .primary{width:auto;height:auto;min-height:46px;padding:12px 16px;font-size:13px;justify-content:center;white-space:normal;text-align:center}.submit{width:100%}.page-header{align-items:flex-start!important;gap:14px;flex-wrap:wrap}.page-header>div{min-width:0}.page-header .primary{width:auto;min-height:44px;font-size:12px;white-space:nowrap}.week-switcher{gap:9px}.week-switcher b{min-width:0;text-align:center;font-size:12px;line-height:1.3}.week-switcher button{width:40px;height:40px;flex:none}.user-table article{grid-template-columns:38px minmax(0,1fr) 36px 36px;gap:8px;padding:11px 10px}.user-table article>div:nth-child(2){min-width:0;overflow-wrap:anywhere}.user-table article>button{width:36px;height:36px;padding:8px;justify-content:center;font-size:0}.user-table article>button svg{flex:none}.meal-admin-grid article{grid-template-columns:48px minmax(0,1fr) 36px 36px;gap:8px;padding:10px}.meal-admin-grid img{width:48px;height:44px}.meal-admin-grid article>div{min-width:0;overflow-wrap:anywhere}.meal-admin-grid button{width:36px;height:36px;padding:8px;justify-content:center;font-size:0}.admin-suggestion-list article{grid-template-columns:58px minmax(0,1fr);gap:10px;padding:11px 10px;align-items:start}.admin-suggestion-list img{width:58px;height:54px}.admin-suggestion-list article>div:nth-child(2){min-width:0;overflow-wrap:anywhere}.admin-suggestion-list .status{grid-column:2;justify-self:start}.admin-suggestion-list .row-actions{grid-column:1/-1;justify-self:end}.suggestion-card{grid-template-columns:68px minmax(0,1fr) auto;gap:10px;padding:10px}.suggestion-card>img{width:68px;height:64px}.suggestion-card>div{min-width:0;overflow-wrap:anywhere}.suggestion-card>button{padding:8px}.login-card{width:min(420px,calc(100% - 32px));padding:10vh 0}.login-card .primary{width:100%}.drawer{padding:24px 18px}.row-actions{flex-wrap:wrap}}.mobile-label{display:none}@media(max-width:700px){.workspace{padding-bottom:calc(86px + env(safe-area-inset-bottom))}.sidebar{height:calc(74px + env(safe-area-inset-bottom));padding:7px 8px calc(7px + env(safe-area-inset-bottom));background:rgba(53,28,151,.97);box-shadow:0 -10px 30px rgba(31,14,91,.2);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.sidebar nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:4px;gap:4px;height:60px}.sidebar-admin nav{grid-template-columns:repeat(6,minmax(0,1fr))}.sidebar nav a,.sidebar nav a:last-child{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;min-height:58px;padding:5px 2px;border-radius:14px;font-size:10px;line-height:1;color:#dcd5ff;white-space:nowrap;overflow:hidden}.sidebar nav a span{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis}.sidebar nav a svg{width:21px;height:21px;flex:none}.sidebar nav a.active{background:#fff;color:var(--purple);box-shadow:0 7px 16px rgba(28,12,90,.22)}.sidebar .desktop-label{display:none}.sidebar .mobile-label{display:block}}.menu-row>img,.no-meal-image{width:110px;height:82px;border-radius:12px}.menu-row>img{object-fit:cover}.no-meal-image{display:grid;place-items:center;background:#eeeaf8;color:#817894;font-size:11px;font-weight:800;text-transform:uppercase}.menu-row-empty{background:#faf9fd;border-style:dashed}.menu-row-empty h2{color:#6f687f}@media(max-width:700px){.menu-row>img,.no-meal-image{width:80px;height:70px}}.rank{grid-template-columns:25px 42px minmax(0,1fr) 48px;gap:8px}.rank>img{width:42px;height:42px;border-radius:10px;object-fit:cover}.rank>div{min-width:0}.rank>div b,.rank>div small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggestion-owner-actions{display:flex;gap:7px;margin-top:9px;flex-wrap:wrap}.suggestion-owner-actions button,.suggestion-owner-actions label{border:1px solid var(--line);background:white;border-radius:9px;padding:7px 9px;display:inline-flex;align-items:center;gap:5px;font:600 11px inherit;cursor:pointer}.suggestion-owner-actions input{display:none}.suggestion-owner-actions svg{width:15px;height:15px}.suggestion-owner-actions button:disabled,.suggestion-owner-actions label:has(input:disabled){opacity:.55;cursor:not-allowed}.reaction-buttons{display:flex;gap:6px;align-items:center}.reaction-buttons button{min-width:48px;border:1px solid var(--line);background:white;border-radius:11px;padding:9px;display:flex;align-items:center;justify-content:center;gap:5px;color:var(--muted);cursor:pointer}.reaction-buttons button svg{width:18px;height:18px}.reaction-buttons button.liked{background:#fff0f4;color:#d82b62;border-color:#ffc7d8}.reaction-buttons button.liked svg{fill:currentColor}.reaction-buttons button.disliked{background:#f1efff;color:var(--purple);border-color:#cfc5ff}.rank-reactions{display:flex;flex-direction:column;gap:3px;align-items:flex-end}.rank-reactions span{display:flex;align-items:center;gap:3px;white-space:nowrap}.rank-reactions svg{width:12px;height:12px}.disliked-panel .panel-title svg{color:#d54b5d}.disliked-panel .rank-reactions span:last-child{color:#c53548}.range-fields{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin:18px 0}.range-fields label{font-size:11px;font-weight:700;color:var(--muted)}.range-fields input{display:block;width:100%;margin-top:6px;border:1px solid var(--line);border-radius:11px;padding:11px;font:13px inherit;color:var(--ink);background:white}.menu-share{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin:-8px 0 18px}.menu-share .primary{min-height:44px}@media(max-width:700px){.suggestion-card .suggestion-owner-actions{display:flex}.suggestion-owner-actions span{display:inline}.rank{grid-template-columns:22px 38px minmax(0,1fr) 44px}.rank>img{width:38px;height:38px}.reaction-buttons{flex-direction:column;gap:4px}.reaction-buttons button{min-width:44px;padding:7px}.range-fields{grid-template-columns:1fr}.menu-share{justify-content:stretch;margin-top:0;flex-wrap:wrap}.menu-share .primary{width:100%}}.account-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px}.account-card{display:grid;grid-template-columns:52px 1fr auto;grid-gap:16px;gap:16px;align-items:center}.account-card>svg{width:48px;height:48px;padding:12px;border-radius:15px;background:#eeeaff;color:var(--purple)}.account-card small{color:var(--muted);font-size:9px}.account-card h2{font:800 24px Manrope;margin:3px 0}.account-card p,.notification-settings p{color:var(--muted);margin:0}.account-logout{border:1px solid #f0c7ce;background:#fff7f8;color:#b72b42;border-radius:12px;padding:11px 14px;display:flex;align-items:center;gap:7px;font:700 12px inherit;cursor:pointer}.account-logout svg{width:17px}.notification-settings .primary{margin-top:18px}.notification-settings .notice{margin-top:12px}.install-prompt{position:fixed;right:20px;bottom:20px;z-index:50;display:grid;grid-template-columns:34px minmax(150px,1fr) auto 32px;align-items:center;grid-gap:10px;gap:10px;max-width:520px;padding:13px 14px;background:#21105f;color:white;border-radius:17px;box-shadow:var(--shadow)}.install-prompt>svg{color:#bcb0ff}.install-prompt b,.install-prompt span{display:block}.install-prompt span{font-size:11px;color:#d7d0fb;margin-top:2px}.install-action{border:0;background:white;color:var(--purple);border-radius:10px;padding:9px 11px;font-weight:700}.install-close{border:0;background:transparent;color:white;padding:5px}.install-close svg{width:18px}.menu-row{position:relative}.drag-handle{position:absolute;left:-11px;top:50%;transform:translateY(-50%);width:20px;color:#9a91ad}.drag-handle,.menu-row[draggable=true]{cursor:-webkit-grab;cursor:grab}.menu-row.dragging{opacity:.45;border-color:var(--purple)}.drag-hint{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:11px;margin-right:auto}.drag-hint svg{width:16px}.mobile-day-select{display:none}@media(max-width:700px){.sidebar-admin nav a{font-size:9px}.account-grid{grid-template-columns:1fr}.account-card{grid-template-columns:44px minmax(0,1fr)}.account-card>svg{width:42px;height:42px}.account-logout{grid-column:1/-1;justify-content:center}.install-prompt{left:12px;right:12px;bottom:calc(86px + env(safe-area-inset-bottom));grid-template-columns:28px 1fr auto;padding:12px}.install-prompt .install-action{grid-column:2}.install-close{position:absolute;right:7px;top:7px}.drag-handle,.drag-hint{display:none}.mobile-day-select{display:flex;align-items:center;gap:8px;margin-top:9px;font-size:10px;color:var(--muted)}.mobile-day-select select{border:1px solid var(--line);border-radius:8px;padding:6px;background:white;color:var(--ink)}}.generation-progress{margin-top:16px;padding:13px;border-radius:13px;background:#f6f3ff}.generation-progress>div{height:7px;background:#e1dafb;border-radius:10px;overflow:hidden;margin-bottom:9px}.generation-progress>div span{display:block;height:100%;background:linear-gradient(90deg,var(--purple),#8d72ff);border-radius:10px;transition:width .4s ease}.generation-progress b,.generation-progress small{display:block}.generation-progress b{font-size:12px}.generation-progress small{font-size:10px;color:var(--muted);margin-top:3px}.retry-button{margin-top:12px;border:1px solid var(--line);background:white;color:var(--purple);border-radius:11px;padding:10px 13px;display:flex;align-items:center;gap:7px;font-weight:700}.retry-button svg{width:16px}.spin{animation:loader-spin 1s linear infinite}@keyframes loader-spin{to{transform:rotate(1turn)}}.meal-admin-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.meal-admin-heading h2,.meal-admin-heading p{margin-top:0}.optimize-meals-button{flex:none}.optimization-progress{margin:15px 0;padding:14px 16px;border:1px solid #ded5ff;border-radius:14px;background:linear-gradient(135deg,#f8f5ff,#fff);color:var(--purple-dark)}.optimization-progress b,.optimization-progress small{display:block}.optimization-progress small{margin-top:4px;color:var(--muted)}@media(max-width:700px){.meal-admin-heading{align-items:stretch;flex-direction:column}.optimize-meals-button{justify-content:center;width:100%}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.rating-stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;margin-bottom:15px}.rating-stats article{display:flex;align-items:center;gap:12px;padding:15px 17px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,#fff,#faf8ff)}.rating-stats article>svg{width:38px;height:38px;padding:9px;border-radius:12px;background:#eeeaff;color:var(--purple)}.rating-stats b,.rating-stats small,.rating-stats span{display:block}.rating-stats small{font-size:10px;color:var(--muted);margin-bottom:2px}.rating-stats b{font:800 19px Manrope}.rating-tools{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;grid-gap:12px;gap:12px;margin-bottom:18px;padding:12px;border:1px solid var(--line);border-radius:17px;background:#fff}.rating-search{display:flex;align-items:center;gap:8px;min-width:0;padding:0 11px;border:1px solid var(--line);border-radius:11px}.rating-search svg{width:17px;color:var(--muted);flex:none}.rating-search input{width:100%;min-width:0;padding:10px 0;border:0;outline:0;font:12px inherit;color:var(--ink)}.rating-filters{display:flex;gap:5px}.rating-filters button{display:flex;align-items:center;gap:5px;border:1px solid transparent;background:#f6f4fa;color:var(--muted);border-radius:10px;padding:9px 10px;font:700 10px inherit;cursor:pointer;white-space:nowrap}.rating-filters button span{display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:7px;background:#fff}.rating-filters button.active{background:#eee9ff;color:var(--purple);border-color:#d7ceff}.rating-sort{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px;font-weight:700}.rating-sort select{border:1px solid var(--line);border-radius:10px;padding:9px;background:white;color:var(--ink);font:11px inherit}.cook-review-list{display:grid;grid-gap:16px;gap:16px}.cook-review-card{display:grid;grid-template-columns:120px minmax(0,1fr);grid-gap:0 18px;gap:0 18px;padding:16px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 8px 28px rgba(43,25,111,.06)}.cook-review-card>img{grid-row:1/3;width:120px;height:104px;border-radius:15px;object-fit:cover}.cook-review-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.cook-review-head h2{margin:3px 0;font:800 20px Manrope}.cook-review-head p{margin:0;color:var(--muted);font-size:12px}.cook-review-head>strong{display:flex;align-items:center;gap:5px;padding:9px 11px;border-radius:11px;background:#fff7dc;color:#9c7000;white-space:nowrap}.cook-review-head>strong svg{width:17px;fill:currentColor}.cook-review-head>strong small{font-weight:600}.review-comments{display:grid;grid-gap:8px;gap:8px;margin-top:15px}.review-comments>div{padding:11px 13px;border-radius:12px;background:#f8f6ff}.review-comments span{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px}.review-comments em{color:#eda900;font-style:normal;letter-spacing:1px;white-space:nowrap}.review-comments p{display:flex;align-items:flex-start;gap:6px;margin:7px 0 0;font-size:12px;line-height:1.45}.review-comments p svg{width:15px;height:15px;flex:none;color:var(--purple)}@media(max-width:1000px){.rating-tools{grid-template-columns:1fr auto}.rating-filters{grid-column:1/-1;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}}@media(max-width:700px){.rating-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.rating-stats article{display:block;padding:10px}.rating-stats article>svg{width:31px;height:31px;padding:7px;margin-bottom:7px}.rating-stats b{font-size:14px}.rating-tools{grid-template-columns:1fr;padding:9px}.rating-sort{justify-content:space-between}.rating-filters{grid-column:auto;margin-right:-9px;padding-right:9px}.cook-review-card{grid-template-columns:68px minmax(0,1fr);gap:12px;padding:12px}.cook-review-card>img{grid-row:auto;width:68px;height:64px}.cook-review-head{align-items:center}.cook-review-head h2{font-size:16px}.cook-review-head p{font-size:10px}.cook-review-head>strong{padding:7px 8px}.review-comments{grid-column:1/-1;margin-top:2px}.review-comments span{display:grid;grid-template-columns:1fr auto;align-items:start;grid-gap:4px;gap:4px}.review-comments time{grid-column:1/-1;color:var(--muted);font-size:9px}}.rating-trend{display:flex;align-items:center;gap:5px;margin-top:8px;color:var(--muted);font-size:10px;font-weight:700}.rating-trend svg{width:14px}.rating-trend.up{color:#25843a}.rating-trend.down{color:#c13b4c}.review-comments>div.unread{box-shadow:inset 3px 0 var(--purple)}.review-tags{display:flex;gap:5px;margin-top:7px}.review-tags small{padding:4px 7px;border-radius:7px;background:#eee9ff;color:var(--purple);font-size:9px;font-weight:800}.meal-detail-button,.meal-detail-link{display:inline-flex;align-items:center;gap:6px;color:var(--purple);font-size:10px;font-weight:800}.meal-detail-button{margin-top:12px}.meal-detail-link{margin-top:7px}.meal-detail-link svg{width:14px}.served-photo-upload{margin-top:8px}.served-photo-upload label{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border:1px dashed #a99bea;border-radius:9px;color:var(--purple);font-size:9px;font-weight:800;cursor:pointer}.served-photo-upload label.disabled{opacity:.55}.served-photo-upload input{display:none}.served-photo-upload svg{width:14px}.served-photo-upload small{display:block;margin-top:4px;color:var(--muted)}.back-link{display:inline-flex;align-items:center;gap:6px;margin-bottom:18px;color:var(--purple);font-weight:800;font-size:12px}.back-link svg{width:17px}.meal-detail-hero{display:grid;grid-template-columns:220px 1fr;grid-gap:25px;gap:25px;align-items:center;padding:20px;border-radius:23px;background:linear-gradient(135deg,#f1edff,#fff)}.meal-detail-hero>img{width:220px;height:170px;object-fit:cover;border-radius:18px}.meal-detail-hero span{color:var(--purple);font-size:10px;font-weight:800;text-transform:uppercase}.meal-detail-hero h1{margin:7px 0 15px;font:800 38px/1 Manrope}.meal-trend{display:flex;align-items:center;gap:7px;color:var(--muted)}.meal-trend svg{width:20px}.meal-trend.up{color:#25843a}.meal-trend.down{color:#c13b4c}.meal-insight,.meal-photo-empty{display:flex;gap:13px;margin-top:16px;padding:17px;border:1px solid #dcd3ff;border-radius:17px;background:#faf8ff}.meal-insight>svg,.meal-photo-empty>svg{width:34px;height:34px;padding:7px;border-radius:11px;background:#eee9ff;color:var(--purple);flex:none}.meal-insight small{font-size:9px;color:var(--purple);font-weight:800}.meal-insight p,.meal-photo-empty p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.meal-history,.meal-photo-gallery,.meal-review-history{margin-top:28px}.meal-history h2,.meal-photo-empty h2,.meal-photo-gallery h2,.meal-review-history h2{margin:0 0 12px;font:800 22px Manrope}.trend-timeline{height:170px;display:flex;align-items:flex-end;gap:12px;padding:18px;border:1px solid var(--line);border-radius:18px;overflow-x:auto}.trend-timeline>div{height:120px;min-width:54px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}.trend-timeline span{width:24px;max-height:100%;border-radius:8px 8px 3px 3px;background:linear-gradient(#8066f2,var(--purple))}.trend-timeline b{font-size:11px}.trend-timeline small{font-size:9px;color:var(--muted);white-space:nowrap}.meal-photo-gallery>div{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:10px;gap:10px}.meal-photo-gallery figure{margin:0}.meal-photo-gallery img{width:100%;height:145px;border-radius:14px;object-fit:cover}.meal-photo-gallery figcaption{margin-top:5px;color:var(--muted);font-size:9px}.meal-review-history>article{margin-bottom:14px;border:1px solid var(--line);border-radius:18px;overflow:hidden}.meal-review-history article>header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#faf9fd}.meal-review-history header b,.meal-review-history header small{display:block}.meal-review-history header small{margin-top:3px;color:var(--muted)}.meal-review-history header strong{display:flex;align-items:center;gap:5px;color:#9c7000}.meal-review-history header strong svg{width:17px;fill:currentColor}.meal-detail-review{padding:14px 16px;border-top:1px solid var(--line)}.review-author{display:flex;justify-content:space-between;gap:10px;font-size:11px}.review-author em{color:#eda900;font-style:normal}.meal-detail-review>p{margin:8px 0;font-size:12px}.meal-detail-review blockquote{display:flex;gap:7px;margin:10px 0 0;padding:10px;border-radius:10px;background:#f1edff;color:var(--purple-dark);font-size:11px}.meal-detail-review blockquote svg{width:16px;flex:none}.cook-reply-form{display:grid;grid-template-columns:20px 1fr auto;align-items:center;grid-gap:7px;gap:7px;margin-top:10px}.cook-reply-form>svg{width:17px;color:var(--purple)}.cook-reply-form input{min-width:0;padding:9px;border:1px solid var(--line);border-radius:9px;font:11px inherit}.cook-reply-form button{border:0;border-radius:9px;padding:9px 11px;background:var(--purple);color:white;font:800 10px inherit}.cook-reply-form button:disabled{opacity:.5}.cook-reply-form>small{grid-column:2/-1;color:var(--muted)}@media(max-width:700px){.meal-detail-hero{grid-template-columns:90px 1fr;gap:13px;padding:13px}.meal-detail-hero>img{width:90px;height:86px}.meal-detail-hero h1{font-size:23px;margin-bottom:9px}.meal-trend{font-size:9px}.meal-insight,.meal-photo-empty{padding:13px}.trend-timeline{margin-right:-16px;border-radius:14px}.meal-photo-gallery>div{display:flex;overflow-x:auto;margin-right:-16px;padding-right:16px}.meal-photo-gallery figure{min-width:165px}.cook-reply-form{grid-template-columns:1fr auto}.cook-reply-form>svg{display:none}.cook-reply-form>small{grid-column:1/-1}}:root{--purple:#5c3df0;--purple-dark:#28127b;--ink:#171322;--muted:#777181;--line:#ece8f2;--lime:#a8e75b;--coral:#ff6767;--surface:#f8f6ff;--shadow:0 22px 60px rgba(39,20,111,.13)}body{background:#5738dc}.app-shell{padding:14px;grid-template-columns:220px minmax(0,1fr);background:radial-gradient(circle at 8% 92%,#7964ed 0,transparent 22%),linear-gradient(155deg,#4c2acb,#6246ea)}.sidebar{padding:24px 16px 20px;min-height:calc(100vh - 28px)}.brand{padding:4px 8px 44px;font-size:20px}.brand-mark{width:44px;height:44px;border-radius:15px;background:rgba(255,255,255,.14);color:white;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}.sidebar nav{gap:7px}.sidebar nav a{min-height:48px;border-radius:13px;padding:13px 14px;color:#ddd7ff}.sidebar nav a.active{background:rgba(255,255,255,.16);box-shadow:inset 0 0 0 1px rgba(255,255,255,.09)}.role-box{border-color:rgba(255,255,255,.18);background:rgba(26,8,104,.2)}.workspace{border-radius:30px;background:#fff;box-shadow:0 24px 70px rgba(29,11,91,.25)}.content{max-width:1320px;padding:30px 34px 42px}.page-header{min-height:110px;padding:20px 0 26px!important;align-items:center!important}.page-header h1{font-size:42px;letter-spacing:-.045em}.page-header p{font-size:13px}.primary,.submit{border-radius:13px;box-shadow:0 10px 24px rgba(92,61,240,.2);transition:transform .18s ease,box-shadow .18s ease}.primary:hover,.submit:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(92,61,240,.27)}.outline-primary{background:white;color:var(--purple);border:1.5px solid var(--purple);box-shadow:none}.outline-primary svg{width:17px}.panel{border-color:var(--line);border-radius:20px;padding:19px;box-shadow:0 8px 25px rgba(36,20,94,.045)}.panel-title{margin-bottom:16px}.panel-title b{font-size:15px}.panel-title svg{background:#f0ecff;padding:6px;width:29px;height:29px;border-radius:9px}.dashboard-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:10px;gap:10px;border:0;overflow:visible;margin-bottom:18px}.dashboard-week article{min-width:0;align-items:flex-start;text-align:left;border:1px solid var(--line);border-radius:16px;padding:11px;background:white;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.dashboard-week article:hover{transform:translateY(-2px)}.dashboard-week article.selected{border:2px solid var(--purple);box-shadow:0 10px 26px rgba(92,61,240,.12)}.dashboard-week article small{font-weight:800;color:var(--purple)}.dashboard-week article strong{height:32px;overflow:hidden;font-size:11px}.dashboard-week article img{height:72px;border-radius:11px;order:3}.dashboard-week article span{order:4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;margin-top:1px}.featured-meal{display:grid;grid-template-columns:minmax(340px,1.15fr) 1fr;min-height:270px;border:1px solid #e5dff5;border-radius:22px;overflow:hidden;background:linear-gradient(120deg,#faf8ff,#fff);margin-bottom:18px}.featured-meal>img{width:100%;height:100%;min-height:270px;object-fit:cover}.featured-copy{padding:32px 36px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.featured-date{display:flex;align-items:center;gap:7px;color:var(--purple);font-size:11px;font-weight:800}.featured-date svg{width:16px}.featured-copy h2{font:800 clamp(28px,3vw,42px)/1.06 Manrope;margin:12px 0 8px;letter-spacing:-.04em}.featured-copy>p{color:var(--muted);margin:0}.featured-rating{display:flex;align-items:center;gap:8px;margin:22px 0;color:#f0a600;font-weight:700;font-size:12px}.featured-rating svg{fill:currentColor}.featured-copy>a{display:flex;align-items:center;gap:8px;color:var(--purple);font-weight:800;font-size:13px}.featured-copy>a svg{width:16px}.dashboard-lower{grid-template-columns:1fr 1fr 1.15fr}.rank{padding:8px 0}.rank>span{background:#f1eff7;color:#625b70;font-weight:700}.rank-reactions span:first-child{color:#d82b62}.backup-row{display:flex;align-items:center;gap:11px;padding:8px 0;border-bottom:1px solid var(--line)}.backup-row img{width:58px;height:48px;object-fit:cover;border-radius:10px}.backup-row span{min-width:0}.backup-row b,.backup-row small{display:block}.backup-row b{font-size:12px}.backup-row small{color:var(--muted);font-size:10px;margin-top:3px}.automation-note{display:flex;align-items:center;gap:9px;padding:11px;margin-top:12px;background:#f3fff0;border-radius:12px;color:#2d7a2b}.automation-note>svg{width:21px}.automation-note b,.automation-note small{display:block}.automation-note b{font-size:10px}.automation-note small{font-size:9px;margin-top:2px}.text-button{display:flex;align-items:center;gap:5px;width:max-content;font-size:11px}.text-button svg{width:14px}.admin-suggestion-list,.meal-admin-grid,.menu-row,.suggestion-card,.user-table{border-color:var(--line);box-shadow:0 8px 25px rgba(36,20,94,.035)}.menu-row{border-radius:19px;padding:13px}.menu-row>img,.no-meal-image{border-radius:14px}.suggestions-layout{grid-template-columns:360px minmax(0,1fr);gap:24px}.suggestion-form{top:24px;background:linear-gradient(145deg,#faf8ff,#fff)}.password-gate input,.range-fields input,.suggestion-form input:not([type=file]),.suggestion-form textarea,.user-form input,.user-form select{border-color:#e4dff0;background:#fff;min-height:44px}.suggestion-card{border-radius:19px;padding:13px}.suggestion-card>img{border-radius:14px}.empty-state{border-radius:20px}.account-card,.empty-state,.notification-settings{background:linear-gradient(145deg,#faf8ff,#fff)}@media(max-width:1050px) and (min-width:701px){.app-shell{grid-template-columns:82px minmax(0,1fr)}.brand>span:last-child,.sidebar nav a span{display:none}.sidebar nav a{justify-content:center}.dashboard-lower{grid-template-columns:1fr 1fr}.backups-panel{grid-column:1/-1}.featured-meal{grid-template-columns:1fr 1fr}}@media(max-width:700px){.app-shell,body{background:white}.app-shell{padding:0}.workspace{border-radius:0}.content{padding:0 16px 105px}.page-header{min-height:auto;padding:28px 0 22px!important;display:flex;align-items:center!important}.page-header:before{content:"Týden na talíři";display:block;width:100%;text-align:center;color:var(--purple);font:800 22px Manrope;margin-bottom:26px}.page-header h1{font-size:32px;line-height:1}.page-header p{font-size:12px;margin-top:8px}.page-header .primary{margin-left:auto}.sidebar{height:calc(76px + env(safe-area-inset-bottom));padding:7px 8px calc(7px + env(safe-area-inset-bottom));background:rgba(255,255,255,.98);box-shadow:0 -9px 28px rgba(36,20,94,.12);border-top:1px solid #eeeaf5}.sidebar nav{height:62px;gap:2px}.sidebar nav a,.sidebar nav a:last-child{min-height:60px;color:#777181;border-radius:12px;font-size:9px}.sidebar nav a.active{background:transparent;color:var(--purple);box-shadow:none}.sidebar nav a.active svg{fill:#ede9ff}.sidebar nav a svg{width:22px;height:22px}.sidebar-admin nav{overflow-x:auto;grid-template-columns:repeat(6,64px);justify-content:start}.dashboard-content .page-header{padding-bottom:24px!important}.dashboard-week{display:grid;grid-template-columns:repeat(7,112px);grid-gap:9px;gap:9px;overflow-x:auto;margin:0 -16px 18px;padding:0 16px 5px;scrollbar-width:none}.dashboard-week::-webkit-scrollbar{display:none}.dashboard-week article{padding:9px;min-height:150px}.dashboard-week article strong{height:30px}.dashboard-week article img{height:70px}.featured-meal{grid-template-columns:1fr;min-height:0;border-radius:20px}.featured-meal>img{height:235px;min-height:0}.featured-copy{padding:22px}.featured-copy h2{font-size:29px}.featured-rating{margin:16px 0}.dashboard-lower{display:grid;grid-template-columns:1fr}.dashboard-lower .panel{margin-bottom:0}.panel{border-radius:18px}.suggestions-layout{grid-template-columns:1fr;gap:18px}.suggestion-form{position:static}.suggestion-card{grid-template-columns:70px minmax(0,1fr);align-items:start}.suggestion-card .reaction-buttons{grid-column:1/-1;flex-direction:row;justify-content:flex-end}.menu-row{border-radius:18px}.install-prompt{background:var(--purple-dark)}}.admin-tabs{display:flex;gap:8px;margin-bottom:22px;padding:6px;width:max-content;max-width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:#f8f6ff}.admin-tabs button{display:flex;align-items:center;gap:8px;min-height:43px;padding:10px 15px;border:0;border-radius:11px;background:transparent;color:var(--muted);font-weight:800;white-space:nowrap}.admin-tabs button svg{width:18px}.admin-tabs button.active{background:white;color:var(--purple);box-shadow:0 7px 20px rgba(48,30,110,.1)}.admin-tab-content>.panel:first-child,.admin-tab-content>section:first-child{margin-top:0}.skeleton-list{display:grid;grid-gap:12px;gap:12px}.skeleton-row{display:grid;grid-template-columns:104px 1fr;grid-gap:16px;gap:16px;padding:13px;border:1px solid var(--line);border-radius:19px}.skeleton-row i,.skeleton-row span{display:block;border-radius:12px;background:linear-gradient(90deg,#f0edf7 25%,#faf9fd 45%,#f0edf7 65%);background-size:300% 100%;animation:skeleton 1.35s ease infinite}.skeleton-row span{height:82px}.skeleton-row div{padding:10px 0}.skeleton-row i{height:13px;width:52%;margin-bottom:13px}.skeleton-row i:last-child{width:78%;height:10px}@keyframes skeleton{0%{background-position:100% 0}to{background-position:0 0}}@media(prefers-reduced-motion:reduce){.dashboard-week article,.primary,.submit{transition:none}.skeleton-row i,.skeleton-row span{animation:none}}@media(max-width:700px){.sidebar{left:0;right:0;width:100%;max-width:100vw;min-height:0;height:calc(72px + env(safe-area-inset-bottom));padding:6px max(4px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left));overflow:hidden}.sidebar nav,.sidebar-admin nav{display:grid;width:100%;height:60px;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:0;gap:0;overflow:visible}.sidebar-admin nav{grid-template-columns:repeat(6,minmax(0,1fr))}.sidebar nav a,.sidebar nav a:last-child{width:100%;min-width:0;max-width:none;min-height:60px;padding:5px 1px;gap:3px;overflow:hidden}.sidebar nav a span{display:block;width:100%;min-width:0;padding:0 1px;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(8px,2.45vw,10px)}.sidebar nav a svg{width:clamp(19px,5.6vw,22px);height:clamp(19px,5.6vw,22px);flex:0 0 auto}.workspace{padding-bottom:calc(82px + env(safe-area-inset-bottom))}}@media(max-width:340px){.sidebar nav a span{font-size:7px}.sidebar-admin nav a span{font-size:6.5px}.sidebar nav a svg{width:18px;height:18px}}.public-rating-page{min-height:100svh;padding:28px;display:grid;place-items:center;background:radial-gradient(circle at 15% 90%,#7b65ef 0,transparent 25%),linear-gradient(145deg,#4c2acb,#6749ed)}.public-rating-card{width:min(880px,100%);display:grid;grid-template-columns:1.05fr 1fr;position:relative;overflow:hidden;border-radius:28px;background:#fff;box-shadow:0 30px 90px rgba(26,8,90,.35)}.public-rating-brand{position:absolute;top:22px;left:24px;z-index:1;display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:12px;background:rgba(35,16,111,.8);color:#fff;font-weight:800;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.public-rating-brand svg{width:19px}.public-rating-card>img{width:100%;height:100%;min-height:540px;object-fit:cover}.public-rating-copy{padding:55px 44px;display:flex;flex-direction:column;justify-content:center}.public-rating-copy>span{color:var(--purple);font-size:12px;font-weight:800}.public-rating-copy h1{margin:12px 0 8px;font:800 clamp(30px,4vw,48px)/1.04 Manrope;letter-spacing:-.04em}.public-rating-copy>p{margin:0;color:var(--muted)}.public-rating-copy>small{margin-top:25px;color:var(--muted);line-height:1.5}.email-rating-widget{margin-top:30px;padding:20px;border-radius:17px;background:#f8f6ff}.email-rating-stars{display:flex;gap:7px}.email-rating-stars button{border:0;background:transparent;color:#d9d3e6;padding:0;cursor:pointer}.email-rating-stars button svg{width:38px;height:38px;fill:currentColor}.email-rating-stars button.active{color:#f5b51b}.email-rating-widget p{margin:12px 0 0;font-size:12px;color:var(--muted)}.email-rating-widget .rating-success{color:#25802c;font-weight:800}@media(max-width:700px){.public-rating-page{padding:0;background:white}.public-rating-card{display:block;min-height:100svh;border-radius:0;box-shadow:none}.public-rating-card>img{height:42svh;min-height:280px}.public-rating-copy{padding:30px 22px}.public-rating-brand{top:16px;left:16px}.email-rating-stars{justify-content:space-between}.email-rating-stars button svg{width:40px;height:40px}}.email-user-table article{grid-template-columns:42px minmax(150px,.7fr) minmax(260px,1.2fr) auto auto 38px}.user-email-config{display:flex;align-items:flex-end;gap:12px;min-width:0}.user-email-config>label:first-child{flex:1 1;color:var(--muted);font-size:10px;font-weight:800}.user-email-config svg{width:14px;vertical-align:middle;margin-right:5px;color:var(--purple)}.user-email-config input[type=email]{display:block;width:100%;margin-top:5px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;font:12px inherit}.email-toggle{display:flex;align-items:center;gap:6px;min-height:37px;font-size:10px;white-space:nowrap;color:var(--muted)}.email-toggle input{accent-color:var(--purple)}.cook-recipient{display:flex;align-items:center;gap:6px;min-height:37px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--muted);font:800 10px inherit;white-space:nowrap}.cook-recipient svg{width:16px;margin:0}.cook-recipient.active{border-color:var(--purple);background:#f1edff;color:var(--purple)}.cook-recipient:disabled{opacity:.45}.user-statuses{display:flex;flex-direction:column;gap:4px}.email-announcement-panel{margin-top:20px;background:linear-gradient(135deg,#f8f6ff,#fff)}.email-announcement-panel>p{max-width:720px;color:var(--muted);line-height:1.55}.email-announcement-panel .notice{margin:14px 0 0}.email-announcement-panel .primary{margin-top:14px}.rating-comment-label{display:block;margin-top:16px;font-size:11px;font-weight:800;color:var(--ink)}.rating-comment-label span{font-weight:500;color:var(--muted)}.rating-comment-label textarea{display:block;width:100%;height:70px;margin-top:7px;padding:11px;border:1px solid #e4dff0;border-radius:11px;resize:vertical;font:12px inherit}.rating-submit{width:100%;justify-content:center;margin-top:12px}.rating-flags{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.rating-flags label{display:flex;align-items:center;gap:5px;padding:6px 8px;border-radius:8px;background:#f7f5fb;color:var(--muted);font-size:9px;font-weight:700;white-space:nowrap}.meal-rating-control{display:grid;grid-template-columns:auto minmax(130px,220px) auto;align-items:center;grid-gap:9px;gap:9px}.meal-rating-control .stars{margin:0}.meal-rating-control>input{min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:9px;font:11px inherit}.meal-rating-control .rating-flags{grid-column:2/4;margin:0}.rating-save{min-height:36px;padding:8px 11px;border:0;border-radius:9px;background:#f0ecff;color:var(--purple);font:800 10px inherit}.rating-save:disabled{opacity:.5}@media(max-width:1050px){.email-user-table article{grid-template-columns:42px 1fr auto}.user-email-config{grid-column:2/-1;align-items:center}.user-statuses{display:none}}@media(max-width:700px){.email-user-table article{grid-template-columns:42px minmax(0,1fr) 38px;padding:13px}.email-user-table article>button:not(.icon-button){grid-column:2/3;justify-content:center}.user-email-config{grid-column:1/-1;display:grid;grid-template-columns:1fr}.email-toggle{min-height:auto}.cook-recipient{justify-content:center}.user-statuses{display:none}.meal-rating-control{grid-column:1/-1;grid-template-columns:1fr auto}.meal-rating-control .stars{grid-column:1/-1}.meal-rating-control>input{width:100%}.meal-rating-control .rating-flags{grid-column:1/-1}}.rating-submit{font-size:12px!important}