:root{color-scheme:dark;font-family:Inter,Arial,sans-serif;background:#080808;color:#fff}*{box-sizing:border-box}body{margin:0}header,footer{display:flex;align-items:center;justify-content:space-between;padding:28px 5vw;border-bottom:1px solid #303030;gap:20px}header img{width:190px;max-height:70px}header>span,.eyebrow,footer{font-size:11px;letter-spacing:.16em;color:#aaa}main{max-width:1100px;margin:70px auto;padding:0 24px;min-height:65vh}h1{font-size:clamp(40px,7vw,72px);letter-spacing:-.05em;margin:20px 0}p{color:#aaa;line-height:1.6}#login{max-width:430px;margin-top:40px}label{display:block;font-size:13px;margin:20px 0}input,select,textarea{display:block;width:100%;padding:15px;margin-top:9px;color:#fff;background:#171717;border:1px solid #444;border-radius:7px;font:inherit}input[type=checkbox]{display:inline;width:auto;margin-right:10px}button{cursor:pointer;font:inherit;color:#fff;background:#181818;border:1px solid #4b4b4b;border-radius:7px;padding:13px 20px;min-height:48px}button:hover{background:#303030}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid white;outline-offset:4px}button:disabled{opacity:.5;cursor:wait}.primary{background:#fff;color:#080808;width:100%;display:flex;justify-content:space-between;font-weight:bold;margin:25px 0}.primary:hover{background:#ddd}.hint{font-size:12px}nav{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.point{min-height:180px;text-align:left;padding:26px;font-size:24px;display:flex;flex-direction:column;justify-content:space-between}.point small{font-size:11px;color:#aaa;letter-spacing:.12em}.point span{align-self:flex-end}#status{color:#fff;white-space:pre-wrap}article{padding:20px;border:1px solid #333;border-radius:8px;margin:14px 0}article button{margin:4px}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}footer{border-top:1px solid #303030;border-bottom:0;margin-top:60px;letter-spacing:.06em}[hidden]{display:none!important}@media(max-width:600px){header{padding:20px}header>span{display:none}header img{width:145px}main{margin-top:40px}.point{min-height:150px}footer{font-size:9px}}
.datatable{margin-top:24px}.table-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.table-controls>label:first-child{margin-right:auto;flex:1;min-width:180px}.table-controls label{margin:12px 0}.table-controls input{max-width:440px}.table-controls select{width:auto}.table-controls p{margin-right:auto;font-size:13px}.table-scroll{overflow-x:auto;border:1px solid #333;border-radius:8px;margin:12px 0}.datatable table{width:100%;border-collapse:collapse;font-size:14px;text-align:left}.datatable caption{text-align:left;padding:18px;font-size:19px;font-weight:bold}.datatable th,.datatable td{padding:7px 10px;border-top:1px solid #333;vertical-align:middle}.datatable th{background:#161616;white-space:nowrap}.datatable th button{border:0;background:transparent;padding:0;min-height:28px;text-align:left;font-weight:bold}.datatable td{max-width:360px;min-width:95px;overflow-wrap:anywhere;white-space:pre-wrap}.datatable tbody tr:hover{background:#141414}.datatable .table-actions{min-width:0;white-space:nowrap}.datatable button{min-height:28px;padding:4px 9px;font-size:12px;line-height:1.4;border-radius:5px}.datatable th button{padding:0}.table-actions button{margin:0}.table-actions button+button{margin-left:5px}.datatable[aria-busy=true] tbody{opacity:.5}@media(max-width:600px){.table-controls{justify-content:flex-start}.table-controls>label:first-child{flex-basis:100%}.datatable th,.datatable td{padding:7px 8px}}
/* Mobile: authenticated users see only access controls and action feedback. */
@media(max-width:767px){
 body.session-active>footer,
 body.session-active main>.eyebrow,body.session-active #title,body.session-active #intro,
 body.session-active #session>nav,body.session-active #admin,
 body.session-active #access>.hint{display:none!important}
 body.session-active main{margin:0 auto;min-height:100vh;min-height:100dvh;padding:max(20px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
 body.session-active #access{display:block!important}
 body.session-active #status:empty{display:none}
 body.session-active #status{margin:0 0 16px}
 body.session-active #points{grid-template-columns:1fr;gap:14px}
}
#installApp{margin-left:auto}#installDialog{max-width:440px;width:calc(100% - 32px);padding:24px;background:#171717;color:#fff;border:1px solid #555;border-radius:12px}#installDialog::backdrop{background:rgb(0 0 0 / 75%)}#installDialog h2{margin-top:0}#installDialog p{line-height:1.6}.install-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}#confirmInstall{background:#fff;color:#080808}@media(max-width:767px){header{flex-wrap:wrap;gap:12px}header #installApp,header #logout{padding:8px 10px;font-size:12px;min-height:38px}header>span{display:none}}
