/* CentralRP Phone v1.4 - readability, calendar, clock, map */
:root{--font-ui-size:13.5px;--home-icon-size:47px;--dock-icon-size:43px;--drawer-icon-size:44px}
html,body{font-size:var(--font-ui-size)}
.app-body,.card,.input,textarea,button,.setting-row,.settings-menu-row,.choice-option,.choice-field{font-size:1rem}
.app-header h2{font-size:1.05rem}
.section-title,.muted,small,.app-note,.list-main small,.transaction-row small,.work-employee small,.work-log small,.taxi-coords,.bank-account-number,.inline-check,.metric span,.weather-hero p,.mail-row small,.mail-detail small{font-size:.91rem!important;line-height:1.38}
.list-main strong,.transaction-row strong,.work-employee strong,.work-log strong,.mail-row strong,.mail-row span,.setting-row>span,.setting-row>div>span,.settings-menu-row strong{font-size:1rem!important}
.setting-row small,.settings-menu-row small{font-size:.9rem!important;max-width:200px}
.primary-btn,.secondary-btn,.danger-btn,.mini-btn,.input,.choice-field,.choice-option{font-size:.96rem!important}
.metric strong{font-size:1.12rem}
.app-note{padding:11px 12px}

/* User configurable icon size */
.app-tile .icon-shell{width:var(--home-icon-size)!important;height:var(--home-icon-size)!important;flex-basis:var(--home-icon-size)!important}
.dock .app-tile .icon-shell{width:var(--dock-icon-size)!important;height:var(--dock-icon-size)!important;flex-basis:var(--dock-icon-size)!important}
.drawer-grid .app-tile .icon-shell{width:var(--drawer-icon-size)!important;height:var(--drawer-icon-size)!important;flex-basis:var(--drawer-icon-size)!important}
.app-label{font-size:.88rem;line-height:1.05rem;max-width:82px}
.dock{min-height:64px;height:auto}
.setting-accessibility-row span{display:flex;flex-direction:column;gap:2px}.setting-accessibility-row span b{font-size:.82rem;color:var(--cr-blue-soft);font-weight:600}

