:root{font:13px 'Segoe UI',Arial,sans-serif;color:#1a323c;background:#f5f8fa;color-scheme:light}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button,input{font:inherit}button{cursor:pointer;border:1px solid transparent;transition:background .15s}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #8ad2c2;outline-offset:2px}a{color:#137564;text-decoration:none}.logo{display:grid;place-items:center;width:36px;height:38px;border-radius:10px;color:white;background:#137564;font-size:27px}header{height:66px;display:flex;align-items:center;gap:22px;padding:0 22px;background:#fff;border-bottom:1px solid #e3e9ed}.brand{display:flex;gap:12px;align-items:center;width:280px}.brand strong{font-size:18px;display:block;letter-spacing:-.5px}.brand small{display:block;font-size:9px;letter-spacing:1.8px;color:#84929b;margin-top:3px}.tabs{display:flex;gap:5px;background:#f1f5f6;border-radius:10px;padding:4px}.tab{padding:9px 18px;border-radius:7px;color:#71858f;background:none;font-weight:600}.tab.active{color:#137564;background:white;box-shadow:0 1px 5px #193c3c15}.badge{margin-left:auto;background:#eaf5ef;padding:6px 12px;border-radius:20px;color:#2b8059;font-size:11px}.text-btn{background:none;color:#278b77;font-size:11px}.workspace{display:grid;grid-template-columns:325px minmax(0,1fr);height:calc(100dvh - 66px)}aside{display:flex;flex-direction:column;background:white;border-right:1px solid #e2e8eb;padding:24px 20px 12px;min-height:0}.eyebrow{font-size:9px;letter-spacing:1.8px;color:#81959f;font-weight:700}h1{font-size:23px;letter-spacing:-.7px;margin:9px 0 11px}p{line-height:1.7;color:#788d98;font-size:12px;margin:0 0 19px}.load{background:#edf7f3;border:1px dashed #9acabb;border-radius:9px;color:#137564;font-weight:600;padding:13px}.load:hover{background:#dfefe9}.filename{font-size:10px;color:#8c9ba3;margin:8px 0 17px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;min-height:14px}.stats{display:flex;justify-content:space-between;padding:0 8px 12px}.stats div{display:flex;flex-direction:column;gap:3px}.stats strong{font-size:25px;font-weight:600}.stats span{font-size:10px;color:#91a0a7}progress{width:100%;height:5px;appearance:none;margin-bottom:17px;border:0;border-radius:6px;overflow:hidden}progress::-webkit-progress-bar{background:#eaf0f2}progress::-webkit-progress-value{background:#168371}.actions{display:flex;gap:8px}.primary{padding:12px 14px;border-radius:7px;background:#137564;color:#fff;font-weight:600}.primary:hover:enabled{background:#0d6052}.actions .primary{flex:1}.secondary{background:white;border-color:#dfe7eb;color:#70828d;padding:10px;border-radius:7px}.timing{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#82949f;margin:14px 0 20px}.timing input{width:44px;border:1px solid #dce5e9;padding:4px;border-radius:4px}.queue-head{display:flex;align-items:center;justify-content:space-between;padding:15px 0 11px;border-top:1px solid #edf1f3;font-size:12px}.queue{overflow:auto;flex:1;min-height:80px;scrollbar-width:thin}.empty{padding:28px;text-align:center;color:#99a9b1;font-size:11px;line-height:1.8}.row{display:flex;gap:8px;align-items:center;padding:9px 6px;border-bottom:1px solid #f0f3f4;font-size:11px;flex-wrap:wrap}.number{color:#99a9b1;font-size:9px;min-width:17px}.isbn{font-variant-numeric:tabular-nums;letter-spacing:.3px;flex:1}.tag{font-size:9px;color:#8a9aa2}.row.done{background:#f0f8f4}.row.done .tag{color:#368763}.row.inflight{background:#eaf4fb}.row.uncertain{background:#fff4e2}.resolve{width:100%;display:flex;gap:6px;padding-left:25px}.resolve button{font-size:9px;padding:5px;background:white;border:1px solid #dec999;border-radius:4px}.status{background:#f2f6f8;border:1px solid #e2ebef;border-radius:7px;padding:11px;margin-top:12px;font-size:11px;color:#5c7481;line-height:1.6;max-height:112px;overflow:auto}footer{font-size:9px;color:#9caab1;display:flex;justify-content:space-between;padding-top:13px}.browser{min-width:0;display:flex;flex-direction:column;position:relative;overflow:hidden}.browser-toolbar{display:flex;gap:6px;padding:8px 12px;align-items:center;background:#f8fafb;border-bottom:1px solid #e1e8eb}.browser-toolbar button{background:white;border-color:#e3e9ed;border-radius:5px;padding:6px 10px;color:#687f8d;white-space:nowrap}.address{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;background:white;border:1px solid #e4ebee;border-radius:5px;padding:6px 10px;color:#8da0aa;font-size:11px}.browser-hint{font-size:10px;color:#90a2ac;padding:8px 13px;display:flex;justify-content:space-between;gap:10px}#connection{color:#278b77}#screen-wrap{position:relative;overflow:auto;flex:1;min-height:180px;background:#e7edf1;padding:12px;display:flex;align-items:flex-start;justify-content:center}#screen{background:white;display:block;width:100%;height:auto;max-width:1280px;box-shadow:0 2px 12px #233d4612;user-select:none;cursor:default;object-fit:contain}#screen-empty{position:absolute;inset:0;background:#f3f7f9;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:20px;color:#8da1ab}.typing-bar{display:flex;gap:6px;padding:10px;border-top:1px solid #dce6eb;background:#fff}.typing-bar input{flex:1;min-width:60px;border:1px solid #e0e7ec;border-radius:5px;padding:8px 10px;font-size:11px}.typing-bar button{border:1px solid #dce7e8;background:#f5faf8;border-radius:5px;color:#267b69;padding:7px 10px;font-size:11px}#dialog{position:absolute;inset:20% 10% auto;background:white;box-shadow:0 10px 60px #0004;padding:25px;border-radius:10px;border:1px solid #dbe6ec}#dialog button{padding:8px 14px;margin-right:8px;background:#edf6f2;border-radius:4px;color:#137564}.login-shell{min-height:100dvh;display:grid;place-items:center;background:radial-gradient(ellipse at top left,#dcefe6,#f5f8fa 65%);padding:20px}.login-card{width:min(100%,410px);background:#fff;padding:38px;border:1px solid #e4ece8;border-radius:18px;box-shadow:0 14px 60px #214c3e0a}.login-card .logo{margin-bottom:20px}.login-card h1{font-size:25px}.login-card label{display:flex;flex-direction:column;gap:7px;margin:18px 0;font-size:12px;color:#617984}.login-card input{border:1px solid #d9e5e7;border-radius:7px;padding:12px}.login-card .primary{width:100%;margin-top:5px}.login-card small{font-size:10px;color:#96a4ac;display:block;text-align:center;line-height:1.6}#login-error{font-size:11px;color:#b26939;margin:12px 0;min-height:18px}.disconnected #connection{color:#b2793b}@media(max-height:800px){aside{padding-top:16px}.intro p{margin-bottom:12px}.filename{margin-bottom:10px}.timing{margin:10px 0}.queue-head{padding-top:10px}.status{max-height:85px}}@media(max-width:900px){header{padding:0 12px;gap:8px}.brand{width:auto;min-width:40px}.brand div{display:none}.tab{padding:9px 10px}.workspace{grid-template-columns:270px minmax(0,1fr)}aside{padding:16px 12px}.browser-hint span:last-child{display:none}.address{display:none}#screen-wrap{justify-content:flex-start}#screen{min-width:850px}.typing-bar{flex-wrap:wrap}.typing-bar input{width:100%;flex-basis:100%}}@media(max-width:640px){body{overflow:auto}.workspace{display:flex;flex-direction:column;height:auto}aside{order:2;height:650px}.browser{order:1;height:570px}.badge{font-size:9px}.brand .logo{width:30px;height:32px}.tab{font-size:11px}.browser-toolbar{padding:8px}.login-card{padding:28px}}
.login-links{display:flex;justify-content:space-between;gap:10px;margin-top:16px;font-size:11px}#qr{display:block;margin:10px auto}#enroll-secret{display:block;overflow-wrap:anywhere;text-align:center;padding:12px;background:#f0f6f3;border-radius:7px;margin:10px 0;font-size:12px}#back-login{display:block;margin:13px auto 0}#recovery-codes{padding:15px;background:#f0f6f3;border-radius:8px;font-size:13px;line-height:1.7;user-select:all}#recovery button{margin-bottom:10px}

.password-link{display:block;text-align:center;font-size:12px;line-height:1.6}
.local-chrome .browser{display:none}.local-chrome .workspace{grid-template-columns:minmax(300px,430px);justify-content:center;height:calc(100dvh - 100px)}.local-chrome header{height:auto;min-height:66px;flex-wrap:wrap;gap:8px;padding:10px 14px}.local-chrome .brand{width:auto}.local-chrome .brand div{display:none}.local-chrome .tabs{order:3;width:100%}.local-chrome .tab{flex:1}.local-chrome aside{padding:16px;min-height:0;height:100%;order:initial}.local-chrome .intro p{margin-bottom:10px}.local-chrome .intro h1{font-size:21px}.local-chrome .actions{flex-wrap:wrap}.local-chrome .actions .primary{flex-basis:50%}.local-chrome .actions+p{margin-top:8px;margin-bottom:10px;font-size:10px}.local-chrome .queue{min-height:80px}.local-chrome .load{padding:10px}.local-chrome .stats{padding-bottom:7px}.local-chrome .stats strong{font-size:22px}#chrome-tools{display:flex;flex-direction:column;gap:7px;margin-bottom:12px}#chrome-status{font-size:10px;color:#137564}#chrome-open{padding:10px;font-size:12px}#chrome-control{display:flex;justify-content:flex-end}#chrome-control button{font-size:10px}#chrome-install{font-size:11px;color:#617984}#chrome-install summary{cursor:pointer}#chrome-install p{margin:8px 0;line-height:1.6;font-size:11px}.local-chrome .login-card{padding:25px}.local-chrome .login-links{flex-wrap:wrap}.local-chrome .filename{margin-bottom:8px}.local-chrome .intro .eyebrow{font-size:8px}

#chrome-control button{background:transparent;border:0;color:#278b77;padding:0;font:inherit;font-size:10px}

.local-chrome .actions{display:grid;grid-template-columns:1fr 1fr}.local-chrome #clear-list{margin-top:7px}.local-chrome #auto-status{margin-top:10px;margin-bottom:0}
