body{overflow-x:hidden}
.shell{
  width:min(1600px,calc(100% - 24px));
  margin:14px auto 56px;
  display:grid;
  gap:12px;
}
.session{padding:14px}
.session-editor{
  display:grid;
  grid-template-columns:minmax(150px,1fr) minmax(190px,1.2fr) minmax(140px,.85fr) minmax(180px,1.1fr) minmax(180px,1.1fr) auto;
  gap:10px;
  margin-top:12px;
  align-items:end;
}
.session.collapsed .session-editor{display:none}
.field-label{display:block}
.provider-label-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.file-label input{padding:6px 8px;font-size:.8125rem}.file-state{display:block;color:var(--text-muted);font-size:.75rem;font-weight:600;overflow-wrap:anywhere}
.date-field{
  display:grid;
  grid-template-columns:minmax(64px,1.3fr) auto minmax(46px,.7fr) auto minmax(46px,.7fr);
  align-items:center;
  min-height:var(--control-h);
  overflow:hidden;
  border:1px solid var(--line-strong);
  border-radius:var(--radius-sm);
  background:var(--surface-raised);
}
.date-field:focus-within{border-color:var(--accent);box-shadow:var(--focus)}
.date-field input{
  min-width:0;
  min-height:40px;
  border:0;
  border-radius:0;
  background:transparent;
  padding-inline:5px;
  text-align:center;
  box-shadow:none;
  font-variant-numeric:tabular-nums;
}
.date-field #examYear{color:var(--text-muted);cursor:default;user-select:none}
.date-separator{color:var(--text-muted);font-weight:800;user-select:none}
.workflow-rail{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:4px;
  padding:5px;
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  background:var(--surface);
}
.workflow-rail>span{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:38px;
  padding:5px 8px;
  border-radius:var(--radius-sm);
  color:var(--text-muted);
  font-size:.78rem;
}
.workflow-rail i{
  display:grid;
  place-items:center;
  width:21px;
  height:21px;
  flex:0 0 21px;
  border:1px solid var(--line);
  border-radius:6px;
  background:var(--surface-subtle);
  color:var(--text-muted);
  font-style:normal;
  font-size:.7rem;
  font-weight:800;
  font-variant-numeric:tabular-nums;
}
.workflow-rail>span.done{color:var(--success)}
.workflow-rail>span.done i{border-color:var(--success);background:var(--success-bg);color:var(--success)}
.workflow-rail>span.active{background:var(--selection);color:var(--accent)}
.workflow-rail>span.active i{border-color:var(--accent);background:var(--surface);color:var(--accent)}
.workbench{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(350px,390px);
  gap:12px;
  align-items:start;
}
.viewer{overflow:hidden;min-width:0}
.viewer-tabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4px;
  padding:5px;
  border-bottom:1px solid var(--line);
  background:var(--surface-subtle);
}
.viewer-tabs button{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-color:transparent;
  background:transparent;
  color:var(--text-muted);
}
.viewer-tabs button.active{border-color:var(--line);background:var(--surface);color:var(--text)}
.viewer-tabs button span{
  padding:2px 6px;
  border-radius:999px;
  background:var(--surface-subtle);
  color:var(--text-muted);
  font-size:.75rem;
}
.viewer-tabs button.active span{background:var(--selection);color:var(--accent)}
.pdf-pane{padding-top:8px}
.pdf-toolbar{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  flex-wrap:wrap;
  padding:0 10px 8px;
}
.pdf-toolbar>span{
  min-width:54px;
  color:var(--text-muted);
  text-align:center;
  font-size:.82rem;
  font-variant-numeric:tabular-nums;
}
.pdf-toolbar button{min-height:38px;padding-block:6px}
.page-jump{display:flex;grid-auto-flow:column;align-items:center;gap:6px;font-size:.78rem}
.page-jump input{width:64px;min-height:38px;text-align:center}
.crop-help{
  display:none;
  margin:0 10px 8px;
  color:var(--text-muted);
  font-size:.82rem;
}
 .pdf-stage-shell{position:relative}
 .pdf-stage{
  position:relative;
  direction:ltr;
  height:min(72vh,820px);
  min-height:560px;
  display:grid;
  place-items:start center;
  overflow:auto;
  border-top:1px solid var(--line);
  background:var(--document-bg);
  overscroll-behavior:contain;
}
 .pdf-stage canvas{
  display:block;
  direction:ltr;
  max-width:none;
  background:#fff;
  box-shadow:0 2px 18px rgba(24,29,34,.12);
}
.pdf-empty{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:var(--text-muted);
  font-size:.875rem;
  pointer-events:none;
}
.pdf-stage.has-pdf .pdf-empty{display:none}
.pdf-stage.is-loading{cursor:progress}
.pdf-stage.is-loading::after{content:"در حال آماده‌سازی PDF…";position:sticky;top:10px;left:10px;z-index:9;display:block;width:max-content;max-width:calc(100% - 20px);margin:10px;padding:7px 9px;border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text-muted);font-size:.78rem;box-shadow:var(--shadow)}
.crop-box{
  position:absolute;
  z-index:4;
  border:2px solid var(--accent);
  border-radius:3px;
  background:rgba(47,95,143,.09);
  pointer-events:none;
}
.mobile-crop-lock{
  display:none;
  z-index:20;
  width:46px;
  min-height:46px;
  padding:11px;
  border:1px solid var(--control-border);
  border-radius:50%;
  background:var(--surface-raised);
  color:var(--text);
  box-shadow:0 8px 24px rgba(0,0,0,.34);
}
.mobile-crop-lock svg{display:block;width:22px;height:22px;fill:currentColor}

