:root{font-family:Arial,sans-serif;color:#17201c;background:#f5f2e9}*{box-sizing:border-box}body{margin:0}.access-page{min-height:100vh;background:linear-gradient(135deg,#f5f2e9,#e8ebe1);padding:40px 20px}.login-card,.access-shell{max-width:1040px;margin:auto}.login-card{max-width:400px;background:#fffefa;border-radius:18px;padding:38px;box-shadow:0 18px 50px #173f3822}.login-card img{width:65px}.login-card p,.access-shell header p{color:#69746d;font-weight:bold;letter-spacing:.08em;font-size:.72rem}.login-card h1,.access-shell h1{margin:8px 0 24px}.access-grid{display:grid;grid-template-columns:340px 1fr;gap:20px;margin-top:24px}.access-card{background:#fffefa;border:1px solid #dfddd3;border-radius:16px;padding:22px}.access-card h2{margin-top:0}label{display:grid;gap:6px;margin:13px 0;font-weight:bold;font-size:.85rem}input,select{border:1px solid #cbd2c9;border-radius:8px;padding:10px;font:inherit}fieldset{border:0;padding:0;margin:18px 0}fieldset label{display:block;font-weight:normal}button{border:0;border-radius:8px;padding:11px 15px;background:#ffd800;color:#17201c;font-weight:bold;cursor:pointer}.secondary{background:white;border:1px solid #cbd2c9}.danger{background:#fff7f5;border:1px solid #e9aaa1;color:#9f2f24}.danger:hover{background:#fbe8e4;border-color:#d77f73}.back{color:#245c9c;font-weight:bold;text-decoration:none}.access-shell header{display:flex;justify-content:space-between;align-items:center;margin-top:22px}.access-shell header h1{margin:5px 0}.access-shell header span{color:#69746d}.user-row{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:14px 0;border-bottom:1px solid #ece9df}.user-summary{min-width:0}.user-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.user-row strong,.user-row span,.user-row small{display:block}.user-row span,.user-row small{color:#69746d;font-size:.82rem;margin-top:4px}#feedback,#form-feedback{color:#a63d31;min-height:1.2em}@media(max-width:700px){.access-grid{grid-template-columns:1fr}.access-shell header{align-items:flex-start;gap:12px;flex-direction:column}.user-row{align-items:flex-start;flex-direction:column}.user-actions{justify-content:flex-start;width:100%}}

/* Login only: mirrors the Luna workspace without changing the shared access page. */
.login-page{display:grid;place-items:center;padding:32px 20px;background:#fff;color:#172033}
.login-page .login-card{width:min(100%,432px);margin:0;padding:32px;border:1px solid #e1e6ee;border-radius:18px;background:#fff;box-shadow:0 18px 44px rgba(19,34,59,.08)}
.login-page .login-brand{display:flex;align-items:center;gap:14px;margin-bottom:30px}
.login-page .login-brand img{display:block;width:58px;height:58px;object-fit:cover}
.login-page .login-brand p{margin:0 0 5px;color:#66738a;font-size:.66rem;font-weight:800;letter-spacing:.1em}
.login-page .login-brand span{color:#172033;font-size:1.06rem;font-weight:800}
.login-page .login-brand em{color:#155eef;font-style:normal;font-weight:650}
.login-page .login-intro{margin-bottom:24px}
.login-page .login-intro p{margin:0 0 8px;color:#155eef;font-size:.7rem;font-weight:800;letter-spacing:.085em;text-transform:uppercase}
.login-page .login-intro h1{margin:0 0 8px;color:#172033;font-size:1.65rem;line-height:1.18;letter-spacing:-.025em}
.login-page .login-intro span{color:#66738a;font-size:.9rem;line-height:1.45}
.login-page label{gap:7px;margin:15px 0;color:#34415a;font-size:.8rem;font-weight:750}
.login-page input{min-height:44px;padding:11px 12px;border:1px solid #cfd8e6;border-radius:10px;color:#172033;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}
.login-page input:focus{border-color:#6d9dff;outline:none;box-shadow:0 0 0 3px rgba(21,94,239,.12)}
.login-page .trust-device{display:flex;align-items:center;gap:9px;margin:12px 0 4px;color:#55627a;font-size:.78rem;font-weight:600;cursor:pointer}.login-page .trust-device input{width:17px;height:17px;min-height:0;margin:0;padding:0;accent-color:#087f73}.login-page .trust-device span{line-height:1.35}
.login-page button{width:100%;min-height:44px;margin-top:10px;border-radius:10px;background:#155eef;color:#fff;font-size:.9rem;transition:background .15s ease,transform .15s ease}
.login-page button:hover{background:#104cc4}.login-page button:active{transform:translateY(1px)}
.login-page #feedback{margin:13px 0 0;color:#a52f3c;font-size:.8rem;font-weight:600;letter-spacing:0}
.login-page [hidden]{display:none!important}.login-page .mfa-help{margin:0 0 14px;color:#55627a;font-size:.82rem;font-weight:500;letter-spacing:0;line-height:1.5}.login-page .mfa-qr{display:block;width:230px;height:230px;margin:0 auto 14px;border:1px solid #E0F2FE;border-radius:14px}.login-page details{margin:12px 0;color:#55627a;font-size:.8rem}.login-page details summary{cursor:pointer;font-weight:700}.login-page details p{margin:10px 0 6px;letter-spacing:0}.login-page code{display:block;padding:10px;border-radius:8px;background:#E0F2FE;color:#0F172A;font-size:.78rem;overflow-wrap:anywhere}.login-page #recovery-step h2{margin:0 0 10px;color:#0F172A;font-size:1.08rem}.login-page #recovery-codes{padding:15px;border:1px solid #E0F2FE;border-radius:10px;background:#f8fffe;color:#0F172A;font:700 .86rem/1.65 ui-monospace,monospace;text-align:center;user-select:all}.login-page button.secondary{border:1px solid #E0F2FE;background:#fff;color:#34415a}.login-page button.secondary:hover{background:#E0F2FE}
@media(max-width:480px){.login-page{padding:18px}.login-page .login-card{padding:25px 22px;border-radius:15px}.login-page .login-brand{margin-bottom:25px}.login-page .login-brand img{width:52px;height:52px}}

/* Access management shares the same quiet, light Luna system. */
.access-page:not(.login-page){padding:34px 28px;background:#fff;color:#172033}
.access-page:not(.login-page) .access-shell{max-width:1120px}
.access-page:not(.login-page) .back{display:inline-flex;margin-bottom:28px;color:#155eef;font-size:.84rem;font-weight:750;text-decoration:none}
.access-page:not(.login-page) .access-shell>header{align-items:flex-start;margin:0}
.access-page:not(.login-page) .access-brand{display:flex;align-items:center;gap:14px;margin-bottom:8px}
.access-page:not(.login-page) .access-brand img{display:block;width:54px;height:54px;object-fit:cover}
.access-page:not(.login-page) .access-shell header p{margin:0 0 4px;color:#155eef;font-size:.66rem;font-weight:800;letter-spacing:.1em}
.access-page:not(.login-page) .access-shell header h1{margin:0;color:#172033;font-size:1.8rem;letter-spacing:-.025em}
.access-page:not(.login-page) .access-shell header span{color:#66738a;font-size:.91rem;line-height:1.45}
.access-page:not(.login-page) button.secondary{min-height:40px;border-color:#dce3ed;border-radius:10px;color:#43506a;background:#fff}
.access-page:not(.login-page) .access-grid{gap:18px;margin-top:30px;grid-template-columns:minmax(300px,360px) 1fr}
.access-page:not(.login-page) .access-card{padding:24px;border-color:#e1e6ee;border-radius:15px;background:#fff;box-shadow:none}
.access-page:not(.login-page) .access-card h2{margin:0 0 20px;color:#172033;font-size:1.05rem}
.access-page:not(.login-page) label{color:#34415a;font-size:.8rem;font-weight:750}
.access-page:not(.login-page) input,.access-page:not(.login-page) select{min-height:42px;border-color:#cfd8e6;border-radius:10px;color:#172033;background:#fff}
.access-page:not(.login-page) input:focus,.access-page:not(.login-page) select:focus{border-color:#6d9dff;outline:none;box-shadow:0 0 0 3px rgba(21,94,239,.12)}
.access-page:not(.login-page) fieldset{margin:20px 0}.access-page:not(.login-page) fieldset legend{color:#66738a;font-size:.73rem;font-weight:750}.access-page:not(.login-page) fieldset label{color:#55627a;font-weight:600}
.access-page:not(.login-page) .access-card button:not(.secondary){min-height:42px;border-radius:10px;background:#155eef;color:#fff}.access-page:not(.login-page) .access-card button:not(.secondary):hover{background:#104cc4}
.access-page:not(.login-page) .user-row{flex-wrap:wrap;padding:16px 0;border-bottom-color:#ebeff5}.access-page:not(.login-page) .user-row strong{color:#172033}.access-page:not(.login-page) .user-row span,.access-page:not(.login-page) .user-row small{color:#66738a}.access-page:not(.login-page) .danger{border-color:#f0c7cd;color:#a52f3c;background:#fff}.access-page:not(.login-page) .danger:hover{border-color:#e5aab4;background:#fff7f8}
.access-page:not(.login-page) .role-editor{display:flex;align-items:center;gap:8px;margin:0}.access-page:not(.login-page) .role-editor span{color:#66738a;font-size:.72rem}.access-page:not(.login-page) .role-editor select{min-width:132px;min-height:40px;padding:8px 10px}.access-page:not(.login-page) .role-editor select:disabled{color:#66738a;background:#f8fafc;cursor:not-allowed}.access-page:not(.login-page) .user-actions .primary-action{min-height:40px;padding:9px 12px;background:#087f73;color:#fff}.access-page:not(.login-page) .user-actions .primary-action:hover{background:#086b60}
.access-page:not(.login-page) .device-panel{flex-basis:100%;margin-top:4px;padding:14px;border:1px solid #E0F2FE;border-radius:12px;background:#f8fffe}.access-page:not(.login-page) .device-panel[hidden]{display:none}.access-page:not(.login-page) .device-panel-header,.access-page:not(.login-page) .device-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.access-page:not(.login-page) .device-panel-header{padding-bottom:12px;border-bottom:1px solid #E0F2FE}.access-page:not(.login-page) .device-panel-header strong,.access-page:not(.login-page) .device-row strong{font-size:.82rem}.access-page:not(.login-page) .device-panel-header small,.access-page:not(.login-page) .device-row small{display:block;margin-top:4px;color:#64748B;font-size:.74rem}.access-page:not(.login-page) .device-row{padding:12px 0;border-bottom:1px solid #E0F2FE}.access-page:not(.login-page) .device-row:last-child{padding-bottom:0;border-bottom:0}.access-page:not(.login-page) .device-error{color:#a52f3c}
@media(max-width:700px){.access-page:not(.login-page){padding:24px 18px}.access-page:not(.login-page) .access-grid{grid-template-columns:1fr}.access-page:not(.login-page) .access-shell>header{gap:18px}.access-page:not(.login-page) .access-shell>header .secondary{width:100%}.access-page:not(.login-page) .role-editor{width:100%}.access-page:not(.login-page) .role-editor select{flex:1}.access-page:not(.login-page) .user-actions button{flex:1}.access-page:not(.login-page) .device-panel-header,.access-page:not(.login-page) .device-row{align-items:flex-start;flex-direction:column}.access-page:not(.login-page) .device-panel button{width:100%}}

/* The same approved palette is used for login and team access. */
.login-page,.access-page:not(.login-page){color:#0F172A;background:#fff}
.login-page .login-card,.access-page:not(.login-page) .access-card{border-color:#E0F2FE}
.login-page .login-brand p,.access-page:not(.login-page) .access-shell header p,.login-page .login-intro p{color:#4169E1}
.login-page .login-brand em{color:#14B8A6}.login-page .login-brand span,.login-page .login-intro h1,.access-page:not(.login-page) .access-shell header h1,.access-page:not(.login-page) .access-card h2,.access-page:not(.login-page) .user-row strong{color:#0F172A}
.login-page .login-intro span,.access-page:not(.login-page) .access-shell header span,.access-page:not(.login-page) .user-row span,.access-page:not(.login-page) .user-row small{color:#64748B}
.login-page input,.access-page:not(.login-page) input,.access-page:not(.login-page) select{border-color:#E0F2FE}
.login-page input:focus,.access-page:not(.login-page) input:focus,.access-page:not(.login-page) select:focus{border-color:#4169E1;box-shadow:0 0 0 3px rgba(65,105,225,.14)}
.login-page button,.access-page:not(.login-page) .access-card button:not(.secondary){background:#4169E1}.login-page button:hover,.access-page:not(.login-page) .access-card button:not(.secondary):hover{background:#14B8A6}
.access-page:not(.login-page) .back{color:#4169E1}.access-page:not(.login-page) button.secondary{border-color:#E0F2FE}.access-page:not(.login-page) .danger{border-color:#E0F2FE;color:#0F172A;background:#FFF7ED}

/* Aqua-forward actions match the selected Luna workspace variant. */
.login-page button,.access-page:not(.login-page) #user-form>button{background:#087f73;color:#fff}.login-page button:hover,.access-page:not(.login-page) #user-form>button:hover{background:#086b60}
.access-page:not(.login-page) .user-actions button.danger{background:#fff6f4;border-color:#efd8d1;color:#9c4136}
.access-page:not(.login-page) .user-actions button.danger:hover{background:#fcebe6}
.login-page .login-brand em{color:#087f73}
