@import url('/platform/vendor/leaflet.css');
:root{font-family:Lato,Arial,sans-serif;color:#102642;background:#F5F8FC;font-size:15px;--blue:#102642;--red:#CA2736;--line:#D8E2F0}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:var(--blue)}input,select,textarea{width:100%;border:1px solid #D8E2F0;border-radius:9px;background:#fff;padding:12px;color:inherit;min-height:44px}textarea{min-height:95px}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:3px solid #E7AD36;outline-offset:2px}button{border:0;border-radius:9px;padding:12px 18px;background:#fff;color:inherit;font-weight:600}button:hover{filter:brightness(.96)}.primary{background:var(--blue);color:white}.quiet{background:white;border:1px solid var(--line)}.top{display:flex;align-items:center;justify-content:space-between;padding:22px 4vw;background:white;border-bottom:1px solid var(--line);gap:20px}.wordmark{font-size:23px;font-weight:800;text-decoration:none;color:#102642}.wordmark b{color:var(--red)}.wordmark small{display:block;font-size:9px;letter-spacing:2px;font-weight:500;margin-top:5px}.top-actions{display:flex;gap:16px;align-items:center}.top-actions select{width:auto}.account{font-size:13px}.register-page{max-width:1080px;margin:35px auto 70px;padding:0 24px}.emblems{display:flex;gap:22px;align-items:center;justify-content:space-between;background:#fff;padding:22px;border:1px solid var(--line);border-radius:16px}.police-photo{width:90px;height:104px;overflow:hidden;position:relative;flex-shrink:0;clip-path:polygon(8% 0,100% 5%,96% 70%,69% 100%,1% 78%)}.police-photo img{position:absolute;width:205px;max-width:none;left:-49px;top:-103px}.civil-logo{width:108px;height:108px;object-fit:contain;border-radius:50%}.official-title{text-align:center;display:grid;gap:8px}.official-title>span{font-size:10px;letter-spacing:1.5px}.official-title strong{font-size:20px}.official-title small{color:#60728A}.registration-title{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:32px 0}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:#60728A}h1{font-size:34px;letter-spacing:-1px;line-height:1.15;margin:12px 0}p{line-height:1.6}.subtle{color:#60728A;font-size:13px}#registration{position:relative;background:white;border:1px solid var(--line);padding:30px;border-radius:16px;isolation:isolate}.paper-watermark{position:absolute;inset:20%;background:url('/platform/assets/civil-protection.png') center/contain no-repeat;opacity:.025;z-index:-1;pointer-events:none}fieldset{border:0;padding:0;margin:0 0 30px}legend{font-size:17px;font-weight:700;width:100%;padding:0 0 16px;border-bottom:1px solid var(--line);margin-bottom:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px}.field{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600}.field span i{color:var(--red);font-style:normal}.field small{font-weight:400;color:#60728A}.consent{display:flex;gap:12px;align-items:flex-start;line-height:1.5;font-size:13px;margin:14px 0}.consent input{width:18px;min-height:18px;margin:3px 0;flex-shrink:0}.error{color:#a5202a;font-size:13px}.geo-actions{margin-bottom:28px}.geo-actions p{font-size:12px;color:#60728A}.geo-actions button{margin:8px 8px 0 0}#mapPicker{height:300px;margin-top:15px;border-radius:12px}footer{display:flex;align-items:center;gap:20px;flex-wrap:wrap;border-top:1px solid var(--line);padding:26px 4vw;background:white;font-size:13px}footer span{font-size:10px;letter-spacing:1px}footer small{margin-left:auto;max-width:550px;color:#60728A}.login-page{display:grid;grid-template-columns:1.15fr 1fr;gap:50px;max-width:1200px;min-height:76vh;margin:auto;padding:60px 28px;align-items:center}.login-story h1{font-size:46px}.login-story>img{width:100%;max-height:320px;object-fit:cover;object-position:center;border-radius:16px}.login-card{background:#fff;padding:40px;border:1px solid var(--line);border-radius:20px}.login-card form{display:grid;gap:18px}.login-card h2{font-size:30px}.role-admin .login-story{color:#102642}.role-command .login-story{color:#102642}.workspace-title{padding:30px 4vw 12px}.tabs{display:flex;gap:5px;overflow:auto;background:white;padding:12px 4vw;border-block:1px solid var(--line)}.tabs button{white-space:nowrap;font-size:13px;font-weight:500}.tabs .selected,.view-switch .selected{background:#102642;color:white}.workspace{max-width:1500px;padding:30px 4vw 70px;margin:auto}.intro,.collection-head,.viewbar{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;margin-bottom:22px}.intro h2{font-size:26px;margin:0}.intro p{color:#60728A}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:24px 0}.metric{display:flex;flex-direction:column;text-align:left;gap:12px;border:1px solid var(--line);padding:22px;border-radius:14px}.metric span{font-size:13px;color:#60728A}.metric strong{font-size:34px;font-weight:600}.metric small{font-size:11px;color:#60728A}.metric.active{border-color:#2563B3;box-shadow:inset 0 0 0 1px #2563B3}.compact .metric{padding:18px}.compact .metric strong{font-size:27px}.surface{background:#fff;border:1px solid var(--line);border-radius:15px;padding:24px}.overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.bar-chart button{display:grid;grid-template-columns:125px 1fr 35px;width:100%;gap:16px;align-items:center;padding:13px 0;text-align:left;background:none;font-size:13px}.bar-chart button>div{background:#F5F8FC;border-radius:5px;overflow:hidden}.bar-chart i{height:23px;display:block;background:#2563B3;border-radius:5px}.deadline{display:flex;justify-content:space-between;gap:15px;width:100%;border-bottom:1px solid var(--line);text-align:left;padding:16px 0}.deadline small{display:block;font-size:11px;color:#60728A;margin-top:6px}.tag{display:inline-block;border-radius:30px;padding:6px 10px;font-size:11px;font-weight:600;white-space:nowrap}.tag.success{background:#EAF1FB;color:#2563B3}.tag.amber{background:#f8efdb;color:#75551c}.tag.red{background:#f8e4e4;color:#9b3239}.filters{display:flex;gap:10px;align-items:end;flex-wrap:wrap;background:#EAF1FB;padding:16px;border-radius:12px;margin-bottom:20px}.filters>input{flex:1;min-width:190px}.filters>select{max-width:210px}.filters label{font-size:10px;display:grid;gap:4px;max-width:155px}.view-switch{display:flex;padding:4px;background:#EAF1FB;border-radius:10px;gap:4px}.view-switch button{background:transparent;font-size:12px;padding:9px 14px}.view-switch .selected{background:#102642}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px}.record-card{background:white;border:1px solid var(--line);border-radius:14px;padding:22px;text-align:left}.record-card>div{display:flex;gap:10px;align-items:center;justify-content:space-between}.record-card small{font-size:9px;color:#60728A}.record-card h3{font-size:19px;margin:22px 0 8px;word-break:break-word}.record-card p{font-size:13px;color:#60728A}.record-card dl{font-size:12px;display:grid;grid-template-columns:100px 1fr;gap:8px}.record-card dt{color:#60728A}.record-card dd{margin:0}.record-link{display:block;border-top:1px solid var(--line);padding-top:18px;margin-top:20px;font-size:12px;color:#2563B3}.empty{text-align:center;padding:35px;color:#60728A}.table-scroll{overflow:auto;background:white;border:1px solid var(--line);border-radius:14px}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:15px;text-align:left;min-width:135px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:10px;text-transform:uppercase;letter-spacing:.5px;background:#F5F8FC}.board{display:flex;gap:18px;overflow:auto;align-items:flex-start}.board>section{min-width:280px;background:#EAF1FB;border-radius:14px;padding:16px;flex:1}.board .cards{grid-template-columns:1fr}.board h3{font-size:14px}.info{padding:16px;background:#EAF1FB;color:#60728A;border-radius:10px;font-size:13px}.money-totals{display:flex;gap:25px;margin:20px 0;font-size:13px}dialog{width:min(900px,96vw);max-height:90vh;border:1px solid var(--line);padding:0;border-radius:18px;color:inherit}dialog::backdrop{background:#10264288;backdrop-filter:blur(3px)}.modal-head{position:sticky;top:0;z-index:4;background:white;border-bottom:1px solid var(--line);padding:20px;display:flex;gap:15px;align-items:center;justify-content:space-between}.modal-head h2{font-size:21px;margin:0}.modal-head>div{display:flex;gap:10px}.modal-head select{width:auto}.modal-content{padding:25px}.modal-content form .primary{margin-top:20px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.details{display:grid;grid-template-columns:1fr 1fr;gap:20px}.details>div{border-bottom:1px solid var(--line);padding:12px 0}.details dt{font-size:12px;color:#60728A;margin-bottom:8px}.details dd{margin:0;overflow-wrap:anywhere}.thumb{width:100px;height:80px;object-fit:cover}.evidence{max-width:100%;max-height:240px}.detail-status{display:flex;gap:20px;justify-content:space-between;flex-wrap:wrap}.detail-status code{font-size:11px}.print-paper{position:relative;background:white;padding:20px;isolation:isolate}.print-paper:before{content:'';position:absolute;inset:20%;background:url('/platform/assets/civil-protection.png') center/contain no-repeat;opacity:.04;z-index:-1}.print-paper h1{font-size:21px;text-align:center;margin:25px 0}.print-fields{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #aaa;border-left:1px solid #aaa}.print-fields>div{min-height:40px;display:flex;border-bottom:1px solid #aaa;border-right:1px solid #aaa;font-size:10px}.print-fields strong{flex:0 0 45%;padding:8px;border-right:1px solid #ccc}.print-fields span{padding:8px;overflow-wrap:anywhere}.print-note{font-size:10px}.signatures{display:flex;justify-content:space-between;font-size:11px;min-height:90px}.qr-paper{text-align:center}.qr-paper svg{width:250px;max-width:100%}#nationalMap{height:550px;border-radius:16px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#102642;color:white;padding:16px 24px;border-radius:12px;z-index:9999;max-width:90vw;box-shadow:0 8px 40px #0003}#toast[hidden]{display:none}@media(max-width:767px){.top{padding:18px;gap:10px}.top-actions{gap:8px}.account{display:none}.top-actions button{padding:11px}.register-page{padding:0 14px;margin:20px auto}.registration-title{display:block}.registration-title .quiet{margin-top:10px}.emblems{padding:16px;gap:10px}.official-title strong{font-size:14px}.official-title>span{font-size:8px}.official-title small{font-size:10px}.police-photo{width:58px;height:70px}.police-photo img{width:139px;left:-33px;top:-70px}.civil-logo{width:70px;height:70px}#registration{padding:22px 16px}.form-grid{grid-template-columns:1fr;gap:17px}.login-page{display:block;padding:25px 18px}.login-story h1{font-size:32px}.login-story>img{display:none}.login-story p{font-size:13px}.login-card{padding:24px;margin-top:24px}.metrics{grid-template-columns:1fr 1fr;gap:10px}.metric{padding:16px}.metric strong{font-size:28px}.overview-grid{grid-template-columns:1fr}.workspace{padding:22px 16px}.workspace-title{padding:24px 18px 12px}h1{font-size:28px}.viewbar{align-items:flex-start}.view-switch{flex-wrap:wrap}.view-switch button{padding:8px 10px}.filters>select{max-width:none;flex:1;min-width:140px}.details{grid-template-columns:1fr}.modal-head{padding:16px}.modal-head h2{font-size:17px}.modal-head>div{gap:5px}.modal-head button{padding:10px}.modal-content{padding:20px 14px}.bar-chart button{grid-template-columns:100px 1fr 25px}.print-paper .emblems{padding:5px}.print-fields{grid-template-columns:1fr}footer{padding:20px}footer small{margin:0}.intro .primary{width:100%}.money-totals{flex-wrap:wrap}.collection-head p{font-size:12px}#nationalMap{height:400px}}
@media print{@page{size:A4;margin:12mm}body>*:not(dialog){display:none!important}dialog{position:static!important;display:block!important;width:100%!important;max-width:100%!important;max-height:none!important;border:0!important;padding:0!important;overflow:visible!important}dialog::backdrop{display:none}.modal-head,.no-print{display:none!important}.modal-content{padding:0}.print-paper{padding:0}.print-paper .emblems{border:0;padding:0}.print-paper .official-title strong{font-size:15px}.print-paper .police-photo{width:70px;height:80px}.print-paper .police-photo img{width:165px;left:-39px;top:-83px}.print-paper .civil-logo{width:85px;height:85px}.print-paper h1{font-size:17px;margin:18px 0}.print-fields{grid-template-columns:1fr 1fr}.print-fields>div{min-height:36px;break-inside:avoid}.print-note{font-size:9px}.signatures{min-height:70px}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
.entry-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0}.entry-tabs a{padding:13px;background:#EAF1FB;border-radius:9px;text-decoration:none;font-size:13px;font-weight:600}.entry-cta{display:inline-block;text-decoration:none;border-radius:10px;padding:14px 20px}#scanVideo{width:100%;max-height:350px;border-radius:12px}.geo-actions .quiet{display:inline-flex}.modal-content input[type=file]{max-width:100%}
/* Product navigation and broad registration layout */
.top{position:sticky;top:0;z-index:40;min-height:88px}.top svg,button svg,.geo-actions svg,.notification-icon svg,.announcement-banner>svg{width:20px;height:20px;flex-shrink:0}.bell-button{position:relative;display:flex;align-items:center;gap:8px}.bell-button b{background:#CA2736;color:white;min-width:18px;height:18px;border-radius:50%;font-size:10px;display:grid;place-items:center}.erp-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:calc(100vh - 88px)}.erp-shell.collapsed{grid-template-columns:78px minmax(0,1fr)}.sidebar{background:#F5F8FC;border-right:1px solid var(--line);position:sticky;top:88px;height:calc(100vh - 88px);overflow:auto;padding:20px 12px}.sidebar-top{display:flex;align-items:center;justify-content:space-between;padding:0 8px 18px;gap:8px}.sidebar-top>span{font-size:9px;letter-spacing:1.5px;color:#60728A;font-weight:700}.sidebar-toggle{padding:8px;background:#EAF1FB;display:flex}.side-link{display:flex;gap:12px;align-items:center;width:100%;padding:12px;font-size:12px;text-align:left;background:none;border-radius:8px;color:#60728A;margin:3px 0}.side-link svg{width:18px;height:18px;flex-shrink:0}.side-link.active{background:#102642;color:white}.side-group{margin-top:22px}.side-group>small{display:block;margin:0 12px 9px;font-size:9px;text-transform:uppercase;letter-spacing:1.1px;color:#60728A;font-weight:700}.erp-main{min-width:0}.erp-main .workspace-title{padding:32px 35px 10px;display:flex;gap:15px;align-items:center}.erp-main .workspace{padding:24px 35px 70px;max-width:1500px}.erp-shell.collapsed .sidebar .nav-label{display:none}.erp-shell.collapsed .side-link{justify-content:center;padding:12px 8px}.erp-shell.collapsed .sidebar-top{padding:0 0 16px;justify-content:center}.mobile-toggle,.sidebar-overlay{display:none}.wide-register{max-width:1480px;padding:0 4vw;margin:30px auto 70px}.wide-register .emblems{padding:24px 35px}.wide-register #registration{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:34px}.wide-register fieldset{margin:0}.wide-register fieldset:nth-of-type(3),.wide-register fieldset:last-of-type{grid-column:1/-1}.wide-register fieldset:nth-of-type(3) .form-grid{grid-template-columns:repeat(3,1fr)}.wide-register fieldset:last-of-type .form-grid{grid-template-columns:repeat(3,1fr)}.wide-register #registration>p,.wide-register .consent,.registration-submit{grid-column:1/-1;margin:0}.registration-submit{display:flex;gap:25px;align-items:center;justify-content:space-between;padding-top:20px;border-top:1px solid var(--line)}.registration-submit>span{font-size:13px}.wide-register .geo-actions .primary{display:inline-flex;align-items:center;gap:8px}.wide-register legend{font-size:15px}.wide-register .registration-title h1{font-size:38px}.photo-field{display:flex;flex-direction:column;gap:10px;font-size:13px;font-weight:600}.photo-frame{height:190px;position:relative;overflow:hidden;border:1.5px dashed #D8E2F0;border-radius:13px;background:#F5F8FC}.photo-frame>img{width:100%;height:100%;object-fit:cover}.photo-frame input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.photo-frame:focus-within{outline:3px solid #E7AD36}.photo-skeleton{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:#60728A}.photo-skeleton svg{width:32px;height:32px;opacity:.55}.photo-skeleton small{font-size:10px;color:#60728A}.photo-skeleton b{font-size:12px}.photo-frame.filled{border:1px solid #D8E2F0}.photo-frame.filled .photo-skeleton{display:none}.photo-frame.filled:after{content:'✓';position:absolute;right:10px;bottom:10px;width:25px;height:25px;background:#102642;color:white;border-radius:50%;display:grid;place-items:center;pointer-events:none}.announcement-banner{display:flex;align-items:center;gap:14px;padding:16px 20px;background:#EAF1FB;border:1px solid #D8E2F0;border-radius:12px;margin-bottom:16px;color:#2563B3}.announcement-banner.urgent{background:#fbefdf;border-color:#e9d8bd;color:#78562a}.announcement-banner>div{flex:1}.announcement-banner strong{display:block;font-size:13px;margin-bottom:5px}.announcement-banner span{font-size:12px;display:block;line-height:1.5}.notification-list{display:grid;gap:14px}.notification{display:flex;gap:20px;background:#fff;border:1px solid var(--line);padding:25px;border-radius:14px}.notification.unread{border-left:4px solid #2563B3}.notification-icon{width:42px;height:42px;background:#EAF1FB;color:#2563B3;border-radius:11px;display:grid;place-items:center;flex-shrink:0}.notification>div:last-child{min-width:0;flex:1}.notification h3{margin:9px 0;font-size:18px}.notification p{font-size:13px;color:#60728A;white-space:pre-line}.notification small{font-size:10px;color:#60728A}.permission-options{padding:20px;background:#F5F8FC;border-radius:12px;margin:15px 0}.permissions-table{max-height:420px;overflow:auto}.permissions-table th{position:sticky;top:0;z-index:1}.permissions-table td{padding:9px 15px}.permissions-table select{padding:8px;min-height:38px}.permissions-table td:first-child{width:50%}#invitationResult{overflow-wrap:anywhere;margin-top:20px}.sidebar nav .side-group:last-child{padding-bottom:20px}
@media(min-width:1600px){.wide-register{max-width:1660px}.wide-register #registration{padding:42px}.photo-frame{height:230px}}
@media(max-width:1100px){.erp-shell{grid-template-columns:210px minmax(0,1fr)}.erp-main .workspace,.erp-main .workspace-title{padding-left:22px;padding-right:22px}.erp-main .metrics{grid-template-columns:1fr 1fr}.erp-main .overview-grid{grid-template-columns:1fr}.wide-register #registration{padding:25px;gap:25px}.wide-register fieldset .form-grid{grid-template-columns:1fr}.wide-register fieldset:nth-of-type(3) .form-grid,.wide-register fieldset:last-of-type .form-grid{grid-template-columns:repeat(2,1fr)}.wide-register .photo-section .form-grid{grid-template-columns:1fr 1fr}}
@media(max-width:767px){.erp-shell,.erp-shell.collapsed{display:block}.sidebar{position:fixed;left:0;top:0;bottom:0;height:100vh;width:260px;z-index:65;transform:translateX(-100%);transition:transform .18s ease;padding-top:25px}.mobile-open .sidebar{transform:translateX(0)}.mobile-open .sidebar-overlay{display:block;position:fixed;inset:0;background:#10264288;z-index:60}.erp-shell.collapsed .sidebar .nav-label{display:initial}.erp-shell.collapsed .side-group>small{display:block}.erp-shell.collapsed .side-link{justify-content:flex-start;padding:12px}.erp-shell.collapsed .sidebar-top{justify-content:space-between}.mobile-toggle{display:flex;padding:10px}.sidebar-toggle{display:none}.erp-main .workspace-title{padding:24px 16px 5px}.erp-main .workspace{padding:20px 16px 60px}.erp-main .workspace-title h1{font-size:25px}.top{min-height:80px;padding:15px}.top-actions .quiet{font-size:11px}.bell-button b{position:absolute;top:3px;right:2px;font-size:8px;width:15px;height:15px;min-width:15px}.bell-button svg{width:18px;height:18px}.wide-register{padding:0 14px;margin-top:18px}.wide-register .emblems{padding:15px}.wide-register #registration{display:block;padding:22px 16px}.wide-register fieldset{margin-bottom:28px}.wide-register fieldset:nth-of-type(3) .form-grid,.wide-register fieldset:last-of-type .form-grid{grid-template-columns:1fr}.wide-register .photo-section .form-grid{grid-template-columns:1fr 1fr}.wide-register .registration-title h1{font-size:29px}.registration-submit{display:grid;gap:16px}.registration-submit .primary{width:100%}.photo-frame{height:170px}.photo-skeleton small{font-size:8px}.wide-register #registration>p{margin:15px 0}.announcement-banner{align-items:flex-start;padding:14px;gap:10px}.announcement-banner .quiet{padding:8px;font-size:10px}.notification{padding:18px;gap:12px}.notification-icon{width:32px;height:32px}.notification h3{font-size:16px}.notification p{font-size:12px}}
.audit-json{max-width:600px;max-height:250px;overflow:auto;white-space:pre-wrap;font-size:10px;padding:12px;background:#F5F8FC;border-radius:8px}.location-section .form-grid input[type=hidden]{display:none}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:#D8E2F0;border-radius:4px}
.public-announcements{max-width:1480px;margin:18px auto 0;padding:0 4vw}.public-announcements:empty{display:none}.public-announcements .announcement-banner span{max-height:40px;overflow:hidden}.public-announcements .announcement-banner.expanded span{max-height:none}
.firesafe-map-pin span{display:block;width:24px;height:24px;background:#2563B3;border:3px solid #fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 2px 7px #10264266}
/* Full upright emblem, with no crop, clipping mask, or photograph offsets. */
.police-photo{display:flex;align-items:center;justify-content:center;clip-path:none;overflow:visible;width:90px;height:108px}.police-photo img{position:static;width:100%;height:100%;max-width:100%;object-fit:contain;object-position:center}
@media(max-width:767px){.police-photo{width:60px;height:75px}.police-photo img{position:static;width:100%;height:100%;max-width:100%;object-fit:contain}}
@media print{.print-paper .police-photo{width:70px;height:85px}.print-paper .police-photo img{position:static;width:100%;height:100%;max-width:100%;object-fit:contain}}

/* CFD visual language v2: navy authority, open blue canvas, restrained gold and red. */
@font-face{font-family:Lato;src:url('/platform/fonts/Lato-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Lato;src:url('/platform/fonts/Lato-Bold.ttf') format('truetype');font-weight:600 900;font-style:normal;font-display:swap}
:root{--navy:#102642;--blue:#2563B3;--gold:#E7AD36;--red:#CA2736;--canvas:#F5F8FC;--line:#D8E2F0;--muted:#60728A;color:var(--navy);background:var(--canvas);font-family:Lato,Arial,sans-serif}
[hidden]{display:none!important}h1,h2,h3{color:var(--navy)}h1{font-weight:700;letter-spacing:-.7px}h2,h3{letter-spacing:-.2px}a{color:var(--blue);text-underline-offset:3px}button,input,select,textarea{border-radius:12px}input,select{min-height:50px}textarea{min-height:112px}input,select,textarea{border-color:#C7D5E7}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:3px solid #2563B34D;outline-offset:3px}.primary{background:var(--red);color:#fff;min-height:48px}.quiet{border:1px solid var(--line);background:#fff;color:var(--navy);min-height:44px}.top{height:72px;min-height:72px;padding:12px 40px}.top-actions select{min-height:42px;padding:8px 12px;font-size:13px}.wordmark{color:var(--navy);font-size:22px}.wordmark small{color:var(--muted);letter-spacing:1.2px}.top-actions a{font-size:13px}.erp-shell{grid-template-columns:256px minmax(0,1fr);min-height:calc(100vh - 72px)}.sidebar{top:72px;height:calc(100vh - 72px);padding:24px 16px;background:#fff}.side-link{padding:14px 12px;font-size:13px;border-radius:12px;color:#465D78}.side-link.active{background:var(--navy);color:#fff;box-shadow:inset 3px 0 var(--gold)}.side-link:hover:not(.active){background:#F0F5FC}.side-group{margin-top:24px}.side-group>small{color:#72839A;letter-spacing:.7px}.sidebar-toggle{background:var(--canvas);color:var(--navy)}.erp-main .workspace-title{padding:32px 40px 0}.erp-main .workspace{padding:24px 40px 64px;max-width:1800px}.workspace-title h1{font-size:32px}.intro{margin-bottom:32px}.intro h2{font-size:25px}.intro p{margin-bottom:0}.metrics{gap:24px;margin:24px 0 48px}.metric{padding:24px;border-radius:18px;gap:14px;background:white;min-height:152px;border-color:var(--line)}.metric strong{font-size:36px;color:var(--navy)}.metric.active{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}.metric:hover,.record-card:hover{border-color:#9DB7DB}.surface,.record-card,.table-scroll{border-radius:18px}.surface{padding:32px}.surface h3{margin-top:0;font-size:19px}.overview-grid{gap:24px}.bar-chart button{padding:16px 0}.bar-chart button>div{background:#EAF1FB}.bar-chart i{background:var(--blue);height:26px}.view-switch{background:#EAF1FB}.view-switch .selected,.tabs .selected{background:var(--navy)}.filters{background:#EDF3FB;padding:20px;gap:12px;border-radius:18px;margin-bottom:24px}.filters label{color:#465D78}th{background:#F5F8FC;color:#60728A;text-transform:none;font-size:12px;letter-spacing:0}th,td{padding:18px 20px;min-height:56px}tbody tr:hover{background:#FAFCFF}.cards{gap:24px}.record-card{padding:24px}.record-card h3{margin:24px 0 12px}.tag{border-radius:8px;padding:7px 10px}.tag.success{background:#EAF1FB;color:#20558D}.tag.amber{background:#FFF5DF;color:#765418}.tag.red{background:#FCECEE;color:#A31F30}.info,.permission-options{background:#EAF1FB;color:#355779}.announcement-banner{background:#EFF5FD;border-color:var(--line);color:#294F7D}.announcement-banner.urgent{background:#FFF4E4;color:#805416;border-color:#EED4A4}.notification.unread{border-left-color:var(--blue)}.notification-icon{background:#EAF1FB;color:var(--blue)}.photo-frame{border-color:#B7CAE3;background:#F5F8FC;border-radius:18px}.photo-skeleton{color:#607C9E}.photo-frame.filled:after{background:var(--blue)}.photo-frame.filled{border-color:#9DB7DB}.firesafe-map-pin span{background:var(--blue);box-shadow:0 2px 7px #10264266}dialog::backdrop,.mobile-open .sidebar-overlay{background:#10264280}.modal-content{padding:32px}.modal-head{padding:20px 32px}.modal-content fieldset{margin-bottom:32px}#toast{background:var(--navy)}footer{padding:24px 40px;color:var(--navy)}.entry-tabs a{background:#EAF1FB;color:var(--navy);border:1px solid var(--line);padding:16px}.entry-tabs a:hover{border-color:var(--blue)}
/* Entry pages share authentic identity, then give each role a quiet, distinct composition. */
.login-page{max-width:1380px;padding:32px 48px 64px;gap:32px 64px;grid-template-columns:1.1fr 1fr}.login-identity{grid-column:1/-1}.login-identity .emblems{background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:12px 0 24px}.login-identity .police-photo{width:55px;height:65px}.login-identity .civil-logo{width:65px;height:65px}.login-identity .official-title strong{font-size:15px}.login-identity .official-title>span{font-size:10px}.login-identity .official-title small{font-size:11px}.login-story h1{font-size:48px;line-height:1.12}.login-story p{max-width:460px;color:var(--muted)}.login-card{border-radius:24px;padding:40px;background:#fff;box-shadow:0 12px 40px #10264205}.role-command .login-card{border-top:4px solid var(--gold)}.role-admin .login-card{border-top:4px solid var(--blue)}.role-public .login-card{border-top:4px solid var(--red)}.login-card h2{margin:16px 0 24px}.login-card form{gap:24px}.role-command .login-story,.role-admin .login-story{color:var(--navy)}
/* Online F-01: faithful field order and sections, with progressive disclosure. */
.wide-register{max-width:1440px;padding:0 48px;margin:32px auto 64px}.wide-register .emblems{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:8px 0 32px;gap:32px}.official-title strong{font-size:20px}.official-title>span{font-size:12px;letter-spacing:.2px;font-weight:700}.official-title small{color:var(--muted);font-size:12px}.wide-register .civil-logo{width:88px;height:88px}.wide-register .police-photo{width:78px;height:90px}.registration-title{margin:40px 0 24px;align-items:flex-start}.wide-register .registration-title h1{font-size:36px;margin:12px 0}.registration-title p{font-size:15px;color:var(--muted);margin:0}.eyebrow{color:var(--muted);letter-spacing:1.3px;font-size:11px}.form-tools{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:flex-end}.form-tools a{display:inline-flex;align-items:center;text-decoration:none;padding:12px 16px;font-size:12px}.form-tools button{font-size:12px}.registration-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 24px;font-size:12px;color:var(--muted)}.registration-meta button{font-size:12px;background:transparent;color:var(--blue);padding:8px 0}.registration-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:32px}.registration-steps button{display:flex;align-items:center;text-align:left;gap:12px;padding:16px;background:transparent;color:var(--muted);border:1px solid var(--line);font-size:13px;font-weight:700}.registration-steps button b{border-radius:50%;width:30px;height:30px;display:grid;place-items:center;background:#E6EDF7;flex-shrink:0}.registration-steps button[aria-current=step]{background:var(--navy);border-color:var(--navy);color:white}.registration-steps button[aria-current=step] b{background:var(--gold);color:var(--navy)}.wide-register #registration{display:block;padding:32px;border-radius:24px;border:1px solid var(--line);scroll-margin-top:96px}.wide-register fieldset.reference-section{margin:0 0 48px;padding:0}.wide-register fieldset.reference-section:last-child{margin-bottom:0}.wide-register legend{font-size:16px;letter-spacing:.2px;padding:0 0 20px;margin-bottom:24px;display:flex;align-items:center;gap:12px;line-height:1.4}.reference-section legend b{background:#FDF2D9;color:#7B5713;border-radius:8px;min-width:36px;height:30px;display:inline-grid;place-items:center;font-size:13px}.identification-columns{display:grid;grid-template-columns:1fr 1fr;gap:48px}.identification-columns h3,.location-section h3{font-size:12px;color:var(--blue);letter-spacing:.5px;margin:0 0 24px;text-transform:uppercase}.wide-register .form-grid,.wide-register fieldset:nth-of-type(3) .form-grid,.wide-register fieldset:last-of-type .form-grid{grid-template-columns:1fr 1fr;gap:24px}.wide-register .form-grid.single{grid-template-columns:1fr;gap:24px}.field{font-size:13px;gap:10px;line-height:1.4}.location-section{border-top:1px solid var(--line);padding-top:32px;margin-top:32px}.location-section .form-grid{display:block}.location-section .geo-actions{margin:20px 0 0}.wide-register .safety-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.emergency-field{margin-top:32px}.wide-register .assurance-grid{background:var(--canvas);border-radius:18px;padding:24px}.wide-register .account-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.wide-register .photo-section{grid-template-columns:1fr 1fr!important}.photo-frame{height:250px}.registration-submit{display:flex;align-items:center;gap:16px;margin-top:32px;padding-top:24px;border-top:1px solid var(--line);justify-content:flex-start}.registration-submit>span{color:var(--muted);font-size:12px;margin-right:auto}.registration-submit .primary{min-width:160px}.register-signin{text-align:center;color:var(--muted);font-size:13px;margin-top:24px}.consent{margin:28px 0 20px}.photo-skeleton small{color:var(--muted)}
/* A4 output follows the supplied F-01 composition, without account credentials. */
.f01-paper .emblems{padding:0 0 16px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:white}.f01-title{display:flex;align-items:center;justify-content:space-between;background:var(--navy);color:white;border-radius:10px;padding:18px 20px;margin:20px 0}.f01-title h1{color:white;font-size:22px;text-align:left;margin:0}.f01-title>span{text-align:right;font-size:12px}.f01-title small{font-size:9px}.f01-paper h2{font-size:14px;border-bottom:1px solid var(--line);padding-bottom:10px;margin:20px 0 12px}.f01-paper h3{font-size:10px;color:var(--blue);margin:0 0 8px}.f01-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.f01-cell{margin-bottom:8px;break-inside:avoid}.f01-cell strong{display:block;font-size:10px;margin-bottom:4px}.f01-cell>span{display:block;border:1px solid #C7D5E7;min-height:25px;padding:5px 8px;font-size:11px;white-space:pre-line;overflow-wrap:anywhere}.f01-safety{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.f01-declaration{padding:12px 16px;margin:16px 0;border:1px solid var(--line);border-radius:10px;font-size:11px}.f01-declaration p{margin:6px 0}.f01-paper .signatures{gap:48px;margin-top:24px;min-height:60px}.f01-paper .signatures>div{flex:1;padding-top:12px;font-size:10px}.signatures hr{border:0;border-top:1px solid var(--line);margin:12px 0 8px}.print-note{color:var(--muted)}
@media(min-width:1600px){.wide-register{max-width:1520px}.wide-register #registration{padding:40px}}
@media(max-width:1199px){.erp-shell{grid-template-columns:220px minmax(0,1fr)}.erp-main .workspace,.erp-main .workspace-title{padding-left:24px;padding-right:24px}.overview-grid{grid-template-columns:1fr}.wide-register{padding:0 32px}.wide-register .safety-grid{grid-template-columns:1fr 1fr!important}.wide-register .account-grid{grid-template-columns:1fr 1fr!important}.registration-steps{gap:12px}.registration-steps button{padding:12px;font-size:12px}.registration-title{display:block}.form-tools{justify-content:flex-start;margin-top:24px}.login-page{padding:24px 32px 48px;gap:32px}.login-story h1{font-size:40px}}
@media(max-width:767px){.top{padding:12px 16px}.erp-shell,.erp-shell.collapsed{display:block}.sidebar{top:0;height:100vh;padding-top:24px}.erp-main .workspace,.erp-main .workspace-title{padding-left:16px;padding-right:16px}.surface{padding:24px}.metrics{gap:12px;margin-bottom:32px}.metric{min-height:138px;padding:20px}.metric strong{font-size:30px}.wide-register{padding:0 16px;margin:24px auto 48px}.wide-register .emblems{padding:0 0 24px;gap:12px}.wide-register .civil-logo{width:54px;height:54px}.wide-register .police-photo{width:48px;height:58px}.official-title strong{font-size:12px;line-height:1.4}.official-title>span{font-size:8px;line-height:1.5}.official-title small{font-size:9px;line-height:1.4}.registration-title{margin-top:24px}.wide-register .registration-title h1{font-size:28px;line-height:1.2}.registration-title p{font-size:14px}.registration-meta{align-items:flex-start;font-size:11px;gap:12px}.registration-meta button{flex-shrink:0;font-size:11px}.registration-steps{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:24px}.registration-steps button{font-size:11px;padding:10px;gap:8px}.registration-steps button b{width:25px;height:25px}.wide-register #registration{padding:24px 20px;border-radius:18px;display:block}.wide-register legend{font-size:13px;gap:10px}.identification-columns{grid-template-columns:1fr;gap:32px}.wide-register .form-grid,.wide-register fieldset:last-of-type .form-grid,.wide-register .account-grid{grid-template-columns:1fr!important;gap:24px}.wide-register .safety-grid{grid-template-columns:1fr 1fr!important;gap:20px}.wide-register .photo-section{grid-template-columns:1fr!important}.photo-frame{height:220px}.wide-register .assurance-grid{padding:20px}.registration-submit{position:sticky;bottom:0;background:white;z-index:3;padding:16px 0 0;gap:10px}.registration-submit>span{font-size:11px}.registration-submit .primary{min-width:0;width:auto;font-size:12px;padding:12px 16px}.registration-submit .quiet{font-size:12px;padding:12px}.registration-submit #submitSignup{max-width:65%}.login-page{display:block;padding:24px 20px 48px}.login-identity{margin-bottom:32px}.login-identity .official-title strong{font-size:11px}.login-identity .official-title>span{font-size:8px}.login-identity .official-title small{font-size:8px}.login-identity .civil-logo{width:48px;height:48px}.login-identity .police-photo{width:42px;height:52px}.login-story h1{font-size:34px}.login-card{padding:28px 24px}.login-card h2{font-size:28px}.modal-content{padding:24px 16px}.modal-head{padding:16px}.f01-title h1{font-size:17px}.f01-columns{gap:16px}.f01-safety{grid-template-columns:1fr 1fr}.f01-paper .signatures{gap:24px}footer{padding:24px 16px}}
@media print{.f01-paper .emblems{padding:0 0 12px}.f01-paper .emblems .official-title strong{font-size:13px}.f01-paper .official-title>span{font-size:9px}.f01-paper .official-title small{font-size:9px}.f01-paper .civil-logo{width:65px;height:65px}.f01-paper .police-photo{width:56px;height:68px}.f01-title{padding:14px 16px;margin:16px 0}.f01-title h1{font-size:18px;margin:0}.f01-paper h2{font-size:12px;margin:18px 0 10px}.f01-columns{grid-template-columns:1fr 1fr;gap:24px}.f01-safety{grid-template-columns:repeat(4,1fr);gap:12px}.f01-cell{margin-bottom:7px}.f01-cell>span{min-height:23px;padding:4px 6px;font-size:10px}.f01-declaration{margin:12px 0;padding:10px 12px}.f01-paper .signatures{margin-top:20px}.f01-paper .print-note{border-top:1px solid var(--line);padding-top:10px}.print-paper:before{opacity:.025}}
.wide-register fieldset.reference-section .form-grid.single{grid-template-columns:1fr}
.form-tools a.quiet{border-radius:12px}
