:root{--ink:#17242d;--muted:#667782;--line:#cbd5db;--surface:#fff;--background:#f2f5f7;--brand:#173b57;--brand-dark:#102c42;--success:#17633b;--danger:#a12b2b;color:var(--ink);background:var(--background);font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{background:var(--background);min-width:320px;margin:0}button,input,textarea,select{font:inherit}button,label[for]{-webkit-tap-highlight-color:transparent}.app-shell{min-height:100svh;padding:20px 14px 48px}.capture-panel{width:min(100%,620px);margin:0 auto}.app-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;min-height:72px;margin-bottom:28px;display:flex}.eyebrow{color:var(--brand);letter-spacing:.08em;margin:0 0 6px;font-size:1.35rem;font-weight:800}.company-name{color:var(--muted);margin:0;font-size:1rem}.text-button{color:var(--brand);background:0 0;border:0;padding:8px;font-weight:700}.header-actions{align-items:center;gap:4px;display:flex}.admin-area{gap:24px;display:grid}.admin-tabs{border-bottom:1px solid var(--line);gap:8px;display:flex;overflow-x:auto}.admin-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:10px 12px;font-weight:700}.admin-tabs button.active{border-color:var(--brand);color:var(--brand)}.center-state{text-align:center;color:var(--muted);padding:25vh 0}.approval-state{text-align:center;justify-items:center;gap:12px;max-width:440px;margin:12vh auto 0;display:grid}.approval-state h1,.approval-state p{margin:0}.approval-icon{width:64px;height:64px;color:var(--brand);background:#e8f3ed;border-radius:50%;place-items:center;font-size:1.8rem;display:grid}.approval-state .secondary-button{margin-top:10px}.form-stack{gap:18px;display:grid}.auth-form{max-width:440px;margin:8vh auto 0}.form-stack h1{margin:0 0 4px;font-size:1.65rem}.form-stack label,.description-label{gap:8px;font-weight:700;display:grid}.form-stack input,.form-stack select,textarea,.user-fields input,.user-fields select{width:100%;color:var(--ink);background:var(--surface);border:1px solid #aebbc3;border-radius:6px;padding:12px;font-size:1rem}.form-stack input{min-height:52px}textarea{resize:vertical;font-weight:400;line-height:1.45}input:focus,textarea:focus,select:focus,button:focus-visible,label[for]:focus-visible{outline-offset:2px;outline:3px solid #7ca6c2}.supporting-text{color:var(--muted);margin:0;line-height:1.5}.primary-button,.save-button,.camera-button{color:#fff;background:var(--brand);letter-spacing:.04em;cursor:pointer;border:0;border-radius:6px;justify-content:center;align-items:center;min-height:64px;padding:16px;font-size:1.12rem;font-weight:800;display:flex}.primary-button:hover,.save-button:hover,.camera-button:hover{background:var(--brand-dark)}.primary-button:disabled,.save-button:disabled{opacity:.5;cursor:not-allowed}.camera-button{flex-direction:column;gap:18px;min-height:168px;margin:36px 0 24px}.camera-mark{border:4px solid #fff;width:54px;height:42px;position:relative}.camera-mark:before{content:"";background:#fff;width:18px;height:10px;position:absolute;top:-12px;left:14px}.camera-mark:after{content:"";border:4px solid #fff;border-radius:50%;width:16px;height:16px;position:absolute;top:9px;left:15px}.description-label{color:var(--ink);margin-top:24px}.optional-field{border:1px solid var(--line);background:var(--surface);border-radius:6px;margin-top:18px}.optional-field summary{color:var(--brand);cursor:pointer;padding:13px 14px;font-weight:700}.optional-field textarea{border:0;border-top:1px solid var(--line);border-radius:0 0 6px 6px}.save-button{width:100%;min-height:68px;margin-top:18px}.secondary-button{border:1px solid var(--brand);width:100%;min-height:48px;color:var(--brand);background:#fff;border-radius:6px;margin-top:10px;font-weight:700}.preview-area{border:1px solid var(--line);background:#dce3e7;width:100%;height:min(58svh,520px);position:relative;overflow:hidden}.preview-area img{object-fit:contain}.pdf-preview{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;height:100%;padding:24px;display:flex}.pdf-preview span{color:var(--muted);overflow-wrap:anywhere}.success-message,.error-message{background:#fff;border-left:4px solid;padding:12px 14px;line-height:1.4}.success-message{border-color:var(--success);color:var(--success)}.error-message{border-color:var(--danger);color:var(--danger)}.recent-section{border-top:1px solid var(--line);margin-top:36px;padding-top:24px}.recent-section h2{margin:0 0 14px;font-size:1.1rem}.empty-state{color:var(--muted)}.recent-list{background:var(--surface);border:1px solid var(--line);margin:0;padding:0;list-style:none}.recent-list li{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:14px;display:flex}.recent-list li:last-child{border-bottom:0}.recent-list li>div:first-child{min-width:0}.recent-list strong,.recent-list span{display:block}.recent-list strong{font-size:.9rem}.recent-list li>div:first-child span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:5px;overflow:hidden}.recent-status{text-align:right;flex:none}.recent-status time{color:var(--muted);font-size:.86rem}.recent-status span{margin-top:5px;font-size:.88rem;font-weight:700}.recent-status.pending span{color:#8a5a0a}.recent-status.completed span{color:var(--success)}.recent-status.error span{color:var(--danger)}.admin-users,.admin-devices{gap:24px;display:grid}.admin-settings{gap:18px;max-width:660px;display:grid}.settings-card,.connection-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:18px}.settings-card h2{margin:0 0 16px;font-size:1.05rem}.connection-card{border-left:5px solid var(--line)}.connection-card.connected{border-left-color:var(--success)}.connection-card p{color:var(--muted);margin:8px 0 0;line-height:1.5}.connection-card .secondary-button{margin-top:16px}.google-connect-button{width:100%;margin-top:10px}.external-link-row{grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;display:grid}.external-link-row a{justify-content:center;align-items:center;margin:0;text-decoration:none;display:flex}.service-account-note b{color:var(--ink);overflow-wrap:anywhere}.section-heading{justify-content:space-between;align-items:end;gap:16px;display:flex}.section-heading h1{margin:2px 0 0;font-size:1.65rem}.section-heading>span{color:var(--muted);white-space:nowrap}.eyebrow-small{color:var(--brand);letter-spacing:.1em;margin:0;font-size:.78rem;font-weight:800}.new-user-form,.user-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:18px}.new-user-form h2,.user-list h2{margin:0 0 16px;font-size:1.05rem}.user-list{gap:12px;display:grid}.user-fields{grid-template-columns:1fr;gap:14px;display:grid}.user-fields label{color:var(--ink);gap:7px;font-size:.9rem;font-weight:700;display:grid}.user-card{gap:16px;display:grid}.user-card-heading{justify-content:space-between;align-items:start;gap:12px;display:flex}.user-card-heading strong,.user-card-heading span{display:block}.user-card-heading div span{color:var(--muted);overflow-wrap:anywhere;margin-top:4px;font-size:.9rem}.status-chip{color:#6d3030;background:#f8e3e3;border-radius:999px;flex:none;padding:5px 9px;font-size:.78rem;font-weight:800}.status-chip.active{color:var(--success);background:#e1f3e8}.user-fields .active-toggle{align-self:end;align-items:center;gap:9px;min-height:46px;display:flex}.user-fields .active-toggle input{width:20px;height:20px;margin:0}.field-note{color:var(--muted);margin:10px 0 0;font-size:.86rem;line-height:1.45}.compact-button{color:#fff;background:var(--brand);cursor:pointer;border:0;border-radius:6px;justify-self:start;min-height:44px;padding:10px 16px;font-size:.86rem;font-weight:800}.compact-button:hover{background:var(--brand-dark)}.compact-button:disabled{opacity:.5;cursor:not-allowed}.inline-admin-form{grid-template-columns:1fr auto;gap:10px;display:grid}.inline-admin-form input,.management-fields input,.management-fields select{min-width:0;color:var(--ink);background:var(--surface);border:1px solid #aebbc3;border-radius:6px;padding:10px}.management-list{gap:10px;margin:16px 0 0;padding:0;list-style:none;display:grid}.management-row{border-top:1px solid var(--line);gap:12px;padding-top:14px;display:grid}.management-fields{gap:8px;min-width:0;display:grid}.management-fields span{color:var(--muted);font-size:.85rem}.management-actions{align-items:center;gap:6px;display:flex}.small-button{border:1px solid var(--brand);min-height:38px;color:var(--brand);background:#fff;border-radius:6px;padding:8px 12px;font-size:.8rem;font-weight:800}.small-button:disabled{opacity:.5}.registration-code{border-left:4px solid var(--success);background:#eef8f2;gap:6px;margin-top:16px;padding:12px 14px;display:grid}.registration-code strong{color:var(--brand);letter-spacing:.08em;font-size:1.5rem}.registration-code small{color:var(--muted)}.registration-code img{background:#fff;border-radius:8px;justify-self:center;width:min(260px,100%);height:auto}.registration-code .small-button{justify-self:stretch;margin-top:6px}.enrollment-card{justify-items:start;gap:14px;display:grid}.enrollment-card h2,.enrollment-card p{margin:0}.enrollment-card img{border:1px solid var(--line);border-radius:8px;justify-self:center;width:min(260px,100%);height:auto}.enrollment-card .small-button{width:100%}.enrollment-card small{color:var(--muted);line-height:1.45}.pending-devices{border-left:5px solid #b47716}.count-badge{color:#6f4a10;background:#fff0cf;border-radius:999px;place-items:center;min-width:24px;height:24px;font-size:.78rem;display:inline-grid}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.review-inbox,.review-workspace{gap:18px;display:grid}.review-list{border:1px solid var(--line);background:#fff;margin:0;padding:0;list-style:none}.review-list li+li{border-top:1px solid var(--line)}.review-list button{text-align:left;cursor:pointer;background:#fff;border:0;justify-content:space-between;gap:18px;width:100%;padding:16px;display:flex}.review-list button:hover{background:#f5f8fa}.review-list button div{min-width:0}.review-list button strong,.review-list button span,.review-list button small{display:block}.review-list button span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:5px;overflow:hidden}.review-list button div:last-child{text-align:right;flex:none}.review-list small{color:var(--muted);margin-top:5px}.review-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.review-columns{gap:20px;display:grid}.document-viewer{border:1px solid var(--line);background:#dce3e7;min-height:62vh;position:relative;overflow:hidden}.document-viewer img{object-fit:contain}.document-viewer iframe{border:0;width:100%;height:72vh}.review-form{align-content:start}.review-form select{background:#fff;border:1px solid #aebbc3;border-radius:6px;width:100%;min-height:48px;padding:10px}.review-form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.raw-description{border-left:4px solid var(--brand);background:#eef4f7;padding:10px 12px}.raw-description p{color:var(--muted);margin:6px 0 0}.document-context{border-left:4px solid var(--brand);background:#fff;gap:4px;padding:10px 12px;display:grid}.document-context span{font-weight:700}.document-context small{color:var(--muted)}.recognition-note{background:#fff;border-left:4px solid;gap:4px;padding:11px 12px;line-height:1.4;display:grid}.recognition-note span{color:var(--muted);font-size:.92rem}.recognition-note.success{border-color:var(--success);background:#eef8f2}.recognition-note.warning{background:#fff7e8;border-color:#b47716}.analytics-dashboard{gap:20px;display:grid}.analytics-heading{flex-direction:column;align-items:stretch;gap:12px;display:flex}.analytics-heading h1{margin:2px 0 0;font-size:1.65rem}.analytics-heading label{color:var(--muted);gap:6px;font-size:.82rem;font-weight:700;display:grid}.analytics-heading select{min-height:42px;color:var(--ink);background:#fff;border:1px solid #aebbc3;border-radius:6px;padding:8px 34px 8px 10px}.analytics-controls{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.analytics-controls .small-button{min-height:42px}.kpi-grid{gap:10px;display:grid}.kpi-card{border:1px solid var(--line);border-left:5px solid var(--success);background:#fff;border-radius:8px;gap:6px;padding:16px;display:grid}.kpi-card.primary{border-left-color:var(--brand)}.kpi-card.provisional{border-left-color:#b47716}.kpi-card span{color:var(--muted);font-size:.85rem;font-weight:700}.kpi-card strong{font-size:1.45rem}.kpi-card small{color:var(--muted);line-height:1.35}.analytics-note{color:#6f4a10;background:#fff7e8;border-left:4px solid #b47716;margin:0;padding:10px 12px;line-height:1.45}.analytics-grid{gap:14px;display:grid}.analytics-card{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:0;padding:16px}.analytics-card h2{margin:0 0 15px;font-size:1rem}.analytics-bars{gap:14px;margin:0;padding:0;list-style:none;display:grid}.analytics-bars li{min-width:0}.bar-label{justify-content:space-between;gap:12px;margin-bottom:6px;display:flex}.bar-label span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.bar-label strong{flex:none;font-size:.9rem}.bar-track{background:#e6ecef;border-radius:999px;height:9px;overflow:hidden}.bar-track span{border-radius:inherit;background:var(--brand);height:100%;display:block}.analytics-bars small{color:var(--muted);margin-top:5px;font-size:.78rem;display:block}.analytics-freshness{color:var(--muted);margin:0;font-size:.82rem;line-height:1.45}@media (min-width:720px){.app-shell{padding-top:34px}.capture-panel{background:var(--surface);border:1px solid var(--line);padding:28px 34px 38px}.user-fields,.user-card .user-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.management-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.analytics-heading{flex-direction:row;justify-content:space-between;align-items:end}.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recent-list{background:#fbfcfd}.review-columns{grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);align-items:start}.capture-panel.admin-mode{width:min(100%,1180px)}}
