:root{--bg:#07110f;--panel:#10231d;--line:rgba(137,198,174,.25);--text:#eef8f2;--muted:#9db7ac;--mint:#34d39a;--gold:#d6a72c;--danger:#f06a6a}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 18% 8%,rgba(52,211,154,.18),transparent 32%),radial-gradient(circle at 86% 0,rgba(214,167,44,.12),transparent 29%),linear-gradient(135deg,#07110f,#102019 58%,#0a1512);color:var(--text);font-family:Manrope,Arial,sans-serif;display:grid;place-items:center;padding:24px}.auth-shell{width:min(100%,980px);display:grid;grid-template-columns:minmax(280px,.8fr) minmax(330px,1.2fr);background:linear-gradient(145deg,rgba(18,40,32,.98),rgba(8,22,18,.98));border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 28px 70px rgba(0,0,0,.42)}.auth-side{padding:44px;background:linear-gradient(150deg,rgba(52,211,154,.17),rgba(8,22,18,.18));border-right:1px solid var(--line)}.auth-main{padding:44px}.logo{width:54px;height:54px;border-radius:16px;background:linear-gradient(145deg,var(--mint),#168b65);color:#052116;display:grid;place-items:center;font:800 20px Space Grotesk,Arial;box-shadow:0 14px 34px rgba(52,211,154,.24)}h1,h2{font-family:Space Grotesk,Arial,sans-serif;margin:18px 0 8px}h1{font-size:34px;line-height:1.08}h2{font-size:25px}.lead,.hint,.feature-list{color:var(--muted);line-height:1.65}.feature-list{padding-left:20px}.feature-list li{margin:10px 0}.eyebrow{color:var(--mint);text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:800}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:11px;color:#bad2c8;text-transform:uppercase;letter-spacing:.7px;font-weight:800}.field input{width:100%;height:46px;border:1px solid var(--line);border-radius:11px;background:#132720;color:var(--text);padding:0 13px;font:600 14px Manrope,Arial;outline:none}.field input:focus{border-color:var(--mint);box-shadow:0 0 0 3px rgba(52,211,154,.12)}.actions{display:flex;gap:10px;align-items:center;margin-top:20px;flex-wrap:wrap}.button,button{border:1px solid var(--mint);background:var(--mint);color:#062117;border-radius:11px;padding:12px 18px;font:800 13px Manrope,Arial;cursor:pointer;text-decoration:none}.button.secondary{background:transparent;color:var(--text);border-color:var(--line)}.message{border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:0 0 18px;color:#dcefe7;background:rgba(52,211,154,.08);line-height:1.55}.message.error{border-color:rgba(240,106,106,.45);background:rgba(240,106,106,.09);color:#ffd7d7}.requirements{display:grid;gap:7px;margin:20px 0}.requirement{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--line);font-size:12px}.ok{color:var(--mint)}.bad{color:var(--danger)}.small-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:18px}.small-links a{color:#8ef0c3;text-decoration:none;font-size:12px}.code-note{font-size:12px;color:var(--muted);margin-top:8px}.single{width:min(100%,520px);grid-template-columns:1fr}.single .auth-side{display:none}.single .auth-main{padding:44px}@media(max-width:760px){body{padding:12px;display:block}.auth-shell{grid-template-columns:1fr;border-radius:18px}.auth-side{padding:28px;border-right:0;border-bottom:1px solid var(--line)}.auth-main,.single .auth-main{padding:28px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}h1{font-size:28px}.actions .button,.actions button{width:100%;text-align:center}}
select{width:100%;height:46px;border:1px solid var(--line);border-radius:11px;background:#132720;color:var(--text);padding:0 13px;font:600 14px Manrope,Arial;outline:none}.admin-page{display:block;padding:28px}.admin-shell{width:min(1380px,100%);margin:0 auto}.admin-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px}.admin-header>div:first-child{display:flex;gap:18px;align-items:flex-start}.admin-header h1{margin:4px 0 6px}.admin-header .eyebrow{margin:0}.admin-grid{display:grid;grid-template-columns:minmax(420px,.9fr) minmax(480px,1.1fr);gap:22px;align-items:start}.admin-card{background:linear-gradient(145deg,rgba(18,40,32,.98),rgba(8,22,18,.98));border:1px solid var(--line);border-radius:22px;padding:26px;box-shadow:0 22px 60px rgba(0,0,0,.28)}.admin-card h2{margin-top:6px}.permission-groups{display:grid;gap:16px;margin-top:22px}.permission-groups fieldset{border:1px solid var(--line);border-radius:14px;padding:14px}.permission-groups legend{padding:0 8px;color:var(--mint);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.8px}.permission-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.permission-item{display:flex;gap:10px;padding:11px;border:1px solid rgba(137,198,174,.16);border-radius:11px;background:rgba(255,255,255,.025);cursor:pointer}.permission-item input{margin-top:3px;accent-color:var(--mint)}.permission-item span{display:grid;gap:4px}.permission-item b{font-size:13px}.permission-item small{color:var(--muted);line-height:1.4}.staff-list{display:grid;gap:13px}.staff-card{border:1px solid var(--line);border-radius:15px;padding:16px;background:rgba(255,255,255,.025)}.staff-card-head{display:flex;justify-content:space-between;gap:16px}.staff-card h3{margin:0 0 3px;font-size:16px}.staff-card p{margin:0;color:var(--muted);font-size:12px}.status-pill{height:max-content;padding:5px 9px;border-radius:99px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.6px}.status-pill.active{background:rgba(52,211,154,.13);color:var(--mint)}.status-pill.disabled{background:rgba(240,106,106,.12);color:#ffb1b1}.permission-tags{display:flex;flex-wrap:wrap;gap:6px;margin:13px 0}.permission-tags span{padding:5px 8px;border:1px solid var(--line);border-radius:99px;color:#cce2d8;font-size:10px}.staff-meta{margin-top:10px!important}.danger-button{background:transparent;color:#ffb1b1;border-color:rgba(240,106,106,.45)}.staff-card .actions{margin-top:12px}.staff-card .actions form{margin:0}@media(max-width:980px){.admin-grid{grid-template-columns:1fr}.admin-header{flex-direction:column}.permission-grid{grid-template-columns:1fr}}@media(max-width:600px){.admin-page{padding:12px}.admin-card{padding:19px}.admin-header>div:first-child{flex-direction:column}.admin-header .actions,.admin-header .actions a{width:100%}.staff-card-head{align-items:flex-start}.staff-card .actions>*{width:100%}.staff-card .actions button,.staff-card .actions a{width:100%;text-align:center}}

/* v4.6: administrator-managed company logo */
.brand-logo.has-image{background:#fff;padding:6px;overflow:hidden;color:transparent;line-height:normal}
.brand-logo.has-image img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.brand-logo-auth.has-image{width:112px;height:72px;border-radius:16px}
.brand-logo-admin.has-image{width:88px;height:60px;border-radius:15px;flex:0 0 auto}
.brand-logo-preview{margin:0;box-shadow:none}
.brand-logo-preview.has-image{width:min(100%,280px);height:140px;border:1px solid var(--line);border-radius:18px;padding:14px}
.branding-shell{max-width:1120px}
.branding-grid{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(360px,1.1fr);gap:22px;align-items:start}
.branding-preview{min-height:210px;border:1px dashed rgba(137,198,174,.35);border-radius:18px;background:rgba(255,255,255,.025);display:grid;place-items:center;gap:18px;padding:24px;text-align:center}
.branding-preview>div:last-child{display:grid;gap:6px}
.branding-preview b{font-size:15px}
.branding-preview small{display:block;color:var(--muted);line-height:1.55;max-width:440px}
.logo-upload-field{display:grid;gap:10px;padding:18px;border:1px dashed rgba(52,211,154,.38);border-radius:15px;background:rgba(52,211,154,.045);cursor:pointer}
.logo-upload-field>span{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:var(--mint)}
.logo-upload-field input{width:100%;height:auto;padding:11px;background:#132720;border:1px solid var(--line);border-radius:11px;color:var(--text)}
.logo-upload-field small{color:var(--muted);line-height:1.5}
.remove-logo-form{margin-top:12px;padding-top:14px;border-top:1px solid var(--line)}
@media(max-width:820px){.branding-grid{grid-template-columns:1fr}.brand-logo-auth.has-image{width:96px;height:64px}}

/* v4.7: administrator system update */
.update-shell{max-width:1180px}
.update-grid{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(420px,1.18fr);gap:22px;align-items:start}
.update-status-list{display:grid;gap:0;margin-top:18px;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.update-status-list>div{display:grid;grid-template-columns:150px 1fr;gap:15px;padding:13px 14px;border-bottom:1px solid var(--line);font-size:12px}
.update-status-list>div:last-child{border-bottom:0}.update-status-list span{color:var(--muted)}.update-status-list b{font-size:12px;line-height:1.5}.update-status-list .ok{color:var(--mint)}.update-status-list .bad{color:#ffb1b1}
.update-checkbox{display:flex;align-items:center;gap:9px;margin-top:14px;color:var(--muted);font-size:12px}.update-checkbox input{accent-color:var(--mint)}
.update-progress{margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:13px;background:rgba(52,211,154,.05)}.update-progress[hidden]{display:none}.update-progress>div:first-child{display:flex;justify-content:space-between;gap:12px;font-size:12px}.update-progress>div:first-child span{color:var(--mint);font-weight:800}.update-progress-track{height:9px;margin:10px 0;border-radius:99px;overflow:hidden;background:rgba(137,198,174,.16)}.update-progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--mint),#7cd7ff);transition:width .18s}.update-progress small{color:var(--muted)}
.update-backups{margin-top:22px}.backup-list{display:grid;gap:10px;margin-top:18px}.backup-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.025)}.backup-row b,.backup-row small{display:block}.backup-row small{margin-top:4px;color:var(--muted);font-size:11px}.backup-row form{margin:0}.backup-row button{padding:9px 13px}
button:disabled{opacity:.48;cursor:not-allowed}
@media(max-width:850px){.update-grid{grid-template-columns:1fr}.update-status-list>div{grid-template-columns:1fr;gap:5px}.backup-row{align-items:flex-start;flex-direction:column}.backup-row form,.backup-row button{width:100%}}

/* v4.7 application download */
.download-application-form{display:grid;gap:9px;margin-top:16px}.download-application-form button{justify-self:start}.download-application-form small{color:var(--muted);line-height:1.5}
@media(max-width:850px){.download-application-form button{width:100%}}

/* v5.4 Dubai Optical red / black / warm-neutral branding */
:root{--bg:#090909;--panel:#171616;--line:rgba(255,255,255,.14);--text:#fbfaf9;--muted:#b8b0aa;--mint:#df1f2d;--gold:#c6a17f;--danger:#ff6670}
body{background:radial-gradient(circle at 18% 8%,rgba(223,31,45,.18),transparent 32%),radial-gradient(circle at 86% 0,rgba(198,161,127,.11),transparent 29%),linear-gradient(135deg,#080808,#171414 58%,#0b0b0b)}
.auth-shell,.admin-card{background:linear-gradient(145deg,rgba(28,26,26,.98),rgba(10,10,10,.98));border-color:var(--line)}
.auth-side{background:linear-gradient(150deg,rgba(223,31,45,.17),rgba(10,10,10,.2));border-color:var(--line)}
.logo:not(.has-image),.brand-logo:not(.has-image){background:linear-gradient(145deg,#ed303c,#a80e19);color:#fff;box-shadow:0 14px 34px rgba(201,24,37,.24)}
.field label{color:#d5ccc7}.field input,select,.logo-upload-field input{background:#1c1a1a;color:var(--text);border-color:var(--line)}
.field input:focus,select:focus{border-color:var(--mint);box-shadow:0 0 0 3px rgba(223,31,45,.14)}
.button,button{border-color:var(--mint);background:var(--mint);color:#fff}.button.secondary{background:transparent;color:var(--text);border-color:var(--line)}
.message{color:#f2e9e5;background:rgba(223,31,45,.08)}.small-links a{color:#ff8289}.ok,.eyebrow{color:#ff6f78}
.permission-groups fieldset,.permission-item,.staff-card,.branding-preview,.update-status-list,.backup-row{border-color:var(--line)}
.permission-item,.staff-card,.branding-preview,.backup-row{background:rgba(255,255,255,.028)}
.permission-item input,.update-checkbox input{accent-color:var(--mint)}
.status-pill.active{background:rgba(223,31,45,.13);color:#ff7b83}.permission-tags span{color:#e2d9d4}
.logo-upload-field,.update-progress{background:rgba(223,31,45,.05);border-color:rgba(223,31,45,.35)}
.update-progress-track span{background:linear-gradient(90deg,#a80e19,#df1f2d,#f16069)}
