:root{--bg: linear-gradient(160deg, #f4f7ff 0%, #e9fff3 55%, #fff7ea 100%);--surface: rgba(255, 255, 255, .88);--surface-strong: #ffffff;--text: #14213d;--subtle: #495674;--primary: #0e1f4d;--primary-contrast: #f7fbff;--accent: #1e8a4d;--danger: #b5203a;--warning: #ba6b05;--border: rgba(20, 33, 61, .15);--shadow: 0 20px 40px rgba(17, 31, 77, .12);--header-radius: 20px;--card-radius: 18px;--brand-radius: 12px;--input-radius: 10px;--input-border: 1px solid var(--border);--input-border-bottom: 1px solid var(--border);--input-padding: .65rem .7rem;--input-bg: var(--surface-strong);--input-shadow: none;--panel-bg: var(--surface);--panel-border: 1px solid var(--border);--panel-shadow: var(--shadow);--panel-backdrop: blur(8px);--control-radius: 10px;--control-border: 1px solid var(--border);--control-border-bottom: 1px solid var(--border);--control-bg: var(--surface-strong);--control-shadow: none;--primary-button-bg: var(--primary);--primary-button-text: var(--primary-contrast);--primary-button-border: none;--primary-button-border-bottom: none;--confirm-button-bg: #198f52;--confirm-button-text: #f7fbff;--confirm-button-border: none;--confirm-button-border-bottom: none;--danger-button-bg: rgba(181, 32, 58, .12);--danger-button-text: #8d1227;--danger-button-border: 1px solid rgba(181, 32, 58, .35);--danger-button-border-bottom: 1px solid rgba(181, 32, 58, .35);--active-control-bg: var(--primary);--active-control-text: var(--primary-contrast);--active-control-border: none;--active-control-border-bottom: none;--badge-radius: 10px;--badge-border: 1px solid rgba(30, 138, 77, .32);--badge-border-bottom: 1px solid rgba(30, 138, 77, .32);--badge-bg: rgba(30, 138, 77, .12);--badge-justify: center;--theme-block-border: 1px solid var(--border);--theme-block-border-bottom: 1px solid var(--border);--theme-block-radius: 12px;--theme-block-bg: var(--surface-strong);--theme-block-shadow: none;--utility-border: 1px solid var(--border);--utility-border-bottom: 1px solid var(--border);--utility-radius: 10px;--utility-bg: var(--surface-strong);--utility-shadow: none;--tri-icon-radius: 6px;--paper-soft-line: rgba(31, 45, 63, .18);--paper-control-line: rgba(31, 45, 63, .22)}:root[data-theme=dark]{--bg: radial-gradient(circle at 20% 20%, #10203f 0%, #0a1224 40%, #060b15 100%);--surface: rgba(19, 30, 55, .86);--surface-strong: #1a2748;--text: #e8efff;--subtle: #adbbdf;--primary: #a6d3ff;--primary-contrast: #0e1f4d;--accent: #8ef0b1;--danger: #ff9fb0;--warning: #ffd18f;--border: rgba(191, 211, 255, .22);--shadow: 0 20px 40px rgba(3, 6, 12, .38);--danger-button-bg: rgba(241, 92, 120, .16);--danger-button-text: #ffd7df;--danger-button-border: 1px solid rgba(241, 92, 120, .4);--danger-button-border-bottom: 1px solid rgba(241, 92, 120, .4)}:root[data-theme=light][data-visual-theme=paper]{--bg: linear-gradient(180deg, #ffffff 0%, #fbfbf8 100%);--surface: rgba(255, 255, 255, .98);--surface-strong: #ffffff;--text: #1f2d3f;--subtle: #627083;--primary: #1f3f74;--primary-contrast: #ffffff;--accent: #1f7b55;--danger: #b7334a;--warning: #a86d18;--border: rgba(31, 45, 63, .14);--shadow: 0 8px 18px rgba(31, 45, 63, .04);--paper-soft-line: rgba(31, 45, 63, .18);--paper-control-line: rgba(31, 45, 63, .22)}:root[data-theme=dark][data-visual-theme=paper]{--panel-bg: rgba(19, 30, 55, .92);--paper-soft-line: rgba(191, 211, 255, .24);--paper-control-line: rgba(191, 211, 255, .32)}:root[data-visual-theme=paper]{--header-radius: 14px;--card-radius: 14px;--brand-radius: 10px;--input-radius: 0;--input-border: none;--input-border-bottom: 1.5px solid var(--paper-control-line);--input-padding: .75rem .15rem .45rem;--input-bg: transparent;--panel-bg: rgba(255, 255, 255, .97);--panel-shadow: none;--panel-backdrop: none;--control-radius: 0;--control-border: none;--control-border-bottom: 1.5px solid var(--paper-control-line);--control-bg: transparent;--primary-button-bg: transparent;--primary-button-text: var(--primary);--primary-button-border: none;--primary-button-border-bottom: 1.5px solid var(--primary);--confirm-button-bg: transparent;--confirm-button-text: var(--accent);--confirm-button-border: none;--confirm-button-border-bottom: 1.5px solid var(--accent);--danger-button-bg: transparent;--danger-button-text: var(--danger);--danger-button-border: none;--danger-button-border-bottom: 1.5px solid var(--danger);--active-control-bg: transparent;--active-control-text: var(--primary);--active-control-border: none;--active-control-border-bottom: 1.5px solid var(--primary);--badge-radius: 0;--badge-border: none;--badge-border-bottom: 1.5px solid var(--paper-control-line);--badge-bg: transparent;--badge-justify: flex-start;--theme-block-border: none;--theme-block-border-bottom: 1.5px solid var(--paper-soft-line);--theme-block-radius: 0;--theme-block-bg: transparent;--utility-border: none;--utility-border-bottom: 1.5px solid var(--paper-soft-line);--utility-radius: 0;--utility-bg: transparent;--tri-icon-radius: 0}:root[data-theme=light][data-visual-theme=office]{--bg: linear-gradient(180deg, #eef3f8 0%, #f7f9fc 100%);--surface: rgba(255, 255, 255, .96);--surface-strong: #ffffff;--text: #10233f;--subtle: #5f6c80;--primary: #204c92;--primary-contrast: #f7fbff;--accent: #1f7a5b;--danger: #bb415a;--warning: #b17217;--border: rgba(16, 35, 63, .14);--shadow: 0 16px 32px rgba(22, 39, 66, .08)}:root[data-theme=dark][data-visual-theme=office]{--input-bg: rgba(26, 39, 72, .92);--input-shadow: none}:root[data-visual-theme=office]{--header-radius: 4px;--card-radius: 4px;--brand-radius: 0;--input-radius: 0;--input-border: 1px solid rgba(16, 35, 63, .16);--input-border-bottom: 1px solid rgba(16, 35, 63, .16);--input-bg: #ffffff;--input-shadow: inset 0 1px 0 rgba(16, 35, 63, .03);--panel-backdrop: none;--control-radius: 0;--control-border: 1px solid rgba(16, 35, 63, .16);--control-border-bottom: 1px solid rgba(16, 35, 63, .16);--control-bg: var(--surface-strong);--badge-radius: 0;--theme-block-radius: 0;--utility-radius: 0;--tri-icon-radius: 0}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:Sora,Manrope,Segoe UI,sans-serif;color:var(--text);background:var(--bg);background-attachment:fixed}a{color:inherit;text-decoration:none}.loading-screen{min-height:100vh;display:grid;place-items:center;font-size:1.05rem}.app-shell{max-width:1120px;margin:0 auto;padding:1rem}.mobile-topbar,.mobile-nav{display:none}.mobile-topbar.is-hidden{transform:translateY(calc(-100% - .5rem));opacity:0;pointer-events:none}.app-header{border-radius:var(--header-radius);padding:1rem;background:var(--panel-bg);border:var(--panel-border);box-shadow:var(--panel-shadow);-webkit-backdrop-filter:var(--panel-backdrop);backdrop-filter:var(--panel-backdrop);animation:appear .45s ease-out}.desktop-header-content{display:grid;gap:.75rem}.mobile-header-bar{display:none}@keyframes appear{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.header-top{display:flex;justify-content:space-between;gap:1rem;align-items:center}.brand-link{display:flex;align-items:center;gap:.75rem}.brand-mark{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:var(--brand-radius);font-weight:700;color:var(--primary-contrast);background:var(--primary)}.mobile-branch-badge{display:inline-grid;place-items:center;width:46px;height:46px;padding:0;border-radius:var(--brand-radius);background:var(--primary);color:var(--primary-contrast);font-weight:800;letter-spacing:.03em;flex:0 0 auto}.mobile-branch-badge-text{font-size:1rem;line-height:1}.mobile-branch-badge-text-long{font-size:.88rem}.header-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;margin-top:.75rem;color:var(--subtle)}.header-meta span{overflow-wrap:anywhere}.role-switch{display:flex;gap:.5rem}.main-nav{margin-top:.8rem;display:flex;gap:.7rem;flex-wrap:wrap;scrollbar-width:none}.main-nav::-webkit-scrollbar{display:none}.main-nav a{border:var(--control-border);border-bottom:var(--control-border-bottom);border-radius:var(--control-radius);padding:.4rem .9rem;color:var(--subtle);background:var(--control-bg);box-shadow:var(--control-shadow);transition:background-color .2s ease}.main-nav a.active{color:var(--active-control-text);background:var(--active-control-bg);border:var(--active-control-border);border-bottom:var(--active-control-border-bottom)}.mobile-header-actions,.theme-controls-compact{display:flex;align-items:center;gap:.5rem;flex-wrap:nowrap}.mobile-header-menu-wrap{position:relative}.header-icon-button{position:relative;width:46px;height:46px;flex:0 0 46px;display:inline-grid;place-items:center;padding:0;border:var(--utility-border);border-bottom:var(--utility-border-bottom);border-radius:var(--utility-radius);background:var(--utility-bg);box-shadow:var(--utility-shadow);color:var(--text);cursor:pointer;transition:transform .12s ease,filter .2s ease,border-color .2s ease}.header-icon-button svg{width:20px;height:20px}.header-icon-button:hover{transform:translateY(-1px);filter:brightness(1.04)}.header-icon-button.active{border-color:#1e8a4d61}.sync-status-dot{position:absolute;right:8px;bottom:8px;width:10px;height:10px;border-radius:999px;border:2px solid var(--surface-strong)}.sync-success{color:#177344}.sync-warning{color:#9a640f}.sync-danger{color:#b5203a}.sync-status-dot.sync-success{background:#29a764}.sync-status-dot.sync-warning{background:#d59a28}.sync-status-dot.sync-danger{background:#d5435f}.header-popover{position:absolute;top:calc(100% + .45rem);left:0;z-index:35;min-width:210px;padding:.75rem;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--surface-strong) 92%,white 8%);box-shadow:0 16px 32px #111f4d24;display:grid;gap:.55rem}.header-popover-right{left:auto;right:0}.header-popover strong,.header-popover p,.header-popover small{margin:0}.header-popover p{color:var(--subtle);line-height:1.4}.theme-compact-menu strong,.mobile-account-panel strong,.mobile-sync-panel strong{font-size:.82rem;letter-spacing:.04em;text-transform:uppercase}.theme-compact-options{display:grid;gap:.4rem}.theme-compact-label{font-size:.76rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--subtle)}.theme-controls{display:flex;flex-wrap:wrap;align-items:end;justify-content:flex-end;gap:.65rem}.theme-select-group{min-width:190px;gap:.2rem;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}.theme-select-group select{min-width:190px}.theme-mode-toggle{width:100%;display:inline-flex;align-items:center;gap:.65rem;border:1px solid var(--border);border-radius:10px;padding:.7rem .8rem;background:var(--surface-strong);color:var(--text);cursor:pointer;text-align:left}.theme-mode-toggle-icon{width:1.25rem;height:1.25rem;display:inline-grid;place-items:center;flex:0 0 auto}.theme-mode-toggle-icon svg{width:100%;height:100%}.theme-compact-option{width:100%;text-align:left;border:1px solid var(--border);border-radius:10px;padding:.7rem .8rem;background:var(--surface-strong);color:var(--text);cursor:pointer}.theme-compact-option.active{border-color:#1e8a4d61;background:#1e8a4d14}.mobile-account-panel,.mobile-sync-panel{min-width:240px}.mobile-account-panel .secondary-button,.mobile-sync-panel .secondary-button{width:100%}.mobile-role-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.status-banner{margin-top:.75rem;padding:.7rem .85rem;border-radius:12px;border:1px solid var(--border);font-size:.92rem}.status-banner.success{background:#2cb9611f}.status-banner.warning{background:#ffaa402b}.status-banner.info{background:#4968cc24}.app-main{margin-top:1rem}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:1rem}.auth-card{width:min(520px,100%)}.auth-intro{gap:.35rem}@media (max-width: 759px){body{-webkit-text-size-adjust:100%}.app-shell{padding:.7rem}.desktop-header{display:none}.mobile-topbar{display:flex;position:sticky;top:.5rem;z-index:24;align-items:center;justify-content:space-between;gap:.65rem;margin-bottom:.55rem;padding:.35rem 0;background:color-mix(in srgb,var(--bg) 78%,transparent 22%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .22s ease,opacity .18s ease}.mobile-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:.45rem;margin-bottom:.75rem}.mobile-nav a{min-width:0;min-height:52px;display:inline-flex;align-items:center;justify-content:center;text-align:center;white-space:normal;line-height:1.15;padding:.5rem .7rem;font-size:.92rem;border:var(--control-border);border-bottom:var(--control-border-bottom);border-radius:var(--control-radius);background:var(--control-bg);box-shadow:var(--control-shadow);color:var(--subtle)}.mobile-nav a.active{color:var(--active-control-text);background:var(--active-control-bg);border:var(--active-control-border);border-bottom:var(--active-control-border-bottom)}.app-header{position:sticky;top:.5rem;z-index:20;padding:.65rem .75rem;border-radius:16px}.header-top,.header-meta,.section-title-row{flex-direction:column;align-items:stretch}.brand-link{min-width:0}.brand-link strong{font-size:.95rem;line-height:1.2}.mobile-header-actions{margin-left:auto}.mobile-branch-badge{width:46px;height:46px}.mobile-branch-badge-text{font-size:1rem}.mobile-branch-badge-text-long{font-size:.88rem}.main-nav{display:none}.theme-controls{width:100%;justify-content:stretch}.theme-select-group,.theme-select-group select,.theme-controls>button{width:100%}.app-main{margin-top:.75rem;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 5rem)}.status-banner{display:none}.card{padding:.85rem;border-radius:16px}input,select,textarea{font-size:16px}input,select,.primary-button,.secondary-button,.confirm-button,.danger-button,.chip,.mode-button,.linkish{min-height:46px}textarea{min-height:108px}.section-title-row>.inline-controls,.section-title-row .equal-controls{width:100%}.mobile-action-bar{position:sticky;bottom:calc(env(safe-area-inset-bottom,0px) + .45rem);z-index:12;padding:.7rem;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--surface) 92%,white 8%);box-shadow:0 10px 24px #111f4d24;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.mobile-action-bar>*{flex:1 1 100%;width:100%}.mobile-action-card{gap:.55rem}.modal-backdrop{padding:.5rem}.start-assistant-modal,.image-lightbox-card{width:100%;max-height:calc(100dvh - 1rem)}.start-assistant-footer{position:sticky;bottom:0;padding-top:.7rem;padding-bottom:calc(env(safe-area-inset-bottom,0px) + .2rem);background:inherit}.signature-canvas{height:260px}.measurement-stepper{grid-template-columns:56px minmax(0,1fr) 56px}.measure-step-btn{min-height:48px;font-size:1.55rem}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.page-grid{display:grid;gap:1rem}.stack{display:grid;gap:.75rem}.card{border:var(--panel-border);border-radius:var(--card-radius);padding:1rem;background:var(--panel-bg);box-shadow:var(--panel-shadow);animation:appear .45s ease-out}.card h1,.card h2{margin:0}.subtle-text{color:var(--subtle)}.field-group{display:grid;gap:.5rem}.field-grid{display:grid;gap:.75rem}label{display:grid;gap:.35rem;font-size:.88rem;color:var(--subtle);font-weight:500}input,select,textarea,button{font:inherit}input,select,textarea{width:100%;border:var(--input-border);border-bottom:var(--input-border-bottom);border-radius:var(--input-radius);padding:var(--input-padding);color:var(--text);background:var(--input-bg);box-shadow:var(--input-shadow)}.field-invalid{border-color:#d22c45!important;box-shadow:0 0 0 2px #d22c4526}textarea{resize:vertical}.primary-button,.secondary-button,.chip,.linkish,.confirm-button,.mode-button{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--control-radius);border:var(--control-border);border-bottom:var(--control-border-bottom);padding:.55rem .9rem;cursor:pointer;box-shadow:var(--control-shadow);transition:transform .12s ease,filter .2s ease}.primary-button{background:var(--primary-button-bg);color:var(--primary-button-text);border:var(--primary-button-border);border-bottom:var(--primary-button-border-bottom)}.confirm-button{background:var(--confirm-button-bg);color:var(--confirm-button-text);border:var(--confirm-button-border);border-bottom:var(--confirm-button-border-bottom)}.secondary-button,.chip,.linkish,.mode-button{background:var(--control-bg);color:var(--text)}.mode-button.active,.chip.active{background:var(--active-control-bg);color:var(--active-control-text);border:var(--active-control-border);border-bottom:var(--active-control-border-bottom)}.primary-button:hover,.secondary-button:hover,.chip:hover,.linkish:hover,.confirm-button:hover,.mode-button:hover{transform:translateY(-1px);filter:brightness(1.05)}button:disabled{cursor:not-allowed;opacity:.6}.quick-actions,.chip-grid,.inline-controls{display:flex;flex-wrap:wrap;gap:.6rem}.equal-controls>*{flex:1 1 220px}.mode-button{width:100%;text-align:center}.branch-grid{display:grid;gap:.75rem}.branch-card{text-align:left;color:var(--text);border-radius:var(--theme-block-radius);border:var(--theme-block-border);border-bottom:var(--theme-block-border-bottom);padding:1rem;background:var(--theme-block-bg);box-shadow:var(--theme-block-shadow);cursor:pointer}.branch-card h2,.branch-card p{color:inherit}.branch-card.enabled{border-color:#13744259}.branch-card.disabled{opacity:.76}.protocol-list,.simple-list{margin:0;padding-left:1.2rem;display:grid;gap:.45rem}.protocol-list{list-style:none;padding-left:0}.protocol-list li{list-style:none}.registry-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.registry-summary-card{display:grid;gap:.2rem;padding:.85rem .95rem;border:1px solid var(--border);border-radius:14px;background:var(--surface-strong)}.registry-summary-card span{color:var(--subtle);font-size:.82rem}.registry-summary-card strong{font-size:1.6rem;line-height:1}.registry-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.8rem}.registry-filter-grid .full-width{grid-column:1 / -1}.registry-list{display:grid;gap:.9rem}.registry-bulk-bar{display:flex;justify-content:space-between;align-items:center;gap:.9rem;padding:.9rem 1rem;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--surface-strong) 72%,var(--primary-soft) 28%)}.registry-bulk-actions{justify-content:flex-end}.registry-bulk-feedback{margin:0;padding:.85rem .95rem;border:1px solid var(--border);border-radius:12px;background:var(--surface-strong);color:var(--text)}.registry-card{display:grid;gap:.9rem;padding:1rem;border:1px solid var(--border);border-radius:16px;background:var(--surface-strong)}.registry-card-selected{border-color:#2e5cb48c;box-shadow:0 0 0 1px #2e5cb42e}.registry-select-row{width:fit-content}.registry-card-main{display:grid;gap:.9rem}.registry-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem}.registry-badge-row{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:.45rem}.registry-status{display:inline-flex;align-items:center;justify-content:center;min-height:2rem;padding:.25rem .75rem;border-radius:999px;border:1px solid var(--border);font-size:.82rem;font-weight:700;white-space:nowrap}.registry-status-draft{background:#a3b2ce2e;color:#35507d}.registry-status-ready_for_signature{background:#ebbc3d29;color:#8b6400}.registry-status-signed{background:#1e8a4d24;color:#14623a}.registry-status-archived{background:#5c667824;color:#4f5d74}.registry-status-revision{background:#215bab1f;color:#1d4f96;border:1px solid rgba(33,91,171,.18)}.registry-status-firmao-pending{background:#ebbc3d29;color:#8b6400}.registry-status-firmao-ok{background:#1e8a4d24;color:#14623a}.registry-status-firmao-error{background:#eb35601f;color:#a52647}.registry-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.7rem}.registry-actions{justify-content:flex-end}@media (max-width: 700px){.registry-bulk-bar{flex-direction:column;align-items:stretch}.registry-bulk-actions{justify-content:stretch}.registry-bulk-actions>*{flex:1 1 140px}.registry-card-head{flex-direction:column;align-items:stretch}.registry-badge-row{justify-content:flex-start}.registry-actions{justify-content:stretch}.registry-actions>*{flex:1 1 140px}}.device-list-compact{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}.device-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.65rem .75rem;border:1px solid var(--border);border-radius:12px;background:var(--surface-strong)}.device-row-main{min-width:0;display:grid;gap:.2rem}.device-row-main strong,.device-row p,.device-row small,.device-row-main p,.device-row-main small{margin:0}.device-row-main p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-row-details{display:grid;gap:.16rem}.device-row-toggle{min-width:86px}.device-row-actions{display:flex;align-items:center;gap:.75rem;margin-left:.35rem}.device-row-type{display:flex;align-items:center;align-self:stretch}.device-type-badge{display:inline-flex;align-items:center;justify-content:var(--badge-justify);min-width:152px;min-height:40px;text-align:center;font-size:.95rem;font-weight:600;text-transform:none;letter-spacing:normal;padding:.55rem .9rem;border-radius:var(--badge-radius);border:var(--badge-border);border-bottom:var(--badge-border-bottom);background:var(--badge-bg);color:var(--text)}.device-row.ok{border-left:4px solid #1e8a4d}.device-row.danger{border-left:4px solid #b5203a}.device-row.needs-attention{border:2px solid rgba(181,32,58,.55)}.button-invalid{background:#b5203a1a;border-color:#b5203a80}.compact-main{gap:.12rem}.compact-main small{line-height:1.2}.compact-actions{margin-left:0;gap:.55rem;flex-wrap:nowrap}.compact-badge{min-width:0;min-height:36px;padding:.4rem .7rem;font-size:.86rem;justify-content:center;text-align:center;line-height:1.15;white-space:normal}.compact-device-link{min-height:36px;padding:.45rem .8rem;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:1rem;background:#080e1c94;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.danger-button{border-radius:var(--control-radius);border:var(--danger-button-border);border-bottom:var(--danger-button-border-bottom);padding:.55rem .9rem;cursor:pointer;box-shadow:var(--control-shadow);transition:transform .12s ease,filter .2s ease;background:var(--danger-button-bg);color:var(--danger-button-text)}.danger-button:hover{transform:translateY(-1px);filter:brightness(1.05)}.button-with-icon{display:inline-flex;align-items:center;gap:.45rem}.button-with-icon svg{width:1rem;height:1rem;flex:0 0 auto}.device-card-header-controls{display:inline-flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.6rem}.device-card-type-pill{display:inline-flex;align-items:center;justify-content:center;min-height:2.4rem;padding:.45rem .85rem;border-radius:999px;border:1px solid rgba(14,31,77,.18);background:#0e1f4d0f;color:var(--text);font-size:.92rem;font-weight:700;text-align:center}.device-card-quick-actions{display:inline-flex;align-items:center;gap:.45rem}.icon-action-button{width:2.6rem;height:2.6rem;padding:0;border-radius:12px;flex:0 0 auto}.icon-action-button svg{width:1.18rem;height:1.18rem}.start-assistant-footer{display:flex;justify-content:flex-end;padding-top:.25rem;border-top:1px solid var(--border)}@media (max-width: 759px){.device-row{grid-template-columns:1fr;gap:.55rem;padding:.6rem .7rem}.device-row-main p{white-space:normal}.device-row-toggle{width:100%}.device-row-details{gap:.18rem}.device-row-actions{margin-left:0;width:100%;display:grid;grid-template-columns:1fr;gap:.65rem}.device-row-type,.device-type-badge,.device-row-actions .primary-button{width:100%}.device-row-type{justify-content:stretch}.compact-actions{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:.55rem}.compact-badge{width:100%}.compact-device-link{min-width:142px;width:auto}.device-card-header-controls{width:100%;justify-content:space-between;align-items:stretch;gap:.7rem}.device-card-type-pill{flex:1 1 auto;min-width:0;min-height:2.7rem}.device-card-quick-actions{gap:.5rem}.icon-action-button{width:2.8rem;height:2.8rem}}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.6rem}.stats-tile{position:relative;border-radius:10px;min-height:132px;padding:.8rem;border:1px solid var(--border);background:var(--surface-strong);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}.stats-icon{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:4.1rem;font-weight:900;opacity:.24;line-height:1;pointer-events:none}.stats-tile.stats-ok{background:#2cb96124;border-color:#148c4661}.stats-tile.stats-ok .stats-icon{color:#136539}.stats-tile.stats-warn{background:#ffba332e;border-color:#c488176b}.stats-tile.stats-warn .stats-icon{color:#8f5608}.stats-tile.stats-danger{background:#eb356029;border-color:#b5203a7a}.stats-tile.stats-danger .stats-icon{color:#8a1328}.stats-grid strong,.stats-grid p{position:relative;z-index:1}.stats-grid strong{font-size:1.55rem}.stats-grid p{margin:.2rem 0 0;color:var(--subtle)}.section-title-row{display:flex;justify-content:space-between;align-items:center;gap:.7rem}.status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:1.85rem;border-radius:999px;padding:.3rem .82rem;font-size:.72rem;border:1px solid var(--border);font-weight:700}.status-draft{background:#ffaa402b}.status-ready_for_signature{background:#2d5fdd2e}.status-signed{background:#2cb9612e}.status-pill-button,.pill-action-button{min-width:7rem}.status-pill-button{cursor:pointer;color:var(--text);transition:transform .12s ease,filter .2s ease}.status-pill-button:hover,.pill-action-button:hover{transform:translateY(-1px);filter:brightness(1.04)}.pill-action-button{min-height:1.85rem;border-radius:999px;padding:.3rem .82rem;background:#0e1f4d14;border-color:#0e1f4d2e}.firmao-upload-note{margin:0;padding:.5rem .7rem;border-radius:12px;font-size:.92rem;border:1px solid transparent}.firmao-upload-note-pending{background:#ebbc3d1f;border-color:#ebbc3d47;color:#8b6400}.firmao-upload-note-ok{background:#1e8a4d1a;border-color:#1e8a4d3d;color:#14623a}.firmao-upload-note-error{background:#eb35601a;border-color:#eb35603d;color:#a52647}.registry-status,.issue-chip{min-height:1.85rem;display:inline-flex;align-items:center;justify-content:center}.error-text,.info-text,.success-text{margin:0;padding:.55rem .7rem;border-radius:10px}.error-text,.error-box{color:var(--danger);background:#eb35601f;border:1px solid rgba(235,53,96,.3)}.info-text{color:var(--text);background:#4772f31f}.success-text{color:var(--accent);background:#2cb9611f}.error-box{border-radius:12px;padding:.6rem .8rem}.card-invalid{border-color:#b5203a8c;box-shadow:0 0 0 2px #b5203a1f}.error-box ul{margin:.4rem 0 0;padding-left:1rem}.full-width{grid-column:1 / -1}.align-end{align-items:end}.checklist-item{border:var(--theme-block-border);border-bottom:var(--theme-block-border-bottom);border-radius:var(--theme-block-radius);padding:.7rem;display:grid;gap:.6rem;background:var(--theme-block-bg);box-shadow:var(--theme-block-shadow)}.tri-state{display:flex}.tri-cycle{width:100%;display:flex;align-items:center;gap:.6rem;border:var(--utility-border);border-bottom:var(--utility-border-bottom);border-radius:var(--utility-radius);padding:.5rem .65rem;background:var(--utility-bg);box-shadow:var(--utility-shadow);color:var(--text)}.tri-icon{width:1.35rem;height:1.35rem;border-radius:var(--tri-icon-radius);display:inline-grid;place-items:center;border:1px solid currentColor;font-weight:700}.tri-text{flex:1;text-align:left}.tri-hint{font-size:.78rem;opacity:.8}.tri-cycle.tri-empty{color:#5f6c88}.tri-cycle.tri-ok{color:#1e8a4d}.tri-cycle.tri-not_ok{color:#b5203a}.checkbox-row{display:flex;align-items:center;gap:.55rem}.checkbox-row input{width:18px;height:18px;accent-color:var(--primary);cursor:pointer}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem}.photo-thumb{margin:0;border:var(--theme-block-border);border-bottom:var(--theme-block-border-bottom);border-radius:var(--theme-block-radius);overflow:hidden;background:var(--theme-block-bg);box-shadow:var(--theme-block-shadow)}.photo-thumb-trigger,.issue-photo-trigger{width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:inherit;cursor:zoom-in}.photo-thumb-trigger:disabled,.issue-photo-trigger:disabled{cursor:default}.photo-thumb img{width:100%;height:90px;object-fit:cover;display:block}.photo-thumb figcaption{padding:.35rem;font-size:.78rem}.signature-wrapper{display:grid;gap:.65rem}.signature-canvas{width:100%;height:220px;border-radius:12px;border:1px dashed var(--border);background:#fff;touch-action:none;user-select:none;-webkit-user-select:none}.admin-section{border:var(--theme-block-border);border-bottom:var(--theme-block-border-bottom);border-radius:var(--theme-block-radius);padding:.8rem;display:grid;gap:.7rem;background:var(--theme-block-bg);box-shadow:var(--theme-block-shadow)}.admin-item{border:var(--theme-block-border);border-bottom:var(--theme-block-border-bottom);border-radius:var(--theme-block-radius);padding:.75rem;background:var(--theme-block-bg);box-shadow:var(--theme-block-shadow)}.admin-branch-tabs{display:inline-flex;gap:.5rem;flex-wrap:wrap}.admin-branch-tab{min-width:6.25rem;border:var(--control-border);border-bottom:var(--control-border-bottom);border-radius:var(--control-radius);background:var(--control-bg);color:var(--text);padding:.7rem 1rem;font-weight:700;letter-spacing:.04em;box-shadow:var(--control-shadow)}.admin-branch-tab.active{background:var(--active-control-bg);color:var(--active-control-text);border:var(--active-control-border);border-bottom:var(--active-control-border-bottom)}.admin-dictionary-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.admin-dictionary-grid>.admin-item{align-self:start}.admin-dictionary-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem;align-items:end}.admin-dictionary-grid .admin-item{gap:.55rem}.admin-dictionary-grid .admin-item>strong{margin-bottom:.15rem}.admin-dictionary-row>label:first-child{min-width:0}.admin-dictionary-row .checkbox-row{white-space:nowrap;align-self:end;padding-bottom:.1rem}@media (max-width: 860px){.admin-dictionary-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width: 560px){.admin-dictionary-row{grid-template-columns:minmax(0,1fr);align-items:stretch}.admin-dictionary-row .checkbox-row{align-self:start;padding-bottom:0}}.procedure-row{border:var(--theme-block-border);border-bottom:var(--theme-block-border-bottom);border-radius:var(--theme-block-radius);padding:.7rem;background:var(--theme-block-bg);box-shadow:var(--theme-block-shadow)}.procedure-text{white-space:pre-wrap;margin:0}.logo-preview-box{border:var(--theme-block-border);border-bottom:var(--theme-block-border-bottom);border-radius:var(--theme-block-radius);padding:.75rem;display:grid;gap:.5rem;background:var(--theme-block-bg);box-shadow:var(--theme-block-shadow)}.company-logo-preview{max-height:72px;max-width:220px;object-fit:contain}.company-cover-preview{width:100%;max-height:220px;object-fit:cover;border-radius:12px;border:1px solid rgba(14,35,72,.12)}.no-print{display:grid}.client-protocol-sheet{background:#f2f2f4;border:1px solid rgba(0,0,0,.1);border-radius:14px;padding:1.1rem;display:grid;gap:1rem}.client-sheet-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;border-bottom:1px solid rgba(0,0,0,.2);padding-bottom:.75rem}.sheet-kicker{margin:0;text-transform:uppercase;font-weight:700;letter-spacing:.03em}.client-sheet-header h2{margin:.25rem 0 0;text-transform:uppercase}.sheet-logo-wrap{min-width:120px;min-height:52px;display:grid;place-items:center}.sheet-logo{max-width:180px;max-height:72px;object-fit:contain}.client-section{border:1px solid rgba(0,0,0,.16);background:#fbfbfc;border-radius:10px;padding:.75rem}.client-section h3{margin-top:0;margin-bottom:.65rem;text-transform:uppercase;font-size:.95rem}.client-company-box p{margin:0}.client-inline-grid{display:grid;gap:.45rem}.client-field-grid{display:grid;gap:.75rem}.line-field{display:grid;gap:.25rem;border-bottom:1px solid rgba(0,0,0,.35);padding-bottom:.35rem;min-height:52px}.line-field span{font-size:.78rem;color:#4f5564;text-transform:uppercase;font-weight:600}.line-field strong{font-size:.95rem}.client-stats-grid{display:grid;gap:.6rem}.client-stat{border-radius:10px;padding:.7rem;border:1px solid rgba(0,0,0,.15);display:grid;gap:.2rem}.client-stat span{font-weight:900;font-size:1.1rem}.client-stat strong{font-size:1.35rem}.client-stat p{margin:0;font-size:.85rem}.client-stat.ok{background:#42b06b2e}.client-stat.warn{background:#ffb64433}.client-stat.danger{background:#ec4d7433}.client-device-card{border:1px solid rgba(0,0,0,.16);border-radius:10px;padding:.7rem;background:#fff;display:grid;gap:.6rem}.client-device-card header p,.client-device-card header small,.client-device-card p{margin:0}.client-footer-notes{border-top:1px solid rgba(0,0,0,.2);padding-top:.75rem;display:grid;gap:.45rem;font-size:.86rem;color:#444b5a}.client-footer-notes p{margin:0}@media (min-width: 760px){.client-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.client-stats-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}}@media print{body{background:#fff}.app-header,.status-banner,.no-print{display:none!important}.app-shell{max-width:100%;padding:0}.app-main,.page-grid,.client-protocol-sheet{margin:0;box-shadow:none;border:none;border-radius:0;background:#fff}}@media (min-width: 760px){.app-shell{padding:1.35rem}.field-grid,.branch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1024px){.field-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}}.protocol-preview-document{display:grid;gap:1rem;max-width:860px;margin:0 auto}.protocol-preview-document .compact-summary-row{grid-template-columns:repeat(3,minmax(0,1fr))}.protocol-preview-document .protocol-two-col,.protocol-preview-document .line-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.protocol-preview-document .device-line-header,.protocol-preview-document .device-line-row{grid-template-columns:minmax(120px,1.15fr) minmax(100px,.9fr) minmax(90px,.9fr) minmax(90px,.9fr) minmax(150px,1.2fr) minmax(65px,.5fr)}.protocol-preview-export-host{position:fixed;left:-200vw;top:0;width:210mm;opacity:0;pointer-events:none;z-index:-1}.protocol-preview-export-host .protocol-preview-document{max-width:100%;gap:0}.protocol-preview-export-host .compact-summary-row{grid-template-columns:repeat(3,minmax(0,1fr))}.protocol-preview-export-host .protocol-two-col,.protocol-preview-export-host .line-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.protocol-preview-export-host .device-line-header,.protocol-preview-export-host .device-line-row{grid-template-columns:minmax(120px,1.15fr) minmax(100px,.9fr) minmax(90px,.9fr) minmax(90px,.9fr) minmax(150px,1.2fr) minmax(65px,.5fr)}.protocol-preview-export-host .protocol-page{width:210mm;border:none;border-radius:0;background:linear-gradient(180deg,#fff,#f7f9fc);margin:0;height:297mm;min-height:297mm;box-shadow:none;padding:0;box-sizing:border-box}.protocol-preview-export-host .protocol-page-content{padding:1rem 1rem .95rem}.protocol-preview-export-host .protocol-page-footer{margin-top:0;padding:.12rem .85rem .18rem;min-height:0}.protocol-preview-export-host .protocol-device-page{break-inside:auto;page-break-inside:auto;overflow:hidden}.protocol-page{background:linear-gradient(180deg,#f7f9fc,#edf2f8);color:#0e2348;border:1px solid rgba(14,35,72,.16);border-radius:8px;height:277mm;min-height:277mm;padding:.75rem .75rem .08rem;display:flex;flex-direction:column;gap:.25rem;box-sizing:border-box}.protocol-cover-page{position:relative;overflow:hidden;background:radial-gradient(circle at 88% 88%,rgba(88,198,207,.14) 0,rgba(88,198,207,.14) 14%,transparent 14.4%),linear-gradient(180deg,#fff,#f8fbfd);min-height:277mm}.protocol-cover-page.with-custom-background{background:linear-gradient(180deg,#fff,#f8fbfd)}.protocol-cover-background{position:absolute;top:0;right:0;bottom:0;left:0}.protocol-cover-background:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#ffffffd6,#ffffffb8 42%,#ffffff2e),linear-gradient(180deg,#ffffff29,#ffffff70)}.protocol-cover-background-image{width:100%;height:100%;object-fit:cover;object-position:center}.protocol-cover-watermark{position:absolute;top:3.8rem;right:1rem;bottom:4.8rem;left:1rem;display:grid;place-items:center;pointer-events:none}.protocol-cover-surface{position:relative;z-index:1;display:flex;flex-direction:column;flex:1 1 auto;min-height:0;box-sizing:border-box}.protocol-cover-watermark-logo{width:86%;max-height:78%;object-fit:contain;opacity:.08}.protocol-cover-watermark-fallback{font-size:19rem;font-weight:900;line-height:1;color:#58c6cf1f}.protocol-cover-top{position:relative;z-index:1;display:grid;gap:.7rem}.protocol-cover-body{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;padding:1.35rem 2cm 2cm;box-sizing:border-box}.protocol-cover-brand{min-height:56px;display:flex;align-items:center}.protocol-cover-brand-logo{max-width:220px;max-height:54px;object-fit:contain}.protocol-cover-rule{height:6px;border-radius:999px;background:linear-gradient(90deg,#58c6cff2,#58c6cfb3)}.protocol-cover-hero{position:relative;z-index:1;display:grid;gap:2rem;padding:0;max-width:64%;min-height:0;align-content:start}.protocol-cover-title-block{display:grid;gap:.6rem}.protocol-cover-kicker{margin:0;text-transform:uppercase;letter-spacing:.08em;font-weight:800;font-size:.84rem;color:#4f628b}.protocol-cover-hero h1{margin:0;font-size:3.95rem;line-height:.94;font-weight:900;max-width:10ch;text-wrap:balance}.protocol-cover-reference{margin:0;font-size:1.28rem;font-weight:800;color:#2d6d7e;text-transform:none}.protocol-cover-people{display:grid;gap:2rem;padding-top:1.25rem}.protocol-cover-person-block{display:grid;gap:.55rem;max-width:24rem}.protocol-cover-person-block span{font-size:1rem;letter-spacing:.02em;font-weight:800;color:#30557e}.protocol-cover-person-block strong{font-size:2.1rem;line-height:1.12;text-transform:none}.protocol-cover-footer{position:relative;z-index:1;margin-top:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;align-items:end;font-size:.9rem;color:#35496d}.protocol-cover-footer>div{display:grid;gap:.12rem}.protocol-cover-footer p{margin:0}.protocol-cover-page.with-custom-background .protocol-cover-top,.protocol-cover-page.with-custom-background .protocol-cover-hero,.protocol-cover-page.with-custom-background .protocol-cover-footer{text-shadow:0 1px 2px rgba(255,255,255,.28)}.protocol-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.9rem;border-bottom:1px solid rgba(14,35,72,.16);padding-bottom:.75rem}.protocol-page-header h2,.protocol-page-header p{margin:.15rem 0 0}.protocol-page-header-copy{display:grid;gap:.16rem}.protocol-page-context{display:inline-flex;align-items:center;gap:.55rem;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#466089;padding-bottom:.1rem}.protocol-page-context-logo{max-width:88px;max-height:22px;object-fit:contain}.page-kicker{margin:0;text-transform:uppercase;font-weight:700;letter-spacing:.03em;font-size:.8rem;color:#5f6f8f}.page-brand{min-width:118px;min-height:58px;display:grid;place-items:center;padding:.4rem .55rem;border:1px solid rgba(14,35,72,.12);border-radius:14px;background:#ffffffdb}.page-brand-logo{max-width:120px;max-height:42px;object-fit:contain}.protocol-two-col{display:grid;gap:.7rem}.compact-pairs{align-items:start}.protocol-box{border:1px solid rgba(14,35,72,.15);border-left:4px solid rgba(33,91,171,.62);border-radius:4px;background:linear-gradient(180deg,#fff,#fbfcff);padding:.85rem .95rem;display:grid;gap:.55rem;box-shadow:inset 0 1px #ffffffd9;break-inside:avoid;page-break-inside:avoid}.protocol-device-list-page .protocol-page-content{display:flex;flex-direction:column;gap:.9rem;flex:1 1 auto;min-height:0}.protocol-summary-page .protocol-page-content{gap:.7rem;padding:.85rem .95rem 1rem}.protocol-summary-page .protocol-page-header{padding-bottom:.55rem}.protocol-summary-page .protocol-box{padding:.72rem .85rem;gap:.45rem}.protocol-summary-page .line-grid{gap:.38rem}.protocol-summary-page .line-field.compact{min-height:36px;padding-bottom:.2rem}.protocol-summary-page .issue-chip-row{gap:.35rem}.protocol-box h3,.protocol-box p{margin:0}.box-title-row{display:flex;justify-content:space-between;gap:.6rem;align-items:start}.box-title-row-tight{margin-bottom:.2rem}.line-grid{display:grid;gap:.5rem}.line-grid.two-col{grid-template-columns:1fr}.line-field.compact{display:grid;gap:.2rem;border-bottom:1px solid rgba(14,35,72,.25);padding-bottom:.28rem;min-height:42px}.line-field.compact span{text-transform:uppercase;font-size:.72rem;font-weight:700;color:#394a69}.line-field.compact strong{font-size:.9rem;line-height:1.2}.full-span{grid-column:1 / -1}.signature-block .line-field.compact strong{min-height:22px}.compact-summary-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;width:100%;justify-content:stretch;align-content:start;align-items:stretch}.device-list-box{display:grid;grid-template-rows:auto auto 1fr;gap:0;flex:1 1 auto;min-height:0}.device-line-header,.device-line-row{display:grid;grid-template-columns:minmax(120px,1.15fr) minmax(100px,.9fr) minmax(90px,.9fr) minmax(90px,.9fr) minmax(150px,1.2fr) minmax(65px,.5fr);gap:.5rem;align-items:center}.device-line-header{font-size:.72rem;text-transform:uppercase;font-weight:700;color:#394a69;padding:.32rem 0;border-bottom:1px solid rgba(14,35,72,.2)}.device-line-list{list-style:none;margin:0;padding:0;display:grid;grid-template-rows:repeat(var(--device-row-count, 10),minmax(0,1fr));flex:1 1 auto;min-height:0}.device-line-row{font-size:.83rem;padding:.3rem 0;border-bottom:1px solid rgba(14,35,72,.11);min-height:0;align-content:center}.device-line-row>*{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.device-line-row.empty{display:block;padding:.65rem 0}.device-line-row.placeholder{color:#394a6938}.device-line-row.placeholder .device-jump-link{color:transparent}.device-jump-link{color:#0c2d71;font-weight:700;text-decoration:underline}.protocol-device-page{gap:.65rem}.table-box{gap:.35rem}.rows-table{border:1px solid rgba(14,35,72,.14);border-radius:4px;overflow:hidden}.rows-head,.rows-row{display:grid;grid-template-columns:minmax(110px,1.2fr) minmax(70px,.7fr) minmax(140px,1.4fr);gap:.5rem;font-size:.78rem;padding:.38rem .45rem}.rows-head{background:#edf2ff;font-weight:700;text-transform:uppercase;font-size:.7rem}.rows-row{border-top:1px solid rgba(14,35,72,.1)}.two-col-head,.two-col-row{grid-template-columns:minmax(150px,1.6fr) minmax(90px,.8fr)}.compact-list{gap:.25rem}.protocol-page-footer{margin-top:.18rem;padding-top:.02rem;border-top:1px solid rgba(14,35,72,.18);text-align:right;font-size:.78rem;line-height:1;color:#43537a;flex-shrink:0;min-height:12px}.issue-photo-static{display:grid;gap:0}@media (min-width: 760px){.protocol-two-col,.line-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{@page{size:A4;margin:0}.app-header,.status-banner,.no-print{display:none!important}.app-shell{max-width:100%;padding:0}.app-main{margin-top:0}.protocol-preview-document{max-width:100%;gap:0}.protocol-preview-document .compact-summary-row{grid-template-columns:repeat(3,minmax(0,1fr))!important}.protocol-preview-document .protocol-two-col,.protocol-preview-document .line-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))!important}.protocol-preview-document .device-line-header,.protocol-preview-document .device-line-row{grid-template-columns:minmax(120px,1.15fr) minmax(100px,.9fr) minmax(90px,.9fr) minmax(90px,.9fr) minmax(150px,1.2fr) minmax(65px,.5fr)!important}.protocol-page{width:210mm;border:none;border-radius:0;background:linear-gradient(180deg,#fff,#f7f9fc);margin:0;height:297mm;min-height:297mm;box-shadow:none;break-after:page;page-break-after:always;padding:0;box-sizing:border-box}.protocol-page:last-child{break-after:auto;page-break-after:auto}.protocol-device-page{break-inside:avoid;page-break-inside:avoid;overflow:hidden}}@media (max-width: 759px){.protocol-preview-document .compact-summary-row{grid-template-columns:repeat(3,minmax(0,1fr))!important}.protocol-preview-document .protocol-two-col,.protocol-preview-document .line-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))!important}.protocol-preview-document .device-line-header,.protocol-preview-document .device-line-row{grid-template-columns:minmax(120px,1.15fr) minmax(100px,.9fr) minmax(90px,.9fr) minmax(90px,.9fr) minmax(150px,1.2fr) minmax(65px,.5fr)!important}}.measurement-stepper{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:.5rem;align-items:center}.measure-step-btn{min-height:42px;font-size:1.4rem;font-weight:700;padding:0}.procedure-list{margin:0;padding-left:1.1rem;display:grid;gap:.25rem}.protocol-page-content{display:grid;gap:.9rem;flex:1 1 auto;align-content:start;grid-auto-rows:min-content;border:1px solid rgba(14,35,72,.16);border-radius:4px;background:#fffffff5;padding:1rem 1rem 1.55rem;min-height:0;box-sizing:border-box}.disclaimer-stack{display:grid;gap:.75rem}.disclaimer-block{border:1px solid rgba(14,35,72,.14);border-left:4px solid rgba(207,44,44,.78);border-radius:4px;background:#fcfdff;padding:.7rem .8rem;display:grid;gap:.4rem}.disclaimer-heading{margin:0;font-size:.82rem;font-weight:700;color:#11264f}.disclaimer-line{margin:0;font-size:.78rem;line-height:1.35;padding-left:.8rem;position:relative}.disclaimer-line:before{content:"•";position:absolute;left:0;top:0}.disclaimer-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;border:1px solid rgba(14,35,72,.14);border-radius:4px;background:#f3f6ff;padding:.35rem .45rem;font-size:.78rem;line-height:1.3}.disclaimer-two-col span:first-child{font-weight:700}@media (max-width: 640px){.disclaimer-two-col{grid-template-columns:1fr}}.compact-summary-row{grid-template-columns:repeat(3,minmax(0,1fr));justify-content:stretch;align-content:start;align-items:start}.summary-card{border-radius:4px;border:1px solid rgba(14,35,72,.2);min-height:38px;height:38px;width:100%;padding:.24rem .38rem;display:grid;gap:.08rem;align-content:end;position:relative;overflow:hidden}.summary-icon{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:1.85rem;font-weight:900;opacity:.18;pointer-events:none}.summary-card strong,.summary-card p{position:relative;z-index:1;margin:0}.summary-card strong{font-size:.92rem;line-height:1}.summary-card p{font-size:.5rem;line-height:1.12}.summary-ok{background:#42b06b29}.summary-low{background:#ffc44938}.summary-high{background:#ec4d742e}.issue-chip-row{display:flex;flex-wrap:wrap;gap:.45rem}.issue-chip{border-radius:999px;font-size:.76rem;font-weight:700;padding:.3rem .62rem;border:1px solid transparent}.issue-chip.chip-ok{background:#42b06b2e;border-color:#157e3e52}.issue-chip.chip-low{background:#ffc44938;border-color:#ac781652}.issue-chip.chip-high{background:#ec4d7433;border-color:#aa1c4059}.priority-cell{font-weight:700}.priority-cell.low{color:#7a4f03}.priority-cell.high{color:#8a1328}.issue-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.5rem}.issue-photo-card{margin:0;border:1px solid rgba(14,35,72,.16);border-radius:8px;overflow:hidden;background:#fff}.issue-photo-card img,.issue-photo-card .photo-fallback{width:100%;height:94px;object-fit:cover;display:grid;place-items:center;background:#eef2fb;color:#3f4f72;font-size:.78rem}.issue-photo-card figcaption{padding:.33rem .38rem;display:grid;gap:.14rem}.issue-photo-card figcaption strong{font-size:.72rem;line-height:1.2}.issue-photo-card figcaption span{font-size:.7rem;color:#4f5f81}.image-lightbox-backdrop{z-index:80}.image-lightbox-card{width:min(960px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);display:grid;gap:.75rem;padding:.75rem;border-radius:18px;background:var(--surface);border:1px solid var(--border);box-shadow:0 28px 60px #050f2347}.image-lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.image-lightbox-meta,.image-lightbox-actions{display:flex;align-items:center;gap:.5rem}.image-lightbox-counter{display:inline-flex;align-items:center;justify-content:center;min-height:2rem;padding:.2rem .75rem;border:1px solid var(--border);border-radius:999px;background:var(--surface-strong);color:var(--text);font-size:.84rem}.image-lightbox-close{justify-self:end;border:1px solid var(--border);border-radius:999px;padding:.45rem .9rem;background:var(--surface-strong);color:var(--text);cursor:pointer}.image-lightbox-stage{position:relative;display:grid;align-items:center}.image-lightbox-viewport{overflow:hidden;border-radius:12px;touch-action:none;-webkit-user-select:none;user-select:none;background:#00000014}.image-lightbox-image{width:100%;max-height:calc(100vh - 10rem);object-fit:contain;border-radius:12px;background:#00000014;transform-origin:center center;transition:transform .12s ease;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.image-lightbox-nav{border:1px solid var(--border);border-radius:999px;padding:.45rem .9rem;background:var(--surface-strong);color:var(--text);cursor:pointer}.image-lightbox-nav-side{position:absolute;top:50%;z-index:1;width:2.5rem;height:2.5rem;display:grid;place-items:center;padding:0;font-size:1.5rem;line-height:1;transform:translateY(-50%);background:#ffffffdb;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.image-lightbox-nav-side.left{left:.75rem}.image-lightbox-nav-side.right{right:.75rem}.image-lightbox-caption{display:grid;gap:.18rem}.image-lightbox-caption strong{font-size:.98rem}.image-lightbox-caption span{color:var(--subtle);font-size:.86rem}@media (max-width: 700px){.image-lightbox-toolbar{flex-wrap:wrap}.image-lightbox-nav-side{width:2.2rem;height:2.2rem}}@media print{.image-lightbox-backdrop{display:none!important}.protocol-page{height:277mm;min-height:277mm;break-inside:avoid-page;page-break-inside:avoid;box-sizing:border-box}.protocol-page-content{flex:1 1 auto;align-content:start;grid-auto-rows:min-content;border:1px solid rgba(14,35,72,.16);border-radius:4px;background:#fff;padding:1rem 1rem .95rem;min-height:0}.protocol-page-footer{margin-top:0;padding:.12rem .85rem .18rem;min-height:0}.rows-row,.rows-head,.device-line-row,.device-line-header{break-inside:avoid;page-break-inside:avoid}}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.compact-summary-row{grid-template-columns:repeat(3,minmax(0,1fr));justify-content:stretch}@media (min-width: 760px){.client-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1024px){.field-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media print{.protocol-preview-document,.protocol-preview-document *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important}.summary-card{border-width:1.2px}.summary-ok{background-color:#dcefdc!important;border-color:#79bb92!important;box-shadow:inset 0 0 0 1000px #dcefdc!important}.summary-low{background-color:#f5e6bd!important;border-color:#d8aa49!important;box-shadow:inset 0 0 0 1000px #f5e6bd!important}.summary-high{background-color:#f4d2da!important;border-color:#d17389!important;box-shadow:inset 0 0 0 1000px #f4d2da!important}.issue-chip.chip-ok{background-color:#dcefdc!important;border-color:#79bb92!important;box-shadow:inset 0 0 0 1000px #dcefdc!important}.issue-chip.chip-low{background-color:#f5e6bd!important;border-color:#d8aa49!important;box-shadow:inset 0 0 0 1000px #f5e6bd!important}.issue-chip.chip-high{background-color:#f4d2da!important;border-color:#d17389!important;box-shadow:inset 0 0 0 1000px #f4d2da!important}}.compact-summary-row>div{background:transparent}.compact-summary-row .summary-card{min-height:108px;padding:.5rem .55rem;gap:.1rem;align-content:end}.compact-summary-row .summary-icon{font-size:4.5rem;opacity:.28}.compact-summary-row .summary-card strong{font-size:1.9rem}.compact-summary-row .summary-card p{font-size:.8rem}.compact-summary-row .summary-ok{background:#42b06b2e!important;border-color:#148c4661!important}.compact-summary-row .summary-low{background:#ffba3333!important;border-color:#c488176b!important}.compact-summary-row .summary-high{background:#eb35602e!important;border-color:#b5203a7a!important}.checklist-status{font-weight:700}.checklist-status.status-ok{color:#1e8a4d}.checklist-status.status-notok{color:#b5203a}.checklist-status.status-empty{color:#556689}.procedure-preview-list{display:grid;gap:.45rem}.procedure-preview-item{border:1px solid rgba(14,35,72,.14);border-radius:8px;background:#f8f9fc;padding:.36rem .44rem}.procedure-preview-item strong{display:block;font-size:.8rem}.procedure-preview-item ul{margin:.22rem 0 0;padding-left:1rem;display:grid;gap:.16rem;font-size:.76rem}.procedure-preview-item p{margin:.2rem 0 0;color:#556689;font-size:.73rem}@media print{.compact-summary-row .summary-card{min-height:104px!important}.compact-summary-row .summary-icon{font-size:4.4rem!important;opacity:.32!important}.compact-summary-row .summary-ok{background-color:#dcefdc!important;border-color:#79bb92!important;box-shadow:inset 0 0 0 1000px #dcefdc!important}.compact-summary-row .summary-low{background-color:#f5e6bd!important;border-color:#d8aa49!important;box-shadow:inset 0 0 0 1000px #f5e6bd!important}.compact-summary-row .summary-high{background-color:#f4d2da!important;border-color:#d17389!important;box-shadow:inset 0 0 0 1000px #f4d2da!important}}@media (max-width: 759px){.protocol-card-head-actions{width:100%;justify-content:stretch}.protocol-card-head-actions>*{flex:1 1 auto}.protocol-collapsed-grid{grid-template-columns:1fr}}.align-self-start{align-self:start}.compact-field-block{gap:.45rem}.protocol-card-head-actions{align-items:center;justify-content:flex-end}.protocol-collapsed-grid{align-items:start}.protocol-collapsed-grid .line-field.compact{min-height:0}.status-dialog-card{width:min(520px,100%);max-height:min(80vh,720px);overflow:auto}.status-dialog-list{margin:0;padding-left:1.1rem;display:grid;gap:.35rem}.status-dialog-actions{justify-content:flex-end}.field-error-hint{color:var(--danger);font-size:.78rem}.start-assistant-modal{width:min(720px,100%);max-height:min(88vh,920px);overflow:auto}.start-choice-grid{display:grid;gap:.75rem}.start-choice-card{width:100%;text-align:left;border-radius:14px;border:1px solid var(--border);padding:1rem;background:var(--surface-strong);color:var(--text);display:grid;gap:.4rem;cursor:pointer;transition:transform .12s ease,filter .2s ease,border-color .2s ease}.start-choice-card strong{font-size:1rem}.start-choice-card span{color:var(--subtle);line-height:1.45}.start-choice-card:hover{transform:translateY(-1px);filter:brightness(1.03);border-color:#1e8a4d59}.start-choice-card:disabled{cursor:not-allowed;opacity:.6;transform:none}.start-copy-list{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}.start-copy-item{border:1px solid var(--border);border-radius:12px;background:var(--surface-strong);padding:.8rem;display:grid;gap:.75rem}.start-copy-meta{gap:.2rem}.start-copy-meta span{color:var(--subtle);font-size:.82rem}.user-firmao-link-row{display:grid;gap:.65rem;align-items:end}.user-firmao-link-field{display:grid;gap:.28rem}.user-firmao-link-field span{font-size:.76rem;color:var(--subtle)}@media (min-width: 760px){.user-firmao-link-row{grid-template-columns:minmax(0,220px) auto;justify-content:start}}@media (min-width: 760px){.start-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.start-copy-item{grid-template-columns:minmax(0,1fr) auto;align-items:center}}:root[data-visual-theme=paper] input:focus,:root[data-visual-theme=paper] select:focus,:root[data-visual-theme=paper] textarea:focus{outline:none;border-bottom-color:var(--primary);box-shadow:inset 0 -1px 0 var(--primary)}:root[data-visual-theme=paper] .field-invalid{border:none!important;border-bottom:2px solid #d22c45!important;box-shadow:none}:root[data-visual-theme=paper] .branch-card,:root[data-visual-theme=paper] .checklist-item,:root[data-visual-theme=paper] .procedure-row,:root[data-visual-theme=paper] .photo-thumb,:root[data-visual-theme=paper] .logo-preview-box,:root[data-visual-theme=paper] .admin-section,:root[data-visual-theme=paper] .admin-item{border:var(--theme-block-border);border-bottom:var(--theme-block-border-bottom);border-radius:var(--theme-block-radius);background:var(--theme-block-bg);box-shadow:var(--theme-block-shadow)}:root[data-visual-theme=paper] .tri-cycle,:root[data-visual-theme=paper] .linkish,:root[data-visual-theme=paper] .measure-step-btn{border:var(--utility-border);border-bottom:var(--utility-border-bottom);border-radius:var(--utility-radius);background:var(--utility-bg);box-shadow:var(--utility-shadow)}:root[data-visual-theme=paper] .tri-cycle,:root[data-visual-theme=paper] .linkish{padding-left:.1rem;padding-right:.1rem}:root[data-visual-theme=paper] .tri-icon{border-radius:var(--tri-icon-radius);border-width:1px}:root[data-visual-theme=paper] .measurement-stepper{gap:.35rem}:root[data-visual-theme=paper] .protocol-list,:root[data-visual-theme=paper] .simple-list,:root[data-visual-theme=office] .protocol-list,:root[data-visual-theme=office] .simple-list{list-style:none;padding-left:0}:root[data-visual-theme=paper] .protocol-list li,:root[data-visual-theme=paper] .simple-list li,:root[data-visual-theme=office] .protocol-list li,:root[data-visual-theme=office] .simple-list li{list-style:none}:root[data-visual-theme=paper] .branch-card h2,:root[data-visual-theme=paper] .branch-card p,:root[data-visual-theme=paper] .checklist-item header,:root[data-visual-theme=paper] .procedure-row strong{margin-left:0}:root[data-visual-theme=office] .branch-card,:root[data-visual-theme=office] .checklist-item,:root[data-visual-theme=office] .procedure-row,:root[data-visual-theme=office] .photo-thumb,:root[data-visual-theme=office] .logo-preview-box,:root[data-visual-theme=office] .admin-section,:root[data-visual-theme=office] .admin-item,:root[data-visual-theme=office] .tri-cycle,:root[data-visual-theme=office] .linkish,:root[data-visual-theme=office] .measure-step-btn{border-radius:0}:root[data-visual-theme=office] .tri-icon{border-radius:var(--tri-icon-radius)}:root[data-visual-theme=office] .main-nav a.active{box-shadow:inset 0 0 0 1px #ffffff1f}@media (max-width: 759px){.page-grid,.stack,.field-grid,.client-inline-grid,.client-field-grid,.registry-list{gap:.7rem}.section-title-row>.primary-button,.section-title-row>.secondary-button,.section-title-row>.danger-button{width:100%}.quick-actions,.chip-grid,.inline-controls{gap:.55rem}.inline-controls.align-end{width:100%}.inline-controls.align-end>*{width:100%}.protocol-list,.simple-list{padding-left:1rem}.branch-grid,.registry-summary-grid,.compact-summary-row,.client-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}.stats-tile{min-height:96px;padding:.55rem}.stats-icon{font-size:3rem;opacity:.2}.stats-grid strong{font-size:1.2rem}.stats-grid p{margin-top:.15rem;font-size:.75rem;line-height:1.15}.registry-summary-card,.registry-card,.registry-bulk-bar,.admin-section,.admin-item,.start-choice-card,.start-copy-item{padding:.8rem}.registry-summary-card strong{font-size:1.4rem}.registry-select-row{width:100%}.registry-select-row .checkbox-row,.checkbox-row{align-items:flex-start}.checkbox-row input{width:22px;height:22px;margin-top:.05rem;flex:0 0 auto}.line-field{min-height:46px}.line-field span{font-size:.74rem}.device-row{padding:.7rem}.device-row-main{gap:.28rem}.device-row-main p,.device-row-main small{line-height:1.35}.device-type-badge{min-height:44px;padding:.6rem .85rem;font-size:.92rem}.tri-cycle{min-height:48px;align-items:flex-start}.tri-text{line-height:1.3}.photo-thumb img{height:108px}.issue-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.issue-photo-card img,.issue-photo-card .photo-fallback{height:112px}.start-choice-card{min-height:92px;align-content:start}.start-choice-card span,.start-copy-meta span{font-size:.84rem;line-height:1.45}.start-copy-item .primary-button,.start-copy-item .secondary-button,.start-copy-item .confirm-button{width:100%}.theme-controls{gap:.5rem}.theme-controls>button{justify-content:center}.image-lightbox-toolbar,.image-lightbox-meta,.image-lightbox-actions{width:100%}.image-lightbox-toolbar,.image-lightbox-meta,.image-lightbox-actions{display:grid;gap:.5rem}.image-lightbox-nav,.image-lightbox-close{min-height:44px;width:100%;justify-content:center}.image-lightbox-caption strong{font-size:.92rem}.image-lightbox-caption span{font-size:.82rem}.auth-shell{padding:.75rem;align-items:start}.auth-card{width:100%}}@media (max-width: 560px){.branch-grid,.registry-summary-grid,.compact-summary-row,.client-stats-grid,.photo-grid,.issue-photo-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.status-banner,.registry-bulk-feedback,.error-box,.info-text,.success-text{font-size:.9rem}.registry-meta-grid{grid-template-columns:1fr}.main-nav a{min-height:50px;padding:.48rem .55rem;font-size:.88rem}.mobile-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-nav a{min-height:50px;padding:.48rem .55rem;font-size:.88rem}.mobile-action-bar{padding:.65rem;bottom:calc(env(safe-area-inset-bottom,0px) + .35rem)}.signature-canvas{height:240px}.image-lightbox-card{padding:.65rem;gap:.6rem}}
