.position-heading { display:flex; justify-content:space-between; gap:24px; align-items:center; margin-bottom:18px; padding:24px; }
.position-heading h1 { margin:0; font-size:24px; }
.position-heading p { margin:8px 0 0; }
.position-muted { color:var(--muted); font-size:13px; line-height:1.7; overflow-wrap:anywhere; }
.position-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:10px; }
.position-account-row { display:flex; align-items:center; justify-content:flex-end; gap:12px; width:100%; min-width:0; }
.position-account-row #account-email { min-width:0; max-width:300px; text-align:right; }
.position-account-row #logout { flex:none; white-space:nowrap; }
.position-account-actions { display:flex; align-items:center; gap:10px; }
.position-login { max-width:560px; margin:28px auto; padding:28px; }
.position-login h2 { margin:8px 0; font-size:23px; }
.position-field { display:flex; flex-direction:column; gap:8px; font-size:13px; color:var(--muted); margin:0 0 18px; min-width:0; }
.position-field input,.position-field select { box-sizing:border-box; width:100%; min-width:0; min-height:44px; padding:10px 12px; border:1px solid var(--line); border-radius:10px; background:var(--card); color:var(--text); font:inherit; font-size:16px; }
.position-field input:focus,.position-field select:focus { outline:2px solid #93c5fd; outline-offset:2px; }
.position-code-row { display:flex; gap:10px; }
.position-code-row input { flex:1; width:0; }
.position-code-row button { white-space:nowrap; }
.position-primary,.position-secondary,.position-danger { min-height:44px; border:0; border-radius:10px; padding:10px 18px; font:inherit; font-weight:600; cursor:pointer; }
.position-primary { color:white; background:#2563eb; }
.position-secondary { color:#334155; background:#f1f5f9; }
.position-danger { background:#fef2f2; color:#b91c1c; }
.position-primary:disabled,.position-secondary:disabled,.position-danger:disabled { opacity:.55; cursor:wait; }
.position-link { color:#2563eb; background:transparent; border:0; min-height:44px; padding:8px; cursor:pointer; font:inherit; }
.position-login .position-primary { width:100%; }
.position-login-note { margin-top:20px; }
.position-error { padding:12px 14px; margin:12px 0; color:#b91c1c; background:#fef2f2; border-radius:10px; font-size:14px; overflow-wrap:anywhere; }
.position-group { padding:22px; border-top:3px solid var(--product-color); margin:18px 0; }
.position-group-title { display:flex; align-items:baseline; flex-wrap:wrap; gap:10px; margin-bottom:18px; }
.position-group-title h2 { color:var(--product-color); font-size:20px; margin:0; }
.position-group-title small { margin-left:auto; color:var(--muted); }
.position-record { padding:18px; background:#f8fafc; border:1px solid #e2e8f0; border-radius:12px; margin:12px 0; }
.position-record.closed { background:#fafafa; }
.position-record.expired { border-color:#fecaca; background:#fffafa; }
.position-record-head { display:flex; justify-content:space-between; gap:12px; align-items:center; }
.position-record-head button { text-align:left; padding:4px 0; font-size:17px; font-weight:650; color:var(--text); }
.position-status { font-size:12px; color:var(--muted); white-space:nowrap; }
.position-expired { color:#b91c1c; font-weight:600; }
.position-stale { color:#b45309; }
.position-toolbar.hidden { display:none; }
.position-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin:14px 0; }
.position-metric { min-width:0; display:flex; flex-direction:column; gap:6px; font-size:14px; }
.position-metric span { color:var(--muted); font-size:12px; }
.position-metric strong { font-size:14px; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.position-returns { border-top:1px solid var(--line); padding-top:12px; }
.position-returns .position-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }
.position-return-head { display:flex; flex-wrap:wrap; gap:8px; justify-content:space-between; color:var(--muted); font-size:12px; }
.position-positive { color:#dc2626; }
.position-negative { color:#16a34a; }
.position-flat { color:#64748b; }
.position-reminder-summary { color:var(--muted); font-size:13px; line-height:1.7; margin:10px 0; }
.position-record-actions { display:flex; flex-wrap:wrap; gap:8px; }
.position-add { width:100%; margin:10px 0; color:var(--product-color); }
.position-history > summary { cursor:pointer; padding:12px 0; color:var(--muted); font-size:14px; }
.position-dialog { width:min(660px,calc(100vw - 24px)); max-height:calc(100dvh - 32px - env(safe-area-inset-bottom)); padding:0; }
.position-dialog[open] { display:flex; flex-direction:column; }
.position-dialog .formula-dialog-head,.position-dialog .formula-dialog-footer { flex-shrink:0; }
.position-dialog .formula-dialog-body { overflow-y:auto; overscroll-behavior:contain; padding:22px; }
.position-dialog .formula-dialog-body form { max-height:none; flex:none; }
.position-dialog .formula-dialog-head button { min-width:44px; min-height:44px; }
.position-dialog .formula-dialog-footer { padding:16px 22px; display:flex; flex-wrap:wrap; gap:10px; background:white; }
.position-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 18px; }
.position-form-grid .position-wide { grid-column:1 / -1; }
.position-reminder-box { padding:16px; background:#f8fafc; border-radius:12px; margin:12px 0; }
.position-checkbox { display:flex; align-items:center; gap:10px; min-height:44px; font-size:14px; cursor:pointer; color:var(--text); }
.position-checkbox input { width:20px; height:20px; accent-color:#2563eb; flex-shrink:0; }
.position-condition { padding:10px 0; border-top:1px solid var(--line); }
.position-condition:first-child { border-top:0; }
.position-condition .position-field { margin:8px 0; }
.position-detail { display:grid; grid-template-columns:120px minmax(0,1fr); gap:12px 18px; font-size:14px; line-height:1.6; }
.position-detail dt { color:var(--muted); }
.position-detail dd { margin:0; overflow-wrap:anywhere; }
.position-formula { border-radius:10px; padding:14px; background:#f1f5f9; font-size:13px; line-height:1.8; overflow-wrap:anywhere; margin:12px 0; }
.position-formula strong { display:block; color:var(--text); margin-bottom:6px; }
.position-dialog details > summary { padding:14px 0; cursor:pointer; color:#2563eb; }
.position-stat-product { border-top:1px solid var(--line); padding:16px 0; }
@media(max-width:640px) {
  .position-heading { flex-direction:column; align-items:stretch; padding:20px 16px; gap:14px; }
  .position-toolbar { justify-content:flex-start; }
  .position-account-row { justify-content:space-between; }
  .position-toolbar #account-email { text-align:left; }
  .position-login { padding:22px 18px; margin:18px 0; }
  .position-group { padding:18px 12px; }
  .position-record { padding:14px 12px; }
  .position-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  .position-returns .position-metric strong { font-size:13px; }
  .position-return-head time { flex-basis:100%; }
  .position-form-grid { grid-template-columns:minmax(0,1fr); }
  .position-form-grid .position-wide { grid-column:auto; }
  .position-dialog .formula-dialog-body { padding:18px 16px; }
  .position-dialog .formula-dialog-footer { padding:12px 16px max(12px,env(safe-area-inset-bottom)); }
  .position-detail { grid-template-columns:94px minmax(0,1fr); gap:10px; font-size:13px; }
}