.crop-freeze-row{
  display:flex;
  padding:8px 10px 10px;
  border-top:1px solid var(--line);
  background:var(--surface);
}
.crop-freeze{
  width:100%;
  min-height:42px;
  font-weight:800;
  transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease;
}
.crop-freeze.unlocked{
  border-color:color-mix(in srgb,var(--danger) 72%,var(--control-border));
  background:var(--danger-bg);
  color:var(--danger);
}
.crop-freeze.unlocked:hover{
  border-color:var(--danger);
  background:color-mix(in srgb,var(--danger-bg) 84%,var(--danger));
}
.crop-freeze.locked{
  border-color:color-mix(in srgb,var(--success) 72%,var(--control-border));
  background:var(--success-bg);
  color:var(--success);
}
.crop-freeze.locked:hover{
  border-color:var(--success);
  background:color-mix(in srgb,var(--success-bg) 84%,var(--success));
}
.inspector{
  position:sticky;
  top:82px;
  max-height:calc(100vh - 96px);
  overflow:auto;
  padding:14px;
  scrollbar-width:thin;
}
.inspector form{display:grid;gap:11px;margin-top:12px}
.inspector #saveQuestion{
  position:sticky;
  bottom:0;
  z-index:5;
  width:100%;
  margin-top:2px;
  box-shadow:0 -10px 18px var(--surface);
}
.choice{display:grid;gap:8px}
.readiness{
  display:grid;
  gap:8px;
  padding:10px;
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  background:var(--surface-subtle);
}
.readiness-head{display:flex;justify-content:space-between;gap:8px;align-items:center}
.readiness-head strong{font-size:.84rem}
.readiness-head small{color:var(--warning);font-size:.75rem}
.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.check-grid button{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:38px;
  padding:6px 8px;
  border-color:var(--line);
  background:var(--surface);
  color:var(--text-muted);
  text-align:right;
  font-size:.76rem;
  font-weight:650;
}
.check-grid button i{
  width:8px;
  height:8px;
  flex:0 0 8px;
  border-radius:50%;
  background:var(--warning);
}
.check-grid button.done{border-color:color-mix(in srgb,var(--success) 55%,var(--line));background:var(--success-bg);color:var(--success)}
.check-grid button.done i{background:var(--success)}
.bio-panel{
  display:grid;
  gap:9px;
  padding:10px;
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  background:var(--surface-subtle);
}
.bio-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.bio-head>div{display:grid;gap:3px}
.bio-head strong{font-size:.9rem}
.bio-head small{color:var(--text-muted);font-size:.76rem}
.bio-toggle{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.bio-toggle button.active{border-color:var(--accent);background:var(--selection);color:var(--accent)}
.bio-topics{display:grid;gap:7px}
.bio-topic{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:8px;
  padding:9px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:var(--surface);
}
.bio-topic-head{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:8px}
.bio-topic-head strong{font-size:.82rem}
.danger-ghost{min-height:34px;border-color:var(--danger);background:transparent;color:var(--danger)}
.add-topic{border-style:dashed;background:var(--surface)}
.bio-gate{
  display:grid;
  gap:2px;
  padding:8px;
  border:1px solid var(--warning);
  border-radius:var(--radius-sm);
  background:var(--warning-bg);
}
.bio-gate.ready{border-color:var(--success);background:var(--success-bg)}
.bio-gate strong{font-size:.8rem}
.bio-gate span{color:var(--text-muted);font-size:.75rem}
.recent{padding:12px}
.recent-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}
.recent-item{
  padding:9px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:var(--surface-raised);
}
.recent-item strong{display:block;font-size:.84rem}
.recent-item span{display:block;margin-top:2px;color:var(--text-muted);font-size:.76rem}
.command-launcher{
  position:fixed;
  left:16px;
  bottom:16px;
  z-index:30;
  min-height:38px;
  box-shadow:var(--shadow);
  font-size:.78rem;
}
.hotkeys-dialog{
  width:min(660px,calc(100vw - 24px));
  max-width:none;
  padding:0;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-dialog);
}
.hotkeys-shell{display:grid;gap:12px;padding:14px}
.hotkeys-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.hotkeys-head h2{margin:0;font-size:1.05rem}
.hotkeys-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.hotkeys-grid span{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:9px;
  padding:9px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:var(--surface-subtle);
}
.hotkeys-grid b{font-size:.78rem}
.hotkeys-note{margin:0;color:var(--text-muted);font-size:.78rem}
.boot-splash{
  position:fixed;
  inset:0;
  z-index:1000;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  background:var(--bg);
  color:var(--text);
  transition:opacity 160ms ease;
}
.boot-splash.leaving{opacity:0;pointer-events:none}
.boot-mark{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:1px solid var(--line-strong);
  border-radius:var(--radius-md);
  background:var(--surface);
  color:var(--accent);
  font:800 1.15rem/1 var(--font-ui);
}
.boot-splash>div:last-child{display:grid;gap:2px}
.boot-splash strong{font-size:.9rem}
.boot-splash span{color:var(--text-muted);font-size:.78rem}
.login-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.auth-locked{overflow:hidden}
.operator-login-card.auth-success{border-color:var(--success)}
/* Selected Questions */
.selected-page{max-width:1380px}
.batch-summary,.batch-gate,.list-panel,.trash-panel{padding:14px}
.summary-actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.submission-receipt{max-width:74ch;color:var(--success);overflow-wrap:anywhere}
.batch-gate p{margin:8px 0;color:var(--text-muted);font-size:.84rem}
.issue-chips,.question-missing{display:flex;flex-wrap:wrap;gap:5px}
.issue-chips span,.question-missing span{
  padding:4px 7px;
  border:1px solid var(--warning);
  border-radius:999px;
  background:var(--warning-bg);
  color:var(--warning);
  font-size:.75rem;
}
.question-filters{
  display:grid;
  grid-template-columns:minmax(220px,1fr) minmax(180px,.5fr) auto;
  align-items:end;
  gap:8px;
  margin-top:12px;
}
.question-list{display:grid;gap:8px;margin-top:10px}
.question-card{
  display:grid;
  grid-template-columns:230px minmax(0,1fr);
  gap:12px;
  padding:10px;
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  background:var(--surface-raised);
}
.question-card[data-quality="warn"]{border-inline-start:3px solid var(--warning)}
.question-card[data-quality="ok"]{border-inline-start:3px solid var(--success)}
.previews{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.previews>div{display:grid;gap:4px}
.previews span{color:var(--text-muted);font-size:.75rem}
.previews img{
  width:100%;
  height:108px;
  object-fit:contain;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:var(--document-bg);
  cursor:zoom-in;
}
.previews img.missing{min-height:108px}
.question-main{display:grid;align-content:start;gap:7px}
.question-title{display:flex;justify-content:space-between;gap:8px;align-items:center}
.question-title strong{font-size:.95rem}
.question-meta{color:var(--text-muted);font-size:.82rem;line-height:1.8}
.question-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:3px}
.delete-btn{color:var(--danger)}
.trash-list{display:grid;gap:7px;margin-top:8px}
.trash-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:var(--surface-raised);
}
.settings-dialog{
  width:min(640px,calc(100vw - 24px));
  max-width:none;
  padding:0;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-dialog);
}
.dialog-card{display:grid;gap:11px;padding:15px}
.dialog-card.wide{width:min(780px,100%);max-height:86vh;overflow:auto}
.dialog-card form{display:grid;gap:10px}
.preview-dialog{
  width:min(1000px,calc(100vw - 20px));
  max-width:none;
  max-height:94dvh;
  padding:10px;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-dialog);
}
.preview-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}
.preview-dialog>img{display:block;width:100%;max-height:calc(94dvh - 76px);object-fit:contain;background:var(--document-bg)}
.guide-card{padding:15px}
.guide-card h2{margin:0 0 10px;font-size:1rem}
.guide-card p{color:var(--text-muted);font-size:.875rem;line-height:1.9}
.guide-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.guide-grid>div{
  padding:10px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:var(--surface-raised);
}
.guide-grid b{
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  border-radius:7px;
  background:var(--selection);
  color:var(--accent);
  font-size:.75rem;
}
.guide-grid strong{display:block;margin-top:7px;font-size:.85rem}
.guide-grid p{margin:4px 0 0;font-size:.78rem}
.shortcut-table{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}
.shortcut-table span{
  display:grid;
  gap:5px;
  padding:9px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  color:var(--text-muted);
  font-size:.78rem;
}
@media(max-width:1180px){
  .session-editor{grid-template-columns:repeat(3,minmax(0,1fr))}
  .workbench{grid-template-columns:1fr}
  .inspector{position:static;max-height:none}
  .recent-list{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .shell{width:calc(100% - 12px);margin-top:7px;gap:8px}
  .session-editor{grid-template-columns:1fr}
  .workflow-rail{display:flex;overflow-x:auto;scrollbar-width:none}
  .workflow-rail::-webkit-scrollbar{display:none}
  .workflow-rail>span{flex:0 0 112px}
  .viewer-tabs{padding:4px}
  .pdf-pane{padding-top:6px}
  .pdf-toolbar{justify-content:space-between;gap:5px;padding-inline:7px}
  .pdf-toolbar button{padding-inline:8px}
  .page-jump{width:100%;justify-content:center}
  .crop-help{display:block}
  .pdf-stage{height:calc(100svh - 188px);min-height:500px}
  .pdf-stage-shell>.mobile-crop-lock{
    display:grid;
    place-items:center;
    position:absolute;
    top:10px;
    left:10px;
  }
  .pdf-stage.mobile-browse-mode{display:block;overflow:auto;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch}
  .pdf-stage.mobile-browse-mode canvas{margin:0 auto;cursor:grab}
  .pdf-stage.mobile-crop-mode{display:grid;place-items:center;overflow:hidden;touch-action:none}
  .pdf-stage.mobile-crop-mode canvas{cursor:crosshair;touch-action:none}
  .check-grid{grid-template-columns:1fr}
  .bio-topic{grid-template-columns:1fr}
  .bio-topic-head{grid-column:1}
  .recent-list{grid-template-columns:1fr}
  .command-launcher{left:8px;bottom:8px}
  .hotkeys-grid{grid-template-columns:1fr}
  .question-filters{grid-template-columns:1fr}
  .question-card{grid-template-columns:1fr;gap:8px}
  .previews img{height:132px}
  .trash-item{align-items:flex-start;flex-direction:column}
  .trash-item button{width:100%}
  .guide-grid,.shortcut-table{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .guide-grid,.shortcut-table{grid-template-columns:1fr}
  .previews{grid-template-columns:1fr}
  .summary-actions{display:grid;width:100%}
  .summary-actions>*{width:100%;text-align:center}
}


/* Uiverse-inspired PDF picker and progress details */
.file-label{
  position:relative;
  gap:7px;
  padding:9px;
  border:1px dashed color-mix(in srgb,var(--control-border) 72%,var(--line));
  border-radius:var(--radius-md);
  background:color-mix(in srgb,var(--surface-raised) 86%,var(--selection));
  transition:border-color 160ms ease,background-color 160ms ease,box-shadow 160ms ease,transform 160ms ease;
}
.file-label::before{
  content:"PDF";
  position:absolute;
  inset-inline-end:9px;
  top:8px;
  display:grid;
  place-items:center;
  min-width:30px;
  height:21px;
  padding-inline:5px;
  border-radius:6px;
  background:var(--selection);
  color:var(--accent);
  font:800 9px/1 ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.04em;
}
.file-label:focus-within{
  border-style:solid;
  border-color:var(--accent);
  box-shadow:var(--focus);
  background:var(--surface-raised);
}
.file-label input[type="file"]{
  position:absolute;
  inset:0;
  z-index:3;
  width:100%;
  height:100%;
  min-height:0;
  opacity:0;
  cursor:pointer;
}
.file-label::after{
  content:"انتخاب فایل";
  justify-self:start;
  min-height:31px;
  display:inline-flex;
  align-items:center;
  margin-top:2px;
  padding:5px 9px;
  border:1px solid var(--control-border);
  border-radius:8px;
  background:var(--surface);
  color:var(--text);
  font-size:.75rem;
  font-weight:750;
  line-height:1.2;
  transition:border-color 140ms ease,background-color 140ms ease,color 140ms ease,transform 140ms ease;
}
.file-label:hover::after{border-color:var(--accent);background:var(--selection);color:var(--accent);transform:translateY(-1px)}
.file-state{
  min-height:20px;
  display:flex;
  align-items:center;
  gap:7px;
  padding-inline-end:1px;
}
.file-state::before{
  content:"";
  width:8px;
  height:8px;
  flex:0 0 8px;
  border-radius:50%;
  border:1px solid var(--line-strong);
  background:var(--surface);
}
.file-state[data-state="busy"]::before{
  width:11px;
  height:11px;
  flex-basis:11px;
  border:2px solid var(--line);
  border-top-color:var(--accent);
  background:transparent;
  animation:fileStateSpin .72s linear infinite;
}
.file-state[data-state="active"]::before{border-color:var(--success);background:var(--success);box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 12%,transparent)}
.workflow-rail{position:relative;overflow:hidden}
.workflow-rail::before{
  content:"";
  position:absolute;
  inset-inline:8px;
  top:50%;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--line),var(--line),transparent);
  z-index:0;
}
.workflow-rail>span{position:relative;z-index:1;border:1px solid transparent}
.workflow-rail>span.active{border-color:color-mix(in srgb,var(--accent) 30%,var(--line));box-shadow:0 3px 12px color-mix(in srgb,var(--accent) 9%,transparent)}
.workflow-rail>span.done i{position:relative;font-size:0}
.workflow-rail>span.done i::after{content:"✓";font:800 11px/1 var(--font-ui)}
.command-launcher{
  display:inline-flex;
  align-items:center;
  gap:7px;
  border-radius:999px;
  background:color-mix(in srgb,var(--surface-raised) 94%,var(--selection));
}
.command-launcher::before{content:"⌨";font:700 15px/1 system-ui,sans-serif;color:var(--accent)}
@keyframes fileStateSpin{to{transform:rotate(360deg)}}
@media(hover:hover){
  .file-label:hover{border-color:color-mix(in srgb,var(--accent) 58%,var(--control-border));background:var(--surface-raised);transform:translateY(-1px);box-shadow:0 8px 20px rgba(20,28,36,.05)}
}
@media(max-width:760px){
  .file-label{padding:8px}
  .workflow-rail::before{display:none}
}
@media(prefers-reduced-motion:reduce){.file-state[data-state="busy"]::before{animation:none}}


