
.tg-platform .tg-portal-polish .tg-portal-content .tg-dl{ column-gap: 20px; row-gap: 12px; }
.tg-platform .tg-portal-polish .tg-portal-content .tg-dl dt{ color: var(--tg-text-2); font-size: .86rem; line-height: 1.5; }
.tg-platform .tg-portal-polish .tg-portal-content .tg-dl dd{ line-height: 1.5; min-width: 0; overflow-wrap: anywhere; }
.tg-platform .tg-portal-polish .tg-portal-content code{ overflow-wrap: anywhere; }
.tg-platform .tg-portal-polish .tg-care-content form{ max-width: 640px; }
.tg-platform .tg-portal-polish .tg-portal-content progress{ height: 10px; accent-color: var(--tg-gold); border: 0; border-radius: 0; overflow: hidden; }
.tg-platform .tg-portal-polish .tg-portal-content progress::-webkit-progress-bar{ background: #28282e; }
.tg-platform .tg-portal-polish .tg-portal-content progress::-webkit-progress-value{ background: var(--tg-gold); }
.tg-platform .tg-portal-polish .tg-portal-content progress::-moz-progress-bar{ background: var(--tg-gold); }
@media(max-width:700px) {.tg-platform .tg-portal-polish .tg-account-stats{ grid-template-columns: repeat(2,minmax(0,1fr)); }
.tg-platform .tg-portal-polish .tg-account-stats .tg-stat{ padding: 12px; }
.tg-platform .tg-portal-polish .tg-module-navigation{ padding: 10px 10px 0; }}
.tg-platform .tg-portal-polish .tg-portal-content .tg-grid > .tg-card{ margin-top: 0; }
.tg-platform .tg-portal-polish .tg-portal-content .tg-account-stats .tg-stat .k{ min-height: 2.9em; }
.tg-platform .tg-portal-polish .tg-portal-content[data-view="points"] .tg-grid-3 .tg-stat .k{ font-size: .72rem; line-height: 1.5; }
.tg-platform .tg-portal-polish .tg-portal-content[data-view="points"] .tg-grid-3 .tg-stat .s{ font-size: .76rem; line-height: 1.4; }
.tg-platform .tg-portal-polish .tg-portal-content[data-account="signed-in"] .tg-empty{ padding: 20px 16px; }
.tg-platform .tg-portal-polish .tg-portal-content[data-account="signed-in"] .tg-empty h3{ font-size: 1.05rem; }
@media(min-width:1101px) {.tg-platform .tg-portal-polish .tg-portal-content .tg-account-stats{ grid-template-columns: repeat(4,minmax(0,1fr)); }}
.tg-platform .tg-portal-polish .tg-module-navigation{ display: flex; align-items: center; gap: 10px; padding: 6px 12px; overflow-x: auto; }
.tg-platform .tg-portal-polish .tg-module-navigation .tg-tabs{ flex: 0 0 auto; flex-wrap: nowrap; gap: 2px; margin: 0; border-bottom: 0; }
.tg-platform .tg-portal-polish .tg-module-navigation .tg-tabs-group{ margin: 0; padding-right: 10px; border-right: 1px solid var(--tg-line-soft); }
.tg-platform .tg-portal-polish .tg-module-navigation .tg-tab{ white-space: nowrap; padding-left: 10px; padding-right: 10px; font-size: .7rem; letter-spacing: .1em; }
.tg-platform .tg-portal-polish .tg-care-content > .tg-tabs{ flex-wrap: nowrap; overflow-x: auto; gap: 4px; }
.tg-platform .tg-portal-polish .tg-care-content > .tg-tabs .tg-tab{ white-space: nowrap; }
.tg-platform .tg-portal-polish .tg-side .tg-card-options{ margin-top: 12px; padding-top: 12px; }
.tg-platform .tg-portal-polish .tg-side .tg-card-options summary{ cursor: pointer; color: var(--tg-text-2); font-size: .8rem; }
.tg-platform .tg-portal-polish .tg-side .tg-card-options p{ margin: 10px 0; line-height: 1.45; }
.tg-platform .tg-uniform{ --tg-r-sm:6px; --tg-r:10px; --tg-r-lg:12px; --tg-text-3:#b1b3bf; }
.tg-platform .tg-uniform h1, .tg-platform .tg-uniform h2, .tg-platform .tg-uniform h3, .tg-platform .tg-uniform h4{ font-family:var(--tg-font); text-transform:none; letter-spacing:-.02em; font-weight:650; line-height:1.25; }
.tg-platform .tg-uniform h1{ font-size:clamp(1.6rem,1.3rem + 1vw,2.2rem); }
.tg-platform .tg-uniform h2{ font-size:clamp(1.25rem,1.1rem + .5vw,1.6rem); }
.tg-platform .tg-uniform h3{ font-size:1.1rem; }
.tg-platform .tg-uniform .tg-btn, .tg-platform .tg-uniform .tg-nav a, .tg-platform .tg-uniform .tg-nav button, .tg-platform .tg-uniform .tg-tab, .tg-platform .tg-uniform .tg-tabs button{ font-family:var(--tg-font); font-size:.875rem; letter-spacing:0; text-transform:none; border-radius:6px; min-height:44px; line-height:1.4; }
.tg-platform .tg-uniform .tg-btn-primary{ background:var(--tg-gold); border-color:var(--tg-gold); color:#171207; }
.tg-platform .tg-uniform .tg-btn-primary:hover{ background:var(--tg-gold-bright); }
.tg-platform .tg-uniform .tg-card, .tg-platform .tg-uniform .tg-module, .tg-platform .tg-uniform .tg-stat{ border-radius:10px; background:#151518; border-color:#34343d; box-shadow:0 2px 8px #0002; }
.tg-platform .tg-uniform .tg-card::before, .tg-platform .tg-uniform .tg-card::after, .tg-platform .tg-uniform .tg-module::before, .tg-platform .tg-uniform .tg-module::after{ display:none; }
.tg-platform .tg-uniform .tg-card-accent{ border-top:2px solid var(--tg-gold); }
.tg-platform .tg-uniform .tg-card{ padding:24px; }
.tg-platform .tg-uniform .tg-card-head{ gap:12px; flex-wrap:wrap; margin-bottom:18px; }
.tg-platform .tg-uniform .tg-input, .tg-platform .tg-uniform .tg-select, .tg-platform .tg-uniform .tg-textarea{ border-radius:6px; font-family:var(--tg-font); font-size:1rem; background:#101013; border-color:#4c4c57; min-height:44px; }
.tg-platform .tg-uniform .tg-badge, .tg-platform .tg-uniform .tg-tag, .tg-platform .tg-uniform .tg-chip, .tg-platform .tg-uniform .tg-pill{ font-family:var(--tg-font); font-size:.8rem; letter-spacing:0; text-transform:none; border-radius:5px; line-height:1.4; }
.tg-platform .tg-uniform .tg-side-nav button, .tg-platform .tg-uniform .tg-side-nav a{ font-family:var(--tg-font); font-size:.9rem; letter-spacing:0; text-transform:none; border-radius:6px; line-height:1.4; }
.tg-platform .tg-uniform .tg-table th{ font-family:var(--tg-font); font-size:.875rem; text-transform:none; letter-spacing:0; background:#1b1b20; color:var(--tg-text-2); }
.tg-platform .tg-uniform .tg-table td, .tg-platform .tg-uniform .tg-table th{ padding:12px 14px; line-height:1.5; font-variant-numeric:tabular-nums; }
.tg-platform .tg-uniform .tg-table tbody tr:nth-child(even){ background:#ffffff03; }
.tg-platform .tg-uniform .tg-table tbody tr:hover{ background:#ffffff07; }
.tg-platform .tg-uniform .tg-muted, .tg-platform .tg-uniform .tg-hint{ color:var(--tg-text-3); }
.tg-platform .tg-uniform .tg-small{ font-size:.875rem; }
.tg-platform .tg-uniform .tg-eyebrow{ font-family:var(--tg-font); font-size:.8rem; letter-spacing:.08em; }
.tg-platform .tg-uniform .tg-stat .k, .tg-platform .tg-uniform .tg-stat .s{ font-family:var(--tg-font); font-size:.875rem; letter-spacing:0; text-transform:none; line-height:1.5; }
.tg-platform .tg-uniform .tg-stat .v{ font-variant-numeric:tabular-nums; }
.tg-platform .tg-uniform .tg-tabs{ gap:6px; overflow-x:auto; }
.tg-platform .tg-uniform .tg-tabs .tg-tab{ white-space:nowrap; }
.tg-platform .tg-uniform .tg-side{ border-radius:10px; }
.tg-platform .tg-admin .tg-app-rail{ grid-template-columns:280px minmax(0,1fr); gap:28px; }
.tg-platform .tg-admin .tg-wrap-admin{ max-width:1600px; }
.tg-platform .tg-admin .tg-admin-sidebar{ top:calc(var(--tg-head-h) + 16px); max-height:calc(100dvh - var(--tg-head-h) - 32px); overflow-y:auto; padding:14px; background:#111114; }
.tg-platform .tg-admin .tg-admin-content{ min-width:0; }
.tg-platform .tg-admin .tg-admin-page-head{ margin-bottom:24px; padding-bottom:20px; border-bottom:1px solid var(--tg-line); }
.tg-platform .tg-admin .tg-admin-page-head h1{ margin:4px 0 8px; }
.tg-platform .tg-admin .tg-admin-page-tip{ margin:0; max-width:70ch; color:var(--tg-text-2); }
.tg-platform .tg-admin .tg-admin-nav-search{ padding:0 2px 14px; border-bottom:1px solid var(--tg-line); margin-bottom:8px; }
.tg-platform .tg-admin .tg-admin-nav-search label{ display:block; margin-bottom:8px; color:var(--tg-text-2); }
.tg-platform .tg-admin .tg-admin-nav-search input{ width:100%; font-size:.9rem; }
.tg-platform .tg-admin .tg-admin-search-results{ display:grid; gap:6px; margin-top:8px; }
.tg-platform .tg-admin .tg-admin-search-results:empty{ margin:0; }
.tg-platform .tg-admin .tg-admin-nav-group{ border:0; padding:0; margin:0; }
.tg-platform .tg-admin .tg-admin-nav-group summary{ cursor:pointer; padding:12px 8px; font-size:.9rem; font-weight:650; color:var(--tg-text-2); border-radius:6px; }
.tg-platform .tg-admin .tg-admin-nav-group summary:hover{ color:var(--tg-text); background:#ffffff05; }
.tg-platform .tg-admin .tg-admin-nav-group[open] > summary{ color:var(--tg-gold-bright); }
.tg-platform .tg-admin .tg-admin-nav-group .tg-side-nav{ padding:0 0 10px 8px; }
.tg-platform .tg-admin .tg-admin-nav-item{ display:flex; flex-direction:column; align-items:flex-start; gap:3px; padding:10px 12px; min-height:44px; }
.tg-platform .tg-admin .tg-admin-nav-tip{ color:var(--tg-text-3); font-size:.8125rem; font-weight:400; line-height:1.45; }
.tg-platform .tg-admin .tg-admin-nav-item.is-active{ color:var(--tg-gold-bright); border-left-color:var(--tg-gold); background:var(--tg-gold-wash); }
.tg-platform .tg-admin .tg-admin-mobile-menu > summary{ display:none; }
.tg-platform .tg-admin .tg-easy-tiles{ grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px; }
.tg-platform .tg-admin .tg-easy-tile{ min-height:92px; border-radius:8px; }
.tg-platform .tg-admin .tg-easy-tile-label{ font-size:1rem; }
.tg-platform .tg-admin .tg-easy-tile-tip{ font-size:.875rem; line-height:1.45; }
.tg-platform .tg-admin .tg-head .tg-wrap{ max-width:1600px; }
.tg-platform .tg-admin .tg-nav{ align-items:center; }
.tg-platform .tg-admin .tg-syncbar{ font-size:.875rem; }
.tg-platform .tg-admin .tg-area-head > .tg-area-title{ display:none; }
.tg-platform .tg-uniform .tg-auth-card{ width:100%; max-width:480px; }
.tg-platform .tg-uniform .tg-auth .tg-card{ padding:32px; }
.tg-platform .tg-uniform :focus-visible{ outline:2px solid var(--tg-gold-bright); outline-offset:3px; }
@media(max-width:1100px) and (min-width:901px) {.tg-platform .tg-admin .tg-app-rail{ grid-template-columns:250px minmax(0,1fr); gap:20px; }}
@media(max-width:900px) {.tg-platform .tg-admin .tg-app-rail{ grid-template-columns:1fr; gap:20px; }
.tg-platform .tg-admin .tg-admin-sidebar{ position:static; max-height:none; }
.tg-platform .tg-admin .tg-admin-mobile-menu > summary{ display:list-item; padding:10px 8px; font-size:1rem; font-weight:650; cursor:pointer; }
.tg-platform .tg-admin .tg-admin-mobile-menu > nav{ padding-top:12px; }
.tg-platform .tg-admin .tg-side-nav{ flex-direction:column; }
.tg-platform .tg-admin .tg-side-nav button{ width:100%; }
.tg-platform .tg-admin .tg-head-in{ flex-wrap:wrap; padding-top:12px; padding-bottom:12px; }
.tg-platform .tg-admin .tg-nav{ width:100%; gap:4px; }
.tg-platform .tg-admin .tg-nav > span{ overflow-wrap:anywhere; }}
@media(max-width:600px) {.tg-platform .tg-uniform .tg-card{ padding:18px; }
.tg-platform .tg-admin .tg-admin-page-head{ margin-bottom:18px; padding-bottom:16px; }
.tg-platform .tg-admin .tg-easy-tiles{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.tg-platform .tg-uniform .tg-auth .tg-card{ padding:24px; }}
@media print {.tg-platform .tg-admin .tg-admin-sidebar, .tg-platform .tg-admin .tg-admin-page-head{ display:none; }
.tg-platform .tg-admin .tg-app-rail{ display:block; }}
.tg-platform .tg-uniform .tg-side h2{ font-family:var(--tg-font); font-size:.875rem; letter-spacing:0; text-transform:none; line-height:1.4; }
.tg-platform .tg-uniform .tg-dialog{ border-radius:12px; padding:24px; max-height:calc(100dvh - 32px); overflow-y:auto; }
.tg-platform .tg-uniform .tg-dialog h2{ font-family:var(--tg-font); text-transform:none; letter-spacing:-.02em; }
.tg-platform .tg-uniform .tg-sort-button{ display:flex; gap:6px; align-items:center; width:100%; padding:8px 0; min-height:44px; border:0; background:none; color:inherit; text-align:left; font:inherit; font-weight:650; cursor:pointer; }
.tg-platform .tg-uniform .tg-th-sort{ padding-top:4px; padding-bottom:4px; }
.tg-platform .tg-uniform .tg-page-size{ min-height:44px; font-size:.875rem; border-radius:6px; }
.tg-platform .tg-uniform .tg-pager{ gap:12px; flex-wrap:wrap; }
.tg-platform .tg-uniform .tg-portal-page-title{ font-size:clamp(1.5rem,1.25rem + .8vw,2rem); margin:0 0 20px; padding-bottom:16px; border-bottom:1px solid var(--tg-line); }
.tg-platform .tg-uniform .tg-settings-results{ display:grid; gap:8px; margin-top:10px; }
.tg-platform .tg-uniform .tg-settings-results:empty{ display:none; }
.tg-platform .tg-uniform .tg-settings-groups{ margin:18px 0; flex-wrap:wrap; }
.tg-platform .tg-uniform .tg-input:disabled, .tg-platform .tg-uniform .tg-select:disabled{ opacity:.6; cursor:not-allowed; }
.tg-platform .tg-uniform input[type="checkbox"], .tg-platform .tg-uniform input[type="radio"]{ accent-color:var(--tg-gold); }
.tg-platform .tg-uniform .sc-app, .tg-platform .tg-uniform .ck-wrap, .tg-platform .tg-uniform .ob-main, .tg-platform .tg-uniform .reg-workspace{ font-family:var(--tg-font); }
.tg-platform .tg-uniform.sc-body{ --sc-bg:var(--tg-black); --sc-panel:var(--tg-charcoal); --sc-line:var(--tg-line); --sc-text:var(--tg-text); --sc-dim:var(--tg-text-3); --sc-gold:var(--tg-gold); }
.tg-platform .tg-uniform .sc-b, .tg-platform .tg-uniform .sc-chip, .tg-platform .tg-uniform .sc-seg button{ border-radius:6px; font-size:.875rem; min-height:44px; font-family:var(--tg-font); line-height:1.4; }
.tg-platform .tg-uniform .sc-input, .tg-platform .tg-uniform .ob-input, .tg-platform .tg-uniform .ob-text{ min-height:44px; border-radius:6px; border-color:#4c4c57; background:#101013; font-size:1rem; }
.tg-platform .tg-uniform .sc-name, .tg-platform .tg-uniform .sc-time b{ font-size:1rem; }
.tg-platform .tg-uniform .sc-sub, .tg-platform .tg-uniform .sc-note, .tg-platform .tg-uniform .sc-who, .tg-platform .tg-uniform .sc-sum, .tg-platform .tg-uniform .sc-colhead{ font-size:.875rem; line-height:1.45; }
.tg-platform .tg-uniform .sc-sheet .sc-sub{ white-space:normal; overflow:visible; text-overflow:clip; margin-top:8px; }
.tg-platform .tg-uniform .sc-sheet h3{ font-family:var(--tg-font); font-size:.875rem; text-transform:none; letter-spacing:0; }
.tg-platform .tg-uniform .sc-sheet{ border-radius:12px; border-color:var(--tg-line); }
.tg-platform .tg-uniform .sc-item, .tg-platform .tg-uniform .sc-notebox, .tg-platform .tg-uniform .ob-card{ border-radius:10px; border-color:var(--tg-line); background:var(--tg-charcoal); }
.tg-platform .tg-uniform .sc-tag{ font-size:.75rem; line-height:1.4; border-radius:5px; }
.tg-platform .tg-uniform .sc-seg{ flex-wrap:wrap; }
.tg-platform .tg-uniform .sc-seg button{ flex:1 1 auto; padding:8px 12px; }
.tg-platform .tg-uniform .sc-menu{ font-size:.875rem; }
.tg-platform .tg-uniform .sc-menu button, .tg-platform .tg-uniform .sc-menu a{ min-height:44px; }
.tg-platform .tg-uniform .sc-sheet .sc-input{ scroll-margin-top:24px; }
.tg-platform .tg-uniform .sc-toprow{ flex-wrap:wrap; }
.tg-platform .tg-uniform .ob-btn{ border-radius:6px; }
.tg-platform .tg-uniform .ob-step-sub, .tg-platform .tg-uniform .ob-field em, .tg-platform .tg-uniform .ob-brand small{ font-size:.875rem; line-height:1.45; }
.tg-platform .tg-uniform .reg-item-type, .tg-platform .tg-uniform .reg-brand-name{ font-size:.75rem; letter-spacing:.04em; }
.tg-platform .tg-uniform .reg-sale-count, .tg-platform .tg-uniform .reg-result-count, .tg-platform .tg-uniform .reg-total-hint, .tg-platform .tg-uniform .reg-sale-line-name span, .tg-platform .tg-uniform .reg-device-popover p{ font-size:.8125rem; line-height:1.45; }
.tg-platform .tg-uniform .reg-sale-line-name strong, .tg-platform .tg-uniform .reg-barber-field label, .tg-platform .tg-uniform .reg-text-button, .tg-platform .tg-uniform .reg-device-details{ font-size:.875rem; }
.tg-platform .tg-uniform .reg-sale-line-name strong{ line-height:1.45; }
.tg-platform .tg-uniform .reg-item, .tg-platform .tg-uniform .reg-sale, .tg-platform .tg-uniform .reg-device-popover{ background:var(--tg-charcoal); border-color:var(--tg-line); border-radius:10px; }
.tg-platform .tg-uniform .reg-category, .tg-platform .tg-uniform .reg-barber-select, .tg-platform .tg-uniform .reg-pay-card, .tg-platform .tg-uniform .reg-pay-cash{ border-radius:6px; }
@media(max-width:600px) {.tg-platform .tg-uniform .tg-settings-groups{ gap:4px; }
.tg-platform .tg-uniform .tg-settings-groups .tg-tab{ padding:8px 10px; }
.tg-platform .tg-uniform .sc-sheet{ border-radius:12px 12px 0 0; max-height:90dvh; }
.tg-platform .tg-uniform .sc-toprow .sc-who{ flex:1; text-align:right; }}
.tg-platform .tg-uniform{
 --tg-line:#323238; --tg-line-soft:#29292f; --tg-text-2:#d1d1d7; --tg-text-3:#b2b2bd;
 background-color:#0b0b0e;
 background-image:radial-gradient(ellipse at 20% 0%,rgba(200,161,90,.045),transparent 55%);
}
.tg-platform .tg-uniform .tg-head{ background:rgba(11,11,14,.96); border-bottom:1px solid #29292f; }
.tg-platform .tg-uniform .tg-card, .tg-platform .tg-uniform .tg-module, .tg-platform .tg-uniform .tg-stat, .tg-platform .tg-uniform .sc-notebox, .tg-platform .tg-uniform .ob-card, .tg-platform .tg-uniform .reg-sale{
 background:linear-gradient(160deg,#1b1b20 0%,#141418 100%);
 box-shadow:0 1px 0 #ffffff05 inset,0 8px 24px #00000024;
 border-color:#34343d; border-radius:12px;
}
.tg-platform .tg-uniform .tg-side{ background:linear-gradient(180deg,#17171c,#111115); border-color:#34343d; box-shadow:0 8px 24px #0002; }
.tg-platform .tg-uniform .tg-card-accent{ border-top:2px solid var(--tg-gold); }
.tg-platform .tg-uniform .tg-card-head h2{ margin:0; }
.tg-platform .tg-uniform .tg-btn-primary{ background:linear-gradient(180deg,#e1bf7c,#c8a15a); box-shadow:0 1px 0 #ffffff30 inset,0 3px 8px #0002; font-weight:650; }
.tg-platform .tg-uniform .tg-btn-primary:hover{ background:linear-gradient(180deg,#eccd8c,#d7b26b); }
.tg-platform .tg-uniform .tg-btn:not(:disabled), .tg-platform .tg-uniform .tg-tabs button, .tg-platform .tg-uniform .tg-side-nav button, .tg-platform .tg-uniform .sc-b:not(:disabled), .tg-platform .tg-uniform .reg-item{ transition:background-color .15s,border-color .15s,box-shadow .15s; }
.tg-platform .tg-uniform .tg-btn:not(.tg-btn-primary):not(.tg-btn-danger):hover{ border-color:#777064; background-color:#25242a; }
.tg-platform .tg-uniform .tg-tabs button[aria-selected="true"], .tg-platform .tg-uniform .tg-settings-groups .is-active{
 background:var(--tg-gold-wash); border-color:var(--tg-gold); color:#efd397; box-shadow:0 1px 0 #c8a15a30 inset;
}
.tg-platform .tg-uniform .tg-input:focus, .tg-platform .tg-uniform .tg-select:focus, .tg-platform .tg-uniform .tg-textarea:focus, .tg-platform .tg-uniform .sc-input:focus, .tg-platform .tg-uniform .ob-input:focus{ border-color:var(--tg-gold); box-shadow:0 0 0 3px #c8a15a18; }
.tg-platform .tg-uniform .tg-table-wrap{ border-radius:10px; border:1px solid #34343d; }
.tg-platform .tg-uniform .tg-table th{ background:#202026; }
.tg-platform .tg-uniform .tg-table td{ border-color:#2c2c33; }
.tg-platform .tg-uniform .tg-stat{ padding:20px; }
.tg-platform .tg-uniform .tg-stat .v{ font-family:var(--tg-font); font-size:clamp(1.6rem,1.35rem + .7vw,2rem); letter-spacing:-.03em; margin:8px 0; }
.tg-platform .tg-uniform .tg-stat .k{ color:#cacad2; }
.tg-platform .tg-uniform .tg-acc{ border-radius:10px; overflow:hidden; border-color:#34343d; }
.tg-platform .tg-uniform .tg-dialog{ background:linear-gradient(150deg,#202026,#131317); border:1px solid #45454e; box-shadow:0 24px 80px #0009; }
.tg-platform .tg-uniform .tg-easy-tile{ background:linear-gradient(150deg,#202027,#17171b); border-color:#3a3a43; }
.tg-platform .tg-uniform .tg-easy-tile:hover{ background:#26252a; border-color:#a68b59; }
.tg-platform .tg-uniform .tg-shop-card{ padding:18px; }
.tg-platform .tg-uniform .tg-shop-media{ background:#f5f4f0; border-radius:9px; }
.tg-platform .tg-uniform .tg-shop-title{ font-size:1.05rem; line-height:1.4; }
.tg-platform .tg-uniform .tg-shop-desc, .tg-platform .tg-uniform .tg-shop-purpose, .tg-platform .tg-uniform .tg-shop-scent{ font-size:.875rem; color:#c1c1cb; line-height:1.55; }
.tg-platform .tg-uniform .tg-shop-origin{ font-size:.8125rem; line-height:1.5; color:#aeadb8; }
.tg-platform .tg-uniform .tg-shop-price{ font-size:1.2rem; font-variant-numeric:tabular-nums; color:#efdab0; }
.tg-platform .tg-uniform .tg-shop-foot .tg-btn{ width:100%; }
.tg-platform .tg-uniform .sc-item{ box-shadow:0 2px 8px #0002; }
.tg-platform .tg-uniform .sc-colhead{ background:#18181d; color:#d0d0d7; }
.tg-platform .tg-uniform .reg-item:hover{ background:#24232a; border-color:#aa905e; }
.tg-platform .tg-uniform .reg-sale-total{ font-variant-numeric:tabular-nums; }
.tg-platform .tg-uniform .ob-step-sub{ color:#c1c1cc; }
@media(prefers-reduced-motion:reduce) {.tg-platform .tg-uniform *, .tg-platform .tg-uniform *::before, .tg-platform .tg-uniform *::after{ transition:none!important; scroll-behavior:auto!important; }}
@media(max-width:600px) {.tg-platform .tg-uniform .tg-card, .tg-platform .tg-uniform .tg-portal-content .tg-card{ padding:18px; }
.tg-platform .tg-uniform .tg-shop-card{ padding:14px; }
.tg-platform .tg-uniform .tg-stat{ padding:16px; }}
.tg-platform .tg-uniform .tg-account-access{ width:100%; max-width:600px; margin:0 auto; }
.tg-platform .tg-uniform .tg-account-options{ padding:16px 20px; border-top:1px solid var(--tg-line); text-align:center; color:var(--tg-text-2); }
.tg-platform .tg-uniform .tg-account-options p{ margin:0; }
.tg-platform .tg-uniform .tg-account-options p + p{ margin-top:8px; }
.tg-platform .tg-uniform .tg-account-link{ display:inline-flex; align-items:center; min-height:44px; padding:4px 6px; background:none; border:0; color:var(--tg-gold-bright); font:inherit; font-weight:600; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.tg-platform .tg-uniform .tg-account-link:hover{ color:#ffe4ad; }
.tg-platform .tg-uniform .tg-account-access .tg-btn-primary{ width:100%; }
.tg-platform #app.tg-uniform{ color:var(--tg-text); font-family:var(--tg-font); }
.tg-platform #app.tg-uniform .tg-card, .tg-platform #app.tg-uniform .tg-module, .tg-platform #app.tg-uniform .tg-side, .tg-platform #app.tg-uniform .tg-btn, .tg-platform #app.tg-uniform .tg-input{ clip-path:none; }
.tg-platform #app.tg-uniform .tg-game--embedded .tg-game-header > h2{ display:none; }
.tg-platform #app.tg-uniform .tg-nav{ justify-content:flex-end; }
.tg-platform #app.tg-uniform .tg-portal-content > .tg-account-access .tg-card{ padding:24px; }
.tg-platform .tg-uniform .tg-table-wrap{ max-width:100%; overflow-x:auto; overscroll-behavior-x:contain; }
.tg-platform .tg-uniform .tg-table{ table-layout:auto; width:100%; min-width:640px; }
.tg-platform .tg-uniform .tg-table th{ white-space:nowrap; word-break:normal; overflow-wrap:normal; }
.tg-platform .tg-uniform .tg-table td{ word-break:normal; overflow-wrap:normal; }
.tg-platform .tg-uniform .tg-sort-button{ white-space:nowrap; }
.tg-platform .tg-uniform .tg-game-rule-panel{ padding:20px; border:1px solid var(--tg-line); border-radius:10px; background:#111115; }
.tg-platform .tg-uniform .tg-game-rule-panel[hidden]{ display:none!important; }
.tg-platform .tg-uniform .tg-game-rule-panel h3{ margin:0 0 20px; }
.tg-platform .tg-uniform .tg-game-rule-panel .tg-hint{ margin:8px 0 0; }
.tg-platform .tg-uniform .tg-game-advanced{ margin-top:18px; border-top:1px solid var(--tg-line); }
.tg-platform .tg-uniform .tg-game-advanced summary, .tg-platform .tg-uniform .tg-game-settings-section summary{ cursor:pointer; min-height:44px; padding:14px 0; font-size:1rem; font-weight:600; }
.tg-platform .tg-uniform .tg-game-settings-section{ padding:8px 24px; border:1px solid var(--tg-line); border-radius:12px; background:#17171c; }
.tg-platform .tg-uniform .tg-game-settings-section > .tg-stack{ padding:12px 0 20px; }
.tg-platform .tg-uniform #grow-add-sponsor[hidden]{ display:none!important; }
.tg-platform .tg-uniform .tg-game-sponsor-entry{ border-top:1px solid var(--tg-line); }
.tg-platform .tg-uniform .tg-game-sponsor-entry > summary{ padding:14px 0; }
.tg-platform .tg-uniform .tg-table .tg-pay-week{display:table-cell;min-width:105px;text-align:right;white-space:nowrap;background:transparent}
.tg-platform .tg-uniform .tg-donut{width:200px;height:200px}
.tg-platform .tg-uniform .tg-chart-key{min-height:32px;gap:10px}
.tg-platform .tg-uniform .tg-donut-seg.risk-on_track{stroke:#008300}
.tg-platform .tg-uniform .tg-chart-swatch.risk-on_track{background:#008300}
.tg-platform .tg-uniform .tg-donut-seg.risk-booked_ahead{stroke:#3987e5}
.tg-platform .tg-uniform .tg-chart-swatch.risk-booked_ahead{background:#3987e5}
.tg-platform .tg-uniform .tg-donut-seg.risk-approaching_due{stroke:#22d3ee}
.tg-platform .tg-uniform .tg-chart-swatch.risk-approaching_due{background:#22d3ee}
.tg-platform .tg-uniform .tg-donut-seg.risk-slightly_overdue{stroke:#c98500}
.tg-platform .tg-uniform .tg-chart-swatch.risk-slightly_overdue{background:#c98500}
.tg-platform .tg-uniform .tg-donut-seg.risk-significantly_overdue{stroke:#9085e9}
.tg-platform .tg-uniform .tg-chart-swatch.risk-significantly_overdue{background:#9085e9}
.tg-platform .tg-uniform .tg-donut-seg.risk-likely_lost{stroke:#e66767}
.tg-platform .tg-uniform .tg-chart-swatch.risk-likely_lost{background:#e66767}
.tg-platform .tg-uniform .tg-donut-seg.risk-unknown{stroke:#8a8a85}
.tg-platform .tg-uniform .tg-chart-swatch.risk-unknown{background:#8a8a85}
.tg-platform .tg-uniform .tg-onboarding-section{border:1px solid #34343b;border-radius:14px;background:#1b1b20;overflow:hidden}
.tg-platform .tg-uniform .tg-onboarding-section > summary{padding:18px 22px;cursor:pointer;font-size:17px;font-weight:650;min-height:52px}
.tg-platform .tg-uniform .tg-onboarding-section > .tg-card{margin:0;border:0;border-top:1px solid #34343b;border-radius:0}
.tg-platform .tg-uniform .tg-table{table-layout:auto!important;min-width:800px}
.tg-platform .tg-uniform .tg-table th{white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;min-width:75px}
.tg-platform .tg-uniform .tg-table td{word-break:normal!important;overflow-wrap:normal!important}
.tg-platform .tg-uniform .tg-table .tg-btn, .tg-platform .tg-uniform .tg-table .tg-badge{white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;min-width:max-content}
.tg-platform .tg-existing-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px}
.tg-platform .tg-existing-photo{border:1px solid #34343b;border-radius:12px;overflow:hidden;background:#222228}
.tg-platform .tg-existing-photo>img{width:100%;height:220px;object-fit:cover;display:block}
.tg-platform .tg-existing-photo>div{padding:14px}
.tg-platform.tg-uniform .sc-login{max-width:440px;margin:clamp(40px,12vh,120px) auto;padding:32px;background:linear-gradient(145deg,#222226,#18181b);border:1px solid #37373f;border-top:2px solid #d8b462;border-radius:16px;box-shadow:0 20px 60px #0004}
.tg-platform.tg-uniform .sc-login h1{font-size:30px;color:#f6f5f0;margin:12px 0}
.tg-platform.tg-uniform .sc-login-brand{font-size:11px;letter-spacing:2px;color:#d8b462;font-weight:700}
.tg-platform.tg-uniform .sc-login p{color:#b9c3d0;line-height:1.6}
.tg-platform.tg-uniform .sc-login .sc-sso a{display:block;text-align:center;background:#d8b462;color:#17140e;border:1px solid #d8b462;min-height:48px;border-radius:8px;padding:14px 18px;font-weight:700;margin-top:24px}
@media(max-width:500px){.tg-platform.tg-uniform .sc-login{margin:32px 16px;padding:24px}}
.tg-platform .tg-uniform #app h1, .tg-platform .tg-uniform #app h2, .tg-platform .tg-uniform #app h3, .tg-platform .tg-uniform #app h4{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;letter-spacing:-.025em;line-height:1.3}
.tg-platform .tg-uniform .tg-game-card{border-radius:12px!important;padding:20px!important;background:#19191d!important;border:1px solid #34343c!important}
.tg-platform .tg-uniform .tg-game-card h4{font-size:17px!important;font-weight:700!important;margin:12px 0 6px!important}
.tg-platform img{background:none}

/* TG_PLATFORM_SITE_V1 -- dresses the grow portal screens in the website's
   look when they render inside the site (/portal, /book, /shop, /game ...).
   platform.css is generated from grow by tools/build_platform.py and must not
   be hand edited, so this file loads after it and only restyles. grow itself,
   at grow.tgsbarber.com, is untouched.

   The site's language: its own black and brass tokens, square edges with a
   cut corner, hairline borders, gold corner ticks, condensed uppercase
   headings, tracked uppercase labels, and struck-gold primary buttons. */

.tg-platform {
  --tg-black: var(--bg);
  --tg-charcoal: var(--bg-raised);
  --tg-charcoal-2: var(--surface);
  --tg-charcoal-3: var(--surface-2);
  --tg-line: var(--line-strong);
  --tg-line-soft: var(--line);
  --tg-gold: var(--accent);
  --tg-gold-bright: var(--accent-bright);
  --tg-gold-dim: var(--accent-deep);
  --tg-gold-wash: var(--accent-wash);
  --tg-text: var(--text);
  --tg-text-2: var(--text-dim);
  --tg-text-3: var(--muted);
  --tg-r-sm: 2px;
  --tg-r: 2px;
  --tg-r-lg: 2px;
  --tg-font: var(--font-sans);
  --tg-mono: var(--font-mono);
  --tg-display: var(--font-display);
  --tg-cut: var(--cut-poly);
  --tg-cut-sm: polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 8px 100%, 0 calc(100% - 8px));
  background: transparent;
  padding-block: clamp(1.5rem, 4vw, 3rem);
}
.tg-platform::before { display: none; }

/* Headings: the site's condensed uppercase. */
.tg-platform h1, .tg-platform h2, .tg-platform h3, .tg-platform h4 {
  font-family: var(--font-display);
  text-transform: uppercase;
  letter-spacing: 0.01em;
  color: var(--text);
}

/* The portal's own masthead: the site header already brands the page, so the
   brand block goes and the tabs become the site's tracked jump bar. */
.tg-platform .tg-head {
  position: static;
  background: transparent;
  border-bottom: 1px solid var(--line);
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.tg-platform .tg-brand { display: none; }
.tg-platform .tg-head-in { min-height: 0; padding-block: 0.25rem; }
.tg-platform .tg-nav a,
.tg-platform .tg-nav button {
  font-family: var(--font-mono);
  font-size: 0.74rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--muted);
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.tg-platform .tg-nav a:hover, .tg-platform .tg-nav button:hover { color: var(--text); background: transparent; }
.tg-platform .tg-nav [aria-current="page"], .tg-platform .tg-nav .is-active {
  color: var(--accent-bright);
  background: transparent;
  border: 0;
  box-shadow: inset 0 -2px 0 var(--accent);
}

/* Sidebar: a plain notched panel, tracked labels, a gold bar on the current item. */
.tg-platform .tg-side {
  background: linear-gradient(180deg, var(--surface), var(--bg-raised));
  border: 1px solid var(--line-strong);
  border-radius: 0;
  clip-path: var(--tg-cut);
}
.tg-platform .tg-side h2 {
  font-family: var(--font-mono);
  font-size: 0.66rem;
  letter-spacing: 0.24em;
  color: var(--accent);
}
.tg-platform .tg-side-nav button,
.tg-platform .tg-side-nav a,
.tg-platform .tg-side-link {
  font-family: var(--font-mono);
  font-size: 0.76rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  border-radius: 0;
  border: 0;
  border-left: 2px solid transparent;
}
.tg-platform .tg-side-nav button.is-active,
.tg-platform .tg-side-nav a.is-active {
  background: var(--accent-wash);
  color: var(--accent-bright);
  border-left-color: var(--accent);
}

/* Cards: the site's notched mount with two gold corner ticks, no rounded
   corners and no coloured edge stripe. */
.tg-platform .tg-card,
.tg-platform .tg-module {
  position: relative;
  background: linear-gradient(180deg, var(--surface) 0%, var(--bg-raised) 100%);
  border: 1px solid var(--line-strong);
  border-radius: 0;
  box-shadow: none;
  clip-path: var(--tg-cut);
}
.tg-platform .tg-card::before, .tg-platform .tg-module::before,
.tg-platform .tg-card::after, .tg-platform .tg-module::after {
  content: '';
  position: absolute;
  width: var(--tick);
  height: var(--tick);
  border: 0;
  border-radius: 0;
  opacity: 1;
  pointer-events: none;
}
.tg-platform .tg-card::before, .tg-platform .tg-module::before {
  top: 0; left: 0; right: auto;
  border-top: 2px solid var(--accent);
  border-left: 2px solid var(--accent);
}
.tg-platform .tg-card::after, .tg-platform .tg-module::after {
  top: auto; bottom: 0; right: 0; left: auto;
  border-bottom: 2px solid var(--accent);
  border-right: 2px solid var(--accent);
}
.tg-platform .tg-module:hover { transform: none; border-color: var(--line-accent); }
.tg-platform .tg-module h3 { color: var(--text); font-size: 1.15rem; }

/* Buttons: tracked uppercase with the site's cut corner; primary is struck gold. */
.tg-platform .tg-btn {
  font-family: var(--font-mono);
  font-size: 0.74rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  border-radius: 0;
  background: transparent;
  border: 1px solid var(--line-strong);
  color: var(--text);
  box-shadow: none;
  clip-path: var(--tg-cut-sm);
}
.tg-platform .tg-btn:hover { border-color: var(--accent); color: var(--accent-bright); background: var(--accent-wash); transform: none; }
.tg-platform .tg-btn-primary {
  background: var(--leaf);
  background-size: 200% 100%;
  border-color: var(--accent-deep);
  color: var(--accent-ink);
}
.tg-platform .tg-btn-primary:hover { background: var(--leaf); background-size: 200% 100%; background-position: 100% 50%; color: var(--accent-ink); }

/* Status badges: square tracked tags like the site's, colour kept for meaning. */
.tg-platform .tg-badge {
  font-family: var(--font-mono);
  font-size: 0.64rem;
  letter-spacing: 0.12em;
  border-radius: 0;
}

.tg-platform .tg-foot { border-top-color: var(--line); }

/* TG_PLATFORM_SITE_MOBILE_V1 -- on phones and tablets the portal tabs are one
   swipeable row instead of wrapping into a stack four lines deep. */
@media (max-width: 64rem) {
  .tg-platform .tg-nav {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    gap: 0;
  }
  .tg-platform .tg-nav::-webkit-scrollbar { display: none; }
  .tg-platform .tg-nav a, .tg-platform .tg-nav button { flex: none; white-space: nowrap; }
}

/* TG_WEBSITE_PORTAL_PARITY_V1: host integration only; standalone GROW is unchanged. */
body.page-platform--portal .tg-platform { padding-block:16px 32px; }
body.page-platform--portal .tg-platform .tg-wrap { max-width:none; padding-inline:0; }
body.page-platform--portal .tg-platform .tg-head { border-bottom:0; }
body.page-platform--portal .tg-platform .tg-head-in { justify-content:flex-end; padding-block:0; min-height:44px; }
body.page-platform--portal .tg-platform .tg-nav { gap:4px; }
body.page-platform--portal .tg-platform .tg-nav a,
body.page-platform--portal .tg-platform .tg-nav button { color:#b4b4bd; }
body.page-platform--portal .tg-platform .tg-wrap-pad { padding-top:12px; padding-bottom:32px; }
body.page-platform--portal .tg-platform .tg-app { gap:24px; }
body.page-platform--portal .tg-platform .tg-side { padding:12px; background:linear-gradient(180deg,#19191d,#131316); }
body.page-platform--portal .tg-platform .tg-side h2 { font-size:.8rem; font-weight:600; line-height:1.4; margin:10px 8px 8px; color:#b4b4bd; text-transform:none; letter-spacing:0; }
body.page-platform--portal .tg-platform .tg-side h2:not(:first-child) { margin-top:20px; padding-top:16px; border-top:1px solid #32323b; }
body.page-platform--portal .tg-platform .tg-side-nav button { min-height:44px; font-size:.9rem; }
body.page-platform--portal .tg-platform .tg-side-nav button.is-active { border-left:2px solid var(--tg-gold); }
body.page-platform--portal .tg-platform .tg-portal-content { min-width:0; }
body.page-platform--portal .tg-platform .tg-portal-content .tg-card,
body.page-platform--portal .tg-platform .tg-portal-content .tg-module { padding:22px; background:linear-gradient(180deg,#1b1b1f,#151518); border-color:#34343d; }
body.page-platform--portal .tg-platform .tg-portal-content .tg-card-head { margin-bottom:14px; gap:12px; flex-wrap:wrap; }
body.page-platform--portal .tg-platform .tg-portal-content h2 { font-size:clamp(1.5rem,1.2rem + .65vw,1.9rem); line-height:1.2; }
body.page-platform--portal .tg-platform .tg-portal-content h3 { font-size:1.18rem; line-height:1.3; }
body.page-platform--portal .tg-platform .tg-portal-content p { line-height:1.55; color:#b4b4bd; }
body.page-platform--portal .tg-platform .tg-portal-content .tg-muted { color:#a3a3ae; }
body.page-platform--portal .tg-platform .tg-portal-content .tg-btn { min-height:44px; }
body.page-platform--portal .tg-platform .tg-welcome-points { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:20px 0; }
body.page-platform--portal .tg-platform .tg-welcome-point { min-width:0; padding:18px; border:1px solid #303036; background:#ffffff03; }
body.page-platform--portal .tg-platform .tg-welcome-point dt { font-size:.82rem; font-weight:600; color:#f2f2f4; }
body.page-platform--portal .tg-platform .tg-welcome-point dd { margin:10px 0 0; display:flex; flex-direction:column; gap:6px; }
body.page-platform--portal .tg-platform .tg-welcome-point strong { font-family:var(--tg-display); font-weight:700; color:var(--tg-gold-bright); font-size:2rem; line-height:1.15; }
body.page-platform--portal .tg-platform .tg-welcome-point dd span { color:#b4b4bd; font-size:.8rem; line-height:1.45; }
body.page-platform--portal .tg-platform .tg-welcome-point-goal { border-color:var(--tg-gold-dim); background:var(--tg-gold-wash); }
body.page-platform--portal .tg-platform .tg-ov-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
body.page-platform--portal .tg-platform .tg-ov-grid > .tg-module { display:flex; flex-direction:column; align-items:flex-start; margin:0; }
body.page-platform--portal .tg-platform .tg-ov-grid > .tg-module h3 { color:var(--tg-gold-bright); }
body.page-platform--portal .tg-platform .tg-ov-grid > .tg-module > p { flex:1; }
body.page-platform--portal .tg-platform .tg-ov-grid > .tg-module > .tg-btn:last-child { margin-top:14px; }
body.page-platform--portal .tg-platform .tg-account-stats { gap:12px; }
body.page-platform--portal .tg-platform .tg-account-stats .tg-stat { padding:16px; }
body.page-platform--portal .tg-platform .tg-account-stats .tg-stat:first-child { background:var(--tg-gold-wash); border-color:var(--tg-gold-dim); }
body.page-platform--portal .tg-platform .tg-account-stats .tg-stat .v { font-size:2rem; line-height:1.2; margin:8px 0; }
/* The host website already supplies its own copyright and footer. */
body.page-platform--portal .tg-platform .tg-foot { display:none; }
@media(max-width:1100px) and (min-width:901px) {
 body.page-platform--portal .tg-platform .tg-app { grid-template-columns:210px minmax(0,1fr); gap:20px; }
}
@media(max-width:600px) {
 body.page-platform--portal .tg-platform { padding-block:12px 24px; }
 body.page-platform--portal .tg-platform .tg-portal-content .tg-card,
 body.page-platform--portal .tg-platform .tg-portal-content .tg-module { padding:16px; }
 body.page-platform--portal .tg-platform .tg-account-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:560px) {
 body.page-platform--portal .tg-platform .tg-welcome-points,
 body.page-platform--portal .tg-platform .tg-ov-grid { grid-template-columns:1fr; }
 body.page-platform--portal .tg-platform .tg-welcome-point { display:grid; grid-template-columns:1fr 1.4fr; gap:12px; align-items:center; padding:14px; }
 body.page-platform--portal .tg-platform .tg-welcome-point dd { margin:0; }
}

body.page-platform--portal .tg-platform .tg-side h2:first-of-type {border-top:0;padding-top:0;margin-top:10px;}
.tg-platform .tg-token-guide {margin:24px 0 0;border:1px solid #34343d;border-radius:10px;background:#151518;color:#f2f2f4;}
.tg-platform .tg-token-guide>summary {min-height:48px;padding:16px 22px;cursor:pointer;font-weight:600;color:var(--tg-gold-bright);}
.tg-platform .tg-token-guide>div {padding:0 22px 18px;max-width:80ch;}
.tg-platform .tg-token-guide p,.tg-platform .tg-token-guide li {color:#b4b4bd;line-height:1.6;}
.tg-platform .tg-token-guide .tg-token-rate {font-size:1.2rem;color:#f2f2f4;}
.tg-platform .tg-token-guide ul {padding-left:20px;}
.tg-platform .tg-token-guide li+li {margin-top:8px;}

/* Customer portal: use 75 percent of wide desktop screens. */
@media(min-width:1280px){body.page-platform--portal .tg-platform__inner.shell{width:75vw;max-width:none;}}
@media(max-width:1279px){body.page-platform--portal .tg-platform__inner.shell{width:calc(100% - 32px);max-width:none;}}

/* Reserve the customer application's first screen before its scripts mount.
   The footer must not flash into view and jump away when account/game content arrives. */
.page-platform .tg-platform__inner {
  min-height: calc(100vh - 7.5rem);
  min-height: calc(100svh - 7.5rem);
}

/* Keep the reward guide below the fold while the game hub loads. */
.page-platform--game #tg-game-root{min-height:calc(100vh - 7.5rem);min-height:calc(100svh - 7.5rem)}
