:root{color-scheme:light;--g-primary:#315fbd;--g-primary-contrast:#fff;--g-secondary:#6941c6;--g-secondary-contrast:#fff;--g-primary-soft:color-mix(in srgb,var(--g-primary),#fff 88%);--g-bg:#f5f7fb;--g-bg-2:#eef2f8;--g-surface:#fff;--g-surface-raised:#fff;--g-overlay:rgba(15,23,42,.55);--g-text:#101828;--g-text-2:#475467;--g-muted:#667085;--g-disabled:#e4e7ec;--g-disabled-text:#98a2b3;--g-border:#dce4ef;--g-border-strong:#b8c4d6;--g-input:#fff;--g-table-head:#f8fafc;--g-hover:#f2f6fc;--g-selected:var(--g-primary-soft);--g-focus:color-mix(in srgb,var(--g-primary),transparent 72%);--g-font:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--g-font-xs:.75rem;--g-font-sm:.875rem;--g-font-base:1rem;--g-font-lg:1.125rem;--g-font-xl:1.5rem;--g-font-2xl:2rem;--g-space-1:4px;--g-space-2:8px;--g-space-3:12px;--g-space-4:16px;--g-space-5:20px;--g-space-6:24px;--g-space-8:32px;--g-space-10:40px;--g-radius-sm:8px;--g-radius-md:12px;--g-radius:16px;--g-radius-xl:22px;--g-shadow-sm:0 2px 8px rgba(16,24,40,.05);--g-shadow:0 8px 28px rgba(16,24,40,.07);--g-shadow-lg:0 20px 60px rgba(16,24,40,.14);--g-control-sm:36px;--g-control:44px;--g-control-lg:52px;--g-max:1680px}
:root[data-theme=dark]{color-scheme:dark;--g-bg:#0b1220;--g-bg-2:#0f192a;--g-surface:#141e31;--g-surface-raised:#1a263b;--g-text:#f4f7fb;--g-text-2:#d0d8e6;--g-muted:#94a3b8;--g-disabled:#26354c;--g-disabled-text:#718096;--g-border:#2a3951;--g-border-strong:#43536c;--g-input:#111b2d;--g-table-head:#111a2b;--g-hover:#1c2940;--g-selected:color-mix(in srgb,var(--g-primary),transparent 78%);--g-shadow:0 12px 32px rgba(0,0,0,.3);--g-shadow-lg:0 24px 70px rgba(0,0,0,.5)}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--g-bg:#0b1220;--g-surface:#141e31;--g-text:#f4f7fb;--g-text-2:#d0d8e6;--g-muted:#94a3b8;--g-border:#2a3951;--g-input:#111b2d;--g-hover:#1c2940}}
body.galaxy-ui{margin:0;font-family:var(--g-font)!important;background:var(--g-bg)!important;color:var(--g-text)!important}.g-topbar{position:sticky;top:0;z-index:100;min-height:108px;padding:12px max(20px,calc((100vw - var(--g-max))/2));display:grid;grid-template-columns:minmax(230px,auto) minmax(0,1fr);grid-template-areas:"brand actions" "nav nav";align-items:center;column-gap:24px;row-gap:9px;background:color-mix(in srgb,var(--g-surface),transparent 4%);border-bottom:1px solid var(--g-border);box-shadow:0 8px 24px rgba(16,24,40,.05);backdrop-filter:blur(16px)}.g-topbar-leading{grid-area:brand;display:flex;align-items:center;min-width:0}.g-brand{display:flex;align-items:center;gap:11px;min-width:0;color:var(--g-text);text-decoration:none}.g-brand>span:last-child{min-width:0}.g-brand-mark,.g-brand-logo{width:46px;height:46px;flex:none;border-radius:14px}.g-brand-logo{object-fit:contain;background:var(--g-surface)}.g-brand-mark{display:grid;place-items:center;background:linear-gradient(135deg,var(--g-primary),var(--g-secondary));color:var(--g-primary-contrast);font-weight:950}.g-brand strong,.g-brand small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.g-brand strong{font-size:16px}.g-brand small{color:var(--g-muted);font-size:12px}.g-main-nav{grid-area:nav;display:flex;align-items:center;gap:6px;min-width:0;padding-top:9px;border-top:1px solid var(--g-border)}.g-main-nav>a,.g-nav-more>summary{min-height:42px;padding:10px 14px;display:flex;align-items:center;border-radius:12px;color:var(--g-text-2);text-decoration:none;font-size:14px;font-weight:800;white-space:nowrap;cursor:pointer}.g-main-nav>a:hover,.g-nav-more>summary:hover{background:var(--g-hover)}.g-main-nav>a.active,.g-nav-more.active>summary{background:var(--g-primary-soft);color:var(--g-primary)}.g-nav-more{position:relative}.g-nav-more>summary{list-style:none;gap:7px}.g-nav-more>summary::-webkit-details-marker{display:none}.g-nav-more>div{position:absolute;top:calc(100% + 8px);right:0;z-index:130;display:grid;min-width:240px;padding:7px;border:1px solid var(--g-border);border-radius:13px;background:var(--g-surface);box-shadow:var(--g-shadow-lg)}.g-nav-more>div a{padding:11px 12px;border-radius:9px;color:var(--g-text-2);text-decoration:none;font-weight:750}.g-nav-more>div a:hover,.g-nav-more>div a.active{background:var(--g-primary-soft);color:var(--g-primary)}.g-top-actions{grid-area:actions;display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.g-company,.g-user{padding:8px 11px;border:1px solid var(--g-border);border-radius:999px;color:var(--g-text-2);font-size:13px}.g-icon-button{width:40px;height:40px;display:grid;place-items:center;flex:none;border:1px solid var(--g-border);border-radius:11px;background:var(--g-surface);color:var(--g-text);text-decoration:none;cursor:pointer}.g-menu-toggle{display:none;margin-left:auto}.g-page{width:min(100%,var(--g-max));margin:auto;padding:30px}.g-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:22px}.g-page-header h1{margin:0;font-size:clamp(28px,4vw,44px);letter-spacing:-.05em}.g-page-header p{margin:6px 0 0;color:var(--g-muted)}.g-page-actions{display:flex;gap:10px}.g-card{background:var(--g-surface);border:1px solid var(--g-border);border-radius:var(--g-radius);box-shadow:var(--g-shadow)}.g-card-head,.g-card-body{padding:20px}.g-card-head{border-bottom:1px solid var(--g-border)}.g-card-head h2{margin:0}.g-button{min-height:42px;padding:10px 15px;display:inline-flex;align-items:center;justify-content:center;border-radius:11px;border:1px solid transparent;background:var(--g-primary);color:var(--g-primary-contrast);text-decoration:none;font:inherit;font-weight:850;cursor:pointer}.g-button-secondary{background:var(--g-surface);border-color:var(--g-border);color:var(--g-text)}body.galaxy-ui input:not([type=checkbox]):not([type=radio]):not([type=color]),body.galaxy-ui select,body.galaxy-ui textarea{background:var(--g-input)!important;color:var(--g-text)!important;border-color:var(--g-border)!important}body.galaxy-ui :is(a,button,input,select,textarea):focus-visible{outline:3px solid var(--g-focus);outline-offset:2px}body.galaxy-ui .card,body.galaxy-ui .panel,body.galaxy-ui .admin-panel{background:var(--g-surface)!important;color:var(--g-text)!important;border-color:var(--g-border)!important}
.g-compact-select{min-height:40px;max-width:190px;padding:7px 30px 7px 10px;border:1px solid var(--g-border);border-radius:11px;background:var(--g-input);color:var(--g-text)}
.g-badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:var(--g-hover);color:var(--g-text-2);font-size:12px;font-weight:850}.g-badge-success{background:var(--g-success-soft);color:var(--g-success)}.g-badge-warning{background:var(--g-warning-soft);color:var(--g-warning)}.g-badge-danger{background:var(--g-danger-soft);color:var(--g-danger)}.g-badge-primary{background:var(--g-primary-soft);color:var(--g-primary)}.g-alert{padding:13px 15px;border:1px solid var(--g-border);border-radius:12px;margin-bottom:14px}.g-alert-success{background:var(--g-success-soft);color:var(--g-success)}.g-alert-warning{background:var(--g-warning-soft);color:var(--g-warning)}.g-alert-danger{background:var(--g-danger-soft);color:var(--g-danger)}.g-empty{text-align:center;padding:48px 20px;color:var(--g-muted)}.g-empty h3{color:var(--g-text)}.g-empty-icon{font-size:36px}.g-field{display:block;margin-bottom:15px}.g-field>span,.g-field>small,.g-field>em{display:block}.g-field>span{font-weight:800;margin-bottom:6px}.g-field>small{color:var(--g-muted);margin-top:5px}.g-field>em{color:var(--g-danger);margin-top:5px}.g-data-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px}.g-data-toolbar h2{margin:0}.g-data-toolbar span{color:var(--g-muted)}.g-data-tools,.g-tabs{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.g-tabs{margin-bottom:18px}.g-tab{padding:9px 12px;border-radius:10px;color:var(--g-text-2);text-decoration:none;font-weight:800}.g-tab.active{background:var(--g-primary-soft);color:var(--g-primary)}.g-modal{width:min(720px,calc(100vw - 30px));border:0;border-radius:18px;padding:0;background:var(--g-surface);color:var(--g-text);box-shadow:0 25px 80px rgba(0,0,0,.3)}.g-modal::backdrop{background:rgba(15,23,42,.55)}.g-modal>header,.g-modal>footer{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--g-border)}.g-modal>footer{justify-content:flex-end;border:0;border-top:1px solid var(--g-border)}.g-modal-body{padding:22px}
@media(max-width:900px){.g-topbar{min-height:72px;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand actions";padding:10px 14px}.g-menu-toggle{display:grid}.g-top-actions>:is(.g-user-menu,.g-company-form,.g-company,.g-extra-actions){display:none}.g-top-actions .g-icon-button:nth-of-type(n+3){display:none}.g-main-nav{position:fixed;inset:72px 0 0;z-index:120;display:none;align-content:start;align-items:stretch;flex-direction:column;gap:5px;padding:18px;background:var(--g-surface);border:0;overflow:auto}.g-main-nav>a,.g-nav-more>summary{width:100%;min-height:50px;font-size:16px}.g-nav-more>div{position:static;min-width:0;margin:5px 0 0;box-shadow:none}.g-nav-more>div a{min-height:46px;display:flex;align-items:center}body.g-nav-open{overflow:hidden}body.g-nav-open .g-main-nav{display:flex}.g-user-menu .g-user{width:40px;height:40px;padding:0;display:grid;place-items:center;font-size:0}.g-user-menu .g-user::before{content:"◉";font-size:18px}.g-mobile-nav-context{display:grid;gap:8px;margin-top:12px;padding-top:14px;border-top:1px solid var(--g-border)}.g-mobile-nav-context>a,.g-mobile-nav-context form,.g-mobile-nav-context select,.g-mobile-nav-context button{width:100%!important;max-width:none!important}.g-mobile-nav-context>a{min-height:48px;padding:12px;display:flex;align-items:center;border-radius:10px;background:var(--g-hover);color:var(--g-text)!important;text-decoration:none}.g-mobile-nav-context form{margin:0}.g-mobile-nav-context select,.g-mobile-nav-context button{min-height:48px}.g-page{padding:18px}.g-page-header{align-items:stretch;flex-direction:column}}

/* Foundation and legacy compatibility */
*,*::before,*::after{box-sizing:border-box}.g-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.g-skip-link{position:fixed;left:16px;top:-80px;z-index:1000;padding:10px 14px;border-radius:10px;background:var(--g-primary);color:#fff;font-weight:800}.g-skip-link:focus{top:12px}.g-icon{flex:none}.g-topbar button,.g-topbar select{font:inherit}.g-company-form{margin:0}.g-extra-actions{display:contents}.g-mobile-nav-context{display:none}.g-main-nav::-webkit-scrollbar{height:4px}.g-main-nav::-webkit-scrollbar-thumb{background:var(--g-border);border-radius:999px}
body.galaxy-ui :is(h1,h2,h3,h4){color:var(--g-text)}body.galaxy-ui :is(p,small,.muted,.subtitle,.hint){color:var(--g-text-2)}:where(body.galaxy-ui a){color:var(--g-primary)}body.galaxy-ui main{min-width:0}body.galaxy-ui .content:not(.g-card-body),body.galaxy-ui .admin-content,body.galaxy-ui .main-content{max-width:var(--g-max);margin-inline:auto}body.galaxy-ui :is(.card,.glass-card,.userbox,.panel,.admin-panel,.section,.box){background:var(--g-surface)!important;color:var(--g-text)!important;border-color:var(--g-border)!important;border-radius:var(--g-radius)!important;box-shadow:var(--g-shadow)}
body.galaxy-ui :is(.btn,.button,button.primary,a.primary,.action-btn):not(.g-icon-button):not(.g-view-switcher button){min-height:42px;border-radius:11px!important;font-weight:800;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}body.galaxy-ui :is(.btn-primary,.button-primary,.primary-button){background:var(--g-primary)!important;border-color:var(--g-primary)!important;color:var(--g-primary-contrast)!important}body.galaxy-ui :is(button,.btn,.button,a.button):not(:disabled):hover{transform:translateY(-1px)}body.galaxy-ui button:disabled{cursor:not-allowed;opacity:.55}
body.galaxy-ui :is(.admin-action-button.primary,.mobile-primary-button,.pj-client-dialog-button.primary){background:var(--g-primary)!important;border-color:var(--g-primary)!important;color:var(--g-primary-contrast)!important}
body.galaxy-ui :is(input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea){min-height:44px;border:1px solid var(--g-border)!important;border-radius:11px!important;padding:10px 12px;font:inherit}body.galaxy-ui textarea{min-height:110px;resize:vertical}body.galaxy-ui label{color:var(--g-text);font-weight:750}body.galaxy-ui fieldset{border:1px solid var(--g-border);border-radius:var(--g-radius);padding:18px}body.galaxy-ui legend{padding:0 8px;font-weight:850}
.g-user-menu{position:relative}.g-user-menu summary{list-style:none;cursor:pointer}.g-user-menu summary::-webkit-details-marker{display:none}.g-user-menu>div{position:absolute;right:0;top:calc(100% + 10px);z-index:120;display:grid;min-width:220px;padding:7px;border:1px solid var(--g-border);border-radius:13px;background:var(--g-surface);box-shadow:var(--g-shadow)}.g-user-menu a{padding:10px;border-radius:9px;text-decoration:none;color:var(--g-text-2)}.g-user-menu a:hover{background:var(--g-hover)}.g-breadcrumbs{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:12px;color:var(--g-muted);font-size:13px}.g-breadcrumbs a{text-decoration:none}.g-toggle{display:inline-flex;align-items:center;gap:10px;cursor:pointer}.g-toggle input{position:absolute;opacity:0;pointer-events:none}.g-toggle>span{width:46px;height:26px;padding:3px;border-radius:999px;background:var(--g-border);transition:.2s}.g-toggle>span::before{content:"";display:block;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.2);transition:.2s}.g-toggle input:checked+span{background:var(--g-primary)}.g-toggle input:checked+span::before{transform:translateX(20px)}.g-toggle input:focus-visible+span{outline:3px solid var(--g-focus)}.g-help-tip{position:relative;display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--g-hover);color:var(--g-muted);font-size:12px;font-weight:900;cursor:help}.g-help-tip>span{position:absolute;bottom:calc(100% + 8px);left:50%;z-index:50;width:240px;padding:9px 11px;border-radius:9px;background:var(--g-text);color:var(--g-surface);font-weight:600;transform:translateX(-50%);opacity:0;pointer-events:none}.g-help-tip:hover>span,.g-help-tip:focus>span{opacity:1}
.g-stat-card{padding:18px}.g-stat-card>a{display:grid;text-decoration:none}.g-stat-card span,.g-stat-card small{color:var(--g-muted)}.g-stat-card strong{font-size:32px;margin:7px 0}.g-button-group{display:inline-flex;gap:8px;flex-wrap:wrap}.g-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:24px;color:var(--g-muted)}.g-loading>span{width:22px;height:22px;border:3px solid var(--g-border);border-top-color:var(--g-primary);border-radius:50%;animation:g-spin .7s linear infinite}@keyframes g-spin{to{transform:rotate(360deg)}}.g-dropdown{position:relative}.g-dropdown>summary{list-style:none;cursor:pointer}.g-dropdown>summary::-webkit-details-marker{display:none}.g-dropdown>div{position:absolute;right:0;z-index:80;min-width:260px;padding:10px;border:1px solid var(--g-border);border-radius:12px;background:var(--g-surface);box-shadow:var(--g-shadow)}.g-choice{display:flex;align-items:center;gap:9px}.g-choice input{width:20px;height:20px;accent-color:var(--g-primary)}.g-help-panel{padding:18px;border:1px solid var(--g-border);border-left:4px solid var(--g-primary);border-radius:12px;background:var(--g-primary-soft)}.g-help-panel>div{margin:8px 0}.g-notifications{display:grid}.g-notifications a{display:flex;justify-content:space-between;gap:10px;padding:9px;border-radius:9px}.g-global-search{position:relative;display:flex;align-items:center}.g-global-search svg{position:absolute;left:12px;color:var(--g-muted)}.g-global-search input{padding-left:40px!important;width:100%}
body.galaxy-ui :is(table,.table){width:100%;border-collapse:separate;border-spacing:0}body.galaxy-ui :is(table,.table) th{padding:12px 14px;text-align:left;color:var(--g-muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--g-border)}body.galaxy-ui :is(table,.table) td{padding:14px;border-bottom:1px solid var(--g-border);color:var(--g-text-2)}body.galaxy-ui :is(table,.table) tbody tr:hover{background:var(--g-hover)}

