*{box-sizing:border-box}body{margin:0;background:var(--color-background);color:var(--color-text);font:14px Arial,sans-serif}.top{height:70px;background:var(--color-surface);border-bottom:1px solid var(--color-border-light);padding:0 5%;display:flex;align-items:center;justify-content:space-between}.top a{color:var(--color-primary);text-decoration:none}main{width:min(1150px,92%);margin:auto;padding:38px 0}.narrow{width:min(800px,92%)}small{color:var(--color-primary);font-weight:bold;letter-spacing:1px}.head{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}h1{font-size:32px;margin:7px 0}h2{font-size:19px;margin:0 0 18px}p{color:var(--color-text-secondary)}.card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.search{display:flex;gap:10px;align-items:center;margin-bottom:16px}.search input:not([type=checkbox]),.form input,.form select{width:100%;padding:12px;border:1px solid var(--color-border);border-radius:9px;font:inherit}.search>input{flex:1}.search label{white-space:nowrap}.btn{display:inline-block;background:var(--color-primary);color:var(--color-surface);border:0;border-radius:9px;padding:12px 16px;font-weight:bold;text-decoration:none;cursor:pointer}.secondary{background:var(--color-surface-muted);color:var(--color-text)}.scroll{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:14px 15px;border-bottom:1px solid var(--color-border-light);text-align:left;white-space:nowrap}th{font-size:11px;color:var(--color-text-muted);text-transform:uppercase}.ok{color:var(--color-success-dark);font-weight:bold}.pill{background:var(--color-primary-light);color:var(--color-primary);padding:4px 7px;border-radius:6px;font-weight:bold}.empty{text-align:center;padding:30px;color:var(--color-text-muted)}.form{padding:28px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.form h2:not(:first-of-type){border-top:1px solid var(--color-border-light);padding-top:22px;margin-top:22px}.form label{display:block;font-weight:bold;margin-bottom:17px}.form input,.form select{display:block;margin-top:7px}.checks{display:flex;gap:25px;margin-bottom:18px}.checks input{margin-right:7px}.info{padding:12px;background:var(--color-info-light);border-radius:9px;color:var(--color-text-secondary);margin-bottom:20px}.actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--color-border-light);padding-top:20px}.error{background:var(--color-danger-light);color:var(--color-danger);padding:12px;border:1px solid var(--color-danger-border);border-radius:9px;margin-bottom:18px}.qr{min-height:100vh;display:grid;place-items:center}.qr .card{text-align:center;padding:30px;width:400px}.qr #qr{display:flex;justify-content:center;margin:25px}.qr .btn{width:100%}@media(max-width:700px){.head,.search{display:block}.head .btn{margin-top:12px}.grid{grid-template-columns:1fr}.checks{display:block}.search>*{margin-bottom:8px}}
.login-page{min-height:100vh;display:grid;place-items:center;padding:30px}.login-card{width:min(430px,100%);background:var(--color-surface);border:1px solid var(--color-border);border-radius:20px;padding:36px;box-shadow:var(--shadow-card)}.login-logo{width:56px;height:56px;border-radius:15px;background:var(--color-primary-light);display:grid;place-items:center;font-size:28px;margin-bottom:24px}.login-card h1{margin:0 0 6px;font-size:30px}.login-subtitle{margin:0 0 25px;color:var(--color-text-muted);font-size:14px}.login-card label{display:block;font-size:13px;font-weight:700;margin-bottom:17px}.login-card input{display:block;width:100%;margin-top:7px;padding:12px 13px;border:1px solid var(--color-border);border-radius:9px;font:inherit}.login-card .button{width:100%;display:block}.success,.warning-box{padding:12px 14px;border-radius:10px;margin-bottom:18px;font-size:13px}.success{background:var(--color-success-light);border:1px solid var(--color-success-border);color:var(--color-success-dark)}.warning-box{background:var(--color-warning-light);border:1px solid var(--color-warning-border);color:var(--color-warning-dark)}.admin-links{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.admin-links a{padding:15px;background:var(--color-background);border-radius:11px;text-decoration:none;color:var(--color-text);font-size:14px}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:22px}.admin-stat{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:24px}.admin-stat span,.admin-stat strong{display:block}.admin-stat span{color:var(--color-text-muted);font-size:13px;margin-bottom:10px}.admin-stat strong{font-size:32px}@media(max-width:700px){.admin-grid,.admin-links{grid-template-columns:1fr}}

