    /* Base styles and page layout */
    :root {
      color-scheme:light;
      /* Colors */
      --ink:#202520; --muted:#70776f; --muted-strong:#858c82; --line:#e4e8df; --line-subtle:#edf0ea;
      --paper:#fff; --bg:#f4f5f1; --green:#426b50; --green-hover:#345941; --pale:#eaf1e9; --on-accent:#fff;
      --surface-soft:#f8faf7; --surface-hover:#f7f8f6; --surface-raised:#fafbf9; --surface-input:#fcfdfb;
      --surface-disabled:#f0f1ef; --surface-value:#f1f2f0; --surface-canvas:#f5f6f3; --surface-translucent:#fffE;
      --border-input:#dce1d8; --border-soft:#dce4d9; --border-disabled:#d6dbd3; --border-muted:#daddd8;
      --border-selected:#9bad9c; --border-hover:#c5d0c2; --border-swatch:#0002; --border-overlay:#0004;
      --focus-border:#8ba691; --focus-ring:#426b5018; --focus-outline-offset:2px; --focus-outline-offset-compact:1px; --color-error:#9a3328; --color-danger:#a2473d;
      --icon-muted:#667166; --swatch-empty-line:#788078; --link-decoration:#9aac9a;
      --favorite-yellow:#f2c500; --favorite-yellow-outline:#b38f00; --favorite-gray:#6f879b; --favorite-gray-outline:#4f667a;
      /* Button variants */
      --button-primary-bg:var(--green); --button-primary-hover-bg:var(--green-hover); --button-primary-text:var(--on-accent);
      --button-secondary-bg:var(--surface-soft); --button-secondary-border:var(--border-soft);
      --button-secondary-text:var(--green); --button-ghost-text:var(--icon-muted);
      /* Typography */
      --ui-font-family:Inter,"Noto Sans JP",system-ui,sans-serif;
      --ui-label-size:11px; --ui-compact-size:var(--ui-label-size); --ui-caption-size:10px; --ui-small-size:12px; --ui-body-size:13px; --ui-count-size:14px; --ui-count-compact-size:var(--ui-small-size); --ui-symbol-size:15px; --ui-icon-size:16px; --ui-brand-size:20px; --ui-close-icon-size:24px;
      --ui-weight-medium:500; --ui-weight-semibold:600; --ui-weight-bold:700; --ui-weight-brand:750; --ui-label-weight:var(--ui-weight-bold);
      --ui-label-spacing:.04em; --ui-brand-letter-spacing:-.04em;
      --ui-line-height:1.45; --ui-compact-line-height:1.35; --ui-tight-line-height:1.2; --ui-control-line-height:var(--ui-tight-line-height);
      /* Control sizes */
      --ui-control-height:44px; --ui-secondary-control-height:34px; --ui-compact-control-height:28px;
      --ui-symbol-control-height:24px; --ui-step-control-height:22px; --ui-inline-control-height:26px;
      --ui-symbol-control-width:22px; --ui-step-control-width:24px; --ui-buyer-quantity-width:18px;
      --ui-buyer-control-width:40px; --ui-placement-control-width:30px; --ui-color-filter-button-width:52px;
      --ui-favorite-control-width:18px; --ui-close-control-size:32px; --ui-url-action-group-width:47px; --ui-work-actions-compact-width:48px;
      --ui-button-padding-x:var(--space-7); --ui-compact-button-padding-x:var(--space-5); --ui-field-padding-x:var(--space-5); --ui-compact-field-padding-x:var(--space-3); --ui-table-cell-padding:var(--space-4) var(--space-3);
      /* Shape, spacing, and elevation */
      --radius-none:0; --radius-icon:4px; --radius-button:9px; --radius-control:9px; --radius-popover:8px; --radius-card:10px; --radius-dialog:14px; --radius-panel:16px; --radius-thumbnail:4px; --radius-circle:50%;
      --space-dense:3px; --space-1:2px; --space-2:4px; --space-3:6px; --space-4:8px; --space-5:12px; --space-6:16px; --space-7:20px; --space-8:24px; --space-9:28px; --space-10:32px; --space-11:48px; --space-12:56px;
      --shadow-card:0 8px 28px #28332208; --shadow-dialog:0 16px 48px #17201840;
      --overlay-backdrop:#18201980; --overlay-preview:#101510b8;
      --ui-label-control-gap:var(--space-3); --ui-field-column-gap:var(--space-3); --ui-section-gap:var(--space-5); --screen-inset:14px;
    }
    *, *::before, *::after { box-sizing:border-box; }
    html { height:100%; line-height:var(--ui-line-height); -webkit-text-size-adjust:100%; text-size-adjust:100%; }
    button, input, select, textarea { margin:0; font-family:inherit; line-height:var(--ui-control-line-height); }
    button, select { text-transform:none; }
    button::-moz-focus-inner { border:0; padding:0; }
    table { border-collapse:collapse; border-spacing:0; }
    img, svg { vertical-align:middle; }
    [hidden] { display:none !important; }
    html.registration-entry header, html.registration-entry main { visibility:hidden; }
    body { height:100vh; height:100dvh; margin:0; overflow:hidden; display:flex; flex-direction:column; background:var(--bg); color:var(--ink); font-family:var(--ui-font-family); font-size:var(--ui-body-size); line-height:var(--ui-line-height); }
    header { width:100%; max-width:1280px; flex:none; margin:0 auto; padding:var(--space-8) var(--space-9) var(--space-6) 36px; display:flex; align-items:center; justify-content:space-between; }
    .brand { display:flex; align-items:center; font-weight:var(--ui-weight-brand); letter-spacing:var(--ui-brand-letter-spacing); font-size:var(--ui-brand-size); }
    body.public-reference-view .screen-nav { display:flex; }
    body.public-reference-view #nav-floorplan,
    body.public-reference-view #nav-settings,
    body.public-reference-view #nav-help { display:none; }
    .auth-screen { position:fixed; z-index:5000; inset:0; display:grid; place-items:center; overflow:auto; padding:var(--space-6); background:var(--bg); transition:opacity 200ms cubic-bezier(.22,1,.36,1); }
    .auth-screen.is-leaving { opacity:0; pointer-events:none; }
    header, main { transition:opacity 200ms cubic-bezier(.22,1,.36,1), transform 200ms cubic-bezier(.22,1,.36,1); }
    body.app-revealing > header, body.app-revealing > main { opacity:0; transform:translateY(5px); transition:none; }
    @media (prefers-reduced-motion: reduce) { .auth-screen, header, main { transition:none; } }
    .auth-card { width:min(420px,100%); padding:var(--space-8); border:1px solid var(--line); border-radius:var(--radius-dialog); background:var(--paper); box-shadow:var(--shadow-card); }
    .auth-card h1 { margin:0 0 var(--space-6); font-size:var(--ui-brand-size); }
    .auth-card h2 { margin:0 0 var(--space-4); font-size:var(--ui-count-size); }
    .auth-card p { color:var(--muted); font-size:var(--ui-small-size); line-height:var(--ui-line-height); }
    .auth-form { display:grid; gap:var(--space-5); }
    .auth-password-help { margin-top:var(--space-5); padding-top:var(--space-4); border-top:1px solid var(--line); }
    .auth-password-help summary { width:fit-content; color:var(--muted); font-size:var(--ui-small-size); cursor:pointer; }
    .auth-password-help p { margin:var(--space-3) 0 0; }
    .auth-form label, .account-edit-form label { display:flex; flex-direction:column; gap:var(--ui-label-control-gap); margin:0 0 0 var(--space-1); }
    .auth-form input, .account-edit-form input { height:var(--ui-compact-control-height); font-size:var(--ui-compact-size); }
    .auth-error { min-height:1.4em; margin:0; color:var(--color-error) !important; }
    .auth-login-error:empty { display:none; }
    .auth-actions, .account-settings-actions { display:flex; justify-content:flex-end; gap:var(--ui-field-column-gap); }
    .account-settings { flex:none; padding:var(--screen-inset); border-bottom:1px solid var(--line); }
    .account-settings h2 { margin:0 0 var(--space-5); font-size:var(--ui-body-size); }
    .user-management { flex:none; padding:var(--screen-inset) var(--screen-inset) 0; border-bottom:1px solid var(--line); }
    .user-management h2 { margin:0 0 var(--space-5); font-size:var(--ui-body-size); }
    .user-account-toolbar { display:flex; align-items:center; gap:var(--ui-field-column-gap); margin-bottom:var(--space-5); }
    .user-account-toolbar h2 { flex:1; min-width:0; margin:0; }
    .user-account-search { flex:none; width:min(220px,32vw); height:var(--ui-compact-control-height); padding:0 var(--ui-compact-field-padding-x); font-size:var(--ui-compact-size); }
    .user-account-toolbar > .list-pagination { flex:none; gap:var(--space-2); padding:0; border:0; }
    .user-issue-controls { display:flex; align-items:center; gap:var(--ui-field-column-gap); }
    .user-issue-form { display:flex; flex:none; align-items:center; gap:var(--ui-field-column-gap); margin:0; }
    .user-registration-link { display:grid; flex:1; min-width:0; gap:var(--ui-label-control-gap); }
    .user-registration-link-row { display:flex; align-items:center; gap:var(--ui-field-column-gap); }
    .user-registration-link-row input { flex:1; min-width:0; height:var(--ui-compact-control-height); font-size:var(--ui-compact-size); }
    .user-registration-link-row button { flex:none; }
    .user-account-list { display:flex; flex-direction:column; gap:0; margin:var(--space-4) calc(0px - var(--screen-inset)) 0; }
    .user-account-row { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--ui-field-column-gap); padding:var(--space-5) var(--screen-inset); font-size:var(--ui-small-size); }
    .user-account-list.has-multiple-items .user-account-row:not(:last-child) { border-bottom:1px solid var(--line); }
    .user-account-row:hover { background:var(--surface-soft); }
    .user-account-identity { display:grid; flex:1; min-width:0; gap:var(--space-2); }
    .user-account-identity span, .user-account-status { color:var(--muted); font-size:var(--ui-compact-size); overflow-wrap:anywhere; }
    .user-account-actions { display:flex; flex:none; align-items:center; gap:var(--ui-field-column-gap); }
    .user-password-reset-link { display:grid; flex:1 0 100%; min-width:0; }
    .user-password-reset-link[hidden] { display:none; }
    .user-password-reset-link-row { display:flex; align-items:center; gap:var(--ui-field-column-gap); min-width:0; }
    .user-password-reset-link-row input { flex:1; min-width:0; height:var(--ui-compact-control-height); font-size:var(--ui-compact-size); }
    .user-password-reset-link-row button { flex:none; }
    .copy-popover { position:fixed; z-index:5001; max-width:calc(100vw - 16px); padding:var(--space-2) var(--space-4); border-radius:var(--radius-popover); background:var(--ink); color:var(--on-accent); box-shadow:var(--shadow-dialog); font-size:var(--ui-compact-size); line-height:var(--ui-compact-line-height); white-space:nowrap; opacity:0; transform:translateY(3px); pointer-events:none; transition:opacity .12s ease,transform .12s ease; }
    .copy-popover.is-visible { opacity:1; transform:translateY(0); }
    .copy-popover::after { position:absolute; left:50%; width:8px; height:8px; background:var(--ink); content:""; transform:translateX(-50%) rotate(45deg); }
    .copy-popover[data-placement="top"]::after { bottom:-4px; }
    .copy-popover[data-placement="bottom"]::after { top:-4px; }
    .circle-ms-credentials { display:grid; gap:var(--space-4); margin:var(--screen-inset) calc(0px - var(--screen-inset)) 0; padding:var(--space-5) var(--screen-inset) 0; border-top:1px solid var(--line); }
    .circle-ms-credentials h3 { margin:0; font-size:var(--ui-body-size); }
    .circle-ms-credentials-form { display:grid; grid-template-columns:repeat(2,minmax(0,280px)) minmax(0,1fr); align-items:end; gap:var(--ui-field-column-gap); }
    .circle-ms-credential-field { display:grid; min-width:0; gap:var(--ui-label-control-gap); }
    .circle-ms-credential-field label { margin:0 0 0 var(--space-1); color:var(--muted); font-size:var(--ui-label-size); font-weight:var(--ui-label-weight); }
    .circle-ms-credential-field input { min-width:0; height:var(--ui-compact-control-height); padding:0 var(--ui-compact-field-padding-x); font-size:var(--ui-compact-size); }
    .circle-ms-credential-field input[data-configured="true"]::placeholder { color:var(--green); opacity:1; font-weight:var(--ui-weight-semibold); }
    .circle-ms-credentials-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:var(--ui-field-column-gap); }
    .circle-ms-credentials-status { min-height:1.3em; margin:0; color:var(--muted); font-size:var(--ui-compact-size); }
    .circle-ms-credentials-status:empty { display:none; }
    .circle-ms-credentials-status.is-error { color:var(--color-error); }
    .list-pagination { display:flex; flex:none; align-items:center; justify-content:center; gap:var(--ui-field-column-gap); padding:var(--space-4) var(--screen-inset); border-top:1px solid var(--line); }
    .list-pagination-status { min-width:48px; color:var(--muted); text-align:center; font-size:var(--ui-compact-size); font-variant-numeric:tabular-nums; }
    .account-settings-layout { display:grid; grid-template-columns:repeat(3,minmax(0,200px)) minmax(0,1fr); align-items:end; gap:var(--ui-field-column-gap); width:100%; }
    .account-setting-field { display:grid; min-width:0; gap:var(--ui-label-control-gap); }
    .account-setting-label { margin-left:var(--space-1); color:var(--muted); font-size:var(--ui-label-size); font-weight:var(--ui-label-weight); letter-spacing:var(--ui-label-spacing); }
    .account-setting-control { display:flex; align-items:center; gap:var(--ui-field-column-gap); min-width:0; }
    .account-setting-value { display:flex; flex:1; align-items:center; min-width:0; height:var(--ui-compact-control-height); overflow:hidden; padding:0 var(--space-4); border:1px solid var(--border-muted); border-radius:var(--radius-control); background:var(--surface-value); color:var(--muted); filter:grayscale(1); font-size:var(--ui-compact-size); text-overflow:ellipsis; white-space:nowrap; }
    .account-setting-edit { flex:none; }
    .account-settings-actions { flex-wrap:wrap; align-items:flex-end; min-width:0; min-height:var(--ui-compact-control-height); }
    .account-settings-actions > .compact-button { flex:none; }
    .account-settings-layout > .account-settings-actions { justify-self:end; }
    .account-edit-dialog, .help-dialog, .floorplan-export-dialog { max-width:100%; max-height:calc(100dvh - 32px); overflow:auto; padding:var(--space-7); border:1px solid var(--line); border-radius:var(--radius-dialog); background:var(--paper); color:var(--ink); box-shadow:var(--shadow-dialog); }
    .account-edit-dialog { width:min(420px,calc(100vw - 32px)); }
    .help-dialog { width:min(540px,calc(100vw - 32px)); }
    .floorplan-export-dialog { width:min(440px,calc(100vw - 32px)); }
    .account-edit-dialog::backdrop, .help-dialog::backdrop, .floorplan-export-dialog::backdrop { background:var(--overlay-backdrop); }
    .floorplan-export-content { display:grid; gap:var(--space-5); }
    .floorplan-export-content h2 { margin:0; font-size:var(--ui-count-size); }
    .floorplan-export-content p { margin:0; color:var(--muted); font-size:var(--ui-small-size); }
    .floorplan-export-status:empty { display:none; }
    .floorplan-export-status[role="status"] { color:var(--color-error); }
    .floorplan-export-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:var(--ui-field-column-gap); }
    .floorplan-export-actions .compact-button { flex:none; }
    .help-content { display:grid; gap:var(--space-6); }
    .help-content h2 { margin:0; font-size:var(--ui-count-size); }
    .help-topics { display:grid; gap:var(--space-5); }
    .help-topic { display:grid; gap:0; }
    .help-topic + .help-topic { padding-top:var(--space-5); border-top:1px solid var(--line); }
    .help-topic h3 { margin:0 0 var(--space-2); font-size:var(--ui-small-size); }
    .help-topic p { margin:0; color:var(--muted); font-size:var(--ui-small-size); line-height:var(--ui-line-height); }
    .help-topic ul { margin:var(--space-2) 0 0; padding-left:1.25em; color:var(--muted); font-size:var(--ui-small-size); line-height:var(--ui-line-height); }
    .help-topic li + li { margin-top:var(--space-1); }
    .help-actions { display:flex; justify-content:flex-end; }
    .circle-cut-preview-dialog { position:fixed; inset:0; display:none; place-items:center; width:fit-content; height:fit-content; max-width:calc(100vw - 24px); max-height:calc(100dvh - 24px); margin:auto; padding:0; overflow:visible; border:0; background:transparent; }
    .circle-cut-preview-dialog[open] { display:grid; }
    .circle-cut-preview-dialog::backdrop { background:var(--overlay-preview); }
    .circle-cut-preview-frame { position:relative; display:inline-block; max-width:calc(100vw - 24px); max-height:calc(100dvh - 24px); }
    .circle-cut-preview-image { display:block; width:auto; height:auto; max-width:calc(100vw - 24px); max-height:calc(100dvh - 24px); object-fit:contain; background:var(--paper); box-shadow:0 8px 32px #0008; }
    .circle-cut-preview-close { position:absolute; top:var(--space-3); right:var(--space-3); display:grid; place-items:center; width:var(--ui-close-control-size); height:var(--ui-close-control-size); padding:0; border:1px solid var(--border-overlay); border-radius:var(--radius-circle); background:var(--surface-translucent); color:var(--ink); font-size:var(--ui-close-icon-size); line-height:1; cursor:pointer; }
    .circle-cut-thumbnail { cursor:zoom-in; -webkit-user-select:none; user-select:none; -webkit-touch-callout:none; -webkit-tap-highlight-color:transparent; }
    .circle-cut-thumbnail:focus-visible { outline:2px solid var(--green); outline-offset:var(--focus-outline-offset); }
    .account-edit-form { display:grid; gap:var(--space-6); }
    .account-edit-form h2 { margin:0; font-size:var(--ui-count-size); }
    .account-edit-fields { display:grid; gap:var(--ui-label-control-gap); }
    .account-edit-fields label { margin-bottom:0; }
    .account-edit-status { min-height:1.4em; margin:0; color:var(--color-error); font-size:var(--ui-compact-size); line-height:var(--ui-compact-line-height); }
    .account-edit-status:empty { display:none; }
    .account-edit-actions { display:flex; justify-content:flex-end; gap:var(--ui-field-column-gap); }
    main { width:100%; max-width:1280px; flex:0 1 auto; min-height:0; display:flex; flex-direction:column; margin:0 auto; padding:0 var(--space-9) var(--screen-inset); }
    main.has-list-screen { flex:1; overflow-y:auto; }
    .panel { flex:0 1 auto; min-height:0; display:flex; flex-direction:column; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-panel); box-shadow:var(--shadow-card); }
    #settings-screen { overflow-y:auto; overscroll-behavior:contain; }
    #settings-screen > .selectable-list { flex:none; min-height:auto; overflow:visible; }
    /* Event settings */
    .event-catalog-editor { --event-catalog-settings-gap:var(--ui-section-gap); flex:none; padding:var(--screen-inset); display:flex; flex-direction:column; align-items:stretch; gap:var(--event-catalog-settings-gap); border-bottom:1px solid var(--line); }
    .event-catalog-form-layout { display:grid; grid-template-columns:minmax(0,1fr); align-items:start; column-gap:var(--ui-field-column-gap); row-gap:var(--event-catalog-settings-gap); min-width:0; width:100%; }
    .event-catalog-form-fields { display:grid; grid-template-columns:var(--event-catalog-list-field-columns) var(--event-catalog-action-column); align-items:start; gap:var(--ui-field-column-gap); min-width:0; }
    .event-catalog-form-fields > .event-catalog-form-name, .event-catalog-form-fields > .event-field, .event-catalog-form-fields > .event-catalog-form-daycount { width:auto; min-width:0; align-self:start; }
    .event-catalog-form-fields > .event-catalog-form-url-fields { grid-column:4; }
    .event-catalog-form-fields > .event-catalog-form-actions { grid-column:6; }
    .event-catalog-form-url-fields, .event-catalog-urls { display:grid; grid-template-columns:minmax(0,1fr); align-items:end; gap:var(--ui-field-column-gap); min-width:0; }
    .url-list-entry { display:grid; grid-template-columns:minmax(0,1fr); align-items:end; gap:var(--ui-field-column-gap); min-width:0; }
    .url-list-entry.is-editable { grid-template-columns:minmax(0,1fr) var(--ui-url-action-group-width); }
    .url-list-field { display:grid; min-width:0; gap:var(--ui-label-control-gap); margin:0; color:var(--muted); font-size:var(--ui-label-size); font-weight:var(--ui-label-weight); letter-spacing:var(--ui-label-spacing); }
    .url-list-field > span { margin-left:var(--space-1); }
    .url-list-field > input { width:100%; min-width:0; height:var(--ui-compact-control-height); padding:0 var(--ui-compact-field-padding-x); font-size:var(--ui-compact-size); }
    .url-list-actions { display:grid; grid-template-columns:repeat(2,var(--ui-symbol-control-width)); align-items:center; gap:var(--space-dense); width:var(--ui-url-action-group-width); }
    .url-list-actions.is-delete-only > button { grid-column:2; }
    .url-list-actions > button { flex:none; }
    .event-catalog-editor input, .event-catalog-editor select { height:var(--ui-compact-control-height); }
    .event-catalog-form-daycount input,
    .event-catalog-form-daycount select,
    .event-catalog-field input[type="number"],
    .event-catalog-field select.event-catalog-day-count { text-align:center; }
    .event-catalog-form-daycount input { padding:0 0 0 var(--space-2); appearance:auto; }
    .event-catalog-form-daycount input::-webkit-inner-spin-button { height:var(--ui-symbol-control-height); margin:0; }
    .event-catalog-form-daycount select,
    .event-catalog-field select.event-catalog-day-count { text-align-last:center; }
    .selectable-list-heading { flex:none; padding:var(--space-6) var(--screen-inset) var(--space-3); font-size:var(--ui-body-size); font-weight:var(--ui-weight-bold); }
    .selectable-list { flex:1; min-height:0; overflow:auto; padding:0 0 var(--space-4); }
    .selectable-list-row { display:flex; align-items:center; column-gap:var(--ui-field-column-gap); row-gap:var(--space-5); padding:var(--space-5) var(--screen-inset); }
    .selectable-list.has-multiple-items .selectable-list-row:not(:last-child) { border-bottom:1px solid var(--line); }
    .selectable-list-row:hover { background:var(--surface-soft); }
    .selectable-list-choice { flex:1; min-width:0; display:flex; align-items:flex-start; gap:var(--ui-field-column-gap); margin:0; cursor:pointer; letter-spacing:normal; }
    .selectable-list-choice input[type="radio"] { flex:none; width:16px; height:16px; margin:var(--space-1) 0 0; padding:0; accent-color:var(--green); box-shadow:none; }
    .selectable-list-choice input[type="radio"]:focus-visible { box-shadow:0 0 0 3px var(--focus-ring); }
    .selectable-list-description { flex:1; min-width:0; }
    .selectable-list-title { font-size:var(--ui-body-size); font-weight:var(--ui-weight-bold); }
    .selectable-list-details { margin-top:var(--space-2); color:var(--muted); font-size:var(--ui-compact-size); overflow-wrap:anywhere; }
    .selectable-list-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:var(--ui-field-column-gap); }
    .selectable-list-actions .compact-button:disabled { cursor:default; }
    .selectable-list-actions .offline-cache-button { width:fit-content; min-width:0; max-width:100%; flex:none; white-space:nowrap; }
    .offline-action-disabled { opacity:.45; cursor:default; }
    .event-catalog-form-actions { display:flex; flex-flow:row nowrap; flex:none; gap:var(--ui-field-column-gap); align-self:end; margin:0; white-space:nowrap; }
    .soft-button { border:1px solid var(--button-secondary-border); background:var(--button-secondary-bg); color:var(--button-secondary-text); }
    .soft-button:hover:not(:disabled) { border-color:var(--green); background:var(--button-primary-bg); color:var(--on-accent); }
    #toggle-circle-ms-credentials[aria-expanded="true"] { border-color:var(--green); background:var(--button-primary-bg); color:var(--on-accent); }
    #toggle-circle-ms-credentials[aria-expanded="true"]:hover:not(:disabled) { background:var(--button-primary-hover-bg); }
    .compact-button { height:var(--ui-compact-control-height); padding:0 var(--ui-compact-button-padding-x); font-size:var(--ui-compact-size); }
    .event-catalog-editor #save-event-catalog, .event-catalog-editor #cancel-event-catalog-edit { height:var(--ui-compact-control-height); font-size:var(--ui-compact-size); }
    .event-catalog-form-actions button { width:auto; flex:none; }
    .event-catalog-editor.event-catalog-form { flex-direction:column; align-items:stretch; gap:var(--ui-field-column-gap); padding:var(--space-4) var(--screen-inset); }
    .event-catalog-editor.event-catalog-form .event-catalog-form-layout { display:block; }
    .event-catalog-editor.event-catalog-form .event-catalog-form-fields { display:grid; grid-template-columns:var(--event-catalog-list-field-columns) var(--event-catalog-action-column); align-items:start; gap:var(--ui-field-column-gap); }
    .event-catalog-editor.event-catalog-form .event-catalog-form-fields > .event-catalog-form-name,
    .event-catalog-editor.event-catalog-form .event-catalog-form-fields > .event-field,
    .event-catalog-editor.event-catalog-form .event-catalog-form-fields > .event-catalog-form-daycount { display:grid; width:auto; min-width:0; align-self:start; gap:var(--ui-label-control-gap); margin:0; color:var(--muted); font-size:var(--ui-label-size); }
    .event-catalog-editor.event-catalog-form .event-catalog-form-fields > .event-catalog-form-url-fields { grid-column:4; display:grid; min-width:0; align-self:stretch; }
    .event-catalog-editor.event-catalog-form .event-catalog-form-fields > .event-catalog-form-actions { grid-column:6; justify-self:end; align-self:end; }
    .event-catalog-editor.event-catalog-form .event-catalog-form-fields > .event-catalog-form-name > label,
    .event-catalog-editor.event-catalog-form .event-catalog-form-fields > .event-field > label,
    .event-catalog-editor.event-catalog-form .event-catalog-form-fields > .event-catalog-form-daycount > label { margin:0 0 0 var(--space-1); color:inherit; font-size:inherit; }
    .event-catalog-editor.event-catalog-form .event-catalog-form-fields input,
    .event-catalog-editor.event-catalog-form .event-catalog-form-fields select { width:100%; min-width:0; height:var(--ui-compact-control-height); padding:0 var(--ui-compact-field-padding-x); font-size:var(--ui-compact-size); }
    .event-catalog-section { --event-catalog-action-column:280px; --event-catalog-field-columns:minmax(0,1fr) minmax(0,1fr) 34px minmax(0,2fr); --event-catalog-list-field-columns:minmax(84px,1fr) minmax(84px,1fr) 34px minmax(239px,1.6fr) minmax(0,.4fr); flex:none; min-height:0; display:flex; flex-direction:column; border-bottom:1px solid var(--line); }
    .event-catalog-toolbar { display:flex; align-items:center; gap:var(--ui-field-column-gap); min-height:42px; padding:var(--space-4) var(--screen-inset); }
    .event-catalog-toolbar-heading { display:flex; flex:1; min-width:0; flex-direction:column; align-items:flex-start; gap:var(--space-5); }
    .event-catalog-toolbar .selectable-list-heading { padding:0; }
    .event-catalog-search { flex:none; width:min(220px,32vw); height:var(--ui-compact-control-height); padding:0 var(--ui-compact-field-padding-x); font-size:var(--ui-compact-size); }
    .event-catalog-toolbar > .list-pagination { flex:none; gap:var(--space-2); padding:0; border:0; }
    .event-catalog-section .selectable-list { flex:none; max-height:none; overflow:visible; padding-bottom:0; }
    .event-catalog-row { display:grid; grid-template-columns:minmax(0,1fr) var(--event-catalog-action-column); align-items:end; gap:var(--ui-field-column-gap); padding:var(--space-4) var(--screen-inset); }
    .event-catalog-fields { display:grid; grid-template-columns:var(--event-catalog-list-field-columns); align-items:start; gap:var(--ui-field-column-gap); min-width:0; }
    .event-catalog-fields > .event-catalog-urls { grid-column:4; }
    .event-catalog-field { display:grid; min-width:0; gap:var(--ui-label-control-gap); margin:0; color:var(--muted); font-size:var(--ui-label-size); }
    .event-catalog-field span { margin-left:var(--space-1); }
    .event-catalog-field input, .event-catalog-field select { width:100%; min-width:0; height:var(--ui-compact-control-height); padding:0 var(--ui-compact-field-padding-x); font-size:var(--ui-compact-size); }
    .event-catalog-row.is-readonly .event-catalog-field input:disabled,
    .event-catalog-row.is-readonly .event-catalog-field select:disabled,
    .event-catalog-row.is-readonly .url-list-field input:disabled { border-color:var(--border-disabled); background:var(--surface-disabled); color:var(--muted); filter:grayscale(1); opacity:1; cursor:default; }
    .event-catalog-actions { grid-column:2; grid-row:1; align-self:end; justify-content:flex-end; width:100%; max-width:none; min-width:0; flex-wrap:wrap; }
    @media(min-width:801px) {
      .event-catalog-section { --event-catalog-action-column:304px; }
      .event-catalog-actions { align-self:start; margin-top:var(--space-8); }
    }
    .event-catalog-edit-actions { display:flex; flex:0 0 100%; flex-wrap:nowrap; justify-content:flex-end; gap:var(--ui-field-column-gap); white-space:nowrap; }
    .event-catalog-edit-actions > .compact-button { padding-inline:var(--ui-compact-button-padding-x); }
    .event-catalog-actions > .compact-button:first-child { margin-left:auto; }
    .event-catalog-actions > .compact-button, .event-catalog-edit-actions > .compact-button { flex:none; white-space:nowrap; }
    .event-catalog-form-slot > .event-catalog-editor { border-bottom:1px solid var(--line); }
    .selectable-list-empty { padding:var(--space-10) var(--space-5); color:var(--muted); text-align:center; font-size:var(--ui-body-size); }
    .checklist-share-overlay { position:fixed; z-index:4000; inset:0; display:flex; align-items:center; justify-content:center; overflow-y:auto; padding:var(--screen-inset); background:var(--overlay-backdrop); }
    .checklist-share-dialog { width:min(620px,calc(100vw - 28px)); max-width:100%; max-height:min(720px,calc(100dvh - 28px)); overflow:auto; padding:var(--screen-inset); border:1px solid var(--line); border-radius:var(--radius-dialog); background:var(--paper); box-shadow:var(--shadow-dialog); }
    .checklist-share-header { display:flex; align-items:center; justify-content:space-between; gap:var(--space-5); margin-bottom:var(--space-5); }
    .checklist-share-header h2 { margin:0; font-size:var(--ui-count-size); }
    .checklist-share-dialog h3 { margin:0 0 var(--space-5); font-size:var(--ui-body-size); }
    .checklist-share-add-form { padding-bottom:var(--space-5); border-bottom:1px solid var(--line); }
    .checklist-share-reference { padding:var(--space-5) 0; border-bottom:1px solid var(--line); }
    .checklist-share-reference h3 { margin-bottom:var(--space-2); }
    .checklist-share-reference-actions { display:flex; flex-wrap:wrap; gap:var(--ui-field-column-gap); margin-top:var(--space-4); }
    .checklist-share-reference-actions button { margin:0; }
    .checklist-share-fields { display:grid; grid-template-columns:minmax(180px,1.4fr) max-content auto; align-items:end; gap:var(--ui-field-column-gap); }
    .checklist-share-field { flex:1; min-width:0; }
    .checklist-share-field label { display:flex; flex-direction:column; gap:var(--ui-label-control-gap); margin:0; }
    .checklist-share-field input, .checklist-share-field select, .checklist-share-link input { display:block; height:var(--ui-compact-control-height); font-size:var(--ui-compact-size); }
    .checklist-share-role { min-width:0; }
    .checklist-share-role select { width:max-content; min-width:0; }
    .checklist-share-fields > button { margin-bottom:0; }
    .checklist-share-dialog .compact-button { flex:none; }
    .checklist-share-status { min-height:1.4em; margin:var(--space-4) 0 0; color:var(--muted); font-size:var(--ui-compact-size); line-height:var(--ui-compact-line-height); }
    .checklist-share-status:empty { display:none; }
    .checklist-share-link { display:flex; gap:var(--ui-field-column-gap); margin-top:var(--space-4); }
    .checklist-share-link input { flex:1; min-width:0; }
    .checklist-share-members { padding-top:var(--space-5); }
    .checklist-share-member-list { display:grid; border:1px solid var(--line); border-radius:var(--radius-control); overflow:hidden; }
    .checklist-share-member { display:flex; align-items:center; gap:var(--ui-field-column-gap); min-width:0; padding:var(--space-5); border-bottom:1px solid var(--line); }
    .checklist-share-member:last-child { border-bottom:0; }
    .checklist-share-member-identity { display:grid; flex:1; min-width:0; gap:var(--space-1); font-size:var(--ui-compact-size); }
    .checklist-share-member-heading { display:flex; align-items:baseline; flex-wrap:wrap; gap:0; min-width:0; }
    .checklist-share-member-identity strong, .checklist-share-member-identity span { overflow-wrap:anywhere; }
    .checklist-share-member-identity span, .checklist-share-member-role { color:var(--muted); font-size:var(--ui-caption-size); }
    .checklist-share-member-actions { display:flex; flex:none; align-items:center; gap:var(--ui-field-column-gap); }
    .checklist-share-role-edit { display:flex; flex:1; min-width:0; align-items:center; justify-content:flex-end; gap:var(--ui-field-column-gap); }
    .checklist-share-role-edit select { flex:none; width:100px; height:var(--ui-compact-control-height); font-size:var(--ui-compact-size); }
    .checklist-share-edit-error { color:var(--color-error); font-size:var(--ui-caption-size); }
    .checklist-share-edit-error:empty { display:none; }
    .checklist-share-confirm { display:flex; align-items:center; flex-wrap:wrap; gap:var(--ui-field-column-gap); width:100%; color:var(--muted); font-size:var(--ui-compact-size); }
    .checklist-share-confirm span { flex:1 1 auto; min-width:0; }
    label { display:block; color:var(--muted); font-size:var(--ui-label-size); font-weight:var(--ui-label-weight); margin:0 0 var(--ui-label-control-gap) var(--space-1); letter-spacing:var(--ui-label-spacing); }
    .event-field { width:150px; flex:none; }
    .event-field select { height:var(--ui-compact-control-height); }
    input, select { width:100%; height:var(--ui-control-height); border:1px solid var(--border-input); border-radius:var(--radius-control); padding:0 var(--ui-field-padding-x); font-size:var(--ui-body-size); color:var(--ink); outline:none; background:var(--surface-input); }
    select { padding-inline:var(--ui-compact-field-padding-x); }
    input:focus, select:focus { border-color:var(--focus-border); box-shadow:0 0 0 3px var(--focus-ring); }
    #list-screen select:focus:not(:focus-visible) { border-color:var(--border-input); box-shadow:none; }
    button { height:var(--ui-control-height); border:0; border-radius:var(--radius-button); padding:0 var(--ui-button-padding-x); color:var(--on-accent); background:var(--button-primary-bg); font-size:var(--ui-body-size); font-weight:var(--ui-weight-bold); cursor:pointer; white-space:nowrap; }
    button, button * { -webkit-user-select:none; user-select:none; }
    button:hover:not(:disabled) { background:var(--button-primary-hover-bg) } button:disabled { opacity:.6; cursor:default; }
    button:not(.color-filter-swatch):not(.color-choice):focus:not(:focus-visible) { outline:none; box-shadow:none; }
    /* List filters and bulk actions */
    .summary { position:relative; flex:none; padding:var(--screen-inset); display:flex; flex-wrap:wrap; justify-content:flex-start; align-items:center; gap:var(--space-6); }
    .list-offline-notice { flex:none; margin:0 0 0 auto; padding:0; color:var(--muted); font-size:var(--ui-compact-size); line-height:var(--ui-line-height); white-space:nowrap; }
    .counts { display:flex; align-items:baseline; gap:var(--space-6); }
    .count { font-size:var(--ui-count-size); font-weight:var(--ui-weight-bold); } .count strong { font:inherit; }
    .purchase-totals-toggle { height:var(--ui-compact-control-height); padding:0 var(--ui-compact-button-padding-x); font-size:var(--ui-compact-size); }
    .purchase-totals-toggle[aria-expanded="true"] { border-color:var(--green); background:var(--button-primary-bg); color:var(--on-accent); }
    .purchase-totals-toggle[aria-expanded="true"]:hover:not(:disabled) { background:var(--button-primary-hover-bg); }
    .purchase-totals-popover { position:relative; z-index:30; flex:none; }
    .purchase-totals { position:absolute; top:calc(100% + var(--space-3)); right:0; display:flex; flex-direction:column; align-items:flex-end; gap:var(--space-3); width:max-content; max-width:min(520px,calc(100vw - 36px)); margin:0; padding:var(--space-5) var(--space-5); border:1px solid var(--line); border-radius:var(--radius-control); background:var(--paper); box-shadow:0 6px 20px #20252020; color:var(--muted); font-size:var(--ui-small-size); }
    .purchase-total-lines { display:grid; grid-template-columns:max-content max-content; column-gap:var(--space-4); row-gap:var(--space-2); width:max-content; max-width:100%; }
    .purchase-total-name, .purchase-total-amount, .purchase-total-grand-label, .purchase-total-grand { white-space:nowrap; }
    .purchase-total-amount, .purchase-total-grand { justify-self:end; }
    .purchase-total-grand-label, .purchase-total-grand { margin-top:var(--space-2); color:var(--green); font-weight:var(--ui-weight-bold); }
    .filters { display:flex; gap:var(--ui-field-column-gap); align-items:flex-start; flex-wrap:wrap; padding:0 var(--screen-inset) var(--screen-inset); }
    .filter-field { display:flex; align-items:center; gap:var(--ui-label-control-gap); }
    .filters > .filter-field { flex-direction:column; align-items:flex-start; gap:var(--ui-label-control-gap); }
    .filter-field label, .filter-field > .filter-label { margin:0; white-space:nowrap; }
    .filter-label { color:var(--muted); font-size:var(--ui-label-size); font-weight:var(--ui-label-weight); letter-spacing:var(--ui-label-spacing); white-space:nowrap; }
    .filter-field select { width:max-content; min-width:0; height:var(--ui-compact-control-height); }
    .filters #member-filter { max-width:180px; }
    .list-search-controls { display:flex; align-items:center; gap:var(--ui-field-column-gap); }
    .filters #list-search { display:block; flex:0 1 210px; width:100%; min-width:150px; height:var(--ui-compact-control-height); padding:0 var(--space-4); font-size:var(--ui-compact-size); }
    .list-search-submit { height:var(--ui-compact-control-height); padding:0 var(--ui-compact-button-padding-x); font-size:var(--ui-compact-size); }
    .list-header-actions { display:flex; align-items:center; gap:var(--ui-field-column-gap); margin-left:auto; }
    .filters > .list-header-actions { align-self:flex-end; }
    .color-filter-control { display:flex; align-items:center; gap:var(--ui-field-column-gap); }
    .filters .color-filter-control { height:var(--ui-compact-control-height); }
    .favorite-filter-controls { display:flex; align-items:center; gap:var(--space-dense); }
    .favorite-filter-button { display:inline-flex; align-items:center; justify-content:center; min-width:28px; height:var(--ui-compact-control-height); padding:0 var(--space-2) var(--space-1); font-size:var(--ui-icon-size); font-weight:var(--ui-weight-semibold); paint-order:stroke fill; }
    .favorite-filter-button[data-favorite-filter="yellow"] { color:var(--favorite-yellow); -webkit-text-stroke:.7px var(--favorite-yellow-outline); }
    .favorite-filter-button[data-favorite-filter="gray"] { color:var(--favorite-gray); -webkit-text-stroke:.7px var(--favorite-gray-outline); }
    .favorite-filter-button[data-favorite-filter="none"] { color:var(--muted-strong); -webkit-text-stroke:.35px var(--muted-strong); }
    .favorite-filter-button[data-favorite-filter="yellow"]:hover:not(:disabled) { color:var(--favorite-yellow); }
    .favorite-filter-button[data-favorite-filter="gray"]:hover:not(:disabled) { color:var(--favorite-gray); }
    .favorite-filter-button:hover:not(:disabled) { border-color:var(--green); background:var(--button-primary-bg); }
    .favorite-filter-button[aria-pressed="true"] { border-color:var(--green); background:var(--button-primary-bg); }
    .color-filter-all { min-width:var(--ui-color-filter-button-width); height:var(--ui-compact-control-height); padding:0 var(--space-4); font-size:var(--ui-compact-size); }
    .color-filter-swatches { display:flex; align-items:center; gap:var(--ui-field-column-gap); }
    .color-filter-swatch { width:20px; height:20px; flex:none; padding:0; border:1px solid var(--border-swatch); border-radius:var(--radius-icon); }
    .color-filter-swatch.no-color-filter-swatch { background-color:var(--paper); background-image:linear-gradient(135deg, transparent 46%, var(--swatch-empty-line) 47%, var(--swatch-empty-line) 53%, transparent 54%); }
    .color-filter-swatch.no-color-filter-swatch:hover:not(:disabled) { background-color:var(--paper); background-image:linear-gradient(135deg, transparent 46%, var(--swatch-empty-line) 47%, var(--swatch-empty-line) 53%, transparent 54%); }
    .color-filter-swatch[aria-pressed="true"] { outline:2px solid var(--green); outline-offset:var(--focus-outline-offset-compact); }
    .placement-controls { display:flex; align-items:center; gap:var(--ui-field-column-gap); }
    .placement-step { display:inline-flex; flex:none; align-items:center; justify-content:center; width:var(--ui-placement-control-width); height:var(--ui-compact-control-height); padding:0; line-height:0; }
    .placement-step svg { display:block; width:12px; height:12px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
    .placement-step:disabled { opacity:.4; cursor:default; }
    .settings-button { height:var(--ui-secondary-control-height); padding:0 var(--ui-compact-button-padding-x); font-size:var(--ui-compact-size); }
    .screen-nav { display:flex; align-items:center; gap:var(--ui-field-column-gap); }
    .screen-nav .soft-button[aria-current="page"] { border-color:var(--green); background:var(--button-primary-bg); color:var(--on-accent); }
    .screen-nav button:disabled { opacity:.42; color:var(--muted); cursor:default; }
    /* Floorplan controls and canvas */
    #floorplan-screen { min-width:0; }
    .floorplan-controls { display:flex; flex-wrap:wrap; align-items:center; gap:var(--ui-field-column-gap); padding:var(--screen-inset); border-bottom:1px solid var(--line); }
    .floorplan-controls > .filter-field { flex-direction:column; align-items:flex-start; gap:var(--ui-label-control-gap); }
    .floorplan-controls select { width:min(360px,100%); height:var(--ui-secondary-control-height); }
    .floorplan-controls button { height:var(--ui-secondary-control-height); padding:0 var(--ui-compact-button-padding-x); font-size:var(--ui-compact-size); }
    .floorplan-controls button:disabled { opacity:.45; cursor:default; }
    .floorplan-controls .color-filter-swatch { height:20px; padding:0; }
    .floorplan-controls .color-filter-all { height:var(--ui-compact-control-height); padding:0 var(--space-4); font-size:var(--ui-compact-size); }
    .floorplan-controls .placement-step { width:var(--ui-placement-control-width); height:var(--ui-compact-control-height); padding:0; }
    .floorplan-pagination select { width:60px; height:var(--ui-compact-control-height); padding:0 var(--space-dense); }
    .floorplan-data-actions { display:flex; align-self:flex-end; gap:var(--ui-field-column-gap); margin-left:auto; }
    #export-floorplan { width:fit-content; min-width:0; flex:none; height:var(--ui-compact-control-height); padding:0 var(--ui-compact-button-padding-x); font-size:var(--ui-compact-size); white-space:nowrap; }
    .floorplan-viewport { position:relative; flex:0 1 auto; min-width:0; min-height:0; overflow:auto; overscroll-behavior:contain; padding:var(--screen-inset); background:var(--surface-canvas); }
    .floorplan-viewport.has-pdf { touch-action:pan-x pan-y; }
    .floorplan-offline-viewer { display:flex; flex-direction:column; width:100%; height:100%; min-height:0; }
    .floorplan-offline-notice { flex:none; margin:0; padding:var(--space-3) var(--screen-inset); color:var(--muted); font-size:var(--ui-compact-size); }
    .floorplan-offline-open { flex:none; width:fit-content; margin:0 var(--screen-inset) var(--space-3); color:var(--green); font-size:var(--ui-compact-size); }
    .floorplan-offline-viewer iframe { flex:1; width:100%; min-height:0; border:0; background:var(--surface); }
    #floorplan-screen.has-offline-pdf .floorplan-controls,
    #floorplan-screen.has-offline-pdf .floorplan-stage,
    #floorplan-screen.has-offline-pdf .floorplan-tooltip { display:none; }
    main.has-offline-floorplan { flex:1; }
    #floorplan-screen.has-offline-pdf { flex:1; }
    #floorplan-screen.has-offline-pdf .floorplan-viewport { display:flex; flex:1; padding:0; }
    #floorplan-screen.has-offline-pdf .floorplan-offline-viewer { flex:1; }
    .floorplan-stage { position:relative; width:max-content; max-width:none; margin:0 auto; line-height:0; box-shadow:0 2px 12px #17201420; }
    .floorplan-stage canvas { display:block; max-width:none; height:auto; }
    #floorplan-hit-areas { position:absolute; z-index:2; inset:0; pointer-events:none; }
    .floorplan-hit-area { position:absolute; pointer-events:auto; cursor:pointer; }
    .floorplan-zoom { display:flex; align-items:center; gap:var(--ui-field-column-gap); }
    .floorplan-zoom-field { display:flex; flex-direction:column; align-items:flex-start; gap:var(--ui-label-control-gap); }
    .floorplan-zoom button { min-width:var(--ui-placement-control-width); height:var(--ui-compact-control-height); padding:0 var(--space-4); }
    .floorplan-zoom output { min-width:42px; text-align:center; color:var(--muted); font-size:var(--ui-compact-size); }
    #floorplan-overlay { position:absolute; z-index:1; inset:0; cursor:default; pointer-events:auto; }
    .floorplan-tooltip { position:fixed; z-index:1000; display:none; box-sizing:border-box; width:fit-content; max-width:min(560px,calc(100vw - 16px)); padding:var(--space-4); border:1px solid #000; border-radius:0; background:var(--paper); color:var(--ink); box-shadow:0 4px 16px #17201430; font-size:var(--ui-body-size); line-height:var(--ui-line-height); pointer-events:none; }
    .floorplan-tooltip.has-cut { padding:0; }
    .floorplan-tooltip[aria-hidden="false"] { display:block; }
    .floorplan-tooltip-layout { display:grid; grid-template-columns:96px minmax(0,max-content); align-items:stretch; gap:0; }
    .floorplan-tooltip-layout.no-cut { grid-template-columns:minmax(0,max-content); }
    .floorplan-tooltip-media { position:relative; width:96px; min-height:1px; }
    .floorplan-tooltip-cut { display:block; width:96px; height:auto; object-fit:contain; background:var(--surface-hover); }
    .floorplan-tooltip-color { position:absolute; top:0; left:0; box-sizing:border-box; width:20px; height:20px; border:.5px solid #000; opacity:.8; }
    .floorplan-tooltip-color.is-inline { position:static; display:block; }
    .floorplan-tooltip-content { display:flex; flex-direction:column; min-width:160px; max-width:260px; padding:0; overflow-wrap:anywhere; }
    .floorplan-tooltip.has-cut .floorplan-tooltip-content { min-width:min(160px,calc(100vw - 118px)); max-width:min(276px,calc(100vw - 118px)); padding:4px; }
    .floorplan-tooltip-layout.no-cut .floorplan-tooltip-content { min-width:min(160px,calc(100vw - 34px)); max-width:min(260px,calc(100vw - 34px)); }
    .floorplan-tooltip-identity { min-width:0; }
    .floorplan-tooltip-identity.has-inline-color { display:grid; grid-template-columns:24px minmax(0,1fr); align-items:start; gap:var(--space-4); }
    .floorplan-tooltip-layout.no-cut .floorplan-tooltip-identity.has-inline-color { position:relative; display:block; min-height:24px; padding-left:var(--space-8); }
    .floorplan-tooltip-layout.no-cut .floorplan-tooltip-color.is-inline { position:absolute; top:-8px; left:-8px; }
    .floorplan-tooltip-identity-text { min-width:0; }
    .floorplan-tooltip-heading { margin-bottom:var(--space-1); color:var(--muted); font-size:var(--ui-compact-size); line-height:var(--ui-compact-line-height); }
    .floorplan-tooltip-name { font-size:var(--ui-body-size); line-height:var(--ui-tight-line-height); overflow-wrap:anywhere; }
    .floorplan-tooltip-author { margin-top:var(--space-1); color:var(--muted); font-size:var(--ui-body-size); line-height:var(--ui-line-height); }
    .floorplan-tooltip-divider { margin-top:1px; border-top:1px solid var(--line); }
    .floorplan-tooltip-work { padding-top:1px; }
    .floorplan-tooltip-work.has-prior-work { margin-top:1px; padding-top:1px; border-top:1px solid var(--line); }
    .floorplan-tooltip-total-spacer { display:none; }
    .floorplan-tooltip-layout.has-cut .floorplan-tooltip-total-spacer { display:block; flex:1 0 1px; }
    .floorplan-tooltip-work-primary { display:grid; grid-template-columns:minmax(0,1fr) minmax(88px,max-content); align-items:stretch; gap:var(--space-2); }
    .floorplan-tooltip-work-copy { min-width:0; }
    .floorplan-tooltip-work-metadata { display:grid; min-width:88px; align-content:end; justify-items:end; gap:0; }
    .floorplan-tooltip-work-title { min-width:0; font-size:var(--ui-compact-size); line-height:var(--ui-tight-line-height); overflow-wrap:anywhere; }
    .floorplan-tooltip-type-count, .floorplan-tooltip-price { min-width:88px; justify-self:end; text-align:right; font-size:var(--ui-compact-size); line-height:var(--ui-compact-line-height); white-space:nowrap; }
    .floorplan-tooltip-work-copy .floorplan-tooltip-memo { margin-top:var(--space-1); }
    .floorplan-tooltip-memo, .floorplan-tooltip-memo-only { min-width:0; color:var(--muted); font-size:var(--ui-compact-size); line-height:var(--ui-compact-line-height); overflow-wrap:anywhere; }
    .floorplan-tooltip-memo-only + .floorplan-tooltip-memo-only { margin-top:var(--space-1); }
    .floorplan-tooltip-total { margin-top:1px; padding-top:1px; border-top:1px solid var(--line); text-align:right; font-size:var(--ui-compact-size); line-height:var(--ui-line-height); }
    .floorplan-tooltip-layout.has-cut .floorplan-tooltip-total { margin-top:0; }
    /* Circle list and work editors */
    .list-header { flex:none; overflow:hidden; padding:0 var(--space-5); border-bottom:1px solid var(--line); background:var(--surface-raised); }
    .table-wrap { position:relative; flex:1; min-height:0; overflow-x:auto; overflow-y:auto; overscroll-behavior:contain; padding:0 var(--space-5); }
    .list-loading-state { position:absolute; z-index:2; inset:0; display:grid; place-items:center; min-height:96px; padding:var(--space-6); color:var(--muted); background:var(--paper); font-size:var(--ui-small-size); text-align:center; }
    table { width:100%; min-width:780px; table-layout:fixed; text-align:left; }
    #header-table, #body-table { min-width:839px; }
    th { text-align:center; white-space:nowrap; font-size:var(--ui-label-size); letter-spacing:var(--ui-label-spacing); color:var(--muted-strong); font-weight:var(--ui-label-weight); background:var(--surface-raised); padding:var(--ui-table-cell-padding); }
    td { min-height:52px; padding:var(--ui-table-cell-padding); border-bottom:1px solid var(--line-subtle); font-size:var(--ui-body-size); }
    tbody tr:last-child td { border-bottom:0; }
    tbody tr:not(.virtual-spacer):not(.empty-state-row):hover td { background-color:var(--surface-hover); }
    tbody tr:not(.virtual-spacer):not(.empty-state-row):hover td:first-child { box-shadow:-20px 0 0 var(--surface-hover); }
    body.public-reference-view tbody tr:not(.virtual-spacer):not(.empty-state-row):hover td:nth-child(2) { box-shadow:calc(0px - var(--space-5)) 0 0 var(--surface-hover); }
    tbody tr:not(.virtual-spacer):not(.empty-state-row):hover td:last-child { box-shadow:20px 0 0 var(--surface-hover); }
    tbody tr:not(.virtual-spacer):not(.empty-state-row):hover td:first-child:last-child { box-shadow:-20px 0 0 var(--surface-hover), 20px 0 0 var(--surface-hover); }
    #list-screen { flex:1; --circle-favorite-column-width:18px; --circle-color-column-width:50px; --circle-cut-column-width:112px; --work-entry-title-width:calc(50% - 136px); --work-entry-url-width:calc(25% - 31.5px); }
    #list-screen.is-empty-list { flex:1 0 auto; }
    #list-screen.is-empty-list .table-wrap { flex:1 0 auto; }
    body.public-reference-view #list-screen { --circle-favorite-column-width:0px; }
    .circle-favorite-column { width:var(--circle-favorite-column-width,18px); }
    .circle-color-column { width:var(--circle-color-column-width,50px); }
    .circle-cut-column { width:var(--circle-cut-column-width,112px); }
    .favorite-cell { width:var(--circle-favorite-column-width,18px); padding-right:0; padding-left:0; text-align:center; }
    .color-cell { width:var(--circle-color-column-width,50px); text-align:center; }
    .cut-cell { width:var(--circle-cut-column-width,112px); text-align:center; }
    #list-screen:not(.has-circle-cuts) {
      --circle-cut-column-width:0px;
      --work-entry-title-width:calc(50% - 80px);
      --work-entry-url-width:calc(25% - 59.5px);
    }
    #list-screen:not(.has-circle-cuts) .cut-cell,
    #list-screen:not(.has-circle-cuts) #header-table th:nth-child(3) {
      visibility:hidden;
      padding:0;
      border:0;
    }
    .cut-cell .circle-cut-thumbnail { margin:0 auto; }
    .color-cell-content { display:flex; align-items:center; justify-content:center; }
    .color-choices { display:grid; grid-template-columns:repeat(2,20px); justify-content:center; gap:var(--space-1); }
    .color-choice { position:relative; width:20px; height:20px; padding:0; border:1px solid var(--border-swatch); border-radius:var(--radius-icon); cursor:pointer; }
    .color-choice.has-shared-color { outline:2px solid var(--green); outline-offset:var(--focus-outline-offset-compact); }
    .favorite-choices { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0; transform:translateY(-1px); }
    .favorite-toggle { display:inline-flex; align-items:center; justify-content:center; width:var(--ui-favorite-control-width); height:var(--ui-symbol-control-height); padding:0; border:0; border-radius:var(--radius-none); background:transparent; font-size:var(--ui-icon-size); font-weight:var(--ui-weight-semibold); line-height:1; cursor:pointer; paint-order:stroke fill; }
    .favorite-toggle[data-favorite-type="yellow"] { color:var(--favorite-yellow); opacity:.8; -webkit-text-stroke:.7px var(--favorite-yellow-outline); }
    .favorite-toggle[data-favorite-type="gray"] { color:var(--favorite-gray); opacity:.8; -webkit-text-stroke:.7px var(--favorite-gray-outline); }
    .favorite-toggle[aria-pressed="true"] { opacity:1; }
    .favorite-toggle:hover:not(:disabled) { background:transparent; }
    .favorite-toggle:disabled { cursor:default; }
    body.public-reference-view #list-screen .favorite-cell,
    body.public-reference-view #list-screen #header-table th:first-child {
      visibility:hidden;
      width:0;
      min-width:0;
      padding:0;
      border:0;
      overflow:hidden;
    }
    body.public-reference-view #list-screen .favorite-cell > * { display:none; }
    .circle-cut-thumbnail { display:block; flex:none; width:100px; height:auto; object-fit:contain; border:1px solid var(--border-input); border-radius:var(--radius-thumbnail); background:var(--paper); }
    .booth { width:56px; padding-right:var(--space-2); padding-left:var(--space-2); white-space:nowrap; font-variant-numeric:tabular-nums; font-weight:var(--ui-weight-brand); color:var(--green); }
    .booth-stack { gap:var(--space-1); }
    .booth-date { color:var(--muted); font-size:var(--ui-caption-size); font-weight:var(--ui-weight-medium); line-height:var(--ui-tight-line-height); white-space:nowrap; }
    .name { width:auto; overflow-wrap:anywhere; }
    .data-stack { display:flex; flex-direction:column; gap:var(--space-2); }
    .circle-identity { min-width:0; }
    .circle-identity.has-author { display:flex; flex-wrap:nowrap; align-items:baseline; gap:var(--space-3); }
    .circle-identity.has-author > .circle-link, .circle-identity.has-author > .no-link { display:block; flex:0 1 auto; align-self:baseline; width:auto; min-width:0; max-width:100%; }
    .circle-author { flex:0 1 auto; min-width:0; color:var(--muted); line-height:var(--ui-line-height); overflow-wrap:anywhere; }
    .platform-link { display:inline-flex; width:18px; height:18px; align-items:center; justify-content:center; color:var(--icon-muted); border-radius:var(--radius-icon); }
    .platform-link:hover { color:var(--green); background:transparent; }
    .platform-link img { width:18px; height:18px; display:block; object-fit:contain; }
    .menu-embed { display:block; width:100%; max-width:550px; margin-top:var(--space-2); border:0; border-radius:var(--radius-card); background:var(--surface-soft); }
    .menu-site-widget { display:flex; flex-direction:column; gap:var(--space-2); width:min(100%,550px); margin-top:var(--space-2); padding:var(--space-4) var(--space-5); border:1px solid var(--line); border-radius:var(--radius-card); background:var(--paper); color:var(--ink); text-decoration:none; white-space:normal; transition:border-color .14s ease, box-shadow .14s ease; }
    .menu-site-widget:hover { border-color:var(--green); box-shadow:0 2px 10px #17201424; }
    .menu-site-widget:focus-visible { outline:2px solid var(--focus-border); outline-offset:var(--focus-outline-offset); }
    .menu-site-widget-title { font-size:var(--ui-small-size); font-weight:var(--ui-weight-semibold); line-height:var(--ui-line-height); overflow-wrap:anywhere; }
    .menu-site-widget-url { color:var(--muted); font-size:var(--ui-caption-size); line-height:var(--ui-compact-line-height); overflow-wrap:anywhere; }
    .menu-embed.generic { height:340px; }
    .menu-embed.youtube { aspect-ratio:16 / 9; height:auto; }
    .menu-embed.bluesky { width:100%; min-width:0; max-width:420px; }
    .menu-embed.nicovideo { aspect-ratio:16 / 9; height:auto; clip-path:inset(0 1px 0 0); }
    .melon-card { display:flex; flex-direction:row; align-items:stretch; width:min(100%,550px); min-height:150px; margin-top:var(--space-3); overflow:hidden; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--surface-soft); color:var(--ink); text-decoration:none; transition:border-color .14s ease, box-shadow .14s ease; }
    .melon-card:hover { border-color:var(--green); box-shadow:0 2px 10px #17201424; }
    .melon-card:focus-visible { outline:2px solid var(--focus-border); outline-offset:var(--focus-outline-offset); }
    .melon-card-image { display:block; flex:0 0 150px; width:150px; height:150px; aspect-ratio:1; object-fit:cover; background:var(--surface-disabled); }
    .melon-card-content { display:flex; flex:1; flex-direction:column; gap:var(--space-2); min-width:0; justify-content:center; padding:var(--space-4); }
    .melon-card-title { display:-webkit-box; overflow:hidden; font-size:var(--ui-small-size); font-weight:var(--ui-weight-semibold); line-height:var(--ui-line-height); -webkit-box-orient:vertical; -webkit-line-clamp:2; }
    .melon-card-description { display:-webkit-box; overflow:hidden; color:var(--muted); font-size:var(--ui-caption-size); line-height:var(--ui-line-height); overflow-wrap:anywhere; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
    .melon-card-description[hidden] { display:none; }
    .melon-card:not(.has-preview-image) .melon-card-image { display:none; }
    .work-record > .menu-site-widget,
    .work-record > .menu-embed.soundcloud,
    .work-record > .melon-card.wide-preview-card { width:min(100%,625px); max-width:none; }
    .x-embed-shell { width:100%; max-width:420px; min-height:80px; }
    blockquote.twitter-tweet { margin:var(--space-2) 0 0; }
    .twitter-tweet-rendered { max-width:420px !important; }
    .menu-save { height:var(--ui-inline-control-height); padding:0 var(--space-2); border:1px solid transparent; border-radius:var(--radius-button); background:transparent; color:var(--button-ghost-text); font:inherit; font-size:var(--ui-compact-size); cursor:pointer; }
    .no-link { color:var(--ink); font-weight:var(--ui-weight-semibold); line-height:var(--ui-line-height); }
    .circle-link { color:var(--ink); font-weight:var(--ui-weight-semibold); line-height:var(--ui-line-height); text-decoration:underline; text-decoration-color:var(--link-decoration); text-underline-offset:3px; overflow-wrap:anywhere; }
    .circle-link:hover { color:var(--green); text-decoration-color:var(--green); }
    .circle-link, .no-link { align-self:flex-start; width:fit-content; max-width:100%; }
    .link-cell { width:66px; vertical-align:middle; }
    .link-icons { display:grid; grid-template-columns:repeat(3,18px); gap:var(--space-2); width:max-content; padding:var(--space-1); }
    .work-editor, .work-list { display:flex; flex-direction:column; gap:var(--space-2); }
    .work-list-add { display:flex; justify-content:flex-start; }
    body.public-reference-view .work-list-add { display:none; }
    /* URL and memo stay the same size when the cut column is hidden; the title field takes the recovered width. */
    .work-entry { display:grid; grid-template-columns:minmax(0,var(--work-entry-title-width)) 40px 56px 34px minmax(0,var(--work-entry-url-width)) minmax(0,var(--work-entry-url-width)) var(--ui-symbol-control-width) var(--ui-symbol-control-width); gap:var(--space-dense); align-items:center; min-width:557px; white-space:nowrap; }
    .work-main-fields, .work-secondary-fields { display:contents; }
    .work-actions { grid-column:7 / 9; display:flex; align-items:center; justify-content:space-between; min-width:0; }
    .work-action-left, .work-action-right { display:flex; align-items:center; gap:var(--space-dense); min-height:var(--ui-symbol-control-height); }
    .work-input { width:100%; min-width:0; height:var(--ui-compact-control-height); padding:0 var(--ui-compact-field-padding-x); font-size:var(--ui-compact-size); }
    .work-price-picker { position:relative; display:block; width:100%; min-width:0; height:var(--ui-compact-control-height); }
    .work-price-placeholder { position:absolute; inset:0; display:flex; align-items:center; overflow:hidden; padding:0 var(--ui-compact-field-padding-x); color:var(--muted); font-size:var(--ui-compact-size); white-space:nowrap; pointer-events:none; }
    .work-price-picker[data-empty="false"] .work-price-placeholder { display:none; }
    .work-input[readonly], .work-input:disabled { border-color:var(--border-disabled); background:var(--surface-disabled); color:var(--muted); filter:grayscale(1); opacity:1; cursor:not-allowed; }
    .work-input[type="number"] { padding:0 0 0 var(--space-3); appearance:auto; }
    .work-input[type="number"]::-webkit-inner-spin-button { height:var(--ui-symbol-control-height); margin:0; }
    .work-buyer-assignment { width:fit-content; max-width:100%; color:var(--muted); font-size:var(--ui-compact-size); }
    body.public-reference-view .work-buyer-assignment { display:none; }
    .work-buyer-summary { display:flex; align-items:center; gap:var(--ui-field-column-gap); width:fit-content; max-width:100%; min-height:var(--ui-compact-control-height); }
    .work-buyer-summary-text { flex:1; min-width:0; max-width:min(60vw,420px); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .work-buyer-summary-action, .work-buyer-summary-label { flex:none; width:var(--ui-buyer-control-width); height:var(--ui-compact-control-height); padding:0; border:1px solid var(--button-secondary-border); border-radius:var(--radius-button); background:var(--button-secondary-bg); color:var(--button-secondary-text); font-size:var(--ui-compact-size); font-weight:var(--ui-weight-medium); }
    .work-buyer-summary-label { display:flex; align-items:center; justify-content:center; }
    .work-buyer-summary-action:hover, .work-buyer-summary-action[aria-expanded="true"] { border-color:var(--green); background:var(--button-primary-bg); color:var(--on-accent); }
    .work-buyer-panel { width:fit-content; max-width:min(100%,520px); margin:var(--space-1) 0 var(--space-2); padding:var(--space-4) var(--space-5); border:1px solid var(--line); border-radius:var(--radius-popover); background:var(--surface-raised); }
    .work-buyer-controls { display:grid; grid-template-columns:minmax(0,max-content) var(--ui-step-control-width) var(--ui-buyer-quantity-width) var(--ui-step-control-width); align-items:center; column-gap:var(--space-2); row-gap:var(--space-2); width:max-content; max-width:100%; }
    .work-buyer-person { display:contents; }
    .work-buyer-person-name { max-width:min(360px,calc(100vw - 160px)); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:var(--ui-compact-size); }
    .work-buyer-step { width:var(--ui-step-control-width); height:var(--ui-step-control-height); padding:0; border:1px solid var(--button-secondary-border); border-radius:var(--radius-button); background:var(--button-secondary-bg); color:var(--button-secondary-text); font-size:var(--ui-body-size); }
    .work-buyer-step:disabled { opacity:.4; cursor:default; }
    .work-buyer-quantity { min-width:var(--ui-buyer-quantity-width); text-align:center; font-variant-numeric:tabular-nums; }
    .work-buyer-notice { margin-top:var(--space-3); color:var(--muted); font-size:var(--ui-caption-size); }
    .work-status-toggle { width:var(--ui-buyer-control-width); height:var(--ui-compact-control-height); padding:0 var(--space-dense); border:1px solid var(--button-secondary-border); border-radius:var(--radius-button); background:var(--button-secondary-bg); color:var(--button-secondary-text); font-size:var(--ui-compact-size); }
    .work-status-toggle[aria-pressed="true"] { border-color:var(--border-selected); background:var(--pale); }
    .work-status-toggle:hover:not(:disabled) { border-color:var(--green); background:var(--button-primary-bg); color:var(--on-accent); }

    .work-record { display:flex; flex-direction:column; gap:var(--space-dense); }
    .work-remove, .work-add, .work-register, .work-cancel, .work-update { height:var(--ui-symbol-control-height); padding:0; border:1px solid var(--button-secondary-border); border-radius:var(--radius-button); background:var(--button-secondary-bg); color:var(--button-secondary-text); font-size:var(--ui-symbol-size); line-height:1; }
    .work-add:disabled { opacity:.4; cursor:default; }
    .work-remove, .work-add, .work-register, .work-cancel, .work-update { width:var(--ui-symbol-control-width); }
    .work-remove, .work-register, .work-cancel, .work-update { font-size:var(--ui-body-size); }
    .work-remove:hover:not(:disabled), .work-add:hover:not(:disabled), .work-register:hover:not(:disabled), .work-cancel:hover:not(:disabled), .work-update:hover:not(:disabled), .work-buyer-step:hover:not(:disabled) { border-color:var(--green); background:var(--button-primary-bg); color:var(--on-accent); }
    .menu-save:hover:not(:disabled) { border-color:var(--green); background:var(--button-primary-bg); color:var(--on-accent); }
    @media (hover:none) {
      button:hover:not(:disabled) { background:var(--button-primary-bg); }
      .soft-button:hover:not(:disabled):not([aria-current="page"]):not([aria-expanded="true"]):not([aria-pressed="true"]) { border-color:var(--button-secondary-border); background:var(--button-secondary-bg); color:var(--button-secondary-text); }
      #toggle-circle-ms-credentials[aria-expanded="true"]:hover:not(:disabled), .purchase-totals-toggle[aria-expanded="true"]:hover:not(:disabled) { background:var(--button-primary-bg); }
      .work-buyer-summary-action:hover:not(:disabled):not([aria-expanded="true"]),
      .work-status-toggle:hover:not(:disabled):not([aria-pressed="true"]),
      .work-remove:hover:not(:disabled), .work-add:hover:not(:disabled), .work-register:hover:not(:disabled), .work-cancel:hover:not(:disabled), .work-update:hover:not(:disabled), .work-buyer-step:hover:not(:disabled) { border-color:var(--button-secondary-border); background:var(--button-secondary-bg); color:var(--button-secondary-text); }
      .work-status-toggle[aria-pressed="true"]:hover:not(:disabled) { border-color:var(--border-selected); background:var(--pale); color:var(--button-secondary-text); }
      .menu-save:hover:not(:disabled) { border-color:transparent; background:transparent; color:var(--button-ghost-text); }
    }
    .empty { text-align:center; padding:var(--space-12) var(--space-7); color:var(--muted); font-size:var(--ui-body-size); }
    .virtual-spacer td { height:auto; min-height:0; padding:0; border:0; line-height:0; }
    #app-toast { position:fixed; z-index:3000; top:var(--screen-inset); left:50%; transform:translateX(-50%); width:max-content; max-width:calc(100vw - 28px); padding:var(--space-5) var(--space-6); border-radius:var(--radius-popover); background:var(--color-danger); color:var(--on-accent); box-shadow:0 6px 20px #20252035; font-size:var(--ui-body-size); line-height:var(--ui-line-height); text-align:center; }
    #app-toast.is-success { background:var(--button-primary-bg); }
    #pull-to-refresh-indicator { position:fixed; z-index:2990; top:var(--space-4); left:50%; display:flex; align-items:center; gap:var(--space-2); padding:var(--space-2) var(--space-4); transform:translate(-50%,-150%); border:1px solid var(--line); border-radius:var(--radius-control); background:var(--surface-raised); color:var(--muted); box-shadow:var(--shadow-card); font-size:var(--ui-small-size); line-height:var(--ui-compact-line-height); white-space:nowrap; opacity:0; pointer-events:none; transition:transform 140ms ease,opacity 140ms ease; }
    #pull-to-refresh-indicator::before { content:"↓"; color:var(--green); font-size:var(--ui-body-size); font-weight:var(--ui-weight-bold); }
    #pull-to-refresh-indicator.is-visible { transform:translate(-50%,var(--pull-offset,0px)); opacity:1; }
    #pull-to-refresh-indicator.is-ready::before { content:"↻"; }
    #pull-to-refresh-indicator.is-refreshing::before { width:12px; height:12px; border:2px solid var(--border-soft); border-top-color:var(--green); border-radius:var(--radius-circle); content:""; animation:pull-to-refresh-spin .7s linear infinite; }
    @keyframes pull-to-refresh-spin { to { transform:rotate(360deg); } }
    /* Responsive layouts */
    @media(max-width:1000px) {
      #list-screen { --circle-favorite-column-width:42px; --circle-cut-column-width:106px; }
      .list-header { display:none; }
      .table-wrap { overflow-x:hidden; padding-right:var(--space-5); padding-left:var(--space-5); border-top:1px solid var(--line); }
      #body-table, #circles { display:block; width:100%; min-width:0; }
      #body-table colgroup { display:none; }
      #header-table, #header-table thead { display:block; width:100%; min-width:0; }
      #header-table colgroup { display:none; }
      #header-table tr { display:grid; width:100%; grid-template-columns:minmax(0,1fr); grid-template-areas:"circle"; align-items:center; padding:0; }
      #header-table th { display:block; min-width:0; padding:var(--space-4) var(--space-3); text-align:center; }
      #header-table th:nth-child(1) { display:none; }
      #header-table th:nth-child(2) { display:none; }
      #header-table th:nth-child(3) { display:none; }
      #header-table th:nth-child(4), #header-table th:nth-child(6) { display:none; }
      #header-table th:nth-child(5) { grid-area:circle; }
      tbody tr:not(.virtual-spacer):not(.empty-state-row) { display:grid; width:100%; margin-left:0; grid-template-columns:var(--circle-cut-column-width,112px) var(--circle-favorite-column-width,36px) var(--circle-color-column-width,50px) minmax(0,1fr); grid-template-areas:"cut booth booth booth" "cut circle circle circle" "cut favorite color color" "cut links links links" "work work work work"; align-items:center; padding:var(--space-1) var(--space-2); border-bottom:1px solid var(--line-subtle); }
      body.public-reference-view tbody tr:not(.virtual-spacer):not(.empty-state-row) { grid-template-areas:"cut booth booth booth" "cut circle circle circle" "cut favorite color color" "cut links links links" "work work work work"; }
      tbody tr:not(.virtual-spacer):not(.empty-state-row):hover { background-color:var(--surface-hover); }
      tbody tr:not(.virtual-spacer):not(.empty-state-row):hover td { background-color:transparent; }
      tbody tr:not(.virtual-spacer):not(.empty-state-row):hover td:last-child { box-shadow:none; }
      tbody tr:not(.virtual-spacer):not(.empty-state-row):hover td:first-child { box-shadow:none; }
      tbody tr.virtual-spacer { display:block; width:100%; }
      tbody tr.virtual-spacer td { display:block; }
      tbody tr.empty-state-row { display:block; }
      tbody tr.empty-state-row td.empty { display:block; width:100%; }
      tbody tr:not(.virtual-spacer) td { min-width:0; width:auto; min-height:0; padding:var(--space-1) var(--space-3); border:0; }
      tbody tr.empty-state-row td.empty { padding:var(--space-12) var(--space-7); }
      tbody tr:not(.virtual-spacer) .favorite-cell { grid-area:favorite; padding-right:0; padding-left:0; }
      tbody tr:not(.virtual-spacer) .favorite-choices { flex-direction:row; gap:var(--space-3); }
      tbody tr:not(.virtual-spacer) .color-cell { grid-area:color; overflow-x:auto; }
      tbody tr:not(.virtual-spacer) .color-cell-content { justify-content:flex-start; }
      tbody tr:not(.virtual-spacer) .color-choices { display:flex; flex-wrap:nowrap; justify-content:flex-start; width:max-content; gap:var(--space-3); }
      tbody tr:not(.virtual-spacer) .color-choice { flex:none; }
      tbody tr:not(.virtual-spacer) .cut-cell { grid-area:cut; align-self:start; padding-top:var(--space-1); padding-right:0; padding-left:0; }
      tbody tr:not(.virtual-spacer) .cut-cell .circle-cut-thumbnail { margin:0; }
      tbody tr:not(.virtual-spacer) .booth { grid-area:booth; width:auto; padding-top:var(--space-1); padding-bottom:0; padding-left:0; text-align:left; white-space:nowrap; }
      tbody tr:not(.virtual-spacer) .booth-stack { flex-direction:row; flex-wrap:wrap; align-items:center; gap:var(--space-4); }
      tbody tr:not(.virtual-spacer) .name { display:contents; }
      tbody tr:not(.virtual-spacer) .name > .data-stack { display:contents; }
      tbody tr:not(.virtual-spacer) .circle-identity { grid-area:circle; align-self:center; width:100%; min-width:0; padding:0; }
      tbody tr:not(.virtual-spacer) .circle-identity.has-author { flex-direction:row; align-items:baseline; gap:var(--space-3); }
      tbody tr:not(.virtual-spacer) .circle-identity .circle-link, tbody tr:not(.virtual-spacer) .circle-identity .no-link { grid-area:auto; align-self:baseline; flex:0 1 auto; width:auto; max-width:100%; padding-left:0; }
      tbody tr:not(.virtual-spacer) .work-editor { grid-area:work; min-width:0; }
      tbody tr:not(.virtual-spacer) .link-cell { grid-area:links; width:auto; padding:var(--space-1) 0; }
      .floorplan-tooltip { max-width:min(460px,calc(100vw - 16px)); }
      .link-icons { display:flex; flex-wrap:nowrap; align-items:center; gap:var(--space-3); width:100%; max-width:100%; box-sizing:border-box; overflow-x:auto; overflow-y:hidden; overscroll-behavior-inline:contain; scrollbar-width:thin; padding-left:0; }
      .link-icons .platform-link { flex:0 0 18px; }
      .work-entry { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) var(--ui-work-actions-compact-width); gap:var(--space-dense); min-width:0; width:100%; white-space:nowrap; }
      .work-main-fields { display:grid; grid-column:1 / -1; grid-row:1; grid-template-columns:minmax(0,1fr) 40px 56px 34px; gap:var(--space-dense); width:100%; }
      .work-secondary-fields { display:contents; }
      .work-actions { display:flex; grid-column:3; grid-row:2; justify-content:flex-start; gap:var(--space-dense); width:100%; }
      .menu-embed { max-width:550px; }
      .menu-embed.bluesky { max-width:420px; }
    }
    @media(min-width:1001px) {
      .table-wrap { padding-left:0; }
      #body-table { width:calc(100% - var(--space-5)); margin-left:var(--space-5); }
      tbody tr:not(.virtual-spacer):not(.empty-state-row):hover td:first-child { box-shadow:-10px 0 0 var(--surface-hover); }
      .circle-identity.has-author { flex-direction:column; align-items:flex-start; gap:0; }
      .circle-identity.has-author > .circle-link, .circle-identity.has-author > .no-link { align-self:flex-start; }
    }
    @media(max-width:860px) {
      header { padding-right:var(--space-5); padding-left:20px; }
      main { padding-left:var(--space-5); padding-right:var(--space-5); }
      .event-catalog-section { --event-catalog-field-columns:minmax(0,1fr) minmax(0,1fr) 44px; }
      .event-catalog-row { grid-template-columns:minmax(0,1fr); align-items:start; row-gap:var(--space-3); }
      .event-catalog-fields,
      .event-catalog-editor.event-catalog-form .event-catalog-form-fields { grid-template-columns:var(--event-catalog-field-columns); }
      .event-catalog-fields > .event-catalog-urls,
      .event-catalog-editor.event-catalog-form .event-catalog-form-fields > .event-catalog-form-url-fields { grid-column:1 / -1; }
      .event-catalog-editor.event-catalog-form .event-catalog-form-fields > .event-catalog-form-actions { grid-column:1 / -1; justify-self:end; }
      .event-catalog-actions { grid-column:1; grid-row:auto; align-self:start; width:100%; min-width:0; margin-top:0; justify-content:flex-start; flex-wrap:nowrap; overflow-x:auto; }
      .event-catalog-edit-actions { flex:0 0 auto; margin-left:auto; }
    }
    @media(min-width:621px) and (max-width:800px) {
      .account-settings-layout { grid-template-columns:repeat(2,minmax(0,1fr)); }
      .account-settings-layout > .account-settings-actions { grid-column:2; }
      .circle-ms-credentials-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
      .circle-ms-credentials-actions { grid-column:1 / -1; }
    }
    @media(max-width:620px) {
      header { padding:18px var(--space-4) var(--space-5) 16px; }
      .screen-nav { flex-wrap:wrap; justify-content:flex-end; }
      .checklist-share-fields { grid-template-columns:minmax(0,1fr) auto; gap:var(--ui-field-column-gap); }
      .checklist-share-fields > .checklist-share-field:first-child { grid-column:1 / -1; }
      .checklist-share-fields > .checklist-share-role { grid-column:1; }
      .checklist-share-fields > button { grid-column:2; align-self:end; }
      .checklist-share-member { flex-wrap:wrap; }
      .checklist-share-member-actions { margin-left:auto; }
      .checklist-share-role-edit { flex-wrap:wrap; }
      .checklist-share-role-edit button { margin-left:0; }
      .checklist-share-confirm { justify-content:flex-start; }
      main { padding:0 var(--space-4) var(--space-5) }
      .account-settings-layout { grid-template-columns:minmax(0,1fr); width:100%; }
      .account-settings-layout > .account-settings-actions { grid-column:1; }
      .user-issue-form { flex-wrap:wrap; }
      .user-account-actions { flex:1 0 100%; justify-content:flex-end; }
      .circle-ms-credentials-form { grid-template-columns:minmax(0,1fr); }
      .user-account-toolbar { flex-wrap:wrap; }
      .user-account-toolbar h2 { flex:1 0 100%; }
      .user-account-toolbar .user-account-search { order:1; flex:1 1 120px; width:auto; min-width:0; }
      .user-account-toolbar > .list-pagination { order:2; }
      .event-catalog-toolbar { flex-wrap:wrap; }
      .event-catalog-toolbar-heading { flex:1 0 100%; }
      .event-catalog-toolbar > .event-catalog-search { order:1; flex:1 1 120px; width:auto; min-width:0; }
      .event-catalog-toolbar > .list-pagination { order:2; }
      .account-settings-actions { justify-content:flex-end; }
      .event-field, .event-catalog-form-name { width:100% }
      .event-catalog-form-fields { grid-template-columns:minmax(0,1fr); }
      .event-catalog-form-fields > .event-catalog-form-name, .event-catalog-form-fields > .event-field, .event-catalog-form-fields > .event-catalog-form-url-fields { width:100%; }
      .event-catalog-form-fields > .event-catalog-form-daycount { width:56px; }
      .event-catalog-form-fields > .event-catalog-form-url-fields { grid-column:1 / -1; }
      .event-catalog-fields { width:100%; }
      .event-catalog-fields > .event-catalog-urls { grid-column:1 / -1; }
      .event-catalog-fields > .event-catalog-urls,
      .event-catalog-editor button { width:100% }
      .event-catalog-editor .url-list-actions > button { width:var(--ui-symbol-control-width); }
      .event-catalog-form-actions { width:auto; justify-content:flex-end; margin:0; }
      .event-catalog-form-actions button { width:auto }
      .selectable-list-row { align-items:flex-start; flex-wrap:wrap }
      .selectable-list-choice { align-items:center; }
      .selectable-list-choice input[type="radio"] { margin:0; }
      .selectable-list-actions { flex:0 0 100%; justify-content:flex-end; margin-left:0; }
      .summary { padding:var(--screen-inset); gap:var(--space-4); }
      .counts { gap:var(--space-4) }
      .count { font-size:var(--ui-count-compact-size) }
      .purchase-totals { font-size:var(--ui-compact-size); }
      .filters { padding:0 var(--screen-inset) var(--screen-inset); gap:var(--ui-field-column-gap) }
      .filter-field { gap:var(--ui-label-control-gap) }
      .filter-field select { min-width:0 }
      .settings-button { width:auto }
      .floorplan-controls { padding:var(--screen-inset); gap:var(--ui-field-column-gap); }
      .floorplan-controls select { width:100%; }
      .floorplan-viewport { padding:var(--screen-inset); }
    }
