:root{color-scheme:dark;--bg:#0c1110;--panel:#17201c;--line:#304039;--fg:#edf5f0;--muted:#a8bcb0;--green:#22c55e}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.55 system-ui,-apple-system,Segoe UI,sans-serif}header{background:#121a16;border-bottom:1px solid var(--line);padding:14px clamp(16px,4vw,60px);display:flex;align-items:center;gap:25px;flex-wrap:wrap}a{color:#70e7a1;text-decoration:none}a:hover{text-decoration:underline}.brand{color:white;font-size:21px;white-space:nowrap}.brand strong{color:var(--green)}.brand span{font-size:12px;color:var(--muted);margin-left:8px}nav{display:flex;gap:14px;flex-wrap:wrap}nav a{font-size:13px}main{max-width:1150px;margin:25px auto 70px;padding:0 16px}h1{font-size:clamp(24px,3vw,34px);margin:12px 0 25px}h2{font-size:19px;margin:0 0 16px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:23px;margin-bottom:20px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:15px;margin-bottom:20px}.cards .panel{margin:0}.cards span{color:var(--muted)}.metric{display:block;font-size:34px;color:var(--green)}label{display:block;margin:0 0 14px;font-weight:600}input,select,textarea{display:block;width:100%;padding:11px 12px;border:1px solid #4b6255;border-radius:9px;background:#0d1611;color:white;font:inherit;margin-top:5px}textarea{min-height:90px}button,.button{display:inline-block;background:#15803d;border:0;border-radius:9px;color:white;padding:11px 16px;cursor:pointer;font:inherit;font-weight:650;margin-top:7px}button.secondary{background:#34463a}button:hover,.button:hover{background:#16a34a;text-decoration:none}.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:540px}td,th{text-align:left;border-bottom:1px solid var(--line);padding:12px 8px}th{color:var(--muted)}details{border-bottom:1px solid var(--line);padding:12px 0}summary{cursor:pointer}.notice{padding:14px;background:#174d2c;border-radius:9px;margin-bottom:20px}.error{color:#ffb3b3}.muted,footer{color:var(--muted)}footer{text-align:center;padding:30px;border-top:1px solid var(--line);font-size:12px}.plate{max-width:530px}.eyebrow{color:var(--green);font-size:12px;letter-spacing:1.3px}.plate h2{font-size:34px}.plate dl{display:grid;grid-template-columns:1fr 1fr;gap:8px}.plate dt{color:var(--muted)}.plate dd{margin:0;font-weight:650}@media(max-width:600px){header{align-items:flex-start}nav{gap:10px}.panel{padding:16px}}


/* Tablet card interface */
body{font-size:16px;line-height:1.6}header{display:block;padding:20px max(16px,calc((100% - 1200px)/2))}.brand{display:flex;align-items:center;flex-wrap:wrap;gap:8px;white-space:normal;min-height:48px}.brand span{margin:0}
nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin-top:18px;width:100%}nav a{display:flex;flex-direction:column;justify-content:center;gap:8px;min-height:90px;padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:14px;font-size:16px;color:var(--fg);text-decoration:none}nav a span{font-size:12px;color:var(--muted)}nav a[aria-current="page"]{background:#17452b;border-color:#4ade80}nav a:hover{border-color:#4ade80;text-decoration:none}
main{max-width:1200px;margin:28px auto 50px;padding:0 20px}h3{margin:8px 0 14px;font-size:20px;overflow-wrap:anywhere}.panel{padding:24px;border-radius:18px}a,button,input,select,textarea,summary{touch-action:manipulation}input,select,textarea,button,.button{min-height:52px;font-size:16px}input[type="hidden"]{display:none}button,.button{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;white-space:normal;max-width:100%;text-align:center}textarea{min-height:125px}form{max-width:850px}form button[type="submit"]{width:100%;margin-top:18px}label{margin-bottom:20px}:focus-visible{outline:3px solid #4ade80;outline-offset:4px}
.cards,.record-grid,.site-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:18px;align-items:stretch}.record-grid:empty::before{content:"Még nincs megjeleníthető adat.";color:var(--muted);padding:16px}.record-card,details{background:#1c2e25;border:1px solid var(--line);border-radius:16px;padding:22px;min-width:0;overflow-wrap:anywhere}.record-card{display:flex;flex-direction:column;gap:10px}.record-card p{margin:0 0 12px}.record-card dl{display:grid;grid-template-columns:1fr 1fr;gap:10px}.record-card dt{color:var(--muted)}.record-card dd{margin:0}details{margin:16px 0}summary{min-height:64px;padding:10px 6px;font-size:18px;cursor:pointer}details[open]>summary{margin-bottom:20px;border-bottom:1px solid var(--line)}details>form{padding-top:10px}.dashboard-card{display:flex;flex-direction:column;gap:12px;min-height:180px;color:var(--fg);text-decoration:none}.dashboard-card:hover{border-color:#4ade80;text-decoration:none}.dashboard-card .metric{font-size:42px}
.site-card-grid{margin:20px 0 28px}.site-nav-card{display:flex;flex-direction:column;gap:12px;padding:24px;min-height:190px;background:#1c2e25;border:1px solid var(--line);border-radius:16px;color:var(--fg);text-decoration:none;overflow-wrap:anywhere}.site-nav-card:hover{border-color:#4ade80;text-decoration:none}.site-nav-card strong{font-size:21px}.site-card-icon,.site-plus{color:#4ade80;font-size:30px}.site-card-arrow{margin-top:auto;color:#4ade80}.site-new-card{border:2px dashed #42b96a;align-items:center;justify-content:center;text-align:center}.site-plus{font-size:44px}.site-breadcrumb a,main>p>a{display:inline-flex;align-items:center;min-height:48px;padding:8px 14px;border:1px solid var(--line);border-radius:12px}.notice{padding:18px}footer{font-size:14px}
@media(max-width:600px){main{padding:0 12px}.panel{padding:18px}nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}nav a{min-height:84px;padding:14px}.cards,.record-grid,.site-card-grid{grid-template-columns:1fr}header{padding:16px}.record-card,details{padding:18px}.brand{font-size:22px}.brand span{width:100%;font-size:14px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.instrument-card-main{display:flex;flex-direction:column;gap:12px;flex:1;color:inherit;text-decoration:none;min-height:180px}.instrument-card-main:hover{text-decoration:none}.instrument-card-main>span{color:var(--muted)}.instrument-card-main .site-card-arrow{color:#4ade80}.instrument-description{white-space:normal;overflow-wrap:anywhere}.instrument-card .button{width:100%;margin-top:auto}

.rwa-form{min-width:0;border:1px solid var(--line);border-radius:16px;padding:20px;margin:24px 0}.rwa-form>legend{font-size:20px;font-weight:700;padding:0 8px}.rwa-section{margin:24px 0;padding:20px;border:1px solid var(--line);border-radius:16px;min-width:0}.rwa-repeat-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:16px}.rwa-repeat-card{padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:14px;min-width:0;overflow-wrap:anywhere}.rwa-repeat-card h4{margin:0 0 16px}.rwa-choice{border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin:16px 0;min-width:0}.rwa-choice legend{padding:0 6px;white-space:normal}.rwa-choice label{display:inline-flex;gap:12px;align-items:center;min-height:52px;margin:0 20px 0 0;cursor:pointer}.rwa-choice input[type=radio]{width:24px;height:24px;min-height:24px;display:inline-block;margin:0;accent-color:#22c55e}[hidden]{display:none!important}.rwa-section [data-rwa-add]{width:100%;min-height:56px}.rwa-section [data-rwa-status]{font-size:14px;margin:8px 0 0;color:var(--muted)}@media(max-width:600px){.rwa-form{padding:14px}.rwa-section{padding:14px}.rwa-repeat-list{grid-template-columns:1fr}}

.asset-timeline{list-style:none;padding:0;margin:24px 0}.timeline-event{position:relative;margin:0 0 18px;padding:20px 24px;border:1px solid var(--line);border-left:4px solid #4ade80;border-radius:14px;background:var(--panel);overflow-wrap:anywhere}.timeline-event time{display:block;color:var(--muted);font-size:15px}.timeline-event h3{margin:10px 0}.timeline-event p{margin:0}

.site-nav-card.fire-exam-card.expired{border:2px solid #ef4444;background:#2c1c1c}.fire-exam-card.expired .exam-status{color:#ffb3b3;font-weight:750}.fire-exam-card .exam-status{font-weight:750}#fire-exam-validity{color:var(--muted)}

.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px}.calendar-toolbar h2{margin:0}.calendar-controls{display:flex;gap:10px;flex-wrap:wrap}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-weekday{text-align:center;color:var(--muted);font-weight:700}.calendar-day{min-height:84px;padding:12px;background:#1c2e25;border:1px solid var(--line);border-radius:12px}.calendar-today{border:2px solid #4ade80;background:#17452b;font-weight:750}@media(max-width:600px){.calendar-grid{gap:4px}.calendar-day{min-height:52px;padding:7px;text-align:center}.calendar-controls .button{padding:10px;font-size:14px}.calendar-weekday{font-size:13px}}
.karblap-person{display:flex;align-items:center;gap:16px;padding:16px;border:1px solid var(--line);border-radius:12px;overflow-wrap:anywhere}.karblap-person input[type=checkbox]{display:inline-block;width:26px;min-width:26px;height:26px;min-height:26px;margin:0;accent-color:#22c55e}.karblap-person span{min-width:0}
.karblap-photo{display:block;width:100%;max-height:360px;object-fit:contain;border-radius:10px;background:#0d1611}
.calendar-event-count{display:flex;align-items:center;justify-content:center;min-height:36px;width:100%;margin-top:6px;border-radius:8px;background:#17452b;color:#70e7a1;font-size:13px;font-weight:700;overflow-wrap:anywhere}

/* Native disclosure keeps the phone menu closed without JavaScript. */
.main-menu{background:transparent;border:0;border-radius:0;padding:0;margin:12px 0 0;width:100%}
.main-menu>summary{display:none}
.main-menu[open]>summary{margin-bottom:12px}
.main-menu:not([open])>nav{display:grid}
.delete-record-form{margin-top:24px;padding-top:16px;border-top:1px solid var(--line)}
.delete-record-form input[type=checkbox]{width:auto;min-height:24px}
button.danger{background:#8b2525;color:#fff;border:1px solid #dc6060}
@media(max-width:600px){
 .main-menu>summary{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;cursor:pointer;list-style:none}
 .main-menu>summary::-webkit-details-marker{display:none}
 .main-menu:not([open])>nav{display:none}
}

.qr-scanner{max-width:800px;margin-inline:auto}
.qr-scanner video{display:block;width:100%;max-height:55vh;background:#000;border-radius:12px;margin-top:16px;object-fit:contain}
.qr-scanner video[hidden],.qr-camera-controls [hidden]{display:none}
.qr-camera-controls{display:flex;flex-wrap:wrap;gap:12px}

.header-brand-row{display:flex;align-items:center;gap:16px;min-width:0}
.header-brand-row .brand{min-width:0;flex:0 1 auto}
.header-qr{display:inline-flex;align-items:center;justify-content:center;flex:0 0 52px;width:52px;height:52px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:#70e7a1}
.header-qr:hover,.header-qr:focus-visible{border-color:#4ade80;background:#17452b;outline:2px solid #4ade80;outline-offset:2px}

/* Keep native iOS date/time controls inside their form and grid columns. */
form,form label,form .cards,form .cards>*{min-width:0;max-width:100%}
form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),form select,form textarea{min-width:0;max-width:100%;width:100%;box-sizing:border-box}
form input[type="date"],form input[type="time"],form input[type="datetime-local"]{-webkit-appearance:none;appearance:none;min-inline-size:0;max-inline-size:100%;inline-size:100%;min-height:52px}
form input::-webkit-datetime-edit{min-width:0;padding:0}
form input::-webkit-date-and-time-value{min-height:1.5em;text-align:left}
form fieldset{min-inline-size:0;max-width:100%;margin-inline:0}
form legend{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.rwa-choice label{max-width:100%;min-width:0;overflow-wrap:anywhere}
.rwa-choice input[type="radio"],.karblap-person input[type="checkbox"]{flex-shrink:0}
@media(max-width:600px){
 form .cards{grid-template-columns:minmax(0,1fr)}
 .rwa-choice label{display:flex;margin-right:0}
 .karblap-person span{min-width:0;overflow-wrap:anywhere}
}

.operator-signature canvas{display:block;width:100%;height:auto;aspect-ratio:2/1;background:white;border:2px solid #708078;border-radius:12px;touch-action:none;cursor:crosshair}
.operator-signature canvas[aria-disabled="true"]{opacity:.6;cursor:not-allowed}
.operator-signature-preview{display:block;width:100%;max-width:500px;height:auto;background:#fff;border-radius:10px}

.timeline-pdf{gap:8px;margin-right:10px;min-width:100px}

/* Asset document library */
.document-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.document-card{display:flex;flex-direction:column;min-width:0;padding:24px;border:1px solid var(--line);border-radius:16px;background:#1c2e25;gap:20px}
.document-card-heading{display:flex;align-items:flex-start;gap:12px;min-height:64px}
.document-card-heading h3{margin:0;font-size:19px;line-height:1.45;overflow-wrap:anywhere}
.document-card-icon{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:38px;height:38px;background:#17452b;color:#70e7a1;border-radius:10px;font-size:24px;line-height:1}
.document-card-meta{display:grid;gap:14px;margin:0}
.document-card-meta>div{min-width:0}
.document-card-meta dt,.document-card-file>span:first-child{display:block;color:var(--muted);font-size:13px;line-height:1.5}
.document-card-meta dd{margin:3px 0 0;overflow-wrap:anywhere;font-size:15px;font-variant-numeric:tabular-nums}
.document-card-file{border-top:1px solid var(--line);padding-top:14px;font-size:13px;overflow-wrap:anywhere}
.document-card-file>span+span{display:block;margin-top:3px}
.document-card-download{width:100%;margin-top:auto}
@media(max-width:600px){.document-card{padding:20px;gap:18px}.document-card-heading{min-height:0}}
/* QR link for the currently selected asset */
.asset-context-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}
.asset-context-path{min-width:0;flex:1}
.asset-header-qr{flex-shrink:0;width:132px;margin-right:40px;text-align:center}
.asset-header-qr>a{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:13px}
.asset-header-qr-code{display:block;background:white;padding:16px;border-radius:10px;line-height:0}
.asset-header-qr-code canvas,.asset-header-qr-code img{display:block;width:100px;height:100px;max-width:100%}
@media(max-width:600px){.asset-context-header{gap:12px;align-items:flex-start}.asset-header-qr{width:116px;margin:16px 0 0}.asset-header-qr-code{padding:12px}.asset-header-qr-code canvas,.asset-header-qr-code img{width:92px;height:92px}}

.document-library-header{display:flex;align-items:center;justify-content:space-between;gap:24px}
.document-library-info{min-width:0;flex:1}
.document-library-header .document-library-qr{margin:0;width:160px}
.document-library-qr .asset-header-qr-code canvas,.document-library-qr .asset-header-qr-code img{width:128px;height:128px}
@media(max-width:600px){.document-library-header{gap:16px;align-items:flex-start;flex-wrap:wrap}.document-library-header .document-library-qr{width:116px}.document-library-qr .asset-header-qr-code canvas,.document-library-qr .asset-header-qr-code img{width:92px;height:92px}.document-library-info{flex-basis:180px}}

.asset-details-panel{display:flow-root}
.asset-details-panel>.asset-header-qr{float:right;margin:0 0 20px 24px;width:160px}
.asset-details-panel>form,.asset-details-panel>details{clear:both}
@media(max-width:600px){.asset-details-panel>.asset-header-qr{width:116px;margin:0 0 16px 16px}}

/* Uniform main navigation cards, including wrapped titles and logout */
.main-menu>nav{grid-auto-rows:124px;align-items:stretch}
.main-menu>nav>a{height:100%;min-height:0;min-width:0;justify-content:flex-start;padding:16px;gap:8px}
.main-menu>nav>a>strong{display:flex;align-items:center;min-height:52px;line-height:1.5;overflow-wrap:anywhere}
.main-menu>nav>a>span{margin-top:auto;line-height:1.5}
@media(max-width:600px){.main-menu>nav{grid-auto-rows:124px}.main-menu>nav>a{padding:14px}}
/* Distinguish sign out from module navigation */
.main-menu>nav>a[href="?page=logout"]{background:#351e22;border-color:#8e414b;color:#ffe5e7}
.main-menu>nav>a[href="?page=logout"]>span{color:#efadb5}
.main-menu>nav>a[href="?page=logout"]:hover{background:#49262c;border-color:#ef7c8a}
.main-menu>nav>a[href="?page=logout"]:focus-visible{outline-color:#fb8c99}
/* Collapsed main menu on every screen; desktop hover is handled in navigation.js. */
.main-menu>summary{display:flex;align-items:center;gap:10px;width:fit-content;min-height:48px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;cursor:pointer;list-style:none}
.main-menu>summary::-webkit-details-marker{display:none}
.main-menu:not([open])>nav{display:none}
.main-menu>summary:hover{background:#1c2e25;border-color:#4ade80}
/* Brand and QR scanner share the header row with the right-aligned menu. */
body>header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:16px;row-gap:0}
body>header>.header-brand-row{grid-column:1;grid-row:1;min-width:0}
body>header>.main-menu{display:contents}
body>header>.main-menu>summary{grid-column:2;grid-row:1;margin:0;align-self:center;min-height:52px}
body>header>.main-menu[open]>summary{margin:0}
body>header>.main-menu>nav{grid-column:1/-1;margin-top:18px}
@media(max-width:600px){body>header{column-gap:10px}body>header>.header-brand-row{gap:8px}}
body>header>.main-menu>nav{margin-top:0;padding-top:18px}
/* RCD choices: compact radios with full-row touch targets. */
.rcd-inspector-list,.rcd-check-question{min-width:0}
.rcd-radio-option{display:flex;align-items:center;justify-content:flex-start;gap:12px;min-height:52px;margin:10px 0;padding:12px 16px;border:1px solid var(--line);border-radius:12px;cursor:pointer;font-weight:600}
.rcd-radio-option input[type=radio]{display:inline-block;flex:0 0 22px;width:22px;height:22px;min-height:22px;margin:0;padding:0;accent-color:var(--green)}
.rcd-radio-option>span{min-width:0;overflow-wrap:anywhere}
.rcd-radio-option:has(input:checked){background:#17452b;border-color:#4ade80}
.rcd-answer-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.rcd-answer-options>.rcd-radio-option{margin:0}
.rcd-check-question{border:0;border-top:1px solid var(--line);padding:16px 0 20px;margin:0}
.rcd-check-question>legend{padding:0 0 8px;max-width:100%;font-weight:600}

/* Asset hierarchy stays on a single horizontally scrollable line. */
.asset-context-path{display:flex;align-items:center;gap:12px;overflow-x:auto;max-width:100%;padding:4px 0 8px;scrollbar-width:thin}
.asset-context-path>.site-breadcrumb{display:flex;align-items:center;gap:6px;flex:0 0 auto;white-space:nowrap;margin:0}
.asset-context-header{min-width:0;margin-bottom:20px}
.site-location-card{position:relative;display:flex;min-width:0}.site-location-card>.site-nav-card{flex:1;min-width:0;padding-bottom:78px}.site-navigation{position:absolute;right:18px;bottom:16px;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid #a9d8bc;border-radius:12px;background:#eef8f1;color:#008b3e;text-decoration:none}.site-navigation:hover{background:#daf0e2;border-color:#008b3e}.site-navigation:focus-visible{outline:3px solid #008b3e;outline-offset:3px}
