/* NOI 4.10 — Mobile-first overview + drill-down. Scoped so existing dialogs and sync are unaffected. */
.noi-dash,.noi-category-overview,.noi-detail{color:#f2ede3}
.noi-dash button,.noi-category-overview button,.noi-detail button{font:inherit}
.noi-dash{display:grid;gap:15px}
.noi-dash-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.noi-dash-date{font-size:12px;letter-spacing:.10em;text-transform:uppercase;color:#d8c49f;font-weight:700}
.noi-dash-sub{font-size:12px;color:#c9d4c7;margin-top:3px}
.noi-dash-status{display:inline-flex;align-items:center;gap:7px;font-size:11px;color:#e4d5c2;background:#223428;border:1px solid #52694c;padding:7px 10px;border-radius:999px}
.noi-dash-status:before{content:"";width:6px;height:6px;background:#aa6e79;border-radius:50%;box-shadow:0 0 0 3px #aa6e791d}
.noi-dash-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.noi-dash-tile,.noi-cat-tile{display:flex;text-align:left;border-radius:14px;border:1px solid #52634f;color:#fff6e9;cursor:pointer;min-width:0;position:relative;overflow:hidden;background:linear-gradient(155deg,#283b2b,#15241c);box-shadow:0 3px 0 #0a140e,0 8px 18px #0003,inset 0 1px #ffffff17;transition:transform .15s,border-color .15s,box-shadow .15s}
.noi-dash-tile{flex-direction:column;justify-content:space-between;gap:8px;padding:13px;min-height:108px}
.noi-dash-tile:before{content:"";position:absolute;inset:0 auto auto 0;width:43%;height:2px;background:linear-gradient(90deg,#b88b65,transparent);opacity:.75}
.noi-dash-tile.is-alert{background:linear-gradient(155deg,#4c2b32,#231f22);border-color:#985865}
.noi-dash-tile .dash-icon{color:#e1be8d;display:inline-flex}
.noi-dash-tile .dash-icon .ui-icon{width:19px;height:19px}
.noi-dash-tile .dash-value{font:600 clamp(21px,3vw,29px)/1 "Cormorant Garamond",Georgia,serif;color:#f8e3bc}
.noi-dash-tile .dash-label{font-size:12px;font-weight:700;letter-spacing:.02em}
.noi-dash-tile .dash-caption{font-size:11px;color:#c5d1c3;margin-top:2px}
.noi-dash-tile .dash-arrow{position:absolute;right:10px;top:12px;opacity:.55;font-size:13px}
.noi-dash-card{background:linear-gradient(155deg,#203027,#17251d);border:1px solid #465747;border-radius:14px;padding:13px 15px;box-shadow:inset 0 1px #ffffff0b}
.noi-dash-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}
.noi-dash-card-head h2{font:600 18px/1.15 "Cormorant Garamond",Georgia,serif;color:#f5e5c9;margin:0}
.noi-link{border:0;background:none;padding:5px 0;color:#ead2a2;cursor:pointer;font-size:12px;font-weight:700;text-decoration:none;white-space:nowrap}
.noi-today-roster{display:grid;gap:0}
.noi-today-person{display:grid;grid-template-columns:minmax(80px, .8fr) minmax(0,1.6fr) auto;align-items:center;gap:8px;border-top:1px solid #f8f3e217;padding:8px 0;font-size:12px}
.noi-today-person strong{font-weight:700;color:#f6f0e4;white-space:nowrap}
.noi-today-person .when{color:#e5d0aa;min-width:0}
.noi-today-person .hours{color:#bfd0c0;font-size:11px;white-space:nowrap}
.noi-empty-inline{font-size:12px;color:#cbd3c7;margin:6px 0 2px}
.noi-restock-list{display:grid}
.noi-restock-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid #f8f3e217}
.noi-restock-item strong{font-size:12px;color:#f7ede1;display:block}
.noi-restock-item small{font-size:11px;color:#c5d0c4;display:block;margin-top:2px}
.noi-restock-item .noi-link{background:#63363f;border:1px solid #94606d;border-radius:9px;padding:7px 10px}
.noi-dash-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.noi-shortcut{border:1px solid #50634f;background:#203228;color:#f4ebdb;border-radius:10px;padding:11px 7px;font-size:11px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;box-shadow:0 2px 0 #0b180e}
.noi-shortcut .ui-icon{width:16px;height:16px;color:#e5c79d}
.noi-category-overview{display:grid;gap:13px}
.noi-category-intro{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#cbdbca;font-size:12px}
.noi-cat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.noi-cat-tile{padding:14px;min-height:96px;flex-direction:column;align-items:flex-start;gap:6px}
.noi-cat-tile:after{content:"›";position:absolute;right:12px;top:11px;color:#d2ab82;font-size:22px;font-family:Georgia,serif}
.noi-cat-tile .cat-qty{font:600 29px/1 "Cormorant Garamond",Georgia,serif;color:#eed5ac}
.noi-cat-tile .cat-title{font-size:13px;font-weight:700;line-height:1.25;color:#f4ecde}
.noi-cat-tile .cat-caption{font-size:11px;color:#c7d3c4;line-height:1.35}
.noi-cat-tile.is-highlight{border-color:#9f5a69;background:linear-gradient(155deg,#503139,#211f23)}
.noi-cat-tile.is-highlight .cat-qty{color:#f0c3be}
.noi-cat-toolbar{display:flex;gap:8px;flex-wrap:wrap;padding:2px 0 0}
.noi-cat-toolbar .btn{min-height:38px}
.noi-detail-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:1px 0 12px;border-bottom:1px solid #a9997152;margin-bottom:11px}
.noi-detail-head strong{font-size:14px;color:#f3e4cf}
.noi-back{display:inline-flex;align-items:center;gap:6px;background:#273b2d;color:#f5e8d3;border:1px solid #7b896f;border-radius:10px;padding:8px 11px;font-size:12px;font-weight:700;cursor:pointer;min-height:40px}
.noi-back:before{content:"‹";font-size:19px;line-height:11px;color:#e3c696}
.noi-detail .filters,.noi-detail .menu-filter-bar{gap:7px}
.noi-detail .menu-intro{padding:10px;margin-bottom:9px}
.noi-detail .menu-intro-head{margin-bottom:8px}
.noi-detail .menu-intro-eyebrow{display:none}
.noi-detail .tile{padding:10px!important;border-radius:12px!important}
.noi-detail .tile h3{font-size:15px;margin:7px 0 2px}
.noi-detail .recipe-photo-wrap{height:96px;min-height:0;overflow:hidden;border-radius:8px}
.noi-detail .recipe-photo-wrap img{max-height:96px;object-fit:cover}
.noi-detail .menu-recipe-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.noi-detail .menu-recipe-cards .tile>.between{flex-wrap:wrap;gap:4px}
.noi-detail .menu-recipe-cards .tile .pill{font-size:10px}
.noi-detail .menu-recipe-cards .tile .grow{font-size:11px}
.noi-detail .stock{padding:10px;gap:8px}
.noi-detail .stock .actions{gap:5px}
.noi-detail .stock .actions .btn{font-size:11px}
.noi-stock-more{grid-column:1/-1;min-width:0}
.noi-stock-more>summary{font-size:11px;color:#e6c999;cursor:pointer;padding:7px 0;list-style:none}
.noi-stock-more>summary:after{content:"  ▾"}
.noi-stock-more[open]>summary:after{content:"  ▴"}
.noi-stock-more .extra-actions{display:flex;flex-wrap:wrap;gap:6px;padding-top:6px}
.noi-prep-list{display:grid;gap:8px}
.noi-prep-list .prep-recipe-card{margin:0}
.noi-category-overview .note{margin:0;font-size:11px;color:#cbd2c5}
.noi-dash button:focus-visible,.noi-category-overview button:focus-visible,.noi-detail button:focus-visible{outline:2px solid #ead39d;outline-offset:3px}
.noi-dash-tile:active,.noi-cat-tile:active,.noi-shortcut:active{transform:translateY(2px);box-shadow:0 1px 0 #0a140e,inset 0 1px #ffffff0f}
@media(max-width:900px){
 .noi-dash-grid,.noi-dash-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}
 .noi-cat-grid,.noi-detail .menu-recipe-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
 body[data-view="home"] .top{margin-bottom:9px}
 body[data-view="home"] .top h1{font-size:25px!important}
 body[data-view="home"] .top .muted{font-size:12px}
 .noi-dash{gap:11px}
 .noi-dash-tile{padding:11px;min-height:101px}
 .noi-dash-tile .dash-value{font-size:25px}
 .noi-dash-card{padding:11px 12px}
 .noi-dash-card-head h2{font-size:17px}
 .noi-today-person{grid-template-columns:76px minmax(0,1fr) auto;gap:5px}
 .noi-cat-tile{padding:12px;min-height:91px}
 .noi-cat-tile .cat-qty{font-size:26px}
 .noi-detail .filters{display:flex;flex-wrap:wrap}
 .noi-detail .filters .field{flex:1 1 135px;min-width:0}
 .noi-detail .filters .search{flex:1 1 100%}
}
@media(max-width:355px){
 .noi-today-person{grid-template-columns:68px minmax(0,1fr)}
 .noi-today-person .hours{grid-column:2}
 .noi-shortcut{font-size:10px;padding:8px 4px}
 .noi-cat-tile .cat-title{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.noi-dash-tile,.noi-cat-tile{transition:none}}
