/* Security-page layouts. Shared controls, colors and surfaces live in ui.css. */
.kmt-page h1{font-size:clamp(1.6rem,3vw,2.2rem);margin:8px 0 20px}
.kmt-page h2{font-size:1.3rem}.kmt-page h3{font-size:1.05rem}
.kmt-page label{display:block;font-weight:600;margin:16px 0 6px}
.kmt-page input,.kmt-page select{width:100%}
.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px}
.auth-card{width:min(100% - 32px,480px);padding:32px;margin:40px auto}
.auth-page .auth-card{margin:0;width:min(100%,480px)}
.auth-card button{width:100%;margin-top:24px}
.admin-main{max-width:1240px;margin:32px auto;padding:0 24px}
.admin-heading{display:flex;justify-content:space-between;align-items:start;gap:24px}
.panel{padding:24px;margin:24px 0}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}
.grid label{margin-top:0}.grid>*{min-width:0}.full{grid-column:1/-1}
.table-scroll{overflow-x:auto}
.kmt-page table{width:100%;border-collapse:collapse;text-align:left}
.kmt-page caption{text-align:left;font-weight:600;padding-bottom:12px}
.kmt-page th,.kmt-page td{padding:12px;border-bottom:1px solid var(--kmt-line);vertical-align:top}
.kmt-page th{white-space:nowrap}
.kmt-page details{margin:8px 0}
.kmt-page summary{min-height:44px;display:list-item;cursor:pointer;color:var(--kmt-primary);padding:8px 0}
.kmt-page details form{min-width:250px;padding:12px;border:1px solid var(--kmt-line);border-radius:var(--kmt-radius)}
.kmt-page details button{margin-top:16px}
.kmt-page .badge{display:inline-block;font-size:14px;border:1px solid var(--kmt-line);padding:4px 12px;border-radius:30px}
.pager{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin:20px 0}
@media(max-width:700px){.grid{grid-template-columns:1fr}.admin-main{padding:0 16px}.panel{padding:16px}.auth-card{padding:24px}.admin-heading{display:block}.auth-page{padding:16px}}
