:root{--fx-bg: #f6f8fb;--fx-surface: #ffffff;--fx-text: #1b2b3a;--fx-muted: #6b7a8a;--fx-primary: #1d2b41;--fx-primary-600: #0b3e8e;--fx-primary-700: #093777;--fx-primary-50: #eaf2ff;--fx-accent: #00bcd4;--fx-danger: #d32f2f;--fx-border: #e2e8f0;--fx-radius: 14px;--fx-shadow: 0 6px 20px rgba(13, 71, 161, .08);--fx-spacing-1: 6px;--fx-spacing-2: 10px;--fx-spacing-3: 14px;--fx-spacing-4: 18px;--fx-spacing-5: 24px;--fx-spacing-6: 32px;--fx-font: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji}*{box-sizing:border-box}html,body{height:100%;background:var(--fx-bg);color:var(--fx-text);font-family:var(--fx-font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0}a{color:var(--fx-primary);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;display:block}main{padding:var(--fx-spacing-6) var(--fx-spacing-4);max-width:680px;margin:0 auto}.fx-header{display:flex;align-items:center;gap:var(--fx-spacing-3);padding:12px var(--fx-spacing-4);background:var(--fx-primary);color:#fff}.fx-header-title{font-weight:700}.fx-header-right{margin-left:auto;display:flex;align-items:center;gap:10px}.fx-card{background:var(--fx-surface);border:1px solid var(--fx-border);border-radius:var(--fx-radius);box-shadow:var(--fx-shadow);padding:var(--fx-spacing-5)}.fx-title{margin:0 0 var(--fx-spacing-4);font-size:1.25rem;font-weight:700}.fx-grid{display:grid;gap:var(--fx-spacing-4)}@media (min-width: 720px){.fx-grid-2{grid-template-columns:1fr 1fr}.fx-grid-3{grid-template-columns:1fr 1fr 1fr}}.fx-row{display:flex;align-items:end;gap:var(--fx-spacing-3);flex-wrap:wrap}.fx-field{display:grid;gap:var(--fx-spacing-2)}.fx-label{font-size:.9rem;color:var(--fx-muted)}.fx-input,.fx-select{width:100%;padding:12px;border:1px solid var(--fx-border);border-radius:12px;background:#fff;color:var(--fx-text);outline:none;transition:box-shadow .15s ease,border-color .15s ease;-webkit-appearance:none;appearance:none}.fx-input:focus,.fx-select:focus{border-color:var(--fx-primary);box-shadow:0 0 0 4px #0d47a11f}.fx-input[readonly]{background:#f2f5fb;color:var(--fx-muted)}.fx-actions{display:flex;gap:var(--fx-spacing-3);flex-wrap:wrap}.fx-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 16px;font-weight:600;border-radius:12px;border:1px solid transparent;cursor:pointer;transition:transform .06s ease,box-shadow .15s ease,background .2s ease,border-color .2s ease;background:var(--fx-primary);color:#fff;box-shadow:0 6px 16px #0d47a129}.fx-btn:hover{background:var(--fx-primary-600)}.fx-btn:active{transform:translateY(1px)}.fx-btn.sm{height:28px;padding:0 12px;font-size:14px;border-radius:10px;line-height:1}.fx-btn.outline{background:#fff;color:var(--fx-primary);border-color:var(--fx-primary);box-shadow:none}.fx-btn.outline:hover{background:var(--fx-primary-50)}.fx-panel{border:1px dashed var(--fx-border);border-radius:12px;padding:var(--fx-spacing-4);background:#fafcff}.fx-result{font-size:1.15rem;font-weight:700}.fx-result-gap{margin-top:8px}.fx-table{width:100%;border-collapse:collapse;overflow:hidden;border-radius:12px;border:1px solid var(--fx-border);background:#fff}.fx-table th,.fx-table td{padding:12px 14px;border-bottom:1px solid var(--fx-border);text-align:left}.fx-table th{background:#f3f6fb;color:var(--fx-muted);font-weight:700;font-size:.9rem}.fx-muted{color:var(--fx-muted)}.fx-error{color:var(--fx-danger);font-weight:600}.skeleton{position:relative;overflow:hidden;background:#eef2f7;border-radius:8px}.skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);animation:shimmer 1.2s infinite}@keyframes shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}.no-spinner::-webkit-outer-spin-button,.no-spinner::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.no-spinner{-moz-appearance:textfield}.currency-select{width:160px;box-sizing:border-box;font-size:14px;line-height:normal;padding:6px 8px;min-height:32px;height:auto;-webkit-appearance:menulist;appearance:menulist;overflow:visible}select.currency-select{height:auto!important}@supports (-webkit-touch-callout: none){.currency-select{padding-top:5px;padding-bottom:5px;min-height:34px}}.fx-vert-table{border-collapse:collapse;font-size:16px;min-width:260px;margin-top:12px}.fx-vert-table th,.fx-vert-table td{text-align:left;padding:4px 0}.fx-vert-table th{color:var(--fx-muted);font-weight:600;width:160px}.fx-vert-table td{color:var(--fx-text);font-weight:400}