@media(max-width:600px){
  .command-launcher{display:none}
}

/* Premium operator workspace layer */
.session{
  position:relative;
  overflow:hidden;
  padding:16px;
}
.session::before{
  content:"";
  position:absolute;
  inset-block:0 auto;
  inset-inline:18px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(118,183,255,.52),transparent);
}
.session .section-head{align-items:center}
.session .section-head h2{font-size:1.08rem;letter-spacing:-.01em}
.session-editor{gap:12px;margin-top:14px}
.file-label{
  border-style:solid;
  border-color:#2C3A4B;
  background:linear-gradient(180deg,#121B25,#0F171F);
}
.file-label:hover{
  border-color:#46617D;
  background:linear-gradient(180deg,#162230,#111A23);
}
.date-field{
  border-color:#314052;
  background:#0F161E;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.2);
}
.workflow-rail{
  gap:6px;
  padding:6px;
  border-color:#243140;
  background:rgba(12,18,25,.72);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.018);
}
.workflow-rail>span{
  position:relative;
  min-height:42px;
  padding:7px 10px;
  border:1px solid transparent;
  border-radius:10px;
  transition:background-color 150ms ease,border-color 150ms ease,color 150ms ease;
}
.workflow-rail>span.done{
  border-color:rgba(120,214,165,.1);
  background:rgba(16,41,31,.34);
}
.workflow-rail>span.active{
  border-color:rgba(118,183,255,.32);
  background:linear-gradient(180deg,rgba(32,64,94,.86),rgba(22,44,65,.82));
  box-shadow:0 6px 18px rgba(13,37,61,.18),inset 0 1px 0 rgba(255,255,255,.035);
}
.workflow-rail i{
  border-color:#314154;
  background:#111923;
  border-radius:7px;
}
.workflow-rail>span.active i{
  border-color:#568DC2;
  background:#0F1D2B;
}
.workbench{gap:14px}
.viewer{
  border-color:#243140;
  background:#0B1016;
  box-shadow:0 18px 44px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.02);
}
.viewer-tabs{
  gap:6px;
  padding:7px;
  border-bottom-color:#222E3A;
  background:#0E151D;
}
.viewer-tabs button{
  min-height:40px;
  border:1px solid transparent;
  border-radius:10px;
  background:transparent;
}
.viewer-tabs button.active{
  border-color:#324256;
  background:linear-gradient(180deg,#192431,#141D27);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 4px 14px rgba(0,0,0,.16);
}
.viewer-tabs button.active span{
  background:#19324B;
  color:#A9D2FF;
}
.pdf-pane{padding-top:10px;background:#0B1016}
.pdf-toolbar{
  gap:7px;
  padding:0 12px 10px;
}
.pdf-toolbar button,
.page-jump input{
  min-height:36px;
  border-radius:9px;
}
.pdf-toolbar>span{
  color:#7F8EA1;
  font-weight:700;
}
.pdf-stage{
  border-top-color:#1D2834;
  background:
    linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.012) 1px,transparent 1px),
    #070B10;
  background-size:28px 28px;
}
.pdf-stage canvas{
  border-radius:2px;
  box-shadow:0 18px 46px rgba(0,0,0,.46),0 0 0 1px rgba(255,255,255,.05);
}
.crop-box{
  border:2px solid #72B7FF;
  border-radius:6px;
  background:rgba(69,154,241,.12);
  box-shadow:0 0 0 1px rgba(7,16,25,.65),0 0 22px rgba(68,155,242,.13);
}
.mobile-crop-lock{
  border-color:#43536A;
  background:rgba(14,21,29,.94);
  box-shadow:0 10px 28px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.04);
}
.crop-freeze-row{
  padding:9px 10px 10px;
  border-top-color:#202B37;
  background:#0E151D;
}
.crop-freeze{
  min-height:44px;
  border-radius:10px;
}
.crop-freeze.unlocked{
  border-color:#713A43;
  background:linear-gradient(180deg,#351C21,#2B171C);
  color:#FF9CA1;
}
.crop-freeze.locked{
  border-color:#2D674A;
  background:linear-gradient(180deg,#133323,#10291F);
  color:#8BE0B2;
}
.inspector{
  top:84px;
  padding:16px;
  border-color:#263342;
  background:linear-gradient(180deg,#121A24,#101720);
  box-shadow:0 18px 42px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.025);
}
.inspector .section-head{
  padding-bottom:10px;
  border-bottom:1px solid #202C39;
}
.inspector form{gap:13px;margin-top:14px}
.inspector label{gap:7px}
.segmented{gap:6px}
.segmented button{
  border-color:#304052;
  background:#101821;
  box-shadow:none;
}
.segmented button:hover{background:#16212D}
.segmented button.active{
  border-color:#4D8EC9;
  background:linear-gradient(180deg,#1D3A54,#172E43);
  color:#A9D2FF;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.readiness{
  gap:10px;
  padding:11px;
  border-color:#293746;
  background:linear-gradient(180deg,#141D27,#111922);
}
.check-grid{gap:6px}
.check-grid button{
  border-color:#293746;
  background:#101821;
}
.check-grid button.done{
  border-color:#28583F;
  background:#10291F;
}
.bio-panel{
  border-color:#2A3949;
  background:linear-gradient(180deg,#151F2A,#111922);
}
.recent{
  padding:14px;
  border-color:#243140;
}
.recent-list{gap:9px}
.recent-item{
  border-color:#283646;
  background:linear-gradient(180deg,#151E29,#111922);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.018);
}
.recent-item strong{color:#ECF3F9}
.command-launcher{
  border-color:#35475C;
  background:rgba(15,23,32,.94);
  box-shadow:0 14px 36px rgba(0,0,0,.36),inset 0 1px 0 rgba(255,255,255,.035);
  backdrop-filter:blur(12px);
}
.hotkeys-dialog,
.settings-dialog{
  border-color:#304052;
  background:#101720;
}
.question-card{
  border-color:#293746;
  background:linear-gradient(180deg,#151E29,#111821);
}
.previews img{
  border-color:#2B3948;
  background:#090E14;
}
.guide-card{
  border-color:#263443;
  background:linear-gradient(180deg,#131C26,#101720);
}
@media(hover:hover){
  .panel:hover{border-color:#2C3B4D}
  .recent-item:hover,
  .question-card:hover{
    border-color:#39506A;
    box-shadow:0 14px 32px rgba(0,0,0,.2);
  }
}
@media(max-width:760px){
  .shell{gap:10px}
  .session{padding:12px}
  .workflow-rail{padding:5px}
  .workflow-rail>span{min-height:40px}
  .viewer{border-radius:16px}
  .viewer-tabs{padding:6px}
  .pdf-toolbar{
    padding-inline:8px;
    padding-bottom:9px;
  }
  .pdf-stage{border-top-color:#1E2935}
  .inspector{
    padding:13px;
    border-radius:16px;
  }
  .crop-freeze-row{padding:8px}
  .crop-freeze{min-height:46px}
}

/* Cute Premium Dark final layer
   Friendly professional workspace: softer geometry, quieter chrome, stronger content focus. */
.shell{gap:14px;margin-top:16px}
.topbar nav{
  gap:5px;
  padding:4px;
  border:1px solid color-mix(in srgb,var(--line) 88%,transparent);
  border-radius:var(--radius-pill);
  background:rgba(16,24,35,.72);
}
.topbar nav a{
  min-height:36px;
  padding:7px 12px;
  border:1px solid transparent;
  border-radius:var(--radius-pill);
}
.topbar nav a:hover{
  border-color:#314257;
  background:#151F2C;
}
.topbar nav a.active{
  border-color:#415975;
  background:linear-gradient(135deg,rgba(143,200,255,.16),rgba(184,172,255,.1));
  color:#CDE7FF;
}
.topbar nav a::after{display:none}
.session{
  padding:17px;
  border-radius:var(--radius-lg);
}
.session::before{
  inset-inline:22px;
  background:linear-gradient(90deg,transparent,rgba(143,200,255,.44),rgba(184,172,255,.28),transparent);
}
.session-editor{gap:13px}
.session-editor>label,
.session-editor>.session-field{
  min-width:0;
}
.file-label{
  min-height:108px;
  align-content:start;
  padding:11px;
  border-color:#3A4B60;
  border-radius:var(--radius-md);
  background:linear-gradient(160deg,rgba(28,42,58,.9),rgba(15,24,35,.96));
}
.file-label::before{
  top:10px;
  inset-inline-end:10px;
  height:22px;
  min-width:34px;
  border:1px solid #3C5875;
  border-radius:var(--radius-pill);
  background:linear-gradient(135deg,rgba(143,200,255,.14),rgba(184,172,255,.1));
  color:#B9DDFE;
}
.file-label::after{
  border-radius:var(--radius-pill);
  border-color:#4A5E75;
  background:#141F2C;
}
.file-label:hover{
  border-color:#6B84A0;
  background:linear-gradient(160deg,rgba(31,48,67,.94),rgba(17,27,39,.98));
}
.file-state{color:#9FAEC0}
.date-field{
  border-color:#40536A;
  border-radius:var(--radius-md);
  background:#0E151F;
}
.date-field:focus-within{
  border-color:#7DBDF8;
  background:#101A27;
}
.workflow-rail{
  gap:7px;
  padding:6px;
  border-color:#2B3A4D;
  border-radius:var(--radius-lg);
  background:rgba(12,18,27,.8);
}
.workflow-rail::before{
  inset-inline:26px;
  background:linear-gradient(90deg,transparent,#324153 14%,#324153 86%,transparent);
}
.workflow-rail>span{
  min-height:44px;
  padding:7px 10px;
  border-radius:var(--radius-md);
}
.workflow-rail i{
  width:23px;
  height:23px;
  flex-basis:23px;
  border-radius:9px;
}
.workflow-rail>span.done{
  border-color:rgba(123,219,168,.2);
  background:linear-gradient(180deg,rgba(17,45,34,.78),rgba(15,36,28,.62));
}
.workflow-rail>span.active{
  border-color:rgba(143,200,255,.42);
  background:linear-gradient(135deg,rgba(35,68,99,.9),rgba(50,52,91,.54));
  color:#CFE9FF;
  box-shadow:0 8px 20px rgba(21,53,82,.2),inset 0 1px 0 rgba(255,255,255,.045);
}
.workflow-rail>span.active i{
  border-color:#6C9BC7;
  background:#13273A;
  color:#CBE7FF;
}
.workbench{
  grid-template-columns:minmax(0,1fr) minmax(340px,380px);
  gap:16px;
}
.viewer{
  border-color:#29394B;
  border-radius:var(--radius-xl);
  background:#090E14;
  box-shadow:0 22px 56px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.024);
}
.viewer-tabs{
  gap:7px;
  padding:8px;
  border-bottom-color:#243243;
  background:#0D141D;
}
.viewer-tabs button{
  min-height:42px;
  border-radius:var(--radius-pill);
  color:#92A2B5;
}
.viewer-tabs button.active{
  border-color:#435873;
  background:linear-gradient(135deg,rgba(35,57,79,.96),rgba(43,44,73,.78));
  color:#F1F7FC;
  box-shadow:0 7px 18px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.05);
}
.viewer-tabs button span{
  border:1px solid transparent;
  border-radius:var(--radius-pill);
}
.viewer-tabs button.active span{
  border-color:rgba(143,200,255,.18);
  background:#1A3550;
  color:#BFE1FF;
}
.pdf-pane{padding-top:11px}
.pdf-toolbar{
  gap:8px;
  padding:0 12px 11px;
}
.pdf-toolbar button{
  min-height:38px;
  border-radius:var(--radius-pill);
  padding-inline:12px;
}
.page-jump{
  padding:3px 5px 3px 9px;
  border:1px solid #2D3C4F;
  border-radius:var(--radius-pill);
  background:#0E1620;
}
.page-jump input{
  width:60px;
  min-height:32px;
  border-radius:var(--radius-pill);
}
.pdf-toolbar>span{
  min-width:58px;
  padding:5px 10px;
  border:1px solid #2D3D50;
  border-radius:var(--radius-pill);
  background:#101923;
  color:#B1BDCC;
}
.pdf-stage{
  border-top-color:#1D2936;
  background:
    radial-gradient(620px 320px at 50% 0%,rgba(143,200,255,.025),transparent 70%),
    linear-gradient(rgba(255,255,255,.01) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.01) 1px,transparent 1px),
    #070B10;
  background-size:auto,32px 32px,32px 32px,auto;
}
.pdf-stage canvas{
  box-shadow:0 22px 58px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.055);
}
.crop-box{
  border-color:#8FC8FF;
  border-radius:8px;
  background:rgba(143,200,255,.105);
  box-shadow:0 0 0 1px rgba(7,15,24,.72),0 0 0 4px rgba(143,200,255,.045),0 0 24px rgba(143,200,255,.12);
}
.crop-freeze-row{
  padding:9px;
  border-top-color:#243243;
  background:#0D141D;
}
.crop-freeze{
  min-height:46px;
  border-radius:var(--radius-pill);
  letter-spacing:.005em;
}
.crop-freeze.unlocked{
  border-color:#824952;
  background:linear-gradient(135deg,#3A2027,#2F1920);
  color:#FFADB1;
}
.crop-freeze.unlocked:hover{
  border-color:#A25D67;
  background:linear-gradient(135deg,#43242C,#351C23);
}
.crop-freeze.locked{
  border-color:#3F7B5C;
  background:linear-gradient(135deg,#163728,#102C21);
  color:#9AE6BB;
}
.crop-freeze.locked:hover{
  border-color:#5A9A77;
  background:linear-gradient(135deg,#1A402F,#133426);
}
.mobile-crop-lock{
  border-color:#60758C;
  background:rgba(15,24,35,.96);
  color:#C7D6E6;
  box-shadow:0 12px 32px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.05);
}
.inspector{
  top:84px;
  padding:16px;
  border-color:#2D3D50;
  border-radius:var(--radius-xl);
  background:linear-gradient(160deg,#131D29,#0F1722 62%,#101722);
  box-shadow:0 20px 52px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.03);
}
.inspector .section-head{
  padding:2px 2px 12px;
  border-bottom-color:#263547;
}
.inspector .section-head h2{font-size:1.02rem}
.inspector form{gap:14px;margin-top:15px}
.inspector #sourceNumber{
  min-height:46px;
  border-color:#526A84;
  background:linear-gradient(135deg,#101B28,#101823);
  font-size:1.05rem;
  font-weight:800;
  text-align:center;
  font-variant-numeric:tabular-nums;
}
.inspector #sourceNumber:focus-visible{
  border-color:#8FC8FF;
  box-shadow:0 0 0 3px rgba(143,200,255,.14),0 0 24px rgba(143,200,255,.055);
}
.inspector .two{
  gap:9px;
  padding:10px;
  border:1px solid #2A394B;
  border-radius:var(--radius-md);
  background:rgba(12,19,28,.44);
}
.inspector fieldset{
  padding:11px;
  border-color:#304154;
  border-radius:var(--radius-md);
  background:rgba(11,18,27,.48);
}
.inspector fieldset legend{
  padding-inline:7px;
  color:#B7C5D5;
}
.segmented{gap:7px}
.segmented button{
  min-height:40px;
  border-color:#40536A;
  border-radius:var(--radius-pill);
  background:#101923;
}
.segmented button:hover{
  border-color:#617991;
  background:#172333;
}
.segmented button.active{
  border-color:#72ACE3;
  background:linear-gradient(135deg,#224463,#32345B);
  color:#D6ECFF;
  box-shadow:0 7px 18px rgba(24,65,101,.18),inset 0 1px 0 rgba(255,255,255,.055);
}
:root[data-theme="dark"] .segmented button.active,
:root[data-theme="dark"] .segmented button.active:hover,
:root[data-theme="dark"] .segmented button.active:focus-visible{
  border-color:#72ACE3;
  background:linear-gradient(135deg,#224463,#32345B);
  color:#D6ECFF;
  box-shadow:0 7px 18px rgba(24,65,101,.18),inset 0 1px 0 rgba(255,255,255,.055);
}
.bio-panel{
  padding:11px;
  border-color:#314357;
  border-radius:var(--radius-lg);
  background:linear-gradient(160deg,rgba(24,36,50,.96),rgba(16,25,36,.96));
}
.bio-toggle button{border-radius:var(--radius-pill)}
.readiness{
  gap:10px;
  padding:11px;
  border-color:#314154;
  border-radius:var(--radius-lg);
  background:linear-gradient(160deg,#151F2C,#101822);
}
.readiness-head{
  padding-inline:2px;
}
.readiness-head small{
  padding:3px 7px;
  border:1px solid #5D4B28;
  border-radius:var(--radius-pill);
  background:#2A2214;
}
.check-grid{gap:7px}
.check-grid button{
  min-height:40px;
  border-color:#314154;
  border-radius:var(--radius-md);
  background:#101923;
}
.check-grid button i{
  width:9px;
  height:9px;
  flex-basis:9px;
  box-shadow:0 0 0 3px rgba(242,200,112,.06);
}
.check-grid button.done{
  border-color:#37664F;
  background:linear-gradient(135deg,#143126,#11281F);
}
.check-grid button.done i{box-shadow:0 0 0 3px rgba(123,219,168,.09)}
.gate-badge{
  min-height:30px;
  padding-inline:10px;
  border-radius:var(--radius-pill);
}
.inspector #saveQuestion{
  min-height:48px;
  border-radius:var(--radius-pill);
  box-shadow:0 -16px 24px #101720,0 10px 28px rgba(76,151,222,.15);
}
.inspector #saveQuestion:disabled{
  border-color:#39495D;
  background:#17202A;
  color:#718096;
  box-shadow:0 -14px 22px #101720;
}
.recent{
  padding:15px;
  border-radius:var(--radius-lg);
}
.recent-list{gap:10px}
.recent-item{
  padding:11px;
  border-color:#304052;
  border-radius:var(--radius-md);
  background:linear-gradient(155deg,#16212E,#111923);
}
.recent-item:hover{
  border-color:#4B637D;
  background:linear-gradient(155deg,#192737,#131D29);
}
.empty-box{
  border-color:#51657B;
  border-radius:var(--radius-lg);
  background:rgba(13,20,29,.34);
}
.command-launcher{
  min-height:40px;
  padding-inline:14px;
  border-color:#4B6079;
  border-radius:var(--radius-pill);
  background:rgba(15,24,35,.95);
}
.hotkeys-dialog,
.settings-dialog,
.preview-dialog{
  border-color:#394C63;
  border-radius:var(--radius-xl);
  background:#0F1722;
}
.hotkeys-grid span{
  border-color:#324358;
  border-radius:var(--radius-md);
  background:#131E2B;
}
.batch-summary,
.batch-gate,
.list-panel,
.trash-panel{
  border-radius:var(--radius-lg);
}
.summary-actions{
  gap:8px;
}
.summary-actions>*{
  border-radius:var(--radius-pill);
}
.batch-gate{
  background:linear-gradient(155deg,#131D29,#101822);
}
.issue-chips span,
.question-missing span{
  border-radius:var(--radius-pill);
}
.question-filters{
  gap:10px;
  padding:11px;
  border:1px solid #2D3D50;
  border-radius:var(--radius-lg);
  background:#0F1721;
}
.question-card{
  gap:14px;
  padding:12px;
  border-color:#304052;
  border-radius:var(--radius-lg);
  background:linear-gradient(155deg,#16212E,#111923);
}
.question-card[data-quality="warn"]{border-inline-start-color:#D3A953}
.question-card[data-quality="ok"]{border-inline-start-color:#62B98A}
.previews{gap:8px}
.previews img{
  border-color:#35475B;
  border-radius:var(--radius-md);
  background:#080D13;
}
.question-title strong{font-size:.98rem}
.question-actions button{border-radius:var(--radius-pill)}
.trash-item{
  border-color:#304052;
  border-radius:var(--radius-md);
  background:#131D29;
}
.dialog-card{
  gap:13px;
  padding:17px;
}
.preview-dialog-head{
  padding-bottom:9px;
  border-bottom:1px solid #263547;
}
.guide-page{max-width:1180px}
.guide-card{
  padding:17px;
  border-color:#304052;
  border-radius:var(--radius-lg);
  background:linear-gradient(155deg,#151F2B,#101822);
}
.guide-card h2{
  margin-bottom:8px;
  color:#F3F7FB;
}
.guide-card strong{color:#D9E9F7}
.guide-grid>div,
.shortcut-table>div{
  border-color:#314256;
  border-radius:var(--radius-md);
  background:#121C28;
}
@media(hover:hover){
  .session:hover,
  .viewer:hover,
  .inspector:hover,
  .recent:hover{border-color:#3A4D63}
  .segmented button:hover,
  .pdf-toolbar button:hover,
  .question-actions button:hover{transform:translateY(-1px)}
}
@media(max-width:1180px){
  .workbench{grid-template-columns:1fr}
  .inspector{position:static;max-height:none}
}
@media(max-width:760px){
  .shell{margin-top:8px;gap:10px}
  .topbar nav{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    width:100%;
    border-radius:var(--radius-lg);
  }
  .topbar nav a{justify-content:center;text-align:center}
  .session{padding:13px}
  .session-editor{gap:10px}
  .file-label{min-height:100px}
  .workflow-rail{gap:5px}
  .workflow-rail>span{
    flex-basis:118px;
    border-radius:var(--radius-md);
  }
  .viewer{border-radius:var(--radius-lg)}
  .viewer-tabs{padding:6px}
  .viewer-tabs button{min-height:44px}
  .pdf-toolbar{
    gap:6px;
    padding-inline:8px;
  }
  .pdf-toolbar button{min-height:44px}
  .page-jump{
    width:100%;
    justify-content:center;
    border-radius:var(--radius-lg);
  }
  .page-jump input{min-height:38px}
  .mobile-crop-lock{
    width:48px;
    min-height:48px;
  }
  .crop-freeze{min-height:48px}
  .inspector{
    padding:13px;
    border-radius:var(--radius-lg);
  }
  .inspector .two{
    padding:9px;
  }
  .segmented button{min-height:44px}
  .check-grid button{min-height:44px}
  .inspector #saveQuestion{min-height:50px}
  .recent{padding:12px}
  .question-card{padding:10px}
  .question-actions{display:grid;grid-template-columns:1fr}
  .question-actions button{width:100%;min-height:44px}
  .question-filters{padding:9px}
  .guide-card{padding:14px}
}

/* Scroll-performance hotfix */
.pdf-stage{
  contain:paint;
}
.viewer{
  box-shadow:0 9px 24px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.022);
}
.pdf-stage canvas{
  box-shadow:0 7px 18px rgba(0,0,0,.3),0 0 0 1px rgba(255,255,255,.055);
}
.inspector{
  box-shadow:0 8px 22px rgba(0,0,0,.17),inset 0 1px 0 rgba(255,255,255,.025);
}
.command-launcher{
  backdrop-filter:none;
}
.recent,
.batch-gate,
.list-panel,
.trash-panel,
.guide-card{
  content-visibility:auto;
  contain-intrinsic-size:auto 260px;
}
@media(max-width:760px){
  .panel,
  .viewer,
  .inspector,
  .recent-item,
  .question-card{
    box-shadow:none;
  }
  .pdf-stage canvas{
    box-shadow:0 0 0 1px rgba(255,255,255,.06);
  }
  .mobile-crop-lock{
    box-shadow:0 4px 12px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.04);
  }
  .inspector #saveQuestion,
  .inspector #saveQuestion:disabled{
    box-shadow:none;
  }
}

/* Keep the mobile crop-mode escape control visible whenever the JS treats the device as mobile. */
@media (pointer:coarse), (max-width:760px){
  .pdf-stage-shell>.mobile-crop-lock{
    display:grid;
    place-items:center;
    position:absolute;
    top:10px;
    left:10px;
    z-index:20;
  }
}
