@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&display=swap');
:root{--dit-mint:#f2f7f5;--dit-ink:#12364f;--dit-soft:#356172;--dit-blue:#0d4f80;--dit-green:#1f7b5f;--dit-gold:#ddb45a;--dit-border:#c5d9d1;--dit-navy:#041926;--dit-logo:url('/dit-brand/logo.png?v=20261012-logo2');--q-primary:#1f7b5f;--q-secondary:#0d4f80;--q-accent:#ddb45a;--q-color-primary:#1f7b5f;--q-color-secondary:#0d4f80;--q-color-accent:#ddb45a;--tblr-primary:#1f7b5f;--tblr-primary-rgb:31,123,95;--tblr-body-bg:#f2f7f5;--tblr-body-color:#12364f;--tblr-font-sans-serif:Outfit,'Segoe UI',sans-serif}
body[data-dit-app]{font-family:Outfit,'Segoe UI',sans-serif!important;background:var(--dit-mint);color:var(--dit-ink)}
.dit-brandbar{box-sizing:border-box;position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:80px;padding:10px max(20px,calc((100% - 1440px)/2));background:#f2f7f5;color:#12364f;border-bottom:3px solid #ddb45a;font-family:Outfit,'Segoe UI',sans-serif}
.dit-brandbar a{color:#12364f;text-decoration:none}.dit-brandbar a:hover{text-decoration:underline}.dit-brandbar .dit-brand{display:flex;align-items:center;gap:15px}.dit-brandbar img{display:block;width:90px;height:60px;object-fit:contain}.dit-brandbar strong{display:block;font-size:22px;line-height:1.2;font-weight:750}.dit-brandbar small{display:block;color:#356172;font-size:12px;line-height:1.5}.dit-brandbar nav{display:flex;gap:22px;align-items:center;font-size:14px;font-weight:600}.dit-brandbar a:focus-visible{outline:3px solid #ddb45a;outline-offset:4px}.dit-brandbar nav a:last-child{border:1px solid #c5d9d1;border-radius:8px;padding:7px 12px}
body[data-dit-app] :is(button,a,input,select,textarea):focus-visible{outline-color:var(--dit-gold)}
/* GLPI / Tabler: preserve forms, status badges and responsive navigation. */
body[data-dit-app="glpi"] .glpi-logo{background-image:var(--dit-logo)!important;background-position:center!important;background-repeat:no-repeat!important;background-size:contain!important}
body[data-dit-app="glpi"].welcome-anonymous .glpi-logo{width:220px!important;height:145px!important}
body[data-dit-app="glpi"] .main-content-card{border:1px solid var(--dit-border);border-top:4px solid var(--dit-green);border-radius:14px;box-shadow:0 12px 28px #0a2b4410}
body[data-dit-app="glpi"] .btn-primary{--tblr-btn-bg:#1f7b5f;--tblr-btn-border-color:#1f7b5f;--tblr-btn-hover-bg:#166349;--tblr-btn-hover-border-color:#166349;background-color:#1f7b5f;border-color:#1f7b5f;color:white;border-radius:8px}
body[data-dit-app="glpi"] .navbar-vertical{background:linear-gradient(155deg,#041926,#0c424b)!important;color:#eaf3f0!important;border-right:1px solid #1b4e56}
body[data-dit-app="glpi"] .navbar-vertical .nav-link{color:#eaf3f0!important}
body[data-dit-app="glpi"] .navbar-vertical .nav-link.active,body[data-dit-app="glpi"] .navbar-vertical .nav-link:hover{background:#1f7b5f!important;color:#fff!important}
body[data-dit-app="glpi"] .navbar-vertical .navbar-brand .glpi-logo{background-color:#f2f7f5!important;border-radius:8px;min-height:56px;min-width:92px}
body[data-dit-app="glpi"] :is(.card,.form-control,.form-select){border-color:var(--dit-border)}
body[data-dit-app="glpi"] .form-control:focus,body[data-dit-app="glpi"] .form-select:focus{border-color:var(--dit-green);box-shadow:0 0 0 .2rem #1f7b5f20}
body[data-dit-app="glpi"] .page-wrapper{background:var(--dit-mint)}
/* OpenFieldService: use its native design tokens and preserve operational colors. */
body[data-dit-app="field"]{color-scheme:light;--bg:#f2f7f5;--card-bg:#fff;--surface-sunken:#e6f0eb;--border:#c5d9d1;--border-subtle:#dce9e3;--text:#12364f;--text-secondary:#356172;--text-muted:#356172;--primary:#1f7b5f;--primary-hover:#166349;--on-primary:#fff;--primary-light:#e6f0eb;--accent:#0d4f80;--accent-tint:#e9f1f8;--ring:#ddb45a;--info:#0d4f80;--info-tint:#e9f1f8;--success:#1f7b5f;--success-tint:#e6f0eb;--font:Outfit,'Segoe UI',sans-serif}
body[data-dit-app="field"] .layout{min-height:calc(100dvh - 83px)}
body[data-dit-app="field"] .sidebar{background:linear-gradient(155deg,#041926,#0c424b);color:white;height:calc(100dvh - 83px);border-right:1px solid #1b4e56}
body[data-dit-app="field"] :is(.sidebar-brand,.sidebar-item,.sidebar-stat-value){color:#eaf3f0}
body[data-dit-app="field"] :is(.sidebar-section-title,.sidebar-stat-label){color:#ddb45a}
body[data-dit-app="field"] :is(.sidebar-brand,.sidebar-footer){border-color:#24505a}
body[data-dit-app="field"] .sidebar-brand-icon{background:#1f7b5f}
body[data-dit-app="field"] .sidebar-item:hover,body[data-dit-app="field"] .sidebar-item.active{background:#1f7b5f;color:white}
body[data-dit-app="field"] .sidebar-badge{background:#dce9e3;color:#12364f}
body[data-dit-app="field"] .page-header{background:#fff;border-bottom:1px solid #c5d9d1}
body[data-dit-app="field"] .schedule-day{background:#fff;border-radius:12px;border:1px solid #c5d9d1;overflow:hidden}
body[data-dit-app="field"] .schedule-day.today{background:#e6f0eb;border-top:3px solid #ddb45a}
body[data-dit-app="field"] .schedule-day-num.today{background:#1f7b5f;color:white}
body[data-dit-app="field"] .btn-primary{border-radius:8px}
/* Tactical RMM / Quasar: primary brand colors with native warning/error colors intact. */
body[data-dit-app="rmm"] .q-layout{background:#f2f7f5;min-height:calc(100vh - 83px)!important}
body[data-dit-app="rmm"] .q-card{border:1px solid #c5d9d1;border-radius:14px;box-shadow:0 12px 28px #0a2b4410}
body[data-dit-app="rmm"]:has(.dit-brandbar) .q-card:has(.q-form){border-top:4px solid #1f7b5f;background:#fff;color:#12364f}
body[data-dit-app="rmm"]:has(.dit-brandbar) .q-card:has(.q-form)::before{content:"";display:block;height:110px;margin:22px auto 0;background:var(--dit-logo) center/contain no-repeat}
body[data-dit-app="rmm"] .bg-primary{background:#1f7b5f!important;color:#fff!important}
body[data-dit-app="rmm"] .text-primary{color:#1f7b5f!important}
body[data-dit-app="rmm"] .q-btn.bg-primary{border-radius:8px}
body[data-dit-app="rmm"] .q-header{background:linear-gradient(115deg,#041926,#0c424b)!important;color:white;border-bottom:3px solid #ddb45a}
body[data-dit-app="rmm"] .q-drawer{background:#e6f0eb;color:#12364f;border-right:1px solid #c5d9d1}
body[data-dit-app="rmm"] .q-table__container{border-radius:12px;border-color:#c5d9d1}
body[data-dit-app="rmm"] .q-field--outlined .q-field__control:before{border-color:#c5d9d1}
.dit-native-logo{width:68px;height:42px;object-fit:contain;background:#f2f7f5;border-radius:6px;margin-right:12px}
/* Respect native dark-mode preferences with the same navy/teal brand palette. */
body[data-dit-app="rmm"].body--dark{background:#041926;color:#eaf3f0}
body[data-dit-app="rmm"].body--dark .q-layout{background:#041926}
body[data-dit-app="rmm"].body--dark .q-card:not(:has(.q-form)),body[data-dit-app="rmm"].body--dark .q-table__container,body[data-dit-app="rmm"].body--dark .q-drawer{background:#0c2934;color:#eaf3f0;border-color:#24505a}
[data-bs-theme="dark"] body[data-dit-app="glpi"] .page-wrapper,body[data-dit-app="glpi"][data-bs-theme="dark"] .page-wrapper{background:#041926}
@media(max-width:700px){.dit-brandbar{gap:10px;padding:8px 12px;min-height:72px}.dit-brandbar img{width:65px;height:48px}.dit-brandbar strong{font-size:17px}.dit-brandbar nav{gap:8px;font-size:12px}.dit-brandbar nav a:first-child{display:none}.dit-brandbar small{font-size:11px}body[data-dit-app="field"] .sidebar{height:auto;min-height:0}body[data-dit-app="field"] .schedule-day{min-width:0}}
/* Login-specific contrast and native logo replacement. */
body[data-dit-app="glpi"] .glpi-logo{content:none!important}
body[data-dit-app="glpi"].welcome-anonymous .container-tight{max-width:560px!important;width:94%;margin-inline:auto;padding-top:24px!important;padding-bottom:24px!important}
body[data-dit-app="glpi"].welcome-anonymous .glpi-logo{width:170px!important;height:110px!important}
body[data-dit-app="glpi"] .main-content-card{border-top-color:#1f7b5f!important}
body[data-dit-app="rmm"]:has(.dit-brandbar) .q-page{background:linear-gradient(115deg,#041926,#0c424b)!important;min-height:calc(100vh - 83px)!important}
body[data-dit-app="rmm"]:has(.dit-brandbar) .q-card:has(.q-form) :is(.q-field__native,.q-field__label,.q-field__prefix,.q-field__suffix,.q-field__append,.q-field__prepend){color:#12364f!important}
body[data-dit-app="rmm"]:has(.dit-brandbar) .q-card:has(.q-form) .q-field__control{background:#f2f7f5!important;border-radius:8px}
body[data-dit-app="rmm"]:has(.dit-brandbar) .q-card:has(.q-form) .q-field__control:before{border-color:#c5d9d1!important}
body[data-dit-app="rmm"]:has(.dit-brandbar) .q-card:has(.q-form) .q-field__label{color:#356172!important}
body[data-dit-app="glpi"] .glpi-logo{display:inline-block!important}
body[data-dit-app="glpi"].welcome-anonymous .glpi-logo{display:none!important}
body[data-dit-app="glpi"].welcome-anonymous .main-content-card .col-md-5{width:100%;max-width:360px;flex:0 0 100%}
body[data-dit-app="glpi"].welcome-anonymous .main-content-card .card-header h2{font-size:22px;line-height:1.3}
body[data-dit-app="glpi"] .navbar-vertical .navbar-brand .glpi-logo{width:120px;max-width:100%;min-width:0;min-height:48px}
/* Transparent logo treatment across all application themes. */
.dit-brandbar img,.dit-native-logo,body[data-dit-app="glpi"] .glpi-logo{background-color:transparent!important;border-radius:0!important}
body[data-dit-app="field"] .sidebar-brand-icon{background-color:transparent!important;background-image:var(--dit-logo);background-size:contain;background-repeat:no-repeat;background-position:center;width:36px;height:32px;border-radius:0}
body[data-dit-app="field"] .sidebar-brand-icon svg{display:none}
