/* GMP Portal v1.8.2 */
.gmp-wrap *,#gmp-toast *{box-sizing:border-box;margin:0;padding:0}
.gmp-wrap{
    --p:#94c93d;--pd:#7cb52e;--pl:#f2fbe5;--s:#006937;--sd:#005229;
    --dk:#373A36;--er:#ef4444;--er-bg:#fef2f2;
    --tx:#111827;--tx2:#374151;--mu:#6b7280;--mu2:#9ca3af;
    --bd:#e5e7eb;--bd2:#f3f4f6;--bg:#f8f9fb;--wh:#fff;
    --r:10px;--sh:0 1px 3px rgba(0,0,0,.05);--sh-md:0 4px 12px rgba(0,0,0,.07);--sh-lg:0 12px 32px rgba(0,0,0,.13);
    --sw:240px;--th:60px;--tr:.16s ease;
    font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif
}

/* ── Gate ── */
.gmp-gate{display:flex;flex-direction:column;align-items:center;text-align:center;padding:60px 24px;background:var(--wh);border:1px solid var(--bd);border-radius:18px;max-width:460px;margin:36px auto;box-shadow:var(--sh)}
.gmp-gate__icon{width:76px;height:76px;border-radius:50%;background:var(--pl);display:flex;align-items:center;justify-content:center;color:var(--s);margin-bottom:18px}
.gmp-gate__title{font-size:21px;font-weight:700;color:var(--tx);margin-bottom:8px}
.gmp-gate__text{font-size:14px;color:var(--mu);line-height:1.65;margin-bottom:26px;max-width:300px}
.gmp-gate__btns{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}

