/* 利益計算ツール page frame (the calculator styles come from profit.css, synced from the plugin). */
.pt-page { background: #eff3f8; }
.pt-shell { max-width: 1320px; margin: 0 auto; padding: 28px 24px 64px; color: #21334e; font-family: system-ui, "Hiragino Sans", "Yu Gothic UI", sans-serif; }
:lang(zh) .pt-shell { font-family: system-ui, "PingFang SC", "Microsoft YaHei UI", "Microsoft YaHei", "Noto Sans SC", sans-serif; }
.pt-badge { display: inline-block; margin: 0 0 12px; padding: 3px 10px; border-radius: 999px; background: #fff5df; color: #98600f; font-size: 12px; font-weight: 700; }
.pt-state { display: grid; justify-items: start; gap: 8px; padding: 40px; border: 1px solid #dce5f0; border-radius: 14px; background: #fff; }
.pt-state[hidden], .pt-app[hidden] { display: none; }
.pt-app { --mk-brand: #f43f70; --mk-brand-strong: #cf2854; --mk-brand-soft: #fff0f5; --mk-info: #087e8b; --mk-info-strong: #066572; --mk-info-soft: #e8f5f6; --mk-success: #117a60; --mk-warning: #98600f; --mk-danger: #b8374f; --mk-canvas: #eff3f8; --mk-surface: #fff; --mk-surface-soft: #f5f8fc; --mk-surface-sunken: #e8eef6; --mk-border: #dce5f0; --mk-border-strong: #bfcedf; --mk-text: #21334e; --mk-text-muted: #5b6b80; }
.pt-app .mk-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 36px; padding: 8px 14px; border: 1px solid var(--mk-border); border-radius: 8px; background: var(--mk-surface); color: var(--mk-text); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.pt-app .mk-btn:hover:not(:disabled) { border-color: var(--mk-border-strong); background: var(--mk-surface-soft); }
.pt-app .mk-btn:disabled { opacity: .55; cursor: not-allowed; }
.pt-app .mk-btn--primary { border-color: transparent; background: var(--mk-brand); color: #fff; }
.pt-app .mk-btn--primary:hover:not(:disabled) { background: var(--mk-brand-strong); }
.pt-app .mk-btn--ghost { background: transparent; }
.pt-app input, .pt-app select { font: inherit; }
.pt-toasts { position: fixed; right: 20px; bottom: 20px; z-index: 50; display: grid; gap: 8px; }
.pt-toast { margin: 0; padding: 10px 14px; border-radius: 10px; background: #1f2d42; color: #fff; font-size: 13px; box-shadow: 0 10px 26px rgba(15,23,42,.25); }
.pt-toast.is-error { background: #b8374f; } .pt-toast.is-warning { background: #98600f; } .pt-toast.is-success { background: #117a60; }
