/* Shared appearance for the browser-local tools. Storage and workflow semantics stay with each tool. */
.standalone-app {
  --white: var(--theme-surface); --gray-50: var(--theme-surface-strong);
  --ink: var(--theme-text); --navy: var(--theme-text); --gray-600: var(--theme-muted);
  --gray-100: var(--theme-border); --gray-300: var(--theme-border);
  background: var(--theme-canvas); color: var(--theme-text); min-height: 100dvh;
  font: 1rem/1.45 var(--ds-font-family);
}
html[data-theme="dark"] .standalone-app { --red: #ff8591; --orange: #ffb36a; --green: #87c78e; }
.standalone-app :is(.import-shell,.upload-admin-shell,.setup-shell,.placement-shell) { width: min(1200px,100%); padding: 12px 16px 24px; }
.standalone-app .tool-header { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 16px; padding-bottom: 12px; border-bottom: 1px solid var(--theme-border); }
.standalone-app .tool-home { min-height: 44px; display: inline-flex; align-items: center; flex: none; }
.standalone-app .tool-home img { width: 112px; height: auto; max-height: 44px; }
.standalone-app .tool-header h1 { flex: 1; font: 750 clamp(1.2rem,3vw,1.5rem)/1.25 var(--ds-font-family); letter-spacing: -.025em; margin: 0; }
.standalone-app .tool-actions { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; }
.standalone-app .tool-actions a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 10px; color: var(--theme-text); font-size: .875rem; font-weight: 550; border: 1px solid var(--theme-border); border-radius: 9px; text-decoration: none; }
.standalone-app :is(h2,h3) { color: var(--theme-text); font-family: var(--ds-font-family); }
.standalone-app h2 { font-size: 1.15rem; }
.standalone-app :is(input,select,textarea) { background: var(--theme-surface); color: var(--theme-text); border-color: var(--theme-border); font: inherit; min-width: 0; }
.standalone-app :is(button,select,input:not([type="checkbox"]):not([type="file"]):not([type="hidden"])) { min-height: 44px; }
.standalone-app button { min-width:44px; font: inherit; font-size: .875rem; border-radius: 8px; }
.standalone-app :is(.dialog-button.primary,.primary-upload,.save-profile,.add-person button,.setup-tab.active,.upload-tab.active,.live-tab.active) { background: var(--theme-text); border-color: var(--theme-text); color: var(--theme-canvas); }
.standalone-app :is(.local-banner,.local-note) { margin: 10px 0; padding: 8px 10px; border: 0; border-radius: 8px; background: var(--theme-surface-strong); color: var(--theme-muted); font-size: .85rem; flex-wrap: wrap; gap: 3px 12px; }
.standalone-app .local-banner strong,.standalone-app .local-note strong { color: var(--theme-text); font-weight: 600; }
.standalone-app summary { min-height: 44px; padding: 10px 0; color: var(--theme-text); font-size: .875rem; font-weight: 600; cursor: pointer; }
.standalone-app .tool-disclosure { border-block: 1px solid var(--theme-border); margin-block: 8px; }
.standalone-app .tool-disclosure .add-person { margin-top: 0; }
.standalone-app .import-intro { display: block; padding: 0; margin-block: 6px 10px; }
.standalone-app .import-intro p { font-size: .9rem; }
.standalone-app .import-step { padding: 14px; border-radius: 10px; background: var(--theme-surface); }
.standalone-app .step-heading { margin-bottom: 12px; gap: 8px; }
.standalone-app .step-heading>span { width: 30px; height: 30px; border-radius: 50%; background: var(--theme-surface-strong); color: var(--theme-muted); font-size: .875rem; }
.standalone-app .step-heading .eyebrow { display: none; }
.standalone-app .upload-zone { min-height: 112px; padding: 16px 12px; border: 1px dashed var(--theme-border); border-radius: 8px; color: var(--theme-text); }
.standalone-app .upload-zone strong,.standalone-app .file-drop strong { font-size: 1rem; }
.standalone-app .upload-zone input { max-width: 100%; }
.standalone-app .upload-kind-picker { padding: 14px; border: 1px solid var(--theme-border); border-radius: 10px; background: var(--theme-surface); }
.standalone-app .upload-kind-picker label { text-transform: none; letter-spacing: 0; font-size: .9rem; font-weight: 600; color: var(--theme-text); }
.standalone-app .upload-kind-picker select { min-height: 44px; font-size: 1rem; font-weight: 550; border: 1px solid var(--theme-border); border-radius: 8px; }
.standalone-app .file-drop { min-height: 112px; padding: 14px; border-width: 1px; border-color: var(--theme-border); border-radius: 8px; color: var(--theme-text); }
.standalone-app .file-drop:focus-within { outline: 2px solid var(--theme-text); outline-offset: 3px; }
.standalone-app .setup-tab { min-height: 44px; font-size: .95rem; border-radius: 8px 8px 0 0; }
.standalone-app .team-layout { grid-template-columns: minmax(240px,.8fr) minmax(0,2fr); background: var(--theme-surface); }
.standalone-app .team-directory,.standalone-app .person-editor { min-height: 360px; padding: 12px; min-width: 0; }
.standalone-app .empty-editor { min-height: 230px; }
.standalone-app .empty-editor strong { font-size: 1.1rem; }
.standalone-app .section-heading .eyebrow { display: none; }
.standalone-app .person-row { min-height: 52px; color: var(--theme-text); }
.standalone-app .building-button { min-height: 80px; font-size: 1.2rem; }
.standalone-app .door-button { min-height: 100px; border-width: 1px; }
.standalone-app .door-number { font-size: 1.6rem; }
.standalone-app :is(dialog,.dialog-content) { background: var(--theme-surface); color: var(--theme-text); border-color: var(--theme-border); }
.standalone-app dialog { margin: auto; max-width: calc(100vw - 24px); }
.standalone-app .placement-status { flex-wrap: wrap; align-items: center; gap: 8px 14px; font-size: .875rem; border: 1px solid var(--theme-border); border-radius: 8px; }
.standalone-app .placement-header .header-actions a:last-child { display: inline-flex; }
.standalone-app .placement-layout { background: var(--theme-surface); }
.standalone-app .duty-person small { color: var(--theme-muted); }
.standalone-app .floor-tab { min-height: 44px; }
.standalone-app :focus-visible { outline: 2px solid var(--theme-text); outline-offset: 3px; }
@media(max-width:760px) {
 .standalone-app :is(.import-shell,.upload-admin-shell,.setup-shell,.placement-shell) { padding-inline: 12px; }
 .standalone-app .tool-actions { width: 100%; }
 .standalone-app .tool-header { gap: 6px 12px; }
 .standalone-app .team-layout { display: block; }
 .standalone-app .team-directory,.standalone-app .person-editor { min-height: 0; }
 .standalone-app .create-event-bar { flex-wrap: wrap; }
 .standalone-app .create-event-bar button { width: 100%; }
 .standalone-app .map-toolbar,.standalone-app .floor-tabs { flex-wrap: wrap; }
 .standalone-app .floor-tab { flex: 1; }
 .standalone-app .demo-time-control { margin-left: 0; }
}
.standalone-app .file-drop.disabled { display:none; }
.standalone-app .file-drop strong,.standalone-app .file-drop span { display:block; }
.standalone-app .upload-zone span { font-weight:400; font-size:.9rem; }