/* ── Auth overlay ── */
.gmp-overlay{position:fixed;inset:0;background:rgba(17,24,39,.6);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:999999;padding:16px;animation:gmpFI .15s ease;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}
.gmp-overlay[hidden]{display:none!important}
.gmp-overlay *{box-sizing:border-box;margin:0;padding:0}
@keyframes gmpFI{from{opacity:0}to{opacity:1}}
.gmp-modal{background:#fff;border-radius:18px;width:100%;max-width:496px;padding:34px 34px 30px;position:relative;box-shadow:0 12px 32px rgba(0,0,0,.13);animation:gmpSU .2s ease;max-height:92vh;overflow-y:auto;color:#111827}
@keyframes gmpSU{from{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}}
.gmp-modal__close{position:absolute;top:13px;right:13px;width:30px;height:30px;border:none;background:#f8f9fb;border-radius:50%;font-size:17px;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .16s ease}
.gmp-modal__close:hover{background:#e5e7eb;color:#111827}
.gmp-modal__brand{display:flex;align-items:center;gap:9px;margin-bottom:20px}
.gmp-modal__brand-logo{width:32px;height:32px;border-radius:8px;background:#006937;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:14px}
.gmp-modal__brand span{font-size:14px;font-weight:700;color:#006937}
.gmp-modal__title{font-size:20px;font-weight:700;color:#111827;margin-bottom:3px}
.gmp-modal__sub{font-size:13px;color:#6b7280;margin-bottom:20px}
.gmp-modal__switch{text-align:center;font-size:13px;color:#6b7280;margin-top:16px}
.gmp-mpanel[hidden]{display:none!important}
.gmp-msg{border-radius:8px;padding:10px 13px;font-size:13px;font-weight:500;margin-bottom:14px;line-height:1.5}
.gmp-msg[hidden]{display:none!important}
.gmp-msg--success{background:#f2fbe5;color:#166534;border:1px solid #bbf7d0}
.gmp-msg--error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}
.gmp-strength{margin-top:5px}
.gmp-strength__bar{height:3px;background:#e5e7eb;border-radius:2px;overflow:hidden;margin-bottom:3px}
.gmp-strength__bar span{display:block;height:100%;width:0;transition:width .3s,background .3s}
.gmp-strength__lbl{font-size:11px;color:#6b7280}
.gmp-login-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;font-size:13px}
.gmp-checkbox{display:flex;align-items:center;gap:6px;color:#6b7280;cursor:pointer;user-select:none}
.gmp-checkbox input{accent-color:#94c93d}
.gmp-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}

/* ── Form fields ── */
.gmp-field{display:flex;flex-direction:column;gap:4px;margin-bottom:13px}
.gmp-field:last-child{margin-bottom:0}
.gmp-field label{font-size:12.5px;font-weight:600;color:var(--tx2)}
.gmp-hint-inline{font-size:11px;font-weight:400;color:var(--mu);margin-left:3px}
.gmp-wrap .gmp-field input[type=text],
.gmp-wrap .gmp-field input[type=email],
.gmp-wrap .gmp-field input[type=password],
.gmp-wrap .gmp-field input[type=tel],
.gmp-wrap .gmp-field input[type=url],
.gmp-wrap .gmp-field textarea,
.gmp-wrap .gmp-field select,
.gmp-overlay .gmp-field input[type=text],
.gmp-overlay .gmp-field input[type=email],
.gmp-overlay .gmp-field input[type=password],
.gmp-overlay .gmp-field input[type=tel]{
    width:100%;padding:0 12px;height:40px;
    border:1.5px solid var(--bd);border-radius:8px;
    font-size:14px;color:var(--tx);background:var(--wh);font-family:inherit;
    outline:none;appearance:none;-webkit-appearance:none;
    transition:border-color var(--tr),box-shadow var(--tr);
    line-height:38px
}
.gmp-wrap .gmp-field input:focus,
.gmp-wrap .gmp-field textarea:focus,
.gmp-wrap .gmp-field select:focus,
.gmp-overlay .gmp-field input:focus{border-color:var(--p);box-shadow:0 0 0 3px rgba(148,201,61,.14)}
.gmp-wrap .gmp-field input:disabled{background:var(--bg);color:var(--mu);cursor:not-allowed}
.gmp-wrap .gmp-field textarea{height:auto;padding:10px 12px;resize:vertical;min-height:68px;line-height:1.5}
.gmp-wrap .gmp-field select{cursor:pointer;line-height:38px;padding:0 32px 0 12px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
.gmp-hint{font-size:11px;color:var(--mu)}

/* Password wrap */
.gmp-pass-wrap{position:relative;display:block;height:40px}
.gmp-pass-wrap input{width:100%;height:40px;padding-right:42px}
.gmp-eye-btn{position:absolute;right:0;top:0;width:40px;height:40px;border:none;background:transparent;cursor:pointer;color:var(--mu);display:flex;align-items:center;justify-content:center;padding:0;margin:0;transition:color var(--tr)}
.gmp-eye-btn:hover{color:var(--tx)}
.gmp-eye-btn svg{display:block}

.gmp-text-btn{background:none;border:none;cursor:pointer;color:var(--s);font-size:inherit;font-family:inherit;font-weight:600;padding:0;text-decoration:underline;text-underline-offset:2px}
.gmp-text-btn:hover{color:var(--pd)}

/* ────── Buttons — scoped to .gmp-wrap, .gmp-overlay, .gmp-drawer, .gmp-confirm-overlay ────── */
.gmp-wrap .gmp-btn,.gmp-overlay .gmp-btn,.gmp-drawer .gmp-btn,.gmp-confirm-overlay .gmp-btn{
    display:inline-flex!important;align-items:center;justify-content:center;
    gap:6px;padding:9px 20px;border-radius:8px;
    font-size:14px;font-weight:600;font-family:inherit;
    cursor:pointer;border:1.5px solid transparent;
    transition:background .16s,border-color .16s,color .16s,box-shadow .16s;
    text-decoration:none;white-space:nowrap;line-height:1;
    -webkit-appearance:none;appearance:none
}
.gmp-wrap .gmp-btn:disabled,.gmp-wrap .gmp-btn.is-loading,
.gmp-overlay .gmp-btn:disabled,.gmp-overlay .gmp-btn.is-loading{opacity:.6;pointer-events:none}

.gmp-wrap .gmp-btn--primary,.gmp-overlay .gmp-btn--primary,.gmp-drawer .gmp-btn--primary{background:#94c93d!important;color:#fff!important;border-color:#94c93d!important}
.gmp-wrap .gmp-btn--primary:hover,.gmp-overlay .gmp-btn--primary:hover{background:#7cb52e!important;border-color:#7cb52e!important;box-shadow:0 4px 14px rgba(148,201,61,.35)}

.gmp-wrap .gmp-btn--outline,.gmp-overlay .gmp-btn--outline,.gmp-drawer .gmp-btn--outline{background:transparent!important;color:#006937!important;border-color:#006937!important}
.gmp-wrap .gmp-btn--outline:hover,.gmp-overlay .gmp-btn--outline:hover{background:#006937!important;color:#fff!important}

.gmp-wrap .gmp-btn--ghost,.gmp-overlay .gmp-btn--ghost,.gmp-confirm-overlay .gmp-btn--ghost{background:transparent!important;border-color:#e5e7eb!important;color:#6b7280!important}
.gmp-wrap .gmp-btn--ghost:hover,.gmp-confirm-overlay .gmp-btn--ghost:hover{background:#f8f9fb!important;color:#111827!important;border-color:#d1d5db!important}

.gmp-wrap .gmp-btn--danger,.gmp-overlay .gmp-btn--danger{color:#ef4444!important;border-color:#fca5a5!important;background:transparent!important}
.gmp-wrap .gmp-btn--danger:hover{background:#fef2f2!important}

.gmp-wrap .gmp-btn--danger-solid,.gmp-confirm-overlay .gmp-btn--danger-solid{background:#ef4444!important;color:#fff!important;border-color:#ef4444!important}
.gmp-wrap .gmp-btn--danger-solid:hover,.gmp-confirm-overlay .gmp-btn--danger-solid:hover{background:#dc2626!important;border-color:#dc2626!important}

.gmp-wrap .gmp-btn--full{width:100%}
.gmp-wrap .gmp-btn--sm,.gmp-overlay .gmp-btn--sm{padding:5px 11px!important;font-size:12px!important;border-radius:6px!important}
.gmp-wrap .gmp-btn--lg{padding:11px 28px!important;font-size:15px!important}

/* Spinner */
.gmp-ajax-btn .gmp-spinner{display:none}
.gmp-ajax-btn.is-loading .gmp-btn__label{display:none}
.gmp-ajax-btn.is-loading .gmp-spinner{display:inline-block}
.gmp-spinner{width:15px;height:15px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:gmpSpin .7s linear infinite;display:inline-block}
.gmp-btn--outline .gmp-spinner,.gmp-btn--ghost .gmp-spinner{border-color:rgba(0,0,0,.1);border-top-color:#006937}
@keyframes gmpSpin{to{transform:rotate(360deg)}}

/* ── Action buttons (icon-only, like reference) ── */
.gmp-wrap .gmp-action-btn{
    display:inline-flex!important;align-items:center;justify-content:center;
    width:32px!important;height:32px!important;padding:0!important;
    border:1px solid var(--bd)!important;background:var(--wh)!important;
    border-radius:7px!important;color:var(--mu)!important;
    cursor:pointer;transition:all var(--tr);
    margin:0 1px;line-height:1;
    appearance:none;-webkit-appearance:none
}
.gmp-wrap .gmp-action-btn:hover{background:var(--pl)!important;color:var(--s)!important;border-color:#c4eaa0!important}
.gmp-wrap .gmp-action-btn--danger:hover{background:var(--er-bg)!important;color:var(--er)!important;border-color:#fecaca!important}
.gmp-wrap .gmp-action-btn svg{display:block;width:14px;height:14px}

/* ── Toast ── */
#gmp-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(16px);background:#373A36;color:#fff;border-radius:40px;padding:11px 22px 11px 14px;display:flex;align-items:center;gap:10px;box-shadow:0 8px 24px rgba(0,0,0,.22);z-index:1000001;font-size:14px;font-weight:500;opacity:0;transition:opacity .3s,transform .3s;white-space:nowrap;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}
#gmp-toast[hidden]{display:none!important}
#gmp-toast.is-visible{opacity:1;transform:translateX(-50%) translateY(0)}
.gmp-toast__check{width:22px;height:22px;min-width:22px;border-radius:50%;background:#94c93d;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;line-height:1}

/* ── Dashboard layout ── */
.gmp-dash{display:grid;grid-template-columns:var(--sw) 1fr;min-height:680px;background:var(--bg);border-radius:14px;overflow:hidden;border:1px solid var(--bd);box-shadow:var(--sh)}
.gmp-sidebar{background:var(--wh);border-right:1px solid var(--bd);display:flex;flex-direction:column;min-height:680px}
.gmp-sidebar__hd{display:flex;align-items:center;justify-content:space-between;padding:20px 16px 14px}
.gmp-sidebar__logo{font-size:15px;font-weight:800;color:var(--s);letter-spacing:-.2px}
.gmp-sidebar__close-btn{display:none;background:none;border:none;color:var(--mu);cursor:pointer;padding:3px;border-radius:6px}
.gmp-sidebar__close-btn:hover{color:var(--tx)}
.gmp-sidebar__user{display:flex;align-items:center;gap:10px;padding:8px 10px 12px;margin:0 8px 6px;background:var(--bg);border-radius:9px}
.gmp-sidebar__user-info{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}
.gmp-sidebar__user-info strong{font-size:13px;font-weight:700;color:var(--tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25}
.gmp-sidebar__email{font-size:11px;color:var(--mu);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25}
.gmp-avatar{width:34px;height:34px;border-radius:50%;background:var(--s);color:#fff;font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;user-select:none}
.gmp-avatar--sm{width:30px;height:30px;font-size:12px}

.gmp-nav{flex:1;padding:4px 8px;display:flex;flex-direction:column;gap:1px}
.gmp-nav-item{display:flex;align-items:center;gap:9px;padding:9px 11px;border-radius:8px;font-size:13px;font-weight:500;color:var(--mu);background:none;border:none;cursor:pointer;text-align:left;font-family:inherit;transition:background var(--tr),color var(--tr);text-decoration:none;width:100%}
.gmp-nav-item svg{flex-shrink:0;width:16px;height:16px;opacity:.7}
.gmp-nav-item>span:not(.gmp-nav-badge){flex:1}
.gmp-nav-item:hover{background:var(--pl);color:var(--s)}
.gmp-nav-item:hover svg{opacity:1}
.gmp-nav-item.is-active{background:var(--pl);color:var(--s);font-weight:700}
.gmp-nav-item.is-active svg{opacity:1}

/* ── Nav badge: PROPER CIRCLE ── */
.gmp-nav-badge{
    display:none!important;
    width:20px!important;height:20px!important;
    min-width:20px!important;max-width:20px!important;
    padding:0!important;margin:0 0 0 auto!important;
    border-radius:50%!important;
    background:var(--p)!important;color:#fff!important;
    font-size:10px!important;font-weight:800!important;
    align-items:center!important;justify-content:center!important;
    flex-shrink:0!important;line-height:1!important;
    box-sizing:border-box!important;
    text-align:center;overflow:hidden
}
.gmp-nav-badge.is-visible{display:inline-flex!important}

.gmp-sidebar__ft{padding:6px 8px 14px;border-top:1px solid var(--bd);display:flex;flex-direction:column;gap:1px;margin-top:6px}
.gmp-nav-item--download{font-size:12px;color:var(--mu)}
.gmp-nav-item--logout{color:var(--tx2)}
.gmp-nav-item--logout:hover{background:var(--er-bg);color:var(--er)}

/* Topbar */
.gmp-topbar{height:var(--th);background:var(--wh);border-bottom:1px solid var(--bd);display:flex;align-items:center;padding:0 22px;gap:14px;position:sticky;top:0;z-index:10}
.gmp-topbar__title{flex:1;font-size:15px;font-weight:700;color:var(--tx)}
.gmp-topbar__right{display:flex;align-items:center;gap:8px}
.gmp-burger{display:none;background:none;border:none;cursor:pointer;color:var(--tx);padding:4px;border-radius:6px}
.gmp-burger:hover{background:var(--bg)}
.gmp-main{display:flex;flex-direction:column;background:var(--bg);min-width:0}
.gmp-sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:999990}
.gmp-sidebar-overlay.is-visible{display:block}

/* Panels */
.gmp-panel{padding:24px;min-height:calc(100vh - var(--th))}
.gmp-panel[hidden]{display:none!important}
.gmp-panel-hd{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:22px;flex-wrap:wrap}
.gmp-panel-hd h2{font-size:21px;font-weight:700;color:var(--tx);margin-bottom:3px;letter-spacing:-.2px}

/* Cards */
.gmp-card{background:var(--wh);border:1px solid var(--bd);border-radius:12px;overflow:hidden;box-shadow:var(--sh)}
.gmp-card-hd{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--bd2);gap:10px}
.gmp-card-hd h3{font-size:13px;font-weight:700;color:var(--tx)}
.gmp-card-hd--search{padding:14px 18px;background:var(--wh)}
.gmp-card-bd{padding:18px}
.gmp-card-bd--flush{padding:0}
.gmp-search-input{width:100%;height:38px;padding:0 12px 0 36px;border:1.5px solid var(--bd);border-radius:8px;font-size:13px;font-family:inherit;color:var(--tx);background:var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") no-repeat 12px center;outline:none;appearance:none;transition:border-color var(--tr)}
.gmp-search-input:focus{border-color:var(--p);background-color:var(--wh)}
.gmp-alt-download{display:flex;align-items:center;gap:7px;padding:9px 13px;margin-bottom:16px;background:var(--bg);border:1px solid var(--bd);border-radius:8px;font-size:12px;color:var(--mu)}

/* Stat cards */
.gmp-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.gmp-stat-card{background:var(--wh);border:1px solid var(--bd);border-radius:12px;padding:18px;box-shadow:var(--sh);display:flex;align-items:flex-start;gap:14px;transition:box-shadow var(--tr),transform var(--tr)}
.gmp-stat-card[data-gmp-tab]{cursor:pointer}
.gmp-stat-card[data-gmp-tab]:hover{box-shadow:var(--sh-md);transform:translateY(-1px)}
.gmp-stat-card__icon{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.gmp-stat-card--primary .gmp-stat-card__icon{background:var(--pl);color:var(--s)}
.gmp-stat-card--green   .gmp-stat-card__icon{background:#ecfdf5;color:var(--s)}
.gmp-stat-card--dark    .gmp-stat-card__icon{background:#f3f4f6;color:var(--dk)}
.gmp-stat-card__val{font-size:26px;font-weight:800;color:var(--tx);line-height:1;margin-bottom:3px}
.gmp-stat-card__lbl{font-size:12px;color:var(--mu);font-weight:500}

/* Layout */
.gmp-row{display:grid;gap:14px}
.gmp-row--2{grid-template-columns:1fr 1fr}
.gmp-row--3{grid-template-columns:1fr 1fr 1fr}
.gmp-form-actions{margin-top:20px;display:flex;justify-content:flex-end}

/* ════════ TABLES — modern, matching reference ════════ */
.gmp-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:0 0 12px 12px}
.gmp-table{width:100%;border-collapse:collapse;font-size:13px;background:var(--wh)}
.gmp-table thead th{
    padding:14px 18px;
    text-align:left;
    font-size:11px;font-weight:700;
    text-transform:uppercase;letter-spacing:.06em;
    color:#9ca3af;
    background:#fbfbfb;
    border-bottom:1px solid var(--bd2);
    white-space:nowrap
}
.gmp-table thead th.gmp-th-actions{text-align:right;padding-right:24px}
.gmp-table tbody tr{transition:background var(--tr)}
.gmp-table tbody tr:not(:last-child){border-bottom:1px solid #f5f6f8}
.gmp-table tbody tr:hover{background:#fafdf6}
.gmp-table tbody td{padding:16px 18px;color:var(--tx);vertical-align:middle}
.gmp-table tbody td:not(:last-child){border-right:none}
.gmp-table tbody td:not(:last-child),
.gmp-table thead th:not(:last-child){border-right:none}
.gmp-td-actions{white-space:nowrap;text-align:right;padding-right:24px!important}
.gmp-td-actions .gmp-action-btn+.gmp-action-btn{margin-left:4px}
.gmp-td-date{color:var(--mu);white-space:nowrap;font-size:12.5px}
/* Narrow Samples column — only holds a small pill */
.gmp-th-samples,.gmp-td-samples{width:90px;text-align:center}
/* Description column — truncate long text with ellipsis, tooltip on hover */
.gmp-td-desc{max-width:280px;color:var(--tx2);font-size:12.5px}
.gmp-td-desc span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Reference pill */
.gmp-ref-pill{display:inline-block;background:var(--pl);color:var(--s);border-radius:6px;padding:4px 10px;font-size:11.5px;font-weight:700;letter-spacing:.02em;white-space:nowrap;border:1px solid #d4f0b0}

/* Count pill */
.gmp-count-pill{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:24px;padding:0 8px;background:var(--bg);border:1px solid var(--bd);border-radius:100px;font-size:12px;font-weight:700;color:var(--tx2)}

/* User cell */
.gmp-user-cell{display:flex;align-items:center;gap:11px}
.gmp-user-av{width:34px;height:34px;border-radius:50%;background:var(--s);color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.gmp-user-name{font-size:13px;font-weight:600;color:var(--tx);line-height:1.3}
.gmp-user-email{font-size:11.5px;color:var(--mu);line-height:1.3}

/* Role pills */
.gmp-role-pill{display:inline-flex;align-items:center;padding:4px 12px;border-radius:100px;font-size:11px;font-weight:700}
.gmp-role-pill--admin{background:var(--pl);color:var(--s);border:1px solid #c4eaa0}
.gmp-role-pill--sub{background:#f3f4f6;color:var(--mu);border:1px solid var(--bd)}

/* Role select */
.gmp-role-select{
    height:32px;padding:0 26px 0 10px;font-size:12px;
    border:1.5px solid var(--bd);border-radius:7px;
    background:var(--wh) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 8px center;
    color:var(--tx);font-family:inherit;cursor:pointer;
    appearance:none;-webkit-appearance:none;outline:none;
    line-height:30px;transition:border-color var(--tr)
}
.gmp-role-select:focus{border-color:var(--p)}

/* Badges */
.gmp-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:100px;font-size:11px;font-weight:600;white-space:nowrap}
.gmp-badge--urgent{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}
.gmp-badge--standard{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}
.gmp-badge--optional{background:#f3f4f6;color:var(--mu);border:1px solid var(--bd);font-weight:500}

.gmp-loading{padding:48px;text-align:center;color:var(--mu);font-size:13px}
.gmp-empty{padding:56px 24px;text-align:center;color:var(--mu);font-size:14px}
.gmp-empty strong{display:block;font-size:15px;color:var(--tx);margin-bottom:6px}

/* Sample rows */
.gmp-sample-row{border:1.5px solid var(--bd);border-radius:10px;padding:15px;margin-bottom:12px;background:var(--bg);transition:border-color var(--tr)}
.gmp-sample-row:hover{border-color:#c0d9a8}
.gmp-sample-row:last-child{margin-bottom:0}
.gmp-sample-row__hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}
.gmp-sample-row__num{font-size:13px;font-weight:700;color:var(--s)}

/* Utilities */
.gmp-muted{color:var(--mu)}.gmp-text-sm{font-size:12px}
.gmp-hr{border:none;border-top:1px solid var(--bd);margin:16px 0}
.gmp-section-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--mu);margin-bottom:12px}

/* ════════ DRAWER (slide-out from right) — high z-index above all theme headers ════════ */
.gmp-drawer-overlay{
    position:fixed;inset:0;
    background:rgba(17,24,39,.45);
    z-index:999998;
    opacity:0;
    transition:opacity .25s ease
}
.gmp-drawer-overlay[hidden]{display:none!important}
.gmp-drawer-overlay.is-visible{opacity:1}
.gmp-drawer{
    position:fixed;top:0;right:0;bottom:0;
    width:100%;max-width:520px;
    background:#fff;
    z-index:999999;
    display:flex;flex-direction:column;
    transform:translateX(100%);
    transition:transform .28s ease;
    box-shadow:-10px 0 32px rgba(0,0,0,.18);
    font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
    color:#111827
}
.gmp-drawer *{box-sizing:border-box}
.gmp-drawer[hidden]{display:none!important}
.gmp-drawer.is-open{transform:translateX(0)}
.gmp-drawer__hd{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb;flex-shrink:0}
.gmp-drawer__hd h3{font-size:17px;font-weight:700;color:#111827;margin:0;font-family:inherit}
.gmp-drawer__close{width:32px;height:32px;border-radius:50%;background:#f8f9fb;border:none;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#6b7280;transition:background .16s;padding:0;line-height:1;font-family:inherit}
.gmp-drawer__close:hover{background:#e5e7eb;color:#111827}
.gmp-drawer__body{flex:1;overflow-y:auto;padding:22px 24px}
.gmp-detail-header{display:flex;align-items:center;justify-content:space-between;background:#f2fbe5;border:1.5px solid #c4eaa0;border-radius:10px;padding:14px 16px;margin-bottom:20px}
.gmp-detail-ref-badge{font-size:18px;font-weight:800;color:#006937}
.gmp-detail-section{margin-bottom:18px}
.gmp-detail-section h4{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#6b7280;margin:0 0 8px;padding-bottom:5px;border-bottom:1px solid #e5e7eb;font-family:inherit}
.gmp-dr{display:flex;gap:8px;padding:6px 0;font-size:13px;border-bottom:1px solid #f5f5f5}
.gmp-dr:last-child{border-bottom:none}
.gmp-dr dt{width:110px;flex-shrink:0;color:#6b7280;font-family:inherit}
.gmp-dr dd{color:#111827;font-weight:500;flex:1;word-break:break-word;font-family:inherit}
.gmp-detail-sample{border:1px solid #e5e7eb;border-radius:8px;padding:12px;margin-bottom:8px;background:#f8f9fb}
.gmp-detail-sample__hd{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;color:#006937;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;flex-wrap:wrap;font-family:inherit}

/* ════════ Confirm modal — explicit font scoping ════════ */
.gmp-confirm-overlay{
    position:fixed;inset:0;
    background:rgba(17,24,39,.55);
    z-index:1000000;
    display:flex;align-items:center;justify-content:center;
    padding:16px;
    animation:gmpFI .15s ease;
    font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif
}
.gmp-confirm-overlay[hidden]{display:none!important}
.gmp-confirm-overlay *{box-sizing:border-box;margin:0;padding:0;font-family:inherit}
.gmp-confirm-modal{background:#fff;border-radius:15px;padding:26px 22px 20px;max-width:360px;width:100%;box-shadow:0 12px 32px rgba(0,0,0,.18);text-align:center;animation:gmpSU .18s ease;color:#111827}
.gmp-confirm-icon{width:50px;height:50px;border-radius:50%;background:#fef2f2;color:#dc2626;display:flex;align-items:center;justify-content:center;margin:0 auto 13px}
.gmp-confirm-modal h3{font-size:16px;font-weight:700;color:#111827;margin-bottom:7px}
.gmp-confirm-modal p{font-size:13px;color:#6b7280;line-height:1.55;margin-bottom:20px}
.gmp-confirm-actions{display:flex;gap:8px;justify-content:center}
.gmp-confirm-actions .gmp-btn{min-width:90px}

/* Help grid */
.gmp-help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:4px}
.gmp-help-card{background:var(--wh);border:1px solid var(--bd);border-radius:12px;padding:18px;box-shadow:var(--sh);position:relative}
.gmp-help-card__num{position:absolute;top:14px;right:14px;width:22px;height:22px;border-radius:50%;background:var(--pl);color:var(--s);font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center}
.gmp-help-card__icon{color:var(--s);margin-bottom:10px;opacity:.8}
.gmp-help-card__title{font-size:13px;font-weight:700;color:var(--tx);margin-bottom:7px}
.gmp-help-card__body{font-size:12px;color:var(--mu);line-height:1.6}

/* ── Responsive — horizontal scroll on tables (don't hide columns) ── */
@media(max-width:768px){
    .gmp-dash{grid-template-columns:1fr;border-radius:8px}
    .gmp-sidebar{position:fixed;left:-100%;top:0;bottom:0;width:var(--sw);z-index:999991;transition:left .25s ease;min-height:100%;box-shadow:4px 0 20px rgba(0,0,0,.12)}
    .gmp-sidebar.is-open{left:0}
    .gmp-sidebar__close-btn{display:flex}
    .gmp-burger{display:flex}
    .gmp-panel{padding:18px 14px 36px}
    .gmp-stats-grid,.gmp-help-grid{grid-template-columns:1fr}
    .gmp-row--2,.gmp-row--3{grid-template-columns:1fr}
    .gmp-drawer{max-width:100%}
    /* Tables: don't hide columns, use horizontal scroll */
    .gmp-table{min-width:820px}
    .gmp-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;box-shadow:inset -8px 0 8px -8px rgba(0,0,0,.08)}
}
@media(max-width:480px){
    .gmp-gate{padding:36px 14px;margin:10px auto}
    .gmp-gate__btns{flex-direction:column;width:100%}
    .gmp-gate__btns .gmp-btn{width:100%;justify-content:center}
    .gmp-field-row{grid-template-columns:1fr}
    .gmp-modal{padding:22px 16px}
    .gmp-confirm-actions{flex-direction:column}
    .gmp-confirm-actions .gmp-btn{width:100%}
}

/* ════════ Pricelist download button (front-end, usable anywhere) ════════ */
a.gmp-pricelist-btn,
.gmp-pricelist-btn{
    display:inline-block;
    background:#94c93d!important;
    color:#ffffff!important;
    padding:14px 36px!important;
    border-radius:80px!important;
    font-weight:700!important;
    font-size:15px!important;
    text-decoration:none!important;
    transition:background .2s ease,box-shadow .2s ease,transform .2s ease!important;
    border:none!important;
    cursor:pointer;
    font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif!important;
    line-height:1!important;
    box-shadow:none;
    text-shadow:none
}
a.gmp-pricelist-btn:hover,
.gmp-pricelist-btn:hover{
    background:#7cb52e!important;
    color:#ffffff!important;
    box-shadow:0 6px 18px rgba(148,201,61,.35)!important;
    transform:translateY(-1px)
}
a.gmp-pricelist-btn:active,
.gmp-pricelist-btn:active{transform:translateY(0)}

/* ════════ Pricelist settings UI ════════ */
.gmp-pricelist-file-input{position:absolute!important;left:-9999px!important;top:auto!important;width:1px!important;height:1px!important;opacity:0!important;overflow:hidden!important}
.gmp-pricelist-empty{padding:18px;background:var(--bg);border:1px dashed var(--bd);border-radius:8px;font-size:13px;color:var(--mu);text-align:center}
.gmp-pricelist-uploading{display:flex;align-items:center;gap:12px;padding:16px 18px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:9px;font-size:13px;color:#166534}
.gmp-spinner--brand{border-color:rgba(0,105,55,.18)!important;border-top-color:#006937!important;width:16px;height:16px;flex-shrink:0}
.gmp-pricelist-current{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:var(--pl);border:1px solid #c4eaa0;border-radius:9px}
.gmp-pricelist-info{display:flex;align-items:center;gap:12px;min-width:0}
.gmp-pricelist-icon{width:38px;height:38px;border-radius:8px;background:#fff;color:var(--s);display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid #c4eaa0}
.gmp-pricelist-name{font-size:13px;font-weight:700;color:var(--tx);line-height:1.3;word-break:break-all}
.gmp-pricelist-meta{font-size:11.5px;color:var(--mu);line-height:1.3;margin-top:2px}
.gmp-pricelist-meta a{color:var(--s);text-decoration:underline;text-underline-offset:2px}
.gmp-code{background:var(--bg);border:1px solid var(--bd);border-radius:4px;padding:1px 6px;font-family:monospace;font-size:12px;color:var(--s)}
@media(max-width:480px){
    .gmp-pricelist-current{flex-direction:column;align-items:stretch}
    .gmp-pricelist-current .gmp-btn{align-self:flex-start}
}
