:root{font:16px/1.5 Arial,Helvetica,sans-serif;color:#173641;background:#eef3f6}*{box-sizing:border-box}body{margin:0}header{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:#0c4353;color:white;padding:18px 5%}.brand{font-size:26px;font-weight:bold;color:white;text-decoration:none}.badge{font-size:12px;border:1px solid #6c929f;padding:4px 8px;border-radius:5px}#identity{margin-left:auto;font-size:14px}header button{background:transparent;color:white;border-color:#70929e}main{max-width:1250px;margin:auto;padding:24px}.narrow{max-width:600px;margin:24px auto}.panel{padding:24px;background:white;border:1px solid #d7e2e7;border-radius:16px;margin-bottom:24px}.notice{background:#fff6db;border:1px solid #e4d598;border-radius:8px;padding:12px 16px;font-size:14px}.error,.success{padding:14px;border-radius:8px}.error{background:#ffefee;color:#a32432}.success{background:#def4e8;color:#176445}h1{font-size:30px;line-height:1.2;margin:10px 0 20px}h2{font-size:21px}h3{font-size:18px}button,.button{min-height:46px;border:1px solid #bbcdd5;border-radius:8px;padding:11px 18px;font:inherit;font-weight:bold;cursor:pointer;background:white;color:#174d5b;text-decoration:none;display:inline-block}.primary{background:#0c6872;color:white;border-color:#0c6872}.wide{width:100%;margin:8px 0}.scan{min-height:64px;font-size:20px}button:disabled{opacity:.5;cursor:not-allowed}label{display:block;font-size:14px;font-weight:bold;margin:16px 0}input:not([type=checkbox]),textarea,select{width:100%;padding:12px;border:1px solid #bbcdd5;border-radius:8px;font:16px Arial;color:#173641;background:white;margin-top:6px}textarea{min-height:100px}.check{display:flex;align-items:center;gap:12px;font-weight:normal}.check input{width:20px;height:20px;flex-shrink:0}.small{font-size:14px;color:#526c77}.eyebrow{font-size:14px;color:#507781;font-weight:bold}.client{padding:16px;background:#edf6f8;border-left:4px solid #24acaa;margin:20px 0}.client strong{display:block;font-size:23px}.client span,.record span{display:block;font-size:14px;color:#526c77}.record{border-top:1px solid #dce6eb;padding:14px 0;overflow-wrap:anywhere}.record button{margin:8px 8px 0 0}.actions,.heading{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.heading{justify-content:space-between}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:20px 0}.stats>div{background:#0c4353;color:white;padding:20px;border-radius:12px}.stats strong{display:block;font-size:32px}.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;padding:12px;border-bottom:1px solid #dce6eb;vertical-align:top}form{max-width:600px}dialog{border:0;border-radius:16px;width:min(650px,94vw);padding:24px;color:#173641}dialog::backdrop{background:#0b273bbb}video{width:100%;max-height:55vh;background:#123441;border-radius:10px}details{margin:16px 0}summary{cursor:pointer}#generatedPassword{display:block;overflow-wrap:anywhere;font-size:18px;background:#edf6f8;padding:16px;margin:16px 0}.qrcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.qrcard{padding:20px;border:1px solid #bbcdd5;border-radius:10px;text-align:center;break-inside:avoid}.qrcard img{display:block;width:160px;height:160px;margin:auto}.qrcard h3{overflow-wrap:anywhere}[hidden]{display:none!important}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #139bab;outline-offset:3px}@media(max-width:700px){main{padding:16px}.panel{padding:20px}header{padding:14px 16px;gap:10px}.badge{display:none}.stats{grid-template-columns:1fr;gap:8px}.stats>div{padding:14px}.stats strong{display:inline;margin-right:12px;font-size:24px}.qrcards{grid-template-columns:1fr}.actions>button{width:100%}h1{font-size:26px}}@page{size:A4;margin:12mm}@media print{body{background:white}header,main>.notice,main>.error,main>.success,#loginPanel,#workPanel,#adminPanel>.heading,#adminPanel>.stats,#adminPanel>.panel:not(.qrsection){display:none!important}main{padding:0}.qrsection{margin:0;border:0;padding:0}.qrsection>.heading,.printhelp{display:none!important}.qrcards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8mm}.qrcard{border:1px solid black;border-radius:0;padding:6mm}.qrcard img{width:42mm;height:42mm}}
