/* Secondary surfaces share the tokens in visual-theme.css.
   Keep content opaque; only the existing material preview demonstrates glass. */

/* Tickets: a small colored header, with the document details on white. */
.ticket-grid{gap:20px}
.ticket-card{border-color:var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}
.ticket-header{padding:18px 24px;background:var(--accent-blue);color:var(--accent-blue-ink);gap:12px}
.ticket-header.lavender{background:var(--accent-lilac);color:var(--accent-lilac-ink)}
.ticket-header .row{gap:10px;min-width:0}
.ticket-header .row>.icon{width:36px;height:36px;padding:8px;background:var(--paper);border-radius:12px}
.ticket-header .pill.outline{color:inherit;border-color:currentColor;font-weight:600;white-space:nowrap}
.ticket-body{padding:24px;min-width:0}
.ticket-body h2{overflow-wrap:anywhere}
.ticket-meta{gap:24px;flex-wrap:wrap;border-color:var(--line);margin-top:20px;padding-top:16px}
.ticket-meta small{color:var(--muted);margin-bottom:3px}
.ticket-meta strong{color:var(--ink);font-variant-numeric:tabular-nums}
.ticket-footer{padding:0 24px 24px;flex-wrap:wrap}
.ticket-footer .download-status{min-width:0}
.ticket-footer .btn{margin-left:auto}
.download-status.ready{color:var(--brand)}
.ticket-explanation{padding:20px 24px;border-color:var(--line);border-radius:18px;background:var(--brand-soft);color:var(--muted);line-height:1.75}
.ticket-document{border-radius:18px;background:var(--canvas);border-color:var(--line);overflow-wrap:anywhere}
.ticket-document .eyebrow{color:var(--accent-blue-ink)}
.ticket-document .serial{color:var(--ink)}
.demo-stamp{max-width:100%;border-color:var(--brand);color:var(--brand);background:var(--brand-soft);border-radius:12px}

/* Packing and the More shelf use the same quiet card treatment. */
.shelf{min-width:0}
.shelf-row{padding:20px 24px;margin-bottom:12px;border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:var(--shadow-card);gap:16px}
.shelf-row>div{min-width:0;flex:1}
.shelf-row h3{color:var(--ink)}
.shelf-row p{line-height:1.7}
.shelf-row>.btn{flex-shrink:0;min-height:44px;white-space:normal;text-align:center}
.shelf-row:nth-child(1)>.secondary{background:var(--accent-blue);color:var(--accent-blue-ink);border-color:transparent}
.shelf-row:nth-child(3)>.secondary{background:var(--accent-lilac);color:var(--accent-lilac-ink);border-color:transparent}
.pack-check{gap:12px;min-height:68px;padding:12px 16px;margin-bottom:10px;border:1px solid var(--line);border-radius:16px;background:var(--paper);transition:background .15s,border-color .15s;box-shadow:var(--shadow-card)}
.pack-check .check-status{width:28px;height:28px;border-color:var(--muted);background:var(--paper)}
.pack-check .pack-name{min-width:0;font-weight:550;overflow-wrap:anywhere}
.pack-check small{flex-shrink:0;padding:4px 8px;border-radius:8px;background:var(--accent-blue);color:var(--accent-blue-ink);font-weight:500}
.pack-check:nth-of-type(even) small{background:var(--accent-sun);color:var(--accent-sun-ink)}
.pack-check[aria-pressed=true]{background:var(--brand-soft);border-color:var(--brand);box-shadow:none}
.pack-check[aria-pressed=true] .check-status{background:var(--brand);border-color:var(--brand);color:var(--paper)}
.pack-check[aria-pressed=true] .pack-name{color:var(--muted);text-decoration-thickness:1px}
.pack-check[aria-pressed=true] small{background:var(--paper);color:var(--muted)}
.prototype-tools{margin-top:24px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}
.prototype-tools summary{min-height:44px;padding:12px 16px;color:var(--muted);font-size:13px;cursor:pointer}
.prototype-tools .proto-actions{padding:0 16px 16px;gap:8px;flex-wrap:wrap}

