/* Office Life UI corrections: stable clock, fitted floor viewport, true sprites, consistent employee status. */

/* Floor actors are transparent full-body sprites, never premium button cards. */
.character,button.character{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;min-width:0!important;min-height:0!important;overflow:visible!important;color:inherit!important}
.character:hover,.character:focus,.character:active{background:transparent!important;border:0!important;box-shadow:none!important;transform-origin:50% 100%}
.character svg,.character svg.wl-person,.character svg.floor-pixel-person{width:38px!important;height:58px!important;max-width:none!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;image-rendering:pixelated!important;overflow:visible!important}
.character .bubble{border-radius:6px!important;background:#fffbea!important;box-shadow:0 4px 12px #263c2d1a!important}
.character:before,.character:after{display:none!important}

/* Fit the office game into the iframe viewport. */
body:has(.view-floor){overflow:hidden!important}
body:has(.view-floor) .shell{height:100dvh!important;min-height:0!important;overflow:hidden!important}
body:has(.view-floor) .shell>main{min-width:0!important;min-height:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}
body:has(.view-floor) .topbar,body:has(.view-floor) .stats{flex:none!important}
.view-floor{padding:9px 12px 10px!important;max-width:none!important;min-height:0!important;flex:1!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}
.view-floor .heading{margin-bottom:6px!important;flex:none!important}
.view-floor .life-bar{margin-bottom:6px!important;padding:7px 9px!important;min-height:38px!important;flex:none!important}
.view-floor .floor-layout{max-width:none!important;width:100%!important;min-height:0!important;flex:1!important;overflow:hidden!important;align-items:stretch!important;gap:10px!important}
.view-floor .floor-layout>div:first-child{min-width:0!important;min-height:0!important;width:100%!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}
.view-floor .floor-scroll{width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;flex:1 1 auto!important;overflow:auto!important;scrollbar-gutter:stable both-edges;background:#789082!important}
.view-floor .help{flex:none!important;margin:5px 0 0!important;font-size:10px!important}
.view-floor .floor-feed{flex:none!important;margin-top:5px!important;max-height:32px!important;overflow:hidden!important}
.view-floor .floor-layout.has-employee{grid-template-columns:minmax(0,1fr) 320px!important}
.view-floor .floor-layout.has-employee>.profile{min-height:0!important;max-height:100%!important;overflow:auto!important;position:static!important}
body:has(.view-floor) .topbar{min-height:58px!important;padding:7px 15px!important}
body:has(.view-floor) .stats{padding:5px 10px!important;gap:6px!important}
body:has(.view-floor) .stat{padding:6px 10px!important;min-height:46px!important}
body:has(.view-floor) .stat strong{font-size:16px!important}
body:has(.view-floor) .stat small{font-size:8px!important}

/* Date and clock are separate fixed-size tabs; neither can reflow the header. */
.game-calendar{flex:0 0 285px!important;width:285px!important;min-width:285px!important;justify-content:center!important;overflow:hidden!important;text-overflow:ellipsis!important;font-variant-numeric:tabular-nums!important}
.game-time-tab{flex:0 0 112px!important;width:112px!important;min-width:112px!important;min-height:38px!important;display:grid!important;place-content:center!important;text-align:center!important;border:1px solid #d7dfd1!important;border-radius:10px!important;background:#f4f7ef!important;color:#315548!important;font-variant-numeric:tabular-nums!important;line-height:1.05!important}
.game-time-tab strong{font-size:13px!important;white-space:nowrap!important}.game-time-tab small{font-size:9px!important;margin-top:3px!important;color:#718177!important;text-transform:uppercase!important;letter-spacing:.65px!important}
.ol-player-greeting{min-width:205px!important}.ol-player-greeting small{min-width:0!important}

/* Same employee summary everywhere. */
.ol-person-stats{display:flex!important;gap:6px!important;flex-wrap:wrap!important;margin-top:8px!important}
.ol-person-stats span{display:inline-flex!important;align-items:center!important;min-height:24px!important;padding:3px 8px!important;border:1px solid #d3dfd0!important;border-radius:999px!important;background:#f1f6ed!important;color:#446257!important;font-size:10px!important;font-weight:700!important;white-space:nowrap!important}
.person-card .ol-person-stats{margin-top:6px!important;gap:4px!important}.person-card .ol-person-stats span{font-size:9px!important;padding:2px 6px!important;min-height:20px!important}
.profile-header>div:last-child{min-width:0!important;flex:1!important}.profile-header .ol-person-stats{max-width:100%!important}

@media(max-width:1100px){.game-calendar{flex-basis:235px!important;width:235px!important;min-width:235px!important;font-size:10px!important}.view-floor .floor-layout.has-employee{grid-template-columns:minmax(0,1fr) 280px!important}}
@media(max-width:820px){body:has(.view-floor){overflow:auto!important}.view-floor{overflow:auto!important}.view-floor .floor-layout,.view-floor .floor-layout.has-employee{display:grid!important;grid-template-columns:1fr!important;overflow:visible!important}.view-floor .floor-scroll{height:58dvh!important;min-height:420px!important;flex:none!important}.view-floor .floor-layout.has-employee>.profile{max-height:none!important}.game-calendar{flex:1 1 100%!important;width:100%!important;min-width:0!important;justify-content:flex-start!important}.game-time-tab{flex:0 0 105px!important;width:105px!important;min-width:105px!important}}
