/* The Accra Handyman V2.8.0 – Operations skin: NAVY / ROYAL BLUE + YELLOW, consistent with the customer portal.
 * Loaded LAST in /staff/. Re-skins the shell and every existing screen through the shared variables – no markup,
 * behaviour or capability change. Yellow marks the active page, primary actions and highlights; content stays white/grey. */
body.tah-area--admin{
	--tahs-navy:#071a3b;--tahs-navy-2:#0b2a63;--tahs-royal:#0b3d91;--tahs-royal-d:#082c6b;--tahs-royal-l:#eaf2ff;
	--tahs-yellow:#ffc400;--tahs-yellow-d:#e0ab00;--tahs-yellow-t:#fff8dc;
	--tahs-ink:#0f172a;--tahs-muted:#475569;--tahs-line:#dbe1e8;--tahs-hair:#e5e9f0;--tahs-hair-2:#cbd5e1;--tahs-bg:#f3f5f9;--tahs-wash:#f8fafc;
	--tahs-brand:var(--tahs-royal);--tahs-brand-d:var(--tahs-royal-d);
	--x-g:var(--tahs-royal);--x-g-d:var(--tahs-royal-d);--x-g-l:var(--tahs-royal-l);
	--tahd-primary:var(--tahs-royal);--tahd-primary-dark:var(--tahs-royal-d);--tahd-primary-light:var(--tahs-royal-l);--tahd-accent:var(--tahs-yellow);--tahd-on-accent:var(--tahs-navy);
	/* V2.8.1 – staff-only pattern: single pale-blue hue at ~5% (the customer portal keeps its own token) */
	--tahs-pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='%23a9c4ff' stroke-opacity='.05' stroke-width='1.5'%3E%3Cpath d='M24 4l20 20-20 20L4 24z'/%3E%3Cpath d='M24 14l10 10-10 10-10-10z'/%3E%3Cpath d='M0 0l8 8M48 0l-8 8M0 48l8-8M48 48l-8-8'/%3E%3C/g%3E%3C/svg%3E");
	background:var(--tahs-bg);color:var(--tahs-ink)}

/* skip link */
.tahs-skip{position:absolute;left:-9999px;top:8px;background:var(--tahs-yellow);color:var(--tahs-navy);padding:8px 12px;border-radius:6px;font-weight:700;z-index:100}
.tahs-skip:focus{left:8px}

