/* All rules are scoped to the plugin. No dependency on 98.css. */
.penny-tool { box-sizing: border-box; max-width: 100%; margin: 1.5rem 0; padding: 1rem; border: 2px solid #777; background: #f2f2f2; color: #181818; box-shadow: inset 1px 1px #fff, inset -1px -1px #aaa; font: 1rem/1.5 Arial, sans-serif; overflow-wrap: anywhere; }
.penny-tool *, .penny-tool *::before, .penny-tool *::after { box-sizing: border-box; }
.penny-tool h2 { margin: 0 0 .75rem; font-size: 1.3rem; line-height: 1.3; }
.penny-tool p { margin: .5rem 0 1rem; }
.penny-tool .penny-tool__privacy { font-size: .9rem; }
.penny-tool .penny-tool__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem 1rem; }
.penny-tool .penny-tool__field { min-width: 0; }
.penny-tool label { display: block; margin: 0 0 .3rem; font-weight: 700; }
.penny-tool input, .penny-tool select { display: block; width: 100%; min-width: 0; max-width: 100%; height: auto; min-height: 44px; padding: .55rem; border: 2px inset #bbb; border-radius: 0; background: #fff; color: #111; font: inherit; }
.penny-tool button { min-width: 90px; min-height: 44px; padding: .5rem .9rem; border: 2px outset #ddd; background: #ddd; color: #111; font: inherit; cursor: pointer; }
.penny-tool button:disabled { color: #555; cursor: not-allowed; }
.penny-tool button:active:not(:disabled) { border-style: inset; }
.penny-tool input:focus-visible, .penny-tool select:focus-visible, .penny-tool button:focus-visible { outline: 3px solid #003f91; outline-offset: 2px; }
.penny-tool [aria-invalid="true"] { border: 2px solid #a41414; }
.penny-tool .penny-tool__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin: 1rem 0; }
.penny-tool .penny-tool__error { display: block; color: #9b1414; font-size: .9rem; }
.penny-tool .penny-tool__error:empty, .penny-tool .penny-tool__result:empty { display: none; }
.penny-tool .penny-tool__result { padding: .75rem; background: #fff; border: 1px solid #888; }
.penny-tool table { width: 100%; max-width: 100%; table-layout: fixed; border-collapse: collapse; font: inherit; background: #fff; color: #111; }
.penny-tool caption { text-align: left; font-weight: 700; margin-bottom: .5rem; }
.penny-tool th, .penny-tool td { padding: .45rem; border: 1px solid #bbb; text-align: left; white-space: normal; overflow-wrap: anywhere; }
.penny-tool th { width: 55%; background: #ececec; }
.penny-tool details { margin-top: 1rem; }
.penny-tool summary { cursor: pointer; min-height: 44px; }
.penny-tool .penny-tool__dates { max-height: 14rem; overflow: auto; padding-left: 1.8rem; }
@media (max-width: 600px) { .penny-tool { padding: .75rem; } .penny-tool .penny-tool__fields { grid-template-columns: minmax(0, 1fr); } .penny-tool th, .penny-tool td { padding: .35rem; } }
