:root{--bg:#edf1f5;--panel:#fff;--ink:#152033;--muted:#678;--line:#d5dde6;--accent:#e31e24;--accent-dark:#b8141a;--navy:#0a0a0a;--navy-2:#141414;--sidebar:#000;--sidebar-text:#f2f2f2;--sidebar-muted:#9a9a9a;--focus:#2a5f8f;--radius:8px;--shadow:0 1px 2px #1520330f, 0 8px 24px #1520330f;color:var(--ink);background:var(--bg);font-family:Segoe UI,Trebuchet MS,sans-serif;line-height:1.4}*{box-sizing:border-box}html,body,#root{max-width:100%;min-height:100%;margin:0;overflow-x:hidden}body{background:var(--bg)}button,input,select{font:inherit;max-width:100%}.app-shell{grid-template-columns:232px minmax(0,1fr);height:100vh;display:grid;overflow:hidden}.nav-sidebar{color:var(--sidebar-text);background:radial-gradient(circle at 20% 0,#e31e2438,#0000 42%),linear-gradient(#000 0%,#0d0d0d 55%,#121212 100%);border-right:1px solid #1f1f1f;flex-direction:column;padding:1rem .85rem;display:flex}.nav-brand{border-bottom:1px solid #e31e2447;justify-content:center;align-items:center;margin-bottom:.35rem;padding:.85rem .4rem 1.1rem;display:flex;position:relative}.nav-close,.nav-toggle,.nav-backdrop{display:none}.nav-brand img{object-fit:contain;width:auto;max-width:100%;height:40px;display:block}.nav-label{text-transform:uppercase;letter-spacing:.12em;color:var(--sidebar-muted);margin:1rem .5rem .4rem;font-size:.68rem}.nav-menu{flex-direction:column;flex:1;gap:.35rem;display:flex}.nav-item{color:#cfcfcf;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:.55rem;padding:.72rem .8rem;font-size:.9rem;font-weight:600;transition:background .15s,color .15s,border-color .15s;display:flex}.nav-item:hover{color:#fff;background:#ffffff0d;border-color:#ffffff0f}.nav-item.active{color:#fff;box-shadow:inset 3px 0 0 var(--accent);background:linear-gradient(90deg,#e31e2447,#e31e2414);border-color:#e31e2459}.nav-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:8px;height:8px;box-shadow:0 0 10px #e31e24b3}.nav-footer{color:var(--sidebar-muted);letter-spacing:.04em;border-top:1px solid #ffffff14;margin-top:auto;padding:.85rem .5rem .25rem;font-size:.72rem}.nav-bottom{flex-direction:column;gap:.65rem;margin-top:auto;padding:.75rem .5rem .35rem;display:flex}.nav-lang{justify-content:center;padding:0 0 .55rem;display:flex}.nav-user{border-top:1px solid #ffffff14;flex-direction:column;align-items:center;gap:.45rem;margin-top:0;padding:.75rem 0 0;display:flex}.lang-flags{justify-content:center;align-items:center;gap:.4rem;display:inline-flex}.lang-flag-btn{cursor:pointer;opacity:.55;background:0 0;border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;width:34px;height:26px;padding:0;transition:opacity .15s,border-color .15s,transform .15s;display:inline-flex}.lang-flag-btn svg{border-radius:2px;width:24px;height:16px;display:block;box-shadow:0 0 0 1px #0003}.lang-flag-btn:hover{opacity:.9;transform:translateY(-1px)}.lang-flag-btn.active{opacity:1;border-color:#e31e24d9;box-shadow:0 0 0 1px #e31e2440}.lang-flags-light .lang-flag-btn{opacity:.5}.lang-flags-light .lang-flag-btn:hover,.lang-flags-light .lang-flag-btn.active{opacity:1}.lang-flags-light .lang-flag-btn.active{border-color:#e31e24}.login-lang{border-top:1px solid var(--line);justify-content:center;margin-top:.35rem;padding-top:.85rem;display:flex}.nav-user-email{color:var(--sidebar-muted);text-overflow:ellipsis;white-space:nowrap;text-align:center;max-width:100%;margin:0;font-size:.72rem;overflow:hidden}.nav-logout{color:#e8e8e8;cursor:pointer;background:0 0;border:1px solid #ffffff24;border-radius:7px;justify-content:center;align-items:center;gap:.4rem;width:100%;padding:.45rem .6rem;font-size:.78rem;font-weight:700;display:inline-flex}.nav-logout:hover:not(:disabled){color:#fff;background:#e31e242e;border-color:#e31e248c}.nav-logout:disabled{opacity:.55;cursor:not-allowed}.auth-boot{color:#cfcfcf;background:#0a0a0a;place-items:center;min-height:100vh;display:grid}.login-page{background:radial-gradient(70% 55% at 50% -10%,#e31e2438,#0000 60%),radial-gradient(circle at 85% 90%,#e31e241a,#0000 35%),linear-gradient(165deg,#070707 0%,#121212 55%,#1c1c1c 100%);place-items:center;min-height:100vh;padding:1.75rem 1.25rem;display:grid;position:relative;overflow:hidden}.login-backdrop{pointer-events:none;background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000 20%,#0000 75%);mask-image:radial-gradient(circle,#000 20%,#0000 75%)}.login-card{z-index:1;background:#fff;border-radius:16px;width:min(100%,440px);position:relative;overflow:hidden;box-shadow:0 0 0 1px #ffffff0f,0 24px 60px #00000073}.login-card:before{content:"";background:linear-gradient(90deg,#e31e24 0%,#b8141a 100%);height:4px;display:block}.login-header{text-align:center;padding:1.75rem 1.75rem 1.15rem}.login-logo{object-fit:contain;width:auto;max-width:min(100%,280px);height:52px;margin:0 auto;display:block}.login-divider{background:#e31e24;border-radius:2px;width:48px;height:2px;margin:1.15rem auto 1rem}.login-eyebrow{color:#8a97a8;letter-spacing:.14em;text-transform:uppercase;margin:0 0 .35rem;font-size:.7rem;font-weight:700}.login-header h1{letter-spacing:-.02em;color:#111827;margin:0;font-size:1.45rem;font-weight:800}.login-subtitle{color:#678;margin:.4rem 0 0;font-size:.9rem;line-height:1.45}.login-body{flex-direction:column;gap:.95rem;padding:.35rem 1.75rem 1.75rem;display:flex}.login-alert{color:#9b1c1c;background:#fff5f5;border:1px solid #f0c8c8;border-radius:10px;padding:.7rem .85rem;font-size:.84rem;line-height:1.4}.login-alert code{font-size:.8em}.login-field{flex-direction:column;gap:.4rem;display:flex}.login-field span{color:#334155;font-size:.78rem;font-weight:700}.login-field input{color:#111827;background:#f8fafc;border:1px solid #d5dde6;border-radius:10px;padding:.78rem .9rem;transition:border-color .15s,background .15s,box-shadow .15s}.login-field input::placeholder{color:#94a3b8}.login-field input:hover:not(:disabled){background:#fff;border-color:#b8c4d2}.login-field input:focus{background:#fff;border-color:#e31e24;outline:none;box-shadow:0 0 0 3px #e31e2424}.login-field input:disabled{opacity:.65;cursor:not-allowed}.login-submit{color:#fff;cursor:pointer;background:#e31e24;border:none;border-radius:10px;width:100%;height:48px;margin-top:.35rem;font-size:.95rem;font-weight:700;transition:background .15s,transform .15s}.login-submit:hover:not(:disabled){background:#b8141a}.login-submit:active:not(:disabled){transform:translateY(1px)}.login-submit:disabled{opacity:.55;cursor:not-allowed}@media (width<=480px){.login-header,.login-body{padding-left:1.25rem;padding-right:1.25rem}.login-logo{height:44px}.login-header h1{font-size:1.3rem}}.app-main{flex-direction:column;min-width:0;height:100vh;display:flex;overflow:hidden}.main-toolbar{background:var(--panel);border-bottom:1px solid var(--line);flex-shrink:0;grid-template-columns:1fr auto auto;align-items:center;gap:1rem;padding:.75rem 1.25rem;display:grid}.toolbar-title-row{align-items:center;gap:.65rem;min-width:0;display:flex}.toolbar-title{min-width:0}.toolbar-title h1{letter-spacing:-.01em;margin:.1rem 0 0;font-family:Segoe UI,sans-serif;font-size:1.2rem;font-weight:700}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0;font-size:.68rem;font-weight:700}.toolbar-meta{gap:.4rem;display:flex}.chip{border:1px solid var(--line);background:#eef3f8;border-radius:999px;align-items:center;padding:.28rem .6rem;font-size:.75rem;font-weight:700;display:inline-flex}.chip.muted{color:var(--muted);font-weight:600}.toolbar-actions{gap:.45rem;width:auto;display:flex}.toolbar-actions .btn{flex:none;min-width:0;padding:.55rem .9rem;font-size:.84rem}.cert-actions-bar{background:var(--panel);border-bottom:1px solid var(--line);flex-shrink:0;justify-content:flex-end;align-items:center;gap:.45rem;padding:.55rem 1.25rem;display:none}.cert-actions-bar .btn{min-width:0;padding:.55rem .9rem;font-size:.84rem}.mobile-only{display:none!important}.workspace{flex:1;grid-template-columns:minmax(0,1fr);gap:0;min-height:0;display:grid;overflow:hidden}.workspace-full .form-area{max-width:none}.form-area{min-width:0;padding:1rem 1.1rem 1.4rem;overflow:auto}.form-panel{width:100%;min-width:0;max-width:1180px;margin:0 auto}.dash-stack{flex-direction:column;gap:.7rem;display:flex}.dash-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;display:grid}.dash-row.single{grid-template-columns:1fr}.dash-row:has(.dash-panel:nth-child(3)){grid-template-columns:repeat(3,minmax(0,1fr))}.dash-panel{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px;min-width:0;overflow:hidden}.grid-fields{gap:.55rem .7rem;display:grid}.grid-fields.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-fields.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-fields.cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.field.span-2{grid-column:span 2}.field.date-field{max-width:200px}.field input,.field select,.readings-row input{border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);background:#fff;border-radius:6px;padding:.4rem .5rem;transition:border-color .15s,box-shadow .15s;display:block}.field input:focus,.field select:focus,.readings-row input:focus{border-color:var(--focus);outline:none;box-shadow:0 0 0 3px #2a5f8f1f}.readings-toolbar{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.65rem;display:flex}.sign-form-grid.flat{grid-template-columns:repeat(4,minmax(0,1fr)) 180px;align-items:end;gap:.55rem .7rem;display:grid}.readings-grid.dual{grid-template-columns:repeat(2,minmax(0,420px));justify-content:start;gap:1rem}.readings-block{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:0;overflow:hidden}.readings-block h3{border-bottom:1px solid var(--line);background:#f3f6fa;margin:0;padding:.45rem .6rem;font-size:.76rem}.readings-table{padding:.35rem .45rem .45rem}.readings-head,.readings-row{grid-template-columns:64px minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);align-items:center;gap:.28rem;padding:.16rem .1rem;font-size:.72rem;display:grid}.readings-row:nth-child(2n){background:#f7f9fc;border-radius:4px}.readings-head{color:var(--muted);padding-bottom:.25rem;font-weight:700}.ir-block{max-width:420px;margin-top:.75rem}.equip-page,.home-page{width:100%;max-width:1100px;margin:0 auto}.home-toolbar{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.home-toolbar strong{font-size:1rem;display:block}.home-toolbar p{color:var(--muted);margin:.2rem 0 0;font-size:.82rem}.home-toolbar-actions{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.home-action-btn{box-sizing:border-box;justify-content:center;min-width:180px;height:42px;padding:0 .95rem;font-size:.84rem}.home-action-btn.ghost{padding:0 .95rem;font-size:.84rem}.home-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.home-stat{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:10px;padding:.95rem 1rem}.home-stat span{letter-spacing:.06em;text-transform:uppercase;color:#8a97a8;font-size:.72rem;font-weight:700;display:block}.home-stat strong{color:#111827;margin-top:.45rem;font-size:1.85rem;line-height:1;display:block}.home-stat p{color:var(--muted);margin:.45rem 0 0;font-size:.78rem}.home-stat.warn strong{color:#b45309}.home-stat.danger strong{color:#b91c1c}.home-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;gap:.85rem;display:grid}.home-lists{flex-direction:column;gap:.85rem;min-width:0;display:flex}.home-panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:10px;min-width:0;padding:.9rem 1rem 1rem}.home-panel-head{justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.75rem;display:flex}.home-panel-head h3{margin:0;font-size:.95rem}.home-panel-head span{color:var(--muted);font-size:.78rem}.home-empty{border:1px dashed var(--line);text-align:center;border-radius:8px;padding:1.4rem 1rem}.home-empty p{color:var(--muted);margin:0;font-size:.86rem}.home-due-list{flex-direction:column;gap:.45rem;display:flex}.home-due-row{border:1px solid var(--line);cursor:pointer;text-align:left;background:#fafbfc;border-radius:8px;justify-content:space-between;align-items:center;gap:.85rem;width:100%;padding:.7rem .8rem;display:flex}.home-due-row:hover{background:#f4f7fb;border-color:#c9d4e2}.home-due-row.vencido{background:#fff7f7;border-color:#f1c0c0}.home-due-row.urgente{background:#fffaf2;border-color:#f2d2a5}.home-due-main{min-width:0}.home-due-main strong{font-size:.88rem;display:block}.home-due-main p{color:var(--muted);margin:.18rem 0 0;font-size:.78rem}.home-due-meta{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.25rem;display:flex}.home-due-meta small{color:var(--muted);font-size:.74rem}.home-badge{color:#475569;background:#eef2f7;border-radius:999px;align-items:center;padding:.18rem .55rem;font-size:.72rem;font-weight:700;display:inline-flex}.home-badge.proximo{color:#9a6700;background:#fff4df}.home-badge.urgente{color:#9a3412;background:#ffe8cc}.home-badge.vencido{color:#991b1b;background:#fee2e2}.home-type-list{flex-direction:column;gap:.45rem;display:flex}.home-type-row{border:1px solid var(--line);background:#fafbfc;border-radius:8px;justify-content:space-between;align-items:center;padding:.65rem .75rem;font-size:.86rem;display:flex}.home-type-row strong{font-size:1.05rem}.home-note{border-top:1px solid var(--line);margin-top:.85rem;padding-top:.75rem}.home-note p{color:var(--muted);margin:0;font-size:.78rem;line-height:1.45}@media (width<=980px){.home-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.home-grid{grid-template-columns:1fr}.home-toolbar{flex-direction:column;align-items:stretch}}@media (width<=640px){.home-stats{grid-template-columns:1fr}.home-due-row{flex-direction:column;align-items:flex-start}.home-due-meta{align-items:flex-start}}.equip-toolbar{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.equip-toolbar strong{font-size:1rem;display:block}.equip-toolbar p{color:var(--muted);margin:.2rem 0 0;font-size:.82rem}.equip-toolbar-actions{align-items:center;gap:.55rem;display:flex}.equip-search{box-sizing:border-box;border:1px solid var(--line);background:#fff;border-radius:7px;min-width:220px;height:42px;padding:0 .7rem}.equip-empty{border:1px dashed var(--line);text-align:center;background:#fff;border-radius:10px;padding:2.5rem 1.5rem}.equip-empty h3{margin:0 0 .4rem}.equip-empty p{color:var(--muted);margin:0 0 1rem}.equip-list{flex-direction:column;gap:.65rem;display:flex}.equip-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:10px;overflow:hidden}.equip-card-main{cursor:pointer;text-align:left;background:0 0;border:none;grid-template-columns:1fr auto auto;align-items:center;gap:1rem;width:100%;padding:.9rem 1rem;display:grid}.equip-id{align-items:center;gap:.75rem;min-width:0;display:flex}.equip-id strong{font-size:.95rem;display:block}.equip-id p{color:var(--muted);margin:.15rem 0 0;font-size:.82rem}.equip-meta{color:var(--muted);flex-direction:column;align-items:flex-end;gap:.2rem;font-size:.78rem;display:flex}.equip-chevron{color:var(--muted);font-size:1rem}.equip-details{border-top:1px solid var(--line);background:#f8fafc;padding:.75rem 1rem 1rem}.equip-details-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.65rem;display:flex}.equip-details-label{letter-spacing:.08em;text-transform:uppercase;color:#8a97a8;font-size:.7rem;font-weight:700}.btn-danger-quiet{color:#9aa6b5;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:.35rem;padding:.2rem .15rem;font-size:.78rem;font-weight:600;transition:color .15s,background .15s;display:inline-flex}.btn-danger-quiet:hover{color:var(--accent);background:#e31e2414}.equip-certs{flex-direction:column;gap:.5rem;display:flex}.equip-cert-row{border:1px solid var(--line);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem .8rem;display:flex}.equip-cert-row strong{font-size:.86rem;display:block}.equip-cert-row p{color:var(--muted);margin:.15rem 0 0;font-size:.78rem}.equip-cert-actions{flex-shrink:0;gap:.4rem;display:flex}.toast{z-index:100;color:#fff;background:#152033;border-radius:8px;max-width:min(420px,100vw - 2rem);padding:.75rem 1rem;font-size:.86rem;position:fixed;bottom:1.1rem;right:1.1rem;box-shadow:0 12px 30px #10182447}.view-dialog{z-index:1;border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;width:min(1100px,100%);max-height:min(94vh,980px);display:flex;position:relative;overflow:hidden;box-shadow:0 20px 50px #10182447}.view-dialog-head{border-bottom:1px solid var(--line);background:#f5f8fb;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;display:flex}.view-dialog-head strong{font-size:1rem;display:block}.view-dialog-head span{color:var(--muted);font-size:.82rem}.view-dialog-actions{align-items:center;gap:.4rem;display:flex}.btn-icon-only{border:1px solid var(--line);color:#5b6b7c;cursor:pointer;background:#fff;border-radius:9px;justify-content:center;align-items:center;width:38px;height:38px;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.btn-icon-only:hover{color:var(--ink);background:#f3f6fa;border-color:#c9d3de}.btn-icon-only.dark{background:var(--navy);border-color:var(--navy);color:#fff}.btn-icon-only.dark:hover:not(:disabled){background:#000;border-color:#000}.btn-icon-only:disabled{opacity:.55;cursor:not-allowed}.view-dialog-body{background:#eef2f6;flex-direction:column;gap:.75rem;padding:1rem;display:flex;overflow:auto}.view-panel{border:1px solid var(--line);background:#fff;border-radius:10px;padding:.85rem 1rem}.view-panel h3{text-transform:uppercase;letter-spacing:.08em;color:#5b6b7c;margin:0 0 .7rem;font-size:.72rem}.view-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem .85rem;display:grid}.view-info{min-width:0}.view-info span{color:var(--muted);margin-bottom:.15rem;font-size:.7rem;display:block}.view-info strong{color:var(--ink);word-break:break-word;font-size:.88rem;font-weight:650;display:block}.view-readings{grid-template-columns:minmax(0,360px);gap:.85rem;display:grid}.view-readings.dual{grid-template-columns:repeat(2,minmax(0,360px))}.view-readings h4{margin:0 0 .4rem;font-size:.82rem}.view-readings table{border-collapse:collapse;width:100%;font-size:.78rem}.view-readings th,.view-readings td{border:1px solid var(--line);text-align:left;padding:.28rem .4rem}.view-readings th{background:#f5f8fb}.view-preview-panel .preview-stage{justify-content:center;padding-top:.35rem}@media (width<=900px){.view-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.view-readings.dual{grid-template-columns:1fr}}.btn-icon{align-items:center;gap:.4rem;display:inline-flex}.certificate-host{pointer-events:none;opacity:0;position:fixed;top:0;left:-10000px}.certificate-slot.capturing{z-index:9999;pointer-events:none;opacity:1!important;position:fixed!important;top:0!important;left:0!important}.preview-modal{z-index:80;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.preview-backdrop{cursor:pointer;background:#1018248c;border:none;position:absolute;inset:0}.preview-dialog{z-index:1;border:1px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;width:min(920px,100%);max-height:min(94vh,980px);display:flex;position:relative;overflow:hidden;box-shadow:0 20px 50px #10182447}.preview-dialog-head{border-bottom:1px solid var(--line);background:#f5f8fb;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.preview-dialog-head strong{font-size:.95rem;display:block}.preview-dialog-head span{color:var(--muted);font-size:.8rem}.preview-dialog-body{background:#e8eef4;justify-content:center;padding:1rem;display:flex;overflow:auto}.preview-scale{--preview-zoom:.55;width:calc(210mm * var(--preview-zoom));height:calc(297mm * var(--preview-zoom));border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;overflow:hidden}.preview-scale.modal{--preview-zoom:.58}.preview-scale .certificate{transform:scale(var(--preview-zoom));transform-origin:0 0;box-shadow:none}.form-panel{width:100%;min-width:0}.form-toolbar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.85rem;display:flex}.form-toolbar strong{font-size:.95rem;display:block}.form-toolbar p{color:var(--muted);margin:.15rem 0 0;font-size:.8rem}.dash-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.dash-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;overflow:hidden}.dash-panel.wide{grid-column:1/-1}.dash-panel-head{border-bottom:1px solid var(--line);background:#f5f8fb;padding:.55rem .8rem}.dash-panel-head h2{text-transform:uppercase;letter-spacing:.08em;color:var(--navy);margin:0;font-size:.72rem;font-weight:700}.dash-panel-body{padding:.75rem .8rem .85rem}.grid-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .65rem;display:grid}.grid-fields.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sign-form-grid{grid-template-columns:1fr 1fr;gap:.85rem 1rem;display:grid}.sign-form-col{border:1px solid var(--line);background:#f8fafc;border-radius:6px;gap:.55rem;min-width:0;padding:.65rem;display:grid}.sign-form-label{text-transform:uppercase;letter-spacing:.06em;color:var(--navy);margin:0;font-size:.72rem;font-weight:700}.sign-form-date{grid-column:1/-1;max-width:240px}.field{color:var(--muted);flex-direction:column;gap:.22rem;min-width:0;font-size:.74rem;display:flex}.field span{color:#4d5d6f;font-weight:650}.field input,.field select,.readings-row input{border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);background:#fff;border-radius:6px;padding:.42rem .5rem;display:block}.field input[type=date]{min-height:2.05rem}.field input:focus,.field select:focus,.readings-row input:focus{outline:2px solid color-mix(in srgb, var(--focus) 35%, white);border-color:var(--focus)}.hint{color:var(--muted);margin:0 0 .65rem;font-size:.78rem}.readings-grid{grid-template-columns:1fr;gap:.75rem;display:grid}.readings-grid.dual{grid-template-columns:1fr 1fr}.readings-block{border:1px solid var(--line);background:#f8fafc;border-radius:6px;min-width:0;padding:.55rem}.readings-block h3{margin:0 0 .45rem;font-size:.8rem}.readings-head,.readings-row{grid-template-columns:70px minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);align-items:center;gap:.3rem;margin-bottom:.28rem;font-size:.72rem;display:grid}.readings-head{color:var(--muted);font-weight:700}.actions{flex-wrap:wrap;gap:.45rem;display:flex}.btn{cursor:pointer;white-space:nowrap;border:none;border-radius:7px;padding:.6rem .85rem;font-weight:700}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--accent);color:#fff}.btn.primary:hover:not(:disabled){background:var(--accent-dark)}.btn.secondary{background:var(--navy);color:#fff}.btn.ghost{border:1px solid var(--line);color:var(--muted);background:#fff;padding:.45rem .7rem;font-size:.78rem}.certificate{--blue:#5b9bd5;color:#000;width:210mm;height:297mm;min-height:297mm;max-height:297mm;box-shadow:var(--shadow);box-sizing:border-box;background:#fff;flex-shrink:0;font-family:Arial,Helvetica,sans-serif;font-size:9.5pt;line-height:1.25;position:relative;overflow:hidden}.ornament{z-index:1;pointer-events:none;position:absolute;inset:0}.ornament-frame{object-fit:fill;width:100%;height:100%;display:block;position:absolute;inset:0}.cert-page{z-index:2;box-sizing:border-box;flex-direction:column;justify-content:space-between;gap:0;height:100%;padding:13mm 12mm 11mm;display:flex;position:relative}.block{flex:none}.block-header{text-align:center}.logo{object-fit:contain;width:auto;height:48px;margin:0 auto 6px;display:block}.cert-title{text-align:center;letter-spacing:.02em;margin:4px 0 2px;font-family:Times New Roman,Times,serif;font-size:22pt;font-weight:700;line-height:1.1}.manual-ref{text-align:center;margin:4px 0 8px;font-size:10pt;font-weight:700}.cert-text{text-align:justify;margin:0;font-size:8.5pt;font-style:italic;line-height:1.35}.customer-line{text-align:center;margin:0 0 10px;font-size:11pt;font-weight:700}.id-grid{margin-bottom:8px}.id-row{grid-template-columns:1.15fr 1fr;align-items:end;gap:10px 22px;margin:6px 0;display:grid}.id-field{align-items:flex-end;gap:6px;min-width:0;font-size:9.5pt;display:flex}.id-field strong{white-space:nowrap;flex-shrink:0}.uline{text-align:center;border-bottom:1px solid #111;flex:1;min-width:88px;min-height:1.2em;padding:1px 4px 2px;line-height:1.2;display:inline-block}.uline.wide{min-width:130px}.uline.highlight{background:#ffe566}.status-row{flex-wrap:wrap;gap:8px 22px;margin:10px 0 8px;font-size:9pt;display:flex}.check-item{align-items:center;gap:4px;display:inline-flex}.check-item .box{font-size:12pt;line-height:1}.env-row{flex-wrap:wrap;align-items:flex-end;gap:6px 18px;margin:4px 0 0;font-size:9pt;display:flex}.env-row .uline{flex:0 auto;min-width:48px}.zones{margin:0 0 8px}.zones.dual{grid-template-columns:1fr 1fr;gap:14px;display:grid}.zones.single{justify-content:center;display:flex}.zones.single .zone-table{width:min(420px,100%)}.zone-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:8.5pt}.zone-table th,.zone-table td{text-align:center;vertical-align:middle;border:1px solid #222;height:18px;padding:3px 4px}.zone-table th.zone-name,.zone-table td.sensor{text-align:left;width:22%;padding-left:6px;font-weight:700}.zone-table thead th{font-size:8pt;font-weight:700}.actual{width:100%;display:block}.actual.bad{background:#ffb3b3}.tolerances{text-align:center;margin:10px 0 0;font-size:9.5pt;font-weight:700}.section-head{text-align:center;margin:0 0 4px;font-size:11pt;font-weight:700}.uncertainty{text-align:center;margin:0 0 12px;font-size:8.5pt;font-style:italic;line-height:1.35}.std-block{margin:0 0 12px}.std-block:last-child{margin-bottom:0}.std-title{margin:0 0 6px;font-size:8.5pt;font-weight:700;line-height:1.3}.sign-block{grid-template-columns:1fr 1fr .7fr 1.1fr;align-items:start;gap:12px;display:grid}.sign-col{min-width:0}.sign-box{background:#fff;border:1px solid #888;justify-content:center;align-items:center;width:100%;max-width:170px;height:52px;margin-bottom:4px;display:flex}.sign-box img{object-fit:contain;max-width:100%;max-height:100%}.sign-line{border-bottom:1px solid #111;width:100%;max-width:190px;margin:4px 0}.signer-name{min-height:1.2em;font-size:10pt;font-weight:700;line-height:1.2}.signer-role{margin:2px 0 0;font-size:8.5pt}.sign-mid{align-items:flex-end;gap:6px;padding-top:36px;font-size:9.5pt;display:flex}.sign-mid .uline{min-width:90px}.repro{margin:0;padding-top:28px;font-size:8pt;font-style:italic;line-height:1.35}.form-code{margin:8px 0 0;font-size:8pt}@media (width<=1200px){.grid-fields.cols-4,.grid-fields.cols-5,.sign-form-grid.flat{grid-template-columns:repeat(2,minmax(0,1fr))}.field.span-2,.field.date-field{grid-column:auto;max-width:none}:is(.dash-row,.dash-row:has(.dash-panel:nth-child(3))){grid-template-columns:1fr}.preview-scale,.preview-scale.modal{--preview-zoom:.48}}@media (width<=980px){.home-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.home-grid{grid-template-columns:1fr}.home-toolbar{flex-direction:column;align-items:stretch}.home-toolbar-actions{width:100%}.home-action-btn{flex:auto;min-width:0}.equip-toolbar,.equip-card-main,.equip-cert-row{flex-direction:column;align-items:stretch}.equip-card-main{grid-template-columns:1fr}.equip-meta{align-items:flex-start}.equip-toolbar-actions{flex-wrap:wrap;width:100%}.equip-search{flex:1;min-width:0}.readings-grid.dual{grid-template-columns:1fr}.preview-scale,.preview-scale.modal{--preview-zoom:.42}}@media (width<=860px){.app-shell{grid-template-columns:minmax(0,1fr);width:100%;max-width:100vw;overflow:hidden}.nav-backdrop{z-index:40;opacity:0;pointer-events:none;background:#00000073;border:none;margin:0;padding:0;transition:opacity .2s;display:block;position:fixed;inset:0}.app-shell.nav-open .nav-backdrop{opacity:1;pointer-events:auto}.nav-sidebar{z-index:50;border-right:1px solid #1f1f1f;width:min(288px,86vw);transition:transform .22s;position:fixed;top:0;bottom:0;left:0;transform:translate(-105%);box-shadow:12px 0 40px #00000059}.app-shell.nav-open .nav-sidebar{transform:translate(0)}.nav-toggle{border:1px solid var(--line);width:40px;height:40px;color:var(--ink);cursor:pointer;background:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.nav-close{color:#fff;cursor:pointer;background:#ffffff14;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.35rem;line-height:1;display:inline-flex;position:absolute;top:50%;right:0;transform:translateY(-50%)}.nav-brand{justify-content:flex-start;padding-right:2.2rem}.app-main{width:100%;min-width:0}.main-toolbar{grid-template-columns:minmax(0,1fr);grid-template-areas:"title";align-items:start;gap:.55rem;padding:.7rem .85rem}.toolbar-title-row{grid-area:title;min-width:0}.toolbar-meta{display:none}.desktop-only{display:none!important}.mobile-only{display:grid!important}.cert-actions-bar.mobile-only{background:0 0;border-bottom:none;grid-template-columns:1fr;gap:.45rem;padding:.75rem}.cert-actions-bar .btn{justify-content:center;width:100%}.toolbar-title h1{overflow-wrap:anywhere;font-size:1.05rem}.form-area{padding:.75rem}.home-page,.equip-page{max-width:100%}.home-stats{grid-template-columns:1fr 1fr;gap:.55rem}.home-stat strong{font-size:1.45rem}.home-toolbar-actions{grid-template-columns:1fr;display:grid}.home-action-btn{width:100%;min-width:0}.home-due-row{flex-direction:column;align-items:flex-start}.home-due-meta{align-items:flex-start}.preview-dialog,.view-dialog{width:min(100vw - .75rem,920px);max-height:calc(100vh - .75rem)}.preview-dialog-head,.view-dialog-head{padding:.75rem}.login-page{padding:1rem .85rem}.login-card{width:min(100%,440px)}}@media (width<=640px){.grid-fields.cols-2,.grid-fields.cols-4,.grid-fields.cols-5,.sign-form-grid.flat,.grid-fields.cols-3,.home-stats{grid-template-columns:1fr}.equip-cert-actions{grid-template-columns:1fr 1fr;gap:.4rem;width:100%;display:grid}.equip-cert-actions .btn,.equip-cert-actions .btn-danger-quiet{justify-content:center;width:100%}.view-readings.dual{grid-template-columns:1fr}.preview-scale,.preview-scale.modal{--preview-zoom:.32}.dash-panel-body{padding:.75rem}}@media print{body{background:#fff!important}.no-print,.nav-sidebar,.form-area,.main-toolbar,.preview-modal,.nav-backdrop,.nav-toggle{display:none!important}.app-shell,.app-main,.workspace,.certificate-slot,.certificate-host{width:auto!important;height:auto!important;box-shadow:none!important;opacity:1!important;pointer-events:auto!important;background:#fff!important;border:none!important;margin:0!important;padding:0!important;display:block!important;position:static!important;left:auto!important;overflow:visible!important;transform:none!important}.preview-scale .certificate,.certificate{page-break-after:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact;box-shadow:none!important;width:210mm!important;height:297mm!important;min-height:297mm!important;max-height:297mm!important;transform:none!important}@page{size:A4;margin:0}}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0}
