:root { --aa-indigo:#4f46e5; --aa-slate:#0f172a; --aa-border:#e2e8f0; --aa-bg:#f8fafc; }
* { box-sizing:border-box; }
body.active_admin { margin:0; background:var(--aa-bg); color:#1e293b; font:14px/1.5 Inter,system-ui,-apple-system,sans-serif; }
#header { display:grid; grid-template-columns:minmax(170px,210px) minmax(0,1fr) minmax(180px,220px) auto; align-items:center; gap:18px; background:var(--aa-slate); padding:12px 24px; color:#fff; }
#site_title { font-size:18px; font-weight:800; white-space:nowrap; }
#site_title a,#header a { color:#fff; text-decoration:none; }
.header-item.tabs { min-width:0; }
#tabs,#utility_nav { display:flex; align-items:center; gap:6px; margin:0; padding:0; list-style:none; }
#tabs { flex-wrap:wrap; }
#tabs li,#utility_nav li { position:relative; list-style:none; }
#tabs a,#utility_nav a { display:block; border-radius:8px; padding:8px 10px; font-size:12px; font-weight:700; }
#tabs a:hover,#tabs .current>a { background:#ffffff1a; }
/* Nested admin menus are popovers, never part of the header layout. */
#tabs li ul { display:none; position:absolute; z-index:50; top:100%; left:0; min-width:225px; margin:0; padding:7px; list-style:none; border:1px solid #334155; border-radius:10px; background:#172033; box-shadow:0 14px 30px #02061766; }
#tabs li:hover>ul,#tabs li:focus-within>ul { display:block; }
#tabs li ul a { white-space:nowrap; }
#utility_nav { white-space:nowrap; }
.admin_organisation_switcher { min-width:0; }
.admin_organisation_switcher>span { display:block; margin-bottom:3px; color:#94a3b8; font-size:10px; font-weight:800; letter-spacing:.08em; line-height:1; text-transform:uppercase; }
.admin_organisation_switcher form { margin:0; }
.admin_organisation_switcher select { width:100%; max-width:240px; margin:0; border:1px solid #475569; border-radius:8px; background:#1e293b; padding:7px 30px 7px 9px; color:#fff; font-size:12px; font-weight:700; cursor:pointer; }
.admin_organisation_switcher select:focus { border-color:#a5b4fc; outline:2px solid #6366f155; }
#title_bar { border-bottom:1px solid var(--aa-border); background:#fff; padding:20px 28px; }
#page_title { margin:0; font-size:26px; }
#main_content_wrapper { max-width:1500px; margin:0 auto; padding:24px 28px 48px; }
.columns,.admin_dashboard_columns { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:20px; align-items:start; }
.columns>.column,.admin_dashboard_columns>.column { grid-column:span 6; min-width:0; width:auto!important; margin:0!important; }
#active_admin_content.with_sidebar { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:20px; align-items:start; }
#active_admin_content.with_sidebar #main_content { min-width:0; }
#sidebar { min-width:0; }
.panel,.attributes_table,.index_table,form fieldset { margin-bottom:20px; border:1px solid var(--aa-border); border-radius:14px; background:#fff; overflow:hidden; }
.panel h3,form fieldset legend { display:block; width:100%; margin:0; padding:14px 18px; background:#f1f5f9; font-weight:800; }
.panel_contents { padding:18px; }
.admin_intro { margin-bottom:20px; border:1px solid #c7d2fe; border-radius:16px; background:linear-gradient(135deg,#eef2ff,#fff); padding:20px 22px; }
.admin_intro h2 { margin:0 0 5px; font-size:18px; }.admin_intro p { margin:0; color:#64748b; }
.admin_welcome { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:18px; border:1px solid #c7d2fe; border-radius:18px; background:linear-gradient(135deg,#eef2ff,#fff 70%); padding:22px 24px; }
.admin_welcome>div:first-child>span { color:#4f46e5; font-size:10px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.admin_welcome h2 { margin:4px 0; font-size:22px; line-height:1.2; }.admin_welcome p { max-width:700px; margin:0; color:#64748b; }
.admin_welcome_actions { display:flex; flex-shrink:0; flex-wrap:wrap; gap:8px; }
.admin_workspace_bar { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:18px; border:1px solid #334155; border-radius:14px; background:#172033; padding:14px 16px; color:#fff; }
.admin_workspace_bar>div:first-child span,.admin_workspace_bar>div:first-child strong,.admin_workspace_bar>div:first-child small { display:block; }.admin_workspace_bar>div:first-child span { color:#94a3b8; font-size:10px; font-weight:800; text-transform:uppercase; }.admin_workspace_bar>div:first-child strong { margin:2px 0; }.admin_workspace_bar>div:first-child small { color:#94a3b8; }
.admin_workspace_bar>div:last-child { display:flex; align-items:center; flex-wrap:wrap; gap:7px; }.admin_workspace_bar form { margin:0; }
.admin_metric_grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:20px; }
.admin_metric { border:1px solid var(--aa-border); border-radius:14px; background:#fff; padding:18px; box-shadow:0 4px 15px #0f172a08; }
.admin_metric:is(a) { color:inherit; text-decoration:none; transition:transform .15s,border-color .15s,box-shadow .15s; }.admin_metric:is(a):hover { transform:translateY(-2px); border-color:#a5b4fc; box-shadow:0 10px 24px #4f46e51a; }
.admin_metric span,.admin_metric small { display:block; color:#64748b; }.admin_metric strong { display:block; margin:8px 0 3px; font-size:30px; line-height:1; }.admin_metric.urgent strong { color:#d97706; }
.admin_attention_list { margin:0 0 12px; padding:0; list-style:none; }.admin_attention_list li { border-bottom:1px solid #f1f5f9; }.admin_attention_list li:first-child a{padding-top:0}.admin_attention_list li:last-child{border:0}.admin_attention_list a { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 0; color:inherit; text-decoration:none; }.admin_attention_list a:hover strong { color:#4f46e5; }.admin_attention_list strong,.admin_attention_list span { display:block; }.admin_attention_list span { margin-top:2px; color:#64748b; font-size:12px; }
.admin_text_link { color:#4f46e5; font-size:12px; font-weight:800; text-decoration:none; }
.admin_quick_links { display:grid; gap:8px; }.admin_quick_links a { border:1px solid var(--aa-border); border-radius:10px; padding:11px 12px; color:#334155; font-weight:700; text-decoration:none; }.admin_quick_links a:hover { border-color:#a5b4fc; background:#eef2ff; color:#4338ca; }
.admin_task_grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.admin_task_grid a { border:1px solid #e2e8f0; border-radius:12px; padding:14px; color:inherit; text-decoration:none; }.admin_task_grid a:hover { border-color:#a5b4fc; background:#eef2ff; }.admin_task_grid strong,.admin_task_grid span { display:block; }.admin_task_grid strong { font-size:13px; }.admin_task_grid span { margin-top:3px; color:#64748b; font-size:11px; line-height:1.4; }
.admin_health_list,.admin_checklist { margin:0; padding:0; list-style:none; }.admin_health_list li { display:flex; align-items:center; justify-content:space-between; gap:16px; border-bottom:1px solid #f1f5f9; padding:11px 0; }.admin_health_list li:first-child { padding-top:0; }.admin_health_list li:last-child { border:0; padding-bottom:0; }.admin_health_list span { color:#64748b; }.admin_health_list strong { font-size:16px; }
.admin_checklist li { display:grid; grid-template-columns:28px minmax(0,1fr) auto; align-items:center; gap:10px; border-bottom:1px solid #f1f5f9; padding:9px 0; }.admin_checklist li:last-child { border:0; }.admin_checklist>li>span { display:grid; width:25px; height:25px; place-items:center; border-radius:50%; font-size:12px; font-weight:900; }.admin_checklist .complete { background:#dcfce7; color:#15803d; }.admin_checklist .incomplete { background:#fef3c7; color:#b45309; }.admin_checklist a { color:#334155; font-weight:700; text-decoration:none; }.admin_checklist small { color:#94a3b8; }
.admin_empty { padding:24px; text-align:center; }.admin_empty.compact { padding:18px; }.admin_empty strong,.admin_empty span { display:block; }.admin_empty span { margin-top:4px; color:#94a3b8; }
.admin_impersonation_form { display:grid; grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto; gap:10px; align-items:center; }.admin_impersonation_form select,.admin_impersonation_form input { max-width:none; margin:0; }.admin_impersonation_form button { white-space:nowrap; }
.admin_support_panel { margin-bottom:20px; border:1px solid var(--aa-border); border-radius:14px; background:#fff; overflow:hidden; }.admin_support_panel summary { cursor:pointer; padding:14px 18px; background:#f8fafc; font-weight:800; }.admin_support_panel>div { padding:16px 18px; }.admin_support_panel p { margin-top:0; color:#64748b; font-size:12px; }
.admin_context_bar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px; }.admin_context_bar strong,.admin_context_bar span { display:block; }.admin_context_bar>div:last-child { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }.admin_context_bar .button { margin:0; }
.index_table { width:100%; border-collapse:collapse; }
.index_table th,.index_table td { border-bottom:1px solid var(--aa-border); padding:12px; text-align:left; }
.index_table th { background:#f1f5f9; font-size:11px; text-transform:uppercase; }
.index_table a,.attributes_table a { color:var(--aa-indigo); font-weight:700; }
.attributes_table table { width:100%; border-collapse:collapse; }
.attributes_table th,.attributes_table td { border-bottom:1px solid var(--aa-border); padding:12px; text-align:left; }
.attributes_table th { width:220px; background:#f8fafc; }
.action_items { display:flex; gap:8px; }
.action_item a,input[type=submit],button,.button { display:inline-block; border:0; border-radius:9px; background:var(--aa-indigo); padding:9px 13px; color:#fff!important; font-weight:700; text-decoration:none; cursor:pointer; }
.button.secondary,.admin_welcome .button.secondary,.admin_workspace_bar .button.secondary { border:1px solid #cbd5e1; background:#fff; color:#334155!important; }
.admin_workspace_bar .button.secondary { border-color:#475569; background:#1e293b; color:#fff!important; }
form fieldset { padding:18px; } form fieldset legend { margin:-18px -18px 18px; }
form ol { margin:0; padding:0; list-style:none; } form li { margin-bottom:14px; }
form label { display:block; margin-bottom:5px; font-weight:700; }
form input,form select,form textarea { max-width:720px; width:100%; border:1px solid #cbd5e1; border-radius:8px; padding:9px; background:#fff; }
form input[type=checkbox],form input[type=radio] { width:auto; margin:0 7px 0 0; padding:0; vertical-align:middle; }
.filter_form .buttons { display:flex; gap:8px; }.filter_form .buttons a { align-self:center; color:#64748b; font-size:12px; font-weight:700; }
.table_actions { white-space:nowrap; }.table_actions a { margin-right:8px; }
.flash { margin:16px 28px; border-radius:10px; padding:12px; }.flash_notice { background:#dcfce7; }.flash_error,.flash_alert { background:#fee2e2; }
.status_tag { display:inline-block; border-radius:999px; background:#eef2ff; padding:4px 9px; color:#4338ca; font-size:11px; font-weight:800; }
.pagination { display:flex; gap:5px; }.pagination a,.pagination span { border:1px solid var(--aa-border); border-radius:7px; background:#fff; padding:6px 9px; text-decoration:none; }
.blank_slate_container { padding:30px; text-align:center; color:#64748b; }
#footer { display:none; }
@media(max-width:1150px) { #header { grid-template-columns:minmax(180px,220px) minmax(0,1fr) minmax(180px,220px); } #utility_nav { grid-column:1/-1; justify-content:flex-end; } .admin_metric_grid { grid-template-columns:repeat(2,minmax(0,1fr)); } #active_admin_content.with_sidebar { grid-template-columns:1fr; } }
@media(max-width:900px) { #header { grid-template-columns:1fr; align-items:start; } #tabs { padding-right:0; } #utility_nav { justify-content:flex-start; } #main_content_wrapper,#title_bar { padding:16px; } .index_table { display:block; overflow-x:auto; } .columns>.column,.admin_dashboard_columns>.column { grid-column:1/-1; }.admin_welcome,.admin_workspace_bar { align-items:flex-start; flex-direction:column; }.admin_welcome_actions { width:100%; }.admin_welcome_actions .button { flex:1; text-align:center; } }
@media(max-width:560px) { .admin_metric_grid { grid-template-columns:1fr 1fr; gap:10px; }.admin_metric { padding:14px; }.admin_metric strong { font-size:25px; }.admin_task_grid { grid-template-columns:1fr; }.admin_welcome { padding:18px; }.admin_welcome h2 { font-size:19px; }.admin_welcome_actions { display:grid; }.admin_workspace_bar>div:last-child { display:grid; width:100%; }.admin_workspace_bar .button,.admin_workspace_bar form,.admin_workspace_bar form button { width:100%; text-align:center; } }
@media(max-width:760px) { .admin_impersonation_form { grid-template-columns:1fr; } }
