/* Azure Grove v0.6 — clear, higher-contrast typography and legible mobile controls.
   Dark text on warm-white/sage surfaces; retain established design and status colours. */
:root {
  --ink:#192c22;
  --dark:#192c22;
  --muted:#3b5141;
  --forest:#23513e;
  --green:#23513e;
  --navy:#23513e;
  --border:#cbd7cc;
  --line:#cbd7cc;
}
body.ag-readable {color:#1b2d23;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%;}
body.ag-readable :is(input,textarea,select){color:#192a20;background-color:#fff;border-color:#b2c6b6;}
body.ag-readable :is(input,textarea)::placeholder{color:#55665a;opacity:1;}
body.ag-readable :is(.muted,.subtext,.small-note,.muted-sm,.small,.intro-sub,.fine,.safe,.footer,.map-footer,.hint,.capacity-note) {color:#364c3d;}
body.ag-readable :is(a,button,select,input,textarea):focus-visible{outline:3px solid #1a6d4b;outline-offset:3px;}
/* Purchaser private view */
body.ag-resident{font-size:16px;line-height:1.6;}
body.ag-resident :is(.identity small,.operator,.intro-badge small,.sample small,.data small,.section-head small,.map-footer,.slot small,.subtle,.photo-card span,.summary-call span,.datarow span,footer,footer small,.fine,.page-head p){color:#3c5142!important;}
body.ag-resident :is(.intro-sub,.card p,.note){color:#354b3a!important;}
body.ag-resident :is(.eyebrow,.identity small,.operator,.intro-badge small,.data small,.section-head small,.map-footer,.slot small,.photo-card span,.summary-call span,footer small){font-size:12px;}
body.ag-resident .fine{font-size:13px!important;}
body.ag-resident .page-head p{font-size:14px;}
body.ag-resident .data small{font-size:12px;font-weight:760;}
body.ag-resident :is(.field label,.tab,.sample span,.datarow span,.datarow strong){font-size:14px;}
body.ag-resident .field label{color:#253e2e;font-weight:800;}
body.ag-resident .slot small{font-size:12px;}
body.ag-resident .slot strong{font-size:15px;color:#203a2b;}
body.ag-resident .sample small{font-size:12px;}
body.ag-resident .note{font-size:14px;}
body.ag-resident .ribbon span{opacity:1;color:#f4f9f5;}
body.ag-resident .intro-badge small{font-size:12px;}
body.ag-resident .data .pending{color:#574329;font-weight:760;}
body.ag-resident .map-footer{font-size:12px;}
body.ag-resident .pills span{color:#1f4630;font-size:12px;font-weight:760;}
body.ag-resident .btn.secondary{color:#18472f;}
body.ag-resident .schematic{background:#fff;border-color:#bdcfc0;}
body.ag-resident .form-grid .field input:focus,body.ag-resident .form-grid .field select:focus{box-shadow:0 0 0 2px #afd1bd;}
/* Developer and Candid management dashboard */
body.ag-management{font-size:15px;line-height:1.55;}
body.ag-management :is(.kpi-label,.kpi-foot,.panel-head p,.subtext,.small-note,.muted-sm,.app-footer,.map-legend,.legend .key,.day .daycount,.side-footer,.side-project span:last-child,.brand-copy small,.sidebar-managed small,.nav-label,.crumb,.notice,.floor-map .note){color:#384e3d!important;}
body.ag-management :is(.kpi-foot,.side-footer,.side-project span:last-child,.panel-head p,.subtext,.small-note,.muted-sm,.app-footer,.map-legend,.legend .key,.day .daycount,.floor-map .note){font-size:13px;}
body.ag-management :is(.sidebar .nav-label,.sidebar-managed small,.brand-copy small){font-size:11px;}
body.ag-management .sidebar .nav-item{color:#263d2c;font-size:14px;font-weight:740;}
body.ag-management .sidebar .nav-item.active{color:#164a33;font-weight:830;}
body.ag-management .nav-icon{color:#2d6041;}
body.ag-management .kicker,body.ag-management .eyebrow{color:#245a3c;}
body.ag-management .table th,body.ag-management .info-table th{color:#284331;font-size:12px;font-weight:820;}
body.ag-management .table td,body.ag-management .info-table td{color:#25382b;font-size:13px;}
body.ag-management .form-item label{color:#274632;font-size:13px;font-weight:780;}
body.ag-management :is(.form-item input,.form-item select,.form-item textarea,.input,.select){color:#1b2e22;}
body.ag-management .unit-tile{color:#1e3729;font-weight:730;}
body.ag-management .floor-button{color:#284733;font-weight:780;}
body.ag-management .floor-button .count{color:#395442;}
body.ag-management .management-map-stage img{filter:contrast(1.18) brightness(.98);}
body.ag-management .management-map-pin{background:#20563b;color:#fff;font-size:10px;font-weight:850;}
body.ag-management .management-map-pin.invited{background:#42675a;}
body.ag-management .management-map-pin.registered{background:#825624;}
body.ag-management .management-map-pin.booked{background:#246a43;}
body.ag-management .management-map-pin.completed{background:#164c2e;}
body.ag-management .management-map-pin.faded{opacity:.42;}
body.ag-management .notice{color:#514021!important;font-size:13px;font-weight:570;}
body.ag-management .code-list{color:#f6fff6;}
/* Staff move-day scheduler */
body.ag-schedule{font-size:16px;line-height:1.55;}
body.ag-schedule :is(.brand small,.muted,.small,.intro,.footer,.capacity-note,.precall,.stat small,.rule label,.table th,.table td){color:#34483b;}
body.ag-schedule .brand small{font-size:12px;font-weight:700;}
body.ag-schedule .intro{font-size:15px;}
body.ag-schedule .small{font-size:13px;}
body.ag-schedule .field label{font-size:13px;color:#243e2d;font-weight:800;}
body.ag-schedule .field input,body.ag-schedule .field select,body.ag-schedule .field textarea{color:#203226;}
body.ag-schedule .rule label{font-size:13px;font-weight:800;}
body.ag-schedule .rule select{font-size:13px;}
body.ag-schedule .stat small{font-size:12px;font-weight:700;}
body.ag-schedule .table{font-size:13px;}
body.ag-schedule .table th{font-size:12px;color:#2b4835;font-weight:850;}
body.ag-schedule .table td{color:#25382a;}
body.ag-schedule .priority span{font-size:13px;color:#314737;}
body.ag-schedule .pill{color:#244331;font-size:12px;}
body.ag-schedule .pill.warn{color:#74350a;}
body.ag-schedule .pill.gray{color:#303c33;}
body.ag-schedule .warning{color:#694016;}
body.ag-schedule .footer{font-size:13px;}
body.ag-schedule .demo-label{color:#8b3605;}
body.ag-schedule .columns .block{color:#203a2a;}
body.ag-schedule .banner{color:#49391f;font-size:13px;}
/* Caretaker: clear screen and printed run sheet */
body.ag-caretaker{font-size:15px;}
body.ag-caretaker :is(.pretitle,header p,.safe,.print-head small,.stats small,.small,footer,.tiny){color:#384b3d;}
body.ag-caretaker .pretitle{font-size:12px;color:#2d5c3e;}
body.ag-caretaker header p{font-size:14px;}
body.ag-caretaker .safe{font-size:12px;}
body.ag-caretaker .print-head small{font-size:13px;}
body.ag-caretaker .stats small{font-size:12px;}
body.ag-caretaker table{font-size:12px;}
body.ag-caretaker td{color:#24352a;}
body.ag-caretaker th{font-size:12px;}
body.ag-caretaker .small{font-size:12px;}
body.ag-caretaker .coord-item{font-size:12px;color:#313f34;}
body.ag-caretaker .coord-item strong{color:#6d340b;}
body.ag-caretaker .checkbox{font-size:13px;}
body.ag-caretaker .signature{font-size:12px;}
body.ag-caretaker .tiny{font-size:11px;}
body.ag-caretaker footer{font-size:12px;}
body.ag-caretaker .watermark{color:#69471c;}
@media(max-width:730px){
  body.ag-management .sidebar .nav-item{font-size:12px;}
  body.ag-resident .identity small{font-size:9px;letter-spacing:.11em;}
  body.ag-resident .intro-sub{font-size:15px;}
  body.ag-schedule .table{font-size:13px;}
}
@media print{
  body.ag-caretaker{color:#111b15;}
  body.ag-caretaker :is(td,.small,.print-head small,.stats small,.coord-item,.coord-item p){color:#18261a!important;}
  body.ag-caretaker table{font-size:8.7pt;}
  body.ag-caretaker th{font-size:8.5pt;color:#fff!important;}
  body.ag-caretaker .small{font-size:8.5pt;}
  body.ag-caretaker .coord-item{font-size:8.7pt;}
}


/* Mobile navigation fix: all staff controls must stay within the phone viewport. */
@media(max-width:730px){
  body.ag-management,body.ag-management .app-shell,body.ag-management .main{min-width:0;max-width:100%;width:100%;}
  body.ag-management .sidebar{max-width:100%;min-width:0;overflow:hidden;}
  body.ag-management .side-nav{width:100%;max-width:calc(100vw - 26px);overflow-x:auto;overscroll-behavior-inline:contain;}
  body.ag-management .topbar{display:flex;flex-direction:column;align-items:stretch;gap:12px;max-width:100%;min-width:0;}
  body.ag-management .topbar>div{min-width:0;max-width:100%;}
  body.ag-management .right-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;min-width:0;width:100%;max-width:100%;justify-content:stretch;}
  body.ag-management .header-resident-link{white-space:normal;text-align:center;font-size:12px;padding:10px;line-height:1.4;overflow-wrap:anywhere;}
  body.ag-management .right-tools .demo-label{font-size:10px;justify-self:start;align-self:center;}
  body.ag-management .right-tools .avatar{justify-self:end;align-self:center;}
  body.ag-management .content,body.ag-management .panel,body.ag-management .floor-map,body.ag-management .floor-layout{min-width:0;max-width:100%;}
  body.ag-management .floor-list{grid-template-columns:repeat(3,minmax(0,1fr));}
  body.ag-management .floor-button{font-size:13px;min-width:0;}
  body.ag-management .floor-button .count{font-size:11px;}
  body.ag-management .management-map-scroll{max-width:100%;overflow-x:auto;touch-action:pan-x pan-y;}
}