/* Data and navigation components */
.g-data-region{min-width:0}.g-data-list{display:grid;gap:10px}.g-data-row{position:relative;display:flex;align-items:center;gap:14px;min-height:72px;padding:14px 16px;border:1px solid var(--g-border);border-left:4px solid var(--g-row-color,var(--g-primary));border-radius:13px;background:var(--g-surface);transition:border-color .15s,transform .15s,box-shadow .15s}.g-data-row[role=link]{cursor:pointer}.g-data-row[role=link]:hover{transform:translateY(-1px);border-color:var(--g-primary);box-shadow:var(--g-shadow)}.g-data-row-main{display:grid;gap:4px;min-width:0;flex:1}.g-data-row-main>strong{font-size:16px}.g-data-row-main>span{color:var(--g-muted);overflow:hidden;text-overflow:ellipsis}.g-data-row-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.g-table-wrap{width:100%;overflow:auto;border:1px solid var(--g-border);border-radius:var(--g-radius);background:var(--g-surface)}.g-table caption{text-align:left;padding:16px;font-weight:850}.g-view-switcher{display:inline-flex;padding:3px;gap:2px;border:1px solid var(--g-border);border-radius:12px;background:var(--g-hover)}.g-view-switcher button{min-height:34px;padding:6px 10px;border:0;border-radius:9px;background:transparent;color:var(--g-text-2);font:inherit;font-weight:750;cursor:pointer}.g-view-switcher button.active{background:var(--g-surface);color:var(--g-primary);box-shadow:0 1px 4px rgba(16,24,40,.1)}.g-pagination{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 0}.g-pagination-summary{margin:0;color:var(--g-muted);font-size:13px}.g-pagination-pages{display:flex;align-items:center;gap:5px}.g-pagination-item{width:auto;min-width:38px;height:38px;padding:0 10px;display:inline-grid;place-items:center;border:1px solid var(--g-border);border-radius:10px;background:var(--g-surface);color:var(--g-text-2)!important;text-decoration:none;font-size:14px;font-weight:800;line-height:1}.g-pagination a.g-pagination-item:hover{border-color:var(--g-primary);background:var(--g-primary-soft);color:var(--g-primary)!important}.g-pagination-item.current{border-color:var(--g-primary);background:var(--g-primary);color:var(--g-primary-contrast)!important}.g-pagination-item.disabled{pointer-events:none;opacity:.4}.g-pagination-ellipsis{min-width:24px;text-align:center;color:var(--g-muted);font-size:13px}.g-pagination-simple{justify-content:center}.g-pagination-simple .g-pagination-summary{min-width:90px;text-align:center}

