/* GC_FRIENDLY_UI_V1 */
:root{--green:#202a29;--line:#e1e6e3;--muted:#61706c;background:#f4f6f4;color:#202a29;color-scheme:light}
body{background:#f4f6f4;color:#202a29}
body main{max-width:1440px;padding:28px 28px 40px}
body .brand{background:#fff;color:#202a29;border-bottom:1px solid #e1e6e3;padding:14px max(28px,calc((100% - 1384px)/2));gap:14px}
body .brand .brand-mark{width:48px;height:48px;border:0;border-radius:12px;object-fit:contain}
body .brand strong{font-size:1.12rem;letter-spacing:-.025em}
body .brand small{color:#61706c;font-size:.62rem;letter-spacing:.12em}
body .network{color:#48605a;background:#edf4ef;padding:7px 10px;border-radius:100px;font-size:.75rem}
body button{border-radius:12px;border-color:#dce3df;min-height:44px;padding:10px 14px;color:#283932;background:#fff;font-weight:650}
body button:hover{background:#eef3f0}
body .primary,body .primary:hover,body button.selected,body button[aria-pressed=true],body .amounts button{background:#243a32;color:#fff;border-color:#243a32}
body button:focus-visible,body input:focus-visible,body select:focus-visible,body summary:focus-visible{outline:3px solid #4b8d75;outline-offset:3px}
body input,body select{border:1px solid #cfdad4;border-radius:12px;color:#202a29;background:white}
body .workspace-head{margin-bottom:18px;gap:16px}
body h1{font-size:clamp(1.65rem,3vw,2.15rem);font-weight:750;letter-spacing:-.045em;margin:5px 0}
body .eyebrow{color:#67766f;font-size:.68rem;letter-spacing:.07em}
body .workspace-head .actions button{font-size:.78rem;min-height:40px}
body .admin-nav{border:0;padding:0;margin:0 0 12px;gap:8px}
body .utility{gap:8px;margin-bottom:24px;align-items:center}
body .utility button,body .admin-nav button{font-size:.83rem}
body .search-row{background:#fff;border:1px solid #dfe6e1;border-radius:16px;padding:14px;gap:12px;box-shadow:0 2px 8px #243a3203}
body .search-label{font-size:.78rem;color:#5c6c63;gap:6px}
body .search-label input{min-height:48px;font-size:.98rem;background:#f7f9f7;border-color:#e1e8e2}
body .search-row>button{min-height:48px}
body .categories{padding:16px 0 12px;gap:7px;scrollbar-width:thin;scrollbar-color:#bac8bd transparent}
body .categories button{border-radius:100px;font-size:.81rem;min-height:42px;padding:8px 15px}
body .gc-results{font-size:.78rem;color:#637269;margin:0 0 12px;display:flex;align-items:center;justify-content:space-between;gap:12px}
body .gc-results span:last-child{font-size:.73rem}
body #grid.grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch}
body #grid .material{border:1px solid #dce5df;border-radius:18px;background:#fff;box-shadow:0 3px 12px #243a3205;min-width:0;transition:box-shadow .15s,border-color .15s;overflow:hidden}
body #grid .material:hover{box-shadow:0 7px 22px #243a320c;border-color:#acbeb2}
body #grid .material.low{border:1px solid #e4caa0;background:#fffdfa}
body #grid .material-main{display:flex;flex-direction:column;align-items:stretch;flex:1;min-width:0;border:0;padding:0;width:100%;border-radius:0;background:transparent;color:#202a29}
body #grid .material-main:hover{background:#f8faf8}
body #grid .material-main .image-frame{position:relative;display:block;width:100%;min-width:0;height:158px;min-height:158px;max-height:158px;flex:0 0 158px;overflow:hidden;background:#f1f4f1;border-bottom:1px solid #e9eee9}
body #grid .material-main .image-frame img{position:absolute;inset:0;width:100%;height:100%;max-width:100%;max-height:100%;min-height:0;min-width:0;object-fit:contain;object-position:center;padding:10px}
body #grid .photo-pending{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#74837a;font-size:.73rem;padding:12px;font-weight:500}
body #grid .photo-pending::before{content:'▧';font-size:30px;font-weight:400;color:#a1b1a5;line-height:1}
body #grid .material-copy{padding:14px 15px 12px;display:flex;flex-direction:column;align-items:flex-start;flex:1;width:100%;min-width:0;gap:0}
body #grid .material-copy h3{font-size:.98rem;font-weight:700;line-height:1.35;letter-spacing:-.02em;margin:0 0 5px;overflow-wrap:anywhere;min-height:2.7em}
body #grid .material-copy>small{font-size:.71rem;line-height:1.4;color:#738077;font-weight:450;overflow-wrap:anywhere}
body #grid .material-copy>.gc-photo-caption{display:none}
body #grid .material-copy>.material-price{font-size:.74rem;font-weight:550;margin:9px 0 0;color:#55665b}
body #grid .material-copy .stock{font-size:1.62rem;line-height:1.15;font-weight:800;letter-spacing:-.045em;margin:15px 0 10px;overflow-wrap:anywhere}
body #grid .material-copy .stock small{font-size:.8rem;letter-spacing:0;font-weight:500;color:#66776c;display:inline}
body #grid .material-copy .stock .pack-summary{display:block;font-size:.7rem;line-height:1.4;font-weight:450;letter-spacing:0;color:#69776d;margin-top:6px;overflow-wrap:anywhere}
body #grid .gc-uncounted .stock{font-size:1rem;letter-spacing:-.02em;line-height:1.4}
body #grid .status{font-size:.69rem;line-height:1.35;border-radius:7px;background:#eaf4ec;color:#316444;padding:5px 8px;font-weight:650;max-width:100%;overflow-wrap:anywhere;margin-top:auto}
body #grid .status.low{background:#fff0d9;color:#875017}
body #grid .status.pending{background:#eef0f2;color:#5d6871}
body #grid .gc-ordered .status{background:#e9f0fb;color:#3c5c88}
body #grid .gc-retired .status{background:#f0eef4;color:#6c5d7c}
body #grid .gc-card-action{display:flex;justify-content:space-between;align-items:center;gap:6px;width:100%;padding-top:12px;margin-top:11px;border-top:1px solid #edf0ed;font-size:.79rem;color:#2a5541;font-weight:700;line-height:1.3}
body #grid .gc-card-action::after{content:'→';font-size:1rem}
body #grid .material-footer{padding:0 12px 12px;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px;min-width:0}
body #grid .material-footer>span{width:100%;margin:0 2px 2px;font-size:.67rem;line-height:1.35;color:#7b877e;overflow-wrap:anywhere}
body #grid .material-footer>small{width:100%;font-size:.67rem;line-height:1.35;color:#7b877e;overflow-wrap:anywhere}
body #grid .material-footer button{min-height:44px;padding:8px 10px;font-size:.73rem;line-height:1.3;flex:1;overflow-wrap:anywhere;white-space:normal;min-width:0;background:#f6f8f5;border-color:#e2e9e1;border-radius:10px}
body #grid .material-footer .gc-request{background:#edf4ed;color:#365c40;border-color:#d7e5d7;font-weight:700;flex-basis:100%}
body #grid .material-footer button:disabled{opacity:.7;cursor:default}
body .gc-menu{position:relative;color:#52665b;font-size:.81rem;min-width:0}
body .gc-menu>summary{list-style:none;cursor:pointer;border:1px solid #dce3df;border-radius:12px;padding:12px 14px;min-height:44px;background:#fff;font-weight:650;touch-action:manipulation}
body .gc-menu>summary::-webkit-details-marker{display:none}
body .gc-menu>summary::after{content:'⌄';margin-left:10px}
body .gc-menu[open]>summary{background:#eaf0ea}
body .gc-menu-panel{position:absolute;top:calc(100% + 8px);left:0;z-index:25;min-width:250px;max-width:min(360px,calc(100vw - 32px));padding:10px;display:grid;gap:6px;background:#fff;border:1px solid #dce5df;border-radius:14px;box-shadow:0 12px 35px #1d342322}
body .gc-menu-panel button{width:100%;text-align:left}
body .alerts{border:1px solid #e6d8bd;border-left:4px solid #c58a3b;border-radius:14px;background:#fff8eb;padding:12px 15px;color:#785428;max-height:190px;overflow:auto}
body .alerts p{font-size:.83rem;line-height:1.45}
body .feedback{background:#eaf4ec;border-color:#c5ddcb;color:#365840}
body .error{color:#ad3838;text-decoration:none;font-weight:650}
body dialog{color:#202a29;border-radius:22px;padding:24px;box-shadow:0 20px 80px #20352b33}
body dialog::backdrop{background:#17261ec2}
body .dialog-head h2{font-size:1.25rem}
body .purchase-row{border:1px solid #dce5df;border-radius:16px}
body .footnote{font-size:.75rem;color:#7b897e;line-height:1.5}
body #toast{background:#243a32;color:#fff}
@media(min-width:1600px){body main{max-width:1580px}body #grid.grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1199px) and (min-width:768px){body #grid.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767px){body main{padding:20px 14px 28px}body .brand{padding:12px 14px}body #grid.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}body #grid .material{border-radius:14px}body #grid .material-main .image-frame{height:130px;min-height:130px;max-height:130px;flex:0 0 130px}body #grid .material-main .image-frame img{padding:8px}body #grid .material-copy{padding:11px 11px 10px}body #grid .material-copy h3{font-size:.85rem;line-height:1.35;min-height:2.7em}body #grid .material-copy .stock{font-size:1.42rem;margin:12px 0 9px}body #grid .material-copy .stock small{font-size:.72rem}body #grid .material-copy .stock .pack-summary{font-size:.65rem}body #grid .material-copy>small{font-size:.65rem}body #grid .material-copy>.material-price{font-size:.65rem}body #grid .gc-uncounted .stock{font-size:.87rem}body #grid .status{font-size:.64rem;padding:5px 6px}body #grid .gc-card-action{font-size:.71rem;padding-top:10px;margin-top:10px}body #grid .material-footer{padding:0 9px 10px;gap:5px}body #grid .material-footer button{font-size:.68rem;padding:8px 6px}body .utility button{flex:initial}body .utility{gap:7px;margin-bottom:18px}body .gc-menu-panel{position:static;min-width:0;max-width:100%;margin-top:8px;box-shadow:none}body .gc-menu[open]{flex-basis:100%;width:100%}body .gc-results span:last-child{display:none}body .workspace-head{gap:10px;margin-bottom:14px}body .workspace-head .actions{gap:6px}body .workspace-head .actions button{padding:8px 12px;min-height:40px}body .admin-nav button,body .utility button,body .gc-menu{font-size:.75rem}body .admin-nav{gap:6px}body .search-row{padding:10px;gap:8px}body .search-label input{font-size:.87rem}body .search-row>button{font-size:.76rem;padding:10px}body .categories button{font-size:.75rem;padding:8px 12px}body .brand strong{font-size:.97rem}body .brand small{font-size:.53rem}body .brand .brand-mark{width:40px;height:40px}body .brand .network{font-size:.67rem;padding:6px 8px}body dialog{padding:18px}body .amounts button{font-size:1.2rem}}
@media(prefers-reduced-motion:reduce){body #grid .material{transition:none}}
