:root{
  --bg:#f4f6f8; --surface:#fff; --ink:#151a23; --muted:#667085; --line:#e3e7ec;
  --line-strong:#cdd4dc; --accent:#2563eb; --accent-dark:#1d4ed8; --soft:#eef4ff;
  --danger:#b42318; --green:#067647; --amber:#b54708; --shadow:0 10px 35px rgba(16,24,40,.08);
  --radius:14px; --sidebar:248px;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg);font-size:14px}
button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}.hidden{display:none!important}
.app-shell{min-height:100vh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar);padding:22px 16px;background:#111827;color:#fff;display:flex;flex-direction:column;z-index:30}.brand{display:flex;align-items:center;gap:11px;padding:5px 7px 24px;border-bottom:1px solid rgba(255,255,255,.11)}.brand-mark{width:38px;height:38px;border-radius:10px;background:#fff;color:#111827;display:grid;place-items:center;font-size:22px;font-weight:800}.brand-name{font-size:17px;font-weight:750;letter-spacing:-.2px}.brand-company{font-size:9px;opacity:.58;margin-top:4px;letter-spacing:.4px}.nav{display:grid;gap:6px;margin-top:20px}.nav-item{border:0;background:transparent;color:#cbd5e1;border-radius:10px;padding:11px 12px;display:flex;align-items:center;gap:11px;text-align:left}.nav-item span{font-size:17px;width:20px;text-align:center}.nav-item b{font-size:13px}.nav-item:hover,.nav-item.active{background:rgba(255,255,255,.1);color:#fff}.sidebar-bottom{margin-top:auto;padding:16px 8px 2px}.storage-note{font-size:11px;line-height:1.45;color:#94a3b8}.version{font-size:10px;color:#64748b;margin-top:10px}.main{margin-left:var(--sidebar);min-height:100vh}.topbar{height:82px;padding:0 34px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;position:sticky;top:0;z-index:20}.page-title{font-size:19px;font-weight:750}.page-subtitle{font-size:12px;color:var(--muted);margin-top:3px}.top-actions{margin-left:auto;display:flex;gap:9px}.view{display:none;padding:30px 34px 45px}.view.active{display:block}.hero-row{display:flex;justify-content:space-between;align-items:flex-end;margin:2px 0 22px}.hero-row h1{font-size:28px;margin:0 0 7px}.hero-row p{margin:0;color:var(--muted)}.button{border:1px solid var(--line-strong);background:#fff;border-radius:9px;padding:9px 14px;font-weight:700;font-size:12px;min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px}.button:hover{background:#f8fafc}.button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.button.primary:hover{background:var(--accent-dark)}.button.ghost{background:transparent}.button.text{border:0;background:transparent;padding:5px;color:var(--accent);min-height:auto}.button.danger{color:var(--danger);border-color:#f1b8b3}.button.large{padding:11px 17px}.button.small{font-size:11px}.button-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.icon-button{width:38px;height:38px;border:1px solid var(--line);border-radius:9px;background:#fff;display:grid;place-items:center;font-size:18px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:18px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px 19px}.stat-label{font-size:12px;color:var(--muted);font-weight:700}.stat-value{font-size:28px;font-weight:800;margin:8px 0 4px;letter-spacing:-.7px}.stat-hint{font-size:11px;color:#98a2b3}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.panel-head{padding:17px 19px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px}.panel-head h2{font-size:15px;margin:0 0 3px}.panel-head p{margin:0;color:var(--muted);font-size:11px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse}.data-table th{background:#f8fafc;color:#667085;font-size:10px;letter-spacing:.25px;text-transform:uppercase;text-align:left;padding:10px 14px;border-bottom:1px solid var(--line)}.data-table td{padding:12px 14px;border-bottom:1px solid #edf0f3;font-size:12px;vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fbfcfd}.table-actions{display:flex;justify-content:flex-end;gap:5px}.mini-btn{border:0;background:transparent;border-radius:7px;padding:5px 7px;color:#667085}.mini-btn:hover{background:#eef2f6;color:#111827}.status-badge{font-size:10px;font-weight:800;padding:5px 8px;border-radius:999px;display:inline-flex}.status-draft{background:#f2f4f7;color:#475467}.status-to-sign{background:#fff6ed;color:var(--amber)}.status-signed{background:#ecfdf3;color:var(--green)}.empty-state{text-align:center;padding:42px 20px;color:var(--muted)}.empty-state.standalone{background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.empty-icon{font-size:28px;color:#98a2b3}.empty-state h3{color:var(--ink);margin:10px 0 5px}.empty-state p{margin:0 0 16px}.section-toolbar{display:flex;gap:10px;margin-bottom:15px}.searchbox{flex:1;display:flex;align-items:center;background:#fff;border:1px solid var(--line-strong);border-radius:9px;padding:0 11px;max-width:520px}.searchbox span{font-size:19px;color:#98a2b3}.searchbox input{width:100%;border:0;outline:0;padding:10px;background:transparent}.control,.field input,.field select,.field textarea{width:100%;border:1px solid var(--line-strong);background:#fff;border-radius:8px;padding:9px 10px;outline:0}.control.compact{width:auto;min-width:155px}.field input:focus,.field select:focus,.field textarea:focus,.control:focus{border-color:#84adff;box-shadow:0 0 0 3px rgba(37,99,235,.09)}.clients-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.client-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px}.client-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.client-name{font-size:14px;font-weight:800}.client-eik{font-size:11px;color:var(--muted);margin-top:4px}.client-meta{margin-top:14px;display:grid;gap:7px;color:#475467;font-size:11px}.client-count{margin-top:13px;padding-top:11px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.settings-layout{display:grid;gap:15px;max-width:900px}.settings-panel{padding-bottom:18px}.settings-panel .form-grid{padding:18px 19px 0}.form-grid{display:grid;gap:14px}.form-grid.two{grid-template-columns:1fr 1fr}.span-2{grid-column:span 2}.field{display:grid;gap:6px}.field>span{font-size:11px;color:#475467;font-weight:700}.field textarea{resize:vertical;line-height:1.5}.number-preview{margin:14px 19px 0;padding:11px 13px;background:#f8fafc;border:1px solid var(--line);border-radius:8px;font-size:12px}.settings-panel>.button-row{padding:18px 19px 0}.settings-savebar{position:sticky;bottom:14px;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:flex;justify-content:flex-end;align-items:center;gap:12px;box-shadow:var(--shadow)}.save-hint{font-size:11px;color:var(--green)}.file-button input{display:none}.modal{position:fixed;inset:0;background:rgba(17,24,39,.42);z-index:100;display:grid;place-items:center;padding:20px}.modal.fullscreen{padding:0;background:#f4f6f8}.dialog{width:min(700px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:16px;box-shadow:0 22px 70px rgba(0,0,0,.2)}.small-dialog{width:min(500px,100%)}.dialog-head{padding:19px 21px;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.dialog-head h2{margin:0 0 4px;font-size:18px}.dialog-head p{margin:0;color:var(--muted);font-size:11px}.dialog form>.form-grid{padding:20px 21px}.dialog-actions{padding:14px 21px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px}.backup-actions{padding:22px;display:flex;gap:10px}.editor-shell,.preview-shell{width:100%;height:100vh;background:#f4f6f8;display:flex;flex-direction:column}.editor-header,.preview-toolbar{height:70px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 20px;gap:15px;flex:none}.editor-title-row{display:flex;align-items:center;gap:12px}.editor-title{font-weight:800;font-size:15px}.editor-subtitle{font-size:10px;color:var(--muted);margin-top:3px}.editor-actions{margin-left:auto;display:flex;gap:8px}.editor-body{display:grid;grid-template-columns:248px 1fr;min-height:0;flex:1}.stepper{background:#fff;border-right:1px solid var(--line);padding:18px 13px;display:grid;align-content:start;gap:5px}.step{border:0;background:transparent;border-radius:10px;padding:10px;display:flex;text-align:left;gap:10px;align-items:flex-start}.step>span{width:27px;height:27px;border:1px solid var(--line-strong);border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:800;color:#667085;flex:none}.step div{display:grid;gap:2px}.step b{font-size:11px}.step small{font-size:9px;color:#98a2b3;line-height:1.35}.step.active{background:var(--soft)}.step.active>span{background:var(--accent);color:#fff;border-color:var(--accent)}.step.done>span{background:#ecfdf3;border-color:#abefc6;color:var(--green)}.editor-content{min-width:0;overflow:auto;padding:24px 28px 90px;position:relative}.form-step{display:none;max-width:950px;margin:0 auto}.form-step.active{display:block}.form-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:20px}.form-section-head h2{font-size:22px;margin:3px 0 5px}.form-section-head p{margin:0;color:var(--muted);font-size:12px}.eyebrow{font-size:9px;font-weight:800;color:var(--accent);letter-spacing:.55px}.protocol-no-pill{background:#fff;border:1px solid var(--line);border-radius:9px;padding:9px 12px;font-size:11px;font-weight:800}.form-step>.form-grid{background:#fff;border:1px solid var(--line);border-radius:14px;padding:19px}.editor-nav{position:fixed;left:248px;right:0;bottom:0;height:68px;background:rgba(255,255,255,.96);border-top:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:18px;z-index:120}.step-indicator{font-size:11px;color:var(--muted);min-width:40px;text-align:center}.equipment-editor{display:grid;gap:9px}.equipment-row{background:#fff;border:1px solid var(--line);border-radius:11px;padding:11px;display:grid;grid-template-columns:1.35fr 1fr 1fr 70px 1fr 34px;gap:8px;align-items:end}.equipment-row label{display:grid;gap:5px}.equipment-row label span{font-size:9px;color:#667085;font-weight:700}.equipment-row input{min-width:0;width:100%;padding:8px;border:1px solid var(--line-strong);border-radius:7px}.remove-row{border:0;background:#fff;color:#98a2b3;font-size:18px;height:34px;border-radius:7px}.remove-row:hover{background:#fef3f2;color:var(--danger)}.inline-note{margin-top:12px;font-size:10px;color:#667085;background:#f8fafc;border:1px solid var(--line);padding:10px 12px;border-radius:9px}.checklist-editor{display:grid;gap:8px}.check-row{display:grid;grid-template-columns:1fr auto;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 13px;gap:15px;align-items:center}.check-label{font-size:12px;line-height:1.4}.segmented{display:flex;border:1px solid var(--line-strong);border-radius:8px;overflow:hidden}.segmented label{margin:0}.segmented input{position:absolute;opacity:0;pointer-events:none}.segmented span{display:block;padding:6px 9px;font-size:9px;font-weight:800;border-right:1px solid var(--line-strong);background:#fff}.segmented label:last-child span{border-right:0}.segmented input:checked+span{background:#111827;color:#fff}.acceptance-options{display:grid;gap:9px;margin-bottom:16px}.acceptance-options label{display:flex;align-items:flex-start;gap:10px;background:#fff;border:1px solid var(--line);padding:12px 13px;border-radius:10px}.acceptance-options input{margin-top:2px}.acceptance-options span{display:grid;gap:3px}.acceptance-options b{font-size:12px}.acceptance-options small{font-size:10px;color:var(--muted)}.signatures-fields{margin-bottom:15px}.signature-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.signature-box{background:#fff;border:1px solid var(--line);border-radius:11px;padding:12px}.signature-head{display:flex;justify-content:space-between;align-items:center;font-size:11px}.signature-box canvas{width:100%;height:135px;border:1px dashed #cdd4dc;border-radius:7px;margin:9px 0 5px;touch-action:none;background:#fff}.signature-box>small{font-size:9px;color:#98a2b3}.status-field{margin-top:15px;max-width:280px}.preview-toolbar{justify-content:space-between}.preview-toolbar>div{display:flex;align-items:center;gap:10px}.preview-stage{overflow:auto;flex:1;padding:30px}.protocol-document{width:210mm;min-height:297mm;margin:0 auto;background:#fff;box-shadow:0 4px 25px rgba(0,0,0,.13);padding:16mm 16mm 14mm;font-family:Arial,Helvetica,sans-serif;color:#111;font-size:10.2pt;line-height:1.34}.doc-title{text-align:center;font-size:16pt;font-weight:800;margin:0}.doc-subtitle{text-align:center;font-size:9.2pt;margin:4px 0 16px}.doc-meta{display:grid;grid-template-columns:1fr 1fr;border:1px solid #aaa;margin-bottom:14px}.doc-meta>div{display:grid;grid-template-columns:78px 1fr;border-bottom:1px solid #ccc}.doc-meta>div:nth-last-child(-n+2){border-bottom:0}.doc-meta>div:nth-child(odd){border-right:1px solid #ccc}.doc-meta b,.doc-meta span{padding:5px 6px}.doc-meta b{background:#f4f4f4}.doc-section{margin:13px 0}.doc-section h3{font-size:11pt;margin:0 0 7px;font-weight:800}.doc-section p{margin:5px 0}.doc-table{width:100%;border-collapse:collapse;font-size:8.8pt}.doc-table th,.doc-table td{border:1px solid #aaa;padding:5px 6px;vertical-align:top}.doc-table th{background:#f0f0f0;text-align:left}.doc-parties{display:grid;grid-template-columns:1fr 1fr;gap:10px}.doc-party{border:1px solid #aaa}.doc-party h4{margin:0;padding:6px 7px;background:#f0f0f0;font-size:9pt}.doc-party dl{display:grid;grid-template-columns:90px 1fr;margin:0}.doc-party dt,.doc-party dd{margin:0;padding:4px 6px;border-top:1px solid #ddd}.doc-party dt{font-weight:700}.doc-signatures{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:18px}.doc-sign{min-height:80px}.doc-sign b{display:block;margin-bottom:8px}.doc-sign img{height:45px;max-width:180px;object-fit:contain;display:block}.doc-line{border-top:1px solid #555;margin-top:13px;padding-top:4px;font-size:8.5pt}.doc-note-box{border:1px solid #aaa;min-height:60px;padding:7px;white-space:pre-wrap}.toast{position:fixed;right:20px;bottom:20px;background:#111827;color:#fff;padding:11px 14px;border-radius:9px;z-index:1000;box-shadow:var(--shadow);font-size:12px}.mobile-only{display:none}
@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(2,1fr)}.clients-grid{grid-template-columns:repeat(2,1fr)}.equipment-row{grid-template-columns:1fr 1fr 1fr}.equipment-row .remove-row{grid-column:3}.editor-body{grid-template-columns:210px 1fr}.editor-nav{left:210px}}
@media(max-width:780px){:root{--sidebar:0px}.sidebar{transform:translateX(-100%);width:240px;transition:.2s}.sidebar.open{transform:none}.main{margin-left:0}.mobile-only{display:grid}.topbar{padding:0 14px;height:70px}.page-subtitle{display:none}.top-actions .ghost{display:none}.view{padding:20px 14px 35px}.hero-row{align-items:flex-start;gap:14px;flex-direction:column}.stats-grid{grid-template-columns:1fr 1fr;gap:9px}.clients-grid{grid-template-columns:1fr}.section-toolbar{flex-wrap:wrap}.searchbox{max-width:none;width:100%;flex-basis:100%}.form-grid.two{grid-template-columns:1fr}.span-2{grid-column:auto}.editor-header{height:auto;min-height:70px;padding:10px 12px}.editor-actions .ghost{display:none}.editor-body{grid-template-columns:1fr}.stepper{display:flex;overflow:auto;border-right:0;border-bottom:1px solid var(--line);padding:8px;position:sticky;top:0;z-index:5}.step{min-width:48px;padding:7px}.step div{display:none}.editor-content{padding:18px 12px 85px}.editor-nav{left:0;height:64px}.equipment-row{grid-template-columns:1fr}.equipment-row .remove-row{grid-column:auto}.signature-grid{grid-template-columns:1fr}.preview-stage{padding:10px}.protocol-document{transform-origin:top left;width:210mm}.doc-parties,.doc-signatures{grid-template-columns:1fr}.modal{padding:10px}.top-actions .button.primary{font-size:0;padding:8px 11px}.top-actions .button.primary::after{content:'+';font-size:20px}.button-row{gap:6px}}
@media print{body{background:#fff}.app-shell,.modal:not(#previewModal),.preview-toolbar{display:none!important}#previewModal{position:static;display:block!important;background:#fff;padding:0}.preview-shell{height:auto}.preview-stage{padding:0;overflow:visible}.protocol-document{box-shadow:none;margin:0;width:auto;min-height:auto;padding:10mm 12mm;font-size:9.6pt}@page{size:A4;margin:0}.doc-section{break-inside:avoid}.doc-table tr{break-inside:avoid}}

/* v1.1 — manual client + e-mail */
.client-entry{display:grid;gap:10px}.client-entry-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.client-entry-head>span{font-size:10px;font-weight:800;color:#475467}.client-mode-toggle{display:flex;border:1px solid var(--line-strong);border-radius:9px;overflow:hidden;background:#fff}.client-mode-toggle label{margin:0}.client-mode-toggle input{position:absolute;opacity:0;pointer-events:none}.client-mode-toggle span{display:block;padding:7px 10px;font-size:10px;font-weight:750;color:#667085;border-right:1px solid var(--line-strong);cursor:pointer}.client-mode-toggle label:last-child span{border-right:0}.client-mode-toggle input:checked+span{background:#111827;color:#fff}.client-entry select{width:100%;padding:10px 11px;border:1px solid var(--line-strong);border-radius:9px;background:#fff}.manual-client-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px;border:1px solid var(--line);border-radius:11px;background:#fbfcfd}.client-quick-info{margin-top:8px;padding:9px 11px;background:#f8fafc;border:1px solid var(--line);border-radius:8px;font-size:10px;color:#667085;line-height:1.5}.switch-field{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer}.switch-field>input{position:absolute;opacity:0;pointer-events:none}.switch-ui{width:34px;height:19px;border-radius:999px;background:#d0d5dd;position:relative;flex:none;margin-top:1px;transition:.18s}.switch-ui:after{content:'';position:absolute;width:15px;height:15px;border-radius:50%;background:#fff;left:2px;top:2px;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:.18s}.switch-field>input:checked+.switch-ui{background:#111827}.switch-field>input:checked+.switch-ui:after{transform:translateX(15px)}.switch-field>span:last-child{display:grid;gap:2px}.switch-field b{font-size:11px}.switch-field small{font-size:9.5px;color:var(--muted);line-height:1.4}.compact-switch{padding:9px 10px;background:#fff}.email-dialog{width:min(660px,100%)}.email-attachment{display:flex;align-items:center;gap:11px;padding:11px 12px;background:#f8fafc;border:1px solid var(--line);border-radius:10px}.email-file-icon{display:grid;place-items:center;width:38px;height:42px;border-radius:7px;background:#fff;border:1px solid var(--line-strong);font-size:9px;font-weight:900}.email-attachment div{display:grid;gap:2px}.email-attachment b{font-size:11px}.email-attachment small{font-size:9.5px;color:var(--muted)}.email-send-status{margin-right:auto;font-size:10px;color:var(--muted)}.mini-btn.email-sent{color:var(--green)}
@media(max-width:780px){.client-entry-head{align-items:flex-start;flex-direction:column}.client-mode-toggle{width:100%}.client-mode-toggle label{flex:1}.client-mode-toggle span{text-align:center}.manual-client-grid{grid-template-columns:1fr}.manual-client-grid .span-2{grid-column:auto}.switch-field.span-2{grid-column:auto}}

/* v1.2 — Gmail settings */
.email-config-card{border:1px solid var(--line-strong);border-radius:12px;padding:14px;background:#fbfcfd}.email-config-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:13px}.email-config-title>div{display:grid;gap:3px}.email-config-title b{font-size:12px}.email-config-title small{font-size:9.5px;line-height:1.45;color:var(--muted)}.gmail-badge{flex:none;padding:5px 8px;border:1px solid #e0e4e8;border-radius:999px;background:#fff;font-size:9px;font-weight:800;color:#475467}.compact-grid{gap:10px}.password-field{display:flex;align-items:center;position:relative}.password-field input{padding-right:38px!important;width:100%}.password-toggle{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:29px;height:29px;border:0;border-radius:7px;background:transparent;color:#667085;cursor:pointer}.password-toggle:hover{background:#eef2f6;color:#111827}.email-test-row{display:flex;align-items:center;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.warning-note{background:#fffbeb;border-color:#f5d78e;color:#745b15}.warning-note b{color:#5b4510}
@media(max-width:780px){.email-config-title{flex-direction:column}.email-test-row{align-items:flex-start;flex-direction:column}}

/* ===== Protocol document refinement v1.2.5 ===== */
.protocol-document,
.protocol-document *{box-sizing:border-box}
.protocol-document{
  font-family:Arial,Helvetica,sans-serif;
  color:#171717;
  font-size:9.55pt;
  line-height:1.30;
  letter-spacing:0;
  overflow-wrap:anywhere;
  word-break:normal;
  hyphens:auto;
}
.pdf-render-source{width:178mm!important;padding:0!important;box-shadow:none!important;min-height:0!important}
.doc-heading-block{margin:0 0 3mm}
.doc-title{font-size:15.2pt;line-height:1.12;font-weight:700;letter-spacing:.15px;margin:0;text-align:center}
.doc-subtitle{font-size:8.7pt;line-height:1.25;text-align:center;margin:1.6mm 0 0;color:#303030}
.doc-meta{display:grid;grid-template-columns:1fr 1fr;border:1px solid #a9a9a9;margin:0 0 3.2mm;background:#fff}
.doc-meta-item{display:grid!important;grid-template-columns:27mm minmax(0,1fr)!important;min-width:0;border-bottom:1px solid #d0d0d0}
.doc-meta-item:nth-child(odd){border-right:1px solid #d0d0d0}
.doc-meta-item:nth-last-child(-n+2){border-bottom:0}
.doc-meta-item>b,.doc-meta-item>span{display:block!important;min-width:0;padding:1.5mm 1.8mm!important;margin:0;overflow-wrap:anywhere}
.doc-meta-item>b{background:#f2f2f2;font-weight:700;white-space:nowrap}
.doc-meta-item>span{background:#fff}
.doc-section{width:100%;min-width:0;margin:3.2mm 0 0}
.doc-section h3{font-size:10.7pt;line-height:1.22;font-weight:700;margin:0 0 1.8mm;letter-spacing:.05px}
.doc-section p{margin:1.3mm 0;orphans:2;widows:2}
.doc-section>p:first-of-type{margin-top:0}
.doc-small{font-size:8.15pt!important;line-height:1.28!important;color:#323232;margin-top:1.4mm!important}
.doc-parties{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3.2mm;align-items:start;margin-top:2.2mm}
.doc-party{min-width:0;border:1px solid #aaa;background:#fff}
.doc-party h4{margin:0;padding:1.5mm 1.8mm;background:#efefef;font-size:8.9pt;line-height:1.15;font-weight:700;border-bottom:1px solid #cfcfcf}
.party-row{display:grid;grid-template-columns:29mm minmax(0,1fr);min-width:0;border-top:1px solid #dedede}
.party-row:first-of-type{border-top:0}
.party-row>b,.party-row>span{display:block;min-width:0;padding:1.35mm 1.7mm;line-height:1.25;overflow-wrap:anywhere}
.party-row>b{font-size:8.55pt;font-weight:700;border-right:1px solid #dedede;background:#fafafa;white-space:nowrap}
.party-row>span{font-size:8.7pt;background:#fff}
.doc-contact-list{display:grid;gap:.45mm;min-width:0}
.doc-contact-list>span{display:block;min-width:0;overflow-wrap:anywhere}
.doc-empty{color:#777;font-weight:400}
.doc-table{width:100%;max-width:100%;border-collapse:collapse;border-spacing:0;table-layout:fixed;font-size:8.25pt;line-height:1.24;margin:0;background:#fff}
.doc-table th,.doc-table td{border:1px solid #aaa;padding:1.25mm 1.45mm;vertical-align:top;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:normal}
.doc-table th{background:#efefef;text-align:left;font-weight:700;vertical-align:middle}
.doc-table td b{font-weight:700}
.doc-center{text-align:center!important;vertical-align:middle!important}
.doc-equipment col:nth-child(1){width:4.5%}.doc-equipment col:nth-child(2){width:31%}.doc-equipment col:nth-child(3){width:16%}.doc-equipment col:nth-child(4){width:22%}.doc-equipment col:nth-child(5){width:6%}.doc-equipment col:nth-child(6){width:20.5%}
.doc-checks col:nth-child(1){width:91%}.doc-checks col:nth-child(2){width:9%}
.doc-license col:nth-child(1){width:18%}.doc-license col:nth-child(2){width:39%}.doc-license col:nth-child(3){width:43%}
.doc-sla col:nth-child(1){width:14%}.doc-sla col:nth-child(2){width:41%}.doc-sla col:nth-child(3){width:14%}.doc-sla col:nth-child(4){width:31%}
.doc-tariff col:nth-child(1){width:27%}.doc-tariff col:nth-child(2){width:48%}.doc-tariff col:nth-child(3){width:25%}
.doc-note-box{border:1px solid #aaa;min-height:16mm;padding:1.8mm 2mm;white-space:normal;overflow-wrap:anywhere;line-height:1.32;background:#fff}
.doc-followup{margin-top:1.7mm!important}
.doc-acceptance-status{margin-bottom:1.6mm!important}
.doc-signatures{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8mm;margin-top:4.5mm;align-items:start}
.doc-sign{min-width:0;min-height:25mm}
.doc-sign>b{display:block;font-size:9.2pt;line-height:1.2;margin:0 0 1.5mm}
.doc-signature-area{height:15mm;display:flex;align-items:flex-end;overflow:hidden}
.doc-signature-area img,.doc-sign img{display:block;max-width:100%;width:auto;height:auto;max-height:14mm;object-fit:contain;object-position:left bottom}
.doc-line{border-top:1px solid #555;margin-top:1mm;padding-top:1.2mm;font-size:8.25pt;line-height:1.2;min-width:0;overflow-wrap:anywhere}
.doc-line>span{color:#555;white-space:nowrap}
@media print{
  .protocol-document{font-size:9.3pt!important;line-height:1.28!important;padding:9mm 12mm!important}
  .doc-section{break-inside:auto!important}
  .doc-section h3,.doc-party,.doc-note-box,.doc-signatures{break-inside:avoid!important}
  .doc-table tr{break-inside:avoid!important;page-break-inside:avoid!important}
  .doc-table thead{display:table-header-group}
}
.doc-checks col:nth-child(1){width:89%}.doc-checks col:nth-child(2){width:11%}
.doc-final-block{width:100%;min-width:0;margin:0;break-inside:avoid}
.doc-final-block>.doc-section{margin-top:3.2mm}

/* ===== Autosave & automatic signature status v1.2.7 ===== */
.autosave-indicator{box-sizing:border-box;min-height:38px;padding:9px 14px;border:1px solid var(--line-strong);border-radius:9px;background:#fff;font-size:12px;font-weight:700;line-height:1;color:#667085;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;text-align:center;vertical-align:middle}
.autosave-indicator[data-mode="saving"]{color:#9a6700;background:#fffaeb;border-color:#fedf89}
.autosave-indicator[data-mode="saved"]{color:var(--green);background:#ecfdf3;border-color:#abefc6}
.autosave-indicator[data-mode="error"]{color:var(--danger);background:#fef3f2;border-color:#fecdca}
.status-auto-hint{font-size:9px;line-height:1.35;color:#98a2b3;font-weight:500}
@media(max-width:780px){.autosave-indicator{display:none}}

/* ===== Editable protocol text v1.2.9 ===== */
.protocol-template-editor{min-height:520px;font-family:inherit;font-size:12px;line-height:1.55;resize:vertical;white-space:pre-wrap}
.protocol-template-help{font-size:10.5px;line-height:1.55;color:#667085;background:#f8fafc;border:1px solid var(--line);border-radius:8px;padding:10px 12px}
.doc-bullet{display:grid;grid-template-columns:4.5mm minmax(0,1fr);gap:1mm;align-items:start}
.doc-bullet>span{font-weight:700;text-align:center}
.doc-template-table{margin:2mm 0 2.5mm}
.doc-template-cols-2 th:nth-child(1),.doc-template-cols-2 td:nth-child(1){width:44%}
.doc-template-cols-2 th:nth-child(2),.doc-template-cols-2 td:nth-child(2){width:56%}
.doc-template-cols-4 th:nth-child(1),.doc-template-cols-4 td:nth-child(1){width:22%}
.doc-template-cols-4 th:nth-child(2),.doc-template-cols-4 td:nth-child(2){width:37%}
.doc-template-cols-4 th:nth-child(3),.doc-template-cols-4 td:nth-child(3){width:20%}
.doc-template-cols-4 th:nth-child(4),.doc-template-cols-4 td:nth-child(4){width:21%}
.doc-template-signatures{margin-top:4mm}

/* ===== Protocol Text Studio v1.2.9 ===== */
.protocol-text-panel{width:min(1280px,calc(100vw - var(--sidebar) - 72px));max-width:none;overflow:hidden}
.protocol-studio-head{align-items:center}
.template-health{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:#f8fafc;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:750;color:#475467;white-space:nowrap}
.template-health-dot{width:7px;height:7px;border-radius:50%;background:#12b76a;box-shadow:0 0 0 3px rgba(18,183,106,.10)}
.template-health[data-state="warning"] .template-health-dot{background:#f79009;box-shadow:0 0 0 3px rgba(247,144,9,.11)}
.template-health[data-state="error"] .template-health-dot{background:#d92d20;box-shadow:0 0 0 3px rgba(217,45,32,.10)}
.template-health[data-state="warning"]{color:#b54708;background:#fffaf5;border-color:#fedf89}
.template-health[data-state="error"]{color:#b42318;background:#fff7f6;border-color:#fecdca}

.protocol-studio{display:grid;grid-template-columns:170px minmax(420px,1fr) 350px;min-height:690px;border-bottom:1px solid var(--line)}
.protocol-studio-sections{background:#fafbfc;border-right:1px solid var(--line);padding:16px 11px;min-width:0}
.studio-kicker{font-size:9px;letter-spacing:.9px;font-weight:850;color:#98a2b3;padding:0 8px 9px}
.protocol-section-nav{display:grid;gap:4px}
.protocol-section-link{border:0;background:transparent;border-radius:8px;padding:8px 9px;text-align:left;display:grid;grid-template-columns:21px 1fr;gap:7px;align-items:start;color:#475467;cursor:pointer;width:100%}
.protocol-section-link:hover{background:#eef2f6;color:#101828}
.protocol-section-link.active{background:#eaf0ff;color:#1d4ed8}
.protocol-section-index{width:20px;height:20px;border-radius:6px;background:#fff;border:1px solid #e4e7ec;display:grid;place-items:center;font-size:9px;font-weight:800;color:#667085}
.protocol-section-link.active .protocol-section-index{border-color:#b2ccff;color:#1d4ed8}
.protocol-section-copy{min-width:0}
.protocol-section-copy b{display:block;font-size:10px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.protocol-section-copy small{display:block;font-size:8.5px;color:#98a2b3;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.studio-side-note{font-size:9px;line-height:1.45;color:#98a2b3;border-top:1px solid var(--line);padding:11px 8px 0;margin-top:12px}

.protocol-studio-editor{min-width:0;background:#fff;display:flex;flex-direction:column}
.protocol-editor-toolbar{min-height:49px;padding:7px 10px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:7px;background:#fbfcfd;flex-wrap:wrap}
.toolbar-group{display:flex;gap:4px;align-items:center}
.toolbar-separator{width:1px;height:24px;background:#e4e7ec;margin:0 2px}
.editor-tool{border:1px solid transparent;background:transparent;border-radius:7px;height:32px;min-width:32px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;color:#344054;font-size:11px;font-weight:750;cursor:pointer}
.editor-tool:hover{background:#fff;border-color:#d0d5dd;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.editor-tool.wide{min-width:auto;padding:0 9px}
.template-search{margin-left:auto;display:flex;align-items:center;border:1px solid #d0d5dd;background:#fff;border-radius:8px;height:32px;min-width:190px;overflow:hidden}
.template-search>span{font-size:15px;color:#98a2b3;padding-left:8px}
.template-search input{border:0;outline:0;background:transparent;padding:6px 6px;width:130px;font-size:10.5px;color:#344054}
.template-search button{border:0;border-left:1px solid #eaecf0;background:#fff;height:100%;width:30px;color:#667085;cursor:pointer}
.template-search button:hover{background:#f8fafc;color:#101828}
.protocol-placeholder-strip{padding:8px 11px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:5px;flex-wrap:wrap;background:#fff}
.placeholder-label{font-size:9px;font-weight:800;color:#98a2b3;margin-right:3px;text-transform:uppercase;letter-spacing:.45px}
.placeholder-chip{border:1px solid #d6e4ff;background:#f5f8ff;color:#175cd3;border-radius:999px;padding:5px 8px;font-size:9.5px;font-weight:750;cursor:pointer}
.placeholder-chip:hover{background:#eaf1ff;border-color:#b2ccff}
.template-editor-wrap{position:relative;flex:1;min-height:500px;background:#fff}
.protocol-template-editor{display:block;width:100%;height:100%;min-height:500px!important;border:0!important;border-radius:0!important;padding:18px 20px!important;resize:none!important;outline:0!important;box-shadow:none!important;font-family:"Segoe UI",Arial,sans-serif!important;font-size:12.5px!important;line-height:1.65!important;color:#1d2939;background:#fff!important;tab-size:2;caret-color:#2563eb}
.protocol-template-editor:focus{box-shadow:inset 3px 0 0 #2563eb!important}
.protocol-editor-footer{height:34px;padding:0 12px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:#98a2b3;font-size:9.5px;background:#fbfcfd}
.editor-save-state{font-weight:750;color:#12b76a}
.editor-save-state.dirty{color:#f79009}
.editor-save-state.error{color:#d92d20}
.protocol-template-help{margin:10px 12px 12px!important;padding:0!important;border:1px solid var(--line)!important;border-radius:9px!important;background:#f8fafc!important;color:#667085!important;font-size:10px!important;line-height:1.55!important}
.protocol-template-help summary{cursor:pointer;padding:9px 11px;font-weight:750;color:#475467;list-style:none}
.protocol-template-help summary::-webkit-details-marker{display:none}
.protocol-template-help summary:after{content:'+';float:right;font-size:14px;color:#98a2b3}
.protocol-template-help[open] summary:after{content:'−'}
.protocol-template-help>div{padding:0 11px 10px;border-top:1px solid #eaecf0}
.protocol-template-help p{margin:8px 0 0}

.protocol-studio-preview{min-width:0;background:#f5f6f8;border-left:1px solid var(--line);padding:12px;display:flex;flex-direction:column}
.studio-preview-head{height:38px;display:flex;align-items:flex-start;justify-content:space-between;padding:1px 2px 8px}
.studio-preview-head>div{display:grid;gap:2px}
.studio-preview-head b{font-size:11px;color:#344054}
.studio-preview-head small{font-size:8.5px;color:#98a2b3}
.live-dot{font-size:8px;font-weight:900;letter-spacing:.6px;color:#067647;background:#ecfdf3;border:1px solid #abefc6;border-radius:999px;padding:4px 6px}
.template-preview-window{flex:1;min-height:570px;overflow:auto;background:#dfe3e8;border:1px solid #d0d5dd;border-radius:9px;padding:13px;box-shadow:inset 0 1px 2px rgba(16,24,40,.05)}
.template-live-document{zoom:.365;width:210mm!important;min-height:297mm!important;margin:0 auto!important;box-shadow:0 2px 10px rgba(16,24,40,.16)!important}
.studio-preview-note{font-size:8.8px;line-height:1.4;color:#98a2b3;padding:9px 3px 0}
.protocol-studio-actions{padding:12px 14px;display:flex;justify-content:space-between;gap:12px;align-items:center;background:#fff}

@media(max-width:1250px){
  .protocol-text-panel{width:calc(100vw - var(--sidebar) - 68px)}
  .protocol-studio{grid-template-columns:150px minmax(390px,1fr) 300px}
  .template-search{min-width:165px}.template-search input{width:105px}
  .template-live-document{zoom:.31}
}
@media(max-width:1020px){
  .protocol-studio{grid-template-columns:145px minmax(0,1fr)}
  .protocol-studio-preview{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);min-height:430px}
  .template-preview-window{min-height:360px;max-height:520px}
  .template-live-document{zoom:.5}
}
@media(max-width:780px){
  .protocol-text-panel{width:100%}
  .protocol-studio-head{align-items:flex-start}.template-health{margin-top:2px}
  .protocol-studio{display:block;min-height:0}
  .protocol-studio-sections{border-right:0;border-bottom:1px solid var(--line);padding:9px 10px;overflow:auto}
  .studio-kicker,.studio-side-note{display:none}
  .protocol-section-nav{display:flex;gap:5px;min-width:max-content}
  .protocol-section-link{width:auto;grid-template-columns:18px auto;padding:7px 8px}
  .protocol-section-copy small{display:none}.protocol-section-copy b{max-width:130px}
  .protocol-section-index{width:18px;height:18px}
  .protocol-editor-toolbar{gap:4px;padding:6px}.toolbar-separator{display:none}
  .template-search{order:3;width:100%;margin-left:0}.template-search input{width:100%;flex:1}
  .protocol-placeholder-strip{overflow-x:auto;flex-wrap:nowrap}.placeholder-label{display:none}.placeholder-chip{white-space:nowrap}
  .template-editor-wrap{min-height:430px}.protocol-template-editor{min-height:430px!important;padding:15px!important;font-size:12px!important}
  .protocol-studio-preview{padding:10px}.template-live-document{zoom:.39}
  .protocol-studio-actions{align-items:stretch;flex-direction:column}.protocol-studio-actions>.button-row{width:100%}.protocol-studio-actions>.button.primary{width:100%}
}
/* Keep ordinary settings compact; give Text Studio the workspace it needs. */
#view-settings .settings-layout{max-width:1280px}
#view-settings .settings-panel:not(.protocol-text-panel),#view-settings .settings-savebar{max-width:900px;width:100%}
#view-settings .protocol-text-panel{width:100%;max-width:1280px}
@media(max-width:780px){#view-settings .settings-panel:not(.protocol-text-panel),#view-settings .settings-savebar,#view-settings .protocol-text-panel{max-width:none;width:100%}}

/* ===== v1.3.2 — Visual protocol editor & stable document flow ===== */
.protocol-document{overflow-wrap:break-word!important;word-break:normal!important;hyphens:none!important}
.protocol-document .doc-section,.protocol-document .doc-section>*{max-width:100%;min-width:0}
.protocol-document .doc-section p,.protocol-document .doc-section li,.protocol-document .doc-section strong,.protocol-document .doc-section em,.protocol-document .doc-table th,.protocol-document .doc-table td{overflow-wrap:break-word!important;word-break:normal!important;hyphens:none!important;white-space:normal!important}
.protocol-document .doc-list{margin:1.2mm 0 1.8mm;padding-left:5.2mm}
.protocol-document .doc-list li{margin:.8mm 0;padding-left:.6mm}
.protocol-document .doc-list li::marker{font-size:.82em}
.pdf-page-source{width:178mm!important;max-width:178mm!important;min-width:178mm!important;overflow:visible!important}
.pdf-page-source .doc-section{width:100%!important;max-width:100%!important}
.pdf-page-source .doc-section-continuation{margin-top:1.4mm!important}
.pdf-page-source .pdf-unit-first{margin-top:0!important}

.visual-studio{grid-template-columns:176px minmax(520px,1fr) 370px;min-height:720px}
.visual-editor-column{background:#f8fafc}
.visual-editor-shell{flex:1;min-height:540px;padding:14px;background:#eef1f5;overflow:auto}
.protocol-visual-editor{width:100%;min-height:610px;background:#fff;border:1px solid #d0d5dd;border-radius:10px;padding:24px 28px;outline:0;box-shadow:0 1px 3px rgba(16,24,40,.05);font-family:Arial,Helvetica,sans-serif;font-size:13px;line-height:1.58;color:#1d2939;caret-color:#2563eb}
.protocol-visual-editor:focus{border-color:#84adff;box-shadow:0 0 0 3px rgba(37,99,235,.08),0 1px 3px rgba(16,24,40,.05)}
.protocol-visual-editor h1{font-size:20px;line-height:1.2;text-align:center;margin:0 0 22px;font-weight:800;color:#101828}
.protocol-visual-editor h3{font-size:14px;line-height:1.3;margin:22px 0 8px;padding-top:4px;font-weight:800;color:#101828;border-top:1px solid transparent}
.protocol-visual-editor p{margin:8px 0;min-height:1.2em}
.protocol-visual-editor ul,.protocol-visual-editor ol{margin:8px 0 12px;padding-left:24px}
.protocol-visual-editor li{margin:5px 0}
.protocol-visual-editor table{width:100%;border-collapse:collapse;table-layout:fixed;margin:13px 0 16px;background:#fff}
.protocol-visual-editor th,.protocol-visual-editor td{border:1px solid #cfd5dd;padding:8px 9px;vertical-align:top;min-width:60px;overflow-wrap:break-word;word-break:normal}
.protocol-visual-editor th{background:#f2f4f7;font-weight:750;color:#344054}
.protocol-visual-editor td.template-cell-active,.protocol-visual-editor th.template-cell-active{outline:2px solid #2e6eea;outline-offset:-2px;background:#f5f8ff}
.template-signatures-token{display:flex!important;align-items:center!important;justify-content:center!important;min-height:54px!important;margin:14px 0!important;border:1px dashed #98a2b3!important;border-radius:8px!important;background:#f8fafc!important;color:#475467!important;font-size:11px!important;font-weight:800!important;letter-spacing:.15px!important;user-select:none!important}
.template-signatures-token::before{content:'✎';margin-right:7px;color:#667085}
.primary-tool{background:#eef4ff;border-color:#c7d7fe;color:#1849a9}
.primary-tool:hover{background:#e5edff!important;border-color:#9db7ff!important}

.protocol-table-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;border-bottom:1px solid #c7d7fe;background:#f5f8ff}
.table-tools-info{display:flex;align-items:center;gap:7px;min-width:0;color:#475467;font-size:10px}
.table-tools-info>span{font-weight:800;color:#1849a9}.table-tools-info>b{padding:3px 6px;border-radius:6px;background:#fff;border:1px solid #c7d7fe;font-size:9.5px}.table-tools-info>small{color:#667085;white-space:nowrap}
.table-tools-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.table-tool-btn{height:29px;border:1px solid #b2ccff;background:#fff;color:#175cd3;border-radius:7px;padding:0 8px;font-size:9.5px;font-weight:750;cursor:pointer}
.table-tool-btn:hover{background:#eef4ff}.table-tool-btn.danger-lite{border-color:#fecdca;color:#b42318}.table-tool-btn.danger-lite:hover{background:#fff1f0}
.visual-footer{gap:12px}.keyboard-hints{display:flex;align-items:center;justify-content:center;gap:5px;color:#98a2b3;font-size:8.5px;flex:1}.keyboard-hints kbd{font-family:inherit;font-size:8px;font-weight:800;color:#475467;background:#fff;border:1px solid #d0d5dd;border-bottom-width:2px;border-radius:5px;padding:2px 4px}.keyboard-hints span{margin-right:4px}
.preview-head-actions{display:flex;align-items:center;gap:6px}.mini-preview-btn{border:0;background:transparent;color:#175cd3;font-size:8.7px;font-weight:800;cursor:pointer;padding:4px 5px;border-radius:5px}.mini-preview-btn:hover{background:#eaf0ff}
.template-preview-window{position:relative;display:block!important;overflow:auto!important}
.template-preview-scale{width:210mm;min-height:297mm;zoom:.39;margin:0 auto;transform-origin:top center}
.template-live-document{zoom:1!important;width:210mm!important;min-height:297mm!important;margin:0!important;box-shadow:0 2px 10px rgba(16,24,40,.16)!important}
.preview-error{padding:24px;color:#b42318;font:14px Arial;background:#fff}

.table-dialog{width:min(560px,100%)}.table-dialog-body{padding:18px 21px;display:grid;gap:15px}.table-size-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px}.table-dialog-preview{padding:12px;background:#f8fafc;border:1px solid var(--line);border-radius:10px;overflow:auto}.table-dialog-preview table{width:100%;border-collapse:collapse;table-layout:fixed;background:#fff}.table-dialog-preview th,.table-dialog-preview td{border:1px solid #d0d5dd;padding:7px;font-size:9px;color:#667085}.table-dialog-preview th{background:#eef2f6;color:#344054}

@media(max-width:1300px){.visual-studio{grid-template-columns:155px minmax(450px,1fr) 320px}.template-preview-scale{zoom:.335}.keyboard-hints span{display:none}}
@media(max-width:1060px){.visual-studio{grid-template-columns:145px minmax(0,1fr)}.protocol-studio-preview{grid-column:1/-1}.template-preview-scale{zoom:.52}.protocol-table-tools{align-items:flex-start;flex-direction:column}.table-tools-actions{justify-content:flex-start}}
@media(max-width:780px){.visual-editor-shell{padding:8px}.protocol-visual-editor{min-height:500px;padding:18px 16px;font-size:12.5px}.visual-footer{height:auto;min-height:40px;flex-wrap:wrap;padding:6px 10px}.keyboard-hints{order:3;flex-basis:100%;justify-content:flex-start;overflow:auto}.table-tools-info>small{display:none}.table-size-controls{grid-template-columns:1fr}.template-preview-scale{zoom:.40}}

/* ===== v1.3.2 — Rich text, images and merged table cells ===== */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.editor-format-selects{gap:5px}
.editor-select-wrap{display:flex;align-items:center}
.editor-select{height:30px;border:1px solid #d0d5dd;border-radius:7px;background:#fff;color:#344054;font:700 9.5px Arial,Helvetica,sans-serif;padding:0 25px 0 8px;outline:0;cursor:pointer;max-width:120px}
.editor-select:focus{border-color:#84adff;box-shadow:0 0 0 2px rgba(37,99,235,.08)}
.size-select .editor-select{width:58px;padding-right:20px}
.editor-color-wrap{position:relative;width:32px;height:30px;border:1px solid #d0d5dd;border-radius:7px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer}
.editor-color-letter{font-weight:900;font-size:12px;color:#344054;line-height:1;pointer-events:none}
.editor-color-wrap input{position:absolute;inset:auto 3px 2px 3px;width:26px;height:6px;border:0;padding:0;background:transparent;cursor:pointer}
.editor-color-wrap input::-webkit-color-swatch-wrapper{padding:0}.editor-color-wrap input::-webkit-color-swatch{border:0;border-radius:3px}.editor-color-wrap input::-moz-color-swatch{border:0;border-radius:3px}
.editor-align-group{gap:3px}.align-tool{font-family:Arial,sans-serif!important;font-size:17px!important;line-height:1!important;overflow:hidden}.center-lines{padding-left:8px!important;padding-right:8px!important;text-align:center}.right-lines{text-align:right!important;padding-left:11px!important}.justify-lines{letter-spacing:1.5px!important}
.table-tools-divider{width:1px;height:22px;background:#d0d5dd;margin:3px 2px}.merge-btn{border-color:#a6f4c5;color:#067647}.merge-btn:hover{background:#ecfdf3!important}
.protocol-image-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;border-bottom:1px solid #b2ddff;background:#f0f9ff}
.image-tools-info{display:flex;align-items:center;gap:7px;color:#475467;font-size:10px}.image-tools-info>span{font-weight:800;color:#026aa2}.image-tools-info>small{color:#667085}
.image-tools-actions{display:flex;gap:5px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.image-size-control{height:29px;display:flex;align-items:center;gap:6px;padding:0 8px;border:1px solid #b9e6fe;border-radius:7px;background:#fff;color:#475467;font-size:9px;font-weight:700}.image-size-control input{width:110px;accent-color:#1570ef}.image-size-control b{min-width:28px;color:#175cd3;text-align:right}
.protocol-visual-editor .template-image-block{margin:12px 0;min-height:24px;line-height:1}.protocol-visual-editor img[data-template-image]{height:auto;max-width:100%;border-radius:3px;outline:1px dashed transparent;outline-offset:4px;cursor:pointer;vertical-align:middle}.protocol-visual-editor img.template-image-active{outline:2px solid #2e90fa;box-shadow:0 0 0 5px rgba(46,144,250,.08)}
.protocol-document .template-image-block{margin:2.2mm 0;max-width:100%;line-height:1}.protocol-document .template-image-block img{max-width:100%;vertical-align:middle}.protocol-document .doc-template-merged th,.protocol-document .doc-template-merged td{width:auto!important}
.protocol-visual-editor td[colspan],.protocol-visual-editor th[colspan],.protocol-visual-editor td[rowspan],.protocol-visual-editor th[rowspan]{background-clip:padding-box}
@media(max-width:1060px){.protocol-image-tools{align-items:flex-start;flex-direction:column}.image-tools-actions{justify-content:flex-start}.image-tools-info>small{display:none}}
@media(max-width:780px){.editor-format-selects{width:100%;order:2}.editor-select{max-width:110px}.protocol-image-tools{padding:8px}.image-size-control input{width:85px}.table-tools-divider{display:none}}


/* ===== v1.3.2 — Word-like image resize & free positioning ===== */
.visual-editor-shell{position:relative}
.protocol-visual-editor{position:relative}
.image-word-tools{gap:6px}
.image-dimension-control{height:30px;display:flex;align-items:center;gap:5px;padding:0 7px;border:1px solid #b9e6fe;border-radius:7px;background:#fff;color:#475467;font-size:9px;font-weight:800}
.image-dimension-control input{width:58px;height:22px;border:0;border-bottom:1px solid #d0d5dd;background:transparent;outline:0;text-align:right;font:700 10px Arial,sans-serif;color:#175cd3}
.image-dimension-control em{font-style:normal;color:#98a2b3;font-weight:700}
.image-ratio-control{height:30px;display:flex;align-items:center;gap:5px;padding:0 8px;border:1px solid #b9e6fe;border-radius:7px;background:#fff;color:#475467;font-size:9px;font-weight:750;cursor:pointer;user-select:none}
.image-ratio-control input{accent-color:#1570ef}
.image-mode-btn.active{background:#eff8ff;border-color:#84caff;color:#175cd3;box-shadow:inset 0 0 0 1px #84caff}
.protocol-visual-editor img[data-template-image]{user-select:none;-webkit-user-drag:none;touch-action:none}
.protocol-visual-editor [data-template-image-block][data-image-mode="free"] img[data-template-image]{cursor:move}
.protocol-visual-editor [data-template-image-block][data-image-mode="inline"] img[data-template-image]{cursor:default}
.protocol-image-overlay{position:absolute;z-index:50;border:2px solid #2e90fa;box-sizing:border-box;pointer-events:none;box-shadow:0 0 0 1px rgba(255,255,255,.8)}
.protocol-image-overlay.hidden{display:none!important}
.image-resize-handle{position:absolute;width:9px;height:9px;background:#fff;border:2px solid #2e90fa;border-radius:2px;box-sizing:border-box;pointer-events:auto;touch-action:none}
.image-resize-handle.nw{left:-6px;top:-6px;cursor:nwse-resize}.image-resize-handle.n{left:50%;top:-6px;transform:translateX(-50%);cursor:ns-resize}.image-resize-handle.ne{right:-6px;top:-6px;cursor:nesw-resize}
.image-resize-handle.e{right:-6px;top:50%;transform:translateY(-50%);cursor:ew-resize}.image-resize-handle.se{right:-6px;bottom:-6px;cursor:nwse-resize}.image-resize-handle.s{left:50%;bottom:-6px;transform:translateX(-50%);cursor:ns-resize}
.image-resize-handle.sw{left:-6px;bottom:-6px;cursor:nesw-resize}.image-resize-handle.w{left:-6px;top:50%;transform:translateY(-50%);cursor:ew-resize}
body.image-resizing,body.image-moving{user-select:none;cursor:grabbing}
.protocol-document .template-image-block[data-image-mode="free"]{position:relative;z-index:5}
.protocol-document .template-image-block img{object-fit:fill}
@media(max-width:780px){.image-word-tools{justify-content:flex-start}.image-dimension-control input{width:48px}.protocol-image-overlay{display:none!important}}

/* ===== Yotta Protocol v1.4.0 Online / MySQL sync ===== */
.cloud-sync-button{min-width:138px;gap:8px}.cloud-status-dot{width:8px;height:8px;border-radius:50%;background:#98a2b3;box-shadow:0 0 0 3px rgba(152,162,179,.10)}.cloud-sync-button[data-mode="ok"] .cloud-status-dot{background:#12b76a;box-shadow:0 0 0 3px rgba(18,183,106,.12)}.cloud-sync-button[data-mode="saving"] .cloud-status-dot{background:#f79009;box-shadow:0 0 0 3px rgba(247,144,9,.12)}.cloud-sync-button[data-mode="error"] .cloud-status-dot{background:#f04438;box-shadow:0 0 0 3px rgba(240,68,56,.12)}.cloud-sync-button[data-mode="locked"] .cloud-status-dot{background:#7f56d9;box-shadow:0 0 0 3px rgba(127,86,217,.12)}
.cloud-settings-panel{overflow:hidden}.cloud-settings-badge{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:6px 9px;background:#f8fafc;color:#475467;font-size:10px;font-weight:800}.cloud-settings-badge[data-mode="ok"]{background:#ecfdf3;border-color:#abefc6;color:#067647}.cloud-settings-badge[data-mode="error"]{background:#fef3f2;border-color:#fecdca;color:#b42318}.cloud-settings-badge[data-mode="saving"]{background:#fffaeb;border-color:#fedf89;color:#9a6700}.cloud-settings-body{padding:16px 19px;display:grid;gap:15px}.cloud-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.cloud-info-grid>div{border:1px solid var(--line);border-radius:10px;padding:11px 12px;background:#fbfcfd;display:grid;gap:4px}.cloud-info-grid span{font-size:9.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.25px;font-weight:700}.cloud-info-grid b{font-size:11.5px;line-height:1.4}
.cloud-login-modal{z-index:120;background:rgba(15,23,42,.70);backdrop-filter:blur(5px)}.cloud-login-dialog{width:min(430px,calc(100vw - 28px));padding:24px}.cloud-login-brand{display:flex;align-items:center;gap:11px;padding-bottom:18px;border-bottom:1px solid var(--line)}.cloud-login-brand .brand-mark{background:#111827;color:#fff;flex:none}.cloud-login-brand>div:last-child{display:grid;gap:3px}.cloud-login-brand b{font-size:16px}.cloud-login-brand span{font-size:9px;color:var(--muted);letter-spacing:.35px}.cloud-login-copy{padding:20px 0 15px}.cloud-login-copy h2{margin:0 0 6px;font-size:20px}.cloud-login-copy p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}.cloud-login-error{min-height:18px;margin:7px 0 3px;color:var(--danger);font-size:10.5px}.cloud-login-button{width:100%;margin-top:7px}
@media(max-width:900px){.cloud-info-grid{grid-template-columns:1fr}.cloud-sync-button{min-width:40px}.cloud-sync-button #cloudSyncText{display:none}}

.cloud-startup-overlay{position:fixed;inset:0;z-index:150;background:#f4f6f8;display:grid;place-items:center}.cloud-startup-overlay.hidden{display:none}.cloud-startup-card{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px;box-shadow:var(--shadow);min-width:290px}.cloud-startup-card .brand-mark{background:#111827;color:#fff}.cloud-startup-card>div:nth-child(2){display:grid;gap:4px;flex:1}.cloud-startup-card b{font-size:14px}.cloud-startup-card span{font-size:10px;color:var(--muted)}.cloud-startup-card i{width:18px;height:18px;border:2px solid #d0d5dd;border-top-color:var(--accent);border-radius:50%;animation:yottaSpin .8s linear infinite}@keyframes yottaSpin{to{transform:rotate(360deg)}}


/* ===== v1.4.3 — EIK lookup + protocol delete ===== */
.danger-mini{color:#b42318!important;border-color:#fecdca!important;background:#fff!important}.danger-mini:hover{background:#fff1f0!important;border-color:#fda29b!important}
.company-lookup-settings{padding:16px 19px;display:grid;gap:15px}.lookup-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.lookup-mode-card{position:relative;cursor:pointer}.lookup-mode-card input{position:absolute;opacity:0;pointer-events:none}.lookup-mode-card>span{display:grid;gap:4px;min-height:76px;padding:12px 13px;border:1px solid var(--line);border-radius:10px;background:#fff;transition:.15s ease}.lookup-mode-card b{font-size:11px;color:#344054}.lookup-mode-card small{font-size:9px;line-height:1.45;color:#667085}.lookup-mode-card input:checked+span{border-color:#84adff;background:#f5f8ff;box-shadow:0 0 0 2px rgba(37,99,235,.07)}.lookup-mode-card input:checked+span b{color:#175cd3}.field-help{display:block;margin-top:5px;color:#98a2b3;font-size:9px;line-height:1.4}
.input-action{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center}.input-action-button{height:36px;border:1px solid #b2ccff;border-radius:8px;background:#eef4ff;color:#175cd3;font-size:10px;font-weight:800;padding:0 12px;cursor:pointer}.input-action-button:hover{background:#e5edff}.lookup-status{display:block;min-height:15px;margin-top:4px;font-size:9px;color:#667085}.lookup-status[data-mode="ok"]{color:#067647}.lookup-status[data-mode="error"]{color:#b42318}.lookup-status[data-mode="warning"]{color:#b54708}.lookup-status[data-mode="loading"]{color:#175cd3}
.company-lookup-dialog{width:min(860px,calc(100vw - 28px))}.company-compare-grid{padding:18px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.company-candidate{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff;display:grid;gap:12px}.company-candidate.online{border-color:#b2ccff;background:#fbfdff}.candidate-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.candidate-head b{font-size:12px}.candidate-head span{font-size:9px;color:#667085}.candidate-body{display:grid;border-top:1px solid #eaecf0}.candidate-body>div{display:grid;grid-template-columns:84px 1fr;gap:10px;padding:7px 0;border-bottom:1px solid #f2f4f7}.candidate-body span{font-size:9px;color:#98a2b3}.candidate-body b{font-size:10px;color:#344054;overflow-wrap:anywhere}.candidate-empty{display:block!important;color:#98a2b3;font-size:10px;padding:12px 0!important}
@media(max-width:780px){.lookup-mode-grid,.company-compare-grid{grid-template-columns:1fr}.lookup-mode-card>span{min-height:0}.input-action{grid-template-columns:1fr}.input-action-button{width:100%}}

/* ===== v1.4.6 — full mobile review / responsive polish ===== */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:76px}
body{overflow-x:hidden}
body:has(.modal:not(.hidden)){overflow:hidden}
.topbar>div:not(.top-actions){min-width:0}.page-title,.page-subtitle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.table-wrap{-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}
.editor-content{scroll-padding-bottom:150px}

@media(max-width:900px){
  .topbar{gap:10px}.top-actions{gap:6px;flex:none}
  .panel-head{min-width:0}.panel-head>div{min-width:0}
  .data-table{min-width:720px}
  #view-dashboard .data-table{min-width:650px}
  .settings-savebar{bottom:max(10px,env(safe-area-inset-bottom));margin-bottom:env(safe-area-inset-bottom)}
}

@media(max-width:780px){
  html,body{min-width:0;width:100%;overflow-x:hidden}
  input,select,textarea{font-size:16px!important}
  .sidebar{padding-bottom:calc(18px + env(safe-area-inset-bottom));box-shadow:18px 0 40px rgba(15,23,42,.20)}
  .sidebar.open{transform:translateX(0)}
  .main,.topbar,.view,.panel,.settings-layout{min-width:0;max-width:100%}
  .topbar{height:64px;min-height:64px;padding:0 10px;padding-top:env(safe-area-inset-top);gap:8px}
  .topbar .icon-button{width:40px;height:40px;flex:none}
  .page-title{font-size:16px;max-width:42vw}
  .top-actions{margin-left:auto;gap:5px}
  .top-actions .cloud-sync-button{display:none!important}
  .top-actions .button.primary{width:40px;min-width:40px;height:40px;padding:0!important;border-radius:9px}
  .view{padding:16px 10px calc(28px + env(safe-area-inset-bottom))}
  .hero-row{margin-bottom:15px}.hero-row h1{font-size:24px;line-height:1.1}.hero-row p{font-size:12px;line-height:1.45}
  .hero-row>.button{width:100%}
  .stats-grid{gap:8px}.stat-card{padding:14px}.stat-label{font-size:10.5px}.stat-value{font-size:24px;margin:6px 0 2px}.stat-hint{font-size:9.5px}
  .panel{border-radius:12px}.panel-head{padding:14px;gap:8px}.panel-head h2{font-size:14px}.panel-head p{font-size:10px;line-height:1.35}
  .table-wrap{width:100%;overflow-x:auto;overscroll-behavior-x:contain}
  .data-table{min-width:690px}.data-table th{padding:9px 10px}.data-table td{padding:10px;font-size:11.5px}
  .table-actions{white-space:nowrap}.mini-btn{min-height:34px;padding:6px 8px}
  .section-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.section-toolbar .searchbox{grid-column:1/-1}.section-toolbar .control.compact{min-width:0;width:100%}.section-toolbar>.button.primary{white-space:nowrap}
  .clients-grid{gap:10px}.client-card{padding:14px}
  .settings-layout{gap:10px}.settings-panel{padding-bottom:14px}.settings-panel .form-grid{padding:14px 14px 0}.settings-panel>.button-row{padding:14px 14px 0}.number-preview{margin:12px 14px 0}.company-lookup-settings,.cloud-settings-body{padding:14px}
  .settings-savebar{position:sticky;bottom:max(8px,env(safe-area-inset-bottom));padding:9px 10px;flex-wrap:wrap}.settings-savebar .save-hint{flex:1;min-width:120px}.settings-savebar .button{margin-left:auto}

  .modal{padding:0;align-items:end;place-items:end center}.dialog{width:100%;max-width:none;max-height:calc(100dvh - max(8px,env(safe-area-inset-top)));border-radius:16px 16px 0 0;box-shadow:0 -16px 50px rgba(15,23,42,.20);overscroll-behavior:contain}
  .small-dialog,.email-dialog,.table-dialog,.company-lookup-dialog{width:100%}
  .dialog-head{padding:15px 14px;position:sticky;top:0;z-index:3;background:#fff}.dialog-head h2{font-size:17px}.dialog-head .icon-button{width:38px;height:38px;flex:none}
  .dialog form>.form-grid{padding:14px}.dialog-actions{position:sticky;bottom:0;z-index:3;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#fff;box-shadow:0 -1px 0 var(--line);flex-wrap:wrap}.dialog-actions .button{min-height:42px}.dialog-actions .email-send-status{width:100%;margin:0 0 3px}
  .backup-actions{padding:16px 14px calc(16px + env(safe-area-inset-bottom));display:grid}.backup-actions>.button,.backup-actions>.file-button{width:100%}
  .cloud-login-modal{place-items:center;padding:14px}.cloud-login-dialog{width:min(430px,100%);border-radius:16px;padding:20px;max-height:none}.cloud-login-copy{padding:16px 0 12px}

  .editor-shell,.preview-shell{height:100dvh;max-height:100dvh}
  .editor-header{position:relative;z-index:20;display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:0;padding:8px 10px;background:#fff}
  .editor-title-row{width:100%;min-width:0}.editor-title-row>div{min-width:0}.editor-title{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.editor-subtitle{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .editor-actions{width:100%;margin-left:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.editor-actions .ghost{display:inline-flex!important}.editor-actions .button{min-width:0;min-height:38px;padding:7px 6px;font-size:10.5px;white-space:nowrap}.editor-actions .autosave-indicator{display:none!important}
  .editor-body{min-height:0}.stepper{top:0;padding:6px 8px;gap:4px;scrollbar-width:none;overscroll-behavior-x:contain}.stepper::-webkit-scrollbar{display:none}.step{min-width:42px;height:42px;padding:7px;justify-content:center}.step>span{width:27px;height:27px}
  .editor-content{padding:14px 10px calc(86px + env(safe-area-inset-bottom));scroll-padding-bottom:190px}
  .form-section-head{margin-bottom:14px;gap:10px}.form-section-head h2{font-size:20px}.form-section-head p{font-size:11px;line-height:1.4}.protocol-no-pill{padding:8px 9px;font-size:10px}
  .form-step>.form-grid{padding:14px;border-radius:12px}.form-grid{gap:11px}
  .client-entry-head{gap:9px}.client-mode-toggle span{padding:8px 6px;font-size:9.5px;line-height:1.25}.manual-client-grid{padding:11px;gap:10px}
  .equipment-editor{gap:8px}.equipment-row{position:relative;padding:12px 46px 12px 12px;gap:10px}.equipment-row .remove-row{position:absolute;right:8px;top:8px;width:34px;height:34px;background:#f8fafc;border:1px solid var(--line)}.equipment-row label span{font-size:10px}.equipment-row input{padding:10px 9px}
  .check-row{grid-template-columns:1fr;gap:9px;padding:11px}.segmented{width:100%}.segmented label{flex:1}.segmented span{text-align:center;padding:8px 6px;font-size:10px}
  .acceptance-options{gap:8px}.acceptance-options label{padding:11px}.signature-grid{gap:10px}.signature-box{padding:10px}.signature-box canvas{height:150px}.status-field{max-width:none;width:100%}
  .editor-nav{height:auto;min-height:62px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));gap:8px}.editor-nav .button{min-height:42px;flex:1;max-width:180px}.step-indicator{min-width:46px;flex:none}

  .preview-toolbar{height:auto;min-height:0;padding:8px 10px;display:grid;grid-template-columns:1fr;gap:8px}.preview-toolbar>div:first-child{min-width:0}.preview-toolbar>div:first-child b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-toolbar>.button-row{display:grid;grid-template-columns:1.4fr .75fr 1fr;width:100%;gap:6px}.preview-toolbar .button{min-width:0;padding:8px 5px;font-size:10px;white-space:nowrap}.preview-stage{padding:8px 6px calc(12px + env(safe-area-inset-bottom));overscroll-behavior:contain}.preview-stage .protocol-document{margin:0 auto}
  .toast{left:10px;right:10px;bottom:calc(12px + env(safe-area-inset-bottom));text-align:center;font-size:11px}

  .protocol-text-panel{border-radius:12px}.protocol-studio-head{flex-direction:column;align-items:stretch!important}.protocol-studio-head .template-health{align-self:flex-start}.protocol-studio-sections{scrollbar-width:none}.protocol-studio-sections::-webkit-scrollbar{display:none}
  .protocol-editor-toolbar{position:sticky;top:0;z-index:7;align-items:center;max-width:100%;overflow:visible}.toolbar-group{flex-wrap:wrap}.editor-format-selects{display:grid;grid-template-columns:minmax(0,1fr) 70px 34px;gap:4px}.editor-select{max-width:none;width:100%}.editor-color-wrap{width:34px}.template-search{min-width:0}.protocol-placeholder-strip{scrollbar-width:none}.protocol-placeholder-strip::-webkit-scrollbar{display:none}
  .visual-editor-shell{padding:6px}.protocol-visual-editor{padding:14px 12px;min-height:470px;font-size:16px!important;line-height:1.5}.protocol-visual-editor table{min-width:520px}.visual-editor-shell{overflow:auto}.protocol-table-tools,.protocol-image-tools{position:sticky;left:0;max-width:100%}.table-tools-actions,.image-tools-actions{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}.table-tool-btn,.image-tool-btn{flex:none;min-height:32px}
  .protocol-studio-preview{min-height:0}.template-preview-window{min-height:300px;max-height:430px}.template-live-document{zoom:.38}
  .protocol-studio-actions{padding:10px}.protocol-studio-actions>.button-row{display:grid;grid-template-columns:1fr 1fr;gap:6px}.protocol-studio-actions .button{min-height:42px}

  .email-config-card{padding:12px}.email-test-row{gap:8px}.cloud-info-grid{gap:8px}.cloud-info-grid>div{padding:10px}.cloud-settings-body>.button-row{display:grid;grid-template-columns:1fr 1fr;width:100%}.cloud-settings-body>.button-row .button{width:100%;min-width:0}
  .company-compare-grid{padding:12px;gap:9px}.company-candidate{padding:12px}.candidate-body>div{grid-template-columns:72px minmax(0,1fr)}
}

@media(max-width:520px){
  .page-title{max-width:38vw;font-size:15px}
  .stats-grid{grid-template-columns:1fr 1fr}.stat-card{min-width:0}.stat-label{line-height:1.25}
  .panel-head{align-items:flex-start;flex-wrap:wrap}.panel-head>.button,.panel-head>.button.text{margin-left:0}
  .section-toolbar{grid-template-columns:1fr}.section-toolbar .searchbox,.section-toolbar .control.compact,.section-toolbar>.button{grid-column:1;width:100%}
  .settings-savebar{align-items:stretch}.settings-savebar .save-hint{width:100%;min-width:0}.settings-savebar .button{width:100%;margin:0}
  .form-section-head{flex-direction:column;align-items:stretch}.form-section-head>.button,.protocol-no-pill{align-self:flex-start}.form-section-head>.button{width:100%}
  .editor-actions{grid-template-columns:1fr 1fr}.editor-actions #saveProtocolBtn{grid-column:1/-1}.editor-actions .button{font-size:10px}
  .preview-toolbar>.button-row{grid-template-columns:1fr 1fr}.preview-toolbar #emailProtocolBtn{grid-column:1/-1}
  .protocol-studio-actions>.button-row{grid-template-columns:1fr}.protocol-studio-actions>.button.primary{width:100%}
  .lookup-mode-grid{gap:7px}.lookup-mode-card>span{padding:10px}
  .cloud-settings-body>.button-row{grid-template-columns:1fr}
}

@media(max-width:380px){
  .view{padding-left:8px;padding-right:8px}.topbar{padding-left:8px;padding-right:8px}.page-title{max-width:34vw}
  .stats-grid{grid-template-columns:1fr}.stat-card{padding:13px 14px}
  .client-mode-toggle{flex-direction:column}.client-mode-toggle label span{border-right:0;border-bottom:1px solid var(--line-strong)}.client-mode-toggle label:last-child span{border-bottom:0}
  .editor-header{padding-left:8px;padding-right:8px}.editor-content{padding-left:8px;padding-right:8px}.editor-actions{gap:5px}
  .preview-toolbar>.button-row{grid-template-columns:1fr}.preview-toolbar #emailProtocolBtn{grid-column:auto}
}

@media(max-width:780px){
  .preview-stage{text-align:center}.preview-stage #protocolPrintRoot{display:inline-block;text-align:left;vertical-align:top;transform:none!important}
  .protocol-image-overlay:not(.hidden){display:block!important}
  .image-resize-handle{width:16px;height:16px;border-radius:4px}
  .image-resize-handle.nw{left:-9px;top:-9px}.image-resize-handle.n{top:-9px}.image-resize-handle.ne{right:-9px;top:-9px}
  .image-resize-handle.e{right:-9px}.image-resize-handle.se{right:-9px;bottom:-9px}.image-resize-handle.s{bottom:-9px}
  .image-resize-handle.sw{left:-9px;bottom:-9px}.image-resize-handle.w{left:-9px}
}
@media print{#protocolPrintRoot{zoom:1!important}}

/* ===== v1.4.7 — SQL setup, EIK lookup and layout cleanup ===== */
.app-shell,.main,.view,.settings-layout,.settings-panel{min-width:0}
.main{width:calc(100% - var(--sidebar));max-width:calc(100% - var(--sidebar));overflow-x:clip}
.view{width:100%;overflow-x:clip}
.settings-layout{width:min(100%,1100px);max-width:1100px}
.settings-panel{overflow:hidden}
.cloud-sync-button[data-mode="config"] .cloud-status-dot{background:#f79009;box-shadow:0 0 0 3px rgba(247,144,9,.12)}
.cloud-settings-badge[data-mode="config"]{background:#fffaeb;border-color:#fedf89;color:#9a6700}
.cloud-action-row{align-items:center}
#openDbConfigBtn[data-state="ok"]{color:#067647;border-color:#abefc6;background:#f6fef9}
#openDbConfigBtn[data-state="error"],#openDbConfigBtn[data-state="config"]{color:#9a6700;border-color:#fedf89;background:#fffcf5}

.company-lookup-settings{gap:11px}
.lookup-mode-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.lookup-mode-card>span{min-height:0;padding:11px 12px;border-radius:9px}
.lookup-mode-card b{font-size:11px}
.lookup-mode-card small{font-size:9.5px;line-height:1.35}
.company-lookup-settings-panel .panel-head p{max-width:720px}

.db-config-dialog{width:min(650px,100%)}
.db-config-state{margin:18px 20px 0;padding:12px 13px;border:1px solid var(--line);border-radius:10px;background:#f8fafc;display:flex;align-items:flex-start;gap:10px}
.db-config-state .db-state-dot{width:9px;height:9px;margin-top:4px;border-radius:50%;background:#98a2b3;box-shadow:0 0 0 3px rgba(152,162,179,.12);flex:none}
.db-config-state>div{display:grid;gap:3px;min-width:0}.db-config-state b{font-size:11.5px}.db-config-state small{font-size:9.5px;color:var(--muted);line-height:1.4;overflow-wrap:anywhere}
.db-config-state[data-mode="ok"]{background:#f6fef9;border-color:#abefc6}.db-config-state[data-mode="ok"] .db-state-dot{background:#12b76a;box-shadow:0 0 0 3px rgba(18,183,106,.12)}
.db-config-state[data-mode="error"]{background:#fff8f7;border-color:#fecdca}.db-config-state[data-mode="error"] .db-state-dot{background:#f04438;box-shadow:0 0 0 3px rgba(240,68,56,.12)}
.db-config-state[data-mode="config"],.db-config-state[data-mode="loading"]{background:#fffcf5;border-color:#fedf89}.db-config-state[data-mode="config"] .db-state-dot,.db-config-state[data-mode="loading"] .db-state-dot{background:#f79009;box-shadow:0 0 0 3px rgba(247,144,9,.12)}
.db-config-fields{padding:16px 20px 0!important}
.db-config-help{margin:14px 20px 4px;padding:10px 12px;border-radius:9px;background:#f8fafc;color:#667085;font-size:9.5px;line-height:1.45}

/* Keep form actions inside the viewport and prevent the settings page from creating a page-level horizontal scroll. */
.input-action{min-width:0}.input-action input{min-width:0}.manual-client-grid>*{min-width:0}
.top-actions{min-width:0;max-width:100%}.top-actions .button{white-space:nowrap}

@media(max-width:960px){
  .settings-layout{max-width:100%}
  .cloud-sync-button{min-width:40px;width:40px;padding:0}.cloud-sync-button #cloudSyncText{display:none}
  .lookup-mode-grid{grid-template-columns:1fr 1fr}
  .lookup-mode-card:last-child{grid-column:1/-1}
}
@media(max-width:780px){
  .main{width:100%;max-width:100%;margin-left:0}
  .app-shell{width:100%;max-width:100%;overflow-x:hidden}
  .settings-layout,.settings-panel,.company-lookup-settings,.cloud-settings-body{width:100%;max-width:100%}
  .lookup-mode-grid{grid-template-columns:1fr}
  .lookup-mode-card:last-child{grid-column:auto}
  .lookup-mode-card>span{padding:10px 11px}
  .cloud-action-row{display:grid!important;grid-template-columns:1fr 1fr;width:100%}
  .cloud-action-row #cloudLogoutBtn{grid-column:1/-1}
  .db-config-state{margin:12px 14px 0}.db-config-fields{padding:12px 14px 0!important}.db-config-help{margin:12px 14px 2px}
  #backupBtn{display:none!important}
}
@media(max-width:520px){
  .top-actions{gap:4px}.topbar{overflow:hidden}
  .cloud-action-row{grid-template-columns:1fr}.cloud-action-row #cloudLogoutBtn{grid-column:auto}
  .input-action{grid-template-columns:1fr auto}.input-action-button{width:auto;min-width:78px}
  .manual-client-grid{padding:10px}
}

/* ===== v1.4.7 final responsive hardening ===== */
html,body{max-width:100%;overflow-x:hidden}
.main{width:auto!important;max-width:none!important;overflow-x:hidden!important}
.view{max-width:100%;overflow-x:hidden!important}
#view-settings .settings-layout{width:100%!important;max-width:1180px!important;margin:0!important}
#view-settings .settings-panel,#view-settings .settings-savebar,#view-settings .protocol-text-panel{width:100%!important;max-width:100%!important;min-width:0!important}
#view-settings .protocol-studio,#view-settings .visual-editor-column,#view-settings .protocol-studio-preview{min-width:0;max-width:100%}
#view-settings .visual-editor-shell,#view-settings .template-preview-window{max-width:100%}

/* Lookup modes are controls, not oversized dashboard cards. */
.lookup-mode-grid{align-items:stretch}
.lookup-mode-card{min-width:0}
.lookup-mode-card>span{height:100%;display:grid;align-content:start;gap:4px;border:1px solid var(--line-strong);background:#fff;transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}
.lookup-mode-card>span:before{content:'';width:9px;height:9px;border:2px solid #98a2b3;border-radius:50%;margin-bottom:2px}
.lookup-mode-card input:checked+span{border-color:#84adff;background:#f8fbff;box-shadow:0 0 0 2px rgba(37,99,235,.07)}
.lookup-mode-card input:checked+span:before{border-color:var(--accent);box-shadow:inset 0 0 0 2px #fff;background:var(--accent)}
.lookup-mode-card b,.lookup-mode-card small{overflow-wrap:break-word;word-break:normal}

/* Clear, non-alarming database state while initial setup is pending. */
.cloud-sync-button[data-mode="config"]{color:#9a6700;border-color:#fedf89;background:#fffcf5}
.cloud-sync-button[data-mode="config"]:hover{background:#fffaeb}

@media(max-width:1100px){
  #view-settings .settings-layout{max-width:100%!important}
  #view-settings .protocol-text-panel{overflow:hidden}
}
@media(max-width:900px){
  .main{width:auto!important;max-width:none!important}
  #view-settings{padding-left:14px;padding-right:14px}
  .lookup-mode-grid{grid-template-columns:1fr!important}
  .lookup-mode-card:last-child{grid-column:auto!important}
  #view-settings .protocol-text-panel{width:100%!important}
}
@media(max-width:780px){
  body{width:100%;overflow-x:hidden!important;overscroll-behavior-x:none}
  .main{margin-left:0!important;width:100%!important;max-width:100%!important}
  #view-settings{width:100%;padding-left:10px;padding-right:10px;overflow:visible!important}
  #view-settings .settings-layout{display:grid;width:100%!important;max-width:100%!important;overflow:visible!important}
  #view-settings .settings-panel{overflow:hidden!important}
  #view-settings .protocol-studio{width:100%;max-width:100%;overflow:hidden}
  #view-settings .visual-editor-shell{width:100%;overflow:auto!important;-webkit-overflow-scrolling:touch}
  #view-settings .protocol-visual-editor{max-width:none}
  #view-settings .template-preview-window{overflow:auto!important;-webkit-overflow-scrolling:touch}
  .lookup-mode-card>span{min-height:0!important}
}
@media(max-width:520px){
  #view-settings{padding-left:8px;padding-right:8px}
  .company-lookup-settings{padding:12px!important}
  .lookup-mode-card>span{padding:11px!important}
  .lookup-mode-card small{font-size:10px;line-height:1.4}
  .db-config-dialog .form-grid.two{grid-template-columns:1fr}
  .db-config-dialog .span-2{grid-column:auto}
}
body.modal-open{overflow:hidden!important;touch-action:none}
body.modal-open .modal{touch-action:auto}
/* Container-driven wrapping: avoids horizontal scrolling even when the app is shown in a narrow pane. */
.lookup-mode-grid{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))!important}
.lookup-mode-card:last-child{grid-column:auto!important}


/* ===== v1.4.8 — scroll ownership + compact client form ===== */
html,body{width:100%;max-width:100%;overflow-x:hidden}
body.modal-open{overflow:hidden!important;touch-action:auto!important}
.modal{overflow:hidden}
.dialog{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior:contain}
.editor-shell,.preview-shell{height:100dvh;max-height:100dvh;min-height:0}
.editor-body{min-height:0;overflow:hidden}
.editor-content{min-height:0;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior-y:contain}
.preview-stage{min-height:0;overflow:auto!important;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}

/* The manual client card no longer stretches neighbouring fields to the height of EIK status text. */
.manual-client-grid{align-items:start;background:#fff;border-color:#e5e9ef;padding:16px;gap:14px 16px}
.manual-client-grid>.field,.manual-client-grid>.switch-field{align-self:start;min-width:0}
.manual-client-grid .field{align-content:start}
.manual-client-grid .field input{height:44px;min-height:44px;padding:0 14px;border-radius:10px;background:#fff}
.manual-client-grid .field>span{font-size:11px;margin-bottom:1px;color:#475467}
.manual-client-grid .input-action{align-items:start;gap:8px}
.manual-client-grid .input-action-button{height:44px;min-height:44px;padding:0 16px;border-radius:10px;font-size:11px}
.manual-client-grid .lookup-status{min-height:16px;margin-top:5px;font-size:10px;line-height:1.35}
.client-entry-head{padding:0 1px}
.client-mode-toggle{border-radius:10px;background:#f8fafc}
.client-mode-toggle span{min-height:38px;display:flex;align-items:center;justify-content:center;padding:8px 13px}
.client-mode-toggle input:checked+span{background:#111827;color:#fff}

@media(max-width:780px){
  .modal.fullscreen{overflow:hidden!important;touch-action:auto}
  .modal:not(.fullscreen){overflow-y:auto!important;overflow-x:hidden!important;align-items:end;touch-action:pan-y}
  .dialog{max-height:calc(100dvh - max(8px,env(safe-area-inset-top)));overflow-y:auto!important;touch-action:pan-y}
  .editor-content{padding-bottom:calc(100px + env(safe-area-inset-bottom));scroll-padding-bottom:180px}
  .manual-client-grid{grid-template-columns:1fr!important;padding:12px;gap:12px}
  .manual-client-grid .span-2{grid-column:auto!important}
  .manual-client-grid .input-action{grid-template-columns:minmax(0,1fr) auto!important}
  .manual-client-grid .input-action-button{width:auto!important;min-width:84px}
}
@media(max-width:420px){
  .manual-client-grid .input-action{grid-template-columns:1fr!important}
  .manual-client-grid .input-action-button{width:100%!important}
}

/* v1.5.5 — compact server-side company lookup diagnostic (no API key is exposed). */
.lookup-provider-status{margin:0 0 12px;padding:9px 11px;border:1px solid var(--line,#dfe3ea);border-radius:10px;background:var(--panel-soft,#f7f8fa);font-size:12px;line-height:1.4;color:var(--muted,#667085)}
.lookup-provider-status[data-mode="ok"]{font-weight:600}
.lookup-provider-status[data-mode="warning"],.lookup-provider-status[data-mode="error"]{font-weight:600}

/* v1.5.7 — universal SMTP settings */
.smtp-settings-card{border:1px solid var(--line-strong);border-radius:14px;padding:16px;background:#fff;display:grid;gap:16px}.smtp-master-switch{padding:13px 14px;background:#fbfcfd}.smtp-fields-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(130px,.7fr);gap:14px 16px}.smtp-host-field{min-width:0}.smtp-port-field{min-width:120px}.smtp-user-field{grid-column:2}.smtp-password-field{grid-column:1}.smtp-tip{display:flex;align-items:flex-start;gap:9px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#f8fafc;color:var(--muted);font-size:10px;line-height:1.45}.smtp-tip b{color:#475467;white-space:nowrap}.smtp-tip span{min-width:0}.smtp-remember-switch{margin-top:-2px}.smtp-message-settings{margin-top:16px}.smtp-settings-panel .field>small{display:block;margin-top:6px;color:var(--muted);font-size:9.5px;line-height:1.35}.smtp-settings-panel select{width:100%}
@media(max-width:780px){.smtp-settings-card{padding:12px}.smtp-fields-grid{grid-template-columns:1fr}.smtp-user-field,.smtp-password-field{grid-column:auto}.smtp-tip{flex-direction:column;gap:3px}.smtp-port-field{min-width:0}}

/* v1.5.7 — SMTP provider presets */
.smtp-provider-row{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.6fr);gap:14px;align-items:end}.smtp-provider-hint{min-height:48px;display:flex;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#f8fafc;color:var(--muted);font-size:10px;line-height:1.4}@media(max-width:780px){.smtp-provider-row{grid-template-columns:1fr}.smtp-provider-hint{min-height:0}}

/* v1.6.0 — compact central SMTP/API settings */
.server-only-badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:5px 9px;border:1px solid #d0d5dd;border-radius:999px;background:#f8fafc;color:#475467;font-size:10px;font-weight:700;white-space:nowrap}
.server-credential-card{display:grid;gap:11px;padding:14px;border:1px solid #d9e2f0;border-radius:12px;background:linear-gradient(180deg,#fbfdff 0%,#f8fafc 100%)}
.server-credential-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.server-credential-title>div{display:grid;gap:3px}.server-credential-title b{font-size:12px;color:#1d2939}.server-credential-title small{max-width:760px;color:#667085;font-size:9.5px;line-height:1.45}
.server-credential-row{display:grid;grid-template-columns:minmax(240px,1fr) auto auto;gap:9px;align-items:center}.server-credential-row .password-field{min-width:0}
.server-config-status{min-height:36px;display:flex;align-items:center;padding:9px 11px;border:1px solid #e4e7ec;border-radius:9px;background:#fff;color:#667085;font-size:10px;line-height:1.4}.server-config-status[data-mode="ok"]{border-color:#abefc6;background:#f6fef9;color:#067647;font-weight:600}.server-config-status[data-mode="error"]{border-color:#fecdca;background:#fffbfa;color:#b42318;font-weight:600}
.smtp-central-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.smtp-central-actions .save-hint{min-width:180px}
.smtp-fields-grid .span-2{grid-column:1 / -1}
@media(max-width:780px){.server-credential-row{grid-template-columns:1fr}.server-credential-row .button{width:100%}.server-credential-title{flex-direction:column}.smtp-central-actions .button{flex:1 1 100%}.smtp-central-actions .save-hint{min-width:0;width:100%}}
.smtp-settings-card[data-provider="sendmail"] .smtp-host-field,.smtp-settings-card[data-provider="sendmail"] .smtp-port-field,.smtp-settings-card[data-provider="sendmail"] .smtp-security-field,.smtp-settings-card[data-provider="sendmail"] .smtp-user-field,.smtp-settings-card[data-provider="sendmail"] .smtp-password-field{display:none}
.smtp-settings-card[data-provider="sendmail"] .smtp-fields-grid{grid-template-columns:1fr 1fr}
.smtp-settings-card input:disabled,.smtp-settings-card select:disabled{background:#f8fafc;color:#667085;cursor:not-allowed}
@media(max-width:780px){.smtp-settings-card[data-provider="sendmail"] .smtp-fields-grid{grid-template-columns:1fr}}


/* v1.6.0 — simplified protocol flow, mobile numeric login, hidden API admin */
.company-lookup-settings-panel{position:relative}
.companybook-secret-trigger{position:absolute;top:0;right:0;width:52px;height:52px;border:0;background:transparent!important;opacity:0;z-index:3;cursor:default}
.companybook-admin-dialog{width:min(520px,calc(100vw - 28px))}
.companybook-secret-card{margin:0}
.companybook-pin-field input{text-align:center;font-size:24px;letter-spacing:.35em;font-weight:800}
.full-width{width:100%}
.protocol-single-flow{grid-template-columns:1fr!important}
.protocol-single-flow .stepper{display:none!important}
.protocol-single-flow .form-step{display:block!important;max-width:1020px;margin:0 auto 22px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px}
.protocol-single-flow .form-step>.form-grid{border:0;padding:0;border-radius:0}
.protocol-single-flow .editor-content{padding:22px 26px 48px}
.protocol-single-flow .editor-nav{display:none!important}
.protocol-single-flow .form-section-head{padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid var(--line)}
.protocol-single-flow .form-section-head .eyebrow{font-size:9px;letter-spacing:.08em}
.cloud-login-field input{text-align:center;font-size:21px;font-weight:800;letter-spacing:.28em}

@media(max-width:780px){
  .cloud-login-dialog{margin:auto;align-self:center}
  .cloud-login-copy{text-align:center}
  .cloud-login-field>span{display:block;text-align:center}
  .cloud-login-field input{height:58px;font-size:24px;letter-spacing:.34em;text-align:center}
  .cloud-login-button{height:54px;font-size:15px}
  .protocol-single-flow .editor-content{padding:12px 10px 32px}
  .protocol-single-flow .form-step{margin:0 0 12px;padding:14px 12px;border-radius:13px}
  .protocol-single-flow .form-section-head{margin-bottom:13px;padding-bottom:10px;gap:8px}
  .protocol-single-flow .form-section-head h2{font-size:18px;margin:2px 0}
  .protocol-single-flow .form-section-head p{font-size:10px}
  .editor-header{display:flex;flex-wrap:wrap;gap:8px;padding:9px 10px;position:sticky;top:0;z-index:20;background:#fff}
  .editor-title-row{width:100%}
  .editor-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .editor-actions .autosave-indicator,#saveDraftBtn{display:none!important}
  .editor-actions #previewProtocolBtn{display:flex!important;justify-content:center}
  .editor-actions .button{min-height:44px;width:100%;margin:0}
  .equipment-row{padding:10px}
  .check-row{grid-template-columns:1fr;gap:8px}
  .segmented{width:100%}.segmented label{flex:1}.segmented span{text-align:center}
  .companybook-secret-trigger{width:58px;height:58px}
  .companybook-admin-dialog{width:100%}
}


/* ===== v1.6.1 — gentle interface polish + final protocol actions ===== */
.button{transition:background .14s ease,border-color .14s ease,box-shadow .14s ease,transform .08s ease}
.button:active{transform:translateY(1px)}
.button.primary{box-shadow:0 1px 2px rgba(37,99,235,.16)}
.icon-button{transition:background .14s ease,border-color .14s ease,transform .08s ease}
.icon-button:active{transform:scale(.98)}
.panel,.stat-card,.client-card{box-shadow:0 1px 2px rgba(16,24,40,.025)}
.field input,.field select,.field textarea,.control{min-height:42px}
.field textarea{min-height:auto}
.searchbox{min-height:42px}
.nav-item{min-height:43px}
.section-toolbar{align-items:center}
.client-card{transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}
.client-card:hover{border-color:#d0d5dd;box-shadow:0 5px 14px rgba(16,24,40,.055);transform:translateY(-1px)}
.data-table tbody tr{transition:background .12s ease}

/* Protocol: clearer continuous document flow. */
.protocol-single-flow .form-step{box-shadow:0 1px 3px rgba(16,24,40,.035)}
.protocol-single-flow .form-section-head h2{letter-spacing:-.25px}
.protocol-single-flow .form-section-head .eyebrow{padding:4px 7px;border-radius:999px;background:#eff6ff;display:inline-flex;width:max-content}
.protocol-single-flow .signature-box,.protocol-single-flow .acceptance-options label,.protocol-single-flow .check-row,.protocol-single-flow .equipment-row{box-shadow:0 1px 2px rgba(16,24,40,.02)}

.protocol-final-actions{max-width:1020px;margin:2px auto 12px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:16px;display:grid;grid-template-columns:minmax(150px,.9fr) minmax(220px,1.35fr) minmax(140px,.8fr);gap:10px;box-shadow:0 8px 24px rgba(16,24,40,.06)}
.protocol-final-actions .button{min-height:48px;font-size:12px;border-radius:10px}
.protocol-final-actions .protocol-final-email{border-color:#b2ccff;background:#f5f8ff;color:#1849a9}
.protocol-final-actions .protocol-final-email:hover{background:#eef4ff;border-color:#84adff}
.protocol-final-actions .protocol-final-pdf{background:#f8fafc}
.protocol-final-actions .action-icon{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:6px;font-size:11px;font-weight:850}
.protocol-final-actions .protocol-final-save .action-icon{background:rgba(255,255,255,.16)}
.protocol-final-actions .protocol-final-email .action-icon{background:#e8f0ff}
.protocol-final-actions .protocol-final-pdf .action-icon{background:#eaecf0;color:#344054;font-size:8px}

@media(max-width:900px){
  .view{padding-left:18px;padding-right:18px}
  .stats-grid{gap:11px}
  .protocol-final-actions{grid-template-columns:1fr 1.35fr .8fr}
}
@media(max-width:780px){
  .topbar{min-height:64px;height:64px}
  .view{padding:16px 10px 30px}
  .hero-row{margin-bottom:16px}.hero-row h1{font-size:23px}
  .panel-head{padding:14px 14px}.panel-head h2{font-size:14px}
  .client-card{padding:14px}.data-table th,.data-table td{padding-left:11px;padding-right:11px}
  .field input,.field select,.control{min-height:46px;font-size:16px}
  .field textarea{font-size:16px}
  .button{min-height:42px}
  .protocol-single-flow .editor-content{padding-bottom:18px}
  .protocol-single-flow .form-step{box-shadow:none}
  .editor-actions{grid-template-columns:1fr!important}
  .editor-actions #saveProtocolBtn,.editor-actions #saveDraftBtn{display:none!important}
  .editor-actions #previewProtocolBtn{width:100%}
  .protocol-final-actions{margin:4px 0 calc(8px + env(safe-area-inset-bottom));padding:10px;border-radius:13px;grid-template-columns:1fr;gap:8px;box-shadow:0 5px 18px rgba(16,24,40,.07)}
  .protocol-final-actions .button{min-height:50px;width:100%;font-size:13px;justify-content:flex-start;padding-left:16px}
  .protocol-final-actions .protocol-final-save{order:1}
  .protocol-final-actions .protocol-final-email{order:2}
  .protocol-final-actions .protocol-final-pdf{order:3}
}
@media(max-width:420px){
  .stats-grid{grid-template-columns:1fr 1fr}
  .page-title{max-width:52vw}
  .protocol-single-flow .form-step{padding:13px 10px}
}


/* ===== v1.6.2 — stable PDF/print + clear home navigation ===== */
.editor-home-button{min-height:38px;white-space:nowrap;padding-inline:11px;flex:none}
.editor-home-button>span:first-child{font-size:16px;line-height:1}
.protocol-final-home{grid-column:1/-1;justify-self:start;min-height:40px!important;background:transparent!important;color:#475467}
.protocol-final-home:hover{background:#f8fafc!important;color:#101828}
.preview-toolbar #downloadPdfBtn{min-width:92px}
.preview-toolbar #printPdfBtn{min-width:92px}

@media(max-width:780px){
  .editor-title-row{align-items:center;gap:8px}
  .editor-home-button{min-height:40px;padding:7px 9px;font-size:10px;line-height:1.1}
  .editor-title-row>div{flex:1}
  .protocol-final-home{width:100%;justify-content:center!important;min-height:44px!important}
  .preview-toolbar>.button-row{grid-template-columns:1fr 1fr!important}
  .preview-toolbar #emailProtocolBtn{grid-column:1/-1!important}
  .preview-toolbar #downloadPdfBtn,.preview-toolbar #printPdfBtn{width:100%}
}

/* Print is isolated from the responsive preview scaling. */
@media print{
  html,body{background:#fff!important;margin:0!important;padding:0!important;width:210mm!important;min-width:0!important;overflow:visible!important}
  body.printing-protocol{width:210mm!important}
  #previewModal{position:static!important;inset:auto!important;width:210mm!important;height:auto!important;min-height:0!important;padding:0!important;margin:0!important;background:#fff!important;overflow:visible!important}
  #previewModal .preview-shell{width:210mm!important;height:auto!important;min-height:0!important;overflow:visible!important;background:#fff!important}
  #previewModal .preview-stage{display:block!important;width:210mm!important;height:auto!important;overflow:visible!important;padding:0!important;margin:0!important;text-align:left!important}
  #protocolPrintRoot{display:block!important;width:210mm!important;min-height:297mm!important;margin:0!important;padding:9mm 12mm!important;box-sizing:border-box!important;zoom:1!important;transform:none!important;box-shadow:none!important;overflow:visible!important}
}


/* ===== v1.6.3 — finished application UI / mobile-first polish ===== */
:root{
  --bg:#f5f7fb;--surface:#ffffff;--ink:#101828;--muted:#667085;--line:#e4e7ec;--line-strong:#d0d5dd;
  --accent:#2563eb;--accent-dark:#1d4ed8;--soft:#eff4ff;--danger:#b42318;--green:#067647;--amber:#b54708;
  --shadow-sm:0 1px 2px rgba(16,24,40,.04);--shadow-md:0 8px 28px rgba(16,24,40,.08);--shadow-lg:0 18px 50px rgba(16,24,40,.14);
  --radius:16px;--sidebar:244px;
}
html,body{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink);text-rendering:optimizeLegibility}
body{letter-spacing:-.005em}.ui-icon{width:18px;height:18px;display:block;flex:none}.button .ui-icon{width:16px;height:16px}.mini-btn .ui-icon{width:15px;height:15px}.icon-button .ui-icon{width:19px;height:19px}
.button{border-radius:10px;min-height:40px;padding:9px 13px;font-weight:720;letter-spacing:-.01em;box-shadow:var(--shadow-sm)}
.button.primary{background:linear-gradient(180deg,#2f6fed 0%,#2563eb 100%);border-color:#2563eb;box-shadow:0 4px 12px rgba(37,99,235,.18)}
.button.primary:hover{background:#1d4ed8;box-shadow:0 6px 16px rgba(37,99,235,.22)}
.button.ghost{box-shadow:none}.button.text{box-shadow:none}.icon-button{border-radius:10px;color:#475467;box-shadow:var(--shadow-sm)}
.icon-button:hover{background:#f8fafc;color:#101828;border-color:#d0d5dd}
.sidebar{width:var(--sidebar);padding:20px 14px;background:linear-gradient(180deg,#111827 0%,#0b1220 100%);box-shadow:10px 0 35px rgba(15,23,42,.06)}
.brand{padding:5px 8px 21px;gap:12px}.brand-mark{width:40px;height:40px;border-radius:12px;background:linear-gradient(145deg,#fff,#eaf0ff);color:#1d4ed8;box-shadow:0 5px 18px rgba(0,0,0,.16)}
.brand-name{font-size:16px;font-weight:800}.brand-company{font-size:8.5px;letter-spacing:.55px}.nav{gap:5px;margin-top:16px}.nav-item{min-height:44px;border-radius:11px;padding:10px 11px;gap:11px;font-weight:700}
.nav-item span{width:22px;display:grid;place-items:center}.nav-item .ui-icon{width:18px;height:18px}.nav-item:hover{background:rgba(255,255,255,.07)}.nav-item.active{background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}
.main{margin-left:var(--sidebar)}.topbar{height:76px;padding:0 30px;border-bottom:1px solid rgba(228,231,236,.85);background:rgba(255,255,255,.92);backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(16,24,40,.02)}
.page-title{font-size:18px;font-weight:800;letter-spacing:-.025em}.page-subtitle{font-size:11.5px;margin-top:4px}.top-actions{gap:8px}.cloud-sync-button{box-shadow:none}.view{padding:27px 30px 46px;max-width:1500px;margin:0 auto}
.hero-row{padding:24px 26px;margin:0 0 18px;border:1px solid #dbe5ff;border-radius:20px;background:linear-gradient(135deg,#ffffff 0%,#f3f7ff 55%,#edf3ff 100%);box-shadow:var(--shadow-sm);align-items:center}.hero-row h1{font-size:28px;letter-spacing:-.04em}.hero-row p{font-size:12.5px;max-width:620px;line-height:1.55}
.stats-grid{gap:12px}.stat-card{position:relative;min-height:138px;padding:18px;border-radius:16px;border-color:#e6eaf0;box-shadow:var(--shadow-sm);overflow:hidden}.stat-card::after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-40px;top:-38px;background:linear-gradient(145deg,rgba(37,99,235,.08),rgba(37,99,235,0))}.stat-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#eff4ff;color:#3157c8;margin-bottom:11px}.stat-icon .ui-icon{width:17px;height:17px}.stat-label{font-size:11px}.stat-value{font-size:27px;letter-spacing:-.05em;margin:3px 0}.stat-hint{font-size:10px}
.panel,.client-card{border-color:#e5e9ef;box-shadow:var(--shadow-sm)}.panel{border-radius:16px;overflow:hidden}.panel-head{padding:16px 18px}.panel-head h2{font-size:15px;font-weight:800;letter-spacing:-.02em}.panel-head p{font-size:10.5px}.data-table th{background:#fafbfc;padding:10px 13px;font-size:9.5px;letter-spacing:.055em}.data-table td{padding:12px 13px;font-size:11.5px}.data-table tbody tr:hover{background:#f8faff}
.section-toolbar{margin-bottom:12px;gap:9px}.searchbox{border-radius:11px;border-color:#d8dee7;min-height:44px;box-shadow:var(--shadow-sm)}.searchbox .ui-icon{width:17px;height:17px}.searchbox input{padding:10px 9px}.control,.field input,.field select,.field textarea{border-radius:10px;border-color:#d8dee7;background:#fff}.field>span{font-size:10.5px;font-weight:750;color:#475467}.field input:focus,.field select:focus,.field textarea:focus,.control:focus,.searchbox:focus-within{border-color:#84adff;box-shadow:0 0 0 3px rgba(37,99,235,.10)}
.status-badge{padding:5px 8px;font-size:9.5px}.mini-btn{min-height:32px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:6px 8px;color:#475467;font-size:10px;font-weight:700}.mini-btn:hover{border-color:#e4e7ec;background:#fff;box-shadow:var(--shadow-sm)}.mini-btn.danger-mini:hover{color:#b42318;background:#fff5f4;border-color:#fecdca}.mini-btn.email-sent{color:#067647}.protocol-row-actions{flex-wrap:nowrap}
.clients-grid{gap:12px}.client-card{border-radius:16px;padding:16px;transition:.16s ease}.client-card:hover{box-shadow:0 10px 24px rgba(16,24,40,.07);transform:translateY(-1px)}.client-card-head{align-items:center}.client-title-wrap{display:flex;align-items:center;gap:11px;min-width:0}.client-avatar{width:38px;height:38px;border-radius:11px;background:#f2f4f7;color:#344054;display:grid;place-items:center;flex:none}.client-avatar .ui-icon{width:18px;height:18px}.client-name{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}.client-eik{font-size:10px}.client-card-actions{flex:none}.client-card-actions .mini-btn{width:32px;height:32px;padding:0}.client-meta{gap:8px;margin-top:14px}.client-meta>div{display:flex;align-items:flex-start;gap:8px;line-height:1.45}.client-meta .ui-icon{width:14px;height:14px;color:#98a2b3;margin-top:1px}.client-meta span{min-width:0;overflow-wrap:anywhere}.client-count{display:flex;align-items:center;gap:6px}.client-count .ui-icon{width:14px;height:14px}.client-count b{color:#344054}
.settings-layout{max-width:980px;gap:12px}.settings-panel{border-radius:16px}.settings-panel .form-grid{padding:16px 18px 0}.number-preview{border-radius:10px;background:#f8fafc}.settings-savebar{border-radius:14px;box-shadow:0 10px 30px rgba(16,24,40,.10)}
.dialog{border-radius:18px;border:1px solid rgba(255,255,255,.5)}.dialog-head{padding:17px 19px}.dialog-head h2{font-size:17px;letter-spacing:-.025em}.dialog-actions{padding:12px 18px}.modal{background:rgba(15,23,42,.48);backdrop-filter:blur(4px)}
.toast{border-radius:12px!important;box-shadow:var(--shadow-lg)!important}

/* Protocol editor: finished, document-like flow. */
.editor-shell{background:#eef1f5}.editor-header{height:68px;padding:0 18px;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);box-shadow:0 1px 0 rgba(16,24,40,.04)}.editor-title{font-size:14px}.editor-subtitle{font-size:9.5px}.editor-actions{gap:7px}.protocol-single-flow .editor-content{padding:22px 26px 44px}.protocol-single-flow .form-step{border-radius:18px;border-color:#e2e6ec;padding:20px 21px;margin-bottom:14px;box-shadow:0 2px 8px rgba(16,24,40,.035)}.protocol-single-flow .form-section-head{margin-bottom:17px;padding-bottom:13px}.protocol-single-flow .form-section-head h2{font-size:19px;letter-spacing:-.035em}.protocol-single-flow .form-section-head p{font-size:10.5px}.protocol-single-flow .form-section-head .eyebrow{background:#eef4ff;color:#3157c8;font-size:8.5px;padding:4px 7px}.equipment-row,.check-row,.signature-box{border-radius:12px!important}.signature-box canvas{border-radius:9px}.protocol-final-actions{border-radius:18px;border-color:#dfe4ea;padding:12px;gap:8px;box-shadow:0 12px 32px rgba(16,24,40,.08)}.protocol-final-actions .button{min-height:46px}.protocol-final-actions .protocol-final-save{background:linear-gradient(180deg,#2f6fed,#2563eb)}.protocol-final-actions .protocol-final-email{background:#eff8ff;border-color:#b2ddff;color:#175cd3}.protocol-final-actions .protocol-final-pdf{background:#f8fafc}.protocol-final-home{border:0!important;box-shadow:none!important}
.preview-toolbar{height:66px;padding:0 16px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px)}.preview-toolbar>div:first-child{display:flex;align-items:center;gap:9px}.preview-stage{background:#e9edf2}

.mobile-bottom-nav{display:none}

@media(max-width:900px){
  .view{padding-left:18px;padding-right:18px}.topbar{padding-left:18px;padding-right:18px}.top-actions #backupBtn{display:none}.clients-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:780px){
  body{padding-bottom:calc(70px + env(safe-area-inset-bottom));background:#f5f7fb}.sidebar{display:none!important}#menuBtn{display:none!important}.main{margin-left:0}
  .topbar{height:58px;min-height:58px;padding:env(safe-area-inset-top) 12px 0;position:sticky}.page-title{font-size:16px;max-width:58vw}.page-subtitle{display:none}.top-actions{gap:6px}.top-actions .button.primary{width:38px;min-width:38px;height:38px;border-radius:10px}.top-actions .button.primary .button-label{display:none}.top-actions .button.primary .ui-icon{width:19px;height:19px}.top-actions .cloud-sync-button,#backupBtn{display:none!important}
  .view{padding:13px 10px calc(22px + env(safe-area-inset-bottom));max-width:none}.hero-row{padding:17px 16px;border-radius:16px;margin-bottom:11px;gap:13px;background:linear-gradient(145deg,#fff,#f1f5ff)}.hero-row h1{font-size:22px;margin-bottom:5px}.hero-row p{font-size:11px}.hero-row>.button{min-height:46px;border-radius:11px}
  .stats-grid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:11px}.stat-card{min-height:116px;padding:13px;border-radius:14px}.stat-icon{width:30px;height:30px;border-radius:9px;margin-bottom:8px}.stat-value{font-size:23px}.stat-label{font-size:10px}.stat-hint{font-size:9px}.panel{border-radius:14px}.panel-head{padding:13px}.panel-head h2{font-size:13.5px}.panel-head .button.text{font-size:10px;padding-right:0}
  .section-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.section-toolbar .searchbox{grid-column:1/-1;min-height:44px}.section-toolbar>.button.primary{min-height:42px;padding-inline:12px}.section-toolbar>.control.compact{height:42px}.clients-grid{grid-template-columns:1fr;gap:9px}.client-card{padding:13px;border-radius:14px}.client-avatar{width:36px;height:36px}.client-name{max-width:67vw;font-size:13px}.client-meta{margin-top:12px}.client-card-actions .mini-btn{width:34px;height:34px}

  /* Tables become readable cards instead of sideways scrolling. */
  #view-dashboard .table-wrap,#view-protocols .table-wrap{overflow:visible}.data-table{min-width:0!important}.data-table thead{display:none}#view-dashboard .data-table,#view-protocols .data-table,#view-dashboard .data-table tbody,#view-protocols .data-table tbody{display:block;width:100%}
  #view-dashboard .data-table tbody,#view-protocols .data-table tbody{padding:8px;display:grid;gap:8px}#view-dashboard .data-table tr,#view-protocols .data-table tr{display:grid;grid-template-columns:1fr 1fr;border:1px solid #e4e7ec;border-radius:13px;background:#fff;overflow:hidden;box-shadow:var(--shadow-sm)}
  #view-dashboard .data-table td,#view-protocols .data-table td{display:grid;gap:2px;padding:9px 10px;border:0!important;min-width:0;font-size:11px}#view-dashboard .data-table td::before,#view-protocols .data-table td::before{content:attr(data-label);font-size:8.5px;text-transform:uppercase;letter-spacing:.05em;color:#98a2b3;font-weight:800}
  #view-dashboard .data-table td:nth-child(1),#view-protocols .data-table td:nth-child(1){grid-column:1/-1;padding-bottom:5px;font-size:13px}#view-dashboard .data-table td:last-child,#view-protocols .data-table td:last-child{grid-column:1/-1;border-top:1px solid #f0f2f5!important;padding:7px 8px}#view-dashboard .data-table td:last-child::before,#view-protocols .data-table td:last-child::before{display:none}.protocol-row-actions{display:grid;grid-template-columns:repeat(5,1fr);gap:3px;width:100%}.protocol-row-actions .mini-btn{height:39px;min-width:0;padding:4px 2px;display:grid;place-items:center;gap:1px;font-size:8px}.protocol-row-actions .mini-btn .ui-icon{width:15px;height:15px}.protocol-row-actions .mini-btn span{display:block;line-height:1.05}.data-table tbody tr:hover{background:#fff}

  /* Mobile settings as calm stacked cards. */
  .settings-layout{gap:9px}.settings-panel{border-radius:14px}.settings-panel .panel-head{min-height:48px}.settings-panel .form-grid{padding:13px 13px 0}.settings-savebar{bottom:calc(72px + env(safe-area-inset-bottom));border-radius:12px;padding:8px}.settings-savebar .button{width:100%;min-height:45px}.settings-savebar .save-hint:empty{display:none}.settings-savebar .save-hint{width:100%;text-align:center}

  /* Protocol header is compact, actions are not duplicated. */
  .editor-shell{height:100dvh;max-height:100dvh;padding-bottom:0}.editor-header{min-height:58px;height:auto;padding:7px 9px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:7px;position:sticky;top:0}.editor-title-row{display:contents}.editor-home-button{width:40px;height:40px;min-width:40px;padding:0;border-radius:10px}.editor-home-button .button-label{display:none}.editor-home-button .ui-icon{width:18px;height:18px}.editor-title-row>div{min-width:0}.editor-title{font-size:13px}.editor-subtitle{font-size:8.5px}.editor-actions{width:auto;display:flex!important;margin-left:0}.editor-actions #previewProtocolBtn{width:40px;height:40px;padding:0}.editor-actions #previewProtocolBtn .button-label{display:none}.editor-actions #previewProtocolBtn .ui-icon{width:18px;height:18px}.editor-actions #saveProtocolBtn,.editor-actions #saveDraftBtn,.editor-actions .autosave-indicator{display:none!important}.protocol-single-flow .editor-content{padding:9px 8px 16px;background:#f3f5f8}.protocol-single-flow .form-step{padding:13px 11px;margin-bottom:8px;border-radius:14px;box-shadow:none}.protocol-single-flow .form-section-head{margin-bottom:11px;padding-bottom:9px}.protocol-single-flow .form-section-head h2{font-size:17px}.protocol-single-flow .form-section-head p{font-size:9.5px;line-height:1.35}.protocol-single-flow .form-section-head .eyebrow{font-size:7.8px}.protocol-no-pill{font-size:9px;padding:7px 8px}.field>span{font-size:10px}.field input,.field select,.control{min-height:44px;border-radius:10px}.field textarea{border-radius:10px}.equipment-row{padding:9px}.signature-box{padding:10px}.protocol-final-actions{margin:2px 0 4px;padding:8px;border-radius:14px;gap:6px}.protocol-final-actions .button{min-height:48px;border-radius:11px;padding-left:13px}.protocol-final-actions .button .ui-icon{width:17px;height:17px}.protocol-final-home{min-height:42px!important}

  .preview-toolbar{height:auto;min-height:58px;padding:7px 9px;display:grid;grid-template-columns:1fr;gap:6px}.preview-toolbar>div:first-child{min-width:0}.preview-toolbar>.button-row{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;width:100%;gap:5px}.preview-toolbar #emailProtocolBtn{grid-column:auto!important}.preview-toolbar .button{min-width:0!important;min-height:40px;padding:7px 5px;font-size:9.5px}.preview-toolbar .button .ui-icon{width:15px;height:15px}.preview-stage{padding:8px}

  .modal{padding:0}.dialog{border-radius:18px 18px 0 0}.dialog-head{padding:14px 13px}.dialog-actions{padding:9px 10px calc(9px + env(safe-area-inset-bottom))}.cloud-login-modal{padding:12px;align-items:center}.cloud-login-dialog{border-radius:18px;padding:18px}.cloud-login-brand{justify-content:center}.cloud-login-copy{padding:15px 0 11px}.cloud-login-copy h2{font-size:19px}.cloud-login-field input{height:56px;border-radius:12px;font-size:24px!important}.cloud-login-button{height:50px;border-radius:12px}

  .mobile-bottom-nav{position:fixed;z-index:80;left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));height:60px;padding:5px 7px;border:1px solid rgba(208,213,221,.9);border-radius:18px;background:rgba(255,255,255,.95);backdrop-filter:blur(16px);box-shadow:0 12px 34px rgba(16,24,40,.18);display:grid;grid-template-columns:1fr 1fr 1.08fr 1fr 1fr;align-items:center;gap:2px}.mobile-bottom-nav .nav-item{color:#667085;background:transparent!important;border:0!important;padding:4px 2px;min-height:49px;border-radius:12px;display:grid;place-items:center;gap:1px;text-align:center}.mobile-bottom-nav .nav-item span{width:auto;height:22px}.mobile-bottom-nav .nav-item .ui-icon{width:18px;height:18px}.mobile-bottom-nav .nav-item b{font-size:8.5px;font-weight:750;line-height:1}.mobile-bottom-nav .nav-item.active{color:#175cd3;background:#eff4ff!important;box-shadow:none}.mobile-bottom-nav .mobile-nav-create{position:relative;color:#fff!important}.mobile-bottom-nav .mobile-nav-create .mobile-nav-plus{width:40px;height:40px;border-radius:13px;background:linear-gradient(180deg,#2f6fed,#2563eb);display:grid;place-items:center;color:#fff;font-size:24px;line-height:1;box-shadow:0 6px 15px rgba(37,99,235,.28);margin-top:-12px}.mobile-bottom-nav .mobile-nav-create b{color:#344054;margin-top:-2px}.mobile-bottom-nav .mobile-nav-create:active .mobile-nav-plus{transform:scale(.96)}
  .toast{bottom:calc(80px + env(safe-area-inset-bottom))!important;left:10px!important;right:10px!important;width:auto!important;text-align:center}
}
@media(max-width:420px){.stats-grid{gap:7px}.stat-card{padding:12px;min-height:112px}.hero-row h1{font-size:21px}.client-name{max-width:62vw}.protocol-row-actions .mini-btn span{font-size:7.5px}.mobile-bottom-nav{left:6px;right:6px}.mobile-bottom-nav .nav-item b{font-size:8px}}
@media(min-width:781px){.mobile-bottom-nav{display:none!important}}

/* v1.6.3 final-action priority */
.protocol-final-actions{grid-template-columns:minmax(230px,1.45fr) minmax(150px,.85fr) minmax(135px,.75fr)}
.protocol-final-actions .protocol-final-email{background:linear-gradient(180deg,#2f6fed,#2563eb);border-color:#2563eb;color:#fff;box-shadow:0 4px 12px rgba(37,99,235,.18)}
.protocol-final-actions .protocol-final-email:hover{background:#1d4ed8;border-color:#1d4ed8;color:#fff}
.protocol-final-actions .protocol-final-save{background:#fff!important;color:#344054!important;border:1px solid #d0d5dd!important}
@media(max-width:780px){.protocol-final-actions{grid-template-columns:1fr}.protocol-final-actions .protocol-final-email{order:1}.protocol-final-actions .protocol-final-pdf{order:2}.protocol-final-actions .protocol-final-save{order:3}.protocol-final-actions .protocol-final-home{order:4}}

/* ===== v1.6.4 — Yotta brand logo ===== */
/* Keep the exact existing brand-mark box dimensions; only replace the glyph. */
.brand-mark.brand-logo{
  padding:0;
  overflow:hidden;
  background:transparent!important;
  box-shadow:none!important;
  color:transparent!important;
}
.brand-mark.brand-logo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  pointer-events:none;
  user-select:none;
}


/* v1.6.5 mobile bug fixes */
.settings-savebar .save-hint:empty{display:none!important}

@media (max-width: 780px){
  #quickNewBtn{display:none!important}
  .top-actions{margin-left:auto}
  .top-actions .button{flex:none}

  /* Remove duplicate/awkward mobile savebar spacing */
  .settings-savebar{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;align-items:stretch!important;padding:10px!important}
  .settings-savebar .button{width:100%!important;margin:0!important}
  .settings-savebar .save-hint{width:100%!important;min-width:0!important;text-align:center}

  /* Make stacked settings actions less glitchy on small screens */
  .settings-panel>.button-row,
  .cloud-settings-body>.button-row,
  .backup-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:100%!important}
  .settings-panel>.button-row>.button,
  .settings-panel>.button-row>.file-button,
  .cloud-settings-body>.button-row>.button,
  .backup-actions>.button,
  .backup-actions>.file-button{width:100%!important;min-width:0!important}

  /* Avoid duplicated new-protocol entry in top bar on mobile */
  .hero-row{align-items:stretch}

  /* Keep protocol editor inside the viewport */
  .editor-shell,.editor-body,.editor-content,.form-step,.form-step>.form-grid{min-width:0!important;max-width:100%!important}
  .editor-content,.protocol-single-flow,.protocol-single-flow .editor-content{overflow-x:hidden!important}
  .protocol-visual-editor,.protocol-document,.template-preview-window,.preview-stage{max-width:100%!important;overflow-x:hidden!important}
  .protocol-visual-editor table,
  .protocol-document table,
  .template-preview-window table{width:100%!important;max-width:100%!important;table-layout:fixed!important;border-collapse:collapse}
  .protocol-visual-editor th,.protocol-visual-editor td,
  .protocol-document th,.protocol-document td,
  .template-preview-window th,.template-preview-window td{word-break:break-word!important;overflow-wrap:anywhere!important;padding-left:6px!important;padding-right:6px!important}
  .protocol-visual-editor .table-wrap,
  .protocol-document .table-wrap,
  .template-preview-window .table-wrap{max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  .protocol-visual-editor img,.protocol-document img,.template-preview-window img{max-width:100%!important;height:auto!important}

  /* Extra protection against page-level horizontal scroll */
  html,body,.main,.view{overflow-x:hidden!important}
}

@media (max-width: 520px){
  .topbar{grid-template-columns:auto minmax(0,1fr) auto!important}
  .page-title{max-width:unset!important}
  .panel-head{align-items:flex-start}
  .panel-head h2{line-height:1.2}
}


/* ===== v1.6.6 — final mobile polish ===== */
:root{--mobile-nav-h:68px}

/* Consistent, slightly more app-like controls */
.button,.icon-button,.control,.field input,.field select,.field textarea,.searchbox{transition:border-color .16s ease,box-shadow .16s ease,background .16s ease,transform .08s ease}
.button:active,.icon-button:active{transform:translateY(1px)}
.button.primary{box-shadow:0 5px 14px rgba(37,99,235,.16)}
.panel,.stat-card,.client-card{box-shadow:0 1px 2px rgba(16,24,40,.025)}

@media(max-width:780px){
  body{background:#f5f7fb;padding-bottom:calc(var(--mobile-nav-h) + 18px + env(safe-area-inset-bottom))}
  .main{min-height:100dvh}
  .topbar{height:54px!important;min-height:54px!important;padding:0 14px!important;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid #e7eaf0;box-shadow:0 1px 0 rgba(16,24,40,.02)}
  .topbar>div:nth-child(2){min-width:0}
  .page-title{font-size:16px!important;font-weight:800;letter-spacing:-.02em;color:#101828;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .top-actions{display:none!important}

  .view{padding:12px 10px calc(22px + env(safe-area-inset-bottom))!important}
  .view.active{animation:yottaMobileIn .16s ease-out}
  @keyframes yottaMobileIn{from{opacity:.45;transform:translateY(3px)}to{opacity:1;transform:none}}

  /* Dashboard */
  .hero-row{padding:17px 16px 15px!important;margin:0 0 10px!important;border:1px solid #dce5f8;border-radius:18px!important;background:linear-gradient(145deg,#ffffff 0%,#f5f8ff 58%,#edf4ff 100%)!important;box-shadow:0 4px 16px rgba(37,99,235,.055)}
  .hero-row h1{font-size:22px!important;letter-spacing:-.035em;line-height:1.1;margin:0 0 6px!important}
  .hero-row p{font-size:11px!important;line-height:1.45;color:#667085;max-width:34rem}
  .hero-row>.button{width:100%;min-height:48px!important;border-radius:12px!important;margin-top:2px;font-size:12.5px;box-shadow:0 8px 18px rgba(37,99,235,.18)}

  .stats-grid{gap:8px!important;margin-bottom:10px!important}
  .stat-card{min-height:104px!important;padding:13px 13px 11px!important;border-radius:15px!important;border-color:#e3e7ee;background:linear-gradient(180deg,#fff,#fcfdff);display:flex;flex-direction:column;justify-content:flex-start}
  .stat-card .stat-icon{width:34px!important;height:34px!important;border-radius:10px!important;margin-bottom:8px!important;background:#f1f5ff!important;color:#3157c8!important}
  .stat-card .stat-icon .ui-icon{width:17px!important;height:17px!important}
  .stat-label{font-size:10px!important;line-height:1.2;color:#667085!important}
  .stat-value{font-size:25px!important;line-height:1;margin:6px 0 4px!important;letter-spacing:-.045em}
  .stat-hint{font-size:8.8px!important;line-height:1.25;color:#98a2b3!important;margin-top:auto}

  .panel{border-radius:16px!important;border-color:#e2e6ec;overflow:hidden;background:#fff}
  .panel-head{padding:13px 13px!important;min-height:52px!important;gap:8px}
  .panel-head h2{font-size:14px!important;letter-spacing:-.02em;margin-bottom:2px!important}
  .panel-head p{font-size:9.5px!important;line-height:1.3}
  .panel-head .button.text{padding:6px 3px;font-size:9.5px;white-space:nowrap}

  /* Search / section actions */
  .section-toolbar{gap:8px!important;margin-bottom:9px!important}
  .searchbox{min-height:46px;border-radius:12px!important;padding:0 12px!important;background:#fff}
  .searchbox input{font-size:16px!important;padding:11px 6px!important}
  .section-toolbar .control.compact{min-height:46px;border-radius:12px!important;font-size:15px}
  .section-toolbar>.button{min-height:46px!important;border-radius:12px!important}

  /* Client cards */
  .clients-grid{gap:9px!important}
  .client-card{border-radius:16px!important;padding:14px!important;border-color:#e2e6ec}
  .client-name{font-size:14px!important;line-height:1.25}
  .client-eik{font-size:9.5px!important}
  .client-meta{font-size:10px!important;gap:8px!important;margin-top:12px!important}
  .client-meta-row{min-width:0}.client-meta-row span:last-child{min-width:0;overflow-wrap:anywhere}
  .client-count{font-size:9.5px!important;margin-top:11px!important;padding-top:10px!important}

  /* Settings */
  #view-settings .settings-layout{gap:9px!important}
  .settings-panel{border-radius:16px!important;padding-bottom:13px!important}
  .settings-panel .form-grid{padding:13px 13px 0!important;gap:12px!important}
  .field{gap:5px!important}.field>span{font-size:10px!important;color:#475467!important}
  .field input,.field select,.field textarea,.control{border-radius:11px!important;border-color:#d5dae2!important;background:#fff}
  .field input:focus,.field select:focus,.field textarea:focus,.control:focus{border-color:#7aa2ff!important;box-shadow:0 0 0 3px rgba(37,99,235,.08)!important}
  .number-preview{margin:12px 13px 0!important;border-radius:11px!important}
  .cloud-info-grid>div{border-radius:12px!important;background:#fbfcfe!important}
  .cloud-settings-badge{font-size:9px!important;padding:5px 8px!important}
  .settings-savebar{position:sticky!important;bottom:calc(var(--mobile-nav-h) + 12px + env(safe-area-inset-bottom))!important;border-radius:14px!important;border-color:#dce2ea!important;padding:8px!important;box-shadow:0 9px 28px rgba(16,24,40,.12)!important;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(16px)}
  .settings-savebar .button{min-height:47px!important;border-radius:11px!important;font-size:12px}
  .settings-savebar .save-hint:empty{display:none!important}

  /* Protocol list cards */
  #view-dashboard .data-table tbody,#view-protocols .data-table tbody{padding:8px!important;gap:8px!important}
  #view-dashboard .data-table tr,#view-protocols .data-table tr{border-radius:14px!important;border-color:#e2e6ec!important;box-shadow:0 1px 3px rgba(16,24,40,.04)!important}
  #view-dashboard .data-table td,#view-protocols .data-table td{font-size:10.5px!important;line-height:1.35}
  #view-dashboard .data-table td::before,#view-protocols .data-table td::before{font-size:7.5px!important;color:#98a2b3!important;letter-spacing:.06em}
  .protocol-row-actions{gap:4px!important}.protocol-row-actions .mini-btn{border-radius:9px!important;background:#f8fafc!important}

  /* Protocol editor */
  .editor-header{min-height:56px!important;padding:7px 8px!important;box-shadow:0 1px 0 rgba(16,24,40,.05)}
  .editor-home-button,.editor-actions #previewProtocolBtn{width:40px!important;height:40px!important;border-radius:11px!important;background:#f8fafc!important;border-color:#e4e7ec!important}
  .editor-title{font-size:13.5px!important;letter-spacing:-.02em}.editor-subtitle{font-size:8.5px!important}
  .protocol-single-flow .editor-content{padding:8px 7px 18px!important;background:#f3f5f8!important}
  .protocol-single-flow .form-step{padding:13px 11px 14px!important;margin-bottom:8px!important;border-radius:15px!important;border:1px solid #e2e6ec!important;background:#fff!important}
  .protocol-single-flow .form-section-head{margin-bottom:11px!important;padding-bottom:10px!important;border-bottom:1px solid #eef1f4!important}
  .protocol-single-flow .form-section-head h2{font-size:17px!important;letter-spacing:-.03em!important}
  .protocol-single-flow .form-section-head p{font-size:9.3px!important;color:#667085!important}
  .protocol-single-flow .form-section-head .eyebrow{font-size:7.5px!important;border-radius:999px!important;padding:4px 7px!important}
  .protocol-single-flow .form-grid{gap:11px!important}
  .protocol-single-flow .field input,.protocol-single-flow .field select,.protocol-single-flow .control{min-height:46px!important}
  .protocol-single-flow .field textarea{min-height:96px}
  .equipment-row,.check-row,.signature-box,.acceptance-options label{border-color:#e2e6ec!important;background:#fff!important}
  .equipment-row{border-radius:12px!important}.check-row{border-radius:12px!important}.signature-box{border-radius:13px!important}
  .signature-box canvas{height:145px!important;border-radius:10px!important;background:#fff}
  .protocol-final-actions{border-radius:16px!important;padding:9px!important;gap:7px!important;margin-top:4px!important;box-shadow:0 8px 24px rgba(16,24,40,.075)!important}
  .protocol-final-actions .button{min-height:50px!important;border-radius:12px!important;font-size:12px!important;padding:0 14px!important;justify-content:flex-start!important}
  .protocol-final-actions .protocol-final-email{box-shadow:0 6px 15px rgba(37,99,235,.18)!important}
  .protocol-final-home{justify-content:center!important;color:#667085!important}

  /* Visual protocol editor inside Settings: fit phone without page-wide overflow. */
  .visual-editor-shell{border-radius:13px!important;padding:5px!important;background:#eef1f5!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  .protocol-visual-editor{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;padding:13px 10px!important;border-radius:10px!important;font-size:14px!important;line-height:1.45!important;overflow-wrap:anywhere!important}
  .protocol-visual-editor h1{font-size:19px!important}.protocol-visual-editor h2{font-size:17px!important}.protocol-visual-editor h3{font-size:15px!important}
  .protocol-visual-editor table{width:100%!important;min-width:0!important;max-width:100%!important;table-layout:fixed!important;font-size:12px!important}
  .protocol-visual-editor th,.protocol-visual-editor td{padding:7px 6px!important;word-break:normal!important;overflow-wrap:anywhere!important;vertical-align:top!important}

  /* Preview: screen preview may scroll inside itself, never the whole page. */
  .preview-shell{height:100dvh!important;max-width:100vw!important;overflow:hidden!important}
  .preview-stage{max-width:100vw!important;overflow:auto!important;-webkit-overflow-scrolling:touch!important}

  /* Mobile bottom bar */
  .mobile-bottom-nav{left:7px!important;right:7px!important;bottom:max(7px,env(safe-area-inset-bottom))!important;height:64px!important;border-radius:20px!important;padding:5px 6px!important;border-color:rgba(208,213,221,.88)!important;background:rgba(255,255,255,.97)!important;box-shadow:0 12px 36px rgba(16,24,40,.17)!important}
  .mobile-bottom-nav .nav-item{min-height:52px!important;border-radius:13px!important;gap:2px!important}
  .mobile-bottom-nav .nav-item .ui-icon{width:19px!important;height:19px!important}
  .mobile-bottom-nav .nav-item b{font-size:8.2px!important;letter-spacing:-.01em}
  .mobile-bottom-nav .nav-item.active{background:#eef4ff!important;color:#175cd3!important}
  .mobile-bottom-nav .mobile-nav-create .mobile-nav-plus{width:44px!important;height:44px!important;border-radius:14px!important;margin-top:-15px!important;font-size:25px!important;box-shadow:0 7px 18px rgba(37,99,235,.3)!important}

  .toast{border-radius:12px!important;font-size:11px!important;padding:10px 12px!important}
}

@media(max-width:420px){
  .hero-row{padding:15px 14px 14px!important}.hero-row h1{font-size:21px!important}
  .stat-card{min-height:101px!important;padding:12px!important}.stat-value{font-size:23px!important}
  .mobile-bottom-nav{left:6px!important;right:6px!important}
  .mobile-bottom-nav .nav-item b{font-size:7.8px!important}
  .protocol-final-actions .button{font-size:11.5px!important}
}


/* ===== v1.6.7 — protected reset + mobile page top ===== */
.protected-reset-body{padding:18px 20px 20px;display:grid;gap:12px}
.protected-reset-dialog .button.danger{background:#fff1f0;border-color:#fda29b;color:#b42318;min-height:44px}
.protected-reset-dialog .button.danger:hover{background:#fee4e2}
#resetDataBtn{position:relative;z-index:1}

@media(max-width:780px){
  /* The destructive action must stay fully visible instead of sitting under the save bar. */
  #view-settings .settings-panel:last-of-type{padding-bottom:16px!important}
  #view-settings #resetDataBtn{display:flex!important;width:100%!important;min-height:46px!important;margin-top:2px!important;border-color:#fda29b!important;color:#b42318!important;background:#fff!important}
  #view-settings #resetDataBtn:active{background:#fff1f0!important}
  #view-settings .settings-savebar{position:relative!important;bottom:auto!important;margin-top:0!important;margin-bottom:calc(var(--mobile-nav-h) + 18px + env(safe-area-inset-bottom))!important;z-index:1!important}
  .protected-reset-body{padding:16px 14px calc(18px + env(safe-area-inset-bottom))}
  .protected-reset-body input{font-size:22px!important;text-align:center!important;letter-spacing:.28em!important;min-height:52px!important}
}