/* Dialogs, feedback and loading */
.g-drawer{height:100dvh;max-height:100dvh;width:min(520px,100vw);margin:0 0 0 auto;border:0;padding:0;background:var(--g-surface);color:var(--g-text);box-shadow:-20px 0 60px rgba(0,0,0,.18)}.g-drawer[open]{display:flex;flex-direction:column}.g-drawer::backdrop,.g-command::backdrop{background:rgba(15,23,42,.55)}.g-drawer>header,.g-drawer>footer{display:flex;align-items:center;justify-content:space-between;padding:18px;border-bottom:1px solid var(--g-border)}.g-drawer>footer{border-top:1px solid var(--g-border);border-bottom:0}.g-drawer-body{padding:20px;overflow:auto;flex:1}.g-command{width:min(680px,calc(100vw - 28px));margin:12vh auto auto;border:0;border-radius:18px;padding:0;background:var(--g-surface);color:var(--g-text);box-shadow:0 30px 90px rgba(0,0,0,.32)}.g-command>header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--g-border)}.g-command-body{padding:16px}.g-command input{width:100%}.g-command-results{display:grid;gap:5px;margin-top:10px}.g-command-result{display:flex;justify-content:space-between;padding:11px 12px;border-radius:10px;text-decoration:none;color:var(--g-text)!important}.g-command-result:hover,.g-command-result:focus{background:var(--g-hover)}.g-command-result small{color:var(--g-muted)}.g-command-empty{margin:14px 0 0;text-align:center}.g-toasts{position:fixed;right:18px;bottom:18px;z-index:500;display:grid;gap:9px;width:min(390px,calc(100vw - 36px))}.g-toast{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border:1px solid var(--g-border);border-radius:12px;background:var(--g-surface);color:var(--g-text);box-shadow:var(--g-shadow)}.g-toast-success{border-left:4px solid #16a34a}.g-toast-danger{border-left:4px solid #dc2626}.g-toast-warning{border-left:4px solid #d97706}.g-toast-primary{border-left:4px solid var(--g-primary)}.g-toast button{border:0;background:none;color:inherit;font-size:20px;cursor:pointer}.g-skeleton{display:grid;gap:9px}.g-skeleton span{height:14px;border-radius:999px;background:linear-gradient(90deg,var(--g-hover),var(--g-border),var(--g-hover));background-size:200% 100%;animation:g-shimmer 1.2s infinite}.g-skeleton span:last-child{width:70%}@keyframes g-shimmer{to{background-position:-200% 0}}

/* Context hero: a consistent introduction card for every module. */
.g-page-hero,body.galaxy-ui .main>.page-head,body.galaxy-ui .main>.top,body.galaxy-ui .main>.topbar,body.galaxy-ui .admin-main>.admin-topbar{position:relative!important;isolation:isolate;min-height:150px;margin:0 0 22px!important;padding:24px 26px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:22px!important;overflow:hidden;border:1px solid var(--g-primary-border)!important;border-radius:var(--g-radius-xl)!important;background:linear-gradient(115deg,var(--g-surface) 0%,var(--g-primary-soft) 70%,color-mix(in srgb,var(--g-secondary),#fff 84%) 100%)!important;color:var(--g-text)!important;box-shadow:var(--g-shadow)!important}.g-page-hero::after,body.galaxy-ui .main>.page-head::after,body.galaxy-ui .main>.top::after,body.galaxy-ui .main>.topbar::after,body.galaxy-ui .admin-main>.admin-topbar::after{content:"";position:absolute;z-index:-1;right:-90px;bottom:-135px;width:300px;height:300px;border-radius:50%;background:color-mix(in srgb,var(--g-primary),transparent 86%)}.g-page-hero-copy{min-width:0}.g-page-hero h1,.g-page-hero h2,body.galaxy-ui .main>:is(.page-head,.top,.topbar) h1,body.galaxy-ui .admin-main>.admin-topbar h1{margin:0!important;color:var(--g-text)!important;font-size:clamp(28px,4vw,42px)!important;line-height:1.05!important;letter-spacing:-.045em!important}.g-page-hero p,body.galaxy-ui .main>:is(.page-head,.top,.topbar) p{max-width:820px;margin:9px 0 0!important;color:var(--g-text-2)!important;line-height:1.55}.g-page-hero-eyebrow,.g-page-hero .eyebrow,body.galaxy-ui .main>.page-head :is(.page-kicker,.eyebrow),body.galaxy-ui .admin-main>.admin-topbar .admin-eyebrow{display:inline-flex;margin:0 0 9px!important;padding:5px 9px;border-radius:999px;background:var(--g-primary-soft)!important;color:var(--g-primary)!important;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.g-page-hero-meta{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.g-page-hero .g-badge,.g-page-hero-meta .g-badge{padding:9px 11px;background:color-mix(in srgb,var(--g-surface),transparent 8%);border:1px solid color-mix(in srgb,var(--g-surface),transparent 2%);box-shadow:var(--g-shadow-sm)}

/* Shared view layouts */
.g-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.g-kanban{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,1fr);gap:16px;overflow:auto;padding-bottom:8px}.g-kanban-column{padding:14px;border:1px solid var(--g-border);border-radius:var(--g-radius);background:var(--g-hover)}.g-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:1px;overflow:auto;background:var(--g-border);border:1px solid var(--g-border);border-radius:var(--g-radius)}.g-calendar-day{min-height:140px;padding:10px;background:var(--g-surface)}.g-filters{display:flex;align-items:end;gap:10px;flex-wrap:wrap;padding:16px;border:1px solid var(--g-border);border-radius:var(--g-radius);background:var(--g-surface)}.g-filters>*{margin:0!important}.g-form-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}.g-form-grid>*{grid-column:span 6}.g-form-grid>.full,.g-form-grid>fieldset{grid-column:1/-1}.g-context-nav{display:flex;gap:6px;overflow:auto;padding:5px;border:1px solid var(--g-border);border-radius:13px;background:var(--g-surface);margin-bottom:18px}.g-context-nav a{padding:9px 12px;border-radius:9px;white-space:nowrap;text-decoration:none;color:var(--g-text-2)}.g-context-nav a.active{background:var(--g-primary-soft);color:var(--g-primary);font-weight:800}
.g-section-gap,.g-section-top{margin-top:18px}.g-section-bottom{margin-bottom:18px}.g-product-placeholder{height:220px;display:grid;place-items:center;border-radius:14px;background:var(--g-hover)}.g-view-switcher a{min-height:34px;padding:7px 11px;border-radius:9px;text-decoration:none;color:var(--g-text-2);font-weight:750}.g-view-switcher a.active{background:var(--g-surface);color:var(--g-primary);box-shadow:0 1px 4px rgba(16,24,40,.1)}.quick-filter-row{display:grid;grid-template-columns:minmax(260px,1fr) auto auto auto;gap:10px;align-items:center}.quick-search{min-height:42px}.result-count{white-space:nowrap;font-weight:800}.advanced-filters{margin-top:10px}.advanced-filters summary{cursor:pointer;color:var(--g-primary);font-weight:900;padding:8px 0}.filter-grid-compact{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;padding-top:8px;border-top:1px solid var(--g-border)}.filter-grid-compact label span{font-size:12px;margin-bottom:5px}.filter-grid-compact input,.filter-grid-compact select{padding:8px 10px;border-radius:9px}
.g-theme-preview{padding:20px;border-radius:14px;background:linear-gradient(135deg,var(--g-preview-primary,var(--g-primary)),var(--g-preview-secondary,var(--g-secondary)));color:#fff}.g-theme-preview p,.g-theme-preview strong{color:#fff!important}.g-field input[type=color]{width:100%;height:48px;padding:4px;border:1px solid var(--g-border);border-radius:11px;background:var(--g-input);cursor:pointer}
.g-media-stack{display:grid;gap:12px}.g-media-picker{display:grid;grid-template-columns:170px minmax(0,1fr);gap:16px;padding:14px;border:1px solid var(--g-border);border-radius:14px;background:var(--g-surface)}.g-media-preview{height:112px;display:grid;place-items:center;padding:12px;overflow:hidden;border:1px dashed var(--g-border-strong);border-radius:12px;background:linear-gradient(135deg,#fff,#f4f7fb)}.g-media-preview.dark{background:linear-gradient(135deg,#111827,#334155)}.g-media-preview.compact{height:96px}.g-media-preview img{display:block;max-width:100%;max-height:100%;object-fit:contain}.g-media-placeholder{display:grid;place-items:center;gap:4px;color:var(--g-muted);text-align:center}.g-media-placeholder span{font-size:27px}.g-media-placeholder strong{font-size:12px}.g-media-content{display:grid;align-content:center;gap:8px;min-width:0}.g-media-content>small{color:var(--g-muted)}.g-media-upload{position:relative;overflow:hidden}.g-media-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.g-media-url summary{cursor:pointer;color:var(--g-primary);font-size:12px;font-weight:800}.g-media-url input{width:100%;margin-top:7px}.g-palette-picker{display:grid;gap:16px}.g-palette-picker fieldset{margin:0}.g-palette-picker fieldset>p{margin:2px 0 14px;color:var(--g-muted)}.g-palette-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(138px,1fr));gap:9px}.g-palette{position:relative;display:grid!important;gap:5px;padding:10px;border:2px solid var(--g-border);border-radius:12px;background:var(--g-surface);cursor:pointer}.g-palette:hover,.g-palette.selected{border-color:var(--g-primary);background:var(--g-primary-soft)}.g-palette input{position:absolute;opacity:0}.g-palette strong{font-size:13px}.g-palette small{color:var(--g-muted);font-size:11px}.g-palette-swatches{height:32px;display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden;border-radius:8px}.g-palette-swatches i{background:var(--swatch)}.g-palette-custom-icon{height:32px;display:grid;place-items:center;border-radius:8px;background:var(--g-hover);color:var(--g-primary);font-size:22px}.g-palette-custom-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.g-palette-preview{--preview-primary:var(--g-primary);--preview-secondary:var(--g-secondary);--preview-accent:var(--g-accent);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px;border-radius:16px;background:linear-gradient(120deg,var(--preview-primary),var(--preview-secondary));color:#fff}.g-palette-preview::after{content:"";position:absolute;right:-50px;bottom:-90px;width:190px;height:190px;border-radius:50%;background:color-mix(in srgb,var(--preview-accent),transparent 25%)}.g-palette-preview>div{position:relative;z-index:1}.g-palette-preview span,.g-palette-preview strong,.g-palette-preview p{display:block;color:#fff!important}.g-palette-preview p{margin:5px 0 0!important;opacity:.85}.g-palette-preview-ui{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.g-palette-preview-ui button,.g-palette-preview-ui span,.g-palette-preview-ui a{padding:9px 11px;border:1px solid rgba(255,255,255,.35);border-radius:10px;background:rgba(255,255,255,.16);color:#fff!important;font:inherit;font-weight:800;text-decoration:none}.g-palette-preview-ui button{background:#fff;color:var(--preview-primary)!important}

@media(max-width:1100px){.g-top-actions .g-company-form,.g-top-actions .g-company{max-width:170px}.g-compact-select{max-width:170px}.g-form-grid>*{grid-column:1/-1}.g-calendar-grid{grid-template-columns:repeat(7,minmax(180px,1fr))}}
@media(max-width:900px){.g-top-actions{justify-content:flex-end}.g-page-actions{width:100%;display:grid;grid-template-columns:1fr}.g-data-toolbar{align-items:stretch;flex-direction:column}.g-data-tools{width:100%}.g-data-tools>*{flex:1}.g-data-row{align-items:flex-start}.g-data-row-meta{justify-content:flex-start}.g-card-grid{grid-template-columns:1fr}.g-filters{align-items:stretch;flex-direction:column}.g-filters>*{width:100%!important;max-width:none!important}.quick-filter-row{grid-template-columns:1fr}.g-table-wrap{border:0;background:transparent}.g-table[data-responsive] thead{display:none}.g-table[data-responsive],.g-table[data-responsive] tbody,.g-table[data-responsive] tr,.g-table[data-responsive] td{display:block;width:100%}.g-table[data-responsive] tr{margin-bottom:12px;border:1px solid var(--g-border);border-radius:13px;background:var(--g-surface);overflow:hidden}.g-table[data-responsive] td{display:grid;grid-template-columns:minmax(110px,36%) 1fr;gap:10px;border-bottom:1px solid var(--g-border)}.g-table[data-responsive] td::before{content:attr(data-label);font-weight:800;color:var(--g-muted)}.g-table[data-responsive] td:last-child{border:0}.g-page-hero,body.galaxy-ui .main>.page-head,body.galaxy-ui .main>.top,body.galaxy-ui .main>.topbar,body.galaxy-ui .admin-main>.admin-topbar{min-height:0;align-items:stretch!important;flex-direction:column!important;padding:20px!important}.g-page-hero-meta{justify-content:flex-start}}
@media(max-width:560px){.g-brand small,.g-top-actions .g-user{display:none}.g-brand-mark{width:38px;height:38px}.g-page{padding:14px}.g-page-header h1{font-size:30px}.g-data-row{flex-wrap:wrap}.g-data-row-meta{width:100%}.g-pagination{justify-content:center}.g-pagination-summary{display:none}.g-pagination-pages{max-width:100%;overflow-x:auto;padding:2px}.g-modal{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border-radius:0}.g-command{margin:0;width:100vw;height:100dvh;border-radius:0}.g-toasts{right:10px;bottom:10px;width:calc(100vw - 20px)}.g-media-picker{grid-template-columns:1fr}.g-palette-custom-fields{grid-template-columns:1fr}.g-palette-preview{align-items:stretch;flex-direction:column}.g-palette-preview-ui{justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.g-button{gap:7px;color:var(--g-primary-contrast)}.g-button:hover{background:var(--g-primary-hover);color:var(--g-primary-contrast)}.g-button-secondary{background:var(--g-surface);border-color:var(--g-border);color:var(--g-text)}.g-button-secondary:hover{background:var(--g-hover);border-color:var(--g-border-strong);color:var(--g-text)}.g-button-danger{background:var(--g-danger);color:#fff}.g-button-danger:hover{background:color-mix(in srgb,var(--g-danger),#000 16%);color:#fff}.g-button-success{background:var(--g-success);color:#fff}.g-button-success:hover{background:color-mix(in srgb,var(--g-success),#000 14%);color:#fff}.g-button-ghost{background:transparent;color:var(--g-primary)}.g-button-ghost:hover{background:var(--g-primary-soft);color:var(--g-primary)}
.g-error-page{min-height:100dvh;display:grid;place-items:center;padding:24px}.g-error-card{width:min(620px,100%);padding:clamp(24px,6vw,54px);text-align:center}.g-error-code{font-size:clamp(64px,15vw,130px);font-weight:950;letter-spacing:-.08em;line-height:.9;color:var(--g-primary)}.g-error-card h1{font-size:clamp(26px,5vw,42px);margin:18px 0 8px}.g-error-card p{font-size:18px}.g-error-card .g-page-actions{justify-content:center;margin:24px 0}.g-error-card small{display:block;color:var(--g-muted)}
.g-steps{display:grid;gap:12px;list-style:none;padding:0;counter-reset:steps}.g-steps li{display:grid;grid-template-columns:44px 1fr;gap:4px 12px;padding:14px;border:1px solid var(--g-border);border-radius:12px;counter-increment:steps}.g-steps li::before{content:counter(steps);grid-row:span 2;width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:var(--g-primary-soft);color:var(--g-primary);font-weight:900}.g-steps span{color:var(--g-muted)}
.g-auth-page{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 15% 10%,var(--g-primary-soft),transparent 35rem),var(--g-bg)}.g-auth-card{width:min(680px,100%)}.g-company-list{display:grid;gap:10px;margin:18px 0}.g-company-list form{margin:0}.g-company-list button,.g-company-list label{width:100%;min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;border:1px solid var(--g-border);border-radius:12px;background:var(--g-surface);color:var(--g-text);text-align:left;cursor:pointer}.g-company-list button:hover,.g-company-list label:hover,.g-company-list label.selected{border-color:var(--g-primary);background:var(--g-primary-soft)}.g-company-list button span,.g-company-list label>span{display:grid;gap:3px}.g-company-list small{color:var(--g-muted)}.g-company-list input[type=radio]{width:20px;height:20px;accent-color:var(--g-primary)}.g-auth-submit{width:100%}

/* Reusable weekly agenda */
.g-week-agenda{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:720px;overflow:hidden;border:1px solid var(--g-border);border-radius:var(--g-radius-xl);background:var(--g-surface);box-shadow:var(--g-shadow)}.g-week-agenda-sidebar{position:relative;z-index:2;padding:18px;border-right:1px solid var(--g-border);background:color-mix(in srgb,var(--g-bg),var(--g-surface) 45%)}.g-week-agenda-navigation{display:flex;align-items:center;justify-content:space-between;gap:8px}.g-week-agenda-navigation .g-button{min-height:38px;padding:8px 12px}.g-week-agenda-arrows{display:flex;gap:4px}.g-week-agenda-arrows a{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;color:var(--g-text)!important;text-decoration:none;font-size:25px;line-height:1}.g-week-agenda-arrows a:hover{background:var(--g-hover)}.g-mini-calendar{margin-top:22px}.g-mini-calendar>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.g-mini-calendar>header strong{text-transform:capitalize}.g-mini-calendar-weekdays,.g-mini-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.g-mini-calendar-weekdays span{padding-block:4px;color:var(--g-muted);text-align:center;font-size:11px;font-weight:900}.g-mini-calendar-days a{aspect-ratio:1;display:grid;place-items:center;border-radius:999px;color:var(--g-text-2)!important;text-decoration:none;font-size:12px;font-weight:750}.g-mini-calendar-days a:hover,.g-mini-calendar-days a.in-week{background:var(--g-primary-soft);color:var(--g-primary)!important}.g-mini-calendar-days a.selected{background:var(--g-primary);color:var(--g-primary-contrast)!important;font-weight:900}.g-mini-calendar-days a.outside{opacity:.38}.g-mini-calendar-days a.today:not(.selected){box-shadow:inset 0 0 0 1px var(--g-primary)}.g-week-agenda-sidebar-slot{margin-top:20px;padding-top:18px;border-top:1px solid var(--g-border)}.g-week-agenda-sidebar-slot label{display:grid;gap:6px;font-size:12px}.g-week-agenda-sidebar-slot select{width:100%}.g-week-agenda-calendars{margin-top:22px;padding-top:18px;border-top:1px solid var(--g-border)}.g-week-agenda-calendars h3{margin:0 0 10px;font-size:14px}.g-week-agenda-calendars>div{display:grid;gap:3px}.g-week-agenda-calendars a{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:39px;padding:6px 7px;border-radius:10px;color:var(--g-text-2)!important;text-decoration:none;font-size:13px}.g-week-agenda-calendars a:hover,.g-week-agenda-calendars a.active{background:var(--g-hover);color:var(--g-text)!important}.g-week-agenda-calendars a small{color:var(--g-muted)}.g-week-agenda-calendar-check{width:20px;height:20px;display:grid;place-items:center;border:2px solid var(--g-agenda-color);border-radius:6px;color:#fff;font-size:12px;font-weight:950}.g-week-agenda-calendars a.active .g-week-agenda-calendar-check{background:var(--g-agenda-color)}.g-week-agenda-board{min-width:0;overflow:auto;background:var(--g-surface)}.g-week-agenda-canvas{min-width:1050px}.g-week-agenda-header{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:72px repeat(7,minmax(138px,1fr));height:94px;border-bottom:1px solid var(--g-border);background:color-mix(in srgb,var(--g-surface),transparent 3%);backdrop-filter:blur(12px)}.g-week-agenda-timezone{display:grid;place-items:end center;padding-bottom:11px;color:var(--g-muted);font-size:10px;font-weight:800}.g-week-agenda-header>a{display:grid;place-content:center;justify-items:center;gap:5px;border-left:1px solid transparent;color:var(--g-text)!important;text-decoration:none}.g-week-agenda-header>a small{color:var(--g-muted);font-size:11px;font-weight:900;text-transform:uppercase}.g-week-agenda-header>a strong{width:44px;height:44px;display:grid;place-items:center;border-radius:999px;font-size:24px;font-weight:500}.g-week-agenda-header>a:hover{background:var(--g-hover)}.g-week-agenda-header>a.selected small,.g-week-agenda-header>a.today small{color:var(--g-primary)}.g-week-agenda-header>a.selected strong,.g-week-agenda-header>a.today strong{background:var(--g-primary);color:var(--g-primary-contrast)}.g-week-agenda-grid{position:relative;display:grid;grid-template-columns:72px repeat(7,minmax(138px,1fr));height:var(--g-agenda-height)}.g-week-agenda-hours,.g-week-agenda-day-lane{position:relative;height:var(--g-agenda-height);background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--g-hour-height) - 1px),var(--g-border) calc(var(--g-hour-height) - 1px),var(--g-border) var(--g-hour-height))}.g-week-agenda-hours{z-index:3;background-color:var(--g-surface)}.g-week-agenda-hours span{position:absolute;right:11px;transform:translateY(-50%);color:var(--g-muted);font-size:11px}.g-week-agenda-day-lane{border-left:1px solid var(--g-border)}.g-week-agenda-day-lane.today{background-color:color-mix(in srgb,var(--g-primary-soft),transparent 65%)}.g-week-agenda-event{position:absolute;z-index:5;top:var(--g-event-top);left:calc(var(--g-event-left) + 3px);width:calc(var(--g-event-width) - 6px);height:var(--g-event-height);min-height:28px;padding:7px 8px;overflow:hidden;border:1px solid color-mix(in srgb,var(--g-event-color),#000 8%);border-radius:8px;background:var(--g-event-color);color:var(--g-event-text)!important;text-decoration:none;box-shadow:0 3px 10px color-mix(in srgb,var(--g-event-color),transparent 72%);transition:filter .12s ease,transform .12s ease}.g-week-agenda-event:hover{z-index:12;filter:brightness(.96);transform:translateY(-1px)}.g-week-agenda-event strong,.g-week-agenda-event span,.g-week-agenda-event small{display:block;color:inherit!important;line-height:1.22}.g-week-agenda-event strong{font-size:12px}.g-week-agenda-event span{margin-top:3px;font-size:11px;font-weight:750}.g-week-agenda-event small{margin-top:3px;font-size:10px;opacity:.85}.g-week-agenda-now-line{position:absolute;z-index:14;left:0;right:0;height:2px;background:#ef4444;pointer-events:none}.g-week-agenda-now-dot{position:absolute;z-index:15;right:-6px;width:12px;height:12px;border-radius:999px;background:#ef4444;transform:translateY(-5px)}.g-week-agenda-empty{position:absolute;z-index:8;top:28px;left:96px;padding:10px 13px;border:1px dashed var(--g-border-strong);border-radius:10px;background:var(--g-surface);color:var(--g-muted);font-size:13px}.g-week-agenda-board::-webkit-scrollbar{width:10px;height:10px}.g-week-agenda-board::-webkit-scrollbar-thumb{border:2px solid var(--g-surface);border-radius:999px;background:var(--g-border-strong)}

@media(max-width:1100px){.g-week-agenda{grid-template-columns:220px minmax(0,1fr)}.g-week-agenda-sidebar{padding:14px}}
@media(max-width:760px){.g-week-agenda{grid-template-columns:1fr}.g-week-agenda-sidebar{border-right:0;border-bottom:1px solid var(--g-border)}.g-mini-calendar{width:min(330px,100%)}.g-week-agenda-calendars>div{display:flex;overflow:auto;padding-bottom:4px}.g-week-agenda-calendars a{min-width:max-content}.g-week-agenda-board{max-height:72vh}}

/* Theme palette library */
.g-palette-groups{display:grid;gap:10px}.g-palette-group{overflow:hidden;border:1px solid var(--g-border);border-radius:13px;background:var(--g-surface)}.g-palette-group>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:11px 14px;list-style:none;cursor:pointer;font-weight:850}.g-palette-group>summary::-webkit-details-marker{display:none}.g-palette-group>summary::after{content:"⌄";margin-left:auto;color:var(--g-muted);transition:transform .15s ease}.g-palette-group[open]>summary::after{transform:rotate(180deg)}.g-palette-group>summary small{color:var(--g-muted);font-size:12px;font-weight:700}.g-palette-group .g-palette-grid{padding:0 12px 12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.g-palette-group .g-palette{min-height:98px;align-content:start}.g-palette-group .g-palette small{line-height:1.3}.g-palette-custom{width:min(320px,100%)}
/* Shared navigation and contrast safeguards. Keep application menus readable
   with long module names and every Galaxy palette. */
.galaxy-ui .g-button,.galaxy-ui .g-skip-link{color:var(--g-primary-contrast)}
.galaxy-ui .g-main-nav{overflow-x:auto;overflow-y:visible;scrollbar-width:thin}
.galaxy-ui .g-main-nav>a,.galaxy-ui .g-main-nav>.g-nav-more{flex:none}

/* Reusable operational layouts (catalogues, stocks, settings and dashboards). */
.g-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.g-metric-card{padding:18px}.g-metric-card span{display:block;color:var(--g-muted);font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.g-metric-card strong{display:block;margin-top:7px;color:var(--g-text);font-size:28px;letter-spacing:-.04em}.g-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.g-action-card{min-height:120px;padding:17px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;border:1px solid var(--g-border);border-radius:var(--g-radius);background:var(--g-surface);color:var(--g-text);text-align:left;box-shadow:var(--g-shadow-sm);cursor:pointer}.g-action-card:hover{border-color:var(--g-primary-border);background:var(--g-primary-soft)}.g-action-card strong{font-size:16px}.g-action-card small{color:var(--g-muted)}.g-split-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.8fr);gap:18px;align-items:start}.g-section-stack{display:grid;gap:18px}.g-list-card{padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--g-border)}.g-list-card:last-child{border-bottom:0}.g-list-card strong,.g-list-card small{display:block}.g-list-card small{margin-top:4px;color:var(--g-muted)}.g-progress{height:10px;overflow:hidden;border-radius:999px;background:var(--g-hover)}.g-progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--g-primary),var(--g-secondary))}.g-inline-form{display:flex;align-items:center;gap:8px}.g-inline-form input,.g-inline-form select{min-width:0}.g-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.g-form-grid .g-span-full{grid-column:1/-1}@media(max-width:1050px){.g-metric-grid,.g-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.g-split-layout{grid-template-columns:1fr}}@media(max-width:650px){.g-metric-grid,.g-action-grid,.g-form-grid{grid-template-columns:1fr}.g-form-grid .g-span-full{grid-column:auto}.g-inline-form{align-items:stretch;flex-direction:column}}
.g-modal>form>header,.g-modal>form>footer{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--g-border)}.g-modal>form>header h2{margin:0}.g-modal>form>footer{justify-content:flex-end;border:0;border-top:1px solid var(--g-border)}

/* Semantic tokens are shared as well: applications should not invent their
   own blue, green, orange or red for generic controls and feedback. */
:root{--g-primary-hover:color-mix(in srgb,var(--g-primary),#000 12%);--g-primary-active:color-mix(in srgb,var(--g-primary),#000 20%);--g-primary-border:color-mix(in srgb,var(--g-primary),#fff 55%);--g-success:#15803d;--g-success-soft:#ecfdf5;--g-warning:#b45309;--g-warning-soft:#fffbeb;--g-danger:#dc2626;--g-danger-soft:#fef2f2}

/* Compatibility layer for applications progressively migrating to the shared
   design system. Primary actions follow Galaxy while semantic states keep
   their own success, warning and danger colours. */
.galaxy-ui .admin-action-button.primary,.galaxy-ui .admin-primary-button,.galaxy-ui .admin-settings-shortcut,.galaxy-ui .btn:not(.secondary):not(.ghost):not(.danger):not(.success),.galaxy-ui button.primary,.galaxy-ui a.primary{border-color:var(--g-primary)!important;background:var(--g-primary)!important;color:var(--g-primary-contrast)!important}.galaxy-ui .admin-action-button.primary:hover,.galaxy-ui .admin-primary-button:hover,.galaxy-ui .admin-settings-shortcut:hover,.galaxy-ui .btn:not(.secondary):not(.ghost):not(.danger):not(.success):hover,.galaxy-ui button.primary:hover,.galaxy-ui a.primary:hover{border-color:var(--g-primary-hover)!important;background:var(--g-primary-hover)!important;color:var(--g-primary-contrast)!important}.galaxy-ui .admin-eyebrow,.galaxy-ui .link-action,.galaxy-ui .link-button,.galaxy-ui .table-action{color:var(--g-primary)!important}.galaxy-ui .client-page-link.active{border-color:var(--g-primary)!important;background:var(--g-primary)!important;color:var(--g-primary-contrast)!important}.galaxy-ui .product-result:hover,.galaxy-ui .catalog-product-card:hover,.galaxy-ui tr.clickable:hover td{border-color:var(--g-primary-border)!important;background:var(--g-primary-soft)!important}.galaxy-ui .product-result small{color:var(--g-primary)!important}
