/* Visual layer only: navigation, permissions and business behavior stay in app.js. */
@font-face{font-family:Manrope;src:url('/fonts/manrope-variable.ttf') format('truetype');font-style:normal;font-weight:200 800;font-display:swap}
:root{--sans:Manrope,'Segoe UI',sans-serif;--serif:Manrope,'Segoe UI',sans-serif;--cream:#f3f6f3;--white:#fff;--forest:#24694f;--forest-2:#19543e;--ink:#213c34;--ink-2:#496159;--muted:#64766f;--line:#dce6df;--r:12px;--retail-shadow:0 3px 16px #1b493009}
body{font-family:var(--sans);background:#f3f6f3;color:var(--ink)}
h1,h2,h3{font-family:var(--sans);letter-spacing:-.6px}h1{font-weight:650;line-height:1.15}h2{font-weight:600}h3{font-weight:650}
.topline h1{font-size:30px}.topline .sub{font-size:12px;line-height:1.5;margin-top:6px}.topline{margin-bottom:18px}.main{padding:24px 30px 40px}
/* One page scroll; the navigation never becomes a nested scroll box. */
.rail{position:relative;top:auto;height:auto;min-height:100dvh;overflow:visible;align-self:stretch;padding:24px 14px 16px;gap:6px;background:linear-gradient(165deg,#163e33,#12362e 55%,#234f3d);border-right:1px solid #ffffff10}
.brand-lockup{padding:0 10px 19px}.brand-lockup strong{font:italic 31px Georgia,serif;letter-spacing:-1px}.brand-lockup span{font-size:8px;letter-spacing:2px;color:#b7d1bd}
.rail nav{flex:0 0 auto;min-height:auto;overflow:visible;padding:0;gap:3px;overscroll-behavior:auto}
.rail nav>.nav-home{position:static;top:auto;z-index:auto;margin:0 0 3px;width:100%;box-shadow:none;background:transparent}
.rail .nav-section{margin:0;border:0;padding:0}.rail .nav-section>summary{min-height:34px;padding:7px 10px;color:#bdd4c5;font-size:10px;letter-spacing:.45px;font-weight:650;border:0;border-radius:7px;background:transparent}
.rail .nav-section[open]>summary{color:#edf7ee;background:#ffffff05}.rail .nav-section>summary:hover{background:#ffffff09}.rail .nav-section>summary::after{font-size:16px;color:#8db99c}
.rail .nav-section>div{margin:0;padding:2px 0 4px;border:0;gap:1px}
.rail nav button{display:flex;align-items:center;justify-content:flex-start;min-height:35px;padding:5px 9px;gap:9px;border:1px solid transparent;border-radius:8px;font:500 11px/1.4 var(--sans);color:#e1ece4;box-shadow:none}
.rail nav button .nav-label{flex:1;text-align:left}.rail nav button .icon{width:25px;height:25px;flex-basis:25px;padding:4px;border-radius:7px;color:#b1dbb0;background:#a4dba410;opacity:1}
.rail nav button:hover{background:#ffffff09;border-color:transparent}.rail nav button[aria-current=page],.rail nav button[aria-current=page]:hover{background:#d9edcf;color:#20492e;border-color:#e4f4db;font-weight:700;box-shadow:none}
.rail nav button[aria-current=page] .icon{color:#29643b;background:#ffffff60}
.rail nav button[data-view=catering] .icon,.rail nav button[data-view=orders] .icon,.rail nav button[data-view=prices] .icon{color:#f1bf88;background:#f1bf8814}
.rail nav button[data-view=marketing] .icon,.rail nav button[data-view=customers] .icon,.rail nav button[data-view=crm] .icon{color:#e2b9d6;background:#e2b9d614}
.rail nav button[data-view=news] .icon,.rail nav button[data-view=requests] .icon,.rail nav button[data-view=tickets] .icon,.rail nav button[data-view=documents] .icon{color:#acd6f0;background:#acd6f014}
.rail nav button[data-view=network] .icon,.rail nav button[data-view=assets] .icon,.rail nav button[data-view=licenses] .icon,.rail nav button[data-view=cameras] .icon,.rail nav button[data-view=screens] .icon,.rail nav button[data-view=health] .icon,.rail nav button[data-view=systems] .icon{color:#88d1c4;background:#88d1c414}
.rail nav button[data-view=kpis] .icon,.rail nav button[data-view=projects] .icon,.rail nav button[data-view=management] .icon,.rail nav button[data-view=assistant] .icon,.rail nav button[data-view=aiops] .icon{color:#cbbdf3;background:#cbbdf314}
.rail nav button[aria-current=page] .icon{color:#29643b;background:#ffffff60}
.rail .soon{font-size:8px;padding:1px 4px;letter-spacing:0;border-radius:4px;color:#bdd2c4;background:#ffffff08;margin-left:0}
.rail-footer{margin-top:auto;padding:16px 4px 0;color:#b6cebc;font-size:9px}.rail-footer .btn{color:#dcebdd}.rail-footer .support-inbox-link{margin-bottom:12px;padding:10px 8px}.rail-footer .support-inbox-link .icon{color:#a5d9c5}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #448bd1;outline-offset:3px}.rail button:focus-visible,.rail summary:focus-visible{outline:2px solid #b5ddc2;outline-offset:-2px}.rail summary:focus:not(:focus-visible){outline:none}
/* Light, compact utility bar. */
.topbar{height:62px;background:#ffffffed;border-bottom:1px solid #dee7df;box-shadow:none}.global-search{background:#f1f5f1;border:1px solid #e5ece6;border-radius:9px;padding:7px 10px;max-width:420px}.global-search input{background:transparent;font-family:var(--sans)}
.topbar nav{gap:2px}.topbar nav button{border-radius:8px;min-height:36px}.topbar nav button:hover{background:#edf5ed}.topbar nav button .icon{color:#398361}.topbar nav button[data-shortcut=messages] .icon{color:#4b84b3}.topbar nav button[data-shortcut=calendar] .icon{color:#ae7a39}.topbar nav button[data-shortcut=assistant] .icon{color:#8a6aad}.topbar .account-shortcut{border-radius:9px;background:#e7eedb;color:#446235}
/* Market photography and a shorter, more useful first screen. */
.welcome-banner{grid-template-columns:1.15fr 1fr;min-height:240px;border:0;border-radius:17px;background:#e4edd9;box-shadow:var(--retail-shadow);margin-bottom:16px}
.welcome-copy{padding:27px 30px;background:linear-gradient(120deg,#e0ecd4,#f0f3de);position:relative}.welcome-copy .eyebrow{font-size:9px;letter-spacing:1.25px;color:#4b7650;margin-bottom:13px}.welcome-copy h2{font:600 clamp(25px,2.2vw,35px)/1.22 var(--sans);letter-spacing:-1px;color:#254c35;max-width:480px}.welcome-copy p{font-size:12px;line-height:1.7;color:#56705b;margin-top:12px;max-width:365px}.welcome-foot{font-size:8px;letter-spacing:1.2px;color:#527454;margin-top:18px}
.welcome-photo{position:relative;min-height:240px;background:url('/images/produce-market.png') center/cover}
.welcome-photo::after{content:'';position:absolute;right:16px;bottom:16px;width:33%;height:43%;border:4px solid #fff9;border-radius:12px;background:url('/images/bakery-editorial.png') center/cover;box-shadow:0 5px 18px #163b3b30}
.welcome-banner+.ledger{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;border:0;background:none;overflow:visible;border-radius:0}
.welcome-banner+.ledger .ledger-row{grid-column:span 2;display:flex;flex-direction:column;gap:12px;padding:18px;min-height:135px;border:1px solid #dbe6d3;border-radius:13px;background:#edf3e5;box-shadow:none;position:relative;overflow:hidden}
.welcome-banner+.ledger .ledger-row:nth-child(2){background:#eaf3fa;border-color:#d8e6f0}.welcome-banner+.ledger .ledger-row:nth-child(3){background:#fcf1e3;border-color:#efdfc8}.welcome-banner+.ledger .ledger-row:nth-child(4){background:#f1edf7;border-color:#e4dcee}.welcome-banner+.ledger .ledger-row:nth-child(n+4){grid-column:span 3}.welcome-banner+.ledger .ledger-row:last-child{background:#e6f2ed;border-color:#d4e5dc}
.welcome-banner+.ledger .ledger-row h3{display:flex;align-items:center;gap:9px;font:650 12px var(--sans);color:#34573d;letter-spacing:0;margin:0}.welcome-banner+.ledger .ledger-row h3 .icon{width:30px;height:30px;flex-basis:30px;padding:6px;border-radius:8px;background:#ffffff9e;color:#4a7b39}.welcome-banner+.ledger .ledger-row:nth-child(2) h3 .icon{color:#327aa6}.welcome-banner+.ledger .ledger-row:nth-child(3) h3 .icon{color:#b0752b}.welcome-banner+.ledger .ledger-row:nth-child(4) h3 .icon{color:#8060a0}.welcome-banner+.ledger .ledger-row:last-child h3 .icon{color:#2c816d}
.welcome-banner+.ledger .ledger-row>div{font-size:12px;line-height:1.65}.welcome-banner+.ledger .ledger-row strong{font-size:16px;font-weight:650}.welcome-banner+.ledger .muted{color:#5c7064}.welcome-banner+.ledger .list li{padding:8px 0}.welcome-banner+.ledger .list li:first-child{padding-top:0}
/* Shared surfaces stay quiet enough for real operational data. */
.panel{background:#fff;border:1px solid #dfe7df;border-radius:13px;padding:22px;box-shadow:var(--retail-shadow)}
.btn{font-family:var(--sans);font-weight:600;border-radius:8px;border-color:#d6e1d8;min-height:38px;background:#fff;box-shadow:none}.btn:hover{background:#edf5ed;border-color:#b9d0ba}.btn.primary{background:#2b7654;border-color:#2b7654;color:#fff;box-shadow:none}.btn.primary:hover{background:#205e41;border-color:#205e41}.btn.quiet{background:transparent;box-shadow:none}
input:not([type=checkbox]):not([type=radio]),select,textarea{font-family:var(--sans);border-color:#d4e0d7;border-radius:8px;background-color:#fff}input[type=checkbox],input[type=radio]{accent-color:#2b7654}input:focus,select:focus,textarea:focus{border-color:#55916e}
.tabs{gap:6px;padding:0;border:0;background:none}.tabs button{font-family:var(--sans);font-weight:550;border:1px solid #d6e2d8;border-radius:8px;background:#fff;color:#506c5a}.tabs button[aria-selected=true]{background:#dcebd2;color:#315a30;border-color:#c3d8b8;box-shadow:none}
.record-table thead th,.data thead th{background:#edf3ea;color:#527147;font-size:10px}.record-table tbody tr:hover,.data tbody tr:hover{background:#f4f8f1}.tag{border-radius:5px;font-weight:600;background:#e3f0df;color:#3e6f34}.tag.warn{background:#fff0d5;color:#866020}.tag.stop{background:#fbe5e2;color:#973f36}
/* Give the departments room for photography without oversized cards. */
.dept-grid{gap:14px;grid-template-columns:repeat(auto-fill,minmax(215px,1fr))}.dept-tile{min-height:185px;border-radius:13px;border:0;box-shadow:0 3px 12px #173e2e15;overflow:hidden;transition:transform .18s,box-shadow .18s}.dept-tile:hover{transform:translateY(-2px);box-shadow:0 8px 20px #173e2e25}.dept-tile::after{background:linear-gradient(180deg,transparent 15%,#10312bc9 100%)}
.dept-tile .t{left:0;right:0;bottom:0;padding:17px 34px 16px 17px;font:600 18px/1.2 var(--sans);letter-spacing:-.4px;background:linear-gradient(0deg,#123d30c9,transparent)}.dept-tile .t::after{content:'↗';position:absolute;right:13px;top:17px;color:#d5eaba;font:20px var(--sans)}.dept-tile .t small{font:400 11px/1.5 var(--sans);letter-spacing:0;color:#e4eee5;margin-top:5px}.dept-hero{border-radius:16px;overflow:hidden}.dept-hero h1{font-weight:600}
.workspace-dialog,dialog.ix-dialog{border-radius:16px;border:1px solid #d6e2d9;box-shadow:0 24px 75px #13372e35}dialog::backdrop{background:#163e305e}
.gate-visual{background-image:url('/images/hero-market.png')}.gate-form{background:linear-gradient(140deg,#eef4e8,#fffdf7)}.gate-card h1{font-size:34px;font-weight:600}.gate-card .eyebrow{color:#5b805b}.asset-card{border-radius:13px;box-shadow:var(--retail-shadow)}.asset-card:nth-child(3n+1){border-top:3px solid #8cb777}.asset-card:nth-child(3n+2){border-top:3px solid #7ea9c6}.asset-card:nth-child(3n){border-top:3px solid #b29acb}.workspace-metrics strong{font-family:var(--sans);font-weight:600}.marketing-intro{background:#265943}.website-links a:last-child{background:#f6eddd}
@media(max-width:1150px){.main{padding:22px}.welcome-copy{padding:24px}.welcome-copy h2{font-size:28px}.global-search{max-width:280px}.welcome-banner+.ledger{grid-template-columns:repeat(2,minmax(0,1fr))}.welcome-banner+.ledger .ledger-row,.welcome-banner+.ledger .ledger-row:nth-child(n+4){grid-column:auto}.welcome-banner+.ledger .ledger-row:last-child:nth-child(odd){grid-column:1/-1}}
@media(max-width:900px){.rail{position:absolute;inset:0 20% auto 0;height:auto;min-height:100dvh;overflow:visible;padding-bottom:90px}.rail nav{overflow:visible}.rail-footer{margin-top:24px}.topbar{height:60px}.main{padding:20px 18px 90px}.welcome-banner{min-height:225px}.welcome-copy h2{font-size:27px}.welcome-photo{min-height:225px}.global-search{padding:5px 7px;min-width:0}.mobile-menu{background:#286b4e;box-shadow:0 5px 20px #183e3030}}
@media(max-width:600px){.welcome-banner{grid-template-columns:1fr}.welcome-photo{grid-row:1;height:145px;min-height:145px;background-position:center 43%}.welcome-photo::after{width:28%;height:74%;bottom:10px;right:10px;border-width:3px}.welcome-copy{padding:22px}.welcome-copy h2{font-size:27px}.welcome-copy .eyebrow{font-size:8px;margin-bottom:11px}.welcome-foot{margin-top:14px}.welcome-banner+.ledger{grid-template-columns:1fr}.welcome-banner+.ledger .ledger-row{min-height:115px;padding:17px}.topline h1{font-size:27px}.panel{padding:18px}.dept-grid{grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:12px}.dept-tile{min-height:185px}.global-search{max-width:none}.topbar{gap:4px}.topbar nav{gap:0}.topbar nav button{padding:7px;min-height:34px}}
@media(prefers-reduced-motion:reduce){.dept-tile{transition:none}.dept-tile:hover{transform:none}}
