:root{--ink:#172c30;--orange:#e97737;--muted:#667573;--line:#dbe2de;--paper:#f4f6f2;--green:#2b7051}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-size:14px;line-height:1.6}a{color:inherit}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:3px}h1{font-size:34px;line-height:1.2;letter-spacing:-1.3px;font-weight:500;margin:8px 0 15px}h2{font-size:24px;line-height:1.3;font-weight:500;margin:8px 0 20px}p{margin:10px 0 20px}label{display:block;font-size:12px;font-weight:600;margin:0 0 18px}input,select,textarea{display:block;width:100%;border:1px solid #bdc9c2;background:#fff;border-radius:5px;padding:11px 12px;font-size:14px;color:var(--ink);margin-top:6px;min-width:0}input[type=checkbox]{width:18px;height:18px;flex:none;margin:2px 0 0;accent-color:#235a45}textarea{min-height:90px;resize:vertical}small{display:block;font-weight:400;font-size:11px;color:var(--muted);margin-top:5px}.p-brand{text-decoration:none;font-size:20px;font-weight:700;letter-spacing:-.7px;display:block}.p-brand span{color:var(--orange)}.p-eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;margin:0 0 12px}.p-muted{color:var(--muted)}.p-small{font-size:12px;color:var(--muted)}.p-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #bccac2;background:#fff;color:var(--ink);padding:10px 17px;border-radius:5px;text-decoration:none;font-size:12px;font-weight:600;gap:8px}.p-button:hover{background:#e8eee8}.p-button.primary{background:var(--ink);border-color:var(--ink);color:#fff}.p-button.primary:hover{background:#31554d}.p-link{background:none;border:0;padding:4px 0;color:#245d4b;text-decoration:underline;font-size:12px;display:block}.p-grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.p-check{display:flex;gap:10px;align-items:start;font-weight:400;font-size:13px}.p-error{background:#fff0e8;border:1px solid #e1b08d;border-left:4px solid #bc5f2a;padding:14px;margin-bottom:20px;font-size:13px}.p-notice{padding:12px 18px;background:#dff1e6;margin-bottom:20px}.portal-app{display:flex;min-height:100vh}.p-sidebar{width:260px;flex:none;background:#172c30;color:#fff;padding:30px 22px;position:fixed;inset:0 auto 0 0;overflow:auto;display:flex;flex-direction:column;gap:30px}.p-sidebar .p-brand{font-size:18px;white-space:nowrap}.p-sidebar .p-eyebrow{color:#a7bcb1;margin:0}.p-sidebar label{color:#a6bfb4;margin:0}.p-sidebar select{background:#26433f;border-color:#4d655a;color:#fff}.p-sidebar nav{display:flex;flex-direction:column;gap:6px;margin:0 -8px}.p-sidebar nav button{display:flex;gap:12px;background:transparent;border:0;border-radius:5px;text-align:left;color:#b8cbc5;padding:13px 12px;font-size:12px}.p-sidebar nav button.current{color:#fff;background:#355249;border-left:3px solid var(--orange)}.p-sidebar nav button:hover{background:#2a433e}.p-future{border-top:1px solid #466055;padding-top:20px;font-size:11px;color:#b7c8bd}.p-future p{margin:6px 0 0}.p-back{font-size:11px;color:#bdcec6;margin-top:auto}.p-account{font-size:10px;color:#a2b9af;overflow-wrap:anywhere}.p-main{margin-left:260px;min-width:0;width:calc(100% - 260px)}.p-topbar{padding:22px 35px;border-bottom:1px solid var(--line);background:#fff;display:flex;justify-content:space-between;gap:20px;font-size:11px}.p-topbar>div{color:var(--muted)}.live-dot{display:inline-block;border-radius:50%;width:6px;height:6px;background:#4a9b66;margin-right:7px}.live-dot.offline{background:#d2863f}.p-main main{padding:38px 35px}.p-heading{display:flex;justify-content:space-between;gap:25px;align-items:start;margin-bottom:30px}.p-heading h1{font-size:32px}.p-heading .p-muted{font-size:13px;margin-bottom:0}.p-actions{display:flex;gap:10px;flex-wrap:wrap}.p-heading .p-actions{flex:none;padding-top:5px}.p-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:28px}.p-stats article{border:1px solid var(--line);border-radius:6px;padding:20px;background:#fff;display:flex;flex-direction:column}.p-stats article>span{font-size:11px;color:var(--muted)}.p-stats strong{font-size:38px;font-weight:500;line-height:1.2;margin-top:15px}.p-stats b{font-size:15px;margin-top:18px;font-weight:500}.p-filters{display:flex;gap:15px;align-items:end;margin-bottom:23px;flex-wrap:wrap}.p-filters label{min-width:170px;flex:1;margin:0}.p-filters label:first-child{flex:2}.p-filters input,.p-filters select{background:#fff}.p-table-wrap{border:1px solid var(--line);border-radius:7px;background:#fff;overflow:auto;max-height:65vh}table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}thead{position:sticky;top:0;background:#e9eeea;z-index:1}th{font-size:10px;text-transform:uppercase;letter-spacing:.6px;font-weight:600;padding:15px;white-space:nowrap}td{padding:15px;border-top:1px solid #e3e8e3;vertical-align:top}td small{font-size:10px}td b{font-weight:600;white-space:nowrap}.p-badge{display:inline-block;font-size:10px;border-radius:4px;padding:3px 7px;white-space:nowrap}.p-badge.green{color:#285c40;background:#e1efe4}.p-badge.amber{color:#8a5521;background:#f8ebd7}.p-empty{padding:45px 25px;text-align:center;color:var(--muted);font-size:14px}.p-footer{padding:20px 35px;color:#7b8980;font-size:10px;border-top:1px solid var(--line)}.p-panel{background:#fff;border:1px solid var(--line);padding:28px;border-radius:7px;margin-bottom:25px}.p-tunnel-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:25px}.p-tunnel-grid .p-panel{margin:0 0 20px}.qr-small{display:block;width:180px;height:180px;margin:25px auto}.p-stack{display:flex;flex-direction:column;gap:10px}.p-members{list-style:none;padding:0;margin:25px 0 0}.p-members li{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding:16px 0}.p-overlay{position:fixed;inset:0;background:#0c242bcc;display:flex;align-items:center;justify-content:center;padding:25px;z-index:20;overflow:auto}.p-modal{position:relative;padding:35px;background:#fff;border-radius:8px;width:min(650px,100%);max-height:90vh;overflow:auto}.p-close{position:absolute;right:12px;top:8px;border:0;background:none;font-size:28px;color:#56695e}.p-modal details{margin:20px 0;border:1px solid var(--line);padding:15px}.p-modal summary{cursor:pointer;font-size:12px;margin-bottom:12px}.p-modal dl>div{display:grid;grid-template-columns:1fr 1.4fr;gap:20px;padding:9px 0;border-bottom:1px solid var(--line);font-size:12px}.p-modal dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.p-modal dt{color:var(--muted)}.print-caption{display:none}.reg-shell{min-height:100vh;padding:35px 20px}.reg-shell>.p-brand{margin:0 auto 30px;max-width:590px}.reg-card{max-width:590px;margin:auto;background:#fff;border:1px solid var(--line);border-radius:10px;padding:35px}.reg-card h1{font-size:32px}.p-tabs{display:flex;border-bottom:1px solid var(--line);margin:25px 0}.p-tabs button{flex:1;padding:13px;border:0;background:#fff;color:var(--muted)}.p-tabs .selected{border-bottom:3px solid var(--orange);color:var(--ink);font-weight:600}.reg-card form>.p-button{width:100%;padding:14px}.reg-footer{max-width:590px;margin:25px auto;color:var(--muted);font-size:11px;text-align:center}.reg-success{text-align:center;padding:25px 0}.success-icon{font-size:40px;color:#39815b}.receipt{display:block;background:#e9efea;padding:20px;font-size:20px;letter-spacing:2px;margin-bottom:20px}.qr-overlay{position:fixed;inset:0;background:#e3e8e3;z-index:40;overflow:auto;padding:20px}.qr-controls{display:flex;gap:10px;justify-content:center;margin-bottom:20px}.qr-poster{max-width:750px;background:#fff;margin:auto;padding:50px;text-align:center}.qr-poster .p-eyebrow{margin-top:35px}.qr-poster img{width:min(320px,100%);margin:15px auto;display:block}.qr-poster ol{text-align:left;max-width:350px;margin:20px auto}.qr-poster small{margin-top:25px}@media(max-width:1150px){.p-sidebar{width:220px;padding:25px 15px}.p-sidebar .p-brand{font-size:16px}.p-main{margin-left:220px;width:calc(100% - 220px)}.p-heading{display:block}.p-heading .p-actions{margin-top:20px}.p-stats{grid-template-columns:repeat(2,1fr)}.p-main main{padding:28px 25px}.p-topbar{padding:20px 25px}}@media(max-width:750px){.portal-app{display:block}.p-sidebar{position:relative;width:100%;padding:20px;gap:15px}.p-sidebar nav{display:flex;flex-direction:row;overflow:auto;gap:8px;margin:0}.p-sidebar nav button{white-space:nowrap;padding:10px}.p-sidebar .p-eyebrow,.p-future,.p-back,.p-account{display:none}.p-sidebar select{max-width:300px}.p-main{margin-left:0;width:100%}.p-main main{padding:25px 16px}.p-topbar{padding:15px 18px;font-size:10px;flex-wrap:wrap}.p-heading h1{font-size:29px}.p-stats{gap:10px}.p-stats article{padding:15px}.p-stats strong{font-size:32px}.p-filters{gap:12px}.p-filters label{min-width:140px}.p-tunnel-grid{grid-template-columns:1fr}.p-grid2{grid-template-columns:1fr;gap:0}.reg-shell{padding:25px 12px}.reg-card{padding:25px 20px}.p-modal{padding:30px 20px}.p-overlay{padding:10px}.p-members li{flex-wrap:wrap}.qr-poster{padding:35px 20px}.p-topbar>span{display:none}.p-footer{padding:20px}.receipt{font-size:16px}}@media print{body{background:#fff;color:#000}.p-sidebar,.p-topbar,.p-heading,.p-filters,.p-stats,.p-footer,.p-actions,.no-print,.p-overlay,.p-notice,.p-main main>.p-small{display:none!important}.p-main{width:100%;margin:0}.p-main main{padding:0}.p-table-wrap{overflow:visible;max-height:none;border:0}table{font-size:9px}th,td{padding:8px 5px}thead{position:static;display:table-header-group}tr{break-inside:avoid}.print-caption{display:block;margin-bottom:20px}.print-caption h2{font-size:20px}.print-caption p{font-size:10px}.p-badge{border:1px solid #888;background:#fff!important;color:#000!important;font-size:8px}.has-qr>.p-main,.has-qr>.p-sidebar{display:none!important}.qr-overlay{position:static;padding:0;background:#fff}.qr-controls{display:none}.qr-poster{padding:15mm 10mm;max-width:none}.qr-poster img{width:85mm}.p-error{display:block}.qr-poster h1{font-size:35px}@page{margin:12mm;size:A4 landscape}.has-qr .qr-poster{page:qr}@page qr{size:A4 portrait}}.section-subtitle{margin-top:35px;font-size:21px}.entry-table{max-height:none;margin-bottom:25px}.entry-table td{padding:8px}.entry-table input{min-width:130px;margin:0}.entry-table th{padding:12px 8px}.reg-privacy{border-top:1px solid var(--line);margin-top:30px;padding-top:18px}.reg-card details{font-size:12px;margin-bottom:22px}.reg-card summary{cursor:pointer;font-weight:600}.reg-card details p{margin:15px 0}.emergency-text{white-space:pre-wrap;border-left:3px solid var(--orange);padding-left:15px}@media print{.section-subtitle{margin-top:25px}.p-table-wrap{margin-bottom:25px}}.entry-table .p-check{font-size:11px;white-space:nowrap;margin-bottom:8px}.entry-table input[type=checkbox]{min-width:18px;width:18px}.entry-table input[type=date]{min-width:145px}.entry-table td{min-width:130px}.entry-table td:last-child{min-width:35px}.project-logo{display:block;object-fit:contain;background:#fff;max-width:100%}.sidebar-project-logo{width:185px;border-radius:5px}.login-logo{width:240px;margin:0 auto 25px}.registration-logo{width:220px;margin:-10px auto 20px}.qr-project-logo{width:290px!important;height:auto;margin:0 auto!important}.qr-poster>.project-logo{width:260px!important}.surname-results{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;max-height:330px;overflow:auto}.surname-result{padding:13px;background:#f4f6f2;border:1px solid var(--line);border-radius:5px;text-align:left}.surname-result span{display:block;font-size:12px}.surname-result:hover{border-color:var(--green);background:#e8efe8}@media(max-width:700px){.surname-results{grid-template-columns:1fr}.sidebar-project-logo{width:140px}}@media print{.qr-poster>.qr-project-logo{width:65mm!important;height:auto!important;break-inside:avoid;print-color-adjust:exact}}@media print{.qr-poster{padding:4mm 8mm;font-size:12px;line-height:1.4;break-inside:avoid}.qr-poster>.qr-project-logo{width:52mm!important;margin:3mm auto!important}.qr-poster .p-eyebrow{margin:3mm 0 1mm}.qr-poster h1{font-size:30px;margin:2mm 0 3mm}.qr-poster h2{font-size:19px;line-height:1.3;margin:2mm 0 3mm}.qr-poster>img:not(.project-logo){width:82mm;height:82mm;margin:3mm auto}.qr-poster ol{margin:3mm auto;max-width:110mm}.qr-poster p{margin:3mm 0}.qr-poster small{margin-top:3mm}.qr-poster .p-brand{font-size:17px}}.paper-register{font:10px/1.25 Arial,sans-serif;color:#111}.paper-register header{display:block;position:static;background:#fff;color:#111;padding:0;border:0}.paper-register header>div{display:flex;justify-content:space-between;align-items:center}.paper-register .paper-project-logo{width:110px;height:auto;max-height:55px;object-fit:contain;margin:0}.paper-register h1{font-size:20px;letter-spacing:0;margin:5px 0 8px}.paper-register p{font-size:10px;margin:5px 0}.paper-register small{font-size:9px;color:#333}.paper-register table{width:100%;border-collapse:collapse;table-layout:fixed;margin:10px 0 0;font-size:10px}.paper-register thead{display:table-header-group}.paper-register th,.paper-register td{border:1px solid #222;padding:5px 6px;vertical-align:middle;white-space:normal;overflow-wrap:anywhere}.paper-register thead th{background:#e8edf3!important;color:#111!important;font-size:9px;text-transform:none;letter-spacing:0}.paper-register .company-divider th{background:#08295e!important;color:#fff!important;font-size:10px;text-transform:none;letter-spacing:0;print-color-adjust:exact;-webkit-print-color-adjust:exact;border-color:#08295e}.paper-register .company-divider th:first-child{text-align:left}.paper-register .company-divider span{font-weight:400}.paper-register tr{break-inside:avoid}.paper-register .company-divider{break-after:avoid}.paper-register tbody{break-inside:auto}.paper-register .sign-cell,.paper-register .time-cell{height:9mm}.paper-register .time-cell{text-align:center;color:#777;font-size:12px;letter-spacing:5px}.paper-register footer{display:block;background:#fff;color:#111;padding:0;margin:10px 0 0;border:0;break-inside:avoid}.paper-register footer table th{font-size:9px}.paper-register footer table{font-size:10px}.paper-register header,.paper-register footer{box-shadow:none}.paper-register{display:block;position:fixed;inset:0;z-index:70;background:#e3e8e3;overflow:auto;padding:24px}.paper-controls{display:flex;gap:12px;justify-content:center;margin:0 0 20px}.paper-sheet{background:#fff;margin:0 auto;padding:30px;width:1100px;max-width:none}.paper-register header{display:block;position:static;width:auto;margin:0}.paper-register .paper-project-logo{display:block;max-width:110px}.paper-register table{font-size:12px}.paper-register th,.paper-register td{padding:6px}.paper-register .company-divider th{background:#08295e!important;color:#fff!important}.paper-register tbody td{background:#fff;color:#111}.paper-register footer table th{background:#e8edf3;color:#111}.paper-register .company-divider th{border-color:#08295e}.paper-register .paper-controls{position:sticky;top:0;z-index:1}.paper-register .paper-controls button{box-shadow:0 1px 5px #0002}@media print{.printing-control .p-main main>*{display:none!important}.printing-control .p-main main>.paper-register{display:block!important;position:static;overflow:visible;padding:0;background:#fff}.paper-register .paper-sheet{width:100%;max-width:none;margin:0;padding:0}.paper-register .paper-controls{display:none!important}.paper-register table{font-size:10px}.paper-register th,.paper-register td{padding:5px 6px}.printing-control .print-caption{display:none!important}}.roster-person-list{display:grid;gap:24px}.roster-person{border:1px solid #bdc9c2;border-radius:8px;padding:22px;min-width:0;background:#fff}.roster-person legend{font-size:16px;font-weight:700;padding:0 10px}.roster-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 18px}.roster-certificates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 20px}.roster-certificates section{padding:16px;border:1px solid var(--line);border-radius:6px;background:#f5f7f4}.roster-certificates h3{font-size:15px;margin:0 0 12px}.roster-certificates label:last-child{margin-bottom:0}.roster-checks{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.roster-person-list+.p-actions{margin-top:22px}@media(max-width:1100px){.roster-fields{grid-template-columns:1fr 1fr}.roster-certificates{grid-template-columns:1fr}}@media(max-width:650px){.roster-fields,.roster-checks{grid-template-columns:1fr}.roster-person{padding:15px}}.paper-sheet{max-width:100%;min-width:760px}@media print{.paper-register .paper-sheet{min-width:0}}.p-badge.red{color:#8a2118;background:#fde2df;border:1px solid #d79a92}.registry-results{display:grid;gap:14px;margin-top:20px}.p-badge.blue,.p-badge.amber{color:#103e82;background:#e1edff;border:1px solid #91b6eb}