:root{
  --color-primary:#1F5A94;--color-primary-dark:#0F4C81;--color-primary-light:#EAF2F8;--color-primary-border:#B8D1E5;
  --color-background:#F8FAFC;--color-surface:#FFFFFF;--color-surface-muted:#F2F4F7;
  --color-border:#D0D5DD;--color-border-light:#EAECF0;--color-text:#101828;--color-text-secondary:#475467;--color-text-muted:#667085;
  --color-disabled-bg:#F2F4F7;--color-disabled-text:#98A2B3;
  --color-success:#15803D;--color-success-dark:#166534;--color-success-light:#DCFCE7;--color-success-border:#86EFAC;
  --color-danger:#B42318;--color-danger-dark:#912018;--color-danger-light:#FEE4E2;--color-danger-border:#FDA29B;
  --color-warning:#9A6700;--color-warning-dark:#7A5100;--color-warning-light:#FEF0C7;--color-warning-border:#FEC84B;
  --color-info:#1F5A94;--color-info-light:#EAF2F8;--color-info-border:#B8D1E5;
  --shadow-card:0 8px 28px rgba(20,40,60,.08);--radius-card:16px;
}
.btn,.button{background:var(--color-primary);color:#fff}.btn:hover,.button:hover{background:var(--color-primary-dark)}
.btn:active,.button:active{background:var(--color-primary-dark)}
.btn:focus-visible,.button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--color-primary-border);outline-offset:2px}
.btn:disabled,.button:disabled{background:var(--color-disabled-bg);color:var(--color-disabled-text);cursor:not-allowed}
.btn.secondary{background:var(--color-surface);color:var(--color-text-secondary);border:1px solid var(--color-border)}
.btn.secondary:hover{background:var(--color-surface-muted)}
.btn.danger{background:var(--color-danger);color:#fff}.btn.danger:hover{background:var(--color-danger-dark)}
.message{padding:12px 14px;border:1px solid;border-radius:10px;margin-bottom:18px;color:var(--color-text)}
.message.success{background:var(--color-success-light);border-color:var(--color-success-border);color:var(--color-success-dark)}
.message.danger{background:var(--color-danger-light);border-color:var(--color-danger-border);color:var(--color-danger)}
.message.warning{background:var(--color-warning-light);border-color:var(--color-warning-border);color:var(--color-warning-dark)}
.message.info{background:var(--color-info-light);border-color:var(--color-info-border);color:var(--color-primary-dark)}
.status-badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:700;white-space:normal}
.status-success{background:var(--color-success-light);color:var(--color-success-dark)}
.status-danger,.status-locked{background:var(--color-danger-light);color:var(--color-danger)}
.status-warning{background:var(--color-warning-light);color:var(--color-warning-dark)}
.status-inactive{background:var(--color-disabled-bg);color:var(--color-text-secondary)}
.status-info{background:var(--color-info-light);color:var(--color-primary-dark)}
.status-description{display:block;margin-top:6px;color:var(--color-text-muted);font-weight:normal;letter-spacing:0;white-space:normal;max-width:300px}
.inline-check{display:flex!important;align-items:center;gap:8px;margin:0 0 18px}.inline-check input{width:auto!important;margin:0!important}
.optional{color:var(--color-text-muted);font-weight:normal;letter-spacing:0}.row-actions{white-space:normal;min-width:190px}
.hint{color:var(--color-text-muted)}
a{color:var(--color-primary)}a:hover{color:var(--color-primary-dark)}
.pill{background:var(--color-primary-light);color:var(--color-primary-dark)}
.info{background:var(--color-info-light);color:var(--color-text-secondary);border:1px solid var(--color-info-border)}
.logout-form{display:inline}.link-button{display:inline;background:none;border:0;padding:8px;color:var(--color-primary);font:inherit;text-decoration:underline;cursor:pointer;min-height:36px}.link-button:hover{color:var(--color-primary-dark)}.link-button:focus-visible{outline:3px solid var(--color-primary-border);outline-offset:2px}.user-area{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.top>span{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.user-create-card{margin-bottom:24px}.user-list-card{overflow:hidden}.compact-user-form{display:grid;grid-template-columns:minmax(170px,1fr) minmax(130px,.7fr) auto;gap:8px;align-items:center}.compact-user-form input,.compact-user-form select{width:100%;min-height:42px;padding:9px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);font:inherit}.btn.compact{padding:10px 12px;min-height:42px}.inline-action{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 10px}.confirm-check{display:flex;align-items:center;gap:6px;white-space:normal;font-size:12px}.one-time-panel{margin:0 0 24px}.one-time-panel h2{margin-bottom:8px}.one-time-secret{padding:14px;border:2px solid var(--color-warning-border);border-radius:9px;background:var(--color-surface);color:var(--color-text);font:700 17px ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere;user-select:all}.password-change-logout{text-align:center;margin-top:18px}.user-table td{vertical-align:top}.user-table .status-badge{display:block;width:max-content;max-width:190px;margin-bottom:6px}
@media(max-width:900px){.compact-user-form{grid-template-columns:1fr}.user-table th,.user-table td{white-space:normal;min-width:170px}.row-actions{min-width:230px}}
.search input:not([type=checkbox]),.form input,.form select{border-color:var(--color-border);background:var(--color-surface);color:var(--color-text)}
.settings-page{max-width:1080px}.settings-form{display:grid;gap:18px}.settings-section{margin:0}.settings-section h2{margin-top:0;color:var(--color-text)}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.settings-grid label{display:flex;flex-direction:column;gap:7px;color:var(--color-text-secondary);font-weight:700}.settings-grid input{width:100%;min-height:44px;padding:10px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);font:inherit;color:var(--color-text)}.settings-wide{grid-column:1/-1}.settings-section .hint{font-weight:400;margin:0}@media(max-width:700px){.settings-grid{grid-template-columns:1fr}.settings-wide{grid-column:auto}.settings-page{padding-bottom:32px}}
