/* Online account shell. Employee library styles remain in offline.css. */
:root{--blue:#165dff;--light:#eef3ff}
[hidden]{display:none!important}
button,input,select,textarea{font-family:inherit}
button:disabled{cursor:not-allowed}
a{color:inherit;text-decoration:none}
button:focus-visible,a:focus-visible{outline:3px solid #93b3ff;outline-offset:3px}
.muted{color:var(--muted)}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--muted);margin-bottom:9px}
.text-button{border:0;background:transparent;color:var(--muted);padding:4px;font-size:12px;cursor:pointer;white-space:nowrap}
.icon-btn{border:0;background:transparent;color:var(--muted);font-size:25px;cursor:pointer}
.form-error{font-size:13px;color:var(--red);margin:12px 0}.form-error:empty{display:none}
.btn.full{width:100%;display:flex;justify-content:space-between;padding:12px 16px}
.login-layout h1,.login-layout h2,.login-layout p{margin-top:0}.login-layout p{margin-bottom:14px}
.login-layout h1{color:var(--navy)}.login-layout label{display:block;font-weight:600}
.login-layout input{display:block;width:100%;border:1px solid #d7dfeb;border-radius:7px;background:#fff;color:var(--text);margin-top:6px;font-weight:400;font-size:14px;outline:none}
.login-layout input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #165dff13}
.login-layout{min-height:100vh;display:grid;grid-template-columns:48% 52%}.login-intro{background:var(--navy);color:#fff;min-height:100vh;padding:44px 10%;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-intro:before{content:"";position:absolute;width:480px;height:480px;border:1px solid #ffffff0b;border-radius:50%;right:-290px;top:25%;box-shadow:0 0 0 60px #ffffff03,0 0 0 120px #ffffff03;pointer-events:none}.wordmark{display:inline-flex;flex-direction:column;align-self:flex-start;font-size:24px;font-weight:800;letter-spacing:2px}.wordmark span{font-size:9px;font-weight:400;letter-spacing:2.5px;color:#a8bed7;margin-top:4px}.login-intro .eyebrow{color:#89b2ee;font-size:12px;letter-spacing:3px}.login-intro h1{color:#fff;font-size:clamp(42px,4.5vw,65px);line-height:1.35;font-weight:650;letter-spacing:1px;margin:16px 0 24px}.login-description{color:#9fb3cb;font-size:15px;line-height:2}.login-intro small{color:#758ba4;font-size:11px}.language-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px}.language-pills span{border:1px solid #ffffff1b;border-radius:20px;padding:5px 11px;font-size:11px;color:#b5c8de}.login-panel{display:grid;place-items:center;padding:48px 32px;background:#fff}.login-card{width:100%;max-width:365px}.brand-icon{height:46px;width:46px;border-radius:12px;background:var(--light);color:var(--blue);display:grid;place-items:center;font-weight:800;font-size:23px;margin-bottom:35px}.login-card h2{font-size:30px;margin-bottom:8px}.login-card form{margin-top:30px}.login-card label{margin-bottom:18px;font-size:13px}.login-card input{padding:12px 14px}.login-note{font-size:12px;color:#8a98a9;border-top:1px solid var(--border);padding-top:22px;margin-top:24px}.loading-state{padding:30vh 20px;text-align:center;color:var(--muted)}
.header-right{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:flex-end}
.account-area{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px}
.account-area>span{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.save-status{font-size:10px;color:var(--green);white-space:nowrap}
.save-status.error{background:none;border:0;padding:0;margin:0;color:var(--red)}
.admin-nav{display:flex;gap:22px;height:38px;align-items:stretch}
.nav-link{border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font:inherit;cursor:pointer}
.nav-link.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}
.context-banner{background:#fff4db;border:1px solid #f0dca9;color:#7f5711;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:9px 14px;margin:8px 0;font-size:12px;border-radius:8px}
.context-banner strong{display:block}.context-banner span{font-size:11px}
.template-banner{background:#eaf1ff;color:#265096;padding:10px 14px;display:flex;gap:18px;font-size:12px;margin:8px 0;border-radius:8px}
.save-error{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid #efc4cb;background:#fff3f5;border-radius:8px;margin:8px 0;font-size:12px;color:var(--red);flex-wrap:wrap}
.save-error span{flex:1;min-width:200px}
.panel-page{padding:24px 0}.workspace-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}
.workspace-heading h1{font-size:25px;margin-bottom:6px}.workspace-heading p{font-size:12px}
.table-card{border:1px solid var(--border);border-radius:8px;background:#fff;overflow:auto}
.table-card table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}
.table-card th{background:#f9fafc;font-size:11px;font-weight:600;color:var(--muted);padding:12px 18px;border-bottom:1px solid var(--border)}
.table-card td{padding:15px 18px;font-size:12px;border-bottom:1px solid #edf1f6}
.table-card td small{display:block;color:var(--muted);font-size:11px}.table-actions{display:flex;gap:7px}
.badge{display:inline-block;padding:3px 8px;font-size:10px;border-radius:4px;background:#eaf7ef;color:var(--green)}
.badge.disabled{color:#7c8591;background:#edf0f4}.badge.admin{background:var(--light);color:var(--primary)}
dialog{border:1px solid var(--border);border-radius:10px;width:min(470px,calc(100vw - 24px));max-height:90dvh;margin:auto;padding:0;color:var(--text);box-shadow:0 25px 90px #061b3133}
dialog::backdrop{background:rgba(15,23,42,.5)}
dialog:not(#editor) label{display:block;font-size:13px;font-weight:600;margin-bottom:16px}
dialog:not(#editor) input{display:block;margin-top:6px;width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px}
.dialog-heading{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--border);gap:18px}
.dialog-heading h2{font-size:20px}.dialog-content{padding:20px 24px;max-height:65dvh;overflow-y:auto}
.dialog-content>p{font-size:12px;margin-bottom:12px}
.dialog-footer{padding:14px 24px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px}
#editor{width:calc(100vw - 32px);max-width:860px;max-height:calc(100dvh - 48px);margin:auto;padding:24px;overflow-y:auto}
#editor .question-fields{margin-top:12px}#editor .add-answer-row{margin-top:10px}
#editor .form-group textarea,#editor .form-group input,#editor .form-group select{width:100%}
#editor .answer-edit-block>.form-group{margin-bottom:16px}
#editor .answer-edit-block>.form-group:last-child{margin-bottom:0}
pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f3f6fc;border:1px solid var(--border);padding:16px;font-size:13px;border-radius:7px;margin:12px 0}
#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%) translateY(16px);max-width:min(90vw,600px);background:#111827;color:#fff;padding:10px 18px;border-radius:8px;font-size:13px;opacity:0;transition:all .25s;pointer-events:none;z-index:3000}
#toast.visible{opacity:1;transform:translateX(-50%) translateY(0)}
.clipboard-helper{position:fixed;opacity:0;pointer-events:none}
body.view-only .writable,body.view-only .scenario-actions,body.view-only .category-tools{display:none!important}
@media(max-width:1100px){.header-right{gap:8px}.data-tools{gap:5px}.data-tools .btn{padding:5px 8px}.account-area{gap:4px}}
@media(max-width:700px){.login-layout{grid-template-columns:1fr}.login-intro{display:none}.login-panel{min-height:100dvh;padding:35px 25px}.header-right{width:100%;justify-content:space-between;gap:8px}.account-area{margin-left:auto}.save-status{display:none}.workspace-heading{flex-wrap:wrap}.context-banner{padding:9px}.template-banner{flex-direction:column;gap:3px}.dialog-heading,.dialog-content,.dialog-footer{padding:16px 18px}#editor{padding:18px}.table-card td,.table-card th{padding:12px}.admin-nav{overflow:auto;white-space:nowrap}}
