/* HobbyOffer professional consistency layer.
   Loaded last so legacy feature styles keep their behavior while sharing one visual system. */
:root{
  --ho-bg:#070708;
  --ho-surface:#101012;
  --ho-surface-raised:#161619;
  --ho-surface-soft:#1b1b1f;
  --ho-line:#2a2a2f;
  --ho-line-strong:#3a3a40;
  --ho-text:#f7f7f8;
  --ho-muted:#a2a2aa;
  --ho-subtle:#73737d;
  --ho-red:#f32645;
  --ho-red-hover:#ff3f5a;
  --ho-red-soft:rgba(243,38,69,.12);
  --ho-focus:rgba(243,38,69,.24);
  --ho-radius-sm:9px;
  --ho-radius:13px;
  --ho-radius-lg:18px;
  --ho-shadow:0 18px 54px rgba(0,0,0,.28);
}

html{background:var(--ho-bg)}
body{background:var(--ho-bg);color:var(--ho-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}
body:before{opacity:.5}
button,input,select,textarea{font:inherit}
button,a,[role="button"],summary,label[for]{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--ho-red-hover)!important;outline-offset:2px}

/* Shell and page rhythm */
.site-header{height:70px;gap:22px;border-color:#232326;background:rgba(7,7,8,.94);box-shadow:0 1px 0 rgba(255,255,255,.02);backdrop-filter:blur(20px)}
.brand{font-size:18px;letter-spacing:-.025em}
.brand-mark{border-color:#3b3b40;background:#111114;box-shadow:0 8px 24px rgba(0,0,0,.32)}
.site-header nav{gap:24px}.site-header nav a,.account-link{color:#a7a7ae;font-size:13px;font-weight:700}.site-header nav a:hover,.account-link:hover{color:#fff}
main{border-color:#171719}
.app-view,.app-screen,.dashboard-section,.collection-section,.seller-section,.watchlist-section,.pricing-section{scroll-margin-top:88px}

/* Type hierarchy */
.eyebrow,.section-kicker,.panel-kicker,.output-label,.form-head,.stat-label{letter-spacing:.12em}
.section-heading h2{letter-spacing:-.025em}
p,small,.muted{color:var(--ho-muted)}

/* Unified controls */
.button,.finder-button,.calc-button,.legal-request-form button,.vendor-primary,.primary-action,
button[type="submit"]{min-height:46px;border-radius:var(--ho-radius-sm);font-weight:800;box-shadow:none;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}
.button:hover,.finder-button:hover,.calc-button:hover,.legal-request-form button:hover,.vendor-primary:hover,.primary-action:hover,button[type="submit"]:hover{transform:translateY(-1px)}
.button:active,.finder-button:active,.calc-button:active,.vendor-primary:active,.primary-action:active{transform:none}
.button-small{min-height:40px;padding:9px 13px}
button:disabled,.button:disabled,[aria-disabled="true"]{cursor:not-allowed!important;opacity:.48!important;transform:none!important}

input:not([type="checkbox"]):not([type="radio"]),select,textarea{
  min-height:46px;border:1px solid var(--ho-line-strong);border-radius:var(--ho-radius-sm);background:#0c0c0e;color:var(--ho-text);padding:11px 13px;box-shadow:none
}
textarea{min-height:96px;resize:vertical}
/* Reserve room for the currency prefix after the shared input padding rule. */
.money-field input:not([type="checkbox"]):not([type="radio"]){padding-left:3.25rem}
input::placeholder,textarea::placeholder{color:#64646d}
input:not([type="checkbox"]):not([type="radio"]):focus,select:focus,textarea:focus{border-color:var(--ho-red);box-shadow:0 0 0 3px var(--ho-focus);outline:0}
label{color:#aaaab2;font-size:12px;letter-spacing:.08em}

/* Segmented controls and tabs */
.tool-tabs,.app-tabs,.sub-tabs,.mode-tabs,.vendor-tabs,.collection-tabs,.account-tabs{
  gap:4px;padding:4px;border:1px solid var(--ho-line);border-radius:11px;background:#0b0b0d;box-shadow:inset 0 1px 0 rgba(255,255,255,.02)
}
.tool-tab,.app-tab,.sub-tab,.mode-tab,.vendor-tab,.collection-tab,.account-tab{
  min-height:40px;border:0!important;border-radius:8px!important;background:transparent!important;color:#85858e!important;font-size:12px!important;font-weight:800!important;letter-spacing:.04em!important;text-transform:none!important
}
.tool-tab.active,.app-tab.active,.sub-tab.active,.mode-tab.active,.vendor-tab.active,.collection-tab.active,.account-tab.active,
[role="tab"][aria-selected="true"]{background:var(--ho-surface-soft)!important;color:#fff!important;box-shadow:inset 0 -2px 0 var(--ho-red)!important}

/* Cards and grouped surfaces */
.calculator-shell,.pricing-shell,.seller-shell,.account-shell,.vendor-shell,.admin-shell{
  border-color:var(--ho-line);border-radius:var(--ho-radius-lg);background:var(--ho-surface);box-shadow:var(--ho-shadow)
}
.result-grid article,.seller-stats article,.listing-card,.collection-item,.watch-item,.scan-history-item,
.collection-market-tools,.collection-movers>div,.movers-panel,.watch-alerts,.price-history-detail,
.sealed-price-card,.founder-card,.admin-card,.vendor-card,.transaction-card{
  border-color:var(--ho-line);border-radius:var(--ho-radius);background:var(--ho-surface);box-shadow:0 1px 0 rgba(255,255,255,.015)
}
.result-grid article:hover,.listing-card:hover,.collection-item:hover,.scan-history-item:hover{border-color:#3a3a40}
.result-grid .featured-result,.graded-price-block{border-color:rgba(243,38,69,.42);background:linear-gradient(145deg,rgba(243,38,69,.11),#111114)}

/* Upload and scan surfaces */
.scan-drop,.batch-drop-zone,.photo-picker,.scan-upload,.upload-zone{
  border:1px dashed #4a4a51!important;border-radius:var(--ho-radius)!important;background:#0b0b0d!important;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease
}
.scan-drop:hover,.batch-drop-zone:hover,.photo-picker:hover,.scan-upload:hover,.upload-zone:hover{
  border-color:var(--ho-red)!important;background:var(--ho-red-soft)!important;box-shadow:0 0 0 3px rgba(243,38,69,.07)
}
.scan-drop span,.batch-drop-zone strong,.photo-picker span,.scan-upload strong,.upload-zone strong{font-size:14px!important;color:#f0f0f2!important;font-weight:800!important}
.scan-drop small,.batch-drop-zone small,.photo-picker small,.scan-upload small,.upload-zone small{font-size:12px!important;color:var(--ho-subtle)!important;line-height:1.45}
.scan-intro{padding:4px 4px 14px}.scan-intro h3{font-size:18px;margin-bottom:5px}.scan-intro p{font-size:13px;color:var(--ho-muted)}
.scan-status{font-size:13px;line-height:1.45;color:var(--ho-muted)}
#scan-preview,.photo-preview,#scan-back-preview{border-color:var(--ho-line);border-radius:var(--ho-radius);background:#080809}

/* Results and long names */
.collection-item-copy,.listing-copy,.scan-history-copy,.result-copy{min-width:0}
.collection-item-copy strong,.listing-card strong,.scan-history-copy strong,.item-name,.result-name{
  display:block;min-width:0;max-width:100%;overflow:visible;white-space:normal;overflow-wrap:anywhere;word-break:normal;line-height:1.35
}
.collection-item-copy strong,.listing-card strong{font-size:14px}
.collection-item-value,.listing-numbers b,.result-price{font-variant-numeric:tabular-nums}
.printing-check,.grade-check,.condition-report,.grading-report{border-radius:var(--ho-radius);box-shadow:none}
.sports-verification{letter-spacing:.05em}

/* Secondary and destructive actions */
.photo-secondary,.refresh-watchlist,.history-periods button,.scan-history-actions button,.listing-actions button,
.status-collection-item,.edit-collection-item,.collection-target-button,.editor-actions>button:first-child,
.sealed-price-card button,.collection-market-actions button,.inventory-tools button{
  min-height:40px;border:1px solid var(--ho-line-strong);border-radius:var(--ho-radius-sm);background:#151518;color:#d2d2d7;padding:9px 12px;font-size:12px;font-weight:750;line-height:1.2;box-shadow:none
}
.photo-secondary:hover,.refresh-watchlist:hover,.history-periods button:hover,.scan-history-actions button:hover,.listing-actions button:hover,
.status-collection-item:hover,.edit-collection-item:hover,.collection-target-button:hover,.editor-actions>button:first-child:hover,
.sealed-price-card button:hover,.collection-market-actions button:hover,.inventory-tools button:hover{border-color:#5a5a62;background:#1c1c20;color:#fff}
.danger,.destructive,[data-danger="true"]{border-color:rgba(243,38,69,.52)!important;background:transparent!important;color:#ff7184!important}

/* Dialogs and overlays */
dialog,.collection-editor,.photo-viewer,.account-dialog,.vendor-dialog{
  border-color:var(--ho-line-strong)!important;border-radius:var(--ho-radius-lg)!important;background:#111114!important;color:var(--ho-text)!important;box-shadow:0 30px 100px rgba(0,0,0,.72)!important
}
dialog::backdrop,.collection-editor::backdrop,.photo-viewer::backdrop{background:rgba(0,0,0,.78)!important;backdrop-filter:blur(6px)}
.editor-head,.dialog-head,.modal-head{border-color:var(--ho-line)!important}
.editor-head button,.dialog-close,.modal-close{display:grid;place-items:center;width:40px!important;height:40px!important;min-height:40px!important;border:1px solid var(--ho-line-strong)!important;border-radius:50%!important;background:#18181b!important;color:#fff!important;padding:0!important}

/* Data clarity */
.scan-allowance{border-color:var(--ho-line);border-radius:var(--ho-radius-sm);background:#121214;color:var(--ho-muted);font-size:12px}
.price-dashboard{gap:9px}.price-dashboard div{border-color:var(--ho-line);border-radius:10px;background:#131316;padding:12px}
.price-dashboard span{font-size:10px}.price-dashboard strong{font-size:17px}.price-dashboard small{font-size:10px}
.status-sold,.positive,.verified,.condition-report.verified{color:#91eab1}
.status-listed,.negative,.low-confidence{color:#ff7e8f}

/* Bottom app navigation */
.mobile-app-nav,.bottom-nav,.app-bottom-nav{
  border-top:1px solid #2a2a2e!important;background:rgba(10,10,12,.96)!important;backdrop-filter:blur(18px);box-shadow:0 -10px 35px rgba(0,0,0,.32)
}
.mobile-app-nav button,.mobile-app-nav a,.bottom-nav button,.bottom-nav a,.app-bottom-nav button,.app-bottom-nav a{min-height:54px;color:#8b8b94}
.mobile-app-nav .active,.bottom-nav .active,.app-bottom-nav .active{color:#fff}

/* Reduce accidental internal scrolling */
.item-name,.collection-item-copy strong,.listing-card strong,.transaction-card strong{scrollbar-width:none;overscroll-behavior:contain}
.item-name::-webkit-scrollbar,.collection-item-copy strong::-webkit-scrollbar,.listing-card strong::-webkit-scrollbar,.transaction-card strong::-webkit-scrollbar{display:none}

@media(max-width:760px){
  .site-header{height:62px;padding:0 16px}.brand{font-size:16px}.brand-mark{width:30px;height:30px}
  main{width:100%;border-left:0;border-right:0}
  .calculator-section,.pricing-section,.seller-section,.collection-section,.watchlist-section,.dashboard-section{padding-left:16px!important;padding-right:16px!important}
  .calculator-shell,.pricing-shell,.seller-shell,.account-shell,.vendor-shell,.admin-shell{border-radius:15px}
  .calc-form,.calc-output,.finder-panel,.seller-form,.seller-list-panel{padding:20px 16px!important}
  .section-heading{margin-bottom:28px}.section-heading h2{font-size:clamp(36px,12vw,54px)}
  .tool-tabs,.app-tabs,.sub-tabs,.mode-tabs,.vendor-tabs,.collection-tabs,.account-tabs{width:100%}
  .tool-tab,.app-tab,.sub-tab,.mode-tab,.vendor-tab,.collection-tab,.account-tab{min-height:42px;padding:9px 8px!important}
  .scan-drop,.batch-drop-zone,.photo-picker,.scan-upload,.upload-zone{min-height:132px!important;padding:20px 14px!important}
  .field-pair,.listing-money-grid,.editor-grid,.result-grid,.price-dashboard,.condition-report dl,.grading-report dl{grid-template-columns:1fr!important}
  .inventory-tools,.inventory-filters,.collection-market-actions,.scan-history-actions,.listing-actions{gap:8px}
  .inventory-tools button,.inventory-tools select,.inventory-filters select,.collection-market-actions button,.scan-history-actions button,.listing-actions button{min-height:44px;flex:1 1 120px}
  .collection-item,.listing-card,.scan-history-item{padding:13px!important;gap:11px!important}
  .scan-history-item{grid-template-columns:54px minmax(0,1fr)!important;align-items:start!important}
  .scan-history-item .scan-history-art{grid-column:1;grid-row:1;width:54px;height:72px}
  .scan-history-item .scan-history-copy{grid-column:2;grid-row:1;width:100%;max-width:none}
  .scan-history-item .scan-history-actions{grid-column:1/-1!important;grid-row:2;width:100%;margin-top:2px}
  .scan-history-copy span,.scan-history-copy small{overflow-wrap:break-word;word-break:normal}
  .collection-item-actions,.scan-history-actions,.listing-actions{justify-content:stretch!important}
  .collection-item-actions button,.scan-history-actions button,.listing-actions button{min-height:42px}
  dialog,.collection-editor,.account-dialog,.vendor-dialog{width:calc(100vw - 20px)!important;max-height:calc(100dvh - 20px)!important;margin:auto!important;border-radius:15px!important}
  .collection-editor form{padding:18px 16px!important}
  .editor-actions{flex-direction:column-reverse}.editor-actions button{width:100%}
  .collection-market-tools,.watch-alerts{padding:15px}
  .item-photo{border-radius:9px}
}

/* Keep modal scrolling contained on phones and prevent nested visible scrollbars. */
body:has(dialog[open]){overflow:hidden;overscroll-behavior:none}
dialog[open]{overscroll-behavior:contain}
.account-dialog,.onboarding-dialog,.collection-editor{overflow:hidden}
.account-dialog>.account-shell,.onboarding-dialog>.onboarding-shell,.collection-editor>form{box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}
.account-dialog>.account-shell{max-height:min(88dvh,720px)}
.onboarding-dialog>.onboarding-shell{max-height:calc(100dvh - 20px)}
.collection-editor>form{max-height:min(90dvh,calc(100dvh - 20px))}
.account-dialog>.account-shell::-webkit-scrollbar,.onboarding-dialog>.onboarding-shell::-webkit-scrollbar,.collection-editor>form::-webkit-scrollbar,.vendor-help-dialog::-webkit-scrollbar,.vendor-receipt-dialog::-webkit-scrollbar,.vendor-customer-dialog::-webkit-scrollbar,.card-show-quick-dialog::-webkit-scrollbar{display:none;width:0;height:0}
.vendor-help-dialog,.vendor-receipt-dialog,.vendor-customer-dialog,.card-show-quick-dialog{overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none}
.collection-editor .editor-head{position:sticky;top:-18px;z-index:3;padding-top:18px;background:#111}
.collection-editor .editor-actions{position:sticky;bottom:-18px;z-index:3;padding:14px 0 18px;background:linear-gradient(rgba(17,17,17,.92),#111 35%)}
@media(max-width:760px){.account-dialog>.account-shell,.onboarding-dialog>.onboarding-shell,.collection-editor>form{max-height:calc(100dvh - 20px)}.collection-editor .editor-head{top:-16px;padding-top:16px}.collection-editor .editor-actions{bottom:-16px;padding-bottom:16px}}

@media(max-width:390px){
  .site-header{padding-inline:13px}.brand{gap:8px}
  .calculator-section,.pricing-section,.seller-section,.collection-section,.watchlist-section,.dashboard-section{padding-left:13px!important;padding-right:13px!important}
  .tool-tab,.app-tab,.sub-tab,.mode-tab,.vendor-tab,.collection-tab,.account-tab{font-size:11px!important}
}

@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
/* Scan-history actions stay within the card instead of opening a full-screen sheet. */
.scan-history-item .item-actions-menu.scan-history-actions>div{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;min-width:0;max-height:none;margin-top:8px;padding:9px;border:1px solid #343434;border-radius:12px;background:#191919;box-shadow:none;overflow:visible}
.scan-history-item .item-actions-menu.scan-history-actions>div button{min-height:44px;padding:8px 10px;border:1px solid #383838!important;border-radius:8px!important;background:#242424!important;color:#f1f1f1!important;font-size:13px;line-height:1.25;text-align:center;white-space:normal}
.scan-history-item .item-actions-menu.scan-history-actions>div button[data-scan-action="reprice"]{grid-column:1/-1}
.scan-history-item .item-actions-menu.scan-history-actions>div button.scan-history-close{position:static;grid-column:1/-1;min-height:38px;border-color:#71343d!important;background:#32191f!important;color:#ffa5af!important}
.scan-history-item .item-actions-menu.scan-history-actions>div button[data-scan-action="delete"]{color:#ff8994!important}
