.auth-shell{min-height:100vh;display:grid;place-items:center;padding:28px;background:#f4f5f7}.auth-card{width:min(460px,100%);padding:38px;background:white;border:1px solid #e3e7eb;border-radius:16px;box-shadow:0 12px 40px #1b28320a}.auth-card h1{font-size:28px;margin:12px 0}.auth-card>p{font-size:14px;line-height:1.7;color:#73808e}.auth-card form{margin-top:26px}.auth-card label{font-size:13px}.auth-card input{font-size:15px}.auth-card .button{width:100%;margin-top:12px;font-size:14px}.auth-card>small{display:block;margin-top:28px;text-align:center;color:#929da8}.auth-card .form-error{margin-bottom:18px}.top-actions form{margin:0}
.admin-shell{max-width:1100px;margin:auto;padding:36px 24px}.admin-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:28px}.admin-heading h1{margin:10px 0}.admin-heading p{color:#73808e}.admin-create,.admin-account{padding:25px;margin:20px 0}.admin-create h2{margin-bottom:22px}.admin-fields{display:grid;grid-template-columns:1fr 1fr 160px auto;gap:16px;align-items:end}.admin-fields label{margin:0}.admin-fields .button{margin-bottom:1px}.admin-accounts{display:grid;grid-template-columns:1fr 1fr;gap:20px}.admin-account{margin:0}.admin-account header{display:flex;gap:15px;justify-content:space-between;align-items:center;margin-bottom:25px}.admin-account header span{font-size:12px;color:#73808e}.admin-password{display:flex;gap:12px;align-items:end}.admin-password label{flex:1;margin:0}.admin-controls{border-top:1px solid #e5e7eb;margin-top:25px;padding-top:22px;display:flex;gap:12px;align-items:end;flex-wrap:wrap}.admin-controls form:first-child{display:flex;gap:12px;align-items:end}.admin-controls label{margin:0}.admin-notice{background:#edf7f1;color:#356d51;padding:16px;border-radius:8px}.admin-account input,.admin-account select{font-size:14px}@media(max-width:850px){.admin-fields,.admin-accounts{grid-template-columns:1fr}.admin-heading{align-items:start;flex-direction:column}.admin-password{flex-direction:column;align-items:stretch}}
.auth-logo{display:block;width:min(290px,100%);height:auto;margin:0 auto 34px}.auth-card>small{font-size:13px;line-height:1.6}.sidebar .brand{margin:2px 3px 30px;padding:12px;background:#fff;border-radius:10px;line-height:0;letter-spacing:normal}.brand-logo{display:block;width:100%;height:auto}.brand-icon{display:none}@media(max-width:800px){.sidebar .brand{padding:6px;margin:0 auto 25px;width:42px}.brand-logo{display:none}.brand-icon{display:block;width:100%;height:auto}}@media(max-width:480px){.auth-shell{padding:18px}.auth-card{padding:30px 24px}.auth-logo{width:250px}.sidebar .brand{width:38px;padding:5px}}
.auth-logo{padding:0;background:transparent;border-radius:0}.sidebar .brand{background:transparent;padding:0;margin:2px 12px 34px}@media(max-width:800px){.sidebar .brand{padding:4px;margin:0 auto 25px;width:42px}}@media(max-width:480px){.sidebar .brand{width:38px;padding:3px}}

.signed-in-user{font-size:13px;font-weight:600;color:#465462;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0}@media(max-width:800px){.topbar{flex-wrap:wrap;height:auto;min-height:60px;gap:10px;padding-block:12px}.top-actions{margin-left:auto;gap:10px}.signed-in-user{max-width:120px}}
/* Keep controls within their grid/flex tracks, including padding and borders. */
.admin-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 160px auto}.admin-accounts{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-fields>*,.admin-password>label,.admin-account,.admin-controls form,.admin-controls label{min-width:0}.admin-password>button,.admin-controls button{flex-shrink:0}.admin-account header{flex-wrap:wrap}.admin-account h2{overflow-wrap:anywhere}.admin-shell input,.admin-shell select{box-sizing:border-box;max-width:100%;min-width:0}@media(max-width:850px){.admin-fields,.admin-accounts{grid-template-columns:minmax(0,1fr)}}
/* Shared form layouts must shrink safely at all viewport sizes. */
.form-grid,.settings-grid,.info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.item-row{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) minmax(0,1fr) 30px}.form-grid>*,.settings-grid>*,.info-grid>*,.item-row>*,.main-shell,.orders-column{min-width:0}input,select,textarea{min-width:0;max-width:100%}@media(max-width:800px){.settings-grid,.info-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:480px){.form-grid{grid-template-columns:minmax(0,1fr)}.item-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
dialog>header{gap:16px}dialog>header>div{min-width:0}dialog>header>.icon-button{flex-shrink:0}dialog h2{overflow-wrap:anywhere}.section-label{gap:12px;flex-wrap:wrap}
/* Reserved sidebar sections. */
.nav-entry{display:contents}
.nav-custom-icon{width:18px;height:18px;object-fit:contain;flex-shrink:0;transform:scale(1.22);transform-origin:center}
.nav-item:disabled{cursor:default;opacity:1;color:#aeb9c6}
.nav-item:disabled:hover{background:transparent;color:#aeb9c6}

/* Sidebar readability. */
.sidebar .nav-item{font-size:14px}

.filters{flex-wrap:wrap}.metric{min-width:0}.metric-top{gap:8px}.metric-icon{flex-shrink:0}

/* Compact order columns with individual product quantities. */
.orders-panel th,.orders-panel td{padding-left:10px;padding-right:10px}
.orders-panel th{letter-spacing:.25px}
.orders-panel td:first-child{min-width:145px;max-width:220px;white-space:normal;overflow-wrap:anywhere}
.orders-panel td:nth-child(3){min-width:145px;max-width:240px;white-space:normal;overflow-wrap:anywhere}
.order-product+.order-product{margin-top:12px}.order-product-name{display:flex;align-items:center;gap:5px}.supplier-check{color:#32936b;flex-shrink:0;stroke-width:2.5}
.operator-cell{max-width:140px;white-space:normal;overflow-wrap:anywhere}
.orders-panel td:last-child{padding-left:2px;padding-right:8px}
.dashboard-grid{grid-template-columns:minmax(0,1fr)}.right-rail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.right-rail .rail-note{grid-column:1/-1}@media(max-width:480px){.right-rail{grid-template-columns:minmax(0,1fr)}}