/* header: navy with the portal's geometric pattern; official logo; profile dropdown */
body.tah-area--admin .tahs-top{background:var(--tahs-navy) var(--tahs-pattern) repeat;background-size:auto,48px 48px;color:#fff;border-bottom:3px solid var(--tahs-yellow);box-shadow:0 2px 8px rgba(7,26,59,.25);min-height:60px;padding:8px 14px;position:sticky;top:0;z-index:40}
body.tah-area--admin .tahs-brand,body.tah-area--admin .tahs-brand:visited{color:#fff!important;flex-direction:row;align-items:center;gap:10px;line-height:1.1;text-decoration:none}
.tahs-logo-img{display:block;width:40px;height:40px;border-radius:10px;flex:0 0 auto;box-shadow:0 0 0 2px rgba(255,196,0,.55)}
.tahs-brandtext{display:flex;flex-direction:column;min-width:0}
body.tah-area--admin .tahs-logo{color:#fff;font-weight:800;letter-spacing:.06em;font-size:.875rem;white-space:nowrap}
body.tah-area--admin .tahs-sub{color:var(--tahs-yellow);opacity:1;font-weight:700;font-size:.6875rem;letter-spacing:.2em}
@media (max-width:420px){.tahs-logo{font-size:.75rem!important;letter-spacing:.03em!important}}

.tahs-menu{position:relative}
.tahs-menu>summary{list-style:none;display:flex;align-items:center;gap:10px;cursor:pointer;padding:4px 8px 4px 4px;border-radius:99px;color:#fff;min-height:44px;border:1px solid rgba(255,255,255,.25)}
.tahs-menu>summary::-webkit-details-marker{display:none}
.tahs-menu>summary:hover,.tahs-menu[open]>summary{background:rgba(255,255,255,.12)}
.tahs-menu>summary:focus-visible{outline:3px solid var(--tahs-yellow);outline-offset:2px}
.tahs-avatar{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--tahs-yellow);color:var(--tahs-navy);font-weight:800;font-size:.8125rem;letter-spacing:.02em;flex:0 0 auto}
.tahs-user__who{display:flex;flex-direction:column;line-height:1.2;text-align:left;min-width:0}
body.tah-area--admin .tahs-user__name{color:#fff;font-weight:600;font-size:.8125rem;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.tah-area--admin .tahs-user__role{display:block;color:#c7d6f3;font-size:.71875rem}
.tahs-chev{opacity:.8;flex:0 0 auto}
@media (max-width:640px){.tahs-user__who{display:none}.tahs-menu>summary{padding:4px}.tahs-chev{display:none}}
.tahs-menu__panel{position:absolute;right:0;top:calc(100% + 8px);min-width:230px;background:#fff;color:var(--tahs-ink);border:1px solid var(--tahs-line);border-radius:12px;box-shadow:0 12px 32px rgba(7,26,59,.28);padding:6px;z-index:60}
.tahs-menu__head{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-bottom:1px solid var(--tahs-hair);margin-bottom:4px}
.tahs-menu__head span{font-size:.78125rem;color:var(--tahs-muted);overflow-wrap:anywhere}
.tahs-menu__panel a{display:block;padding:11px 12px;border-radius:8px;color:var(--tahs-ink)!important;text-decoration:none;font-weight:600;font-size:.875rem;min-height:44px}
.tahs-menu__panel a:hover,.tahs-menu__panel a:focus-visible{background:var(--tahs-royal-l);outline:none}
body.tah-area--admin .tahs-menu__panel a.tahs-signout{background:transparent!important;border:0!important;color:#b42318!important;min-height:44px;padding:11px 12px!important;font-size:.875rem!important}
.tahs-menu__panel a.tahs-signout:hover{background:#fde8e6!important}

/* navigation: navy; yellow marks the current page */
body.tah-area--admin .tahs-nav{background:var(--tahs-navy);border-top:3px solid var(--tahs-yellow);border-right:0}
body.tah-area--admin .tahs-nav a{color:#c7d6f3;font-weight:500}
body.tah-area--admin .tahs-nav a.is-current{color:var(--tahs-yellow);font-weight:600;box-shadow:inset 0 3px 0 var(--tahs-yellow);background:rgba(255,255,255,.06)}
body.tah-area--admin .tahs-nav a:focus-visible{outline:3px solid var(--tahs-yellow);outline-offset:-3px}
body.tah-area--admin .tahs-badge{background:var(--tahs-yellow);color:var(--tahs-navy);font-weight:800}
@media (min-width:768px){
	body.tah-area--admin .tahs-body{grid-template-columns:76px 1fr}
	body.tah-area--admin .tahs-nav{position:sticky;top:60px;height:calc(100vh - 60px);flex-direction:column;overflow:auto;border-top:0;padding:10px 0;background:var(--tahs-navy) var(--tahs-pattern) repeat;background-size:auto,48px 48px}
	body.tah-area--admin .tahs-nav a{flex:0 0 auto;flex-direction:column;gap:3px;padding:10px 4px;margin:2px 6px;border-radius:10px;min-height:0;font-size:.625rem;text-align:center;line-height:1.15}
	body.tah-area--admin .tahs-nav a span:not(.tahs-badge){display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis}
	body.tah-area--admin .tahs-nav a:hover{background:rgba(255,255,255,.10);color:#fff}
	body.tah-area--admin .tahs-nav a.is-current{box-shadow:inset 3px 0 0 var(--tahs-yellow);background:rgba(255,196,0,.14)}
	body.tah-area--admin .tahs-badge{position:absolute;top:2px;right:6px;margin:0}
	body.tah-area--admin .tahs-nav a{position:relative}
	body.tah-area--admin .tahs-main{padding:20px 20px 40px}
}
@media (min-width:1100px){
	body.tah-area--admin .tahs-body{grid-template-columns:232px 1fr}
	body.tah-area--admin .tahs-nav a{flex-direction:row;gap:12px;padding:10px 14px;margin:2px 10px;font-size:.90625rem;text-align:left}
	body.tah-area--admin .tahs-nav a span:not(.tahs-badge){display:inline;overflow:visible}
	body.tah-area--admin .tahs-badge{position:static;margin-left:auto}
	body.tah-area--admin .tahs-main{padding:24px 28px 48px}
}
@media (max-width:767px){body.tah-area--admin .tahs-nav a{min-height:58px;font-size:.6875rem}}

/* content: white/grey cards, royal headings, yellow actions */
body.tah-area--admin .tahs-main h1{color:var(--tahs-navy)}
body.tah-area--admin .tahs-main h2{color:var(--tahs-ink)}
body.tah-area--admin .tahs-main a:not(.button){color:var(--tahs-royal)}
body.tah-area--admin .tah-box,body.tah-area--admin .tahx-metric,body.tah-area--admin .tahx-panel,body.tah-area--admin .tahx-sum{background:#fff;border:1px solid var(--tahs-hair);border-radius:12px;box-shadow:0 1px 2px rgba(15,23,42,.05)}
body.tah-area--admin .button{border-color:var(--tahs-hair-2);color:var(--tahs-navy)}
body.tah-area--admin .button:hover{background:var(--tahs-royal-l);border-color:var(--tahs-royal);color:var(--tahs-navy)}
body.tah-area--admin :is(.button-primary,.button.button-primary){background:var(--tahs-yellow);border-color:var(--tahs-yellow-d);color:var(--tahs-navy);font-weight:700}
body.tah-area--admin .button-primary:hover{background:var(--tahs-yellow-d);color:var(--tahs-navy)}
body.tah-area--admin .button:focus-visible,body.tah-area--admin a:focus-visible,body.tah-area--admin input:focus-visible,body.tah-area--admin select:focus-visible,body.tah-area--admin textarea:focus-visible,body.tah-area--admin summary:focus-visible{outline:3px solid var(--tahs-royal);outline-offset:2px}
body.tah-area--admin .widefat thead th{background:var(--tahs-royal-l);color:var(--tahs-navy);border-bottom:2px solid var(--tahs-royal)}
body.tah-area--admin .widefat.striped tbody tr:nth-child(odd){background:var(--tahs-wash)}
body.tah-area--admin .notice-success{border-color:var(--tahs-royal)}
body.tah-area--admin .tahs-job{border-left-color:var(--tahs-royal)}
body.tah-area--admin .tahs-pill{background:var(--tahs-royal-l);color:var(--tahs-navy)}
body.tah-area--admin .tahx-metric:hover{border-color:var(--tahs-royal)}
body.tah-area--admin .tahx-metric__n{color:var(--tahs-navy)}
body.tah-area--admin .tahx-metric.is-alert,body.tah-area--admin .tahx-metric--attention.is-alert{border-color:var(--tahs-yellow-d);background:var(--tahs-yellow-t)}
body.tah-area--admin .tahx-gh{font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;color:var(--tahs-muted);margin:22px 0 8px;font-weight:700}
body.tah-area--admin .tahx-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
body.tah-area--admin .tahx-head p{margin:2px 0 0}
body.tah-area--admin .tahx-tabs a.is-on,body.tah-area--admin .tahx-chip.is-on{color:var(--tahs-royal);border-color:var(--tahs-royal)}
body.tah-area--admin .tahs-auth__brand .tahs-sub{color:var(--tahs-royal)}
body.tah-area--admin.tahs--plain{background:var(--tahs-navy) var(--tahs-pattern) repeat}

/* ---------- request workflow (vertical stepper) ---------- */
.tahw{display:flex;flex-direction:column;gap:0;margin:12px 0;position:relative}
.tahw-stage{background:#fff;border:1px solid var(--tahs-hair);border-radius:12px;margin:0 0 10px;position:relative}
.tahw-stage>summary{list-style:none;display:flex;align-items:center;gap:12px;padding:12px 14px;cursor:pointer;min-height:56px}
.tahw-stage>summary::-webkit-details-marker{display:none}
.tahw-stage>summary:focus-visible{outline:3px solid var(--tahs-royal);outline-offset:-3px;border-radius:12px}
.tahw-num{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#e5e9f0;color:var(--tahs-navy);font-weight:800;font-size:.875rem;flex:0 0 auto}
.tahw-title{font-weight:700;color:var(--tahs-navy);flex:1 1 auto;font-size:1rem}
.tahw-state{font-size:.71875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 9px;border-radius:99px;background:#eef1f6;color:var(--tahs-muted);white-space:nowrap}
.tahw-stage.is-done .tahw-num{background:#0a5a39;color:#fff}
.tahw-stage.is-done .tahw-state{background:#dff5e9;color:#0a5a39}
.tahw-stage.is-current{border-color:var(--tahs-yellow-d);box-shadow:0 0 0 3px rgba(255,196,0,.35)}
.tahw-stage.is-current .tahw-num{background:var(--tahs-yellow);color:var(--tahs-navy)}
.tahw-stage.is-current .tahw-state{background:var(--tahs-yellow);color:var(--tahs-navy)}
.tahw-stage.is-upcoming,.tahw-stage.is-skipped,.tahw-stage.is-closed{background:#fafbfd}
.tahw-stage.is-upcoming .tahw-title,.tahw-stage.is-skipped .tahw-title,.tahw-stage.is-closed .tahw-title{color:var(--tahs-muted);font-weight:600}
.tahw-in{padding:0 14px 14px;border-top:1px solid var(--tahs-hair)}
.tahw-sum{margin:12px 0 4px;color:var(--tahs-ink)}
.tahw-next{margin:10px 0;padding:10px 12px;background:var(--tahs-yellow-t);border-left:4px solid var(--tahs-yellow);border-radius:6px;color:var(--tahs-navy)}
.tahw-meta{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.8125rem;color:var(--tahs-muted);margin:6px 0 10px}
.tahw-ok{color:#0a5a39;font-weight:600}.tahw-warn{color:#7a4b00;font-weight:600}
.tahw-sub,.tahw-more{background:#fff;border:1px solid var(--tahs-hair);border-radius:10px;margin:10px 0;padding:0}
.tahw-sub>summary,.tahw-more>summary{cursor:pointer;padding:11px 14px;font-weight:600;min-height:44px;color:var(--tahs-navy);list-style:revert}
.tahw-sub>*:not(summary),.tahw-more>*:not(summary){margin-left:14px;margin-right:14px}
.tahw-sub>*:last-child,.tahw-more>*:last-child{margin-bottom:14px}
.tahw-more{margin:12px 0}
.tahw-rec{background:var(--tahs-royal-l);border-radius:8px;padding:10px 12px;margin:10px 0}
.tahw-rec p{margin:4px 0 0}
.tahw-form label{display:block;font-weight:600;font-size:.875rem}
.tahw-windows{border:1px solid var(--tahs-hair-2);border-radius:10px;padding:8px 12px 12px;margin:0 0 14px}
.tahw-windows legend{font-weight:700;padding:0 6px;color:var(--tahs-navy);font-size:.875rem}
.tahw-win{display:flex!important;align-items:center;gap:10px;min-height:48px;padding:6px 10px;margin:6px 0!important;border:1px solid var(--tahs-hair-2);border-radius:10px;cursor:pointer;font-weight:400!important}
.tahw-win span{display:flex;flex-direction:column;line-height:1.25}.tahw-win b{font-weight:700;color:var(--tahs-navy)}
.tahw-win:has(input:checked){border-color:var(--tahs-royal);background:var(--tahs-royal-l)}
.tahw-win input{width:20px;height:20px;margin:0;flex:0 0 auto}
.tahw-correct{margin-top:10px}.tahw-correct>summary{cursor:pointer;font-size:.8125rem;color:var(--tahs-muted);padding:6px 0}
/* the estimate/invoice/payment boxes sit inside stages: no double borders */
.tahw-stage .tah-box{box-shadow:none}
@media (max-width:640px){.tahw-title{font-size:.9375rem}.tahw-state{font-size:.65625rem;padding:2px 7px}.tahw-in{padding:0 10px 12px}}

/* Wide admin tables scroll inside their own box instead of widening the page */
.tah-area--admin .widefat{display:block;max-width:100%;overflow-x:auto}

/* V2.7.1 – filter bars sit in one wrapping row on wide screens; stack on phones. */
.tahs .tah-filters,.tahs .tahx-calbar form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.tahs .tah-filters select,.tahs .tah-filters input[type=text],.tahs .tah-filters input[type=search],.tahs .tah-filters input[type=date],.tahs .tahx-calbar form select{width:auto;min-width:150px;flex:0 1 auto}
.tahs .tah-filters input[type=search],.tahs .tah-filters input[name=q],.tahs .tah-filters input[name=s]{flex:1 1 280px}
@media (max-width:640px){.tahs .tah-filters select,.tahs .tah-filters input,.tahs .tahx-calbar form select{width:100%;flex:1 1 100%}}
