.power-input-wrap { display:flex; position:relative; min-width:0; }
.power-input-wrap input { width:100%; padding-right:48px; }
.power-input-wrap input::-webkit-inner-spin-button { appearance:none; }
.power-keyboard-trigger { position:absolute; right:4px; top:4px; bottom:4px; width:38px; display:grid; place-items:center; padding:0; border:0; border-left:1px solid #e2e6e9; border-radius:4px; background:transparent; color:#626970; cursor:pointer; }
.power-keyboard-trigger:hover { background:#f0f4f2; color:#286647; }
body.power-keypad-open { overflow:hidden; }
.power-keypad { width:360px; max-width:calc(100% - 32px); max-height:calc(100% - 24px); margin:auto; padding:20px; overflow:auto; border:1px solid #dce2df; border-radius:8px; background:#fff; color:#202624; box-shadow:0 18px 70px #0003; }
.power-keypad::backdrop { background:#10191470; }
.power-keypad-header { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.power-keypad-header h2 { flex:1; min-width:0; }
.power-keypad-header h2 { margin:0; font-size:15px; font-weight:600; line-height:1.5; letter-spacing:0; }
.power-keypad-header button { display:grid; place-items:center; width:44px; height:44px; padding:0; border:0; border-radius:4px; background:#f2f4f3; color:#616964; cursor:pointer; flex:none; }
.power-keypad-preview { display:block; padding:14px 0 18px; font-size:36px; font-weight:550; text-align:right; font-variant-numeric:tabular-nums; line-height:1.2; overflow-wrap:anywhere; }
.power-signs,.power-fractions,.power-digits { display:grid; gap:8px; }
.power-keypad [hidden] { display:none; }
.power-signs { grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:10px; }
.power-fractions { grid-template-columns:repeat(4,minmax(0,1fr)); margin-bottom:12px; }
.power-digits { grid-template-columns:repeat(3,minmax(0,1fr)); }
.power-keypad button { touch-action:manipulation; letter-spacing:0; -webkit-tap-highlight-color:transparent; }
.power-signs button,.power-fractions button,.power-digits button { display:flex; align-items:center; justify-content:center; min-width:0; height:48px; padding:0 6px; border:1px solid #e0e5e2; border-radius:6px; background:#f7f9f8; color:#26312b; font-family:inherit; cursor:pointer; }
.power-signs button { font-size:24px; }
.power-fractions button { height:42px; font-size:16px; font-variant-numeric:tabular-nums; }
.power-digits button { font-size:22px; background:#fff; }
.power-keypad button[aria-pressed="true"] { border-color:#39745a; background:#eef6f1; color:#246647; box-shadow:inset 0 0 0 1px #39745a; }
.power-keypad button:hover { border-color:#9caea3; }
.power-keypad button:focus-visible,.power-keyboard-trigger:focus-visible { outline:2px solid #337757; outline-offset:2px; }
.power-keypad button:active { background:#e7f0ea; }
.power-keypad-error { min-height:18px; margin:8px 0; color:#a52335; font-size:12px; line-height:1.5; }
.power-keypad-done { width:100%; height:48px; display:flex; align-items:center; justify-content:center; gap:8px; padding:0 12px; border:0; border-radius:6px; background:#286647; color:#fff; font-family:inherit; font-size:15px; cursor:pointer; }
.power-keypad .power-keypad-done:active { background:#1e5138; }
@media(max-width:720px) {
  .power-keypad { width:100%; max-width:100%; max-height:calc(100% - 8px); margin:auto 0 0; padding:16px 16px max(16px,env(safe-area-inset-bottom)); border-radius:8px 8px 0 0; border-width:1px 0 0; }
}
@media(max-height:560px) {
  .power-keypad { padding:12px; }
  .power-keypad-preview { padding:6px 0 8px; font-size:30px; }
  .power-signs button,.power-digits button { height:38px; }
  .power-fractions button { height:34px; }
  .power-signs,.power-fractions { margin-bottom:8px; }
}
