/* AC Team Enterprise V4.5 — CASE SEARCH VISUAL FIX ONLY
   App/data/templates/forms/JS/routes untouched. This file styles public
   case selection, query lists and public progress views exclusively.
   Scoped using :has() supported by Chromium 105+, Safari 15.4+, Firefox 121+.
   NO display:none / disabled / visibility / pointer-events overrides.
*/
:root{--case45-navy:#0b2237;--case45-blue:#155573;--case45-teal:#087f83;--case45-mist:#f3f6fa;--case45-ink:#172b3e;--case45-muted:#556b7c;--case45-border:#dce5ed;--case45-shadow:0 14px 38px rgba(15,39,60,.065)}

/* Distinct landing and progress contexts; public home/report/login unchanged */
body:has(.case-search-hero),body:has(.progress-detail-layout){background:var(--case45-mist);color:var(--case45-ink);font-family:"Noto Sans TC","Microsoft JhengHei",system-ui,sans-serif}
body:has(.case-search-hero) .public-header,body:has(.progress-detail-layout) .public-header{
 min-height:86px!important;height:auto!important; padding:10px clamp(17px,3.8vw,64px)!important;
 border-bottom:1px solid #e0e9ef;box-shadow:0 4px 20px rgba(15,35,54,.035);background:#fff;
}
body:has(.case-search-hero) .public-header .brand-mark.custom-logo.public-logo,
body:has(.progress-detail-layout) .public-header .brand-mark.custom-logo.public-logo{
 height:72px!important;max-width:110px!important;flex:0 0 auto!important;
}
body:has(.case-search-hero) .public-header .brand-mark.custom-logo.public-logo img,
body:has(.progress-detail-layout) .public-header .brand-mark.custom-logo.public-logo img{
 max-width:100%!important;object-fit:contain!important;
}
body:has(.case-search-hero) .public-header .brand-copy strong,
body:has(.progress-detail-layout) .public-header .brand-copy strong{font-size:clamp(17px,1.45vw,22px)!important;letter-spacing:.01em;color:#142a40}
body:has(.case-search-hero) .public-header .public-nav,
body:has(.progress-detail-layout) .public-header .public-nav{gap:6px}
body:has(.case-search-hero) .public-header .public-nav a,
body:has(.progress-detail-layout) .public-header .public-nav a{
 font-size:14px!important;line-height:1.35;padding:11px 12px!important;
}
body:has(.case-search-hero) .public-header .public-nav .login-link,
body:has(.progress-detail-layout) .public-header .public-nav .login-link{
 background:#102e47!important;border-radius:11px!important;color:#fff!important;
}
body:has(.case-search-hero) .public-header :is(a,button):focus-visible,
body:has(.progress-detail-layout) .public-header :is(a,button):focus-visible,
.case-search-hero :is(a,input,button):focus-visible,
.case-results-area a:focus-visible,
.split-search-card:focus-visible{outline:3px solid #0c8e93!important;outline-offset:4px}

/* Main search masthead: compact and readable, unlike old full-width generic banner */
.case-search-hero{position:relative;overflow:hidden;padding:36px 24px 38px!important;
 background:linear-gradient(115deg,#0b263e 0%,#123d57 72%,#126177 100%)!important;color:white!important;
 border-bottom:1px solid #28546d;
}
.case-search-hero:after{content:"";position:absolute;width:490px;height:490px;right:-175px;top:-300px;
 border-radius:50%;border:1px solid rgba(164,236,235,.15);box-shadow:0 0 0 95px rgba(152,226,226,.035),0 0 0 190px rgba(152,226,226,.025);pointer-events:none}
.case-search-hero .case-search-shell{position:relative;z-index:1}
.case-search-shell{width:min(1130px,calc(100% - 36px));margin-inline:auto}
.case-search-hero .kicker,.case-results-area .kicker{display:block;color:#84e1dc;font-size:11px;font-weight:800;letter-spacing:.18em;line-height:1.65}
.case-search-hero h1{color:#fff!important;font-size:clamp(27px,2.8vw,39px)!important;letter-spacing:.025em;line-height:1.34;margin:8px 0 8px!important;font-weight:850}
.case-search-hero p{color:#d7e8f1;opacity:1!important;line-height:1.75;font-size:15px;max-width:840px}
.case-search-hero .search-back{display:inline-block;color:#d6f0f5!important;margin-bottom:10px;font-size:14px;text-decoration:underline;text-decoration-color:#9fc4cf;text-underline-offset:5px}
.unified-case-search{display:flex;max-width:900px;gap:10px;margin-top:20px!important}
.unified-case-search input{background:#fff!important;color:#173148!important;border:1px solid #b7cbd6!important;min-height:55px!important;
 border-radius:11px!important;padding:13px 17px!important;font-size:16px!important;box-shadow:0 2px 7px rgba(10,31,47,.09)}
.unified-case-search input::placeholder{color:#6a7b87;opacity:1}
.unified-case-search button{background:#0b918c!important;color:#fff!important;font-size:16px!important;font-weight:800!important;min-height:55px!important;
 padding:0 25px!important;border-radius:11px!important;white-space:nowrap;box-shadow:0 6px 18px rgba(4,63,66,.18)}
.unified-case-search button:hover{background:#08736f!important}

/* Choice cards: large clickable surface, minimal noise */
.split-search-grid{padding:30px 0 65px!important;gap:18px!important;width:min(1130px,calc(100% - 36px))!important}
.split-search-card{min-height:270px!important;padding:30px 31px!important;border:1px solid #d7e3ec!important;border-radius:19px!important;
 box-shadow:var(--case45-shadow)!important;transition:box-shadow .17s ease,transform .17s ease,border-color .17s ease;background:#fff!important;color:#163047!important}
.split-search-card:before{height:4px!important;background:linear-gradient(90deg,#1485bb,#3eb9d1)!important}
.split-search-card.general:before{background:linear-gradient(90deg,#087e7f,#39baaa)!important}
.split-search-card:hover{transform:translateY(-3px);border-color:#8db9c7!important;box-shadow:0 20px 45px rgba(15,39,60,.13)!important}
.split-search-card .split-icon{width:56px;height:56px;font-size:26px;border-radius:14px;margin-bottom:15px;background:#e9f6fb}
.split-search-card.general .split-icon{background:#e9f6f4}
.split-search-card small{font-size:11px;letter-spacing:.16em;color:#3881a2}
.split-search-card h2{font-size:clamp(21px,2vw,27px)!important;line-height:1.42;letter-spacing:.01em;color:#12334b}
.split-search-card p{font-size:15px;line-height:1.8;color:#546d80;margin-bottom:19px}
.split-search-card>strong{min-height:45px;border-radius:10px;background:#10648a;color:#fff!important;font-size:15px;padding:8px 17px}
.split-search-card.general>strong{background:#0a777c}

/* Search results & published cases; preserves every list item/link/label. */
.case-results-area{padding:33px 0 72px!important}
.public-case-list-head{margin:8px 0 17px!important}
.public-case-list-head .kicker{color:#178288!important}
.public-case-list-head h2{font-size:clamp(21px,2vw,27px)!important;color:#162f46;margin:5px 0!important}
.published-case-list{gap:12px!important}
.published-case-row,.general-list .published-case-row{
 grid-template-columns:minmax(162px,.7fr) minmax(0,2fr) minmax(118px,.48fr)!important;
 gap:20px!important;align-items:center!important;min-height:88px;padding:17px 20px!important;
 border:1px solid #dbe5ed!important;border-radius:15px!important;
 background:#fff!important;box-shadow:0 3px 11px rgba(20,51,75,.035);
 color:#17314a!important;transition:border-color .15s ease,box-shadow .15s ease;
}
.published-case-row:hover{border-color:#82b5c7!important;box-shadow:0 8px 23px rgba(24,64,85,.085);background:#fbfefe!important}
.published-case-row small{font-size:12px;line-height:1.4;color:#667e8f!important;margin-bottom:3px}
.published-case-row strong{font-size:15px;line-height:1.55;overflow-wrap:anywhere;color:#1a364d}
.published-case-row>div:first-child>strong{color:#08698a;font-weight:850;font-variant-numeric:tabular-nums}
.published-case-row .case-location strong{font-size:16px;color:#20364b;font-weight:750}
.published-case-row .case-location span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.65;font-size:13px;color:#607688}
.published-case-row .status-capsule{font-size:12px;font-weight:750;padding:6px 10px;white-space:normal;line-height:1.4}
.case-results-area .lookup-result-card{border-radius:18px;padding:clamp(18px,3vw,29px);border:1px solid #d7e3eb;box-shadow:var(--case45-shadow)}
.case-results-area .lookup-head h2{font-size:26px;color:#123047}
.case-results-area .lookup-grid{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
.case-results-area .lookup-grid>div{border:1px solid #e2e9ef;background:#f7f9fc;min-width:0}
.case-results-area .lookup-grid small{font-size:12px;color:#607487}
.case-results-area .lookup-grid strong{font-size:15px;line-height:1.6;overflow-wrap:anywhere}
.case-results-area .lookup-grid .wide{grid-column:1/-1}
.case-results-area .lookup-progress{gap:8px}
.case-results-area .progress-step strong{font-size:12px;line-height:1.5}
.case-results-area .lookup-not-found{border:1px solid #e4cdcb;border-radius:14px}
.case-results-area .empty{border-radius:15px;padding:35px 20px;background:#fff;color:#627789;text-align:center}

/* Published detail view (visual only): acceptance anchors are NOT restyled/modified */
body:has(.progress-detail-layout) .page-hero{background:linear-gradient(112deg,#0b263e,#15506a)!important;color:#fff!important;padding:32px clamp(20px,6vw,90px)!important}
body:has(.progress-detail-layout) .page-hero h1{color:#fff!important;font-size:clamp(26px,3vw,38px)!important;overflow-wrap:anywhere}
body:has(.progress-detail-layout) .page-hero p{color:#d9ebf0;opacity:1;line-height:1.75}
body:has(.progress-detail-layout) .page-hero .back-link{color:#dcf7fb!important}
body:has(.progress-detail-layout) .progress-detail-layout{width:min(1160px,calc(100% - 36px));margin:30px auto 55px;gap:22px}
body:has(.progress-detail-layout) .progress-detail-layout>.panel{border:1px solid #dbe5ed;border-radius:18px;background:#fff;box-shadow:var(--case45-shadow)}
body:has(.progress-detail-layout) .progress-summary{background:#eff8f8;border:1px solid #cfe6e5}
body:has(.progress-detail-layout) .progress-summary-head>strong{color:#087e83}
body:has(.progress-detail-layout) .next-step-box{background:#123b53;border-radius:13px}
body:has(.progress-detail-layout) .case-info-panel{top:105px}

@media(max-width:1180px){
 body:has(.case-search-hero) .public-header,body:has(.progress-detail-layout) .public-header{flex-wrap:wrap!important;row-gap:7px}
 body:has(.case-search-hero) .public-header .public-nav,body:has(.progress-detail-layout) .public-header .public-nav{justify-content:flex-start!important}
}
@media(max-width:800px){
 .published-case-row,.general-list .published-case-row{grid-template-columns:minmax(0,1fr)!important;gap:8px!important;padding:17px!important}
 .published-case-row .case-location span{-webkit-line-clamp:3}
 .case-results-area .lookup-progress{grid-template-columns:1fr}
 .case-results-area .progress-step{text-align:left;display:flex;align-items:center;gap:10px}
 .case-results-area .progress-step:before{content:none}
 .case-results-area .progress-step span{margin:0}
 .split-search-grid{grid-template-columns:1fr!important}
 .split-search-card{min-height:225px!important}
}
@media(max-width:600px){
 body:has(.case-search-hero) .public-header,body:has(.progress-detail-layout) .public-header{padding:10px 14px 13px!important}
 body:has(.case-search-hero) .public-header .brand-mark.custom-logo.public-logo,
 body:has(.progress-detail-layout) .public-header .brand-mark.custom-logo.public-logo{height:51px!important;max-width:72px!important}
 body:has(.case-search-hero) .public-header .brand-copy strong,
 body:has(.progress-detail-layout) .public-header .brand-copy strong{font-size:16px!important}
 body:has(.case-search-hero) .public-header .public-nav,
 body:has(.progress-detail-layout) .public-header .public-nav{gap:4px!important}
 body:has(.case-search-hero) .public-header .public-nav a,
 body:has(.progress-detail-layout) .public-header .public-nav a{padding:8px 10px!important;font-size:13px!important}
 /* Query pages only: all configured menu items remain visible on small phones. */
 body:has(.case-search-hero) .public-header .public-nav,
 body:has(.progress-detail-layout) .public-header .public-nav{flex-wrap:wrap!important;overflow-x:visible!important;overflow-y:visible!important;max-width:100%!important;row-gap:3px!important}
 .case-search-hero{padding:30px 12px 30px!important}
 .case-search-hero h1{font-size:clamp(25px,7vw,32px)!important}
 .case-search-shell{width:calc(100% - 20px)}
 .split-search-grid{width:calc(100% - 28px)!important;padding-top:20px!important}
 .split-search-card{padding:22px!important;border-radius:15px!important}
 .unified-case-search{flex-direction:column;gap:11px}
 .unified-case-search input{min-width:0;width:100%;font-size:16px!important}
 .unified-case-search button{min-height:52px!important;width:100%}
 .case-results-area{padding-top:25px!important}
 .case-results-area .lookup-grid{grid-template-columns:1fr}
 .case-results-area .lookup-grid .wide{grid-column:auto}
 .case-results-area .lookup-head{flex-direction:column}
 body:has(.progress-detail-layout) .progress-detail-layout{grid-template-columns:1fr}
 body:has(.progress-detail-layout) .case-info-panel{position:static}
}
@media(prefers-reduced-motion:reduce){.split-search-card,.published-case-row{transition:none!important}}
