*{box-sizing:border-box}body{margin:0;background:#f5f6f8;color:#172033;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}header{background:#102a43;color:#fff;padding:22px max(18px,calc((100% - 680px)/2));display:flex;justify-content:space-between;align-items:flex-start}header h1{font-size:22px;margin:3px 0}header small{opacity:.75}.brand{font-size:12px;font-weight:800;letter-spacing:1.4px}.logout{color:#fff;text-decoration:none;font-size:13px;opacity:.85}main{max-width:680px;margin:auto;padding:16px}.progress-card,.phase{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:16px;margin-bottom:14px}.progress-row,.phase-head{display:flex;justify-content:space-between;align-items:center}.bar{height:8px;background:#e7e9ed;border-radius:10px;margin:12px 0;overflow:hidden}.bar span{display:block;height:100%;background:#198754}.meta,.muted{font-size:13px;color:#6b7280}.phase-head span{font-size:10px;font-weight:800;letter-spacing:1px;color:#788391}.phase-head h2{font-size:16px;margin:2px 0 12px}.phase-head b{font-size:13px;color:#667085}.task{display:flex;gap:12px;background:#f2f3f5;border:1px solid #e5e7eb;border-radius:11px;padding:13px;margin-top:8px;cursor:pointer}.task.done{background:#eaf7ef;border-color:#c9e8d4}.check{font-size:20px;line-height:20px;color:#667085}.done .check{color:#198754}.task-copy strong{font-size:14px}.task-copy div,.task-copy small{display:block;color:#6b7280;font-size:12px;margin-top:4px}.sheet-wrap{display:none;position:fixed;inset:0;background:#0006;align-items:flex-end;justify-content:center}.sheet-wrap.open{display:flex}.sheet{width:100%;max-width:680px;background:#fff;border-radius:18px 18px 0 0;padding:18px}.handle{width:42px;height:4px;border-radius:5px;background:#d1d5db;margin:0 auto 15px}.sheet h3{margin:0 0 16px}.sheet label,.login-card label{display:block;font-size:13px;font-weight:650;margin:12px 0}.sheet select,.sheet textarea,.login-card input{width:100%;margin-top:6px;padding:12px;border:1px solid #d5d9df;border-radius:9px;font:inherit;background:#fff}.sheet button,.login-card button{width:100%;padding:13px;border:0;border-radius:9px;background:#102a43;color:#fff;font-weight:700;margin-top:10px}.sheet .secondary{background:#eef0f3;color:#172033}.login-body{min-height:100vh;display:grid;place-items:center;padding:18px}.login-card{width:100%;max-width:390px;background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:24px}.login-card h1{font-size:22px;margin:4px 0}.error{background:#fff0f0;color:#9b1c1c;padding:10px;border-radius:8px;margin-top:14px;font-size:13px}@media(min-width:700px){header{padding-top:26px;padding-bottom:26px}.sheet{margin-bottom:24px;border-radius:18px}}/* Update 2: ArcPay branding, strong completion state, user management */
.header-brand{display:flex;align-items:center;gap:14px}.header-brand img{width:82px;height:58px;object-fit:contain;background:#fff;border-radius:8px;padding:5px}.header-brand h1{margin:0 0 3px}.header-links{display:flex;gap:16px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.task.done{background:#198754;border-color:#198754;color:#fff}.task.done .check,.task.done .task-copy strong,.task.done .task-copy div,.task.done .task-copy small{color:#fff}.task.done .check{font-weight:800}.login-logo{display:block;width:145px;height:auto;object-fit:contain;margin:0 0 14px}.admin-title{font-size:18px;margin:0 0 12px}.admin-form{display:grid;gap:10px}.admin-form label{font-size:13px;font-weight:650}.admin-form input,.admin-form select,.reset-form input{display:block;width:100%;margin-top:6px;padding:11px;border:1px solid #d5d9df;border-radius:9px;background:#fff;font:inherit}.admin-form label small{display:block;color:#6b7280;margin-top:4px;font-weight:400}.admin-form button,.mini{border:0;border-radius:9px;background:#102a43;color:#fff;font-weight:700;padding:11px 14px;cursor:pointer}.success{background:#e9f7ef;color:#166534;padding:10px;border-radius:8px;margin:10px 0;font-size:13px}.user-card{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:14px 0;border-top:1px solid #e5e7eb}.user-card:first-of-type{border-top:0}.user-info strong{font-size:14px}.user-info div,.user-info small{display:block;color:#6b7280;font-size:12px;margin-top:4px}.user-actions{text-align:right;min-width:145px}.user-actions form{margin:0}.mini{font-size:12px;padding:8px 10px}.mini.secondary{background:#eef0f3;color:#172033}.mini:disabled{opacity:.45;cursor:not-allowed}.user-actions details{margin-top:8px;font-size:12px}.user-actions summary{cursor:pointer;color:#526071}.reset-form{display:flex;gap:6px;margin-top:8px}.reset-form input{margin:0;min-width:0;padding:8px}.reset-form .mini{white-space:nowrap}@media(max-width:520px){header{gap:12px}.header-brand img{width:64px;height:48px}.header-brand h1{font-size:18px}.header-links{gap:8px;flex-direction:column;align-items:flex-end}.user-card{flex-direction:column}.user-actions{text-align:left;width:100%}.reset-form{max-width:320px}}

/* Update 3: compact user management + cache-safe UI */
header{align-items:center}
.header-brand{min-width:0}
.header-brand img{display:block;width:76px!important;height:54px!important;max-width:76px!important;max-height:54px!important;object-fit:contain!important;background:#fff;border-radius:8px;padding:4px;flex:0 0 76px}
.header-brand h1{font-size:20px;line-height:1.15}
.admin-form{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
.admin-form label{display:block!important;margin:0!important}
.admin-form input,.admin-form select{display:block!important;width:100%!important;min-height:44px!important;margin-top:6px!important;padding:11px 12px!important;border:1px solid #d5d9df!important;border-radius:9px!important;font:inherit!important;background:#fff!important}
.admin-form button{display:block;width:100%;min-height:44px;margin-top:2px;background:#102a43;color:#fff;border:0;border-radius:9px;font-weight:700;font:inherit;cursor:pointer}
.user-card{border:1px solid #e5e7eb;border-radius:11px;padding:14px;margin-top:9px;background:#fafbfc}
.user-card:first-of-type{border-top:1px solid #e5e7eb}
@media(min-width:620px){.admin-form{grid-template-columns:1fr 1fr!important}.admin-form button{grid-column:1/-1}.admin-form label:nth-of-type(3),.admin-form label:nth-of-type(4){grid-column:auto}}
@media(max-width:520px){header{align-items:flex-start}.header-brand img{width:58px!important;height:44px!important;max-width:58px!important;max-height:44px!important;flex-basis:58px}.header-brand h1{font-size:18px}.logout{white-space:nowrap}}

/* v4 - compact, clearly visible ArcPay logo */
.header-brand img{width:104px!important;height:72px!important;max-width:104px!important;max-height:72px!important;object-fit:contain!important;background:#fff!important;border-radius:10px!important;padding:3px!important;flex:0 0 104px!important}
.login-logo{width:190px!important;max-width:70%!important;height:auto!important}
@media(max-width:520px){.header-brand{gap:11px}.header-brand img{width:82px!important;height:60px!important;max-width:82px!important;max-height:60px!important;flex-basis:82px!important;padding:2px!important}.header-brand h1{font-size:18px}}

/* v5 - migration status colour map */
.status-guide{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:14px 16px;margin-bottom:14px}
.status-guide>strong{display:block;font-size:14px;margin-bottom:10px}
.status-key{display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-size:12px;font-weight:650;color:#526071}
.status-key span{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.dot{width:11px;height:11px;border-radius:50%;display:inline-block;flex:0 0 11px}
.pending-dot{background:#9ca3af}.progress-dot{background:#eab308}.completed-dot{background:#198754}.blocked-dot{background:#dc2626}
.task.status-pending{background:#f2f3f5;border-color:#e5e7eb;color:#172033}
.task.status-in_progress{background:#facc15;border-color:#eab308;color:#172033}
.task.status-blocked{background:#dc2626;border-color:#dc2626;color:#fff}
.task.status-completed{background:#198754;border-color:#198754;color:#fff}
.task.status-in_progress .check,.task.status-in_progress .task-copy strong,.task.status-in_progress .task-copy div,.task.status-in_progress .task-copy small{color:#172033}
.task.status-blocked .check,.task.status-blocked .task-copy strong,.task.status-blocked .task-copy div,.task.status-blocked .task-copy small,.task.status-completed .check,.task.status-completed .task-copy strong,.task.status-completed .task-copy div,.task.status-completed .task-copy small{color:#fff}
.task.status-blocked .check{font-weight:800}
@media(max-width:520px){.status-key{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}}
