/* Primary navigation in the application shell. */
:root{
  --app-sidebar-width:268px;
  --tan-ico-home:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5 12 3l9 7.5'/%3E%3Cpath d='M5 9.5V21h14V9.5'/%3E%3Cpath d='M9 21v-7h6v7'/%3E%3C/svg%3E");
  --tan-ico-apartment:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3' width='16' height='18' rx='2'/%3E%3Cpath d='M8 7h2M14 7h2M8 11h2M14 11h2M8 15h2M14 15h2M9 21v-3h6v3'/%3E%3C/svg%3E");
  --tan-ico-workspace:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='12' rx='2'/%3E%3Cpath d='M8 20h8M12 16v4'/%3E%3C/svg%3E");
  --tan-ico-conference:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 3h16v12H4zM8 21l4-6 4 6'/%3E%3C/svg%3E");
  --tan-ico-users:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
  --tan-ico-car:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 17-1-5 2-5h12l2 5-1 5M5 12h14'/%3E%3Ccircle cx='7' cy='17' r='2'/%3E%3Ccircle cx='17' cy='17' r='2'/%3E%3C/svg%3E");
  --tan-ico-forms:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3h7l5 5v13H7a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2Z'/%3E%3Cpath d='M14 3v6h5M9 13h6M9 17h6'/%3E%3C/svg%3E");
  --tan-ico-settings:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21v-7M4 10V3M12 21v-9M12 8V3M20 21v-5M20 12V3M1 14h6M9 8h6M17 16h6'/%3E%3C/svg%3E");
  --tan-ico-menu:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 6h16M4 12h16M4 18h16'/%3E%3C/svg%3E");
  --tan-ico-search:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4'/%3E%3C/svg%3E");
  --tan-ico-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8 12 3 3 5-6'/%3E%3C/svg%3E");
  --tan-ico-chevron-down:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  --tan-ico-lock:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='10' width='14' height='10' rx='2'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E");
  --tan-ico-wrench:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a4 4 0 0 0-5 5L3 18l3 3 6.7-6.7a4 4 0 0 0 5-5l-2.4 2.4-3-3z'/%3E%3C/svg%3E");
  --tan-ico-broom:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m14 4 6-2-2 6M15 7 8 14M6 13l5 5M3 17l4 4M4 20c2-1 4-3 5-5'/%3E%3C/svg%3E");
  --tan-ico-arrow-left:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 18-6-6 6-6'/%3E%3C/svg%3E");
  --tan-ico-arrow-right:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E");
  --tan-ico-refresh:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6v5h-5M4 18v-5h5M19 11a8 8 0 0 0-14-3M5 13a8 8 0 0 0 14 3'/%3E%3C/svg%3E");
  --tan-ico-close:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E");
}
.top{
  position:fixed!important;inset:0 auto 0 0;width:var(--app-sidebar-width);height:100dvh;
  z-index:70;display:flex;flex-direction:column;align-items:stretch;gap:0;
  overflow-y:auto;padding:24px 16px 18px!important;
  border-right:1px solid var(--tan-line,#dce7ee)!important;border-bottom:0!important;
  background:#fff!important;box-shadow:8px 0 28px rgba(31,62,79,.04)!important;
}
.top:before{left:0;right:auto;top:0;bottom:0;width:3px;height:auto}
.sidebar-head{display:flex;align-items:center;gap:11px;padding:3px 7px 24px;border-bottom:1px solid var(--tan-line,#dce7ee)}
.sidebar-head .brand{min-width:0}
.sidebar-head .brand b{font-size:13px}
.sidebar-head .brand small{display:block;font-size:9px}
.sidebar-label{margin:22px 11px 10px;color:#81939d;font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.top .nav{margin:0!important;display:flex!important;flex:1;flex-direction:column;align-items:stretch;gap:3px;width:100%}
.top .nav>button{width:100%;min-height:42px;display:flex;align-items:center;gap:11px;text-align:left;padding:10px 13px!important;font-size:12px;border-radius:10px}
.top .nav>button:not(#demoToggle)::before{
  content:""!important;width:18px;height:18px;flex:0 0 18px;background:currentColor;
  -webkit-mask:var(--nav-icon) center/18px 18px no-repeat;mask:var(--nav-icon) center/18px 18px no-repeat;
}
.top #n0{--nav-icon:var(--tan-ico-home)}
.top #n1{--nav-icon:var(--tan-ico-apartment)}
.top #n2{--nav-icon:var(--tan-ico-workspace)}
.top #conferenceNav{--nav-icon:var(--tan-ico-conference)}
.top #seminarNav{--nav-icon:var(--tan-ico-users)}
.top #fleetNav{--nav-icon:var(--tan-ico-car)}
.top #n4{--nav-icon:var(--tan-ico-forms)}
.top #n3{--nav-icon:var(--tan-ico-settings)}
.top #seminarNav>span[aria-hidden="true"]{display:none}
.top #n3.on::after,.sidebar-management .sidebar-group-button.has-children::after{
  content:""!important;width:15px;height:15px;margin-left:auto;float:none;background:currentColor;
  -webkit-mask:var(--tan-ico-chevron-down) center/15px 15px no-repeat;mask:var(--tan-ico-chevron-down) center/15px 15px no-repeat;
}
.top .nav #demoToggle{margin-top:22px;justify-content:center;min-height:38px}
.top .nav #demoToggle::before{display:none}
.top .nav .user-chip{margin:auto 0 0;padding:20px 4px 2px;border-left:0;border-top:1px solid var(--tan-line,#dce7ee);display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}
.top .nav .user-chip span{max-width:100%;font-size:10px;white-space:normal;overflow-wrap:anywhere}
.top .nav .user-chip button{flex-shrink:0}
.sidebar-management{display:none;margin:0 0 7px 22px;padding:5px 0 4px 13px;border-left:1px solid #dce9ef}
.top #n3.on + .sidebar-management{display:block}
.sidebar-management .sidebar-group{margin:2px 0}
.sidebar-management button{display:block;width:100%;border:0;background:transparent;text-align:left;border-radius:8px;padding:8px 10px;color:#58717f;font-size:11px;font-weight:700;cursor:pointer}
.sidebar-management button:hover{background:#f2f8fb;color:#0b648d}
.sidebar-management button.on{background:#eaf5fa;color:#075f91}
.sidebar-management .sidebar-children{display:none;margin:1px 0 6px 9px;padding-left:9px;border-left:1px solid #e0eaf0}
.sidebar-management .sidebar-group.open .sidebar-children{display:block}
.sidebar-management .sidebar-children button{font-weight:600;font-size:10.5px;padding:7px 9px}
.wrap{max-width:none!important;margin-left:var(--app-sidebar-width)!important;margin-right:0!important;padding:34px clamp(18px,3vw,48px) 90px!important}
.bottom-nav{display:none!important}
.sidebar-mobile-toggle,.sidebar-scrim{display:none}
.auth-locked>.sidebar-mobile-toggle,.auth-locked>.sidebar-scrim{display:none!important}
/* The management controls remain in the DOM for existing modules, while the
   same actions appear as nested navigation in the application sidebar. */
#manage #managementSwitcher,#manage #managementSubnav{display:none!important}
@media(max-width:860px){
  .top{width:min(300px,calc(100vw - 48px));transform:translateX(-105%);transition:transform .2s ease;box-shadow:12px 0 40px rgba(15,45,62,.18)!important}
  body.sidebar-open .top{transform:translateX(0)}
  .sidebar-mobile-toggle{position:fixed;top:12px;left:12px;z-index:60;display:flex;align-items:center;gap:8px;min-height:42px;padding:8px 12px;border:1px solid #d7e4ea;border-radius:11px;background:#fff;color:#0b5f8c;box-shadow:0 6px 20px rgba(18,56,79,.1);font-size:12px;font-weight:800;cursor:pointer}
  .sidebar-mobile-toggle span:first-child{line-height:1}
  .sidebar-scrim{position:fixed;inset:0;z-index:65;background:rgba(9,32,47,.45)}
  body.sidebar-open .sidebar-scrim{display:block}
  .wrap{margin-left:0!important;padding:70px 14px 76px!important}
}
@media(prefers-reduced-motion:reduce){.top{transition:none}}

/* Unified TAN line-icon system. All icons share one 24px stroke language. */
[data-tan-icon]{--tan-icon-size:18px;display:inline-grid;place-items:center;line-height:1;font-size:0!important;flex:0 0 auto}
[data-tan-icon]::before{content:"";width:var(--tan-icon-size);height:var(--tan-icon-size);display:block;background:currentColor;-webkit-mask:var(--tan-icon) center/contain no-repeat;mask:var(--tan-icon) center/contain no-repeat}
[data-tan-icon="home"]{--tan-icon:var(--tan-ico-home)}
[data-tan-icon="apartment"]{--tan-icon:var(--tan-ico-apartment)}
[data-tan-icon="workspace"]{--tan-icon:var(--tan-ico-workspace)}
[data-tan-icon="conference"]{--tan-icon:var(--tan-ico-conference)}
[data-tan-icon="users"]{--tan-icon:var(--tan-ico-users)}
[data-tan-icon="car"]{--tan-icon:var(--tan-ico-car)}
[data-tan-icon="settings"]{--tan-icon:var(--tan-ico-settings)}
[data-tan-icon="menu"]{--tan-icon:var(--tan-ico-menu)}
[data-tan-icon="search"]{--tan-icon:var(--tan-ico-search)}
[data-tan-icon="check"]{--tan-icon:var(--tan-ico-check)}
[data-tan-icon="lock"]{--tan-icon:var(--tan-ico-lock)}
[data-tan-icon="wrench"]{--tan-icon:var(--tan-ico-wrench)}
[data-tan-icon="broom"]{--tan-icon:var(--tan-ico-broom)}
[data-tan-icon="arrow-left"]{--tan-icon:var(--tan-ico-arrow-left)}
[data-tan-icon="arrow-right"]{--tan-icon:var(--tan-ico-arrow-right)}
[data-tan-icon="refresh"]{--tan-icon:var(--tan-ico-refresh)}
[data-tan-icon="close"]{--tan-icon:var(--tan-ico-close)}
.tan-btn-icon{--tan-icon-size:15px;vertical-align:-2px;margin-right:6px}
.toast{display:flex!important;align-items:center;gap:7px}
.toast-icon{--tan-icon-size:15px}
.fleet-inline-icon{--tan-icon-size:13px;display:inline-grid!important;vertical-align:-2px;margin-right:4px}
.searchbar>span[data-tan-icon]{--tan-icon-size:18px;color:#82939e}
.quick-card .qi[data-tan-icon],.dv3-action .ico[data-tan-icon]{--tan-icon-size:18px}
.dv3-row .ico[data-tan-icon]{--tan-icon-size:16px;color:var(--d)}
.auth-note>span[data-tan-icon]{--tan-icon-size:16px;color:#5f7f91}
.sidebar-mobile-toggle>span[data-tan-icon]{--tan-icon-size:19px}
.bottom-nav button>span[data-tan-icon]{--tan-icon-size:18px;margin:0 auto 3px}
#msPrevMonth,#msNextMonth,#msRoomRefresh{font-size:0!important;width:38px;padding:0!important;display:inline-grid!important;place-items:center}
#msPrevMonth::before,#msNextMonth::before,#msRoomRefresh::before,.ms-room-drawer-close::before{content:"";width:17px;height:17px;display:block;background:currentColor}
#msPrevMonth::before{-webkit-mask:var(--tan-ico-arrow-left) center/contain no-repeat;mask:var(--tan-ico-arrow-left) center/contain no-repeat}
#msNextMonth::before{-webkit-mask:var(--tan-ico-arrow-right) center/contain no-repeat;mask:var(--tan-ico-arrow-right) center/contain no-repeat}
#msRoomRefresh::before{-webkit-mask:var(--tan-ico-refresh) center/contain no-repeat;mask:var(--tan-ico-refresh) center/contain no-repeat}
.ms-room-drawer-close{font-size:0!important}
.ms-room-drawer-close::before{-webkit-mask:var(--tan-ico-close) center/contain no-repeat;mask:var(--tan-ico-close) center/contain no-repeat}
