:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f3ed;--surface:#fffdf8;--surface-sunken:#f8f4eb;--surface-field:#fffefa;--border:#ddd6ca;--border-subtle:#ebe3d6;--border-field:#cfc7ba;--border-hairline:#eee7db;--text:#29251f;--text-heading:#504a42;--text-secondary:#5f5a51;--text-tertiary:#817a70;--accent:#2f5d50;--accent-strong:#24483e;--accent-tint:#eef3ef;--accent-tint-strong:#dfe8e3;--accent-border:#9db1a9;--accent-border-soft:#c4d0ca;--positive:#2f6c52;--danger:#b33a2e;--danger-tint:#f8eae6;--gold:#8a6f3d;--gold-strong:#70572f;--gold-tint:#fff2c8;--gold-border:#ead58b;--material-thin:#fffdf8c7;--material-blur:blur(20px) saturate(180%);--scrim:#29251f85;--scrim-strong:#181511ad;--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-pill:999px;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--shadow-1:0 1px 2px #29251f0d;--shadow-2:0 4px 16px #29251f1a;--shadow-material:0 -8px 32px #29251f2e;--ease-spring:cubic-bezier(.32, .72, 0, 1);--duration-press:.1s;--duration-fast:.18s;--duration-base:.32s;--motion-press:transform var(--duration-press) ease-out;--motion-fast:var(--duration-fast) var(--ease-spring);--motion-base:var(--duration-base) var(--ease-spring);--press-scale:.97}*{box-sizing:border-box;margin:0;padding:0}html{font:100%/1.5 system-ui,-apple-system,Segoe UI,Noto Sans JP,Yu Gothic UI,Hiragino Sans,Meiryo,sans-serif}body{background:var(--bg);color:var(--text);font-feature-settings:"palt" 1, "tnum" 1;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;min-height:100dvh}#root{min-height:100dvh}h1{letter-spacing:-.02em;font-size:1.5rem;font-weight:700;line-height:1.25}h2{letter-spacing:-.01em;font-size:1.125rem;font-weight:700;line-height:1.35}input,select,textarea,button{font-family:inherit}:where(a,button,input,select,textarea):focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-xs)}:where(.btn-primary,.btn-secondary,.btn-back){touch-action:manipulation;transition:background var(--motion-fast), border-color var(--motion-fast), color var(--motion-fast), var(--motion-press)}:where(.btn-primary,.btn-secondary):active:not(:disabled){transform:scale(var(--press-scale))}.btn-primary{background:var(--accent);color:#fff;border:1px solid var(--accent);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);cursor:pointer;font-size:1rem;font-weight:600;line-height:1.4}@media (hover:hover){.btn-primary:hover:not(:disabled){background:var(--accent-strong)}}.btn-primary:disabled{cursor:not-allowed;background:#9a958d;border-color:#9a958d}.btn-secondary{background:var(--surface);color:var(--accent);border:1px solid var(--accent-border);padding:.625rem var(--space-5);border-radius:var(--radius-md);cursor:pointer;font-size:.875rem;font-weight:600;line-height:1.4}@media (hover:hover){.btn-secondary:hover{background:var(--accent-tint);border-color:var(--accent)}}.btn-back{color:var(--text-secondary);cursor:pointer;padding:var(--space-1) 0;background:0 0;border:none;align-self:flex-start;font-size:.875rem}@media (hover:hover){.btn-back:hover{color:var(--text);text-decoration:underline}}.error-text{color:var(--danger);margin-top:var(--space-1);font-size:.875rem}.loading,.not-found{justify-content:center;align-items:center;gap:var(--space-4);min-height:100dvh;color:var(--text-secondary);flex-direction:column;display:flex}.site-brand{transition:opacity var(--motion-fast), var(--motion-press);align-items:center;line-height:1;text-decoration:none;display:inline-flex}.site-brand-logo{width:min(136px,38vw);height:auto;display:block}@media (hover:hover){.site-brand:hover{opacity:.82}}.site-brand:active{transform:scale(var(--press-scale))}.app-footer{padding:var(--space-3) 0 0;justify-content:center;display:flex}.app-footer .site-brand-logo{opacity:.88;width:min(124px,36vw)}@media (prefers-reduced-motion:reduce){:root{--press-scale:1;--duration-fast:.12s;--duration-base:.16s}*,:before,:after{scroll-behavior:auto!important;transition-duration:.12s!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-reduced-transparency:reduce){:root{--material-thin:#fffdf8;--material-blur:none;--scrim:#29251fdb;--scrim-strong:#181511eb}}@media (prefers-contrast:more){:root{--text-secondary:#3d382f;--text-tertiary:#4a443b;--border:#8d857a;--border-subtle:#8d857a;--border-field:#6d665c;--border-hairline:#b6ada0;--material-thin:#fffdf8;--material-blur:none}}.home-container{min-height:100dvh;padding:var(--space-6) var(--space-5) var(--space-8);align-items:center;gap:var(--space-5);flex-direction:column;display:flex}.home-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-8) var(--space-6);text-align:left;box-shadow:var(--shadow-1);width:100%;max-width:26.25rem}.home-card h1{letter-spacing:-.025em;margin-bottom:var(--space-3);color:var(--text);font-size:1.875rem;line-height:1.15}.home-card p{color:var(--text-secondary);margin-bottom:var(--space-6);line-height:1.6}.home-card .btn-primary{width:100%;padding:.875rem;font-size:1.125rem}.sessions-list-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-1);width:100%;max-width:26.25rem}.sessions-list-card h2{letter-spacing:0;color:var(--text-heading);margin-bottom:var(--space-3);font-size:1rem}.sessions-list{gap:var(--space-2);flex-direction:column;list-style:none;display:flex}.session-item{padding:var(--space-3) var(--space-4);background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-md);touch-action:manipulation;transition:background var(--motion-fast), border-color var(--motion-fast), var(--motion-press);justify-content:space-between;align-items:center;text-decoration:none;display:flex}@media (hover:hover){.session-item:hover{background:var(--accent-tint);border-color:var(--accent-border-soft)}}.session-item:active{transform:scale(var(--press-scale))}.session-members{color:var(--text);font-size:.9375rem;font-weight:600}.session-expire{letter-spacing:.01em;color:var(--text-tertiary);white-space:nowrap;margin-left:var(--space-2);font-size:.75rem}.new-session-container{min-height:100dvh;padding:var(--space-8) var(--space-5);flex-direction:column;justify-content:center;align-items:center;display:flex}.new-session-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-8);box-shadow:var(--shadow-1);gap:var(--space-4);flex-direction:column;width:100%;max-width:30rem;display:flex}.new-session-card h1{color:var(--text);font-size:1.5rem}.new-session-card>p{color:var(--text-secondary);font-size:.875rem}.members-list{flex-direction:column;gap:.625rem;display:flex}.member-row{gap:var(--space-2);align-items:center;display:flex}.member-row input{padding:.625rem var(--space-3);border:1px solid var(--border-field);border-radius:var(--radius-md);transition:border-color var(--motion-fast), box-shadow var(--motion-fast);background:var(--surface-field);color:var(--text);outline:none;flex:1;font-size:.9375rem}.member-row input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.btn-remove{color:var(--text-tertiary);cursor:pointer;padding:var(--space-2);border-radius:var(--radius-sm);touch-action:manipulation;transition:color var(--motion-fast), background var(--motion-fast), var(--motion-press);background:0 0;border:none;font-size:1rem}@media (hover:hover){.btn-remove:hover{color:var(--danger);background:var(--danger-tint)}}.btn-remove:active{transform:scale(var(--press-scale))}.new-session-card .btn-primary{width:100%;margin-top:var(--space-1);padding:.875rem}.session-container{max-width:40rem;padding:var(--space-6) var(--space-5) 3.75rem;gap:var(--space-5);flex-direction:column;margin:0 auto;display:flex}.session-header{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.session-header h1{letter-spacing:-.015em;color:var(--text);order:3;width:100%;font-size:1.25rem}.session-header .btn-back{align-self:center}.btn-share{background:var(--accent);color:#fff;border:1px solid var(--accent);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;touch-action:manipulation;transition:background var(--motion-fast), var(--motion-press);font-size:.8125rem;font-weight:600}@media (hover:hover){.btn-share:hover{background:var(--accent-strong)}}.btn-share:active{transform:scale(var(--press-scale))}.url-display{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:.625rem var(--space-4);box-shadow:var(--shadow-1);align-items:center;gap:var(--space-2);display:flex}.url-text{color:var(--text-secondary);word-break:break-all;font-size:.8125rem}.members-summary{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);box-shadow:var(--shadow-1)}.members-summary h2{letter-spacing:0;color:var(--text-heading);margin-bottom:var(--space-2);font-size:1rem;font-weight:600}.session-meta{gap:var(--space-4);letter-spacing:.01em;color:var(--text-tertiary);flex-wrap:wrap;margin-bottom:.625rem;font-size:.75rem;display:flex}.member-chips{gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.btn-remove-member{color:var(--text-tertiary);cursor:pointer;padding:0 var(--space-1);touch-action:manipulation;transition:color var(--motion-fast), var(--motion-press);background:0 0;border:none;font-size:.8125rem;line-height:1}@media (hover:hover){.btn-remove-member:hover{color:var(--danger)}}.btn-remove-member:active{transform:scale(.9)}.add-member-row{gap:var(--space-2);margin-top:var(--space-1);display:flex}.add-member-input{padding:var(--space-2) var(--space-3);border:1px solid var(--border-field);border-radius:var(--radius-md);background:var(--surface-field);color:var(--text);transition:border-color var(--motion-fast), box-shadow var(--motion-fast);outline:none;flex:1;font-size:.875rem}.add-member-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.btn-add-member{background:var(--accent);color:#fff;border:1px solid var(--accent);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;touch-action:manipulation;transition:background var(--motion-fast), var(--motion-press);font-size:.875rem;font-weight:600}@media (hover:hover){.btn-add-member:hover:not(:disabled){background:var(--accent-strong)}}.btn-add-member:active:not(:disabled){transform:scale(var(--press-scale))}.btn-add-member:disabled{opacity:.6;cursor:default}.chip{align-items:center;gap:var(--space-1);background:var(--accent-tint);color:var(--accent);padding:var(--space-1) var(--space-3);border:1px solid var(--accent-border-soft);border-radius:var(--radius-pill);font-size:.875rem;font-weight:500;display:inline-flex}.section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-1);gap:var(--space-3);flex-direction:column;display:flex}.section-header{justify-content:space-between;align-items:center;display:flex}.btn-list-edit,.btn-list-edit-done{padding:.3125rem var(--space-3);border-radius:var(--radius-md);cursor:pointer;touch-action:manipulation;transition:background var(--motion-fast), border-color var(--motion-fast), var(--motion-press);font-size:.8125rem;font-weight:600}.btn-list-edit:active,.btn-list-edit-done:active{transform:scale(var(--press-scale))}.btn-list-edit{border:1px solid var(--accent-border);color:var(--accent);background:0 0}@media (hover:hover){.btn-list-edit:hover{background:var(--accent-tint);border-color:var(--accent)}}.btn-list-edit-done{background:var(--accent);border:1px solid var(--accent);color:#fff}@media (hover:hover){.btn-list-edit-done:hover{background:var(--accent-strong)}}.section h2{color:var(--text);font-size:1.125rem}.payment-form{background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-4);flex-direction:column;gap:.625rem;display:flex}.payment-form select,.payment-form input{width:100%;padding:.625rem var(--space-3);border:1px solid var(--border-field);border-radius:var(--radius-md);background:var(--surface-field);color:var(--text);transition:border-color var(--motion-fast), box-shadow var(--motion-fast);outline:none;font-size:.9375rem}.payment-form select:focus,.payment-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.payment-form .btn-primary{padding:.625rem}.empty-text{color:var(--text-tertiary);text-align:center;padding:var(--space-3) 0;font-size:.875rem}.payments-table,.summary-table{border-collapse:collapse;width:100%;font-size:.875rem}.payments-table th,.summary-table th{text-align:left;padding:var(--space-2) .625rem;background:var(--surface-sunken);color:var(--text-heading);letter-spacing:.01em;border-bottom:1px solid var(--border);font-weight:600}.payments-table td,.summary-table td{border-bottom:1px solid var(--border-hairline);vertical-align:middle;padding:.625rem}.payments-table tr:last-child td,.summary-table tr:last-child td{border-bottom:none}td.amount,td.positive,td.negative{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}td.positive{color:var(--positive)}td.negative{color:var(--danger)}.row-actions{gap:var(--space-1);white-space:nowrap;display:flex}.btn-edit,.btn-delete{border:1px solid var(--border-field);padding:var(--space-1) .625rem;border-radius:var(--radius-sm);cursor:pointer;touch-action:manipulation;transition:background var(--motion-fast), border-color var(--motion-fast), color var(--motion-fast), var(--motion-press);background:0 0;font-size:.75rem}.btn-edit:active,.btn-delete:active{transform:scale(var(--press-scale))}.btn-edit{color:var(--accent)}@media (hover:hover){.btn-edit:hover{background:var(--accent-tint);border-color:var(--accent)}}.btn-delete{color:var(--text-tertiary)}@media (hover:hover){.btn-delete:hover{color:var(--danger);border-color:var(--danger);background:var(--danger-tint)}}.edit-select,.edit-input{width:100%;padding:var(--space-1) var(--space-2);border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--surface-field);color:var(--text);outline:none;font-size:.8125rem}.edit-amount{width:5rem}.edit-actions{gap:var(--space-1);white-space:nowrap;flex-direction:column;align-items:flex-end;display:flex}.btn-save{background:var(--accent);color:#fff;border:1px solid var(--accent);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;touch-action:manipulation;transition:background var(--motion-fast), var(--motion-press);font-size:.75rem;font-weight:600}@media (hover:hover){.btn-save:hover:not(:disabled){background:var(--accent-strong)}}.btn-save:active:not(:disabled){transform:scale(var(--press-scale))}.btn-save:disabled{opacity:.6;cursor:default}.btn-cancel-edit{border:1px solid var(--border-field);color:var(--text-tertiary);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);cursor:pointer;touch-action:manipulation;transition:color var(--motion-fast), border-color var(--motion-fast), var(--motion-press);background:0 0;font-size:.75rem}@media (hover:hover){.btn-cancel-edit:hover{color:var(--danger);border-color:var(--danger)}}.btn-cancel-edit:active{transform:scale(var(--press-scale))}.total-label{color:var(--text-secondary);font-size:.9375rem}.total-label strong{font-variant-numeric:tabular-nums}.settlements-list{flex-direction:column;gap:.625rem;list-style:none;display:flex}.settlement-item{background:var(--surface-sunken);border:1px solid var(--border-subtle);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:.625rem;display:flex}.debtor{color:var(--danger);font-weight:600}.arrow{color:var(--text-tertiary)}.creditor{color:var(--positive);font-weight:600}.settlement-amount{font-variant-numeric:tabular-nums;color:var(--text);margin-left:auto;font-size:1rem;font-weight:700}.btn-paypay{color:#fff;padding:.3125rem var(--space-3);border-radius:var(--radius-sm);white-space:nowrap;touch-action:manipulation;transition:background var(--motion-fast), var(--motion-press);background:#eb0000;font-size:.75rem;font-weight:700;text-decoration:none;display:inline-block}@media (hover:hover){.btn-paypay:hover{background:#c50000}}.btn-paypay:active{transform:scale(var(--press-scale))}.image-overlay{background:var(--scrim-strong);z-index:1000;padding:var(--space-4);animation:scrim-in var(--duration-fast) var(--ease-spring);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.image-modal{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:min(100%,40rem);max-height:90dvh;box-shadow:var(--shadow-2);transform-origin:bottom;animation:materialize var(--duration-base) var(--ease-spring);flex-direction:column;display:flex;overflow:hidden}.image-modal-header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.image-modal-title{color:var(--text-heading);font-size:.875rem;font-weight:600}.image-modal-close,.calc-close{background:var(--border-hairline);cursor:pointer;width:1.75rem;height:1.75rem;color:var(--text-heading);touch-action:manipulation;transition:background var(--motion-fast), var(--motion-press);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8125rem;display:flex}@media (hover:hover){.image-modal-close:hover,.calc-close:hover{background:var(--border)}}.image-modal-close:active,.calc-close:active{transform:scale(.92)}.image-modal-body{-webkit-overflow-scrolling:touch;flex:auto;min-height:0;overflow:auto}.image-modal-img{width:100%;height:auto;display:block}.capture-area{gap:var(--space-5);flex-direction:column;display:flex}.save-image-row{justify-content:center;display:flex}.btn-save-image{background:var(--gold);color:#fff;border:1px solid var(--gold);padding:var(--space-3) 1.75rem;border-radius:var(--radius-md);cursor:pointer;touch-action:manipulation;transition:background var(--motion-fast), var(--motion-press);font-size:.9375rem;font-weight:700}@media (hover:hover){.btn-save-image:hover:not(:disabled){background:var(--gold-strong)}}.btn-save-image:active:not(:disabled){transform:scale(var(--press-scale))}.btn-save-image:disabled{opacity:.6;cursor:default}.section-delete{padding:var(--space-2) 0 var(--space-4);justify-content:center;display:flex}.btn-delete-session{border:1px solid var(--border-field);color:var(--text-tertiary);padding:.625rem var(--space-6);border-radius:var(--radius-md);cursor:pointer;touch-action:manipulation;transition:color var(--motion-fast), border-color var(--motion-fast), background var(--motion-fast), var(--motion-press);background:0 0;font-size:.875rem}@media (hover:hover){.btn-delete-session:hover{color:var(--danger);border-color:var(--danger);background:var(--danger-tint)}}.btn-delete-session:active{transform:scale(var(--press-scale))}.advance-checkbox-label{align-items:center;gap:var(--space-2);color:var(--text-heading);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.875rem;display:flex}.advance-checkbox-label input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--gold);cursor:pointer}.advance-checkbox-small{font-size:.75rem}.advance-description{color:var(--text-tertiary);margin:0;font-size:.75rem;line-height:1.5}.advance-badge{background:var(--gold-tint);color:var(--gold);border:1px solid var(--gold-border);border-radius:var(--radius-xs);letter-spacing:.02em;padding:1px var(--space-2);white-space:nowrap;font-size:.6875rem;font-weight:600;display:inline-block}.payment-description-cell{flex-direction:column;gap:3px;display:flex}.edit-description-cell{gap:var(--space-1);flex-direction:column;display:flex}.amount-row{gap:var(--space-2);align-items:stretch;display:flex}.amount-row input{flex:1}.btn-calc{background:var(--accent);color:#fff;border:1px solid var(--accent);padding:.625rem var(--space-4);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;touch-action:manipulation;transition:background var(--motion-fast), var(--motion-press);font-size:.875rem;font-weight:600}@media (hover:hover){.btn-calc:hover{background:var(--accent-strong)}}.btn-calc:active{transform:scale(var(--press-scale))}.calc-expr-preview{color:var(--text-secondary);background:var(--accent-tint);border-radius:var(--radius-sm);padding:var(--space-1) .625rem;font-size:.75rem}.btn-show-expr{color:var(--accent);cursor:pointer;padding:var(--space-1) 0;text-align:right;touch-action:manipulation;background:0 0;border:none;width:100%;font-size:.6875rem;text-decoration:underline;display:block}@media (hover:hover){.btn-show-expr:hover{color:var(--accent-strong)}}.expr-detail{color:var(--text-secondary);background:var(--accent-tint);border-radius:var(--radius-xs);padding:3px var(--space-2);text-align:right;word-break:break-all;margin-top:2px;font-size:.6875rem}.calc-overlay{background:var(--scrim);z-index:1000;animation:scrim-in var(--duration-fast) var(--ease-spring);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@keyframes scrim-in{0%{opacity:0}to{opacity:1}}@keyframes materialize{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.calc-modal{background:var(--material-thin);-webkit-backdrop-filter:var(--material-blur);border-radius:var(--radius-lg) var(--radius-lg) 0 0;border:1px solid var(--border);box-shadow:var(--shadow-material);padding:var(--space-5) var(--space-4) var(--space-8);padding-bottom:max(var(--space-8), env(safe-area-inset-bottom));transform-origin:bottom;width:100%;max-width:25rem;animation:sheet-in var(--duration-base) var(--ease-spring);border-bottom:none}@keyframes sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.calc-modal,.image-modal{animation:scrim-in var(--duration-fast) var(--ease-spring)}}.calc-header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.calc-title{color:var(--text);font-size:1rem;font-weight:700}.calc-display{background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-3);align-items:flex-end;gap:var(--space-1);flex-direction:column;min-height:4rem;display:flex}.calc-base-expr{color:var(--text-tertiary);text-align:right;word-break:break-all;font-size:.8125rem}.calc-expr{letter-spacing:-.01em;color:var(--text);font-variant-numeric:tabular-nums;word-break:break-all;text-align:right;font-size:1.25rem;font-weight:500;line-height:1.3}.calc-result{color:var(--accent);font-variant-numeric:tabular-nums;min-height:1.25rem;font-size:.875rem;font-weight:600}.calc-grid{gap:var(--space-2);grid-template-columns:repeat(4,1fr);display:grid}.calc-btn{background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;height:3.5rem;color:var(--text);touch-action:manipulation;-webkit-user-select:none;user-select:none;transition:background var(--duration-press) ease-out, var(--motion-press);font-size:1.125rem;font-weight:500}@media (hover:hover){.calc-btn:hover{background:var(--border-hairline)}}.calc-btn:active{background:var(--border);transform:scale(.95)}.calc-btn-wide{grid-column:span 2}.calc-btn-func,.calc-btn-eval{background:var(--accent-tint);color:var(--accent)}.calc-btn-func{font-size:1rem}@media (hover:hover){.calc-btn-func:hover,.calc-btn-eval:hover{background:var(--accent-tint-strong)}}.calc-btn-op{color:#2c665f;background:#edf4f3}@media (hover:hover){.calc-btn-op:hover{background:#d8e7e5}}.calc-btn-paren{background:var(--gold-tint);color:var(--gold)}@media (hover:hover){.calc-btn-paren:hover{background:#f3df9f}}.calc-btn-confirm{background:var(--accent);color:#fff;border-color:var(--accent);font-size:.875rem;font-weight:700}@media (hover:hover){.calc-btn-confirm:hover:not(:disabled){background:var(--accent-strong)}}.calc-btn-confirm:disabled{opacity:.4;cursor:default}.calc-btn-confirm:disabled:active{transform:none}.btn-etc-import{border:1px solid var(--accent-border);color:var(--accent);padding:.3125rem var(--space-3);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;touch-action:manipulation;transition:background var(--motion-fast), border-color var(--motion-fast), var(--motion-press);background:0 0;font-size:.8125rem;font-weight:600}@media (hover:hover){.btn-etc-import:hover{background:var(--accent-tint);border-color:var(--accent)}}.btn-etc-import:active{transform:scale(var(--press-scale))}.etc-overlay{background:var(--scrim);z-index:1000;padding:var(--space-4);animation:scrim-in var(--duration-fast) var(--ease-spring);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.etc-modal{background:var(--material-thin);-webkit-backdrop-filter:var(--material-blur);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);transform-origin:bottom;width:100%;max-width:34rem;max-height:88dvh;animation:materialize var(--duration-base) var(--ease-spring);flex-direction:column;display:flex}.etc-header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);flex-shrink:0;display:flex}.etc-title{letter-spacing:-.01em;color:var(--text);font-size:1rem;font-weight:700}.etc-close{background:var(--border-hairline);cursor:pointer;width:1.75rem;height:1.75rem;color:var(--text-heading);touch-action:manipulation;transition:background var(--motion-fast), var(--motion-press);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8125rem;display:flex}@media (hover:hover){.etc-close:hover{background:var(--border)}}.etc-close:active{transform:scale(.92)}.etc-body{padding:var(--space-4) var(--space-5);gap:var(--space-3);-webkit-overflow-scrolling:touch;flex-direction:column;display:flex;overflow-y:auto}.etc-lead{color:var(--text-secondary);font-size:.8125rem;line-height:1.6}.etc-file-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.etc-file-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.etc-file-name{color:var(--text-tertiary);word-break:break-all;font-size:.75rem}.etc-payer-select{width:100%;padding:.625rem var(--space-3);border:1px solid var(--border-field);border-radius:var(--radius-md);background:var(--surface-field);color:var(--text);transition:border-color var(--motion-fast), box-shadow var(--motion-fast);outline:none;font-size:.9375rem}.etc-payer-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.etc-summary{justify-content:space-between;align-items:baseline;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--accent-tint);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.875rem;display:flex}.etc-summary strong{font-variant-numeric:tabular-nums;color:var(--text);font-size:1rem}.etc-table{border-collapse:collapse;width:100%;font-size:.8125rem}.etc-table th{text-align:left;padding:var(--space-2) var(--space-2);background:var(--surface-sunken);color:var(--text-heading);letter-spacing:.01em;border-bottom:1px solid var(--border);font-weight:600}.etc-table td{padding:var(--space-2);border-bottom:1px solid var(--border-hairline);vertical-align:middle}.etc-table tr:last-child td{border-bottom:none}.etc-row-excluded td{opacity:.45}.etc-check-col{text-align:center;width:2rem}.etc-check-col input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--accent);cursor:pointer}.etc-date-col{white-space:nowrap;font-variant-numeric:tabular-nums}.etc-time{color:var(--text-tertiary);font-size:.6875rem;display:block}.etc-route{word-break:break-all}.etc-badge{margin-left:var(--space-2);background:var(--gold-tint);color:var(--gold);border:1px solid var(--gold-border);border-radius:var(--radius-xs);padding:1px var(--space-2);white-space:nowrap;font-size:.6875rem;font-weight:600;display:inline-block}.etc-amount-col{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}.etc-skipped{color:var(--text-tertiary);font-size:.75rem}.etc-footer{justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-5) var(--space-4);border-top:1px solid var(--border);flex-shrink:0;display:flex}.etc-footer .btn-primary{padding:.625rem var(--space-5);font-size:.9375rem}@media (width<=30rem){.etc-header,.etc-body,.etc-footer{padding-inline:var(--space-4)}.etc-footer .btn-secondary,.etc-footer .btn-primary{flex:1}}.btn-gas{background:var(--gold);color:#fff;border:1px solid var(--gold);padding:.625rem var(--space-4);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;touch-action:manipulation;transition:background var(--motion-fast), var(--motion-press);font-size:.875rem;font-weight:600}@media (hover:hover){.btn-gas:hover{background:var(--gold-strong)}}.btn-gas:active{transform:scale(var(--press-scale))}.gas-modal,.gas-fields{gap:var(--space-3);flex-direction:column;display:flex}.gas-field{align-items:center;gap:var(--space-3);display:flex}.gas-field-label{color:var(--text-heading);flex:0 0 5.5rem;font-size:.875rem;font-weight:600}.gas-input-wrap{align-items:center;gap:var(--space-2);flex:1;min-width:0;display:flex}.gas-input-wrap input{min-width:0;padding:.625rem var(--space-3);border:1px solid var(--border-field);border-radius:var(--radius-md);font-variant-numeric:tabular-nums;text-align:right;background:var(--surface-field);color:var(--text);transition:border-color var(--motion-fast), box-shadow var(--motion-fast);outline:none;flex:1;font-size:1rem}.gas-input-wrap input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.gas-unit{color:var(--text-tertiary);flex:0 0 3.25rem;font-size:.8125rem}.gas-result{background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);align-items:flex-end;gap:var(--space-1);flex-direction:column;display:flex}.gas-expr{color:var(--text-tertiary);text-align:right;word-break:break-all;font-size:.8125rem}.gas-amount{letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--text);font-size:1.5rem;font-weight:700;line-height:1.2}.gas-liters{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:.75rem}.gas-confirm{width:100%;padding:.875rem}.payment-note-input,.edit-note{resize:vertical;width:100%;font-family:inherit;line-height:1.5}.payment-form .payment-note-input{padding:.625rem var(--space-3);border:1px solid var(--border-field);border-radius:var(--radius-md);background:var(--surface-field);color:var(--text);transition:border-color var(--motion-fast), box-shadow var(--motion-fast);outline:none;font-size:.9375rem}.payment-form .payment-note-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.edit-note{font-size:.75rem}.payment-note{color:var(--text-tertiary);white-space:pre-wrap;word-break:break-word;font-size:.75rem;line-height:1.5}
