:root{--green:#047a19;--bg:#f3f5f6;--ink:#17212b;--muted:#60707f;--line:#d4dbe2;--card:#fff;--blue:#1867d2;--danger:#b42318}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--ink)}button,select,input,textarea{font:inherit}button{border:0;background:var(--green);color:white;border-radius:9px;padding:10px 14px;font-weight:700;cursor:pointer}button.secondary{background:#1f6feb}button.ghost{background:#eef2f6;color:#111;border:1px solid #cfd7df}button.danger{background:var(--danger)}button.active,.leftNav button.active{background:#083b11}.hidden{display:none!important}.loginScreen{min-height:100vh;display:grid;place-items:center;padding:20px}.loginCard{width:min(960px,100%);background:white;border-radius:20px;box-shadow:0 20px 70px #0002;padding:26px}.brand{display:flex;gap:16px;align-items:center}.brand span{display:grid;place-items:center;background:var(--green);color:#fff;border-radius:16px;width:76px;height:76px;font-size:32px;font-weight:900}.brand h1{margin:0}.brand p,.fine,.muted{color:var(--muted)}.loginColumns{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0}.loginColumns section,.card{background:#f8fafb;border:1px solid var(--line);border-radius:16px;padding:16px}label{display:block;margin:10px 0;font-weight:700}input,select,textarea{width:100%;border:1px solid #cbd5df;border-radius:9px;padding:10px;background:white}textarea{min-height:80px;resize:vertical}.wide{width:100%}.app{min-height:100vh;display:grid;grid-template-columns:160px 1fr;grid-template-rows:54px 1fr}.topbar{grid-column:1/3;background:#111827;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 14px}.topbar span{margin-left:10px;color:#b6c1cc}.topActions{display:flex;gap:8px;align-items:center}.topActions button,.fileBtn{background:#273244;color:white;padding:8px 10px;border-radius:8px;font-weight:700}.fileBtn input{display:none}.leftNav{grid-row:2;background:#0f172a;padding:12px;display:flex;flex-direction:column;gap:8px}.leftNav button{text-align:left;background:transparent;color:#e5edf6;border:1px solid #26344c}.main{overflow:auto}.tab{display:none;padding:18px}.tab.active{display:block}.panelHeader{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.panelHeader h1{margin:0}.jobGrid,.boardGrid{display:grid;grid-template-columns:minmax(320px,480px) 1fr;gap:16px}.list{display:grid;gap:8px}.list button{background:white;color:#111;border:1px solid var(--line);text-align:left}.certWorkspace{padding:0}.certToolbar{position:sticky;top:0;z-index:20;background:white;border-bottom:1px solid var(--line);display:flex;gap:8px;align-items:center;padding:8px;flex-wrap:wrap}.certToolbar select{width:auto;min-width:180px}.certToolbar label{display:flex;align-items:center;gap:8px;margin:0}.certToolbar input[type=range]{width:140px}.certSplit{display:grid;grid-template-columns:360px 1fr;min-height:calc(100vh - 112px)}.fieldPanel{background:white;border-right:1px solid var(--line);padding:12px;overflow:auto;max-height:calc(100vh - 112px)}.fieldPanelHead{position:sticky;top:0;background:white;z-index:2;padding-bottom:8px}.fieldPanel h2{margin:0 0 8px;font-size:18px}.selectedEditor{border:1px solid var(--line);border-radius:12px;padding:12px;margin:10px 0;background:#f8fafb}.fieldList{display:grid;gap:6px;margin-top:8px}.fieldItem{display:flex;align-items:center;gap:6px;border:1px solid #d7dee7;border-radius:9px;padding:6px;background:white}.fieldItem.active{outline:3px solid #9bd7a7}.fieldItem span{flex:1;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fieldItem button{padding:6px 8px;background:#eef2f6;color:#111}.viewerWrap{overflow:auto;padding:14px}.viewerNotice{background:#fff7dd;border:1px solid #ead58b;border-radius:12px;padding:10px;margin-bottom:12px}.pageStage{transform-origin:top left;margin:auto;position:relative;background:white;box-shadow:0 16px 50px #0003}.pageStage img{display:block;width:100%;height:auto;user-select:none}.fieldOverlay{position:absolute;border:1px dashed rgba(24,103,210,.36);background:rgba(255,255,255,.12);min-width:10px;min-height:10px}.fieldOverlay:hover,.fieldOverlay.active{outline:2px solid #1867d2;background:rgba(24,103,210,.08)}.fieldOverlay input,.fieldOverlay textarea{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0;background:rgba(255,255,255,.96);padding:2px 4px;font-size:11px;line-height:1.05;resize:none;overflow:hidden;color:#111}.fieldOverlay.choice{display:grid;place-items:center;font-weight:900;font-size:18px;cursor:pointer;background:rgba(255,255,255,.96)}.fieldOverlay.choice.empty::after{content:'';width:100%;height:100%;background:rgba(255,255,255,.2)}.choiceButtons{display:flex;flex-wrap:wrap;gap:8px}.choiceButtons button{background:#eef2f6;color:#111;border:1px solid #cfd7df}.choiceButtons button.active{background:#063f13;color:white;text-decoration:none}.choiceButtons button.crossed{text-decoration:line-through;color:#8d98a6}.miniGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.guardian{font-size:14px;display:grid;gap:6px}.guardGood{color:#067647}.guardBad{color:#b42318}.boardWays{display:grid;grid-template-columns:repeat(auto-fill,minmax(115px,1fr));gap:10px;margin-top:10px}.wayCard{background:white;border:1px solid #cfd7df;border-radius:12px;padding:8px}.wayCard input,.wayCard select{padding:7px;margin-top:5px}.boardWaysToolbar{display:flex;gap:8px}#ocrText{min-height:180px}@media(max-width:900px){.app{grid-template-columns:1fr}.topbar{grid-column:1}.leftNav{grid-row:auto;flex-direction:row;overflow:auto}.certSplit,.jobGrid,.boardGrid,.loginColumns{grid-template-columns:1fr}.fieldPanel{max-height:none}.certSplit{display:flex;flex-direction:column}.fieldPanel{order:2}.viewerWrap{order:1}.certToolbar{position:static}}@media print{body{background:white}.topbar,.leftNav,.certToolbar,.fieldPanel,.viewerNotice{display:none!important}.app{display:block}.main,.tab,.certWorkspace,.certSplit,.viewerWrap{display:block;padding:0;overflow:visible}.tab:not(.active){display:none}.pageStage{box-shadow:none;margin:0;transform:none!important;width:100%!important;page-break-after:always}.fieldOverlay{border:0!important;background:transparent!important}.fieldOverlay input,.fieldOverlay textarea{border:0!important;background:transparent!important}.fieldOverlay.choice.empty{display:none}}
.inlineLabel{display:flex;align-items:center;gap:6px;margin:0;font-weight:700}.inlineLabel select{min-width:150px}.editorTop{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.pill,.typeBadge{display:inline-block;background:#eef6ff;color:#124b8a;border:1px solid #b7d6f5;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:800}.typeBadge{min-width:42px;text-align:center;padding:2px 5px}.splitBox{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}.splitBox p{margin:4px 0 8px}.fieldOverlay.type-status,.fieldOverlay.type-tick{background:rgba(255,255,255,.08)}.fieldOverlay.type-text,.fieldOverlay.type-number,.fieldOverlay.type-date{background:rgba(24,103,210,.03)}.fieldOverlay.type-text input,.fieldOverlay.type-number input,.fieldOverlay.type-date input{white-space:nowrap}.fieldOverlay.type-signature input{font-family:"Brush Script MT",cursive;font-size:16px}.fieldOverlay.type-text:hover,.fieldOverlay.type-number:hover,.fieldOverlay.type-date:hover{outline-color:#0b63ce}.fieldOverlay.type-status:hover,.fieldOverlay.type-tick:hover{outline-color:#0f8a2c}.fieldOverlay.choice{line-height:1}.fieldOverlay.choice.empty::after{background:rgba(15,138,44,.08)}.ghost{background:#eef2f6!important;color:#111!important;border:1px solid #cfd7df!important}

/* v6 continuous certificate preview + all-pages PDF export */
.pagesStack{display:flex;flex-direction:column;gap:24px;align-items:center;transform-origin:top center;margin:auto;background:transparent!important;box-shadow:none!important;position:relative}
.formPageStage{position:relative;background:white;box-shadow:0 16px 50px #0003;flex:0 0 auto}
.formPageStage.activePageStage{outline:4px solid rgba(4,122,25,.35);outline-offset:8px}
.formPageStage img{display:block;width:100%;height:auto;user-select:none}
.pageTag{position:absolute;right:8px;top:8px;background:#111827cc;color:white;font-size:12px;font-weight:800;border-radius:999px;padding:4px 8px;pointer-events:none}
@media print{.pagesStack{display:block!important;transform:none!important;margin:0!important;width:100%!important;background:white!important}.formPageStage{box-shadow:none!important;outline:0!important;margin:0!important;width:100%!important;height:auto!important;page-break-after:always;break-after:page}.formPageStage img{width:100%!important;height:auto!important}.pageTag{display:none!important}.formPageStage:last-child{page-break-after:auto;break-after:auto}}

/* v7 keep the left selection/editor panel locked on screen while scrolling the form preview */
.tab.certWorkspace.active{display:flex;flex-direction:column;height:calc(100vh - 54px);overflow:hidden;padding:0}
.tab.certWorkspace.active .certToolbar{flex:0 0 auto;position:relative;top:auto;z-index:30}
.tab.certWorkspace.active .certSplit{flex:1 1 auto;min-height:0;height:auto;overflow:hidden;display:grid;grid-template-columns:360px minmax(0,1fr)}
.tab.certWorkspace.active .fieldPanel{position:sticky;top:0;align-self:start;height:100%;max-height:none;overflow-y:auto;overflow-x:hidden;background:white;z-index:10}
.tab.certWorkspace.active .viewerWrap{height:100%;min-height:0;overflow:auto;overscroll-behavior:contain}
.tab.certWorkspace.active .pagesStack{padding-bottom:40px}
@media(max-width:900px){.tab.certWorkspace.active{height:auto;overflow:visible}.tab.certWorkspace.active .certSplit{display:flex;flex-direction:column;height:auto;overflow:visible}.tab.certWorkspace.active .fieldPanel{position:sticky;top:0;max-height:55vh;height:auto;order:1;border-right:0;border-bottom:1px solid var(--line)}.tab.certWorkspace.active .viewerWrap{height:auto;overflow:visible;order:2}}
@media print{.tab.certWorkspace.active{display:block!important;height:auto!important;overflow:visible!important}.tab.certWorkspace.active .certSplit{display:block!important;height:auto!important;overflow:visible!important}.tab.certWorkspace.active .viewerWrap{height:auto!important;overflow:visible!important}.tab.certWorkspace.active .fieldPanel{display:none!important}}

/* v8 field text styling, dropdowns, logo insets and certificate colour control */
.fieldOverlay select{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0;background:rgba(255,255,255,.96);padding:1px 3px;font-size:11px;line-height:1.05;color:#111;appearance:none;-webkit-appearance:none;}
.fieldOverlay.type-logo{background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;overflow:hidden;border-style:dashed;}
.logoFieldImg{max-width:100%;max-height:100%;object-fit:contain;display:block;pointer-events:none;}
.logoPlaceholder{font-size:12px;font-weight:800;color:#4b5563;border:1px dashed #9aa4b2;border-radius:6px;padding:4px 8px;background:#ffffffcc;}
.logoEditor,.textStyleBox{border-top:1px solid var(--line);margin-top:10px;padding-top:10px;display:grid;gap:8px;}
.logoPreview{display:flex;align-items:center;gap:10px;border:1px dashed #cbd5df;border-radius:10px;min-height:58px;padding:8px;background:#fff;}
.logoPreview img{max-width:160px;max-height:70px;object-fit:contain;display:block;}
.toggleRow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:6px;}
.toggleRow label{display:flex;align-items:center;gap:6px;margin:0;font-weight:700;}
.toggleRow input{width:auto;}
#certColorInput,#fieldTextColour{width:46px;min-width:46px;height:34px;padding:2px;border-radius:8px;}
@media print{.fieldOverlay select{border:0!important;background:transparent!important;appearance:none!important;-webkit-appearance:none!important;color:inherit}.fieldOverlay.type-logo{border:0!important;background:transparent!important}.logoPlaceholder{display:none!important}}

/* v9 left-panel editing tools + reliable move/resize */
.quickEditPanel{border:1px solid var(--line);border-radius:12px;padding:10px;margin:8px 0 10px;background:#f8fafb;display:grid;gap:8px}
.quickEditPanel h3{margin:0;font-size:15px}.quickEditPanel label{margin:4px 0}.toolRow{display:flex;gap:8px;align-items:center}.toolRow button{flex:1;padding:8px 10px}.moveModeOverlay{cursor:move;outline:2px solid #f59e0b!important;background:rgba(245,158,11,.10)!important;touch-action:none;z-index:8}.moveModeOverlay input,.moveModeOverlay textarea,.moveModeOverlay select{pointer-events:none}.resizeHandle{position:absolute;right:-6px;bottom:-6px;width:14px;height:14px;background:#f59e0b;border:2px solid #fff;border-radius:4px;box-shadow:0 1px 4px #0004;cursor:nwse-resize;z-index:12}.fieldOverlay.active.moveModeOverlay{outline:3px solid #f59e0b!important}.fieldOverlay.type-textarea textarea{line-height:1.15}.fieldOverlay input,.fieldOverlay textarea,.fieldOverlay select{font-family:Arial,Helvetica,sans-serif}.selectedEditor .textStyleBox b{display:block;margin-bottom:4px}.selectedEditor input[type=color]{cursor:pointer}
@media print{.quickEditPanel,.resizeHandle{display:none!important}.moveModeOverlay{outline:0!important;background:transparent!important}}

/* v10 print/export full A4 page fit - prevents tiny certificate output */
@page{size:A4 portrait;margin:0;}
@media print{
  html,body{width:210mm!important;min-width:210mm!important;margin:0!important;padding:0!important;background:#fff!important;}
  body{overflow:visible!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;}
  .app,.main,#certs,.tab.certWorkspace.active,.certSplit,.viewerWrap,.pagesStack{
    width:210mm!important;max-width:210mm!important;min-width:210mm!important;
    margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;
    display:block!important;overflow:visible!important;background:#fff!important;
  }
  .formPageStage{
    position:relative!important;display:block!important;
    width:210mm!important;min-width:210mm!important;max-width:210mm!important;
    height:297mm!important;min-height:297mm!important;max-height:297mm!important;
    margin:0!important;padding:0!important;overflow:hidden!important;
    transform:none!important;box-shadow:none!important;outline:0!important;background:#fff!important;
    page-break-after:always!important;break-after:page!important;
  }
  .formPageStage:last-child{page-break-after:auto!important;break-after:auto!important;}
  .formPageStage img{
    position:absolute!important;left:0!important;top:0!important;
    width:210mm!important;height:297mm!important;max-width:none!important;
    object-fit:fill!important;margin:0!important;padding:0!important;
  }
  .fieldOverlay{position:absolute!important;border:0!important;background:transparent!important;box-shadow:none!important;outline:0!important;}
  .fieldOverlay input,.fieldOverlay textarea,.fieldOverlay select{
    border:0!important;background:transparent!important;box-shadow:none!important;outline:0!important;
    padding:1px 3px!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;
  }
}


/* v11 export fix: keep proportions, darker print, mixed portrait/landscape pages, hide panel */
.certSplit.panelHidden{grid-template-columns:0 minmax(0,1fr)!important;}
.certSplit.panelHidden .fieldPanel{display:none!important;}
.certSplit.panelHidden .viewerWrap{grid-column:1 / -1;}
#defaultFontSizeInput{max-width:90px;}
@page portraitPage{size:A4 portrait;margin:0;}
@page landscapePage{size:A4 landscape;margin:0;}
@media print{
  html,body{width:auto!important;min-width:0!important;max-width:none!important;height:auto!important;margin:0!important;padding:0!important;background:#fff!important;}
  body,.app,.main,#certs,.tab.certWorkspace.active,.certSplit,.viewerWrap,.pagesStack{width:auto!important;min-width:0!important;max-width:none!important;height:auto!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;display:block!important;overflow:visible!important;background:#fff!important;}
  .formPageStage{position:relative!important;display:block!important;margin:0!important;padding:0!important;overflow:hidden!important;transform:none!important;box-shadow:none!important;outline:0!important;background:#fff!important;page-break-after:always!important;break-after:page!important;}
  .formPageStage.portrait{page:portraitPage;width:210mm!important;min-width:210mm!important;max-width:210mm!important;height:297mm!important;min-height:297mm!important;max-height:297mm!important;}
  .formPageStage.landscape{page:landscapePage;width:297mm!important;min-width:297mm!important;max-width:297mm!important;height:210mm!important;min-height:210mm!important;max-height:210mm!important;}
  .formPageStage:last-child{page-break-after:auto!important;break-after:auto!important;}
  .formPageStage img{position:absolute!important;left:0!important;top:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:fill!important;margin:0!important;padding:0!important;opacity:1!important;filter:contrast(1.08) saturate(1.08)!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;}
  .fieldOverlay{position:absolute!important;border:0!important;background:transparent!important;box-shadow:none!important;outline:0!important;opacity:1!important;}
  .fieldOverlay input,.fieldOverlay textarea,.fieldOverlay select,.fieldOverlay.choice{border:0!important;background:transparent!important;box-shadow:none!important;outline:0!important;color:#000!important;opacity:1!important;text-shadow:none!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;}
}

/* v12 print symbol/font scaling: printed fields now use the same relative size as the on-screen form image */
@media print{
  .fieldOverlay input,
  .fieldOverlay textarea,
  .fieldOverlay select,
  .fieldOverlay.choice{
    font-size:calc(var(--field-font-size, 11) * var(--print-scale, .48) * 1px)!important;
    line-height:1.05!important;
    padding:0.25mm 0.45mm!important;
    transform:none!important;
  }
  .fieldOverlay.choice{
    display:grid!important;
    place-items:center!important;
    padding:0!important;
    overflow:hidden!important;
    white-space:nowrap!important;
  }
  .fieldOverlay.type-tick.choice,
  .fieldOverlay.type-status.choice{
    font-size:calc(var(--field-font-size, 11) * var(--print-scale, .48) * 1px)!important;
  }
}

/* v16 Codebreaker-style local observation/reference search */
.codebookLayout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);gap:16px;align-items:start}
.codeSearchBar{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:10px;margin:10px 0 12px}
.codeResults{display:grid;gap:10px;max-height:calc(100vh - 210px);overflow:auto;padding-right:4px}
.codeResults.compact{max-height:360px;font-size:13px}
.codeMini label{margin:5px 0}.codeMini input,.codeMini select{min-height:34px}
.codeItem{border:1px solid var(--line);border-radius:12px;background:#fff;padding:10px;box-shadow:0 1px 2px rgba(12,22,34,.05)}
.codeResults.compact .codeItem{padding:8px;border-radius:10px}.codeResults.compact .codeItem p{margin:6px 0}.codeResults.compact .codeItem small{display:block;line-height:1.25}.codeHead{display:flex;align-items:center;gap:8px;margin-bottom:4px}
.codeBadge{display:inline-grid;place-items:center;min-width:36px;padding:3px 8px;border-radius:999px;font-weight:900;background:#e8eef5;color:#243447;border:1px solid #cbd5df}.codeBadge.c1{background:#ffe4e6;color:#9f1239;border-color:#fecdd3}.codeBadge.c2{background:#ffedd5;color:#9a3412;border-color:#fed7aa}.codeBadge.c3{background:#ecfdf3;color:#166534;border-color:#bbf7d0}.codeBadge.fi{background:#eef2ff;color:#3730a3;border-color:#c7d2fe}
.codeItem p{margin:6px 0;font-weight:700}.codeItem small{color:#465466}.codeActions{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.codeActions button{padding:7px 9px;font-size:12px}.codeItem.c1{border-left:5px solid #e11d48}.codeItem.c2{border-left:5px solid #f97316}.codeItem.c3{border-left:5px solid #16a34a}.codeItem.fi{border-left:5px solid #4f46e5}
#codeSelectedText{min-height:130px}
@media(max-width:1000px){.codebookLayout{grid-template-columns:1fr}.codeResults{max-height:none}.codeSearchBar{grid-template-columns:1fr}}
@media print{#codebreaker,.codeMini{display:none!important}}

/* v18 extra field tools: line fields + right-side Codebreaker panel */
.fieldOverlay.type-line{background:transparent!important;border:0!important;outline:1px dashed rgba(0,0,0,.18);min-height:4px;overflow:visible;}
.fieldOverlay.type-line::before{content:"";position:absolute;left:0;right:0;top:50%;border-top:var(--line-width,2px) solid var(--line-color,#111);transform:translateY(-50%);}
.fieldOverlay.type-line.active{outline:2px solid #f59e0b!important;}
.lineStyleEditor{display:grid;}
.selectedEditor .lineStyleEditor input[type=color]{width:46px;min-width:46px;height:34px;padding:2px;}
.codebreakerRightPanel{position:sticky;top:12px;float:right;width:330px;max-height:calc(100vh - 110px);overflow:auto;background:#fffffffa;border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 40px rgba(12,22,34,.22);padding:12px;z-index:30;margin:12px 12px 12px -350px;backdrop-filter:blur(4px);}
.codebreakerRightPanel.hidden{display:none!important;}
.codeRightHead{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;}
.codebreakerRightPanel input,.codebreakerRightPanel select{min-height:34px;margin:6px 0;}
.codebreakerRightPanel .codeResults{max-height:calc(100vh - 260px);}
.codebreakerRightPanel .codeActions button{font-size:11px;padding:6px 7px;}
@media(max-width:1100px){.codebreakerRightPanel{position:relative;float:none;width:auto;max-height:none;margin:8px 0;}}
@media print{.codebreakerRightPanel,.fieldOverlay.type-line{outline:0!important}.fieldOverlay.type-line::before{border-top-color:var(--line-color,#111)!important}}
/* v18 job delete + code text fit */
.jobListItem{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:stretch}
.jobListItem.active{outline:2px solid #9bd7a7;border-radius:10px}
.jobOpenBtn{background:white!important;color:#111!important;border:1px solid var(--line)!important;text-align:left!important;width:100%}
.jobDeleteBtn{padding:8px 10px!important;align-self:center}
.fieldOverlay.type-textarea textarea{white-space:pre-wrap;word-break:normal;overflow:hidden;line-height:1.12}


/* v21 phone fill mode: a separate large touch-friendly workflow that uses the same saved certificate data */
.phoneTab{padding:14px;max-width:1200px;margin:0 auto;width:100%;}
.phoneHero{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;background:linear-gradient(135deg,#0f172a,#123b1d);color:#fff;border-radius:18px;padding:16px;box-shadow:0 12px 30px rgba(12,22,34,.18)}
.phoneHero h1{margin:0;font-size:26px}.phoneHero p{margin:5px 0 0;color:#d9e9dc}.phoneHero button{white-space:nowrap}
.phoneControls{display:grid;grid-template-columns:1fr 1fr 170px auto;gap:10px;align-items:end;margin-bottom:12px}.phoneControls label{margin:0}.phoneControls select,.phoneControls input,.phoneControls textarea{min-height:46px;font-size:16px}.phoneNavButtons{display:flex;gap:8px;flex-wrap:wrap}.phoneNavButtons button{min-height:46px}
.phoneJobCards{display:grid;grid-template-columns:minmax(280px,420px) 1fr;gap:12px;margin-bottom:12px}.phoneJobCards .card,.phoneFieldCard,.phoneQuickCard{background:#fff}.phoneJobCards input,.phoneJobCards textarea{font-size:16px;min-height:46px}.phoneJobCards textarea{min-height:100px}
.phonePreviewHead{display:flex;align-items:center;justify-content:space-between;gap:10px}.phonePreviewHead h2{margin:0}.phonePreviewFrame{max-height:360px;overflow:auto;border:1px solid var(--line);border-radius:12px;background:#f6f8fa;display:grid;place-items:start center;padding:10px}.phonePreviewFrame img{width:min(100%,520px);height:auto;display:block;box-shadow:0 8px 24px rgba(12,22,34,.18);background:white}
.phoneFieldHeader{display:grid;grid-template-columns:auto minmax(220px,1fr);gap:12px;align-items:center}.phoneFieldHeader h2{margin:0}.phoneFieldHeader input{min-height:48px;font-size:17px}
.phoneFieldList{display:grid;gap:10px;margin-top:12px}.phoneFieldItem{border:1px solid var(--line);border-radius:16px;padding:12px;background:#f8fafb;display:grid;gap:8px}.phoneFieldItem.active{outline:3px solid #9bd7a7;background:#f4fff6}.phoneFieldTop{display:flex;gap:8px;align-items:center;justify-content:space-between}.phoneFieldName{font-weight:900;line-height:1.2}.phoneFieldMeta{font-size:12px;color:var(--muted);font-weight:700}.phoneFieldItem input,.phoneFieldItem select,.phoneFieldItem textarea{min-height:50px;font-size:18px;border-radius:12px}.phoneFieldItem textarea{min-height:96px;line-height:1.25}.phoneChoiceButtons{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.phoneChoiceButtons button{min-height:48px;background:#eef2f6!important;color:#111!important;border:1px solid #cfd7df!important;font-size:17px}.phoneChoiceButtons button.active{background:#063f13!important;color:#fff!important}.phoneFieldActions{display:flex;gap:8px;flex-wrap:wrap}.phoneFieldActions button{padding:8px 10px;font-size:13px}.phoneQuickButtons{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.phoneQuickButtons button{min-height:50px}.phoneTypeBadge{background:#eef6ff;color:#124b8a;border:1px solid #b7d6f5;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:900;white-space:nowrap}
@media(max-width:850px){
  .app{grid-template-columns:1fr;grid-template-rows:auto auto 1fr}.topbar{grid-column:1;min-height:54px;gap:8px;flex-wrap:wrap;padding:8px}.topActions{width:100%;overflow:auto}.leftNav{grid-row:auto;position:sticky;top:0;z-index:50;display:flex;flex-direction:row;gap:8px;overflow-x:auto;padding:8px;background:#0f172a}.leftNav button{white-space:nowrap;min-width:max-content;padding:10px 12px}.main{overflow:visible}.phoneTab{padding:10px}.phoneHero{border-radius:14px;align-items:stretch;flex-direction:column}.phoneHero h1{font-size:24px}.phoneHero button{width:100%;min-height:48px}.phoneControls{grid-template-columns:1fr;gap:10px;padding:12px}.phoneNavButtons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.phoneNavButtons #phoneExportBtn{grid-column:1 / -1}.phoneJobCards{grid-template-columns:1fr}.phonePreviewFrame{max-height:280px}.phoneFieldHeader{grid-template-columns:1fr}.phoneFieldList{gap:12px}.phoneFieldItem{border-radius:14px;padding:12px}.phoneFieldTop{align-items:flex-start}.phoneChoiceButtons{grid-template-columns:repeat(3,1fr)}.phoneQuickButtons{grid-template-columns:1fr 1fr}.certToolbar{position:sticky;top:0}.certToolbar select,.certToolbar button,.certToolbar label{font-size:14px}.certToolbar{max-height:42vh;overflow:auto}.fieldPanel{max-height:45vh!important}.viewerNotice{font-size:13px}.pagesStack{align-items:flex-start}.codebreakerRightPanel{display:none!important}
}
@media(max-width:430px){.phoneChoiceButtons{grid-template-columns:repeat(2,1fr)}.phoneQuickButtons{grid-template-columns:1fr}.phoneNavButtons{grid-template-columns:1fr}.phoneFieldItem input,.phoneFieldItem select,.phoneFieldItem textarea{font-size:17px}.phonePreviewFrame img{width:100%}}
@media print{#phone{display:none!important}}

/* v24 continuation schedule pages and job search */
.jobSearch{margin:0 0 12px 0;background:#fff}.emptyJobs{padding:14px;border:1px dashed var(--line);border-radius:10px;background:#fff}.continuationBadge{position:absolute;right:12px;top:36px;background:#1f6feb;color:white;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}.certToolbar #removeSchedulePageBtn[style*="display: none"]{display:none!important}

/* v26 professional desktop UI + hidden future modules */
:root{
  --green:#0b6b3a;
  --green-2:#0f8a4c;
  --nav:#0b1220;
  --nav-2:#111827;
  --accent:#2563eb;
  --bg:#eef2f6;
  --ink:#17202a;
  --muted:#64748b;
  --line:#d6dde6;
  --card:#ffffff;
  --soft:#f8fafc;
  --danger:#b42318;
  --shadow:0 10px 30px rgba(15,23,42,.10);
}
.futureHidden{display:none!important;}
body{font-family:Inter,Segoe UI,Arial,Helvetica,sans-serif;background:linear-gradient(180deg,#f7f9fb 0,#edf2f7 100%);color:var(--ink);} 
button{border-radius:10px;background:linear-gradient(180deg,var(--green-2),var(--green));box-shadow:0 1px 0 rgba(255,255,255,.2) inset;transition:transform .08s ease,box-shadow .12s ease,background .12s ease;}
button:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(15,23,42,.14)}
button:active{transform:translateY(0);box-shadow:none}
button.secondary{background:linear-gradient(180deg,#3678f5,#1d5fd0)}
button.ghost{background:#fff!important;color:#243447!important;border:1px solid var(--line)!important;box-shadow:0 1px 2px rgba(15,23,42,.05)!important}
button.danger{background:linear-gradient(180deg,#cf3a2e,#a92318)}
input,select,textarea{border:1px solid #cbd5e1;border-radius:10px;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.04);outline:none;}
input:focus,select:focus,textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.card,.loginCard{background:rgba(255,255,255,.94);border:1px solid rgba(203,213,225,.85);box-shadow:var(--shadow)}
.topbar{background:linear-gradient(90deg,#0b1220,#132033);min-height:58px;border-bottom:1px solid rgba(255,255,255,.08)}
.topbar strong{letter-spacing:.02em}.topbar span{color:#c7d2fe}.topActions button,.fileBtn{background:#1f2937;color:#fff;border:1px solid #334155;box-shadow:none}.topActions button:hover,.fileBtn:hover{background:#334155}
.leftNav{background:linear-gradient(180deg,#0b1220,#111827);border-right:1px solid #1f2937;box-shadow:4px 0 18px rgba(15,23,42,.10)}
.leftNav button{border:1px solid transparent;color:#cbd5e1;background:transparent;border-radius:12px;font-weight:800;letter-spacing:.01em}
.leftNav button:hover{background:#172033;color:#fff;transform:none;box-shadow:none}
.leftNav button.active{background:linear-gradient(90deg,#0b6b3a,#0f8a4c);color:#fff;border-color:rgba(255,255,255,.12)}
.panelHeader h1{font-size:26px;letter-spacing:-.02em}.jobSearch{border-radius:12px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") no-repeat 12px center;padding-left:38px}
.jobListItem{background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px;box-shadow:0 1px 4px rgba(15,23,42,.04)}.jobOpenBtn{border:0!important;background:#fff!important}.jobListItem.active{outline:3px solid rgba(15,138,76,.22);border-color:#90d4ab}
.certToolbar{background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);box-shadow:0 6px 22px rgba(15,23,42,.08);padding:10px 12px}.certToolbar button,.certToolbar .fileBtn{padding:9px 12px}.certToolbar select{min-width:170px}.certToolbar label{font-size:13px;color:#334155}.inlineLabel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:5px 8px}
.tab.certWorkspace.active .certSplit{grid-template-columns:390px minmax(0,1fr)}
.fieldPanel{background:#f8fafc;border-right:1px solid #dbe3ec;padding:14px}.fieldPanelHead{background:#f8fafc;border-bottom:1px solid #e2e8f0;margin:-14px -14px 12px;padding:14px;z-index:12}.fieldPanelHead h2{font-size:18px;letter-spacing:-.01em}.fieldPanelHead input{min-height:40px}.selectedEditor{background:#fff;border:1px solid #dbe3ec;border-radius:16px;padding:0;margin:0 0 12px;box-shadow:0 8px 18px rgba(15,23,42,.06);overflow:hidden}.emptyEditor{padding:16px}.emptyEditorText{display:grid;gap:5px}.emptyEditorText b{font-size:16px}.emptyEditorText span{color:var(--muted);line-height:1.35}
.proEditorTop{padding:12px 12px 8px;border-bottom:1px solid #e6ebf2;background:linear-gradient(180deg,#fff,#f8fafc);margin:0}.pill,.typeBadge{background:#eaf4ff;color:#184d8f;border-color:#c7def6}.editorSection,.panelSection{border:1px solid #e2e8f0;border-radius:13px;background:#fff;margin:8px 0;overflow:hidden}.editorSection summary,.panelSection summary{cursor:pointer;list-style:none;padding:11px 12px;font-weight:900;color:#1e293b;background:linear-gradient(180deg,#fbfdff,#f3f6fa);border-bottom:1px solid transparent}.editorSection[open] summary,.panelSection[open] summary{border-bottom-color:#e2e8f0}.editorSection summary::-webkit-details-marker,.panelSection summary::-webkit-details-marker{display:none}.editorSection summary::after,.panelSection summary::after{content:'▸';float:right;color:#64748b;transition:transform .15s}.editorSection[open] summary::after,.panelSection[open] summary::after{transform:rotate(90deg)}.sectionBody{padding:12px}.sectionBody label{margin:8px 0}.quickEditPanel{background:#fff;border:1px solid #dbe3ec;border-radius:16px;padding:0;box-shadow:0 4px 12px rgba(15,23,42,.04)}.quickEditPanel h3{display:none}.compactText{font-size:13px;line-height:1.35}.toolRow{gap:8px}.toolRow button{border-radius:10px}.miniGrid{gap:9px}.textStyleBox{border-top:0;margin-top:0;padding-top:0}.splitBox{border-top:0;margin-top:0;padding-top:0}.logoPreview{background:#fff;border-color:#d6dde6}
.fieldList{gap:7px}.fieldItem{border:1px solid #e1e7ef;border-radius:12px;background:#fff;padding:7px 7px;box-shadow:0 1px 2px rgba(15,23,42,.04)}.fieldItem.active{outline:3px solid rgba(37,99,235,.16);border-color:#83b7f8;background:#f8fbff}.fieldItem button{border-radius:9px;background:#eff6ff!important;color:#174ea6!important;border-color:#cfe1fa!important;box-shadow:none!important}.viewerWrap{background:#dbe3ec;padding:18px}.viewerNotice{background:#ecfdf3;border:1px solid #bbf7d0;color:#14532d;border-radius:14px}.formPageStage{box-shadow:0 18px 50px rgba(15,23,42,.22);border-radius:3px}.formPageStage.activePageStage{outline:4px solid rgba(37,99,235,.25);outline-offset:8px}.pageTag{background:#0f172acc;color:#fff}.fieldOverlay:hover,.fieldOverlay.active{outline:2px solid #2563eb;background:rgba(37,99,235,.08)}.fieldOverlay.active{box-shadow:0 0 0 3px rgba(37,99,235,.14)}.choiceButtons button.active{background:#0b6b3a!important;color:#fff!important}.codebreakerRightPanel{border:1px solid #dbe3ec;border-radius:18px;box-shadow:0 18px 52px rgba(15,23,42,.22)}
@media(max-width:850px){.futureHidden{display:none!important}.tab.certWorkspace.active .certSplit{grid-template-columns:1fr}.fieldPanel{background:#fff}.fieldPanelHead{background:#fff}.leftNav button.futureHidden{display:none!important}}
@media print{.futureHidden,.editorSection,.panelSection{display:none!important}}

/* v24: left editor bottom-safe scrolling
   Gives the fixed left field panel enough scrollable space so bottom controls are not hidden
   when several editor sections are open. */
.tab.certWorkspace.active .fieldPanel{
  padding-bottom:260px!important;
  scroll-padding-bottom:260px!important;
  overscroll-behavior:contain;
}
.tab.certWorkspace.active .fieldPanel::after{
  content:"";
  display:block;
  height:180px;
  width:100%;
  flex:0 0 auto;
}
.selectedEditor,.quickEditPanel,.fieldList{
  margin-bottom:16px;
}
@media(max-width:900px){
  .tab.certWorkspace.active .fieldPanel{
    padding-bottom:180px!important;
    scroll-padding-bottom:180px!important;
  }
  .tab.certWorkspace.active .fieldPanel::after{height:120px;}
}

/* Quick testing workflow additions */
.fastGrid,.photoLayout,.companyGrid{display:grid;grid-template-columns:minmax(260px,360px) 1fr;gap:18px;align-items:start}.miniGrid.three{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.chipRow{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.chipRow button{border-radius:999px;padding:8px 12px}.chipRow button.active{background:#0b5f43;color:white;border-color:#0b5f43}.fastCircuitEditor{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px}.fastCircuitEditor label{font-weight:600}.fastCircuitEditor input,.fastCircuitEditor select{font-size:17px;padding:12px}.siteKeypad{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}.siteKeypad button{font-size:18px;padding:14px;border-radius:10px}.obsBuilder{display:grid;grid-template-columns:180px 1fr 120px 1fr auto;gap:10px;align-items:end}.circuitGridBox{overflow:auto;max-height:70vh}.circuitGrid{border-collapse:collapse;width:100%;min-width:1200px;background:white}.circuitGrid th{position:sticky;top:0;background:#0f172a;color:white;z-index:2}.circuitGrid th,.circuitGrid td{border:1px solid #cbd5e1;padding:0}.circuitGrid th{padding:8px}.circuitGrid input,.circuitGrid select{border:0;width:100%;min-width:60px;padding:8px;background:transparent}.circuitGrid input:focus,.circuitGrid select:focus{outline:2px solid #0ea5e9;background:#f0f9ff}.templateGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.templateCard{border:1px solid #d5dde8;border-radius:16px;padding:16px;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 10px 24px rgba(15,23,42,.06)}.templateCard h3{margin:0 0 8px}.photoList{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.photoItem{border:1px solid #d5dde8;border-radius:14px;overflow:hidden;background:white}.photoItem img{width:100%;height:130px;object-fit:cover;display:block}.photoItem .body{padding:10px}.instrumentRow{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr auto;gap:10px;align-items:end;border-bottom:1px solid #e2e8f0;padding:10px 0}.exportSummaryGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.exportMetric{border:1px solid #d8e1eb;border-radius:14px;padding:14px;background:#fff}.exportMetric b{font-size:24px;color:#0b5f43}.issueList{margin-top:14px}.issueItem{display:flex;justify-content:space-between;gap:12px;border:1px solid #f3d4d4;background:#fff7f7;border-radius:10px;padding:10px;margin-bottom:8px}.issueItem button{white-space:nowrap}.globalSearchBar{display:flex;gap:10px;align-items:center}.saveIndicator{font-size:12px;color:#cbd5e1;margin-left:12px}.fieldPanel{scroll-padding-bottom:160px}.fieldPanel:after{content:"";display:block;height:180px}.leftNav button[data-tab="fasttest"]{font-weight:700}
@media(max-width:900px){.fastGrid,.photoLayout,.companyGrid{grid-template-columns:1fr}.fastCircuitEditor{grid-template-columns:1fr}.obsBuilder{grid-template-columns:1fr}.instrumentRow{grid-template-columns:1fr}.siteKeypad{grid-template-columns:repeat(4,1fr)}}

/* v25 usability additions: clients, bulk circuit grid, engineer management */
.clientsGrid{display:grid;grid-template-columns:minmax(280px,420px) 1fr;gap:18px;align-items:start}
.clientQuickPick{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;margin:8px 0}
.clientQuickPick label{margin:0}.clientQuickPick button{height:42px;white-space:nowrap}
.clientListItem{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:stretch;background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px;box-shadow:0 1px 4px rgba(15,23,42,.04)}
.clientListItem button:first-child{background:#fff!important;color:#111!important;border:0!important;text-align:left;box-shadow:none!important;padding:8px}
.clientUseSmall{align-self:center;white-space:nowrap}
.gridBulkBar{display:grid;grid-template-columns:auto auto minmax(140px,210px) minmax(160px,1fr) auto auto;gap:8px;align-items:end;margin-bottom:8px}
.gridBulkBar label{margin:0;font-size:12px}.gridBulkBar button{white-space:nowrap}.smallNote{font-size:12px;margin:4px 0 10px}
.circuitGrid .selectCol{width:38px;text-align:center;background:#f8fafc}.circuitGrid .selectCol input{width:auto;min-width:0;box-shadow:none}.circuitGrid tr.selectedRow td{background:#f0fdf4}.circuitGrid td.gridCell{position:relative}.circuitGrid td.gridCell.selectedCell{outline:3px solid #2563eb;outline-offset:-3px;background:#eff6ff!important}.circuitGrid td.gridCell.selectedCell::after{content:'✓';position:absolute;right:3px;top:2px;font-size:10px;color:#2563eb;font-weight:900;pointer-events:none}.circuitGrid th{white-space:nowrap}.circuitGrid input,.circuitGrid select{min-width:78px}.circuitGrid input[data-grid-key="description"]{min-width:190px}.circuitGrid input[data-grid-key="maxZs"]{min-width:82px;background:#fffdf6}.circuitGrid input[data-grid-key="zs"]{min-width:82px}
.cardTitleRow{display:flex;justify-content:space-between;align-items:center;gap:10px}.cardTitleRow h2{margin:0}.engineersCard{grid-column:1/-1}.engineerList{display:grid;gap:10px}.engineerRow{display:grid;grid-template-columns:1.3fr 1fr 1.2fr .9fr .8fr auto;gap:8px;align-items:end;border:1px solid #e2e8f0;border-radius:12px;padding:10px;background:#fff}.engineerRow label{margin:0;font-size:12px}.engineerRow button{white-space:nowrap}
@media(max-width:1000px){.clientsGrid,.gridBulkBar{grid-template-columns:1fr}.engineerRow{grid-template-columns:1fr}.clientQuickPick{grid-template-columns:1fr}.companyGrid{grid-template-columns:1fr}}

/* v27 expanded circuit schedule grid */
.circuitGrid{min-width:2600px;font-size:12px}
.circuitGrid th{font-size:12px;white-space:normal;line-height:1.15;vertical-align:bottom;min-width:74px}
.circuitGrid th:nth-child(3),.circuitGrid input[data-grid-key="description"]{min-width:210px}
.circuitGrid select[data-grid-key="wiringType"]{min-width:150px}
.circuitGrid select[data-grid-key="bsEn"]{min-width:120px}
.circuitGrid input[data-grid-key="maxZs"]{min-width:82px;background:#fffdf6}


/* v34: overlay safety - do not hide printed form labels if a box is slightly oversized */
.fieldOverlay input,
.fieldOverlay textarea,
.fieldOverlay select{
  background: transparent !important;
}
.fieldOverlay.active input,
.fieldOverlay.active textarea,
.fieldOverlay.active select,
.fieldOverlay:focus-within input,
.fieldOverlay:focus-within textarea,
.fieldOverlay:focus-within select{
  background: rgba(255,255,255,.94) !important;
}
.fieldOverlay.empty{
  background: transparent !important;
}

.mobileLinkBtn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;border-radius:9px;padding:8px 12px;text-decoration:none;font-weight:800;background:#eef2f6;color:#111;border:1px solid #cfd7df}


/* v36 field multi-select + grid schedule font controls */
.fieldItem{grid-template-columns:auto auto 1fr auto}
.fieldSelectCheck{width:20px;height:20px;accent-color:#0b5f3a}
.fieldItem.bulkSelected{outline:2px solid #0b5f3a;background:#e9f7ef}
.fieldOverlay.bulkSelected{outline:3px solid #0b5f3a!important;background:rgba(11,95,58,.13)!important}
.scheduleFontControls{display:inline-flex;gap:8px;align-items:end;flex-wrap:wrap}
.scheduleFontControls label{min-width:130px}
.scheduleFontControls input{max-width:90px}
.toolRow.wrap{flex-wrap:wrap}
.wide{width:100%}


/* v37 schedule auto-fit note */
.gridAutoFitInfo{
  display:inline-flex;
  align-items:center;
  border:1px solid #b7dfc6;
  background:#eaf8ef;
  color:#0b5f3a;
  border-radius:999px;
  padding:8px 10px;
  font-size:12px;
  font-weight:800;
}


/* v38 top-bar select mode + auto text sizing */
#topSelectFieldsBtn.active,#autoFitPageBtn.active{
  background:#0b5f3a!important;
  color:#fff!important;
  border-color:#0b5f3a!important;
}
.fieldOverlay.selectModeReady{
  cursor:crosshair;
}
.fieldOverlay.autoFitText{
  box-shadow:inset 0 0 0 1px rgba(11,95,58,.25);
}


/* v39 cleaner certificate toolbar + reliable select mode */
.certToolbar{
  gap:8px!important;
  align-items:center!important;
  padding:10px 12px!important;
}
.certToolbar button,
.certToolbar .fileBtn,
.certToolbar select,
.certToolbar label{
  min-height:38px;
}
.certToolbar .toolbarAction,
#topSelectFieldsBtn,
#autoFitPageBtn,
.topSelectMiniTools .compactBtn{
  border-radius:999px!important;
  padding:8px 12px!important;
  font-size:13px!important;
  line-height:1!important;
  white-space:nowrap;
}
#topSelectFieldsBtn.active,
#autoFitPageBtn.active{
  background:#0b5f3a!important;
  color:#fff!important;
  border-color:#0b5f3a!important;
  box-shadow:0 0 0 3px rgba(11,95,58,.18);
}
.topSelectMiniTools{
  display:inline-flex;
  gap:6px;
  align-items:center;
  padding:3px;
  border:1px solid var(--line,#d4dbe2);
  background:#f6f8fa;
  border-radius:999px;
}
.topSelectMiniTools .compactBtn{
  min-height:32px!important;
  padding:6px 10px!important;
  background:#fff!important;
  color:#17212b!important;
}
.selectModePill{
  align-items:center;
  min-height:30px;
  padding:5px 10px;
  border-radius:999px;
  background:#eaf8ef;
  border:1px solid #b7dfc6;
  color:#0b5f3a;
  font-size:12px;
  font-weight:800;
}
.certSelectModeOn .fieldOverlay{
  cursor:crosshair!important;
}
.certSelectModeOn .fieldOverlay input,
.certSelectModeOn .fieldOverlay textarea,
.certSelectModeOn .fieldOverlay select{
  pointer-events:none!important;
}
.fieldOverlay.selectModeReady{
  outline:1px dashed rgba(11,95,58,.65);
}
.fieldOverlay.bulkSelected{
  outline:4px solid #0b5f3a!important;
  background:rgba(11,95,58,.18)!important;
  z-index:8!important;
}
.fieldItem.bulkSelected{
  border-color:#0b5f3a!important;
  background:#eaf8ef!important;
}
@media (max-width:1100px){
  .certToolbar{position:sticky;top:0;z-index:40;overflow:auto;flex-wrap:nowrap!important}
  .certToolbar label{white-space:nowrap}
}


/* v40 final tidy select + auto-fit controls */
#topSelectFieldsBtn.toolbarAction,
#autoFitPageBtn.toolbarAction,
#v40SelectTools .compactBtn{
  border-radius:999px!important;
  padding:8px 12px!important;
  min-height:36px!important;
  font-size:13px!important;
  white-space:nowrap!important;
}
#topSelectFieldsBtn.active,
#autoFitPageBtn.active{
  background:#0b5f3a!important;
  color:#fff!important;
  border-color:#0b5f3a!important;
  box-shadow:0 0 0 3px rgba(11,95,58,.18)!important;
}
#v40SelectTools{
  display:inline-flex;
  gap:6px;
  align-items:center;
  border:1px solid var(--line,#d4dbe2);
  background:#f6f8fa;
  border-radius:999px;
  padding:3px;
}
#v40SelectTools .compactBtn{
  background:#fff!important;
  color:#17212b!important;
  padding:6px 10px!important;
  min-height:30px!important;
}
#v40SelectPill{
  align-items:center;
  min-height:30px;
  border-radius:999px;
  padding:5px 10px;
  background:#eaf8ef;
  border:1px solid #b7dfc6;
  color:#0b5f3a;
  font-size:12px;
  font-weight:800;
}
.v40SelectMode .fieldOverlay input,
.v40SelectMode .fieldOverlay textarea,
.v40SelectMode .fieldOverlay select{
  pointer-events:none!important;
}
.v40SelectMode .fieldOverlay,
.fieldOverlay.v40Selectable{
  cursor:crosshair!important;
}
.fieldOverlay.bulkSelected{
  outline:4px solid #0b5f3a!important;
  background:rgba(11,95,58,.18)!important;
  z-index:12!important;
}
.fieldItem.bulkSelected{
  border-color:#0b5f3a!important;
  background:#eaf8ef!important;
}
.certToolbar{
  gap:8px!important;
  align-items:center!important;
}
@media (max-width:1100px){
  .certToolbar{
    overflow-x:auto!important;
    flex-wrap:nowrap!important;
    white-space:nowrap!important;
  }
}


/* v41 final clean select/autofit UI */
#topSelectFieldsBtn.toolbarAction,
#autoFitPageBtn.toolbarAction,
#v41Tools .compactBtn{
  border-radius:999px!important;
  padding:8px 12px!important;
  min-height:36px!important;
  font-size:13px!important;
  line-height:1!important;
  white-space:nowrap!important;
}
#topSelectFieldsBtn.active,
#autoFitPageBtn.active{
  background:#0b5f3a!important;
  color:#fff!important;
  border-color:#0b5f3a!important;
  box-shadow:0 0 0 3px rgba(11,95,58,.18)!important;
}
#v41Tools{
  display:inline-flex;
  gap:6px;
  align-items:center;
  border:1px solid var(--line,#d4dbe2);
  background:#f6f8fa;
  border-radius:999px;
  padding:3px;
}
#v41Tools .compactBtn{
  min-height:30px!important;
  padding:6px 10px!important;
  background:#fff!important;
  color:#17212b!important;
}
#v41Pill{
  align-items:center;
  min-height:28px;
  border-radius:999px;
  padding:5px 10px;
  background:#eaf8ef;
  border:1px solid #b7dfc6;
  color:#0b5f3a;
  font-size:12px;
  font-weight:800;
}
.v41Selecting .fieldOverlay input,
.v41Selecting .fieldOverlay textarea,
.v41Selecting .fieldOverlay select{
  pointer-events:none!important;
}
.v41Selecting .fieldOverlay,
.fieldOverlay.v41Selectable{
  cursor:crosshair!important;
}
.fieldOverlay.bulkSelected{
  outline:4px solid #0b5f3a!important;
  background:rgba(11,95,58,.20)!important;
  z-index:20!important;
}
.fieldItem.bulkSelected{
  border-color:#0b5f3a!important;
  background:#eaf8ef!important;
}
.certToolbar{
  gap:8px!important;
  align-items:center!important;
}
@media (max-width:1100px){
  .certToolbar{
    overflow-x:auto!important;
    flex-wrap:nowrap!important;
    white-space:nowrap!important;
  }
}


/* v42 direct select/schedule sizing */
.v42Selecting .fieldOverlay input,
.v42Selecting .fieldOverlay textarea,
.v42Selecting .fieldOverlay select{
  pointer-events:none!important;
}
.v42Selecting .fieldOverlay,
.fieldOverlay.v42Selectable{
  cursor:crosshair!important;
}
.fieldOverlay.bulkSelected{
  outline:4px solid #0b5f3a!important;
  background:rgba(11,95,58,.22)!important;
  z-index:30!important;
}
#v42Tools{
  display:inline-flex;
  gap:6px;
  align-items:center;
  border:1px solid var(--line,#d4dbe2);
  background:#f6f8fa;
  border-radius:999px;
  padding:3px;
}
#v42Tools .compactBtn{
  border-radius:999px!important;
  padding:6px 10px!important;
  min-height:30px!important;
  background:#fff!important;
  color:#17212b!important;
}
#topSelectFieldsBtn.active,#autoFitPageBtn.active{
  background:#0b5f3a!important;
  color:#fff!important;
  border-color:#0b5f3a!important;
}


/* v43 remove select/autotext buttons */
#topSelectFieldsBtn,
#autoFitPageBtn,
#topSelectMiniTools,
#v40SelectTools,
#v41Tools,
#v42Tools,
#selectModePill,
#v40SelectPill,
#v41Pill{
  display:none!important;
}
