/* Shared visual language. Layout-specific tables and financial semantics stay local. */
body.ui-system{--ui-font:"Segoe UI",Arial,sans-serif;--ui-border:#e3e3e3;--ui-radius:10px;font-family:var(--ui-font)!important;color:#171717;background:#f7f7f7}
body.ui-system :is(button,input,select,textarea,table,summary,h1,h2,h3,label){font-family:var(--ui-font)!important}
body.ui-system>main{padding-top:16px!important;min-width:0}
body.ui-system main>header{margin-bottom:12px;gap:12px;align-items:flex-start}
body.ui-system main>header>div:first-child{min-width:0}
body.ui-system main h1{font-size:28px!important;line-height:44px!important;font-weight:700!important;letter-spacing:-.6px!important;margin:0!important;color:#111}
body.ui-system :is(.eyebrow,.ops-eyebrow,.xp-eyebrow,.fleet-eyebrow,.ui-eyebrow){display:block!important;font-family:var(--ui-font)!important;font-size:10px!important;line-height:12px!important;font-weight:600!important;letter-spacing:1.4px!important;text-transform:uppercase;color:#555!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important}
body.ui-system main>header :is(.subtitle,.xp-sub,p:not([class])){font-size:13px;line-height:1.5;margin:4px 0 0;color:#626262}
body.ui-system main h2{font-size:16px;line-height:1.4;letter-spacing:0}
body.ui-system main h3{font-size:14px;line-height:1.4;letter-spacing:0}
body.ui-system main details>summary{font-family:var(--ui-font)!important;font-size:14px!important;font-weight:400!important;line-height:20px!important;min-height:44px;box-sizing:border-box;cursor:pointer}
body.ui-system main details>summary :is(h2,h3){font-size:14px!important;line-height:20px!important;font-weight:400!important;margin:0!important}
body.ui-system main :is(button,.ui-button,.fleet-button,.access-link){font-family:var(--ui-font)!important;font-size:13px;font-weight:600;line-height:1.25;box-sizing:border-box;border-radius:8px;cursor:pointer}
body.ui-system main :is(button,.ui-button,.fleet-button,.access-link):focus-visible{outline:2px solid #333;outline-offset:3px}
body.ui-system main button:disabled{cursor:default}
body.ui-system .ui-button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 12px;color:#111;background:white;border:1px solid #ccc;text-decoration:none;white-space:nowrap}
body.ui-system main :is(input,select,textarea){box-sizing:border-box;border-radius:6px}
body.ui-system main label{line-height:1.4}
body.ui-system #access-nav{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
body.ui-system #access-nav .access-link{margin:0;min-height:36px;padding:8px 12px;display:inline-flex;align-items:center}
body.ui-system .access-main>h1{margin-bottom:8px!important}
body.ui-system .access-main #access-content>h2{margin-top:12px}
body.ui-system .access-main form{padding:16px;border-radius:10px}
body.ui-system .access-main form h2{margin-top:0}
body.ui-system .access-main :is(input:not([type=checkbox]),select){min-height:40px;padding:8px 10px}
body.ui-system .access-main button{min-height:36px;padding:8px 12px}
body.ui-system .inspect-main>header .badge{color:#555}
@media(min-width:761px){
 body.ui-system main>header{padding-right:200px}
 body.ui-system .fleet-header{flex-wrap:wrap}
 body.ui-system .fleet-actions{flex-wrap:wrap;gap:8px}
 body.ui-system .revenue-header .year-control{flex-shrink:0}
}
@media(max-width:760px){
 body.ui-system.mobile-shell>main{padding-top:12px!important}
 body.ui-system main h1{font-size:24px!important;line-height:32px!important;letter-spacing:-.4px!important;overflow-wrap:break-word}
 body.ui-system main>header{padding-right:0;gap:8px;flex-wrap:wrap}
 body.ui-system :is(.eyebrow,.ops-eyebrow,.xp-eyebrow,.fleet-eyebrow,.ui-eyebrow){font-size:9px!important;letter-spacing:1.2px!important}
 body.ui-system main h2{font-size:15px}
 body.ui-system .access-main form{padding:12px}
 body.ui-system .access-main :is(input:not([type=checkbox]),select){font-size:16px;min-height:44px}
 body.ui-system .access-main>h1.access-brand img{max-width:100%;height:auto}
}
/* Regular actions share one size; dense row actions retain their dedicated mobile rules. */
body.ui-system main>header :is(button,.fleet-button,.ui-button),
body.ui-system :is(.fleet-toolbar,.ops-actions,.dialog-actions,#access-nav) :is(button,.access-link),
body.ui-system main>form>button{min-height:36px;padding:8px 12px;font-size:13px;line-height:18px;border-radius:8px}
body.ui-system :is(.fleet-panel,.access-card){border-radius:10px;padding:16px;border-color:var(--ui-border)}
body.ui-system :is(.fleet-panel,.access-card)>h2{margin-bottom:12px}
body.ui-system main>header #refresh{min-height:28px;padding:4px 10px;font-size:12px}
@media(max-width:760px){
 body.ui-system main>header :is(button,.fleet-button,.ui-button),body.ui-system .ops-actions>button{min-height:40px}
 body.ui-system :is(.fleet-panel,.access-card){padding:12px}
}
/* Account chrome must also work on pages which do not load access.css. */
body.ui-system .account-indicator{position:absolute;top:19px;right:32px;display:inline-flex;align-items:center;gap:9px;font:500 13px var(--ui-font);color:#333;text-decoration:none;padding:5px 8px;border-radius:6px;z-index:2}
body.ui-system .account-dot{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#228b52;box-shadow:0 0 0 2px #e4f2e9}
body.ui-system main>header{margin-top:0}
@media(min-width:1201px){body.ui-system:not(.signed-out)>main{padding-left:42px!important;padding-right:42px!important}}
@media(min-width:761px) and (max-width:1200px){body.ui-system:not(.signed-out)>main{padding-left:24px!important;padding-right:24px!important}}
@media(max-width:760px){body.ui-system.mobile-shell>main{padding-left:12px!important;padding-right:12px!important}}
body.ui-system .planning-toolbar{gap:8px;padding:12px;border-radius:10px;margin:12px 0}
body.ui-system .planning-toolbar button{min-height:36px;padding:8px 12px;font-size:13px;margin:0;border-radius:8px}
@media(max-width:760px){
 body.ui-system .planning-toolbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px}
 body.ui-system .planning-toolbar button{width:100%;min-width:0;min-height:44px;font-size:12px;padding:6px;white-space:normal}
 body.ui-system .planning-toolbar label{grid-column:1/-1;margin:0}
}
/* Prevent long model/contract labels from painting over the company column. */
body.ui-system .fleet-table td:first-child,
body.ui-system .fleet-table td:first-child :is(strong,small){white-space:normal;overflow-wrap:anywhere}
