/* SXB Portal PoC 1 and Prices PoCs admin panel: additions to portal.css (the SimplyXB look-and-feel)
   for real form controls, the demo bar geometry and the live states of the screens. */
.app{height:calc(100vh - 28px)}
body.plain{background:#fff}
form.inline{display:inline}
button.btn{line-height:normal}
.btn[disabled],.btn.disabled{opacity:.45;cursor:not-allowed}
.btn.link{background:none;border:none;color:inherit;padding:0;text-decoration:underline;font-weight:500}
a.pill{text-decoration:none;color:inherit;cursor:pointer}
input.search{color:var(--text)}
input.search::placeholder{color:var(--faint)}
.toolbar form{display:flex;gap:8px;align-items:center}
.alert.err{border-color:#E7B4B4;background:#FDF1F1}
.alert form{margin-left:auto}
.alert .link + form{margin-left:12px}
.flash{margin-bottom:14px}
.header-right a{text-decoration:none;color:var(--muted)}
.header-right a:hover{color:var(--text);text-decoration:underline}
.nav a:hover{background:#F7F7F7}
.nav a.active:hover{background:var(--chip)}
.chip.sm{font-size:9px;margin-left:auto}

/* login */
.login input.in{border:none;border-bottom:1px solid var(--line2);border-radius:0;padding:8px 2px;font:inherit;font-size:14px;width:100%;color:var(--text);background:transparent;outline:none}
.login input.in:focus{border-bottom-color:var(--ink)}
.login .pw{position:relative}
.login .pw button{position:absolute;right:0;top:4px;border:none;background:none;color:var(--faint);cursor:pointer;font-size:14px}
.login .row label{margin:0;display:inline-flex;align-items:center;gap:6px;font-size:12px}
.login .err{background:var(--red-bg);color:var(--red);border-radius:6px;padding:8px 10px;font-size:12px;margin-top:-20px;margin-bottom:8px;text-align:center}
.login .quick{display:flex;gap:8px;justify-content:center;margin-top:10px}
.login .quick .btn{width:auto;padding:6px 12px;font-size:12px}
.login .sub-wm{text-align:center;color:var(--muted);font-size:12px;margin:-28px 0 28px}

/* markets */
.pct button{padding:5px 9px;background:var(--chip);font:inherit;font-weight:600;border:none;cursor:pointer;color:var(--text)}
.pct button:hover{background:#E4E4E4}
.pct input{width:64px;padding:5px 4px;text-align:center;font:inherit;font-weight:600;border:none;outline:none;background:transparent}
.pct input.pos{color:var(--green)}.pct input.neg{color:var(--red)}
.pct.locked{opacity:.7}
.row-hero .pct input{font-size:14px}
.addmarket{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.addmarket select,.addmarket input,.field select,.field input{border:1px solid var(--line2);border-radius:6px;padding:7px 10px;font:inherit;font-size:12px;background:#fff}
details.card>summary{cursor:pointer;list-style:none}
details.card>summary::-webkit-details-marker{display:none}

/* tagging */
.frame iframe{display:block;width:100%;height:calc(100vh - 330px);min-height:460px;border:0;background:#fafafa}
.frame .bar select{font:inherit;font-size:11px;border:1px solid var(--line);border-radius:4px;padding:3px 4px;background:#fff}
.frame .offline{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;height:460px;color:var(--muted);font-size:12px;text-align:center;padding:24px}
.tag .rm{border:none;background:none;color:var(--faint);cursor:pointer;font-size:14px;line-height:1;padding:0 2px}
.tag .rm:hover{color:var(--red)}
.tag.removed{opacity:.5;text-decoration:line-through}
.tag .right{display:inline-flex;gap:6px;align-items:center}
.taglist .none{color:var(--faint);font-size:11.5px;padding:6px 0}
.checks{display:flex;gap:14px;flex-wrap:wrap}
.checks label{display:inline-flex;gap:6px;align-items:center;margin:0;color:var(--text);font-size:12px}
.panel{overflow:auto}

/* empty states, errors */
.empty{padding:28px;text-align:center;color:var(--muted)}
.empty p{margin:0 0 14px}
.errpage{min-height:calc(100vh - 28px);display:flex;align-items:center;justify-content:center}
.errpage .box{max-width:460px;text-align:center}
.errpage .code{font-size:44px;font-weight:800;letter-spacing:-1.5px;margin-bottom:8px}
.errpage p{color:var(--muted);margin:8px 0 18px;line-height:1.5}
.errpage .actions{display:flex;gap:8px;justify-content:center}
.scan-progress{font-size:11px;color:var(--muted);margin-left:8px}
.hidden-frames{position:absolute;width:1px;height:1px;overflow:hidden;left:-9999px;top:0}
.hidden-frames iframe{width:1280px;height:900px;border:0}
.kv dd form{display:inline}