/* Settings preserve the 44px switch target and the user's glass preference. */
.settings-heading{margin-bottom:28px}
.settings-palette{gap:7px}
.settings-palette i{background:var(--brand-soft);box-shadow:inset 0 0 0 1px var(--line)}
.settings-palette i:nth-child(2){background:var(--accent-sun)}
.settings-palette i:nth-child(3){background:var(--accent-peach)}
.settings-group{margin-bottom:24px}
.settings-group>h2{color:var(--muted);margin-bottom:10px}
.settings-card{border-radius:var(--radius-card);border-color:var(--line);box-shadow:var(--shadow-card)}
.settings-row{gap:24px}
.settings-setting-copy h3{color:var(--ink)}
.settings-switch::before{background:var(--brand-soft);border-color:var(--muted)}
.settings-switch[aria-checked=true]::before{background:var(--brand);border-color:var(--brand)}
.settings-switch-thumb{box-shadow:0 1px 4px #29485b26}
.settings-material-preview{border-radius:16px;background:var(--canvas);border-color:var(--line)}
.settings-preview-orb-green{background:var(--accent-blue)}
.settings-preview-orb-pink{background:var(--accent-sun)}
.settings-preview-bar{border-color:var(--line);border-radius:14px}
.settings-material-preview.is-glass .settings-preview-bar{box-shadow:inset 0 1px 1px var(--paper),0 3px 12px #29485b06}
.settings-preview-bar>span:nth-child(2){color:var(--accent-lilac-ink)}
.settings-preview-bar>span:nth-child(3){color:var(--accent-sun-ink)}
.settings-storage-note{line-height:1.75}

/* Dialogs and forms: consistent controls, clear sections, no extra texture. */
dialog{border-color:var(--line);border-radius:var(--radius-card);background:var(--paper);box-shadow:0 18px 64px #29485b29}
dialog::backdrop{background:#29485b4d}
dialog .dialog-header{padding:20px 24px 12px;gap:12px}
dialog .dialog-header h2{min-width:0;overflow-wrap:anywhere;line-height:1.45}
dialog .dialog-header>.iconbtn{background:var(--canvas);border:1px solid var(--line);color:var(--muted)}
dialog .dialog-content{padding:8px 24px 24px;min-width:0}
.dialog-label{gap:8px;flex-wrap:wrap}
.form-field{min-width:0;color:var(--ink)}
.form-field input,.form-field select{min-width:0;max-width:100%;height:auto;min-height:48px;border-color:var(--line);border-radius:var(--radius-control);background:var(--paper);color:var(--ink);box-shadow:0 1px 2px #29485b04}
.form-field input::placeholder{color:var(--muted);opacity:1}
.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.form-actions{gap:8px;flex-wrap:wrap;margin-top:24px}
.form-actions .btn{white-space:normal}
.proposal{padding:16px 18px;border-color:var(--line);border-radius:16px;background:var(--canvas)}
.error-text,.place-picker-form-error{color:var(--danger)}
.project-list button{border-radius:16px;border-color:var(--line);background:var(--canvas);min-width:0}
.project-list button>div,.project-list button>span{min-width:0;overflow-wrap:anywhere}

/* The provider's attribution typography is intentionally left unchanged. */
.place-picker-dialog{color:var(--ink);background:var(--paper)}
.place-picker{--picker-ink:var(--ink);--picker-muted:var(--muted);--picker-line:var(--line);--picker-soft:var(--brand-soft);--picker-accent:var(--brand)}
.place-picker-context{margin-bottom:20px;line-height:1.65}
.place-picker-modes{border-color:var(--line);background:var(--canvas);border-radius:16px;padding:4px;gap:4px}
.place-picker-modes button{border-radius:var(--radius-control);line-height:1.5}
.place-picker-modes button[aria-pressed=true]{background:var(--accent-blue);color:var(--accent-blue-ink);box-shadow:none}
.place-picker input,.place-picker textarea{border-color:var(--line);border-radius:var(--radius-control);background:var(--paper);box-shadow:0 1px 2px #29485b04}
.place-picker input::placeholder,.place-picker textarea::placeholder{color:var(--muted)}
.place-picker-search-button{border-radius:var(--radius-control);background:var(--accent-blue);color:var(--accent-blue-ink)}
.place-picker-result{border-color:var(--line);border-radius:16px;padding:14px;gap:12px;box-shadow:0 2px 8px #29485b06}
.place-picker-result-number{background:var(--accent-blue);color:var(--accent-blue-ink)}
.place-picker-provider-credits a{color:var(--muted)}
.place-picker-result[aria-pressed=true]{border-color:var(--brand);background:var(--brand-soft);box-shadow:none}
.place-picker-result[aria-pressed=true] .place-picker-result-number{background:var(--brand);color:var(--paper)}
.place-picker-notice,.place-picker-manual-note{padding:12px 16px;border-radius:14px;background:var(--accent-rose);color:var(--accent-rose-ink)}
.place-picker-selected{padding:16px;border-color:var(--line);border-radius:18px;background:var(--brand-soft)}
.place-picker-selected-badge{border-radius:8px;background:var(--paper);color:var(--brand);font-weight:600}
.place-picker-fields{gap:16px;margin-top:24px;padding-top:20px;border-color:var(--line)}
.place-picker-actions{gap:8px;margin-top:24px;flex-wrap:wrap}
.place-picker-actions button{border-radius:var(--radius-control);min-height:44px}
.place-picker-actions .place-picker-save{background:var(--brand);border-color:var(--brand);color:var(--paper)}
.place-picker-form-error{line-height:1.65}

/* FX remains an opaque reading surface above the existing floating icons. */
.nt-tools{--nt-ink:var(--ink);--nt-muted:var(--muted);--nt-line:var(--line)}
.nt-panel{border-color:var(--line);border-radius:var(--radius-card);background:var(--paper);box-shadow:0 12px 40px #29485b24;padding:20px}
.nt-eyebrow{color:var(--accent-blue-ink);letter-spacing:.05em}
.nt-close{background:var(--canvas);border:1px solid var(--line)}
.nt-amount{border-color:var(--line);border-radius:var(--radius-control);color:var(--ink);padding:10px 14px}
.nt-currency-row{gap:8px}
.nt-currency-row .nt-label{min-width:0}
.nt-currency-row select{min-width:0;border-color:var(--line);border-radius:var(--radius-control);color:var(--ink);background:var(--paper)}
.nt-swap{background:var(--brand-soft);color:var(--brand)!important}
.nt-result{padding:16px;border-radius:18px;background:var(--accent-blue)}
.nt-result output{color:var(--accent-blue-ink)}
.nt-result small,.nt-result>span{color:var(--accent-blue-ink)}
.nt-rate-status{color:var(--brand)}
.nt-rate-status[data-state=offline],.nt-rate-status[data-state=error],.nt-input-error{color:var(--accent-peach-ink)}
.nt-rate-footer{gap:12px;flex-wrap:wrap}
.nt-rate-footer a{color:var(--muted)}
.nt-rate-footer button{border-color:var(--line);border-radius:var(--radius-control);background:var(--brand-soft);color:var(--brand);min-height:44px}
.nt-rate-note{color:var(--muted)}

/* Interaction color never replaces selected, disabled, or focus semantics. */
@media(hover:hover){
  .pack-check:hover:not(:disabled):not([aria-pressed=true]){background:var(--canvas);border-color:var(--muted)}
  .place-picker-result:hover:not(:disabled):not([aria-pressed=true]),.project-list button:hover:not(:disabled){border-color:var(--muted);background:var(--canvas)}
  .place-picker-search-button:hover:not(:disabled),.nt-rate-footer button:hover:not(:disabled){box-shadow:0 2px 8px #29485b14}
}
.place-picker button:focus-visible,.place-picker a:focus-visible,.place-picker input:focus-visible,.place-picker textarea:focus-visible,.settings-switch:focus-visible,.nt-panel button:focus-visible,.nt-panel input:focus-visible,.nt-panel select:focus-visible,.nt-panel a:focus-visible,.prototype-tools summary:focus-visible{outline:3px solid var(--brand-strong);outline-offset:3px}
.easy .pack-check .pack-name{font-size:18px}
.easy .pack-check small{font-size:14px}
.easy .shelf-row p{font-size:15px}
.easy .shelf-row>.btn{font-size:16px}

@media(max-width:720px){
  .ticket-header{padding:16px 20px}
  .ticket-body{padding:20px}
  .ticket-footer{padding:0 20px 20px}
  .ticket-explanation{padding:16px 20px}
  .shelf-row{padding:18px 20px;gap:14px}
  .shelf-row>div{flex-basis:100%}
  .shelf-row>.btn{margin-left:auto}
  .settings-row{gap:16px}
  dialog .dialog-header{padding:16px 20px 10px}
  dialog .dialog-content{padding:8px 20px 24px}
  .form-row{grid-template-columns:minmax(0,1fr)}
  .nt-panel{padding:18px}
}
@media(max-width:360px){
  .ticket-header,.ticket-body,.shelf-row{padding:16px}
  .ticket-header .row{gap:8px}
  .ticket-footer{padding:0 16px 16px}
  .ticket-meta{gap:16px}
  .pack-check{padding:12px;gap:10px}
  .pack-check small{padding:3px 6px}
  .settings-row{gap:12px}
  .nt-panel{padding:16px}
  .nt-currency-row{gap:4px}
}
@media(prefers-reduced-motion:reduce){
  .pack-check{transition:none}
}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){
  dialog::backdrop{background:#29485b80;backdrop-filter:none;-webkit-backdrop-filter:none}
  .settings-material-preview.is-glass .settings-preview-bar{background:var(--paper);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}
}
.file-preview-alert{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 16px;background:#eef7fb;border:1px solid #cfe5ef;color:#315d77}
.file-preview-alert>div{display:flex;align-items:flex-start;gap:10px;min-width:0}
.file-preview-alert>div .icon{flex:none;color:#4385a5}
.file-preview-alert strong,.file-preview-alert small{display:block;line-height:1.55}
.file-preview-alert strong{font-size:14px}
.file-preview-alert small{font-size:11px;color:#637e8c}
.file-preview-alert>.btn{white-space:nowrap;min-height:38px;font-size:12px}
.file-preview-alert>small{grid-column:1/-1;padding-left:28px}
.file-map-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:290px;padding:26px;text-align:center;border:1px dashed #b8d6e3;border-radius:17px;background:#f1f9fc;color:#315d77}
.file-map-panel>.icon{width:30px;height:30px;margin-bottom:12px;color:#4385a5}
.file-map-panel strong{font-size:15px;line-height:1.55}
.file-map-panel p{max-width:300px;margin-top:6px;color:#668392;font-size:12px;line-height:1.65}
@media(max-width:720px){.file-preview-alert{grid-template-columns:1fr}.file-preview-alert>.btn{width:100%;justify-content:center}.file-preview-alert>small{padding-left:0}.file-map-panel{min-height:220px}}
