*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:#f4f6f9;color:#222}header{background:#fff;padding:16px 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ddd}nav a{margin-left:18px;text-decoration:none;color:#333}main{max-width:1100px;margin:30px auto;padding:0 20px}footer{text-align:center;padding:30px;color:#777}.card{background:white;padding:22px;border-radius:14px;box-shadow:0 3px 14px #00000010;margin:20px 0}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat{background:white;padding:25px;border-radius:14px}.stat b{font-size:32px;display:block}.stat span{color:#666}.form-row{display:flex;gap:10px;flex-wrap:wrap}input,select,button{padding:12px;border:1px solid #ccc;border-radius:8px;font-size:15px}button{background:#222;color:#fff;cursor:pointer}table{width:100%;border-collapse:collapse;background:white}th,td{text-align:left;padding:13px;border-bottom:1px solid #eee}.login{display:grid;place-items:center;min-height:100vh}.login-card{width:min(420px,92vw)}.login-card input,.login-card button{width:100%;margin:7px 0 15px}.login-card label{font-weight:bold}.error{padding:10px;background:#fee;margin:10px 0;border-radius:8px}@media(max-width:700px){header{display:block}nav{margin-top:12px;display:flex;gap:10px;flex-wrap:wrap}nav a{margin:0}.grid{grid-template-columns:1fr 1fr}.form-row>*{width:100%}}

textarea{width:100%;padding:12px;border:1px solid #ccc;border-radius:8px;font:inherit}.answers{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.btnlink{padding:8px 12px;background:#222;color:#fff;text-decoration:none;border-radius:7px}.danger{background:#8b1e1e}.success{padding:10px;background:#e6f6e6;margin:10px 0;border-radius:8px}@media(max-width:700px){.answers{grid-template-columns:1fr}}

.choice{display:block;padding:12px;margin:8px 0;border:1px solid #ddd;border-radius:9px}.examtop{position:sticky;top:0;background:#fff;padding:14px;border-radius:10px;display:flex;justify-content:space-between;z-index:5}.finish{font-size:18px;padding:16px;width:100%;margin:20px 0}.receipt{text-align:center;max-width:650px;margin:50px auto}.score{font-size:42px}
.notice{padding:12px 16px;margin:12px 0;background:#fff;border-left:4px solid #333;border-radius:8px}.smallbtn{padding:7px 10px}.examtop{gap:18px;align-items:center;flex-wrap:wrap}.qitem{margin-bottom:16px}

.success{background:#e8f5e9;padding:12px;border-radius:8px;margin:10px 0}.error{background:#ffebee;padding:12px;border-radius:8px;margin:10px 0}

.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 16px}.tabs a{padding:8px 12px;background:#fff;border:1px solid #ddd;border-radius:8px;text-decoration:none;color:#222}table form button{padding:6px 8px;margin:2px}

.role-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 18px}
.role-tabs a{padding:8px 13px;border:1px solid #d6dce2;border-radius:9px;background:#fff;text-decoration:none;color:#263238}
.role-tabs a.active{background:#222;color:#fff;border-color:#222}
.user-filter-grid,.user-create-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;align-items:end}
.user-filter-grid label,.user-create-grid label{display:block;font-weight:600;margin-bottom:5px;font-size:13px}
.user-filter-grid input,.user-filter-grid select,.user-create-grid input,.user-create-grid select{width:100%;box-sizing:border-box}
.search-wide{grid-column:span 2}.filter-button,.create-button{display:flex;gap:8px;align-items:center}
.btn-secondary{display:inline-block;padding:9px 12px;border:1px solid #bbb;border-radius:7px;text-decoration:none;color:#222;background:#fff}
.section-actions{margin:14px 0}.table-wrap{overflow-x:auto;background:#fff;border-radius:12px}
.users-table{min-width:980px}.action-cell{white-space:nowrap}.action-cell form{display:inline}
.action-btn{display:inline-block;padding:5px 8px!important;font-size:12px;border:1px solid #bbb;border-radius:6px;background:#fff;color:#222;text-decoration:none;margin:2px}
.status-pill{padding:4px 8px;border-radius:999px;font-size:12px}.status-on{background:#e8f5e9}.status-off{background:#ffebee}
.field-disabled{opacity:.55}
@media(max-width:900px){.user-filter-grid,.user-create-grid{grid-template-columns:1fr 1fr}.search-wide{grid-column:span 2}}
@media(max-width:600px){.user-filter-grid,.user-create-grid{grid-template-columns:1fr}.search-wide{grid-column:span 1}}
