/* WCAG-minded continuity palette: preserve Pernil emerald and readable neutral. */
:root{--gp-ink:#1e302b;--gp-muted:#52645d;--gp-primary:#086550;--gp-primary-hover:#145743;--gp-focus:#086550;--gp-surface:#fff;--gp-danger:#b42318;--ink:var(--gp-ink);--muted:var(--gp-muted);--teal:var(--gp-primary);--teal2:var(--gp-primary-hover)}
/* Text roles (not decorative low contrast grey) */
.muted-mini,.section-heading p,.live-hint,.live-card small,.live-card .live-hint,
.live-card p,.live-thread small,.thread-footer,#chat-subtitle,.composer-foot,
.live-bubble small,.calendar-weekdays span,.calendar-toolbar .muted-mini,
.live-business-panel p,.live-business-table td,.live-form label,
.live-contact label,.live-requirement p,.live-task,.live-modal-box>p,
.template-card small,.live-banner,.rail-foot{color:var(--gp-muted)}
.eyebrow,.section-heading .eyebrow{color:var(--gp-primary)}
.live-banner{background:#e0efe7}.live-banner a{color:var(--gp-primary)}
.rail{background:#1e302b}.rail-action{color:#d6e5dc}.rail-action.active,.rail-action:hover{background:#35584d;color:#fff}
.rail-action.active .glyph,.rail-action.active small{color:#fff}
.live-section a,.live-card a{color:var(--gp-primary)}
:where(button,input,textarea,select,a[href],[tabindex]):focus-visible{outline:3px solid var(--gp-focus);outline-offset:2px;box-shadow:0 0 0 1px white}
.rail :where(button,a):focus-visible{outline:3px solid #f5c87e;outline-offset:2px;box-shadow:none}
:where(button,a[href],input,select,textarea){touch-action:manipulation}
/* Practical touch targets for operational actions */
.live-task button,#to-deliveries,.live-requirement button,
.live-actions button,#day-orders button,.live-business-table button,
.live-contact button,.live-business-panel button,
.live-business-tabs button,.quick-action,.icon-button,.header-help,.calendar-arrow,.live-close{min-height:44px;min-width:44px;padding:10px 12px;font-size:max(12px,1em)}
.live-task{font-size:13px}.live-task button{font-size:13px}
.live-card small,.live-bubble small,.live-thread small,.template-card small{font-size:12px}
.live-contact,.live-card p,.live-hint{font-size:13px}
.live-form label,.live-contact label{font-size:13px}
.live-contact strong{font-size:15px}
.live-section .section-heading p{font-size:14px}
.live-modal-box{max-height:min(95dvh,850px)}
.live-business-table{scrollbar-width:thin;outline-offset:4px}
.live-business-table:focus-visible{outline:3px solid var(--gp-focus)}
.live-flash{font-size:14px;line-height:1.4}
.live-flash.is-error{background:#9a3412}
.live-form input,.live-form textarea,.live-form select,.live-contact input,.live-contact select,.live-contact textarea{font-size:16px;min-height:42px}
.live-modal-box h2{color:var(--gp-ink)}
#action-modal #action-evidence{min-height:105px;max-height:240px}
#action-consent-label{display:flex;align-items:center;gap:12px}
#action-consent{width:20px;height:20px;flex:none}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media(max-width:620px){.rail-action{min-height:51px}.live-task{align-items:flex-start}.live-task button{flex:none}.live-actions{align-items:stretch}}
/* Date cells from adjacent months must stay perceivable, not opacity .25; click can navigate to them. */
.calendar-day.inactive{opacity:1;pointer-events:auto;background:#f2f5f1;border-color:#d9e4da}
.calendar-day.inactive .date-number{color:#52645d}
.calendar-day .day-count{font-size:12px;color:#145743}
.calendar-day .date-number{font-size:13px;color:#1e302b}
.calendar-day.selected .date-number{color:#1e302b}
.calendar-day:focus-visible{position:relative;z-index:1}
.live-business-panel :where(input,select,textarea){min-height:44px;font-size:16px}
.live-business-table{color:#1e302b}
#business>a[href]{display:inline-flex;align-items:center;min-height:44px;padding:8px 2px}
#template-review{width:20px;height:20px;min-height:20px;min-width:20px}
#modal .live-form input,#modal .live-form textarea{min-height:44px}
/* Desktop contrasts (rail against graphite, sync label on white). */
.rail-foot,.rail-foot span{color:#d6e5dc}
.header-proof{color:#52645d}
.day-subhead{color:#52645d;font-size:13px}
@media(max-width:380px){
 .calendar-shell{overflow-x:auto;scrollbar-width:thin}
 .calendar-grid,.calendar-weekdays{min-width:350px}
}

#template-review{width:24px;height:24px;min-height:24px;min-width:24px}
#order-error-summary{padding:12px 14px;background:#fff1e7;color:#9a3412;border:2px solid #9a3412;border-radius:8px;font-size:14px}
[aria-invalid="true"]{border:2px solid #b42318!important}

.attribution-technical{margin:10px 0;padding:9px 0;border-top:1px solid #d8e5dd}
.attribution-technical summary{color:#086550;font-size:13px;font-weight:700;min-height:44px;display:flex;align-items:center;cursor:pointer}
.attribution-technical[open]{padding-bottom:12px}

/* More menu: desktop keeps all six navigation items; mobile gets five understandable targets. */
.rail-more-menu{display:none}
#rail-more{display:none}
@media(max-width:760px){
 .rail-action[data-view="candidates"],.rail-action[data-view="templates"]{display:none}
 #rail-more{display:flex}
 .rail-more-menu:not(.hidden){display:flex;position:fixed;bottom:calc(68px + env(safe-area-inset-bottom));right:12px;z-index:85;flex-direction:column;gap:6px;padding:12px;background:#fff;min-width:220px;max-width:calc(100vw - 24px);border:1px solid #cedcd3;border-radius:13px;box-shadow:0 14px 48px #122a2540}
 .rail-more-menu button{background:#fff;color:#1e302b;border:1px solid #cadcd2;border-radius:9px;padding:13px 16px;text-align:left;min-height:44px;font-weight:700}
}

/* Production sync evidence: indicator depends on API state, never on mere login. */
.sync-indicator{display:inline-block;width:9px;height:9px;border-radius:50%;background:#78867c;margin-right:5px}
#provider-status[data-mode="ok"] .sync-indicator{background:#168060}
#provider-status[data-mode="partial_contacts"] .sync-indicator{background:#ad6a1c}
#provider-status[data-mode="error"] .sync-indicator{background:#b42318}
#provider-status[data-mode="never_checked"] .sync-indicator{background:#78867c}
#provider-status{font-size:12px;white-space:normal;max-width:250px}
.template-filters{display:grid;grid-template-columns:minmax(180px,2fr) repeat(2,minmax(140px,1fr));gap:12px;margin:0 0 16px}
.template-filters label{display:grid;gap:6px;font-size:13px;font-weight:700;color:var(--gp-ink)}
.template-filters input,.template-filters select{min-height:44px;padding:9px 12px;border:1px solid var(--gp-border);border-radius:9px;background:#fff;color:var(--gp-ink);font-size:15px;max-width:100%}
.task-progress{font-size:13px;color:var(--gp-muted);font-weight:750;padding:4px 0}
.task-role-group{border:1px solid var(--gp-border);padding:10px;border-radius:9px;margin:8px 0;background:#fff}
.task-role-group h4{font-size:13px;color:var(--gp-ink);margin:0 0 7px}
.task-role-group .live-task small{display:block;font-size:12px;color:var(--gp-muted)}
@media(max-width:760px){.template-filters{grid-template-columns:1fr}}