/* Phone call history */
.call-history{padding:2px 10px}.call-history-row{width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.07);background:transparent;display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;padding:10px 2px;text-align:left;cursor:pointer}.call-history-row:last-child{border-bottom:0}.call-history-row:hover{background:rgba(255,255,255,.035)}.call-history-icon{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:rgba(37,135,255,.15);color:#83beff;font-weight:800}.call-history-row.missed .call-history-icon,.call-history-row.missed .call-history-main strong{color:#ff6875}.call-history-main{min-width:0}.call-history-main strong,.call-history-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.call-history-main small{color:var(--muted);margin-top:2px}.call-history-time{font-size:.82rem;color:var(--muted);white-space:nowrap}.empty-state{padding:12px}

/* Weather */
.weather-icon-image{width:100%;height:100%;display:block;object-fit:contain}.weather-big{width:74px;height:74px;flex:0 0 74px}.weather-hero-v140{min-height:130px}.weather-hero-copy{min-width:0}.weather-hero h3{font-size:1.45rem;margin:0}.weather-time{font-size:2.2rem}.weather-info-grid .metric{min-height:62px;padding:10px;display:grid;gap:5px;align-content:center}.weather-sync-note{display:grid;gap:5px}.weather-sync-note span{color:var(--muted);line-height:1.45}.widget-weather-icon{width:38px;height:38px;flex:0 0 38px}.widget-weather-icon .weather-icon-image{filter:drop-shadow(0 2px 5px rgba(0,0,0,.25))}.home-widget strong{font-size:.96rem}.home-widget span{font-size:.86rem}

/* Full calendar */
.calendar-toolbar{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;gap:8px;padding:8px;margin-bottom:8px}.calendar-toolbar .icon-btn{font-size:1.7rem}.calendar-period{border:0;background:transparent;display:grid;place-items:center;gap:1px;cursor:pointer}.calendar-period strong{font-size:1.15rem;text-transform:capitalize}.calendar-period span{font-size:.88rem;color:var(--muted)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;padding:4px 2px;color:var(--muted);font-size:.83rem;font-weight:700}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(6,42px);gap:2px;margin-bottom:12px}.calendar-day{position:relative;border:0;border-radius:10px;background:transparent;display:grid;place-items:center;color:var(--text);cursor:pointer}.calendar-day span{font-size:.96rem}.calendar-day.other-month{opacity:.34}.calendar-day.today span{color:#ff6b6b;font-weight:800}.calendar-day.selected{background:var(--cr-blue);box-shadow:0 4px 10px rgba(37,135,255,.28)}.calendar-day.selected span{color:#fff;font-weight:800}.calendar-day i{position:absolute;bottom:4px;width:4px;height:4px;border-radius:50%;background:#71b5ff}.calendar-day.selected i{background:#fff}.calendar-selected-head{margin:4px 2px 8px}.calendar-selected-head>div{display:grid;gap:2px}.calendar-selected-head strong{text-transform:capitalize}.calendar-selected-head span{font-size:.85rem;color:var(--muted)}.calendar-event-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:10px}.calendar-event-row strong,.calendar-event-row span,.calendar-event-row small{display:block}.calendar-event-row span{color:#8fc4ff;margin-top:3px}.calendar-event-row small{color:var(--muted);margin-top:3px}.calendar-new-date{display:grid;gap:3px}.calendar-new-date span{color:var(--muted)}

/* Clock */
.clock-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:10px}.clock-tabs button{height:38px;border:1px solid var(--border);border-radius:10px;background:rgba(255,255,255,.035);color:var(--muted);cursor:pointer}.clock-tabs button.active{background:rgba(37,135,255,.18);border-color:rgba(98,171,255,.45);color:#fff}.clock-face{padding:30px 10px}.clock-digital{font-size:3.4rem}.clock-panel-head{margin:4px 2px 10px}.clock-panel-head>div{display:grid;gap:2px}.clock-panel-head span{color:var(--muted);font-size:.88rem}.alarm-row{display:grid;grid-template-columns:1fr 38px 34px;align-items:center;gap:8px;padding:10px}.alarm-row>div{display:grid;gap:3px}.alarm-row>div strong{font-size:1.55rem;font-weight:500}.alarm-row>div span{font-size:.88rem;color:var(--muted)}.stopwatch-display,.timer-display{text-align:center;padding:35px 10px}.stopwatch-display>div,.timer-display>div{font-size:2.8rem;font-variant-numeric:tabular-nums;font-weight:300}.timer-display span{color:var(--muted)}.clock-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:10px 0}.clock-actions .primary-btn,.clock-actions .secondary-btn{padding:10px 5px}.lap-list{display:grid}.lap-row{display:flex;justify-content:space-between;padding:9px 3px;border-bottom:1px solid rgba(255,255,255,.06)}.lap-row span{color:var(--muted)}.timer-inputs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.timer-inputs label,.clock-form-label{display:grid;gap:5px;color:var(--muted)}.alarm-time-input{font-size:1.35rem}.alarm-repeat{width:100%;justify-content:flex-start;gap:6px}.alarm-repeat b{margin-left:auto}

/* Map - sharp, interactive pins */
.phone-map{height:275px;background:#8ec5dc}.phone-map-stage>img{filter:none!important;image-rendering:auto;backface-visibility:hidden;transform:translateZ(0)}.phone-map-marker{width:15px;height:15px;margin:-7.5px 0 0 -7.5px;border:2px solid #fff;background:#2587ff;box-shadow:0 0 0 4px rgba(37,135,255,.22),0 2px 7px rgba(0,0,0,.55);cursor:pointer;z-index:4}.phone-map-marker:hover,.phone-map-marker.selected{transform:scale(1.35);z-index:8;background:#79b8ff}.phone-map-marker.player{width:17px;height:17px;margin:-8.5px 0 0 -8.5px;background:#35d678;box-shadow:0 0 0 5px rgba(53,214,120,.2),0 2px 7px rgba(0,0,0,.55)}.phone-map-marker.player::after{content:"";position:absolute;inset:-7px;border:2px solid rgba(53,214,120,.58);border-radius:50%;animation:mapPulse 1.5s ease-out infinite}@keyframes mapPulse{0%{transform:scale(.45);opacity:1}100%{transform:scale(1.45);opacity:0}}.map-controls{z-index:12}.map-controls button{font-size:1rem;cursor:pointer}.map-pin-info{position:absolute;z-index:12;left:7px;right:42px;bottom:7px;min-height:42px;border:1px solid rgba(255,255,255,.15);border-radius:10px;background:rgba(5,13,22,.9);display:none;grid-template-columns:1fr auto;align-items:center;gap:8px;padding:7px 9px;backdrop-filter:blur(6px)}.map-pin-info.active{display:grid}.map-pin-info div{min-width:0}.map-pin-info strong,.map-pin-info span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-pin-info span{color:var(--muted);font-size:.83rem;margin-top:2px}.map-pin-info>button{border:0;border-radius:8px;background:var(--cr-blue);padding:7px 9px;font-weight:700}.map-pin-info>b{color:#59df83}.map-list-row{display:grid;grid-template-columns:1fr 48px;align-items:center;border-bottom:1px solid rgba(255,255,255,.06)}.map-list-main{border:0;background:transparent;display:flex;align-items:center;gap:10px;text-align:left;padding:9px 2px;min-width:0}.map-gps-btn{border:0;background:transparent;color:var(--cr-blue-soft);height:100%;cursor:pointer}.map-list-main:hover,.map-gps-btn:hover{background:rgba(255,255,255,.035)}

@media(max-height:900px){.phone-map{height:235px}.calendar-grid{grid-template-rows:repeat(6,37px)}.weather-big{width:62px;height:62px;flex-basis:62px}.clock-digital{font-size:3rem}}

/* Final readability pass: remove the old 7-10px helper text across the phone. */
.transaction-row b,.vehicle-plate,.vehicle-stats span,.vehicle-gps,.taxi-status-pill,.taxi-location,.taxi-coords,.mail-account,.mail-tabs button,.mail-detail p,.camera-help p,.camera-preview-placeholder span,.camera-live-top,.camera-live-top b,.camera-live-bottom,.camera-warning,.camera-recording,.camera-mode-strip,.drawer-help,.drawer-grid .app-label,.widget-pick small,.work-employee>b{font-size:.86rem!important;line-height:1.35}
.mail-detail p{font-size:.98rem!important}.mail-row strong,.mail-row span{font-size:.98rem!important}.mail-row small{font-size:.88rem!important}.camera-live-bottom{grid-template-columns:1fr 1fr;padding:8px 9px;gap:4px 8px}.camera-mode-strip{bottom:64px}.camera-warning{bottom:103px}

/* v1.4.0 readability also covers system chrome and lock screen. */
.statusbar{font-size:.90rem!important}
.statusbar .battery,.statusbar .status-silent{font-size:.76rem!important}
.lock-time .date{font-size:.94rem!important;line-height:1.35}
.lock-card strong{font-size:.98rem!important}
.lock-card p{font-size:.90rem!important;line-height:1.38}
.unlock-hint{font-size:.88rem!important}
.lock-security-btn,.shade-top span,.quick-tile span,.shade-section-title,.shade-notification-head strong,.shade-notification p,.shade-empty,.notification-banner p{font-size:.90rem!important;line-height:1.35}
.shade-notification-head span,.notification-head{font-size:.82rem!important}
.quick-tile b{font-size:.96rem!important}

/* v1.4.1 map refinement: half-display preview, fixed-size precision pins, full-screen mode. */
.phone-map{
  height:clamp(340px,44vh,430px)!important;
  cursor:grab;
}
.phone-map:active{cursor:grabbing}
.phone-map-stage{position:absolute;inset:0;will-change:transform;transform-origin:0 0}
.phone-map-stage>img{width:100%;height:100%;object-fit:fill!important;display:block;user-select:none;pointer-events:none}
.phone-map-markers{position:absolute;inset:0;z-index:7;pointer-events:none;overflow:hidden}
.phone-map-marker{
  pointer-events:auto!important;
  width:8px!important;height:8px!important;margin:-4px 0 0 -4px!important;
  border:1.5px solid #fff!important;
  box-shadow:0 0 0 2px rgba(37,135,255,.20),0 1px 4px rgba(0,0,0,.7)!important;
  transform:none!important;
}
.phone-map-marker:hover,.phone-map-marker.selected{
  width:10px!important;height:10px!important;margin:-5px 0 0 -5px!important;
  transform:none!important;background:#79b8ff!important;
}
.phone-map-marker.player{
  width:10px!important;height:10px!important;margin:-5px 0 0 -5px!important;
  box-shadow:0 0 0 2px rgba(53,214,120,.25),0 1px 4px rgba(0,0,0,.7)!important;
}
.phone-map-marker.player::after{inset:-4px!important;border-width:1px!important}
.map-open-hint{position:absolute;z-index:10;left:10px;bottom:8px;padding:5px 8px;border-radius:8px;background:rgba(4,12,21,.72);color:rgba(255,255,255,.76);font-size:.78rem;pointer-events:none;transition:opacity .16s ease}
.phone-map .map-pin-info.active~.map-open-hint{opacity:0}
.app-screen.map-fullscreen-active{z-index:165!important;padding-top:0!important;background:#050c16!important}
.app-screen.map-fullscreen-active .app-header{display:none!important}
.app-screen.map-fullscreen-active .app-body{height:100%!important;padding:0!important;overflow:hidden!important}
.phone-map.is-fullscreen{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  max-height:none!important;border:0!important;border-radius:0!important;margin:0!important;z-index:500!important;
  cursor:grab;
}
.phone-map.is-fullscreen .map-open-hint{display:none!important}
.phone-map.is-fullscreen .map-controls{top:12px;right:12px}
.phone-map.is-fullscreen .map-controls button{width:34px;height:34px;font-size:1.05rem}
.phone-map.is-fullscreen .map-pin-info{left:12px;right:56px;bottom:34px;min-height:48px}
.phone-map.is-fullscreen .phone-map-marker{width:9px!important;height:9px!important;margin:-4.5px 0 0 -4.5px!important}
.phone-map.is-fullscreen .phone-map-marker.player{width:11px!important;height:11px!important;margin:-5.5px 0 0 -5.5px!important}
@media(max-height:900px){.phone-map{height:clamp(300px,43vh,370px)!important}}
