/* ACTI sign-in (shared with the other ACTI simulators) */
:root { --bg: #111418; --panel: rgba(20,24,30,.93); --line: #2b323b; --text: #e6eaee; --mut: #93a0ad; --acc: #2898f4; --red: #c7372d; --green: #2f8a55; }
#gate { position: fixed; inset: 0px; z-index: 50; display: flex; align-items: center; justify-content: center; padding: 18px; overflow: auto; background: radial-gradient(1100px 600px at 70% -10%, rgb(58, 44, 8) 0px, transparent 60%), rgba(14, 16, 20, 0.97); }
body.signed #gate { display: none; }
.gcard { width: 100%; max-width: 440px; background: rgb(26, 29, 34); border-width: 4px 1px 1px; border-style: solid; border-color: rgb(40, 152, 244) rgb(52, 57, 63) rgb(52, 57, 63); border-image: none; border-radius: 16px; padding: 24px 26px; box-shadow: rgba(0, 0, 0, 0.667) 0px 24px 70px; color: rgb(232, 236, 240); }
.gbrand { display: flex; gap: 12px; align-items: center; margin-bottom: 16px; }
.glogo { width: 58px; height: 58px; flex: 0 0 auto; background: url("acti-logo.png") center center / contain no-repeat; font-size: 0px; color: transparent; }
.gbrand h2 { margin: 0px; font-size: 20px; letter-spacing: 0.06em; }
.gbrand p { margin: 2px 0px 0px; color: rgb(154, 165, 177); font-size: 13px; }
.gbanner { background: rgb(43, 36, 16); border: 1px solid rgb(107, 86, 20); color: rgb(255, 224, 138); border-radius: 9px; padding: 9px 12px; font-size: 13px; margin-bottom: 12px; line-height: 1.4; }
.glab { display: block; color: rgb(154, 165, 177); font-size: 13px; margin: 4px 0px 8px; }
.gcode { display: flex; gap: 6px; justify-content: center; align-items: center; padding: 12px; background: rgb(15, 17, 20); border: 1px solid rgb(52, 57, 63); border-radius: 12px; outline: none; cursor: text; }
.gcode:focus { border-color: rgb(40, 152, 244); }
.gcode span { width: 30px; height: 42px; border-radius: 7px; background: rgb(34, 38, 44); display: grid; place-items: center; font: 700 26px Consolas, ui-monospace, monospace; color: rgb(255, 216, 74); }
.gcode span.cur { box-shadow: rgb(40, 152, 244) 0px -3px 0px inset; }
.gcode i { width: 10px; }
.gpad { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 12px; }
.gpad button { font: 700 24px system-ui, sans-serif; padding: 14px 0px; border-radius: 11px; border: 1px solid rgb(58, 64, 72); background: rgb(38, 43, 50); color: rgb(255, 255, 255); cursor: pointer; }
.gpad button:hover { background: rgb(51, 58, 67); border-color: rgb(40, 152, 244); }
.gpad button:active { transform: scale(0.97); }
.gpad .gsec { font-size: 16px; color: rgb(207, 214, 222); background: rgb(30, 34, 39); }
.gremember { display: flex; gap: 8px; align-items: center; color: rgb(207, 214, 222); font-size: 13px; margin-top: 12px; }
.ggo { width: 100%; margin-top: 12px; padding: 14px; border: 0px; border-radius: 11px; background: linear-gradient(rgb(40, 152, 244), rgb(28, 91, 184)); color: rgb(255, 255, 255); font: 700 17px system-ui, sans-serif; cursor: pointer; }
.ggo:disabled { background: rgb(58, 63, 70); color: rgb(139, 149, 161); cursor: not-allowed; }
.gmsg { min-height: 20px; margin-top: 10px; font-size: 14px; text-align: center; }
.gmsg.err { color: rgb(255, 138, 122); }
.gmsg.ok { color: rgb(111, 227, 155); }
.gfoot { color: rgb(139, 149, 161); font-size: 12px; line-height: 1.45; margin: 10px 0px 0px; }
#acct { display: flex; align-items: center; gap: 8px; padding: 8px 14px; border-bottom: 1px solid rgb(44, 49, 56); font-size: 12.5px; color: rgb(207, 214, 222); background: rgb(22, 25, 29); }
#acct b { color: rgb(255, 255, 255); }
#acct .days { color: rgb(154, 165, 177); }
#acct .days.warn { color: rgb(255, 195, 77); }
#acct .sync { margin-left: auto; color: rgb(154, 165, 177); font-size: 11.5px; }
#acct button { background: none; border: 1px solid rgb(58, 64, 72); color: rgb(207, 214, 222); border-radius: 7px; padding: 3px 8px; font-size: 12px; cursor: pointer; }
#acct button:hover { border-color: rgb(40, 152, 244); }
#picker { position: fixed; inset: 0px; z-index: 51; display: none; align-items: center; justify-content: center; padding: 18px; overflow: auto; background: rgba(14, 16, 20, 0.97); }
body.picking #picker { display: flex; }
body.picking #gate { display: none; }
.pcard { max-width: 560px; }
.pfind { width: 100%; box-sizing: border-box; padding: 11px 13px; border-radius: 10px; border: 1px solid rgb(58, 64, 72); background: rgb(15, 17, 20); color: rgb(255, 255, 255); font: 16px system-ui, sans-serif; margin-bottom: 10px; }
.plist { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; max-height: 42vh; overflow: auto; padding: 2px; }
.plist button { padding: 14px 10px; border-radius: 10px; border: 1px solid rgb(58, 64, 72); background: rgb(38, 43, 50); color: rgb(255, 255, 255); font: 600 16px system-ui, sans-serif; cursor: pointer; text-align: left; }
.plist button:hover { border-color: rgb(40, 152, 244); background: rgb(51, 58, 67); }
.plist .pempty { grid-column: 1 / -1; color: rgb(139, 149, 161); font-size: 14px; padding: 10px 2px; }
.pnew { margin-top: 14px; border-top: 1px solid rgb(44, 49, 56); padding-top: 10px; }
.prow { display: flex; gap: 8px; }
.prow input { flex: 1 1 0%; min-width: 0px; padding: 12px; border-radius: 10px; border: 1px solid rgb(58, 64, 72); background: rgb(15, 17, 20); color: rgb(255, 255, 255); font: 16px system-ui, sans-serif; }
.padd { width: auto; margin: 0px; padding: 12px 18px; }
.plink { background: none; border: 0px; color: rgb(139, 149, 161); text-decoration: underline; cursor: pointer; margin-top: 10px; font-size: 13px; }
.gzh { display: block; margin-top: 2px; font: 800 11px / 1 system-ui, sans-serif; letter-spacing: 0.18em; color: rgb(40, 152, 244); }
#acct{display:flex;gap:8px;align-items:center;font-size:13px}
#acct:empty{display:none}
