*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{color-scheme:light;--bg: #f7f6f3;--bg-tint: #f1efe9;--surface: #ffffff;--surface-2: #f5f3ef;--surface-3: #ebe8e1;--border: #e6e2d9;--border-strong: #d0cabc;--text: #1b1a17;--text-dim: #5f5b52;--text-faint: #8d887d;--accent: #ff9933;--accent-hover: #f28a1c;--accent-text: #a85504;--accent-ring: rgba(255, 153, 51, .35);--accent-soft: #fff1e0;--on-accent: #2a1704;--green: #138808;--green-soft: #e4f4e2;--red: #d32f42;--red-soft: #fdeaec;--amber: #9a6410;--amber-soft: #fdf1dd;--info: #000080;--info-soft: #e6e6f5;--radius: 14px;--radius-sm: 9px;--shadow: 0 1px 2px rgba(20, 20, 40, .05), 0 12px 28px -18px rgba(20, 20, 40, .28);--shadow-lift: 0 1px 2px rgba(20, 20, 40, .06), 0 18px 40px -22px rgba(20, 20, 40, .4)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #0d0c0a;--bg-tint: #16140f;--surface: #171512;--surface-2: #1f1c17;--surface-3: #29251e;--border: #2e2a23;--border-strong: #453f34;--text: #f2efe9;--text-dim: #a8a294;--text-faint: #746e62;--accent: #ff9933;--accent-hover: #ffab55;--accent-text: #ffb366;--accent-ring: rgba(255, 153, 51, .32);--accent-soft: #33230f;--on-accent: #2a1704;--green: #3fbf2f;--green-soft: #12250f;--red: #ff5f6d;--red-soft: #2f1116;--amber: #f0ad4e;--amber-soft: #2e2110;--info: #8f8fff;--info-soft: #17173a;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 12px 28px -18px rgba(0, 0, 0, .8);--shadow-lift: 0 1px 2px rgba(0, 0, 0, .5), 0 18px 40px -22px rgba(0, 0, 0, .9)}}:root[data-theme=dark]{color-scheme:dark;--bg: #0b0b11;--bg-tint: #12121b;--surface: #14141d;--surface-2: #1a1a26;--surface-3: #22222f;--border: #262633;--border-strong: #383848;--text: #eeeef4;--text-dim: #a0a0b4;--text-faint: #6e6e84;--accent: #8b63ff;--accent-hover: #9b79ff;--accent-ring: rgba(139, 99, 255, .28);--accent-soft: #221a3d;--on-accent: #ffffff;--green: #35d68a;--green-soft: #102c1f;--red: #ff5f6d;--red-soft: #2f1116;--amber: #f0ad4e;--amber-soft: #2e2110;--info: #6ba6ff;--info-soft: #10203a;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 12px 28px -18px rgba(0, 0, 0, .8);--shadow-lift: 0 1px 2px rgba(0, 0, 0, .5), 0 18px 40px -22px rgba(0, 0, 0, .9)}body{font-family:Inter,Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,Helvetica,Arial,sans-serif;background:radial-gradient(900px 500px at 8% -8%,var(--accent-soft) 0%,transparent 62%),var(--bg);background-attachment:fixed;color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}.app{max-width:1240px;margin:0 auto;padding:26px 20px 72px}::selection{background:var(--accent);color:var(--on-accent)}:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px;border-radius:4px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}.brand{display:flex;align-items:center;gap:13px;min-width:0}.brand-mark{border-radius:10px;flex:none;display:block;border:1px solid var(--border);box-shadow:0 6px 18px -8px #ff9933bf}h1{font-size:19px;font-weight:700;letter-spacing:-.02em;line-height:1.2}.brand-sub{font-size:12.5px;color:var(--text-faint);font-weight:500}.theme-switch{display:inline-flex;gap:2px;padding:3px;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;flex:none}.theme-switch button{display:inline-flex;align-items:center;gap:6px;border:none;background:none;cursor:pointer;color:var(--text-dim);font:inherit;font-size:12.5px;font-weight:600;padding:6px 13px;border-radius:999px;transition:background .15s ease,color .15s ease}.theme-switch button:hover{color:var(--text)}.theme-switch button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.badge{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border-radius:999px;font-size:12.5px;font-weight:600;white-space:nowrap;border:1px solid transparent;background:var(--surface-2);color:var(--text-dim)}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.badge.on{background:var(--green-soft);color:var(--green)}.badge.off{background:var(--surface-2);color:var(--text-faint);border-color:var(--border)}.badge.paper{background:var(--info-soft);color:var(--info)}.badge.live{background:var(--red-soft);color:var(--red)}.badge.pulse:before{animation:pulse 1.8s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.75)}}@media (prefers-reduced-motion: reduce){.badge.pulse:before{animation:none}}.error,.notice-live{padding:12px 16px;border-radius:var(--radius-sm);margin-bottom:16px;font-size:13.5px;font-weight:500;display:flex;align-items:flex-start;gap:9px;overflow-wrap:anywhere}.error{background:var(--red-soft);color:var(--red);border:1px solid var(--red)}.error:before{content:"⚠";font-size:15px;line-height:1.35}.notice-live{background:var(--amber-soft);color:var(--amber);border:1px solid color-mix(in srgb,var(--amber) 45%,transparent)}.notice-live:before{content:"●";font-size:11px;line-height:1.7}.cards{display:grid;gap:16px;margin-bottom:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.cards .card{display:flex;flex-direction:column}.cards .card>.note:last-child{margin-top:auto;padding-top:12px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px 22px 22px;box-shadow:var(--shadow);margin-bottom:16px}.cards .card{margin-bottom:0}h2{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:var(--text-dim);font-weight:700;margin-bottom:16px;padding-bottom:11px;border-bottom:1px solid var(--border)}.h2-tag{text-transform:none;letter-spacing:0;font-size:11px;font-weight:600;color:var(--text-faint);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:2px 9px}.count{text-transform:none;letter-spacing:0;font-size:11.5px;font-weight:700;color:var(--accent-text);background:var(--accent-soft);border-radius:999px;padding:2px 9px;min-width:24px;text-align:center}.h2-actions{margin-left:auto;display:flex;gap:7px;flex-wrap:wrap;text-transform:none;letter-spacing:0}.grid-fields{display:grid;gap:15px 16px;align-items:start;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:14px}.grid-fields.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-fields:last-child{margin-bottom:0}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field-label{font-size:11.5px;font-weight:600;color:var(--text-dim);letter-spacing:.01em}.field-hint{font-size:11px;color:var(--text-faint)}.field-error{font-size:11px;color:var(--red);font-weight:600}.input-wrap{position:relative;display:block}input,select{width:100%;font-family:inherit;font-size:14px;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:9px 12px;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}input::placeholder{color:var(--text-faint)}input:hover,select:hover{border-color:var(--border-strong)}input:focus,select:focus{outline:none;background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}input.invalid,input[aria-invalid=true]{border-color:var(--red);box-shadow:0 0 0 3px color-mix(in srgb,var(--red) 20%,transparent)}select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:34px;text-overflow:ellipsis}.input-wrap:has(select):after{content:"";position:absolute;right:13px;top:50%;width:7px;height:7px;margin-top:-5px;pointer-events:none;border-right:2px solid var(--text-faint);border-bottom:2px solid var(--text-faint);transform:rotate(45deg)}.input-suffix{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--text-faint);font-size:12px;font-weight:600;pointer-events:none}.input-wrap:has(.input-suffix) input{padding-right:32px}:root[data-theme=dark] input[type=time]::-webkit-calendar-picker-indicator{filter:invert(1)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) input[type=time]::-webkit-calendar-picker-indicator{filter:invert(1)}}input[type=time]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.65}input[type=time]::-webkit-calendar-picker-indicator:hover{opacity:1}.btn-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.btn-row:last-child{margin-bottom:0}.btn{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 17px;font-family:inherit;font-size:13.5px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease,transform .06s ease,box-shadow .15s ease}.btn:hover{background:var(--surface-3);border-color:var(--border-strong)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;background:var(--surface-2)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:0 6px 16px -8px var(--accent-ring)}.btn.danger{background:var(--red);border-color:var(--red);color:#fff}.btn.warn{background:var(--amber);border-color:var(--amber);color:#fff}.btn.danger:hover:not(:disabled),.btn.warn:hover:not(:disabled){filter:brightness(1.08)}.btn.buy-btn{color:var(--green);border-color:color-mix(in srgb,var(--green) 45%,transparent)}.btn.sell-btn{color:var(--red);border-color:color-mix(in srgb,var(--red) 45%,transparent)}.btn.small{padding:5px 12px;font-size:12px}.btn.tiny{padding:4px 11px;font-size:11.5px;font-weight:600;border-radius:999px}.icon-btn{width:24px;height:24px;flex:none;padding:0;display:inline-flex;align-items:center;justify-content:center;font-family:inherit;font-size:17px;line-height:1;background:none;color:var(--text-faint);border:1px solid transparent;border-radius:7px;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.icon-btn:hover{background:var(--red-soft);color:var(--red);border-color:color-mix(in srgb,var(--red) 35%,transparent)}.summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;margin-top:4px}.summary>div{background:var(--surface-2);padding:10px 12px}.summary dt{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);margin-bottom:3px}.summary dd{font-size:13.5px;font-weight:600;color:var(--text)}.summary dd.ok{color:var(--green)}.summary dd.alert{color:var(--red)}.note{font-size:12.5px;line-height:1.65;color:var(--text-faint);margin-top:12px;overflow-wrap:anywhere}.note.warn{color:var(--amber);font-weight:500}.note code{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:11.5px;background:var(--surface-2);border:1px solid var(--border);border-radius:5px;padding:1px 5px;color:var(--text-dim)}.muted{color:var(--text-faint)}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:11px 13px;vertical-align:top}th.num,td.num{text-align:right;font-variant-numeric:tabular-nums}thead th{position:sticky;top:0;z-index:1;background:var(--surface-2);color:var(--text-dim);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border);white-space:nowrap}tbody tr{border-top:1px solid var(--border);transition:background .12s ease}tbody tr:hover{background:var(--bg-tint)}.cell-msg{white-space:normal;overflow-wrap:anywhere;word-break:break-word;min-width:190px;max-width:420px;line-height:1.5}.msg-error{color:var(--red);font-weight:500}.msg-note{color:var(--text-dim)}.msg-id{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:11.5px;background:var(--surface-2);border:1px solid var(--border);border-radius:5px;padding:2px 6px;color:var(--text-dim)}.cell-action{text-align:right;white-space:nowrap}.cell-action>*{vertical-align:middle}.cell-action>*+*{margin-left:6px}.stamp{display:flex;flex-direction:column;line-height:1.3}.stamp b{font-weight:600;font-variant-numeric:tabular-nums}.stamp i{font-style:normal;font-size:11px;color:var(--text-faint)}.pill{display:inline-block;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.pill.good{background:var(--green-soft);color:var(--green)}.pill.bad{background:var(--red-soft);color:var(--red)}.pill.info{background:var(--info-soft);color:var(--info)}.pill.mute{background:var(--surface-3);color:var(--text-dim)}.buy{color:var(--green);font-weight:700}.sell{color:var(--red);font-weight:700}.empty-row td{text-align:center;color:var(--text-faint);padding:34px 16px;font-size:13px}.empty-row:hover{background:none}.boot{display:flex;flex-direction:column;align-items:center;gap:16px;padding:90px 20px;text-align:center}.boot .brand-mark{width:46px;height:46px}.boot-error{color:var(--red);font-size:14px;max-width:460px}@media (max-width: 900px){.cards{grid-template-columns:1fr}}@media (max-width: 760px){.app{padding:18px 13px 56px}.topbar{gap:12px}.theme-switch-label{display:none}.theme-switch button{padding:7px 12px;font-size:14px}.card{padding:17px 15px 18px;border-radius:12px}.grid-fields,.grid-fields.three{grid-template-columns:repeat(2,minmax(0,1fr))}.btn-row .btn{flex:1 1 auto;text-align:center}.table-wrap{border:none;background:none;overflow-x:visible}table,tbody,tr,td{display:block;width:100%}thead{display:none}tbody tr{border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:var(--shadow);padding:6px 4px;margin-bottom:11px}tbody tr:hover{background:var(--surface)}td{display:grid;grid-template-columns:104px minmax(0,1fr);gap:12px;align-items:baseline;padding:7px 12px;text-align:left!important}td:before{content:attr(data-label);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint)}td:empty,td.cell-action:empty{display:none}td.cell-action{display:flex;align-items:center;gap:8px}td.cell-action:before{flex:0 0 104px}td.cell-action>*+*{margin-left:0}.cell-msg{max-width:none;min-width:0}.stamp{flex-direction:row;gap:8px;align-items:baseline}.empty-row td{display:block;padding:30px 16px;text-align:center!important}.empty-row td:before{content:none}.empty-row{box-shadow:none}}@media (max-width: 420px){.grid-fields,.grid-fields.three{grid-template-columns:1fr}td{grid-template-columns:88px minmax(0,1fr);gap:9px}td.cell-action:before{flex-basis:88px}h1{font-size:17px}h2{flex-wrap:wrap}.h2-actions{margin-left:0;width:100%}}
