.wordmark img{display:block;width:190px;height:auto;max-width:100%;mix-blend-mode:multiply}.auth-art .wordmark img{width:290px}.cosmo-symbol{display:inline-block;width:28px;height:28px;background-repeat:no-repeat;background-position:center;background-size:contain;mix-blend-mode:multiply;vertical-align:middle;flex-shrink:0}.cosmo-symbol.from-logo{background-size:3800% auto}.workspace-icon{background:transparent;padding:0}.workspace-icon .cosmo-symbol{width:28px;height:28px}.top-mark{font-size:0}.orbit{border:none;transform:none;display:grid;place-items:center}.orbit:after,.planet{display:none}.orbit .cosmo-symbol{width:110px;height:110px}.star{position:static;font-size:0}.primary{background:var(--brand)}.admin-tabs{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}.admin-tabs button{border:1px solid var(--line);background:#fff;color:#7a7280;padding:13px 18px;border-radius:8px;font-size:12px}.admin-tabs button.active{background:#efeafa;color:#6650b1;border-color:#ddd2f2}.admin-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:22px 0}.admin-intro p,.panel-head p{font-size:12px;line-height:1.9;margin-bottom:0}.admin-intro h3{margin-bottom:4px}.admin-panel{margin-bottom:24px}.admin-form{padding:24px}.admin-actions{display:flex;gap:12px;justify-content:flex-end;margin:22px 0;flex-wrap:wrap}.admin-actions a{text-decoration:none}.brand-preview{display:flex;align-items:center;gap:30px;padding:25px;background:#faf8fc;border:1px solid var(--line);border-radius:10px;margin-bottom:24px}.brand-preview>img{width:230px;max-width:75%;height:auto;max-height:100px;object-fit:contain;mix-blend-mode:multiply}.brand-preview .cosmo-symbol{width:42px;height:42px}.admin-form input[type=color]{padding:5px;height:44px}.admin-form input[type=file]{font-size:11px}.admin-form label small{font-size:10px;color:#999}.label-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center;border-bottom:1px solid #eee9f1;padding:10px 0}.label-row>span{overflow-wrap:anywhere}.label-editor #label-list{max-height:540px;overflow-y:auto;padding-right:8px}.label-editor .toolbar input{max-width:500px}.sticky-save{position:sticky;bottom:0;background:white;padding-top:15px}.database-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.database-cards>div{padding:20px}.database-cards small{font-size:11px;color:#887b90}.database-cards strong{display:block;font-size:27px;margin-top:12px;font-weight:500}.audit-detail{white-space:normal;min-width:240px;max-width:500px;line-height:1.8}.permissions-list{display:grid;gap:10px}.permissions-list label{display:flex;gap:12px;align-items:center;padding:12px;background:#faf8fc;border:1px solid #eee8f4;border-radius:8px}.permissions-list input{width:18px;height:18px;min-height:0;margin:0;accent-color:#735dc6}.team-card .text-button{display:block;margin-top:15px}.restricted-state{padding:50px 25px}.sidebar nav{gap:3px}.sidebar nav button{padding-block:11px}.auth-art .eyebrow{color:#7a6397}.cosmo-symbol+div{min-width:0}
@media(max-width:850px){.wordmark img{width:55px}.wordmark span{display:none}.database-cards{grid-template-columns:repeat(2,1fr)}.admin-intro{align-items:flex-start;flex-direction:column}.sidebar nav button{padding:12px}.admin-tabs button{padding:10px;font-size:11px}}
@media(max-width:560px){.admin-form{padding:16px}.label-row{grid-template-columns:1fr;gap:3px}.admin-tabs{gap:5px}.database-cards{gap:8px}.database-cards>div{padding:15px}.admin-actions{justify-content:flex-start}.admin-intro .primary{font-size:11px}.auth-art .wordmark img{width:210px}.sidebar nav button{padding:10px 7px}.sidebar nav button>span{font-size:21px}}
.location-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:16px 0 22px}.location-head h3{margin:0 0 6px}.location-head p{max-width:680px;line-height:1.7}.location-head .row-actions{display:flex;gap:8px;flex-wrap:wrap}.location-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin-bottom:24px}.location-card{text-align:left;display:flex;flex-direction:column;gap:12px;min-height:132px;padding:20px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);cursor:pointer}.location-card.selected{border-color:#8068c7;background:#f7f3fd;box-shadow:0 3px 14px #7757b517}.location-card.inactive{opacity:.56}.location-card strong{font-size:16px}.location-card>span:last-child{font-size:11px;color:#8b8390}.family-grid{display:grid;gap:12px;padding:16px}.family-card{padding:0;overflow:hidden}.family-card summary{display:flex;align-items:center;gap:16px;padding:16px 20px;cursor:pointer;list-style:none}.family-card summary::-webkit-details-marker{display:none}.family-card summary .product-photo{height:54px;width:54px;object-fit:cover;border-radius:8px}.family-card summary span{flex:1;min-width:0}.family-card summary strong,.family-card summary small{display:block}.family-card summary small{font-size:11px;color:#8b8390;margin-top:5px}.family-card summary>b{font-size:14px;white-space:nowrap}.family-variants{border-top:1px solid var(--line);padding:8px 20px}.family-variant{display:flex;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid #f2eef4}.family-variant:last-child{border-bottom:0}.family-variant .product-photo{width:42px;height:42px;object-fit:cover;border-radius:6px}.family-variant span{flex:1;min-width:0}.family-variant b,.family-variant small{display:block}.family-variant small{color:#8b8390;font-size:10px;margin-top:3px}.family-variant strong{white-space:nowrap}.family-variant button{font-size:11px}.family-label{display:block;color:#8e7a9e;font-size:10px;margin:4px 0 8px}.toolbar{flex-wrap:wrap}
.permission-groups{display:grid;gap:16px;max-height:55vh;overflow:auto;padding-right:5px}.permission-group{padding:15px;border:1px solid #eee8f4;border-radius:10px;background:#fff}.permission-group h3{font-size:13px;margin:0 0 12px;color:var(--ink)}.permission-group .permissions-list{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.permission-group .permissions-list label{font-size:11px;line-height:1.5}
@media(max-width:700px){.location-head{align-items:flex-start;flex-direction:column}.family-card summary{padding:13px}.family-card summary>b{font-size:11px}.family-variant{flex-wrap:wrap}.family-variant span{flex-basis:calc(100% - 65px)}.family-variant strong{margin-left:55px}}
.profile #profile-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.profile .icon-button{margin-left:0;font-size:18px;padding:3px}
/* Keep every module reachable on shorter screens and touch devices. */
.sidebar{overflow-y:auto;overscroll-behavior:contain}.sidebar nav{flex-shrink:0}.sidebar-bottom{padding-top:20px}.sidebar .workspace{margin-block:20px 16px}.sidebar .storage-note{padding-block:12px}
.connection-banner{display:flex;align-items:center;gap:20px;padding:16px 28px;background:#fff1da;border-bottom:1px solid #edc587;color:#70481c}.connection-banner strong{font-size:13px}.connection-banner p{margin:5px 0 0;font-size:12px;line-height:1.7}.connection-banner button{flex-shrink:0}.primary,.secondary{min-height:42px}.panel-head{flex-wrap:wrap}.panel-head>div{min-width:0}
@media(max-width:850px) and (min-width:561px){.sidebar{width:100px}.sidebar nav button{font-size:10px;line-height:1.5;flex-direction:column;gap:6px;padding:12px 4px;text-align:center}.sidebar nav{margin-top:20px}main{margin-left:100px}}
@media(max-width:560px){.sidebar{height:80px;overflow:visible}.sidebar nav{height:80px;overflow-x:auto;justify-content:flex-start;gap:4px;overscroll-behavior-x:contain}.sidebar nav button{flex:0 0 98px;font-size:10px;line-height:1.4;flex-direction:column;gap:5px;text-align:center;min-height:74px}.sidebar nav button>span{font-size:22px}main{margin-bottom:80px}.connection-banner{padding:14px 16px;flex-wrap:wrap;gap:10px}.form-grid{grid-template-columns:1fr}.panel-head{gap:14px}.panel-head>.secondary{width:100%}.modal-actions{position:sticky;bottom:-22px;background:#fff;padding-bottom:12px}.toolbar select{font-size:12px}.hint{font-size:12px}#toast{bottom:92px}}
#modal:has(.permission-editor){width:min(920px,calc(100% - 28px))}.permission-tools{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.permission-tools label{flex:1;min-width:220px}.permission-editor .permission-groups{max-height:42vh;margin-top:15px}.permissions-list label small{display:block;color:#766b80;font-size:10px;line-height:1.6;margin-top:5px}.permission-scope{border-top:1px solid var(--line);padding-top:20px;margin-top:20px}.permission-scope .permissions-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}#permission-summary{font-size:12px;color:#6651af;margin-top:12px}.permission-scope p{font-size:12px;line-height:1.8}

/* Branch supply workspace */
.supply-tags,.supply-flow{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.supply-tags span,.supply-flow span{padding:7px 12px;border-radius:20px;background:#f0edf8;color:#51406f;font-size:12px}.supply-flow{padding-bottom:12px;border-bottom:1px solid #e9e5ef}.supply-intro{color:#655d73;line-height:1.8}.supply-requests{border-left:4px solid #735dc6}.supply-requests summary{cursor:pointer;padding:8px 0 18px;font-size:16px}.supply-requests td small{display:block;margin-top:5px;color:#736b80}.supply-status{display:inline-block;border-radius:18px;padding:6px 10px;font-size:12px;white-space:nowrap}.supply-status.pending{background:#fff1d8;color:#885d12}.supply-status.dispatched{background:#eeebfc;color:#604795}.supply-status.received{background:#e5f4ed;color:#276746}.supply-status.rejected{background:#faeaea;color:#974547}.location-head{gap:20px;align-items:flex-start}.location-card.selected{box-shadow:0 0 0 2px #735dc6}.location-card:focus-visible{outline:3px solid #735dc6;outline-offset:3px}@media(max-width:650px){.location-head{flex-direction:column}.location-head .row-actions{width:100%;flex-wrap:wrap}.supply-flow span{font-size:11px}.supply-requests summary{line-height:1.7}}
.supply-requests>summary{padding:20px 22px 14px}.supply-requests>button{margin:0 22px 8px}.supply-requests>p{padding:0 22px 18px;margin:0;line-height:1.7}.supply-requests .table-wrap{border-top:1px solid #eeeaf3}.location-head>.row-actions{flex-shrink:0;min-width:170px}
/* ERP workspace density and uncropped catalogue images. */
#content .product-grid{grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:16px;padding:12px 18px 20px}
#content .product-card{display:flex;flex-direction:column;min-width:0}
#content .product-card .card-image{display:block;position:relative;height:190px;flex:0 0 190px;background:#fff;overflow:hidden}
#content .product-card .card-image img.product-photo{position:absolute;inset:0;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;padding:14px;box-sizing:border-box;transform:none}
#content .product-card .card-category{z-index:1;top:9px;left:9px;padding:5px 8px}
#content .product-card .card-body{padding:14px;display:flex;flex-direction:column;flex:1}
#content .product-card .card-body h3{font-size:13px;line-height:1.65;height:auto;min-height:43px;margin:7px 0}
#content .product-card .family-label{font-size:11px;margin-bottom:8px}
#content .product-card .badge{align-self:flex-start}
#content .product-card .card-stock{margin-top:auto;padding-top:12px}
#content .product-card .card-stock small{font-size:11px;color:#746b64}
#content .product-card .card-actions{margin-top:12px;flex-wrap:wrap}
#content .product-card .card-actions .secondary{min-height:38px;padding:8px;font-size:11px}
#content .inventory-toolbar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:18px;align-items:center}
#content .inventory-toolbar .search{grid-column:1/-1;min-width:0;width:100%;margin:0}
#content .inventory-toolbar select{width:100%;max-width:none;min-width:0;font-size:12px;height:42px;padding:8px}
#content .inventory-toolbar .view-toggle{grid-column:1/4;justify-self:start}
#content .inventory-toolbar>a{grid-column:4/-1;justify-self:end;margin:0;white-space:nowrap}
#content .view-toggle button{min-width:44px;min-height:40px}
#content .stock-group{min-height:105px}
#content .stock-section-head{padding:20px 18px 8px}
#content .stock-section-empty{padding:4px 18px 18px}
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #aa97e3;outline-offset:2px}
.form-grid>label,.panel-head>div{min-width:0}.panel-head{flex-wrap:wrap}.form-grid input,.form-grid select{max-width:100%}
#content .table-wrap th{white-space:nowrap}#content .table-wrap td{vertical-align:middle}
#content .admin-tabs{gap:7px;margin-bottom:18px}#content .admin-tabs button{padding:10px 14px;min-height:40px}
#modal-form input,#modal-form select{min-height:42px}#modal-form textarea{min-height:85px}
@media(max-width:850px){#content .inventory-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}#content .inventory-toolbar .view-toggle{grid-column:1}#content .inventory-toolbar>a{grid-column:2}#content .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){#content .product-grid{grid-template-columns:1fr;padding:10px 12px 16px}#content .product-card .card-image{height:190px;flex-basis:190px}#content .inventory-toolbar{padding:12px;gap:8px}#content .inventory-toolbar>a{font-size:11px;padding:10px 8px}#content .inventory-toolbar .view-toggle{grid-column:1/-1}#content .inventory-toolbar>a{grid-column:1/-1;justify-self:stretch;text-align:center}.production-bom-line,.purchase-order-line{grid-template-columns:1fr}.family-variant{flex-wrap:wrap}.family-variant span{flex-basis:55%}.panel-head{padding:16px}}

/* Mobile usability and COSMO's four-point center mark. */
.cosmo-symbol.from-logo{background-size:contain}
.mobile-navigation{display:none}
.password-toggle{display:block;border:0;background:transparent;color:var(--violet);padding:12px 0;min-height:44px;text-align:left}
.login-help{font-size:12px;line-height:1.7;color:var(--muted);margin:0}
@media(max-width:700px){
 #auth{grid-template-columns:1fr;min-height:100dvh;align-content:start}
 .auth-art{min-height:0;padding:26px 24px;display:block}
 .auth-art .orbit,.auth-art>div:nth-of-type(3),.auth-art>small{display:none}
 .auth-art .wordmark img{width:210px;max-width:75vw}
 .auth-panel{padding:28px 24px 40px;align-items:flex-start}
 .auth-box{width:100%;max-width:420px;min-width:0}
 .auth-box h2{font-size:23px;line-height:1.6}
 .auth-box label{margin-top:18px}
 input,select,textarea{font-size:16px!important;min-height:46px;max-width:100%}
 .auth-box .primary{margin-top:16px;min-height:48px}
 .auth-box .auth-note{font-size:12px!important;line-height:1.8}
 .auth-box .error{overflow-wrap:anywhere}
 .mobile-navigation{display:block;padding:14px 16px 0}
 .mobile-navigation label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}
 .mobile-navigation select{width:100%;background:#fff}
 .sidebar{display:none}main{margin:0!important}
 .main-content{padding:20px 14px;padding-bottom:calc(24px + env(safe-area-inset-bottom))}
 .topbar{padding:0 16px}.top-logout{display:inline-block;min-width:44px;min-height:44px}
 .page-heading,.panel-head,.location-head{gap:12px;flex-wrap:wrap}
 .page-heading h1{font-size:23px;overflow-wrap:anywhere}
 .page-heading>.primary{width:100%;min-height:44px}
 .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .stat{min-width:0}.stat-value{font-size:24px}
 .toolbar select{width:100%;max-width:none}
 .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
 .row-actions{flex-wrap:wrap;gap:8px}
 .secondary,.primary,.icon-button{min-height:44px}
 .icon-button{min-width:44px}
 dialog{width:calc(100% - 20px);max-width:560px;max-height:calc(100dvh - 24px);padding:18px;overflow-y:auto}
 .modal-actions{bottom:-18px;padding-bottom:calc(12px + env(safe-area-inset-bottom));gap:8px}
 .modal-actions>button{flex:1;min-width:0}
 .form-grid{grid-template-columns:1fr}
 .brand-preview{flex-wrap:wrap;padding:16px}
 #toast{bottom:18px;max-width:calc(100vw - 24px)}
 footer{flex-wrap:wrap;gap:8px}
}

.mobile-filter-toggle{display:none}.catalog-context{padding:12px 18px;border-top:1px solid var(--line);font-weight:600}.catalog-context span{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:6px}
@media(max-width:700px){
 .stock-groups-head{margin:16px 0 10px}.stock-groups-head .eyebrow{display:none}.stock-groups-head h3{font-size:14px;margin:0}
 .stock-groups{display:flex;overflow-x:auto;gap:8px;padding:4px 2px 12px;scroll-snap-type:x proximity;overscroll-behavior-x:contain}
 .stock-group{flex:0 0 138px;min-height:86px;padding:12px;scroll-snap-align:start;gap:8px;border-radius:14px}
 .stock-group-copy small{display:none}.stock-group-copy strong{font-size:12px}.stock-group-symbol{width:26px;height:26px}
 .stock-group.selected{background:#eee8fb;border-color:#735dc6;box-shadow:inset 0 0 0 1px #735dc6}
 #content .catalog-toolbar{grid-template-columns:1fr 1fr;gap:8px}
 #content .catalog-toolbar>.search{grid-column:1/-1;order:-2;margin:0}
 #content .catalog-toolbar>.mobile-filter-toggle{display:block;grid-column:1;order:-1;min-height:44px}
 #content .catalog-toolbar>[data-clear-filters]{grid-column:2;order:-1;min-height:44px}
 #content .catalog-toolbar:not(.filters-expanded)>select,#content .catalog-toolbar:not(.filters-expanded)>.view-toggle,#content .catalog-toolbar:not(.filters-expanded)>a{display:none}
 #content .catalog-toolbar.filters-expanded>select{grid-column:1/-1;min-width:0;width:100%}
 .catalog-context{padding:12px;font-size:13px}#results{scroll-margin-top:12px}
 .stock-section-head{gap:10px;flex-wrap:wrap}.stock-section-head>.secondary{width:100%}
 .pagination>div{width:100%;justify-content:space-between}.pagination .secondary{min-height:44px;font-size:12px}
}

#mobile-dock{display:none}#mobile-menu{border:0;border-radius:22px 22px 0 0;padding:20px;background:#faf9fc;color:var(--ink);width:min(100%,560px);max-width:100%;max-height:85dvh;margin:auto auto 0;box-shadow:0 -12px 60px #23133325}
#mobile-menu::backdrop{background:#18102265;backdrop-filter:blur(3px)}
.mobile-menu-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.mobile-menu-heading small{color:var(--violet);font-size:11px;letter-spacing:2px}.mobile-menu-heading h2{font-size:20px;margin:6px 0 0}.mobile-menu-heading .icon-button{font-size:28px;border-radius:50%;background:#ede8f4}
#mobile-menu section{margin-bottom:22px}#mobile-menu section h3{font-size:12px;color:#7d7388;margin-bottom:10px}.mobile-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.mobile-menu-grid button{display:flex;align-items:center;gap:10px;min-height:64px;border:1px solid #e7e1ec;border-radius:13px;background:white;color:var(--ink);padding:12px;text-align:left}.mobile-menu-grid button>span{display:grid;place-items:center;background:#f2edf9;border-radius:9px;flex:0 0 32px;height:32px;color:#735dc6;font-size:20px}.mobile-menu-grid b{font-size:12px;line-height:1.5;overflow-wrap:anywhere}.mobile-menu-grid button.current{background:#ede6fb;border-color:#735dc6}
@media(max-width:700px){
 #mobile-dock:not([hidden]){position:fixed;display:flex;bottom:0;left:0;right:0;z-index:20;background:#fffffff5;border-top:1px solid #e8e1ef;box-shadow:0 -4px 20px #24123708;padding:7px 8px calc(7px + env(safe-area-inset-bottom));gap:5px}
 #mobile-dock button{flex:1;min-width:0;min-height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:0;border-radius:11px;background:transparent;color:#84798e}
 #mobile-dock button>span{font-size:22px;line-height:1}#mobile-dock b{font-size:11px;font-weight:500}#mobile-dock button.current{color:#6445a1;background:#f0eafa}
 .main-content{padding-bottom:calc(94px + env(safe-area-inset-bottom))}#toast{bottom:calc(84px + env(safe-area-inset-bottom))}
 #mobile-menu{padding-bottom:calc(20px + env(safe-area-inset-bottom))}
}

.catalog-summary{display:flex;align-items:center;justify-content:space-between;gap:12px}.catalog-summary>span{white-space:nowrap;margin:0;font-size:12px;background:#f1edf7;color:#644b8b;padding:6px 10px;border-radius:20px}
.filter-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.filter-chips button{display:flex;align-items:center;gap:8px;border:1px solid #e4dcec;background:#faf7fe;color:#654e83;border-radius:18px;padding:8px 12px;max-width:100%;overflow-wrap:anywhere;text-align:left;font-size:12px}.filter-chips button>span{font-size:19px;margin:0;color:inherit;flex-shrink:0}.empty .secondary{margin:6px}
@media(max-width:700px){.filter-chips button{min-height:44px}.catalog-summary strong{font-size:13px}.catalog-summary{align-items:flex-start}}

/* Category management: clear parent/child hierarchy on desktop and mobile. */
.taxonomy-panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:20px;align-items:start}
.taxonomy-panel{overflow:hidden}.taxonomy-panel .panel-head{flex-wrap:wrap;gap:12px}.taxonomy-panel h3{margin:0}.taxonomy-children{padding:0 20px}.taxonomy-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--line,#e8e2db)}.taxonomy-row strong,.taxonomy-row small{display:block}.taxonomy-row small{margin-top:6px;color:#777}.taxonomy-row .row-actions{flex-wrap:wrap}.taxonomy-add{margin:16px 20px}.taxonomy-row strong{overflow-wrap:anywhere}
@media(max-width:600px){.taxonomy-row{align-items:flex-start;flex-direction:column}.taxonomy-row .row-actions{width:100%}.taxonomy-panel .panel-head{padding:18px}.taxonomy-children{padding:0 18px}}
.module-toggles{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
