:root{--shopn-primary: #0d631b;--shopn-primary-container: #2e7d32;--shopn-on-primary: #ffffff;--shopn-secondary: #4c56af;--shopn-surface: #fafaf4;--shopn-surface-container: #eeeee9;--shopn-surface-container-low: #f4f4ee;--shopn-surface-container-high: #e8e8e3;--shopn-surface-lowest: #ffffff;--shopn-on-surface: #1a1c19;--shopn-on-surface-variant: #40493d;--shopn-outline: #707a6c;--shopn-outline-variant: #bfcaba;--shopn-error: #ba1a1a;--shopn-error-container: #ffdad6;--shopn-muted: #a8a29e;--shopn-font: "Manrope", system-ui, sans-serif;--shopn-header-h: 3.5rem;--shopn-footer-h: 2.75rem;--shopn-sidebar-w: 15rem;--shopn-sidebar-collapsed-w: 4.25rem;--shopn-bp-wide: 1024px;--shopn-bp-tablet: 768px}@font-face{font-family:Manrope;font-style:normal;font-weight:400 800;font-display:swap;src:url(https://fonts.gstatic.com/s/manrope/v15/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk59FO_F87jxeN7B.woff2) format("woff2")}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--shopn-font);background:var(--shopn-surface);color:var(--shopn-on-surface);-webkit-font-smoothing:antialiased}a{color:var(--shopn-secondary);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit}.auth-page{min-height:100%;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;padding:2rem 1.25rem;background:radial-gradient(ellipse at top left,rgba(13,99,27,.08),transparent 50%),radial-gradient(ellipse at bottom right,rgba(76,86,175,.08),transparent 45%),var(--shopn-surface)}.auth-page>.auth-card{margin-top:auto;margin-bottom:auto}.build-info-line{margin:0;font-size:.65rem;line-height:1.4;color:var(--shopn-on-surface-variant);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.build-info-line--auth{flex-shrink:0;width:100%;max-width:42rem;padding:.75rem .5rem 0;text-align:center}.build-info-line--footer{flex:1;min-width:0;text-align:left}.auth-card{width:min(24rem,100%);background:var(--shopn-surface-lowest);border:1px solid var(--shopn-outline-variant);border-radius:1rem;padding:2rem;display:flex;flex-direction:column;gap:1rem}.auth-card h1{margin:0;font-size:1.5rem;font-weight:700;color:var(--shopn-primary)}.auth-card .brand{font-size:1.75rem;font-weight:800;letter-spacing:-.02em;color:var(--shopn-primary)}.auth-field{display:flex;flex-direction:column;gap:.35rem}.auth-field label{font-size:.75rem;font-weight:500;color:var(--shopn-on-surface-variant)}.auth-field input{border:1px solid var(--shopn-outline-variant);border-radius:.5rem;padding:.65rem .75rem;font:inherit;background:var(--shopn-surface);color:var(--shopn-on-surface)}.auth-field input:focus{outline:2px solid var(--shopn-primary);outline-offset:1px}.auth-error{color:var(--shopn-error);background:var(--shopn-error-container);border-radius:.5rem;padding:.65rem .75rem;font-size:.875rem}.auth-info{color:var(--shopn-on-surface-variant);background:var(--shopn-surface-container-low);border-radius:.5rem;padding:.65rem .75rem;font-size:.875rem}.auth-submit{border:none;border-radius:.5rem;padding:.75rem 1rem;background:var(--shopn-primary);color:var(--shopn-on-primary);font-weight:600;cursor:pointer}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-loading{min-height:100%;display:grid;place-items:center;color:var(--shopn-on-surface-variant)}.shell{height:100%;display:grid;grid-template-rows:var(--shopn-header-h) 1fr auto;grid-template-columns:auto 1fr;grid-template-areas:"header header" "sidebar main" "footer footer";background:var(--shopn-surface)}.shell-header{grid-area:header;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 1rem;background:var(--shopn-surface-lowest);border-bottom:1px solid var(--shopn-outline-variant);z-index:20}.shell-header-left{display:flex;align-items:center;gap:.75rem}.shell-brand{font-weight:800;font-size:1.25rem;color:var(--shopn-primary);letter-spacing:-.02em}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:1px solid var(--shopn-outline-variant);border-radius:.5rem;background:var(--shopn-surface);color:var(--shopn-on-surface);cursor:pointer}.shell-sidebar{grid-area:sidebar;width:var(--shopn-sidebar-w);background:var(--shopn-surface-container-low);border-right:1px solid var(--shopn-outline-variant);overflow:auto;transition:width .16s ease;z-index:15}.shell.collapsed .shell-sidebar{width:var(--shopn-sidebar-collapsed-w)}.shell-sidebar nav{display:flex;flex-direction:column;padding:.75rem .5rem;gap:.25rem}.shell-sidebar .nav-group-label{margin:.75rem .5rem .25rem;font-size:.65rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--shopn-muted)}.shell.collapsed .shell-sidebar .nav-group-label,.shell.collapsed .shell-sidebar .nav-label{display:none}.shell-sidebar a{display:flex;align-items:center;gap:.75rem;padding:.65rem .75rem;border-radius:.5rem;color:var(--shopn-on-surface);text-decoration:none;font-weight:500;font-size:.9rem}.shell-sidebar a:hover{background:var(--shopn-surface-container);text-decoration:none}.shell-sidebar a.active{background:var(--shopn-primary);color:var(--shopn-on-primary)}.nav-glyph{width:1.25rem;text-align:center;flex-shrink:0;font-size:.85rem;font-weight:700}.shell-main{grid-area:main;overflow:auto;min-height:0;padding:1.25rem 1.5rem 2rem;min-width:0}.shell-footer{grid-area:footer;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:var(--shopn-footer-h);padding:.35rem 1rem;background:var(--shopn-surface-lowest);border-top:1px solid var(--shopn-outline-variant);color:var(--shopn-on-surface-variant);font-size:.75rem;z-index:20}.shell-footer .footer-links{display:flex;flex-shrink:0;gap:.75rem}.shell-footer .footer-link{border:none;background:none;padding:0;color:var(--shopn-secondary);cursor:default;font:inherit}.account{position:relative}.account-trigger{display:flex;align-items:center;gap:.5rem;border:1px solid var(--shopn-outline-variant);background:var(--shopn-surface);border-radius:999px;padding:.25rem .65rem .25rem .25rem;cursor:pointer;color:inherit}.avatar{width:1.75rem;height:1.75rem;border-radius:999px;background:var(--shopn-primary);color:var(--shopn-on-primary);display:grid;place-items:center;font-size:.65rem;font-weight:700}.account-menu{position:absolute;right:0;top:calc(100% + .35rem);min-width:10rem;background:var(--shopn-surface-lowest);border:1px solid var(--shopn-outline-variant);border-radius:.5rem;padding:.35rem;box-shadow:0 8px 24px #1a1c191f;z-index:30}.account-menu button{width:100%;text-align:left;border:none;background:transparent;padding:.55rem .65rem;border-radius:.35rem;cursor:pointer;font:inherit;color:var(--shopn-on-surface)}.account-menu button:hover{background:var(--shopn-surface-container)}.breadcrumb{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;margin:0 0 1rem;font-size:.8rem;color:var(--shopn-on-surface-variant)}.breadcrumb span+span:before{content:"/";margin-right:.35rem;color:var(--shopn-muted)}.stores-page h1{margin:0 0 1rem;font-size:1.5rem;font-weight:700}.stores-page h2{margin:0;font-size:1rem;font-weight:700}.stores-search,.stores-add{display:flex;flex-direction:column;gap:.75rem;max-width:36rem}.stores-search{margin-bottom:1.25rem}.stores-search label,.stores-field label{font-size:.75rem;font-weight:500;color:var(--shopn-on-surface-variant)}.stores-search-row{display:flex;gap:.5rem}.stores-search input,.stores-field input{border:1px solid var(--shopn-outline-variant);border-radius:.5rem;padding:.65rem .75rem;font:inherit;background:var(--shopn-surface-lowest);color:var(--shopn-on-surface)}.stores-search input{flex:1;min-width:0}.stores-search input:focus,.stores-field input:focus{outline:2px solid var(--shopn-primary);outline-offset:1px}.stores-search button,.stores-add button,.stores-error button{border:none;border-radius:.5rem;padding:.65rem 1rem;background:var(--shopn-primary);color:var(--shopn-on-primary);font-weight:600;cursor:pointer}.stores-search button:disabled,.stores-add button:disabled{opacity:.6;cursor:not-allowed}.stores-field{display:flex;flex-direction:column;gap:.35rem}.stores-status{margin:0 0 1rem;color:var(--shopn-on-surface-variant)}.stores-error{color:var(--shopn-error);background:var(--shopn-error-container);border-radius:.5rem;padding:.75rem;display:flex;flex-direction:column;align-items:flex-start;gap:.65rem;margin-bottom:1rem}.stores-error p{margin:0}.stores-list{list-style:none;margin:0 0 1.5rem;padding:0;display:flex;flex-direction:column;gap:.5rem;max-width:36rem}.stores-list li{background:var(--shopn-surface-lowest);border:1px solid var(--shopn-outline-variant);border-radius:.75rem;padding:.85rem 1rem}.store-name{display:block;font-weight:600}.store-address{display:block;margin-top:.2rem;color:var(--shopn-on-surface-variant);font-size:.875rem}.stores-add{margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--shopn-outline-variant)}.history-page h1{margin:0 0 .35rem;font-size:1.5rem;font-weight:700}.history-page h2{margin:0 0 .5rem;font-size:.95rem;font-weight:600;color:var(--shopn-on-surface-variant)}.history-status{margin:.75rem 0 0;color:var(--shopn-on-surface-variant)}.history-error{color:var(--shopn-error);background:var(--shopn-error-container);border-radius:.5rem;padding:.75rem;display:flex;flex-direction:column;align-items:flex-start;gap:.65rem;margin-top:.75rem}.history-error p{margin:0}.history-error button{border:none;border-radius:.5rem;padding:.65rem 1rem;background:var(--shopn-primary);color:var(--shopn-on-primary);font-weight:600;cursor:pointer}.history-list,.history-items{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-direction:column;gap:.5rem;max-width:40rem}.history-list a{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;background:var(--shopn-surface-lowest);border:1px solid var(--shopn-outline-variant);border-radius:.75rem;padding:.85rem 1rem;color:inherit;text-decoration:none}.history-list a:hover{border-color:var(--shopn-primary)}.history-store{font-weight:600}.history-date,.history-total{color:var(--shopn-on-surface-variant)}.history-total{margin-left:auto;font-weight:700;color:var(--shopn-primary)}.history-trip-header{margin-bottom:.5rem}.history-progress{margin:.35rem 0 0;font-size:.8rem;font-weight:600;color:var(--shopn-primary)}.history-department{margin-top:1.25rem;max-width:40rem}.history-items li{display:grid;grid-template-columns:1fr auto auto;grid-template-areas:"name price check" "qty price check";gap:.15rem 1rem;background:var(--shopn-surface-lowest);border:1px solid var(--shopn-outline-variant);border-radius:.75rem;padding:.85rem 1rem}.history-product{grid-area:name;font-weight:600}.history-qty{grid-area:qty;color:var(--shopn-on-surface-variant);font-size:.875rem}.history-price{grid-area:price;font-weight:700;color:var(--shopn-primary)}.history-check{grid-area:check;align-self:center;font-size:.75rem;font-weight:600}.history-items li.is-checked{border-left:4px solid var(--shopn-primary)}.history-items li.is-unchecked{border-left:4px dashed var(--shopn-outline-variant);color:var(--shopn-on-surface-variant)}.history-items li.is-unchecked .history-price,.history-items li.is-unchecked .history-check{color:var(--shopn-on-surface-variant);font-weight:500}.placeholder-page h1,.lists-page h1,.list-detail-page h1{margin:0 0 .5rem;font-size:1.5rem;font-weight:700}.placeholder-page p{margin:0;color:var(--shopn-on-surface-variant);max-width:36rem}.entity-page h1{margin:0;font-size:1.5rem;font-weight:700}.page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.page-header h1{margin:0}.lists-page,.list-detail-page{max-width:48rem}.list-index{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-direction:column;gap:.75rem}.list-card,.item-row{background:var(--shopn-surface-lowest);border:1px solid var(--shopn-outline-variant);border-radius:.75rem;padding:1rem;display:flex;flex-direction:column;gap:.5rem}.list-card-main a{font-weight:700;color:var(--shopn-primary);font-size:1.05rem}.list-meta{margin:0;color:var(--shopn-on-surface-variant);font-size:.875rem}.active-trip{display:inline-block;margin-top:.25rem;font-size:.8rem;font-weight:600;color:var(--shopn-primary-container)}.list-card-actions,.form-actions,.item-row-actions{display:flex;flex-wrap:wrap;gap:.5rem}.list-card-actions button,.lists-page .form-actions button,.item-row-actions button,.store-picker button,.confirm-panel button,.list-form button,.dept-group button{font:inherit;border:1px solid var(--shopn-outline-variant);background:var(--shopn-surface);color:var(--shopn-on-surface);border-radius:.5rem;padding:.4rem .7rem;cursor:pointer}.list-form,.confirm-panel,.inline-create,.estimate-block,.add-item{display:flex;flex-direction:column;gap:.75rem;margin:.5rem 0 1rem;padding:1rem;background:var(--shopn-surface-container-low);border-radius:.75rem}.picker-results{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem;max-height:12rem;overflow-y:auto}.picker-results button{width:100%;text-align:left}.store-picker-selected{margin:0;display:flex;align-items:center;gap:.5rem;font-size:.875rem}.dept-group{margin:1.25rem 0}.dept-group h2{margin:0 0 .5rem;font-size:.95rem;color:var(--shopn-on-surface-variant)}.unpriced{color:var(--shopn-error);font-size:.8rem;font-weight:600}.invalid-link{color:var(--shopn-on-surface-variant)}.page-empty,.page-error,.read-only-note{color:var(--shopn-on-surface-variant);max-width:36rem}.page-error{color:var(--shopn-error);background:var(--shopn-error-container);border-radius:.5rem;padding:.65rem .75rem}.entity-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.entity-row{display:flex;flex-direction:column;gap:.15rem;padding:.85rem 1rem;background:var(--shopn-surface-lowest);border:1px solid var(--shopn-outline-variant);border-radius:.75rem;color:inherit;text-decoration:none}.entity-row:hover{text-decoration:none;border-color:var(--shopn-primary)}.entity-row-name{font-weight:600}.entity-row-meta{font-size:.85rem;color:var(--shopn-on-surface-variant)}.entity-form{display:flex;flex-direction:column;gap:.85rem;max-width:28rem;margin-top:1rem}.entity-form h2{margin:0;font-size:1.15rem}.field{display:flex;flex-direction:column;gap:.35rem}.field label,.field-label{font-size:.75rem;font-weight:500;color:var(--shopn-on-surface-variant)}.field input,.field select{border:1px solid var(--shopn-outline-variant);border-radius:.5rem;padding:.65rem .75rem;font:inherit;background:var(--shopn-surface);color:var(--shopn-on-surface)}.field input:focus,.field select:focus{outline:2px solid var(--shopn-primary);outline-offset:1px}.field-error{margin:0;color:var(--shopn-error);font-size:.875rem}.suggestions-label{margin:0 0 .35rem;font-size:.8rem;color:var(--shopn-on-surface-variant)}.suggestions ul,.suggestions-plain,.merge-choices{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.suggestion-row,.suggestions-plain button,.merge-choices button{width:100%;text-align:left;border:1px solid var(--shopn-outline-variant);background:var(--shopn-surface-lowest);border-radius:.5rem;padding:.55rem .75rem;font:inherit;cursor:pointer}.merge-choices button[aria-pressed=true]{border-color:var(--shopn-primary);background:var(--shopn-surface-container-low)}.selected-chip{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem .75rem;border:1px solid var(--shopn-outline-variant);border-radius:.5rem;background:var(--shopn-surface-lowest)}.btn-primary,.btn-secondary,.btn-danger{border:none;border-radius:.5rem;padding:.65rem .9rem;font:inherit;font-weight:600;cursor:pointer}.btn-primary{background:var(--shopn-primary);color:var(--shopn-on-primary)}.btn-secondary{background:var(--shopn-surface-container);color:var(--shopn-on-surface)}.btn-danger{background:var(--shopn-error);color:var(--shopn-on-primary)}.btn-primary:disabled,.btn-secondary:disabled,.btn-danger:disabled{opacity:.6;cursor:not-allowed}.read-only-fields{display:grid;grid-template-columns:8rem 1fr;gap:.35rem 1rem;max-width:28rem}.read-only-fields dt{font-size:.75rem;font-weight:500;color:var(--shopn-on-surface-variant)}.read-only-fields dd{margin:0}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a1c1959;display:grid;place-items:center;z-index:40;padding:1rem}.dialog{width:min(28rem,100%);background:var(--shopn-surface-lowest);border:1px solid var(--shopn-outline-variant);border-radius:.75rem;padding:1.25rem;display:flex;flex-direction:column;gap:.75rem}.dialog h2{margin:0;font-size:1.1rem}.dialog-actions{display:flex;justify-content:flex-end;gap:.5rem}.sidebar-backdrop{display:none}@media (max-width: 1023px){.shell{grid-template-columns:1fr;grid-template-areas:"header" "main" "footer"}.shell-sidebar{position:fixed;top:var(--shopn-header-h);bottom:0;left:0;width:min(18rem,85vw);transform:translate(-105%);transition:transform .18s ease;box-shadow:8px 0 24px #1a1c191f}.shell.drawer-open .shell-sidebar{transform:translate(0)}.shell.drawer-open .sidebar-backdrop{display:block;position:fixed;inset:var(--shopn-header-h) 0 0;background:#1a1c1959;z-index:14;border:none;padding:0;cursor:pointer}.wide-only{display:none!important}}@media (min-width: 1024px){.tablet-only{display:none!important}}
