/* Shared presentation layer. Business states and form submission stay server-owned. */
:root {
  --coral:#B93450; --coral-dark:#96253E; --coral-soft:#FFF1F4;
  --text:#28252E; --text-700:#514D58; --text-500:#68656E;
  --line:#E7E4E9; --line-light:#F0EDF2; --bg-gray:#F7F6F9; --bg-hover:#FAF8FB;
  --ink-500:104 101 110; --ink-400:115 111 121;
  --ui-radius:16px; --ui-shadow:0 8px 28px rgba(43,32,53,.045);
}
body,h1,h2,h3,h4,.bloom-input,.sumi-input,.bloom-btn,.sumi-btn {font-family:'Noto Sans JP',Inter,system-ui,sans-serif;}
body {line-height:1.75;}
h1,h2,h3 {text-wrap:pretty;}
button,a,input,select,textarea,summary {touch-action:manipulation;}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible {outline:3px solid #7553AD;outline-offset:3px;}
:where(button,a)[aria-disabled="true"] {cursor:not-allowed;}
[hidden] {display:none!important;}
.skip-link {position:fixed;top:8px;left:16px;z-index:100;background:white;padding:12px 20px;border-radius:10px;transform:translateY(-160%);}
.skip-link:focus {transform:none;}
.app-shell {background:var(--bg-gray);height:100dvh;}
.app-shell > .flex-1 {min-width:0;background:var(--bg-gray);}
.page-content {padding-bottom:110px;}
.page-content > header, .page-content > div > header {margin-bottom:28px;}
.page-content h1 {letter-spacing:-.035em;font-weight:750;}
.page-content > header h1,.page-content > div > header h1 {font-size:clamp(25px,2.5vw,32px);}
.page-content p {text-wrap:pretty;}
.page-content :is(.text-text-500,.text-ink-500) {color:var(--text-500);}
.page-content .text-ink-400 {color:#736F79;}
.label-sumi {font-size:12px;letter-spacing:.055em;}
.bloom-card,.sumi-card,.bloom-glass-card {border-radius:var(--ui-radius);box-shadow:var(--ui-shadow);}
.bloom-btn,.sumi-btn {border-radius:10px;min-height:44px;padding:10px 18px;white-space:normal;line-height:1.5;}
.bloom-btn-sm,.sumi-btn-sm {min-height:36px;padding:7px 12px;font-size:12px;}
.bloom-btn-primary,.sumi-btn-primary {background:var(--coral);border-color:var(--coral);box-shadow:0 3px 8px #B9345018;}
.bloom-btn-secondary,.sumi-btn-secondary {background:white;}
.bloom-btn:active:not(:disabled),.sumi-btn:active:not(:disabled) {transform:translateY(1px);}
.bloom-input,.sumi-input {border-radius:10px;min-height:44px;background:#fff;font-size:14px;}
textarea.bloom-input,textarea.sumi-input {line-height:1.85;resize:vertical;}
input[type=checkbox],input[type=radio] {accent-color:var(--coral);}
.bloom-badge,.sumi-badge {border-radius:6px;font-size:12px;letter-spacing:0;}
.bloom-dialog {width:min(760px,calc(100vw - 32px));max-height:calc(100dvh - 32px);border-radius:20px;}
.bloom-dialog > div {border-radius:20px;margin-inline:0;width:100%;max-width:none;}
dialog :is(input,select,textarea) {max-width:100%;}
dialog {overscroll-behavior:contain;}
dialog::backdrop {background:rgba(32,25,39,.42);backdrop-filter:blur(4px);}
.sidebar-link {margin:3px 12px;padding:11px 13px;border-radius:10px;border-left:0;font-size:13px;}
.sidebar-link.active {box-shadow:inset 3px 0 var(--coral);}
#sidebar {width:240px;}
#sidebar nav {padding-top:12px;overflow-x:hidden;}
#sidebar .sidebar-link > span {min-width:0;}
#sidebar .sidebar-link svg {opacity:.85;}
.page-help {margin:0 0 20px;border-bottom:1px solid var(--line);padding:0 0 14px;font-size:13px;}
.page-help summary {cursor:pointer;color:var(--text-500);font-weight:500;}
.page-help > div {padding:12px 0;}
.workflow-nav {border:1px solid var(--line);border-radius:14px;background:white;padding:8px;}
.workflow-nav a {min-height:44px;}
.workflow-nav a[aria-current] {border-radius:9px;}
.page-content table {border-collapse:separate;border-spacing:0;width:100%;font-size:13px;background:white;}
.page-content th {background:#F5F3F7;color:var(--text-700);font-weight:600;text-align:left;white-space:nowrap;}
.page-content td,.page-content th {padding:14px 16px;line-height:1.65;}
.page-content td {border-bottom:1px solid var(--line-light);vertical-align:middle;}
.page-content tbody tr:last-child td {border-bottom:0;}
.page-content tbody tr:hover {background:var(--bg-hover);}
.page-content .overflow-x-auto {border-radius:12px;}
.page-content table :is(button,a) {scroll-margin:20px;}
.phase2-items-table th:last-child,.phase2-items-table td:last-child {min-width:128px;white-space:nowrap;}
.phase2-items-table td:last-child a {display:inline-flex;align-items:center;min-height:44px;color:var(--coral);font-size:13px;font-weight:700;}
.table-scroll-hint {font-size:12px;color:var(--text-500);margin:8px 0;}
.public-header {display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px max(28px,calc((100vw - 1200px)/2));background:white;border-bottom:1px solid var(--line);}
.public-brand {font-size:29px;font-weight:800;letter-spacing:-1.4px;color:var(--coral);line-height:1;}
.public-brand span {display:block;color:var(--text-500);font-size:10px;letter-spacing:.06em;margin-top:9px;}
.public-header nav,.public-header-actions {display:flex;align-items:center;gap:26px;font-size:13px;font-weight:600;}
.public-header nav a:hover,.public-header-actions > a:hover {color:var(--coral);}
.public-header .line-cta {padding:10px 16px;font-size:13px;min-height:44px;}
.public-shell {height:calc(100dvh - 85px);}
.public-shell #sidebar {display:none;}
.public-shell > .flex-1 {background:white;}
.public-shell .page-content {max-width:1200px;}
@media (min-width:1600px) {
  .app-shell:not(.public-shell) .page-content {max-width:min(1520px, 72vw);}
}
.public-shell .page-help {display:none;}
.line-cta {background:#087F43;border-color:#087F43;border-radius:12px;min-height:46px;transition:background .2s,box-shadow .2s;}
.line-cta:hover {background:#076C39;box-shadow:0 4px 14px #087F431A;}
.line-cta-secondary {background:#F3FAF6;border-color:#C4DDCD;color:#176340!important;}
.line-cta-secondary:hover {background:#E7F3EB;}
.consultation-eyebrow {color:var(--coral);}
.consultation-concerns article {border-radius:18px;background:#FCFBFD;padding:28px;display:flex;flex-direction:column;}
.consultation-concerns article .line-cta {margin-top:auto;}
.consultation-section {margin-bottom:72px;}
.consultation-floating {border-radius:16px;box-shadow:0 6px 24px #20382B12;}
.consultation-dialog .consultation-message-label,.consultation-dialog .consultation-dialog-footer p {font-size:12px;color:#59695F;}
.consultation-dialog :is(.consultation-copy,.consultation-account,.consultation-dialog-footer a) {font-size:12px;}
#feedback-fab {background:#087F43!important;}
.store-card {display:flex;flex-direction:column;min-width:0;}
@media (max-width:700px) {body[data-page="/store"] #feedback-fab {display:none;}}
@media (max-width:700px) {body[data-page^="/store/"] #feedback-fab {display:none;}}
.store-card-main {display:block;flex:1;padding-bottom:6px;}
.store-card-main > .p-2\.5 {padding:16px;}
.store-external {border-width:1px 0 0!important;min-height:44px;background:#FCFBFD;}
.store-card:focus-within {outline:2px solid var(--coral);outline-offset:3px;}
.store-card-main img {transition:transform .3s ease;}
@media (hover:hover) and (pointer:fine) {.store-card:hover img {transform:translateY(-2px) rotate(-3deg) scale(1.07);}}
.project-card {border-radius:16px!important;}
.project-card:hover {transform:none;box-shadow:0 6px 20px #3923440A;}
.project-card .project-dates {flex-wrap:wrap;row-gap:4px;}
.project-card .project-title-row {flex-wrap:wrap;align-items:flex-start;}
.project-card .project-title-row h3 {overflow-wrap:anywhere;line-height:1.65;}
.project-card .project-title-row > span {margin-top:3px;}
.project-card .project-selection {width:44px;height:44px;left:0;top:9px;}
.project-card-heading {padding-bottom:14px;border-bottom:1px solid var(--line-light);}
.project-card-heading > .text-right {padding-top:3px;}
.project-card-action {display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid var(--line-light);color:var(--coral);font-size:12px;font-weight:700;line-height:1.6;}
.project-card-action span {font-size:16px;line-height:1;}
@media(max-width:639px) {
  .project-card .project-title-row h3 {font-size:14px;}
  .project-card .project-dates {font-size:11px;gap:2px 8px;}
  .project-card-heading {gap:10px;}
}
.project-search {display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:20px;}
.project-search input {flex:1;min-width:180px;max-width:440px;padding:11px 14px;}
.project-search p {font-size:12px;color:var(--text-500);}
.project-list-tools {display:flex;align-items:center;justify-content:space-between;gap:12px 24px;margin-bottom:16px;}
.project-start-choice:hover {border-color:var(--coral)!important;box-shadow:0 8px 24px #39234410!important;}
.project-start-choice:focus-visible {outline:3px solid var(--coral);outline-offset:3px;}
@media (max-width:700px) {body[data-page="/jobs/new"] #feedback-fab {display:none;}}
.project-list-tools .project-search {flex:1;margin-bottom:0;}
.project-select-all {min-height:44px;white-space:nowrap;}
.projects-filter-nav .projects-total {margin-left:auto;}
.projects-next-detail {display:none;}
@media (max-width:700px) {
  .projects-page-header {margin-bottom:18px;}
  .projects-page-intro {display:none;}
  .projects-view-nav {margin-bottom:18px;}
  .projects-next-action {margin-bottom:20px;}
  .projects-next-description {display:none;}
  .projects-next-detail {display:block;}
  .projects-next-detail summary {cursor:pointer;padding:5px 0;text-decoration:underline;text-underline-offset:3px;}
  .projects-filter-nav {margin-bottom:14px;}
  .project-list-tools {display:block;}
  .project-list-tools .project-search {gap:6px;margin-bottom:4px;}
  .project-list-tools .project-search input {min-height:48px;min-width:0;}
  .project-select-all {display:flex;justify-content:flex-end;}
}
.step-surface {border-radius:16px!important;}
.step-surface[data-state=processing] {border-color:#ADC8DD!important;background:#FBFDFF!important;}
.step-surface[data-state=failed],.step-surface[data-state=partial] {border-color:#E4B4BE!important;}
.completed-step {border:1px solid var(--line);border-radius:14px;background:#fff;margin-bottom:12px;padding:16px 20px;}
.completed-step > summary {cursor:pointer;display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:14px;font-weight:600;}
.completed-step > summary::before {content:'+';color:var(--text-500);font-size:20px;font-weight:400;}
.completed-step[open] > summary::before {content:'−';}
.completed-step > .relative {margin-top:20px;}
.completed-step .step-surface {border:0!important;padding:0!important;}
.item-workspace {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start;}
.item-gallery {position:sticky;top:24px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;}
.item-gallery img {border-radius:12px;}
.item-image-link {display:block;height:100%;cursor:zoom-in;}
.item-gallery .gallery-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.item-gallery .gallery-grid > :first-child {grid-column:1/-1;}
.item-data {min-width:0;}
.item-data dd {white-space:normal;overflow-wrap:anywhere;}
.settings-nav {display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px;}
.settings-nav a {padding:9px 15px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:13px;}
.settings-nav a:hover {color:var(--coral);border-color:var(--coral);}
.settings-section {scroll-margin-top:24px;background:white;border:1px solid var(--line);border-radius:16px;padding:0 24px 24px;margin-bottom:24px;}
.settings-section > div:first-child {flex-wrap:wrap;gap:12px;}
.settings-section :is(.grid,.flex) {min-width:0;}
.settings-save {position:sticky;bottom:0;background:#fff;padding:16px!important;border-top:1px solid var(--line);z-index:2;}
.form-change-note {font-size:12px;color:var(--coral);margin:10px 0;}
.form-change-note:empty {display:none;}
.edit-comparison {max-width:380px;min-width:180px;}
.edit-comparison dd {white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;margin:4px 0 16px;}
.edit-comparison dt {font-weight:700;color:var(--text-500);}
.batch-actions {max-width:100%;}
.editing-batch-meta span {white-space:nowrap;}
@media(min-width:640px) and (max-width:1199px) {
  .editing-batch-row,.admin-editing-batch-row {display:block;}
  .editing-batch-row .batch-actions,.admin-editing-batch-row .batch-actions {margin-top:16px;}
}
body[data-page="/account"] [data-tab-panel] {border:1px solid var(--line);border-radius:16px;background:white;padding:0 24px 24px;}
body[data-page="/account"] .account-tab {min-height:44px;}
body[data-page="/account"] .account-name-edit {min-width:44px;min-height:44px;padding:8px 10px;border-radius:8px;}
body[data-page="/account"] #avatar-container:focus-visible {outline:3px solid var(--coral);outline-offset:4px;border-radius:4px;}
body[data-page="/account"] #display-name {overflow-wrap:anywhere;}
body[data-page="/account"] #account-deletion-dialog input {font-size:16px;min-height:48px;}
@media (max-width:640px) {body[data-page="/account"] #feedback-fab {display:none;}}
body[data-page="/credentials"] form :is(input,select) {font-size:16px;min-height:48px;}
body[data-page="/credentials"] .credential-heading {flex-wrap:wrap;}
body[data-page="/credentials"] .sumi-badge {white-space:nowrap;flex-shrink:0;}
@media (max-width:640px) {body[data-page="/credentials"] #feedback-fab {display:none;}}
body[data-page="/phase4/settings"] #settings-form :is(input,select) {font-size:16px;min-height:48px;}
body[data-page="/phase4/settings"] .phase4-credential-status {display:flex;flex-direction:column;align-items:flex-start;gap:10px;}
body[data-page="/phase4/settings"] .phase4-credential-status .sumi-btn {min-height:44px;}
@media (max-width:640px) {body[data-page="/phase4/settings"] #feedback-fab {display:none;}}
body[data-page="/editing/settings"] .editing-sites-empty {border:1px dashed var(--line);border-radius:12px;padding:24px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;}
body[data-page="/editing/settings"] .editing-sites-empty .sumi-btn {min-height:44px;}
body[data-page="/editing/settings"] :is(#edit-overlay,#default-edit-overlay) :is(input,select,textarea) {font-size:16px;min-height:48px;}
body[data-page="/editing/settings"] :is(#edit-overlay,#default-edit-overlay) .sumi-btn {min-height:44px;}
body[data-page="/editing/settings"] :is(#edit-overlay,#default-edit-overlay) button[aria-label="閉じる"] {min-width:44px;min-height:44px;}
@media (max-width:640px) {body[data-page="/editing/settings"] #feedback-fab {display:none;}}
body[data-page="/account/api-keys"] #key-name {font-size:16px;min-height:48px;}
body[data-page="/account/api-keys"] :is(#issue-btn,#issued-box button,#keys-list button) {min-height:44px;}
body[data-page="/account/api-keys"] #issued-box > div {flex-wrap:wrap;}
body[data-page="/account/api-keys"] #issued-key {min-width:0;user-select:all;}
@media (max-width:640px) {
 body[data-page="/account/api-keys"] #feedback-fab {display:none;}
 body[data-page="/account/api-keys"] #keys-list thead {display:none;}
 body[data-page="/account/api-keys"] #keys-list :is(table,tbody) {display:block;width:100%;}
 body[data-page="/account/api-keys"] #keys-list .api-key-row {display:grid;padding:12px;}
 body[data-page="/account/api-keys"] #keys-list .api-key-row td {display:flex;justify-content:space-between;gap:12px;text-align:right;padding:8px;overflow-wrap:anywhere;}
 body[data-page="/account/api-keys"] #keys-list .api-key-row td::before {content:attr(data-label);flex-shrink:0;color:var(--text-500);font-weight:600;}
}
@media (max-width:640px) {
 body[data-page="/account"] .account-tabs {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;gap:0;}
 body[data-page="/account"] .account-tab {white-space:normal;text-align:center;padding:10px 4px;line-height:1.5;}
 body[data-page="/account"] .account-profile-content {flex-direction:column;gap:20px;}
 body[data-page="/account"] .account-name-row {flex-wrap:wrap;align-items:center;}
 body[data-page="/account"] .account-name-form {flex-wrap:wrap;}
 body[data-page="/account"] .account-name-form input {flex-basis:100%;min-width:0;font-size:16px;}
}
.account-setup-guide > summary {background:var(--bg-gray);}
.guide-toc {position:sticky;top:0;z-index:5;background:rgba(255,255,255,.97);padding:12px 0;border-bottom:1px solid var(--line);}
.guide-toc a {flex-shrink:0;}
.pricing-grid {align-items:stretch;}
.pricing-grid > div {border-radius:16px!important;}
.pricing-grid > div:hover {transform:none!important;}
.legal-document {max-width:800px;margin:auto;}
.legal-document h2 {font-size:18px;margin:28px 0 12px;}
.legal-document p,.legal-document li {font-size:14px;line-height:2;}
.legal-document .legal-draft-note {padding:12px 16px;border-left:3px solid var(--coral);background:var(--coral-soft);font-size:12px;line-height:1.75;}
.legal-document .legal-prose a {color:var(--coral);text-decoration:underline;text-underline-offset:3px;}
body[data-page^="/guides/"] article {max-width:1120px;margin-inline:auto;}
body[data-page="/login"] .login-bg > div,body[data-page="/reset-password"] .max-w-\[400px\] {max-width:440px;}
body[data-page="/login"] .login-bg .bg-white,body[data-page="/reset-password"] .bg-white.rounded {border-radius:20px;}
body[data-page^="/admin"] .page-content > header {border-bottom:1px solid var(--line);padding-bottom:24px;}
body[data-page^="/admin"] pre {border-radius:12px;line-height:1.8;}
.page-content footer {margin-top:64px;padding-top:32px;}
.mobile-service-flow {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border:1px solid var(--line);border-radius:16px;padding:20px;background:var(--bg-gray);}
.mobile-service-flow li {font-size:12px;font-weight:600;display:flex;align-items:center;gap:8px;}
.mobile-service-flow li > span {color:var(--coral);background:white;display:grid;place-items:center;flex-shrink:0;width:26px;height:26px;border-radius:50%;}
.error-screen {background:var(--bg-gray);}.error-panel {background:white;border:1px solid var(--line);border-radius:24px;padding:40px 24px;}
.error-code {color:var(--coral);letter-spacing:-.06em;}
#sites-grid label {min-width:0;}#sites-grid label span {overflow-wrap:anywhere;min-width:0;}
@media(min-width:1024px) {.mobile-service-flow {display:none;}}
@media(max-width:1023px) {
  .public-header {display:none;}.public-shell {height:100dvh;}.public-shell #sidebar {display:flex;}
  #sidebar {width:260px;}.item-workspace {gap:20px;}
  .workflow-nav a {padding:8px 4px;gap:6px;}.workflow-nav a > span:last-child {font-size:11px;}
  body[data-page^="/phase2/batches/"] #feedback-fab {display:none;}
  body[data-page^="/phase2/items/"] #feedback-fab {display:none;}
  body[data-page="/phase3"] #feedback-fab,
  body[data-page^="/phase3/batches/"] #feedback-fab {display:none;}
  body[data-page="/phase4"] #feedback-fab {display:none;}
  body[data-page^="/phase4/batches/"] #feedback-fab {display:none;}
  body[data-page="/dashboard"] #feedback-fab {display:none;}
}
@media(max-width:767px) {
  .collection-job-row button[aria-label="ジョブを中断"] {opacity:1;}
  .collection-job-main {width:100%;}
  .collection-job-url {flex-basis:100%;max-width:100%;}
  .phase4-items-table,.phase4-items-table tbody {display:block;background:transparent;}
  .phase4-items-table thead {display:none;}
  .phase4-items-table tbody {display:grid;gap:12px;}
  .phase4-items-table tbody tr {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:16px;border:1px solid var(--line);border-radius:14px;background:white;box-shadow:var(--ui-shadow);}
  .phase4-items-table tbody td {display:block;min-width:0;padding:0!important;border:0!important;max-width:none;white-space:normal;overflow-wrap:anywhere;}
  .phase4-items-table tbody td:nth-child(2) {grid-column:1/-1;grid-row:1;font-weight:700;}
  .phase4-items-table tbody td:nth-child(1) {grid-column:1;grid-row:2;}
  .phase4-items-table tbody td:nth-child(1)::before {content:'商品 ';font-weight:400;color:var(--text-500);}
  .phase4-items-table tbody td:nth-child(3) {grid-column:2;grid-row:2;text-align:right;}
  .phase4-items-table tbody td:nth-child(4) {grid-column:1/-1;grid-row:3;text-align:left;}
  .phase4-items-table tbody td:nth-child(5) {grid-column:1/-1;grid-row:4;}
  .phase4-items-table tbody td:nth-child(5):empty {display:none;}
}
.collection-job-row button[aria-label="ジョブを中断"]:focus-visible {opacity:1!important;}
@media(hover:none) {.collection-job-row button[aria-label="ジョブを中断"] {opacity:1!important;}}

.job-detail-header {display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:8px 0 28px;border-bottom:1px solid var(--line);}
.job-detail-eyebrow {font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--text-500);margin:0 0 10px;}
.job-detail-title {font-size:clamp(25px,3vw,38px);line-height:1.25;font-weight:800;color:var(--text);overflow-wrap:anywhere;}
.job-detail-subtitle {font-size:13px;line-height:1.8;color:var(--text-500);margin-top:10px;}
.job-detail-outcome {padding:34px 0 38px;}
.job-detail-outcome h2 {font-size:clamp(21px,2.2vw,28px);font-weight:800;line-height:1.45;color:var(--text);margin:0 0 12px;}
.job-detail-outcome > p:not(.job-detail-eyebrow) {font-size:14px;line-height:1.9;color:var(--text-700);max-width:52ch;margin:0 0 22px;}
.job-detail-error {padding:14px 18px;border-left:3px solid var(--sale);background:#fff5f4;overflow-wrap:anywhere;}
.job-detail-actions {display:flex;flex-wrap:wrap;gap:12px;}
.job-detail-outcome .bloom-btn {min-height:48px;}
.job-detail-results {padding:24px 0 32px;border-top:1px solid var(--line);}
.job-detail-section-heading {display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:16px;}
.job-detail-section-heading h2 {font-size:18px;font-weight:800;color:var(--text);}
.job-detail-section-heading span {font-size:12px;color:var(--text-500);white-space:nowrap;}
.job-detail-result-list {max-height:360px;overflow:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.job-detail-result-link {display:block;padding:13px 4px;border-bottom:1px solid var(--line-light);font-size:13px;line-height:1.6;color:var(--text-700);overflow-wrap:anywhere;}
.job-detail-result-link:last-child {border-bottom:0;}
.job-detail-result-link:hover {color:var(--coral);}
.job-detail-meta {border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 0 24px;}
.job-detail-meta summary {min-height:52px;display:flex;align-items:center;cursor:pointer;color:var(--text-700);font-size:13px;font-weight:700;}
.job-detail-meta dl {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;padding:0 0 18px;}
.job-detail-meta dl > div {min-width:0;padding:12px 0;border-top:1px solid var(--line-light);}
.job-detail-meta dl > div:first-child {grid-column:1/-1;}
.job-detail-meta dt {font-size:11px;color:var(--text-500);font-weight:700;margin-bottom:6px;}
.job-detail-meta dd {font-size:13px;color:var(--text);line-height:1.6;overflow-wrap:anywhere;}
.job-detail-meta a {color:var(--coral);text-decoration:underline;}
.job-detail-back {display:inline-flex;align-items:center;min-height:44px;color:var(--text-700);font-size:13px;font-weight:700;}
.job-detail :is(a,summary):focus-visible {outline:3px solid var(--coral);outline-offset:3px;border-radius:3px;}
@media(max-width:639px) {
  .job-detail-header {flex-wrap:wrap;gap:14px;padding-bottom:22px;}
  .job-detail-outcome {padding:26px 0 30px;}
  .job-detail-actions {display:grid;}
  .job-detail-actions .bloom-btn {width:100%;justify-content:center;}
  .job-detail-meta dl {grid-template-columns:minmax(0,1fr);}
}
@media(max-width:1023px) {body[data-page^="/jobs/"] #feedback-fab {display:none;}}

.history-tabs a {min-height:48px;white-space:nowrap;}
.history-empty {border:1px solid var(--line);border-radius:14px;padding:32px 24px;text-align:center;background:white;}
.history-empty h2 {font-size:18px;font-weight:800;color:var(--text);margin-bottom:8px;}
.history-empty p {font-size:13px;line-height:1.8;color:var(--text-500);margin-bottom:20px;}
.history-row-main > div:first-child {min-width:0;}
.history-row-actions .bloom-btn {min-height:44px;}
.history-danger {margin-top:8px;}
.history-danger summary {display:inline-flex;align-items:center;min-height:44px;font-size:12px;font-weight:700;color:var(--text-500);cursor:pointer;}
.history-danger .bloom-btn {min-height:44px;margin:2px 0 8px;}
body[data-page="/history"] :is(a,button,summary):focus-visible {outline:3px solid var(--coral);outline-offset:3px;}
@media(max-width:639px) {
  body[data-page="/history"] .history-row-main {display:block;}
  body[data-page="/history"] .history-row-actions {display:flex;gap:8px;margin-top:16px;}
  .history-row-actions .bloom-btn {flex:1;justify-content:center;}
  .history-tabs a {padding-inline:12px;}
}
@media(max-width:1023px) {body[data-page="/history"] #feedback-fab {display:none;}}

body[data-page="/credits"] .credits-plan-grid .bloom-btn {min-height:48px;}
body[data-page="/credits"] .credits-current-plan {font-size:32px;line-height:1.25;white-space:nowrap;}
body[data-page="/credits"] :is(a,button):focus-visible {outline:3px solid var(--coral);outline-offset:3px;}
@media(max-width:639px) {
  body[data-page="/credits"] .credits-summary {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  body[data-page="/credits"] .credits-summary > div {min-width:0;padding:14px;}
  body[data-page="/credits"] .credits-summary > div > div:first-child {margin-bottom:8px;}
  body[data-page="/credits"] .credits-summary > div > div:first-child > div:first-child {display:none;}
  body[data-page="/credits"] .credits-summary .numerals.text-\[42px\] {font-size:29px;}
  body[data-page="/credits"] .credits-summary .text-\[28px\] {font-size:23px;}
  body[data-page="/credits"] .credits-current-plan {font-size:24px;}
  body[data-page="/credits"] .credits-summary p {font-size:11px;line-height:1.55;}
  body[data-page="/credits"] .credits-transactions,
  body[data-page="/credits"] .credits-transactions tbody {display:block;}
  body[data-page="/credits"] .credits-transactions thead {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
  body[data-page="/credits"] .credits-transactions tr {display:grid;grid-template-columns:1fr auto;gap:5px 12px;padding:14px;border-bottom:1px solid var(--line);}
  body[data-page="/credits"] .credits-transactions td {display:block;padding:0!important;min-width:0;text-align:left;}
  body[data-page="/credits"] .credits-transactions td:nth-child(1) {grid-column:1/-1;font-size:11px;}
  body[data-page="/credits"] .credits-transactions td:nth-child(2) {grid-column:1/-1;font-weight:700;}
  body[data-page="/credits"] .credits-transactions td:nth-child(3)::before,
  body[data-page="/credits"] .credits-transactions td:nth-child(4)::before {content:attr(data-label) " ";font-size:11px;font-weight:400;color:var(--text-500);}
}
@media(max-width:1023px) {body[data-page="/credits"] #feedback-fab {display:none;}}
@media(max-width:1023px) {body[data-page^="/admin"] #feedback-fab {display:none;}}
@media(max-width:1023px) {body[data-page="/guide"] #feedback-fab {display:none;}}
@media(max-width:639px) {
  .page-content {padding:24px 18px 110px;}
  .page-content table td,.page-content table th {padding:12px;font-size:12px;}
  .page-content .bloom-btn,.page-content .sumi-btn {max-width:100%;}
  .batch-actions {width:100%;gap:12px;}
  body[data-page="/account"] [data-tab-panel] {padding:0 16px 20px;}
  .item-data dl.grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  .workflow-nav ol {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;}
  .workflow-nav li {width:100%;}.workflow-nav a > span:last-child {font-size:12px;}
  .item-workspace {grid-template-columns:1fr;}.item-gallery {position:static;}
  .settings-section {padding:0 16px 16px;}.settings-save {flex-wrap:wrap;}
  .consultation-section {margin-bottom:48px;}
  .consultation-qr-row {display:flex;flex-direction:column-reverse;align-items:stretch;}
  .consultation-dialog #consultation-open-line {background:#087F43;color:white;border:0;border-radius:10px;padding:12px;justify-content:center;font-size:14px;}
  .consultation-scan-panel {padding:12px;}.consultation-qr-frame img {width:140px;height:140px;}
  .store-price-band {flex-direction:column;align-items:stretch!important;gap:16px!important;}
  .legal-document table tr {display:block;padding:0;border-bottom:1px solid var(--line);}
  .legal-document table :is(td,th) {display:block;width:100%;border:0;padding:9px 14px!important;line-height:1.7;}
  .legal-document table th {background:var(--bg-gray)!important;}
  .project-card .grid-cols-4 {gap:8px;}.project-card .text-\[10px\] {font-size:11px;}
  .bloom-dialog {width:calc(100vw - 20px);max-height:calc(100dvh - 20px);}
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {scroll-behavior:auto!important;}
  .store-card:hover img,.bloom-btn:active,.sumi-btn:active {transform:none!important;}
  .reveal {opacity:1;transform:none;}
}

/* Detail headings keep the project name readable beside aggregate progress. */
.project-detail-heading {display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:24px;}
.project-detail-id {overflow-wrap:anywhere;line-height:1.7;}
.project-detail-id summary {cursor:pointer;width:max-content;max-width:100%;min-height:30px;padding:4px 0;font-weight:600;}
.project-detail-id code {display:block;user-select:all;font-size:11px;letter-spacing:0;margin:3px 0 8px;}
.project-detail-title {display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:start;gap:8px;}
.project-detail-title h1 {overflow-wrap:anywhere;line-height:1.5;}
.project-detail-title > button {width:44px;height:44px;}
.project-detail-title > span {grid-column:1 / -1;justify-self:start;margin-bottom:8px;}
.project-detail-progress {justify-self:start;}
body[data-page^="/projects/"] #project-name-edit :is(input,button) {min-height:48px;}
@media (max-width:1023px) {
  body[data-page^="/projects/"] #feedback-fab,
  body[data-page="/projects"] #feedback-fab,
  body[data-page="/phase2"] #feedback-fab {display:none;}
}
@media (max-width:700px) {
  body[data-page^="/projects/"] .step-surface .bloom-btn {min-height:44px;}
}

/* Keep every user field and the detail action visible without a sideways table on phones. */
.admin-user-detail-link {display:inline-flex;align-items:center;min-height:44px;font-weight:700;}
.admin-user-detail-link:focus-visible {outline:3px solid var(--coral);outline-offset:3px;}
@media (max-width:640px) {body[data-page^="/admin/users/"] :is(#admin-site-search,#credit-amount,#credit-description) {font-size:16px;min-height:48px;}}
@media(max-width:900px) {
  .admin-users-list {overflow:visible;border:0;}
  .admin-users-table,.admin-users-table tbody {display:block;}
  .admin-users-table thead {display:none;}
  .admin-users-table tbody {display:grid;gap:12px;}
  .admin-users-table tbody tr {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;padding:16px;border:1px solid var(--line);border-radius:14px;background:white;box-shadow:var(--ui-shadow);}
  .admin-users-table tbody td {display:block;min-width:0;padding:0!important;border:0!important;}
  .admin-users-table tbody td:first-child,.admin-users-table tbody td:last-child {grid-column:1/-1;}
  .admin-users-table tbody td:first-child {grid-row:1;}
  .admin-users-table tbody td:nth-child(2) {grid-column:1;grid-row:2;}
  .admin-users-table tbody td:nth-child(3) {grid-column:2;grid-row:2;text-align:left;}
  .admin-users-table tbody td:nth-child(4) {grid-column:1;grid-row:3;}
  .admin-users-table tbody td:nth-child(5) {grid-column:2;grid-row:3;overflow-wrap:anywhere;}
  .admin-users-table tbody td:last-child {grid-row:4;border-top:1px solid var(--line)!important;padding-top:4px!important;text-align:left;}
  .admin-users-table tbody td[data-label]:not(:first-child):not(:last-child)::before {content:attr(data-label);display:block;margin-bottom:3px;color:var(--text-500);font-size:11px;letter-spacing:.04em;}
  .admin-users-table tbody td:first-child .flex {align-items:flex-start;}
  .admin-users-table tbody td:first-child .min-w-0 {min-width:0;overflow-wrap:anywhere;}
  .admin-users-table tbody td[colspan] {grid-column:1/-1;grid-row:1!important;padding:32px 12px!important;text-align:center;border-top:0!important;}
}
@media(min-width:640px) and (max-width:900px) {
  .admin-users-table tbody {grid-template-columns:repeat(2,minmax(0,1fr));}
}
.admin-stat-grid > * {min-width:0;border-right:1px solid var(--line);}
.admin-stat-grid > :nth-child(4n) {border-right:0;}
.admin-metric-note summary {cursor:pointer;display:list-item;width:max-content;max-width:100%;min-height:32px;padding:6px 0;color:var(--text-500);font-weight:600;}
.admin-metric-note summary:focus-visible {outline:3px solid var(--coral);outline-offset:2px;}
.admin-funnel-grid > * {min-width:0;}
@media(max-width:1023px) {
  .admin-stat-grid > :nth-child(2) {border-right:0;}
  .admin-stat-grid > :nth-child(-n+2) {border-bottom:1px solid var(--line);}
  .admin-stat-grid > * {padding:16px!important;}
  .admin-stat-grid .count-up {font-size:34px;}
  .admin-funnel-grid > * {padding:14px!important;}
}
@media(max-width:900px) {
  #activity-table-wrap {overflow:visible;}
  .admin-activity-table,.admin-activity-table tbody {display:block;}
  .admin-activity-table thead {display:none;}
  .admin-activity-table tbody {display:grid;gap:12px;}
  .admin-activity-table tbody tr {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;padding:16px;border:1px solid var(--line);border-radius:14px;background:white;}
  .admin-activity-table tbody td {display:block;min-width:0;padding:0!important;border:0!important;overflow-wrap:anywhere;}
  .admin-activity-table tbody td:nth-child(1) {grid-column:2;grid-row:1;text-align:right;}
  .admin-activity-table tbody td:nth-child(2) {grid-column:1/-1;grid-row:2;}
  .admin-activity-table tbody td:nth-child(3) {grid-column:1;grid-row:1;}
  .admin-activity-table tbody td:nth-child(4) {grid-column:1/-1;grid-row:3;border-top:1px solid var(--line)!important;padding-top:8px!important;}
  .admin-activity-table tbody td:nth-child(5) {grid-column:1/-1;grid-row:4;}
  .admin-activity-table tbody td:nth-child(4)::before,.admin-activity-table tbody td:nth-child(5)::before {content:attr(data-label);display:block;margin-bottom:2px;color:var(--text-500);font-size:11px;}
}
@media(min-width:640px) and (max-width:900px) {
  .admin-activity-table tbody {grid-template-columns:repeat(2,minmax(0,1fr));}
}
.admin-error-row {display:block;cursor:pointer;}
.admin-error-row:hover {background:var(--bg-gray);}
.admin-error-row:focus-visible {outline:3px solid var(--coral);outline-offset:-3px;}
.admin-error-meta {flex-wrap:wrap;}
.admin-error-message,.admin-error-url {overflow-wrap:anywhere;}
.admin-error-open {display:block;margin-top:8px;color:var(--coral);font-size:12px;font-weight:700;}
.admin-error-empty {display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px 16px;text-align:center;color:var(--text-500);font-size:13px;}
.admin-error-status-actions {display:flex;flex-wrap:wrap;}
.admin-error-dialog .status-btn {min-height:44px;}
.admin-error-dialog .status-btn.admin-status-current {border-color:var(--coral)!important;color:var(--coral)!important;font-weight:700;}
.admin-error-dialog summary:focus-visible {outline:3px solid var(--coral);outline-offset:3px;}
@media(max-width:639px) {
  .admin-error-row {padding:16px!important;border:1px solid var(--line);border-radius:14px;background:white;margin-bottom:12px;}
  .admin-error-row-inner {display:block;}
  .admin-error-date {display:block;margin-top:8px;font-size:11px;}
  .admin-error-list {border:0;}
  .admin-error-dialog > div {max-height:calc(100dvh - 20px);}
  .admin-error-dialog-actions {flex-direction:column;align-items:stretch;padding:12px!important;}
  .admin-error-status-actions {display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));}
  .admin-error-dialog-actions #copy-btn {width:100%;}
  .admin-error-dialog #detail-body {padding:16px!important;}
  .admin-error-dialog #detail-body > .grid {gap:0;}
  .admin-error-dialog #detail-body > .grid > div {padding:10px!important;min-width:0;}
}
.admin-site-picker summary {min-height:48px;border-bottom:1px solid var(--line);}
.admin-site-picker summary:focus-visible {outline:3px solid var(--coral);outline-offset:-3px;}
#sites-grid {max-height:min(52vh,420px);overflow-y:auto;overscroll-behavior:contain;padding:2px;scrollbar-gutter:stable;}
.admin-editing-filters {display:grid;grid-template-columns:minmax(0,2fr) minmax(160px,1fr) auto auto;gap:12px;align-items:end;margin:0 0 14px;}
.admin-editing-filters label {display:block;font-size:12px;font-weight:700;color:var(--text-700);margin-bottom:6px;}
.admin-editing-filters .bloom-input {width:100%;min-height:44px;}
.admin-editing-filters .sumi-btn,.admin-editing-filters .sumi-link {min-height:44px;display:inline-flex;align-items:center;justify-content:center;}
.admin-editing-list-heading {display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:13px;color:var(--text-500);padding:10px 0;border-bottom:1px solid var(--line);}
.admin-editing-progress {width:170px;max-width:100%;}
.admin-editing-progress-bar {display:flex;}
.admin-editing-progress-completed {height:100%;background:#13885f;}
.admin-editing-progress-failed {height:100%;background:#d0354b;}
.admin-editing-detail-link {min-height:44px;display:inline-flex;align-items:center;}
@media(max-width:900px){
  .admin-editing-items-table,.admin-editing-items-table tbody {display:block;}
  .admin-editing-items-table thead {display:none;}
  .admin-editing-items-table tbody {display:grid;gap:12px;padding:12px;}
  .admin-editing-items-table tbody tr {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:white;}
  .admin-editing-items-table tbody td {display:block;min-width:0;padding:0!important;border:0!important;overflow-wrap:anywhere;}
  .admin-editing-items-table tbody td.admin-editing-empty-field {display:none;}
  .admin-editing-items-table tbody td::before {content:attr(data-label);display:block;color:var(--text-500);font-size:11px;margin-bottom:3px;}
  .admin-editing-items-table tbody td:nth-child(1) {grid-column:1;grid-row:1;}
  .admin-editing-items-table tbody td:nth-child(6) {grid-column:2;grid-row:1;text-align:right;}
  .admin-editing-items-table tbody td:nth-child(3) {grid-column:1/-1;grid-row:2;}
  .admin-editing-items-table tbody td:nth-child(2) {grid-column:1;grid-row:3;}
  .admin-editing-items-table tbody td:nth-child(4) {grid-column:2;grid-row:3;}
  .admin-editing-items-table tbody td:nth-child(5) {grid-column:1;grid-row:4;}
  .admin-editing-items-table tbody td:nth-child(7) {grid-column:2;grid-row:4;}
  .admin-editing-item-action {min-height:44px;display:inline-flex;align-items:center;}
  .admin-editing-item-error {max-width:100%;}
}
@media(min-width:640px) and (max-width:900px){.admin-editing-items-table tbody {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:700px){.admin-editing-filters {grid-template-columns:minmax(0,1fr) minmax(110px,.48fr);}.admin-editing-filters>div:first-child {grid-column:1/-1;}.admin-editing-filters .sumi-btn,.admin-editing-filters>.sumi-link {grid-column:auto;}.admin-editing-progress {width:100%;}.admin-editing-detail-link {margin-left:auto;}}
#sites-grid label {min-width:0;min-height:44px;overflow-wrap:anywhere;}
@media(max-width:900px) {
  .admin-user-jobs-table,.admin-user-jobs-table tbody,.admin-user-activity-table,.admin-user-activity-table tbody {display:block;}
  .admin-user-jobs-table thead,.admin-user-activity-table thead {display:none;}
  .admin-user-jobs-table tbody,.admin-user-activity-table tbody {display:grid;gap:12px;padding:12px;}
  .admin-user-jobs-table tbody tr,.admin-user-activity-table tbody tr {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:white;}
  .admin-user-jobs-table tbody td,.admin-user-activity-table tbody td {display:block;min-width:0;padding:0!important;border:0!important;overflow-wrap:anywhere;}
  .admin-user-jobs-table tbody td::before,.admin-user-activity-table tbody td::before {content:attr(data-label);display:block;color:var(--text-500);font-size:11px;margin-bottom:2px;}
  .admin-user-jobs-table tbody td:nth-child(1),.admin-user-activity-table tbody td:nth-child(1) {grid-column:2;grid-row:1;text-align:right;}
  .admin-user-jobs-table tbody td:nth-child(2),.admin-user-activity-table tbody td:nth-child(2) {grid-column:1;grid-row:1;}
  .admin-user-jobs-table tbody td:nth-child(n+3),.admin-user-activity-table tbody td:nth-child(n+3) {grid-column:1/-1;}
}
@media(min-width:640px) and (max-width:900px) {
  .admin-user-jobs-table tbody,.admin-user-activity-table tbody {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:639px) {
  #item-list .bloom-card {overflow:visible;background:transparent;box-shadow:none;}
  .phase2-items-table,.phase2-items-table tbody {display:block;background:transparent;}
  .phase2-items-table thead {display:none;}
  .phase2-items-table tbody {display:grid;gap:12px;}
  .phase2-items-table tbody tr {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;padding:16px;border:1px solid var(--line);border-radius:14px;background:white;box-shadow:var(--ui-shadow);}
  .phase2-items-table tbody td {display:block;min-width:0;padding:0!important;border:0!important;}
  .phase2-items-table tbody td:nth-child(4) {grid-column:1/-1;grid-row:1;font-weight:700;}
  .phase2-items-table tbody td:nth-child(4) > div {max-width:none;white-space:normal;overflow-wrap:anywhere;}
  .phase2-items-table tbody td:nth-child(1) {grid-column:1/-1;grid-row:2;}
  .phase2-items-table tbody td:nth-child(2) {grid-column:1;grid-row:3;font-size:12px;}
  .phase2-items-table tbody td:nth-child(3) {grid-column:2;grid-row:3;font-size:12px;}
  .phase2-items-table tbody td:nth-child(5) {grid-column:1;grid-row:4;font-size:13px;}
  .phase2-items-table tbody td:nth-child(5)::before {content:'売価 ';color:var(--text-500);font-weight:400;}
  .phase2-items-table tbody td:nth-child(6) {grid-column:2;grid-row:4;min-width:0;text-align:right;}
  .phase2-items-table tbody td:nth-child(6) a {display:inline-flex;align-items:center;min-height:44px;color:var(--coral);font-size:13px;font-weight:700;}
}
@media(max-width:639px) {
  .project-detail-heading {grid-template-columns:minmax(0,1fr);gap:20px;}
  .project-detail-title h1 {font-size:24px;}
  .project-detail-progress {width:100%;justify-content:space-between;}
  .project-detail-progress > div {text-align:left;}
}

.step-progress-counts {display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px;}
.step-progress-label {white-space:nowrap;}
.step-progress-note {font-size:12px;line-height:1.9;color:var(--text-500);margin-top:10px;}
.step-surface {min-width:0;}

/* Support actions precede the alternative QR route on narrow screens. */
#line-support-overlay .support-close {width:44px;height:44px;}
#line-support-overlay #line-support-title {padding-right:28px;}
#line-support-overlay .support-launch {min-height:48px;background:#087F43;margin-bottom:20px;}
#line-support-overlay .support-launch:hover {background:#066B38;}
#line-support-overlay .support-dismiss {min-height:44px;}
#line-support-overlay .support-qr-image {width:160px;height:auto;max-width:100%;aspect-ratio:1;object-fit:contain;}
@media(min-width:768px) {
  #line-support-overlay .support-qr-panel {grid-column:1;grid-row:1;}
  #line-support-overlay .support-content {grid-column:2;grid-row:1;}
}
@media(max-width:767px) {
  #line-support-overlay .support-qr-panel {border-top:1px solid #E3EFE7;}
  #line-support-overlay .support-qr-image {width:140px;}
}

.url-input-heading {display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:4px;}
#url-help-toggle {min-height:44px;min-width:64px;flex-shrink:0;}
#queue-list .queue-remove {display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:8px;background:white;flex-shrink:0;}
@media(max-width:639px) {#urls-input {font-size:16px;line-height:1.8;}}

.url-setting-card {border-radius:12px;background:white;}
.url-setting-card > div:first-child {min-width:0;}
.url-setting-card > div:first-child > span:nth-child(2) {flex-shrink:0;}
.url-setting-card .url-setting-controls > label {min-height:44px;}
@media(max-width:639px) {
  .url-setting-card .url-setting-controls {margin-left:0;display:grid;grid-template-columns:minmax(0,1fr);gap:12px;}
  .url-setting-card .url-setting-controls > label {display:grid;grid-template-columns:18px 1fr 100px;gap:10px;}
  .url-setting-controls :is(select,.item-input) {width:100%;min-width:0;}
}

#toast-container {top:24px;bottom:auto;right:24px;width:min(420px,calc(100vw - 32px));}
.bloom-toast {pointer-events:auto;display:grid;grid-template-columns:auto minmax(0,1fr) 44px;align-items:center;gap:12px;padding:10px 8px 10px 16px;background:white;border:1px solid var(--line);border-left:3px solid;border-radius:12px;box-shadow:0 8px 24px #00000014;}
.bloom-toast-label {font-size:11px;font-weight:700;}
.bloom-toast-message {font-size:13px;line-height:1.8;color:var(--text);overflow-wrap:anywhere;}
.bloom-toast-close {width:44px;height:44px;font-size:22px;color:var(--text-500);border-radius:8px;}
.bloom-toast-close:hover {background:var(--bg-gray);}
@media(max-width:1023px) {#toast-container {top:calc(72px + env(safe-area-inset-top));right:16px;}}

.public-header nav > a {display:inline-flex;align-items:center;min-height:44px;position:relative;}
.public-header nav > a[aria-current="page"] {color:var(--coral);}
.public-header nav > a[aria-current="page"]::after {content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:currentColor;border-radius:2px;}
#sidebar-open,#sidebar-close {min-width:44px;min-height:44px;}
