:root {
  --font-size-caption: 12px;
  --font-size-body: 14px;
  --font-size-heading: 16px;
  --font-size-page-title: 24px;
  --line-height-base: 1.5;
  --sidebar-width: 240px;
  --navy: #12355b;
  --blue: #2563eb;
  --line: #d9dee7;
  --bg: #f7f8fa;
  --card: #f1f3f6;
  --text: #111827;
  --muted: #657084;
  --danger: #b91c1c;
  --theme-primary: #2563eb;
  --theme-primary-hover: #1d4ed8;
  --theme-primary-light: #eff6ff;
  --theme-primary-border: #93c5fd;
  --theme-focus-ring: rgba(37, 99, 235, .22);
  --theme-navigation: var(--navy);
  --theme-on-primary: #fff;
  --theme-secondary: #64748b;
  --theme-secondary-hover: #475569;
  --theme-secondary-light: #f8fafc;
  --theme-canvas: #f7f8fa;
  --theme-surface: #fff;
  --theme-heading: #1e3a5f;
  --theme-divider: #d9dee7;
  --theme-nav-active: rgba(255,255,255,.18);
  --theme-table-background: #fff;
  --theme-table-header: #f8fafc;
  --color-danger: #dc2626;
  --color-warning: #f59e0b;
  --color-success: #16a34a;
  --color-info: #2563eb;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--text); background: #fff; overflow-wrap: anywhere; }
body.modal-open { overflow: hidden; }
body.theme-admin .sidebar { background: #4b5563; }
body.theme-admin .sidebar-development-submenu { background: #4b5563; }
body.theme-admin .sidebar a:hover,
body.theme-admin .sidebar-user:hover { background: rgba(255, 255, 255, .12); }
body.theme-admin .sidebar a.active,
body.theme-admin .sidebar-user.active { background: rgba(255, 255, 255, .2); }
body.theme-admin .department-settings-section {
  border-width: 1px;
  border-radius: 8px;
}
body.theme-admin .department-settings-section > h2 {
  padding-left: 10px;
  border-left: 4px solid currentColor;
}
body.theme-admin .store-department-settings {
  border-color: #dfcfc2;
  background: #faf7f4;
}
body.theme-admin .store-department-settings > h2 { color: #795238; }
body.theme-admin .store-department-settings .settings-card { border-color: #e5d9cf; }
body.theme-admin .store-department-settings .settings-card h2::before { background: #a98265; }
body.theme-admin .store-department-settings .settings-card:hover {
  border-color: #a98265;
  box-shadow: 0 8px 18px rgba(121, 82, 56, .12);
}
body.theme-admin .development-department-settings {
  border-color: #e2e8f0;
  background: #f8fbff;
}
body.theme-admin .development-department-settings > h2 { color: #1d4ed8; }
body.theme-admin .development-department-settings .settings-card { border-color: #e2e8f0; }
body.theme-admin .development-department-settings .settings-card h2::before { background: #1d4ed8; }
body.theme-admin .development-department-settings .settings-card:hover {
  border-color: #60a5fa;
  box-shadow: 0 8px 18px rgba(29, 78, 216, .12);
}
body.theme-admin .event-department-settings {
  border-color: #eadcf7;
  background: #fcf9ff;
}
body.theme-admin .event-department-settings > h2 { color: #7e22ce; }
body.theme-admin .event-department-settings .settings-card { border-color: #eadcf7; }
body.theme-admin .event-department-settings .settings-card h2::before { background: #9333ea; }
body.theme-admin .event-department-settings .settings-card:hover { border-color: #c084fc; box-shadow: 0 8px 18px rgba(126, 34, 206, .12); }
body.theme-event {
  --event-primary: #7e22ce;
  --event-primary-dark: #581c87;
  --event-accent: #ec4899;
  --event-light: #faf5ff;
  --theme-primary: var(--event-primary);
  --theme-primary-hover: var(--event-primary-dark);
  --theme-primary-light: var(--event-light);
  --theme-primary-border: #d8b4fe;
  --theme-focus-ring: rgba(126, 34, 206, .16);
  --theme-canvas: #fbfaff;
  --theme-surface: #fff;
  --theme-heading: #26133c;
  --theme-divider: #eadcf7;
  --blue: var(--event-primary);
  --line: var(--theme-divider);
  --bg: var(--theme-canvas);
  --text: #33243e;
  --muted: #74657f;
}
body.theme-event .main { background: radial-gradient(circle at 95% 0, #f6eaff 0, transparent 32%), var(--theme-canvas); }
body.theme-event .sidebar { background: linear-gradient(180deg, #32104d, #581c87 55%, #3b0b5d); color: #fff; }
body.theme-event .sidebar :is(a, summary) { color: #fff; }
body.theme-event .sidebar :is(a, summary):hover { background: rgba(255,255,255,.09); }
body.theme-event .sidebar :is(a.active, summary.active) { background: rgba(236,72,153,.22); box-shadow: inset 3px 0 0 #f9a8d4; }
body.theme-event .sidebar-user { border-top-color: rgba(255,255,255,.22); }
body.theme-event .sidebar-user-details > span { color: rgba(255,255,255,.72); }
body.theme-event .logout-form .button.secondary { color: #fff; border-color: rgba(255,255,255,.45); background: transparent; }
body.theme-event .topbar { border-bottom: 1px solid var(--theme-divider); }
body.theme-event .button:not(.secondary):not(.danger),
.button.event-primary { color: #fff; border-color: var(--event-primary, #7e22ce); background: var(--event-primary, #7e22ce); }
body.theme-event .button:not(.secondary):not(.danger):hover,
.button.event-primary:hover { background: var(--event-primary-dark, #581c87); }

body.theme-affiliate {
  --affiliate-violet: #6d28d9;
  --affiliate-purple: #9333ea;
  --affiliate-pink: #db2777;
  --affiliate-indigo: #312e81;
  --theme-primary: var(--affiliate-purple);
  --theme-primary-hover: var(--affiliate-violet);
  --theme-primary-light: #faf5ff;
  --theme-primary-border: #c4b5fd;
  --theme-focus-ring: rgba(147, 51, 234, .22);
  --theme-canvas: #fbfaff;
  --theme-heading: #2e1065;
  --theme-divider: #e9d5ff;
  --blue: var(--affiliate-purple);
  --line: var(--theme-divider);
  --bg: var(--theme-canvas);
}
body.theme-affiliate .main {
  background: radial-gradient(circle at 100% 0, rgba(236,72,153,.09), transparent 30%), var(--theme-canvas);
}
body.theme-affiliate .sidebar {
  background: linear-gradient(180deg, #1e1b4b 0%, #4c1d95 48%, #701a75 100%);
  color: #fff;
  box-shadow: 8px 0 28px rgba(76,29,149,.18);
}
body.theme-affiliate .sidebar :is(a, summary, .sidebar-menu-parent) { color: rgba(255,255,255,.9); }
body.theme-affiliate .sidebar :is(a, summary, .sidebar-menu-parent):hover {
  background: linear-gradient(90deg, rgba(147,51,234,.38), rgba(219,39,119,.22));
  color: #fff;
}
body.theme-affiliate .sidebar :is(a.active, summary.active, .sidebar-menu-parent.active) {
  background: linear-gradient(90deg, rgba(147,51,234,.72), rgba(219,39,119,.48));
  color: #fff;
  box-shadow: inset 3px 0 0 #f9a8d4;
}
body.theme-affiliate .sidebar a.active::before { display: none; }
body.theme-affiliate .sidebar-user { border-top-color: rgba(255,255,255,.24); }
body.theme-affiliate .sidebar-user-details > span { color: rgba(255,255,255,.7); }
body.theme-affiliate .sidebar .logout-form .button.secondary {
  border-color: rgba(233,213,255,.55);
  background: linear-gradient(135deg, rgba(109,40,217,.26), rgba(219,39,119,.18));
  color: #fff;
}
body.theme-affiliate :is(button[type="submit"], .button):not(.secondary):not(.danger):not(:disabled) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 16px;
  border-color: transparent;
  border-radius: 8px;
  background: linear-gradient(135deg, var(--affiliate-violet), var(--affiliate-purple) 52%, var(--affiliate-pink));
  color: #fff;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 7px 16px rgba(109,40,217,.22);
}
body.theme-affiliate :is(button[type="submit"], .button):not(.secondary):not(.danger):not(:disabled):hover {
  border-color: transparent;
  background: linear-gradient(135deg, #5b21b6, #7e22ce 52%, #be185d);
  color: #fff;
  box-shadow: 0 10px 22px rgba(109,40,217,.3);
  transform: translateY(-1px);
}
body.theme-affiliate :is(button[type="submit"], .button):not(.danger):disabled {
  border-color: #d8d5df;
  background: linear-gradient(135deg, #e5e7eb, #d8d5df);
  color: #8b8795;
  box-shadow: none;
  cursor: not-allowed;
}
body.theme-affiliate .button.secondary {
  border-color: #c4b5fd;
  border-radius: 8px;
  background: linear-gradient(135deg, #fff, #faf5ff);
  color: #6d28d9;
  box-shadow: 0 3px 10px rgba(109,40,217,.09);
}
body.theme-affiliate .button.secondary:hover {
  border-color: #a78bfa;
  background: linear-gradient(135deg, #faf5ff, #fce7f3);
  color: #581c87;
}
body.theme-affiliate .button.danger {
  border-color: transparent;
  border-radius: 8px;
  background: linear-gradient(135deg, #dc2626, #e11d48);
  color: #fff;
  box-shadow: 0 6px 14px rgba(220,38,38,.2);
}
body.theme-affiliate .affiliate-account-tabs button.is-active {
  border-color: transparent;
  background: linear-gradient(135deg, var(--affiliate-violet), var(--affiliate-pink));
  color: #fff;
}

.affiliate-shared-notes-page{display:grid;gap:16px;max-width:1180px;margin:0 auto}.affiliate-shared-notes-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.affiliate-shared-notes-heading h1{margin:0;color:#5b21b6}.affiliate-shared-notes-heading p{margin:5px 0 0;color:#64748b}.affiliate-shared-note-editor{display:grid;gap:12px;padding:18px;border:1px solid #c4b5fd;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(76,29,149,.09)}.affiliate-shared-note-editor[hidden]{display:none}.affiliate-shared-note-editor label{display:grid;gap:5px;font-weight:800}.affiliate-shared-note-editor textarea{min-height:150px;resize:vertical}.affiliate-shared-note-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.affiliate-shared-note-card{position:relative;min-width:0;padding:16px;border:1px solid #ddd6fe;border-radius:14px;background:#fff;box-shadow:0 7px 20px rgba(76,29,149,.08)}.affiliate-shared-note-card>form:first-child{display:grid;gap:10px}.affiliate-shared-note-title{border:0;border-bottom:1px solid transparent;border-radius:0;padding:5px 0;color:#4c1d95;background:transparent;font-size:1.05rem;font-weight:900}.affiliate-shared-note-title[readonly],.affiliate-shared-note-card textarea[readonly]{cursor:default}.affiliate-shared-note-card textarea{height:150px;min-height:150px;overflow:auto;resize:none;line-height:1.55;transition:height .18s ease}.affiliate-shared-note-card textarea[readonly]{border-color:#ede9fe;background:#faf8ff}.affiliate-shared-note-card textarea.is-expanded{height:auto;overflow:hidden}.affiliate-shared-note-card form.is-editing .affiliate-shared-note-title{border-bottom-color:#8b5cf6;background:#fff}.affiliate-shared-note-card form.is-editing textarea{overflow:hidden;resize:vertical;background:#fff}.affiliate-shared-note-card footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.affiliate-shared-note-card footer small{color:#64748b}.affiliate-shared-note-actions{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap}.affiliate-shared-note-actions [hidden]{display:none}.affiliate-shared-note-delete{display:flex;justify-content:flex-end;margin-top:8px;padding-top:8px;border-top:1px solid #ede9fe}@media(max-width:760px){.affiliate-shared-notes-heading{align-items:stretch;flex-direction:column}.affiliate-shared-notes-heading .button{width:100%}.affiliate-shared-note-grid{grid-template-columns:1fr}.affiliate-shared-note-card footer{align-items:stretch;flex-direction:column}.affiliate-shared-note-actions{display:grid;grid-template-columns:1fr 1fr}.affiliate-shared-note-card footer .button{width:100%}.affiliate-shared-note-delete .button{width:100%}}
.sidebar-dashboard-switch.sidebar-affiliate-switch {
  border-color: #c4b5fd !important;
  background: linear-gradient(135deg, #6d28d9, #9333ea 55%, #db2777) !important;
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(109,40,217,.3);
}
.sidebar-dashboard-switch.sidebar-affiliate-switch:hover,
.sidebar-dashboard-switch.sidebar-affiliate-switch.active {
  background: linear-gradient(135deg, #5b21b6, #7e22ce 55%, #be185d) !important;
}
.sidebar-dashboard-switch.sidebar-event-switch {
  border-color: #6ee7b7 !important;
  background: linear-gradient(135deg, #16a34a, #065f46) !important;
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(6,95,70,.3);
}
.sidebar-dashboard-switch.sidebar-event-switch:hover,
.sidebar-dashboard-switch.sidebar-event-switch.active {
  background: linear-gradient(135deg, #15803d, #064e3b) !important;
}
body.theme-development {
  --system-primary: #1d4ed8;
  --system-primary-hover: #1e40af;
  --system-nav: #2563eb;
  --system-nav-hover: #1d4ed8;
  --system-secondary: #60a5fa;
  --system-accent: #93c5fd;
  --system-light: #eff6ff;
  --system-canvas: #f8fbff;
  --system-background: #ffffff;
  --system-heading: #0f172a;
  --system-text: #1e293b;
  --system-subtext: #64748b;
  --system-muted: #94a3b8;
  --system-inverse: #ffffff;
  --system-border: #e2e8f0;
  --system-divider: #f1f5f9;
  --system-focus: #1d4ed8;
  --theme-primary: var(--system-primary);
  --theme-primary-hover: var(--system-primary-hover);
  --theme-primary-light: var(--system-light);
  --theme-primary-border: var(--system-accent);
  --theme-focus-ring: rgba(29, 78, 216, .16);
  --theme-canvas: var(--system-canvas);
  --theme-surface: var(--system-background);
  --theme-heading: var(--system-heading);
  --theme-divider: var(--system-border);
  --theme-table-header: var(--system-light);
  --blue: var(--theme-primary);
  --line: var(--theme-divider);
  --bg: var(--theme-canvas);
  --text: var(--system-text);
  --muted: var(--system-subtext);
  --danger: var(--color-danger);
}
body.theme-development .main { background: var(--theme-canvas); }
body.theme-development .sidebar {
  background: var(--system-nav);
  color: var(--system-inverse);
}
body.theme-development .sidebar :is(a, summary) { color: var(--system-inverse); }
body.theme-development .sidebar :is(a, summary):hover {
  background: var(--system-nav-hover);
  color: var(--system-inverse);
}
body.theme-development .sidebar :is(a.active, summary.active) {
  background: var(--system-nav-hover);
  color: var(--system-inverse);
}
body.theme-development .sidebar a.active::before { background: var(--system-accent); }
body.theme-development .sidebar-user { border-top-color: rgba(239, 246, 255, .28); }
body.theme-development .sidebar-user-details > span { color: rgba(239, 246, 255, .72); }
body.theme-development .logout-form .button.secondary {
  border-color: var(--system-accent);
  background: transparent;
  color: var(--system-inverse);
}
body.theme-development .logout-form .button.secondary:hover {
  border-color: var(--system-inverse);
  background: var(--system-nav-hover);
}
body.theme-development .topbar { padding-bottom: 16px; border-bottom: 1px solid var(--theme-divider); }
body.theme-development .topbar h1,
body.theme-development :is(.panel, .settings-panel, .settings-card) h2 { color: var(--theme-heading); }
body.theme-development :is(.panel, .settings-panel, .settings-card) {
  border-color: var(--theme-divider);
  background: var(--theme-surface);
  box-shadow: 0 3px 10px rgba(17, 24, 39, .05);
}
body.theme-development .settings-card:hover {
  border-color: var(--theme-primary-border);
  box-shadow: 0 8px 18px rgba(17, 24, 39, .08);
}
body.theme-development .settings-card h2::before { background: var(--theme-primary); }
body.theme-development :is(.table, .settings-table) { border-color: var(--theme-divider); background: var(--theme-surface); }
body.theme-development :is(.table, .settings-table) th {
  background: var(--theme-table-header);
  color: #374151;
}
body.theme-development :is(.table, .settings-table) td { background: var(--theme-surface); }
body.theme-development :is(input, select, textarea):focus {
  border-color: var(--theme-primary);
  outline: 0;
  box-shadow: 0 0 0 3px var(--theme-focus-ring);
}
body.theme-development a:not(.button):hover { color: var(--theme-primary-hover); }
body.theme-development .button:not(.secondary):not(.danger):not(:disabled) {
  border-color: var(--system-primary);
  background: var(--system-primary);
  color: var(--system-inverse);
}
body.theme-development .button:not(.secondary):not(.danger):not(:disabled):hover {
  border-color: var(--system-primary-hover);
  background: var(--system-primary-hover);
}
body.theme-development :is(.my-task-total, .my-task-metric, .my-task-column, .dashboard-admin-shortcut):hover {
  border-color: var(--system-secondary);
}
body.theme-development :is(.my-task-total, .dashboard-admin-shortcut) strong,
body.theme-development .dashboard-admin-shortcut { color: var(--system-primary); }
body.theme-development .project-ratio-chip {
  border-color: var(--system-accent);
  background: var(--system-light);
  color: var(--system-primary);
}
body.theme-development .project-ratio-chip :is(label, small) { color: var(--system-subtext); }
body.theme-development :is(.meeting-prompt-tab, .meeting-prompt-edit, .dice-result, .dice-result strong, .roulette-button, .roulette-result, .roulette-result strong, .roulette-stage strong) {
  color: var(--system-primary);
}
body.theme-development :is(.dice-button, .roulette-button):hover {
  border-color: var(--system-secondary);
  background: var(--system-light);
}
body.theme-development :is(.task-project-chip, .task-detail-code, .task-return-inbox-button, .gantt-mini-button, .gantt-task-cell, .gantt-task-cell > strong, .gantt-task-title, .deal-table a) {
  color: var(--system-primary);
}
body.theme-development :is(.gantt-chip.active, .gantt-chip-set .active, .growth-tabs a.active, .segmented-radio input:checked + span) {
  border-color: var(--system-primary);
  background: var(--system-primary);
  color: var(--system-inverse);
}
body.theme-development :is(.rich-editor-toolbar button.is-active, .rich-editor-area blockquote) {
  border-color: var(--system-accent);
  background: var(--system-light);
  color: var(--system-text);
}
body.theme-development :is(.attachment-item, .attachment-copy-button, .attachment-download-button, .wiki-side-list a, .task-search-row, .due-alert-item):hover {
  border-color: var(--system-secondary);
}
body.theme-development .notification-item.unread {
  border-left-color: var(--color-info);
  background: var(--system-light);
}
body.theme-development :is(.wiki-card-meta span, .wiki-upload-drop) {
  border-color: var(--system-accent);
  background: var(--system-light);
  color: var(--system-primary);
}
body.theme-development :is(.announcement-strip p, .task-box-guide p) { color: var(--system-subtext); }
body.theme-development :is(.task-split-choice, .dashboard-todo-item, .growth-form label, .growth-summary-card, .growth-strategy-head, .growth-strategy-metrics div, .growth-strategy-comment) {
  border-left-color: var(--system-primary);
}
body.theme-development :is(.growth-form output, .growth-rate-help, .growth-summary-card strong, .growth-strategy-head span) { color: var(--system-primary); }
body.theme-development .growth-form input[type="range"] { accent-color: var(--system-primary); }
body.theme-development :is(.growth-line.base) { stroke: var(--system-primary); }
body.theme-development :is(.growth-dot.base) { fill: var(--system-primary); }
body.theme-development .growth-legend i.base { background: var(--system-primary); }
body.theme-development .status-info {
  border: 1px solid var(--system-accent);
  background: var(--system-light);
  color: var(--color-info);
}
body.theme-development .status-info::before { content: "ⓘ"; margin-right: 6px; }

.event-dashboard-shell,
.event-page-shell { display: grid; gap: 20px; min-width: 0; }
.event-page-actions { display: flex; justify-content: flex-end; gap: 10px; }
.event-dashboard-shell h1,
.event-page-shell h1 { margin: 0; }
.event-hero {
  display: flex; gap: 24px; align-items: center; justify-content: space-between;
  padding: 28px 30px; overflow: hidden; color: #fff;
  background: linear-gradient(125deg, #064e3b, #15803d 62%, #16a34a);
  border-radius: 18px; box-shadow: 0 18px 42px rgba(6,95,70,.22);
}
.event-hero small,
.event-section-title small { font-size: 10px; font-weight: 900; letter-spacing: .16em; }
.event-hero h1 { margin-top: 5px; font-size: clamp(24px, 3vw, 36px); }
.event-hero p { margin: 8px 0 0; color: rgba(255,255,255,.78); }
.event-hero .button { flex: 0 0 auto; color: #065f46 !important; border-color: #fff !important; background: #fff !important; }
.event-metric-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.event-metric-grid a {
  display: grid; grid-template-columns: 1fr auto; gap: 2px 10px; align-items: end;
  padding: 18px 20px; color: inherit; text-decoration: none; background: #fff;
  border: 1px solid #d1fae5; border-radius: 14px; box-shadow: 0 8px 24px rgba(6,95,70,.07);
}
.event-metric-grid a:hover { border-color: #6ee7b7; transform: translateY(-1px); }
.event-metric-grid small { grid-column: 1/-1; color: #52675c; font-weight: 700; }
.event-metric-grid strong { color: #065f46; font-size: 30px; }
.event-metric-grid span { color: #718278; font-size: 12px; }
.event-dashboard-grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(320px,.8fr); gap: 18px; align-items: start; }
.event-panel { min-width: 0; padding: 18px; border: 1px solid #d1fae5; border-radius: 14px; background: #fff; box-shadow: 0 8px 24px rgba(6,95,70,.06); }
.event-section-title { display: flex; gap: 14px; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.event-section-title small { color: #16a34a; }
.event-section-title h2 { margin: 3px 0 0; color: #143d24; font-size: 18px; }
.event-section-title a { color: #15803d; font-size: 12px; font-weight: 800; }
.event-upcoming-list,
.event-timeline-mini,
.event-data-list,
.event-timetable-list { display: grid; gap: 8px; }
.event-upcoming-list > a { display: grid; grid-template-columns: 60px minmax(0,1fr) auto; gap: 12px; align-items: center; padding: 11px; color: inherit; text-decoration: none; border: 1px solid #dcfce7; border-radius: 10px; }
.event-upcoming-list > a:hover { background: #f0fdf4; border-color: #86efac; }
.event-upcoming-list time { display: grid; padding: 7px; color: #fff; text-align: center; background: #15803d; border-radius: 8px; }
.event-upcoming-list time strong { font-size: 17px; }
.event-upcoming-list time small { font-size: 9px; text-transform: uppercase; }
.event-upcoming-list div { min-width: 0; }
.event-upcoming-list div strong,
.event-upcoming-list div span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.event-upcoming-list div span { margin-top: 3px; color: #52675c; font-size: 11px; }
.event-upcoming-list em,
.event-status { padding: 5px 8px; color: #15803d; background: #dcfce7; border-radius: 999px; font-size: 10px; font-style: normal; font-weight: 800; }
.event-timeline-mini a { display: grid; grid-template-columns: 52px 1fr; gap: 10px; padding: 10px 0; color: inherit; text-decoration: none; border-bottom: 1px solid #dcfce7; }
.event-timeline-mini time { color: #16a34a; font-weight: 900; }
.event-timeline-mini strong,.event-timeline-mini span { display: block; }
.event-timeline-mini span { margin-top: 3px; color: #52675c; font-size: 10px; }
.event-filter { display: flex; gap: 10px; align-items: end; }
.event-filter label { display: grid; gap: 5px; font-size: 11px; font-weight: 800; }
.event-card-list { display: grid; gap: 10px; }
.event-card-list > a {
  display: grid; grid-template-columns: 82px 72px minmax(220px,1fr) 95px 150px 92px 22px;
  gap: 16px; align-items: center; min-width: 0; padding: 16px 18px; color: inherit;
  text-decoration: none; border: 1px solid #d1fae5; border-radius: 13px; background: #fff;
}
.event-card-thumbnail { display: grid; place-items: center; width: 72px; height: 72px; overflow: hidden; border-radius: 10px; background: #ecfdf5; }
.event-card-thumbnail img { width: 100%; height: 100%; object-fit: cover; }
.event-card-thumbnail span { color: #718278; font-size: 8px; font-weight: 900; }
.event-card-list > a:hover { border-color: #6ee7b7; box-shadow: 0 9px 24px rgba(6,95,70,.1); }
.event-date-block { display: grid; padding-right: 16px; text-align: center; border-right: 1px solid #d1fae5; }
.event-date-block strong { color: #15803d; font-size: 22px; }
.event-date-block small { color: #718278; }
.event-card-main { min-width: 0; }
.event-card-main small { color: #16a34a; font-weight: 800; }
.event-card-main h2 { margin: 3px 0; overflow: hidden; color: #143d24; font-size: 17px; text-overflow: ellipsis; white-space: nowrap; }
.event-card-main p { margin: 0; color: #52675c; font-size: 11px; }
.event-card-stat { text-align: center; }
.event-card-stat strong,.event-card-stat small { display: block; }
.event-card-stat strong { color: #065f46; font-size: 16px; }
.event-card-stat small { color: #718278; font-size: 10px; }
.event-form { display: grid; gap: 14px; }
.event-entry-accordion { min-width: 0; }
.event-entry-accordion > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; list-style: none; color: #065f46; font-size: 13px; font-weight: 900; }
.event-entry-accordion > summary::-webkit-details-marker { display: none; }
.event-entry-accordion > summary::after { content: "+"; display: grid; place-items: center; flex: 0 0 26px; width: 26px; height: 26px; border-radius: 999px; background: #dcfce7; color: #15803d; font-size: 18px; line-height: 1; }
.event-entry-accordion[open] > summary::after { content: "−"; }
.event-entry-accordion[open] > summary { margin-bottom: 14px; padding-bottom: 11px; border-bottom: 1px solid #d1fae5; }
.event-entry-accordion > .event-form,
.event-entry-accordion > .event-inline-form { margin-bottom: 0; }
.electronic-weather-sales-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.electronic-weather-sales-grid article { padding:14px; border:1px solid #ead8ca; border-radius:10px; background:#fffaf7; }
.electronic-weather-sales-grid :is(span,strong,small) { display:block; }
.electronic-weather-sales-grid strong { margin:5px 0; font-size:18px; }
.electronic-weather-sales-grid small { color:#78685e; }
@media (max-width: 900px) { .electronic-weather-sales-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 560px) { .electronic-weather-sales-grid { grid-template-columns:1fr; } }
.electronic-payer-picker { display:flex; gap:8px; flex-wrap:wrap; margin:0; padding:12px; border:1px solid #e4cbb8; border-radius:10px; }
.electronic-payer-picker legend { padding:0 5px; font-weight:800; }
.electronic-payer-picker label { display:flex; align-items:center; gap:5px; padding:7px 10px; border:1px solid #dbc0ad; border-radius:8px; }
.electronic-payer-picker small { flex-basis:100%; color:#78685e; }
.electronic-payment-allocation { margin-top:12px; padding:12px; border:1px solid #e4cbb8; border-radius:10px; }
.electronic-payment-allocation summary { cursor:pointer; font-weight:800; }
.electronic-payment-allocation form { display:grid; gap:10px; margin-top:12px; }
.electronic-payment-allocation form > div { display:grid; gap:8px; }
.electronic-payment-allocation label { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.electronic-payment-allocation input { width:130px; }
.electronic-payment-allocation p { margin:0; color:#78685e; font-size:11px; }
.event-form-grid { display: grid; grid-template-columns: repeat(4,minmax(130px,1fr)); gap: 12px; }
.event-form label { display: grid; gap: 5px; color: #395447; font-size: 11px; font-weight: 800; }
.event-form-grid label:first-child { grid-column: span 2; }
.event-finance-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.event-finance-summary > div { padding: 15px 17px; border: 1px solid #d1fae5; border-radius: 12px; background: #fff; }
.event-finance-summary small,.event-finance-summary strong { display: block; }
.event-finance-summary small { color: #52675c; }
.event-finance-summary strong { margin-top: 5px; color: #065f46; font-size: 20px; }
.event-finance-summary .negative,.event-data-list .negative { color: #dc2626; }
.event-inline-form { display: grid; grid-template-columns: repeat(5,minmax(110px,1fr)) auto; gap: 8px; margin-bottom: 14px; }
.event-check { display: flex !important; flex-direction: row; align-items: center; }
.event-data-list > div { display: grid; grid-template-columns: minmax(0,1fr) 130px 30px; gap: 12px; align-items: center; padding: 11px 12px; border: 1px solid #dcfce7; border-radius: 9px; }
.event-data-list strong,.event-data-list span { display: block; }
.event-data-list span { margin-top: 3px; color: #52675c; font-size: 10px; }
.event-data-list b { color: #065f46; text-align: right; }
.event-mini-delete { margin: 0; }
.event-mini-delete button { width: 27px; height: 27px; padding: 0; color: #dc2626; border: 1px solid #fecaca; border-radius: 999px; background: #fff; }
.event-timetable-list > div { display: grid; grid-template-columns: 110px minmax(0,1fr) 30px; gap: 12px; align-items: center; padding: 12px; border-left: 4px solid #22c55e; background: #f0fdf4; border-radius: 8px; }
.event-timetable-list time { color: #15803d; font-weight: 900; }
.event-timetable-list strong,.event-timetable-list span { display: block; }
.event-timetable-list span { margin-top: 3px; color: #52675c; font-size: 11px; }
.event-master-grid { display: grid; grid-template-columns: minmax(280px,.7fr) minmax(420px,1.3fr); gap: 18px; align-items: start; }
.event-master-grid.is-equipment { grid-template-columns: minmax(0,1fr); }
.event-master-grid.is-artist { grid-template-columns: minmax(0,1fr); }
.event-artist-form { grid-template-columns: repeat(4,minmax(0,1fr)); align-items: end; }
.event-artist-form .event-artist-fee-note { grid-column: span 2; }
.event-artist-form .event-form-note { grid-column: 1 / -1; }
.event-artist-form .event-form-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: 8px; }
.event-equipment-form { grid-template-columns: repeat(4,minmax(0,1fr)); align-items: end; }
.event-equipment-form-image { position: relative; grid-row: span 2; overflow: hidden; min-height: 150px; border: 1px solid #d1fae5; border-radius: 10px; background: #f0fdf4; }
.event-equipment-form-image img { display: block; width: 100%; height: 150px; object-fit: contain; }
.event-equipment-form-image span { position: absolute; right: 7px; bottom: 7px; padding: 3px 7px; border-radius: 999px; background: rgba(6,78,59,.84); color: #fff; font-size: 9px; font-weight: 900; }
.event-equipment-form .event-form-note { grid-column: 1 / -1; }
.event-equipment-form .event-form-note textarea { min-height: 78px; }
.event-equipment-form .event-form-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: 8px; }
.event-master-list { display: grid; gap: 8px; }
.event-master-list a { display: flex; gap: 14px; align-items: center; justify-content: space-between; padding: 12px; color: inherit; text-decoration: none; border: 1px solid #dcfce7; border-radius: 9px; }
.event-master-list a:hover { border-color: #86efac; background: #f0fdf4; }
.event-master-list div { min-width: 0; }
.event-master-list small,.event-master-list strong,.event-master-list span { display: block; }
.event-master-list small { color: #16a34a; font-size: 9px; font-weight: 900; }
.event-master-list span { margin-top: 3px; color: #52675c; font-size: 10px; }
.event-master-list em { color: #15803d; font-size: 10px; font-style: normal; font-weight: 800; }
.event-asset-category { display: grid; gap: 7px; }
.event-asset-category + .event-asset-category { margin-top: 10px; padding-top: 14px; border-top: 1px solid #d1fae5; }
.event-asset-category > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 3px; }
.event-asset-category > header h2 { margin: 0; color: #143d24; font-size: 14px; }
.event-asset-category > header span { padding: 3px 8px; border-radius: 999px; background: #dcfce7; color: #15803d; font-size: 10px; font-weight: 900; }
.event-asset-category > div { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.event-asset-category > div > a { display: grid; grid-template-columns: 58px minmax(0,1fr); gap: 10px; align-items: center; align-content: start; min-width: 0; }
.event-asset-category > div > a > div { min-width: 0; }
.event-asset-category > div > a > div :is(strong,span) { overflow: hidden; text-overflow: ellipsis; }
.event-asset-category > div > a > em { grid-column: 2; text-align: left; }
.event-artist-category { display: grid; gap: 7px; }
.event-artist-category + .event-artist-category { margin-top: 10px; padding-top: 14px; border-top: 1px solid #d1fae5; }
.event-artist-category > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 3px; }
.event-artist-category > header h2 { margin: 0; color: #143d24; font-size: 14px; }
.event-artist-category > header span { padding: 3px 8px; border-radius: 999px; background: #dcfce7; color: #15803d; font-size: 10px; font-weight: 900; }
.event-artist-category > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.event-artist-category > div > a { min-width: 0; }
.event-artist-category > div > a > div { min-width: 0; }
.event-artist-category > div > a :is(strong,span) { overflow: hidden; text-overflow: ellipsis; }
.event-asset-thumb { flex: 0 0 58px; width: 58px; height: 58px; object-fit: contain; border: 1px solid #dcfce7; border-radius: 8px; background: #f0fdf4; }
.event-asset-thumb.is-empty { display: grid; place-items: center; color: #718278; font-size: 7px; font-weight: 900; }
.event-social-list { display: grid; gap: 10px; }
.event-social-list article { display: grid; grid-template-columns: minmax(0,1fr) 140px 70px; gap: 12px; padding: 13px; border: 1px solid #dcfce7; border-radius: 10px; }
.event-social-list small,.event-social-list strong { display: block; }
.event-social-list small { color: #16a34a; font-size: 9px; font-weight: 900; }
.event-social-list p { margin: 5px 0 0; color: #395447; font-size: 11px; }
.event-social-list span { display: block; margin-top: 5px; color: #718278; font-size: 10px; }
.event-social-list time { color: #52675c; font-size: 11px; }
.event-social-list em { color: #15803d; font-size: 10px; font-style: normal; font-weight: 800; }
.event-social-actions { display: flex; gap: 5px; align-items: center; justify-content: flex-end; flex-wrap: wrap; }
.event-social-actions form { margin: 0; }
.event-account-select { display: flex; gap: 12px; align-items: end; justify-content: space-between; }
.event-account-select label { display: grid; gap: 5px; min-width: 280px; color: #395447; font-size: 11px; font-weight: 800; }
.event-account-table { display: grid; min-width: 0; }
.event-account-header,
.event-account-row { display: grid; grid-template-columns: minmax(180px,1.2fr) 160px 90px 170px 160px 85px; gap: 12px; align-items: center; padding: 12px; }
.event-account-header { color: #52675c; background: #f0fdf4; border-radius: 9px; font-size: 10px; font-weight: 900; }
.event-account-row { border-bottom: 1px solid #dcfce7; }
.event-account-row > div strong,
.event-account-row > div small { display: block; }
.event-account-row > div strong { color: #065f46; }
.event-account-row > div small { margin-top: 3px; color: #718278; }
.event-account-row span,
.event-account-row time { color: #52675c; font-size: 11px; }
.event-account-row time.expired { color: #dc2626; font-weight: 800; }
.event-account-row form { margin: 0; }
.event-instagram-feed { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 10px; }
.event-instagram-feed a { min-width: 0; overflow: hidden; color: inherit; text-decoration: none; border: 1px solid #d1fae5; border-radius: 10px; background: #fff; }
.event-instagram-feed img { display: block; width: 100%; aspect-ratio: 1/1; object-fit: cover; background: #dcfce7; }
.event-instagram-feed span { display: block; min-height: 45px; padding: 8px; overflow: hidden; color: #395447; font-size: 10px; }
.event-media-library { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.event-media-library article { min-width: 0; overflow: hidden; border: 1px solid #d1fae5; border-radius: 12px; background: #fff; }
.event-media-library article > a { display: block; background: #dcfce7; }
.event-media-library img { display: block; width: 100%; aspect-ratio: 1/1; object-fit: cover; }
.event-media-library article > div { display: grid; gap: 4px; padding: 10px; }
.event-media-library strong { overflow: hidden; color: #065f46; text-overflow: ellipsis; white-space: nowrap; }
.event-media-library span,
.event-media-library time { color: #52675c; font-size: 10px; }
@media (max-width: 1100px) {
  .event-metric-grid,.event-finance-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .event-dashboard-grid,.event-master-grid { grid-template-columns: 1fr; }
  .event-equipment-form { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .event-artist-form { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .event-artist-category > div { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .event-asset-category > div { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .event-form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .event-inline-form { grid-template-columns: repeat(3,minmax(110px,1fr)); }
  .event-card-list > a { grid-template-columns: 75px 64px minmax(200px,1fr) 80px 100px 22px; }
  .event-card-thumbnail { width: 64px; height: 64px; }
  .event-card-list > a .event-status { display: none; }
}
@media (max-width: 760px) {
  .event-hero { align-items: flex-start; flex-direction: column; padding: 22px; }
  .event-metric-grid,.event-finance-summary,.event-form-grid,.event-inline-form { grid-template-columns: 1fr; }
  .event-equipment-form { grid-template-columns: 1fr; }
  .event-artist-form { grid-template-columns: 1fr; }
  .event-artist-form .event-artist-fee-note { grid-column: auto; }
  .event-artist-category > div { grid-template-columns: 1fr; }
  .event-asset-category > div { grid-template-columns: 1fr; }
  .event-form-grid label:first-child { grid-column: auto; }
  .event-card-list > a { position: relative; grid-template-columns: 62px 64px minmax(0,1fr); gap: 12px; }
  .event-card-list > a .event-card-stat,.event-card-list > a > b { display: none; }
  .event-data-list > div { grid-template-columns: 1fr auto 30px; }
  .event-social-list article { grid-template-columns: 1fr; }
  .event-account-header { display: none; }
  .event-account-row { grid-template-columns: 1fr auto; padding: 14px 4px; }
  .event-account-row > :nth-child(2),
  .event-account-row > :nth-child(3),
  .event-account-row > :nth-child(4),
  .event-account-row > :nth-child(5) { grid-column: 1 / -1; }
  .event-instagram-feed { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .event-media-library { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .event-account-select { align-items: stretch; flex-direction: column; }
  .event-account-select label { min-width: 0; }
}
body.theme-store {
  --store-primary: #795238;
  --store-primary-hover: #5f3f2b;
  --store-strong: #4a3022;
  --store-secondary: #a98265;
  --store-accent: #c8a27a;
  --store-light: #f6f1ec;
  --store-canvas: #fcfbfa;
  --store-background: #ffffff;
  --store-heading: #4a3022;
  --store-text: #2f3439;
  --store-subtext: #6b7280;
  --store-muted: #9ca3af;
  --store-inverse: #ffffff;
  --store-border: #e5d9cf;
  --store-divider: #efe6de;
  --store-focus: #795238;
  --store-table-header: #faf7f4;
  --table-header-background: #faf7f4;
  --table-border: #efe6de;
  --table-hover: #fcf8f5;
  --color-danger: #dc2626;
  --color-warning: #f59e0b;
  --color-success: #16a34a;
  --color-info: #2563eb;
  --theme-primary: #795238;
  --theme-primary-hover: #5f3f2b;
  --theme-primary-strong: #4a3022;
  --theme-primary-soft: #a98265;
  --theme-primary-light: var(--store-light);
  --theme-primary-border: var(--store-secondary);
  --theme-focus-ring: rgba(121, 82, 56, .12);
  --theme-navigation: #463025;
  --theme-on-primary: #fff;
  --theme-secondary: var(--store-secondary);
  --theme-secondary-hover: var(--store-primary-hover);
  --theme-secondary-light: var(--store-light);
  --theme-canvas: var(--store-canvas);
  --theme-surface: var(--store-background);
  --theme-heading: var(--store-heading);
  --theme-text: var(--store-text);
  --theme-muted: var(--store-muted);
  --theme-divider: var(--store-divider);
  --theme-divider-strong: var(--store-border);
  --theme-nav-active: rgba(200, 162, 122, .18);
  --theme-table-background: #fff;
  --theme-table-header: #faf7f4;
  --theme-table-hover: var(--table-hover);
  --theme-shadow: 0 1px 3px rgba(74, 48, 34, .05);
  --theme-priority-urgent: #c62828;
  --theme-priority-recommended: #e87516;
  --blue: var(--theme-primary);
  --line: var(--theme-divider);
  --bg: var(--theme-canvas);
}
body.theme-store {
  background: var(--store-canvas);
  color: var(--store-text);
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight: 400;
}
body.theme-store a { color: var(--theme-primary); text-underline-offset: 2px; }
body.theme-store .sidebar {
  border-right: 1px solid var(--theme-primary-strong);
  background-color: var(--theme-navigation);
  background-image:
    linear-gradient(rgba(35, 22, 15, .18), rgba(35, 22, 15, .18)),
    url("./store-sidebar-walnut.png");
  background-position: center top;
  background-size: cover;
  background-repeat: no-repeat;
}
body.theme-store .sidebar a,
body.theme-store .sidebar-user { color: var(--theme-on-primary); }
body.theme-store .sidebar a { color: rgba(255, 255, 255, .72); }
body.theme-store .sidebar a:hover { background: rgba(255, 255, 255, .07); color: var(--store-inverse); }
body.theme-store .sidebar a.active { background: var(--theme-nav-active); color: var(--store-inverse); font-weight: 600; box-shadow: none; }
body.theme-store .sidebar a.active::before { background: var(--store-accent); }
.store-ai-learning-shell { display: grid; gap: 18px; }
.store-ai-guardrail { display: flex; align-items: center; gap: 16px; padding: 14px 18px; border: 1px solid #b7ddca; border-left: 5px solid #16835d; border-radius: 10px; background: #f0faf5; color: #174d3b; }
.store-ai-guardrail strong { flex: 0 0 auto; font-size: 17px; }
.store-ai-guardrail span { font-size: 13px; line-height: 1.55; }
.store-ai-teach-card h2, .store-ai-list-heading h2 { margin: 0; }
.store-ai-teach-form { display: grid; grid-template-columns: minmax(130px,.65fr) minmax(220px,1.35fr) minmax(220px,1.35fr) minmax(160px,.8fr) auto; gap: 12px; align-items: end; margin-top: 14px; }
.store-ai-teach-form label { display: grid; gap: 6px; min-width: 0; font-weight: 700; }
.store-ai-teach-form :is(input,select,.button) { min-height: 44px; }
.store-ai-teach-form textarea { min-height: 104px; resize: vertical; line-height: 1.5; }
.store-ai-teach-form label small { color: #6b7280; font-size: 11px; font-weight: 500; }
.store-ai-list-heading { display: flex; align-items: end; justify-content: space-between; gap: 16px; }
.store-ai-list-heading form label { display: flex; align-items: center; gap: 8px; font-weight: 700; }
.store-ai-list-heading select { min-width: 180px; }
.store-ai-rule-list { display: grid; gap: 8px; margin-top: 14px; }
.store-ai-rule-card { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 16px; padding: 12px 14px; border: 1px solid #e1d4c7; border-radius: 9px; background: #fff; }
.store-ai-rule-card > div { display: flex; align-items: center; gap: 12px; min-width: 0; }
.store-ai-rule-card > div :is(strong,b) { overflow-wrap: anywhere; white-space: pre-line; }
.store-ai-rule-card > div span { color: #16835d; font-size: 20px; }
.store-ai-rule-card small { color: #6b7280; white-space: nowrap; }
.store-ai-rule-card form { margin: 0; }
.store-ai-rule-card.is-inactive { opacity: .55; background: #f5f5f5; }
.store-ai-retention { flex: 0 0 auto; padding: 7px 11px; border-radius: 999px; background: #eef7f3; color: #126b4c; font-size: 12px; font-weight: 800; }
.store-ai-conversation-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 14px; }
.store-ai-conversation-card { min-width: 0; padding: 14px; border: 1px solid #d8e0dc; border-left: 5px solid #a7b4ae; border-radius: 10px; background: #fff; }
.store-ai-conversation-card.status-unreviewed { border-left-color: #e8a317; background: #fffcf4; }
.store-ai-conversation-card.status-correct { border-left-color: #16835d; }
.store-ai-conversation-card.status-corrected { border-left-color: #2563eb; }
.store-ai-conversation-meta { display: flex; align-items: center; gap: 8px; }
.store-ai-conversation-meta span { margin-right: auto; color: #6b7280; font-size: 12px; }
.store-ai-conversation-meta b,.store-ai-conversation-meta em { padding: 4px 8px; border-radius: 999px; background: #edf2f7; font-size: 11px; font-style: normal; }
.store-ai-message-text { min-height: 48px; margin: 12px 0 8px; font-weight: 700; line-height: 1.55; overflow-wrap: anywhere; }
.store-ai-prediction { margin: 0 0 12px; color: #536270; font-size: 13px; }
.store-ai-review-actions { display: flex; align-items: flex-start; gap: 8px; flex-wrap: wrap; }
.store-ai-review-actions form { margin: 0; }
.store-ai-review-actions details { position: relative; }
.store-ai-review-actions summary { list-style: none; cursor: pointer; }
.store-ai-review-actions summary::-webkit-details-marker { display: none; }
.store-ai-correction-form { position: absolute; z-index: 30; top: calc(100% + 6px); left: 0; display: grid; gap: 9px; width: min(360px,80vw); padding: 13px; border: 1px solid #cbd5e1; border-radius: 9px; background: #fff; box-shadow: 0 12px 30px rgba(15,23,42,.2); }
.store-ai-correction-form label { display: grid; gap: 5px; font-size: 12px; font-weight: 700; }
.store-ai-correction-form textarea { resize: vertical; }
@media (max-width: 1100px) { .store-ai-teach-form { grid-template-columns: repeat(2,minmax(0,1fr)); } .store-ai-teach-form .button { width: 100%; } }
@media (max-width: 700px) { .store-ai-guardrail { align-items: flex-start; flex-direction: column; gap: 5px; } .store-ai-teach-form,.store-ai-conversation-list { grid-template-columns: 1fr; } .store-ai-list-heading { align-items: stretch; flex-direction: column; } .store-ai-list-heading form label { display: grid; } .store-ai-rule-card { grid-template-columns: 1fr; gap: 8px; } .store-ai-rule-card small { white-space: normal; } .store-ai-rule-card form .button { width: 100%; } }
body.theme-store .main { padding: 24px 28px; background: var(--theme-canvas); }
body.theme-store .topbar { padding-bottom: 16px; border-bottom: 1px solid var(--theme-divider); }
body.theme-store .topbar h1,
body.theme-store .settings-panel h2,
body.theme-store .settings-card h2,
body.theme-store .shopping-list-heading { color: var(--theme-heading); }
body.theme-store .topbar h1 {
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: -.015em;
}
body.theme-store .button:not(.secondary):not(.danger):not(.is-unset) {
  border-color: var(--theme-primary);
  border-radius: 6px;
  background: var(--theme-primary);
  color: var(--theme-on-primary);
  min-height: 40px;
  padding: 0 16px;
  font-size: 14px;
  font-weight: 600;
}
body.theme-store .button:not(.secondary):not(.danger):not(.is-unset):hover {
  border-color: var(--theme-primary-hover);
  background: var(--theme-primary-hover);
}
body.theme-store .button:not(.secondary):not(.danger):not(.is-unset):active {
  border-color: var(--store-strong);
  background: var(--store-strong);
  transform: translateY(1px);
}
body.theme-store .button:not(.danger):disabled {
  border-color: #ded3ca;
  background: #ded3ca;
  color: #9b8e84;
  cursor: not-allowed;
}
body.theme-store .button.secondary:not(.is-unset) {
  border-color: var(--store-secondary);
  border-radius: 6px;
  background: var(--theme-surface);
  color: var(--store-primary);
  box-shadow: none;
}
body.theme-store .button.secondary:not(.is-unset):hover {
  border-color: var(--store-primary);
  background: var(--store-table-header);
  color: var(--store-primary-hover);
}
body.theme-store .sidebar .button.secondary { border-color: var(--theme-primary-border); background: transparent; color: var(--theme-on-primary); }
body.role-admin .sidebar {
  border-right-color: #4b5563;
  background: #4b5563;
}
body.theme-admin-settings .sidebar {
  border-right-color: #4b5563;
  background: linear-gradient(180deg, #6b7280 0%, #4b5563 52%, #374151 100%);
}
body.theme-development .sidebar {
  border-right-color: var(--system-primary, #2563eb);
  background-color: var(--system-nav, #0f2747);
  background-image:
    linear-gradient(rgba(9, 30, 61, .30), rgba(9, 30, 61, .30)),
    url("./development-submenu-tech.png");
  background-position: center top;
  background-size: cover;
  background-repeat: no-repeat;
}
body.theme-store input[type="checkbox"],
body.theme-store input[type="radio"],
body.theme-store input[type="range"] { accent-color: var(--theme-primary); }
body.theme-store input:focus,
body.theme-store select:focus,
body.theme-store textarea:focus {
  border-color: var(--theme-primary);
  outline: 0;
  box-shadow: 0 0 0 3px var(--theme-focus-ring);
}
body.theme-store input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]),
body.theme-store select { min-height: 40px; padding: 0 12px; border-color: #dfd2c8; border-radius: 6px; background: var(--theme-surface); color: var(--theme-text); }
body.theme-store textarea { min-height: 82px; padding: 8px 12px; border-color: #dfd2c8; border-radius: 6px; background: var(--theme-surface); color: var(--theme-text); }
body.theme-store .settings-card { border-color: var(--store-border); border-radius: 8px; box-shadow: var(--theme-shadow); }
body.theme-store .settings-card:hover { border-color: var(--theme-primary-soft); box-shadow: var(--theme-shadow); }
body.theme-store .settings-card h2::before { background: var(--theme-primary-soft); box-shadow: inset 0 0 0 3px var(--theme-primary-light); }
body.theme-store .settings-panel,
body.theme-store .settings-card,
body.theme-store .settings-table td { background: var(--theme-surface); }
body.theme-store .settings-panel { border-color: var(--store-border); border-radius: 8px; box-shadow: var(--theme-shadow); }
body.theme-store .settings-panel h2 { padding-left: 10px; border-left: 3px solid var(--theme-primary-soft); }
body.theme-store .settings-card h2 { font-size: 13px; font-weight: 600; }
body.theme-store :is(.settings-panel, .settings-card) {
  opacity: .98;
  transition: transform .32s ease, box-shadow .32s ease, border-color .32s ease, opacity .32s ease;
}
body.theme-store :is(.settings-panel, .settings-card):hover {
  opacity: 1;
  border-color: var(--theme-primary-soft);
  box-shadow: 0 12px 26px rgba(74, 48, 34, .14);
  transform: translateY(-4px);
}
body.theme-store :is(.sidebar a, .sidebar-development-menu summary, button, .button) {
  opacity: .98;
  transition: transform .3s ease, box-shadow .3s ease, background-color .3s ease,
              border-color .3s ease, color .3s ease, opacity .3s ease;
}
body.theme-store :is(.sidebar a, .sidebar-development-menu summary, button:not(:disabled), .button:not(:disabled)):hover {
  opacity: 1;
  box-shadow: 0 7px 16px rgba(17, 24, 39, .18);
  transform: translateY(-4px);
}
body.theme-store :is(button:disabled, .button:disabled) {
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  body.theme-store :is(.settings-panel, .settings-card, .sidebar a, .sidebar-development-menu summary, button, .button) {
    transition: none;
  }
  body.theme-store :is(.settings-panel, .settings-card, .sidebar a, .sidebar-development-menu summary, button, .button):hover {
    transform: none;
  }
}
body.theme-store :is(.store-sales-panel strong, .settings-card .metric, .settings-card .amount) {
  color: var(--store-heading);
  font-family: "Inter", "Noto Sans JP", sans-serif;
  font-weight: 700;
}
body.theme-store .table,
body.theme-store .table tbody tr,
body.theme-store .table tbody tr td,
body.theme-store .settings-table tbody tr:nth-child(even) td,
body.theme-store .settings-table tbody .shopping-row-completed td,
body.theme-store .shopping-row-completed td {
  background: var(--theme-table-background);
}
body.theme-store .table th,
body.theme-store .settings-table th { height: 44px; background: var(--table-header-background); color: var(--theme-heading); font-weight: 600; letter-spacing: .02em; }
body.theme-store .table th,
body.theme-store .table td { height: 44px; border-bottom-color: var(--table-border); }
body.theme-store .table tbody tr:hover td { background: var(--theme-table-hover); }
body.theme-store .shopping-row-completed td { color: var(--theme-muted); }
body.theme-store .shopping-row-completed td:first-child { box-shadow: inset 3px 0 0 var(--theme-divider-strong); }
body.theme-store .shopping-date-divider td { border-top-color: var(--theme-primary-soft); }
body.theme-store .shopping-list-section-pending .shopping-date-divider td { border-top: 0; }
body.theme-store .inventory-field-management a:hover { color: var(--theme-primary-hover); }
body.theme-store .inventory-row-unlocked,
body.theme-store .inventory-row-unlocked > td { background: var(--theme-primary-light) !important; }
body.theme-store .inventory-row-unlocked { box-shadow: inset 4px 0 0 var(--theme-primary); }
body.theme-store .priority-badge:not(.priority-urgent),
body.theme-store .lead-time-tag,
body.theme-store .inventory-value-unset,
body.theme-store .inventory-value-unreported { background: transparent; border: 1px solid var(--theme-divider-strong); }
body.theme-store .priority-buy-soon { border-color: #facc15; background: #fef9c3; color: #854d0e; }
body.theme-store .priority-enough,
body.theme-store .lead-time-tag { color: var(--theme-secondary); }
body.theme-store .shopping-list-table tr:not(.shopping-row-completed) .priority-urgent {
  border-color: #fecaca;
  background: #fef2f2;
  color: var(--color-danger);
}
body.theme-store .shopping-list-table tr:not(.shopping-row-completed) .priority-buy-soon {
  border-color: #facc15;
  background: #fef9c3;
  color: #854d0e;
}
body.theme-store .shopping-list-table .lead-time-same-day {
  border-color: #86efac;
  background: #dcfce7;
  color: #166534;
}
body.theme-store .shopping-list-table .lead-time-few-days {
  border-color: #fcd34d;
  background: #fef3c7;
  color: #92400e;
}
body.theme-store .shopping-list-table .lead-time-long-lead {
  border-color: #fca5a5;
  background: #fee2e2;
  color: #991b1b;
}
body.theme-store .shopping-list-table .lead-time-unset {
  border-color: #d1d5db;
  background: #f3f4f6;
  color: #9ca3af;
}
body.theme-store .priority-enough {
  border-color: #bbf7d0;
  background: #f0fdf4;
  color: var(--color-success);
}
body.theme-store .shopping-row-completed .priority-badge {
  border-color: #bbf7d0;
  background: #f0fdf4;
  color: var(--color-success);
}
body.theme-store .table .store-product-name { font-weight: 800; }
body.theme-store .shopping-list-table th,
body.theme-store .shopping-list-table td { text-align: center; }
body.theme-store .shopping-list-table .shopping-product-name-column,
body.theme-store .shopping-list-table .store-product-name { text-align: left; }
body.theme-store .shopping-list-table th.shopping-product-name-column { text-align: center; }
body.theme-store .shopping-list-table td[data-label="操作"] { white-space: normal; }
body.theme-store .shopping-list-table td[data-label="操作"] > a,
body.theme-store .shopping-list-table td[data-label="操作"] > form { display: inline-flex; margin: 2px; vertical-align: middle; }
body.theme-store .shopping-list-table td[data-label="操作"] > form .button { width: auto; }
body.theme-store .shopping-list-table .shopping-item-actions { display: inline-flex; align-items: center; flex-wrap: nowrap; gap: 5px; margin: 2px; vertical-align: middle; white-space: nowrap; }
body.theme-store .shopping-list-table .shopping-item-actions form { display: flex; margin: 0; }
body.theme-store .shopping-list-table .shopping-item-actions .button { display: inline-flex; align-items: center; justify-content: center; width: 62px; min-width: 62px; min-height: 32px; margin: 0; padding: 0 8px; }
body.theme-store .shopping-shell {
  --store-dashboard-neutral-border: var(--theme-divider-strong);
  --store-dashboard-neutral-header: var(--theme-primary);
  --store-dashboard-neutral-cell: var(--theme-surface);
  --store-dashboard-neutral-hover: var(--theme-primary-light);
  gap: 24px;
}
body.theme-store .shopping-shell > .shopping-inbox-accordion { order: 10; }
body.theme-store .shopping-shell > .shopping-master-accordion { order: 9; }
body.theme-store .shopping-shell > .shopping-top-actions {
  margin: 0;
  padding: 12px 14px;
  border: 1px solid var(--theme-divider);
  border-radius: 10px;
  background: var(--theme-surface);
  box-shadow: 0 1px 3px rgba(74, 48, 34, .04);
}
body.theme-store .shopping-shell > .shopping-tools-grid {
  gap: 12px;
  margin: 0;
  padding: 0;
  border-radius: 10px;
  background: transparent;
}
body.theme-store .shopping-shell .shopping-accordion {
  padding: 20px 10px;
  border-color: var(--store-dashboard-neutral-border);
  border-radius: 10px;
  background: var(--theme-table-header);
  box-shadow: 0 8px 18px rgba(17, 24, 39, .08);
}
body.theme-store .shopping-shell .shopping-accordion > summary {
  position: relative;
  min-height: 30px;
  padding: 5px 28px 5px 40px;
  color: var(--theme-heading);
  line-height: 20px;
  list-style: none;
}
body.theme-store .shopping-shell .shopping-accordion > summary::-webkit-details-marker { display: none; }
body.theme-store .shopping-shell .shopping-accordion > summary::before {
  content: "⌕";
  position: absolute;
  left: 0;
  top: 0;
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 1px solid var(--theme-primary-border);
  border-radius: 7px;
  background: var(--theme-primary-light);
  color: var(--theme-primary);
  font-size: 17px;
}
body.theme-store .shopping-shell .shopping-accordion:nth-child(2) > summary::before { content: "+"; }
body.theme-store .shopping-shell .shopping-master-accordion > summary::before { content: "+"; }
body.theme-store .shopping-shell .shopping-inbox-accordion > summary::before { content: "✦"; }
body.theme-store .shopping-shell .shopping-accordion > summary::after {
  content: "›";
  position: absolute;
  right: 2px;
  top: 50%;
  color: var(--theme-secondary);
  font-size: 22px;
  line-height: 1;
  transform: translateY(-50%) rotate(90deg);
  transition: transform .16s ease;
}
body.theme-store .shopping-shell .shopping-accordion[open] > summary::after {
  transform: translateY(-50%) rotate(-90deg);
}
body.theme-store .shopping-shell .shopping-accordion[open] > summary {
  padding-bottom: 12px;
  border-bottom: 1px solid var(--theme-divider);
}
body.theme-store .shopping-shell .shopping-manual-registration > summary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: auto;
  min-height: 40px;
  padding: 0 16px;
  border: 1px solid var(--color-success) !important;
  border-radius: 6px;
  background: var(--color-success) !important;
  color: #fff !important;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
}
body.theme-store .shopping-shell .shopping-manual-registration > summary::before {
  content: "+";
  position: static;
  display: inline;
  width: auto;
  height: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #fff;
  font-size: 18px;
  line-height: 1;
}
body.theme-store .shopping-shell .shopping-manual-registration > summary::after {
  position: static;
  margin-left: 2px;
  color: #fff;
  transform: rotate(90deg);
}
body.theme-store .shopping-shell .shopping-manual-registration[open] > summary {
  padding: 0 16px;
  border-color: var(--color-success) !important;
  background: var(--color-success) !important;
}
body.theme-store .shopping-shell .shopping-manual-registration[open] > summary::after {
  transform: rotate(-90deg);
}
body.theme-store .shopping-shell .shopping-manual-registration > summary:hover {
  border-color: #15803d !important;
  background: #15803d !important;
  color: #fff !important;
}
body.theme-store .shopping-shell .shopping-list-section {
  margin: 0;
  padding: 20px 10px;
  border: 1px solid var(--store-dashboard-neutral-border);
  border-radius: 10px;
  background: var(--theme-table-header);
  box-shadow: 0 8px 18px rgba(17, 24, 39, .08);
}
body.theme-store .shopping-shell .shopping-list-header {
  min-height: 42px;
  margin-bottom: 10px;
  padding: 0 2px 10px;
  border-bottom: 1px solid var(--theme-divider-strong);
}
body.theme-store .shopping-shell .shopping-list-heading {
  position: relative;
  margin: 0;
  padding-left: 14px;
  font-size: 17px;
  line-height: 1.45;
}
body.theme-store .shopping-shell .shopping-list-heading::before {
  content: "";
  position: absolute;
  left: 0;
  top: 3px;
  bottom: 3px;
  width: 4px;
  border-radius: 999px;
  background: var(--theme-primary-soft);
}
body.theme-store .shopping-shell .shopping-list-section-pending .shopping-list-heading::before {
  background: var(--theme-primary);
}
body.theme-store .shopping-shell .shopping-list-table {
  width: 100%;
  max-width: 100%;
  table-layout: fixed;
  border-color: var(--theme-divider-strong);
  border-radius: 8px;
  box-shadow: 0 2px 7px rgba(74, 48, 34, .055);
}
@media (min-width: 861px) {
  body.theme-store .store-work-items-shell > section.settings-panel:first-of-type .store-work-items-edit-table {
    display: table !important;
    width: 100% !important;
    max-width: 100% !important;
    table-layout: fixed !important;
  }
  body.theme-store .shopping-shell .shopping-list-table th,
  body.theme-store .shopping-shell .shopping-list-table td {
    width: auto;
    white-space: normal;
  }
  body.theme-store .shopping-shell .shopping-list-table .shopping-product-name-column,
  body.theme-store .shopping-shell .shopping-list-table .store-product-name {
    width: 18%;
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
  }
  body.theme-store .shopping-shell .shopping-list-table td:is([data-label="理由"], [data-label="登録者"], [data-label="登録日時"]) {
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
  }
}
body.theme-store .shopping-shell .shopping-list-table th,
body.theme-store .shopping-shell .shopping-list-table td {
  height: 36px;
  min-width: 0;
  padding: 7px 4px;
  overflow-wrap: anywhere;
  font-size: 11px !important;
  line-height: 1.35;
}
body.theme-store .shopping-shell .shopping-list-table .priority-badge,
body.theme-store .shopping-shell .shopping-list-table .lead-time-tag {
  max-width: 100%;
  padding: 2px 5px;
  border-radius: 6px;
  white-space: normal;
}
body.theme-store .shopping-shell .shopping-list-table .shopping-item-actions { gap: 3px; margin: 0; }
body.theme-store .shopping-shell .shopping-list-table .shopping-item-actions .button {
  width: 46px;
  min-width: 46px;
  min-height: 28px;
  padding: 0 4px;
  font-size: 10px !important;
}
body.theme-store .shopping-shell .shopping-list-table td[data-label="操作"] > a {
  max-width: 100%;
  min-width: 0;
  min-height: 28px;
  padding: 2px 4px;
  overflow-wrap: anywhere;
  font-size: 10px !important;
  line-height: 1.2;
  white-space: normal;
}
body.theme-store .shopping-shell .shopping-list-table th {
  border-bottom: 1px solid var(--theme-primary-strong);
  background-color: var(--theme-primary);
  background-image:
    linear-gradient(rgba(35, 22, 15, .44), rgba(35, 22, 15, .44)),
    url("./store-sidebar-walnut.png");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  color: var(--theme-on-primary);
  text-shadow: 0 1px 1px rgba(0, 0, 0, .38);
}
body.theme-store .shopping-shell .shopping-list-section-pending .shopping-list-table th {
  border-bottom-color: var(--theme-primary-strong);
  color: var(--theme-on-primary);
}
body.theme-store .shopping-shell .shopping-list-section-completed .shopping-list-table th {
  border-bottom-color: var(--theme-primary-strong);
  color: var(--theme-on-primary);
}
body.theme-store .shopping-shell .shopping-list-table td {
  border-bottom-color: var(--store-dashboard-neutral-border);
  background: var(--theme-surface);
}
body.theme-store .shopping-shell .shopping-list-table tbody tr:hover td {
  background: var(--store-dashboard-neutral-hover);
}
body.theme-store .shopping-shell .shopping-bottom-tools > .settings-panel {
  padding: 20px 10px;
  border-color: var(--store-dashboard-neutral-border);
  border-radius: 10px;
  background: var(--theme-table-header);
  box-shadow: 0 8px 18px rgba(17, 24, 39, .08);
}
body.theme-store .shopping-shell .shopping-completed-limit select {
  border-color: var(--theme-divider-strong);
  background: var(--theme-surface);
}
body.theme-store .settings-shell:has(> .shopping-top-actions + .settings-panel) {
  display: grid;
  gap: 16px;
  overflow: visible;
}
body.theme-store .settings-shell:has(> .shopping-top-actions + .settings-panel) > .shopping-top-actions {
  margin: 0;
  padding: 12px 14px;
  border: 1px solid var(--theme-divider);
  border-radius: 10px;
  background: var(--theme-surface);
  box-shadow: 0 1px 3px rgba(74, 48, 34, .04);
}
body.theme-store .store-work-items-shell > .shopping-top-actions {
  order: 99;
}
body.theme-store:has(.store-work-items-shell) .topbar h1 {
  font-size: 0 !important;
}
body.theme-store:has(.store-work-items-shell) .topbar h1::after {
  content: "やることリスト一覧";
  font-size: var(--font-size-page-title);
  line-height: 1.5;
}
body.theme-store .store-work-items-ignored > summary {
  font-weight: 700;
}
body.theme-store:has(form[method="get"][action*="/store/daily-reports"]) .topbar h1 {
  font-size: 0 !important;
}
body.theme-store:has(form[method="get"][action*="/store/daily-reports"]) .topbar h1::after {
  content: "日報一覧";
  font-size: var(--font-size-page-title);
  line-height: 1.5;
}
body.theme-store:has(form[method="get"][action*="/store/daily-reports"]) .settings-shell > section.settings-panel:last-of-type {
  margin-bottom: 0;
  padding: 20px 10px;
  border-color: var(--theme-divider-strong);
  border-radius: 10px;
  background: var(--theme-table-header);
  box-shadow: 0 8px 18px rgba(17, 24, 39, .08);
}
body.theme-store:has(form[method="get"][action*="/store/daily-reports"]) .settings-shell > section.settings-panel:last-of-type > h2 {
  margin: 0 0 12px;
  color: var(--theme-heading);
}
body.theme-store:has(form[method="get"][action*="/store/daily-reports"]) .settings-shell > section.settings-panel:last-of-type > form[method="post"] {
  width: 100%;
  margin: 0;
  overflow-x: auto;
}
body.theme-store:has(form[method="get"][action*="/store/daily-reports"]) .settings-shell > section.settings-panel:last-of-type .settings-table {
  width: 100%;
  max-width: 100%;
  table-layout: fixed;
  border-color: var(--theme-divider-strong);
  border-radius: 8px;
  box-shadow: 0 2px 7px rgba(74, 48, 34, .055);
}
body.theme-store:has(form[method="get"][action*="/store/daily-reports"]) .settings-shell > section.settings-panel:last-of-type .settings-table th {
  height: 36px;
  border-bottom-color: var(--theme-divider-strong);
  background: var(--theme-primary);
  color: var(--theme-on-primary);
  text-align: center;
}
body.theme-store:has(form[method="get"][action*="/store/daily-reports"]) .settings-shell > section.settings-panel:last-of-type .settings-table td {
  border-bottom-color: var(--theme-divider-strong);
  background: var(--theme-surface);
  text-align: center;
}
body.theme-store:has(form[method="get"][action*="/store/daily-reports"]) .settings-shell > section.settings-panel:last-of-type .settings-table tbody tr:hover td {
  background: var(--theme-primary-light);
}
@media (min-width: 861px) {
  body.theme-store:has(form[method="get"][action*="/store/daily-reports"]) .settings-shell > section.settings-panel:last-of-type .settings-table :is(th, td) {
    padding: 7px 4px;
    overflow-wrap: anywhere;
    font-size: 11px !important;
    line-height: 1.35;
  }
}
body.theme-store .store-work-items-shell > section.settings-panel:first-of-type .settings-table :is(th, td):nth-child(6),
body.theme-store .store-work-items-shell > section.settings-panel:nth-of-type(2) .settings-table :is(th, td):nth-child(6),
body.theme-store .store-work-items-shell > details.store-work-items-ignored .settings-table :is(th, td):nth-child(5) {
  display: none;
}
html:has(body.theme-store .store-work-items-shell),
body.theme-store:has(.store-work-items-shell) {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}
body.theme-store:has(.store-work-items-shell) .app-shell {
  width: 100%;
  min-width: 0;
  max-width: 100vw;
}
body.theme-store .store-work-items-shell {
  display: grid;
  gap: 24px;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow-x: clip;
}
body.theme-store .store-work-items-shell > :is(section.settings-panel, details.settings-panel) {
  margin: 0;
  padding: 20px 10px;
  border: 1px solid var(--theme-divider-strong);
  border-radius: 10px;
  background: var(--theme-table-header);
  box-shadow: 0 8px 18px rgba(17, 24, 39, .08);
}
body.theme-store .store-work-items-shell .settings-table {
  width: 100%;
  max-width: 100%;
  table-layout: fixed;
  border-color: var(--theme-divider-strong);
  border-radius: 8px;
  box-shadow: 0 2px 7px rgba(74, 48, 34, .055);
}
body.theme-store .store-work-items-shell .settings-table :is(th, td) {
  height: 36px;
  padding: 7px 4px;
  border-bottom-color: var(--theme-divider-strong);
  font-size: 11px !important;
  line-height: 1.35;
  text-align: center;
}
body.theme-store .store-work-items-shell .settings-table .button.small {
  min-height: 28px;
  height: 28px;
  padding: 0 6px;
  font-size: 10px !important;
  line-height: 1.2;
}
body.theme-store .store-work-items-shell .settings-table th {
  border-bottom-color: var(--theme-primary-strong);
  background-color: var(--theme-primary);
  background-image:
    linear-gradient(rgba(35, 22, 15, .44), rgba(35, 22, 15, .44)),
    url("./store-sidebar-walnut.png");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  color: var(--theme-on-primary);
  text-shadow: 0 1px 1px rgba(0, 0, 0, .38);
}
body.theme-store .store-work-items-shell .settings-table td { background: var(--theme-surface); }
body.theme-store .store-work-items-shell .settings-table tbody tr:hover td { background: var(--theme-primary-light); }
body.theme-store .store-work-items-shell .settings-table td:first-child { text-align: left; }
body.theme-store .store-work-items-shell .store-work-priority-badge { border: 0; border-radius: 6px; color: #fff; }
body.theme-store .store-work-items-shell .store-work-priority-badge.priority-high { background: var(--color-danger); }
body.theme-store .store-work-items-shell .store-work-priority-badge.priority-medium { background: #facc15; }
body.theme-store .store-work-items-shell .store-work-priority-badge.priority-low { background: var(--color-success); }
@media (min-width: 861px) {
  body.theme-store:has(.store-work-items-shell) .sidebar {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    width: var(--sidebar-width);
    height: 100vh;
    height: 100dvh;
    min-height: 0;
    overflow: visible;
  }
  body.theme-store:has(.store-work-items-shell) .main { grid-column: 2; }
  body.theme-store .store-work-items-shell > section.settings-panel .settings-table {
    table-layout: fixed;
  }
  body.theme-store .store-work-items-shell > section.settings-panel .settings-table :is(th, td):first-child {
    width: 20%;
  }
  body.theme-store .store-work-items-shell > section.settings-panel .settings-table :is(th, td):not(:first-child) {
    width: auto;
  }
  body.theme-store .store-work-items-shell > section.settings-panel:first-of-type .settings-table :is(thead, tbody) {
    display: block;
  }
  body.theme-store .store-work-items-shell > section.settings-panel:first-of-type .settings-table tr {
    display: grid;
    grid-template-columns: 8% minmax(0, 32%) 14% 12% 12% 14% 8%;
    align-items: center;
    width: 100%;
  }
  body.theme-store .store-work-items-shell > section.settings-panel:first-of-type .settings-table :is(th, td) {
    width: auto;
  }
  body.theme-store .store-work-items-shell > section.settings-panel:first-of-type .settings-table tbody td {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
  }
  body.theme-store .store-work-items-shell > section.settings-panel:first-of-type .settings-table :is(th, td):first-child {
    grid-column: 2;
    text-align: left;
  }
  body.theme-store .store-work-items-shell > section.settings-panel:first-of-type .settings-table tbody td:first-child {
    justify-content: flex-start;
  }
  body.theme-store .store-work-items-shell > section.settings-panel:first-of-type .settings-table :is(th, td):nth-child(2) {
    grid-column: 1;
    grid-row: 1;
  }
  body.theme-store .store-work-items-shell > section.settings-panel:first-of-type .settings-table thead th {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
  }
  body.theme-store .store-work-items-shell > section.settings-panel:first-of-type .settings-table tr:has(> td[colspan]) {
    grid-template-columns: minmax(0, 1fr);
  }
  body.theme-store .store-work-items-shell > section.settings-panel:first-of-type .settings-table tr:has(> td[colspan]) > td {
    grid-column: 1;
    text-align: center;
  }
}
body.theme-store .store-work-items-edit-table :is(input[name="title"], input[type="date"], select) {
  width: 100%;
  min-width: 0;
  min-height: 32px;
  height: 32px;
  padding: 4px 8px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: var(--theme-text);
  font-size: 12px !important;
}
body.theme-store .store-work-items-edit-table input[name="title"] {
  font-weight: 700;
  text-align: left;
}
body.theme-store .store-work-items-edit-table :is(input, select):not(.store-work-priority-select):hover,
body.theme-store .store-work-items-edit-table :is(input, select):not(.store-work-priority-select):focus {
  border-color: var(--theme-primary-border);
  background: var(--theme-surface);
  outline: none;
}
body.theme-store .store-work-items-edit-table .store-work-priority-select {
  width: 52px;
  padding: 4px;
  border: 0;
  color: #fff;
  text-align: center;
  text-align-last: center;
}
body.theme-store .store-work-items-edit-table .store-work-priority-select.priority-high {
  background: var(--color-danger);
}
body.theme-store .store-work-items-edit-table .store-work-priority-select.priority-medium {
  background: var(--color-warning);
  color: #422006;
}
body.theme-store .store-work-items-edit-table .store-work-priority-select.priority-low {
  background: var(--color-success);
}
body.theme-store .settings-shell:has(> .shopping-top-actions + .settings-panel) > .settings-panel {
  margin: 0;
  padding: 14px;
  border: 0;
  border-radius: 10px;
  background: var(--theme-table-header);
  box-shadow: none;
}
body.theme-store .settings-shell:has(> .shopping-top-actions + .settings-panel) > .settings-panel > h2 {
  margin: 0 0 12px;
  padding: 2px 0 2px 12px;
  border-left: 4px solid var(--theme-primary-soft);
  color: var(--theme-heading);
  font-size: 17px;
  line-height: 1.45;
}
body.theme-store .settings-shell:has(> .shopping-top-actions + .settings-panel) > .settings-panel:first-of-type > h2 {
  border-left-color: var(--theme-primary);
}
body.theme-store .settings-shell:has(> .shopping-top-actions + .settings-panel) .settings-table {
  border-color: var(--theme-divider-strong);
  border-radius: 8px;
  background: var(--theme-surface);
  box-shadow: 0 2px 7px rgba(74, 48, 34, .055);
}
body.theme-store .settings-shell:has(> .shopping-top-actions + .settings-panel) .settings-table th {
  border-bottom: 1px solid var(--theme-primary-strong);
  background: var(--theme-primary);
  color: var(--theme-on-primary);
}
body.theme-store .settings-shell:has(> .shopping-top-actions + .settings-panel) .settings-table td {
  background: var(--theme-surface);
}
body.theme-store .settings-shell:has(> .shopping-top-actions + .settings-panel) .settings-table th,
body.theme-store .settings-shell:has(> .shopping-top-actions + .settings-panel) .settings-table td,
body.theme-store .settings-shell:has(> .shopping-top-actions + .settings-panel) .settings-table .store-product-name {
  text-align: center;
}
body.theme-store .settings-shell:has(> .shopping-top-actions + .settings-panel) .settings-table form {
  margin: 0;
}
body.theme-store .settings-shell.store-work-items-shell:has(> .shopping-top-actions + .settings-panel) > :is(section.settings-panel, details.settings-panel) {
  margin: 0;
  padding: 20px 10px;
  border: 1px solid var(--theme-divider-strong);
  border-radius: 10px;
  background: var(--theme-table-header);
  box-shadow: 0 8px 18px rgba(17, 24, 39, .08);
}
body.theme-store .settings-shell.store-work-items-shell:has(> .shopping-top-actions + .settings-panel) .settings-table th {
  border-bottom-color: var(--theme-primary-strong);
  background-color: var(--theme-primary);
  background-image:
    linear-gradient(rgba(35, 22, 15, .44), rgba(35, 22, 15, .44)),
    url("./store-sidebar-walnut.png");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  color: var(--theme-on-primary);
  text-shadow: 0 1px 1px rgba(0, 0, 0, .38);
}
body.theme-store .settings-shell.store-work-items-shell:has(> .shopping-top-actions + .settings-panel) .settings-table td:first-child {
  text-align: left;
}
body.theme-store .settings-shell.store-work-items-shell > section.settings-panel:nth-of-type(2) .settings-table :is(th, td):first-child {
  width: 9%;
  text-align: center;
}
body.theme-store .settings-shell.store-work-items-shell > section.settings-panel:nth-of-type(2) .settings-table :is(th, td):nth-child(2) {
  width: 20%;
}
body.theme-store .settings-shell.store-work-items-shell > section.settings-panel:nth-of-type(2) .settings-table td:nth-child(2) {
  text-align: left;
}
body.theme-store .settings-shell.store-work-items-shell > section.settings-panel:first-of-type .settings-table tbody td {
  vertical-align: middle;
}
body.theme-store:has(#inventory-candidates) .settings-shell {
  display: grid;
  gap: 16px;
  width: 100%;
  max-width: 100%;
  overflow: visible;
}
.inventory-dedicated-edit-page > :not(#inventory-item-edit):not(dialog):not(script) { display: none !important; }
.inventory-dedicated-edit-page #inventory-item-edit { grid-column: 1 / -1; width: 100%; }
body.theme-store:has(#inventory-candidates) .settings-shell > *,
body.theme-store:has(#inventory-candidates) #registered-products,
body.theme-store:has(#inventory-candidates) .inventory-product-group,
body.theme-store:has(#inventory-candidates) .inventory-product-table-wrap {
  min-width: 0;
  max-width: 100%;
}
body.theme-store:has(#inventory-candidates) .settings-shell > .actions:first-child {
  margin: 0;
  padding: 12px 14px;
  border: 1px solid var(--theme-divider);
  border-radius: 10px;
  background: var(--theme-surface);
  box-shadow: 0 1px 3px rgba(74, 48, 34, .04);
}
body.theme-store:has(#inventory-candidates) .settings-shell > .settings-panel {
  margin: 0;
  padding: 14px;
  border: 0;
  border-radius: 10px;
  background: var(--theme-table-header);
  box-shadow: none;
}
body.theme-store:has(#inventory-candidates) .settings-shell > .settings-panel > h2 {
  margin: 0 0 12px;
  padding: 2px 0 2px 12px;
  border-left: 4px solid var(--theme-primary-soft);
  color: var(--theme-heading);
  font-size: 17px;
  line-height: 1.45;
}
body.theme-store:has(#inventory-candidates) #inventory-candidates > h2 {
  border-left-color: var(--theme-primary);
}
@media (min-width: 1200px) {
  body.theme-store:has(#inventory-candidates) .settings-shell {
    grid-template-columns: minmax(360px, .7fr) minmax(0, 1.3fr);
    align-items: start;
  }
  body.theme-store:has(#inventory-candidates) .settings-shell > * {
    grid-column: 1 / -1;
  }
  body.theme-store:has(#inventory-candidates) .settings-shell > details.inventory-product-create-panel {
    grid-column: 1 / -1;
  }
  body.theme-store:has(#inventory-candidates) .settings-shell > #inventory-candidates {
    grid-column: 1 / -1;
  }
}
body.theme-store:has(#inventory-candidates) .settings-shell > details.settings-panel,
body.theme-store:has(#inventory-candidates) .inventory-master-tools > details.settings-panel {
  border: 1px solid var(--theme-divider-strong);
  background: var(--theme-surface);
  box-shadow: 0 2px 7px rgba(74, 48, 34, .07);
}
body.theme-store:has(#inventory-candidates) details.settings-panel > summary {
  position: relative;
  min-height: 30px;
  padding: 5px 28px 5px 40px;
  color: var(--theme-heading);
  font-weight: 800;
  line-height: 20px;
  list-style: none;
}
body.theme-store:has(#inventory-candidates) details.settings-panel > summary::-webkit-details-marker { display: none; }
body.theme-store:has(#inventory-candidates) details.settings-panel > summary::before {
  content: "+";
  position: absolute;
  left: 0;
  top: 0;
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 1px solid var(--theme-primary-border);
  border-radius: 7px;
  background: var(--theme-primary-light);
  color: var(--theme-primary);
  font-size: 17px;
}
body.theme-store:has(#inventory-candidates) .inventory-master-tools > details.settings-panel > summary::before { content: "⚙"; }
body.theme-store:has(#inventory-candidates) #inventory-candidates > summary::before { content: "?"; }
.inventory-candidate-alert {
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 22px;
  margin-left: 8px;
  border-radius: 50%;
  background: var(--color-danger, #dc2626);
  color: #fff;
  font-size: 14px;
  font-weight: 900;
  line-height: 1;
  box-shadow: 0 0 0 4px rgba(220, 38, 38, .12);
}
body.theme-store:has(#inventory-candidates) details.settings-panel > summary::after {
  content: "›";
  position: absolute;
  right: 2px;
  top: 50%;
  color: var(--theme-secondary);
  font-size: 22px;
  line-height: 1;
  transform: translateY(-50%) rotate(90deg);
  transition: transform .16s ease;
}
body.theme-store:has(#inventory-candidates) details.settings-panel[open] > summary::after {
  transform: translateY(-50%) rotate(-90deg);
}
body.theme-store:has(#inventory-candidates) details.settings-panel[open] > summary {
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--theme-divider);
}
body.theme-store:has(#inventory-candidates) .settings-table {
  border-color: var(--theme-divider-strong);
  background: var(--theme-surface);
  box-shadow: 0 2px 7px rgba(74, 48, 34, .055);
}
body.theme-store:has(#inventory-candidates) .settings-table th {
  border-bottom: 1px solid var(--theme-divider-strong);
  background: var(--theme-surface);
}
body.theme-store:has(#inventory-candidates) .settings-table td {
  background: var(--theme-surface);
}
body.theme-store:has(#inventory-candidates) #inventory-candidates .inventory-candidate-table th {
  border-bottom-color: var(--theme-primary-strong);
  background: var(--theme-primary);
  color: var(--theme-on-primary);
  text-align: center;
  white-space: nowrap;
}
body.theme-store:has(#inventory-candidates) .inventory-product-group {
  padding: 12px;
  border: 1px solid var(--theme-divider);
  border-radius: 8px;
  background: var(--theme-surface);
}
body.theme-store:has(#inventory-candidates) .inventory-product-group + .inventory-product-group {
  margin-top: 12px;
}
body.theme-store:has(#inventory-candidates) .inventory-product-group > h3 {
  padding-bottom: 8px;
  border-bottom: 1px solid var(--theme-divider);
  font-size: 15px;
}
body.theme-store:has(#inventory-candidates) #registered-products .inventory-product-table-wrap .settings-table th {
  padding: 10px 6px;
  border-bottom-color: var(--theme-primary-strong);
  background: var(--theme-primary);
  color: var(--theme-on-primary);
  box-shadow: 0 2px 0 var(--theme-primary-strong);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
  text-align: center;
  white-space: nowrap;
}
body.theme-store:has(#inventory-candidates) #registered-products .inventory-product-table-wrap .settings-table th a,
body.theme-store:has(#inventory-candidates) #registered-products .inventory-product-table-wrap .settings-table th a:hover {
  color: var(--theme-on-primary);
  text-decoration: none;
}
@media (min-width: 861px) {
  body.theme-store:has(#inventory-candidates) .main {
    padding-right: 56px;
    padding-left: 56px;
  }
  body.theme-store:has(#inventory-candidates) .main > .topbar,
  body.theme-store:has(#inventory-candidates) .main > .settings-shell {
    width: 100%;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
  }
  body.theme-store:has(#inventory-candidates) .settings-shell > .actions,
  body.theme-store:has(#inventory-candidates) .settings-shell > .settings-panel,
  body.theme-store:has(#inventory-candidates) .settings-shell > details,
  body.theme-store:has(#inventory-candidates) .settings-shell > .inventory-master-tools {
    width: 100%;
    max-width: 100%;
  }
  body.theme-store:has(#inventory-candidates) #inventory-candidates {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
  }
  body.theme-store:has(#inventory-candidates) #inventory-candidates .inventory-candidate-table {
    width: 100%;
    min-width: 900px;
    table-layout: fixed;
  }
  body.theme-store:has(#inventory-candidates) #inventory-candidates .inventory-candidate-table th {
    white-space: nowrap;
  }
  body.theme-store:has(#inventory-candidates) #registered-products .inventory-product-table-wrap {
    width: 100%;
    max-width: 100%;
    overflow: visible;
  }
  body.theme-store:has(#inventory-candidates) #registered-products .inventory-product-table-wrap .settings-table {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
  }
  body.theme-store:has(#inventory-candidates) #registered-products .inventory-product-table-wrap .settings-table th,
  body.theme-store:has(#inventory-candidates) #registered-products .inventory-product-table-wrap .settings-table td {
    padding: 5px 2px;
    font-size: 9px;
    line-height: 1.2;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  body.theme-store:has(#inventory-candidates) #registered-products .inventory-product-table-wrap .settings-table th {
    font-size: 9px;
  }
  body.theme-store:has(#inventory-candidates) #registered-products .inventory-product-group > h3 {
    font-size: 14px;
    line-height: 1.35;
  }
  body.theme-store:has(#inventory-candidates) #registered-products .inventory-product-table-wrap .settings-table :is(th, td) {
    padding-right: 5px;
    padding-left: 5px;
  }
  body.theme-store:has(#inventory-candidates) #registered-products .inventory-product-table-wrap .settings-table :is(th, td):nth-child(1) { width: 5%; }
  body.theme-store:has(#inventory-candidates) #registered-products .inventory-product-table-wrap .settings-table :is(th, td):nth-child(2) { width: 28%; }
  body.theme-store:has(#inventory-candidates) #registered-products .inventory-product-table-wrap .settings-table :is(th, td):nth-child(3) { width: 14%; }
  body.theme-store:has(#inventory-candidates) #registered-products .inventory-product-table-wrap .settings-table :is(th, td):nth-child(4) { width: 12%; }
  body.theme-store:has(#inventory-candidates) #registered-products .inventory-product-table-wrap .settings-table :is(th, td):nth-child(5) { width: 8%; }
  body.theme-store:has(#inventory-candidates) #registered-products .inventory-product-table-wrap .settings-table :is(th, td):nth-child(6) { width: 8%; }
  body.theme-store:has(#inventory-candidates) #registered-products .inventory-product-table-wrap .settings-table :is(th, td):nth-child(7) { width: 7%; }
  body.theme-store:has(#inventory-candidates) #registered-products .inventory-product-table-wrap .settings-table :is(th, td):nth-child(8) { width: 7%; }
  body.theme-store:has(#inventory-candidates) #registered-products .inventory-product-table-wrap .settings-table :is(th, td):nth-child(9) { width: 11%; }
  body.theme-store:has(#inventory-candidates) #registered-products .inventory-product-table-wrap .settings-table td:nth-child(6) .inventory-inline-trigger:not(.is-open) {
    display: -webkit-box;
    overflow: hidden;
    white-space: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  body.theme-store:has(#inventory-candidates) #registered-products .inventory-product-table-wrap .settings-table td:nth-child(3) .inventory-inline-trigger:not(.is-open),
  body.theme-store:has(#inventory-candidates) #registered-products .inventory-product-table-wrap .settings-table td:nth-child(4) .inventory-inline-trigger:not(.is-open) {
    display: -webkit-box;
    overflow: hidden;
    white-space: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  body.theme-store:has(#inventory-candidates) #registered-products .inventory-product-table-wrap .settings-table td:nth-child(2) {
    text-align: left;
    white-space: normal;
    overflow: visible;
    overflow-wrap: anywhere;
    word-break: normal;
  }
  body.theme-store:has(#inventory-candidates) #registered-products .inventory-product-table-wrap .button.small,
  body.theme-store:has(#inventory-candidates) #registered-products .inventory-product-table-wrap :is(input, select, textarea) {
    max-width: 100%;
    min-width: 0;
    padding-right: 3px;
    padding-left: 3px;
    font-size: 9px !important;
  }
}
body.theme-store:has(#inventory-candidates) .inventory-master-tools {
  gap: 12px;
  padding: 14px;
  border-radius: 10px;
  background: var(--theme-table-header);
}
body.theme-store:has(#inventory-candidates) .inventory-master-tools > .settings-panel {
  margin: 0;
}
html:has(body.theme-development .development-dashboard-scale),
body.theme-development:has(.development-dashboard-scale) {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}
body.theme-development:has(.development-dashboard-scale) .app-shell {
  width: 100%;
  min-width: 0;
  max-width: 100vw;
  overflow-x: hidden;
}
body.theme-development:has(.development-dashboard-scale) .main {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow-x: hidden;
}
body:has(.development-dashboard-scale) .development-dashboard-scale {
  --development-dashboard-list-height: 190px;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  padding-right: 18px;
  padding-left: 18px;
}
body:has(.development-dashboard-scale) .development-dashboard-scale > * {
  min-width: 0;
  max-width: 100%;
}
body:has(.development-dashboard-scale) .development-dashboard-scale .my-task-overview {
  margin-bottom: 10px;
  padding-top: 0;
  padding-bottom: 5px;
}
body:has(.development-dashboard-scale) .development-dashboard-scale .dashboard-alert-grid {
  gap: 10px;
  margin-bottom: 10px;
}
body:has(.development-dashboard-scale) .development-dashboard-scale .dashboard-alert-grid > .settings-panel {
  padding: 10px 12px;
}
body:has(.development-dashboard-scale) .development-dashboard-scale .dashboard-todo-list,
body:has(.development-dashboard-scale) .development-dashboard-scale .due-alert-list {
  max-height: var(--development-dashboard-list-height);
  overflow-y: auto;
  scrollbar-gutter: stable;
}
body:has(.development-dashboard-scale) .development-dashboard-scale .dashboard-todo-item,
body:has(.development-dashboard-scale) .development-dashboard-scale .due-alert-item {
  min-height: 34px;
  padding-top: 5px;
  padding-bottom: 5px;
}
body:has(.development-dashboard-scale) .development-dashboard-scale .dashboard-todo-add {
  margin-top: 7px;
}
body:has(.development-dashboard-scale) .development-dashboard-scale .dashboard-section-heading {
  margin: 3px 0 6px;
}
body:has(.development-dashboard-scale) .development-dashboard-scale .dashboard-section-heading.compact {
  padding-bottom: 5px;
}
body:has(.development-dashboard-scale) .development-dashboard-scale .dashboard-link-board {
  gap: 10px;
  padding-top: 5px;
  padding-bottom: 9px;
}
body:has(.development-dashboard-scale) .development-dashboard-scale .dashboard-link-board:not(.private-dashboard-link-board) {
  grid-auto-flow: row;
  grid-auto-columns: auto;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  overflow-x: visible;
}
body:has(.development-dashboard-scale) .development-dashboard-scale .bookmark-category {
  gap: 5px;
  padding: 8px;
}
body:has(.development-dashboard-scale) .development-dashboard-scale .bookmark-category-header {
  min-height: 25px;
}
body:has(.development-dashboard-scale) .development-dashboard-scale .dashboard-link-grid {
  gap: 5px;
  max-height: 205px;
  overflow-y: auto;
  scrollbar-gutter: stable;
}
body:has(.development-dashboard-scale) .development-dashboard-scale .link-card {
  min-height: 40px;
  padding-top: 9px;
  padding-bottom: 9px;
}
body:has(.development-dashboard-scale) .development-dashboard-scale .private-links-section {
  margin-top: 2px;
  padding-bottom: 4px;
}
body:has(.my-task-overview) .my-task-overview {
  gap: 12px;
  margin-bottom: 20px;
  padding: 4px 2px 10px;
}
body:has(.my-task-overview) .my-task-total,
body:has(.my-task-overview) .my-task-metric,
body:has(.my-task-overview) .my-task-column,
body:has(.my-task-overview) .dashboard-admin-shortcut {
  border-radius: 9px;
  box-shadow: 0 2px 7px rgba(17, 24, 39, .07);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
body:has(.my-task-overview) .my-task-total:hover,
body:has(.my-task-overview) .my-task-metric:hover,
body:has(.my-task-overview) .my-task-column:hover,
body:has(.my-task-overview) .dashboard-admin-shortcut:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(17, 24, 39, .11);
}
body:has(.my-task-overview) .dashboard-alert-grid {
  gap: 16px;
  margin-bottom: 22px;
}
body:has(.my-task-overview) .dashboard-alert-grid > .settings-panel {
  padding: 16px;
  border-radius: 10px;
  box-shadow: 0 3px 12px rgba(17, 24, 39, .07);
}
body:has(.my-task-overview) .dashboard-section-heading {
  margin: 8px 0 12px;
}
body:has(.my-task-overview) .dashboard-section-heading.compact {
  margin-top: 0;
  padding-bottom: 10px;
}
body:has(.my-task-overview) .dashboard-todo-columns {
  gap: 12px;
}
body:has(.my-task-overview) .dashboard-todo-column {
  gap: 10px;
}
body:has(.my-task-overview) .dashboard-todo-item,
body:has(.my-task-overview) .due-alert-item {
  border-radius: 8px;
  box-shadow: 0 1px 4px rgba(17, 24, 39, .055);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
body:has(.my-task-overview) .dashboard-todo-item:hover,
body:has(.my-task-overview) .due-alert-item:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 11px rgba(17, 24, 39, .09);
}
body:has(.my-task-overview) .dashboard-link-board {
  gap: 16px;
  padding: 14px 2px 22px;
}
body:has(.my-task-overview) .bookmark-category {
  gap: 10px;
  padding: 12px;
  border-radius: 10px;
  box-shadow: 0 2px 9px rgba(17, 24, 39, .065);
}
body:has(.my-task-overview) .bookmark-category-header {
  min-height: 32px;
  padding-bottom: 4px;
}
body:has(.my-task-overview) .dashboard-link-grid {
  gap: 10px;
}
body:has(.my-task-overview) .link-card {
  min-height: 42px;
  border-radius: 8px;
  box-shadow: 0 1px 4px rgba(17, 24, 39, .055);
}
body:has(.my-task-overview) .link-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 11px rgba(17, 24, 39, .09);
}
body:has(.my-task-overview) .private-links-section {
  margin-top: 6px;
  padding-bottom: 12px;
}
body.theme-store:has(.settings-shell > .actions a[href*="/store/recipes/edit"]) .settings-shell {
  display: grid;
  gap: 16px;
  overflow: visible;
}
body.theme-store:has(.settings-shell > .actions a[href*="/store/recipes/edit"]) .settings-shell > .actions {
  margin: 0;
  padding: 12px 14px;
  border: 1px solid var(--theme-divider);
  border-radius: 10px;
  background: var(--theme-surface);
  box-shadow: 0 1px 3px rgba(74, 48, 34, .04);
}
body.theme-store:has(.settings-shell > .actions a[href*="/store/recipes/edit"]) .settings-table {
  border-color: var(--theme-divider-strong);
  border-radius: 9px;
  background: var(--theme-surface);
  box-shadow: 0 3px 12px rgba(74, 48, 34, .07);
}
body.theme-store:has(.settings-shell > .actions a[href*="/store/recipes/edit"]) .settings-table th {
  border-bottom-color: var(--theme-primary-strong);
  background: var(--theme-primary);
  color: var(--theme-on-primary);
  text-align: center;
}
body.theme-store:has(.settings-shell > .actions a[href*="/store/recipes/edit"]) .settings-table td {
  background: var(--theme-surface);
  text-align: center;
}
body.theme-store:has(.settings-shell > .actions a[href*="/store/recipes/edit"]) .settings-table tbody tr:hover td {
  background: var(--theme-table-hover);
}
body.theme-store .settings-shell > .settings-grid,
body.theme-store .settings-shell > .store-dashboard-secondary {
  padding: 14px;
  border: 0;
  border-radius: 8px;
  background: var(--theme-table-header);
}
body.theme-store .settings-shell > .settings-grid,
body.theme-store .settings-shell > .store-dashboard-secondary > .settings-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
body.theme-store .settings-shell > .store-dashboard-secondary {
  margin-top: 18px;
}
body.theme-store .settings-shell > .store-dashboard-secondary:last-child > .settings-grid {
  grid-template-columns: minmax(0, 1fr);
}
body.theme-store .settings-shell > .settings-grid .settings-card,
body.theme-store .settings-shell > .store-dashboard-secondary .settings-card {
  position: relative;
  align-content: center;
  min-height: 92px;
  padding: 18px 44px 18px 18px;
  border-color: var(--theme-divider-strong);
  border-radius: 8px;
  box-shadow: var(--theme-shadow);
}
body.theme-store .settings-shell > .settings-grid .settings-card::after,
body.theme-store .settings-shell > .store-dashboard-secondary .settings-card::after {
  content: "›";
  position: absolute;
  right: 18px;
  top: 50%;
  color: var(--theme-secondary);
  font-size: 24px;
  font-weight: 500;
  line-height: 1;
  transform: translateY(-50%);
}
body.theme-store .settings-shell > .settings-grid .settings-card:hover,
body.theme-store .settings-shell > .store-dashboard-secondary .settings-card:hover {
  border-color: var(--theme-primary-soft);
  box-shadow: var(--theme-shadow);
}
body.theme-store .settings-shell > .settings-grid .settings-card h2,
body.theme-store .settings-shell > .store-dashboard-secondary .settings-card h2 {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 15px;
  line-height: 1.45;
}
body.theme-store .settings-shell > .settings-grid .settings-card h2::before,
body.theme-store .settings-shell > .store-dashboard-secondary .settings-card h2::before {
  display: inline-grid;
  place-items: center;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  margin: 0;
  border: 1px solid var(--theme-primary-border);
  border-radius: 7px;
  background: var(--theme-primary-light);
  color: var(--theme-primary);
  box-shadow: none;
  font-size: 16px;
  font-weight: 800;
  line-height: 1;
}
body.theme-store .settings-shell > .settings-grid .settings-card:nth-child(1) h2::before { content: "▦"; }
body.theme-store .settings-shell > .settings-grid .settings-card:nth-child(2) h2::before { content: "✓"; }
body.theme-store .settings-shell > .settings-grid .settings-card:nth-child(3) h2::before { content: "⚑"; }
body.theme-store .settings-shell > .store-dashboard-secondary:nth-of-type(2) .settings-card:nth-child(1) h2::before { content: "≡"; }
body.theme-store .settings-shell > .store-dashboard-secondary:nth-of-type(2) .settings-card:nth-child(2) h2::before { content: "▤"; }
body.theme-store .settings-shell > .store-dashboard-secondary:nth-of-type(2) .settings-card:nth-child(3) h2::before { content: "◇"; }
body.theme-store .settings-shell > .store-dashboard-secondary:last-child .settings-card h2::before { content: "✦"; }
@media (max-width: 900px) {
  body.theme-store .main { padding: 18px 16px; }
  body.theme-store .settings-shell > .settings-grid,
  body.theme-store .settings-shell > .store-dashboard-secondary > .settings-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.theme-store .settings-shell > .store-dashboard-secondary:last-child > .settings-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 620px) {
  body.theme-store .settings-shell > .settings-grid,
  body.theme-store .settings-shell > .store-dashboard-secondary > .settings-grid { grid-template-columns: minmax(0, 1fr); }
  body.theme-store .settings-shell > .settings-grid,
  body.theme-store .settings-shell > .store-dashboard-secondary { padding: 10px; }
  body.theme-store .shopping-shell { gap: 12px; }
  body.theme-store .shopping-shell > .shopping-top-actions,
  body.theme-store .shopping-shell > .shopping-tools-grid,
  body.theme-store .shopping-shell .shopping-list-section { padding: 10px; }
  body.theme-store .shopping-shell .shopping-list-header { align-items: stretch; flex-direction: column; }
  body.theme-store .settings-shell:has(> .shopping-top-actions + .settings-panel) { gap: 12px; }
  body.theme-store .settings-shell:has(> .shopping-top-actions + .settings-panel) > .shopping-top-actions,
  body.theme-store .settings-shell:has(> .shopping-top-actions + .settings-panel) > .settings-panel { padding: 10px; }
  body.theme-store:has(#inventory-candidates) .settings-shell { gap: 12px; }
  body.theme-store:has(#inventory-candidates) .settings-shell > .actions:first-child,
  body.theme-store:has(#inventory-candidates) .settings-shell > .settings-panel,
  body.theme-store:has(#inventory-candidates) .inventory-master-tools { padding: 10px; }
  body.theme-store:has(#inventory-candidates) .inventory-master-tools { grid-template-columns: minmax(0, 1fr); }
  body.theme-store:has(#inventory-candidates) .inventory-product-group { padding: 8px; }
  body:has(.my-task-overview) .my-task-overview { gap: 8px; margin-bottom: 14px; padding-bottom: 6px; }
  body:has(.my-task-overview) .dashboard-alert-grid { gap: 12px; margin-bottom: 16px; }
  body:has(.my-task-overview) .dashboard-alert-grid > .settings-panel { padding: 12px; }
  body:has(.my-task-overview) .bookmark-category { padding: 10px; }
  body.theme-store:has(.settings-shell > .actions a[href*="/store/recipes/edit"]) .settings-shell { gap: 12px; }
  body.theme-store:has(.settings-shell > .actions a[href*="/store/recipes/edit"]) .settings-shell > .actions { padding: 10px; }
}
a { color: var(--blue); }
input, select, textarea, button { font: inherit; }
input, select, textarea { width: 100%; min-height: 42px; border: 1px solid var(--line); border-radius: 6px; padding: 8px 10px; background: #fff; }
textarea { min-height: 82px; resize: vertical; }
.electronic-connection-warning { position: fixed; top: 12px; right: 12px; z-index: 5000; display: flex; max-width: min(520px, calc(100vw - 24px)); align-items: center; gap: 10px; padding: 12px 14px; border: 1px solid #f59e0b; border-radius: 9px; background: #fffbeb; color: #78350f; font-size: 13px; font-weight: 800; box-shadow: 0 12px 30px rgba(15,23,42,.2); }
.electronic-connection-warning button { flex: 0 0 auto; width: auto; min-height: 34px; padding: 5px 10px; border: 0; border-radius: 6px; background: #92400e; color: #fff; font-weight: 900; cursor: pointer; }
.toggle-row { display: inline-flex; align-items: center; gap: 8px; font-weight: 800; }
.toggle-row input { width: 18px; min-height: 18px; }

.app-shell { display: grid; grid-template-columns: var(--sidebar-width) minmax(0, 1fr); min-height: 100vh; }
.sidebar { max-width: 100vw; min-width: 0; background: var(--navy); color: #fff; padding: clamp(8px, 2vh, 18px) 10px; display: flex; flex-direction: column; gap: clamp(8px, 2vh, 20px); box-sizing: border-box; }
.super-app-shell .sidebar { background: #000; }
.super-app-shell .sidebar a:hover { background: #1f1f1f; }
.super-app-shell .sidebar a.active { background: #2b2b2b; }
.sidebar-tenant-entry-form { margin: 0; }
.sidebar-tenant-entry {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 9px;
  border: 0;
  border-radius: 6px;
  padding: clamp(5px, .9vh, 9px) 10px;
  background: transparent;
  color: #fff;
  font-size: 14px;
  text-align: left;
  cursor: pointer;
}
.super-app-shell .sidebar-tenant-entry:hover { background: #1f1f1f; }
.super-app-shell .sidebar-tenant-entry.active { background: #2b2b2b; font-weight: 800; }
.super-tenant-menu { position: relative; }
.super-tenant-menu .sidebar-tenant-entry::after { content: "›"; margin-left: auto; }
.super-app-shell .sidebar-nav-icon { width: 18px; min-width: 18px; height: 18px; }
.super-tenant-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 1020;
  display: none;
  width: 210px;
  gap: 4px;
  padding: 6px;
  border: 1px solid #404040;
  border-radius: 6px;
  background: #111;
  box-shadow: 6px 8px 18px rgba(17, 24, 39, .24);
}
.super-tenant-menu:hover .super-tenant-submenu,
.super-tenant-menu:focus-within .super-tenant-submenu { display: grid; }
.super-tenant-submenu form { margin: 0; }
.super-tenant-submenu :is(a, button) {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 8px;
  border: 0;
  border-radius: 6px;
  padding: 8px 10px;
  background: #181818;
  color: #fff;
  font-size: 13px;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}
.super-tenant-submenu :is(a, button):hover,
.super-tenant-submenu :is(a, button):focus-visible,
.super-tenant-submenu :is(a, button).active { background: #303030; }
.sidebar-nav-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.sidebar-nav-icon { width: 18px; min-width: 18px; height: 18px; color: currentColor; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sidebar .sidebar-nav-icon { color: #fff; }
.brand { display: flex; align-items: center; min-width: 0; min-height: 42px; padding: 0 6px; }
.brand img { display: block; width: min(100%, 174px); height: auto; max-height: 42px; object-fit: contain; object-position: left center; }
.sidebar nav { display: grid; gap: clamp(2px, .65vh, 6px); }
.sidebar a { color: #fff; text-decoration: none; padding: clamp(5px, .9vh, 9px) 10px; border-radius: 6px; font-size: 14px; }
.sidebar nav a, .sidebar > a, .sidebar .logout-form .button { display: flex; align-items: center; gap: 9px; }
.sidebar :is(nav a, .sidebar-menu-parent, .sidebar-development-menu summary, .sidebar-dashboard-switch, .sidebar-super-management, .sidebar-tenant-entry, .sidebar-user, .logout-form .button) { max-width: 100%; min-width: 0; box-sizing: border-box; }
.sidebar :is(nav a, .sidebar-menu-parent, .sidebar-development-menu summary, .sidebar-dashboard-switch, .sidebar-super-management, .sidebar-tenant-entry, .logout-form .button) > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-context-children { display: grid; gap: 3px; margin: 0 0 4px 16px; padding-left: 8px; border-left: 2px solid rgba(255,255,255,.26); }
.sidebar-context-children a { min-width: 0; padding-top: 6px; padding-bottom: 6px; font-size: 13px; background: rgba(255,255,255,.05); }
.sidebar-menu-group { position: relative; display: grid; gap: 3px; }
.sidebar-menu-parent { position: relative; display: flex; align-items: center; gap: 9px; padding: clamp(5px, .9vh, 9px) 10px; border-radius: 6px; color: rgba(255,255,255,.9); font-size: 14px; font-weight: 800; cursor: pointer; }
.sidebar-menu-parent::after { content: "›"; margin-left: auto; }
.sidebar-menu-parent:hover,
.sidebar-menu-parent:focus-visible,
.sidebar-menu-group:focus-within > .sidebar-menu-parent { outline: 0; background: rgba(255,255,255,.12); color: #fff; }
.sidebar-menu-parent.active { background: rgba(255,255,255,.16); color: #fff; }
.sidebar-menu-group > .sidebar-context-children {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 1010;
  display: none;
  width: 190px;
  margin: 0;
  padding: 6px;
  border: 1px solid #795238;
  border-left: 1px solid #795238;
  border-radius: 6px;
  background:
    linear-gradient(rgba(35,22,15,.24), rgba(35,22,15,.24)),
    url("./store-sidebar-walnut.png") center / cover;
  box-shadow: 6px 8px 18px rgba(17,24,39,.24);
}
.sidebar-menu-group:hover > .sidebar-context-children,
.sidebar-menu-group:focus-within > .sidebar-context-children { display: grid; }
.sidebar-menu-group > .sidebar-context-children a { width: 100%; background: rgba(200,162,122,.10); }
.sidebar-store-children { border-left-color: var(--store-accent, #c8a27a); }
.sidebar-development-children { border-left-color: var(--system-accent, #60a5fa); }
body.theme-development .sidebar-menu-group > .sidebar-development-children {
  border-color: rgba(96,165,250,.72);
  background: linear-gradient(145deg, #0d2b57, #123f7c);
  box-shadow: 8px 10px 24px rgba(3,15,38,.34);
}
body.theme-development .sidebar-menu-group > .sidebar-development-children a { background: rgba(96,165,250,.08); }
body.theme-development .sidebar-menu-group > .sidebar-development-children a:hover,
body.theme-development .sidebar-menu-group > .sidebar-development-children a.active { background: rgba(96,165,250,.24); }
.sidebar-dashboard-switches {
  display: grid;
  gap: 7px;
  margin-top: auto;
}
.sidebar-dashboard-switch {
  margin-top: 0;
  border: 1px solid var(--system-secondary, #60a5fa);
  background:
    linear-gradient(135deg, rgba(37,99,235,.94), rgba(15,39,71,.96)),
    url("./development-submenu-tech.png") center / cover;
  color: #fff !important;
  font-weight: 900;
  box-shadow: 0 8px 18px rgba(15,39,71,.28);
}
.sidebar-dashboard-switch:hover,
.sidebar-dashboard-switch.active { background-color: var(--system-primary-hover, #1e40af) !important; }
.sidebar-dashboard-switch.sidebar-store-switch {
  border-color: var(--store-accent, #c8a27a);
  background:
    linear-gradient(rgba(70,48,37,.82), rgba(35,22,15,.9)),
    url("./store-sidebar-walnut.png") center / cover;
  box-shadow: 0 8px 18px rgba(35,22,15,.3);
}
.sidebar-dashboard-switch.sidebar-store-switch:hover {
  background-color: var(--store-primary-hover, #6f4933) !important;
}
.sidebar-dashboard-switches + .sidebar-user,
.sidebar-dashboard-switch + .sidebar-user { margin-top: 0; }
.sidebar-super-management { margin-top: 0; border: 1px solid rgba(255,255,255,.24); }
.sidebar-super-menu { position: relative; margin-top: auto; }
.sidebar-dashboard-switches + .sidebar-super-menu { margin-top: 0; }
.sidebar-super-management { display: flex; align-items: center; gap: 9px; padding: clamp(5px, .9vh, 9px) 10px; border-radius: 6px; color: #fff; font-size: 14px; font-weight: 800; cursor: pointer; }
.sidebar-super-management:hover,
.sidebar-super-management:focus,
.sidebar-super-management.active { background: rgba(255,255,255,.14); outline: none; }
.sidebar-super-submenu { position: absolute; right: 0; bottom: calc(100% + 6px); left: 0; z-index: 1120; display: none; gap: 4px; padding: 6px; border: 1px solid rgba(255,255,255,.24); border-radius: 7px; background: var(--navy); box-shadow: 0 12px 26px rgba(0,0,0,.3); }
.sidebar-super-menu:hover .sidebar-super-submenu,
.sidebar-super-menu:focus-within .sidebar-super-submenu { display: grid; }
.sidebar-preview-control { width: 100%; max-width: 100%; min-width: 0; margin-top: auto; padding: 8px; overflow: hidden; border: 1px solid rgba(255,255,255,.2); border-radius: 7px; background: rgba(255,255,255,.08); box-sizing: border-box; }
.sidebar-preview-control + .sidebar-super-menu { margin-top: 6px; }
.sidebar-preview-switch { display: block; width: 100%; max-width: 100%; min-width: 0; margin: 0; overflow: hidden; }
.sidebar-preview-switch label { display: grid; width: 100%; max-width: 100%; min-width: 0; gap: 5px; overflow: hidden; color: #fff; font-size: 12px; }
.sidebar-preview-switch label > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-preview-switch select { display: block; width: 100%; max-width: 100%; min-width: 0; min-height: 34px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; box-sizing: border-box; }
.sidebar-super-submenu a { min-height: 34px; background: rgba(255,255,255,.06); font-size: 13px; }
.sidebar a:hover { background: rgba(255,255,255,.12); }
.sidebar a.active { position: relative; background: rgba(255,255,255,.18); font-weight: 800; }
.sidebar a.active::before { content: ""; position: absolute; left: 0; top: 8px; bottom: 8px; width: 3px; border-radius: 999px; background: #fff; }
.sidebar-development-menu { position: relative; display: block; }
.sidebar-development-trigger { position: relative; display: block; }
.sidebar-development-trigger::after { content: "›"; position: absolute; right: 10px; }
.sidebar-development-menu summary { position: relative; padding: clamp(5px, .9vh, 9px) 10px; border-radius: 6px; color: #fff; font-size: 14px; cursor: pointer; list-style: none; }
.sidebar-development-menu summary::-webkit-details-marker { display: none; }
.sidebar-development-menu summary::after { content: "›"; position: absolute; right: 10px; transform: rotate(90deg); transition: transform .16s ease; }
.sidebar-development-menu summary:hover, .sidebar-development-menu summary.active { background: rgba(255,255,255,.18); font-weight: 800; }
.sidebar-development-menu[open] summary::after { transform: rotate(-90deg); }
.sidebar-development-submenu { position: absolute; top: 0; left: 100%; z-index: 1010; display: none; min-width: 180px; gap: 4px; padding: 6px; border-radius: 6px; background: var(--navy); box-shadow: 6px 8px 18px rgba(17,24,39,.24); }
.sidebar-development-menu:hover .sidebar-development-submenu { display: grid; }
.sidebar-development-submenu a { font-size: 13px; background: rgba(255,255,255,.06); }
.sidebar-development-submenu .sidebar-nav-icon { width: 16px; min-width: 16px; height: 16px; }
.sidebar nav a,
.sidebar .sidebar-menu-parent,
.sidebar .sidebar-development-menu summary,
.sidebar .sidebar-dashboard-switch,
.sidebar .sidebar-super-management,
.sidebar > a:not(.sidebar-user),
.sidebar .logout-form .button {
  font-weight: 800 !important;
}
.sidebar-store-menu .sidebar-development-submenu {
  border: 1px solid #795238;
  background: #463025;
}
.sidebar-store-menu .sidebar-development-submenu a {
  background: rgba(200, 162, 122, .08);
  color: rgba(255, 255, 255, .82);
}
.sidebar-store-menu .sidebar-development-submenu a:hover,
.sidebar-store-menu .sidebar-development-submenu a.active {
  background: rgba(200, 162, 122, .22);
  color: #fff;
}
.sidebar-development-menu:not(.sidebar-store-menu) .sidebar-development-submenu {
  border: 1px solid var(--system-secondary, #60a5fa);
  background: var(--system-nav-hover, #1d4ed8);
}
.sidebar-development-menu:not(.sidebar-store-menu) .sidebar-development-submenu a {
  background: rgba(147, 197, 253, .10);
  color: rgba(255, 255, 255, .84);
}
.sidebar-development-menu:not(.sidebar-store-menu) .sidebar-development-submenu a:hover,
.sidebar-development-menu:not(.sidebar-store-menu) .sidebar-development-submenu a.active {
  background: var(--system-primary-hover, #1e40af);
  color: #fff;
}
body.theme-development .sidebar-development-menu:not(.sidebar-store-menu) .sidebar-development-submenu a:hover,
body.theme-development .sidebar-development-menu:not(.sidebar-store-menu) .sidebar-development-submenu a.active {
  background: var(--system-primary-hover);
}
body.theme-store .sidebar-development-menu .sidebar-development-submenu {
  border-color: var(--theme-primary-strong);
  background-color: var(--theme-navigation);
  background-image:
    linear-gradient(rgba(35, 22, 15, .24), rgba(35, 22, 15, .24)),
    url("./store-sidebar-walnut.png");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
body.theme-store .sidebar-development-menu:not(.sidebar-store-menu) .sidebar-development-submenu {
  border-color: var(--system-secondary, #60a5fa);
  background-color: var(--system-nav, #0f2747);
  background-image:
    linear-gradient(rgba(9, 30, 61, .28), rgba(9, 30, 61, .28)),
    url("./development-submenu-tech.png");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.sidebar-user { margin-top: auto; padding: 10px; border-top: 1px solid rgba(255,255,255,.16); border-radius: 6px; color: rgba(255,255,255,.92); font-size: 13px; font-weight: 700; line-height: 1.45; text-decoration: none; }
.sidebar-user-details { display: block; flex: 1; min-width: 0; color: inherit; font-size: inherit; }
.sidebar-user:hover, .sidebar-user.active { background: rgba(255,255,255,.12); }
.sidebar-user-details > span { display: block; margin-top: 2px; overflow: hidden; color: rgba(255,255,255,.68); font-size: 12px; font-weight: 500; white-space: nowrap; text-overflow: ellipsis; }
.logout-form { margin-top: 0; }
.logout-form .button { justify-content: center; }
@media (min-width: 861px) {
  .sidebar { position: sticky; top: 0; z-index: 1000; align-self: start; width: var(--sidebar-width); height: auto; min-height: 100vh; min-height: 100dvh; overflow: visible; }
  .sidebar :is(.sidebar-menu-group > .sidebar-context-children, .sidebar-development-submenu, .super-tenant-submenu) { position: absolute; top: 0; right: auto; left: 100%; width: min(220px, calc(100vw - var(--sidebar-width) - 12px)); max-width: calc(100vw - var(--sidebar-width) - 12px); margin: 0; box-shadow: 6px 8px 18px rgba(17,24,39,.24); }
  .sidebar .sidebar-super-submenu { position: absolute; right: auto; bottom: 0; left: 100%; width: min(220px, calc(100vw - var(--sidebar-width) - 12px)); max-width: calc(100vw - var(--sidebar-width) - 12px); margin: 0 0 0 6px; box-shadow: 6px 8px 18px rgba(17,24,39,.24); }
  body.theme-development .sidebar {
    position: sticky;
    bottom: auto;
    left: auto;
    z-index: 1100;
    width: var(--sidebar-width);
    overflow: visible;
  }
  body.theme-development .main { position: relative; z-index: 0; grid-column: 2; }
  body.theme-development .sidebar-menu-group > .sidebar-development-children { z-index: 1110; }
  .sidebar-user { padding-top: clamp(6px, 1vh, 10px); padding-bottom: clamp(6px, 1vh, 10px); }
}
.main { background: #f1f1f1; padding: 24px; min-width: 0; overflow-x: hidden; }
.super-app-shell .main { padding: 24px 28px; }
.super-department-kpi-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.super-department-kpi { --department-color: #334155; position: relative; display: grid; grid-template-rows: auto auto auto 1fr; min-width: 0; min-height: 168px; padding: 14px 14px 12px 17px; overflow: hidden; border: 1px solid #d7dde4; border-radius: 8px; background: #fff; }
.super-department-kpi::before { position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--department-color); content: ""; }
.super-department-kpi.is-store { --department-color: #8b5e3c; }
.super-department-kpi.is-development { --department-color: #2563eb; }
.super-department-kpi.is-event { --department-color: #15803d; }
.super-department-kpi.is-affiliate { --department-color: #db2777; }
.super-department-kpi.is-recruitment { --department-color: #c2410c; }
.super-department-kpi.is-commerce { --department-color: #0f766e; }
.super-department-kpi.is-franchise { --department-color: #7c3aed; }
.super-department-kpi-head { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.super-department-kpi-head span { color: var(--department-color); font-size: 14px; font-weight: 900; }
.super-department-kpi-head small { color: #64748b; font-size: 11px; font-weight: 700; }
.super-department-kpi > strong { margin-top: 8px; color: #172033; font-size: 25px; line-height: 1.1; }
.super-department-kpi-details { display: flex; flex-wrap: wrap; gap: 4px 12px; min-height: 22px; margin-top: 7px; color: #5f6b7a; font-size: 12px; font-weight: 700; }
.super-department-kpi form { align-self: end; margin-top: 10px; }
.super-department-kpi form .button { width: 100%; }
body:not([class*="theme-"]) .sidebar-menu-group > .sidebar-super-saas-children { border-color: rgba(148,163,184,.7); background: linear-gradient(145deg,#172033,#25334a); }
@media (max-width: 1100px) { .super-department-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px) { .super-department-kpi-grid { grid-template-columns: 1fr; } .super-app-shell .main { padding: 16px; } }
.meeting-prompt-widget { position: fixed; right: 18px; bottom: 18px; z-index: 1200; pointer-events: none; }
.meeting-prompt-tab { pointer-events: auto; position: absolute; right: 0; bottom: 0; display: inline-flex; align-items: center; justify-content: center; min-width: 64px; min-height: 34px; padding: 0 12px; border: 1px solid #aeb6be; border-radius: 999px; background: #fff; color: #2f6f63; font-size: 12px; font-weight: 900; line-height: 1.15; letter-spacing: 0; white-space: nowrap; word-break: keep-all; box-shadow: 0 8px 20px rgba(17, 24, 39, .16); cursor: pointer; }
.meeting-prompt-panel { pointer-events: auto; position: fixed; right: 18px; bottom: 18px; display: none; grid-template-rows: auto minmax(0, 1fr) auto; width: 320px; max-width: calc(100vw - 20px); max-height: min(72vh, 620px); overflow: hidden; border: 1px solid #c7cdd3; border-radius: 8px; background: #fff; box-shadow: 0 16px 36px rgba(17, 24, 39, .20); }
.meeting-prompt-widget.is-open .meeting-prompt-panel { display: grid; }
.meeting-prompt-widget.is-open .meeting-prompt-tab { display: none; }
.meeting-prompt-panel.is-dragging { user-select: none; box-shadow: 0 22px 48px rgba(17, 24, 39, .28); }
.meeting-prompt-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 42px; padding: 10px 12px; border-bottom: 1px solid #d7dce1; background: #f8fafc; cursor: move; touch-action: none; }
.meeting-prompt-head strong { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 14px; }
.meeting-prompt-head-actions { display: inline-flex; align-items: center; gap: 6px; flex: 0 0 auto; }
.meeting-prompt-close { position: relative; display: inline-grid; place-items: center; width: 26px; min-width: 26px; height: 26px; border: 1px solid #c7cdd3; border-radius: 50%; background: #fff; cursor: pointer; }
.meeting-prompt-close::before, .meeting-prompt-close::after { content: ""; position: absolute; width: 12px; height: 2px; border-radius: 999px; background: #374151; }
.meeting-prompt-close::before { transform: rotate(45deg); }
.meeting-prompt-close::after { transform: rotate(-45deg); }
.meeting-prompt-popout { position: relative; display: inline-grid; place-items: center; width: 26px; min-width: 26px; height: 26px; border: 1px solid #c7cdd3; border-radius: 50%; background: #fff; cursor: pointer; }
.meeting-prompt-popout::before { content: ""; width: 11px; height: 9px; border: 2px solid #374151; border-radius: 2px; }
.meeting-prompt-popout::after { content: ""; position: absolute; top: 6px; right: 6px; width: 7px; height: 7px; border-top: 2px solid #374151; border-right: 2px solid #374151; }
.meeting-prompt-body { min-height: 160px; overflow: auto; padding: 12px; color: #2f3439; font-size: 13px; line-height: 1.65; }
.meeting-prompt-body :first-child { margin-top: 0; }
.meeting-prompt-body :last-child { margin-bottom: 0; }
.meeting-prompt-edit { display: flex; align-items: center; justify-content: center; min-height: 34px; border-top: 1px solid #d7dce1; background: #f8fafc; color: #408c7b; font-size: 12px; font-weight: 900; text-decoration: none; }
.meeting-prompt-edit:hover { background: #f0f9f4; text-decoration: none; }
.meeting-prompt-window-page { min-height: 100vh; background: #f1f1f1; }
.meeting-prompt-window { display: grid; grid-template-rows: auto minmax(0, 1fr); min-height: 100vh; background: #fff; color: #2f3439; }
.meeting-prompt-window header { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 44px; padding: 10px 12px; border-bottom: 1px solid #d7dce1; background: #f8fafc; }
.meeting-prompt-window header strong { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 14px; }
.meeting-prompt-window section { overflow: auto; padding: 14px; font-size: 14px; line-height: 1.7; }
.meeting-prompt-window-close { position: relative; display: inline-grid; place-items: center; width: 26px; min-width: 26px; height: 26px; border: 1px solid #c7cdd3; border-radius: 50%; background: #fff; cursor: pointer; }
.meeting-prompt-window-close::before, .meeting-prompt-window-close::after { content: ""; position: absolute; width: 12px; height: 2px; border-radius: 999px; background: #374151; }
.meeting-prompt-window-close::before { transform: rotate(45deg); }
.meeting-prompt-window-close::after { transform: rotate(-45deg); }
.dice-widget { position: fixed; right: 18px; bottom: 18px; z-index: 1190; display: grid; justify-items: center; gap: 6px; pointer-events: none; }
.dice-widget.has-prompt { right: 88px; bottom: 18px; }
.dice-button { pointer-events: auto; display: grid; place-items: center; width: 42px; min-width: 42px; height: 42px; min-height: 42px; padding: 0; border: 1px solid #aeb6be; border-radius: 999px; background: #fff; box-shadow: 0 8px 20px rgba(17, 24, 39, .16); cursor: pointer; perspective: 420px; transform-style: preserve-3d; }
.dice-button:hover { border-color: #55a48d; background: #f8fcfa; }
.dice-cube { position: relative; width: 24px; height: 24px; transform-style: preserve-3d; transform-origin: 50% 50%; transition: transform .42s cubic-bezier(.2,.7,.2,1); will-change: transform; }
.dice-cube[data-face="1"] { transform: rotateX(-18deg) rotateY(24deg) rotateZ(-3deg); }
.dice-cube[data-face="2"] { transform: rotateX(-108deg) rotateY(22deg) rotateZ(2deg); }
.dice-cube[data-face="3"] { transform: rotateX(-18deg) rotateY(-66deg) rotateZ(3deg); }
.dice-cube[data-face="4"] { transform: rotateX(-18deg) rotateY(114deg) rotateZ(-2deg); }
.dice-cube[data-face="5"] { transform: rotateX(72deg) rotateY(24deg) rotateZ(2deg); }
.dice-cube[data-face="6"] { transform: rotateX(-18deg) rotateY(204deg) rotateZ(3deg); }
.dice-cube.rolling { animation: dice-roll 3.4s cubic-bezier(.16,.82,.24,1); }
.dice-face { position: absolute; inset: 0; display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(3, 1fr); gap: 2px; padding: 4px; border: 1px solid #cfd6de; border-radius: 6px; background: linear-gradient(145deg, #fff 0%, #f7f9fb 48%, #dfe6ee 100%); box-shadow: inset -3px -3px 6px rgba(17, 24, 39, .16), inset 3px 3px 6px rgba(255, 255, 255, .94), 0 1px 2px rgba(17,24,39,.12); backface-visibility: visible; }
.dice-face span { width: 4px; height: 4px; border-radius: 50%; background: #111827; align-self: center; justify-self: center; box-shadow: inset 0 1px 1px rgba(255,255,255,.35); }
.dice-face-1 { transform: translateZ(12px); }
.dice-face-2 { transform: rotateX(90deg) translateZ(12px); }
.dice-face-3 { transform: rotateY(90deg) translateZ(12px); }
.dice-face-4 { transform: rotateY(-90deg) translateZ(12px); }
.dice-face-5 { transform: rotateX(-90deg) translateZ(12px); }
.dice-face-6 { transform: rotateY(180deg) translateZ(12px); }
.dice-face-1 span:nth-child(1) { grid-column: 2; grid-row: 2; }
.dice-face-2 span:nth-child(1) { grid-column: 1; grid-row: 1; }
.dice-face-2 span:nth-child(2) { grid-column: 3; grid-row: 3; }
.dice-face-3 span:nth-child(1) { grid-column: 1; grid-row: 1; }
.dice-face-3 span:nth-child(2) { grid-column: 2; grid-row: 2; }
.dice-face-3 span:nth-child(3) { grid-column: 3; grid-row: 3; }
.dice-face-4 span:nth-child(1) { grid-column: 1; grid-row: 1; }
.dice-face-4 span:nth-child(2) { grid-column: 3; grid-row: 1; }
.dice-face-4 span:nth-child(3) { grid-column: 1; grid-row: 3; }
.dice-face-4 span:nth-child(4) { grid-column: 3; grid-row: 3; }
.dice-face-5 span:nth-child(1) { grid-column: 1; grid-row: 1; }
.dice-face-5 span:nth-child(2) { grid-column: 3; grid-row: 1; }
.dice-face-5 span:nth-child(3) { grid-column: 2; grid-row: 2; }
.dice-face-5 span:nth-child(4) { grid-column: 1; grid-row: 3; }
.dice-face-5 span:nth-child(5) { grid-column: 3; grid-row: 3; }
.dice-face-6 span:nth-child(1) { grid-column: 1; grid-row: 1; }
.dice-face-6 span:nth-child(2) { grid-column: 3; grid-row: 1; }
.dice-face-6 span:nth-child(3) { grid-column: 1; grid-row: 2; }
.dice-face-6 span:nth-child(4) { grid-column: 3; grid-row: 2; }
.dice-face-6 span:nth-child(5) { grid-column: 1; grid-row: 3; }
.dice-face-6 span:nth-child(6) { grid-column: 3; grid-row: 3; }
.dice-result { pointer-events: none; display: inline-flex; align-items: center; gap: 5px; min-width: 54px; padding: 3px 8px; border: 1px solid #c7cdd3; border-radius: 999px; background: #fff; color: #2f6f63; font-size: 11px; font-weight: 900; text-align: center; box-shadow: 0 5px 14px rgba(17, 24, 39, .14); }
.dice-result span { color: #657084; font-size: 10px; }
.dice-result strong { color: #2f6f63; font-size: 14px; line-height: 1; }
.dice-result.is-rolling { opacity: .62; }
.dice-result[hidden] { display: none; }
.dice-roll-overlay { position: fixed; inset: 0; z-index: 3200; display: grid; place-items: center; pointer-events: none; background: radial-gradient(circle at center, rgba(255,255,255,.24), rgba(15, 23, 42, .18)); animation: dice-overlay-pulse 3.4s ease; }
.dice-roll-overlay[hidden] { display: none; }
.dice-roll-stage { position: relative; display: grid; justify-items: center; gap: 28px; min-width: min(620px, calc(100vw - 32px)); padding: 58px 70px 48px; border-radius: 20px; background: linear-gradient(180deg, rgba(255, 255, 255, .82), rgba(245, 248, 251, .76)); box-shadow: 0 30px 80px rgba(17, 24, 39, .26); backdrop-filter: blur(8px); perspective: 760px; transform-style: preserve-3d; overflow: hidden; }
.dice-roll-stage::before, .dice-roll-stage::after { content: ""; position: absolute; border-radius: 999px; opacity: .72; pointer-events: none; }
.dice-roll-stage::before { left: 50%; bottom: 36px; width: 360px; height: 94px; background: radial-gradient(ellipse at center, rgba(17,24,39,.18), rgba(17,24,39,.07) 48%, transparent 72%); transform: translateX(-50%) rotateX(72deg); animation: dice-floor-shadow 3.4s ease; }
.dice-roll-stage::after { width: 170px; height: 170px; background: radial-gradient(circle, rgba(85,164,141,.20), transparent 68%); animation: dice-spark-b 3.4s ease; }
.dice-cube-large { width: 120px; height: 120px; }
.dice-cube-large .dice-face { padding: 20px; gap: 8px; border-width: 2px; border-radius: 20px; box-shadow: inset -14px -14px 22px rgba(17, 24, 39, .18), inset 12px 12px 20px rgba(255,255,255,.95), 0 18px 38px rgba(17, 24, 39, .26); }
.dice-cube-large .dice-face span { width: 17px; height: 17px; }
.dice-cube-large .dice-face-1 { transform: translateZ(60px); }
.dice-cube-large .dice-face-2 { transform: rotateX(90deg) translateZ(60px); }
.dice-cube-large .dice-face-3 { transform: rotateY(90deg) translateZ(60px); }
.dice-cube-large .dice-face-4 { transform: rotateY(-90deg) translateZ(60px); }
.dice-cube-large .dice-face-5 { transform: rotateX(-90deg) translateZ(60px); }
.dice-cube-large .dice-face-6 { transform: rotateY(180deg) translateZ(60px); }
.dice-roll-stage strong { min-width: 56px; min-height: 36px; padding: 2px 18px; border-radius: 999px; background: #fff; color: #2f6f63; font-size: 28px; line-height: 1.2; text-align: center; box-shadow: 0 10px 24px rgba(17, 24, 39, .18); }
.roulette-widget { position: fixed; right: 18px; bottom: 18px; z-index: 1188; display: grid; justify-items: center; gap: 6px; pointer-events: none; }
.roulette-widget.has-dice, .roulette-widget.has-prompt { right: 88px; bottom: 18px; }
.roulette-widget.has-prompt.has-dice { right: 148px; bottom: 18px; }
.roulette-button { pointer-events: auto; display: inline-grid; place-items: center; min-width: 42px; height: 42px; min-height: 42px; padding: 0 9px; border: 1px solid #aeb6be; border-radius: 999px; background: #fff; color: #2f6f63; font-size: 12px; font-weight: 900; line-height: 1; box-shadow: 0 8px 20px rgba(17, 24, 39, .16); cursor: pointer; }
.roulette-button:hover { border-color: #55a48d; background: #f8fcfa; }
.roulette-result { pointer-events: none; display: inline-flex; align-items: center; gap: 5px; max-width: 140px; padding: 3px 8px; border: 1px solid #c7cdd3; border-radius: 999px; background: #fff; color: #2f6f63; font-size: 11px; font-weight: 900; text-align: center; box-shadow: 0 5px 14px rgba(17, 24, 39, .14); }
.roulette-result span { color: #657084; font-size: 10px; white-space: nowrap; }
.roulette-result strong { min-width: 0; overflow: hidden; color: #2f6f63; font-size: 12px; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.roulette-result.is-rolling { opacity: .62; }
.roulette-result[hidden] { display: none; }
.roulette-overlay { position: fixed; inset: 0; z-index: 3190; display: grid; place-items: center; pointer-events: none; background: radial-gradient(circle at center, rgba(255,255,255,.28), rgba(15, 23, 42, .16)); animation: roulette-overlay-pulse 2.8s ease; }
.roulette-overlay[hidden] { display: none; }
.roulette-stage { position: relative; display: grid; justify-items: center; gap: 14px; min-width: min(520px, calc(100vw - 40px)); padding: 34px 42px; overflow: hidden; border: 1px solid rgba(85, 164, 141, .26); border-radius: 18px; background: rgba(255, 255, 255, .84); box-shadow: 0 30px 80px rgba(17, 24, 39, .24); backdrop-filter: blur(8px); }
.roulette-stage::before, .roulette-stage::after { content: ""; position: absolute; border-radius: 999px; pointer-events: none; opacity: .72; }
.roulette-stage::before { width: 220px; height: 220px; background: radial-gradient(circle, rgba(85,164,141,.24), transparent 66%); animation: roulette-light-a 2.8s ease; }
.roulette-stage::after { width: 170px; height: 170px; background: radial-gradient(circle, rgba(37,99,235,.16), transparent 68%); animation: roulette-light-b 2.8s ease; }
.roulette-stage span { position: relative; z-index: 1; color: #657084; font-size: 13px; font-weight: 900; letter-spacing: 0; }
.roulette-stage strong { position: relative; z-index: 1; max-width: 100%; overflow: hidden; color: #2f6f63; font-size: clamp(30px, 6vw, 56px); font-weight: 900; line-height: 1.18; text-align: center; text-overflow: ellipsis; white-space: nowrap; text-shadow: 0 6px 18px rgba(47, 111, 99, .16); }
.roulette-overlay.is-rolling .roulette-stage strong { animation: roulette-name-roll .18s linear infinite; }
@keyframes dice-roll {
  0% { transform: translate3d(-290px, -92px, 180px) rotateX(-52deg) rotateY(-42deg) rotateZ(18deg) scale(.72); filter: drop-shadow(0 46px 24px rgba(17,24,39,.06)); }
  12% { transform: translate3d(-190px, -34px, 88px) rotateX(245deg) rotateY(186deg) rotateZ(96deg) scale(1.04); filter: drop-shadow(0 36px 22px rgba(17,24,39,.18)); }
  24% { transform: translate3d(-92px, 24px, 18px) rotateX(542deg) rotateY(378deg) rotateZ(212deg) scale(.94); filter: drop-shadow(0 20px 14px rgba(17,24,39,.24)); }
  36% { transform: translate3d(-18px, -48px, 76px) rotateX(806deg) rotateY(624deg) rotateZ(338deg) scale(1.10); filter: drop-shadow(0 42px 24px rgba(17,24,39,.18)); }
  50% { transform: translate3d(58px, 20px, 6px) rotateX(1098deg) rotateY(884deg) rotateZ(472deg) scale(.96); filter: drop-shadow(0 18px 12px rgba(17,24,39,.25)); }
  64% { transform: translate3d(96px, -24px, 40px) rotateX(1342deg) rotateY(1118deg) rotateZ(598deg) scale(1.04); filter: drop-shadow(0 34px 20px rgba(17,24,39,.18)); }
  78% { transform: translate3d(38px, 14px, 0) rotateX(1592deg) rotateY(1370deg) rotateZ(708deg) scale(.98); filter: drop-shadow(0 16px 10px rgba(17,24,39,.26)); }
  90% { transform: translate3d(8px, -9px, 14px) rotateX(1778deg) rotateY(1604deg) rotateZ(832deg) scale(1.01); filter: drop-shadow(0 24px 14px rgba(17,24,39,.20)); }
  100% { transform: translate3d(0, 0, 0) rotateX(1908deg) rotateY(1837deg) rotateZ(927deg) scale(1); filter: drop-shadow(0 18px 18px rgba(17,24,39,.22)); }
}
@keyframes dice-overlay-pulse {
  0% { background: radial-gradient(circle at center, rgba(255,255,255,.05), rgba(15, 23, 42, .05)); }
  45% { background: radial-gradient(circle at center, rgba(255,255,255,.34), rgba(15, 23, 42, .22)); }
  100% { background: radial-gradient(circle at center, rgba(255,255,255,.24), rgba(15, 23, 42, .18)); }
}
@keyframes dice-spark-a {
  0% { transform: translate(-110px, 78px) scale(.6); opacity: 0; }
  38% { transform: translate(-36px, 12px) scale(1.15); opacity: .72; }
  100% { transform: translate(88px, -64px) scale(.8); opacity: 0; }
}
@keyframes dice-spark-b {
  0% { transform: translate(130px, -92px) scale(.45); opacity: 0; }
  46% { transform: translate(30px, -20px) scale(1.08); opacity: .52; }
  100% { transform: translate(-112px, 72px) scale(.72); opacity: 0; }
}
@keyframes dice-floor-shadow {
  0% { opacity: 0; transform: translateX(-50%) rotateX(72deg) scale(.48); }
  26% { opacity: .44; transform: translateX(-54%) rotateX(72deg) scale(.78); }
  52% { opacity: .74; transform: translateX(-46%) rotateX(72deg) scale(1.04); }
  100% { opacity: .58; transform: translateX(-50%) rotateX(72deg) scale(.92); }
}
@keyframes roulette-overlay-pulse {
  0% { background: radial-gradient(circle at center, rgba(255,255,255,.05), rgba(15, 23, 42, .04)); }
  45% { background: radial-gradient(circle at center, rgba(255,255,255,.36), rgba(15, 23, 42, .20)); }
  100% { background: radial-gradient(circle at center, rgba(255,255,255,.28), rgba(15, 23, 42, .16)); }
}
@keyframes roulette-light-a {
  0% { transform: translate(-135px, 72px) scale(.55); opacity: 0; }
  44% { transform: translate(-38px, 12px) scale(1.16); opacity: .72; }
  100% { transform: translate(110px, -72px) scale(.75); opacity: 0; }
}
@keyframes roulette-light-b {
  0% { transform: translate(112px, -76px) scale(.55); opacity: 0; }
  48% { transform: translate(32px, -4px) scale(1.2); opacity: .64; }
  100% { transform: translate(-92px, 78px) scale(.76); opacity: 0; }
}
@keyframes roulette-name-roll {
  0% { transform: translateY(-1px) scale(1); filter: blur(0); }
  50% { transform: translateY(1px) scale(1.02); filter: blur(.5px); }
  100% { transform: translateY(-1px) scale(1); filter: blur(0); }
}
.topbar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 22px; gap: 16px; }
.topbar h1 { margin: 0; font-size: 24px; letter-spacing: 0; }
.topbar-user-menu { position: relative; flex: 0 0 auto; margin-left: auto; }
.topbar-user-menu > summary { display: grid; place-items: center; width: 38px; min-width: 38px; height: 38px; padding: 0; border: 1px solid var(--line); border-radius: 50%; background: #fff; color: var(--navy); box-shadow: 0 3px 10px rgba(17,24,39,.09); cursor: pointer; list-style: none; }
.topbar-user-menu > summary::-webkit-details-marker { display: none; }
.topbar-user-menu > summary::marker { content: ""; }
.topbar-user-menu > summary:hover,
.topbar-user-menu[open] > summary { border-color: var(--theme-primary, var(--blue)); color: var(--theme-primary, var(--blue)); }
.topbar-user-menu > summary .sidebar-nav-icon { width: 20px; min-width: 20px; height: 20px; }
.topbar-user-menu-panel { position: absolute; top: calc(100% + 7px); right: 0; z-index: 1300; display: none; width: 250px; padding: 8px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--navy); box-shadow: 0 16px 34px rgba(17,24,39,.2); }
.topbar-user-menu[open] .topbar-user-menu-panel,
.topbar-user-menu:hover .topbar-user-menu-panel,
.topbar-user-menu:focus-within .topbar-user-menu-panel { display: grid; gap: 4px; }
.topbar-user-menu-identity { display: grid; gap: 2px; margin-bottom: 3px; padding: 7px 8px 9px; border-bottom: 1px solid var(--line); }
.topbar-user-menu-identity strong { overflow: hidden; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.topbar-user-menu-identity span { overflow: hidden; color: var(--muted); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.topbar-user-menu-panel > a,
.topbar-user-menu-panel form button { display: flex; align-items: center; width: 100%; min-height: 34px; padding: 7px 9px; border: 0; border-radius: 5px; background: transparent; color: var(--navy); font: inherit; font-size: 12px; font-weight: 800; text-align: left; text-decoration: none; cursor: pointer; }
.topbar-user-menu-panel > a:hover,
.topbar-user-menu-panel form button:hover { background: #f1f5f9; }
.topbar-user-menu-panel form { margin: 0; }
.topbar-user-menu-mobile { display: none; }
.topbar-store-dashboard-back { flex: 0 0 auto; margin-left: auto; }
.topbar-store-dashboard-back .button {
  justify-content: center;
  width: 104px;
  min-width: 104px;
  min-height: 38px;
}
.super-preview-bar { display: flex; align-items: center; gap: 8px; min-height: 36px; margin: 8px 24px 0; padding: 5px 8px; flex-wrap: nowrap; }
.super-preview-bar > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.super-preview-select-form { display: flex; align-items: center; gap: 6px; margin: 0 0 0 auto; }
.super-preview-select-form label { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 13px; font-weight: 800; white-space: nowrap; }
.super-preview-select-form select { width: auto; min-width: 180px; min-height: 30px; padding: 3px 30px 3px 9px; font-size: 12px; }
.super-preview-select-form.is-dashboard { justify-content: flex-start; margin: 0; }
.topbar-preview-switch { margin-left: auto; }
.topbar-preview-switch + .topbar-user-menu { margin-left: 0; }
.user-chip { border: 1px solid var(--line); background: var(--bg); border-radius: 999px; padding: 7px 12px; color: var(--muted); }
.project-ratio-chip { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 6px 8px; flex: 0 1 auto; max-width: min(820px, 68vw); min-height: 34px; margin: 0; padding: 6px 10px; border: 1px solid #b7d8c8; border-radius: 8px; background: #f0f9f4; color: #2f6f63; }
.project-ratio-chip label { display: inline-flex; align-items: center; gap: 6px; color: #3f6259; font-size: 12px; font-weight: 900; white-space: nowrap; }
.project-ratio-chip select { width: auto; min-width: 112px; min-height: 26px; padding: 2px 24px 2px 8px; border-color: #9ccbbd; border-radius: 4px; background-color: #fff; color: #2f3439; font-size: 12px; font-weight: 800; }
.project-ratio-chip strong { font-size: 15px; line-height: 1; }
.project-ratio-chip small { display: inline-flex; align-items: center; min-width: 0; max-width: 180px; color: #374151; font-size: 12px; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.project-ratio-chip small::before { content: ""; flex: 0 0 auto; width: 7px; height: 7px; margin-right: 5px; border-radius: 50%; background: var(--project-color, #55a48d); }
.project-ratio-chip em { color: #657084; font-size: 12px; font-style: normal; font-weight: 800; }

.login-page { position: relative; isolation: isolate; min-height: 100vh; min-height: 100dvh; display: grid; place-items: center; overflow: hidden; padding: 32px 20px; background: #050505; color: #f7f7f7; }
.login-page::before { content: ""; position: absolute; z-index: -3; inset: 0; background: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size: 54px 54px; mask-image: linear-gradient(to bottom, #000, transparent 82%); animation: login-grid-drift 20s linear infinite; }
.login-page::after { content: ""; position: absolute; z-index: -2; inset: -30%; background: radial-gradient(circle at 20% 30%, rgba(255,255,255,.12), transparent 23%), radial-gradient(circle at 78% 72%, rgba(255,255,255,.08), transparent 20%); filter: blur(18px); animation: login-atmosphere 12s ease-in-out infinite alternate; }
.login-visual,.login-noise { position: absolute; pointer-events: none; inset: 0; }
.login-noise { opacity: .055; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E"); }
.login-orbit { position: absolute; width: min(64vw, 860px); aspect-ratio: 1; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; }
.login-orbit::after { content: ""; position: absolute; top: 50%; left: -4px; width: 8px; height: 8px; border-radius: 50%; background: #fff; box-shadow: 0 0 24px rgba(255,255,255,.9); }
.login-orbit-one { top: -39%; right: -15%; animation: login-orbit-spin 28s linear infinite; }
.login-orbit-two { bottom: -46%; left: -17%; transform: scale(.72); animation: login-orbit-spin 35s linear infinite reverse; }
.login-beam { position: absolute; width: 1px; height: 42vh; background: linear-gradient(transparent, rgba(255,255,255,.55), transparent); opacity: .35; transform: rotate(34deg); animation: login-beam-scan 9s ease-in-out infinite alternate; }
.login-beam-one { top: -8%; left: 16%; }.login-beam-two { right: 14%; bottom: -5%; animation-delay: -4s; }
.login-card { --login-primary: #fff; --login-primary-hover: #d9d9d9; position: relative; width: min(448px, 100%); padding: 34px; display: grid; gap: 20px; overflow: hidden; border: 1px solid rgba(255,255,255,.24); border-radius: 24px; background: rgba(12,12,12,.82); box-shadow: 0 30px 80px rgba(0,0,0,.58), inset 0 1px 0 rgba(255,255,255,.1); backdrop-filter: blur(22px); -webkit-backdrop-filter: blur(22px); animation: login-card-arrive .7s cubic-bezier(.2,.8,.2,1) both; }
.login-card::before { content: ""; position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(120deg, transparent 35%, rgba(255,255,255,.1), transparent 65%); transform: translateX(-120%); animation: login-card-sheen 7s ease-in-out 1s infinite; pointer-events: none; }
.login-brand { display: grid; justify-items: start; gap: 9px; padding-bottom: 18px; border-bottom: 1px solid rgba(255,255,255,.14); }
.login-brand img { width: min(248px, 78%); height: auto; filter: grayscale(1) brightness(0) invert(1); }
.login-brand span,.login-kicker,.login-version { color: #8f8f8f; font-size: 10px !important; font-weight: 800; letter-spacing: .2em; }
.login-heading { display: grid; gap: 4px; }.login-heading h1 { margin: 0; color: #fff; font-size: 32px !important; line-height: 1.18 !important; letter-spacing: -.035em; }.login-heading p { margin: 0; color: #a7a7a7; font-size: 13px; }
.login-kicker { margin-bottom: 5px; color: #d0d0d0; }
.login-field { display: grid; gap: 8px; color: #d1d1d1; font-size: 12px; font-weight: 800; letter-spacing: .05em; }
.login-card .login-field input { width: 100%; height: 52px; padding: 0 15px; border: 1px solid #353535; border-radius: 12px; outline: 0; background: rgba(255,255,255,.055); color: #fff; font-size: 16px !important; font-weight: 600; transition: border-color .2s, background .2s, box-shadow .2s; }
.login-card .login-field input::placeholder { color: #666; }.login-card .login-field input:focus { border-color: #fff; background: rgba(255,255,255,.09); box-shadow: 0 0 0 4px rgba(255,255,255,.1); }
.login-card .alert { padding: 11px 13px; border: 1px solid #646464; border-radius: 10px; background: #191919; color: #fff; line-height: 1.55; }
.login-card button.button[type="submit"] { display: flex; align-items: center; justify-content: space-between; min-height: 52px; padding-inline: 18px; border: 1px solid #fff; border-radius: 12px; background: #fff; color: #070707; font-weight: 900; transition: color .2s, background .2s, transform .2s, box-shadow .2s; }
.login-card button.button[type="submit"]:hover { border-color: #fff; background: #0b0b0b; color: #fff; transform: translateY(-2px); box-shadow: 0 12px 28px rgba(255,255,255,.12); }
.login-card button.button[type="submit"]:active { transform: translateY(0); }
.login-version { text-align: center; letter-spacing: .12em; }
.login-help-link { color: #bdbdbd; font-size: 12px; font-weight: 700; text-align: center; text-decoration: underline; text-underline-offset: 4px; }
.login-help-link:hover { color: #fff; }
@keyframes login-grid-drift { to { background-position: 54px 54px; } }
@keyframes login-atmosphere { to { transform: translate3d(3%, -2%, 0) scale(1.08); } }
@keyframes login-orbit-spin { to { transform: rotate(360deg); } }
@keyframes login-beam-scan { to { transform: translateX(12vw) rotate(34deg); opacity: .12; } }
@keyframes login-card-arrive { from { opacity: 0; transform: translateY(24px) scale(.98); } to { opacity: 1; transform: none; } }
@keyframes login-card-sheen { 0%,58% { transform: translateX(-120%); } 78%,100% { transform: translateX(120%); } }
@media (max-width: 600px) { .login-page { align-items: center; padding: 14px; }.login-card { padding: 25px 20px; gap: 17px; border-radius: 19px; }.login-heading h1 { font-size: 28px !important; }.login-orbit { width: 120vw; }.login-brand img { width: 220px; } }
@media (prefers-reduced-motion: reduce) { .login-page::before,.login-page::after,.login-orbit,.login-beam,.login-card,.login-card::before { animation: none !important; } }
.alert, .error-text { color: var(--danger); font-size: 14px; }
.password-policy-help {
  display: block;
  margin: -4px 0 8px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}
.password-field-label:has(input:user-invalid) + .password-policy-help,
input:user-invalid + .password-policy-help {
  color: var(--danger);
  font-weight: 700;
}
.notice { margin-bottom: 12px; padding: 10px 12px; border: 1px solid #b7d8c8; border-radius: 4px; background: #f0f9f4; color: #1f7a4d; font-size: 14px; font-weight: 700; }

.button { display: inline-flex; align-items: center; justify-content: center; min-height: 34px; padding: 0 16px; border: 1px solid #aeb6be; border-radius: 4px; background: #fff; color: #408c7b; text-decoration: none; font-weight: 800; cursor: pointer; white-space: nowrap; box-shadow: 0 1px 1px rgba(0,0,0,.08); }
.button:hover { border-color: #6fb09d; background: #fbfdfc; }
.button.secondary { background: #fff; color: #59616a; }
.sidebar .button.secondary { background: rgba(255,255,255,.14); color: #fff; }
.button.danger { border-color: #efb8b8; background: #fff; color: var(--danger); }
body.theme-store .button.shopping-receive-button {
  border-color: var(--color-danger);
  background: var(--color-danger);
  color: #fff;
}
body.theme-store .button.shopping-receive-button:hover {
  border-color: #b91c1c;
  background: #b91c1c;
  color: #fff;
}
.button.small { min-height: 31px; padding: 0 12px; font-size: 13px; }
.button.full { width: 100%; }

.panel { border: 1px solid var(--line); background: var(--bg); border-radius: 8px; padding: 16px; margin-bottom: 20px; }
.panel h2 { margin: 0 0 14px; font-size: 17px; letter-spacing: 0; }
.grid-form { display: grid; grid-template-columns: repeat(4, minmax(140px, 1fr)); gap: 10px; align-items: end; }
.grid-form textarea { grid-column: span 2; }
.stack-form { display: grid; gap: 12px; max-width: 760px; }
.form-header, .form-actions, .compact-section-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.form-header h2, .compact-section-header h2 { margin: 0; }
.compact-section-header p { margin: 4px 0 0; color: var(--muted); font-size: 13px; }
.form-divider { height: 1px; margin: 4px 0; background: var(--line); }
.delete-form { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); }
.task-delete-form { display: flex; justify-content: flex-end; }
.task-delete-button { min-height: 26px; padding: 0 9px; font-size: 12px; font-weight: 700; box-shadow: none; }
.task-detail-top-delete-form { margin: 0; display: inline-flex; }
.page-actions { display: flex; justify-content: flex-end; margin-bottom: 14px; }
.user-department-heading { align-items: center; justify-content: space-between; gap: 16px; }
.user-department-heading h2 { margin: 0; }
.kanban-shell { margin: 0; padding: 0; border-radius: 0; background: transparent; color: #2f3439; overflow: hidden; }
.kanban-control-strip { display: flex; align-items: center; gap: 7px; min-width: 0; margin-bottom: 9px; overflow: hidden; }
.kanban-control-strip .task-view-switch { flex: 0 0 auto; margin-bottom: 0; }
.kanban-control-strip .kanban-toolbar { flex: 1 1 auto; min-width: 0; margin-bottom: 0; }
.kanban-control-strip .kanban-filter-panel { display: flex; align-items: center; gap: 7px; flex-wrap: nowrap; }
.task-view-control-strip { min-height: 36px; }
.gantt-shell .task-view-control-strip,
.kanban-shell .task-view-control-strip { margin-bottom: 9px; }
.kanban-project-row { margin-bottom: 9px; }
.task-view-switch { display: inline-flex; align-items: center; gap: 3px; margin-bottom: 8px; padding: 3px; border: 1px solid #c7d2e2; border-radius: 7px; background: #eef3f9; }
.task-view-switch a { display: inline-flex; align-items: center; justify-content: center; min-height: 29px; padding: 0 14px; border-radius: 5px; color: #526174; font-size: 11px; font-weight: 800; text-decoration: none; }
.task-view-switch a.is-active { background: var(--system-primary, #1d4ed8); color: #fff; box-shadow: 0 2px 6px rgba(29,78,216,.18); }
.task-project-filter { display: flex; align-items: center; gap: 5px; max-width: 100%; margin-bottom: 8px; padding-bottom: 3px; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; }
.task-project-filter > span { position: sticky; left: 0; z-index: 2; flex: 0 0 auto; padding-right: 5px; background: var(--theme-bg, #f5f7fb); color: #526174; font-size: 10px; font-weight: 800; }
.task-project-filter a { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; min-height: 27px; max-width: 180px; padding: 0 10px; overflow: hidden; border: 1px solid #c7d2e2; border-radius: 999px; background: #fff; color: #405064; font-size: 10px; font-weight: 800; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.task-project-filter a:hover,
.task-project-filter a.is-active { border-color: var(--project-color, var(--system-primary, #1d4ed8)); background: color-mix(in srgb, var(--project-color, var(--system-primary, #1d4ed8)) 10%, white); color: var(--project-color, var(--system-primary, #1d4ed8)); }
.task-mine-button { display: inline-flex; align-items: center; justify-content: center; min-height: 29px; padding: 0 10px; border: 1px solid #b8c0c8; border-radius: 5px; background: #fff; color: #526174; font-size: 11px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.task-mine-button::before { content: "●"; margin-right: 5px; color: #94a3b8; font-size: 8px; }
.task-mine-button.is-active { border-color: var(--system-primary, #1d4ed8); background: var(--system-primary, #1d4ed8); color: #fff; }
.task-mine-button.is-active::before { color: #fff; }
.kanban-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 9px; }
.filter-form { width: min(260px, 100%); }
.kanban-filter-form { width: auto; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.kanban-filter-form label { min-width: 112px; display: grid; gap: 2px; color: var(--muted); font-size: 10px; font-weight: 700; }
.kanban-filter-form select { min-height: 30px; padding: 3px 24px 3px 7px; font-size: 11px; border-radius: 5px; }
.kanban-filter-panel { flex: 1 1 auto; display: grid; gap: 6px; width: auto; padding: 0; border-radius: 0; background: transparent; }
.kanban-filter-panel .gantt-control-row { gap: 6px 10px; }
.kanban-filter-panel .gantt-select-inline { display: inline-flex; min-width: 0; color: #2f3439; font-size: 11px; }
.kanban-filter-panel .gantt-select-inline select { width: 112px; }
.kanban-filter-panel .gantt-chip-set { font-size: 11px; font-weight: 700; }
.kanban-filter-panel .mine-filter { background: #fff; }
.kanban-clear-button { min-height: 28px; padding: 0 9px; font-size: 10px; }
.checkbox-line { display: inline-flex; align-items: center; gap: 6px; min-height: 34px; }
.checkbox-line.compact { min-width: auto; padding: 0 8px; color: var(--text); font-size: 13px; font-weight: 600; }
.checkbox-line input { width: auto; min-height: auto; }
.kanban-filter-form .mine-filter { display: inline-flex; align-items: center; justify-content: center; width: 30px; min-width: 30px; height: 30px; border: 1px solid var(--line); border-radius: 5px; background: #fff; cursor: pointer; }
.gantt-control-panel .mine-filter { display: inline-flex; align-items: center; justify-content: center; width: 34px; min-width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 6px; background: #fff; cursor: pointer; }
.mine-filter input { position: absolute; opacity: 0; pointer-events: none; }
.mine-filter-icon { position: relative; display: block; width: 18px; height: 18px; margin: auto; }
.mine-filter-icon::before { content: ""; position: absolute; top: 1px; left: 50%; width: 8px; height: 8px; border: 2px solid #657084; border-radius: 50%; transform: translateX(-50%); }
.mine-filter-icon::after { content: ""; position: absolute; left: 50%; bottom: 1px; width: 14px; height: 8px; border: 2px solid #657084; border-top-left-radius: 999px; border-top-right-radius: 999px; border-bottom: 0; transform: translateX(-50%); }
.mine-filter.active { border-color: var(--blue); background: var(--blue); }
.mine-filter.active .mine-filter-icon::before, .mine-filter.active .mine-filter-icon::after { border-color: #fff; }
.compact-button { min-height: 34px; padding: 6px 10px; font-size: 13px; }
.task-edit-panel { max-width: 820px; }
.readonly-field { display: grid; gap: 5px; color: #374151; font-size: 13px; font-weight: 800; }
.readonly-field strong { min-height: 42px; padding: 10px; border: 1px solid var(--line); border-radius: 6px; background: #f8fafc; color: #657084; font-weight: 700; }

.card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }
.dashboard-link-board { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(190px, 240px); gap: 14px; padding: 12px 0 18px; background: transparent; overflow-x: auto; }
.my-task-overview { display: flex; align-items: center; gap: 8px; margin-bottom: 14px; overflow-x: auto; padding-bottom: 2px; }
.my-task-total, .my-task-metric, .my-task-column, .dashboard-admin-shortcut { border: 1px solid #c7cdd3; border-radius: 4px; background: #fff; color: #2f3439; text-decoration: none; }
.my-task-total { display: inline-flex; align-items: center; gap: 10px; flex: 0 0 auto; min-height: 42px; padding: 8px 12px; }
.my-task-total span, .my-task-metric span, .my-task-column span { color: #657084; font-size: 12px; font-weight: 700; }
.my-task-total strong { font-size: 22px; line-height: 1; color: #2b8a75; }
.my-task-metrics { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }
.my-task-metric { display: inline-flex; align-items: center; gap: 10px; min-height: 42px; padding: 8px 12px; }
.my-task-metric strong { min-width: 18px; text-align: right; font-size: 20px; line-height: 1; color: #2f3439; }
.my-task-metric.danger strong { color: var(--danger); }
.my-task-metric.danger { border-color: #efb8b8; background: #fff5f5; }
.my-task-columns { display: flex; align-items: center; gap: 8px; min-width: 0; }
.my-task-column { display: inline-grid; grid-template-columns: auto minmax(56px, 1fr) auto; align-items: center; gap: 7px; flex: 0 0 128px; min-height: 42px; padding: 8px 10px; }
.my-task-column span:nth-child(2) { overflow: hidden; color: #2f3439; white-space: nowrap; text-overflow: ellipsis; }
.my-task-column strong { color: #2f3439; }
.dashboard-admin-shortcut { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; min-height: 42px; padding: 8px 12px; color: #2f6f63; font-size: 13px; font-weight: 800; }
.my-task-total:hover, .my-task-metric:hover, .my-task-column:hover, .dashboard-admin-shortcut:hover { border-color: #55a48d; }
.dashboard-section-heading { display: flex; align-items: center; gap: 12px; margin: 4px 0 8px; }
.dashboard-section-heading::after { content: ""; height: 1px; flex: 1; background: #c7cdd3; }
.dashboard-section-heading h2 { margin: 0; color: #2f3439; font-size: 15px; letter-spacing: 0; }
.private-link-heading { margin-top: 12px; }
.private-link-heading .bookmark-add-button { margin-left: 0; order: 2; }
.private-link-heading::after { order: 1; }
.private-links-section.is-collapsed .private-dashboard-link-board { display: none; }
.private-link-toggle { display: inline-flex; align-items: center; gap: 8px; min-height: 28px; padding: 0; border: 0; background: transparent; color: #2f3439; font-size: 15px; font-weight: 800; cursor: pointer; }
.private-link-toggle span:first-child { white-space: nowrap; }
.private-link-toggle-icon { position: relative; width: 18px; height: 18px; border: 1px solid #c7cdd3; border-radius: 50%; background: #fff; }
.private-link-toggle-icon::before { content: ""; position: absolute; left: 50%; top: 50%; width: 5px; height: 5px; border-right: 2px solid #657084; border-bottom: 2px solid #657084; transform: translate(-50%, -62%) rotate(45deg); transform-origin: center; }
.private-links-section.is-collapsed .private-link-toggle-icon::before { transform: translate(-62%, -50%) rotate(-45deg); }
.private-bookmark-category { min-width: min(100%, 240px); }
.bookmark-category { --category-color: #9ccfc2; --category-soft: #f8fcfb; display: grid; align-content: start; gap: 8px; min-width: 0; padding: 0 6px; }
.bookmark-category:nth-child(6n+1) { --category-color: #9ccfc2; --category-soft: #f8fcfb; }
.bookmark-category:nth-child(6n+2) { --category-color: #a9c8f8; --category-soft: #f8fbff; }
.bookmark-category:nth-child(6n+3) { --category-color: #f4cf8f; --category-soft: #fffdf7; }
.bookmark-category:nth-child(6n+4) { --category-color: #c8b5f6; --category-soft: #fbf9ff; }
.bookmark-category:nth-child(6n+5) { --category-color: #efb3b8; --category-soft: #fffafa; }
.bookmark-category:nth-child(6n) { --category-color: #a9dce8; --category-soft: #f8feff; }
.bookmark-category-header { display: flex; align-items: center; gap: 8px; min-height: 28px; }
.bookmark-category-toggle { display: inline-flex; align-items: center; gap: 8px; min-width: 0; min-height: 28px; padding: 0; border: 0; background: transparent; color: #222; cursor: pointer; }
.bookmark-category-title { display: inline-flex; align-items: center; min-width: 0; font-size: 14px; font-weight: 700; letter-spacing: 0; }
.bookmark-category-title::before { content: ""; display: inline-block; flex: 0 0 13px; width: 13px; height: 13px; margin-right: 8px; border-radius: 50%; background: var(--category-color); }
.bookmark-category-toggle-icon { position: relative; flex: 0 0 18px; width: 18px; height: 18px; border: 1px solid #c7cdd3; border-radius: 50%; background: #fff; }
.bookmark-category-toggle-icon::before { content: ""; position: absolute; left: 50%; top: 50%; width: 5px; height: 5px; border-right: 2px solid #657084; border-bottom: 2px solid #657084; transform: translate(-50%, -62%) rotate(45deg); transform-origin: center; }
.bookmark-category.is-collapsed .bookmark-category-toggle-icon::before { transform: translate(-62%, -50%) rotate(-45deg); }
.bookmark-category.is-collapsed { align-content: start; }
.bookmark-category.is-collapsed .dashboard-link-grid { display: none; }
.bookmark-add-button { position: relative; display: inline-grid; place-items: center; width: 20px; height: 20px; margin-left: auto; border: 1px solid #4e9a86; border-radius: 50%; background: #fff; color: #168875; text-decoration: none; }
.bookmark-add-button::before, .bookmark-add-button::after { content: ""; position: absolute; z-index: 1; left: 50%; top: 50%; width: 10px; height: 2px; border-radius: 999px; background: #168875; transform: translate(-50%, -50%); }
.bookmark-add-button::after { transform: translate(-50%, -50%) rotate(90deg); }
.bookmark-add-button:hover { border-color: #4e9a86; background: #fff; }
.bookmark-category-count { min-width: 32px; height: 20px; padding: 2px 10px; border-radius: 999px; background: color-mix(in srgb, var(--category-color) 10%, white); color: #333; font-size: 12px; font-weight: 700; text-align: center; line-height: 16px; box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--category-color) 24%, white); }
.dashboard-link-grid { grid-template-columns: 1fr; gap: 8px; min-height: 48px; }
.link-card, .task-card { background: var(--card); border: 1px solid var(--line); border-radius: 8px; padding: 14px; transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease, border-color .18s ease; will-change: transform; }
.link-card { position: relative; display: grid; align-items: center; min-height: 38px; padding: 7px 32px 7px 10px; border-color: color-mix(in srgb, var(--category-color, #c7c7c7) 22%, #d7dce1); border-left: 4px solid color-mix(in srgb, var(--category-color, #55a48d) 72%, white); border-radius: 3px; background: linear-gradient(90deg, var(--category-soft, #fff) 0, #fff 78%); box-shadow: none; }
.task-card { position: relative; padding-right: 54px; }
.link-card, .task-card { cursor: grab; }
.link-card:active, .task-card:active { cursor: grabbing; }
.link-card.dragging { opacity: .9; outline: 2px solid var(--blue); transform: scale(.98) rotate(.3deg); box-shadow: 0 14px 30px rgba(17, 24, 39, .20); z-index: 8; }
.dashboard-link-board.is-dragging .link-card:not(.dragging) { transition: transform .18s ease, box-shadow .18s ease; }
.link-card h2, .task-card h3 { margin: 4px 0 8px; font-size: 18px; letter-spacing: 0; }
.link-card p, .task-card p { color: var(--muted); margin: 0 0 10px; line-height: 1.5; }
.link-card p { margin-top: 3px; font-size: 11px; line-height: 1.3; color: #777; }
.card-id { color: var(--muted); font-size: 12px; }
.link-card .card-id { display: none; }
.link-title-button { display: grid; align-items: center; justify-items: start; gap: 0; min-height: 100%; color: var(--text); text-align: left; text-decoration: none; border-radius: 6px; }
.link-title-button:hover .link-title { color: var(--blue); text-decoration: underline; }
.link-title { overflow: hidden; max-width: 100%; color: #202124; font-size: 13px; line-height: 1.3; font-weight: 500; text-overflow: ellipsis; }
.card-menu { position: absolute; top: 7px; right: 7px; z-index: 3; }
.link-card .card-menu { top: 50%; right: 4px; transform: translateY(-50%); }
.icon-button { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border: 1px solid transparent; border-radius: 6px; background: transparent; color: var(--muted); cursor: pointer; line-height: 1; font-weight: 700; white-space: nowrap; letter-spacing: 0; word-break: keep-all; }
.icon-button, .icon-button:hover, .link-edit-dots, .link-edit-dots:hover { text-decoration: none; }
.link-card .icon-button { width: 28px; min-width: 28px; height: 28px; }
.link-edit-dots { text-decoration: none; }
.icon-button:hover { background: #e8edf5; color: var(--navy); }
.card-menu-popover { position: absolute; top: 38px; right: 0; min-width: 128px; background: #fff; border: 1px solid var(--line); border-radius: 8px; box-shadow: 0 12px 28px rgba(17, 24, 39, .16); padding: 6px; }
.menu-item { display: flex; align-items: center; width: 100%; min-height: 38px; border: 0; border-radius: 6px; background: #fff; color: var(--text); text-align: left; padding: 8px 10px; cursor: pointer; }
.menu-item:hover { background: var(--bg); }
.menu-item.danger { color: var(--danger); }
.actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.muted { opacity: .55; }

.table { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid var(--line); table-layout: fixed; }
.table th, .table td { border-bottom: 1px solid var(--line); padding: 10px; text-align: left; vertical-align: middle; }
.table th { background: var(--bg); color: var(--muted); font-weight: 600; }
.swatch { display: inline-block; width: 18px; height: 18px; border-radius: 4px; vertical-align: middle; margin-right: 8px; border: 1px solid var(--line); }

.kanban-board { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(210px, 1fr); gap: 8px; width: 100%; min-width: 0; max-width: 100%; overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain; padding: 0 0 10px; background: transparent; }
.kanban-board.is-dragging, .kanban-board.is-dragging * { user-select: none; -webkit-user-select: none; }
.kanban-board[data-can-move="0"] .task-card { cursor: default; }
.kanban-column { min-width: 0; min-height: 560px; padding: 7px; border: 1px solid #d9dde2; border-top: 3px solid var(--column-color, #2563eb); border-radius: 5px; background: #f1f3f5; box-shadow: inset 0 1px 0 rgba(255,255,255,.72); }
.kanban-column-header { display: flex; align-items: center; gap: 5px; min-height: 26px; margin: 0 0 6px; padding: 0 1px 6px; border-bottom: 1px solid #d2d7dd; }
.kanban-column-header h2 { margin: 0; font-size: 12px; font-weight: 700; letter-spacing: 0; color: #222; }
.kanban-column-dot { width: 10px; height: 10px; border-radius: 50%; flex: 0 0 auto; }
.kanban-column-count { min-width: 25px; height: 18px; padding: 1px 7px; border-radius: 999px; background: #fff; color: #333; font-size: 10px; font-weight: 700; text-align: center; line-height: 16px; box-shadow: inset 0 0 0 1px #c8ced5; }
.kanban-column-archive-form { margin-left: auto; }
.kanban-column-archive-form + .kanban-add-link { margin-left: 4px; }
.kanban-column-archive-form .button { min-height: 23px; padding: 0 6px; font-size: 9px; }
.kanban-add-link { margin-left: auto; flex: 0 0 auto; }
.kanban-add-link:hover { text-decoration: none; }
.task-list { min-width: 0; min-height: 500px; display: grid; align-content: start; gap: 6px; }
.task-card { width: 100%; min-width: 0; max-width: 100%; background: #fff; border-color: #c7c7c7; border-radius: 3px; padding: 7px 27px 7px 7px; min-height: 62px; box-shadow: none; }
.task-card.completed { border-color: #c7cdd3; background: #eceff2; color: #6b7280; }
.task-card.completed .task-title-link { color: #5f6670; }
.task-card.completed .task-progress-badge,
.task-card.completed .task-project-chip,
.task-card.completed .task-relation-chip,
.task-card.completed .task-children-chip,
.task-card.completed .priority,
.task-card.completed .task-avatar { filter: grayscale(1); opacity: .68; }
.task-card.completed.overdue { border-color: #c7cdd3; background: #eceff2; }
.kanban-completed-link-card { display: grid; gap: 4px; min-height: auto; border-style: dashed; background: #f8fbfa; color: #174f46; text-decoration: none; }
.kanban-completed-link-card:hover { border-color: #55a48d; background: #eef8f5; text-decoration: none; }
.kanban-completed-link-card strong { color: #174f46; font-size: 11px; }
.kanban-completed-link-card span { color: #657084; font-size: 9px; font-weight: 700; line-height: 1.3; }
.task-card .card-menu { top: 5px; right: 3px; transform: none; }
.task-card .icon-button { width: 24px; min-width: 24px; height: 20px; align-items: flex-start; padding-top: 0; font-size: 11px; }
.task-card.dragging { position: fixed; opacity: .94; outline: 2px solid var(--blue); transform: scale(1.01) rotate(.25deg); box-shadow: 0 18px 36px rgba(17, 24, 39, .24); z-index: 1000; pointer-events: none; }
.kanban-board.is-dragging .task-card:not(.dragging) { transition: transform .18s ease, box-shadow .18s ease; }
.task-card-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; max-width: 100%; }
.task-issue-line { display: flex; align-items: center; gap: 4px; min-width: 0; max-width: 100%; overflow: hidden; }
.task-type-badge { display: inline-flex; align-items: center; height: 18px; padding: 0 9px; border-radius: 999px; background: #a5b72d; color: #fff; font-size: 11px; font-weight: 700; line-height: 18px; }
.task-progress-badge { display: inline-flex; align-items: center; height: 16px; padding: 0 5px; border-radius: 999px; background: linear-gradient(135deg, #2dd4bf, #3b82f6); color: #fff; font-size: 9px; font-weight: 800; line-height: 16px; box-shadow: 0 2px 6px rgba(59, 130, 246, .22); }
.task-code { color: #168875; font-size: 10px; font-weight: 700; white-space: nowrap; }
.task-role-chip { display: inline-flex; align-items: center; gap: 6px; min-height: 22px; padding: 0 9px; border-radius: 999px; font-size: 12px; font-weight: 900; line-height: 22px; white-space: nowrap; text-decoration: none; }
.task-role-chip span { max-width: 190px; overflow: hidden; color: inherit; font-size: 11px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; opacity: .82; }
.task-role-chip.parent { background: #e0f2fe; color: #0369a1; }
.task-role-chip.child { background: #f5f3ff; color: #5b21b6; }
.task-role-chip.single { background: #eef2f7; color: #4b5563; }
.task-role-chip:hover { text-decoration: none; filter: brightness(.98); }
.task-title-link { color: #202124; text-decoration: none; cursor: pointer; }
.task-title-link:hover { color: var(--blue); text-decoration: underline; }
.task-title-with-icon { display: inline-flex; align-items: center; gap: 5px; min-width: 0; max-width: 100%; }
.task-structure-icon { position: relative; display: inline-grid; place-items: center; flex: 0 0 auto; width: 15px; height: 15px; border-radius: 4px; font-size: 10px; font-weight: 900; line-height: 1; }
.task-title-with-icon .task-structure-icon { padding: 0; border: 0; }
.task-structure-icon.subtask { background: #ede9fe; color: #6d28d9; }
.task-structure-icon.subtask::before { content: ""; position: absolute; left: 6px; top: 3px; width: 6px; height: 9px; border-left: 2px solid currentColor; border-bottom: 2px solid currentColor; border-radius: 0 0 0 3px; }
.task-structure-icon.subtask::after { content: ""; position: absolute; right: 4px; bottom: 4px; width: 5px; height: 5px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); }
.task-structure-icon.parent-task { background: #e0f2fe; color: #0369a1; }
.task-structure-icon.parent-task::before, .task-structure-icon.parent-task::after, .task-structure-icon.parent-task span::before { content: ""; position: absolute; width: 5px; height: 5px; border: 2px solid currentColor; border-radius: 2px; background: #fff; }
.task-structure-icon.parent-task::before { top: 3px; left: 6px; }
.task-structure-icon.parent-task::after { bottom: 3px; left: 3px; }
.task-structure-icon.parent-task span::before { bottom: 3px; right: 3px; }
.task-structure-icon.parent-task span::after { content: ""; position: absolute; left: 8px; top: 8px; width: 2px; height: 5px; background: currentColor; box-shadow: -3px 5px 0 -1px currentColor, 3px 5px 0 -1px currentColor; }
.task-parent-mini-icon { position: relative; flex: 0 0 auto; width: 12px; height: 12px; }
.task-parent-mini-icon::before { content: ""; position: absolute; left: 3px; top: 1px; width: 5px; height: 7px; border-left: 2px solid currentColor; border-bottom: 2px solid currentColor; border-radius: 0 0 0 3px; }
.task-parent-mini-icon::after { content: ""; position: absolute; right: 1px; bottom: 1px; width: 4px; height: 4px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); }
.task-children-chip { display: inline-flex; align-items: center; gap: 3px; min-height: 16px; padding: 0 5px; border-radius: 999px; background: #e0f2fe; color: #0369a1; font-size: 9px; font-weight: 900; line-height: 16px; white-space: nowrap; }
.task-children-chip strong { font: inherit; }
.task-children-icon { position: relative; flex: 0 0 auto; width: 15px; height: 14px; }
.task-children-icon::before, .task-children-icon::after, .task-children-icon span::before { content: ""; position: absolute; width: 4px; height: 4px; border: 2px solid currentColor; border-radius: 2px; background: #fff; }
.task-children-icon::before { top: 0; left: 5px; }
.task-children-icon::after { bottom: 0; left: 1px; }
.task-children-icon span::before { bottom: 0; right: 0; }
.task-children-icon span::after { content: ""; position: absolute; left: 7px; top: 5px; width: 2px; height: 5px; background: currentColor; box-shadow: -4px 4px 0 -1px currentColor, 4px 4px 0 -1px currentColor; }
.task-relation-chip { display: inline-flex; align-items: center; gap: 3px; min-width: 0; max-width: 70px; min-height: 16px; padding: 0 5px; overflow: hidden; border-radius: 999px; font-size: 9px; font-weight: 800; line-height: 16px; white-space: nowrap; text-overflow: ellipsis; text-decoration: none; }
.task-relation-chip.child { background: #f5f3ff; color: #5b21b6; }
.task-relation-chip:hover { text-decoration: none; filter: brightness(.98); }
.task-card h3 { max-width: 100%; margin: 4px 0 5px; overflow-wrap: anywhere; font-size: 12px; font-weight: 500; line-height: 1.3; }
.task-project-chip { display: inline-flex; align-items: center; min-width: 0; max-width: 70px; min-height: 16px; padding: 0 0 0 5px; overflow: hidden; border-left: 2px solid var(--project-color); background: transparent; color: #2f6f63; font-size: 9px; font-weight: 800; line-height: 14px; white-space: nowrap; text-overflow: ellipsis; }
.task-card.overdue { border: 2px solid var(--danger); background: #fff5f5; }
.task-meta { display: flex; gap: 5px; align-items: center; flex-wrap: wrap; font-size: 10px; color: #777; }
.task-avatar { display: inline-flex; align-items: center; justify-content: center; width: 17px; height: 17px; border-radius: 50%; background: #d8e2ee; color: #1f2937; font-size: 9px; font-weight: 700; border: 1px solid #b7c3d0; }
.task-avatar.empty { position: relative; background: #fff; border: 1px solid #b7c3d0; }
.task-avatar.empty::before { content: ""; position: absolute; top: 4px; left: 50%; width: 6px; height: 6px; border-radius: 50%; background: #8a96a3; transform: translateX(-50%); }
.task-avatar.empty::after { content: ""; position: absolute; left: 4px; bottom: 4px; width: 10px; height: 6px; border: 2px solid #8a96a3; border-bottom: 0; border-radius: 999px 999px 0 0; }
.task-date { color: #777; font-size: 10px; }
.priority { border-radius: 999px; padding: 2px 8px; background: #e5e7eb; color: #111827; }
.priority.high { background: #fee2e2; color: #991b1b; }
.priority.medium { background: #fef3c7; color: #92400e; }
.priority.low { background: #dcfce7; color: #166534; }
.task-priority { position: absolute; right: 5px; bottom: 5px; padding: 0 4px; font-size: 9px; line-height: 14px; font-weight: 800; }
.task-detail-shell { margin: 0; padding: 0; border-radius: 0; background: transparent; color: #2f3439; }
.task-detail-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 12px; padding: 14px; border: 1px solid #c7cdd3; border-radius: 4px; background: #fff; }
.task-detail-title-block { display: grid; gap: 8px; min-width: 0; }
.task-detail-top h2 { margin: 0; font-size: 22px; letter-spacing: 0; line-height: 1.35; }
.task-detail-title-editor { display: grid; gap: 6px; }
.task-detail-title-input { width: min(640px, 100%); min-height: 38px; padding: 5px 8px; border-radius: 4px; font-size: 22px; font-weight: 800; line-height: 1.25; }
.task-detail-title-input[hidden] { display: none; }
.task-detail-code { color: #2b8a75; font-size: 13px; font-weight: 800; }
.task-status-pill { display: inline-flex; align-items: center; min-height: 20px; padding: 0 0 0 7px; border-left: 3px solid var(--status-color); background: transparent; color: #263238; font-size: 12px; font-weight: 800; line-height: 18px; }
.task-detail-meta-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; color: #4b5563; font-size: 13px; }
.task-detail-meta-row > span:not(.priority) { display: inline-flex; align-items: center; min-height: 24px; padding: 2px 8px; border: 1px solid #d7dce1; border-radius: 999px; background: #f8fafc; }
.task-return-inbox-form { margin-top: 12px; padding-top: 12px; border-top: 1px solid #d7dce1; }
.task-return-inbox-button { width: 100%; min-height: 31px; padding: 0 12px; color: #2f6f63; font-size: 13px; }
.task-detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 14px; align-items: start; }
.task-detail-panel { border: 1px solid #c7cdd3; border-radius: 4px; background: #fff; padding: 14px; }
.task-detail-main .stack-form { max-width: none; }
.task-detail-main h2, .task-detail-side h2 { margin: 0 0 12px; font-size: 17px; letter-spacing: 0; }
.section-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.section-head h2, .section-head h3 { margin: 0; font-size: 15px; letter-spacing: 0; }
.section-head span { display: inline-flex; align-items: center; justify-content: center; min-width: 28px; min-height: 20px; padding: 0 8px; border-radius: 999px; background: #e3e8ed; color: #374151; font-size: 12px; font-weight: 800; }
.progress-track { height: 8px; margin-bottom: 12px; overflow: hidden; border-radius: 999px; background: #e5e7eb; }
.progress-track span { display: block; height: 100%; border-radius: inherit; background: #55a48d; }
.progress-slider-row { display: grid; grid-template-columns: auto minmax(180px, 280px); align-items: end; gap: 10px; margin-left: auto; }
.task-work-actions { justify-content: flex-end; }
.task-work-actions .progress-slider-row { order: 1; margin-right: auto; margin-left: 0; }
.task-work-actions > .button { order: 2; }
.progress-slider-label { align-self: end; padding-bottom: 1px; color: #374151; font-size: 13px; font-weight: 800; line-height: 18px; white-space: nowrap; }
.progress-slider { position: relative; height: 18px; margin: 30px 0 0; overflow: visible; border-radius: 999px; background: #e5e7eb; --progress-ratio: 0; }
.progress-slider::before { content: ""; position: absolute; inset: 0 auto 0 0; width: calc((100% - 18px) * var(--progress-ratio, 0) + 9px); border-radius: inherit; background: #55a48d; pointer-events: none; }
.progress-slider::after { content: ""; position: absolute; left: calc((100% - 18px) * var(--progress-ratio, 0)); top: 0; z-index: 2; width: 18px; height: 18px; border: 2px solid #fff; border-radius: 50%; background: #2f6f63; box-shadow: 0 1px 4px rgba(17,24,39,.24); pointer-events: none; }
.progress-slider.is-dragging::after { transform: scale(1.08); }
.progress-slider:focus-visible { outline: 3px solid rgba(85, 164, 141, .28); outline-offset: 4px; }
.progress-slider input { position: absolute; inset: 0; z-index: -1; width: 100%; min-height: 18px; padding: 0; border: 0; border-radius: 999px; opacity: 0; appearance: none; -webkit-appearance: none; background: transparent; pointer-events: none; }
.progress-slider input::-webkit-slider-runnable-track { height: 18px; border: 0; background: transparent; }
.progress-slider input::-moz-range-track { height: 18px; border: 0; background: transparent; }
.progress-slider input::-webkit-slider-thumb { width: 18px; height: 18px; appearance: none; -webkit-appearance: none; }
.progress-slider input::-moz-range-thumb { width: 18px; height: 18px; border: 0; }
.progress-slider-value { position: absolute; left: calc((100% - 18px) * var(--progress-ratio, 0) + 9px); bottom: calc(100% + 7px); z-index: 3; min-width: 36px; padding: 2px 7px; border-radius: 999px; background: #2f6f63; color: #fff; font-size: 12px; font-weight: 800; line-height: 1.35; text-align: center; transform: translateX(-50%); pointer-events: none; box-shadow: 0 2px 8px rgba(17,24,39,.18); }
.progress-slider-value::after { content: ""; position: absolute; left: 50%; top: 100%; width: 7px; height: 7px; background: #2f6f63; transform: translate(-50%, -4px) rotate(45deg); }
.detail-textarea { min-height: 260px; line-height: 1.6; border-radius: 4px; }
.task-checklist-toggle, .task-checklist-delete { margin: 0; }
.checklist-box { display: grid; place-items: center; width: 22px; min-width: 22px; height: 22px; border: 1px solid #aeb6be; border-radius: 4px; background: #fff; color: #168875; font-size: 14px; font-weight: 900; line-height: 1; cursor: pointer; }
.task-checklist-item.done .checklist-box { border-color: #55a48d; background: #e4f4ed; }
.task-checklist-add { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0; align-items: stretch; margin-top: 2px; }
.task-checklist-add input { min-height: 34px; padding: 6px 9px; border-color: #b7d8c8; border-right: 0; border-radius: 4px 0 0 4px; background: #fff; font-size: 13px; }
.todo-add-button { min-height: 34px; padding: 0 12px; border: 1px solid #b7d8c8; border-radius: 0 4px 4px 0; background: #f0f9f4; color: #168875; font-size: 12px; font-weight: 800; cursor: pointer; }
.todo-add-button:hover { background: #e4f4ed; }
.rich-editor { display: grid; gap: 0; border: 1px solid var(--line); border-radius: 4px; background: #fff; overflow: hidden; }
.rich-editor-field { display: grid; gap: 6px; color: #374151; font-size: 13px; font-weight: 800; }
.rich-editor-field > span { display: block; }
.rich-editor-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 3px; min-height: 42px; padding: 5px 7px; border-bottom: 1px solid #d7dce1; background: #f8fafc; }
.rich-editor-format { width: auto; min-width: 104px; min-height: 32px; padding: 4px 26px 4px 8px; border: 1px solid #c7cdd3; border-radius: 4px; background-color: #fff; color: #657084; font-size: 12px; font-weight: 700; }
.rich-editor-toolbar button { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 32px; border: 1px solid transparent; border-radius: 4px; background: transparent; color: #657084; font-size: 18px; font-weight: 800; line-height: 1; cursor: pointer; }
.rich-editor-toolbar button:hover { border-color: #c7cdd3; background: #fff; color: #4b5563; }
.rich-editor-toolbar button.is-active { border-color: #b7d8c8; background: #f0f9f4; color: #2f6f63; }
.rich-editor.is-readonly .rich-editor-toolbar { opacity: .55; }
.rich-editor.is-readonly .rich-editor-area { background: #f8fafc; }
.rich-editor-toolbar button[title="画像"], .rich-editor-toolbar button[title="リンク"], .rich-editor-toolbar button[title="リンク解除"], .rich-editor-toolbar button[title="書式クリア"] { width: 44px; font-size: 12px; }
.toolbar-underlined { display: inline-block; padding-bottom: 2px; border-bottom: 3px solid currentColor; }
.toolbar-strike { text-decoration: line-through; }
.align-icon { display: grid; gap: 3px; width: 20px; }
.align-icon::before, .align-icon::after, .align-icon span { content: ""; display: block; height: 3px; border-radius: 999px; background: currentColor; }
.align-icon.left::before { width: 18px; }
.align-icon.left::after { width: 12px; }
.align-icon.center::before { width: 16px; margin: 0 auto; }
.align-icon.center::after { width: 20px; margin: 0 auto; }
.align-icon.right::before { width: 18px; margin-left: auto; }
.align-icon.right::after { width: 12px; margin-left: auto; }
.align-icon.full::before, .align-icon.full::after { width: 20px; }
.rich-editor-area { width: 100%; padding: 10px; border: 0; outline: 0; background: #fff; overflow: auto; font-size: 14px; font-weight: 400; line-height: 1.6; }
.rich-editor-area:empty::before { content: attr(data-placeholder); color: #9ca3af; }
.rich-editor-area img { max-width: 100%; height: auto; }
.rich-editor-area a { color: var(--blue); }
.rich-editor-area h1, .rich-editor-area h2, .rich-editor-area h3 { margin: 10px 0 6px; color: #1f2937; line-height: 1.35; }
.rich-editor-area h1 { font-size: 20px; font-weight: 800; }
.rich-editor-area h2 { font-size: 18px; font-weight: 800; }
.rich-editor-area h3 { font-size: 16px; font-weight: 800; }
.rich-editor-area p, .rich-editor-area div, .rich-editor-area span, .rich-editor-area li { font-size: inherit; line-height: inherit; }
.rich-editor-area ul, .rich-editor-area ol { margin: 6px 0 8px 22px; padding: 0; }
.rich-editor-area blockquote { margin: 8px 0; padding: 8px 10px; border-left: 3px solid #55a48d; background: #f0f9f4; color: #374151; }
.rich-editor-area pre { overflow: auto; margin: 8px 0; padding: 8px 10px; border-radius: 4px; background: #f5f7f9; color: #1f2937; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 13px; white-space: pre-wrap; }
.rich-editor-area code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.rich-editor-area hr { height: 1px; margin: 12px 0; border: 0; background: #d7dce1; }
.compact-field { display: grid; gap: 6px; max-width: 180px; color: #374151; font-size: 13px; font-weight: 700; }
.attachment-upload { display: grid; gap: 6px; color: #374151; font-size: 13px; font-weight: 700; }
.attachment-upload input { min-height: 38px; padding: 6px 8px; border-radius: 4px; }
.attachment-upload-button { position: relative; overflow: hidden; width: 100%; }
.attachment-upload-button input[type="file"] { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.attachment-upload-button.is-uploading { opacity: .72; pointer-events: none; }
.attachment-upload-form { display: grid; gap: 8px; margin-bottom: 10px; }
.attachment-list { display: grid; gap: 8px; margin-top: 0; }
.attachment-list h3 { margin: 0; font-size: 15px; letter-spacing: 0; }
.attachment-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto auto; align-items: center; gap: 8px; }
.attachment-item { display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; align-items: center; gap: 8px; width: 100%; min-height: 38px; padding: 8px 10px; border: 1px solid #d7dce1; border-radius: 4px; background: #f8fafc; color: #202124; text-align: left; text-decoration: none; cursor: pointer; }
.attachment-item:hover { border-color: #55a48d; background: #fff; }
.task-attachment-section .attachment-item { border-color: #e2e7ec; background: #fbfcfd; color: #657084; }
.task-attachment-section .attachment-item:hover { border-color: #cfd8e3; background: #fff; color: #4b5563; }
.attachment-item span:nth-child(2) { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.attachment-item small { color: #657084; white-space: nowrap; }
.attachment-icon { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 4px; background: #e3e8ed; color: #657084; font-size: 10px; }
.attachment-delete-button { position: relative; display: inline-grid; place-items: center; width: 24px; min-width: 24px; height: 24px; border: 1px solid #efb8b8; border-radius: 50%; background: #fff5f5; cursor: pointer; }
.attachment-delete-button::before, .attachment-delete-button::after { content: ""; position: absolute; width: 11px; height: 2px; border-radius: 999px; background: var(--danger); }
.attachment-delete-button::before { transform: rotate(45deg); }
.attachment-delete-button::after { transform: rotate(-45deg); }
.attachment-delete-button:hover { background: #fee2e2; border-color: var(--danger); }
.attachment-copy-button { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; height: 24px; padding: 0 8px; border: 1px solid #b7d8c8; border-radius: 999px; background: #f0f9f4; color: #168875; font-size: 11px; font-weight: 800; cursor: pointer; white-space: nowrap; }
.attachment-copy-button:hover, .attachment-copy-button.copied { border-color: #55a48d; background: #e4f4ed; }
.attachment-download-button { display: inline-flex; align-items: center; justify-content: center; min-width: 34px; height: 24px; padding: 0 8px; border: 1px solid #c7cdd3; border-radius: 999px; background: #fff; color: #374151; font-size: 11px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.attachment-download-button:hover { border-color: #55a48d; color: #168875; text-decoration: none; }
.attachment-preview-modal { position: fixed; inset: 0; z-index: 3000; display: grid; grid-template-rows: auto minmax(0, 1fr); padding: 20px; background: rgba(15, 23, 42, .62); }
.attachment-preview-modal[hidden] { display: none; }
.attachment-preview-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; max-width: 1120px; width: 100%; margin: 0 auto; padding: 10px 12px; border-radius: 4px 4px 0 0; background: #fff; border-bottom: 1px solid #d7dce1; }
.attachment-preview-head strong { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 14px; }
.attachment-preview-actions { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }
.attachment-preview-close { position: relative; display: inline-grid; place-items: center; width: 28px; height: 28px; border: 1px solid #c7cdd3; border-radius: 50%; background: #fff; cursor: pointer; }
.attachment-preview-close::before, .attachment-preview-close::after { content: ""; position: absolute; width: 13px; height: 2px; border-radius: 999px; background: #374151; }
.attachment-preview-close::before { transform: rotate(45deg); }
.attachment-preview-close::after { transform: rotate(-45deg); }
.attachment-preview-body { display: grid; place-items: center; max-width: 1120px; width: 100%; min-height: 0; margin: 0 auto; padding: 14px; border-radius: 0 0 4px 4px; background: #f8fafc; }
.attachment-preview-body img { max-width: 100%; max-height: calc(100vh - 132px); object-fit: contain; border: 1px solid #d7dce1; background: #fff; }
.attachment-preview-body iframe { width: 100%; height: calc(100vh - 132px); border: 1px solid #d7dce1; border-radius: 4px; background: #fff; }
.attachment-preview-empty { display: grid; gap: 10px; justify-items: center; padding: 34px; color: #374151; text-align: center; }
.upload-preview-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 8px; }
.upload-preview-list[hidden] { display: none; }
.upload-preview-item { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 8px; align-items: center; min-height: 82px; padding: 8px; border: 1px solid #d7dce1; border-radius: 4px; background: #f8fafc; }
.upload-preview-media { display: grid; place-items: center; width: 72px; height: 64px; overflow: hidden; border: 1px solid #d7dce1; border-radius: 4px; background: #fff; color: #657084; font-size: 11px; font-weight: 900; }
.upload-preview-media img { width: 100%; height: 100%; object-fit: cover; }
.upload-preview-media iframe { width: 120px; height: 92px; border: 0; transform: scale(.58); transform-origin: center; pointer-events: none; }
.upload-preview-text { display: grid; gap: 4px; min-width: 0; }
.upload-preview-text strong { overflow: hidden; color: #2f3439; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.upload-preview-text small { color: #657084; font-size: 11px; line-height: 1.35; overflow-wrap: anywhere; }
.task-comment-section { display: grid; gap: 10px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); }
.task-comment-section h3, .task-history-section h2 { margin: 0; font-size: 15px; letter-spacing: 0; }
.comment-form { display: grid; gap: 8px; }
.comment-form[hidden] { display: none; }
.comment-form textarea { min-height: 76px; border-radius: 4px; }
.comment-add-button { min-height: 40px; padding: 0 20px; font-size: 14px; }
.comment-submit-actions { justify-content: flex-end; }
.comment-list, .history-list, .notification-list { display: grid; gap: 8px; }
.comment-item, .history-item, .notification-item { border: 1px solid #d7dce1; border-radius: 4px; background: #f8fafc; padding: 10px; }
.comment-item div, .notification-item { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.comment-item time, .comment-item small, .history-item small, .notification-item small { color: var(--muted); font-size: 12px; white-space: nowrap; }
.comment-item p, .notification-item p { margin: 5px 0; color: #2f3439; line-height: 1.5; }
.comment-item { display: grid; gap: 7px; scroll-margin-top: 18px; }
.comment-item [hidden] { display: none !important; }
.comment-item.is-editing { gap: 0; padding: 8px; border-color: #b7d8c8; background: #f8fcfa; }
.comment-item [data-comment-view] { display: grid; gap: 4px; text-align: left; }
.comment-item .comment-meta { display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.comment-item p { text-align: left; justify-self: stretch; }
.comment-item .comment-actions { display: flex; justify-content: flex-end; gap: 6px; align-items: flex-start; flex-wrap: wrap; }
.comment-actions form { margin: 0; }
.comment-inline-edit { display: grid; gap: 7px; margin: 0; }
.comment-inline-edit[hidden] { display: none; }
.comment-inline-edit textarea { min-height: 58px; padding: 7px 8px; border-radius: 4px; background: #fff; font-size: 13px; line-height: 1.45; }
.task-side-section { display: grid; gap: 10px; padding-bottom: 14px; margin-bottom: 14px; border-bottom: 1px solid var(--line); }
.task-side-section h2 { margin-bottom: 0; }
.task-parent-select-form { display: grid; gap: 8px; margin: 0; }
.task-parent-select-form label { display: grid; gap: 5px; color: #374151; font-size: 13px; font-weight: 800; }
.task-parent-select-form select { min-height: 34px; padding: 5px 28px 5px 8px; border-radius: 4px; font-size: 13px; }
.select-filter-input { min-height: 34px; padding: 5px 8px; border-radius: 4px; font-size: 13px; }
.task-parent-select-form .button { justify-self: start; min-height: 30px; }
.task-history-section { display: grid; gap: 10px; margin-top: 0; padding-top: 0; border-top: 0; }
.task-history-section summary { list-style: none; cursor: pointer; }
.task-history-section summary::-webkit-details-marker { display: none; }
.task-history-section summary::after { content: ""; width: 8px; height: 8px; border-right: 2px solid #657084; border-bottom: 2px solid #657084; transform: rotate(45deg) translateY(-2px); }
.task-history-section[open] summary::after { transform: rotate(225deg) translateY(-2px); }
.history-item { display: grid; gap: 4px; }
.notification-item.unread { border-left: 4px solid #55a48d; background: #f2fbf7; }
.notification-list { gap: 5px; padding: 10px; }
.notification-item { align-items: center; min-height: 50px; padding: 7px 9px; gap: 10px; }
.notification-item > div:first-child { display: grid; gap: 2px; min-width: 0; }
.notification-item strong { overflow: hidden; font-size: 13px; line-height: 1.25; white-space: nowrap; text-overflow: ellipsis; }
.notification-item p { overflow: hidden; margin: 0; font-size: 12px; line-height: 1.25; white-space: nowrap; text-overflow: ellipsis; }
.notification-item small { font-size: 11px; line-height: 1.2; }
.notification-item .actions { flex: 0 0 auto; align-items: center; gap: 6px; }
.notification-item .actions form { margin: 0; }
.notification-item .button.small { min-height: 28px; padding: 0 10px; font-size: 12px; }
.notification-loader { margin-top: 10px; padding: 10px; color: #657084; text-align: center; font-size: 13px; font-weight: 700; }
.notification-loader[hidden] { display: none; }
.backup-policy { max-width: 920px; line-height: 1.7; }
.backup-policy h3 { margin: 18px 0 6px; font-size: 14px; color: #2f3439; }
.backup-policy p, .backup-policy ol { margin: 0; color: #374151; }
.backup-policy pre { overflow-x: auto; margin: 12px 0 0; padding: 12px; border-radius: 4px; background: #1f2937; color: #f9fafb; font-size: 13px; }
.empty-state.compact { padding: 10px; border: 1px dashed #c7cdd3; border-radius: 4px; background: #f8fafc; font-size: 13px; }
.detail-list { display: grid; grid-template-columns: 88px 1fr; gap: 10px 12px; margin: 0; font-size: 13px; }
.detail-list dt { color: var(--muted); white-space: nowrap; }
.detail-list dd { margin: 0; min-width: 0; }
.task-parent-detail-link { color: #168875; font-weight: 800; text-decoration: none; overflow-wrap: anywhere; }
.task-parent-detail-link:hover { text-decoration: underline; }
.task-parent-inline-form { display: grid; gap: 6px; margin: 0; }
.task-parent-inline-form select { width: 100%; min-height: 30px; padding: 4px 28px 4px 8px; border-radius: 4px; font-size: 13px; }
.task-sidebar-form { margin: 0; }
.task-sidebar-form .actions { justify-content: flex-end; margin-top: 10px; }
.detail-body-actions { justify-content: flex-end; }
.task-due-inline-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px; align-items: center; margin: 0; }
.task-due-inline-form input { min-width: 0; min-height: 30px; padding: 4px 8px; border: 1px solid var(--line); border-radius: 4px; font-size: 13px; }
.task-status-form { margin: 0; }
.task-status-form select { min-height: 30px; padding: 4px 28px 4px 8px; border-radius: 4px; font-size: 13px; }
.column-dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: 8px; }
.danger-text { color: var(--danger); font-weight: 700; }
.gantt-shell { width: 100%; min-width: 0; max-width: 100%; margin: 0; padding: 0; border-radius: 0; background: transparent; color: #2f3439; overflow: hidden; }
.gantt-control-panel { display: grid; gap: 7px; margin-bottom: 12px; font-size: 11px; font-weight: 700; }
.gantt-control-row { display: flex; align-items: center; gap: 6px 10px; flex-wrap: wrap; }
.gantt-date-control { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.gantt-date-control input { width: 126px; min-height: 29px; padding: 3px 6px; border: 1px solid #b8c0c8; border-radius: 3px; background: #fff; font-size: 11px; }
.gantt-mini-button { display: inline-flex; align-items: center; justify-content: center; min-height: 29px; padding: 0 10px; border: 1px solid #aeb6be; border-radius: 4px; background: #fff; color: #408c7b; text-decoration: none; font-size: 11px; font-weight: 800; box-shadow: 0 1px 1px rgba(0,0,0,.08); }
.gantt-range-group, .gantt-chip-set { display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.gantt-range-group { margin-left: auto; }
.gantt-chip, .gantt-chip-set a, .gantt-chip-set span:not(:first-child) { color: #2f3439; text-decoration: none; font-weight: 700; }
.gantt-chip.active, .gantt-chip-set .active { display: inline-flex; align-items: center; min-height: 21px; padding: 0 9px; border-radius: 999px; background: #55a48d; color: #fff; }
.gantt-status-set { margin-left: 0; }
.gantt-select-inline { display: inline-flex; align-items: center; gap: 5px; color: #2f3439; font-size: 11px; font-weight: 700; white-space: nowrap; }
.gantt-select-inline select { width: 112px; min-height: 29px; padding: 3px 24px 3px 7px; border: 1px solid #b8c0c8; border-radius: 4px; background: #fff; font-size: 11px; }
.gantt-control-panel .mine-filter { width: 29px; min-width: 29px; height: 29px; border-radius: 5px; }
.gantt-control-panel .mine-filter-icon { transform: scale(.82); }
.gantt-subbar { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 6px; font-size: 11px; }
.gantt-week-nav { display: flex; align-items: center; gap: 8px; }
.gantt-week-nav a { color: #4e9a86; text-decoration: none; font-weight: 700; }
.gantt-week-nav span { color: #33383d; }
.gantt-legend { display: flex; align-items: center; gap: 0; margin-left: auto; }
.legend { min-width: 50px; padding: 4px 7px; text-align: center; font-size: 10px; color: #263238; background: color-mix(in srgb, var(--legend-color) 38%, white); border-top: 2px solid color-mix(in srgb, var(--legend-color) 70%, white); }
.gantt-chart { position: relative; width: 100%; min-width: 0; max-width: 100%; max-height: calc(100vh - 205px); min-height: 360px; border: 1px solid #c7cdd3; border-radius: 4px 4px 0 0; overflow: auto; background: #fff; overscroll-behavior: contain; }
.gantt-head, .gantt-row { display: grid; grid-template-columns: 260px minmax(760px, 1fr); min-width: 1020px; }
.gantt-head { position: sticky; top: 0; z-index: 8; background: #fff; border-bottom: 1px solid #c7cdd3; box-shadow: 0 2px 0 rgba(199, 205, 211, .72); }
.gantt-left-tools { display: flex; align-items: center; justify-content: space-between; min-height: 26px; padding: 0 7px 0 9px; border-right: 1px solid #c7cdd3; color: #3f454b; font-size: 10px; }
.gantt-sort-form { margin-left: auto; }
.gantt-sort-form label { display: inline-flex; align-items: center; gap: 8px; font-weight: 800; white-space: nowrap; }
.gantt-sort-form select { width: 104px; min-height: 24px; padding: 2px 20px 2px 6px; border: 1px solid #b8c0c8; border-radius: 3px; background: #fff; font-size: 10px; }
.gantt-months, .gantt-days { display: grid; }
.gantt-months div { min-height: 26px; padding-top: 6px; border-right: 1px solid #dce1e6; color: #2f3740; text-align: center; font-size: 10px; font-weight: 800; }
.gantt-task-head { display: grid; grid-template-columns: minmax(0, 1fr) 82px; min-height: 26px; border-top: 1px solid #d7dce1; border-right: 1px solid #c7cdd3; color: #374151; font-size: 10px; font-weight: 700; }
.gantt-task-head span { padding: 6px 8px; }
.gantt-task-head span + span { border-left: 1px solid #e2e5e8; }
.gantt-days { border-top: 1px solid #d7dce1; }
.gantt-days div { min-height: 26px; padding: 6px 0; border-right: 1px solid #dce1e6; text-align: center; color: #374151; font-size: 9px; }
.gantt-days .saturday { color: #2563eb; font-weight: 800; }
.gantt-days .sunday, .gantt-days .holiday { color: #dc2626; font-weight: 800; }
.gantt-days .today { background: #f5dcb8; color: #2f3740; font-weight: 800; }
.gantt-days .today.saturday { color: #2563eb; }
.gantt-days .today.sunday, .gantt-days .today.holiday { color: #dc2626; }
.gantt-row { border-bottom: 1px solid #c7cdd3; }
.gantt-row:nth-child(odd) .gantt-task-cell, .gantt-row:nth-child(odd) .gantt-lane { background-color: #fff; }
.gantt-row:nth-child(even) .gantt-task-cell, .gantt-row:nth-child(even) .gantt-lane { background-color: #e3e8ed; }
.gantt-task-cell { display: grid; grid-template-columns: minmax(0, 1fr) 82px; min-height: 30px; border-right: 1px solid #c7cdd3; color: #2b8a75; text-decoration: none; }
.gantt-task-cell > strong { display: block; min-width: 0; overflow: hidden; padding: 8px; color: #2b8a75; white-space: nowrap; text-overflow: ellipsis; font-size: 10px; font-weight: 700; line-height: 1.2; }
.gantt-task-cell > span { overflow: hidden; min-width: 0; padding: 8px 6px; border-left: 1px solid #d7dce1; color: #374151; white-space: nowrap; text-overflow: ellipsis; font-size: 10px; line-height: 1.2; }
.gantt-task-cell > .task-title-with-icon { display: flex; align-items: center; gap: 4px; }
.gantt-task-title { display: grid; gap: 1px; min-width: 0; overflow: hidden; padding: 6px 12px; color: #2b8a75; text-decoration: none; font-size: 13px; font-weight: 700; line-height: 1.2; }
.gantt-task-title:hover { text-decoration: underline; }
.gantt-task-title .task-title-with-icon { overflow: hidden; min-width: 0; white-space: nowrap; text-overflow: ellipsis; }
.gantt-task-cell .task-relation-chip, .gantt-task-cell .task-children-chip { max-width: 100%; justify-self: start; }
.gantt-task-cell small { overflow: hidden; min-width: 0; color: #657084; white-space: nowrap; text-overflow: ellipsis; font-size: 11px; font-weight: 700; line-height: 1.2; }
.gantt-assignee-select { width: 100%; min-width: 0; min-height: 30px; padding: 0 6px; overflow: hidden; border: 0; border-left: 1px solid #d7dce1; border-radius: 0; appearance: none; -webkit-appearance: none; background-color: transparent; color: #374151; white-space: nowrap; text-overflow: ellipsis; font-size: 10px; line-height: 1.2; cursor: pointer; }
.gantt-assignee-select::-ms-expand { display: none; }
.gantt-assignee-select:focus { outline: 2px solid #55a48d; outline-offset: -2px; background: #fff; }
.gantt-lane { position: relative; display: grid; min-height: 30px; background-image: linear-gradient(to right, rgba(151, 163, 176, .22) 1px, transparent 1px); background-size: calc(100% / 92) 100%; }
.gantt-bar { position: relative; align-self: stretch; box-sizing: border-box; min-width: 10px; height: auto; margin: 3px 1px; overflow: visible; border-radius: 3px; background: color-mix(in srgb, var(--bar-color, #93b7d8) 36%, white); color: #25313d; text-decoration: none; cursor: pointer; touch-action: none; user-select: none; }
.gantt-chart[data-can-edit-dates="0"] .gantt-bar { cursor: pointer; }
.gantt-bar.editing { cursor: grabbing; opacity: .9; outline: 2px solid #3b82f6; outline-offset: 2px; }
.gantt-bar.priority-high { background: #e6aaa2; }
.gantt-bar.priority-medium { background: #93b7d8; }
.gantt-bar.priority-low { background: #14b976; color: #fff; }
.gantt-bar.overdue { outline: 2px solid var(--danger); outline-offset: 1px; }
.gantt-progress { position: absolute; inset: 0 auto 0 0; z-index: 0; border-radius: 3px 0 0 3px; background: color-mix(in srgb, var(--bar-color, #93b7d8) 68%, white); }
.gantt-bar-label { position: absolute; left: 0; top: 50%; z-index: 3; display: block; width: max-content; max-width: none; overflow: visible; padding: 0 5px; color: #25313d; white-space: nowrap; text-overflow: clip; font-size: 9px; font-weight: 800; line-height: 13px; text-shadow: 0 1px 0 rgba(255,255,255,.7); transform: translateY(-50%); pointer-events: none; }
.gantt-resize-handle { position: absolute; top: 0; bottom: 0; z-index: 4; width: 8px; cursor: ew-resize; background: transparent; }
.gantt-resize-handle.left { left: 0; }
.gantt-resize-handle.right { right: 0; }
.gantt-drag-guides { position: absolute; inset: 0 auto auto 0; z-index: 3; pointer-events: none; }
.gantt-drag-guides[hidden] { display: none; }
.gantt-drag-guide { position: absolute; top: 0; width: 0; border-left: 2px solid #2563eb; filter: drop-shadow(0 0 2px rgba(37, 99, 235, .28)); }
.gantt-drag-guide.end { border-left-color: #dc2626; filter: drop-shadow(0 0 2px rgba(220, 38, 38, .28)); }
.gantt-drag-guide span { position: absolute; left: 6px; min-width: 82px; padding: 3px 7px; border-radius: 4px; background: #2563eb; color: #fff; font-size: 11px; font-weight: 900; line-height: 1.25; white-space: nowrap; }
.gantt-drag-guide.end span { background: #dc2626; }
.empty-state { padding: 18px; color: var(--muted); }
.undated-task { display: grid; gap: 4px; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--text); text-decoration: none; }
.undated-task span { color: var(--muted); font-size: 12px; }
.settings-shell { margin: 0; padding: 0; border-radius: 0; background: transparent; color: #2f3439; overflow: hidden; }
.settings-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; }
.settings-card { display: grid; gap: 7px; min-height: 112px; padding: 16px; border: 1px solid #c7cdd3; border-radius: 4px; background: #fff; color: #2f3439; text-decoration: none; }
.settings-card:hover { border-color: #55a48d; box-shadow: 0 8px 18px rgba(17, 24, 39, .08); }
.settings-card h2 { margin: 0; font-size: 15px; letter-spacing: 0; }
.settings-card h2::before { content: ""; display: inline-block; width: 11px; height: 11px; margin-right: 8px; border-radius: 50%; background: #55a48d; vertical-align: -1px; }
.settings-catalog .settings-card h2 { display: flex; align-items: center; gap: 8px; }
.settings-catalog .settings-card h2::before {
  content: "•";
  display: inline-grid;
  place-items: center;
  flex: 0 0 26px;
  width: 26px;
  height: 26px;
  margin: 0;
  border-radius: 6px;
  background: #eef1f4;
  color: #59616a;
  font-size: 15px;
  font-weight: 800;
  line-height: 1;
}
.settings-catalog .settings-card[href*="/users"] h2::before { content: "♙"; }
.settings-catalog .settings-card[href*="/store/inventory"] h2::before { content: "▣"; }
.settings-catalog .settings-card[href*="/store/classification-rules"] h2::before { content: "⌘"; }
.settings-catalog .settings-card[href*="/store/operation-logs"] h2::before,
.settings-catalog .settings-card[href*="/operation-logs"] h2::before,
.settings-catalog .settings-card[href*="/notifications"] h2::before { content: "↻"; }
.settings-catalog .settings-card[href*="/kanban-columns"] h2::before { content: "▦"; }
.settings-catalog .settings-card[href*="/dashboard-categories"] h2::before { content: "◫"; }
.settings-catalog .settings-card[href*="/wiki/categories"] h2::before { content: "▤"; }
.settings-catalog .settings-card[href*="/projects"] h2::before { content: "◆"; }

.development-management-page,
.project-management-shell {
  display: grid;
  gap: 12px;
  min-width: 0;
}
.project-management-shell h1,
.development-contact-shell h1 { margin: 0; }
.development-management-actions,
.project-management-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin: 0;
  flex-wrap: wrap;
}
.development-management-filter {
  margin: 0;
  padding: 12px;
  border: 1px solid var(--system-border, #d8e1ef);
  border-radius: 10px;
  background: var(--system-light, #eff6ff);
  box-shadow: none;
}
.development-management-filter :is(input, select, button, .button) { min-height: 38px; }
.project-department-tabs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}
.project-department-tabs a {
  display: flex;
  min-width: 0;
  min-height: 44px;
  padding: 8px 12px;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  border: 1px solid var(--system-border, #d8e1ef);
  border-radius: 10px;
  background: #fff;
  color: var(--system-text, #1e293b);
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}
.project-department-tabs a:hover,
.project-department-tabs a.is-active { border-color: var(--department-color, var(--system-primary, #1d4ed8)); background: color-mix(in srgb, var(--department-color, var(--system-primary, #1d4ed8)) 9%, white); color: var(--department-color, var(--system-primary, #1d4ed8)); }
.project-department-tabs a.is-store.is-active { border-color: #8b5e3c; background: #faf4ef; color: #70452a; }
.project-department-tabs a.is-event.is-active { border-color: #0e9668; background: #e9f9f3; color: #087a55; }
.project-department-tabs a.is-corporate.is-active { border-color: #6d5ac7; background: #f2efff; color: #5947b2; }
.project-department-tabs strong { display: grid; min-width: 25px; height: 25px; padding: 0 6px; place-items: center; border-radius: 999px; background: rgba(100, 116, 139, .12); font-size: 11px; }
.project-department-badge { display: inline-flex; margin-left: 5px; padding: 2px 6px; border-radius: 999px; background: color-mix(in srgb, var(--department-color, #1d4ed8) 10%, white); color: var(--department-color, #2456b3); font-size: 9px; font-style: normal; vertical-align: middle; }
.project-department-badge.is-store { background: #faf0e8; color: #70452a; }
.project-department-badge.is-event { background: #e5f7f0; color: #087a55; }
.project-department-badge.is-corporate { background: #efecff; color: #5947b2; }
.project-filter-toolbar { display: grid; grid-template-columns: auto minmax(180px, 1fr) 180px auto; gap: 10px; align-items: center; }
.project-filter-actions { align-self: center; align-items: center; justify-content: flex-start; height: 42px; margin: 0; flex-wrap: nowrap; }
.project-filter-toolbar > :is(input, select, button),
.project-filter-actions .button {
  height: 42px;
  min-height: 42px;
  margin: 0;
  line-height: 1.2;
}
.project-filter-actions .button { padding-inline: 12px; white-space: nowrap; }
.project-card-groups { display: grid; gap: 20px; min-width: 0; }
.project-card-group { display: grid; gap: 10px; min-width: 0; }
.project-card-group-heading { display: grid; grid-template-columns: 10px auto auto minmax(40px, 1fr); gap: 8px; align-items: center; }
.project-card-group-heading > span { width: 10px; height: 10px; border-radius: 999px; background: var(--department-color); }
.project-card-group-heading h2 { margin: 0; color: var(--system-heading, #102a56); font-size: 15px; }
.project-card-group-heading strong { color: var(--department-color); font-size: 11px; }
.project-card-group-heading i { height: 2px; border-radius: 999px; background: color-mix(in srgb, var(--department-color) 52%, white); }
.project-card-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; min-width: 0; }
.project-card-groups.is-reorderable .project-card-grid { min-height: 62px; padding: 2px; border-radius: 10px; transition: background-color .15s ease, outline-color .15s ease; }
.project-card-groups.is-dragging .project-card-grid { outline: 1px dashed color-mix(in srgb, var(--department-color) 45%, transparent); background: color-mix(in srgb, var(--department-color) 4%, transparent); }
.project-overview-card {
  display: grid;
  grid-template-rows: auto auto minmax(48px, 1fr) auto auto auto;
  gap: 9px;
  min-width: 0;
  min-height: 238px;
  padding: 14px;
  overflow: hidden;
  color: var(--system-text, #1e293b);
  text-decoration: none;
  border: 1px solid var(--system-border, #d8e1ef);
  border-top: 4px solid var(--department-color);
  border-radius: 11px;
  background: #fff;
  box-shadow: 0 7px 20px rgba(15,45,95,.07);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.project-overview-card.is-dragging { z-index: 4; opacity: .72; transform: scale(.98); box-shadow: 0 14px 30px rgba(15,45,95,.18); }
.project-card-drag-handle { display: grid; width: 25px; height: 25px; margin-left: auto; place-items: center; border: 1px solid var(--system-border, #d8e1ef); border-radius: 7px; background: var(--system-light, #eff6ff); color: var(--department-color); font-size: 16px; line-height: 1; cursor: grab; touch-action: none; user-select: none; }
.project-card-drag-handle:active { cursor: grabbing; }
.project-overview-card:hover { transform: translateY(-2px); border-color: var(--department-color); box-shadow: 0 12px 26px rgba(15,45,95,.13); }
.project-card-head { display: flex; justify-content: space-between; gap: 6px; align-items: center; }
.project-card-head > span { color: var(--department-color); font-size: 10px; font-weight: 900; letter-spacing: .04em; }
.project-card-head .project-status { flex: 0 0 auto; padding: 4px 7px; font-size: 10px; font-style: normal; }
.project-overview-card h3 { margin: 0; overflow: hidden; color: var(--system-heading, #102a56); font-size: 15px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.project-overview-card > p { display: -webkit-box; margin: 0; overflow: hidden; color: var(--system-subtext, #64748b); font-size: 11px; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.project-card-progress { display: grid; gap: 5px; }
.project-card-progress > div:first-child { display: flex; align-items: center; justify-content: space-between; color: var(--system-subtext, #64748b); font-size: 10px; font-weight: 800; }
.project-card-progress strong { color: var(--department-color); font-size: 12px; }
.project-card-period { display: flex; justify-content: space-between; gap: 6px; color: var(--system-subtext, #64748b); font-size: 9px; }
.project-card-counts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; padding-top: 8px; border-top: 1px solid var(--system-divider, #edf2f7); }
.project-card-counts span { overflow: hidden; color: var(--system-subtext, #64748b); font-size: 8px; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.project-card-counts strong { display: block; margin-top: 2px; color: var(--system-heading, #102a56); font-size: 12px; }
.project-department-management-grid { display: grid; grid-template-columns: minmax(280px, .8fr) minmax(340px, 1.2fr); gap: 16px; align-items: start; }
.project-department-management h2 { margin-top: 0; }
.project-department-admin-list { display: grid; gap: 8px; }
.project-department-admin-list > div { display: grid; grid-template-columns: 14px minmax(0, 1fr) auto; gap: 9px; align-items: center; min-height: 38px; padding: 7px 10px; border: 1px solid var(--system-border, #d8e1ef); border-radius: 7px; background: #fff; }
.project-department-admin-list span { width: 12px; height: 12px; border-radius: 50%; background: var(--department-color); }
.project-department-admin-list small { color: var(--muted); font-size: 10px; }
.project-department-list-panel { grid-column: 1 / -1; }
.project-department-edit { overflow: hidden; border: 1px solid var(--system-border, #d8e1ef); border-radius: 8px; background: #fff; }
.project-department-edit > summary { display: grid; grid-template-columns: 14px minmax(0, 1fr) auto auto; gap: 9px; align-items: center; min-height: 40px; padding: 7px 10px; cursor: pointer; list-style: none; }
.project-department-edit > summary::-webkit-details-marker { display: none; }
.project-department-edit > summary span { width: 12px; height: 12px; border-radius: 50%; background: var(--department-color); }
.project-department-edit > summary b { padding: 4px 8px; border: 1px solid var(--system-accent, #93c5fd); border-radius: 5px; color: var(--system-primary, #1d4ed8); font-size: 10px; }
.project-department-edit[open] > summary { border-bottom: 1px solid var(--system-border, #d8e1ef); background: var(--system-light, #eff6ff); }
.project-department-edit-form { display: grid; grid-template-columns: minmax(220px, 1fr) 120px 120px auto; gap: 10px; align-items: end; padding: 12px; }
.project-department-edit-form label { display: grid; gap: 5px; color: var(--system-subtext, #64748b); font-size: 11px; font-weight: 800; }
.project-department-edit-form input { min-height: 38px; }
.project-department-edit-form input[type="color"] { padding: 4px; }
.project-list {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--system-border, #d8e1ef);
  border-radius: 12px;
  background: var(--theme-surface);
  box-shadow: 0 10px 28px rgba(15, 45, 95, .08);
}
.project-list-header,
.project-list-row {
  display: grid;
  grid-template-columns: minmax(260px, 1.8fr) 90px minmax(130px, .8fr) 170px 68px 112px 68px 24px;
  gap: 14px;
  align-items: center;
  min-width: 0;
}
.project-list-header {
  padding: 11px 16px;
  color: var(--system-subtext, #64748b);
  background: var(--system-light, #eff6ff);
  border-bottom: 1px solid var(--system-border, #d8e1ef);
  font-size: 11px;
  font-weight: 800;
}
.project-list-header span:nth-child(n+5) { text-align: center; }
.project-list-row {
  position: relative;
  padding: 15px 16px;
  color: var(--system-text, #1e293b);
  text-decoration: none;
  border-bottom: 1px solid var(--system-divider, #edf2f7);
  transition: background-color .15s ease, box-shadow .15s ease;
}
.project-list-row:last-child { border-bottom: 0; }
.project-list-row:hover {
  z-index: 1;
  background: #f5f9ff;
  box-shadow: inset 4px 0 0 var(--system-primary, #1d4ed8);
}
.project-list-name { display: flex; align-items: flex-start; gap: 11px; min-width: 0; }
.project-list-name > div { min-width: 0; }
.project-list-name small { display: block; margin-bottom: 3px; color: var(--system-primary, #1d4ed8); font-size: 10px; font-weight: 800; }
.project-list-name strong { display: block; overflow: hidden; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
.project-list-name p { margin: 3px 0 0; overflow: hidden; color: var(--system-subtext, #64748b); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.project-color { width: 10px; height: 10px; border-radius: 999px; flex: 0 0 auto; }
.project-progress { height: 8px; overflow: hidden; background: #e9edf5; border-radius: 999px; }
.project-progress span { display: block; height: 100%; background: linear-gradient(90deg, #2a5de8, #36b8dc); border-radius: inherit; }
.project-list-name .project-color { margin-top: 22px; }
.project-status {
  justify-self: start;
  padding: 5px 9px;
  color: #2456b3;
  background: #eaf2ff;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
}
.project-status.is-active { color: #087d68; background: #e4f7f2; }
.project-status.is-on_hold { color: #a35b00; background: #fff2d8; }
.project-status.is-completed { color: #4f46a5; background: #eeebff; }
.project-list-progress { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 8px; align-items: center; }
.project-list-progress strong { color: var(--system-primary, #1d4ed8); font-size: 12px; text-align: right; }
.project-list-period { display: grid; grid-template-columns: 28px 1fr; gap: 2px 6px; color: var(--system-text, #1e293b); font-size: 11px; }
.project-list-period small { color: var(--system-muted, #94a3b8); font-size: 10px; font-weight: 700; }
.project-list-count { text-align: center; }
.project-list-count strong { color: var(--system-heading, #102a56); font-size: 16px; }
.project-list-count small { margin-left: 2px; color: var(--system-subtext, #64748b); font-size: 10px; }
.project-list-arrow { color: var(--system-primary, #1d4ed8); font-size: 26px; text-align: right; }
.project-list-empty { margin: 16px; }
.contract-server-shell { display: grid; gap: 18px; min-width: 0; }
.website-management-shell { display: grid; gap: 18px; min-width: 0; }
.website-management-shell h1 { margin: 0; }
.website-management-shell .task-detail-top p { margin: 6px 0 0; color: var(--system-subtext, #64748b); }
.website-management-shell .table-wrap { width: 100%; max-width: 100%; overflow-x: auto; }
.website-management-table { width: 1440px; min-width: 1440px; table-layout: fixed; }
.website-management-table th,
.website-management-table td { min-width: 0; padding-top: 8px; padding-bottom: 8px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: middle; }
.website-management-table :is(th,td):nth-child(1) { width: 200px; }
.website-management-table :is(th,td):nth-child(2) { width: 160px; }
.website-management-table :is(th,td):nth-child(3) { width: 190px; }
.website-management-table :is(th,td):nth-child(4) { width: 150px; }
.website-management-table :is(th,td):nth-child(5) { width: 130px; }
.website-management-table :is(th,td):nth-child(6) { width: 120px; }
.website-management-table :is(th,td):nth-child(7) { width: 180px; }
.website-management-table :is(th,td):nth-child(8) { width: 90px; }
.website-management-table :is(th,td):nth-child(9) { width: 220px; }
.website-management-table td:first-child :is(strong,small,a) { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.website-management-table td small { display: block; margin-top: 4px; color: var(--system-subtext, #64748b); }
.website-management-table td:first-child small { display: inline; margin: 0 0 0 6px; }
.website-management-table .website-admin-url { display: block; width: 100%; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.website-management-cms-notice { margin: 0; }
.website-company-section{display:grid;gap:14px}.website-company-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.website-company-section-header h2{margin:0}.website-company-grid{display:grid;gap:14px}.website-company-card{display:grid;gap:14px;padding:17px;border:1px solid #cbd5e1;border-radius:14px;background:#fff;box-shadow:0 7px 20px rgba(15,23,42,.07)}.website-company-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.website-company-card h3{margin:4px 0;font-size:1.15rem}.website-company-name{color:#2563eb;font-size:.75rem;font-weight:900}.website-company-card>header small{color:#64748b}.website-company-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.website-company-info-grid>section{min-width:0;padding:13px 14px;border:2px solid;border-radius:11px}.website-company-info-grid>section>strong{display:block;margin-bottom:8px;font-size:.88rem}.website-company-info-grid .is-wordpress{border-color:#93c5fd;background:#eff6ff}.website-company-info-grid .is-wordpress>strong{color:#1d4ed8}.website-company-info-grid .is-server{border-color:#86efac;background:#f0fdf4}.website-company-info-grid .is-server>strong{color:#15803d}.website-company-info-grid .is-domain{border-color:#fcd34d;background:#fffbeb}.website-company-info-grid .is-domain>strong{color:#b45309}.website-company-info-grid dl{display:grid;gap:5px;margin:0}.website-company-info-grid dl div{display:grid;grid-template-columns:95px minmax(0,1fr);gap:8px}.website-company-info-grid dt{color:#64748b;font-size:.72rem;font-weight:800}.website-company-info-grid dd{min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:700}.website-company-card>footer{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}@media(max-width:850px){.website-company-info-grid{grid-template-columns:1fr}.website-company-info-grid dl div{grid-template-columns:110px minmax(0,1fr)}}@media(max-width:560px){.website-company-section-header{align-items:stretch;flex-direction:column}.website-company-section-header .button{width:100%}.website-company-card>header{align-items:stretch;flex-direction:column}.website-company-card>header>.contract-server-status{align-self:flex-start}.website-company-card>footer{display:grid}.website-company-card>footer .button{width:100%}}
.website-editor-form{width:100%;max-width:none!important;gap:14px}.website-editor-group{display:grid;align-content:start;gap:11px;min-width:0;margin:0;padding:16px;border:2px solid #cbd5e1;border-radius:12px}.website-editor-group legend{padding:0 8px;font-size:.9rem;font-weight:900}.website-editor-group label,.website-editor-notes{display:grid;gap:5px;font-weight:800}.website-editor-group label small{color:#64748b;font-size:.72rem}.website-editor-group.is-main{border-color:#cbd5e1;background:#f8fafc}.website-editor-main-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.website-editor-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.website-editor-group.is-wordpress{border-color:#60a5fa;background:#eff6ff}.website-editor-group.is-wordpress legend{color:#1d4ed8}.website-editor-group.is-server{border-color:#4ade80;background:#f0fdf4}.website-editor-group.is-server legend{color:#15803d}.website-editor-group.is-domain{border-color:#fbbf24;background:#fffbeb}.website-editor-group.is-domain legend{color:#b45309}.website-editor-group :is(input,select){width:100%;min-width:0;background:#fff}.website-editor-notes textarea{min-height:82px}.website-editor-actions{justify-content:flex-end}@media(max-width:1050px){.website-editor-main-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.website-editor-category-grid{grid-template-columns:1fr}}@media(max-width:580px){.website-editor-main-grid{grid-template-columns:1fr}.website-editor-group{padding:12px}.website-editor-actions{display:grid}.website-editor-actions .button{width:100%}}
.website-detail-view{grid-template-columns:repeat(2,minmax(0,1fr))}.website-detail-view dl{display:grid;gap:10px;margin:0}.website-detail-view dl div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px}.website-detail-view dt{color:#64748b;font-size:.78rem;font-weight:800}.website-detail-view dd{min-width:0;margin:0;font-weight:700;overflow-wrap:anywhere}.website-detail-view a:not(.button){text-decoration:underline;text-underline-offset:2px}@media(max-width:850px){.website-detail-view{grid-template-columns:1fr}}@media(max-width:520px){.website-detail-view dl div{grid-template-columns:1fr;gap:3px}}
.website-password-link{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:10px;font-weight:800}.website-password-link span{color:#64748b}.website-password-link a{text-decoration:underline;text-underline-offset:2px}
.website-detail-view .is-main dl div:nth-child(4) dd{justify-self:start;display:inline-flex;padding:4px 9px;border-radius:999px;background:#e4f7f2;color:#087d68;font-size:.78rem;font-weight:800;line-height:1.2}
.website-credential-shell{display:grid;gap:16px;max-width:1250px;margin:0 auto}.website-credential-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.website-credential-card{display:flex;flex-direction:column;min-width:0;padding:16px;border:1px solid #cbd5e1;border-radius:14px;background:#fff;box-shadow:0 7px 20px rgba(15,23,42,.08)}.website-credential-card header span{display:inline-flex;padding:3px 8px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:.72rem;font-weight:900}.website-credential-card h2{margin:8px 0 12px;font-size:1.05rem}.website-credential-card dl{display:grid;gap:9px;margin:0}.website-credential-card dl div{display:grid;gap:3px}.website-credential-card dt{color:#64748b;font-size:.72rem;font-weight:800}.website-credential-card dd{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;margin:0}.website-credential-card code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.website-credential-card>p{margin:12px 0;color:#475569;font-size:.82rem}.website-credential-card footer{display:flex;gap:7px;flex-wrap:wrap;margin-top:auto;padding-top:14px}.website-credential-editor>form{margin-top:14px}@media(max-width:1000px){.website-credential-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.website-credential-grid{grid-template-columns:1fr}.website-credential-shell .task-detail-top{align-items:stretch;flex-direction:column}.website-credential-shell .task-detail-top .actions{display:grid}.website-credential-card footer .button{flex:1}}
.website-management-actions { display: flex; align-items: center; gap: 5px; width: 100%; min-width: 0; overflow: hidden; }
.website-management-actions .button { width: auto; min-width: 0; padding-right: 8px; padding-left: 8px; white-space: nowrap; }
.website-corporate-card { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-width: 0; padding: 28px; overflow: hidden; border: 1px solid #16243d; border-radius: 16px; background: linear-gradient(135deg,#0d1729,#1e3558); color: #fff; box-shadow: 0 16px 34px rgba(15,39,71,.2); }
.website-corporate-copy { display: grid; min-width: 0; gap: 7px; }
.website-corporate-label { color: #9fc5ff; font-size: 11px; font-weight: 900; letter-spacing: .14em; }
.website-corporate-card h2 { margin: 0; color: #fff; font-size: clamp(21px,3vw,30px); }
.website-corporate-card a:not(.button) { width: fit-content; max-width: 100%; overflow: hidden; color: #dbeafe; text-overflow: ellipsis; white-space: nowrap; }
.website-corporate-details { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px 18px; min-width: 0; margin: 10px 0 0; }
.website-corporate-details > div { min-width: 0; }
.website-corporate-details dt { margin-bottom: 3px; color: #9fc5ff; font-size: 10px; font-weight: 900; }
.website-corporate-details dd { min-width: 0; margin: 0; overflow: hidden; color: #fff; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.website-corporate-details dd a { display: block; width: 100% !important; }
.website-corporate-actions { display: grid; flex: 0 0 180px; gap: 8px; }
.website-corporate-actions .button { width: 100%; }
@media(max-width:900px){.website-corporate-details{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.website-corporate-card{align-items:stretch;flex-direction:column;padding:20px}.website-corporate-details{grid-template-columns:1fr}.website-corporate-actions{display:grid;flex-basis:auto;grid-template-columns:1fr 1fr}.website-corporate-actions .button{min-width:0;padding-right:8px;padding-left:8px}}
.website-analytics-shell{display:grid;gap:18px;min-width:0}.website-analytics-filter{display:flex;justify-content:flex-end}.website-analytics-filter label{display:grid;gap:5px;font-weight:800}.website-analytics-filter input{min-width:180px}.website-analytics-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.website-analytics-summary article,.website-analytics-devices article{display:grid;gap:5px;padding:16px;border:1px solid var(--system-border);border-radius:10px;background:#fff}.website-analytics-summary span,.website-analytics-devices span{color:var(--system-subtext);font-size:12px;font-weight:800}.website-analytics-summary strong,.website-analytics-devices strong{color:var(--system-heading);font-size:26px}.website-analytics-chart-wrap{width:100%;overflow-x:auto}.website-analytics-chart{display:block;width:100%;min-width:720px;height:auto}.website-analytics-chart line{stroke:#dbe4f0;stroke-width:1}.website-analytics-chart polyline{fill:none;stroke:var(--system-primary);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.website-analytics-chart circle{fill:#fff;stroke:var(--system-primary);stroke-width:3}.website-analytics-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:16px}.website-analytics-grid td small{display:block;color:var(--system-subtext)}.website-analytics-devices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}@media(max-width:760px){.website-analytics-summary,.website-analytics-grid,.website-analytics-devices{grid-template-columns:1fr}.website-analytics-filter{justify-content:stretch}.website-analytics-filter label,.website-analytics-filter input{width:100%}}
.development-prompts-shell{display:grid;gap:16px;min-width:0}.development-prompt-filter{display:grid;grid-template-columns:minmax(240px,1fr) 190px 150px auto;gap:10px}.development-prompt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.development-prompt-card{display:grid;align-content:start;gap:10px;min-width:0;padding:16px;border:1px solid var(--system-border);border-radius:12px;background:#fff;box-shadow:0 8px 22px rgba(15,45,95,.06)}.development-prompt-card.is-archived{opacity:.68}.development-prompt-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.development-prompt-head span{color:var(--system-primary);font-size:11px;font-weight:900}.development-prompt-head h2{margin:3px 0 0;font-size:18px}.development-prompt-card>p{margin:0;color:var(--system-subtext);font-size:13px}.development-prompt-card pre{max-height:260px;margin:0;padding:12px;overflow:auto;border:1px solid #dbe4f0;border-radius:8px;background:#f8fafc;color:#1e293b;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.development-prompt-variables{display:grid;gap:4px;padding:9px 11px;border-radius:8px;background:var(--system-light);font-size:12px}.development-prompt-card footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto}.development-prompt-card footer small{min-width:0;overflow:hidden;color:var(--system-subtext);text-overflow:ellipsis;white-space:nowrap}.development-prompt-editor{padding:0;overflow:hidden}.development-prompt-editor>summary{padding:14px 17px;background:var(--system-light);font-weight:900;cursor:pointer}.development-prompt-editor>form{padding:18px}.development-prompt-body{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;line-height:1.55}@media(max-width:900px){.development-prompt-filter,.development-prompt-grid{grid-template-columns:1fr}.development-prompt-card footer{align-items:stretch;flex-direction:column}.development-prompt-card footer .button{width:100%}}
.contract-server-shell h1 { margin: 0; }
.contract-server-shell .task-detail-top p { margin: 6px 0 0; color: var(--system-subtext, #64748b); }
.contract-server-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.contract-server-summary article { display: flex; min-height: 76px; padding: 13px 15px; gap: 6px; align-items: baseline; border: 1px solid var(--system-border, #d8e1ef); border-radius: 11px; background: #fff; box-shadow: 0 6px 18px rgba(15,45,95,.06); }
.contract-server-summary span { margin-right: auto; color: var(--system-subtext, #64748b); font-size: 11px; font-weight: 800; }
.contract-server-summary strong { color: var(--system-heading, #102a56); font-size: 24px; }
.contract-server-summary small { color: var(--system-subtext, #64748b); font-size: 11px; }
.contract-server-summary article.is-alert { border-color: #f1c36d; background: #fff9e9; }
.contract-server-summary article.is-alert strong { color: #b66b00; }
.contract-server-filter { display: grid; grid-template-columns: minmax(260px, 1fr) 180px 180px auto; gap: 10px; }
.contract-server-list-panel { padding: 0; overflow: hidden; }
.contract-server-list-panel .table-wrap { margin: 0; }
.contract-server-table td { vertical-align: middle; }
.contract-server-table td strong,
.contract-server-table td small { display: block; }
.contract-server-table td small { margin-top: 3px; color: var(--system-subtext, #64748b); font-size: 10px; }
.contract-server-domains { max-width: 220px; line-height: 1.45; overflow-wrap: anywhere; }
.contract-server-type,
.contract-server-status { display: inline-flex; padding: 4px 8px; border-radius: 999px; background: #eaf2ff; color: #2456b3; font-size: 10px; font-weight: 800; }
.contract-server-status.is-active { background: #e4f7f2; color: #087d68; }
.contract-server-status.is-pending { background: #fff2d8; color: #a35b00; }
.contract-server-status.is-suspended { background: #feecec; color: #b42318; }
.contract-server-status.is-cancelled { background: #edf0f4; color: #64748b; }
.contract-server-renewal-alert { color: #b42318; font-weight: 800; }
.contract-server-renewal-alert small { color: #b42318 !important; }
.contract-server-editor { padding: 0; overflow: hidden; }
.contract-server-editor > summary { padding: 14px 17px; color: var(--system-heading, #102a56); background: var(--system-light, #eff6ff); font-weight: 900; cursor: pointer; }
.contract-server-editor > form { padding: 18px; }
.contract-server-form-grid { grid-template-columns: repeat(3, minmax(170px, 1fr)); }
.project-overview-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr); gap: 16px; align-items: start; }
.project-detail-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: start; }
.project-meta-form { grid-template-columns: repeat(5, minmax(120px, 1fr)); }
.project-milestone-form { grid-template-columns: minmax(180px, 1fr) 160px minmax(180px, 1fr) auto; }
.project-milestone-list,
.project-task-list { display: grid; gap: 8px; margin-top: 14px; }
.project-milestone-item,
.project-task-list a {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 12px;
  color: inherit;
  text-decoration: none;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
}
.project-milestone-item div,
.project-task-list a { min-width: 0; }
.project-milestone-item small,
.project-task-list span { display: block; margin-top: 4px; color: var(--muted); font-size: 12px; }
.project-milestone-item p { margin: 5px 0 0; overflow-wrap: anywhere; }
.project-milestone-item.completed strong { text-decoration: line-through; color: var(--muted); }
.project-id { display: inline-block; margin-top: 5px; color: var(--muted); font-weight: 700; }
.development-contact-shell .toolbar { display: grid; grid-template-columns: minmax(240px, 1fr) auto auto; gap: 10px; }
.development-contact-shell td small { display: block; color: var(--muted); }
.development-contact-unified { display: grid; gap: 12px; }
.development-contact-heading { align-items: flex-start; }
.development-contact-heading p { margin: 5px 0 0; color: var(--muted); }
.development-contact-heading .actions { display: flex; gap: 8px; flex-wrap: wrap; }
.development-contact-summary { display: flex; gap: 10px; }
.development-contact-summary span { min-width: 112px; padding: 10px 14px; border: 1px solid var(--system-border, #d8e1ee); border-radius: 10px; background: #fff; color: var(--system-subtext, #536279); box-shadow: 0 4px 12px rgba(15,45,95,.05); }
.development-contact-summary strong { margin-right: 4px; color: var(--system-heading, #17345c); font-size: 1.2rem; }
.development-company-list { display: grid; gap: 12px; }
.development-company-card { margin: 0; padding: 0; overflow: hidden; border-color: var(--system-border, #d8e1ef); border-radius: 12px; box-shadow: 0 8px 22px rgba(15,45,95,.06); }
.development-company-header { display: grid; grid-template-columns: minmax(240px, 1fr) auto auto; gap: 18px; align-items: center; padding: 18px 20px 12px; }
.development-company-header h2 { margin: 2px 0 3px; color: var(--system-heading, #102a56); font-size: 1.15rem; }
.development-company-header p { margin: 0; color: var(--system-subtext, #64748b); }
.development-company-id { color: var(--system-primary, #1d4ed8); font-size: .72rem; font-weight: 800; letter-spacing: .08em; }
.development-company-meta { display: flex; gap: 7px; flex-wrap: wrap; }
.development-company-meta span { padding: 5px 9px; border-radius: 999px; background: var(--system-light, #eff6ff); color: var(--system-primary, #1d4ed8); font-size: .78rem; font-weight: 700; white-space: nowrap; }
.development-company-header .actions { display: flex; gap: 7px; }
.development-company-contact { display: flex; gap: 20px; padding: 0 20px 13px; color: var(--system-subtext, #5f6d80); font-size: .82rem; }
.development-contact-table-wrap { overflow-x: auto; border-top: 1px solid var(--system-border, #e3e9f1); }
.development-contact-table { margin: 0; min-width: 700px; }
.development-contact-table th { background: var(--system-light, #eff6ff); color: var(--system-heading, #102a56); }
.development-contact-table tbody tr:hover td { background: #f5f9ff; }
.development-contact-table th:last-child,
.development-contact-table td:last-child { width: 76px; text-align: center; }
.development-report-shell { display: grid; gap: 12px; min-width: 0; }
.development-report-shell h1 { margin: 0; }
.development-report-shell .task-detail-top p { margin: 6px 0 0; color: var(--muted); }
.development-report-filter {
  display: grid;
  grid-template-columns: repeat(5, minmax(130px, 1fr)) auto;
  gap: 10px;
  align-items: end;
}
.development-report-filter label,
.development-report-meta label { display: grid; gap: 5px; color: var(--system-subtext, #64748b); font-size: 11px; font-weight: 800; }
.development-report-list { overflow: hidden; border: 1px solid var(--system-border, #d8e1ef); border-radius: 12px; background: #fff; box-shadow: 0 10px 28px rgba(15, 45, 95, .08); }
.development-report-header,
.development-report-row { display: grid; grid-template-columns: 105px 120px 160px minmax(220px, 1fr) 75px 90px 20px; gap: 12px; align-items: center; min-width: 0; padding: 12px 15px; }
.development-report-header { color: var(--system-subtext, #64748b); background: var(--system-light, #eff6ff); font-size: 11px; font-weight: 800; }
.development-report-row { color: var(--system-text, #1e293b); text-decoration: none; border-top: 1px solid var(--system-divider, #edf2f7); }
.development-report-row:hover { background: #f5f9ff; box-shadow: inset 4px 0 0 var(--system-primary, #1d4ed8); }
.development-report-summary { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.development-report-status { justify-self: start; padding: 5px 9px; color: #8a5b00; background: #fff3d6; border-radius: 999px; font-size: 11px; font-weight: 800; }
.development-report-status.is-submitted { color: #087d68; background: #e4f7f2; }
.development-report-form { display: grid; gap: 16px; }
.development-report-meta { display: grid; grid-template-columns: 180px minmax(220px, 1fr) 180px; gap: 14px; }
.development-report-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.development-report-fields label { display: grid; gap: 8px; color: var(--system-heading, #102a56); font-weight: 800; }
.development-report-tasks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; max-height: 320px; overflow: auto; }
.development-report-tasks label { display: flex; gap: 9px; align-items: flex-start; padding: 10px; border: 1px solid var(--system-border, #d8e1ef); border-radius: 9px; cursor: pointer; }
.development-report-tasks label:hover { background: var(--system-light, #eff6ff); }
.development-report-tasks span { min-width: 0; }
.development-report-tasks strong { display: block; overflow-wrap: anywhere; font-size: 12px; }
.development-report-tasks small { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; }

@media (max-width: 1180px) {
  .project-card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .contract-server-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contract-server-form-grid { grid-template-columns: repeat(2, minmax(160px, 1fr)); }
  .project-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .project-meta-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .project-list-header,
  .project-list-row { grid-template-columns: minmax(220px, 1.6fr) 84px minmax(110px, .8fr) 58px 96px 20px; gap: 9px; }
  .project-list-header > :nth-child(4),
  .project-list-header > :nth-child(7),
  .project-list-row > :nth-child(4),
  .project-list-row > :nth-child(7) { display: none; }
  .development-report-filter { grid-template-columns: repeat(3, minmax(130px, 1fr)); }
  .development-report-header,
  .development-report-row { grid-template-columns: 100px 110px 140px minmax(180px, 1fr) 80px 20px; }
  .development-report-header > :nth-child(5),
  .development-report-row > :nth-child(5) { display: none; }
}
@media (max-width: 900px) {
  .project-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kanban-control-strip { display: grid; overflow: visible; }
  .kanban-control-strip .kanban-toolbar { width: 100%; }
  .kanban-control-strip .kanban-filter-panel { display: grid; grid-template-columns: 1fr; }
  .project-department-tabs {
    display: flex;
    margin-right: -4px;
    padding: 0 4px 4px 0;
    overflow-x: auto;
    scroll-snap-type: x proximity;
  }
  .project-department-tabs a { min-width: 140px; scroll-snap-align: start; }
  .project-overview-grid,
  .project-detail-grid,
  .project-filter-toolbar,
  .project-milestone-form,
  .development-contact-shell .toolbar { grid-template-columns: 1fr; }
  .project-filter-actions { flex-wrap: wrap; }
  .project-department-management-grid { grid-template-columns: 1fr; }
  .project-department-edit-form { grid-template-columns: 1fr; }
  .development-contact-heading { display: grid; gap: 12px; }
  .development-company-header { grid-template-columns: 1fr; gap: 10px; }
  .development-company-header .actions { justify-content: flex-start; }
  .development-company-contact { flex-direction: column; gap: 4px; }
  .contract-server-filter,
  .contract-server-form-grid { grid-template-columns: 1fr; }
  .development-report-filter,
  .development-report-meta,
  .development-report-fields,
  .development-report-tasks { grid-template-columns: 1fr; }
  .development-report-header { display: none; }
  .development-report-row { position: relative; grid-template-columns: 1fr auto; gap: 7px 12px; margin-bottom: 9px; border: 1px solid var(--system-border, #d8e1ef); border-radius: 10px; }
  .development-report-row > :nth-child(3),
  .development-report-row > :nth-child(4) { grid-column: 1 / -1; }
  .development-report-list { overflow: visible; border: 0; background: transparent; box-shadow: none; }
  .project-list { overflow: visible; border: 0; background: transparent; box-shadow: none; }
  .project-list-header { display: none; }
  .project-list-row {
    grid-template-columns: 1fr auto;
    gap: 12px;
    margin-bottom: 10px;
    padding: 15px;
    background: var(--theme-surface);
    border: 1px solid var(--system-border, #d8e1ef);
    border-radius: 10px;
    box-shadow: 0 6px 18px rgba(15, 45, 95, .06);
  }
  .project-list-name { grid-column: 1 / -1; }
  .project-list-row > :nth-child(4) { display: grid; }
  .project-list-row > :nth-child(7) { display: block; }
  .project-list-progress,
  .project-list-period { grid-column: 1 / -1; }
  .project-list-count { text-align: left; }
  .project-list-arrow { position: absolute; right: 14px; top: 13px; }
}
@media (max-width: 560px) {
  .project-card-grid { grid-template-columns: 1fr; }
  .contract-server-summary { grid-template-columns: 1fr; }
  .contract-server-summary article { min-height: 58px; }
}
.settings-catalog .settings-card[href*="/kanban/archive"] h2::before { content: "✓"; }
.settings-catalog .settings-card[href*="/task-timing-settings"] h2::before { content: "◷"; }
.settings-catalog .settings-card[href*="/password-vault"] h2::before { content: "⌾"; }
.settings-catalog .settings-card[href*="/backup-policy"] h2::before { content: "⇩"; }
.settings-catalog .settings-card[href*="/meeting-prompt"] h2::before { content: "☷"; }
body.theme-store .settings-catalog .settings-card h2::before,
body.theme-admin .store-department-settings .settings-card h2::before {
  background: #f1e7df;
  color: #795238;
}
body.theme-development .settings-catalog .settings-card h2::before,
body.theme-admin .development-department-settings .settings-card h2::before {
  background: #eff6ff;
  color: #1d4ed8;
}
.settings-card p { margin: 0; color: #657084; font-size: 13px; line-height: 1.5; }
.settings-panel { margin-bottom: 14px; padding: 14px; border: 1px solid #c7cdd3; border-radius: 4px; background: #fff; }
.azamino-order-tag { display: inline-flex; align-items: center; margin-left: 6px; padding: 1px 6px; border-radius: 999px; background: #e8f3ff; color: #24628f; font-size: 10px; font-weight: 700; line-height: 1.5; vertical-align: middle; white-space: nowrap; }
.azamino-delivery-panel { padding: 0 !important; overflow: hidden; }
.azamino-delivery-panel > summary { display: flex; align-items: center; gap: 8px; min-height: 42px; padding: 8px 12px; cursor: pointer; list-style: none; }
.azamino-delivery-panel > summary::-webkit-details-marker { display: none; }
.azamino-delivery-panel > summary::before { content: "›"; color: #708090; font-size: 20px; line-height: 1; transition: transform .15s ease; }
.azamino-delivery-panel[open] > summary::before { transform: rotate(90deg); }
.azamino-delivery-panel > summary strong { font-size: 13px; }
.azamino-delivery-count { display: inline-flex; min-width: 28px; justify-content: center; padding: 2px 7px; border-radius: 999px; background: #eef2f5; color: #53616d; font-size: 11px; font-weight: 700; }
.azamino-delivery-panel > form { padding: 0 12px 12px; }
.azamino-delivery-table :is(th,td) { padding: 7px 8px; font-size: 12px; }
.azamino-delivery-type { color: #576875; font-size: 11px; white-space: nowrap; }
.azamino-delivery-actions { display: flex; justify-content: flex-end; padding-top: 8px; }
.azamino-delivery-empty { margin: 0; padding: 4px 0 8px; font-size: 12px; }
.settings-panel h2 { margin: 0 0 12px; font-size: 15px; letter-spacing: 0; }
.settings-table { border-color: #c7cdd3; border-radius: 4px; overflow: hidden; color: #2f3439; }
.settings-table th { background: #fff; color: #374151; font-size: 12px; font-weight: 800; }
.settings-table td { background: #fff; font-size: 13px; }
.settings-table tbody tr:nth-child(even) td { background: #e3e8ed; }
.electronic-daily-sales { min-width: 0; }
.electronic-sales-report { display: flex; flex-direction: column; }
.electronic-sales-report > * { order: 100; }
.electronic-sales-report > .page-actions { order: 1; }
.electronic-sales-report > .electronic-daily-filter { order: 2; }
.electronic-sales-report > .electronic-daily-heading { order: 3; }
.electronic-sales-report > .electronic-report-jump-nav { order: 4; }
.electronic-sales-report > .electronic-report-kpis { order: 5; }
.electronic-sales-report > .electronic-report-insights { order: 6; }
.electronic-sales-report > .electronic-report-ai-analysis { order: 7; }
.electronic-sales-report > .electronic-sales-chart-panel { order: 8; }
.electronic-sales-report > .electronic-report-comparison { order: 9; }
.electronic-sales-report > .electronic-age-analysis { order: 10; }
.electronic-sales-report > .electronic-customer-ranking { order: 11; }
.electronic-sales-report > .electronic-category-sales { order: 12; }
.electronic-sales-report > .electronic-recommended-menu { order: 13; }
.electronic-sales-report > .electronic-product-sales-ranking { order: 14; }
.electronic-recommended-menu-period { padding:5px 10px; border-radius:999px; background:#f4e9df; color:#70472e; font-weight:700; white-space:nowrap; }
.electronic-recommended-menu-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:12px; }
.electronic-recommended-menu-category { overflow:hidden; border:1px solid #e4d6cc; border-radius:12px; background:#fff; }
.electronic-recommended-menu-category > header { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:11px 13px; background:#f8f2ed; border-bottom:1px solid #e8ddd5; }
.electronic-recommended-menu-category h3 { margin:0; font-size:16px; }
.electronic-recommended-menu-category header small { color:#7c6b61; }
.electronic-recommended-menu-category ol { display:grid; gap:0; margin:0; padding:0; list-style:none; }
.electronic-recommended-menu-category li { position:relative; display:grid; grid-template-columns:28px minmax(0,1fr) auto; align-items:center; gap:9px; min-height:58px; padding:9px 12px; border-bottom:1px solid #eee5df; }
.electronic-recommended-menu-category li:last-child { border-bottom:0; }
.electronic-recommended-menu-category li.is-category-best { padding-right:82px; background:#fffaf0; }
.electronic-recommended-rank { display:grid; place-items:center; width:25px; height:25px; border-radius:50%; background:#eee6df; color:#6c4a37; font-weight:800; }
.is-category-best .electronic-recommended-rank { background:#a36d3f; color:#fff; }
.electronic-recommended-menu-category li div { min-width:0; }
.electronic-recommended-menu-category li strong,.electronic-recommended-menu-category li small { display:block; }
.electronic-recommended-menu-category li strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.electronic-recommended-menu-category li small { margin-top:2px; color:#7d7068; font-size:11px; }
.electronic-recommended-menu-category li > b { white-space:nowrap; font-size:13px; }
.electronic-recommended-menu-category li em { position:absolute; top:7px; right:10px; padding:3px 7px; border-radius:999px; background:#f1b84b; color:#4d321c; font-size:10px; font-style:normal; font-weight:800; }
@media (max-width: 640px) { .electronic-recommended-menu-grid { grid-template-columns:1fr; } .electronic-recommended-menu-category li.is-category-best { padding-right:76px; } }
.electronic-sales-report > .electronic-report-two-column { order: 14; }
.electronic-sales-report > .electronic-report-hourly-panel { order: 15; }
.electronic-sales-report > .electronic-report-staff-panel { order: 16; }
.electronic-sales-report > .electronic-report-daily-detail { order: 17; }
.electronic-sales-report > script { order: 999; }
.electronic-report-jump-nav { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 14px; padding: 5px; border: 1px solid #d8c7bb; border-radius: 9px; background: #f7f2ee; }
.electronic-report-jump-nav a { flex: 1 1 105px; padding: 8px 10px; border-radius: 6px; color: #70472f; font-size: 12px; font-weight: 900; text-align: center; text-decoration: none; }
.electronic-report-jump-nav a:hover { background: #fff; box-shadow: 0 2px 7px rgba(70,48,37,.1); }
.electronic-daily-filter { display: flex; flex-wrap: wrap; align-items: end; gap: 10px; }
.electronic-daily-filter label { display: grid; gap: 5px; min-width: 180px; font-weight: 800; }
.electronic-daily-heading { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 10px; color: #657084; }
.electronic-daily-heading strong { color: #2f3439; font-size: 18px; }
.electronic-daily-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 8px; }
.electronic-daily-metrics article { display: grid; gap: 6px; min-width: 0; padding: 16px; border: 1px solid #c7cdd3; border-left: 5px solid #2b8a75; border-radius: 6px; background: #fff; }
.electronic-daily-metrics article:nth-child(2) { border-left-color: #3b82f6; }
.electronic-daily-metrics article:nth-child(3) { border-left-color: #f59e0b; }
.electronic-daily-metrics article:nth-child(4) { border-left-color: #8b5cf6; }
.electronic-daily-metrics span { color: #657084; font-size: 12px; font-weight: 800; }
.electronic-daily-metrics strong { color: #2f3439; font-size: 24px; line-height: 1.1; }
.electronic-daily-note { margin: 0 0 14px; color: #657084; font-size: 12px; }
.electronic-report-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 14px; }
.electronic-report-kpis article { display: grid; gap: 7px; min-width: 0; padding: 16px; border: 1px solid #c7cdd3; border-top: 4px solid #8b5a3c; border-radius: 8px; background: #fff; box-shadow: 0 5px 16px rgba(48,36,26,.06); }
.electronic-report-kpis article:nth-child(2) { border-top-color: #3b82f6; }
.electronic-report-kpis article:nth-child(3) { border-top-color: #f59e0b; }
.electronic-report-kpis article:nth-child(4) { border-top-color: #8b5cf6; }
.electronic-report-kpis span { color: #657084; font-size: 12px; font-weight: 800; }
.electronic-report-kpis strong { overflow: hidden; color: #2f3439; font-size: clamp(19px, 1.7vw, 26px); line-height: 1.1; text-overflow: ellipsis; white-space: nowrap; }
.electronic-report-kpis small { font-size: 12px; font-weight: 800; }
.electronic-report-kpis small.is-positive { color: #12804d; }
.electronic-report-kpis small.is-negative { color: #cf3341; }
.electronic-report-kpis small.is-neutral { color: #657084; }
.electronic-report-insights h2 { margin-bottom: 12px; }
.electronic-report-insight-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.electronic-report-insight-grid article { min-width: 0; padding: 14px; border: 1px solid #d9dee5; border-radius: 7px; background: #f8fafc; }
.electronic-report-insight-grid span { display: block; margin-bottom: 6px; color: #657084; font-size: 11px; font-weight: 800; }
.electronic-report-insight-grid strong { display: block; overflow: hidden; color: #2f3439; font-size: 18px; text-overflow: ellipsis; white-space: nowrap; }
.electronic-report-insight-grid p { margin: 7px 0 0; color: #657084; font-size: 12px; line-height: 1.5; }
.electronic-report-two-column { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 14px; align-items: stretch; }
.electronic-report-two-column > * { min-width: 0; margin: 0; }
.electronic-report-payment-list { display: grid; flex: 1; grid-auto-rows: minmax(64px,1fr); gap: 12px; }
.electronic-report-payment-list article { display: grid; grid-template-columns: minmax(90px, .8fr) minmax(100px, 1.5fr) minmax(110px, .8fr); gap: 12px; align-items: center; padding: 10px 12px; border: 1px solid #ece2da; border-radius: 8px; background: #fcfaf8; }
.electronic-report-payment-list article > div:first-child,
.electronic-report-payment-list article > div:last-child { display: flex; gap: 6px; align-items: baseline; justify-content: space-between; }
.electronic-report-payment-list article span { color: #657084; font-size: 11px; }
.electronic-report-payment-bar { height: 9px; overflow: hidden; border-radius: 999px; background: #e7ebef; }
.electronic-report-payment-bar i { display: block; min-width: 2px; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#8b5a3c,#c28a63); }
.electronic-weekday-chart { display: grid; gap: 7px; }
.electronic-weekday-chart article { display: grid; grid-template-columns: 58px minmax(90px,1fr) 118px; gap: 3px 10px; align-items: center; padding: 8px 10px; border: 1px solid #e1e5ea; border-radius: 8px; background: #fbfcfd; }
.electronic-weekday-chart article > strong { grid-row: 1 / span 2; color: #344054; font-size: 13px; white-space: nowrap; }
.electronic-weekday-chart article > strong small { display: block; width: fit-content; margin-top: 2px; padding: 1px 5px; border-radius: 999px; background: #fff0c7; color: #8b5a00; font-size: 8px; }
.electronic-weekday-chart article > b { color: #263445; font-size: 12px; text-align: right; white-space: nowrap; }
.electronic-weekday-chart article > span { grid-column: 2 / 4; color: #748093; font-size: 9px; white-space: nowrap; }
.electronic-weekday-chart article.is-best { border-color: #ddb96f; background: #fffaf0; }
.electronic-weekday-bar { height: 11px; overflow: hidden; border-radius: 999px; background: #e7ebef; }
.electronic-weekday-bar i { display: block; min-width: 2px; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#a56b42,#e0a35f); }
.electronic-weekday-chart article.is-best .electronic-weekday-bar i { background: linear-gradient(90deg,#d18b18,#f2bd4f); }
.electronic-report-compact-table { min-width: 560px !important; }
.electronic-report-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.electronic-report-section-heading h2 { margin: 0 0 4px; }
.electronic-report-section-heading p,
.electronic-report-footnote { margin: 0; color: #657084; font-size: 12px; line-height: 1.65; }
.electronic-report-staff-table { min-width: 860px !important; }
.electronic-report-staff-table th:not(:first-child),
.electronic-report-staff-table td:not(:first-child) { text-align: right; white-space: nowrap; }
.electronic-report-staff-table td:last-child small { display: block; margin-top: 2px; color: #7b8494; font-size: 10px; }
.electronic-report-staff-panel .electronic-report-footnote,
.electronic-report-hourly-panel .electronic-report-footnote { margin-top: 10px; }
.electronic-report-hourly-list { display: grid; gap: 8px; overflow-x: auto; }
.electronic-report-hourly-list article { display: grid; grid-template-columns: 125px minmax(140px,1fr) 150px 160px 140px 140px; gap: 12px; align-items: center; min-width: 920px; padding: 9px 10px; border: 1px solid #e7ded6; border-radius: 10px; background: #fff; }
.electronic-report-hourly-list article > strong { white-space: nowrap; }
.electronic-report-hourly-list article > strong small { display: block; width: fit-content; margin-top: 3px; padding: 2px 6px; border-radius: 999px; background: #fff0cf; color: #8b5600; font-size: 9px; }
.electronic-report-hourly-list article.is-peak-arrival { border-color: #e1b45d; background: #fffaf0; }
.electronic-report-hourly-list article > span { color: #657084; font-size: 12px; white-space: nowrap; }
.electronic-report-hourly-list article > span b { color: #263445; font-size: 13px; }
.electronic-report-hourly-bar { height: 12px; overflow: hidden; border-radius: 999px; background: #e8edf3; }
.electronic-report-hourly-bar i { display: block; min-width: 2px; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#2f80ed,#32c5a4); }
.electronic-report-comparison tbody tr:first-child td { background: #f0faf6; }
.electronic-age-recommendation { display: grid; grid-template-columns: auto minmax(90px,auto) 1fr; gap: 8px 18px; align-items: center; margin-bottom: 12px; padding: 14px 16px; border: 1px solid #c8b4e8; border-left: 5px solid #7c3aed; border-radius: 9px; background: #f8f5ff; }
.electronic-gender-summary { display: grid; gap: 9px; margin-bottom: 12px; padding: 14px 16px; border: 1px solid #d5dbe2; border-radius: 9px; background: #fbfcfe; }
.electronic-gender-summary-heading { display: flex; gap: 14px; align-items: end; justify-content: space-between; }
.electronic-gender-summary-heading span { display: block; color: #263445; font-weight: 900; }
.electronic-gender-summary-heading small { color: #718096; font-size: 10px; }
.electronic-gender-summary-heading strong { color: #34445a; font-size: 17px; white-space: nowrap; }
.electronic-gender-ratio-bar { display: flex; width: 100%; height: 12px; overflow: hidden; border-radius: 999px; background: #e5e7eb; }
.electronic-gender-ratio-bar i { display: block; height: 100%; }
.electronic-gender-ratio-bar .is-male { background: #4389d8; }
.electronic-gender-ratio-bar .is-female { background: #df7fa3; }
.electronic-gender-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.electronic-gender-metrics article { min-width: 0; padding: 9px 11px; border-left: 4px solid #4389d8; border-radius: 6px; background: #edf5ff; }
.electronic-gender-metrics article.is-female { border-left-color: #df7fa3; background: #fff1f6; }
.electronic-gender-metrics article.is-unknown { border-left-color: #9ca3af; background: #f3f4f6; }
.electronic-gender-metrics span,.electronic-gender-metrics strong,.electronic-gender-metrics small { display: block; }
.electronic-gender-metrics span { color: #697386; font-size: 10px; font-weight: 900; }
.electronic-gender-metrics strong { margin-top: 2px; color: #263445; font-size: 16px; }
.electronic-gender-metrics small { overflow: hidden; margin-top: 2px; color: #657084; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.electronic-age-recommendation span { color: #69527e; font-size: 12px; font-weight: 900; }
.electronic-age-recommendation strong { color: #5b21b6; font-size: 22px; white-space: nowrap; }
.electronic-age-recommendation p { margin: 0; color: #4b5563; font-size: 12px; line-height: 1.6; }
.electronic-age-table { min-width: 1040px !important; }
.electronic-age-table th:not(:first-child),.electronic-age-table td:not(:first-child) { text-align: right; white-space: nowrap; }
.electronic-age-table td small { display: block; margin-top: 2px; color: #7b8494; font-size: 10px; }
.electronic-age-table tr.is-primary-target td { background: #f4efff !important; }
.electronic-age-strategy { display: inline-flex; padding: 4px 8px; border-radius: 999px; background: #edf1f5; color: #4b5563; font-size: 11px; font-weight: 900; }
.electronic-age-strategy.is-最優先 { background: #ede4ff; color: #5b21b6; }
.electronic-age-strategy.is-新規獲得 { background: #e2f4ff; color: #075985; }
.electronic-age-strategy.is-再来店強化 { background: #fff1d7; color: #925b00; }
.electronic-age-gender-cell { min-width: 185px; white-space: normal !important; }
.electronic-age-gender-cell > span { display: inline-grid; margin: 2px 4px 2px 0; padding: 4px 7px; border-radius: 6px; background: #edf4ff; color: #315b8a; font-size: 11px; font-weight: 900; text-align: left; }
.electronic-age-gender-cell > span.is-female { background: #fff0f5; color: #9d3d63; }
.electronic-age-gender-cell > span.is-unknown { background: #f0f1f3; color: #646b74; }
.electronic-age-analysis .electronic-report-footnote { margin-top: 10px; }
.electronic-sales-update-message { margin: 0; padding: 10px 12px; border: 1px solid; border-radius: 6px; font-weight: 800; }
.electronic-sales-update-message.is-success { border-color: #9acdb5; background: #effaf4; color: #176b3a; }
.electronic-sales-update-message.is-error { border-color: #efb0aa; background: #fff2f1; color: #9d1c15; }
.electronic-sales-customer-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 4px 0; padding: 12px; border: 1px solid #d7c5b8; border-radius: 8px; background: #fffaf7; }
.electronic-sales-customer-fields legend { padding: 0 6px; color: #70472f; font-weight: 900; }
.electronic-sales-customer-fields label { min-width: 0; }
@media (max-width: 600px) { .electronic-sales-customer-fields { grid-template-columns: 1fr; } }
.electronic-sales-chart-panel { width: 100%; min-width: 0; padding: 18px; }
.electronic-sales-chart-heading { display: flex; gap: 16px; align-items: flex-start; justify-content: space-between; margin-bottom: 10px; }
.electronic-sales-chart-heading h2 { margin: 0; }
.electronic-sales-chart-heading p { margin: 4px 0 0; color: #657084; font-size: 12px; }
.electronic-sales-chart-legend { display: flex; flex-wrap: wrap; gap: 8px 14px; justify-content: flex-end; }
.electronic-sales-chart-legend span { display: inline-flex; gap: 6px; align-items: center; color: #4d5968; font-size: 12px; font-weight: 800; }
.electronic-sales-chart-legend span::before { content: ""; width: 22px; height: 4px; border-radius: 999px; background: currentColor; }
.electronic-sales-chart-legend .is-current { color: #176bda; }
.electronic-sales-chart-legend .is-previous { color: #e58a16; }
.electronic-sales-chart-legend .is-average { color: #7b61c9; }
.electronic-sales-chart-legend .is-moving-average { color: #16856b; }
.electronic-sales-chart-legend .is-previous-average { color: #c2410c; }
.electronic-sales-chart-wrap { width: 100%; min-width: 0; overflow-x: auto; }
.electronic-sales-chart { display: block; width: 100%; min-width: 760px; height: auto; overflow: visible; }
.electronic-sales-chart .chart-grid-line { stroke: #d9dee5; stroke-width: 1; }
.electronic-sales-chart .chart-axis-label { fill: #657084; font-size: 11px; font-weight: 700; }
.electronic-sales-chart .chart-series { fill: none; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.electronic-sales-chart .chart-series.is-current { stroke: #075fc7; stroke-width: 5; opacity: 1; }
.electronic-sales-chart .chart-series.is-previous { stroke: #e58a16; opacity: .28; }
.electronic-sales-chart .chart-series.is-average { stroke: #7b61c9; stroke-dasharray: 7 5; opacity: .28; }
.electronic-sales-chart .chart-series.is-moving-average { stroke: #16856b; stroke-width: 3; opacity: .32; }
.electronic-sales-chart .chart-series.is-previous-average { stroke: #c2410c; stroke-width: 2.5; stroke-dasharray: 12 6; opacity: .9; }
.electronic-sales-chart .chart-current-point { fill: #fff; stroke: #176bda; stroke-width: 2; vector-effect: non-scaling-stroke; }
.electronic-sales-chart .chart-day-label { font-size: 9px; }
.electronic-sales-chart .chart-day-label.is-friday { fill: #b56a00; font-weight: 900; }
.electronic-sales-chart .chart-day-label.is-saturday { fill: #176bda; font-weight: 900; }
.electronic-sales-chart .chart-day-label.is-sunday { fill: #c73737; font-weight: 900; }
.electronic-sales-chart .chart-weekday-label { font-size: 7px; }
.electronic-sales-chart .chart-closed-marker-bg { fill: #b94a48; }
.electronic-sales-chart .chart-closed-marker { fill: #fff; font-size: 8px; font-weight: 900; }
.electronic-sales-chart-panel > .electronic-daily-note { margin: 8px 0 0; }
.electronic-payment-summary-panel { display: flex; width: 100%; min-width: 0; flex-direction: column; }
.electronic-payment-summaries { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.electronic-payment-summaries article { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 5px 10px; align-items: end; padding: 13px 14px; border: 1px solid #d5dbe2; border-radius: 7px; background: #f8fafc; }
.electronic-payment-summaries span { color: #596579; font-size: 12px; font-weight: 900; }
.electronic-payment-summaries strong { grid-row: 2; grid-column: 1; color: #243041; font-size: 20px; white-space: nowrap; }
.electronic-payment-summaries small { grid-row: 2; grid-column: 2; color: #657084; font-weight: 800; white-space: nowrap; }
.electronic-ranking-heading { display: flex; gap: 12px; align-items: end; justify-content: space-between; margin-bottom: 12px; }
.electronic-ranking-heading h2 { margin: 0; }
.electronic-ranking-heading p { margin: 3px 0 0; color: #657084; font-size: 12px; font-weight: 800; }
.electronic-ranking-heading form { display: flex; gap: 8px; align-items: end; }
.electronic-ranking-heading label { display: grid; gap: 4px; min-width: 130px; font-size: 11px; font-weight: 800; }
.electronic-ranking-more { margin-top: 10px; border: 1px solid #d5dbe2; border-radius: 6px; overflow: hidden; }
.electronic-ranking-more > summary { padding: 11px 14px; background: #f3f6f9; color: #374151; font-weight: 900; cursor: pointer; }
.electronic-ranking-more .electronic-daily-table-wrap { border-top: 1px solid #d5dbe2; }
.electronic-ranking-more .settings-table { border: 0; border-radius: 0; }
.electronic-sales-edit-dialog { width: min(520px, calc(100vw - 24px)); padding: 0; border: 0; border-radius: 10px; box-shadow: 0 20px 55px rgba(20, 28, 35, .3); }
.electronic-sales-edit-dialog::backdrop { background: rgba(20, 28, 35, .58); }
.electronic-sales-edit-dialog > form { display: grid; gap: 12px; padding: 20px; }
.electronic-sales-edit-dialog h3,
.electronic-sales-edit-dialog p { margin: 0; }
.electronic-sales-edit-dialog label { display: grid; gap: 5px; text-align: left; font-weight: 800; }
.electronic-sales-edit-warning { padding: 9px 10px; border-radius: 6px; background: #fff7e8; color: #7b5410; font-size: 12px; line-height: 1.55; }
.electronic-sales-edit-actions { display: flex; gap: 10px; justify-content: flex-end; }
.electronic-daily-table-wrap { width: 100%; min-width: 0; overflow-x: auto; }
.electronic-daily-sales .settings-table { width: 100%; min-width: 720px; }
.electronic-daily-sales .settings-table th { white-space: nowrap; }
.electronic-daily-sales .settings-table td { vertical-align: top; }
.electronic-daily-sales .settings-table td:not(.electronic-sales-item-cell) { white-space: nowrap; }
.electronic-daily-sales .settings-table td small { display: block; margin-top: 3px; color: #657084; }
.electronic-daily-sales .settings-table .is-top-product td { background: #f0faf6; }
.electronic-ranking-table th:nth-child(1),
.electronic-ranking-table td:nth-child(1) { width: 70px; text-align: center; }
.electronic-ranking-table th:nth-child(n+3),
.electronic-ranking-table td:nth-child(n+3) { width: 120px; text-align: right; }
.electronic-sales-item-cell { min-width: 210px; max-width: 340px; white-space: normal; }
.electronic-sales-item-cell ul { display: grid; gap: 3px; margin: 0; padding: 0; list-style: none; }
.electronic-sales-item-cell li { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.electronic-sales-item-cell details { margin-top: 5px; }
.electronic-sales-item-cell summary { width: fit-content; color: #176bda; font-size: 11px; font-weight: 900; cursor: pointer; white-space: nowrap; }
.electronic-sales-item-cell details ul { margin-top: 5px; padding-top: 5px; border-top: 1px dashed #c7cdd3; }
.electronic-settled-sales-heading { display: flex; gap: 12px; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.electronic-settled-sales-heading h2 { margin: 0; }
.electronic-top-product-label { display: inline-flex; margin-left: 8px; padding: 2px 7px; border-radius: 999px; background: #dcfce7; color: #166534; font-size: 11px; font-weight: 900; }
@media (max-width: 860px) {
  .electronic-report-kpis,
  .electronic-report-insight-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .electronic-report-two-column { grid-template-columns: 1fr; }
  .electronic-daily-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .electronic-daily-filter label { min-width: min(100%, 180px); flex: 1 1 180px; }
  .electronic-payment-summaries { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
  .electronic-report-kpis,
  .electronic-report-insight-grid { grid-template-columns: 1fr; }
  .electronic-report-payment-list article { grid-template-columns: minmax(85px, .8fr) minmax(90px, 1fr); }
  .electronic-report-payment-list article > div:last-child { grid-column: 1 / -1; }
  .electronic-daily-metrics { grid-template-columns: 1fr; }
  .electronic-sales-chart-heading { align-items: stretch; flex-direction: column; }
  .electronic-sales-chart-legend { justify-content: flex-start; }
  .electronic-payment-summaries { grid-template-columns: 1fr; }
  .electronic-ranking-heading { align-items: stretch; flex-direction: column; }
  .electronic-ranking-heading form,
  .electronic-ranking-heading label { width: 100%; }
  .electronic-settled-sales-heading { align-items: stretch; flex-direction: column; }
  .electronic-age-recommendation { grid-template-columns: 1fr; gap: 4px; }
  .electronic-gender-summary-heading { align-items: flex-start; flex-direction: column; gap: 5px; }
  .electronic-gender-summary-heading strong { font-size: 15px; white-space: normal; }
  .electronic-gender-metrics { grid-template-columns: 1fr; }
}
.shopping-shell { display: flex; flex-direction: column; }
html:has(body.theme-store .shopping-shell),
body.theme-store:has(.shopping-shell) {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}
body.theme-store:has(.shopping-shell) .app-shell {
  position: relative;
  width: 100%;
  min-width: 0;
  max-width: 100vw;
}
@media (min-width: 861px) {
  body.theme-store:has(.shopping-shell) .sidebar {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    width: var(--sidebar-width);
    height: 100vh;
    height: 100dvh;
    min-height: 0;
    overflow: visible;
  }
  body.theme-store:has(.shopping-shell) .main {
    grid-column: 2;
  }
  body.theme-store:has(.shopping-shell) .app-shell::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 0;
    bottom: 0;
    left: 0;
    width: var(--sidebar-width);
    border-right: 1px solid var(--theme-primary-strong);
    background-color: var(--theme-navigation);
    background-image:
      linear-gradient(rgba(35, 22, 15, .18), rgba(35, 22, 15, .18)),
      url("./store-sidebar-walnut.png");
    background-position: center top;
    background-size: var(--sidebar-width) auto;
    background-repeat: repeat-y;
    pointer-events: none;
  }
}
body.theme-store .main:has(.shopping-shell),
body.theme-store .shopping-shell,
body.theme-store .shopping-shell > * {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}
body.theme-store .main:has(.shopping-shell) { overflow-x: clip; }
.shopping-top-actions { justify-content: space-between; width: 100%; }
.shopping-tools-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin-bottom: 8px; }
.shopping-tools-grid .settings-panel { min-width: 0; margin-bottom: 0; padding-top: 10px; padding-bottom: 10px; }
.shopping-tools-grid:has(> .shopping-manual-registration:only-child) { grid-template-columns: minmax(0, 1fr); }
.shopping-manual-registration h2 { margin-bottom: 8px; }
.shopping-manual-section-title {
  margin: 12px 0 9px;
  padding: 8px 11px;
  border-left: 4px solid var(--theme-primary);
  border-radius: 0 7px 7px 0;
  background: var(--theme-primary-light);
  color: var(--theme-primary);
  font-size: 15px;
  font-weight: 900;
  line-height: 1.35;
}
.shopping-manual-section-title + .muted { margin: -3px 0 8px; }
.shopping-new-item-accordion { margin-top: 12px; border: 0; }
.shopping-new-item-accordion > summary {
  padding: 8px 32px 8px 11px;
  border-left: 4px solid var(--theme-primary);
  border-radius: 0 7px 7px 0;
  background: var(--theme-primary-light);
  color: var(--theme-primary);
  font-size: 15px;
  font-weight: 900;
  line-height: 1.35;
  cursor: pointer;
}
.shopping-new-item-accordion[open] > summary { margin-bottom: 9px; }
.shopping-new-item-body { padding: 0 2px 2px; }
.shopping-new-item-body > .muted { margin: 0 0 8px; }
.shopping-manual-registration-form {
  display: grid;
  grid-template-columns: minmax(240px, 2fr) minmax(150px, 1fr) auto;
  gap: 10px;
  align-items: end;
}
.shopping-manual-registration-form label { display: grid; gap: 4px; margin: 0; font-weight: 800; }
.shopping-manual-registration-form input,
.shopping-manual-registration-form select { font-weight: 500; }
.shopping-manual-registration-form .actions { margin: 0; }
.shopping-manual-registration-form .button { width: auto; min-width: 88px; }
.shopping-new-item-form {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px 10px;
  padding-top: 10px;
  border-top: 1px solid var(--theme-divider);
}
.shopping-new-item-form label { display: grid; gap: 4px; margin: 0; font-weight: 800; }
.shopping-new-item-form input,
.shopping-new-item-form select { font-weight: 500; }
.shopping-new-item-locations {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 12px;
  min-width: 0;
  margin: 0;
  padding: 7px 9px;
  border: 1px solid var(--theme-divider);
  border-radius: 7px;
}
.shopping-new-item-locations legend { padding: 0 4px; font-weight: 800; }
.shopping-new-item-locations label { display: inline-flex; align-items: center; gap: 4px; font-weight: 500; }
.shopping-new-item-locations input[type="checkbox"] { width: 1rem; min-width: 1rem; height: 1rem; min-height: 1rem; margin: 0; padding: 0; }
.shopping-new-item-form .actions { grid-column: 1 / -1; justify-content: flex-end; margin: 0; }
.shopping-new-item-form .button { width: auto; }
.shopping-master-autocomplete { position: relative; }
.shopping-master-suggestions {
  position: absolute;
  z-index: 40;
  top: 100%;
  left: 0;
  right: 0;
  max-height: 260px;
  margin-top: 4px;
  padding: 5px;
  overflow-y: auto;
  border: 1px solid var(--theme-primary-border);
  border-radius: 8px;
  background: var(--theme-surface);
  box-shadow: 0 12px 28px rgba(74,48,34,.18);
}
.shopping-master-suggestions[hidden] { display: none; }
.shopping-master-suggestions button {
  display: block;
  width: 100%;
  min-height: 34px;
  padding: 6px 10px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--theme-text);
  text-align: left;
  font: inherit;
  cursor: pointer;
}
.shopping-master-suggestions button[hidden] { display: none; }
body.theme-store .shopping-master-suggestions button:hover,
body.theme-store .shopping-master-suggestions button:focus {
  background: var(--theme-primary-light);
  color: var(--theme-primary);
  outline: none;
  transform: none;
}
@media (max-width: 700px) {
  .shopping-manual-registration-form { grid-template-columns: 1fr; }
  .shopping-manual-registration-form .button { width: 100%; }
  .shopping-new-item-form { grid-template-columns: 1fr; }
  .shopping-new-item-form .actions { grid-column: auto; }
  .shopping-new-item-form .button { width: 100%; }
}

/* Website list accordion and temporarily hidden staging URL fields. */
.website-company-card.is-collapsible { gap: 8px; }
.website-company-card.is-collapsible > header h3 a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  cursor: pointer;
}
.website-company-card.is-collapsible > header h3 a::before {
  content: "›";
  color: #64748b;
  font-size: 1.35em;
  line-height: 1;
  transition: transform .16s ease;
}
.website-company-card.is-open > header h3 a::before { transform: rotate(90deg); }
.website-company-card.is-collapsible > header h3 a::before { display: none; content: none; }
.website-company-info-grid[hidden] { display: none !important; }
.website-company-info-grid .is-wordpress dl > div:nth-child(4),
.website-detail-view .website-editor-group.is-wordpress dl > div:nth-child(4),
.website-corporate-details > div:nth-child(3),
.website-editor-form .website-editor-group.is-wordpress > label:nth-of-type(4) {
  display: none !important;
}
.shopping-list-section { order: 1; margin-bottom: 16px; }
.shopping-list-bulk-form { order: 1; margin: 0; }
.shopping-list-bulk-form > .shopping-list-section { margin-bottom: 16px; }
.shopping-list-heading { margin: 0 0 8px; color: #2f3439; font-size: 16px; }
.shopping-list-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.shopping-completed-limit label { display: flex; align-items: center; gap: 6px; color: var(--muted); font-size: 12px; font-weight: 700; white-space: nowrap; }
.shopping-completed-limit select { width: auto; min-height: 32px; padding: 4px 28px 4px 8px; }
.shopping-accordion { order: 0; }
.shopping-accordion summary { cursor: pointer; color: #374151; font-size: 15px; font-weight: 800; }
.shopping-accordion[open] summary { margin-bottom: 12px; }
.shopping-inbox-accordion[open] { grid-column: 1 / -1; }
.shopping-bottom-tools { order: 2; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.shopping-bottom-tools > .settings-panel { min-width: 0; margin-bottom: 0; }
.shopping-bottom-tool-link { display: flex; align-items: center; justify-content: space-between; min-width: 0; margin-bottom: 0; color: #374151; font-size: 15px; font-weight: 800; text-decoration: none; }
.shopping-bottom-tool-link:hover { color: var(--theme-primary); text-decoration: none; }
.shopping-bottom-tools .shopping-inbox-accordion[open] { grid-column: 1 / -1; }
@media (max-width: 760px) { .shopping-bottom-tools { grid-template-columns: minmax(0, 1fr); } }
.shopping-row-completed td,
.settings-table tbody .shopping-row-completed:nth-child(even) td { background: #f3f4f6; color: #6b7280; }
.preparation-name-link { color: var(--theme-heading); font-weight: 800; text-decoration: none; }
.preparation-name-link:hover { color: var(--theme-primary); text-decoration: underline; }
.shopping-date-divider td { border-top: 3px solid var(--blue); }
.inventory-master-tools { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.inventory-master-tools summary { cursor: pointer; font-weight: 800; }
.inventory-classification-rules-link,
.inventory-operation-logs-link { display: flex; align-items: flex-start; min-height: 42px; color: var(--theme-heading); font-weight: 800; text-decoration: none; }
.inventory-classification-rules-link::before,
.inventory-operation-logs-link::before { margin-right: 10px; color: var(--theme-primary); }
.inventory-classification-rules-link::before { content: "⚙"; }
.inventory-operation-logs-link::before { content: "◷"; }
.inventory-classification-rules-link:hover,
.inventory-operation-logs-link:hover { color: var(--theme-primary); text-decoration: none; }
.inventory-form label { font-weight: 800; }
.inventory-form input, .inventory-form select, .inventory-form textarea { font-weight: 400; }
.inventory-editor-panel {
  --inventory-editor-border: #bfa694;
  --inventory-editor-radius: 7px;
  --inventory-editor-height: 40px;
  border-color: #ccb3a1;
  background: #f3eae3;
  box-shadow: 0 10px 24px rgba(91, 58, 40, .12);
}
.inventory-editor-panel > summary {
  color: var(--theme-primary);
  font-size: 16px;
  font-weight: 800;
}
.inventory-editor-panel[open] > summary {
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(138, 90, 59, .2);
}
.inventory-editor-panel > h2 {
  margin: 0 0 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(138, 90, 59, .2);
  color: var(--theme-primary);
}
.inventory-editor-form { display: grid; gap: 16px; }
.inventory-editor-form > label { display: grid; gap: 6px; margin: 0; color: var(--theme-primary); font-size: 13px; font-weight: 800; line-height: 1.45; }
.inventory-editor-form > label:has(> input[type="checkbox"]) {
  display: inline-flex;
  align-items: center;
  justify-self: start;
  min-height: 38px;
  padding: 7px 12px;
  border: 1px solid var(--inventory-editor-border);
  border-radius: var(--inventory-editor-radius);
  background: #fff;
  color: var(--theme-text);
  cursor: pointer;
}
.inventory-editor-form > label:has(> input[type="checkbox"]):has(input:checked) {
  border-color: var(--theme-primary);
  background: var(--theme-primary);
  color: #fff;
}
.inventory-editor-form :is(input:not([type="hidden"]):not([type="checkbox"]), select, textarea) {
  min-height: var(--inventory-editor-height);
  border-color: var(--inventory-editor-border);
  border-radius: var(--inventory-editor-radius);
  background-color: #fff;
  color: var(--theme-text);
  box-shadow: 0 1px 2px rgba(91, 58, 40, .06);
}
.inventory-editor-form :is(input, select, textarea):hover { border-color: #b99174; }
.inventory-editor-form :is(input, select, textarea):focus { border-color: #8a5a3b; box-shadow: 0 0 0 3px rgba(138, 90, 59, .14); }
.inventory-editor-form .inventory-multi-select {
  gap: 8px;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.inventory-editor-form .inventory-multi-select legend {
  margin-bottom: 8px;
  padding: 0;
  color: var(--theme-primary);
  font-size: 13px;
  font-weight: 800;
}
.inventory-editor-form .inventory-multi-select > label {
  display: inline-flex;
  align-items: center;
  width: auto;
  min-height: 36px;
  margin: 0;
  padding: 7px 12px;
  border: 1px solid var(--inventory-editor-border);
  border-radius: var(--inventory-editor-radius);
  background: #fff;
  color: var(--theme-text);
  cursor: pointer;
}
.inventory-editor-form .inventory-multi-select > label:has(input:checked) {
  border-color: var(--theme-primary);
  background: var(--theme-primary);
  color: #fff;
}
.inventory-editor-form :is(input[type="checkbox"], input[type="radio"]) {
  width: 16px;
  min-width: 16px;
  height: 16px;
  min-height: 16px;
  margin: 0;
  padding: 0;
}
.inventory-editor-form .inventory-field-management { margin-top: -12px; }
.inventory-save-actions { justify-content: center; gap: 10px; min-height: 42px; }
body.theme-store .inventory-editor-panel .inventory-save-button {
  min-width: 140px;
  border-color: var(--color-success) !important;
  border-radius: var(--inventory-editor-radius);
  background: var(--color-success) !important;
  color: #fff !important;
}
body.theme-store .inventory-editor-panel .inventory-save-button:hover:not(:disabled) {
  border-color: #166534 !important;
  background: #15803d !important;
  color: #fff !important;
}
body.theme-store .inventory-editor-panel [data-inventory-edit-unlock] {
  border-color: var(--color-danger) !important;
  background: var(--color-danger) !important;
  color: #fff !important;
}
body.theme-store .inventory-editor-panel [data-inventory-edit-unlock]:hover,
body.theme-store .inventory-editor-panel [data-inventory-edit-unlock]:focus-visible {
  border-color: #b91c1c !important;
  background: #b91c1c !important;
  color: #fff !important;
}
.inventory-field-management { margin-top: -8px; text-align: right; }
.inventory-field-management a { color: var(--muted); font-size: 11px; font-weight: 700; text-decoration: none; }
.inventory-field-management a:hover { color: var(--blue); text-decoration: underline; }
body:has(#registered-products) .main { overflow-x: clip; }
body:has(#registered-products) .settings-shell { overflow: visible; }
.inventory-product-group + .inventory-product-group { margin-top: 1.5rem; }
.inventory-product-group[hidden],
[data-inventory-product-row][hidden] { display: none !important; }
.inventory-product-group > h3 { margin: 0 0 .5rem; color: var(--theme-heading); }
.inventory-product-group > .muted { margin: 0; padding: .75rem 0; }
.inventory-product-table-wrap { width: 100%; overflow: visible; }
.inventory-product-table-wrap .settings-table { width: 100%; min-width: 0; table-layout: fixed; overflow: visible; }
.inventory-product-table-wrap .settings-table th,
.inventory-product-table-wrap .settings-table td {
  padding: 5px 4px;
  font-size: 11px;
  line-height: 1.25;
  text-align: center;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.inventory-product-table-wrap .settings-table th {
  position: sticky;
  top: 0;
  z-index: 6;
  background: #fff;
  box-shadow: 0 2px 0 rgba(199, 205, 211, .85);
  font-size: 10px;
}
.inventory-product-table-wrap .settings-table th:first-child { width: 48px; }
.inventory-product-table-wrap .settings-table th:last-child { width: 92px; }
.inventory-product-table-wrap .button.small { min-height: 28px; padding: 3px 5px; font-size: 10px; }
.inventory-product-table-wrap .inventory-item-actions,
.inventory-product-table-wrap .inventory-item-primary-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 100%;
  flex-wrap: nowrap;
}
.inventory-product-table-wrap .inventory-item-primary-actions > form {
  display: contents;
  margin: 0;
}
.inventory-product-table-wrap .inventory-item-primary-actions .button.small {
  width: auto;
  min-width: 38px;
  min-height: 26px;
  padding: 2px 4px;
  white-space: nowrap;
}
@media (max-width: 860px) {
  body.theme-store #registered-products .inventory-product-table-wrap .settings-table :is(th, td):nth-child(1) { width: 5%; }
  body.theme-store #registered-products .inventory-product-table-wrap .settings-table :is(th, td):nth-child(2) { width: 32%; }
  body.theme-store #registered-products .inventory-product-table-wrap .settings-table :is(th, td):nth-child(3) { width: 13%; }
  body.theme-store #registered-products .inventory-product-table-wrap .settings-table :is(th, td):nth-child(4) { width: 11%; }
  body.theme-store #registered-products .inventory-product-table-wrap .settings-table :is(th, td):nth-child(5) { width: 7%; }
  body.theme-store #registered-products .inventory-product-table-wrap .settings-table :is(th, td):nth-child(6) { width: 7%; }
  body.theme-store #registered-products .inventory-product-table-wrap .settings-table :is(th, td):nth-child(7) { width: 6%; }
  body.theme-store #registered-products .inventory-product-table-wrap .settings-table :is(th, td):nth-child(8) { width: 7%; }
  body.theme-store #registered-products .inventory-product-table-wrap .settings-table :is(th, td):nth-child(9) { width: 12%; }
  body.theme-store #registered-products .inventory-product-table-wrap .settings-table td.store-product-name {
    text-align: left;
    white-space: normal;
    overflow: visible;
    overflow-wrap: anywhere;
    word-break: normal;
  }
}
.inventory-multi-select { display: flex; flex-wrap: wrap; gap: 8px 14px; margin: 0; padding: 10px; border: 1px solid var(--line); border-radius: 6px; }
.inventory-multi-select legend { padding: 0 4px; font-weight: 800; }
.inventory-form .inventory-multi-select label { display: inline-flex; align-items: center; gap: 5px; font-weight: 400; }
.inventory-multi-select input { width: 16px; min-height: 16px; margin: 0; }
.inventory-value-unset { display: inline-block; padding: 2px 6px; border-radius: 4px; background: #f3f4f6; color: #9ca3af; font-size: 12px; }
.inventory-value-unreported { display: inline-block; padding: 2px 6px; border-radius: 4px; background: #f3f4f6; color: #9ca3af; font-size: 12px; }
.inventory-inline-trigger.is-unset { color: #b91c1c; border-color: #fecaca; background: #fef2f2; }
body.theme-store #registered-products .inventory-inline-trigger.is-unset,
body.theme-store #registered-products .inventory-inline-trigger.is-unset:disabled {
  border-color: #fecaca;
  background: #fef2f2;
  color: #b91c1c;
  opacity: 1;
  -webkit-text-fill-color: #b91c1c;
}
body.theme-store #registered-products td:is([data-label="ふりがな"], [data-label="別名"]) .inventory-inline-trigger.is-unset,
body.theme-store #registered-products td:is([data-label="ふりがな"], [data-label="別名"]) .inventory-inline-trigger.is-unset:disabled {
  border-color: var(--line);
  background: var(--card);
  color: var(--theme-muted);
  opacity: 1;
  -webkit-text-fill-color: var(--theme-muted);
}
body.theme-store .inventory-value-unset { color: #b91c1c; border-color: #fecaca; background: #fef2f2; }
.store-dashboard-secondary { margin-top: 18px; padding-top: 18px; border-top: 2px solid var(--line); }
@media (min-width: 861px) {
  body.theme-store .main { padding-right: 56px; padding-left: 56px; }
  body.theme-development .main { padding-right: 56px; padding-left: 56px; }
  body.theme-development:has(.kanban-shell) .main { padding: 16px 18px 22px; }
  .super-app-shell .main { padding-right: 56px; padding-left: 56px; }
}
body.theme-development:has(.kanban-shell) { max-width: 100%; overflow-x: hidden; }
body.theme-development:has(.kanban-shell) .app-shell { width: 100%; max-width: 100%; overflow-x: clip; }
body.theme-development:has(.kanban-shell) .topbar { margin-bottom: 12px; }
body.theme-development:has(.kanban-shell) .topbar h1 { font-size: 20px; }
@media (max-width: 860px) {
  .super-app-shell .main { padding: 18px 16px; }
}
@media (max-width: 900px) {
  body.theme-development .main { padding-right: 16px; padding-left: 16px; }
}
.store-business-dashboard-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.store-dashboard-switcher{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:4px}.store-dashboard-switcher a{padding:10px 16px;border:1px solid var(--theme-divider-strong);border-radius:999px;background:#fff;color:var(--theme-heading);font-weight:900;text-decoration:none}.store-dashboard-switcher a.active{border-color:var(--theme-primary);background:var(--theme-primary);color:#fff}
.store-dashboard-title-switcher{flex:0 0 auto;margin:0}.store-dashboard-title-switcher a{padding:7px 13px;font-size:13px}
html:has(body.theme-store .store-business-dashboard) { max-width: 100%; overflow-x: hidden; }
body.theme-store:has(.store-business-dashboard) { overflow-x: hidden; }
body.theme-store:has(.store-business-dashboard) .app-shell {
  width: 100%;
  min-width: 0;
  max-width: 100vw;
  overflow: visible;
}
body.theme-store:has(.store-business-dashboard) .main {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow-x: hidden;
}
@media (min-width: 861px) {
  body.theme-store:has(.store-business-dashboard) .sidebar {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    width: var(--sidebar-width);
    height: 100vh;
    height: 100dvh;
    min-height: 0;
    overflow: visible;
  }
  body.theme-store:has(.store-business-dashboard) .main {
    grid-column: 2;
  }
}
body.theme-store .store-business-dashboard {
  --store-dashboard-neutral-border: var(--theme-divider-strong);
  --store-dashboard-neutral-header: var(--theme-primary);
  --store-dashboard-neutral-cell: var(--theme-surface);
  --store-dashboard-neutral-hover: var(--theme-primary-light);
  display: grid;
  gap: 24px;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow-x: clip;
}

body.theme-store .store-dashboard-announcement {
  display: flex;
  min-width: 0;
  margin: 0;
  padding: 7px 12px;
  gap: 8px;
  align-items: center;
  border: 1px solid #e8c66a;
  border-left: 4px solid #d69a00;
  border-radius: 8px;
  background: #fff9e8;
  color: #5c4300;
  box-shadow: 0 3px 10px rgba(92, 67, 0, .08);
  font-size: 13px;
  line-height: 1.35;
}

body.theme-store .store-dashboard-announcement-icon {
  display: inline-grid;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  place-items: center;
  border-radius: 50%;
  background: #d69a00;
  color: #fff;
  font-size: 13px;
  font-weight: 900;
}

body.theme-store .store-dashboard-announcement > strong {
  flex: 0 0 auto;
  color: #6b4d00;
  font-size: 13px;
  white-space: nowrap;
}

body.theme-store .store-dashboard-announcement > div {
  display: flex;
  min-width: 0;
  gap: 6px 14px;
  align-items: center;
  flex-wrap: wrap;
}

body.theme-store .store-dashboard-announcement p {
  margin: 0;
  font-weight: 700;
}
body.theme-store .store-business-dashboard > *,
body.theme-store .store-business-dashboard-grid > * { min-width: 0; max-width: 100%; }
body.theme-store .store-business-dashboard .table-wrap { width: 100%; min-width: 0; max-width: 100%; overflow-x: auto; }
body.theme-store .store-business-dashboard .settings-panel { margin-bottom: 0; padding: 20px 10px; }
body.theme-store .store-business-dashboard > :is(.store-dashboard-todo-panel, .store-dashboard-sales-section, .store-dashboard-recipe-section, .settings-panel) {
  margin-top: 0;
  margin-bottom: 0;
}
body.theme-store .store-business-dashboard .settings-panel {
  border-color: var(--store-dashboard-neutral-border);
  background: var(--theme-table-header);
}
body.theme-store .store-business-dashboard .settings-table th { height: 36px; }
body.theme-store .store-business-dashboard .table th,
body.theme-store .store-business-dashboard .settings-table th {
  border-bottom-color: var(--store-dashboard-neutral-border);
  background: var(--store-dashboard-neutral-header);
  color: var(--theme-on-primary);
}
body.theme-store .store-business-dashboard .table tbody tr td,
body.theme-store .store-business-dashboard .settings-table tbody tr:nth-child(even) td {
  border-bottom-color: var(--store-dashboard-neutral-border);
  background: var(--store-dashboard-neutral-cell);
}
body.theme-store .store-business-dashboard .table tbody tr:hover td {
  background: var(--store-dashboard-neutral-hover);
}
.store-business-dashboard .table th,
.store-business-dashboard .table td { padding-top: 7px; padding-bottom: 7px; }
body.theme-store .store-business-dashboard > .settings-panel,
body.theme-store .store-business-dashboard-grid > .settings-panel,
body.theme-store .store-business-dashboard-grid > form.settings-panel { box-shadow: 0 8px 18px rgba(17, 24, 39, .08); }
.store-dashboard-sales-section { display: grid; gap: 8px; margin-top: 12px; padding-top: 10px; border-top: 2px solid var(--store-dashboard-neutral-border); }
.store-dashboard-sales-section > h2 { margin: 0; }
.store-dashboard-report-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.store-dashboard-report-heading h2 { margin: 0; }
.store-dashboard-report-period { display: flex; align-items: center; gap: 6px; margin: 0; }
.store-dashboard-report-period label { display: flex; align-items: center; gap: 6px; margin: 0; font-size: 12px; font-weight: 800; white-space: nowrap; }
.store-dashboard-report-period input[type="month"] { width: 142px; min-height: 36px; padding: 5px 8px; }
.store-dashboard-report-period .button { display: inline-flex; width: 36px; min-width: 36px; min-height: 36px; align-items: center; justify-content: center; padding: 0; }
.store-dashboard-report-period .is-disabled { opacity: .35; pointer-events: none; }
.store-dashboard-report-period > small { margin-left: 4px; color: var(--theme-muted); font-size: 11px; font-weight: 700; white-space: nowrap; }
.store-dashboard-sales-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.store-dashboard-sales-metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.store-dashboard-todo-panel { position: relative; margin-top: 12px; }
.store-dashboard-manual-work-panel {
  position: absolute;
  z-index: 25;
  top: 52px;
  right: 12px;
  left: 12px;
  max-height: min(420px, calc(100vh - 140px));
  overflow: auto;
  border: 1px solid var(--theme-primary-border);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 20px 50px rgba(17, 24, 39, .24);
}
.store-dashboard-manual-work-panel .shopping-manual-registration-form {
  grid-template-columns: minmax(260px, 2fr) minmax(100px, .65fr) minmax(150px, 1fr) minmax(150px, 1fr) auto;
  min-width: 850px;
  align-items: end;
}
@media (max-width: 700px) {
  .store-dashboard-manual-work-panel .shopping-manual-registration-form {
    grid-template-columns: minmax(260px, 2fr) minmax(100px, .65fr) minmax(150px, 1fr) minmax(150px, 1fr) auto;
  }
  .store-dashboard-manual-work-panel .shopping-manual-registration-form .button { width: auto; }
}
.store-dashboard-review-panel { margin-top: 12px; padding: 0 !important; overflow: hidden; }
.store-dashboard-review-panel > summary { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 10px 14px; color: var(--theme-heading); font-weight: 800; cursor: pointer; list-style: none; }
.store-dashboard-review-panel > summary::-webkit-details-marker { display: none; }
.store-dashboard-review-panel > summary::after { content: "›"; margin-left: 2px; font-size: 22px; line-height: 1; transform: rotate(90deg); transition: transform .18s ease; }
.store-dashboard-review-panel[open] > summary::after { transform: rotate(-90deg); }
.store-dashboard-review-count { margin-left: auto; color: var(--muted); font-size: 12px; font-weight: 800; }
.store-dashboard-review-alert { display: inline-grid; place-items: center; width: 22px; min-width: 22px; height: 22px; border-radius: 50%; background: #dc2626; color: #fff; font-size: 14px; font-weight: 900; box-shadow: 0 0 0 4px rgba(220,38,38,.12); }
.store-dashboard-review-body { padding: 0 14px 14px; border-top: 1px solid var(--store-dashboard-neutral-border); }
.store-dashboard-review-body > .muted { margin: 12px 0; }
.topbar .store-dashboard-review-topbar { position: relative; z-index: 40; margin: 0 auto 0 8px; overflow: visible; }
.topbar .store-dashboard-topbar-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  margin: 0 auto 0 8px;
}
.topbar .store-dashboard-topbar-actions .store-dashboard-review-topbar {
  margin: 0;
}
.store-dashboard-attendance-menu { position: relative; z-index: 45; }
.store-dashboard-primary-actions {
  display: flex;
  align-items: stretch;
  gap: 8px;
}
.store-ubereats-login {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 36px;
  padding: 7px 12px;
  border: 1px solid #000;
  border-radius: 7px;
  background: #000;
  color: #fff !important;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 3px 10px rgba(0,0,0,.18);
}
.store-ubereats-login > span { padding-right: 7px; border-right: 1px solid rgba(255,255,255,.42); font-size: 11px; }
body.theme-store a.store-ubereats-login:is(:hover,:focus-visible) { border-color: #222; background: #222; color: #fff; }
.store-takeout-page{display:grid;gap:18px;max-width:1000px;margin:0 auto}.store-takeout-header{padding:20px 22px;border-radius:14px;background:linear-gradient(135deg,#563824,#825b40);color:#fff}.store-takeout-header span{font-size:.72rem;font-weight:900;letter-spacing:.16em;opacity:.72}.store-takeout-header h1{margin:4px 0 0;color:#fff}.store-takeout-service-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px!important}.store-takeout-service-copy{display:grid;gap:5px}.store-takeout-service-copy strong{font-size:1.25rem}.store-takeout-service-copy p{margin:0;color:var(--muted)}.store-takeout-login-button{min-height:46px;padding-inline:18px}@media(max-width:600px){.store-takeout-service-card{align-items:stretch;flex-direction:column}.store-takeout-login-button{width:100%}}
.attendance-monthly-table td small { display: block; white-space: nowrap; }
.attendance-operation-log-panel { padding: 0 !important; overflow: hidden; }
.attendance-operation-log-panel > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; padding: 12px 16px; cursor: pointer; list-style: none; }
.attendance-operation-log-panel > summary::-webkit-details-marker { display: none; }
.attendance-operation-log-panel > summary::after { content: '＋'; color: var(--theme-primary); font-size: 18px; font-weight: 900; }
.attendance-operation-log-panel[open] > summary::after { content: '−'; }
.attendance-operation-log-panel > summary span { margin-left: auto; color: var(--muted); font-size: 12px; font-weight: 800; }
.attendance-operation-log-body { padding: 0 16px 16px; border-top: 1px solid var(--line); }
.attendance-operation-log-table td:last-child { min-width: 280px; white-space: normal; }
.attendance-operation-action { display: inline-flex; padding: 3px 7px; border-radius: 999px; background: #eef2ff; color: #3730a3; font-size: 11px; font-weight: 900; white-space: nowrap; }
.store-dashboard-attendance-menu > summary,
.store-dashboard-attendance-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 36px;
  padding: 7px 13px;
  border: 1px solid #15803d;
  border-radius: 7px;
  background: #16a34a;
  color: #fff !important;
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  box-shadow: 0 3px 10px rgba(21,128,61,.2);
  list-style: none;
}
.store-dashboard-attendance-menu > summary :is(span, small, svg),
.store-dashboard-attendance-link :is(span, svg) {
  color: #fff !important;
}
.store-dashboard-attendance-menu > summary::-webkit-details-marker { display: none; }
.store-dashboard-attendance-menu > summary:hover,
.store-dashboard-attendance-menu > summary:focus-visible,
.store-dashboard-attendance-menu[open] > summary,
body.theme-store a.store-dashboard-attendance-link:hover { border-color: #166534; background: #15803d; color: #fff; }
.store-dashboard-attendance-menu.is-empty > summary,
.store-dashboard-attendance-menu.is-empty > summary:is(:hover,:focus-visible),
.store-dashboard-attendance-menu.is-empty[open] > summary {
  border-color: #b91c1c;
  background: #dc2626;
  color: #fff;
  box-shadow: 0 0 0 0 rgba(220,38,38,.48);
  animation: store-attendance-empty-alert 1.15s ease-in-out infinite;
}
@keyframes store-attendance-empty-alert {
  0%,100% { background: #dc2626; box-shadow: 0 0 0 0 rgba(220,38,38,.42); }
  50% { background: #991b1b; box-shadow: 0 0 0 7px rgba(220,38,38,0); }
}
@media (prefers-reduced-motion: reduce) {
  .store-dashboard-attendance-menu.is-empty > summary { animation: none; }
}
.store-dashboard-attendance-menu > summary small { padding: 3px 6px; border-radius: 999px; background: rgba(255,255,255,.18); color: #fff; font-size: 10px; }
.store-dashboard-attendance-popover {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  display: grid;
  gap: 10px;
  width: min(440px, calc(100vw - 32px));
  padding: 12px;
  border: 1px solid #bbd9c5;
  border-radius: 9px;
  background: #fff;
  color: var(--theme-text);
  box-shadow: 0 18px 42px rgba(17,24,39,.2);
}
.store-dashboard-attendance-popover header { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.store-dashboard-attendance-popover header span { color: var(--muted); font-size: 12px; font-weight: 800; }
.store-dashboard-attendance-empty { margin: 0; color: var(--muted); font-size: 12px; }
.store-dashboard-attendance-active { display: flex; flex-wrap: wrap; gap: 6px; }
.store-dashboard-attendance-active > button { display: inline-flex; align-items: center; gap: 6px; padding: 7px 9px; border: 1px solid #bbd9c5; border-radius: 7px; background: #ecfdf3; color: #166534; font: inherit; cursor: pointer; }
.store-dashboard-attendance-active > button small { color: #47765a; font-size: 10px; font-weight: 800; }
.store-dashboard-attendance-active > button:is(:hover,:focus-visible,.is-selected) { border-color: #15803d; background: #d1fae5; box-shadow: 0 0 0 2px rgba(21,128,61,.14); }
.store-dashboard-attendance-popover form { display: grid; gap: 8px; }
.store-dashboard-attendance-popover form > label { display: grid; gap: 4px; color: var(--theme-text); font-size: 12px; font-weight: 900; }
.store-dashboard-attendance-popover form select { width: 100%; min-height: 42px; }
.store-dashboard-attendance-actions { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 6px; }
body.theme-store .store-dashboard-attendance-popover .button { min-width: 0; min-height: 38px; padding: 6px; font-size: 11px !important; }
body.theme-store .store-dashboard-attendance-popover .store-dashboard-clock-in { border-color: #15803d !important; background: #16a34a !important; color: #fff !important; }
.store-dashboard-attendance-popover button:disabled { opacity: .35; cursor: not-allowed; }
.store-dashboard-attendance-popover > a { justify-self: end; color: var(--theme-primary); font-size: 12px; font-weight: 800; }
.topbar .store-dashboard-review-topbar > summary { display: none; }
.topbar .store-dashboard-review-topbar:not([open]) { width: 0; }
.store-candidate-panel-button { display: inline-flex; align-items: center; gap: 6px; }
.store-candidate-panel-button > span { display: inline-grid; min-width: 19px; height: 19px; padding: 0 5px; place-items: center; border-radius: 999px; background: #f0e8e1; color: var(--theme-primary); font-size: 11px; font-weight: 900; line-height: 1; }
.store-candidate-panel-button[aria-expanded="true"] { border-color: var(--theme-primary); background: var(--theme-primary-light); }
.store-electronic-tab-shortcut {
  position: relative;
  display: inline-flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 7px 13px;
  border: 1px solid #a91422;
  border-radius: 7px;
  background: #cf2637;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 3px 10px rgba(169, 20, 34, .2);
}
body.theme-store a.store-electronic-tab-shortcut {
  border-color: #a91422 !important;
  background: #cf2637 !important;
  color: #fff !important;
}
body.theme-store a.store-electronic-tab-shortcut:hover,
body.theme-store a.store-electronic-tab-shortcut:focus-visible {
  background: #ae1f2e !important;
  color: #fff !important;
}
.store-electronic-tab-shortcut > span {
  display: inline-grid;
  min-width: 22px;
  height: 22px;
  padding: 0 5px;
  place-items: center;
  border-radius: 999px;
  background: #fff;
  color: #c51f31;
  font-size: 12px;
  line-height: 1;
}
.topbar .store-dashboard-review-topbar > summary { min-height: 36px; padding: 6px 10px; border: 1px solid var(--store-dashboard-neutral-border); border-radius: 6px; background: var(--theme-surface); box-shadow: 0 3px 10px rgba(17,24,39,.08); }
.topbar .store-dashboard-review-topbar > summary::after { font-size: 18px; }
.topbar .store-dashboard-review-topbar .store-dashboard-review-count { margin-left: 2px; }
.topbar .store-dashboard-review-topbar .store-dashboard-review-alert { width: 18px; min-width: 18px; height: 18px; font-size: 12px; }
.topbar .store-dashboard-review-topbar .store-dashboard-review-body { position: absolute; top: calc(100% + 8px); left: 0; width: min(1100px, calc(100vw - 360px)); min-width: 760px; max-height: min(560px, calc(100vh - 130px)); overflow: auto; padding: 0 14px 14px; border: 1px solid var(--store-dashboard-neutral-border); border-radius: 8px; background: var(--theme-surface); box-shadow: 0 18px 42px rgba(17,24,39,.2); }
.topbar .store-dashboard-review-topbar select:invalid { color: var(--muted); }
.topbar .store-dashboard-review-topbar select:valid { color: var(--theme-text); }
.topbar .store-dashboard-review-topbar select option:disabled { color: var(--muted); }
[data-store-topbar-current-clock] {
  font-size: clamp(21px, 1.7vw, 27px) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: .02em;
}
[data-work-item-save][hidden] { display: none !important; }
[data-work-item-edit][hidden],
[data-work-item-cancel][hidden] { display: none !important; }
body.theme-store .button[data-work-item-save] { border-color: var(--color-success) !important; background: var(--color-success) !important; color: #fff !important; }
body.theme-store .button[data-work-item-save]:hover { border-color: #15803d !important; background: #15803d !important; color: #fff !important; }
.store-dashboard-todo-panel :is(th, td) { font-size: var(--font-size-body) !important; }
body.theme-store .store-dashboard-todo-panel [data-work-item-edit-row] :is(select, input[type="date"]) {
  min-height: 32px;
  height: 32px;
  padding: 0 8px;
  font-size: var(--font-size-caption) !important;
  line-height: 1.5;
}
body.theme-store .store-dashboard-todo-panel .button.small {
  min-height: 32px;
  height: 32px;
  padding: 0 8px;
  font-size: var(--font-size-caption) !important;
  line-height: 1.5;
}
.store-dashboard-todo-panel [data-work-item-edit-row] select { width: 112px; min-width: 0; }
.store-dashboard-todo-panel [data-work-item-edit-row] select[name="priority"] { width: 58px; padding-right: 4px; padding-left: 4px; font-weight: 700; }
body.theme-store .store-dashboard-todo-panel [data-work-item-edit-row] select[name="assignee_user_id"]:has(option[value=""]:checked),
body.theme-store .store-dashboard-todo-panel [data-work-item-edit-row] input[type="date"][value=""] {
  color: var(--theme-muted);
}
body.theme-store .store-dashboard-todo-panel [data-work-item-edit-row] :is(select[name="assignee_user_id"], input[type="date"]):focus {
  color: var(--theme-text);
}
body.theme-store .store-dashboard-todo-panel .store-work-priority-select.priority-high {
  border-color: #dc2626 !important;
  background-color: #dc2626 !important;
  color: #fff !important;
}
body.theme-store .store-dashboard-todo-panel .store-work-priority-select.priority-medium {
  border-color: #facc15 !important;
  background-color: #facc15 !important;
  color: #fff !important;
}
body.theme-store .store-dashboard-todo-panel .store-work-priority-select.priority-low {
  border-color: #86efac !important;
  background-color: #dcfce7 !important;
  color: #166534 !important;
}
body.theme-store .store-dashboard-todo-panel .store-work-priority-select option {
  background: #fff;
  color: var(--theme-text);
}
.store-dashboard-todo-panel [data-work-item-edit-row] input[type="date"] { width: 128px; min-width: 0; }
.store-dashboard-todo-panel th,
.store-dashboard-todo-panel td { text-align: center !important; }
.store-dashboard-todo-panel th:first-child { text-align: center !important; }
.store-dashboard-todo-panel td[data-label="やること"] { text-align: left !important; }
.store-dashboard-todo-panel [data-work-item-edit-row] td[data-label="操作"] .actions { justify-content: center; flex-wrap: nowrap; }
@media (max-width: 900px) {
  .topbar .store-dashboard-review-topbar { margin-left: 0; }
  .topbar .store-dashboard-review-topbar .store-dashboard-review-body { position: fixed; top: 110px; right: 16px; left: 16px; width: auto; min-width: 0; max-height: calc(100vh - 130px); overflow: auto; }
}
.store-dashboard-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.store-dashboard-panel-heading h2 { margin: 0; }
.store-shopping-panel-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); }
.store-shopping-panel-heading > h2 { white-space: nowrap; }
.store-shopping-panel-heading .store-shopping-heading-actions { display: contents; }
.store-shopping-panel-heading .store-shopping-category-controls { justify-self: center; width: max-content; }
.store-shopping-panel-heading .store-dashboard-heading-buttons { justify-self: end; }
.store-dashboard-title-with-icon { display: inline-flex; align-items: center; gap: 8px; }
.store-dashboard-title-icon { width: 20px; min-width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.store-business-dashboard .table th,
.store-business-dashboard .table td { text-align: center; }
.store-business-dashboard .table td[data-label="商品"],
.store-business-dashboard .table td[data-label="仕込み"] { text-align: left; }
.store-dashboard-shopping-table th { width: 16.666%; }
.store-dashboard-shopping-table th:nth-child(3) { width: 33.336%; }
body.theme-store .store-business-dashboard :is(
  .store-dashboard-shopping-table,
  .store-dashboard-preparation-table,
  .store-dashboard-todo-panel .settings-table
) th {
  border-bottom-color: var(--theme-primary-strong);
  background-color: var(--theme-primary);
  background-image:
    linear-gradient(rgba(35, 22, 15, .44), rgba(35, 22, 15, .44)),
    url("./store-sidebar-walnut.png");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  color: var(--theme-on-primary);
  text-shadow: 0 1px 1px rgba(0, 0, 0, .38);
}
body.theme-store .shopping-list-table .priority-urgent,
body.theme-store .store-preparation-list-table .priority-urgent,
body.theme-store .store-dashboard-shopping-table .priority-urgent,
body.theme-store .store-dashboard-preparation-table .priority-urgent { border: 0 !important; background: #dc2626 !important; color: #fff !important; }
body.theme-store .shopping-list-table .priority-buy-soon,
body.theme-store .store-preparation-list-table .priority-buy-soon,
body.theme-store .store-dashboard-shopping-table .priority-buy-soon,
body.theme-store .store-dashboard-preparation-table .priority-buy-soon { border: 0 !important; background: #facc15 !important; color: #fff !important; }
.store-dashboard-shopping-table .priority-enough { border: 1px solid #86efac; background: #dcfce7; color: #166534; }
body.theme-store .store-dashboard-shopping-table .priority-badge.priority-request,
body.theme-store .shopping-list-table .priority-badge.priority-request {
  border-color: #1d4ed8;
  background: #1d4ed8;
  color: #fff;
}
.store-dashboard-preparation-table { width: 100%; min-width: 0; table-layout: fixed; }
.store-dashboard-preparation-table th { width: 14%; }
.store-dashboard-preparation-table th:nth-child(3) { width: 44%; }
.store-dashboard-preparation-table :is(th, td) { min-width: 0; padding-right: 3px; padding-left: 3px; font-size: 11px !important; }
.store-dashboard-preparation-table .priority-badge { max-width: 100%; padding-right: 5px; padding-left: 5px; font-size: 10px !important; }
.store-dashboard-preparation-table .store-shopping-selection span,
.store-dashboard-shopping-table .store-shopping-selection span { width: 58px; max-width: 100%; padding-right: 5px; padding-left: 5px; font-size: 10px !important; }
.store-preparation-list-table th:nth-child(1) { width: 10%; }
.store-preparation-list-table th:nth-child(2) { width: 27%; }
.store-preparation-list-table th:nth-child(3) { width: 10%; }
.store-preparation-list-table th:nth-child(4) { width: 12%; }
.store-preparation-list-table th:nth-child(5) { width: 11%; }
.store-preparation-list-table th:nth-child(6) { width: 14%; }
.store-preparation-list-table th:nth-child(7),
.store-preparation-list-table th:nth-child(8) { width: 8%; }
.store-preparation-list-table :is(th, td) { text-align: center !important; }
.store-preparation-list-table td:nth-child(2) { text-align: left !important; }
body.theme-store .preparation-list-shell .store-preparation-list-table td.store-product-name {
  color: var(--text);
}
.store-preparation-list-table .preparation-recipe-button { min-width: 58px; white-space: nowrap; }
.store-dashboard-preparation-table :is(th, td):nth-child(3),
.store-preparation-list-table :is(th, td):nth-child(2) { overflow: visible; text-overflow: clip; white-space: nowrap; }
.store-business-dashboard .priority-badge,
.store-business-dashboard .store-shopping-selection span { border-radius: 6px; }
.store-shopping-category-controls, .store-shopping-category-filter, .store-dashboard-heading-buttons { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.store-dashboard-heading-buttons { flex-wrap: nowrap; white-space: nowrap; }
.store-dashboard-heading-buttons :is(.store-shopping-add-button, .store-shopping-report-button) { flex: 0 0 auto; }
.store-shopping-category-filter > span { color: var(--muted); font-size: 12px; font-weight: 700; }
body.theme-store .store-shopping-category-select { width: auto; min-width: 84px; min-height: 26px; height: 26px; padding: 0 24px 0 7px; font-size: 11px !important; font-weight: 700; }
body.theme-store .store-dashboard-heading-buttons :is(.store-shopping-add-button, .store-shopping-report-button) { justify-content: center; min-width: 82px; min-height: 32px; padding: 0 8px; font-size: 12px !important; }
.store-shopping-category-filters a, .store-shopping-category-filters button { display: inline-flex; align-items: center; justify-content: center; width: auto; min-height: 30px; padding: 0 13px; border: 1px solid var(--theme-primary-border); border-radius: 999px; background: #fff; color: var(--theme-primary); font-size: 12px; font-weight: 800; text-decoration: none; cursor: pointer; }
.store-shopping-category-filters a:hover, .store-shopping-category-filters button:hover { background: var(--theme-primary-light); }
.store-shopping-category-filters a.active, .store-shopping-category-filters button.active { border-color: var(--theme-primary); background: var(--theme-primary); color: var(--theme-on-primary); }
body.theme-store .button.store-shopping-report-button:not(.secondary):not(.danger):not(.is-unset):disabled,
body.theme-store .button.store-shopping-report-button:not(.secondary):not(.danger):not(.is-unset):disabled:hover { min-height: 32px; padding: 0 8px; border-color: #d1d5db; background: #e5e7eb; color: #9ca3af; box-shadow: none; opacity: 1; filter: none; transform: none; cursor: not-allowed; font-size: 12px !important; }
body.theme-store .button.store-shopping-report-button:not(.secondary):not(.danger):not(.is-unset):not(:disabled) { min-height: 32px; padding: 0 8px; border-color: #16a34a; background: #16a34a; color: #fff; font-size: 12px !important; }
body.theme-store .button.store-shopping-report-button:not(.secondary):not(.danger):not(.is-unset):not(:disabled):hover { border-color: #15803d; background: #15803d; color: #fff; }
body.theme-store .button.secondary.store-shopping-add-button:not(.is-unset) { min-height: 32px; padding: 0 8px; font-size: 12px !important; }
.store-shopping-selection { display: inline-flex; margin: 0; cursor: pointer; }
.store-shopping-selection input { position: absolute; opacity: 0; pointer-events: none; }
.store-shopping-selection span { display: inline-flex; align-items: center; justify-content: center; min-height: 31px; padding: 0 12px; border: 1px solid var(--theme-primary-border); border-radius: 999px; background: #fff; color: var(--theme-primary); font-size: 13px; font-weight: 800; white-space: nowrap; }
body.theme-store .store-shopping-selection input:checked + span { min-width: 38px; padding: 0 10px; border-color: #16a34a; background: #16a34a; color: #fff; font-size: 0 !important; }
body.theme-store .store-shopping-selection input:checked + span::before { content: "✓"; margin: 0; font-size: 16px; line-height: 1; }
.store-shopping-selection input:focus-visible + span { outline: 2px solid var(--theme-primary); outline-offset: 2px; }
.store-dashboard-product-link { color: var(--text); font-weight: 900; text-decoration: none; }
body.theme-store .store-dashboard-product-link { color: var(--theme-text); }
.store-dashboard-product-link:hover, .store-dashboard-product-link:focus-visible { color: var(--theme-primary); text-decoration: underline; text-underline-offset: 3px; }
.recipe-hierarchy-table { width: 100%; table-layout: fixed; }
.recipe-list-table-panel { overflow: hidden; }
.recipe-list-shell > .actions { margin: 0; }
.recipe-list-shell .recipe-edit-log-panel { order: 2; }
.recipe-list-shell .recipe-hierarchy-table { margin: 0; }
.recipe-list-shell .recipe-group-divider th {
  height: 38px;
  padding: 8px 14px !important;
  border-top: 1px solid var(--theme-divider-strong) !important;
  border-bottom: 1px solid var(--theme-divider-strong) !important;
  background-color: var(--theme-primary-light) !important;
  background-image: none !important;
  color: var(--theme-primary) !important;
  text-align: left !important;
  text-shadow: none !important;
}
.recipe-list-shell .recipe-group-divider th span { font-size: 13px; font-weight: 900; }
.recipe-list-shell .recipe-group-divider th small { margin-left: 8px; color: var(--muted); font-size: 11px; font-weight: 700; }
.recipe-list-shell .recipe-group-preparation th { background-color: #f5f1ee !important; }
.recipe-hierarchy-table :is(th, td):nth-child(1) { width: 37%; }
.recipe-hierarchy-table :is(th, td):nth-child(2) { width: 10%; }
.recipe-hierarchy-table :is(th, td):nth-child(3) { width: 9%; }
.recipe-hierarchy-table :is(th, td):nth-child(4) { width: 10%; }
.recipe-hierarchy-table :is(th, td):nth-child(5) { width: 8%; }
.recipe-hierarchy-table :is(th, td):nth-child(6) { width: 13%; }
.recipe-hierarchy-table :is(th, td):nth-child(7) { width: 13%; }
.recipe-hierarchy-table .store-product-name { vertical-align: middle; white-space: normal; }
.recipe-hierarchy-table :is(th, td):not(:first-child) { white-space: nowrap; }
.recipe-parent-row td { border-bottom: 0; }
.recipe-child-row td { padding-top: 3px; padding-bottom: 3px; border-top: 0; background: var(--theme-primary-light); text-align: left; }
.recipe-child-row:last-child td { padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.recipe-child-name { display: inline-block; position: relative; padding-left: 36px; color: var(--muted); font-size: 13px; }
.recipe-child-name::before { content: "└"; position: absolute; left: 18px; color: var(--theme-primary-border); }
.recipe-list-name-cell { display: inline-flex; align-items: center; gap: 9px; width: 100%; min-width: 0; }
.recipe-list-name-cell > span:last-child { min-width: 0; overflow-wrap: anywhere; }
.recipe-list-thumbnail {
  display: block;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  overflow: hidden;
  border: 1px solid var(--theme-primary-border);
  border-radius: 6px;
  background: #fff;
  object-fit: contain;
}
.recipe-list-thumbnail-empty {
  display: grid;
  place-items: center;
  color: var(--muted);
  font-size: 8px;
  font-weight: 800;
  line-height: 1;
  text-align: center;
}
.recipe-list-actions { display: inline-flex; align-items: center; justify-content: center; gap: 6px; white-space: nowrap; }
.recipe-list-actions form { display: inline-flex; margin: 0; }
body.theme-store .recipe-list-actions > a.button { border-color: var(--color-danger) !important; background: var(--color-danger) !important; color: #fff !important; }
body.theme-store .recipe-list-actions > a.button:hover { border-color: #991b1b !important; background: #b91c1c !important; color: #fff !important; }
.recipe-list-error { margin: 0; padding: 10px 12px; border: 1px solid #fecaca; border-radius: 7px; background: #fef2f2; color: var(--color-danger); font-weight: 700; }
.recipe-list-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; }
.recipe-list-heading-actions { position: relative; display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; margin: 0; }
.recipe-template-disclosure { position: relative; }
.recipe-template-disclosure > summary { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 8px 14px; border: 1px solid var(--theme-primary-border); border-radius: 7px; background: #fff; color: var(--theme-primary); font-size: 13px; font-weight: 800; cursor: pointer; list-style: none; }
.recipe-template-disclosure > summary::-webkit-details-marker { display: none; }
.recipe-template-disclosure[open] > summary { border-color: var(--theme-primary); background: var(--theme-primary-light); }
.recipe-template-panel { position: absolute; z-index: 40; top: calc(100% + 8px); right: 0; width: min(520px, calc(100vw - 32px)); max-height: 70vh; padding: 16px; overflow: auto; border: 1px solid var(--theme-primary-border); border-radius: 10px; background: #fff; box-shadow: 0 14px 36px rgba(17,24,39,.2); }
.recipe-template-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.recipe-template-panel-heading > strong { color: var(--theme-heading); font-size: 15px; }
.recipe-template-panel-heading > button { flex: 0 0 auto; }
.recipe-template-panel > p { margin: 5px 0 12px; color: var(--muted); font-size: 12px; }
.recipe-template-panel pre { margin: 0; padding: 14px; overflow-wrap: anywhere; border-radius: 8px; background: var(--theme-bg); color: var(--theme-text); font: inherit; font-size: 13px; line-height: 1.65; white-space: pre-wrap; user-select: text; }
.recipe-list-filter { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.recipe-list-search { display: block; width: clamp(180px,22vw,320px); }
.recipe-list-search input { width: 100%; min-height: 36px; padding: 7px 11px; border: 1px solid var(--theme-primary-border); border-radius: 999px; background: #fff; color: var(--theme-text); font-size: 13px; }
.recipe-list-search input::placeholder { color: var(--theme-muted); }
.recipe-list-filter a { padding: 7px 13px; border: 1px solid var(--theme-primary-border); border-radius: 999px; background: #fff; color: var(--theme-primary); font-size: 13px; font-weight: 800; text-decoration: none; }
.recipe-list-filter a.is-active { border-color: var(--theme-primary); background: var(--theme-primary); color: #fff; }
.recipe-drink-filter { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; padding: 9px 11px; border: 1px solid var(--theme-primary-border); border-radius: 10px; background: var(--theme-primary-light); }
.recipe-drink-filter > span { margin-right: 3px; color: var(--theme-primary); font-size: 12px; font-weight: 900; }
.recipe-drink-filter a { display: inline-flex; align-items: center; justify-content: center; min-height: 32px; padding: 5px 13px; border: 1px solid var(--theme-primary-border); border-radius: 999px; background: #fff; color: var(--theme-primary); font-size: 12px; font-weight: 800; text-decoration: none; }
.recipe-drink-filter a.is-active { border-color: var(--theme-primary); background: var(--theme-primary); color: #fff; }
.recipe-gallery { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 10px; }
.recipe-gallery > .empty-state { grid-column: 1 / -1; }
.recipe-gallery-category { display: grid; grid-column: 1 / -1; grid-template-columns: minmax(24px,1fr) auto minmax(24px,1fr); align-items: center; gap: 10px; margin: 12px 0 2px; }
.recipe-gallery-category[hidden],
.recipe-gallery-card[hidden] { display: none; }
.recipe-gallery-category:first-of-type { margin-top: 2px; }
.recipe-gallery-category > :is(span,i) { height: 1px; background: var(--theme-primary-border); }
.recipe-gallery-category h2 { display: inline-flex; align-items: center; gap: 8px; margin: 0; color: var(--theme-primary); font-size: 15px; font-weight: 900; white-space: nowrap; }
.recipe-gallery-drink-category h2 em { padding: 3px 8px; border-radius: 999px; background: var(--theme-primary); color: #fff; font-size: 10px; font-style: normal; letter-spacing: .04em; }
.recipe-gallery-drink-category h2 b { color: var(--theme-heading); font-size: 14px; font-weight: 900; }
.recipe-gallery-category h2 small { display: inline-flex; align-items: center; justify-content: center; min-height: 22px; padding: 2px 7px; border-radius: 999px; background: var(--theme-primary-light); color: var(--muted); font-size: 10px; font-weight: 800; }
.recipe-gallery-card { position: relative; display: block; min-height: 190px; overflow: hidden; border: 1px solid var(--theme-primary-border); border-radius: 10px; background-color: #fff; background-position: center; background-repeat: no-repeat; background-size: auto 100%; color: #fff; text-decoration: none; box-shadow: 0 6px 16px rgba(17,24,39,.11); }
.recipe-gallery.is-reorderable .recipe-gallery-card { cursor: grab; }
.recipe-gallery.is-reorderable .recipe-gallery-card:active { cursor: grabbing; }
.recipe-gallery-card.is-dragging { opacity: .45; box-shadow: 0 0 0 3px rgba(34, 197, 94, .28); }
.recipe-gallery-category [data-recipe-order-status] { background: #dcfce7; color: #166534; }
.recipe-gallery-category [data-recipe-order-status].is-error { background: #fee2e2; color: #b91c1c; }
.recipe-gallery-card-empty { background-image: linear-gradient(135deg,#5c3826,#2f1d14); }
.recipe-gallery-overlay { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; gap: 3px; padding: 11px; background: linear-gradient(180deg,rgba(0,0,0,.05) 25%,rgba(0,0,0,.82) 100%); color: #fff; }
.recipe-gallery-overlay small { font-size: 9px; font-weight: 800; }
.recipe-gallery-overlay .recipe-gallery-kana { font-weight: 600; opacity: .9; }
.recipe-gallery-overlay .recipe-gallery-price { width: fit-content; padding: 2px 6px; border-radius: 999px; background: rgba(255,255,255,.18); font-size: 10px; font-weight: 800; }
.recipe-gallery-overlay strong { font-size: 15px; line-height: 1.3; overflow-wrap: anywhere; }
.recipe-gallery-overlay > span { font-size: 9px; opacity: .9; }
.recipe-view-shell { max-width: 980px; margin: 0 auto; }
.recipe-view-back { justify-self: end; color: var(--theme-primary); font-size: 14px; font-weight: 800; text-decoration: none; }
.recipe-view-back:hover { text-decoration: underline; }
.recipe-view-panel { overflow: hidden; padding: 0 !important; }
.recipe-view-hero { position: relative; min-height: 340px; background-color: #4a2c1d; background-position: center; background-size: cover; }
.recipe-view-hero-empty { background-image: linear-gradient(135deg,#5c3826,#2f1d14); }
.recipe-view-hero-overlay { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; gap: 7px; padding: 26px; background: linear-gradient(180deg,rgba(0,0,0,.05) 25%,rgba(0,0,0,.84) 100%); color: #fff; }
.recipe-view-hero-overlay span { font-size: 13px; font-weight: 800; }
.recipe-view-hero-overlay h2 { margin: 0; color: #fff; font-size: 30px; }
.recipe-view-hero-overlay small { font-size: 14px; font-weight: 600; }
.recipe-view-content { display: grid; gap: 18px; padding: 22px; }
.recipe-view-description { margin: 0; line-height: 1.8; }
.recipe-view-meta { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; }
.recipe-view-meta > div { min-width: 150px; padding: 10px 13px; border-radius: 8px; background: var(--theme-bg); }
.recipe-view-meta dt { color: var(--muted); font-size: 11px; font-weight: 800; }
.recipe-view-meta dd { margin: 3px 0 0; color: var(--theme-heading); font-weight: 900; }
.recipe-view-section { padding-top: 4px; }
.recipe-view-section h3 { margin: 0 0 10px; color: var(--theme-primary); }
.recipe-view-section :is(ul,ol) { display: grid; gap: 8px; margin: 0; padding-left: 24px; }
.recipe-view-section li { line-height: 1.65; }
.recipe-view-section li small { display: block; color: var(--muted); }
.recipe-view-notes { padding: 14px; border-radius: 8px; background: #fff8ed; }
.recipe-view-notes p { margin: 0; line-height: 1.75; }
.recipe-view-edit-action { display: flex; justify-content: center; padding: 0 22px 24px; }
.recipe-view-edit-button { min-width: 180px; background: var(--color-success) !important; color: #fff !important; }
@media (max-width: 900px) { .recipe-gallery { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 600px) {
  .recipe-list-heading { align-items: stretch; flex-direction: column; }
  .recipe-list-heading-actions { justify-content: stretch; }
  .recipe-list-heading-actions > * { flex: 1 1 0; }
  .recipe-template-disclosure > summary { width: 100%; }
  .recipe-template-panel { position: fixed; top: 72px; right: 16px; left: 16px; width: auto; max-height: calc(100vh - 96px); }
  .recipe-list-filter { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .recipe-list-search { grid-column: 1 / -1; width: 100%; }
  .recipe-list-filter a { text-align: center; }
  .recipe-drink-filter { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .recipe-drink-filter > span { grid-column: 1 / -1; }
  .recipe-drink-filter a { padding-inline: 6px; text-align: center; }
  .recipe-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .recipe-gallery-card { min-height: 170px; }
  .recipe-gallery-overlay { gap: 3px; padding: 10px; }
  .recipe-gallery-overlay small,
  .recipe-gallery-overlay > span { font-size: 10px; }
  .recipe-gallery-overlay strong { font-size: 15px; line-height: 1.3; overflow-wrap: anywhere; }
  .recipe-view-hero { min-height: 250px; }
  .recipe-view-hero-overlay { padding: 18px; }
  .recipe-view-hero-overlay h2 { font-size: 24px; }
  .recipe-view-content { padding: 16px; }
}

/* Website cards open from the card surface and keep the three categories in one row. */
.website-company-card.is-collapsible { cursor: pointer; }
.website-company-card.is-collapsible :is(a,button) { cursor: pointer; }
.website-company-card .website-company-info-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 850px) {
  .website-company-card .website-company-info-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
  }
  .website-company-card .website-company-info-grid > section { padding: 9px 7px; }
  .website-company-card .website-company-info-grid dl div {
    grid-template-columns: minmax(0, 1fr);
    gap: 1px;
  }
  .website-company-card .website-company-info-grid :is(dt,dd) { overflow-wrap: anywhere; }
}

/* Website list cards themselves are arranged horizontally. */
.website-company-section .website-company-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
}
.website-company-section .website-company-card.is-open {
  grid-column: 1 / -1;
}
.website-company-section .website-company-card:not(.is-open) > header {
  min-height: 72px;
}
@media (max-width: 1180px) {
  .website-company-section .website-company-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .website-company-section .website-company-grid { grid-template-columns: 1fr; }
}

/* Website list: one full-width site row, with a single-line closed summary. */
.website-company-section .website-company-grid {
  grid-template-columns: minmax(0, 1fr);
}
.website-company-section a.website-company-name {
  position: relative;
  z-index: 2;
  display: inline-block;
  pointer-events: auto;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.website-company-section .website-company-card.is-open {
  grid-column: auto;
}
.website-company-section .website-company-card:not(.is-open) {
  min-height: 76px;
  padding-block: 12px;
}
.website-company-section .website-company-card:not(.is-open) > header {
  display: grid;
  grid-template-columns: minmax(130px, .7fr) minmax(190px, 1.25fr) minmax(180px, .9fr) auto;
  align-items: center;
  min-height: 50px;
  padding-right: 205px;
  gap: 12px;
}
.website-company-section .website-company-card:not(.is-open) > header > div:first-child {
  display: contents;
}
.website-company-section .website-company-card:not(.is-open) > header :is(h3,small,.website-company-name) {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.website-company-section .website-company-card:not(.is-open) > header > .contract-server-status {
  justify-self: end;
  white-space: nowrap;
}
@media (max-width: 980px) {
  .website-company-section .website-company-card:not(.is-open) > header {
    grid-template-columns: minmax(110px,.7fr) minmax(160px,1.2fr) minmax(130px,.8fr) auto;
    padding-right: 190px;
    gap: 8px;
  }
}
@media (max-width: 700px) {
  .website-company-section .website-company-card:not(.is-open) > header {
    display: flex;
    align-items: flex-start;
    min-height: 0;
    padding-right: 0;
  }
  .website-company-section .website-company-card:not(.is-open) > header > div:first-child {
    display: block;
  }
  .website-company-section .website-company-card:not(.is-open) > header :is(h3,small,.website-company-name) {
    display: block;
    margin: 3px 0;
  }
}

/* Affiliate shared notes: stable editing area and clickable read view. */
.affiliate-shared-note-body {
  box-sizing: border-box;
  min-height: 150px;
  max-height: 150px;
  padding: 10px 12px;
  overflow: hidden;
  border: 1px solid #ede9fe;
  border-radius: 8px;
  background: #faf8ff;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.affiliate-shared-note-body.is-expanded { max-height: none; }
.affiliate-shared-note-body a {
  color: #2563eb;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.affiliate-shared-note-card textarea:not([hidden]) {
  box-sizing: border-box;
  display: block;
  height: 220px;
  min-height: 150px;
  max-height: 55vh;
  overflow: auto;
  resize: vertical;
  line-height: 1.55;
  overflow-anchor: none;
}
.affiliate-shared-note-card form.is-editing textarea { overflow: auto; }

/* Website cards: keep primary actions visible in the upper-right corner. */
.website-company-card { position: relative; }
.website-company-card > header { padding-right: 205px; }
.website-company-card > footer {
  position: absolute;
  top: 14px;
  right: 14px;
  margin: 0;
}
@media (max-width: 700px) {
  .website-company-card > header { padding-right: 0; }
  .website-company-card > footer {
    position: static;
    display: grid;
  }
}
.store-user-management-table tbody tr.is-inactive-user>th,.store-user-management-table tbody tr.is-inactive-user>td{background:#eef0f2;color:#7b8188}.store-user-management-table tbody tr.is-inactive-user td:not([data-label="操作"]){filter:grayscale(1)}.store-user-management-table tbody tr.is-inactive-user .muted{color:#8b9096}.table-sort-button{display:inline-flex;align-items:center;gap:5px;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;white-space:nowrap;cursor:pointer}.table-sort-button span{min-width:12px;font-size:.78em;opacity:.65}.table-sort-button:hover,.table-sort-button:focus-visible{text-decoration:underline;text-underline-offset:3px}
.store-user-management-table tbody tr:not(.is-inactive-user)>td,.store-user-management-table tbody tr:not(.is-inactive-user):hover>td{background:#fff}

body.theme-store .recipe-register-button { border-color: #15803d !important; background: #16a34a !important; color: #fff !important; }
body.theme-store .recipe-register-button:hover { border-color: #166534 !important; background: #15803d !important; color: #fff !important; }
.recipe-edit-log-panel { margin-top: 4px; }
.recipe-edit-log-panel > summary { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 12px 16px; color: var(--theme-primary); font-weight: 800; cursor: pointer; list-style: none; }
.recipe-edit-log-panel > summary::-webkit-details-marker { display: none; }
.recipe-edit-log-panel > summary small { margin-left: auto; color: var(--muted); font-size: 12px; }
.recipe-edit-log-panel > summary::after { content: "›"; margin-left: 4px; font-size: 22px; line-height: 1; transform: rotate(90deg); transition: transform .18s ease; }
.recipe-edit-log-panel[open] > summary::after { transform: rotate(-90deg); }
.recipe-edit-log-panel[open] > summary { border-bottom: 1px solid var(--theme-divider); }
.recipe-edit-log-content { padding: 12px 16px 16px; overflow-x: auto; }
.recipe-list-price { color: var(--theme-primary); font-weight: 900; }
.recipe-edit-log-table { table-layout: fixed; }
.recipe-edit-log-table :is(th, td):nth-child(1) { width: 16%; }
.recipe-edit-log-table :is(th, td):nth-child(2) { width: 22%; }
.recipe-edit-log-table :is(th, td):nth-child(3) { width: 10%; }
.recipe-edit-log-table :is(th, td):nth-child(4) { width: 16%; }
.recipe-edit-log-table :is(th, td):nth-child(5) { width: 36%; text-align: left; }
.recipe-log-action { display: inline-flex; align-items: center; justify-content: center; min-width: 48px; padding: 3px 8px; border-radius: 999px; background: #e5e7eb; color: #4b5563; font-size: 11px; font-weight: 800; }
.recipe-log-action-create { background: #dcfce7; color: #15803d; }
.recipe-log-action-update { background: #dbeafe; color: #1d4ed8; }
.recipe-log-action-duplicate { background: #fef3c7; color: #92400e; }
.recipe-log-action-delete { background: #fee2e2; color: #b91c1c; }
.recipe-edit-panel {
  --recipe-control-border: #bfa694;
  --recipe-control-radius: 7px;
  --recipe-control-height: 40px;
  border-color: #ccb3a1;
  background: #f3eae3;
  box-shadow: 0 10px 24px rgba(91, 58, 40, .12);
}
.recipe-edit-top-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin: 0 0 14px;
}
.recipe-edit-top-actions .button { min-width: 140px; }
.recipe-save-error {
  margin: 0 0 14px;
  padding: 14px 16px;
  border: 2px solid #dc2626;
  border-radius: 8px;
  background: #fff1f2;
  color: #b91c1c;
  font-weight: 700;
}
.recipe-save-error:focus { outline: 3px solid rgba(220, 38, 38, .22); outline-offset: 2px; }
.recipe-save-error strong { display: block; margin-bottom: 6px; color: #991b1b; font-size: 16px; }
.recipe-save-error ul { margin: 0; padding-left: 1.4em; }
.recipe-save-error p { margin: 6px 0 0; color: #b91c1c; font-size: 13px; }
.recipe-edit-panel form { display: grid; gap: 16px; }
.recipe-edit-panel label { margin: 0; color: var(--theme-primary); font-size: 13px; font-weight: 800; line-height: 1.45; }
.recipe-edit-panel form > label,
.recipe-heading-fields > label { display: grid; gap: 6px; }
.recipe-edit-panel label input,
.recipe-edit-panel label select,
.recipe-edit-panel label textarea { color: var(--theme-text); font-weight: 400; }
.recipe-edit-panel :is(input:not([type="hidden"]):not([type="radio"]):not([type="checkbox"]):not([type="file"]), select, textarea) {
  min-height: var(--recipe-control-height);
  border-color: var(--recipe-control-border);
  border-radius: var(--recipe-control-radius);
  background-color: #fff;
  box-shadow: 0 1px 2px rgba(91, 58, 40, .06);
}
.recipe-edit-panel :is(input, select, textarea):hover { border-color: #b99174; }
.recipe-edit-panel :is(input, select, textarea):focus { border-color: #8a5a3b; box-shadow: 0 0 0 3px rgba(138, 90, 59, .14); }
body.theme-store:has(.recipe-edit-panel input[name="id"][value=""]) .settings-shell > .actions:first-child {
  display: none;
}
.recipe-edit-panel fieldset { display: grid; gap: 8px; min-width: 0; margin: 0; padding: 0; overflow: visible; border: 0; border-radius: 0; background: transparent; }
.recipe-edit-panel fieldset[hidden] { display: none; }
.recipe-edit-panel legend { width: auto; margin: 0; padding: 0; background: transparent; color: var(--theme-primary); font-size: 13px; font-weight: 800; line-height: 1.45; }
.recipe-edit-panel .recipe-type-fieldset { margin-top: 0; }
.recipe-edit-panel .recipe-ai-research { padding: 12px 14px; border: 1px solid #bfd4e3; border-radius: 10px; background: #f3f9fd; }
.recipe-ai-research-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.recipe-ai-research-heading p, .recipe-ai-research-status { margin: 3px 0 0; color: var(--muted); font-size: 12px; font-weight: 400; }
.recipe-ai-research-result { margin-top: 8px; padding-top: 10px; border-top: 1px solid #d7e5ee; }
.recipe-ai-research-preview { display: grid; gap: 8px; }
.recipe-ai-research-preview p { margin: 0; white-space: normal; }
.recipe-ai-research-sources { display: flex; flex-wrap: wrap; gap: 10px; }
.recipe-ai-research-sources a { color: #176b9b; font-size: 12px; font-weight: 700; }
.recipe-edit-panel :is(.recipe-type-fieldset, fieldset[data-recipe-category], .recipe-drink-attributes, .recipe-serving-options, .recipe-ingredient-editor, .recipe-step-editor) { border: 0; background: transparent; }
.recipe-type-options { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.recipe-serving-options .recipe-type-options { flex-wrap: nowrap; padding-bottom: 2px; overflow-x: auto; }
.recipe-serving-options .recipe-type-option { flex: 0 0 auto; }
.recipe-custom-serving-method { display: inline-flex; flex: 0 0 220px; width: 220px; align-items: center; }
.recipe-custom-serving-method > input { width: 100%; min-width: 0; }
.recipe-category-options { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.recipe-edit-panel .recipe-type-option { display: inline-flex; align-items: center; gap: 7px; width: auto; min-height: 36px; margin: 0; padding: 7px 12px; border: 1px solid var(--recipe-control-border); border-radius: var(--recipe-control-radius); background: #fff; color: var(--theme-text); cursor: pointer; }
.recipe-edit-panel .recipe-type-option:hover { border-color: #9f7558; background: #f8f1eb; }
.recipe-edit-panel .recipe-type-option:has(input:checked) { border-color: var(--theme-primary); background: var(--theme-primary); color: #fff; }
.recipe-edit-panel .recipe-type-option input:is([type="radio"], [type="checkbox"]) { width: 16px; min-width: 16px; height: 16px; min-height: 16px; margin: 0; padding: 0; }
.recipe-edit-panel .recipe-aliases-input { min-height: 48px; height: 48px; }
.recipe-heading-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, 34%); align-items: start; gap: 20px; }
.recipe-heading-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 12px; }
.recipe-heading-fields > :is(.recipe-primary-settings-row, .recipe-name-fields-row, .recipe-description-field, .recipe-ai-research) { grid-column: 1 / -1; }
.recipe-heading-fields > :is(.recipe-alias-field, .recipe-category-field) { min-width: 0; align-self: start; }
.recipe-primary-settings-row { display: flex; align-items: end; gap: 16px; flex-wrap: wrap; }
.recipe-primary-settings-row > .recipe-type-fieldset { flex: 0 1 auto; }
.recipe-primary-settings-row > .recipe-pickup-option { display: inline-flex; align-items: center; gap: 7px; min-height: 36px; padding: 7px 12px; border: 1px solid var(--recipe-control-border); border-radius: var(--recipe-control-radius); background: #fff; cursor: pointer; }
.recipe-primary-settings-row > .recipe-pickup-option[hidden] { display: none !important; }
.recipe-primary-settings-row > .recipe-pickup-option input { width: 16px; min-width: 16px; height: 16px; min-height: 16px; margin: 0; }
.recipe-type-required-message { align-self: center; margin: 0; color: #b45309; font-size: 12px; font-weight: 800; }
.recipe-edit-panel form.is-recipe-type-pending > :not(.recipe-heading-grid) { opacity: .42; pointer-events: none; }
.recipe-edit-panel form.is-recipe-type-pending .recipe-heading-fields > :not(.recipe-primary-settings-row),
.recipe-edit-panel form.is-recipe-type-pending .recipe-image-field { opacity: .42; pointer-events: none; }
.recipe-name-fields-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.recipe-name-fields-row > label { display: grid; min-width: 0; gap: 6px; }
.recipe-drink-settings-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); align-items: start; gap: 14px 18px; padding: 14px; border: 1px solid #ddcbbb; border-radius: 10px; background: rgba(255, 255, 255, .55); }
.recipe-drink-settings-grid:not(:has(> fieldset:not([hidden]))) { display: none; }
.recipe-drink-settings-grid > .recipe-serving-options { grid-column: 1 / -1; padding-top: 12px; border-top: 1px solid #e3d5ca; }
.recipe-drink-classification { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 8px 12px !important; }
.recipe-drink-classification > .recipe-type-options { align-self: end; }
.recipe-alcohol-category-field { display: grid; min-width: 0; gap: 6px; }
.recipe-origin-country-field { display: grid; min-width: 0; gap: 6px; }
.recipe-origin-country-field[hidden] { display: none !important; }
.recipe-sales-meta-grid { display: grid; grid-template-columns: minmax(180px, 280px) minmax(180px, 280px); align-items: start; gap: 18px; }
.recipe-sales-meta-grid > label { display: grid; min-width: 0; gap: 6px; }
.recipe-sales-meta-grid > label[hidden] { display: none !important; }
.recipe-sales-meta-grid .recipe-price-input { max-width: none; }
.recipe-inventory-link-field { grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 10px 14px !important; padding: 14px !important; border: 1px solid #ddcbbb !important; border-radius: 10px !important; background: rgba(255, 255, 255, .55) !important; }
.recipe-inventory-link-field > legend,
.recipe-inventory-link-field > .recipe-direct-serve-details,
.recipe-inventory-link-field > .muted { grid-column: 1 / -1; }
.recipe-inventory-link-field > label:not(.recipe-pickup-option) { display: grid; min-width: 0; gap: 6px; }
.recipe-inventory-link-field > .recipe-pickup-option { display: inline-flex; width: max-content; max-width: 100%; min-height: 40px; align-items: center; justify-self: start; gap: 8px; padding: 7px 12px; border: 1px solid var(--recipe-control-border); border-radius: var(--recipe-control-radius); background: #fff; line-height: 1.3; cursor: pointer; }
.recipe-inventory-link-field > .recipe-pickup-option input[type="checkbox"] { flex: 0 0 16px; width: 16px; min-width: 16px; height: 16px; min-height: 16px; margin: 0; padding: 0; }
.recipe-direct-serve-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 12px; border: 1px solid var(--recipe-control-border); border-radius: var(--recipe-control-radius); background: var(--theme-table-header); }
.recipe-direct-serve-details[hidden] { display: none; }
.recipe-direct-serve-details > label { display: grid; min-width: 0; gap: 6px; }
.recipe-image-field { display: grid; justify-items: stretch; gap: 8px; }
.recipe-image-field > strong { color: var(--theme-primary); font-size: 13px; line-height: 1.45; }
.recipe-image-frame { display: grid; place-items: center; width: 100%; aspect-ratio: 4 / 3; overflow: hidden; border: 1px solid var(--recipe-control-border); border-radius: var(--recipe-control-radius); background: #fff; }
.recipe-no-image { color: var(--muted); font-size: 18px; font-weight: 800; letter-spacing: .04em; }
.recipe-no-image[hidden] { display: none; }
.recipe-image-preview { display: block; width: 100%; height: 100%; background: var(--theme-table-header); object-fit: cover; }
.recipe-image-preview[hidden] { display: none; }
.recipe-image-upload { display: inline-flex; align-items: center; justify-content: center; width: auto; min-height: 36px; padding: 7px 14px; border: 1px solid var(--color-success); border-radius: var(--recipe-control-radius); background: var(--color-success); color: #fff !important; cursor: pointer; }
.recipe-image-upload:hover { border-color: #15803d; background: #15803d; color: #fff !important; }
.recipe-image-upload input { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.recipe-image-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.recipe-image-actions .recipe-image-search,
.recipe-image-actions .recipe-image-upload { width: 100%; min-height: 40px; margin: 0; }
.recipe-image-search-help { margin: 0; font-size: 11px; line-height: 1.45; }
.recipe-image-web-search { display: grid; gap: 8px; }
.recipe-image-web-search[hidden] { display: none !important; }
.recipe-image-search-line { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.recipe-image-search-line input { min-width: 0; }
.recipe-image-search-results { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.recipe-image-search-choice { display: grid; gap: 4px; padding: 4px; border: 2px solid transparent; border-radius: 8px; background: #fff; color: var(--theme-primary); text-align: left; cursor: pointer; }
.recipe-image-search-choice:hover,
.recipe-image-search-choice.is-selected { border-color: var(--color-success); }
.recipe-image-search-choice img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 5px; }
.recipe-image-search-choice span { overflow: hidden; font-size: 11px; line-height: 1.35; white-space: nowrap; text-overflow: ellipsis; }
.recipe-image-search-failed { color: var(--color-danger); }
.recipe-image-error { margin: 0; color: var(--color-danger); font-size: 12px; font-weight: 800; line-height: 1.5; }
.recipe-image-error[hidden] { display: none; }
.recipe-edit-panel label > .muted { display: block; margin-top: 4px; color: var(--muted); font-size: 12px; font-weight: 400; }
.recipe-price-input { display: flex; align-items: center; gap: 8px; max-width: 240px; color: var(--theme-text); font-weight: 800; }
.recipe-price-input input { min-width: 0; text-align: right; }
.recipe-ingredient-row { display: grid; grid-template-columns: minmax(180px, 1.5fr) minmax(80px, .6fr) minmax(80px, .6fr) minmax(180px, 1fr) auto; align-items: center; gap: 8px; }
.recipe-ingredient-row { margin-bottom: 8px; }
.recipe-ingredient-row input { min-width: 0; }
.recipe-edit-panel .recipe-ingredient-editor { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
.recipe-ingredient-editor > legend,
.recipe-ingredient-editor > [data-recipe-ingredient-options],
.recipe-ingredient-editor > [data-recipe-ingredient-list] { grid-column: 1 / -1; }
.recipe-ingredient-editor > .recipe-ingredient-help { grid-column: 1; margin: 0; }
.recipe-ingredient-editor > .recipe-ingredient-help::before { content: "※"; }
.recipe-ingredient-editor > .recipe-add-row-action { grid-column: 2; justify-content: flex-end; margin-top: 0; }
.recipe-ingredient-editor > .recipe-ingredient-help + .recipe-add-row-action { grid-row: 3; }
.recipe-ingredient-name-control { position: relative; min-width: 0; }
.recipe-ingredient-name-line { display: flex; align-items: center; gap: 6px; min-width: 0; }
.recipe-ingredient-name-line > input { width: 100%; min-width: 0; }
.recipe-preparation-tag {
  order: -1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 40px;
  padding: 3px 7px;
  border-radius: 999px;
  background: var(--theme-primary);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
}
.recipe-preparation-tag[hidden] { display: inline-flex !important; visibility: hidden; }
.recipe-ingredient-suggestions {
  position: absolute;
  z-index: 120;
  top: calc(100% + 5px);
  left: 0;
  width: min(100%, 420px);
  min-width: 240px;
  overflow: hidden;
  border: 1px solid var(--recipe-control-border);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(74, 45, 28, .18);
}
.recipe-ingredient-suggestions[hidden] { display: none; }
body.theme-store .recipe-ingredient-suggestion {
  display: block;
  width: 100%;
  min-height: 38px;
  padding: 8px 12px;
  border: 0;
  border-bottom: 1px solid #eee3da;
  border-radius: 0;
  background: #fff;
  color: var(--theme-text);
  text-align: left;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
body.theme-store .recipe-ingredient-suggestion:last-child { border-bottom: 0; }
body.theme-store .recipe-ingredient-suggestion:hover,
body.theme-store .recipe-ingredient-suggestion.is-active {
  background: var(--theme-primary-light);
  color: var(--theme-primary);
  box-shadow: inset 3px 0 0 var(--theme-primary);
  transform: none;
}
.recipe-row-actions { display: flex; align-items: center; gap: 4px; }
.recipe-row-placeholder { padding: 6px; border: 1px solid #d8dadd; border-radius: var(--recipe-control-radius); background: #f1f3f5; opacity: .72; }
.recipe-row-placeholder :is(input, textarea) { background: #e5e7eb; color: var(--muted); cursor: not-allowed; }
.recipe-add-row-button,
.recipe-remove-row-button,
.recipe-save-button { border-radius: var(--recipe-control-radius); }
body.theme-store .recipe-edit-panel .recipe-add-row-button {
  border-color: var(--color-success) !important;
  background: var(--color-success) !important;
  color: #fff !important;
}
body.theme-store .recipe-edit-panel .recipe-add-row-button:hover {
  border-color: #166534 !important;
  background: #15803d !important;
  color: #fff !important;
}
body.theme-store .recipe-edit-panel .recipe-remove-row-button {
  border-color: var(--color-danger) !important;
  background: var(--color-danger) !important;
  color: #fff !important;
}
body.theme-store .recipe-edit-panel .recipe-remove-row-button:hover {
  border-color: #991b1b !important;
  background: #b91c1c !important;
  color: #fff !important;
}
.recipe-save-actions { position: static; justify-content: center; gap: 10px; min-height: 42px; margin: 12px 0 0; padding: 10px; border: 1px solid var(--recipe-control-border); border-radius: var(--recipe-control-radius); background: #fff; box-shadow: 0 8px 24px rgba(91, 58, 40, .14); }
.recipe-save-button { min-width: 140px; border-color: #15803d !important; background: #16a34a !important; color: #fff !important; }
.recipe-save-button:hover { border-color: #166534 !important; background: #15803d !important; color: #fff !important; }
.recipe-save-button:disabled,
.recipe-save-button:disabled:hover { border-color: #cbd5e1 !important; background: #cbd5e1 !important; color: #64748b !important; cursor: not-allowed; opacity: 1; box-shadow: none; }
.recipe-save-actions .recipe-delete-button { position: static; min-width: 140px; }
body.theme-store .recipe-edit-panel :is(.recipe-delete-button, .recipe-delete-confirm-button) { border-color: var(--color-danger) !important; background: var(--color-danger) !important; color: #fff !important; }
body.theme-store .recipe-edit-panel :is(.recipe-delete-button, .recipe-delete-confirm-button):hover { border-color: #991b1b !important; background: #b91c1c !important; color: #fff !important; }
.recipe-delete-dialog .store-shopping-confirm-body { display: grid; gap: 10px; }
.recipe-delete-dialog .store-shopping-confirm-body p { margin: 0; }
.recipe-delete-dialog .store-shopping-confirm-body strong { color: var(--theme-primary); font-size: 16px; }
.recipe-leave-dialog { width: min(520px, calc(100vw - 32px)); }
.recipe-leave-dialog .store-shopping-confirm-body { display: grid; gap: 10px; }
.recipe-leave-dialog .store-shopping-confirm-body p { margin: 0; }
.recipe-leave-dialog .store-shopping-confirm-body strong { color: var(--theme-primary); font-size: 15px; }
body.theme-store .recipe-leave-confirm-button { border-color: var(--color-danger) !important; background: var(--color-danger) !important; color: #fff !important; }
body.theme-store .recipe-leave-confirm-button:hover { border-color: #991b1b !important; background: #b91c1c !important; color: #fff !important; }
.recipe-step-row { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; align-items: center; gap: 8px; margin-bottom: 8px; }
.recipe-step-number { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 999px; background: var(--theme-primary-light); color: var(--theme-primary); font-size: 12px; font-weight: 800; }
.recipe-step-row input { min-width: 0; }
.recipe-step-actions { display: flex; align-items: center; gap: 4px; }
.recipe-add-row-action { display: flex; justify-content: flex-end; margin-top: 4px; }
.recipe-component-option { display: grid; grid-template-columns: minmax(220px, 1fr) 120px 100px; align-items: center; gap: 8px; }
.recipe-component-option label { display: flex; align-items: center; gap: 8px; margin: 0; }
.recipe-component-option input { min-width: 0; }
@media (max-width: 760px) {
  .recipe-heading-grid { grid-template-columns: minmax(0, 1fr); }
  .recipe-heading-fields { grid-template-columns: minmax(0, 1fr); }
  .recipe-heading-fields > :is(.recipe-alias-field, .recipe-category-field) { grid-column: 1; }
  .recipe-name-fields-row { grid-template-columns: minmax(0, 1fr); }
  .recipe-drink-settings-grid,
  .recipe-drink-classification,
  .recipe-sales-meta-grid,
  .recipe-inventory-link-field { grid-template-columns: minmax(0, 1fr); }
  .recipe-drink-settings-grid > .recipe-serving-options,
  .recipe-inventory-link-field > :is(legend, .recipe-direct-serve-details, .muted) { grid-column: 1; }
  .recipe-direct-serve-details { grid-template-columns: minmax(0, 1fr); }
  .recipe-custom-serving-method { flex-basis: 180px; width: 180px; }
  .recipe-component-option { grid-template-columns: minmax(0, 1fr); }
  .recipe-ingredient-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .recipe-ingredient-row .recipe-row-actions { grid-column: 1 / -1; justify-content: flex-end; }
  .recipe-step-row { grid-template-columns: 28px minmax(0, 1fr); }
  .recipe-step-actions { grid-column: 2; }
}
.store-work-priority-select { width: auto; min-width: 62px; min-height: 30px; padding: 4px 26px 4px 12px; border: 0; border-radius: 999px; font-size: 12px; font-weight: 800; text-align: center; cursor: pointer; }
.store-work-priority-select.priority-low { background-color: var(--color-success); color: #fff; }
.store-work-priority-select.priority-medium { background-color: var(--color-warning); color: #422006; }
.store-work-priority-select.priority-high { background-color: var(--color-danger); color: #fff; }
body.theme-store .store-dashboard-product-link:hover,
body.theme-store .store-dashboard-product-link:focus-visible { color: var(--theme-primary); }
.store-dashboard-list-panel { position: relative; }
.store-dashboard-list-footer { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; min-height: 30px; margin-top: 8px; }
.store-dashboard-list-footer > .store-candidate-panel-button { grid-column: 1; justify-self: start; }
.store-dashboard-history-link { display: flex; grid-column: 3; align-items: center; justify-content: flex-end; min-height: 30px; margin: 0; padding-right: 0; text-align: right; }
.store-dashboard-history-link a { color: var(--muted); font-size: 12px !important; line-height: 1.4; text-decoration: none; }
.store-dashboard-history-link a span { margin-left: 3px; font-weight: 900; }
.store-dashboard-history-link a:hover { color: var(--theme-primary); text-decoration: underline; }
.store-shopping-expand-button { position: static; z-index: 2; display: grid; grid-column: 2; place-items: center; width: auto; min-width: 72px; height: 32px; min-height: 32px; margin: 0; padding: 0 8px; border: 1px solid var(--store-secondary); border-radius: 6px; background: var(--theme-surface); color: var(--store-primary); font-size: 12px !important; font-weight: 600; white-space: nowrap; cursor: pointer; box-shadow: none; transform: none; }
body.theme-store .store-shopping-expand-button:not(:disabled):hover { border-color: var(--store-primary); background: var(--store-table-header); color: var(--store-primary-hover); filter: none; box-shadow: none; transform: none; }
.store-shopping-dialog { width: min(760px, calc(100vw - 32px)); max-height: min(82vh, 820px); padding: 0; overflow: hidden; border: 1px solid var(--theme-primary-border); border-radius: 10px; background: #fff; color: var(--text); box-shadow: 0 24px 70px rgba(17,24,39,.32); }
.store-shopping-dialog[open] { display: grid; grid-template-rows: auto minmax(0, 1fr); }
.store-shopping-dialog::backdrop { background: rgba(36, 56, 50, .62); backdrop-filter: blur(5px); }
.store-shopping-dialog-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; border-bottom: 1px solid var(--line); background: var(--theme-primary-light); }
.store-shopping-dialog-heading h2 { margin: 0; font-size: 17px; }
.store-shopping-dialog-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; margin-left: auto; }
.store-shopping-dialog-close { display: grid; place-items: center; width: 32px; min-width: 32px; height: 32px; min-height: 32px; padding: 0; border: 1px solid var(--theme-primary-border); border-radius: 50%; background: #fff; color: var(--theme-primary); font-size: 21px; line-height: 1; cursor: pointer; }
.store-shopping-dialog > .table-wrap { overflow: auto; padding: 0 16px 16px; }
.store-business-dashboard-grid { position: relative; }
.dashboard-manual-shopping-dialog {
  position: absolute;
  z-index: 30;
  top: 0;
  left: 0;
  width: calc(50% - 6px);
  max-height: min(720px, calc(100vh - 120px));
  margin: 0;
}
.dashboard-manual-shopping-dialog[hidden] { display: none; }
.dashboard-manual-shopping-dialog:not([hidden]) { display: grid; grid-template-rows: auto minmax(0, 1fr); }
.dashboard-manual-shopping-body { overflow-y: auto; padding: 14px 16px 18px; }
.dashboard-manual-preparation-dialog { right: 0; left: auto; }
@media (max-width: 900px) {
  .dashboard-manual-shopping-dialog { width: 100%; }
}
.store-shopping-confirm-dialog { width: min(480px, calc(100vw - 32px)); max-height: min(76vh, 620px); padding: 0; overflow: hidden; border: 1px solid var(--theme-primary-border); border-radius: 10px; background: #fff; color: var(--text); box-shadow: 0 24px 70px rgba(17,24,39,.32); }
.store-shopping-confirm-dialog[open] { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; }
.store-shopping-confirm-dialog::backdrop { background: rgba(36,56,50,.62); backdrop-filter: blur(5px); }
.user-feedback-dialog { width: min(480px, calc(100vw - 32px)); }
.user-feedback-dialog .store-shopping-confirm-body { display: grid; gap: 12px; padding: 22px 20px; }
.user-feedback-dialog .store-shopping-confirm-body p { margin: 0; font-size: 16px; font-weight: 700; }
.user-feedback-dialog.is-success .store-shopping-dialog-heading { background: #eaf7ef; color: #17683b; }
.user-feedback-dialog.is-error .store-shopping-dialog-heading { background: #fff0f0; color: var(--color-danger); }
.user-feedback-error-list { display: grid; gap: 7px; margin: 0; padding-left: 1.4em; color: var(--color-danger); }
.store-inventory-error-dialog .store-shopping-confirm-body { padding: 18px 20px; }
.store-inventory-error-dialog .inventory-error-list { display: grid; gap: 8px; margin: 0; padding-left: 1.4em; color: var(--color-danger); }
.store-inventory-error-dialog .store-shopping-confirm-actions { padding: 12px 16px; border-top: 1px solid var(--theme-divider); }
.store-shopping-confirm-body { overflow: auto; padding: 18px; }
.store-shopping-confirm-body p { margin: 0 0 10px; color: var(--muted); font-size: 13px; font-weight: 800; }
.store-shopping-confirm-body ul { display: grid; gap: 7px; margin: 0; padding-left: 22px; }
.store-shopping-confirm-actions { display: flex; justify-content: flex-end; gap: 8px; padding: 12px 16px; border-top: 1px solid var(--line); background: #f8fafc; }
.store-sales-panel { display: grid; gap: 8px; }
.store-sales-panel span { color: var(--muted); font-size: 13px; font-weight: 700; }
.store-sales-panel h2 { margin: 0; font-size: 16px; }
.store-sales-panel strong { color: var(--theme-primary); font-size: clamp(24px, 3vw, 36px); line-height: 1.2; }
.store-dashboard-metric-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.store-dashboard-metric-pair > div { display: grid; align-content: start; gap: 4px; min-width: 0; padding: 7px; border-radius: 6px; background: var(--theme-primary-light); }
.store-dashboard-metric-pair strong { font-size: 20px !important; white-space: nowrap; }
.store-sales-chart { display: grid; align-content: center; gap: 12px; min-height: 86px; padding: 12px; border: 1px solid #eadfd4; border-radius: 12px; background: linear-gradient(135deg, #fff9f1 0%, #f4fbf7 52%, #fff4f4 100%); }
.store-sales-chart-row { display: grid; grid-template-columns: 32px minmax(60px, 1fr) auto; align-items: center; gap: 8px; }
.store-sales-chart-row > div { height: 14px; overflow: hidden; border-radius: 999px; background: #ddf3e7; box-shadow: inset 0 1px 2px rgba(17,24,39,.08); }
.store-sales-chart-row i { display: block; width: var(--bar-width); height: 100%; border-radius: inherit; transform: scaleX(0); transform-origin: left center; background: linear-gradient(90deg, #0f9f5f, #27c875 58%, #8de7b6); box-shadow: 0 2px 8px rgba(15,159,95,.28); animation: store-sales-bar-grow .85s cubic-bezier(.2,.8,.2,1) forwards; }
.store-sales-chart-row.is-baseline > div { background: #ffe7dc; }
.store-sales-chart-row.is-baseline i { background: linear-gradient(90deg, #f59e0b, #fb7185 58%, #ef4444); box-shadow: 0 2px 8px rgba(239,68,68,.24); animation-delay: .14s; }
.store-sales-chart-row strong { font-size: 12px !important; white-space: nowrap; }
@keyframes store-sales-bar-grow { to { transform: scaleX(1); } }
@media (prefers-reduced-motion: reduce) { .store-sales-chart-row i { transform: scaleX(1); animation: none; } }
.store-dashboard-recipe-section { display: grid; gap: 8px; margin-top: 12px; }
.store-dashboard-recipe-section > .store-dashboard-panel-heading > a.button {
  font-size: 0 !important;
}
.store-dashboard-recipe-section > .store-dashboard-panel-heading > a.button::after {
  content: "レシピ一覧画面";
  font-size: var(--font-size-caption);
  line-height: 1.5;
}
.store-dashboard-recipe-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
body.theme-store .store-dashboard-recipe-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; margin: 0; color: var(--theme-text); text-decoration: none; box-shadow: 0 8px 18px rgba(17, 24, 39, .08); }
body.theme-store .store-dashboard-recipe-card:hover { border-color: var(--store-dashboard-neutral-border); color: var(--theme-text); box-shadow: 0 10px 22px rgba(17, 24, 39, .11); }
.store-dashboard-recipe-icon { width: 30px; min-width: 30px; height: 30px; fill: none; stroke: var(--theme-primary); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.store-dashboard-recipe-card span { font-weight: 700; }
.store-dashboard-recipe-card strong { color: var(--theme-primary); font-size: 20px; white-space: nowrap; }
@media (max-width: 760px) {
  .store-business-dashboard-grid { grid-template-columns: minmax(0, 1fr); }
  .store-dashboard-recipe-grid { grid-template-columns: minmax(0, 1fr); }
  .store-dashboard-panel-heading { align-items: flex-start; flex-direction: column; }
  .store-shopping-panel-heading { grid-template-columns: minmax(0, 1fr); }
  .store-shopping-panel-heading .store-shopping-category-controls { justify-self: center; }
  .store-shopping-panel-heading .store-dashboard-heading-buttons { justify-self: start; }
}
.hearing-shell { overflow: visible; }
.hearing-shell .section-head h2 { min-width: 0; overflow-wrap: anywhere; line-height: 1.35; }
.hearing-list-table .hearing-col-title { width: 30%; }
.hearing-list-table .hearing-col-business { width: 120px; }
.hearing-list-table .hearing-col-role { width: 150px; }
.hearing-list-table .hearing-col-scale { width: auto; }
.hearing-list-table .hearing-col-system { width: 110px; }
.hearing-list-table .hearing-col-updated { width: 150px; }
.hearing-answer-table .hearing-col-no { width: 64px; }
.hearing-answer-table .hearing-col-category { width: 150px; }
.hearing-answer-table .hearing-col-question { width: 34%; }
.hearing-answer-table .hearing-col-answer { width: auto; }
.hearing-list-table th, .hearing-list-table td,
.hearing-answer-table th, .hearing-answer-table td { vertical-align: top; line-height: 1.55; }
.hearing-list-table td, .hearing-answer-table td { word-break: normal; overflow-wrap: anywhere; }
.hearing-list-table td[data-label="更新日時"] { white-space: nowrap; font-size: 12px; }
.hearing-answer-table td[data-label="No"],
.hearing-answer-table td[data-label="カテゴリ"] { white-space: nowrap; }
.hearing-answer-table td[data-label="回答"] { color: #263238; }
.password-vault-shell .compact-section-header p { margin: 4px 0 0; color: #657084; font-size: 13px; line-height: 1.5; }
.vault-warning { border-color: #f2c6a0; background: #fff8f1; color: #7c2d12; }
.vault-warning p { margin: 0; line-height: 1.6; }
.vault-filter { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(180px, 260px) auto; gap: 10px; align-items: center; margin-bottom: 14px; }
.vault-layout { display: grid; grid-template-columns: minmax(280px, 360px) minmax(0, 1fr); gap: 14px; align-items: start; }
.vault-form-panel { position: sticky; top: 16px; }
.vault-form-panel.standalone { position: static; max-width: 760px; }
.vault-list-panel { min-width: 0; }
.vault-table th:nth-child(1) { width: 120px; }
.vault-table th:nth-child(4) { width: 150px; }
.vault-table th:nth-child(5) { width: 230px; }
.vault-table th:nth-child(6) { width: 130px; }
.vault-table td a { display: inline-block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; }
.vault-reveal-form { display: grid; grid-template-columns: minmax(110px, 1fr) auto; gap: 6px; align-items: center; }
.vault-reveal-form input { min-height: 31px; padding: 5px 8px; font-size: 12px; }
.vault-reveal-panel { border-color: #9ccbbd; background: #f7fcfa; }
.vault-secret-grid { display: grid; grid-template-columns: repeat(2, minmax(180px, 1fr)); gap: 10px; }
.vault-secret-grid input { font-weight: 800; color: #111827; background: #fff; }
.vault-revealed-note { margin: 12px 0 0; padding: 10px; border: 1px solid #c7cdd3; border-radius: 4px; background: #fff; color: #374151; line-height: 1.6; }
.vault-reveal-error { margin-top: 10px; }
.wiki-shell, .wiki-detail-shell, .wiki-edit-shell { color: #2f3439; }
.wiki-head p { margin: 4px 0 0; color: #657084; font-size: 13px; line-height: 1.5; }
.wiki-filter { display: grid; grid-template-columns: minmax(240px, 1fr) minmax(180px, 240px) minmax(150px, 190px) auto; gap: 10px; align-items: center; margin-bottom: 14px; }
.wiki-filter select:nth-of-type(1):last-of-type { grid-column: auto; }
.wiki-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 14px; align-items: start; }
.wiki-article-list { display: grid; gap: 10px; min-width: 0; }
.wiki-card { display: grid; gap: 8px; padding: 14px; border: 1px solid #c7cdd3; border-radius: 4px; background: #fff; }
.wiki-card h3 { margin: 0; font-size: 17px; letter-spacing: 0; }
.wiki-card h3 a { color: #1f4f46; text-decoration: none; }
.wiki-card h3 a:hover { text-decoration: underline; }
.wiki-card p { margin: 0; color: #4b5563; font-size: 13px; line-height: 1.55; }
.wiki-card-meta, .wiki-card-foot { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; color: #657084; font-size: 12px; font-weight: 800; }
.wiki-card-meta span { display: inline-flex; align-items: center; min-height: 22px; padding: 2px 8px; border: 1px solid #cfe4db; border-radius: 999px; background: #f8fcfa; color: #2f6f63; }
.wiki-card-foot { justify-content: space-between; font-weight: 600; }
.wiki-side { position: sticky; top: 16px; }
.wiki-side-list { display: grid; gap: 8px; }
.wiki-side-list a { display: grid; gap: 2px; padding: 8px; border: 1px solid #d7dce1; border-radius: 4px; color: #2f3439; text-decoration: none; }
.wiki-side-list a:hover { border-color: #55a48d; background: #f8fcfa; }
.wiki-side-list strong { font-size: 13px; }
.wiki-side-list span { color: #657084; font-size: 11px; }
.wiki-detail { display: grid; gap: 14px; }
.wiki-detail-head { display: flex; justify-content: space-between; gap: 14px; align-items: flex-start; }
.wiki-detail-head h2 { margin: 6px 0 0; font-size: 24px; letter-spacing: 0; }
.wiki-detail-head p { margin: 6px 0 0; color: #4b5563; line-height: 1.55; }
.wiki-body { padding-top: 8px; border-top: 1px solid #d7dce1; color: #2f3439; font-size: 14px; line-height: 1.75; }
.wiki-body :first-child { margin-top: 0; }
.wiki-body :last-child { margin-bottom: 0; }
.wiki-tags { padding: 8px 10px; border: 1px solid #d7dce1; border-radius: 4px; background: #f8fafc; color: #657084; font-size: 12px; font-weight: 800; }
.wiki-detail-meta { color: #657084; font-size: 12px; }
.wiki-revisions h2 { margin-bottom: 10px; }
.wiki-edit-shell .task-edit-panel { max-width: none; width: 100%; }
.wiki-edit-form { max-width: none; width: 100%; }
.wiki-edit-layout { display: grid; grid-template-columns: minmax(520px, 1fr) minmax(320px, 420px); gap: 18px; align-items: start; }
.wiki-edit-main { display: grid; gap: 12px; min-width: 0; }
.wiki-form-grid { display: grid; grid-template-columns: repeat(2, minmax(180px, 1fr)); gap: 10px; }
.wiki-upload-panel { position: sticky; top: 16px; display: grid; align-content: start; gap: 10px; min-height: 0; padding: 12px; border: 1px solid #b7d8c8; border-radius: 6px; background: #f8fcfa; }
.wiki-upload-panel-head { display: grid; gap: 5px; }
.wiki-upload-panel-head h3 { margin: 0; color: #1f4f46; font-size: 15px; letter-spacing: 0; }
.wiki-upload-drop { display: grid; gap: 6px; min-height: 0; padding: 8px; border: 1px dashed #78b7a5; border-radius: 4px; background: #fff; color: #2f6f63; cursor: pointer; }
.wiki-upload-drop:hover { border-color: #408c7b; background: #f0f9f4; }
.wiki-upload-drop input { width: 100%; min-height: 34px; padding: 4px; border: 1px solid #c7cdd3; border-radius: 4px; background: #fff; color: #1f4f46; cursor: pointer; }
.wiki-upload-drop span { color: #657084; font-size: 11px; font-weight: 800; line-height: 1.3; }
.wiki-upload-preview-list { grid-template-columns: 1fr; max-height: 300px; overflow: auto; padding-right: 2px; }
.wiki-existing-attachments { display: grid; gap: 8px; padding-top: 10px; border-top: 1px solid #d7dce1; }
.wiki-existing-attachments h3 { margin: 0; font-size: 14px; letter-spacing: 0; }
.announcement-strip { display: grid; gap: 8px; margin-bottom: 14px; border-color: #b7d8c8; background: #f0f9f4; }
.announcement-strip article { display: grid; gap: 3px; }
.announcement-strip strong { color: #1f4f46; font-size: 13px; }
.announcement-strip p { margin: 0; color: #3f6259; font-size: 12px; line-height: 1.45; }
.inline-reset-panel { position: relative; }
.inline-reset-panel summary { list-style: none; cursor: pointer; }
.inline-reset-panel summary::-webkit-details-marker { display: none; }
.compact-reset-form { position: absolute; right: 0; z-index: 20; width: 240px; margin-top: 6px; padding: 10px; border: 1px solid #c7cdd3; border-radius: 4px; background: #fff; box-shadow: 0 14px 30px rgba(17,24,39,.16); }
.compact-reset-form input { min-height: 32px; font-size: 13px; }
.super-summary { margin-bottom: 14px; }
.task-box-guide { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 14px; padding: 12px 14px; border: 1px solid #b7d8c8; border-radius: 4px; background: #f0f9f4; }
.task-box-guide[hidden] { display: none; }
.task-box-guide h2 { margin: 0 0 4px; color: #1f4f46; font-size: 15px; letter-spacing: 0; }
.task-box-guide p { margin: 0; color: #3f6259; font-size: 13px; line-height: 1.5; }
.task-workload-panel { padding: 10px 12px; }
.task-workload-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 32px; margin: 0 0 10px; padding-bottom: 8px; border-bottom: 1px solid #d7dce1; color: #2f3439; }
.task-workload-panel.is-collapsed .task-workload-heading { margin-bottom: 0; padding-bottom: 0; border-bottom: 0; }
.task-workload-heading h2 { display: inline; margin: 0 8px 0 0; font-size: 14px; font-weight: 800; line-height: 1.3; letter-spacing: 0; }
.task-workload-toggle-meta { color: #657084; font-size: 12px; font-weight: 700; line-height: 1.3; }
.task-workload-toggle { display: inline-flex; align-items: center; gap: 6px; min-height: 28px; padding: 0 8px; border: 1px solid #d7dce1; border-radius: 4px; background: #fff; color: #657084; font-size: 12px; font-weight: 800; cursor: pointer; }
.task-workload-toggle::after { content: ""; width: 7px; height: 7px; border-right: 2px solid #657084; border-bottom: 2px solid #657084; transform: rotate(45deg) translateY(-1px); }
.task-workload-toggle:hover { border-color: #9aa4b2; color: #2f3439; }
.task-workload-panel.is-collapsed .task-workload-toggle::after { transform: rotate(-45deg); }
.task-workload-panel .toggle-closed { display: none; }
.task-workload-panel.is-collapsed .toggle-open { display: none; }
.task-workload-panel.is-collapsed .toggle-closed { display: inline; }
.task-workload-content { overflow: hidden; }
.task-workload-panel.is-collapsed .task-workload-content { display: none; }
.task-workload-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px; }
.task-workload-card { display: grid; gap: 8px; padding: 11px; border: 1px solid #c7cdd3; border-radius: 4px; background: #f8fafc; }
.task-workload-user { display: flex; align-items: center; gap: 8px; min-width: 0; }
.task-workload-user strong { overflow: hidden; font-size: 13px; white-space: nowrap; text-overflow: ellipsis; }
.task-workload-count { color: #12355b; font-size: 26px; font-weight: 800; line-height: 1; }
.task-workload-count span { margin-left: 2px; color: #657084; font-size: 12px; font-weight: 700; }
.task-workload-meta { display: flex; flex-wrap: wrap; gap: 7px; color: #657084; font-size: 11px; font-weight: 700; }
.workload-number { margin-left: 2px; font-size: 13px; font-weight: 900; }
.workload-number.overdue { color: #c5161d; }
.workload-number.week { color: #2563eb; }
.task-box-filter { justify-content: space-between; margin-bottom: 14px; }
.task-box-add-button { margin-left: auto; }
.task-box-list { display: grid; gap: 10px; }
.task-box-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 12px; border: 1px solid #c7cdd3; border-radius: 4px; background: #fff; }
.task-box-card h3 { margin: 7px 0 6px; font-size: 15px; line-height: 1.45; }
.task-box-card h3 a { color: #2f3439; text-decoration: none; }
.task-box-card h3 a:hover { color: #168875; }
.task-box-card p { margin: 0; color: #657084; font-size: 13px; line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.task-box-meta { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 8px; color: #657084; font-size: 12px; }
.task-box-actions { display: flex; gap: 8px; align-items: center; }
.task-box-actions form { margin: 0; }
.task-box-assign-panel { display: grid; gap: 12px; margin-top: 4px; padding: 12px; border: 1px solid #c7cdd3; border-radius: 4px; background: #f5f7f9; }
.task-box-assign-panel h2 { margin: 0; font-size: 14px; letter-spacing: 0; }
.task-split-choice { display: grid; gap: 8px; padding: 10px; border: 1px solid #d7dce1; border-left: 3px solid #55a48d; border-radius: 4px; background: #fff; }
.task-split-choice strong { color: #263238; font-size: 13px; }
.task-split-choice p { margin: 0; color: #657084; font-size: 12px; line-height: 1.45; }
.segmented-radio { display: inline-grid; grid-template-columns: repeat(2, minmax(82px, 1fr)); gap: 6px; max-width: 220px; }
.segmented-radio label { margin: 0; cursor: pointer; }
.segmented-radio input { position: absolute; opacity: 0; pointer-events: none; }
.segmented-radio span { display: flex; align-items: center; justify-content: center; min-height: 32px; padding: 0 12px; border: 1px solid #c7cdd3; border-radius: 4px; background: #f8fafc; color: #374151; font-size: 13px; font-weight: 800; }
.segmented-radio input:checked + span { border-color: #55a48d; background: #55a48d; color: #fff; }
.dashboard-alert-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; align-items: start; margin-bottom: 14px; }
.dashboard-alert-grid .settings-panel { min-width: 0; margin-bottom: 0; }
.dashboard-todo-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.dashboard-todo-column { display: grid; align-content: start; gap: 8px; min-width: 0; }
.dashboard-todo-column h3 { margin: 0; color: #374151; font-size: 13px; letter-spacing: 0; }
.dashboard-todo-list { display: grid; gap: 8px; }
.dashboard-todo-item { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; align-items: center; gap: 9px; min-height: 42px; padding: 9px 10px; border: 1px solid #d7dce1; border-left: 4px solid #55a48d; border-radius: 4px; background: #fff; }
.dashboard-todo-item.shared { border-left-color: #2563eb; }
.dashboard-todo-title { display: grid; gap: 2px; min-width: 0; color: #2f3439; }
.dashboard-todo-item strong, .dashboard-todo-item span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.dashboard-todo-item strong { font-size: 13px; line-height: 1.3; }
.dashboard-todo-item span { color: #657084; font-size: 12px; font-weight: 700; line-height: 1.3; }
.todo-delete-spacer { display: block; width: 24px; height: 24px; }
.dashboard-todo-add { grid-template-columns: 104px minmax(0, 1fr) 150px 120px auto; margin-top: 10px; }
.dashboard-todo-add select { min-height: 34px; padding: 6px 28px 6px 9px; border-color: #b7d8c8; border-radius: 4px 0 0 4px; background: #fff; font-size: 13px; }
.dashboard-todo-add input { border-left: 0; border-radius: 0; }
.due-alert-panel { margin-bottom: 14px; }
.due-alert-list { display: grid; gap: 8px; }
.due-alert-item { display: grid; grid-template-columns: 96px minmax(0, 1fr) minmax(160px, auto); align-items: center; gap: 10px; min-height: 42px; padding: 9px 10px; border: 1px solid #d7dce1; border-left: 4px solid #94a3b8; border-radius: 4px; background: #fff; color: #2f3439; text-decoration: none; }
.due-alert-item:hover { border-color: #55a48d; text-decoration: none; }
.due-alert-item strong, .due-alert-item span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.due-alert-item strong { color: #2f3439; font-size: 13px; line-height: 1.3; }
.due-alert-item span { color: #657084; font-size: 12px; font-weight: 700; }
.due-alert-item.due-today { border-left-color: #f59e0b; background: #fffaf0; }
.due-alert-item.due-soon { border-left-color: #eab308; background: #fffdf0; }
.due-alert-item.due-overdue { border-left-color: #c5161d; background: #fff5f5; }
.dashboard-alert-grid .due-alert-item { grid-template-columns: 74px minmax(0, 1fr) minmax(96px, .7fr); gap: 8px; min-height: 34px; padding: 6px 8px; }
.dashboard-alert-grid .due-alert-item strong, .dashboard-alert-grid .due-alert-item span { font-size: 12px; line-height: 1.25; white-space: nowrap; }
.task-search-form { display: grid; gap: 8px; }
.task-search-main { display: grid; grid-template-columns: minmax(300px, 1fr) 108px 132px 150px auto auto; gap: 8px; align-items: center; }
.task-search-form input, .task-search-form select { min-height: 32px; padding: 4px 28px 4px 9px; border-color: #b8c0c8; border-radius: 4px; background-color: #fff; color: #2f3439; font-size: 12px; font-weight: 700; }
.task-search-advanced summary { display: inline-flex; align-items: center; min-height: 24px; color: #657084; font-size: 12px; font-weight: 700; cursor: pointer; }
.task-search-advanced summary:hover { color: #2f3439; }
.task-search-advanced-grid { display: grid; grid-template-columns: repeat(6, minmax(112px, 1fr)) auto auto; gap: 8px; align-items: center; padding-top: 6px; }
.task-search-check { display: inline-flex !important; align-items: center; gap: 6px !important; min-height: 32px; padding: 0 8px; border: 1px solid var(--line); border-radius: 4px; background: #fff; color: #2f3439 !important; font-size: 12px; font-weight: 600; white-space: nowrap; }
.task-search-check input { min-height: auto; }
.task-search-results { display: grid; gap: 5px; }
.task-search-row { display: grid; grid-template-columns: minmax(280px, 2.1fr) minmax(118px, .9fr) minmax(90px, .7fr) minmax(92px, .7fr) 86px 70px 132px; gap: 8px; align-items: center; min-height: 42px; padding: 7px 9px; border: 1px solid #d7dce1; border-left: 4px solid #94a3b8; border-radius: 4px; background: #fff; color: #2f3439; text-decoration: none; }
.task-search-row:hover { border-color: #55a48d; text-decoration: none; }
.task-search-row strong, .task-search-row span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.task-search-row strong { font-size: 13px; line-height: 1.25; }
.task-search-row span { color: #657084; font-size: 11px; font-weight: 700; line-height: 1.25; }
.task-search-row.due-today { border-left-color: #f59e0b; background: #fffaf0; }
.task-search-row.due-soon { border-left-color: #eab308; background: #fffdf0; }
.task-search-row.due-overdue { border-left-color: #c5161d; background: #fff5f5; }
.task-search-row.is-disabled { opacity: .62; }
.task-search-loader { margin-top: 10px; padding: 10px; color: #657084; text-align: center; font-size: 13px; font-weight: 700; }
.task-search-loader[hidden] { display: none; }
.deal-filter { justify-content: flex-start; margin-bottom: 0; }
.deal-add-button { margin-left: auto; }
.deal-table { table-layout: fixed; }
.deal-table th:nth-child(1) { width: 25%; }
.deal-table th:nth-child(2) { width: 14%; }
.deal-table th:nth-child(3) { width: 13%; }
.deal-table th:nth-child(4) { width: 10%; }
.deal-table th:nth-child(5), .deal-table th:nth-child(6) { width: 10%; }
.deal-table th:nth-child(7) { width: 10%; }
.deal-table th:nth-child(8) { width: 8%; }
.deal-table td { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.deal-table td.actions { overflow: visible; white-space: normal; }
.deal-actions { justify-content: flex-end; flex-wrap: nowrap; }
.deal-actions form { margin: 0; }
.deal-actions .button { min-width: 54px; padding: 0 10px; text-decoration: none; }
.deal-actions .button:hover { text-decoration: none; }
.deal-table a { color: #2b8a75; font-weight: 800; text-decoration: none; }
.deal-table a:hover { text-decoration: underline; }
.deal-status { display: inline-flex; align-items: center; min-height: 22px; padding: 0 9px; border-radius: 999px; background: #e5e7eb; color: #374151; font-size: 12px; font-weight: 800; line-height: 22px; white-space: nowrap; }
.deal-status.proposal { background: #dbeafe; color: #1d4ed8; }
.deal-status.estimate { background: #fef3c7; color: #92400e; }
.deal-status.ordered { background: #dcfce7; color: #166534; }
.deal-status.lost { background: #fee2e2; color: #991b1b; }
.deal-status.pending { background: #ede9fe; color: #5b21b6; }
.deal-progress-mini { display: grid; gap: 6px; min-width: 96px; }
.deal-mini-track { display: block; width: 100%; height: 5px; overflow: hidden; border-radius: 999px; background: #e5e7eb; }
.deal-mini-track span { display: block; height: 100%; border-radius: inherit; background: #55a48d; }
.deal-mini-track.proposal span { background: #3b82f6; }
.deal-mini-track.estimate span { background: #f59e0b; }
.deal-mini-track.ordered span { background: #22c55e; }
.deal-mini-track.lost span { background: #dc2626; }
.deal-mini-track.pending span { background: #8b5cf6; }
.deal-stepper { display: grid; grid-template-columns: repeat(3, minmax(92px, 1fr)); gap: 0; max-width: 480px; margin-top: 4px; }
.deal-step { position: relative; display: grid; gap: 6px; justify-items: center; color: #9aa4b2; font-size: 12px; font-weight: 800; text-align: center; }
.deal-step::before { content: ""; position: absolute; top: 9px; left: 0; width: 50%; height: 3px; background: #d7dce1; }
.deal-step::after { content: ""; position: absolute; top: 9px; right: 0; width: 50%; height: 3px; background: #d7dce1; }
.deal-step:first-child::before, .deal-step:last-child::after { display: none; }
.deal-step span { position: relative; z-index: 1; width: 20px; height: 20px; border: 3px solid #d7dce1; border-radius: 50%; background: #fff; }
.deal-step.done { color: #168875; }
.deal-step.done::before, .deal-step.done::after { background: #55a48d; }
.deal-step.done span { border-color: #55a48d; background: #55a48d; box-shadow: inset 0 0 0 3px #fff; }
.deal-step.muted { color: #9aa4b2; }
.deal-stepper.lost .deal-step:first-child span { border-color: #dc2626; background: #dc2626; box-shadow: inset 0 0 0 3px #fff; }
.deal-stepper.lost .deal-step:first-child strong { color: #dc2626; }
.deal-stepper.pending .deal-step:first-child span, .deal-stepper.pending .deal-step:nth-child(2) span { border-color: #8b5cf6; background: #8b5cf6; box-shadow: inset 0 0 0 3px #fff; }
.deal-stepper.pending .deal-step:first-child strong, .deal-stepper.pending .deal-step:nth-child(2) strong { color: #5b21b6; }
.deal-text-block { min-height: 56px; margin-bottom: 16px; padding: 12px; border: 1px solid #d7dce1; border-radius: 4px; background: #f8fafc; color: #2f3439; font-size: 13px; line-height: 1.7; }
.stella-shell { display: grid; gap: 14px; }
.stella-page-head { align-items: flex-start; margin-bottom: 0; }
.stella-import-state { display: inline-flex; align-items: center; min-height: 28px; padding: 0 10px; border: 1px solid #b8d9cf; border-radius: 999px; background: #f0faf7; color: #166b5d; font-size: 12px; font-weight: 800; white-space: nowrap; }
.stella-view-tabs { display: inline-flex; gap: 6px; align-items: center; width: max-content; max-width: 100%; overflow-x: auto; padding: 3px; border: 1px solid #d7dce1; border-radius: 7px; background: #fff; }
.stella-view-tabs a { display: inline-flex; align-items: center; justify-content: center; min-height: 32px; padding: 0 13px; border-radius: 5px; color: #526173; font-size: 13px; font-weight: 900; text-decoration: none; white-space: nowrap; }
.stella-view-tabs a:hover { background: #f1f8f5; text-decoration: none; }
.stella-view-tabs a.active { background: #2b8a75; color: #fff; box-shadow: 0 4px 10px rgba(43, 138, 117, .18); }
.stella-summary-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.stella-summary-tile { display: grid; gap: 6px; min-width: 0; min-height: 74px; padding: 12px 14px; border: 1px solid #d7dce1; border-left: 4px solid #55a48d; border-radius: 8px; background: #fff; box-shadow: 0 2px 7px rgba(17, 24, 39, .06); }
.stella-summary-tile:nth-child(2) { border-left-color: #3b82f6; }
.stella-summary-tile:nth-child(3) { border-left-color: #16a34a; }
.stella-summary-tile.attention { border-left-color: #f59e0b; background: #fffaf0; }
.stella-summary-tile.amount { border-left-color: #8b5cf6; }
.stella-summary-tile span { overflow: hidden; color: #657084; font-size: 12px; font-weight: 800; white-space: nowrap; text-overflow: ellipsis; }
.stella-summary-tile strong { overflow: hidden; color: #2f3439; font-size: 23px; line-height: 1.15; white-space: nowrap; text-overflow: ellipsis; }
.stella-summary-tile.amount strong { font-size: 19px; }
.stella-health-panel { display: grid; grid-template-columns: minmax(260px, 1fr) auto minmax(110px, auto); gap: 12px; align-items: center; margin-bottom: 0; padding: 12px; }
.stella-health-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-width: 0; }
.stella-health-head h2 { margin: 0; color: #2f3439; font-size: 15px; }
.stella-health-head p { margin: 3px 0 0; color: #657084; font-size: 12px; font-weight: 800; }
.stella-health-metrics { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; justify-content: flex-end; }
.stella-health-metrics span { display: inline-flex; align-items: center; gap: 6px; min-height: 28px; padding: 0 10px; border: 1px solid #d7dce1; border-radius: 999px; background: #fff; color: #526173; font-size: 12px; font-weight: 900; white-space: nowrap; }
.stella-health-metrics span.ok { border-color: #bbf7d0; background: #f0fdf4; color: #166534; }
.stella-health-metrics span.warning { border-color: #fde68a; background: #fffaf0; color: #92400e; }
.stella-health-metrics span.error { border-color: #fecaca; background: #fff7f7; color: #991b1b; }
.stella-health-metrics span.unchecked { border-color: #d7dce1; background: #f8fafc; color: #526173; }
.stella-batch-progress { color: #657084; font-size: 12px; font-weight: 900; text-align: right; white-space: nowrap; }
.stella-check-table-panel { overflow-x: auto; padding: 0; }
.stella-check-table { min-width: 1080px; margin: 0; }
.stella-check-table th,
.stella-check-table td { vertical-align: middle; }
.stella-check-table td.actions { display: table-cell; text-align: center; white-space: nowrap; }
.stella-check-table td.actions .button { width: auto; min-width: 76px; }
.stella-check-row.stella-health-error td:first-child { box-shadow: inset 4px 0 0 #dc2626; }
.stella-check-row.stella-health-warning td:first-child { box-shadow: inset 4px 0 0 #f59e0b; }
.stella-check-row.stella-health-ok td:first-child { box-shadow: inset 4px 0 0 #16a34a; }
.stella-check-row.is-checking { opacity: .72; }
.stella-check-status { display: inline-flex; align-items: center; justify-content: center; min-width: 62px; min-height: 24px; padding: 0 9px; border-radius: 999px; background: #eef2f7; color: #526173; font-size: 11px; font-weight: 900; white-space: nowrap; }
.stella-check-status.stella-health-ok { background: #dcfce7; color: #166534; }
.stella-check-status.stella-health-warning { background: #fef3c7; color: #92400e; }
.stella-check-status.stella-health-error { background: #fee2e2; color: #991b1b; }
.stella-check-status.stella-health-unchecked { background: #eef2f7; color: #526173; }
.stella-check-status.stella-health-checking { background: #dbeafe; color: #1d4ed8; }
.stella-system-mini { display: inline-flex; align-items: center; min-height: 24px; padding: 0 8px; border-radius: 999px; background: var(--stella-system-soft, #f8fafc); color: var(--stella-system-text, #334155); font-size: 11px; font-weight: 900; white-space: nowrap; }
.stella-system-mini.system-stocks { --stella-system-soft: #f0faf7; --stella-system-text: #166b5d; }
.stella-system-mini.system-crm { --stella-system-soft: #f3f7ff; --stella-system-text: #1d4ed8; }
.stella-system-mini.system-staffos { --stella-system-soft: #fffaf0; --stella-system-text: #92400e; }
.stella-system-mini.system-qr { --stella-system-soft: #fbf7ff; --stella-system-text: #5b21b6; }
.stella-check-company { min-width: 180px; }
.stella-check-company strong,
.stella-check-company small { display: block; overflow: hidden; max-width: 220px; text-overflow: ellipsis; white-space: nowrap; }
.stella-check-company strong { color: #2f3439; font-size: 13px; font-weight: 900; }
.stella-check-company small { margin-top: 2px; color: #657084; font-size: 11px; font-weight: 800; }
.stella-check-url { min-width: 280px; max-width: 420px; }
.stella-check-url a,
.stella-check-url span { display: block; overflow: hidden; color: #1d4ed8; font-size: 12px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.stella-check-url span { color: #657084; }
.stella-check-error { max-width: 260px; color: #657084; font-size: 12px; font-weight: 800; word-break: break-word; }
.stella-filter { display: grid; grid-template-columns: minmax(240px, 1.4fr) repeat(3, minmax(132px, .65fr)) auto auto; gap: 8px; align-items: center; margin-bottom: 0; }
.stella-filter input,
.stella-filter select { min-height: 34px; padding: 5px 28px 5px 9px; border-radius: 6px; font-size: 13px; }
.stella-filter.stella-check-filter { grid-template-columns: minmax(240px, 1fr) minmax(150px, .42fr) minmax(130px, .36fr) auto auto; }
.stella-import-panel { display: grid; gap: 8px; margin-bottom: 0; padding: 12px; }
.stella-import-form { display: grid; grid-template-columns: minmax(280px, 1fr) auto; gap: 10px; align-items: end; }
.stella-import-form label { display: grid; gap: 5px; color: #374151; font-size: 12px; font-weight: 800; }
.stella-import-form input[type="file"] { min-height: 36px; padding: 6px 8px; border-radius: 6px; font-size: 13px; }
.stella-import-error { margin: 0; }
.stella-result-head { display: flex; align-items: center; gap: 10px; margin: 2px 0 -2px; }
.stella-result-head::after { content: ""; height: 1px; flex: 1; background: #c7cdd3; }
.stella-result-head h2 { margin: 0; color: #2f3439; font-size: 15px; }
.stella-result-head span { order: 2; color: #657084; font-size: 12px; font-weight: 800; white-space: nowrap; }
.stella-system-nav { display: flex; gap: 8px; overflow-x: auto; padding: 1px 0 3px; scrollbar-gutter: stable; }
.stella-system-nav a { display: inline-flex; align-items: center; gap: 8px; flex: 0 0 auto; min-height: 36px; padding: 7px 12px; border: 1px solid #d7dce1; border-left: 4px solid var(--stella-system, #55a48d); border-radius: 7px; background: #fff; color: #2f3439; font-size: 12px; font-weight: 900; text-decoration: none; box-shadow: 0 1px 4px rgba(17, 24, 39, .045); }
.stella-system-nav a:hover,
.stella-system-nav a.active { border-color: color-mix(in srgb, var(--stella-system, #55a48d) 50%, #d7dce1); background: var(--stella-system-soft, #f8fcfb); text-decoration: none; }
.stella-system-nav a strong { min-width: 26px; height: 20px; padding: 2px 8px; border-radius: 999px; background: var(--stella-system-soft, #f8fcfb); color: var(--stella-system-text, #174f46); text-align: center; line-height: 16px; }
.stella-system-nav .system-all { --stella-system: #64748b; --stella-system-soft: #f8fafc; --stella-system-text: #334155; }
.stella-system-nav .system-stocks { --stella-system: #2b8a75; --stella-system-soft: #f0faf7; --stella-system-text: #166b5d; }
.stella-system-nav .system-crm { --stella-system: #2563eb; --stella-system-soft: #f3f7ff; --stella-system-text: #1d4ed8; }
.stella-system-nav .system-staffos { --stella-system: #b7791f; --stella-system-soft: #fffaf0; --stella-system-text: #92400e; }
.stella-system-nav .system-qr { --stella-system: #7c3aed; --stella-system-soft: #fbf7ff; --stella-system-text: #5b21b6; }
.stella-system-nav .system-other { --stella-system: #64748b; --stella-system-soft: #f8fafc; --stella-system-text: #334155; }
.stella-system-board { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; align-items: start; }
.stella-system-section { --stella-system: #55a48d; --stella-system-soft: #f8fcfb; display: grid; gap: 8px; min-width: 0; align-content: start; padding-top: 2px; }
.stella-system-section.system-stocks { --stella-system: #2b8a75; --stella-system-soft: #f0faf7; }
.stella-system-section.system-crm { --stella-system: #2563eb; --stella-system-soft: #f3f7ff; }
.stella-system-section.system-staffos { --stella-system: #b7791f; --stella-system-soft: #fffaf0; }
.stella-system-section.system-qr { --stella-system: #7c3aed; --stella-system-soft: #fbf7ff; }
.stella-system-section.system-other { --stella-system: #64748b; --stella-system-soft: #f8fafc; }
.stella-system-heading { display: flex; align-items: center; gap: 10px; min-height: 36px; padding: 7px 10px; border: 1px solid color-mix(in srgb, var(--stella-system) 26%, #d7dce1); border-left: 5px solid var(--stella-system); border-radius: 8px; background: var(--stella-system-soft); }
.stella-system-heading h3 { margin: 0; color: #1f2937; font-size: 15px; line-height: 1.25; }
.stella-system-heading span { margin-left: auto; color: #657084; font-size: 12px; font-weight: 900; white-space: nowrap; }
.stella-record-grid { display: grid; grid-template-columns: 1fr; gap: 8px; align-items: start; }
.stella-card { --stella-card-color: #55a48d; display: block; min-width: 0; padding: 10px 12px; border: 1px solid #d7dce1; border-left: 4px solid var(--stella-card-color); border-radius: 8px; background: #fff; box-shadow: 0 1px 5px rgba(17, 24, 39, .055); }
.stella-card[open] { box-shadow: 0 4px 12px rgba(17, 24, 39, .08); }
.stella-card.system-stocks { --stella-card-color: #2b8a75; }
.stella-card.system-crm { --stella-card-color: #2563eb; }
.stella-card.system-staffos { --stella-card-color: #b7791f; }
.stella-card.system-qr { --stella-card-color: #7c3aed; }
.stella-card.system-other { --stella-card-color: #64748b; }
.stella-card-summary { position: relative; display: grid; gap: 8px; min-width: 0; padding-right: 20px; list-style: none; cursor: pointer; }
.stella-card-summary::-webkit-details-marker { display: none; }
.stella-card-summary::after { content: ""; position: absolute; top: 5px; right: 2px; width: 8px; height: 8px; border-right: 2px solid #9aa4b2; border-bottom: 2px solid #9aa4b2; transform: rotate(45deg); transition: transform .16s ease, top .16s ease; }
.stella-card[open] .stella-card-summary::after { top: 9px; transform: rotate(225deg); }
.stella-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; min-width: 0; }
.stella-card-head > :first-child { min-width: 0; }
.stella-card-title { display: block; overflow: hidden; margin: 0; color: #2f3439; font-size: 15px; font-weight: 900; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.stella-card-meta { overflow: hidden; margin: 0; color: #657084; font-size: 12px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.stella-badge-row { display: flex; justify-content: flex-end; flex-wrap: nowrap; gap: 5px; flex: 0 0 auto; max-width: 48%; overflow: hidden; }
.stella-badge { display: inline-flex; align-items: center; min-height: 22px; padding: 0 8px; border-radius: 999px; background: #e5e7eb; color: #374151; font-size: 11px; font-weight: 800; white-space: nowrap; }
.stella-badge.installed,
.stella-badge.paid { background: #dcfce7; color: #166534; }
.stella-badge.other { background: #ede9fe; color: #5b21b6; }
.stella-badge.unpaid { background: #fee2e2; color: #991b1b; }
.stella-badge.refund { background: #fef3c7; color: #92400e; }
.stella-url-row { display: flex; align-items: center; min-width: 0; min-height: 30px; padding: 5px 8px; border: 1px solid #dbeafe; border-radius: 6px; background: #f8fbff; color: #657084; font-size: 12px; font-weight: 700; }
.stella-url-row a,
.stella-url-row span { overflow: hidden; min-width: 0; text-overflow: ellipsis; white-space: nowrap; }
.stella-url-row a { color: #1d4ed8; text-decoration: none; }
.stella-url-row a:hover { text-decoration: underline; }
.stella-card:not([open]) > .stella-card-body { display: none; }
.stella-card[open] > .stella-card-body { display: grid; gap: 10px; margin-top: 10px; padding-top: 10px; border-top: 1px solid #edf0f3; }
.stella-login-box { display: grid; gap: 6px; padding: 8px; border: 1px solid #d7e8e1; border-radius: 6px; background: #fbfffd; }
.stella-login-row { display: grid; grid-template-columns: 70px minmax(0, 1fr) auto; gap: 6px; align-items: center; min-width: 0; }
.stella-login-label { color: #657084; font-size: 11px; font-weight: 900; white-space: nowrap; }
.stella-login-value { overflow: hidden; min-width: 0; color: #2f3439; font-size: 12px; font-weight: 800; line-height: 1.35; text-overflow: ellipsis; white-space: pre-wrap; word-break: break-all; }
.stella-login-value.masked { color: #526173; letter-spacing: 1px; white-space: nowrap; }
.stella-copy-button { display: inline-flex; align-items: center; justify-content: center; min-width: 48px; min-height: 26px; padding: 0 8px; border: 1px solid #b7d8c8; border-radius: 999px; background: #f0f9f4; color: #168875; font-size: 11px; font-weight: 900; cursor: pointer; white-space: nowrap; }
.stella-copy-button:hover,
.stella-copy-button.copied { border-color: #55a48d; background: #e4f4ed; }
.stella-info-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; margin: 0; }
.stella-info-grid div { min-width: 0; padding: 8px; border: 1px solid #e1e6eb; border-radius: 6px; background: #f8fafc; }
.stella-info-grid dt { overflow: hidden; margin: 0 0 3px; color: #657084; font-size: 11px; font-weight: 800; white-space: nowrap; text-overflow: ellipsis; }
.stella-info-grid dd { overflow: hidden; margin: 0; color: #2f3439; font-size: 13px; font-weight: 800; line-height: 1.3; white-space: nowrap; text-overflow: ellipsis; }
.stella-process-tags { display: flex; flex-wrap: wrap; gap: 5px; }
.stella-process-tags span { display: inline-flex; align-items: center; min-height: 22px; padding: 0 8px; border: 1px solid #d7e8e1; border-radius: 999px; background: #fbfffd; color: #2f6f63; font-size: 11px; font-weight: 800; }
.stella-note { display: -webkit-box; overflow: hidden; margin: 0; color: #4b5563; font-size: 12px; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
@media (max-width: 1280px) {
  .stella-system-board { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.growth-plan-shell { display: grid; gap: 8px; color: #2f3439; }
.growth-tab-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.growth-tabs { display: inline-flex; gap: 6px; align-items: center; max-width: 100%; overflow-x: auto; padding: 3px; border: 1px solid #d7dce1; border-radius: 6px; background: #fff; }
.growth-tabs a { display: grid; gap: 1px; min-width: 86px; padding: 6px 12px; border-radius: 4px; color: #526173; font-size: 13px; font-weight: 900; text-align: center; text-decoration: none; }
.growth-tabs a small { color: inherit; font-size: 10px; font-weight: 800; opacity: .72; }
.growth-tabs a.active { background: #2b8a75; color: #fff; box-shadow: 0 4px 10px rgba(43, 138, 117, .18); }
.growth-tabs a:hover { text-decoration: none; background: #f1f8f5; }
.growth-tabs a.active:hover { background: #2b8a75; }
.growth-tab-manage-link { flex: 0 0 auto; }
.growth-tab-add-form { display: grid; grid-template-columns: minmax(120px, 180px) 92px auto; gap: 6px; align-items: center; flex: 0 0 auto; }
.growth-tab-add-form input, .growth-tab-add-form select, .growth-tab-admin-row input { min-height: 32px; padding: 5px 8px; border-radius: 4px; font-size: 12px; }
.growth-tab-admin { display: grid; gap: 14px; }
.growth-tab-admin-add { justify-content: start; }
.growth-tab-admin-list { display: grid; gap: 8px; }
.growth-tab-admin-row { display: grid; grid-template-columns: 86px minmax(180px, 360px) auto; gap: 8px; align-items: center; max-width: 620px; padding: 8px; border: 1px solid #d7dce1; border-radius: 4px; background: #fff; }
.growth-tab-admin-row span { color: #657084; font-size: 12px; font-weight: 900; }
.growth-control-panel { padding: 8px; border-color: #bdd8ce; background: #f5fbf8; }
.growth-form { display: grid; grid-template-columns: repeat(4, minmax(170px, 1fr)); gap: 7px; align-items: stretch; }
.growth-form label { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3px 8px; align-items: center; min-height: 48px; padding: 7px 8px; border: 1px solid #d7e8e1; border-left: 4px solid #55a48d; border-radius: 4px; background: #fff; color: #374151; font-size: 11px; font-weight: 800; }
.growth-form label:nth-child(3n+2) { border-left-color: #3b82f6; }
.growth-form label:nth-child(3n) { border-left-color: #f59e0b; }
.growth-form output { color: #2b8a75; font-size: 13px; font-weight: 900; white-space: nowrap; }
.growth-form input[type="month"] { grid-column: 1 / -1; min-height: 26px; padding: 2px 7px; border-radius: 4px; font-size: 12px; font-weight: 700; }
.growth-form input[type="range"] { grid-column: 1 / -1; width: 100%; min-height: 18px; padding: 0; border: 0; accent-color: #2b8a75; }
.growth-rate-help { width: 20px; min-width: 20px; height: 20px; min-height: 20px; padding: 0; border: 1px solid #9fb8ad; border-radius: 50%; background: #f5fbf8; color: #2b8a75; font-size: 12px; font-weight: 900; line-height: 18px; cursor: pointer; }
.growth-rate-modal { position: fixed; inset: 0; z-index: 3400; display: grid; place-items: center; padding: 18px; background: rgba(17, 24, 39, .28); }
.growth-rate-modal[hidden] { display: none; }
.growth-rate-dialog { width: min(560px, 100%); overflow: hidden; border: 1px solid #c7d2fe; border-radius: 8px; background: #fff; box-shadow: 0 24px 70px rgba(17,24,39,.28); }
.growth-rate-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; padding: 10px 12px; border-bottom: 1px solid #e5e7eb; background: #f8fbff; }
.growth-rate-head strong { color: #2f3439; font-size: 14px; }
.growth-rate-close { position: relative; width: 28px; min-width: 28px; height: 28px; border: 1px solid #c7cdd3; border-radius: 50%; background: #fff; cursor: pointer; }
.growth-rate-close::before, .growth-rate-close::after { content: ""; position: absolute; top: 13px; left: 7px; width: 12px; height: 2px; border-radius: 999px; background: #374151; }
.growth-rate-close::before { transform: rotate(45deg); }
.growth-rate-close::after { transform: rotate(-45deg); }
.growth-rate-table { width: 100%; border-collapse: collapse; }
.growth-rate-table th, .growth-rate-table td { padding: 9px 12px; border-bottom: 1px solid #edf0f3; color: #374151; font-size: 12px; text-align: left; }
.growth-rate-table th:last-child, .growth-rate-table td:last-child { width: 150px; white-space: nowrap; text-align: right; }
.growth-rate-dialog a { display: block; padding: 10px 12px; color: #2563eb; font-size: 12px; font-weight: 800; text-decoration: none; }
.growth-rate-dialog a:hover { text-decoration: underline; }
.growth-summary-grid { display: grid; grid-template-columns: minmax(360px, 2fr) repeat(3, minmax(190px, 1fr)); gap: 7px; }
.growth-summary-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px; min-height: 38px; padding: 7px 10px; border: 1px solid #b7d8c8; border-left: 4px solid #2b8a75; border-radius: 4px; background: #f8fcfa; }
.growth-summary-card-group { grid-template-columns: repeat(3, minmax(0, 1fr)); border-color: #bfdbfe; border-left-color: #2563eb; background: #f8fbff; }
.growth-summary-card-group div { display: grid; gap: 2px; min-width: 0; padding-right: 8px; border-right: 1px solid #dbeafe; }
.growth-summary-card-group div:last-child { padding-right: 0; border-right: 0; }
.growth-summary-card-primary { border-width: 2px; border-left-width: 6px; box-shadow: 0 8px 20px rgba(17, 24, 39, .10); }
.growth-summary-card-primary.is-success { border-color: #84cc16; border-left-color: #16a34a; background: linear-gradient(180deg, #f7fee7, #ecfdf5); box-shadow: 0 8px 20px rgba(22, 163, 74, .14); }
.growth-summary-card-primary.is-danger { border-color: #fecaca; border-left-color: #dc2626; background: linear-gradient(180deg, #fff7f7, #fef2f2); box-shadow: 0 8px 20px rgba(220, 38, 38, .12); }
.growth-summary-card-annual { border-color: #c7d2fe; border-left-color: #6366f1; background: #fbfcff; }
.growth-summary-card-total { border-color: #fde68a; border-left-color: #f59e0b; background: #fffdf5; }
.growth-summary-card span { overflow: hidden; color: #657084; font-size: 11px; font-weight: 800; white-space: nowrap; text-overflow: ellipsis; }
.growth-summary-card strong { color: #2b8a75; font-size: 16px; line-height: 1.1; white-space: nowrap; }
.growth-summary-card-primary.is-success span { color: #166534; }
.growth-summary-card-primary.is-success strong { color: #15803d; font-size: 20px; }
.growth-summary-card-primary.is-danger span { color: #991b1b; }
.growth-summary-card-primary.is-danger strong { color: #dc2626; font-size: 20px; }
.growth-summary-card:not(.growth-summary-card-group) { min-height: 52px; padding: 10px 14px; border-left-width: 6px; box-shadow: 0 6px 16px rgba(17, 24, 39, .08); }
.growth-summary-card:not(.growth-summary-card-group) span { font-size: 13px; font-weight: 900; }
.growth-summary-card:not(.growth-summary-card-group) strong { font-size: 22px; font-weight: 900; letter-spacing: 0; }
.growth-chart-panel { overflow: hidden; padding: 8px 2px; border-color: #c7d2fe; background: #fbfcff; }
.growth-plan-shell .section-head { margin-bottom: 4px; }
.growth-plan-shell .section-head h2 { font-size: 13px; }
.growth-plan-shell .section-head span { min-height: 18px; font-size: 11px; }
.growth-chart-wrap { width: 100%; overflow: hidden; padding-bottom: 2px; }
.growth-chart { display: block; width: 100%; min-width: 0; height: clamp(220px, 34vh, 360px); max-height: none; background: #fff; border: 1px solid #e5e7eb; border-radius: 4px; }
.growth-chart-title { fill: #2f3439; font-size: 12px; font-weight: 900; }
.growth-axis-label { fill: #657084; font-size: 10px; font-weight: 800; }
.growth-axis-text { fill: #657084; font-size: 9px; font-weight: 700; }
.growth-month-text { font-size: 8px; }
.growth-grid-line { stroke: #d7dce1; stroke-width: 1; }
.growth-grid-line.faint { opacity: .45; }
.growth-axis-line { stroke: #9aa4b2; stroke-width: 1.5; }
.growth-target-line { stroke: #ef4444; stroke-width: 1.5; stroke-dasharray: 5 5; }
.growth-line { fill: none; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.growth-line.base { stroke: #2b8a75; }
.growth-dot.base { fill: #2b8a75; }
.growth-legend { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; margin-top: 8px; color: #374151; font-size: 12px; font-weight: 800; }
.growth-legend span { display: inline-flex; align-items: center; gap: 6px; }
.growth-legend i { display: inline-block; width: 18px; height: 4px; border-radius: 999px; }
.growth-legend i.base { background: #2b8a75; }
.growth-legend i.target { background: #ef4444; }
.growth-table-wrap { overflow-x: auto; }
.growth-table { min-width: 1120px; }
.growth-table th { background: #f3f8fb; color: #374151; }
.growth-table th, .growth-table td { padding: 5px 7px; font-size: 11px; }
.growth-actual-input { width: 100%; min-width: 96px; min-height: 28px; padding: 3px 6px; border: 1px solid #cfd6de; border-radius: 4px; font-size: 12px; text-align: right; }
.growth-actual-input.calculated { background: #f3f6f8; color: #526173; }
.growth-actual-actions { justify-content: flex-end; margin-top: 8px; }
.growth-source-panel { padding: 8px; }
.growth-source-panel pre { margin: 0; padding: 8px 9px; overflow-x: auto; border-radius: 4px; background: #1f2937; color: #f9fafb; font-size: 11px; line-height: 1.35; }
.growth-strategy-shell { display: grid; gap: 10px; color: #2f3439; }
.growth-strategy-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; border: 1px solid #cfe4db; border-left: 5px solid #2b8a75; border-radius: 6px; background: #f8fcfa; }
.growth-strategy-head span { color: #2b8a75; font-size: 11px; font-weight: 900; }
.growth-strategy-head h2 { margin: 2px 0 0; color: #2f3439; font-size: 18px; letter-spacing: 0; }
.growth-strategy-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
.growth-strategy-metrics div { display: grid; gap: 2px; min-width: 0; padding: 8px 10px; border: 1px solid #d7e8e1; border-left: 4px solid #2b8a75; border-radius: 5px; background: #fff; }
.growth-strategy-metrics div:nth-child(2) { border-left-color: #3b82f6; }
.growth-strategy-metrics div:nth-child(3) { border-left-color: #f59e0b; }
.growth-strategy-metrics div:nth-child(4) { border-left-color: #8b5cf6; }
.growth-strategy-metrics span { overflow: hidden; color: #657084; font-size: 11px; font-weight: 800; white-space: nowrap; text-overflow: ellipsis; }
.growth-strategy-metrics strong { overflow: hidden; color: #2f3439; font-size: 17px; line-height: 1.15; white-space: nowrap; text-overflow: ellipsis; }
.growth-strategy-grid { display: grid; grid-template-columns: minmax(320px, .82fr) minmax(420px, 1.18fr); gap: 10px; align-items: start; }
.growth-strategy-panel { padding: 10px; }
.growth-strategy-form { display: grid; gap: 8px; }
.growth-strategy-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
.growth-strategy-form label { display: grid; gap: 4px; color: #374151; font-size: 12px; font-weight: 800; }
.growth-strategy-form input, .growth-strategy-form textarea { min-height: 32px; padding: 6px 8px; border-radius: 4px; font-size: 13px; }
.growth-strategy-form textarea { min-height: 96px; line-height: 1.45; resize: vertical; }
.growth-strategy-conversation { display: grid; gap: 10px; background: #fbfcff; }
.growth-strategy-comment-form { padding: 8px; border: 1px solid #dbeafe; border-radius: 5px; background: #fff; }
.growth-strategy-comment-form textarea { min-height: 72px; font-size: 13px; line-height: 1.45; }
.growth-strategy-comments { max-height: calc(100vh - 360px); min-height: 220px; overflow-y: auto; padding-right: 2px; }
.growth-strategy-comment { border-left: 4px solid #2b8a75; background: #fff; }
.growth-strategy-comment .comment-meta strong { color: #2f3439; font-size: 13px; }
.growth-strategy-comment .comment-meta time { color: #657084; font-size: 11px; }
.growth-strategy-comment p { font-size: 13px; }
@media (max-width: 860px) {
  body { background: #fff; }
  .app-shell { display: block; min-height: 100vh; }
  .sidebar { position: sticky; top: 0; z-index: 20; padding: 12px; gap: 10px; box-shadow: 0 1px 8px rgba(17, 24, 39, .14); }
  .brand { min-height: 36px; }
  .brand img { max-width: 150px; max-height: 36px; }
  .sidebar nav { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 2px; scrollbar-width: none; }
  .sidebar nav::-webkit-scrollbar { display: none; }
  .sidebar a { flex: 0 0 auto; padding: 9px 10px; font-size: 14px; background: rgba(255,255,255,.08); }
  .sidebar-development-menu { flex: 0 0 auto; }
  .sidebar-development-menu summary { min-height: 38px; background: rgba(255,255,255,.08); white-space: nowrap; }
  .sidebar-development-submenu { padding-left: 6px; }
  .logout-form { margin-top: 0; }
  .logout-form .button { min-height: 38px; }
  .main { padding: 14px; }
  .growth-tab-row { align-items: stretch; flex-direction: column; }
  .growth-tabs { width: 100%; }
  .growth-tab-add-form { grid-template-columns: 1fr 96px auto; }
  .growth-tab-admin-row { grid-template-columns: 1fr; max-width: none; }
  .growth-form, .growth-summary-grid, .growth-strategy-grid, .growth-strategy-metrics, .growth-strategy-fields { grid-template-columns: 1fr; }
  .growth-strategy-comments { max-height: none; }
  .topbar { align-items: flex-start; flex-direction: column; margin-bottom: 14px; gap: 8px; }
  .topbar h1 { font-size: 21px; }
  .topbar-store-dashboard-back { width: 100%; margin-left: 0; }
  .topbar-store-dashboard-back .button { flex: 1 1 0; width: auto; min-width: 0; }
  .super-preview-bar { gap: 6px; margin: 6px 14px 0; }
  .super-preview-bar > span { display: none; }
  .super-preview-select-form select { min-width: 150px; max-width: 52vw; }
  .project-ratio-chip { justify-content: flex-start; max-width: 100%; }
  .user-chip { max-width: 100%; }
  .login-page { align-items: center; padding: 16px; }
  .login-card { padding: 25px 20px; margin-top: 0; }
  .login-card h1 { font-size: 32px; }
  .panel { padding: 12px; margin-bottom: 14px; }
  .kanban-toolbar { align-items: stretch; flex-direction: column; }
  .filter-form, .kanban-filter-form { width: 100%; }
  .kanban-filter-form { display: grid; grid-template-columns: 1fr; }
  .kanban-filter-form label { min-width: 0; }
  .stella-summary-grid,
  .stella-system-board,
  .stella-health-panel,
  .stella-filter,
  .stella-import-form,
  .stella-record-grid { grid-template-columns: 1fr; }
  .stella-health-head { align-items: stretch; flex-direction: column; }
  .stella-health-metrics { justify-content: flex-start; }
  .stella-batch-progress { text-align: left; }
  .stella-check-table { min-width: 0; }
  .stella-check-company strong,
  .stella-check-company small,
  .stella-check-url a,
  .stella-check-url span { max-width: none; white-space: normal; }
  .stella-card-head { align-items: stretch; flex-direction: column; }
  .stella-badge-row { justify-content: flex-start; max-width: none; }
  .stella-info-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-actions { justify-content: stretch; }
  .page-actions .button { width: 100%; }
  .user-department-heading { align-items: stretch; flex-direction: column; }
  .my-task-overview { align-items: stretch; }
  .grid-form { grid-template-columns: 1fr; }
  .grid-form textarea { grid-column: span 1; }
  .card-grid { grid-template-columns: 1fr; }
  .actions { align-items: stretch; }
  .actions .button, .actions form, .actions form .button { width: 100%; }
  .table { display: block; border: 0; background: transparent; }
  .table thead { display: none; }
  .table tbody { display: grid; gap: 10px; }
  .table tr { display: grid; gap: 6px; border: 1px solid var(--line); border-radius: 8px; background: #fff; padding: 12px; }
  .table td { display: flex; justify-content: space-between; gap: 12px; border-bottom: 0; padding: 0; word-break: break-word; }
  .table td[data-label]::before { content: attr(data-label); color: var(--muted); flex: 0 0 118px; }
  .table td:last-child { justify-content: stretch; }
  .table td:last-child::before { content: ""; display: none; }
  .table td .button, .table td form, .table td form .button { width: 100%; }
	  .dashboard-link-board { grid-auto-flow: row; grid-auto-columns: auto; grid-template-columns: 1fr; overflow-x: visible; gap: 12px; padding: 10px; }
	  .dashboard-alert-grid { grid-template-columns: 1fr; }
	  .dashboard-todo-columns, .dashboard-todo-add { grid-template-columns: 1fr; }
	  .dashboard-todo-add select, .dashboard-todo-add input { border: 1px solid #b7d8c8; border-radius: 4px; }
	  .dashboard-alert-grid .due-alert-item, .dashboard-alert-grid .due-alert-item span:last-child { grid-column: auto; }
  .bookmark-category { padding: 0; }
  .kanban-shell { margin: 0; padding: 0; border-radius: 0; }
  .task-view-switch { display: flex; }
  .task-view-switch a { flex: 1; }
  .task-project-filter > span { background: var(--theme-bg, #f5f7fb); }
  .kanban-toolbar { align-items: stretch; flex-direction: column; }
  .kanban-board { display: grid; grid-auto-flow: row; grid-auto-columns: auto; grid-template-columns: 1fr; overflow-x: visible; gap: 12px; }
  .kanban-column { min-height: 180px; padding: 10px; }
  .task-list { min-height: 80px; }
  .task-card { padding: 12px; }
  .due-alert-item, .task-search-row { grid-template-columns: 1fr; align-items: start; }
  .task-search-main, .task-search-advanced-grid { grid-template-columns: 1fr; }
  .task-search-row { min-height: 0; gap: 4px; padding: 8px 9px; }
  .task-search-row strong, .task-search-row span { white-space: normal; }
  .task-search-row span { font-size: 12px; }
  .notification-item { align-items: stretch; flex-direction: column; gap: 6px; }
  .notification-item .actions { width: 100%; }
  .notification-item .actions .button, .notification-item .actions form, .notification-item .actions form .button { width: 100%; }
  .task-meta { align-items: flex-start; flex-direction: column; gap: 5px; }
  .settings-shell { margin: 0; padding: 0; border-radius: 0; }
  .settings-grid { grid-template-columns: 1fr; }
  .shopping-tools-grid { grid-template-columns: 1fr; }
  .settings-panel { padding: 12px; }
  .vault-filter, .vault-layout, .vault-secret-grid { grid-template-columns: 1fr; }
  .vault-form-panel { position: static; }
  .vault-reveal-form { grid-template-columns: 1fr; width: 100%; }
  .vault-table td a { white-space: normal; }
  .wiki-filter, .wiki-layout, .wiki-edit-layout, .wiki-form-grid { grid-template-columns: 1fr; }
  .wiki-side, .wiki-upload-panel { position: static; }
  .wiki-upload-panel { min-height: 0; }
  .wiki-detail-head { flex-direction: column; align-items: stretch; }
  .wiki-detail-head .actions { width: 100%; }
  .settings-table tr { border-color: #c7cdd3; border-radius: 4px; }
  .settings-table tbody tr:nth-child(even) td { background: #fff; }
  .task-box-card, .task-box-actions { display: grid; grid-template-columns: 1fr; }
  .task-box-actions .button, .task-box-actions form, .task-box-actions form .button { width: 100%; }
  .task-detail-shell { margin: 0; padding: 0; border-radius: 0; }
  .task-detail-top { flex-direction: column; }
  .task-detail-layout { grid-template-columns: 1fr; }
  .attachment-item { grid-template-columns: 24px minmax(0, 1fr); }
  .attachment-item small { grid-column: 2; }
  .attachment-row { grid-template-columns: 1fr; }
  .attachment-preview-modal { padding: 10px; }
  .attachment-preview-body img { max-height: calc(100vh - 112px); }
  .attachment-preview-body iframe { height: calc(100vh - 112px); }
  .upload-preview-list { grid-template-columns: 1fr; }
  .detail-list { grid-template-columns: 86px 1fr; }
  .gantt-shell { margin: 0; padding: 0; border-radius: 0; }
  .gantt-control-row, .gantt-subbar { align-items: flex-start; flex-direction: column; }
  .gantt-range-group, .gantt-status-set { margin-left: 0; }
  .gantt-chart { max-height: calc(100vh - 220px); min-height: 320px; }
  .gantt-head, .gantt-row { grid-template-columns: 240px minmax(760px, 1fr); min-width: 1000px; }
  .gantt-task-head, .gantt-task-cell { grid-template-columns: minmax(0, 1fr) 76px; }
  .meeting-prompt-widget { right: 10px; bottom: 10px; left: 10px; }
  .meeting-prompt-tab { right: 0; bottom: 0; width: auto; min-width: 64px; min-height: 36px; padding: 0 12px; border: 1px solid #aeb6be; border-radius: 999px; box-shadow: 0 8px 20px rgba(17, 24, 39, .18); }
  .meeting-prompt-panel { left: 10px !important; right: 10px !important; top: auto !important; bottom: 10px !important; width: auto; max-width: none; max-height: 70vh; border-radius: 8px; }
  .meeting-prompt-head { cursor: default; }
  .dice-widget { right: 10px; bottom: 10px; }
  .dice-widget.has-prompt { right: 86px; bottom: 10px; }
  .roulette-widget { right: 10px; bottom: 10px; }
  .roulette-widget.has-dice, .roulette-widget.has-prompt { right: 86px; bottom: 10px; }
  .roulette-widget.has-prompt.has-dice { right: 146px; bottom: 10px; }
  .roulette-stage { min-width: calc(100vw - 24px); padding: 30px 18px; }
  .roulette-stage strong { white-space: normal; }
}

@media (max-width: 420px) {
  .main { padding: 10px; }
  .sidebar { padding: 10px; }
  .login-page { padding: 10px; }
  .login-card { padding: 16px; }
  .login-card h1 { font-size: 28px; }
  .button { width: 100%; }
  .icon-button, .menu-item { width: 100%; }
  .button.small { min-height: 38px; }
  .my-task-total, .my-task-metric, .my-task-column { min-height: 40px; }
  .stella-info-grid { grid-template-columns: 1fr; }
  input, select, textarea { font-size: 16px; }
}

.store-mobile-menu-toggle { display: none; }

@media (max-width: 860px) {
  .sidebar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px 44px;
    align-items: center;
    gap: 8px;
    z-index: 1000;
  }
  .sidebar > .sidebar-nav-sprite { position: absolute; }
  .sidebar > .brand { grid-column: 1; grid-row: 1; }
  .store-mobile-menu-toggle {
    grid-column: 3;
    grid-row: 1;
    display: grid;
    place-content: center;
    gap: 4px;
    width: 44px;
    min-width: 44px;
    height: 40px;
    min-height: 40px;
    padding: 0;
    border: 1px solid rgba(255,255,255,.48);
    border-radius: 7px;
    background: rgba(255,255,255,.1);
    cursor: pointer;
  }
  .topbar .topbar-user-menu-desktop { display: none; }
  .sidebar > .topbar-user-menu-mobile { display: block; grid-column: 2; grid-row: 1; margin: 0; }
  .sidebar > .topbar-user-menu-mobile > summary { border-color: rgba(255,255,255,.48); background: rgba(255,255,255,.1); color: #fff; box-shadow: none; }
  .sidebar > .topbar-user-menu-mobile .topbar-user-menu-panel { top: calc(100% + 9px); right: 0; }
  .store-mobile-menu-toggle span { display: block; width: 22px; height: 2px; border-radius: 999px; background: #fff; transition: transform .18s ease, opacity .18s ease; }
  .sidebar.store-mobile-menu-open .store-mobile-menu-toggle span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  .sidebar.store-mobile-menu-open .store-mobile-menu-toggle span:nth-child(2) { opacity: 0; }
  .sidebar.store-mobile-menu-open .store-mobile-menu-toggle span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
  .sidebar > :is(nav, a, .sidebar-user, .logout-form, .sidebar-dashboard-switches, .sidebar-preview-control, .sidebar-super-menu) { display: none; }
  .sidebar.store-mobile-menu-open > :is(nav, a, .sidebar-user, .logout-form, .sidebar-dashboard-switches, .sidebar-preview-control, .sidebar-super-menu) { grid-column: 1 / -1; width: 100%; min-width: 0; }
  .sidebar.store-mobile-menu-open > nav { display: flex; flex-direction: column; gap: 6px; max-height: calc(100dvh - 86px); padding: 4px 0 8px; overflow-x: hidden; overflow-y: auto; }
  .sidebar.store-mobile-menu-open { max-height: 100dvh; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; }
  .sidebar.store-mobile-menu-open > nav { max-height: none; overflow: visible; }
  .sidebar.store-mobile-menu-open > a,
  .sidebar.store-mobile-menu-open > .sidebar-user { display: flex; }
  .sidebar.store-mobile-menu-open > .logout-form { display: block; margin: 0; }
  .sidebar.store-mobile-menu-open > .sidebar-dashboard-switches { display: grid; }
  .sidebar.store-mobile-menu-open > .sidebar-preview-control { display: block; }
  .sidebar.store-mobile-menu-open > .sidebar-super-menu { display: block; }
  .sidebar.store-mobile-menu-open .sidebar-super-submenu { position: static; margin-top: 4px; box-shadow: none; }
  .sidebar.store-mobile-menu-open nav > :is(a, .sidebar-development-menu, .sidebar-menu-group, .super-tenant-menu) {
    display: flex !important;
    flex: 0 0 auto;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }
  .sidebar.store-mobile-menu-open .sidebar-development-menu { flex-direction: column; }
  .sidebar.store-mobile-menu-open .sidebar-development-trigger,
  .sidebar.store-mobile-menu-open .sidebar-development-submenu,
  .sidebar.store-mobile-menu-open .sidebar-development-submenu a { display: flex !important; width: 100%; min-width: 0; }
  .sidebar.store-mobile-menu-open .sidebar-development-submenu { position: static; flex-direction: column; gap: 4px; padding: 4px 0 4px 16px; border: 0; background: transparent; box-shadow: none; }
  .sidebar.store-mobile-menu-open .sidebar-menu-group > .sidebar-context-children { position: static; display: none; width: auto; margin: 0 0 2px 16px; padding: 2px 0 2px 8px; border: 0; border-left: 2px solid rgba(255,255,255,.32); border-radius: 0; background: transparent; box-shadow: none; }
  .sidebar.store-mobile-menu-open .sidebar-menu-group.mobile-submenu-open > .sidebar-context-children { display: grid; }
  .sidebar.store-mobile-menu-open .sidebar-menu-group.mobile-submenu-open > .sidebar-menu-parent::after { transform: rotate(90deg); }
  .sidebar.store-mobile-menu-open .super-tenant-menu {
    position: static;
    flex-direction: column;
    gap: 4px;
  }
  .sidebar.store-mobile-menu-open .super-tenant-menu > form,
  .sidebar.store-mobile-menu-open .super-tenant-menu .sidebar-tenant-entry,
  .sidebar.store-mobile-menu-open .super-tenant-submenu form,
  .sidebar.store-mobile-menu-open .super-tenant-submenu :is(a, button) {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }
  .sidebar.store-mobile-menu-open .super-tenant-menu .sidebar-tenant-entry::after { display: none; }
  .sidebar.store-mobile-menu-open .super-tenant-submenu,
  .sidebar.store-mobile-menu-open .super-tenant-menu:hover .super-tenant-submenu,
  .sidebar.store-mobile-menu-open .super-tenant-menu:focus-within .super-tenant-submenu {
    position: static;
    display: grid;
    width: auto;
    max-width: none;
    margin: 0 0 2px 16px;
    padding: 2px 0 2px 8px;
    border: 0;
    border-left: 2px solid rgba(255,255,255,.32);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }
}

@media (max-width: 1180px) {
  body.theme-store .sidebar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px 44px;
    align-items: center;
    gap: 8px;
  }
  body.theme-store .sidebar > .sidebar-nav-sprite { position: absolute; }
  body.theme-store .sidebar > .brand { grid-column: 1; grid-row: 1; }
  body.theme-store .store-mobile-menu-toggle {
    grid-column: 3;
    grid-row: 1;
    display: grid;
    place-content: center;
    gap: 4px;
    width: 44px;
    min-width: 44px;
    height: 40px;
    min-height: 40px;
    padding: 0;
    border: 1px solid rgba(255,255,255,.48);
    border-radius: 7px;
    background: rgba(255,255,255,.1);
    cursor: pointer;
  }
  body.theme-store .topbar .topbar-user-menu-desktop { display: none; }
  body.theme-store .sidebar > .topbar-user-menu-mobile { display: block; grid-column: 2; grid-row: 1; margin: 0; }
  body.theme-store .sidebar > .topbar-user-menu-mobile > summary { border-color: rgba(255,255,255,.48); background: rgba(255,255,255,.1); color: #fff; box-shadow: none; }
  body.theme-store .store-mobile-menu-toggle span {
    display: block;
    width: 22px;
    height: 2px;
    border-radius: 999px;
    background: #fff;
    transition: transform .18s ease, opacity .18s ease;
  }
  body.theme-store .sidebar.store-mobile-menu-open .store-mobile-menu-toggle span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  body.theme-store .sidebar.store-mobile-menu-open .store-mobile-menu-toggle span:nth-child(2) { opacity: 0; }
  body.theme-store .sidebar.store-mobile-menu-open .store-mobile-menu-toggle span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
  body.theme-store .sidebar > :is(nav, a, .sidebar-user, .logout-form, .sidebar-dashboard-switches, .sidebar-preview-control, .sidebar-super-menu) { display: none; }
  body.theme-store .sidebar.store-mobile-menu-open > :is(nav, a, .sidebar-user, .logout-form, .sidebar-dashboard-switches, .sidebar-preview-control, .sidebar-super-menu) {
    grid-column: 1 / -1;
    display: flex;
    width: 100%;
    min-width: 0;
  }
  body.theme-store .sidebar.store-mobile-menu-open > nav {
    flex-direction: column;
    gap: 6px;
    max-height: calc(100dvh - 86px);
    padding: 4px 0 8px;
    overflow-x: hidden;
    overflow-y: auto;
  }
  body.theme-store .sidebar.store-mobile-menu-open { max-height: 100dvh; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; }
  body.theme-store .sidebar.store-mobile-menu-open > nav { max-height: none; overflow: visible; }
  body.theme-store .sidebar.store-mobile-menu-open nav > :is(a, .sidebar-development-menu),
  body.theme-store .sidebar.store-mobile-menu-open .sidebar-development-trigger,
  body.theme-store .sidebar.store-mobile-menu-open .sidebar-development-submenu,
  body.theme-store .sidebar.store-mobile-menu-open .sidebar-development-submenu a {
    display: flex !important;
    width: 100%;
    min-width: 0;
  }
  body.theme-store .sidebar.store-mobile-menu-open .sidebar-development-menu { flex-direction: column; }
  body.theme-store .sidebar.store-mobile-menu-open .sidebar-development-submenu {
    position: static;
    flex-direction: column;
    gap: 4px;
    padding: 4px 0 4px 16px;
    border: 0;
    background: transparent;
    box-shadow: none;
  }
  body.theme-store .sidebar.store-mobile-menu-open .sidebar-menu-group > .sidebar-context-children {
    position: static;
    display: none;
    width: auto;
    margin: 0 0 2px 16px;
    padding: 2px 0 2px 8px;
    border: 0;
    border-left: 2px solid var(--store-accent, #c8a27a);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }
  body.theme-store .sidebar.store-mobile-menu-open .sidebar-menu-group.mobile-submenu-open > .sidebar-context-children { display: grid; }
  body.theme-store .sidebar.store-mobile-menu-open .sidebar-menu-group.mobile-submenu-open > .sidebar-menu-parent::after { transform: rotate(90deg); }
  body.theme-store .sidebar.store-mobile-menu-open .sidebar-user { align-items: center; }
  body.theme-store .sidebar.store-mobile-menu-open .logout-form { margin: 0; }
  body.theme-store .sidebar.store-mobile-menu-open > .sidebar-dashboard-switches { display: grid; }
  body.theme-store .sidebar.store-mobile-menu-open > .sidebar-preview-control { display: block; }
  body.theme-store .sidebar.store-mobile-menu-open > .sidebar-super-menu { display: block; }
  body.theme-store .sidebar.store-mobile-menu-open .sidebar-super-submenu { position: static; margin-top: 4px; box-shadow: none; }

  body.theme-store .table-wrap > :is(.table, .settings-table):has(tbody td:nth-child(1):is(.store-product-name,[data-label="商品"],[data-label="商品名"],[data-label="仕込み"],[data-label="仕込み名"])) :is(th,td):nth-child(1),
  body.theme-store .table-wrap > :is(.table, .settings-table):has(tbody td:nth-child(2):is(.store-product-name,[data-label="商品"],[data-label="商品名"],[data-label="仕込み"],[data-label="仕込み名"])) :is(th,td):nth-child(2),
  body.theme-store .table-wrap > :is(.table, .settings-table):has(tbody td:nth-child(3):is(.store-product-name,[data-label="商品"],[data-label="商品名"],[data-label="仕込み"],[data-label="仕込み名"])) :is(th,td):nth-child(3),
  body.theme-store .table-wrap > :is(.table, .settings-table):has(tbody td:nth-child(4):is(.store-product-name,[data-label="商品"],[data-label="商品名"],[data-label="仕込み"],[data-label="仕込み名"])) :is(th,td):nth-child(4),
  body.theme-store .table-wrap > :is(.table, .settings-table):has(tbody td:nth-child(5):is(.store-product-name,[data-label="商品"],[data-label="商品名"],[data-label="仕込み"],[data-label="仕込み名"])) :is(th,td):nth-child(5),
  body.theme-store .table-wrap > :is(.table, .settings-table):has(tbody td:nth-child(6):is(.store-product-name,[data-label="商品"],[data-label="商品名"],[data-label="仕込み"],[data-label="仕込み名"])) :is(th,td):nth-child(6) {
    width: 34% !important;
  }
  body.theme-store .table-wrap td:is(.store-product-name,[data-label="商品"],[data-label="商品名"],[data-label="仕込み"],[data-label="仕込み名"]),
  body.theme-store .table-wrap td :is(.store-dashboard-product-link,.preparation-name-link) {
    font-size: clamp(10px, 2.6vw, 13px) !important;
    font-weight: 800;
    line-height: 1.35;
  }
}

.attendance-daily-heading-actions {
  display: flex;
  align-items: end;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.attendance-daily-delete-form {
  display: inline-flex;
  margin: 0 0 0 5px;
}

@media (max-width: 700px) {
  .attendance-daily-heading-actions {
    width: 100%;
    align-items: stretch;
  }

  .attendance-daily-heading-actions > .button,
  .attendance-daily-heading-actions .attendance-daily-date-form {
    width: 100%;
  }
}

@media (max-width: 420px) {
  body.theme-store .table-wrap > :is(.table, .settings-table):has(tbody td:is(.store-product-name,[data-label="商品"],[data-label="商品名"],[data-label="仕込み"],[data-label="仕込み名"])) td:is(.store-product-name,[data-label="商品"],[data-label="商品名"],[data-label="仕込み"],[data-label="仕込み名"]) {
    font-size: 10px !important;
  }
}

.priority-badge, .lead-time-tag { display: inline-block; padding: 3px 8px; border-radius: 999px; font-weight: 700; white-space: nowrap; }
.priority-urgent { background: #fee2e2; color: #991b1b; }
.priority-buy-soon { background: #fef3c7; color: #92400e; }
.priority-enough { background: #dcfce7; color: #166534; }
.shopping-row-completed .priority-badge { background: #e5e7eb; color: #6b7280; }
.lead-time-tag { background: #eef2f7; color: #475569; }
.inventory-inline-editor { display: none; }
.inventory-inline-editor.is-open { display: block; }
.inventory-inline-trigger { max-width: 100%; padding: .2rem .3rem; white-space: normal; }
.inventory-inline-trigger.is-open { display: none; }
.inventory-inline-options {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  min-width: 7rem;
  max-width: 10rem;
  line-height: 1.05;
}
.inventory-inline-options label {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  font-weight: 400;
  white-space: nowrap;
  margin: 0;
  padding: .05rem 0;
}
.inventory-inline-options input[type="checkbox"],
.inventory-inline-options input[type="radio"] {
  width: 1rem;
  height: 1rem;
  min-width: 1rem;
  margin: 0;
  padding: 0;
  flex: 0 0 1rem;
}
.inventory-row-unlocked,
.inventory-row-unlocked > td {
  background: #eaf2fb !important;
}
.inventory-row-unlocked { box-shadow: inset 4px 0 0 #173f67; }
.inventory-edit-current-stock { margin-left: 12px; font-weight: 400; }
.inventory-auto-purchase-checkbox {
    width: 1em;
    min-width: 1em;
    height: 1em;
    min-height: 1em;
    margin: 0;
    padding: 0;
}
body.theme-store .inventory-editor-form label:has(> .inventory-auto-purchase-checkbox) {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-items: center;
  gap: 2px 8px;
  min-height: 58px;
  padding: 10px 14px;
  border: 1px solid var(--inventory-editor-border);
  border-radius: var(--inventory-editor-radius);
  background: var(--theme-surface);
  cursor: not-allowed;
  transition: border-color .16s ease, background-color .16s ease, color .16s ease;
}
body.theme-store .inventory-editor-form label:has(> .inventory-auto-purchase-checkbox)::before {
  content: "自動買い出し対象";
  grid-column: 2;
  grid-row: 1;
  color: var(--theme-heading);
  font-size: 13px;
  font-weight: 800;
}
body.theme-store .inventory-editor-form label:has(> .inventory-auto-purchase-checkbox)::after {
  content: "在庫報告が最低在庫を下回ったときに、買い出し対象として自動判定します。最低在庫・目標在庫の設定が必要です。";
  grid-column: 2;
  grid-row: 2;
  color: var(--theme-muted);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
}
body.theme-store .inventory-editor-form .inventory-auto-purchase-checkbox {
  grid-column: 1;
  grid-row: 1 / 3;
  align-self: center;
  accent-color: var(--theme-primary);
}
body.theme-store .inventory-editor-form.inventory-master-edit-unlocked label:has(> .inventory-auto-purchase-checkbox) {
  cursor: pointer;
}
body.theme-store .inventory-editor-form.inventory-master-edit-unlocked label:has(> .inventory-auto-purchase-checkbox):hover {
  border-color: var(--theme-primary);
  background: var(--theme-primary-light);
}
body.theme-store .inventory-editor-form label:has(> .inventory-auto-purchase-checkbox:checked) {
  border-color: var(--theme-primary);
  background: var(--theme-primary);
}
body.theme-store .inventory-editor-form label:has(> .inventory-auto-purchase-checkbox:checked)::before,
body.theme-store .inventory-editor-form label:has(> .inventory-auto-purchase-checkbox:checked)::after {
  color: var(--theme-on-primary);
}
body.theme-store .inventory-editor-form label:has(> .inventory-auto-purchase-checkbox:checked)::after {
  opacity: .82;
}
.inventory-inline-editor .button { margin-top: .2rem; padding-top: .25rem; padding-bottom: .25rem; }
.inventory-row-batch-form { margin: 0 0 .25rem; }
.inventory-bulk-update-panel {
  margin: 0 0 16px;
  border: 1px solid var(--theme-primary-border);
  border-radius: 8px;
  background: var(--theme-primary-light);
  box-shadow: 0 4px 12px rgba(74, 48, 34, .08);
  overflow: hidden;
}
.inventory-bulk-update-panel > summary {
  position: relative;
  padding: 14px 46px 14px 18px;
  color: var(--theme-heading);
  font-size: 15px;
  font-weight: 800;
  line-height: 1.4;
  list-style: none;
  cursor: pointer;
}
.inventory-bulk-update-panel > summary::-webkit-details-marker { display: none; }
.inventory-bulk-update-panel > summary::after {
  content: "›";
  position: absolute;
  right: 18px;
  top: 50%;
  color: var(--theme-primary);
  font-size: 24px;
  transform: translateY(-50%) rotate(90deg);
  transition: transform .16s ease;
}
.inventory-bulk-update-panel[open] > summary {
  border-bottom: 1px solid var(--theme-divider-strong);
}
.inventory-bulk-update-panel[open] > summary::after {
  transform: translateY(-50%) rotate(-90deg);
}
.inventory-bulk-update-form {
  display: grid;
  grid-template-columns: minmax(180px, .8fr) minmax(220px, 1.4fr) auto auto;
  align-items: end;
  gap: 10px 12px;
  margin: 0;
  padding: 14px;
}
.inventory-bulk-update-form > label,
.inventory-bulk-update-form [data-inventory-bulk-control] > label {
  display: grid;
  gap: 5px;
  margin: 0;
  color: var(--theme-heading);
  font-size: 12px;
  font-weight: 700;
}
.inventory-bulk-update-form [data-inventory-bulk-control] > :is(label, legend) {
  color: var(--theme-heading);
  font-weight: 800;
}
.inventory-bulk-update-form select,
.inventory-bulk-update-form input {
  min-height: 40px;
  padding: 6px 10px;
  border-color: var(--theme-divider-strong);
  background: var(--theme-surface);
}
.inventory-bulk-update-form [data-inventory-bulk-count] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 84px;
  min-height: 40px;
  padding: 0 12px;
  border: 1px solid var(--theme-primary-border);
  border-radius: 999px;
  background: var(--theme-surface);
  color: var(--theme-primary);
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}
.inventory-bulk-update-form [data-inventory-bulk-control][hidden] {
  display: none !important;
}
body.theme-store .inventory-bulk-update-form [data-inventory-bulk-submit] {
  min-width: 180px;
  min-height: 40px;
  padding: 0 16px;
  font-size: 13px !important;
  font-weight: 700;
}
body.theme-store .inventory-bulk-update-form [data-inventory-bulk-submit]:disabled {
  border-color: var(--theme-divider-strong);
  background: var(--theme-divider);
  color: var(--theme-muted);
  opacity: 1;
}
.inventory-bulk-update-form fieldset {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .25rem .65rem;
  min-width: 0;
  margin: 0;
  padding: .3rem .5rem;
  border: 1px solid var(--theme-divider);
  border-radius: 6px;
}
.inventory-bulk-update-form fieldset label {
  display: inline-grid !important;
  grid-template-columns: 16px max-content;
  grid-template-rows: auto;
  align-items: center;
  justify-items: start;
  gap: 0 7px;
  width: auto;
  margin: 0;
  white-space: nowrap;
}
.inventory-bulk-update-form fieldset input {
  grid-column: 1;
  grid-row: 1;
  display: block;
  width: 1rem;
  min-width: 1rem;
  height: 1rem;
  min-height: 1rem;
  margin: 0;
  padding: 0;
}
@media (max-width: 860px) {
  .inventory-bulk-update-form { grid-template-columns: minmax(0, 1fr); }
  .inventory-bulk-update-form [data-inventory-bulk-count],
  body.theme-store .inventory-bulk-update-form [data-inventory-bulk-submit] { width: 100%; }
}
.inventory-bulk-select-label,
.inventory-bulk-row-select {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .15rem;
  margin: 0;
  font-size: 10px;
  white-space: nowrap;
}
.inventory-bulk-select-label input,
.inventory-bulk-row-select input { width: 1rem; min-width: 1rem; height: 1rem; min-height: 1rem; margin: 0; padding: 0; }
.inventory-lock-heading { display: block; margin-top: .2rem; }
#registered-products td[data-label="選択・鍵"] { text-align: center; }
#registered-products td[data-label="選択・鍵"] .inventory-row-lock { margin-left: .2rem; }
.inventory-batch-save { display: none; white-space: nowrap; }
.inventory-row-unlocked .inventory-batch-save { display: inline-flex; }
.inventory-inline-single-input { width: 100%; min-width: 0; padding: .2rem .3rem; font-size: 11px; }
.inventory-inline-alias-input { width: 100%; min-width: 0; min-height: 4rem; padding: .25rem; font-size: 11px; resize: vertical; }
.inventory-candidate-action {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .35rem;
  align-items: center;
  margin: 0;
}
.store-candidate-task-action > .button {
  background: #8c5e3f !important;
  color: #fff !important;
  white-space: nowrap;
}
.inventory-candidate-action select,
.inventory-candidate-action input { min-width: 0; }
.inventory-candidate-action .button,
.inventory-candidate-reject .button { white-space: nowrap; }
body.theme-store .inventory-candidate-action:has(input[name="inventory_action"][value="candidate_link"]) > .button {
  border-color: var(--color-success) !important;
  background: var(--color-success) !important;
  color: #fff !important;
}
body.theme-store .inventory-candidate-action:has(input[name="inventory_action"][value="candidate_link"]) > .button:hover,
body.theme-store .inventory-candidate-action:has(input[name="inventory_action"][value="candidate_link"]) > .button:focus-visible {
  filter: brightness(.9);
}
body.theme-store .inventory-candidate-action:has(input[name="inventory_action"][value="candidate_create"]) > .button {
  border-color: var(--theme-priority-recommended) !important;
  background: var(--theme-priority-recommended) !important;
  color: #fff !important;
  font-size: 0 !important;
}
body.theme-store .inventory-candidate-action:has(input[name="inventory_action"][value="candidate_create"]) > .button::after {
  content: "正式名称で登録";
  font-size: 10px;
  line-height: 1.5;
}
body.theme-store .inventory-candidate-action:has(input[name="inventory_action"][value="candidate_create"]) > .button:hover,
body.theme-store .inventory-candidate-action:has(input[name="inventory_action"][value="candidate_create"]) > .button:focus-visible {
  filter: brightness(.9);
}
.inventory-candidate-autocomplete { position: relative; min-width: 0; }
.inventory-candidate-suggestions {
  position: absolute;
  z-index: 1000;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  max-height: 220px;
  padding: 5px;
  overflow-y: auto;
  border: 1px solid var(--theme-primary-border);
  border-radius: 8px;
  background: var(--theme-surface);
  box-shadow: 0 12px 28px rgba(74,48,34,.18);
}
.inventory-candidate-suggestions[hidden],
.inventory-candidate-suggestions button[hidden] { display: none; }
.inventory-candidate-suggestions button {
  display: block;
  width: 100%;
  min-height: 34px;
  padding: 6px 10px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--theme-text);
  text-align: left;
  font: inherit;
  cursor: pointer;
}
body.theme-store .inventory-candidate-suggestions button:hover,
body.theme-store .inventory-candidate-suggestions button:focus {
  background: var(--theme-primary-light);
  color: var(--theme-primary);
  outline: none;
}
.inventory-candidate-reject { margin: 0; }
.inventory-candidate-table { table-layout: fixed; }
.inventory-candidate-table .candidate-name-column,
.inventory-candidate-table .candidate-suggestion-column { width: 15%; }
.inventory-candidate-table .candidate-link-column,
.inventory-candidate-table .candidate-create-column { width: 31%; }
.inventory-candidate-table .candidate-reject-column { width: 8%; }
.inventory-candidate-table td { overflow: hidden; }
.inventory-candidate-table .inventory-candidate-action { width: 100%; }
.inventory-candidate-table .inventory-candidate-action select,
.inventory-candidate-table .inventory-candidate-action input { width: 100%; }

/* Product typography scale: freee Vibes-inspired 12 / 14 / 16 / 24px. */
body {
  font-size: var(--font-size-body);
  line-height: var(--line-height-base);
}
input,
select,
textarea,
button,
.button,
.sidebar a,
.sidebar-development-menu summary,
.sidebar-user,
.table th,
.table td {
  font-size: var(--font-size-body) !important;
  line-height: var(--line-height-base);
}
.topbar h1,
.login-card h1,
.page-title {
  font-size: var(--font-size-page-title) !important;
  line-height: 1.5;
}
h2,
.settings-panel h2,
.settings-card h2,
.store-dashboard-panel-heading h2,
.store-shopping-dialog-heading h2 {
  font-size: var(--font-size-heading) !important;
  line-height: 1.5;
}
h3,
h4,
h5,
h6 {
  font-size: var(--font-size-body);
  line-height: 1.5;
}
small,
.sidebar-user-details > span,
.button.small,
.priority-badge,
.lead-time-tag,
.inventory-value-unset,
.inventory-value-unreported,
.store-sales-panel span {
  font-size: var(--font-size-caption) !important;
  line-height: 1.5;
}
.store-sales-panel strong,
.settings-card .metric,
.settings-card .amount {
  font-size: var(--font-size-page-title) !important;
  line-height: 1.5;
}

@media (max-width: 420px) {
  input,
  select,
  textarea {
    font-size: 16px !important;
  }
}

/* Store department: shared tablet and smartphone layout. */
@media (max-width: 1180px) {
  html:has(body.theme-store),
  body.theme-store {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }
  body.theme-store .app-shell,
  body.theme-store .main,
  body.theme-store .settings-shell {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }
  body.theme-store .app-shell {
    display: block;
    min-height: 100vh;
  }
  body.theme-store .main { padding: 12px 10px 24px; overflow-x: hidden; }
  body.theme-store .sidebar {
    position: sticky;
    top: 0;
    z-index: 20;
    width: 100%;
    height: auto;
    min-height: 0;
    max-height: none;
    padding: 12px;
    gap: 10px;
    overflow: visible;
    box-shadow: 0 1px 8px rgba(17,24,39,.14);
  }
  body.theme-store:has(.shopping-shell) .sidebar,
  body.theme-store:has(.store-business-dashboard) .sidebar {
    position: sticky;
    right: auto;
    bottom: auto;
    left: auto;
    width: 100%;
    height: auto;
  }
  body.theme-store:has(.shopping-shell) .main,
  body.theme-store:has(.store-business-dashboard) .main { grid-column: auto; }
  body.theme-store:has(.shopping-shell) .app-shell::before { display: none; }
  body.theme-store .sidebar nav { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; }
  body.theme-store .topbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px 10px;
    width: 100%;
    margin-bottom: 12px;
  }
  body.theme-store .topbar > h1 {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
    font-size: 19px !important;
    overflow-wrap: anywhere;
  }
  body.theme-store .topbar > .store-topbar-current-time {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    margin: 0;
    gap: 5px;
  }
  body.theme-store .store-topbar-current-time span { font-size: 11px; }
  body.theme-store .store-topbar-current-time strong { font-size: 17px; }
  body.theme-store .topbar > :not(h1):not(.store-topbar-current-time) {
    grid-column: 1 / -1;
    width: 100%;
    margin-right: 0;
    margin-left: 0;
  }
  body.theme-store .topbar > .store-dashboard-topbar-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
  }
  body.theme-store .topbar .store-dashboard-topbar-actions .store-dashboard-review-topbar {
    width: auto;
    min-width: 0;
  }
  body.theme-store .topbar-store-dashboard-back { display: grid; grid-template-columns: minmax(0, 1fr); }
  body.theme-store .topbar-store-dashboard-back .button { min-width: 0; padding-right: 7px; padding-left: 7px; font-size: 11px !important; }

  body.theme-store .settings-shell { overflow: visible; }
  body.theme-store .settings-panel,
  body.theme-store details.settings-panel { min-width: 0; padding: 10px; }
  body.theme-store .settings-grid,
  body.theme-store .store-business-dashboard-grid,
  body.theme-store .store-dashboard-sales-grid,
  body.theme-store .store-dashboard-recipe-grid,
  body.theme-store .shopping-tools-grid { grid-template-columns: minmax(0, 1fr) !important; }
  body.theme-store .grid-form,
  body.theme-store .shopping-manual-registration-form,
  body.theme-store .inventory-bulk-update-form { grid-template-columns: minmax(0, 1fr) !important; min-width: 0 !important; }
  body.theme-store :is(input, select, textarea) { max-width: 100%; }
  body.theme-store .actions { width: 100%; flex-wrap: wrap; }
  body.theme-store .actions > :is(.button, form) { min-width: 0; flex: 1 1 140px; }

  body.theme-store .table-wrap {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden !important;
    border-radius: 8px;
  }
  body.theme-store .table-wrap > :is(.table, .settings-table) {
    display: table !important;
    width: 100%;
    min-width: 0 !important;
    max-width: 100%;
    table-layout: fixed !important;
    border-collapse: separate;
  }
  body.theme-store .table-wrap > :is(.table, .settings-table) thead { display: table-header-group !important; }
  body.theme-store .table-wrap > :is(.table, .settings-table) tbody { display: table-row-group !important; }
  body.theme-store .table-wrap > :is(.table, .settings-table) tr {
    display: table-row !important;
    padding: 0;
    border: 0;
    border-radius: 0;
  }
  body.theme-store .table-wrap > :is(.table, .settings-table) :is(th, td) {
    display: table-cell !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none;
    padding: 5px 2px;
    font-size: clamp(8px, 1.9vw, 11px) !important;
    line-height: 1.25;
    vertical-align: middle;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
  }
  body.theme-store .table-wrap > :is(.table, .settings-table) td::before { display: none !important; content: none !important; }
  body.theme-store .table-wrap > :is(.table, .settings-table) td :is(form, .actions) {
    display: flex;
    justify-content: center;
    width: 100%;
    min-width: 0;
    gap: 2px;
  }
  body.theme-store .table-wrap > :is(.table, .settings-table) td :is(input, select, textarea, .button, button) {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100%;
    min-height: 26px;
    height: auto;
    padding: 3px 2px;
    font-size: clamp(8px, 1.9vw, 11px) !important;
    line-height: 1.2;
    white-space: normal !important;
  }
  body.theme-store .table-wrap > :is(.table, .settings-table) td input[type="checkbox"],
  body.theme-store .table-wrap > :is(.table, .settings-table) td input[type="radio"] {
    width: 16px !important;
    min-width: 16px !important;
    height: 16px;
    min-height: 16px;
  }
  body.theme-store :is(.inventory-candidate-table, .inventory-master-table, .shopping-list-table, .store-preparation-list-table, .store-work-items-edit-table, .recipe-hierarchy-table) {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100%;
    table-layout: fixed !important;
  }

  body.theme-store .store-dashboard-panel-heading,
  body.theme-store .store-shopping-dialog-heading { align-items: stretch; flex-direction: column; }
  body.theme-store .store-shopping-panel-heading { display: grid; grid-template-columns: minmax(0, 1fr); }
  body.theme-store .store-shopping-panel-heading .store-shopping-category-controls,
  body.theme-store .store-shopping-panel-heading .store-dashboard-heading-buttons { justify-self: stretch; width: 100%; }
  body.theme-store .store-dashboard-heading-buttons > * { flex: 1 1 0; }
  body.theme-store :is(.store-shopping-dialog, .store-shopping-confirm-dialog, .recipe-leave-dialog) {
    width: calc(100vw - 20px);
    max-width: calc(100vw - 20px);
    max-height: calc(100dvh - 24px);
  }
  body.theme-store .dashboard-manual-shopping-dialog,
  body.theme-store .store-dashboard-manual-work-panel { right: 0; left: 0; width: 100%; max-width: 100%; }
  body.theme-store .store-dashboard-announcement { align-items: flex-start; padding: 7px 10px; }
}

@media (max-width: 420px) {
  body.theme-store .main { padding-right: 8px; padding-left: 8px; }
  body.theme-store .topbar { grid-template-columns: minmax(0, 1fr) auto; }
  body.theme-store .topbar > h1 { font-size: 17px !important; }
  body.theme-store .store-topbar-current-time { display: grid; gap: 0; text-align: right; }
  body.theme-store .store-topbar-current-time span { font-size: 10px; }
  body.theme-store .store-topbar-current-time strong { font-size: 16px; }
  body.theme-store .settings-panel,
  body.theme-store details.settings-panel { padding: 8px; }
  body.theme-store .table-wrap > :is(.table, .settings-table) :is(th, td) {
    padding-right: 1px;
    padding-left: 1px;
    font-size: 7px !important;
  }
  body.theme-store .table-wrap > :is(.table, .settings-table) td :is(input, select, textarea, .button, button) {
    padding-right: 1px;
    padding-left: 1px;
    font-size: 7px !important;
  }
}

/* Tablet only: keep the two primary operation lists side by side. */
@media (min-width: 761px) and (max-width: 1180px) {
  body.theme-store .topbar:has(> .store-dashboard-title-switcher) {
    grid-template-columns: auto auto minmax(0, 1fr) auto;
  }
  body.theme-store .topbar:has(> .store-dashboard-title-switcher) > h1 {
    grid-column: 1;
    grid-row: 1;
    white-space: nowrap;
  }
  body.theme-store .topbar > .store-dashboard-title-switcher {
    grid-column: 2;
    grid-row: 1;
    display: flex;
    width: auto;
    min-width: 0;
    margin: 0;
    gap: 5px;
    flex-wrap: nowrap;
  }
  body.theme-store .topbar > .store-dashboard-title-switcher a {
    padding: 6px 10px;
    font-size: 12px;
    white-space: nowrap;
  }
  body.theme-store .topbar:has(> .store-dashboard-title-switcher) > .store-topbar-current-time {
    grid-column: 4;
    grid-row: 1;
  }
  body.theme-store .topbar:has(> .store-dashboard-title-switcher) > .store-dashboard-topbar-actions {
    grid-column: 1 / -1;
    grid-row: 2;
  }
  body.theme-store .topbar .store-dashboard-topbar-actions {
    width: 100%;
    margin: 0;
  }
  body.theme-store .topbar .store-dashboard-review-topbar {
    width: 100%;
    max-width: 100%;
    margin: 0;
  }
  body.theme-store .topbar .store-dashboard-review-topbar > summary {
    width: 100%;
  }
  body.theme-store .topbar .store-dashboard-primary-actions {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    gap: 8px;
  }
  body.theme-store .topbar .store-dashboard-primary-actions > :is(.store-dashboard-attendance-menu, .store-dashboard-attendance-link, .store-electronic-tab-shortcut, .store-ubereats-login),
  body.theme-store .topbar .store-dashboard-primary-actions > .store-dashboard-attendance-menu > summary {
    width: 100%;
    min-width: 0;
    min-height: 40px;
  }
  body.theme-store .topbar .store-dashboard-review-topbar .store-dashboard-review-body {
    position: fixed;
    top: 110px;
    right: 12px;
    left: 12px;
    width: auto;
    min-width: 0;
    max-width: none;
    max-height: calc(100dvh - 130px);
  }
  body.theme-store .store-dashboard-review-topbar .inventory-candidate-table th:nth-child(1) { width: 11% !important; }
  body.theme-store .store-dashboard-review-topbar .inventory-candidate-table th:nth-child(2) { width: 28% !important; }
  body.theme-store .store-dashboard-review-topbar .inventory-candidate-table th:nth-child(3) { width: 28% !important; }
  body.theme-store .store-dashboard-review-topbar .inventory-candidate-table th:nth-child(4) { width: 28% !important; }
  body.theme-store .store-dashboard-review-topbar .inventory-candidate-table th:nth-child(5) { width: 5% !important; }
  body.theme-store .store-dashboard-review-topbar .inventory-candidate-action {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
    gap: 5px;
  }
  body.theme-store .store-dashboard-review-topbar .inventory-candidate-action :is(input[type="search"], input[name="canonical_name"], input[name="work_item_title"]) {
    min-height: 38px;
    padding: 7px 9px;
    font-size: 13px !important;
    line-height: 1.35;
    text-align: left;
  }
  body.theme-store .store-dashboard-review-topbar .inventory-candidate-action > .button {
    min-height: 32px;
    padding: 6px 8px;
    font-size: 12px !important;
  }
  body.theme-store .store-dashboard-review-topbar .inventory-candidate-table td:first-child {
    padding-right: 4px;
    padding-left: 4px;
    font-size: 11px !important;
  }
  body.theme-store .store-business-dashboard > .store-business-dashboard-grid:first-of-type {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: start;
  }
  body.theme-store .store-dashboard-recipe-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  body.theme-store .store-dashboard-recipe-section + .settings-panel > .settings-grid,
  body.theme-store .store-dashboard-sales-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  body.theme-store .store-dashboard-shopping-table [data-store-list-extra][hidden] {
    display: none !important;
  }
  body.theme-store .store-shopping-panel-heading {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    column-gap: 8px;
  }
  body.theme-store .store-shopping-panel-heading > h2 {
    grid-column: 1;
    grid-row: 1;
  }
  body.theme-store .store-shopping-panel-heading .store-shopping-category-controls {
    grid-column: 2;
    grid-row: 1;
    justify-self: start;
    width: auto;
  }
  body.theme-store .store-shopping-panel-heading .store-dashboard-heading-buttons {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-self: stretch;
    width: 100%;
  }
}
.store-page-toolbar {
  display: flex;
  gap: 16px;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 14px;
  padding: 12px 14px;
  border: 1px solid var(--store-border);
  border-radius: 8px;
  background: var(--theme-surface);
  box-shadow: var(--theme-shadow);
}

.store-page-toolbar > .muted {
  margin: 0;
}

.store-page-toolbar form,
.store-page-toolbar label {
  margin: 0;
}

.electronic-topbar-store-switch {
  flex: 0 1 260px;
  margin: 0 0 0 8px;
}

.electronic-topbar-store-switch label {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.electronic-topbar-store-switch select {
  width: min(190px, 100%);
  min-height: 36px;
  padding-top: 5px;
  padding-bottom: 5px;
}

@media (max-width: 860px) {
  body.theme-store .topbar:has(.electronic-topbar-store-switch) {
    align-items: center;
    flex-direction: row;
    gap: 8px;
  }
  .electronic-topbar-store-switch { min-width: 0; margin-left: 0; }
  .electronic-topbar-store-switch label > span { display: none; }
  .electronic-topbar-store-switch select { width: 100%; min-width: 0; }
  body.theme-store .topbar:has(.electronic-topbar-store-switch) .topbar-store-dashboard-back {
    flex: 0 0 auto;
    width: auto;
    margin-left: auto;
  }
  body.theme-store .topbar:has(.electronic-topbar-store-switch) .topbar-store-dashboard-back .button { width: auto; }
}

.electronic-tab-strip {
  position: relative;
  display: grid;
  gap: 12px;
  margin-bottom: 18px;
  padding: 2px 2px 12px;
  overflow-x: auto;
  scroll-snap-type: x proximity;
}

.electronic-counter-board {
  display: grid;
  gap: 8px;
  min-width: 680px;
}

.electronic-seat-row {
  display: grid;
  grid-template-columns: repeat(6, minmax(130px, 1fr));
  grid-auto-rows: 92px;
  gap: 8px;
}

.electronic-seat-row-table {
  grid-template-columns: repeat(6, minmax(130px, 1fr));
  width: 100%;
}

.electronic-seat-row-all {
  grid-template-columns: repeat(6, minmax(64px, 1fr)) 2px repeat(3, minmax(64px, 1fr));
  grid-auto-rows: 100px;
  align-items: stretch;
}

.electronic-seat-section-divider {
  width: 2px;
  height: calc(100% - 12px);
  align-self: center;
  background: #b9a58f;
  border-radius: 999px;
}

.electronic-seat-slot.is-table-seat {
  border-color: #d1ad78;
  background: #fff9ef;
}

.electronic-seat-slot.is-table-seat .electronic-seat-label {
  color: #8a5c26;
}

.electronic-seat-slot {
  position: relative;
  display: grid;
  box-sizing: border-box;
  height: 100px;
  min-height: 100px;
  padding: 24px 6px 6px;
  border: 1px dashed #91b9dd;
  border-radius: 9px;
  background: #f3f9ff;
  transition: background .15s ease, border-color .15s ease, transform .15s ease;
  color: inherit;
  text-decoration: none;
}

.electronic-seat-slot.is-empty {
  place-items: center;
  padding: 6px;
  cursor: pointer;
  text-align: center;
}

.electronic-seat-slot.is-empty .electronic-seat-label {
  display: none;
}

.electronic-seat-slot.is-occupied > .electronic-seat-label {
  display: none;
}

.electronic-seat-slot.is-occupied {
  padding: 0;
  overflow: hidden;
}

.electronic-seat-slot.is-blocked {
  place-items: center;
  padding: 6px;
  border-color: #aeb5bd;
  background: #eef0f2;
}

.electronic-seat-slot.is-blocked > .electronic-seat-label {
  display: none;
}

.electronic-seat-block-form,
.electronic-seat-block-form button {
  width: 100%;
  height: 100%;
  margin: 0;
}

.electronic-seat-block-form button {
  display: grid;
  gap: 2px;
  place-content: center;
  border: 0;
  background: transparent;
  color: #59616b;
  font-weight: 800;
  cursor: pointer;
}

.electronic-seat-block-form small {
  font-size: 9px;
}

.electronic-seat-slot.is-empty:hover,
.electronic-seat-slot.is-empty:focus-visible {
  border-color: #1673bd;
  background: #e4f3ff;
  outline: none;
}

.electronic-seat-slot.is-drop-target {
  border-color: #1673bd;
  background: #d9efff;
  transform: translateY(-2px);
}

.electronic-seat-slot.is-invalid-drop-target {
  border-color: #dc2626;
  background: #fee2e2;
}

.electronic-seat-label {
  position: absolute;
  top: 5px;
  left: 8px;
  color: #276aa7;
  font-size: 11px;
  font-weight: 900;
}

.electronic-seat-empty {
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  color: #7a9ab7;
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
}

.electronic-seat-slot[data-electronic-new-seat="OTHER"] .electronic-seat-empty {
  padding: 4px;
  font-size: 12px;
  line-height: 1.35;
  white-space: normal;
}

.electronic-pending-service-list {
  display: flex;
  gap: 4px;
  min-height: 18px;
  align-items: center;
  flex-wrap: wrap;
}

.electronic-pending-service-list a {
  display: inline-flex;
  gap: 3px;
  min-height: 18px;
  padding: 2px 5px;
  align-items: center;
  border: 1px solid #e3aa38;
  border-radius: 999px;
  background: #fff7df;
  color: #7a4b00;
  font-size: 9px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
}

.electronic-pending-service-list a:hover,
.electronic-pending-service-list a:focus-visible {
  border-color: #c57d00;
  background: #ffefbd;
  outline: none;
}

.electronic-pending-service-list b {
  display: grid;
  min-width: 14px;
  height: 14px;
  padding: 0 3px;
  place-items: center;
  border-radius: 999px;
  background: #d98200;
  color: #fff;
  font-size: 8px;
}

.electronic-seat-slot .electronic-tab-card {
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  min-height: 100px;
  padding: 7px 6px 23px 36px;
  border: 0;
  border-radius: 8px;
  border-top-width: 1px;
  box-shadow: none;
  align-content: start;
}

.electronic-seat-row-all .electronic-tab-card strong {
  display: -webkit-box;
  min-width: 0;
  overflow: hidden;
  font-size: 12px;
  line-height: 1.2;
  white-space: normal;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.electronic-seat-slot .electronic-tab-card .electronic-tab-stay {
  overflow: hidden;
  min-width: 0;
  line-height: 1.2;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.electronic-seat-slot .electronic-tab-card b {
  display: block;
  margin-top: 5px;
  line-height: 1.1;
}

.electronic-tab-seat-footer {
  position: absolute;
  right: 5px;
  bottom: 4px;
  left: 7px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px;
  align-items: end;
  min-width: 0;
}

.electronic-tab-seat-footer .electronic-tab-follow-up {
  position: static;
  max-width: 58px;
  margin: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.electronic-seat-row-all .electronic-tab-card .electronic-tab-location {
  width: 25px;
  height: 25px;
}

.electronic-seat-slot .electronic-tab-card .electronic-tab-location {
  top: 7px;
  left: 7px;
}

.electronic-tab-other-cards {
  display: flex;
  gap: 8px;
  min-height: 0;
}

.electronic-tab-card,
.electronic-tab-new {
  flex: 0 0 158px;
  min-height: 82px;
  border: 1px solid var(--store-border);
  border-radius: 8px;
  background: var(--theme-surface);
  color: var(--theme-heading);
  box-shadow: var(--theme-shadow);
  scroll-snap-align: start;
}

.electronic-tab-card {
  position: relative;
  display: grid;
  gap: 2px;
  align-content: center;
  padding: 10px 10px 10px 43px;
  text-decoration: none;
}

.electronic-tab-card strong {
  overflow: hidden;
  font-size: 14px;
  line-height: 1.35;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.electronic-tab-card .electronic-tab-location {
  position: absolute;
  top: 10px;
  left: 8px;
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  background: var(--theme-primary);
  border-radius: 50%;
}

.electronic-tab-card .electronic-tab-stay {
  color: var(--theme-muted);
  font-size: 10px;
  font-weight: 700;
}

.electronic-tab-card b {
  margin-top: 2px;
  font-size: 14px;
}

.electronic-tab-follow-up {
  position: absolute;
  right: 4px;
  bottom: 4px;
  width: fit-content;
  margin-top: 3px;
  padding: 2px 7px;
  color: #553b00;
  font-size: 10px;
  font-weight: 900;
  line-height: 1.4;
  background: #ffd75a;
  border: 1px solid #e2ad16;
  border-radius: 999px;
}

.electronic-tab-follow-up[hidden] {
  display: none;
}

.electronic-tab-card.is-active {
  border: 2px solid var(--theme-primary);
  background: var(--store-table-header);
}

.electronic-tab-new {
  position: fixed;
  z-index: 1100;
  top: 24px;
  left: calc(var(--sidebar-width) + 20px);
  box-sizing: border-box;
  width: min(560px, calc(100vw - var(--sidebar-width) - 40px));
  max-width: calc(100vw - var(--sidebar-width) - 40px);
  max-height: calc(100dvh - 48px);
  min-height: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--store-border);
  border-radius: 10px;
  background: var(--theme-surface);
  box-shadow: 0 18px 48px rgba(34, 25, 20, .28);
  scroll-margin-top: 16px;
}

.electronic-tab-new[hidden] {
  display: none;
}

.electronic-tab-new summary {
  position: relative;
  display: flex;
  box-sizing: border-box;
  min-height: 48px;
  padding: 11px 44px 11px 14px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: var(--store-table-header);
  color: var(--theme-heading);
  font-weight: 800;
  cursor: pointer;
  list-style: none;
}

.electronic-tab-new summary::after {
  position: absolute;
  right: 16px;
  content: "＋";
  color: var(--theme-primary);
  font-size: 22px;
  line-height: 1;
}

.electronic-tab-new[open] summary::after {
  content: "−";
}

.electronic-tab-new summary small {
  color: var(--theme-muted);
  font-size: 12px;
  font-weight: 700;
}

.electronic-tab-new summary::-webkit-details-marker { display: none; }

.electronic-tab-new form {
  position: static;
  display: grid;
  box-sizing: border-box;
  gap: 10px;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  padding: 14px;
  max-height: calc(100dvh - 98px);
  overflow-x: hidden;
  overflow-y: auto;
  border: 0;
  border-top: 1px solid var(--store-border);
  border-radius: 0;
  background: var(--theme-surface);
  box-shadow: none;
}

.electronic-tab-new form :is(input, select, textarea, button, .button) {
  min-width: 0;
  max-width: 100%;
}

.electronic-service-type-picker[data-electronic-service-type-picker][hidden] {
  display: none !important;
}

.electronic-tab-new .electronic-customer-search { order: 1; }
.electronic-tab-new .electronic-table-picker { order: 2; }
.electronic-tab-new .electronic-companion-picker { order: 3; }

.electronic-start-tab-button {
  border-color: #218739 !important;
  background: #218739 !important;
  color: #fff !important;
}

.electronic-start-tab-button:hover {
  border-color: #17672a !important;
  background: #17672a !important;
}

.electronic-new-tab-actions {
  order: 4;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  align-items: center;
}

.electronic-new-tab-actions.has-seat-block-action {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.electronic-new-tab-actions .button {
  min-height: 40px;
  margin: 0;
}

.electronic-cancel-tab-button {
  min-width: 0;
}

.electronic-block-seat-button {
  border-color: #8a9097 !important;
  color: #555d66 !important;
}

.electronic-quick-field {
  display: grid;
  gap: 6px;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.electronic-quick-field > strong,
.electronic-quick-field > legend {
  padding: 0;
  color: var(--theme-heading);
  font-size: 13px;
  font-weight: 800;
}

.electronic-table-types,
.electronic-companion-buttons {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.electronic-table-types > button,
.electronic-table-types summary,
.electronic-table-numbers button,
.electronic-companion-buttons button {
  min-width: 36px;
  min-height: 31px;
  padding: 4px 8px;
  border: 1px solid var(--store-border);
  border-radius: 7px;
  background: #fff;
  color: var(--theme-heading);
  font-weight: 800;
  cursor: pointer;
}

.electronic-tab-card.is-counter .electronic-tab-location { background: #276aa7; }
.electronic-tab-card.is-table .electronic-tab-location { background: #8a5c26; }
.electronic-tab-card.is-outdoor .electronic-tab-location { background: #27845d; }
.electronic-tab-card.is-unassigned .electronic-tab-location { background: #777; }

.electronic-tab-card.is-counter { border-top: 3px solid #6da9dc; }
.electronic-tab-card.is-table { border-top: 3px solid #c99958; }
.electronic-tab-card.is-outdoor { border-top: 3px solid #63b895; }
.electronic-tab-card.is-unassigned { border-top: 3px solid #aaa; }

.electronic-table-types details {
  position: relative;
}

.electronic-table-types summary {
  display: grid;
  place-items: center;
  list-style: none;
}

.electronic-table-types summary::-webkit-details-marker {
  display: none;
}

.electronic-table-numbers {
  position: absolute;
  z-index: 15;
  top: calc(100% + 5px);
  left: 0;
  display: flex;
  gap: 5px;
  width: max-content;
  max-width: 280px;
  padding: 7px;
  background: #fff;
  border: 1px solid var(--store-border);
  border-radius: 8px;
  box-shadow: var(--theme-shadow);
  flex-wrap: wrap;
}

.electronic-table-types button.is-selected,
.electronic-table-numbers button.is-selected,
.electronic-companion-buttons button.is-selected {
  color: #fff;
  background: var(--theme-primary);
  border-color: var(--theme-primary);
}

.electronic-companion-picker > label {
  margin-top: 2px;
}

.electronic-customer-profile {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 10px;
  margin: 4px 0;
  padding: 12px;
  border: 1px solid var(--store-border);
  border-radius: 8px;
}

.electronic-customer-profile[hidden] {
  display: none !important;
}

.electronic-customer-profile.is-primary-customer {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
}

.electronic-customer-profile.is-primary-customer > legend {
  display: none;
}

.electronic-companion-profile-accordion {
  grid-column: 1 / -1;
  border: 1px solid var(--store-border);
  border-radius: 8px;
  background: var(--theme-surface);
  overflow: hidden;
}

.electronic-companion-profile-accordion[hidden] {
  display: none;
}

.electronic-companion-profile-accordion.is-switch-panel {
  margin-top: 0;
}

.electronic-companion-profile-accordion > summary {
  display: flex;
  gap: 8px;
  align-items: center;
  min-height: 42px;
  padding: 8px 12px;
  color: var(--theme-heading);
  font-size: 16px;
  font-weight: 800;
  cursor: pointer;
  list-style: none;
}

.electronic-companion-profile-accordion > summary::-webkit-details-marker {
  display: none;
}

.electronic-companion-profile-accordion > summary::after {
  content: "＋";
  margin-left: auto;
  color: var(--theme-primary);
  font-size: 18px;
  line-height: 1;
}

.electronic-companion-profile-accordion[open] > summary {
  border-bottom: 1px solid var(--store-border);
  background: var(--theme-primary-light);
}

.electronic-companion-profile-accordion[open] > summary::after {
  content: "−";
}

.electronic-companion-profile-accordion:not([open]) > .electronic-customer-profile {
  display: none;
}

.electronic-customer-profile.is-accordion-companion {
  margin: 0;
  border: 0;
  border-radius: 0;
}

.electronic-customer-profile.is-accordion-companion > legend {
  display: none;
}

.electronic-companion-count-picker {
  display: flex !important;
  gap: 10px !important;
  align-items: center;
  margin-left: auto;
  min-height: 42px;
}

.electronic-companion-count-picker > span {
  color: #795238;
  font-size: 14px;
  font-weight: 800;
}

.electronic-companion-count-picker > select {
  width: 92px;
  min-height: 40px;
}

.electronic-companion-switcher {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-column: 1 / -1;
  gap: 7px;
  align-items: center;
  min-width: 0;
  padding: 2px 0;
}

.electronic-companion-switcher button {
  width: 100%;
  min-width: 0;
  min-height: 38px;
  padding: 7px 12px;
  overflow: hidden;
  border: 1px solid var(--store-border);
  border-radius: 7px;
  background: #fff;
  color: var(--theme-heading);
  font-size: 13px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: pointer;
}

.electronic-companion-switcher button.is-active {
  border-color: var(--color-success);
  background: #eaf8ef;
  color: #176b3a;
  box-shadow: inset 0 -3px 0 var(--color-success);
}

.electronic-profile-identity-row,
.electronic-profile-age-row,
.electronic-profile-favorites {
  grid-column: 1 / -1;
}

.electronic-profile-identity-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  align-items: end;
  order: 1;
}

.electronic-details-table-display {
  display: flex;
  grid-column: 1 / -1;
  gap: 10px;
  align-items: center;
  min-height: 42px;
  padding: 8px 12px;
  border: 1px solid var(--store-border);
  border-radius: 7px;
  background: var(--theme-primary-light);
}

.electronic-details-table-display > span {
  color: #795238;
  font-size: 12px;
  font-weight: 800;
}

.electronic-details-table-display > strong {
  color: var(--theme-heading);
  font-size: 17px;
}

.electronic-profile-gender {
  display: flex;
  gap: 8px;
  min-width: 0;
  height: 40px;
  min-height: 40px;
  padding: 6px 12px;
  box-sizing: border-box;
  border: 1px solid var(--store-border);
  border-radius: 6px;
  align-items: center;
  flex-wrap: nowrap;
}

.electronic-profile-gender-control {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.electronic-profile-gender-control > span {
  color: #795238;
  font-weight: 700;
}

.electronic-profile-gender label {
  display: inline-flex !important;
  flex-direction: row !important;
  grid-template-columns: none;
  gap: 4px;
  align-items: center;
  font-size: 11px;
  white-space: nowrap;
}

.electronic-profile-gender label span,
.customer-gender-radios label span {
  order: 2;
}

.electronic-profile-gender label {
  line-height: 1;
}

.electronic-profile-gender input {
  width: 15px;
  height: 15px;
  margin: 0;
}

.store-customer-edit-page .customer-gender-radios {
  display: flex;
  gap: 8px;
  align-items: center;
  padding: 10px 12px 12px;
  border: 1px solid var(--store-border);
  border-radius: 8px;
  flex-wrap: wrap;
}

.store-customer-edit-page .customer-gender-radios legend {
  padding: 0 6px;
  color: var(--theme-heading);
  font-weight: 800;
}

.store-customer-edit-page .customer-gender-radios label {
  display: inline-flex !important;
  flex-direction: row !important;
  gap: 6px;
  align-items: center;
  min-height: 34px;
  padding: 6px 10px;
  border: 1px solid var(--store-border);
  border-radius: 999px;
  background: var(--theme-surface);
  cursor: pointer;
}

.store-customer-edit-page .customer-gender-radios label:has(input:checked) {
  border-color: var(--theme-primary);
  background: var(--theme-primary-light);
  color: var(--theme-primary);
  font-weight: 800;
}

.store-customer-edit-page .customer-gender-radios input {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  margin: 0;
}

.store-customer-edit-page .electronic-customer-flags {
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid var(--store-border);
  border-radius: 8px;
  flex-wrap: wrap;
}

.store-customer-edit-page .electronic-customer-flags > label {
  display: inline-flex !important;
  flex-direction: row !important;
  gap: 6px !important;
  align-items: center;
  min-height: 34px;
  padding: 6px 10px;
  border: 1px solid var(--store-border);
  border-radius: 999px;
  background: var(--theme-surface);
  cursor: pointer;
}

.store-customer-edit-page .electronic-customer-flags input {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  margin: 0;
}

.store-customer-edit-page .customer-caution-option:has(input:checked) {
  border-color: #b7791f;
  background: #fff8e6;
  color: #9a5b00;
}

.store-customer-edit-page .customer-banned-option:has(input:checked) {
  border-color: #b3261e;
  background: #fff0ef;
  color: #8b0000;
}

.store-customer-list tr[id^="customer-"] {
  scroll-margin-top: 24px;
}

.store-customer-list tr[id^="customer-"]:target {
  outline: 2px solid var(--theme-primary);
  outline-offset: -2px;
}

.store-customer-list .customer-list-gender .electronic-customer-gender {
  width: 28px;
  height: 28px;
  margin: 0 auto;
  font-size: 16px;
}

.electronic-customer-search {
  position: relative;
}

.electronic-customer-master {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
  gap: 8px;
  align-items: end;
  padding: 10px;
  border: 1px solid #b9c8d8;
  border-radius: 8px;
  background: #f3f7fb;
}

.electronic-customer-master[hidden] {
  display: none;
}

.electronic-customer-master > span {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.electronic-customer-master small {
  color: #66788a;
  font-size: 10px;
  font-weight: 800;
}

.electronic-customer-master strong {
  overflow: hidden;
  color: #263f55;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.electronic-customer-profile[data-profile-master-linked="1"] .electronic-profile-identity-row {
  display: none;
}

@media (max-width: 760px) {
  .electronic-customer-master {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .electronic-customer-master > .button {
    grid-column: 1 / -1;
    width: 100%;
  }
}

.electronic-profile-customer-search > label {
  display: grid;
  gap: 5px;
  font-weight: 700;
}

.electronic-customer-search-heading {
  display: flex;
  gap: 7px;
  align-items: center;
}

.electronic-new-customer-badge {
  display: none;
  align-items: center;
  padding: 3px 9px;
  border: 1px solid #2e8b57;
  border-radius: 999px;
  background: #e8f7ee;
  color: #176b3a;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.3;
}

.electronic-new-customer-badge[hidden] {
  display: none !important;
}

.electronic-customer-search:has([data-customer-query]:not(:placeholder-shown)) .electronic-new-customer-badge {
  display: inline-flex;
}

.electronic-customer-suggestions {
  position: absolute;
  z-index: 40;
  top: calc(100% + 5px);
  right: 0;
  left: 0;
  max-height: 310px;
  padding: 6px;
  overflow-y: auto;
  border: 1px solid var(--store-border);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(52, 32, 21, .2);
}

/* The new-tab search returns at most five customers. Keep all five in the
   normal form flow so the form container cannot clip the dropdown to one row. */
.electronic-tab-new [data-customer-suggestions] {
  position: static;
  max-height: none;
  margin-top: 5px;
  overflow-y: visible;
}

.electronic-customer-suggestions > button {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  width: 100%;
  padding: 9px 10px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--theme-heading);
  text-align: left;
  cursor: pointer;
}

.electronic-customer-suggestions > button[hidden] {
  display: none !important;
}

.electronic-customer-suggestions > button:hover,
.electronic-customer-suggestions > button:focus-visible {
  background: var(--store-table-header);
}

.electronic-customer-suggestions > .electronic-new-customer-choice {
  display: block;
  margin-top: 4px;
  border-top: 1px solid var(--store-border);
  border-radius: 0 0 6px 6px;
  color: #176b3a;
  font-weight: 800;
}

.electronic-customer-suggestions > .electronic-new-customer-choice[hidden] {
  display: none;
}

.electronic-customer-gender {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 50%;
  background: #8a8f98;
  color: #fff;
  font-size: 18px;
  font-weight: 800;
}

.electronic-customer-gender.is-male {
  background: #2878c8;
}

.electronic-customer-gender.is-female {
  background: #e96b9b;
}

.electronic-customer-suggestion-text {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.electronic-customer-suggestion-text strong,
.electronic-customer-suggestion-text small {
  overflow-wrap: anywhere;
}

.electronic-customer-suggestion-text strong {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.electronic-customer-suggestion-text small {
  color: var(--theme-muted);
  font-size: 12px;
}

.electronic-customer-suggestion-text .electronic-customer-tag-match {
  display: flex;
  gap: 6px;
  align-items: center;
}

.electronic-customer-tag-match[hidden] {
  display: none !important;
}

.electronic-customer-tag-match span {
  padding: 2px 6px;
  border-radius: 999px;
  background: #6b4f3a;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
}

.electronic-customer-tag-match b {
  color: var(--theme-heading);
  font-weight: 700;
}

.electronic-customer-profile legend {
  padding: 0 6px;
  font-weight: 700;
}

.electronic-customer-caution {
  display: flex !important;
  flex-direction: row !important;
  gap: 7px !important;
  align-items: center;
  color: #b3261e;
  font-weight: 800;
}

.electronic-customer-caution input {
  width: 18px;
  height: 18px;
}

.electronic-customer-flags {
  display: flex;
  gap: 14px;
  align-items: center;
  flex-wrap: nowrap;
}

.electronic-customer-banned,
.customer-banned-option {
  display: flex !important;
  flex-direction: row !important;
  gap: 7px !important;
  align-items: center;
  color: #8b0000;
  font-weight: 800;
}

.electronic-customer-banned input,
.customer-banned-option input {
  width: 18px;
  height: 18px;
}

.electronic-tab-details-form :is(label, legend),
.electronic-customer-profile > legend {
  color: #795238;
}

.electronic-profile-age-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  align-items: end;
}

.electronic-tab-new select[multiple],
.electronic-tab-details-form select[multiple] {
  min-height: 76px;
  max-height: 92px;
  padding: 5px 8px;
}

.electronic-tab-workspace {
  display: grid;
  grid-template-columns: minmax(280px, .85fr) minmax(420px, 1.4fr);
  gap: 18px;
  align-items: start;
}

.electronic-menu-column {
  display: grid;
  min-width: 0;
  gap: 12px;
}

.electronic-slip-column {
  display: grid;
  min-width: 0;
  gap: 8px;
  align-content: start;
}

.electronic-menu-panel-heading {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
}

.electronic-menu-panel-heading h2 {
  margin: 0;
}

.electronic-manual-item-trigger {
  flex: 0 0 auto;
}

.electronic-today-sales-widget {
  display: grid;
  gap: 6px;
  padding: 9px 12px;
  border: 1px solid var(--store-border);
  border-radius: 10px;
  background: linear-gradient(145deg, #fff, #faf6f2);
}

.electronic-empty-sales-tools {
  display: grid;
  gap: 8px;
  margin-top: 18px;
}

.electronic-today-sales-heading,
.electronic-today-sales-metrics {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.electronic-today-sales-metrics > span {
  display: inline-flex;
  gap: 6px;
  align-items: baseline;
}

.electronic-today-sales-metrics small {
  color: var(--muted);
  font-size: 11px;
}

.electronic-today-sales-heading a {
  color: var(--theme-primary);
  font-size: 11px;
  font-weight: 800;
}

.electronic-today-sales-metrics {
  justify-content: flex-start;
  gap: 20px;
  padding: 6px 0;
  border-bottom: 1px solid var(--store-border);
}

.electronic-today-sales-metrics strong {
  color: var(--theme-heading);
  font-size: 18px;
}

.electronic-daily-report-button {
  width: 100%;
  min-height: 34px;
  padding-block: 5px;
  background: #218739 !important;
  color: #fff !important;
}

.electronic-today-sales-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.electronic-today-sales-actions .button {
  width: 100%;
  min-height: 34px;
  padding-block: 5px;
}

.electronic-daily-report-page {
  display: grid;
  gap: 16px;
}

.electronic-daily-report-heading {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 12px;
}

.electronic-daily-report-heading h2 {
  margin: 0;
}

.electronic-daily-report-heading .button {
  flex: 0 0 auto;
}

.electronic-daily-report-summary,
.electronic-daily-report-form {
  display: grid;
  gap: 14px;
}

.electronic-daily-report-inventory-search {
  display: grid;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid var(--store-border);
  border-radius: 10px;
  background: color-mix(in srgb, var(--theme-surface) 88%, var(--store-accent) 12%);
}

.electronic-daily-report-inventory-search > label,
.electronic-daily-report-memo-label {
  font-weight: 800;
}

.electronic-daily-report-inventory-search input,
.electronic-daily-report-memo-label textarea {
  font-weight: 400;
}

.electronic-daily-report-search-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  margin-top: 6px;
}

.electronic-daily-report-search-results {
  display: grid;
  gap: 10px;
  padding-top: 4px;
  border-top: 1px solid var(--store-border);
}

.electronic-daily-report-search-results h3 {
  margin: 0;
  font-size: 15px;
}

.electronic-inventory-required-groups {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
}

.electronic-inventory-required-table-wrap {
  width: 100%;
  overflow-x: auto;
  border: 1px solid var(--store-border);
  border-radius: 10px;
  background: var(--theme-surface);
}

.electronic-inventory-required-table {
  width: 100%;
  min-width: 560px;
  border-collapse: collapse;
  table-layout: fixed;
}

.electronic-inventory-required-table thead th {
  padding: 9px 12px;
  border-bottom: 2px solid var(--store-border);
  background: color-mix(in srgb, var(--store-accent) 8%, white);
  color: var(--store-strong);
  font-size: 12px;
  text-align: left;
}

.electronic-inventory-column-category { width: 24%; }
.electronic-inventory-column-product { width: 58%; }
.electronic-inventory-column-request { width: 18%; }

.electronic-inventory-required-table thead th:first-child,
.electronic-inventory-required-table thead th:nth-child(3) {
  text-align: center;
}

.electronic-inventory-required-table tbody > tr > th,
.electronic-inventory-required-table tbody > tr > td {
  padding: 4px 10px;
  border-bottom: 1px solid var(--store-border);
  background: rgba(255, 255, 255, .92);
  vertical-align: middle;
}

.electronic-inventory-required-table tbody > tr > th {
  font-size: 14px;
  font-weight: 700;
  text-align: left;
}

.electronic-inventory-product-cell {
  display: flex;
  align-items: center;
  gap: 8px;
}

.electronic-inventory-product-cell img {
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  border: 1px solid var(--store-border);
  border-radius: 7px;
  background: #fff;
  object-fit: cover;
}

.electronic-inventory-product-image-empty {
  display: grid;
  flex: 0 0 30px;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 1px solid var(--store-border);
  border-radius: 7px;
  background: #f3f4f6;
  color: #7b8088;
  font-size: 8px;
  font-weight: 700;
  line-height: 1.1;
  text-align: center;
}

.electronic-inventory-request-cell {
  text-align: center;
}

.electronic-inventory-request-cell > label {
  justify-content: center;
}

.electronic-inventory-required-table input[type="text"] {
  width: 100%;
  min-height: 32px;
  padding: 4px 8px;
  font-size: 13px;
}

.electronic-inventory-stock-control {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 38px;
  align-items: center;
  gap: 7px;
  min-width: 0;
}

.electronic-inventory-stock-control input {
  min-width: 0;
}

.electronic-inventory-stock-control > small {
  width: 38px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.electronic-inventory-stock-control > small.is-empty {
  visibility: hidden;
}

.electronic-inventory-category-cell {
  border-right: 1px solid var(--store-border);
  color: var(--store-strong);
  text-align: center !important;
  vertical-align: middle !important;
}

.electronic-inventory-category-cell span,
.electronic-inventory-category-cell small {
  display: block;
}

.electronic-inventory-category-cell small {
  margin-top: 1px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
}

.electronic-inventory-required-group--taco .electronic-inventory-category-cell { background: #f9ecdc; }
.electronic-inventory-required-group--alcohol .electronic-inventory-category-cell { background: #e4f3f1; }
.electronic-inventory-required-group--other .electronic-inventory-category-cell { background: #f3f4f6; }

.electronic-inventory-required-group {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--store-border);
  border-radius: 10px;
}

.electronic-inventory-required-group--taco {
  border-color: #e8c59f;
  background: linear-gradient(135deg, #fff9f1, #f9ecdc);
}

.electronic-inventory-required-group--alcohol {
  border-color: #b8d7d4;
  background: linear-gradient(135deg, #f2fbfa, #e4f3f1);
}

.electronic-inventory-required-group--other {
  background: #f8f8f8;
}

.electronic-inventory-required-group h3 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin: 0;
  color: var(--store-strong);
  font-size: 15px;
  border-left: 4px solid var(--store-accent);
  padding-left: 8px;
}

.electronic-inventory-required-group h3 small,
.electronic-daily-report-required-count {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 2px 8px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--store-accent) 13%, white);
  color: var(--store-strong);
  font-size: 12px;
  font-weight: 700;
}

.electronic-daily-report-required-count {
  margin-left: 5px;
  vertical-align: middle;
}

.electronic-daily-report-required-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.electronic-daily-report-required-heading h2,
.electronic-daily-report-required-heading p {
  margin: 0;
}

.electronic-daily-report-required-heading p {
  margin-top: 3px;
}

.electronic-daily-report-required-task {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 9px 12px;
  border: 1px solid #efb0a8;
  border-left: 5px solid #d94b3d;
  border-radius: 10px;
  background: linear-gradient(90deg, #fff1ee, #fff9f7);
  color: #673129;
}

.electronic-daily-report-required-task input[type="checkbox"] {
  width: 20px;
  height: 20px;
  accent-color: #d94b3d;
}

.electronic-daily-report-required-task strong {
  display: inline-block;
  margin-right: 7px;
  padding: 2px 7px;
  border-radius: 999px;
  background: #d94b3d;
  color: #fff;
  font-size: 12px;
}

.electronic-daily-report-required-task small {
  color: #8d5148;
  white-space: nowrap;
}

.electronic-daily-report-summary {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.electronic-daily-report-summary article {
  display: grid;
  gap: 4px;
  padding: 16px;
  border: 1px solid var(--store-border);
  border-radius: 10px;
  background: var(--theme-surface);
}

.electronic-daily-report-summary article span { color: var(--muted); }
.electronic-daily-report-summary article strong { font-size: 24px; }

.electronic-inventory-checklist {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  max-height: 430px;
  padding: 4px;
  overflow-y: auto;
}

.electronic-inventory-check-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  padding: 9px;
  border: 1px solid var(--store-border);
  border-radius: 8px;
}

.electronic-inventory-check-row input[type="checkbox"] {
  width: 18px;
  height: 18px;
}

.electronic-inventory-abundant {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin: 0;
  white-space: nowrap;
  cursor: pointer;
}

.electronic-inventory-abundant small {
  color: var(--store-text);
  font-size: 12px;
  font-weight: 700;
}

.electronic-inventory-request {
  min-width: 48px;
  min-height: 48px;
  gap: 8px;
}

.electronic-inventory-request input[type="checkbox"] {
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  margin: 0;
  accent-color: var(--store-accent);
}

.electronic-inventory-request small {
  font-size: 13px;
}

.electronic-inventory-check-row input[type="text"] { min-height: 36px; }

.electronic-inventory-required-group .electronic-inventory-checklist {
  max-height: none;
  padding: 0;
  gap: 5px;
  overflow: visible;
}

.electronic-inventory-required-group .electronic-inventory-check-row {
  gap: 10px;
  min-height: 52px;
  padding: 8px 10px;
  background: rgba(255, 255, 255, .9);
}

.electronic-inventory-required-group .electronic-inventory-check-row span {
  font-size: 14px;
  font-weight: 700;
}

.electronic-inventory-required-group .electronic-inventory-check-row input[type="text"] {
  min-height: 38px;
  padding: 6px 9px;
  font-size: 14px;
}

@media (max-width: 760px) {
  .electronic-daily-report-summary,
  .electronic-inventory-checklist,
  .electronic-inventory-required-groups { grid-template-columns: 1fr; }
  .electronic-daily-report-search-row { grid-template-columns: 1fr; }
  .electronic-daily-report-required-heading { align-items: flex-start; }
  .electronic-daily-report-required-task {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .electronic-daily-report-required-task small {
    grid-column: 2;
    white-space: normal;
  }
}

.electronic-manual-item-dialog {
  width: min(460px, calc(100vw - 24px));
  max-width: none;
  padding: 0;
  border: 0;
  border-radius: 10px;
  box-shadow: 0 20px 60px rgba(31, 24, 18, .3);
}

.electronic-manual-item-dialog::backdrop {
  background: rgba(28, 23, 20, .48);
}

.electronic-manual-item-form {
  display: grid;
  gap: 14px;
  padding: 20px;
  background: var(--theme-surface);
}

.electronic-manual-item-form h3 {
  margin: 0;
  color: var(--theme-heading);
}

.electronic-item-recipe-link-note {
  margin: 0;
  color: var(--theme-muted);
  font-size: 13px;
  line-height: 1.6;
}

.electronic-item-recipe-link-trigger {
  justify-self: start;
  padding: 2px 7px;
  border: 1px solid var(--theme-primary);
  border-radius: 999px;
  background: transparent;
  color: var(--theme-primary);
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
}

.electronic-manual-item-form label {
  display: grid;
  gap: 6px;
  margin: 0;
  font-weight: 800;
}

.electronic-manual-item-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.electronic-menu-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.electronic-menu-search {
  width: 100%;
  margin-top: 10px;
}

.electronic-menu-search::placeholder {
  color: var(--theme-muted);
  opacity: .8;
}

.electronic-menu-search-results {
  display: none;
  margin-top: 8px;
  border: 1px solid var(--store-border);
  border-radius: 6px;
  background: var(--theme-surface);
}

.electronic-menu-panel:has(.electronic-menu-search:not(:placeholder-shown)) > .electronic-menu-search-results:not([hidden]) {
  display: block;
}

.electronic-menu-panel:has(.electronic-menu-search:not(:placeholder-shown)) > .electronic-menu-group:not(.electronic-menu-search-results) {
  display: none;
}

.electronic-menu-search-results[hidden] {
  display: none;
}

.electronic-menu-search-empty {
  grid-column: 1 / -1;
  margin: 0;
  padding: 12px;
  color: var(--theme-muted);
  text-align: center;
}

.electronic-menu-group {
  margin-top: 8px;
  border: 1px solid var(--store-border);
  border-radius: 6px;
  background: var(--theme-surface);
}

.electronic-menu-group > summary {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  min-height: 42px;
  padding: 8px 12px;
  color: var(--theme-heading);
  font-weight: 800;
  cursor: pointer;
}

.electronic-menu-group > summary span {
  color: var(--theme-muted);
  font-size: 12px;
}

.electronic-menu-group[open] > summary {
  border-bottom: 1px solid var(--store-border);
  background: var(--store-table-header);
}

.electronic-menu-parent-group {
  overflow: hidden;
  background: #fff;
}

.electronic-menu-parent-group > summary,
.electronic-menu-parent-group[open] > summary {
  border-bottom-color: rgba(255, 255, 255, .28);
  background: var(--store-strong);
  color: #fff;
}

.electronic-menu-parent-group > summary span,
.electronic-menu-parent-group[open] > summary span {
  color: rgba(255, 255, 255, .82);
}

.electronic-menu-parent-group > .electronic-menu-grid,
.electronic-menu-parent-group > .electronic-menu-subgroups {
  background: #fff;
}

.electronic-menu-parent-group .electronic-menu-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.electronic-menu-parent-group .electronic-menu-subgroup {
  background: #fff;
}

.electronic-menu-group > .electronic-menu-grid {
  padding: 10px;
}

.electronic-menu-grid form,
.electronic-menu-grid button {
  width: 100%;
}

.electronic-menu-grid button {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: grid;
  gap: 3px;
  align-content: end;
  min-height: 96px;
  padding: 12px;
  border: 1px solid var(--store-border);
  border-radius: 6px;
  background:
    linear-gradient(180deg, rgba(52, 32, 21, .08) 15%, rgba(44, 27, 18, .88) 100%),
    var(--electronic-menu-image, linear-gradient(135deg, var(--store-secondary), var(--store-strong)));
  background-position: center;
  background-size: cover;
  color: #fff;
  text-align: left;
  text-shadow: 0 1px 3px rgba(0, 0, 0, .85);
  cursor: pointer;
}

.electronic-menu-grid button:hover:not(:disabled) {
  border-color: var(--theme-primary);
  filter: brightness(1.08);
}

.electronic-menu-card-name {
  font-size: 15px;
  font-weight: 800;
  line-height: 1.35;
}

.electronic-menu-card-kana {
  display: block;
  color: rgba(255, 255, 255, .88);
  font-size: 10px;
  font-weight: 600;
  line-height: 1.3;
}

.electronic-menu-card-price {
  margin-top: 3px;
  font-size: 13px;
}

.electronic-menu-grid button:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.electronic-check-heading {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}

.electronic-check-heading h2,
.electronic-check-heading p {
  margin: 0;
}

.electronic-check-panel {
  position: relative;
}

.electronic-account-slip {
  overflow: hidden;
  border: 1px solid #b9aa91;
  border-radius: 2px;
  background:
    linear-gradient(rgba(255,255,255,.58), rgba(255,255,255,.58)),
    repeating-linear-gradient(0deg, #f7f0df 0, #f7f0df 27px, #eadfc8 28px);
  box-shadow: 0 8px 22px rgba(63, 45, 30, .12);
  color: #332b25;
}

.electronic-account-slip {
  border: 2px solid #4d98ba;
  background:
    linear-gradient(rgba(255,255,255,.66), rgba(255,255,255,.66)),
    repeating-linear-gradient(0deg, #eaf8ff 0, #eaf8ff 27px, #cfeaf7 28px);
  box-shadow: 0 8px 22px rgba(35, 103, 137, .14);
  color: #17394a;
}

body.theme-store section.settings-panel.electronic-account-slip {
  border: 2px solid #4d98ba;
}

.electronic-account-slip::before,
.electronic-account-slip::after {
  border-inline-color: rgba(77, 152, 186, .48);
}

.electronic-account-slip .electronic-slip-masthead,
.electronic-account-slip .electronic-check-columns,
.electronic-account-slip .electronic-check-items,
.electronic-account-slip .electronic-subtotal-total {
  border-color: #4d98ba;
}

.electronic-account-slip .electronic-slip-masthead > div span,
.electronic-account-slip .electronic-slip-masthead dt {
  color: #397895;
}

.electronic-account-slip .electronic-slip-masthead > div strong,
.electronic-account-slip .electronic-check-total,
.electronic-account-slip .electronic-subtotal-total strong {
  color: #174f69;
}

.electronic-account-slip .electronic-check-total {
  border-color: #4d98ba;
  background: rgba(231, 248, 255, .76);
}

.electronic-account-slip .electronic-check-columns {
  background: rgba(77, 152, 186, .12);
  color: #285f78;
}

.electronic-account-slip .electronic-check-item {
  border-bottom-color: #9bc7db;
  background: rgba(255,255,255,.38);
}

.electronic-account-slip::before,
.electronic-account-slip::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 4px;
  border-inline: 1px solid rgba(77, 152, 186, .48);
  pointer-events: none;
}

.electronic-account-slip::before { left: 8px; }
.electronic-account-slip::after { right: 8px; }

.electronic-slip-masthead {
  display: grid;
  grid-template-columns: auto minmax(142px, 1fr) auto auto;
  grid-template-areas:
    "location title actions total"
    "meta meta meta meta";
  gap: 10px 18px;
  align-items: center;
  min-width: 0;
  overflow: visible;
  margin: -2px 0 16px;
  padding: 4px 8px 14px;
  border-bottom: 3px double #76543d;
}

.electronic-slip-location {
  display: grid;
  grid-area: location;
  min-width: 34px;
  min-height: 34px;
  width: 34px;
  height: 34px;
  padding: 4px;
  place-items: center;
  border-radius: 50%;
  background: #174f69;
  color: #fff;
  font-size: 15px;
  line-height: 1;
}

.electronic-slip-masthead > div {
  display: grid;
  gap: 1px;
}

.electronic-slip-title {
  grid-area: title;
  min-width: 142px;
}

.electronic-slip-masthead > div span {
  color: #876f5d;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .18em;
}

.electronic-slip-masthead > div strong {
  color: #3f2c20;
  font-size: 25px;
  letter-spacing: .14em;
}

.electronic-slip-title > strong {
  white-space: nowrap;
}

.electronic-slip-primary-actions {
  display: flex !important;
  grid-area: actions;
  gap: 7px !important;
  min-width: 0;
  align-items: center;
  flex-wrap: wrap;
}

.electronic-slip-primary-actions .electronic-tab-details-trigger {
  flex: 0 0 auto;
  min-width: 112px;
  min-height: 40px;
}

.electronic-slip-primary-actions .electronic-seat-move-picker > summary {
  min-width: 92px;
  min-height: 40px;
}

.electronic-slip-masthead > .electronic-check-total {
  grid-area: total;
  align-self: center;
  justify-self: end;
  min-width: 0;
  max-width: 100%;
  padding: 8px 14px;
  font-size: 22px;
}

.electronic-slip-masthead dl {
  display: flex;
  grid-area: meta;
  gap: 8px;
  justify-content: flex-start;
  justify-self: start;
  margin: 0;
}

.electronic-slip-masthead dl > div {
  display: grid;
  gap: 2px;
  min-width: 82px;
  padding: 5px 9px;
  border-radius: 6px;
  background: rgba(77, 152, 186, .08);
  text-align: center;
}

.electronic-slip-masthead dt {
  color: #887463;
  font-size: 9px;
  font-weight: 800;
}

.electronic-slip-masthead dd {
  margin: 0;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 13px;
  font-weight: 800;
}

.electronic-check-title-row {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

.electronic-check-title > p {
  margin-top: 3px;
  color: var(--theme-muted);
  font-size: 12px;
}

.electronic-check-total {
  white-space: nowrap;
  padding: 8px 12px;
  border: 2px solid #76543d;
  background: rgba(255,255,255,.5);
  color: #3f2c20;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 24px;
}

.electronic-tab-details {
  position: relative;
  margin: 0;
}

.electronic-tab-details summary,
.electronic-tab-details-trigger {
  min-height: 28px;
  padding: 4px 8px;
  border: 1px solid var(--store-secondary);
  border-radius: 5px;
  background: var(--theme-surface);
  color: var(--theme-primary);
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
  list-style: none;
}

.electronic-tab-details.has-incomplete-profile > summary,
.electronic-tab-details.has-incomplete-profile > .electronic-tab-details-trigger,
.electronic-tab-details-trigger.is-alert {
  color: #fff;
  background: #c62828;
  border-color: #c62828;
  animation: electronic-profile-alert 1.25s ease-in-out infinite;
}

.electronic-tab-details-trigger.is-important {
  border-color: #c62828;
  background: #c62828;
  color: #fff;
}

.electronic-tab-details-trigger.is-important:hover,
.electronic-tab-details-trigger.is-important:focus-visible {
  border-color: #941b1b;
  background: #941b1b;
  color: #fff;
}

.electronic-incomplete-field {
  min-width: 0;
}

.electronic-incomplete-field :is(input:not([type="radio"]), select) {
  border-color: #d94a4a;
  background: #fff0f0;
}

.electronic-profile-gender-control.electronic-incomplete-field .electronic-profile-gender {
  border-radius: 6px;
  background: #fff0f0;
  box-shadow: inset 0 0 0 1px #d94a4a;
}

@keyframes electronic-profile-alert {
  0%, 100% {
    opacity: 1;
    box-shadow: 0 0 0 0 rgba(198, 40, 40, .38);
  }
  50% {
    opacity: .62;
    box-shadow: 0 0 0 6px rgba(198, 40, 40, 0);
  }
}

.electronic-tab-details summary::-webkit-details-marker {
  display: none;
}

.electronic-tab-details-dialog {
  width: min(900px, calc(100vw - 32px));
  max-width: none;
  max-height: calc(100dvh - 32px);
  padding: 0;
  overflow: hidden;
  border-radius: 10px;
  border: 0;
  background: transparent;
}

.electronic-tab-details-dialog::backdrop {
  background: rgba(20, 28, 35, .72);
}

.electronic-settled-detail-dialog {
  width: min(860px, calc(100vw - 32px));
  max-width: none;
  max-height: calc(100dvh - 32px);
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 12px;
  background: var(--theme-surface);
  box-shadow: 0 20px 48px rgba(52, 32, 21, .28);
}

.electronic-settled-list-table {
  width: 100%;
  table-layout: fixed;
  font-size: 11px;
}

.electronic-settled-list-table :is(th, td) { padding: 7px 5px; }

.electronic-settled-list-table tbody .electronic-settled-date-row > th {
  padding: 8px 12px;
  border-top: 3px solid var(--theme-primary);
  border-bottom: 1px solid color-mix(in srgb, var(--theme-primary) 35%, transparent);
  background: color-mix(in srgb, var(--theme-primary) 9%, var(--theme-surface));
  color: var(--theme-primary);
  font-size: .9rem;
  font-weight: 800;
  text-align: left;
}

.electronic-management-create-actions {
  display: flex;
  justify-content: flex-start;
  margin-bottom: 12px;
}

.electronic-settled-list-table td[data-label="詳細"] {
  white-space: normal;
}

.electronic-settled-list-table td[data-label="詳細"] > .button {
  width: 100%;
  min-height: 26px;
  margin: 2px 0;
  padding: 3px 5px;
  font-size: 10px;
}

.electronic-settled-list-table col.is-ticket,
.electronic-settled-list-table col.is-seat {
  width: 5%;
}

.electronic-settled-list-table col.is-date,
.electronic-settled-list-table col.is-total,
.electronic-settled-list-table col.is-payment {
  width: 8%;
}

.electronic-settled-list-table col.is-customer {
  width: 12%;
}

.electronic-settled-list-table col.is-items {
  width: 12%;
}

.electronic-settled-list-table col.is-time {
  width: 13%;
}

.electronic-settled-list-table col.is-staff {
  width: 8%;
}

.electronic-settled-list-table col.is-action { width: 11%; }

.electronic-settled-list-table :is(th, td):not(:nth-child(3), :nth-child(5), :nth-child(9)) {
  white-space: nowrap;
}

.electronic-settled-list-table td[data-label="お客様"] .electronic-customer-gender {
  margin-right: 5px;
}

.electronic-settled-customer-summary > span {
  display: block;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.electronic-settled-customer-summary a {
  color: var(--theme-primary);
  font-weight: 800;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

.electronic-settled-customer-summary a:hover,
.electronic-settled-customer-summary a:focus-visible { color: var(--theme-primary-hover); }

.electronic-settled-staff-summary > span {
  display: block;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.electronic-settled-item-summary,
.electronic-settled-time-summary {
  display: table-cell;
  min-width: 0;
  vertical-align: middle;
}

.electronic-settled-item-summary > span,
.electronic-settled-item-summary details span {
  display: block;
  overflow-wrap: anywhere;
}

.electronic-settled-item-summary details summary {
  cursor: pointer;
  color: var(--theme-primary);
  font-weight: 800;
  white-space: nowrap;
}

.electronic-settled-item-summary details > div {
  display: grid;
  gap: 3px;
  margin-top: 5px;
  padding-top: 5px;
  border-top: 1px solid var(--theme-divider);
}

.electronic-settled-time-summary {
  font-size: 11px;
  line-height: 1.35;
}

.electronic-settled-time-summary > span {
  display: grid;
  grid-template-columns: max-content max-content;
  justify-content: start;
  column-gap: 4px;
  min-height: 15px;
}

.electronic-settled-time-summary small {
  color: var(--muted);
  font-size: 10px;
}

@media (max-width: 760px) {
  .electronic-settled-list-table :is(th, td) {
    white-space: normal;
  }

  .electronic-settled-item-summary,
  .electronic-settled-time-summary {
    display: block;
  }
}

.electronic-settled-detail-dialog::backdrop {
  background: rgba(20, 28, 35, .72);
}

.electronic-settled-detail-card {
  display: grid;
  gap: 14px;
  max-height: calc(100dvh - 32px);
  padding: 20px;
  overflow-y: auto;
}

.electronic-settled-detail-header,
.electronic-settled-detail-header > div,
.electronic-settled-detail-meta {
  display: flex;
  align-items: center;
}

.electronic-settled-detail-header {
  justify-content: space-between;
  gap: 16px;
}

.electronic-settled-detail-header > div {
  flex-wrap: wrap;
  gap: 8px 14px;
}

.electronic-settled-detail-header strong {
  font-size: 18px;
  color: var(--theme-primary);
}

.electronic-settled-detail-meta {
  flex-wrap: wrap;
  gap: 8px;
}

.electronic-settled-detail-meta span {
  padding: 5px 9px;
  border-radius: 999px;
  background: var(--theme-primary-light);
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}
.electronic-settled-customer-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--theme-primary-border);
  border-radius: 8px;
  background: var(--theme-primary-light);
}
.electronic-settled-customer-form label { display: grid; gap: 5px; min-width: 0; margin: 0; }
.electronic-settled-customer-form label > span { color: var(--theme-primary); font-size: 12px; font-weight: 800; }
.electronic-settled-customer-form select { width: 100%; min-width: 0; }
.electronic-settled-customer-form.has-companions { grid-template-columns: minmax(0, 1fr) auto; }
.electronic-settled-customer-form label > small { color: var(--muted); font-size: 11px; font-weight: 600; }
.electronic-settled-primary-editor {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: auto minmax(180px, 1fr) auto minmax(150px, .8fr) minmax(130px, .65fr);
  align-items: end;
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--theme-primary-border);
  border-radius: 7px;
  background: #fff;
}
.electronic-settled-primary-editor > strong { align-self: center; color: var(--theme-primary); font-size: 13px; white-space: nowrap; }
.electronic-settled-primary-editor > small { grid-column: 2 / -1; color: var(--muted); font-size: 11px; font-weight: 600; }
.electronic-settled-customer-picker { display: grid; gap: 5px; min-width: 0; }
.electronic-settled-customer-picker > span { color: var(--theme-primary); font-size: 12px; font-weight: 800; }
.electronic-settled-customer-picker > input { width: 100%; min-width: 0; }
.electronic-settled-customer-picker .electronic-customer-suggestions {
  position: static;
  max-height: none;
  margin-top: 2px;
  overflow: visible;
}
.electronic-settled-customer-picker .electronic-customer-suggestions > button { grid-template-columns: minmax(0, 1fr); }
.electronic-settled-primary-or { align-self: center; color: var(--muted); font-size: 11px; font-weight: 800; white-space: nowrap; }
.electronic-settled-companion-editor {
  display: grid;
  grid-column: 1 / -1;
  gap: 7px;
  padding: 9px;
  border: 1px solid var(--theme-primary-border);
  border-radius: 7px;
  background: #fff;
}
.electronic-settled-companion-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.electronic-settled-companion-heading > strong { color: var(--theme-primary); font-size: 12px; }
.electronic-settled-companion-list { display: grid; gap: 6px; }
.electronic-settled-companion-row {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) minmax(125px, .75fr) minmax(115px, .65fr) auto;
  gap: 6px;
  align-items: center;
}
.electronic-settled-companion-row select,
.electronic-settled-companion-row input {
  min-width: 0;
  min-height: 34px;
  padding: 5px 7px;
  font-size: 12px;
}
.electronic-settled-companion-row .button { min-height: 34px; padding: 5px 9px; }
.electronic-settled-companion-editor > small { color: var(--muted); font-size: 11px; font-weight: 600; }
.electronic-settled-unknown-companions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-top: 8px;
  border-top: 1px solid var(--border);
  font-size: 12px;
  font-weight: 700;
}
.electronic-settled-unknown-companions > span:last-child { display: inline-flex; align-items: center; gap: 6px; }
.electronic-settled-unknown-companions input { width: 72px; min-height: 34px; padding: 5px 8px; text-align: right; }
.electronic-settled-new-customer {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: auto minmax(0, 1fr) minmax(0, 1fr);
  align-items: end;
  gap: 8px 10px;
  padding-top: 10px;
  border-top: 1px solid var(--theme-primary-border);
}
.electronic-settled-new-customer > strong { align-self: center; color: var(--theme-primary); font-size: 12px; white-space: nowrap; }
.electronic-settled-new-customer > small { grid-column: 1 / -1; color: var(--muted); font-size: 11px; }
.electronic-settled-customer-form > .button { grid-column: -2 / -1; justify-self: end; }
.electronic-settled-linked-customers {
  display: grid;
  gap: 7px;
  margin: 10px 0 14px;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--theme-secondary-light);
}
.electronic-settled-linked-customers > strong { color: var(--theme-primary); font-size: 12px; }
.electronic-settled-linked-customers > div { display: flex; flex-wrap: wrap; gap: 6px; }
.electronic-settled-linked-customers > small { color: var(--muted); font-size: 11px; font-weight: 600; }
@media (max-width: 680px) {
  .electronic-settled-customer-form,
  .electronic-settled-customer-form.has-companions { grid-template-columns: minmax(0, 1fr); }
  .electronic-settled-primary-editor { grid-template-columns: minmax(0, 1fr); }
  .electronic-settled-primary-editor > strong,
  .electronic-settled-primary-editor > small { grid-column: 1; }
  .electronic-settled-primary-or { justify-self: center; }
  .electronic-settled-new-customer { grid-template-columns: minmax(0, 1fr); }
  .electronic-settled-new-customer > strong,
  .electronic-settled-new-customer > small { grid-column: 1; white-space: normal; }
  .electronic-settled-companion-row { grid-template-columns: minmax(0, 1fr); }
  .electronic-settled-companion-row .button { width: auto; justify-self: end; }
  .electronic-settled-customer-form > .button { grid-column: 1; justify-self: stretch; }
  .electronic-settled-customer-form .button { width: 100%; }
}

.electronic-settled-detail-table th:nth-last-child(-n+3),
.electronic-settled-detail-table td:nth-last-child(-n+3) {
  text-align: right;
  white-space: nowrap;
}

.electronic-settled-detail-table tfoot th {
  border-top: 2px solid var(--store-border);
  font-size: 16px;
}

.electronic-settled-detail-note {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}

.electronic-tab-details-dialog .electronic-tab-details-form {
  position: static;
  width: 100%;
  max-height: calc(100dvh - 32px);
  margin: 0;
  transform: none;
}

.electronic-tab-details-form {
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 100001;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  align-items: end;
  width: min(900px, calc(100vw - 32px));
  max-height: calc(100dvh - 32px);
  padding: 14px;
  overflow-x: hidden;
  overflow-y: auto;
  border: 1px solid var(--store-border);
  border-radius: 8px;
  background: var(--theme-surface);
  box-shadow: 0 16px 36px rgba(52, 32, 21, .22);
  transform: translate(-50%, -50%);
}

.electronic-tab-details-backdrop {
  position: fixed;
  z-index: 100000;
  inset: 0;
  width: 100vw;
  height: 100dvh;
  padding: 0;
  border: 0;
  background: rgba(20, 28, 35, .62);
  cursor: default;
}

.electronic-tab-details:not([open]) > .electronic-tab-details-backdrop,
.electronic-tab-details:not([open]) > .electronic-tab-details-form {
  display: none;
}

.electronic-tab-details-form label {
  display: grid;
  gap: 5px;
  font-weight: 700;
}

.electronic-tab-details-form > fieldset,
.electronic-tab-details-form > .electronic-tab-details-actions {
  grid-column: 1 / -1;
}

.electronic-tab-details-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}

.electronic-tab-details-actions .button {
  min-width: 150px;
}

body.theme-store .electronic-tab-details-actions .electronic-details-save-button {
  border-color: var(--color-success) !important;
  background: var(--color-success) !important;
  color: #fff !important;
}

.electronic-check-items {
  display: grid;
  gap: 0;
  border-bottom: 2px solid #76543d;
}

.electronic-check-columns {
  display: grid;
  grid-template-columns: 42px minmax(180px, 1fr) minmax(112px, 132px) minmax(72px, 86px) 48px;
  gap: 10px;
  padding: 6px 10px;
  border-block: 2px solid #76543d;
  background: rgba(112, 77, 52, .09);
  color: #6c5747;
  font-size: 10px;
  font-weight: 900;
  text-align: center;
}

.electronic-check-columns > span {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  justify-self: center;
  text-align: center;
}

.electronic-check-item {
  display: grid;
  grid-template-columns: 42px minmax(180px, 1fr) minmax(112px, 132px) minmax(72px, 86px) 48px;
  min-width: 0;
  gap: 10px;
  align-items: center;
  padding: 10px;
  border: 0;
  border-bottom: 1px dashed #b9aa91;
  border-radius: 0;
  background: rgba(255,255,255,.32);
}

.electronic-check-item:last-child { border-bottom: 0; }

.electronic-check-item > strong {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-variant-numeric: tabular-nums;
  min-width: 0;
  font-size: clamp(10px, 1.15vw, 13px);
  white-space: nowrap;
}

.electronic-check-item > strong {
  text-align: right;
}

.electronic-subtotal-button,
.electronic-subtotal-confirm {
  border-color: #218739;
  background: #218739;
  color: #fff;
}

.electronic-subtotal-button:hover,
.electronic-subtotal-confirm:hover {
  border-color: #17672a;
  background: #17672a;
}

.electronic-subtotal-button.is-confirmed {
  border-color: #17672a;
  background: #e5f6e9;
  color: #17672a;
}

.electronic-check-actions [data-electronic-settle-button]:disabled {
  opacity: .42;
  cursor: not-allowed;
}

.electronic-cancel-button {
  border-color: #c62828;
  background: #fff;
  color: #c62828;
}

.electronic-cancel-button:hover {
  border-color: #991b1b;
  background: #991b1b;
  color: #fff;
}

.electronic-subtotal-dialog {
  width: min(680px, calc(100vw - 28px));
  max-height: calc(100dvh - 28px);
  padding: 0;
  overflow: auto;
  border: 0;
  border-radius: 4px;
  background: #fffdf7;
  color: #28221e;
  box-shadow: 0 24px 80px rgba(0,0,0,.32);
}

.electronic-subtotal-dialog::backdrop {
  background: rgba(20, 15, 12, .92);
  backdrop-filter: blur(3px);
}

.electronic-payment-dialog {
  width: min(520px, calc(100vw - 28px));
  max-width: none;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 10px;
  background: var(--theme-surface);
  box-shadow: 0 24px 80px rgba(0,0,0,.32);
}

.electronic-payment-dialog::backdrop {
  background: rgba(20, 15, 12, .76);
}

.electronic-payment-form {
  display: grid;
  gap: 18px;
  padding: 20px;
}

.electronic-payment-form header,
.electronic-payment-form footer {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
}

.electronic-payment-form header > div {
  display: grid;
  gap: 2px;
}

.electronic-payment-form header small {
  color: var(--theme-muted);
  font-weight: 800;
}

.electronic-payment-form header strong {
  color: var(--theme-heading);
  font-size: 20px;
}

.electronic-payment-form header > button {
  width: 34px;
  height: 34px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--theme-primary-light);
  color: var(--theme-primary);
  font-size: 22px;
  cursor: pointer;
}

.electronic-payment-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.electronic-payment-options label {
  display: flex;
  gap: 9px;
  align-items: center;
  min-height: 52px;
  padding: 10px 12px;
  border: 1px solid var(--store-border);
  border-radius: 8px;
  background: var(--theme-surface);
  color: var(--theme-heading);
  font-weight: 800;
  cursor: pointer;
}

.electronic-payment-options label:has(input:checked) {
  border-color: var(--theme-primary);
  background: var(--theme-primary-light);
  box-shadow: 0 0 0 2px var(--theme-focus-ring);
}

.electronic-payment-options input {
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: var(--theme-primary);
}

.electronic-tip-field {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 3px 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--store-border);
  border-radius: 8px;
  background: var(--theme-primary-light);
  color: var(--theme-heading);
  font-weight: 800;
}

.electronic-tip-field > small {
  grid-column: 1;
  color: var(--theme-muted);
  font-weight: 600;
}

.electronic-tip-input {
  display: flex;
  grid-row: 1 / 3;
  grid-column: 2;
  align-items: center;
  overflow: hidden;
  border: 1px solid var(--store-border);
  border-radius: 6px;
  background: var(--theme-surface);
}

.electronic-tip-input b {
  padding-left: 10px;
}

.electronic-tip-input input {
  width: 120px;
  min-width: 0;
  border: 0;
  text-align: right;
}

.electronic-payment-form footer {
  justify-content: flex-end;
}

.electronic-payment-form footer .button {
  min-width: 130px;
}

.electronic-subtotal-sheet {
  padding: 28px;
  border: 8px solid #f1eadb;
}

.electronic-subtotal-sheet header {
  display: grid;
  gap: 4px;
  padding-bottom: 18px;
  border-bottom: 3px double #76543d;
  text-align: center;
}

.electronic-subtotal-sheet header span {
  color: #76543d;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .2em;
}

.electronic-subtotal-sheet header strong {
  font-size: clamp(24px, 5vw, 38px);
}

.electronic-subtotal-sheet header small {
  color: #6f6258;
  font-size: 14px;
  font-weight: 700;
}

.electronic-subtotal-items {
  display: grid;
  margin: 18px 0;
}

.electronic-subtotal-items > div {
  display: flex;
  gap: 18px;
  justify-content: space-between;
  padding: 10px 4px;
  border-bottom: 1px dashed #b9aa91;
  font-size: 16px;
}

.electronic-subtotal-items strong,
.electronic-subtotal-total strong {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.electronic-subtotal-total {
  display: flex;
  gap: 20px;
  align-items: baseline;
  justify-content: flex-end;
  padding: 18px 4px;
  border-block: 3px double #76543d;
}

.electronic-subtotal-total span {
  font-size: 20px;
  font-weight: 900;
}

.electronic-subtotal-total strong {
  color: #3f2c20;
  font-size: clamp(34px, 8vw, 54px);
}

.electronic-subtotal-sheet > p {
  margin: 18px 0;
  font-size: 18px;
  font-weight: 800;
  text-align: center;
}

.electronic-subtotal-sheet > .electronic-subtotal-discount {
  margin: 8px 0 0;
  color: #b3261e;
  font-size: 14px;
}

.electronic-subtotal-sheet footer {
  display: flex;
  gap: 12px;
  justify-content: center;
}

.electronic-walkin-archive {
  margin-top: 16px;
}

.electronic-walkin-archive > summary {
  color: var(--theme-heading);
  font-weight: 900;
  cursor: pointer;
}

.electronic-walkin-relink-form {
  display: flex;
  gap: 7px;
  min-width: 300px;
  align-items: center;
}

.electronic-walkin-relink-form input {
  min-width: 190px;
}

.electronic-check-item.is-unchecked {
  opacity: .5;
}

.electronic-check-toggle button,
.electronic-quantity button {
  width: 34px;
  height: 34px;
  min-height: 34px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--theme-primary);
  color: var(--theme-on-primary);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
}

.electronic-check-item-name {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(42px, 56px) 28px;
  gap: 4px;
  align-items: center;
  min-width: 0;
  overflow: hidden;
}

.electronic-customer-treat-form {
  grid-row: 1;
  grid-column: 3;
  align-self: center;
  justify-self: end;
  width: fit-content;
  margin: 0;
}

.electronic-serving-method-form {
  grid-row: 1;
  grid-column: 2;
  width: 100%;
  min-width: 0;
  margin: 0;
}
.electronic-serving-method-form select {
  width: 100%;
  min-width: 0;
  min-height: 22px;
  padding: 1px 14px 1px 3px;
  font-size: 8px;
}

.electronic-check-item-name > .electronic-item-recipe-link-trigger {
  grid-row: 2;
  grid-column: 1;
}

.electronic-check-item-name > dialog {
  grid-column: 1 / -1;
}
.electronic-check-item-name > .electronic-recipe-link,
.electronic-check-item-name > strong {
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.electronic-customer-treat-toggle,
.electronic-customer-treat-badge,
.electronic-serving-method-badge {
  width: fit-content;
  padding: 2px 7px;
  border: 1px solid #9aa5ad;
  border-radius: 999px;
  background: #f5f7f8;
  color: #65727a;
  font-size: 10px;
  font-weight: 900;
  line-height: 1.4;
}

.electronic-customer-treat-toggle {
  display: grid;
  width: 26px;
  min-width: 26px;
  height: 26px;
  min-height: 26px;
  padding: 0;
  place-items: center;
  cursor: pointer;
}

.electronic-customer-treat-toggle.is-active,
.electronic-customer-treat-badge {
  border-color: #e59a16;
  background: #fff3cf;
  color: #855400;
}
.electronic-serving-method-badge {
  margin-left: 4px;
  border-color: #4d98ba;
  background: #eaf6fb;
  color: #245d77;
}

.electronic-discount-row {
  display: grid;
  grid-template-columns: minmax(120px, 1fr) minmax(190px, 240px) auto;
  gap: 10px;
  align-items: center;
  padding: 9px 10px;
  border-bottom: 2px solid #4d98ba;
  background: rgba(255,255,255,.5);
}

.electronic-discount-row > strong {
  color: #174f69;
}

.electronic-discount-row > label {
  display: flex;
  gap: 8px;
  align-items: center;
  color: var(--theme-heading);
  font-size: 11px;
  font-weight: 800;
}

.electronic-discount-input {
  display: flex;
  align-items: center;
  overflow: hidden;
  border: 1px solid var(--store-border);
  border-radius: 5px;
  background: var(--theme-surface);
}

.electronic-discount-input b {
  padding-left: 8px;
  color: #b3261e;
  white-space: nowrap;
}

.electronic-discount-input input {
  width: 100%;
  min-width: 0;
  border: 0;
  text-align: right;
}

.electronic-frequent-favorites button em {
  color: #397895;
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
}

.electronic-quantity {
  display: flex;
  width: 100%;
  gap: 8px;
  align-items: center;
  justify-content: center;
  justify-self: stretch;
  text-align: center;
}

.electronic-quantity b {
  min-width: 24px;
  text-align: center;
}

.electronic-item-remove {
  border: 0;
  background: transparent;
  color: #b3261e;
  cursor: pointer;
}

.electronic-check-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
  margin-top: 18px;
}

.electronic-check-action-meta {
  display: flex;
  gap: 8px;
  align-items: stretch;
  margin-right: auto;
}

.electronic-check-action-meta > span {
  display: grid;
  min-width: 88px;
  min-height: 42px;
  padding: 5px 9px;
  border: 1px solid rgba(77, 152, 186, .42);
  border-radius: 6px;
  align-content: center;
  background: rgba(77, 152, 186, .08);
  text-align: center;
}

.electronic-check-action-meta small {
  color: #397895;
  font-size: 9px;
  font-weight: 800;
}

.electronic-check-action-meta strong {
  color: #174f69;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 14px;
}

.electronic-check-action-meta .electronic-cancel-form {
  display: flex;
  min-width: 88px;
  margin: 0;
}

.electronic-check-action-meta .electronic-cancel-button {
  display: grid;
  width: 100%;
  min-width: 88px;
  min-height: 42px;
  padding: 5px 9px;
  align-content: center;
  line-height: 1.1;
}

.electronic-check-action-meta .electronic-cancel-button small,
.electronic-check-action-meta .electronic-cancel-button strong {
  color: #c62828;
  font-family: inherit;
  font-weight: 800;
}

.electronic-check-action-meta .electronic-cancel-button:hover small,
.electronic-check-action-meta .electronic-cancel-button:hover strong {
  color: #fff;
}

.electronic-check-action-meta .electronic-cancel-button small {
  font-size: 9px;
}

.electronic-check-action-meta .electronic-cancel-button strong {
  font-size: 14px;
}

.electronic-action-picker {
  position: relative;
  margin: 0;
}

.electronic-action-picker > summary {
  display: grid;
  min-width: 110px;
  min-height: 42px;
  margin: 0;
  place-items: center;
  cursor: pointer;
  list-style: none;
}

.electronic-action-picker > summary::-webkit-details-marker {
  display: none;
}

.electronic-action-picker[open] > summary {
  border-color: var(--theme-primary);
  box-shadow: 0 0 0 3px var(--theme-focus-ring);
}

.electronic-action-picker-panel {
  position: absolute;
  z-index: 80;
  right: 0;
  bottom: calc(100% + 8px);
  box-sizing: border-box;
  width: min(320px, calc(100vw - 32px));
  min-width: 280px;
  padding: 12px;
  border: 1px solid var(--store-border);
  border-radius: 8px;
  background: var(--theme-surface);
  box-shadow: 0 14px 34px rgba(35, 25, 20, .24);
}

.electronic-account-slip:has(.electronic-action-picker[open]) {
  overflow: visible;
}

.electronic-seat-move-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: end;
}

.electronic-seat-move-form label {
  display: grid;
  gap: 4px;
  color: var(--theme-heading);
  font-size: 12px;
  font-weight: 800;
}

.electronic-seat-move-form select {
  width: 100%;
  min-width: 0;
}

.electronic-settle-form {
  display: contents;
}

.electronic-payment-method {
  display: grid;
  gap: 3px;
  min-width: 150px;
  color: var(--theme-heading);
  font-size: 11px;
  font-weight: 800;
}

.electronic-payment-method select {
  width: 100%;
  min-width: 0;
}

.electronic-settle-button {
  border-color: #218739 !important;
  background: #218739 !important;
  color: #fff !important;
}

.electronic-settle-button:hover:not(:disabled) {
  border-color: #17672a !important;
  background: #17672a !important;
}

.electronic-cancelled-tabs {
  margin-top: 14px;
  padding: 0;
  overflow: hidden;
}

.electronic-cancelled-tabs > summary {
  padding: 15px 18px;
  color: var(--theme-heading);
  font-weight: 800;
  cursor: pointer;
}

.electronic-cancelled-tabs > .table-wrap,
.electronic-cancelled-tabs > .empty-state {
  margin: 0 14px 14px;
}

.store-business-hours-form {
  display: grid;
  gap: 12px;
}

.store-business-hours-row {
  display: grid;
  grid-template-columns: minmax(100px, .6fr) minmax(120px, 1fr) minmax(120px, 1fr) minmax(90px, .6fr);
  gap: 12px;
  align-items: end;
  padding: 12px;
  border: 1px solid var(--store-border);
  border-radius: 8px;
}

.store-business-hours-row legend {
  padding: 0 6px;
  font-weight: 800;
}

.store-business-hours-row label,
.store-business-cutoff {
  display: grid;
  gap: 5px;
  font-weight: 700;
}

.store-business-hours-row .store-business-closed,
.store-business-hours-row .store-business-next-day {
  display: flex;
  flex-direction: row;
  gap: 7px;
  align-items: center;
  min-height: 44px;
}

.store-business-hours-row input[type="checkbox"] {
  width: 18px;
  height: 18px;
}

.store-business-cutoff {
  max-width: 360px;
}

.store-customer-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.store-customer-form-panel {
  padding: 0;
  overflow: hidden;
}

.store-customer-form-panel > summary {
  position: relative;
  padding: 18px 52px 18px 20px;
  color: var(--wood-dark);
  font-size: 1.05rem;
  font-weight: 800;
  cursor: pointer;
  list-style: none;
  user-select: none;
}

.store-customer-form-panel > summary::-webkit-details-marker {
  display: none;
}

.store-customer-form-panel > summary::after {
  content: "＋";
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  font-size: 1.35rem;
  line-height: 1;
}

.store-customer-form-panel[open] > summary {
  border-bottom: 1px solid var(--line);
}

.store-customer-form-panel[open] > summary::after {
  content: "−";
}

.store-customer-form-panel > .settings-form {
  padding: 20px;
}

.store-customers-page .settings-form {
  display: grid;
  gap: 12px;
}

.store-customers-page .settings-form > label:not(.customer-caution-option) {
  display: grid;
  gap: 5px;
  font-weight: 700;
}

.store-customer-edit-page {
  max-width: 980px;
  margin-inline: auto;
}

.store-customer-edit-panel .settings-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.store-customer-edit-panel .settings-form > :is(fieldset, .customer-notes-field, .electronic-customer-flags, .actions) {
  grid-column: 1 / -1;
}

.store-customer-related-tabs {
  display: grid;
  gap: 14px;
}

.store-customer-related-tabs .section-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.store-customer-related-tabs .section-title-row h2 {
  margin: 0;
}

.store-customer-related-tabs td small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
}

.store-customer-related-tab-detail {
  min-width: 82px;
}

.store-customer-related-tab-detail > summary {
  cursor: pointer;
  color: var(--theme-primary);
  font-weight: 800;
  white-space: nowrap;
}

.store-customer-related-tab-detail > div {
  display: grid;
  gap: 5px;
  min-width: 240px;
  margin-top: 8px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
  line-height: 1.45;
}

.store-customer-merge-page {
  display: grid;
  gap: 16px;
}

.customer-merge-selector {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
  gap: 12px;
  align-items: end;
}

.customer-merge-selector label {
  display: grid;
  gap: 5px;
  font-weight: 800;
}

.customer-merge-search {
  min-width: 0;
}

.customer-merge-search .electronic-customer-suggestions {
  position: static;
  max-height: none;
  margin-top: 5px;
  overflow: visible;
}

.customer-merge-search .electronic-customer-suggestions > button {
  grid-template-columns: minmax(0, 1fr);
}

.customer-merge-comparison {
  display: grid;
  gap: 0;
  overflow: hidden;
}

.customer-merge-heading,
.customer-merge-field,
.customer-merge-history {
  display: grid;
  grid-template-columns: minmax(120px, .55fr) repeat(2, minmax(0, 1fr));
  gap: 0;
  align-items: stretch;
  margin: 0;
  padding: 0;
  border: 0;
  border-bottom: 1px solid var(--store-border);
}

.customer-merge-field {
  min-height: 62px;
}

.customer-merge-heading > *,
.customer-merge-field > *,
.customer-merge-history > * {
  min-width: 0;
  margin: 0;
  padding: 12px;
  border-right: 1px solid var(--store-border);
}

.customer-merge-heading > *:last-child,
.customer-merge-field > *:last-child,
.customer-merge-history > *:last-child {
  border-right: 0;
}

.customer-merge-heading {
  background: var(--store-table-header);
  color: var(--theme-heading);
}

.customer-merge-heading > * {
  display: grid;
  place-items: center;
  text-align: center;
}

.customer-merge-field-label {
  display: flex;
  align-items: center;
  font-weight: 900;
}

.customer-merge-field label {
  display: flex;
  gap: 9px;
  align-items: center;
  cursor: pointer;
}

.customer-merge-field label:has(input:checked) {
  background: color-mix(in srgb, var(--theme-primary) 10%, var(--theme-surface));
  box-shadow: inset 0 0 0 2px var(--theme-primary);
}

.customer-merge-field input {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
}

.customer-merge-field span {
  overflow-wrap: anywhere;
  white-space: normal;
}

.customer-merge-history {
  background: var(--store-table-header);
  font-weight: 800;
}

.customer-merge-comparison > .notice {
  margin: 14px;
}

.customer-merge-comparison > .actions {
  justify-content: flex-end;
  padding: 0 14px 14px;
}

.store-customer-list .settings-table .actions {
  flex-wrap: nowrap;
  justify-content: flex-end;
}

.store-customer-list .settings-table .actions form {
  margin: 0;
}

.customer-sort-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: 100%;
  color: inherit;
  text-decoration: none;
  white-space: nowrap;
}

.customer-sort-link small {
  color: color-mix(in srgb, currentColor 55%, transparent);
  font-size: 9px;
  line-height: 1;
}

.customer-sort-link.is-active small {
  color: currentColor;
}

.customer-list-search {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 0 0 12px;
  padding: 10px 12px;
  border: 1px solid var(--theme-divider);
  border-radius: 10px;
  background: var(--theme-table-header);
}

.customer-list-search > label {
  margin: 0;
  color: var(--theme-primary);
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
}

.customer-list-filter-title {
  flex: 0 0 100%;
  color: var(--theme-primary);
  font-size: 14px;
}

.customer-list-search-control {
  flex: 1 1 300px;
  min-width: 220px;
}

.customer-list-search-control input {
  width: 100%;
  min-width: 0;
}

.customer-list-search > p {
  margin: 0 0 0 auto;
  color: var(--theme-muted);
  font-size: 12px;
  white-space: nowrap;
}

.customer-list-filter {
  display: inline-flex !important;
  flex: 0 1 auto;
  flex-direction: row !important;
  gap: 6px;
  align-items: center;
  margin: 0;
  color: var(--theme-primary);
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.customer-list-filter select {
  width: auto;
  min-width: 105px;
  padding-top: 7px;
  padding-bottom: 7px;
}

.customer-list-search > p strong {
  color: var(--theme-primary);
  font-size: 16px;
}

.customer-list-no-results td {
  padding: 24px !important;
  color: var(--theme-muted);
  text-align: center !important;
}

.store-customer-list .settings-table tr.is-default-new-customer > td {
  background: color-mix(in srgb, var(--theme-primary) 8%, #fff);
  font-weight: 800;
}

.store-customer-list .settings-table tr > td.customer-list-nickname {
  font-weight: 800;
}

.store-customer-list .settings-table tr > td.customer-list-name {
  font-weight: 400;
}

@media (max-width: 760px) {
  .customer-list-keyword-label,
  .customer-list-search-control { width: 100%; flex-basis: 100%; }
  .customer-list-filter { flex: 1 1 calc(50% - 5px); }
  .customer-list-filter select { min-width: 0; flex: 1; }
}

.customer-caution-option {
  display: flex !important;
  flex-direction: row !important;
  gap: 8px;
  align-items: center;
  color: #b3261e;
  font-weight: 800;
}

.customer-caution-badge {
  display: inline-block;
  margin-right: 6px;
  padding: 3px 7px;
  border-radius: 999px;
  background: #b3261e;
  color: #fff;
  font-size: 12px;
}

.customer-favorite-recipes {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--store-border);
  border-radius: 8px;
}

.customer-favorite-recipe-picker {
  position: relative;
  display: grid;
  gap: 8px;
}

.customer-favorite-recipe-selected,
.customer-favorite-tag-preview {
  display: flex;
  gap: 6px;
  align-items: center;
  min-height: 28px;
  flex-wrap: wrap;
}

.customer-favorite-selected-chip,
.customer-favorite-tag-chip {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 4px 9px;
  border: 1px solid var(--store-secondary);
  border-radius: 999px;
  background: var(--store-table-header);
  color: var(--theme-primary);
  font-size: 12px;
  font-weight: 800;
}

.customer-favorite-selected-chip {
  cursor: pointer;
}

.customer-favorite-tag-chip {
  gap: 6px;
  font: inherit;
  cursor: pointer;
}

.customer-favorite-tag-chip small {
  padding: 1px 5px;
  border-radius: 999px;
  background: var(--theme-primary);
  color: #fff;
  font-size: 10px;
  font-weight: 800;
}

.customer-favorite-tag-chip.is-inactive {
  border-color: var(--store-border);
  background: #f2f2f2;
  color: var(--theme-muted);
  opacity: .72;
}

.customer-favorite-tag-chip.is-inactive > span {
  text-decoration: line-through;
}

.customer-favorite-tag-chip.is-inactive small {
  background: #777;
}

.customer-favorite-recipes legend {
  padding: 0 6px;
  font-weight: 800;
}

.customer-favorite-recipe-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  max-height: 280px;
  overflow-y: auto;
}

.store-customer-edit-page .customer-favorite-recipe-options {
  grid-template-columns: 1fr;
  max-height: 260px;
  padding: 6px;
  border: 1px solid var(--store-border);
  border-radius: 8px;
  background: var(--theme-surface);
  box-shadow: 0 12px 28px rgba(52, 32, 21, .16);
}

.store-customer-edit-page .customer-favorite-recipe-options[hidden],
.store-customer-edit-page .customer-favorite-recipe-options > label[hidden] {
  display: none !important;
}

.customer-favorite-recipe-options > label {
  display: flex;
  gap: 8px;
  align-items: center;
  min-width: 0;
  padding: 9px;
  border: 1px solid var(--store-border);
  border-radius: 7px;
  cursor: pointer;
}

.customer-favorite-recipe-options input {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
}

.customer-favorite-recipe-options span {
  display: grid;
  min-width: 0;
}

.customer-favorite-recipe-options > label > select {
  flex: 0 0 min(150px, 38%);
  min-width: 0;
  padding: 6px 8px;
  font-size: 12px;
}

.customer-favorite-recipe-options small {
  color: var(--theme-muted);
}

.customer-favorite-items-field {
  display: grid !important;
  gap: 7px;
}

.customer-favorite-items-field > small,
.customer-favorite-recipe-selected > small,
.customer-favorite-tag-preview > small {
  color: var(--theme-muted);
  font-size: 11px;
}

.electronic-profile-favorites {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px 12px;
  order: 3;
}

.electronic-profile-favorites > legend {
  grid-column: 1 / -1;
}

.electronic-profile-favorites > .electronic-favorite-live-search {
  grid-column: 1;
  grid-row: 2;
}

.electronic-favorite-columns {
  display: contents;
}

.electronic-favorite-selected-column {
  display: grid;
  gap: 5px;
  min-width: 0;
  justify-items: start;
  grid-column: 1;
  grid-row: 3;
}

.electronic-favorite-selected-column > span {
  color: var(--theme-muted);
  font-size: 10px;
  font-weight: 800;
}

.electronic-favorite-columns .electronic-frequent-favorites {
  display: grid;
  grid-column: 2;
  grid-row: 2 / span 2;
  justify-content: stretch;
  align-content: start;
  margin: 0;
}

.electronic-favorite-columns .electronic-frequent-favorites button {
  justify-content: space-between;
  width: 100%;
}

.electronic-profile-favorites > .electronic-favorite-results {
  grid-column: 1;
  grid-row: 4;
}

.store-customers-page {
  display: flex;
  flex-direction: column;
}

.store-customers-page .store-page-toolbar {
  order: 0;
}

.store-customers-page .store-customer-layout {
  order: 1;
}

.store-customers-page .store-customer-list {
  order: -1;
}

.store-customers-page .store-customer-form-panel {
  order: 1;
}

.store-customers-page .store-customer-analytics {
  order: 2;
  margin-top: 14px;
}

.electronic-favorite-live-search {
  display: grid;
}

.electronic-favorite-php-selected {
  display: inline-flex;
  gap: 5px;
  align-items: center;
  padding: 4px 9px;
  border: 1px solid var(--store-secondary);
  border-radius: 999px;
  background: var(--store-table-header);
  color: var(--theme-primary);
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

.electronic-favorite-php-selected input {
  width: 15px;
  height: 15px;
  margin: 0;
}

.electronic-frequent-favorites {
  display: flex;
  gap: 5px;
  margin: 5px 0;
  min-height: 0;
  flex-wrap: wrap;
}

.electronic-frequent-favorites:empty {
  display: none;
}

.electronic-frequent-favorites::before {
  content: "よく頼む候補";
  align-self: center;
  margin-right: 2px;
  color: var(--theme-muted);
  font-size: 10px;
  font-weight: 800;
}

.electronic-frequent-favorites button {
  display: inline-flex;
  gap: 5px;
  align-items: center;
  min-height: 27px;
  padding: 3px 8px;
  border: 1px solid #76a985;
  border-radius: 999px;
  background: #edf8f0;
  color: #176b3a;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}

.electronic-frequent-favorites button small {
  color: #48745a;
  font-size: 9px;
}

.electronic-favorite-selected {
  display: flex;
  gap: 6px;
  min-height: 28px;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
}

.electronic-profile-notes-flags {
  display: grid;
  grid-column: 1 / -1;
  gap: 8px;
  order: 4;
}

.electronic-tab-details-form .electronic-profile-age-row {
  order: 2;
}

.electronic-tab-details-form ::placeholder {
  color: #c4bfba;
  font-weight: 500;
  opacity: 1;
}

.electronic-profile-notes-flags > label {
  width: 100%;
}

.electronic-profile-interest-notes {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.electronic-profile-interest-notes textarea {
  width: 100%;
  min-height: 76px;
  resize: vertical;
}

.electronic-profile-interest-notes .customer-favorite-tag-preview {
  min-height: 26px;
}

.electronic-profile-notes-flags .electronic-customer-flags {
  justify-content: flex-start;
  min-height: 38px;
  padding: 7px 10px;
  border: 1px solid var(--store-border);
  border-radius: 7px;
  background: var(--theme-surface);
}

@media (max-width: 760px) {
  .electronic-profile-identity-row,
  .electronic-profile-age-row,
  .electronic-profile-favorites {
    grid-template-columns: minmax(0, 1fr);
  }

  .electronic-profile-favorites > .electronic-favorite-live-search,
  .electronic-favorite-selected-column,
  .electronic-favorite-columns .electronic-frequent-favorites,
  .electronic-profile-favorites > .electronic-favorite-results {
    grid-column: 1;
    grid-row: auto;
  }

  .electronic-profile-notes-flags {
    display: grid;
    grid-column: 1;
    order: 4;
  }

  .electronic-profile-interest-notes {
    display: grid !important;
  }
}

.electronic-favorite-chip {
  padding: 4px 9px;
  border: 1px solid var(--store-secondary);
  border-radius: 999px;
  background: var(--store-table-header);
  color: var(--theme-primary);
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

.electronic-favorite-results {
  position: static;
  z-index: auto;
  grid-template-columns: 1fr;
  max-height: 240px;
  margin-top: -4px;
  padding: 6px;
  overflow-y: auto;
  border: 1px solid var(--store-border);
  border-radius: 8px;
  background: var(--theme-surface);
  box-shadow: 0 12px 28px rgba(52, 32, 21, .2);
}

.electronic-favorite-results[hidden],
.electronic-favorite-results > label[hidden] {
  display: none;
}

.electronic-check-table {
  display: inline-grid;
  min-width: 38px;
  min-height: 28px;
  padding: 4px 9px;
  place-items: center;
  border-radius: 999px;
  background: var(--theme-primary);
  color: var(--theme-on-primary);
  font-size: 12px;
  font-weight: 800;
}

.electronic-customer-favorite-tags {
  display: flex;
  gap: 6px;
  margin-top: 6px;
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
  scrollbar-width: thin;
}

.electronic-customer-favorites {
  display: flex;
  gap: 7px;
  align-items: flex-start;
  margin-top: 6px;
  flex-wrap: nowrap;
}

.electronic-customer-favorites > span {
  flex: 0 0 auto;
  padding-top: 4px;
  color: var(--theme-muted);
  font-size: 12px;
  font-weight: 800;
}

.electronic-customer-name {
  color: #174f69;
  font-size: 17px;
  font-weight: 900;
  white-space: nowrap;
}

.electronic-slip-customer-names {
  display: flex;
  flex: 1 1 46%;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  max-width: 52%;
  min-width: 0;
  padding-right: 10px;
  border-right: 1px solid rgba(77, 152, 186, .42);
}

.electronic-companion-name,
.electronic-unnamed-companions {
  flex: 0 0 auto;
  padding: 3px 7px;
  border-radius: 999px;
  background: rgba(77, 152, 186, .1);
  color: #356f88;
  font-size: 12px;
  font-weight: 800;
}

.electronic-unnamed-companions {
  background: rgba(93, 103, 112, .1);
  color: var(--theme-muted);
}

.electronic-customer-favorites > small {
  color: var(--theme-muted);
  font-size: 12px;
}

.electronic-customer-favorites.is-empty {
  min-height: 18px;
  margin-top: 2px;
  gap: 5px;
  line-height: 1.1;
}

.electronic-customer-favorites.is-empty > :is(span, small) {
  line-height: 1.1;
}

.electronic-customer-favorites .electronic-customer-favorite-tags {
  flex: 1 1 42%;
  min-width: 0;
  margin-top: 0;
}

.electronic-customer-favorite-tag {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: stretch;
  overflow: hidden;
  border: 1px solid var(--store-secondary);
  border-radius: 999px;
  background: var(--store-table-header);
}

.electronic-customer-favorite-tags a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 9px;
  color: var(--theme-primary);
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}

.electronic-customer-favorite-tags a small {
  color: inherit;
  font-size: 10px;
  font-weight: 700;
  opacity: 0.72;
}

.electronic-customer-favorite-tags a:hover {
  background: var(--theme-primary);
  color: var(--theme-on-primary);
}

.electronic-customer-favorite-tag form {
  display: flex;
  margin: 0;
}

.electronic-customer-favorite-tag button {
  display: grid;
  min-width: 30px;
  padding: 0 8px;
  place-items: center;
  border: 0;
  border-left: 1px solid var(--store-secondary);
  background: #24883f;
  color: #fff;
  font-size: 16px;
  font-weight: 900;
  cursor: pointer;
}

.electronic-customer-favorite-tag button:hover {
  background: #176b2d;
}

.store-dashboard-calendar-panel {
  margin-bottom: 18px;
}

body.theme-store .store-business-dashboard .store-dashboard-calendar-panel {
  padding: 0;
}

.store-dashboard-calendar-panel > summary {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 8px 14px;
  color: var(--theme-primary);
  cursor: pointer;
  list-style: none;
}

.store-dashboard-calendar-panel > summary::-webkit-details-marker {
  display: none;
}

.store-dashboard-calendar-panel > summary::after {
  margin-left: auto;
  content: "⌄";
  font-size: 20px;
  font-weight: 900;
}

.store-dashboard-calendar-panel[open] > summary::after {
  transform: rotate(180deg);
}

.store-dashboard-calendar-panel > summary span {
  color: var(--theme-muted);
  font-size: 12px;
}

.store-dashboard-calendar-today-tags {
  display: flex;
  min-width: 0;
  margin-left: 12px;
  gap: 6px;
  align-items: center;
  overflow: hidden;
}

.store-dashboard-calendar-today-tags > b {
  flex: 0 0 auto;
  margin-right: 2px;
  color: var(--theme-primary);
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.store-dashboard-calendar-today-tags > span,
.store-dashboard-calendar-today-tags > em {
  display: block;
  max-width: 190px;
  overflow: hidden;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.store-dashboard-calendar-today-tags > em {
  background: #f2eeea;
  color: var(--theme-muted);
}

.store-dashboard-calendar-body {
  padding: 0 14px 12px;
}

.store-calendar-heading {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  margin-bottom: 14px;
}

.store-calendar-month-navigation {
  display: flex;
  gap: 10px;
  align-items: center;
}

.store-calendar-heading h2 {
  margin: 0;
  text-align: center;
}

body.theme-store .store-calendar-heading .button.store-calendar-manage-button,
body.theme-store .store-calendar-heading .button.store-calendar-manage-button:visited {
  margin-left: 0;
  border-color: #24883f !important;
  background-color: #24883f !important;
  background-image: none !important;
  color: #fff !important;
}

body.theme-store .store-calendar-heading .button.store-calendar-manage-button:hover,
body.theme-store .store-calendar-heading .button.store-calendar-manage-button:focus-visible,
body.theme-store .store-calendar-heading .button.store-calendar-manage-button:active {
  border-color: #176b2d !important;
  background-color: #176b2d !important;
  background-image: none !important;
  color: #fff !important;
}

.store-month-calendar {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid var(--theme-divider);
  border-radius: 10px;
  background: var(--theme-surface);
}

.store-calendar-weekday {
  padding: 8px 4px;
  border-right: 1px solid var(--theme-divider);
  background: var(--store-table-header);
  color: var(--theme-primary);
  font-size: 12px;
  text-align: center;
}

.store-calendar-weekday:nth-child(7) {
  border-right: 0;
}

.store-calendar-day {
  display: flex;
  min-width: 0;
  min-height: 108px;
  padding: 7px;
  flex-direction: column;
  gap: 4px;
  border-right: 1px solid var(--theme-divider);
  border-bottom: 1px solid var(--theme-divider);
  background: #fff;
  color: var(--text);
  text-decoration: none;
}

.store-month-calendar.is-dashboard .store-calendar-day {
  min-height: 88px;
}

.store-calendar-day:nth-child(7n) {
  border-right: 0;
}

.store-calendar-day.is-outside {
  background: #f7f4f1;
  color: var(--theme-muted);
  opacity: .58;
}

.store-calendar-day.is-today {
  box-shadow: inset 0 0 0 2px var(--theme-primary);
}

.store-calendar-day.is-selected {
  background: #fff8ef;
  box-shadow: inset 0 0 0 2px var(--store-secondary);
}

.store-calendar-day > span {
  font-weight: 900;
}

.store-calendar-day > small,
.store-calendar-day > em {
  overflow: hidden;
  padding: 3px 5px;
  border-radius: 5px;
  font-size: 11px;
  font-style: normal;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.store-calendar-day > small.is-shift,
.store-calendar-legend .is-shift,
.store-dashboard-calendar-today-tags .is-shift,
.store-calendar-event-card.is-shift > div:first-child > span {
  background: #e8f7ec;
  color: #176b2d;
}

.store-calendar-day > small.is-reservation,
.store-calendar-legend .is-reservation,
.store-dashboard-calendar-today-tags .is-reservation,
.store-calendar-event-card.is-reservation > div:first-child > span {
  background: #e8f3ff;
  color: #155a9a;
}

.store-calendar-day > small.is-event,
.store-calendar-legend .is-event,
.store-dashboard-calendar-today-tags .is-event,
.store-calendar-event-card.is-event > div:first-child > span {
  background: #f4e9ff;
  color: #6d32a0;
}

.store-calendar-day > small.is-announcement,
.store-calendar-legend .is-announcement,
.store-dashboard-calendar-today-tags .is-announcement,
.store-calendar-event-card.is-announcement > div:first-child > span {
  background: #fff3c8;
  color: #8a5b00;
}

.store-calendar-day > small.is-closed,
.store-calendar-legend .is-closed,
.store-dashboard-calendar-today-tags .is-closed,
.store-calendar-event-card.is-closed > div:first-child > span {
  background: #ffe5e5;
  color: #b42323;
}

.store-calendar-day > small.is-task_due,
.store-calendar-legend .is-task_due,
.store-dashboard-calendar-today-tags .is-task_due,
.store-calendar-event-card.is-task_due > div:first-child > span {
  background: #e6f5f3;
  color: #11685e;
}

.store-calendar-day > em {
  color: var(--theme-muted);
}

.store-calendar-legend {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  margin-top: 9px;
}

.store-calendar-legend span {
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
}

.store-shift-heading-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.store-shift-heading-main {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  flex-wrap: wrap;
}

.store-shift-store-selector,
.store-shift-store-selector label {
  margin: 0;
}

.store-shift-store-selector label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 800;
}

.store-shift-store-selector select {
  width: auto;
  min-width: 150px;
  padding: 7px 32px 7px 10px;
}

body.theme-store .button.store-shift-create-button,
body.theme-store .button.store-shift-create-button:visited {
  border-color: #168b4b;
  background: #168b4b;
  color: #fff;
}

body.theme-store .button.store-shift-create-button:is(:hover, :focus-visible, :active) {
  border-color: #0f6f3b;
  background: #0f6f3b;
  color: #fff;
}

@media (min-width: 701px) {
  .store-calendar-page.is-shift-management > .task-detail-top {
    align-items: center;
    margin-bottom: 8px;
    padding: 8px 12px;
  }

  .store-calendar-page.is-shift-management > .task-detail-top :is(h1, p) {
    margin: 0;
  }

  .store-calendar-page.is-shift-management > .task-detail-top h1 {
    font-size: 20px;
    line-height: 1.25;
  }

  .store-calendar-page.is-shift-management .store-calendar-panel {
    margin-bottom: 0;
    padding: 10px;
  }

  .store-calendar-page.is-shift-management .store-calendar-panel > .store-calendar-bulk-panel:first-child {
    margin-bottom: 8px;
  }

  .store-calendar-page.is-shift-management .store-calendar-bulk-panel > summary {
    padding: 8px 11px;
    font-size: 12px;
  }

  .store-calendar-page.is-shift-management .store-calendar-heading {
    margin-bottom: 8px;
  }

  .store-calendar-page.is-shift-management .store-calendar-heading h2 {
    font-size: 17px;
  }

  .store-calendar-page.is-shift-management .store-calendar-heading .button {
    min-height: 28px;
    padding-block: 3px;
  }

  .store-calendar-page.is-shift-management .store-calendar-weekday {
    padding: 5px 3px;
    font-size: 11px;
  }

  .store-calendar-page.is-shift-management .store-calendar-day {
    min-height: 76px;
    padding: 4px 5px;
    gap: 2px;
  }

  .store-calendar-page.is-shift-management .store-calendar-day > span {
    font-size: 12px;
    line-height: 1.1;
  }

  .store-calendar-page.is-shift-management .store-calendar-day > :is(small, em) {
    padding: 2px 4px;
    font-size: 10px;
    line-height: 1.15;
  }

  .store-calendar-page.is-shift-management .store-calendar-legend {
    gap: 5px;
    margin-top: 6px;
  }

  .store-calendar-page.is-shift-management .store-calendar-legend span {
    padding: 2px 7px;
    font-size: 10px;
  }
}

.store-calendar-filters {
  display: flex;
  gap: 7px;
  justify-content: center;
  margin: 0;
  flex-wrap: wrap;
}

.store-calendar-filters .button {
  border-radius: 999px;
}

.store-calendar-page > .store-calendar-filters {
  justify-content: flex-start;
  margin: 0 0 18px;
}

.store-calendar-bulk-panel {
  margin-top: 14px;
  padding: 0;
  border: 1px solid var(--theme-divider);
  border-radius: 9px;
  background: #fff;
}

.store-calendar-panel > .store-calendar-bulk-panel:first-child {
  margin: 0 0 14px;
}

.store-calendar-bulk-panel > summary {
  padding: 12px 14px;
  color: var(--theme-primary);
  font-weight: 900;
  cursor: pointer;
}

.store-calendar-bulk-panel > form {
  padding: 4px 14px 14px;
}

.store-calendar-editor-dialog .store-shift-dialog-bulk-panel {
  margin: 0 0 14px;
  background: #f2fbf5;
  border-color: #9fd8b7;
}

.store-calendar-editor-dialog .store-shift-dialog-bulk-panel > summary {
  color: #0f6f3b;
}

.store-calendar-bulk-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.store-calendar-bulk-grid label,
.store-calendar-bulk-panel > form > label {
  display: grid;
  gap: 5px;
  color: var(--theme-primary);
  font-weight: 800;
}

.store-calendar-weekday-picker {
  display: flex;
  gap: 10px;
  margin: 11px 0;
  padding: 9px 11px;
  flex-wrap: wrap;
  border: 1px solid var(--theme-divider);
  border-radius: 8px;
}

.store-calendar-weekday-picker legend {
  padding: 0 5px;
  color: var(--theme-primary);
  font-weight: 800;
}

.store-calendar-customer-summary {
  color: var(--theme-muted);
  white-space: normal;
}

.store-page-heading {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}

.store-page-heading h1,
.store-page-heading p {
  margin: 0;
}

.store-calendar-management-layout {
  display: block;
  width: 100%;
}

.store-calendar-panel {
  width: 100%;
}

.store-calendar-editor-dialog {
  position: fixed;
  width: min(860px, calc(100vw - 32px));
  max-width: 860px;
  max-height: calc(100vh - 32px);
  margin: auto;
  padding: 20px;
  overflow: auto;
  border: 1px solid var(--theme-primary-border);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 24px 64px rgb(42 30 20 / 28%);
}

.store-calendar-editor-dialog::backdrop {
  background: rgb(31 24 19 / 56%);
  backdrop-filter: blur(3px);
}

.store-calendar-editor-heading {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}

.store-calendar-editor-heading h2 {
  margin: 0;
}

.store-calendar-editor form > label,
.store-calendar-time-row label,
.store-calendar-reservation-row label {
  display: grid;
  gap: 5px;
  margin-bottom: 11px;
  color: var(--theme-primary);
  font-weight: 800;
}

.store-calendar-type {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 5px;
  margin: 0 0 11px;
  padding: 5px 8px 8px;
  border: 1px solid var(--theme-divider);
  border-radius: 8px;
}

.store-calendar-type legend {
  padding: 0 5px;
  color: var(--theme-primary);
  font-weight: 800;
}

.store-calendar-type label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-width: 0;
  min-height: 30px;
  padding: 3px 5px;
  border: 1px solid var(--theme-primary-border);
  border-radius: 999px;
  background: #fff;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
}

.store-calendar-type label:has(input:checked) {
  border-color: var(--theme-primary);
  background: var(--theme-primary-light);
  color: var(--theme-primary);
}

.store-calendar-type input[type="radio"] {
  flex: 0 0 14px;
  width: 14px;
  min-width: 14px;
  height: 14px;
  min-height: 14px;
  margin: 0;
}

.store-calendar-time-row,
.store-calendar-reservation-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.store-calendar-editor [data-calendar-fields][hidden] {
  display: none !important;
}

.store-calendar-reservation-fields {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 90px;
  gap: 10px;
}

.store-calendar-reservation-fields > label {
  display: grid;
  gap: 5px;
  margin-bottom: 11px;
  color: var(--theme-primary);
  font-weight: 800;
}

.store-calendar-customer-search {
  position: relative;
  display: block;
  min-width: 0;
}

.store-calendar-customer-search > input[type="text"],
.store-calendar-customer-search > input:not([type]) {
  width: 100%;
}

.store-calendar-customer-suggestions {
  position: absolute;
  z-index: 40;
  top: calc(100% + 4px);
  right: 0;
  left: 0;
  overflow-y: auto;
  max-height: 220px;
  padding: 5px;
  border: 1px solid var(--theme-primary-border);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 24px rgb(54 38 24 / 16%);
}

.store-calendar-customer-suggestions[hidden],
.store-calendar-customer-suggestions button[hidden] {
  display: none;
}

.store-calendar-customer-suggestions button {
  display: block;
  width: 100%;
  padding: 8px 10px;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: var(--theme-text);
  text-align: left;
  cursor: pointer;
}

.store-calendar-customer-suggestions button:hover,
.store-calendar-customer-suggestions button:focus-visible {
  background: var(--theme-primary-light);
}

.store-calendar-editor .actions {
  display: flex;
  gap: 8px;
  align-items: center;
}

.store-calendar-day-list {
  margin-top: 20px;
  padding-top: 14px;
  border-top: 1px solid var(--theme-divider);
}

.store-calendar-event-card {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  padding: 9px 0;
  border-bottom: 1px solid var(--theme-divider);
}

.store-calendar-event-card > div:first-child {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.store-calendar-event-card > div:first-child > span {
  width: max-content;
  padding: 2px 7px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
}

.store-calendar-note-marker {
  display: inline-block;
  flex: 0 0 7px;
  width: 7px;
  height: 7px;
  margin-right: 4px;
  border-radius: 50%;
  background: #dc2626;
  vertical-align: middle;
}

.store-calendar-day > small.has-notes {
  display: block;
}

.store-calendar-event-card .actions form {
  margin: 0;
}

.store-shift-notice {
  margin: 7px 0 0;
  padding: 8px 10px;
  border-radius: 8px;
  background: #fff7ed;
  color: #5f3a24;
  font-size: 12px;
  line-height: 1.5;
}

.store-calendar-shift-notice-text { font-weight: 700; }

.store-customer-analytics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 16px;
}

.store-customer-analytics > article {
  padding: 16px;
}

.store-customer-analytics h2 {
  margin: 0 0 10px;
  color: var(--theme-primary);
  font-size: 15px;
}

.store-customer-analysis-values {
  display: flex;
  gap: 8px;
}

.store-customer-analysis-values.is-wrapping {
  flex-wrap: wrap;
}

.store-customer-analysis-values span {
  display: grid;
  min-width: 72px;
  padding: 7px 9px;
  border-radius: 7px;
  background: var(--store-table-header);
  color: var(--theme-muted);
  font-size: 11px;
}

.store-customer-analysis-values strong {
  color: var(--theme-primary);
  font-size: 16px;
}

.electronic-service-type-picker {
  display: flex;
  gap: 8px;
  align-items: center;
  padding: 7px 10px;
  border: 1px solid var(--theme-divider);
  border-radius: 8px;
}

.electronic-service-type-picker legend {
  padding: 0 5px;
  color: var(--theme-primary);
  font-size: 12px;
  font-weight: 800;
}

.electronic-service-type-picker label {
  display: inline-flex;
  gap: 5px;
  align-items: center;
  margin: 0;
  font-weight: 800;
}

.electronic-service-type-picker input[type="radio"] {
  flex: 0 0 14px;
  width: 14px;
  min-width: 14px;
  height: 14px;
  min-height: 14px;
  margin: 0;
  padding: 0;
}

.electronic-service-type-badge {
  width: max-content;
  padding: 2px 6px;
  border-radius: 999px;
  background: #fff2d9;
  color: #8a5400;
  font-size: 10px;
  font-weight: 900;
}

@media (max-width: 1000px) {
  .store-customer-analytics {
    grid-template-columns: 1fr;
  }

  .store-calendar-bulk-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .store-shift-heading-main {
    width: 100%;
  }

  .store-shift-store-selector {
    flex: 1 1 180px;
  }

  .store-shift-store-selector label,
  .store-shift-store-selector select {
    width: 100%;
  }

  .store-shift-heading-actions {
    width: 100%;
  }

  .store-shift-heading-actions > .button {
    flex: 1 1 150px;
  }

  .store-calendar-editor-dialog {
    width: calc(100vw - 16px);
    max-height: calc(100vh - 16px);
    padding: 14px;
  }

  .store-calendar-heading {
    grid-template-columns: 1fr;
  }

  .store-calendar-month-navigation {
    justify-content: center;
  }

  .store-calendar-heading .store-calendar-manage-button {
    width: 100%;
    margin-left: 0;
  }

  .store-calendar-day,
  .store-month-calendar.is-dashboard .store-calendar-day {
    min-height: 64px;
    padding: 3px;
  }

  .store-calendar-day > small,
  .store-calendar-day > em {
    padding: 2px;
    font-size: 9px;
  }

  .store-calendar-weekday {
    padding: 6px 2px;
  }

  .store-calendar-time-row,
  .store-calendar-reservation-row {
    grid-template-columns: 1fr;
  }

  .store-calendar-bulk-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 860px) {
  .electronic-tab-new {
    top: 12px;
    right: 12px;
    left: 12px;
    width: auto;
    max-width: none;
    max-height: calc(100dvh - 24px);
  }

  .electronic-tab-new form {
    max-height: calc(100dvh - 74px);
  }
}

@media (max-width: 1000px) {
  .electronic-tab-workspace,
  .store-customer-layout {
    grid-template-columns: 1fr;
  }

  .electronic-tab-details-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: min(760px, calc(100vw - 24px));
  }
}

.electronic-tab-management-link {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 18px;
}

.electronic-tab-management-text-link {
  color: #765039;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.electronic-tab-management-text-link:hover,
.electronic-tab-management-text-link:focus-visible {
  color: #3f291d;
}

.customer-caution-badge.is-banned {
  background: #8b0000;
}

@media (min-width: 681px) and (max-width: 1180px) {
  .electronic-tab-strip {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  .electronic-counter-board {
    width: 100%;
    min-width: 0;
  }

  .electronic-seat-row,
  .electronic-seat-row-table {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    width: 100%;
  }

  .electronic-seat-row-all {
    grid-template-columns: repeat(6, minmax(0, 1fr)) 2px repeat(3, minmax(0, 1fr));
  }

  .electronic-seat-slot .electronic-tab-card {
    min-width: 0;
    padding-right: 5px;
    padding-left: 36px;
  }

  .electronic-seat-slot .electronic-tab-card strong {
    font-size: 12px;
  }

  /* Electronic tabs are operated primarily by touch on tablets. */
  .electronic-tabs-page {
    gap: 14px;
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .electronic-tabs-page .store-page-toolbar {
    align-items: center;
    padding: 12px;
  }

  .electronic-tabs-page .store-page-toolbar :is(select, .button, button),
  .electronic-tabs-page :is(.electronic-menu-search, .electronic-tab-details-form input, .electronic-tab-details-form select, .electronic-tab-details-form textarea) {
    min-height: 46px;
    font-size: 15px;
  }

  .electronic-seat-row-all {
    grid-auto-rows: 104px;
    gap: 7px;
  }

  .electronic-seat-slot {
    height: 104px;
    min-height: 104px;
  }

  .electronic-seat-slot .electronic-tab-card {
    min-height: 104px;
    padding: 8px 5px 24px 38px;
  }

  .electronic-seat-slot .electronic-tab-card strong {
    font-size: 13px;
  }

  .electronic-seat-slot .electronic-tab-card b {
    font-size: 15px;
  }

  .electronic-seat-empty {
    font-size: 20px;
  }

  .electronic-seat-slot[data-electronic-new-seat="OTHER"] .electronic-seat-empty {
    font-size: 13px;
  }

  .electronic-tab-other-cards {
    padding-bottom: 2px;
    overflow-x: auto;
  }

  .electronic-tab-other-cards .electronic-tab-card {
    flex-basis: 180px;
    min-height: 88px;
  }

  .electronic-tab-workspace {
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 14px;
  }

  .electronic-menu-panel,
  .electronic-check-panel {
    min-width: 0;
    padding: 14px;
  }

  .electronic-menu-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .electronic-menu-grid button {
    min-height: 112px;
    padding: 12px;
  }

  .electronic-menu-card-name {
    font-size: 16px;
  }

  .electronic-menu-card-price {
    font-size: 14px;
  }

  .electronic-menu-group > summary {
    min-height: 48px;
    font-size: 15px;
  }

  .electronic-check-heading {
    gap: 12px;
    margin-bottom: 14px;
  }

  .electronic-check-heading h2 {
    font-size: 21px;
  }

  .electronic-tab-details-trigger {
    min-height: 44px;
    padding: 8px 12px;
    font-size: 13px;
  }

  .electronic-check-total {
    padding: 10px 14px;
    font-size: 26px;
  }

  .electronic-slip-masthead {
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-areas:
      "location title total"
      "actions actions actions"
      "meta meta meta";
    gap: 10px 12px;
    align-items: center;
  }

  .electronic-slip-title {
    min-width: 0;
  }

  .electronic-slip-title > strong {
    font-size: 22px;
  }

  .electronic-slip-primary-actions {
    min-height: 48px;
    padding: 7px 9px;
    border-radius: 8px;
    background: rgba(77, 152, 186, .08);
  }

  .electronic-slip-masthead > .electronic-check-total {
    min-height: 48px;
    padding: 8px 14px;
    font-size: 24px !important;
  }

  .electronic-slip-masthead dl {
    width: fit-content;
    display: flex;
    gap: 8px;
    justify-content: flex-start;
    justify-self: start;
  }

  .electronic-slip-masthead dl > div {
    min-width: 0;
    min-height: 46px;
    align-content: center;
  }

  .electronic-check-columns {
    display: grid;
    grid-template-columns: 36px minmax(120px, 1fr) minmax(112px, 132px) minmax(72px, 86px) 44px;
    gap: 6px;
    padding: 6px;
  }

  .electronic-check-item {
    grid-template-columns: 36px minmax(120px, 1fr) minmax(112px, 132px) minmax(72px, 86px) 44px;
    grid-template-rows: auto;
    gap: 6px;
    min-height: 54px;
    padding: 8px 6px;
    font-size: 14px;
  }

  .electronic-check-toggle,
  .electronic-check-item-name,
  .electronic-quantity,
  .electronic-check-item > strong,
  .electronic-check-item > form:last-child {
    grid-row: 1;
  }

  .electronic-check-toggle { grid-column: 1; }

  .electronic-check-item-name {
    grid-column: 2;
    min-width: 0;
    line-height: 1.35;
  }

  .electronic-quantity {
    grid-column: 3;
    justify-self: center;
  }

  .electronic-check-item > strong {
    grid-column: 4;
    justify-self: end;
    white-space: nowrap;
  }

  .electronic-check-item > form:last-child {
    grid-column: 5;
  }

  .electronic-check-toggle button,
  .electronic-quantity button {
    width: 30px;
    height: 30px;
    min-height: 30px;
    padding: 0;
    font-size: 16px;
    line-height: 1;
  }

  .electronic-quantity {
    gap: 4px;
  }

  .electronic-quantity b {
    min-width: 18px;
    font-size: 15px;
    text-align: center;
  }

  .electronic-item-remove {
    min-width: 42px;
    min-height: 36px;
    padding: 5px 4px;
    font-size: 11px;
  }

  .electronic-check-actions {
    display: grid;
    grid-template-columns: minmax(280px, auto) repeat(2, minmax(0, 1fr));
    gap: 10px;
    justify-content: stretch;
  }

  .electronic-check-action-meta {
    min-width: 0;
    margin-right: 0;
  }

  .electronic-check-action-meta > span {
    min-width: 0;
    flex: 1 1 0;
    padding-right: 5px;
    padding-left: 5px;
  }

  .electronic-check-actions > *,
  .electronic-check-actions .electronic-settle-form > *,
  .electronic-check-actions .button,
  .electronic-check-actions select {
    min-width: 0;
    min-height: 48px;
  }

  .electronic-manual-item-trigger,
  .electronic-manual-item-form :is(input, select, .button, button) {
    min-height: 48px;
  }

  .electronic-action-picker > summary,
  .electronic-check-actions .button {
    width: 100%;
    padding-right: 8px;
    padding-left: 8px;
    white-space: normal;
  }

  .electronic-check-action-meta .electronic-cancel-button {
    min-height: 42px;
  }

  .electronic-action-picker-panel {
    min-width: 300px;
    min-height: 0 !important;
  }

  .electronic-seat-move-form {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .electronic-settle-form {
    display: contents;
  }

  .electronic-payment-method,
  .electronic-payment-method select {
    width: 100%;
    min-width: 0;
  }

  .electronic-cancel-button {
    width: 100%;
  }

  .electronic-tab-management-link {
    display: flex;
  }

  .electronic-tab-new {
    width: min(680px, calc(100vw - var(--sidebar-width) - 40px));
  }

  .electronic-tab-new summary {
    min-height: 54px;
    font-size: 16px;
  }

  .electronic-tab-new form {
    gap: 12px;
    padding: 16px;
  }

  .electronic-tab-new form :is(input, select, textarea, button, .button),
  .electronic-table-types > button,
  .electronic-table-types summary,
  .electronic-table-numbers button,
  .electronic-companion-buttons button {
    min-height: 46px;
    font-size: 15px;
  }

  .electronic-new-tab-actions .button {
    min-height: 50px;
  }

  .electronic-tab-details-dialog {
    width: calc(100vw - 24px);
    max-height: calc(100dvh - 24px);
  }

  .electronic-tab-details-dialog .electronic-tab-details-form {
    width: 100%;
    max-height: calc(100dvh - 24px);
    padding: 16px;
  }

  .electronic-tab-details-actions .button {
    min-height: 50px;
  }

  .electronic-subtotal-dialog {
    width: min(760px, calc(100vw - 24px));
    max-height: calc(100dvh - 24px);
  }

  .electronic-subtotal-sheet footer .button {
    min-width: 150px;
    min-height: 52px;
    font-size: 16px;
  }

  .electronic-recipe-dialog {
    width: min(760px, calc(100vw - 24px));
    max-height: calc(100dvh - 24px);
  }
}

@media (min-width: 681px) and (max-width: 860px) {
  .electronic-tab-new {
    right: 12px;
    left: 12px;
    width: auto;
    max-width: none;
  }
}

@media (max-width: 680px) {
  .store-page-toolbar {
    align-items: stretch;
    flex-direction: column;
    padding: 10px;
  }

  .store-page-toolbar form,
  .store-page-toolbar select {
    width: 100%;
  }

  .electronic-tab-card { flex-basis: 145px; }

  .electronic-tab-workspace {
    grid-template-columns: minmax(0, 1fr);
  }

  .electronic-tab-new summary {
    align-items: flex-start;
    flex-direction: column;
    gap: 2px;
  }

  .electronic-menu-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .electronic-check-item {
    grid-template-columns: 36px minmax(0, 1fr) auto;
    grid-template-rows: auto auto auto;
  }

  .electronic-check-columns {
    display: none;
  }

  .electronic-discount-row {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .electronic-discount-row > span {
    text-align: right;
  }

  .electronic-discount-row > label {
    grid-column: 1 / -1;
    justify-content: space-between;
  }

  .electronic-tip-field {
    grid-template-columns: minmax(0, 1fr);
  }

  .electronic-tip-input {
    grid-row: auto;
    grid-column: 1;
  }

  .electronic-tip-input input {
    width: 100%;
  }

  .electronic-slip-masthead {
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-areas:
      "location title total"
      "actions actions actions"
      "meta meta meta";
    gap: 8px;
    align-items: center;
  }

  .electronic-slip-primary-actions {
    width: 100%;
    min-height: 46px;
    padding: 6px 8px;
    border-radius: 8px;
    background: rgba(77, 152, 186, .08);
    flex-wrap: wrap;
  }

  .electronic-slip-title {
    min-width: 0;
  }

  .electronic-slip-title > strong {
    font-size: 19px;
  }

  .electronic-slip-masthead > .electronic-check-total {
    min-height: 44px;
    padding: 7px 9px;
    font-size: 18px !important;
  }

  .electronic-slip-masthead dl {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-start;
  }

  .electronic-slip-masthead dl > div {
    min-width: 0;
    padding: 5px;
  }

  .electronic-check-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .electronic-check-total {
    align-self: flex-end;
  }

  .electronic-quantity {
    grid-row: 2;
    grid-column: 2 / 3;
  }

  .electronic-check-item > strong {
    grid-row: 2;
    grid-column: 3;
    text-align: right;
  }

  .electronic-check-toggle {
    grid-row: 1 / 3;
    grid-column: 1;
  }

  .electronic-check-item-name {
    grid-row: 1;
    grid-column: 2 / 4;
  }

  .electronic-check-item > form:last-child {
    grid-row: 3;
    grid-column: 2 / 4;
    justify-self: end;
  }

  .electronic-check-actions {
    flex-direction: column;
  }

  .electronic-check-action-meta {
    width: 100%;
    margin-right: 0;
  }

  .electronic-check-action-meta > span {
    flex: 1 1 0;
  }

  .electronic-check-actions form,
  .electronic-check-actions button {
    width: 100%;
  }

  .electronic-check-action-meta .electronic-cancel-form {
    width: auto;
    flex: 1 1 0;
  }

  .electronic-tab-details-form {
    position: fixed;
    top: 50%;
    right: 10px;
    left: 10px;
    grid-template-columns: 1fr;
    width: auto;
    max-height: calc(100dvh - 24px);
    overflow-y: auto;
    transform: translateY(-50%);
  }

  .electronic-customer-profile {
    grid-template-columns: 1fr;
  }

  .electronic-profile-identity-row {
    grid-template-columns: 1fr;
  }

  .electronic-profile-age-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .electronic-profile-age-row label:last-child {
    grid-column: auto;
  }

  .electronic-tab-details-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .electronic-tab-details-form button {
    width: 100%;
    min-width: 0;
  }

  .store-customer-list .settings-table .actions {
    flex-wrap: wrap;
  }

  .store-business-hours-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .customer-favorite-recipe-options {
    grid-template-columns: 1fr;
  }

  .store-customer-edit-panel .settings-form,
  .customer-merge-selector {
    grid-template-columns: 1fr;
  }

  .customer-merge-heading,
  .customer-merge-field,
  .customer-merge-history {
    grid-template-columns: minmax(90px, .55fr) repeat(2, minmax(0, 1fr));
    font-size: 12px;
  }

  .customer-merge-heading > *,
  .customer-merge-field > *,
  .customer-merge-history > * {
    padding: 9px 6px;
  }
}
/* Product master → direct-serve drink menu synchronization */
.inventory-usage-selector{display:flex;flex-wrap:wrap;gap:.75rem;padding:.85rem 1rem;border:1px solid #d8c3b2;border-radius:10px}
.inventory-usage-selector legend{padding:0 .35rem;color:#795039;font-weight:700}
.inventory-usage-selector label{display:inline-flex;align-items:center;gap:.35rem}
.inventory-direct-serve-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;padding:1rem;border:1px solid #d8c3b2;border-radius:10px;background:#fffaf5}
.inventory-direct-serve-fields[hidden]{display:none}
.inventory-direct-serve-toggle{grid-column:1/-1}
.inventory-direct-serve-badge,.recipe-gallery-sync{display:inline-flex;margin-left:.45rem;padding:.15rem .45rem;border:1px solid transparent;border-radius:999px;font-size:.72rem;font-weight:700}
.recipe-gallery-sync{
  position:absolute;
  top:10px;
  right:10px;
  z-index:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  max-width:calc(100% - 20px);
  margin:0;
  padding:.22rem .55rem;
  white-space:nowrap;
  background:#e7f7ed;
  color:#16733a;
  box-shadow:0 2px 7px rgba(0,0,0,.18);
}
.inventory-direct-serve-badge.is-alcohol{border-color:#b9d7f5;background:#e7f2ff;color:#1e5f9e}
.inventory-direct-serve-badge.is-product{border-color:#efc58f;background:#fff2df;color:#9a5415}

/* Electronic tab companion controls and customer status */
.electronic-companion-buttons label{margin:0}
.electronic-companion-buttons label>input{position:absolute;opacity:0;pointer-events:none}
.electronic-companion-buttons label>span{display:grid;place-items:center;min-width:44px;min-height:31px;padding:4px 8px;border:1px solid var(--store-border);border-radius:7px;background:#fff;color:var(--theme-heading);font-weight:800;cursor:pointer}
.electronic-companion-buttons label>input:checked+span{border-color:var(--theme-primary);background:var(--theme-primary);color:#fff}
.electronic-new-customer-badge.is-regular{border-color:#7aa6d8;background:#e8f2ff;color:#235f9d}
.electronic-companion-manager{display:grid;gap:10px;margin-top:12px;padding:12px;border:1px solid var(--store-border);border-radius:8px;background:#faf7f3}
.electronic-companion-manager h3{margin:0;color:var(--theme-heading);font-size:15px}
.electronic-companion-manager h3 small{margin-left:6px;color:var(--theme-muted);font-size:12px}
.electronic-companion-search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.electronic-companion-search-results{display:grid;gap:6px}
.electronic-companion-search-results form{margin:0}
.electronic-companion-search-results button{display:flex;gap:8px;align-items:baseline;width:100%;padding:9px 11px;border:1px solid var(--store-border);border-radius:7px;background:#fff;color:var(--theme-heading);text-align:left;cursor:pointer}
.electronic-companion-search-results button.is-new{border-color:#83bd92;background:#eff9f1;color:#25713a}
.electronic-companion-capacity-full{margin:0;color:var(--theme-muted)}
.recipe-ingredient-name-line .recipe-ingredient-php-search-button{flex:0 0 auto;min-height:42px;white-space:nowrap}
.recipe-ingredient-php-results{display:grid;gap:5px;margin-top:6px;padding:7px;border:1px solid #d8c4b4;border-radius:8px;background:#fff}
.recipe-ingredient-php-results button{display:flex;gap:6px;align-items:center;width:100%;padding:8px 10px;border:1px solid #d8c4b4;border-radius:6px;background:#fff;color:#573722;font-weight:700;text-align:left;cursor:pointer}
.recipe-ingredient-php-results button:hover,.recipe-ingredient-php-results button:focus{border-color:#8b5e3c;background:#f8f1eb}
.recipe-ingredient-php-results button small{margin-left:auto;color:#8b5e3c}
.recipe-ingredient-php-results p{margin:0;padding:6px;color:#7f7168;font-size:.88rem}
.electronic-tab-details.is-complete-profile>.electronic-tab-details-trigger{border-color:#24883f;background:#24883f;color:#fff}
.electronic-tab-details.is-complete-profile>.electronic-tab-details-trigger:hover,.electronic-tab-details.is-complete-profile>.electronic-tab-details-trigger:focus-visible{border-color:#17672a;background:#17672a;color:#fff}
.recipe-gallery-origin,.electronic-menu-card-origin{display:block;margin-top:.2rem;font-size:.72rem;line-height:1.3}
.recipe-gallery-origin{color:#fff}
.recipe-view-hero-overlay .recipe-view-origin{display:inline-flex;width:max-content;margin-top:.35rem;padding:.2rem .55rem;border:1px solid rgba(255,255,255,.55);border-radius:999px;background:rgba(12,43,56,.62);color:#fff;font-weight:700}
.electronic-menu-card-origin{color:inherit;opacity:.9}
.electronic-recipe-link{appearance:none;border:0;background:none;padding:0;color:#17627f;font:inherit;font-weight:800;text-align:left;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;cursor:pointer}
.electronic-recipe-dialog{width:min(680px,calc(100vw - 32px));max-height:min(82vh,780px);padding:0;border:0;border-radius:14px;background:#fff;box-shadow:0 24px 70px rgba(20,45,57,.35);overflow:hidden}
.electronic-recipe-dialog::backdrop{background:rgba(20,29,34,.58)}
.electronic-recipe-sheet{max-height:min(82vh,780px);padding:22px 24px;overflow-y:auto;color:#3f2c23}
.electronic-recipe-sheet header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:2px solid #80c6df}
.electronic-recipe-sheet header h3{margin:2px 0 0;font-size:1.45rem;color:#17627f}
.electronic-recipe-sheet header small{color:#71808a}
.electronic-recipe-sheet header button{width:36px;height:36px;border:1px solid #a8cddc;border-radius:50%;background:#fff;color:#17627f;font-size:1.35rem;cursor:pointer}
.electronic-recipe-sheet dl{display:flex;flex-wrap:wrap;gap:10px 24px}
.electronic-recipe-sheet dl>div{display:flex;gap:8px}
.electronic-recipe-sheet dt,.electronic-recipe-sheet h4{color:#17627f;font-weight:800}
.electronic-recipe-sheet section{margin-top:18px}
.electronic-recipe-sheet h4{margin:0 0 8px}
.electronic-recipe-sheet :is(ul,ol){margin:0;padding-left:1.5rem}
.electronic-recipe-sheet li+li{margin-top:6px}
.electronic-recipe-sheet li small{display:block;color:#6f777d}
@media(max-width:900px){.inventory-direct-serve-fields{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.inventory-direct-serve-fields{grid-template-columns:1fr}.inventory-usage-selector{display:grid}}
.store-content-media-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.store-content-media-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1rem;
}

.store-content-media-card {
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--border-color, #e4d5ca);
  border-radius: 12px;
  background: #fff;
}

.store-content-media-card img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.store-content-media-card figcaption {
  display: grid;
  gap: .25rem;
  padding: .75rem;
}

.store-content-media-card figcaption span {
  color: #76675e;
  font-size: .8rem;
}

.store-content-media-actions {
  display: flex;
  align-items: center;
  gap: .5rem;
  margin-top: .35rem;
}

.store-content-media-actions form { margin: 0; }
.store-content-media-actions .button { flex: 1 1 0; justify-content: center; min-width: 0; }
.store-content-media { display: grid; gap: 14px; }
.store-content-media > .settings-panel { margin: 0; }
.store-content-media-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 18px 20px !important; }
.store-content-media-toolbar h2,.store-content-media-heading h2 { margin: 0; }
.store-content-media-toolbar p,.store-content-media-heading p { margin: 3px 0 0; color: var(--muted); font-size: 12px; }
.store-content-media-eyebrow { color: var(--theme-primary); font-size: 10px; font-weight: 900; letter-spacing: .12em; }
.store-content-media-store-filter label { display: grid; gap: 4px; color: var(--muted); font-size: 11px; font-weight: 800; }
.store-content-media-store-filter select { min-width: 180px; }
.store-content-media-tabs { display: flex; align-items: center; gap: 6px; padding: 5px; border: 1px solid #eadbd1; border-radius: 10px; background: #fffaf7; }
.store-content-media-tabs a { display: inline-flex; align-items: center; justify-content: center; min-height: 34px; padding: 6px 13px; border-radius: 7px; color: var(--theme-primary); font-size: 12px; font-weight: 900; text-decoration: none; white-space: nowrap; }
.store-content-media-tabs a:is(:hover,:focus-visible) { background: #f7e9df; }
.store-content-media-tabs a.is-active { background: var(--theme-primary); color: #fff; box-shadow: 0 2px 7px rgba(96,59,38,.2); }
.store-content-media-upload { padding: 0 !important; overflow: hidden; }
.store-content-media-upload > summary { display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 10px 16px; cursor: pointer; list-style: none; }
.store-content-media-upload > summary::-webkit-details-marker { display: none; }
.store-content-media-upload > summary span { font-weight: 900; }
.store-content-media-upload > summary small { margin-left: auto; color: var(--muted); }
.store-content-media-upload > summary::after { content: '＋'; color: var(--theme-primary); font-size: 18px; font-weight: 900; }
.store-content-media-upload[open] > summary::after { content: '−'; }
.store-content-media-upload-form { display: grid; grid-template-columns: minmax(260px,1fr) minmax(220px,.8fr) auto; align-items: center; gap: 14px; padding: 14px 16px 16px; border-top: 1px solid var(--line); }
.store-content-media-file-picker { position: relative; display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 1px 10px; align-items: center; min-height: 68px; padding: 10px 14px; border: 1px dashed #b98a6a; border-radius: 10px; background: #fffaf7; cursor: pointer; }
.store-content-media-file-picker:hover { background: #fff5ee; }
.store-content-media-file-picker input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.store-content-media-file-icon { grid-row: 1/3; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--theme-primary); color: #fff; font-size: 20px; font-weight: 900; }
.store-content-media-file-picker strong { align-self: end; }
.store-content-media-file-picker small { align-self: start; overflow: hidden; color: var(--muted); text-overflow: ellipsis; white-space: nowrap; }
.store-content-media-upload-copy { display: grid; gap: 3px; }
.store-content-media-upload-copy span { color: var(--muted); font-size: 11px; }
.store-content-media-upload-store-tabs { display: flex; flex-wrap: wrap; gap: 5px; }
.store-content-media-upload-store-tabs label { position: relative; cursor: pointer; }
.store-content-media-upload-store-tabs input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.store-content-media-upload-store-tabs label span { display: inline-flex; min-height: 30px; align-items: center; padding: 5px 9px; border: 1px solid #d8c1b2; border-radius: 6px; background: #fff; color: var(--theme-primary); font-size: 11px; font-weight: 900; }
.store-content-media-upload-store-tabs label:has(input:checked) span { border-color: var(--theme-primary); background: var(--theme-primary); color: #fff; }
.store-content-media-count { padding: 4px 9px; border-radius: 999px; background: #fff1e8; color: var(--theme-primary); font-size: 11px; font-weight: 900; }
.store-content-media-grid { grid-template-columns: repeat(auto-fill,minmax(210px,1fr)); gap: 12px; }
.store-content-media-card { border-radius: 10px; box-shadow: 0 4px 12px rgba(17,24,39,.06); }
.store-content-media-preview { position: relative; display: block; overflow: hidden; background: #f3f4f6; }
.store-content-media-card img { transition: transform .18s ease; }
.store-content-media-preview:hover img { transform: scale(1.025); }
.store-content-media-preview > span { position: absolute; right: 8px; bottom: 8px; padding: 4px 7px; border-radius: 5px; background: rgba(0,0,0,.68); color: #fff; font-size: 10px; font-weight: 800; opacity: 0; transition: opacity .18s ease; }
.store-content-media-preview:is(:hover,:focus-visible) > span { opacity: 1; }
.store-content-media-card figcaption { gap: 6px; padding: 10px; }
.store-content-media-card figcaption > strong { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.store-content-media-card-title { display: flex; align-items: center; gap: 6px; min-width: 0; }
.store-content-media-card-title > strong { min-width: 0; overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.store-content-media-card-title > span { flex: 0 0 auto; padding: 2px 6px; border-radius: 999px; background: #fff1e8; color: var(--theme-primary); font-size: 9px; font-weight: 900; }
.store-content-media-card-title > button { min-width: 0; overflow: hidden; padding: 0; border: 0; background: transparent; color: var(--theme-text); font: inherit; font-size: 13px; font-weight: 900; text-align: left; text-decoration: underline; text-decoration-color: transparent; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.store-content-media-card-title > button:hover { color: var(--theme-primary); text-decoration-color: currentColor; }
.store-content-media-card-title > .store-content-media-store-tag { flex: 0 0 auto; padding: 2px 6px; border-radius: 999px; background: #fff1e8; color: var(--theme-primary); font-size: 9px; }
.store-content-media-edit-dialog { width: min(480px,calc(100% - 24px)); }
.store-content-media-edit-dialog form { display: grid; gap: 14px; }
.store-content-media-edit-dialog form > label { display: grid; gap: 5px; font-weight: 900; }
.store-content-media-edit-dialog fieldset { margin: 0; padding: 12px; border: 1px solid var(--line); border-radius: 8px; }
.store-content-media-edit-dialog legend { padding: 0 5px; font-size: 12px; font-weight: 900; }
.store-content-media-card figcaption > small { overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.store-content-media-meta { display: flex; flex-wrap: wrap; gap: 5px; }
.store-content-media-meta span { padding: 2px 6px; border-radius: 4px; background: #f3f4f6; }
@media(max-width:760px){.store-content-media-toolbar{align-items:stretch;flex-direction:column;padding:14px!important}.store-content-media-tabs{width:100%;overflow-x:auto}.store-content-media-tabs a{flex:1 0 auto}.store-content-media-upload>summary{align-items:flex-start;flex-wrap:wrap}.store-content-media-upload>summary small{order:3;width:100%;margin-left:0}.store-content-media-upload-form{grid-template-columns:minmax(0,1fr)}.store-content-media-upload-form>.button{width:100%}.store-content-media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.store-content-media-card figcaption{padding:8px}.store-content-media-preview>span{display:none}}
@media(max-width:380px){.store-content-media-grid{grid-template-columns:minmax(0,1fr)}}

.social-posts-shell {
  display: grid;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  gap: 1rem;
}

.social-posts-shell > * {
  min-width: 0;
  max-width: 100%;
}

.social-posts-toolbar {
  flex-wrap: nowrap;
  overflow-x: auto;
}

.social-posts-toolbar h2,
.social-posts-toolbar form {
  flex: 0 0 auto;
}

.social-posts-toolbar form {
  flex-wrap: nowrap;
}

.social-posts-account-summary {
  display: inline-flex;
  flex: 1 0 auto;
  align-items: center;
  gap: .45rem;
  margin: 0;
  white-space: nowrap;
}

.social-posts-account-summary strong {
  color: var(--theme-heading, #573722);
  font-weight: 800;
}

.social-posts-account-summary span {
  color: #b42318;
  font-weight: 700;
}

.social-post-draft-form {
  padding-top: 1rem;
}

.social-post-image-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
}

.social-image-upload-button {
  position: relative;
  overflow: hidden;
  cursor: pointer;
}

.social-image-upload-button input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.social-post-preview {
  display: grid;
  justify-items: center;
  gap: .55rem;
  padding: 1rem;
  border: 1px solid var(--border-color, #e4d5ca);
  border-radius: 12px;
  background: #f8f5f2;
}

.social-post-preview h3,
.social-post-preview p {
  width: 100%;
  margin: 0;
  text-align: center;
}

.social-post-preview-frame {
  display: grid;
  place-items: center;
  width: min(100%, 360px);
  overflow: hidden;
  border-radius: 10px;
  background: #252525;
  color: #fff;
  box-shadow: 0 8px 24px rgba(55, 35, 24, .16);
}

.social-post-preview-story .social-post-preview-frame {
  width: min(100%, 270px);
  aspect-ratio: 9 / 16;
}

.social-post-preview-feed .social-post-preview-frame {
  aspect-ratio: 1;
}

.social-post-preview-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.social-post-preview-frame span {
  max-width: 18rem;
  padding: 1rem;
  color: #ddd;
  text-align: center;
}

.social-publish-accordions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.social-publish-accordions > .settings-panel {
  min-width: 0;
  margin-bottom: 0;
}

.social-draft-list {
  display: grid;
  gap: 1rem;
}

.social-draft-card {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 1rem;
  padding: 1rem;
  border: 1px solid var(--border-color, #e4d5ca);
  border-radius: 12px;
  background: #fff;
}

.social-draft-card > img {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 8px;
}

.social-draft-card p {
  overflow-wrap: anywhere;
}

.social-publication-badge {
  display: inline-flex;
  align-items: center;
  width: max-content;
  padding: .2rem .5rem;
  border: 1px solid #d7b2d8;
  border-radius: 999px;
  background: #fbf0fc;
  color: #7b327f;
  font-size: .78rem;
  font-weight: 700;
}

.social-feed-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  width: 100%;
  min-width: 0;
  max-width: 100%;
  gap: 1rem;
}

.social-feed-card[hidden] {
  display: none;
}

.social-feed-more-row {
  display: flex;
  justify-content: center;
  margin-top: 1rem;
}

.social-feed-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--border-color, #e4d5ca);
  border-radius: 12px;
  background: #fff;
}

.social-feed-card > img {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}

.social-feed-card > div {
  display: grid;
  gap: .5rem;
  padding: .85rem;
}

.social-feed-card p {
  min-height: 2.8em;
  margin: 0;
  overflow-wrap: anywhere;
}

.social-feed-card small {
  color: #76675e;
}

.social-post-detail > img {
  display: block;
  width: min(100%, 560px);
  max-height: 640px;
  margin-bottom: 1rem;
  object-fit: contain;
  border-radius: 12px;
  background: #f5f1ed;
}

.social-post-detail dl {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem 1.5rem;
}

.social-post-detail dl > div {
  display: flex;
  gap: .5rem;
}

.social-post-detail dt {
  font-weight: 700;
}

.social-accounts-table {
  min-width: 980px;
}

.social-accounts-table :is(th, td) {
  padding: .75rem;
  vertical-align: middle;
}

.social-accounts-table tbody tr:hover td {
  background: var(--theme-primary-light, #faf4ef);
}

.social-account-identity {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
}

.social-account-identity > span:last-child {
  display: grid;
  gap: .15rem;
}

.social-account-identity small {
  color: var(--theme-muted, #76675e);
}

.social-account-mark {
  display: inline-grid;
  flex: 0 0 36px;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: linear-gradient(135deg, #7446b9, #d94a72 55%, #ee9d3b);
  color: #fff;
  font-size: .72rem;
  font-weight: 800;
}

.social-account-state,
.social-account-rule {
  display: inline-flex;
  align-items: center;
  width: max-content;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 700;
  white-space: nowrap;
}

.social-account-state {
  padding: .25rem .55rem;
}

.social-account-state.is-connected {
  border-color: #9bd2aa;
  background: #eaf8ee;
  color: #236f39;
}

.social-account-state:is(.is-expired, .is-error) {
  border-color: #e3aaa4;
  background: #fff0ee;
  color: #a4382d;
}

.social-account-state:is(.is-pending, .is-disabled) {
  border-color: #d4cbc4;
  background: #f5f2ef;
  color: #675d56;
}

.social-account-rule {
  margin: .1rem .2rem .1rem 0;
  padding: .18rem .45rem;
  border-color: var(--store-border, #dfd2c8);
  background: #fff;
  color: var(--theme-heading, #573722);
}

.social-account-date-expired {
  color: #a4382d;
  font-weight: 700;
}

@media (max-width: 640px) {
  .social-publish-accordions {
    grid-template-columns: 1fr;
  }

  .social-draft-card {
    grid-template-columns: 1fr;
  }

  .social-draft-card > img {
    max-height: 360px;
  }
}

/* Store menu generator */
.menu-generator-shell {
  display: grid;
  gap: 1rem;
  min-width: 0;
}

.menu-generator-toolbar {
  display: grid;
  gap: 1rem;
  padding: 1rem 1.1rem;
}

.menu-generator-toolbar-main,
.menu-generator-controls,
.menu-generator-products-heading,
.menu-generator-preview-label {
  display: flex;
  align-items: center;
  gap: .8rem;
}

.menu-generator-toolbar-main > div:first-child {
  margin-right: auto;
}

.menu-generator-toolbar h1,
.menu-generator-toolbar h2,
.menu-generator-toolbar p,
.menu-generator-products h2,
.menu-generator-products p {
  margin: 0;
}

.menu-generator-toolbar p,
.menu-generator-products p,
.menu-generator-preview-label small {
  color: var(--theme-muted, #76675e);
}

.menu-generator-controls {
  flex-wrap: wrap;
  padding-top: .9rem;
  border-top: 1px solid var(--store-border, #dfd2c8);
}

.menu-generator-controls > label:first-child {
  display: grid;
  flex: 1 1 280px;
  gap: .3rem;
  font-weight: 700;
}

.menu-generator-controls input[type="text"] {
  min-height: 44px;
}

.menu-generator-controls fieldset {
  display: flex;
  align-items: center;
  gap: .65rem;
  min-height: 44px;
  margin: 0;
  padding: .45rem .75rem;
  border: 1px solid var(--store-border, #dfd2c8);
  border-radius: 8px;
}

.menu-generator-controls fieldset legend {
  padding: 0 .2rem;
  color: var(--theme-muted, #76675e);
  font-size: .75rem;
  font-weight: 700;
}

.menu-generator-check {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  min-height: 44px;
  white-space: nowrap;
}

.menu-generator-workspace {
  display: grid;
  grid-template-columns: minmax(240px, 300px) minmax(0, 1fr);
  align-items: start;
  gap: 1rem;
  min-width: 0;
}

.menu-generator-products {
  position: sticky;
  top: 1rem;
  max-height: calc(100vh - 2rem);
  padding: 1rem;
  overflow: auto;
}

.menu-generator-products-heading {
  justify-content: space-between;
  margin-bottom: .75rem;
}

.menu-generator-products-heading > span,
.menu-generator-products summary span {
  display: inline-grid;
  place-items: center;
  min-width: 28px;
  min-height: 24px;
  padding: 0 .4rem;
  border-radius: 999px;
  background: #f1e8e1;
  color: var(--theme-heading, #573722);
  font-size: .78rem;
  font-weight: 800;
}

.menu-generator-products details {
  border-top: 1px solid var(--store-border, #dfd2c8);
}

.menu-generator-products summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .75rem 0;
  cursor: pointer;
  font-weight: 800;
}

.menu-generator-product-option {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: .5rem;
  padding: .55rem .35rem;
  border-top: 1px dashed #e8ddd5;
  cursor: pointer;
}

.menu-generator-product-option span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.menu-generator-product-option strong {
  font-size: .85rem;
}

.menu-generator-preview-wrap {
  min-width: 0;
  padding: 0 0 2rem;
  overflow-x: auto;
}

.menu-generator-preview-label {
  justify-content: space-between;
  margin-bottom: .55rem;
  font-weight: 800;
}

.menu-generator-sheet {
  --menu-accent: #8b5e3c;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", serif;
  width: min(100%, 900px);
  min-height: 1273px;
  margin: 0 auto;
  padding: 3.5rem 3.25rem 2.5rem;
  border: 1px solid #dfd4ca;
  background: #fffdf9;
  box-shadow: 0 15px 45px rgba(66, 42, 26, .13);
  color: #38271e;
}

.menu-generator-sheet + .menu-generator-sheet {
  margin-top: 1.5rem;
}

.menu-generator-sheet.is-landscape {
  width: 1120px;
  min-height: 792px;
  padding: 2.5rem 3rem 2rem;
}

.menu-generator-sheet > header {
  margin-bottom: 2rem;
  text-align: center;
}

.menu-generator-sheet > header small {
  color: var(--menu-accent);
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.menu-generator-sheet > header h2 {
  margin: .25rem 0 .65rem;
  font-family: inherit;
  font-size: clamp(2rem, 4vw, 3.5rem);
  letter-spacing: .08em;
}

.menu-generator-sheet > header i {
  display: block;
  width: 72px;
  height: 3px;
  margin: 0 auto;
  background: var(--menu-accent);
}

.menu-generator-categories {
  display: grid;
  gap: 1.8rem;
}

.menu-generator-page-empty {
  margin: 4rem 0;
  color: #8d786a;
  text-align: center;
}

.menu-generator-category-title {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: .8rem;
  margin-bottom: .8rem;
}

.menu-generator-category-title span,
.menu-generator-category-title i {
  height: 1px;
  background: #d8c8bb;
}

.menu-generator-category-title h3 {
  margin: 0;
  color: var(--menu-accent);
  font-family: inherit;
  font-size: 1.3rem;
  letter-spacing: .08em;
}

.menu-generator-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .8rem;
}

.menu-generator-sheet.is-landscape .menu-generator-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.menu-generator-card {
  --menu-generator-card-size: 108px;
  position: relative;
  display: grid;
  grid-template-columns: var(--menu-generator-card-size) minmax(0, 1fr);
  width: 100%;
  height: var(--menu-generator-card-size);
  overflow: hidden;
  border: 1px solid #eadfd6;
  border-radius: 10px;
  background: #fff;
  cursor: grab;
}

.menu-generator-card.is-dragging {
  opacity: .45;
}

.menu-generator-photo {
  width: var(--menu-generator-card-size);
  height: var(--menu-generator-card-size);
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #fff;
}

.menu-generator-photo img {
  display: block;
  width: auto;
  max-width: 100%;
  height: 100%;
  margin: 0 auto;
  object-fit: contain;
  object-position: center;
}

.menu-generator-photo.is-empty {
  display: grid;
  place-items: center;
  color: #9b8c82;
  font-size: .63rem;
  letter-spacing: .08em;
}

.menu-generator-card-body {
  min-width: 0;
  height: 100%;
  padding: .75rem .7rem;
  overflow: hidden;
}

.menu-generator-card-body > div {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: .5rem;
}

.menu-generator-card-body h4,
.menu-generator-card-body p {
  margin: 0;
}

.menu-generator-card-body h4 {
  display: -webkit-box;
  overflow: hidden;
  font-size: 1rem;
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.menu-generator-card-body strong {
  flex: none;
  color: var(--menu-accent);
  white-space: nowrap;
}

.menu-generator-origin-country {
  display: block;
  margin-top: .2rem;
  overflow: hidden;
  color: var(--menu-accent);
  font-size: .68rem;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.menu-generator-card-body p {
  display: -webkit-box;
  margin-top: .35rem;
  overflow: hidden;
  color: #76675e;
  font-size: .75rem;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.menu-generator-card.has-origin-country .menu-generator-card-body p {
  -webkit-line-clamp: 1;
}

.menu-generator-drag {
  position: absolute;
  right: 4px;
  bottom: 1px;
  color: #bca99c;
  font-size: .82rem;
}

.menu-generator-sheet.is-images-hidden .menu-generator-card {
  grid-template-columns: 1fr;
  height: 72px;
}

.menu-generator-sheet.is-images-hidden .menu-generator-photo {
  display: none;
}

.menu-generator-sheet > footer {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 2.25rem;
  padding-top: .8rem;
  border-top: 1px solid #d8c8bb;
  color: #8d786a;
  font-size: .75rem;
}

@media (max-width: 900px) {
  .menu-generator-toolbar-main {
    align-items: stretch;
    flex-direction: column;
  }

  .menu-generator-toolbar-main > div:first-child {
    margin-right: 0;
  }

  .menu-generator-workspace {
    grid-template-columns: 1fr;
  }

  .menu-generator-products {
    position: static;
    max-height: none;
  }

  .menu-generator-sheet {
    min-width: 720px;
  }
}

@media print {
  @page {
    margin: 0;
  }

  body:has([data-menu-generator]) .sidebar,
  body:has([data-menu-generator]) .topbar,
  body:has([data-menu-generator]) .menu-generator-toolbar,
  body:has([data-menu-generator]) .menu-generator-products,
  body:has([data-menu-generator]) .menu-generator-preview-label {
    display: none !important;
  }

  body:has([data-menu-generator]),
  body:has([data-menu-generator]) .app-shell,
  body:has([data-menu-generator]) .main,
  body:has([data-menu-generator]) .menu-generator-shell,
  body:has([data-menu-generator]) .menu-generator-workspace,
  body:has([data-menu-generator]) .menu-generator-preview-wrap {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: #fff !important;
  }

  .menu-generator-sheet {
    width: 210mm !important;
    min-width: 210mm !important;
    min-height: 297mm !important;
    margin: 0 !important;
    padding: 14mm 13mm 10mm !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .menu-generator-sheet + .menu-generator-sheet {
    margin-top: 0 !important;
    break-before: page;
    page-break-before: always;
  }

  .menu-generator-sheet.is-landscape {
    width: 297mm !important;
    min-width: 297mm !important;
    min-height: 210mm !important;
    padding: 12mm 14mm 9mm !important;
  }

  .menu-generator-drag {
    display: none !important;
  }

  .menu-generator-category,
  .menu-generator-card {
    break-inside: avoid;
  }
}
.electronic-report-ai-analysis {
  border-color: #c9d9ff;
  background: linear-gradient(135deg, #f7f9ff 0%, #fff 58%, #f5fbff 100%);
}

.electronic-report-ai-analysis > summary {
  list-style: none;
}

.electronic-report-ai-analysis > summary::-webkit-details-marker {
  display: none;
}

.electronic-report-ai-accordion-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  cursor: pointer;
}

.electronic-report-ai-accordion-summary h2,
.electronic-report-ai-accordion-summary p {
  margin: 0;
}

.electronic-report-ai-accordion-summary p {
  margin-top: 5px;
  color: #526175;
}

.electronic-report-ai-accordion-state {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 6px;
  color: #526175;
  font-size: 12px;
  font-weight: 800;
}

.electronic-report-ai-accordion-state::after {
  content: "＋";
  font-size: 18px;
}

.electronic-report-ai-analysis[open] .electronic-report-ai-accordion-state::after {
  content: "−";
}

.electronic-report-ai-content {
  padding-top: 18px;
}

.electronic-report-ai-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.electronic-report-ai-heading h2,
.electronic-report-ai-heading p {
  margin: 0;
}

.electronic-report-ai-heading p {
  margin-top: 6px;
  color: #526175;
}

.electronic-report-ai-label {
  display: inline-flex;
  margin-bottom: 6px;
  padding: 3px 9px;
  border-radius: 999px;
  background: #17243b;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .06em;
}

.electronic-report-ai-button {
  white-space: nowrap;
  background: #17243b;
  border-color: #17243b;
}

.electronic-report-ai-button:disabled {
  cursor: not-allowed;
  opacity: .45;
}

.electronic-report-ai-generate,
.electronic-report-ai-follow-up form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 12px;
}

.electronic-report-ai-generate label,
.electronic-report-ai-follow-up form label {
  display: grid;
  gap: 6px;
  color: #34445b;
  font-weight: 800;
}

.electronic-report-ai-generate textarea,
.electronic-report-ai-follow-up textarea {
  min-height: 64px;
  resize: vertical;
}

.electronic-report-ai-generate .electronic-report-ai-button,
.electronic-report-ai-follow-up form .electronic-report-ai-button {
  min-height: 44px;
}

.electronic-report-ai-history {
  margin-top: 18px;
}

.electronic-report-ai-history h3 {
  margin: 0 0 8px;
}

.electronic-report-ai-history h3 small {
  color: #6f7b8d;
  font-size: 12px;
  font-weight: 600;
}

.electronic-report-ai-history-list {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 4px;
}

.electronic-report-ai-history-list a {
  display: grid;
  flex: 0 0 190px;
  gap: 2px;
  min-width: 0;
  padding: 9px 11px;
  border: 1px solid #d6dfef;
  border-radius: 9px;
  background: #fff;
  color: #34445b;
  text-decoration: none;
}

.electronic-report-ai-history-list a.is-active {
  border-color: #355dba;
  box-shadow: inset 0 0 0 1px #355dba;
  background: #f1f5ff;
}

.electronic-report-ai-history-list a span,
.electronic-report-ai-history-list a small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.electronic-report-ai-history-list a small {
  color: #6f7b8d;
}

.electronic-report-ai-focus {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  margin-top: 18px;
  padding: 11px 14px;
  border-radius: 9px;
  background: #edf3ff;
  color: #34445b;
}

.electronic-report-ai-notice,
.electronic-report-ai-empty {
  margin-top: 18px;
  padding: 14px 16px;
  border: 1px dashed #b7c6df;
  border-radius: 10px;
  background: rgba(255, 255, 255, .8);
  color: #526175;
}

.electronic-report-ai-notice.is-error {
  border-color: #e9b4b4;
  background: #fff5f5;
  color: #a12c2c;
}

.electronic-report-ai-summary {
  margin-top: 18px;
  padding: 18px;
  border-radius: 12px;
  background: #17243b;
  color: #fff;
}

.electronic-report-ai-summary h3,
.electronic-report-ai-summary p,
.electronic-report-ai-grid h3,
.electronic-report-ai-grid article p {
  margin: 0;
}

.electronic-report-ai-summary p {
  margin-top: 7px;
  line-height: 1.75;
}

.electronic-report-ai-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 18px;
}

.electronic-report-ai-grid > section {
  min-width: 0;
}

.electronic-report-ai-grid article {
  display: grid;
  gap: 5px;
  margin-top: 10px;
  padding: 14px;
  border: 1px solid #dce5f4;
  border-radius: 10px;
  background: #fff;
}

.electronic-report-ai-grid article p {
  color: #526175;
  line-height: 1.55;
}

.electronic-report-ai-priority {
  width: fit-content;
  padding: 2px 8px;
  border-radius: 999px;
  background: #edf1f7;
  color: #536177;
  font-size: 12px;
  font-weight: 800;
}

.electronic-report-ai-priority.is-高 {
  background: #ffebeb;
  color: #b32626;
}

.electronic-report-ai-priority.is-中 {
  background: #fff2d5;
  color: #8a5a00;
}

.electronic-report-ai-cautions {
  margin-top: 18px;
  padding: 14px 16px;
  border-radius: 10px;
  background: #f1f4f9;
}

.electronic-report-ai-cautions ul {
  margin: 7px 0 0;
  padding-left: 20px;
}

.electronic-report-ai-meta {
  display: block;
  margin-top: 12px;
  color: #6f7b8d;
}

.electronic-report-ai-follow-up {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid #dce5f4;
}

.electronic-report-ai-follow-up > h3 {
  margin: 0 0 10px;
}

.electronic-report-ai-follow-up > article {
  display: grid;
  gap: 9px;
  margin-bottom: 10px;
  padding: 13px 15px;
  border: 1px solid #dce5f4;
  border-radius: 10px;
  background: #fff;
}

.electronic-report-ai-follow-up article strong,
.electronic-report-ai-follow-up article p {
  margin: 0;
}

.electronic-report-ai-question,
.electronic-report-ai-answer {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 8px;
}

.electronic-report-ai-answer strong {
  color: #355dba;
}

.electronic-report-ai-follow-up > article small {
  color: #6f7b8d;
}

@media (max-width: 760px) {
  .electronic-report-ai-accordion-summary,
  .electronic-report-ai-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .electronic-report-ai-accordion-state {
    justify-content: space-between;
  }

  .electronic-report-ai-heading form,
  .electronic-report-ai-button {
    width: 100%;
  }

  .electronic-report-ai-generate,
  .electronic-report-ai-follow-up form,
  .electronic-report-ai-focus {
    grid-template-columns: 1fr;
  }

  .electronic-report-ai-grid {
    grid-template-columns: 1fr;
  }
}
.store-dashboard-sales-details {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 14px;
}

.store-dashboard-sales-details > .store-sales-panel {
  min-width: 0;
}

.store-dashboard-sales-details > .store-sales-panel:not(.store-dashboard-report-link-panel) {
  align-content: start;
  grid-auto-rows: max-content;
}

.store-dashboard-sales-details > .store-sales-panel > h2 {
  min-height: 32px;
}

.store-dashboard-sales-details .store-sales-chart-row {
  grid-template-columns: 32px minmax(32px, 1fr) auto;
  min-width: 0;
}

.store-dashboard-sales-details .store-sales-chart-row strong {
  font-size: 12px !important;
  line-height: 1.25;
}

.store-dashboard-top-products { display: grid; gap: 5px; margin: 0; padding: 0; list-style: none; }
.store-dashboard-top-products li { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; align-items: center; gap: 8px; min-height: 34px; padding: 5px 9px; border: 1px solid #eadfd4; border-radius: 8px; background: linear-gradient(90deg, #fffaf5, #f7f3ef); }
.store-dashboard-top-products li:nth-child(1) { border-color: #e9c55e; background: linear-gradient(90deg, #fff8d9, #fffdf5); }
.store-dashboard-top-products li:nth-child(2) { border-color: #c9d1d9; background: linear-gradient(90deg, #eef2f5, #fbfcfd); }
.store-dashboard-top-products li:nth-child(3) { border-color: #d7a56f; background: linear-gradient(90deg, #f8e4d0, #fffaf5); }
.store-dashboard-top-products.is-extra li { border-color: #eadfd4; background: linear-gradient(90deg, #fffaf5, #f7f3ef); }
.store-dashboard-product-rank { color: #5f5147 !important; font-size: 18px !important; line-height: 1; text-align: center; }
.store-dashboard-top-products strong { min-width: 0; overflow: hidden; font-size: 12px !important; text-overflow: ellipsis; white-space: nowrap; }
.store-dashboard-top-customers strong { display: grid; gap: 1px; }
.store-dashboard-top-customers strong small { overflow: hidden; color: #7a6e65; font-size: 10px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.store-dashboard-customer-link { min-width: 0; color: inherit; text-decoration: none; }
.store-dashboard-customer-link:hover strong,
.store-dashboard-customer-link:focus-visible strong { color: var(--theme-primary); text-decoration: underline; text-underline-offset: 3px; }
.store-dashboard-product-quantity { color: var(--accent, #8b5e3c) !important; font-size: 12px !important; font-weight: 800; white-space: nowrap; }
.store-dashboard-ranking-note { margin: 6px 0 0; color: #7a6e65; font-size: 10px; }
.store-dashboard-ranking-more { margin-top: 2px; }
.store-dashboard-ranking-more summary { width: fit-content; margin-left: auto; padding: 4px 2px; color: var(--theme-primary); font-size: 11px; font-weight: 800; cursor: pointer; list-style: none; }
.store-dashboard-ranking-more summary::-webkit-details-marker { display: none; }
.store-dashboard-ranking-more summary::after { content: "＋"; margin-left: 5px; }
.store-dashboard-ranking-more[open] summary::after { content: "−"; }
.store-dashboard-ranking-more .store-dashboard-top-products { margin-top: 4px; }

.store-dashboard-report-link-panel {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
}

.store-dashboard-report-link-panel p {
  flex: 1;
  margin: 0 0 12px;
  color: #6e625a;
}

.store-report-metric-card {
  align-content: start;
  gap: 6px;
}

.store-sales-panel .store-report-current-period {
  color: #796c63;
  font-size: 12px;
}

.store-sales-panel .store-report-current-value {
  display: flex;
  align-items: baseline;
  gap: 4px;
  color: var(--theme-primary);
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.12;
}

.store-sales-panel .store-report-current-value small {
  font-size: 13px;
}

.store-sales-panel .store-report-current-value.is-duration {
  font-size: clamp(24px, 2.4vw, 34px);
  white-space: nowrap;
}

.store-report-stay-card { background: linear-gradient(145deg, #ffffff 0%, #f4f8ff 100%); }

.store-report-trend {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 6px;
  padding: 4px 9px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
}

.store-report-trend b {
  font-size: 17px;
  line-height: 1;
}

.store-sales-panel .store-report-trend.is-positive,
.store-sales-panel .store-report-trend.is-positive span {
  background: #e7f7ed;
  color: #138443;
}

.store-sales-panel .store-report-trend.is-negative,
.store-sales-panel .store-report-trend.is-negative span {
  background: #fdeaea;
  color: #c33131;
}

.store-sales-panel .store-report-trend.is-neutral,
.store-sales-panel .store-report-trend.is-neutral span {
  background: #eef1f4;
  color: #68727d;
}

.store-report-previous {
  color: #81766f;
  font-size: 10px;
  line-height: 1.45;
}

.store-report-repeat-card { background: linear-gradient(145deg, #ffffff 0%, #effaf5 100%); }
.store-report-repeat-summary { display: inline-flex; width: fit-content; align-items: center; gap: 6px; padding: 4px 9px; border-radius: 999px; background: #e4f6ed; color: #117747; font-size: 12px; font-weight: 800; }
.store-report-repeat-summary b { font-size: 17px; line-height: 1; }
.store-report-repeat-summary span { color: inherit; font-size: inherit; }

.store-sales-chart-row.is-baseline {
  color: #756b64;
  font-size: 11px;
}

@media (max-width: 760px) {
  .store-dashboard-report-heading { align-items: flex-start; flex-direction: column; }
  .store-dashboard-report-period { width: 100%; flex-wrap: wrap; }
  .store-dashboard-report-period label { flex: 1 1 auto; }
  .store-dashboard-report-period input[type="month"] { width: 100%; min-width: 128px; }
  .store-dashboard-report-period > small { width: 100%; margin-left: 0; }
  .store-report-previous {
    font-size: 11px;
  }
}

@media (min-width: 761px) and (max-width: 1180px) {
  body.theme-store .store-dashboard-sales-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Store attendance and payroll */
.attendance-page{display:grid;gap:20px;max-width:1500px;margin:0 auto}.attendance-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.attendance-toolbar form label,.attendance-settings-form label,.attendance-payroll-heading form label{display:flex;align-items:center;gap:10px;font-weight:700}.attendance-toolbar select,.attendance-settings-form select,.attendance-payroll-heading input{min-height:44px}.attendance-toolbar p{margin:0}.attendance-toolbar strong{font-size:1.45rem;font-variant-numeric:tabular-nums}.attendance-panel{background:#fff;border:1px solid #dfd0c3;border-radius:14px;padding:20px;box-shadow:0 7px 22px rgba(73,45,27,.06)}.attendance-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.attendance-panel-heading h2{margin:0;color:#593c2c;font-size:1.2rem}.attendance-panel-heading p{margin:5px 0 0;color:#7d7068;font-size:.88rem}.attendance-punch-form{display:grid;grid-template-columns:minmax(220px,360px) 1fr;gap:14px;align-items:center}.attendance-punch-form select{width:100%;min-height:56px;font-size:1rem;font-weight:700}.attendance-punch-actions{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));gap:10px}.attendance-punch-actions .button{min-height:56px}.attendance-punch-actions .attendance-clock-in{background:#168b4b}.attendance-punch-actions .danger{background:#c93838;color:#fff}.attendance-punch-actions button:disabled{opacity:.35;cursor:not-allowed}.attendance-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:18px}.attendance-status-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 10px;width:100%;border:1px solid #ddd3cc;border-left:5px solid #9aa0a6;border-radius:10px;padding:12px;background:#fff;color:inherit;font:inherit;text-align:left;cursor:pointer}.attendance-status-card span{font-size:.78rem;font-weight:800}.attendance-status-card small{grid-column:1/-1;color:#796f68}.attendance-status-card.is-working{border-left-color:#168b4b;background:#f1fbf5}.attendance-status-card.is-break{border-left-color:#f0a313;background:#fff9ec}.attendance-status-card:is(:hover,:focus-visible,.is-selected){border-color:#168b4b;box-shadow:0 0 0 3px rgba(22,139,75,.13)}.attendance-daily-heading{align-items:end}.attendance-daily-date-form label{display:grid;gap:5px;font-size:.82rem;font-weight:800}.attendance-daily-date-form input{min-height:42px}.attendance-daily-table-wrap{overflow-x:auto}.attendance-daily-table{width:100%;border-collapse:collapse;white-space:nowrap}.attendance-daily-table th,.attendance-daily-table td{padding:12px 10px;border-bottom:1px solid #eadfd8;text-align:center}.attendance-daily-table thead th{background:#563824;color:#fff}.attendance-daily-table tbody th{text-align:left}.attendance-daily-status{display:inline-flex;justify-content:center;min-width:70px;padding:5px 9px;border-radius:999px;font-size:.76rem;font-weight:900}.attendance-daily-status.is-working{background:#dcfce7;color:#166534}.attendance-daily-status.is-break{background:#fef3c7;color:#92400e}.attendance-daily-status.is-completed{background:#f1f5f9;color:#475569}.attendance-settings-form{display:flex;align-items:end;gap:16px;flex-wrap:wrap}.attendance-settings-form label{display:grid;gap:5px}.attendance-wage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.attendance-wage-card{display:grid;grid-template-columns:1fr 1fr;gap:10px;border:1px solid #eadfd8;border-radius:10px;padding:14px}.attendance-wage-card>strong{grid-column:1/-1}.attendance-wage-card label{display:grid;gap:5px;font-size:.82rem}.attendance-wage-card .button{grid-column:1/-1}.attendance-payroll-heading{align-items:end}.attendance-payroll-table-wrap{overflow-x:auto}.attendance-payroll-table{width:100%;border-collapse:collapse;white-space:nowrap}.attendance-payroll-table th,.attendance-payroll-table td{padding:12px 10px;border-bottom:1px solid #eadfd8;text-align:center}.attendance-payroll-table thead th{background:#563824;color:#fff}.attendance-deduction-row td{padding:8px 10px 16px;background:#fbf8f5}.attendance-deductions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.attendance-deduction-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid #d7bdaa;border-radius:999px;padding:4px 8px;background:#fff}.attendance-deduction-chip button{border:0;background:transparent;color:#bd2c2c;font-size:1.1rem;cursor:pointer}.attendance-deduction-add{display:flex;gap:7px;align-items:center;flex:1;min-width:360px}.attendance-deduction-add input{min-height:38px}.attendance-deduction-add input:first-of-type{flex:1}.attendance-deduction-add input[type=number]{width:120px}.payslip-page{max-width:1100px;margin:0 auto}.payslip-actions{display:flex;justify-content:flex-end;gap:10px;margin-bottom:18px}.payslip-sheet{box-sizing:border-box;width:210mm;min-height:297mm;max-width:100%;margin:0 auto;background:#fff;border:1px solid #bac9d5;padding:16mm;color:#253746;box-shadow:0 8px 30px rgba(35,55,70,.12)}.payslip-sheet>header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:3px solid #235a7a;padding-bottom:16px}.payslip-sheet>header span{letter-spacing:.18em;color:#477994}.payslip-sheet h1{font-size:2rem;margin:4px 0}.payslip-period{text-align:right;display:grid;gap:5px}.payslip-recipient{display:flex;justify-content:space-between;align-items:end;gap:16px;padding:22px 0}.payslip-recipient h2{margin:0}.payslip-net{display:flex;justify-content:space-between;align-items:center;background:#eaf5fb;border:2px solid #4d91b7;padding:16px 20px;margin-bottom:22px}.payslip-net strong{font-size:2rem}.payslip-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.payslip-columns section{border:1px solid #cbd6de}.payslip-columns h3{margin:0;padding:10px 12px;background:#edf3f7}.payslip-columns dl{margin:0}.payslip-columns dl>div{display:flex;justify-content:space-between;gap:10px;padding:9px 12px;border-top:1px solid #dfe6eb}.payslip-columns dt,.payslip-columns dd{margin:0}.payslip-columns .total{font-weight:800;background:#f7fafc}.payslip-sheet footer{margin-top:28px;padding-top:12px;border-top:1px solid #cbd6de;font-size:.78rem;color:#697a86}
.attendance-wage-grid{grid-template-columns:minmax(0,1fr)}.attendance-wage-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end}.attendance-wage-card .button{grid-column:auto;min-height:44px;white-space:nowrap}@media(max-width:700px){.attendance-wage-card{grid-template-columns:1fr 1fr}.attendance-wage-card .button{grid-column:1/-1}}
.payroll-statement-accordion{margin-bottom:20px;border:1px solid #d8c8bc;border-radius:14px;background:#fff;overflow:hidden}.payroll-statement-accordion>summary{display:flex;align-items:center;gap:12px;padding:16px 20px;cursor:pointer;list-style:none}.payroll-statement-accordion>summary::-webkit-details-marker{display:none}.payroll-statement-accordion>summary::before{content:'›';font-size:1.5rem;font-weight:900;transition:transform .18s}.payroll-statement-accordion[open]>summary::before{transform:rotate(90deg)}.payroll-statement-accordion>summary span{font-size:1.1rem;font-weight:900}.payroll-statement-accordion>summary small{color:#75675e}.payroll-statement-editor{padding:0 20px 20px;border-top:1px solid #eee5df}.payroll-statement-editor .attendance-panel-heading{padding-top:16px}.payroll-statement-editor .attendance-panel-heading>p{margin:0}.payroll-employee-code{display:grid;gap:5px;max-width:240px;font-weight:800;margin-bottom:14px}.payroll-editor-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.payroll-editor-columns fieldset{border:1px solid #ddd3cc;border-radius:10px;padding:12px}.payroll-editor-columns legend{font-weight:900;padding:0 6px}.payroll-editor-row{display:grid;grid-template-columns:minmax(130px,1fr) 110px auto;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid #eee5df}.payroll-editor-row>span:first-child{font-size:.82rem;font-weight:700}.payroll-editor-row input[type=number]{min-height:38px}.payroll-hide-toggle{display:inline-flex!important;align-items:center;gap:4px;font-size:.75rem!important;white-space:nowrap}.payroll-hide-toggle input{width:18px!important;height:18px!important;margin:0}.payroll-editor-notes{display:grid;grid-template-columns:minmax(200px,320px) auto 1fr auto;align-items:end;gap:10px;margin-top:14px}.payroll-editor-notes>label:not(.payroll-hide-toggle){display:grid;gap:5px;font-weight:800}.payroll-editor-notes textarea{min-height:70px}.payroll-default-columns{grid-template-columns:repeat(2,1fr)}.payroll-attendance-section,.payroll-notes,.payroll-taxable-total{border:1px solid #cbd6de;margin-top:14px}.payroll-attendance-section h3,.payroll-notes h3{margin:0;padding:10px 12px;background:#edf3f7}.payroll-attendance-section dl{display:grid;grid-template-columns:repeat(2,1fr);margin:0}.payroll-attendance-section dl>div{display:flex;justify-content:space-between;gap:12px;padding:9px 12px;border-top:1px solid #dfe6eb}.payroll-attendance-section dt,.payroll-attendance-section dd{margin:0}.payroll-notes p{min-height:42px;margin:0;padding:12px;white-space:normal}.payroll-taxable-total{display:flex;justify-content:space-between;gap:14px;padding:12px;font-weight:800;background:#f7fafc}.payslip-recipient h2 small{font-size:.65em;font-weight:700}@media(max-width:900px){.payroll-editor-columns{grid-template-columns:1fr}.payroll-editor-notes{grid-template-columns:1fr auto}.payroll-attendance-section dl{grid-template-columns:1fr}}@media print{.payroll-statement-accordion{display:none!important}}
.payslip-effective-hourly{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:-8px 0 22px}.payslip-effective-hourly>div{display:grid;gap:4px;padding:11px 13px;border:1px solid #cbd6de;background:#f7fafc}.payslip-effective-hourly span{font-size:.76rem;color:#697a86}.payslip-effective-hourly strong{font-size:1.12rem}.payslip-effective-hourly .is-primary{border-color:#4d91b7;background:#eaf5fb}.payslip-effective-hourly>small{grid-column:1/-1;color:#697a86}
.payroll-attendance-detail{margin-top:14px;border:1px solid #cbd6de}.payroll-attendance-detail>h3{margin:0;padding:10px 12px;background:#edf3f7}.payroll-attendance-detail>div{overflow-x:auto}.payroll-attendance-detail table{width:100%;border-collapse:collapse;font-size:.78rem}.payroll-attendance-detail th,.payroll-attendance-detail td{padding:8px 6px;border-top:1px solid #dfe6eb;text-align:center;white-space:nowrap}.payroll-attendance-detail th{color:#526675;background:#f8fafc}.payroll-attendance-detail tr.is-no-work{color:#8a949c;background:#f7f9fa}
.payslip-document-meta{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(360px,1.2fr);align-items:center;gap:22px;padding:18px 0}.payslip-document-meta>div>span{color:#697a86;font-size:.75rem}.payslip-document-meta h2{margin:4px 0}.payslip-document-meta h2 small{font-size:.58em}.payslip-document-meta dl,.payroll-attendance-detail>header dl{display:grid;grid-template-columns:1fr 1fr;gap:5px 14px;margin:0}.payslip-document-meta dl>div,.payroll-attendance-detail>header dl>div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #dfe6eb;padding:3px 0}.payslip-document-meta dt,.payslip-document-meta dd,.payroll-attendance-detail>header dt,.payroll-attendance-detail>header dd{margin:0;font-size:.72rem}.payslip-document-meta dt,.payroll-attendance-detail>header dt{color:#697a86}.payroll-attendance-detail>header{display:flex;align-items:start;justify-content:space-between;gap:20px;padding:13px 12px;border-bottom:2px solid #235a7a}.payroll-attendance-detail>header span{color:#477994;font-size:.68rem;letter-spacing:.14em}.payroll-attendance-detail>header h2{margin:3px 0 0}.payroll-attendance-detail>header dl{min-width:430px}@media(max-width:700px){.payslip-document-meta{grid-template-columns:1fr;gap:10px}.payslip-document-meta dl,.payroll-attendance-detail>header dl{grid-template-columns:1fr}.payroll-attendance-detail>header{display:grid}.payroll-attendance-detail>header dl{min-width:0}}
.payslip-attendance-sheet{margin-top:20px}.payslip-attendance-sheet .payroll-attendance-detail{margin:0}@media print{@page{size:A4 portrait;margin:10mm}.payslip-sheet{padding:0!important}.payslip-sheet>header{break-after:avoid}.payslip-document-meta{break-inside:avoid}.payslip-effective-hourly,.payslip-columns,.payroll-attendance-section,.payroll-notes,.payroll-taxable-total{break-inside:avoid}.payslip-attendance-sheet{break-before:page;page-break-before:always;margin:0}.payroll-attendance-detail{margin:0;border:0}.payroll-attendance-detail>header{padding:0 0 5mm}.payroll-attendance-detail table{font-size:7.5pt}.payroll-attendance-detail th,.payroll-attendance-detail td{padding:4px 3px}.payroll-attendance-detail tr{break-inside:avoid;page-break-inside:avoid}}
@media(max-width:900px){.attendance-punch-form{grid-template-columns:1fr}.attendance-punch-actions{grid-template-columns:1fr 1fr}.attendance-settings-form{display:grid;grid-template-columns:1fr 1fr}.attendance-payroll-heading{align-items:flex-start;flex-direction:column}.payslip-columns{grid-template-columns:1fr}.payslip-sheet{padding:24px}.payslip-recipient{align-items:flex-start;flex-direction:column}.payslip-effective-hourly{grid-template-columns:1fr}}
@media(max-width:560px){.attendance-panel{padding:14px}.attendance-punch-actions{grid-template-columns:1fr}.attendance-settings-form{grid-template-columns:1fr}.attendance-deduction-add{min-width:100%;display:grid;grid-template-columns:1fr 110px}.attendance-deduction-add .button{grid-column:1/-1}.payslip-sheet>header{gap:10px;flex-direction:column}.payslip-period{text-align:left}.payslip-net strong{font-size:1.45rem}}

/* Attendance settings */
.attendance-settings-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;border-radius:14px;background:linear-gradient(135deg,#563824,#80583e);color:#fff}.attendance-settings-intro>div{display:grid;gap:3px}.attendance-settings-intro span{font-size:.76rem;font-weight:800;letter-spacing:.12em;opacity:.72}.attendance-settings-intro strong{font-size:1.25rem}.attendance-settings-intro p{margin:0;max-width:620px;font-size:.88rem;opacity:.82}.attendance-section-number{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:24px;margin-bottom:7px;border-radius:999px;background:#f2e7df;color:#795039;font-size:.72rem;font-weight:900}.attendance-settings-panel .attendance-panel-heading{margin-bottom:18px}.attendance-settings-form{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr)) auto;align-items:end;gap:12px}.attendance-settings-form label{font-size:.78rem;color:#63564e}.attendance-settings-form select{width:100%;background:#fff}.attendance-settings-save{min-height:44px;white-space:nowrap}.attendance-settings-panel>.muted{margin:14px 0 0;padding:10px 12px;border-radius:8px;background:#f8f4f1;font-size:.78rem}.attendance-wage-grid{display:grid;grid-template-columns:1fr;gap:8px}.attendance-wage-card{display:grid;grid-template-columns:minmax(170px,1.2fr) minmax(130px,.8fr) minmax(160px,.9fr) minmax(170px,1fr) auto;align-items:end;gap:12px;padding:12px 14px;border:1px solid #e5d8cf;border-radius:10px;background:#fff}.attendance-wage-card:hover{border-color:#c9aa96;background:#fffdfb}.attendance-wage-person{display:grid;align-self:center;gap:3px}.attendance-wage-person strong{font-size:1rem}.attendance-wage-person small{color:#88776c;font-size:.72rem}.attendance-wage-card label{display:grid;gap:5px;font-size:.76rem;font-weight:800;color:#66574f}.attendance-wage-card label>small{font-size:.65rem;font-weight:500;color:#94877f}.attendance-money-input{display:grid;grid-template-columns:auto 1fr;align-items:center;border:1px solid #d8d0ca;border-radius:8px;background:#fff;overflow:hidden}.attendance-money-input>span{padding-left:11px;color:#766860;font-weight:800}.attendance-money-input input{border:0!important;min-width:0}.attendance-exclusion-toggle{display:flex!important;align-items:center;gap:9px!important;min-height:44px;padding:7px 10px;border:1px solid #e3d9d2;border-radius:8px;background:#faf8f6;cursor:pointer}.attendance-exclusion-toggle input{width:18px;height:18px}.attendance-exclusion-toggle span{display:grid;gap:1px}.attendance-exclusion-toggle small{font-size:.68rem;color:#8d7d73}.attendance-wage-card>.button{grid-column:auto;min-height:44px;white-space:nowrap}.attendance-payroll-table th:first-child{text-align:left}.attendance-payroll-table tbody tr:not(.attendance-deduction-row):hover{background:#fcfaf8}.attendance-excluded-badge{display:inline-flex;margin-left:7px;padding:3px 7px;border-radius:999px;background:#eceff2;color:#66727c;font-size:.68rem}.attendance-payroll-table tr.is-payroll-excluded{color:#7c8388;background:#f7f8f9}.attendance-excluded-cell{font-weight:800;color:#69747c}.attendance-payroll-heading form{padding:8px 10px;border-radius:9px;background:#f8f4f1}
@media(max-width:1100px){.attendance-settings-form{grid-template-columns:repeat(2,1fr)}.attendance-settings-save{grid-column:1/-1}.attendance-wage-card{grid-template-columns:minmax(150px,1fr) 1fr 1fr}.attendance-exclusion-toggle{grid-column:1/3}.attendance-wage-card>.button{grid-column:3}}
@media(max-width:700px){.attendance-settings-intro{align-items:flex-start;flex-direction:column;padding:16px}.attendance-settings-form{grid-template-columns:1fr 1fr}.attendance-wage-card{grid-template-columns:1fr 1fr}.attendance-wage-person{grid-column:1/-1;padding-bottom:7px;border-bottom:1px solid #eee5df}.attendance-exclusion-toggle{grid-column:1/-1}.attendance-wage-card>.button{grid-column:1/-1}.attendance-payroll-table th,.attendance-payroll-table td{padding:10px 8px}.attendance-payroll-heading form{width:100%}.attendance-payroll-heading form input{flex:1;min-width:0}}
@media(max-width:480px){.attendance-settings-form{grid-template-columns:1fr}.attendance-settings-save{grid-column:auto}.attendance-wage-card{grid-template-columns:1fr}.attendance-wage-person,.attendance-exclusion-toggle,.attendance-wage-card>.button{grid-column:auto}}
@media print{.no-print,.sidebar,.topbar{display:none!important}.main,.content{margin:0!important;padding:0!important;max-width:none!important}.payslip-page{max-width:none}.payslip-sheet{border:0;padding:8mm;box-shadow:none}@page{size:A4;margin:10mm}}

/* Keep the HP management page inside the viewport; only its table may scroll sideways. */
body.theme-development:has(.website-management-shell),
body.theme-development:has(.website-management-shell) .app-shell,
body.theme-development:has(.website-management-shell) .main { width: 100%; max-width: 100%; overflow-x: hidden; }
body.theme-development:has(.website-management-shell) .website-management-shell,
body.theme-development:has(.website-management-shell) .website-management-shell > * { width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; }
body.theme-development:has(.website-management-shell) .website-management-shell > .settings-panel { overflow: hidden; }
body.theme-development:has(.website-management-shell) .website-management-shell .table-wrap { display: block; width: 100%; max-width: 100%; min-width: 0; overflow-x: auto; overscroll-behavior-x: contain; }

@media (max-width: 860px) {
  body.theme-development:has(.website-management-shell) .website-management-table.table { display: table; width: 1440px; min-width: 1440px; table-layout: fixed; }
  body.theme-development:has(.website-management-shell) .website-management-table thead { display: table-header-group; }
  body.theme-development:has(.website-management-shell) .website-management-table tbody { display: table-row-group; }
  body.theme-development:has(.website-management-shell) .website-management-table tr { display: table-row; padding: 0; border-radius: 0; }
  body.theme-development:has(.website-management-shell) .website-management-table td { display: table-cell; padding: 8px 10px; }
  body.theme-development:has(.website-management-shell) .website-management-actions .button { width: auto; }
}

.attendance-daily-edit-dialog{width:min(680px,calc(100vw - 24px))}.attendance-daily-edit-dialog>form{gap:16px}.attendance-daily-edit-times{display:grid;grid-template-columns:1fr 1fr;gap:12px}.attendance-daily-edit-breaks{display:grid;gap:10px;margin:0;padding:14px;border:1px solid #dfd0c3;border-radius:10px}.attendance-daily-edit-breaks legend{padding:0 6px;font-weight:900}.attendance-daily-edit-breaks>div{display:grid;grid-template-columns:28px 1fr 1fr;gap:9px;align-items:end}.attendance-daily-edit-breaks>div>span{align-self:center;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#f3ece6;font-weight:900}.attendance-daily-edit-dialog label{display:grid;gap:5px;font-weight:800}.attendance-daily-edit-dialog input{min-width:0;min-height:42px}@media(max-width:560px){.attendance-daily-edit-times{grid-template-columns:1fr}.attendance-daily-edit-breaks>div{grid-template-columns:26px 1fr}.attendance-daily-edit-breaks>div label{grid-column:2}}
.attendance-early-work-dialog{box-sizing:border-box;width:min(460px,calc(100vw - 16px));max-height:calc(100dvh - 16px);padding:16px;overflow:auto}.attendance-early-work-dialog[open]{display:grid;gap:10px}.attendance-early-work-dialog h3,.attendance-early-work-dialog p{margin:0}.attendance-early-work-dialog p{font-size:.8rem;line-height:1.45}.attendance-early-work-dialog label{display:grid;gap:4px;font-size:.86rem;font-weight:800}.attendance-early-work-dialog input,.attendance-early-work-dialog select,.attendance-early-work-dialog textarea{width:100%;min-width:0;min-height:42px}.attendance-early-work-dialog textarea{min-height:64px;resize:vertical}.attendance-early-work-dialog .electronic-sales-edit-actions{margin-top:2px}.attendance-early-work-tag{display:inline-flex!important;width:max-content;margin-top:4px!important;padding:2px 7px;border-radius:999px;background:#fff0d5;color:#8a5200;font-weight:900}.attendance-daily-table td small{display:block;margin-top:3px;color:#6d625a;white-space:normal}.attendance-daily-table td strong+small{max-width:240px}@media(max-width:560px){.attendance-early-work-dialog{width:calc(100vw - 8px);max-height:calc(100dvh - 8px);padding:12px}.attendance-early-work-dialog[open]{gap:8px}.attendance-early-work-dialog .electronic-sales-edit-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.attendance-early-work-dialog .electronic-sales-edit-actions .button{width:100%;min-width:0;padding-inline:8px}}
.store-midnight-close-reminder .store-shopping-confirm-body{display:grid;gap:14px;padding:22px 20px}.store-midnight-close-reminder .store-shopping-confirm-body p{margin:0;font-weight:800}.store-midnight-close-reminder .store-shopping-confirm-body ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}.store-midnight-close-reminder .store-shopping-confirm-body li{display:flex;align-items:center;gap:10px;padding:13px 14px;border:1px solid var(--theme-primary-border);border-radius:8px;background:var(--theme-primary-light);font-size:16px}.store-midnight-close-reminder .store-shopping-confirm-body li::before{content:'✓';display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--theme-primary);color:#fff;font-weight:900}.store-midnight-close-reminder .store-shopping-confirm-actions{padding:12px 16px;border-top:1px solid var(--theme-divider)}
.attendance-monthly-toolbar{min-height:48px}.attendance-monthly-toolbar:has(>nav:only-child){justify-content:flex-end}.attendance-month-navigation{display:flex;align-items:end;justify-content:flex-end;gap:10px;margin-left:auto}.attendance-month-navigation form label{display:grid;gap:4px;font-size:.8rem;font-weight:800}.attendance-month-navigation input{min-height:38px}.attendance-monthly-list{display:grid;gap:12px}.attendance-monthly-staff{overflow:hidden;border:1px solid #e4d7cd;border-radius:12px;background:#fff}.attendance-monthly-staff>summary{display:grid;grid-template-columns:minmax(180px,1fr) repeat(3,minmax(125px,auto));align-items:center;gap:14px;padding:15px 18px;background:#f8f3ef;color:#593c2c;cursor:pointer;list-style:none}.attendance-monthly-staff>summary::-webkit-details-marker{display:none}.attendance-monthly-staff>summary::before{content:'›';font-size:1.4rem;font-weight:900;transition:transform .18s}.attendance-monthly-staff[open]>summary::before{transform:rotate(90deg)}.attendance-monthly-staff>summary{grid-template-columns:20px minmax(180px,1fr) repeat(3,minmax(125px,auto))}.attendance-monthly-staff>summary span{font-size:.88rem;font-weight:700;color:#6f625a}.attendance-monthly-staff .empty-state{margin:12px}.attendance-monthly-table th:first-child,.attendance-monthly-table td:first-child{text-align:left}@media(max-width:760px){.attendance-monthly-toolbar{align-items:stretch;flex-direction:column}.attendance-month-navigation{width:100%;margin:0;justify-content:space-between}.attendance-monthly-staff>summary{grid-template-columns:20px 1fr 1fr;gap:8px 10px}.attendance-monthly-staff>summary strong{grid-column:2/-1}.attendance-monthly-staff>summary span{grid-column:auto}}
.attendance-monthly-staff-tabs{display:flex;gap:6px;max-width:100%;overflow-x:auto;overflow-y:hidden;padding:2px 2px 0;border-bottom:2px solid #d9c9bd;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.attendance-monthly-staff-tab{position:relative;display:grid;flex:0 0 auto;grid-template-columns:auto auto;align-items:center;gap:2px 10px;min-width:138px;max-width:220px;padding:10px 14px 11px;border:1px solid #e1d4ca;border-bottom:0;border-radius:10px 10px 0 0;background:#f6f0eb;color:#6a4a37;text-decoration:none;transition:background .15s,border-color .15s,color .15s}.attendance-monthly-staff-tab:hover{border-color:#b48a70;background:#fff}.attendance-monthly-staff-tab.is-selected{border-color:#8f5f40;background:#8f5f40;color:#fff}.attendance-monthly-staff-tab strong{grid-column:1/-1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.attendance-monthly-staff-tab>span{white-space:nowrap;font-size:.72rem;color:#796b62}.attendance-monthly-staff-tab.is-selected>span{color:rgba(255,255,255,.82)}.attendance-tab-payment-status{display:inline-flex;align-items:center;justify-content:center;justify-self:end;padding:2px 6px;border-radius:999px;font-size:.64rem;font-weight:900;white-space:nowrap}.attendance-tab-payment-status.is-unpaid{background:#fee2e2;color:#b42318}.attendance-tab-payment-status.is-paid{background:#dcfce7;color:#166534}.attendance-payment-status{display:inline-flex;width:max-content;align-items:center;justify-content:center;padding:4px 9px;border-radius:999px;font-size:.72rem;font-weight:900}.attendance-payment-status.is-unpaid{background:#fee2e2;color:#b42318}.attendance-payment-status.is-paid{background:#dcfce7;color:#166534}.attendance-payment-status.is-unavailable{background:#f1f5f9;color:#64748b}.attendance-monthly-detail{margin-top:20px;padding-top:18px;border-top:2px solid #e8dcd4}.attendance-monthly-detail-heading{align-items:end}.attendance-monthly-payroll-actions{display:flex;align-items:end;justify-content:flex-end;gap:10px;flex-wrap:wrap}.attendance-payment-form label{display:grid;gap:4px;font-size:.78rem;font-weight:800}.attendance-payment-form select{min-height:42px;min-width:110px}.attendance-monthly-table th:first-child,.attendance-monthly-table td:first-child{text-align:left}@media(max-width:760px){.attendance-monthly-toolbar{align-items:stretch;flex-direction:column}.attendance-month-navigation{width:100%;margin:0;justify-content:space-between}.attendance-monthly-staff-tab{min-width:128px;padding:9px 11px 10px}.attendance-monthly-detail-heading{align-items:stretch;flex-direction:column}.attendance-monthly-payroll-actions{justify-content:flex-start}}@media(max-width:460px){.attendance-monthly-payroll-actions{display:grid}.attendance-monthly-payroll-actions .button{width:100%}}
.attendance-monthly-table .attendance-daily-pay{white-space:nowrap;font-variant-numeric:tabular-nums}.attendance-tab-payment-status.is-excluded,.attendance-payment-status.is-excluded{background:#e5e7eb;color:#4b5563}.attendance-labor-cost-summary{display:flex;align-items:stretch;gap:8px}.attendance-total-labor-cost{display:grid;justify-items:end;gap:2px;min-width:170px;padding:12px 16px;border:1px solid #d7c2b3;border-radius:12px;background:#fff8f2;color:#593c2c}.attendance-total-labor-cost.is-with-bonus{border-color:#86c7a4;background:#f0fdf4;color:#166534}.attendance-total-labor-cost span{font-size:.75rem;font-weight:800}.attendance-total-labor-cost strong{font-size:1.5rem;font-variant-numeric:tabular-nums}.attendance-total-labor-cost small{color:#b42318;font-weight:800}.attendance-total-labor-cost.is-with-bonus small{color:#237a4b}@media(max-width:760px){.attendance-labor-cost-summary{width:100%;display:grid;grid-template-columns:1fr 1fr}.attendance-total-labor-cost{width:100%;min-width:0;justify-items:start}.attendance-monthly-all-tab{position:sticky;left:0;z-index:2;box-shadow:4px 0 8px rgba(69,45,30,.1)}}@media(max-width:460px){.attendance-labor-cost-summary{grid-template-columns:1fr}}
.attendance-transfer-amount{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:190px;height:42px;padding:6px 12px;border:2px solid #16834b;border-radius:9px;background:#f0fdf4;color:#166534}.attendance-transfer-amount span{font-size:.72rem;font-weight:900;white-space:nowrap}.attendance-transfer-amount strong{font-size:1.18rem;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}@media(max-width:760px){.attendance-transfer-amount{width:100%}}
.attendance-monthly-table th:nth-child(6),.attendance-monthly-table.is-all-users td:nth-child(6),.attendance-monthly-table.is-single-user th:nth-child(5),.attendance-monthly-table.is-single-user td:nth-child(5){width:92px;max-width:92px}.attendance-extension-reason{position:relative;overflow:visible!important;cursor:help}.attendance-extension-reason::before{content:attr(data-full-text);position:absolute;left:50%;bottom:calc(100% + 8px);z-index:20;display:none;width:max-content;max-width:min(340px,70vw);padding:9px 11px;border-radius:8px;background:#33251e;color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.22);font-size:.78rem;font-weight:600;line-height:1.55;white-space:normal;text-align:left;transform:translateX(-50%);pointer-events:none}.attendance-extension-reason:not([data-full-text]){cursor:default}.attendance-extension-reason[data-full-text]:hover::before,.attendance-extension-reason[data-full-text]:focus::before{display:block}.attendance-extension-reason{white-space:nowrap;text-overflow:ellipsis}.attendance-extension-reason:focus{outline:2px solid #9a6a4a;outline-offset:-2px}
.attendance-correction-list{display:grid;gap:10px}.attendance-correction-list>article{display:grid;gap:8px;padding:14px;border:1px solid #dfd0c3;border-radius:10px;background:#fff}.attendance-correction-list article>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.attendance-correction-list article>p{margin:0;white-space:pre-wrap}.attendance-correction-list article>small{display:block;color:#6d625a}.attendance-correction-list article>form{display:grid;gap:9px}.attendance-correction-list article>form>label{display:grid;gap:4px;font-weight:800}.attendance-correction-list textarea{min-height:68px;resize:vertical}.attendance-correction-list .actions{display:flex;justify-content:flex-end;gap:8px}.attendance-self-page .attendance-daily-table td small{display:block}@media(max-width:600px){.attendance-correction-list article>header{align-items:flex-start;flex-direction:column}.attendance-correction-list .actions{display:grid;grid-template-columns:1fr 1fr}.attendance-correction-list .actions .button{width:100%;min-width:0}}
.attendance-monthly-page .attendance-monthly-toolbar,
.attendance-monthly-page .attendance-monthly-toolbar:has(>nav:only-child){justify-content:flex-start}
.attendance-monthly-page .attendance-monthly-toolbar{align-items:center}
.attendance-monthly-page .attendance-month-navigation{order:-1;align-items:center;justify-content:flex-start;margin-left:0;gap:10px}
.attendance-monthly-page .attendance-month-navigation .button{display:inline-flex;align-items:center;justify-content:center;min-width:92px;min-height:52px;padding:10px 18px;font-size:1rem;font-weight:900}
.attendance-monthly-page .attendance-month-navigation form label{display:flex;align-items:center;gap:10px;min-height:52px;padding-left:14px;border:1px solid #dfd0c3;border-radius:9px;background:#fff;font-size:.85rem;white-space:nowrap}
.attendance-monthly-page .attendance-month-navigation input[type="month"]{min-width:190px;min-height:50px;padding:8px 12px;border:0;border-left:1px solid #eadfd7;border-radius:0 8px 8px 0;background:#fff;font-size:1rem;font-weight:900}
.attendance-monthly-page .attendance-monthly-toolbar>form>label{display:flex;align-items:center;gap:8px;white-space:nowrap}.attendance-monthly-page .attendance-monthly-toolbar>form select{min-width:168px}
@media(max-width:760px){.attendance-monthly-page .attendance-month-navigation{display:grid;grid-template-columns:minmax(68px,.65fr) minmax(170px,1.7fr) minmax(68px,.65fr);align-items:center;gap:6px}.attendance-monthly-page .attendance-month-navigation .button{width:100%;min-width:0;min-height:50px;padding-inline:6px;font-size:.88rem}.attendance-monthly-page .attendance-month-navigation form{width:100%;min-width:0}.attendance-monthly-page .attendance-month-navigation form label{width:100%;min-width:0;gap:6px;min-height:50px;padding-left:8px;font-size:.72rem}.attendance-monthly-page .attendance-month-navigation input[type="month"]{width:100%;min-width:0;min-height:48px;padding-inline:7px;font-size:.88rem}.attendance-monthly-page .attendance-monthly-toolbar>form,.attendance-monthly-page .attendance-monthly-toolbar>form>label,.attendance-monthly-page .attendance-monthly-toolbar>form select{width:100%;min-width:0}}
.electronic-weekday-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.electronic-weekday-heading h2{margin:0}.electronic-report-period-tabs{display:inline-flex;padding:3px;border:1px solid #d8c7bb;border-radius:10px;background:#f5efea}.electronic-report-period-tabs a{min-width:64px;padding:7px 13px;border-radius:7px;color:#715340;font-size:.8rem;font-weight:800;text-align:center;text-decoration:none}.electronic-report-period-tabs a.is-active{background:#8f5f40;color:#fff;box-shadow:0 1px 4px rgba(63,38,24,.2)}@media(max-width:480px){.electronic-weekday-heading{align-items:flex-start;flex-direction:column}.electronic-report-period-tabs{width:100%}.electronic-report-period-tabs a{flex:1}}

/* Keep every desktop sidebar entry visible as navigation grows. */
@media (min-width: 861px) {
  .sidebar.sidebar-fit-compact {
    gap: 7px;
    padding: 8px 9px;
  }
  .sidebar.sidebar-fit-compact .brand {
    padding-inline: 5px;
    font-size: 18px !important;
    line-height: 1.15;
  }
  .sidebar.sidebar-fit-compact nav { gap: 2px; }
  .sidebar.sidebar-fit-compact :is(
    nav a,
    .sidebar-menu-parent,
    .sidebar-development-menu summary,
    .sidebar-dashboard-switch,
    .sidebar-super-management,
    .logout-form .button,
    .sidebar-tenant-entry
  ),
  .sidebar.sidebar-fit-compact > a:not(.sidebar-user) {
    min-height: 32px;
    padding: 4px 8px !important;
    font-size: 13px !important;
    line-height: 1.25;
  }
  .sidebar.sidebar-fit-compact .sidebar-nav-icon {
    width: 16px;
    min-width: 16px;
    height: 16px;
  }
  .sidebar.sidebar-fit-compact .sidebar-dashboard-switches { gap: 4px; }
  .sidebar.sidebar-fit-compact .sidebar-user {
    padding: 6px 8px;
    font-size: 12px !important;
    line-height: 1.3;
  }
  .sidebar.sidebar-fit-compact .sidebar-user-details > span {
    margin-top: 0;
    font-size: 10px !important;
    line-height: 1.3;
  }

  .sidebar.sidebar-fit-dense {
    gap: 4px;
    padding-block: 6px;
  }
  .sidebar.sidebar-fit-dense .brand img { max-width: 142px; max-height: 34px; }
  .sidebar.sidebar-fit-dense :is(
    nav a,
    .sidebar-menu-parent,
    .sidebar-development-menu summary,
    .sidebar-dashboard-switch,
    .sidebar-super-management,
    .logout-form .button,
    .sidebar-tenant-entry
  ),
  .sidebar.sidebar-fit-dense > a:not(.sidebar-user) {
    min-height: 27px;
    padding-block: 2px !important;
    font-size: 12px !important;
  }
  .sidebar.sidebar-fit-dense .sidebar-nav-icon {
    width: 14px;
    min-width: 14px;
    height: 14px;
  }
  .sidebar.sidebar-fit-dense .sidebar-user {
    padding-block: 4px;
    font-size: 11px !important;
  }
  .sidebar.sidebar-fit-dense .sidebar-user-details > span { font-size: 9px !important; }

  .sidebar.sidebar-fit-ultra {
    gap: 2px;
    padding-block: 4px;
  }
  .sidebar.sidebar-fit-ultra .brand img { max-width: 132px; max-height: 31px; }
  .sidebar.sidebar-fit-ultra :is(
    nav a,
    .sidebar-menu-parent,
    .sidebar-development-menu summary,
    .sidebar-dashboard-switch,
    .sidebar-super-management,
    .logout-form .button,
    .sidebar-tenant-entry
  ),
  .sidebar.sidebar-fit-ultra > a:not(.sidebar-user) {
    min-height: 23px;
    padding-block: 1px !important;
    font-size: 11px !important;
  }
  .sidebar.sidebar-fit-ultra .sidebar-user {
    padding-block: 2px;
    font-size: 10px !important;
    line-height: 1.15;
  }
  .sidebar.sidebar-fit-ultra .sidebar-user-details > span {
    font-size: 8px !important;
    line-height: 1.15;
  }
}

/* Daily report inventory checklist master */
.daily-report-inventory-master-page .settings-panel {
  display: grid;
  gap: 14px;
}
.daily-report-master-store {
  grid-template-columns: minmax(220px, 360px);
}
.daily-report-master-list,
.daily-report-master-results {
  display: grid;
  gap: 8px;
}
.daily-report-master-row,
.daily-report-master-result {
  display: grid;
  grid-template-columns: minmax(180px, 1.5fr) minmax(100px, .8fr) auto minmax(110px, auto) auto auto;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid var(--border, #e4d7cc);
  border-radius: 10px;
  background: #fff;
}
.daily-report-master-row label,
.daily-report-master-result label {
  margin: 0;
}
.daily-report-master-row input[type="number"] {
  width: 74px;
  min-width: 0;
}
.daily-report-master-search {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) auto;
  gap: 10px;
}
.daily-report-master-result {
  grid-template-columns: minmax(220px, 1fr) auto auto;
}
.daily-report-master-result small {
  display: block;
  margin-top: 2px;
  color: #8f837b;
}
.required-badge {
  display: inline-flex;
  align-items: center;
  margin-left: 6px;
  padding: 2px 7px;
  border-radius: 999px;
  background: #d92d3d;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
}
@media (max-width: 900px) {
  .daily-report-master-row,
  .daily-report-master-result {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .daily-report-master-row > .muted {
    grid-column: 1 / -1;
  }
}
@media (max-width: 600px) {
  .daily-report-master-row,
  .daily-report-master-result,
  .daily-report-master-search {
    grid-template-columns: 1fr;
  }
}
.website-editor-group.is-email{border-color:#a78bfa;background:#f5f3ff}.website-editor-group.is-email legend{color:#6d28d9}.website-email-add{justify-self:start}.website-email-editor[hidden],.website-email-add[hidden]{display:none!important}.website-email-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.website-email-editor>[data-email-server-remove]{justify-self:start}@media(max-width:700px){.website-email-grid{grid-template-columns:1fr}}
.website-email-accounts{display:grid;gap:10px;padding-top:4px;border-top:1px solid #ddd6fe}.website-email-accounts-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.website-email-account-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1.5fr) auto;gap:8px;align-items:center}.website-email-account-view dt{color:#4c1d95!important}.website-email-account-view dd a{font-weight:800}@media(max-width:700px){.website-email-account-row{grid-template-columns:1fr}.website-email-account-row .button{justify-self:start}}
.website-mail-protocols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.website-mail-protocols>section{display:grid;gap:9px;padding:12px;border:1px solid #c4b5fd;border-radius:10px;background:rgba(255,255,255,.66)}.website-mail-protocols>section>strong{color:#5b21b6}.website-mail-protocol-grid{display:grid;grid-template-columns:minmax(0,1fr) 120px 140px;gap:8px}@media(max-width:1050px){.website-mail-protocols{grid-template-columns:1fr}}@media(max-width:650px){.website-mail-protocol-grid{grid-template-columns:1fr}}
.website-editor-group.is-ftp{border-color:#38bdf8;background:#f0f9ff}.website-editor-group.is-ftp legend{color:#0369a1}.website-ftp-add{justify-self:start}.website-ftp-editor[hidden],.website-ftp-add[hidden]{display:none!important}.website-ftp-editor>[data-ftp-remove]{justify-self:start}
/* Department color system: Store=brown, Development=blue, Event=green, Affiliate=purple, Recruitment=orange, Commerce=teal. */
body.theme-event{--event-primary:#16a34a;--event-primary-dark:#065f46;--event-accent:#6ee7b7;--event-light:#f0fdf4;--theme-primary:#16a34a;--theme-primary-hover:#065f46;--theme-primary-light:#f0fdf4;--theme-primary-border:#86efac;--theme-focus-ring:rgba(21,128,61,.18);--theme-canvas:#f7fcf8;--theme-heading:#143d24;--theme-divider:#d4eadb;--blue:#15803d;--line:#d4eadb;--bg:#f7fcf8;--text:#20352a;--muted:#64756b}body.theme-event .main{background:radial-gradient(circle at 95% 0,#e7f8ed 0,transparent 32%),var(--theme-canvas)}body.theme-event .sidebar{background:linear-gradient(180deg,#0d3b25,#14532d 55%,#092f1c)}body.theme-event .sidebar :is(a.active,summary.active){background:rgba(74,222,128,.2);box-shadow:inset 3px 0 0 #86efac}
body.theme-recruitment{--theme-primary:#c2410c;--theme-primary-hover:#9a3412;--theme-primary-light:#fff7ed;--theme-primary-border:#fdba74;--theme-focus-ring:rgba(194,65,12,.2);--theme-canvas:#fffaf5;--theme-heading:#7c2d12;--theme-divider:#fed7aa;--blue:#c2410c;--line:#fed7aa;--bg:#fffaf5}.theme-recruitment .main{background:radial-gradient(circle at 100% 0,#ffedd5 0,transparent 30%),var(--theme-canvas)}body.theme-recruitment .sidebar{background:linear-gradient(180deg,#7c2d12,#9a3412 58%,#431407)}body.theme-recruitment .sidebar :is(a,summary,.sidebar-menu-parent){color:#fff}body.theme-recruitment .sidebar :is(a,summary,.sidebar-menu-parent):hover{background:rgba(251,146,60,.16)}body.theme-recruitment .sidebar :is(a.active,summary.active,.sidebar-menu-parent.active){background:rgba(251,146,60,.26);box-shadow:inset 3px 0 0 #fdba74}body.theme-recruitment .recruitment-page{--recruitment-theme:#c2410c;--recruitment-theme-strong:#9a3412}body.theme-recruitment .recruitment-nav a.active{background:linear-gradient(135deg,#c2410c,#f59e0b)}body.theme-recruitment .recruitment-panel h2,body.theme-recruitment .recruitment-kpi small{color:#c2410c}body.theme-recruitment .button:not(.secondary):not(.danger){border-color:#c2410c;background:#c2410c;color:#fff}body.theme-recruitment .button:not(.secondary):not(.danger):hover{background:#9a3412}
body.theme-commerce{--theme-primary:#0f766e;--theme-primary-hover:#115e59;--theme-primary-light:#f0fdfa;--theme-primary-border:#5eead4;--theme-focus-ring:rgba(15,118,110,.2);--theme-canvas:#f6fffd;--theme-heading:#134e4a;--theme-divider:#ccfbf1;--blue:#0f766e;--line:#ccfbf1;--bg:#f6fffd}.theme-commerce .main{background:radial-gradient(circle at 100% 0,#ccfbf1 0,transparent 30%),var(--theme-canvas)}body.theme-commerce .sidebar{background:linear-gradient(180deg,#134e4a,#0f766e 58%,#042f2e)}body.theme-commerce .sidebar :is(a,summary,.sidebar-menu-parent){color:#fff}body.theme-commerce .sidebar :is(a,summary,.sidebar-menu-parent):hover{background:rgba(45,212,191,.15)}body.theme-commerce .sidebar :is(a.active,summary.active,.sidebar-menu-parent.active){background:rgba(45,212,191,.25);box-shadow:inset 3px 0 0 #5eead4}body.theme-commerce .button:not(.secondary):not(.danger){border-color:#0f766e;background:#0f766e;color:#fff}body.theme-commerce .button:not(.secondary):not(.danger):hover{background:#115e59}
body.theme-franchise{--theme-primary:#7c3aed;--theme-primary-hover:#5b21b6;--theme-primary-light:#f5f3ff;--theme-primary-border:#c4b5fd;--theme-focus-ring:rgba(124,58,237,.2);--theme-canvas:#faf9ff;--theme-heading:#4c1d95;--theme-divider:#ddd6fe;--blue:#7c3aed;--line:#ddd6fe;--bg:#faf9ff}.theme-franchise .main{background:radial-gradient(circle at 100% 0,#ede9fe 0,transparent 30%),var(--theme-canvas)}body.theme-franchise .sidebar{background:linear-gradient(180deg,#2e1065,#5b21b6 58%,#1e0a47)}body.theme-franchise .sidebar :is(a,summary,.sidebar-menu-parent){color:#fff}body.theme-franchise .sidebar :is(a,summary,.sidebar-menu-parent):hover{background:rgba(196,181,253,.15)}body.theme-franchise .sidebar :is(a.active,summary.active,.sidebar-menu-parent.active){background:rgba(196,181,253,.25);box-shadow:inset 3px 0 0 #c4b5fd}body.theme-franchise .button:not(.secondary):not(.danger){border-color:#7c3aed;background:#7c3aed;color:#fff}body.theme-franchise .button:not(.secondary):not(.danger):hover{background:#5b21b6}.sidebar-franchise-switch{border-color:#8b5cf6!important;background:linear-gradient(135deg,#4c1d95,#7c3aed)!important}
.sidebar-dashboard-switch.sidebar-recruitment-switch{border-color:#fdba74!important;background:linear-gradient(135deg,#c2410c,#f59e0b)!important;color:#fff!important;box-shadow:0 8px 18px rgba(154,52,18,.28)}.sidebar-dashboard-switch.sidebar-recruitment-switch:hover,.sidebar-dashboard-switch.sidebar-recruitment-switch.active{background:linear-gradient(135deg,#9a3412,#ea580c)!important}.sidebar-dashboard-switch.sidebar-commerce-switch{border-color:#5eead4!important;background:linear-gradient(135deg,#0f766e,#0891b2)!important;color:#fff!important;box-shadow:0 8px 18px rgba(15,118,110,.28)}.sidebar-dashboard-switch.sidebar-commerce-switch:hover,.sidebar-dashboard-switch.sidebar-commerce-switch.active{background:linear-gradient(135deg,#115e59,#0e7490)!important}
.store-expense-page{display:grid;gap:14px}.store-expense-toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.store-expense-toolbar form{margin:0}.store-expense-toolbar label{display:grid;gap:4px;font-weight:800}.store-expense-toolbar select,.store-expense-toolbar input{min-width:180px}.store-expense-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.store-expense-summary article{padding:14px;border:1px solid #dfd2c8;border-radius:12px;background:#fff}.store-expense-summary span{display:block;color:#78675d;font-size:12px;font-weight:800}.store-expense-summary strong{display:block;margin-top:4px;font-size:24px}.store-expense-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:14px}.store-expense-scan-form{display:grid;gap:10px}.store-expense-category-list{display:grid;gap:6px;margin:0}.store-expense-category-list div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid #eee}.store-expense-category-list dt,.store-expense-category-list dd{margin:0}.store-expense-editor{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr);gap:18px}.store-expense-editor-image{display:flex;align-items:flex-start;justify-content:center;overflow:hidden;min-height:260px;border-radius:10px;background:#f4f1ee}.store-expense-editor-image img{display:block;width:100%;max-height:640px;object-fit:contain}.store-expense-editor .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:900px){.store-expense-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.store-expense-layout,.store-expense-editor{grid-template-columns:1fr}}@media(max-width:560px){.store-expense-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.store-expense-summary strong{font-size:19px}.store-expense-toolbar,.store-expense-toolbar form,.store-expense-toolbar label,.store-expense-toolbar select,.store-expense-toolbar input{width:100%}.store-expense-editor .form-grid{grid-template-columns:1fr}}
.store-expense-recurring>summary{cursor:pointer}.store-expense-recurring-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);gap:18px;margin-top:16px}.store-expense-recurring-grid .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.store-expense-recurring-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #eee}.store-expense-recurring-item div{display:grid}.store-expense-recurring-item span{color:var(--muted);font-size:12px}.store-expense-recurring-item form{margin:0}.franchise-definition-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.franchise-definition-toggle::after{content:'＋';font-size:20px}.franchise-definition-toggle[aria-expanded=true]::after{content:'−'}@media(max-width:900px){.store-expense-recurring-grid,.store-expense-recurring-grid .form-grid{grid-template-columns:1fr}}

/* FaderOS mobile baseline: shared protection for every department. */
@media (max-width: 860px) {
  html, body, .app-shell, .main { width: 100%; max-width: 100%; }
  html, body { overflow-x: clip; }
  .main { min-width: 0; overflow-x: hidden; }
  .main :where(section, article, header, footer, form, fieldset, details) { min-width: 0; max-width: 100%; box-sizing: border-box; }
  .main :where(img, video, canvas, iframe) { max-width: 100%; height: auto; }
  .main svg { max-width: 100%; }

  .topbar { min-width: 0; }
  .topbar > :where(h1, .actions, form, nav) { min-width: 0; max-width: 100%; }
  .topbar h1, .section-head h1, .section-head h2, .page-actions h1, .page-actions h2 { overflow-wrap: anywhere; }
  .page-actions, .section-head, .form-header, .commerce-panel-heading, .event-section-title,
  .attendance-panel-heading, .affiliate-shared-notes-heading { min-width: 0; flex-wrap: wrap; }

  .main :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
  .main textarea { resize: vertical; }
  .main :where(label, legend, p, dd, dt, a, strong, small, span) { overflow-wrap: anywhere; }

  .table-wrap, .settings-table-wrap, .recruitment-table-wrap, .attendance-daily-table-wrap,
  .attendance-payroll-table-wrap, .electronic-daily-table-wrap, .electronic-ranking-table-wrap,
  .commerce-table-wrap, .affiliate-table-wrap, .fc-table-wrap, .event-table-wrap {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
  }
  .main table:not(.table):not(.settings-table) { max-width: none; }

  dialog, [role="dialog"] {
    box-sizing: border-box;
    width: min(680px, calc(100vw - 16px));
    max-width: calc(100vw - 16px);
    max-height: calc(100dvh - 16px);
    margin: auto;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  dialog::backdrop { background: rgba(15, 23, 42, .58); }

  .actions, .page-actions, .commerce-actions, .recruitment-actions, .taco-actions,
  .electronic-sales-edit-actions, .store-shopping-confirm-actions {
    max-width: 100%;
    flex-wrap: wrap;
  }
  .segmented-radio, .stella-view-tabs, .growth-tabs, .attendance-monthly-staff-tabs,
  .recruitment-tabs, .commerce-tabs, .fc-tabs, .franchise-tabs {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
  }
  .chart-series, .fc-chart, .electronic-report-chart, .affiliate-chart { min-width: 0; max-width: 100%; overflow: hidden; }
}

@media (max-width: 600px) {
  .main { padding: 10px; }
  .topbar { margin-bottom: 10px; }
  .settings-shell, .page-shell, .event-page-shell, .recruitment-page, .commerce-page,
  .affiliate-page, .attendance-page { width: 100%; max-width: 100%; gap: 10px; }
  .panel, .settings-panel, .event-panel, .recruitment-panel, .commerce-panel,
  .affiliate-account-panel, .attendance-panel { max-width: 100%; padding: 12px; border-radius: 8px; }

  .grid-form, .form-grid, .event-form-grid, .event-inline-form, .recruitment-form,
  .commerce-form, .payroll-editor-columns, .store-expense-recurring-grid,
  .store-expense-recurring-grid .form-grid, .super-department-kpi-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .grid-form > *, .form-grid > *, .event-form-grid > *, .event-inline-form > *,
  .recruitment-form > *, .commerce-form > * { grid-column: 1 !important; }

  .page-actions, .section-head, .form-header, .commerce-panel-heading, .event-section-title,
  .attendance-panel-heading { align-items: stretch; flex-direction: column; gap: 8px; }
  .page-actions > :where(.button, form), .page-actions > form .button,
  .section-head > :where(.button, form), .section-head > form .button,
  .form-header > :where(.button, form), .form-header > form .button { width: 100%; }

  dialog, [role="dialog"] { width: calc(100vw - 8px); max-width: calc(100vw - 8px); max-height: calc(100dvh - 8px); padding: 12px; }
  dialog form { min-width: 0; max-width: 100%; }
  dialog :where(.actions, .commerce-actions, .recruitment-actions, .taco-actions,
  .electronic-sales-edit-actions, .store-shopping-confirm-actions) { display: grid; grid-template-columns: minmax(0, 1fr); width: 100%; gap: 8px; }
  dialog :where(.button, button[type="submit"]):not(.icon-button):not(.store-shopping-dialog-close) { width: 100%; min-width: 0; }

  .store-expense-recurring-item { grid-template-columns: minmax(0, 1fr); align-items: stretch; }
  .store-expense-recurring-item :where(.button, form, form .button) { width: 100%; }
  .payslip-sheet { padding: 16px; }
  .payslip-net { align-items: flex-start; flex-direction: column; gap: 6px; }
}

.attendance-monthly-table.is-single-user th:nth-child(6){width:auto;max-width:none}
.attendance-extension-reason-label{display:block;max-width:76px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.attendance-payslip-picker{display:flex;align-items:end;justify-content:flex-end;gap:8px;margin-top:12px}.attendance-payslip-picker label{display:grid;gap:4px;font-size:.76rem;font-weight:800}.attendance-payslip-picker select{min-width:210px;min-height:38px}@media(max-width:560px){.attendance-payslip-picker{display:grid;grid-template-columns:1fr}.attendance-payslip-picker select,.attendance-payslip-picker .button{width:100%}}
.attendance-document-actions{display:flex;align-items:center;gap:8px}.attendance-document-actions .button,.attendance-monthly-payroll-actions>form .attendance-confirm-statement,.attendance-statement-confirmed{display:inline-flex;align-items:center;justify-content:center;width:112px;min-width:112px;height:42px;min-height:42px;padding:7px 10px;line-height:1.2;white-space:nowrap}.attendance-document-actions .button{width:144px;min-width:144px;white-space:nowrap;overflow:visible;text-overflow:clip}.attendance-monthly-payroll-actions>form{display:flex;margin:0}.attendance-payment-form select.is-unpaid{border-color:#dc2626;background:#fff1f2;color:#b91c1c;font-weight:900}.attendance-payment-form select.is-paid{border-color:#16a34a;background:#f0fdf4;color:#166534;font-weight:900}body.theme-store .button.is-unset.attendance-confirm-statement{border:1px solid #16834b;background:#fff;color:#166534;box-shadow:0 1px 1px rgba(0,0,0,.08)}body.theme-store .button.is-unset.attendance-confirm-statement:hover{border-color:#16834b;background:#f0fdf4;color:#166534}.attendance-statement-confirmed{border:1px solid #16834b;border-radius:8px;background:#16834b;color:#fff;font-size:.78rem;font-weight:900}@media(max-width:760px){.attendance-document-actions{display:grid;grid-template-columns:1fr;width:100%}.attendance-document-actions .button{width:100%;min-width:0}}@media(max-width:460px){.attendance-document-actions{grid-template-columns:1fr}}
.attendance-bonus-allocation{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:16px;padding:14px 16px;border:1px solid #d8c4b6;border-radius:10px;background:#fff9f3}.attendance-bonus-allocation>div{display:grid;gap:3px}.attendance-bonus-allocation small{color:#806f64}.attendance-bonus-allocation form{display:flex;align-items:end;gap:8px}.attendance-bonus-allocation label{display:grid;gap:4px;font-size:.75rem;font-weight:800}.attendance-bonus-allocation label>span{display:flex;align-items:center;overflow:hidden;border:1px solid #d6c9c0;border-radius:8px;background:#fff}.attendance-bonus-allocation label b{padding-left:10px}.attendance-bonus-allocation input{width:150px;border:0!important}@media(max-width:760px){.attendance-bonus-allocation,.attendance-bonus-allocation form{align-items:stretch;flex-direction:column}.attendance-bonus-allocation input{width:100%}}
.attendance-payment-tags{display:flex;align-items:center;gap:5px;padding:4px;border-radius:999px;background:#f3f4f6}.attendance-payment-tags>span{padding:0 6px;color:#6b7280;font-size:.7rem;font-weight:800}.attendance-payment-tags form{display:flex;margin:0}.attendance-payment-tag{min-height:32px;padding:5px 10px;border:1px solid transparent;border-radius:999px;background:transparent;color:#6b7280;font:inherit;font-size:.72rem;font-weight:900;cursor:pointer}.attendance-payment-tag.is-unpaid.is-active{border-color:#ef4444;background:#fee2e2;color:#b91c1c}.attendance-payment-tag.is-paid.is-active{border-color:#22c55e;background:#dcfce7;color:#166534}.attendance-payment-tag:not(.is-active):hover{background:#fff;color:#374151}.attendance-payment-tag:disabled{cursor:default;opacity:1}@media(max-width:760px){.attendance-payment-tags{width:max-content;max-width:100%}}
.attendance-report-page{max-width:900px;margin:0 auto}.attendance-report-sheet{box-sizing:border-box;width:210mm;min-height:297mm;max-width:100%;margin:0 auto;padding:12mm;border:1px solid #c9d1d8;background:#fff;color:#253746;box-shadow:0 8px 30px rgba(35,55,70,.12)}.attendance-report-sheet>header{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:14px;border-bottom:3px solid #563824}.attendance-report-sheet>header span{font-size:.75rem;letter-spacing:.18em;color:#8b6a57}.attendance-report-sheet h1{margin:4px 0 0}.attendance-report-person,.attendance-report-totals{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:18px 0}.attendance-report-person>div,.attendance-report-totals>div{display:grid;gap:4px}.attendance-report-person small,.attendance-report-totals small{color:#72808b}.attendance-report-totals{grid-template-columns:repeat(3,1fr)}.attendance-report-totals>div{padding:12px;border-radius:8px;background:#f5f1ee}.attendance-report-totals strong{font-size:1.15rem}.attendance-report-sheet table{width:100%;border-collapse:collapse;font-size:.82rem}.attendance-report-sheet th,.attendance-report-sheet td{padding:7px 5px;border-bottom:1px solid #dfe5e9;text-align:center;white-space:nowrap}.attendance-report-sheet th{background:#563824;color:#fff}.attendance-report-sheet tr.is-no-work{color:#8a949c;background:#f7f9fa}@media(max-width:700px){.payslip-sheet,.attendance-report-sheet{width:100%;min-height:0;padding:18px;box-shadow:none}.attendance-report-sheet{overflow-x:auto}.attendance-report-person,.attendance-report-totals{grid-template-columns:1fr}.attendance-report-page .payslip-actions{display:grid}.attendance-report-page .payslip-actions .button{width:100%}}@media print{.attendance-report-page{max-width:none}.attendance-report-sheet{width:auto;min-height:auto;border:0;padding:0;box-shadow:none}.attendance-report-person,.attendance-report-totals{margin:4mm 0;gap:2mm}.attendance-report-totals>div{padding:2mm}.attendance-report-sheet table{font-size:7pt}.attendance-report-sheet th,.attendance-report-sheet td{padding:2.1px 3px}.attendance-report-sheet tr{break-inside:avoid;page-break-inside:avoid}@page{size:A4 portrait;margin:9mm}}
.attendance-self-download-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.attendance-self-print-heading{display:none}.attendance-self-totals{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.attendance-self-totals span{display:grid;gap:2px;min-width:105px;padding:7px 10px;border-radius:8px;background:#f7f2ee;color:#77675d;font-size:.68rem}.attendance-self-totals strong{color:#553827;font-size:.86rem}@media(max-width:760px){.attendance-self-download-actions{display:grid;width:100%}.attendance-self-download-actions .button{width:100%}.attendance-self-record-panel .attendance-panel-heading{flex-direction:column}.attendance-self-totals{display:grid;grid-template-columns:repeat(3,1fr);width:100%}.attendance-self-totals span{min-width:0}}@media(max-width:460px){.attendance-self-totals{grid-template-columns:1fr}}
.attendance-self-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-radius:14px;background:linear-gradient(135deg,#563824,#825b40);color:#fff;box-shadow:0 8px 22px rgba(73,45,27,.16)}.attendance-self-hero div{display:grid;gap:3px}.attendance-self-hero span{font-size:.72rem;font-weight:800;letter-spacing:.08em;opacity:.78}.attendance-self-hero h1{margin:0;color:#fff;font-size:1.5rem}.attendance-self-hero p{margin:0;font-size:.82rem;opacity:.82}.attendance-self-hero>strong{padding:6px 10px;border:1px solid rgba(255,255,255,.42);border-radius:999px;background:rgba(255,255,255,.12);font-size:.72rem;white-space:nowrap}.attendance-self-page>.attendance-toolbar{display:grid;grid-template-columns:1fr auto;align-items:end;gap:12px}.attendance-self-page .attendance-month-navigation{margin:0;justify-content:flex-start}.attendance-self-page .attendance-month-navigation label{display:grid;gap:3px}.attendance-self-page .attendance-month-navigation label>span{font-size:.68rem;font-weight:800;color:#76675e}.attendance-self-request-panel{content-visibility:auto}@media(max-width:700px){.attendance-self-page{gap:12px}.attendance-self-hero{padding:15px 16px;border-radius:12px}.attendance-self-hero h1{font-size:1.28rem}.attendance-self-page>.attendance-toolbar{display:grid;grid-template-columns:1fr;gap:10px}.attendance-self-page .attendance-month-navigation{display:grid;grid-template-columns:70px minmax(0,1fr) 70px;align-items:end;gap:7px;width:100%;margin:0}.attendance-self-page .attendance-month-navigation form,.attendance-self-page .attendance-month-navigation label,.attendance-self-page .attendance-month-navigation input{width:100%;min-width:0}.attendance-self-page .attendance-month-navigation .button{width:100%;min-width:0;min-height:44px;padding-inline:6px}.attendance-self-download-actions{grid-template-columns:1fr!important;gap:7px}.attendance-self-download-actions .button{min-height:46px;white-space:normal;text-align:center}.attendance-self-page .attendance-panel{padding:14px}.attendance-self-totals span{padding:10px}.attendance-self-totals strong{font-size:1rem}.attendance-self-record-panel .attendance-daily-table-wrap{overflow:visible}.attendance-self-record-panel .attendance-daily-table,.attendance-self-record-panel .attendance-daily-table tbody,.attendance-self-record-panel .attendance-daily-table tr,.attendance-self-record-panel .attendance-daily-table td{display:block;width:100%}.attendance-self-record-panel .attendance-daily-table thead{display:none}.attendance-self-record-panel .attendance-daily-table tbody{display:grid;gap:10px}.attendance-self-record-panel .attendance-daily-table tr{padding:11px 13px;border:1px solid #e2d5cc;border-radius:11px;background:#fff;box-shadow:0 3px 10px rgba(73,45,27,.05)}.attendance-self-record-panel .attendance-daily-table td{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0;border:0;border-bottom:1px solid #eee7e2;text-align:right;white-space:normal}.attendance-self-record-panel .attendance-daily-table td:last-child{border-bottom:0;padding-top:10px}.attendance-self-record-panel .attendance-daily-table td::before{flex:0 0 82px;color:#806f64;font-size:.72rem;font-weight:800;text-align:left}.attendance-self-record-panel .attendance-daily-table td:nth-child(1)::before{content:'勤務日'}.attendance-self-record-panel .attendance-daily-table td:nth-child(2)::before{content:'出勤'}.attendance-self-record-panel .attendance-daily-table td:nth-child(3)::before{content:'退勤'}.attendance-self-record-panel .attendance-daily-table td:nth-child(4)::before{content:'実打刻'}.attendance-self-record-panel .attendance-daily-table td:nth-child(5)::before{content:'休憩'}.attendance-self-record-panel .attendance-daily-table td:nth-child(6)::before{content:'状態'}.attendance-self-record-panel .attendance-daily-table td:nth-child(7)::before{content:'修正'}.attendance-self-record-panel .attendance-daily-table td:last-child .button{width:min(180px,60%);min-height:42px}.attendance-correction-list>article{padding:13px}.attendance-correction-list article>p{padding:8px;border-radius:7px;background:#faf7f5}.attendance-daily-edit-dialog{box-sizing:border-box;width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:14px}.attendance-daily-edit-times{grid-template-columns:1fr!important}.attendance-daily-edit-dialog input,.attendance-daily-edit-dialog textarea{font-size:16px}}
@media print{.attendance-self-page>.attendance-panel:not(.attendance-self-record-panel){display:none!important}.attendance-self-page>.attendance-toolbar,.attendance-self-page>.notice{display:none!important}.attendance-self-record-panel{border:0!important;box-shadow:none!important;padding:0!important}.attendance-self-print-heading{display:block;margin-bottom:8mm;padding-bottom:4mm;border-bottom:2px solid #563824}.attendance-self-print-heading span{font-size:9pt;letter-spacing:.16em}.attendance-self-print-heading h1{margin:2mm 0;font-size:20pt}.attendance-self-print-heading p{margin:0}.attendance-self-record-panel .attendance-panel-heading p,.attendance-self-record-panel button,.attendance-self-record-panel dialog{display:none!important}.attendance-self-record-panel .attendance-daily-table{font-size:9pt}.attendance-self-record-panel .attendance-daily-table th,.attendance-self-record-panel .attendance-daily-table td{padding:6px 5px}.attendance-self-record-panel .attendance-daily-table th:last-child,.attendance-self-record-panel .attendance-daily-table td:last-child{display:none!important}}
