:root {
  --ros-navy:#0b1f33;
  --ros-blue:#145ea8;
  --ros-blue-2:#0d76d5;
  --ros-bg:#f4f7fb;
  --ros-card:#ffffff;
  --ros-border:#dce4ef;
  --ros-text:#182230;
  --ros-muted:#667085;
  --ros-success:#087a55;
  --ros-warning:#a15c00;
  --ros-danger:#b42318;
}
html,body { background:var(--ros-bg); color:var(--ros-text); }
#header { background:linear-gradient(110deg,var(--ros-navy),#123b61); min-height:62px; padding:10px 24px; align-items:center; box-shadow:0 2px 12px rgba(11,31,51,.18); }
#branding { float:none; }
.ros-brand { display:flex; gap:12px; align-items:center; color:white; }
.ros-brand-mark { width:42px;height:42px;border-radius:10px;background:rgba(255,255,255,.14);display:grid;place-items:center;font-weight:800;letter-spacing:.5px; }
.ros-brand-title { font-weight:800; font-size:15px; letter-spacing:.35px; line-height:1.2; }
.ros-brand-subtitle { font-size:11px; color:#d7e7f6; margin-top:3px; }
.ros-global-nav { display:flex; gap:8px; margin-left:auto; align-items:center; }
.ros-global-nav a { color:#e8f3ff!important; border:1px solid rgba(255,255,255,.25); padding:7px 10px; border-radius:8px; font-size:12px; }
#user-tools { font-size:12px; }
#nav-sidebar { background:#fff; border-right:1px solid var(--ros-border); width:260px; }
#nav-sidebar .module th { background:#eef4fa; color:var(--ros-navy); }
#nav-sidebar a { color:#344054; }
#nav-sidebar .current-app .section, #nav-sidebar .current-model { background:#eaf3ff; color:var(--ros-blue); }
#content { padding:24px 28px 36px; }
#content h1 { color:var(--ros-navy); font-size:24px; font-weight:800; }
.breadcrumbs { background:#eaf0f7!important; color:#475467!important; padding:10px 28px!important; }
.breadcrumbs a { color:var(--ros-blue)!important; }
.module, .inline-group { border:1px solid var(--ros-border); border-radius:12px; overflow:hidden; background:white; box-shadow:0 1px 2px rgba(16,24,40,.04); }
.module h2, .module caption, .inline-group h2 { background:#eef4fa!important; color:var(--ros-navy)!important; padding:11px 14px; font-weight:700; }
.object-tools a:link, .object-tools a:visited, input[type=submit], .submit-row input, a.button { border-radius:8px!important; }
.button.default, input[type=submit].default, .submit-row input.default { background:var(--ros-blue)!important; }
#changelist-filter { border-left:1px solid var(--ros-border); background:#fbfcfe; }
#changelist-filter h2 { background:var(--ros-navy)!important; }
#changelist table { background:white; }
#changelist table thead th { background:#eef4fa; color:#344054; white-space:nowrap; }
#changelist table tbody tr:hover { background:#f5f9ff; }
#toolbar { border-radius:10px!important; border:1px solid var(--ros-border)!important; background:#fff!important; }
#searchbar { min-width:280px; }
.form-row { padding:12px 14px!important; }
.aligned label { color:#475467; font-weight:600; }
input[type=text],input[type=password],input[type=email],input[type=url],input[type=number],textarea,select,.vTextField { border:1px solid #cbd5e1!important; border-radius:8px!important; padding:8px 10px!important; }
input:focus,textarea:focus,select:focus { border-color:#65a7ea!important; box-shadow:0 0 0 3px rgba(20,94,168,.10); outline:none; }
.messagelist li { border-radius:10px; margin:8px 0; }
.ros-dashboard { max-width:1500px; }
.ros-hero { border-radius:16px; background:linear-gradient(120deg,#0b1f33,#145ea8); color:white; padding:26px 28px; display:flex; justify-content:space-between; gap:24px; align-items:center; box-shadow:0 10px 30px rgba(11,31,51,.14); margin-bottom:18px; }
.ros-hero h1 { color:white!important; margin:4px 0 8px; font-size:27px!important; }
.ros-hero p { color:#e5eff9; max-width:760px; margin:0; }
.ros-kicker { color:#b9daf7; font-size:11px; font-weight:800; letter-spacing:1.2px; }
.ros-hero-actions { display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; }
.ros-btn { color:white!important; border:1px solid rgba(255,255,255,.3); border-radius:9px; padding:9px 12px; font-weight:700; }
.ros-btn-primary { background:white; color:var(--ros-blue)!important; border-color:white; }
.ros-quick-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:18px; }
.ros-quick-card { background:white; border:1px solid var(--ros-border); border-radius:13px; padding:15px; display:grid; grid-template-columns:36px 1fr; column-gap:10px; color:var(--ros-text)!important; box-shadow:0 1px 2px rgba(16,24,40,.04); }
.ros-quick-card:hover { border-color:#91bde8; box-shadow:0 8px 18px rgba(20,94,168,.08); transform:translateY(-1px); }
.ros-quick-card strong { grid-row:1/3; width:34px;height:34px;border-radius:9px;background:#eaf3ff;color:var(--ros-blue);display:grid;place-items:center; }
.ros-quick-card span { font-weight:800; }
.ros-quick-card small { color:var(--ros-muted); margin-top:3px; }
.ros-app-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.ros-app-card { margin:0!important; }
.ros-model-row { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:10px 13px; border-bottom:1px solid #edf1f6; }
.ros-model-row:last-child { border-bottom:0; }
.ros-model-name { font-weight:700; color:#344054!important; }
.ros-row-actions { display:flex; gap:8px; white-space:nowrap; }
.ros-row-actions a { font-size:12px; color:var(--ros-blue)!important; }
.ros-status { display:inline-flex; align-items:center; border-radius:999px; padding:3px 8px; font-size:11px; font-weight:800; line-height:1.2; }
.ros-status-green { background:#e7f8f1; color:var(--ros-success); }
.ros-status-amber { background:#fff4e5; color:var(--ros-warning); }
.ros-status-red { background:#ffebe9; color:var(--ros-danger); }
.ros-status-blue { background:#eaf3ff; color:var(--ros-blue); }
.ros-status-gray { background:#eef2f6; color:#475467; }
.ros-mono { font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:11px; }
.ros-number { font-variant-numeric:tabular-nums; font-weight:700; }
@media (max-width:1100px) { .ros-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.ros-app-list{grid-template-columns:1fr;}.ros-hero{align-items:flex-start;flex-direction:column}.ros-hero-actions{justify-content:flex-start} }
@media (max-width:767px) { #header{padding:9px 12px}.ros-brand-subtitle{display:none}.ros-global-nav{display:none}#content{padding:16px 12px}.ros-quick-grid{grid-template-columns:1fr}.ros-hero{padding:19px}.ros-hero h1{font-size:21px!important}#changelist-filter{position:static!important;width:auto!important}.results{overflow-x:auto}.aligned .form-row>div{max-width:100%} }

/* V0.4.1 usability refinements */
#container { min-width:0; }
#header { display:flex; flex-wrap:wrap; gap:10px; }
#header #user-tools { margin-left:auto; display:flex; align-items:center; gap:8px; }
#content-start { scroll-margin-top:80px; }
.main.shifted > #nav-sidebar { box-shadow:2px 0 10px rgba(15,23,42,.04); }
#nav-filter { margin:10px; width:calc(100% - 20px); box-sizing:border-box; border-radius:8px!important; }
.dashboard #content { width:auto; }
.dashboard .module table th { width:auto; }
.ros-recent-actions { margin-top:16px; }
.ros-recent-actions .module { padding-bottom:8px; }
.submit-row { border-radius:10px!important; border:1px solid var(--ros-border)!important; background:#f8fafc!important; }
.paginator { background:#fff; border-top:1px solid var(--ros-border); }
.selector { width:100%; }
.selector select { min-height:220px; }
.help, p.help, form p.help, div.help, form div.help, div.help li { color:var(--ros-muted)!important; }
.errornote, ul.errorlist { border-radius:9px; }
fieldset.module { margin-bottom:16px; }

@media (min-width:1025px) {
  #header { position:sticky; top:0; z-index:1000; }
  .breadcrumbs { position:sticky; top:62px; z-index:900; }
}
