/* Live Service Order + AMC Contract lists, adapted from the approved T2 cards. */
.t2-record-list{display:grid;gap:10px;padding:2px 16px}
.t2-record-list>.empty-state{margin:0}

/* Service list toolbar follows the compact T2 layout; filters remain live. */
.feature-serviceorder.view-listview .app-main{background:#f6f8fb}
.so-top-search-row{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px;padding:12px 16px 0}
.so-top-search-row .search{height:42px;margin:0;padding:0 12px;border:1px solid #d8e0ec;border-radius:8px;background:#fff}
.so-top-search-row .search input{font-size:11.5px}
.so-filter-button{width:44px;height:42px;display:grid;place-items:center;border:1px solid #d8e0ec;border-radius:8px;color:#1c377a;background:#fff}
.so-filter-button i{font-size:18px}.so-filter-button span{display:none}.so-filter-button.is-open{color:#fff;background:#1c377a;border-color:#1c377a}
.feature-serviceorder.view-listview>.app-main>.filter-row{gap:7px;margin-top:9px;padding-left:16px;padding-right:16px}
.feature-serviceorder.view-listview .filter-row .chip{min-height:32px;padding:7px 12px;border:1px solid #d8e0ec;border-radius:16px;color:#53657b;background:#fff;font-size:10px}
.feature-serviceorder.view-listview .filter-row .chip b{font-size:9px}
.feature-serviceorder.view-listview .filter-row .chip.on{color:#fff;background:#1c377a;border-color:#1c377a;box-shadow:0 3px 9px rgba(28,55,122,.18)}
.feature-serviceorder.view-listview #soCat,.feature-serviceorder.view-listview #soSub{height:38px!important;border-color:#d8e0ec!important;border-radius:8px!important;background:#fff!important;font-size:10.5px!important}
.feature-serviceorder.view-listview #soList{margin-top:10px}
.am-top-search-row{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px;padding:12px 16px 0}
.am-top-search-row .search{height:42px;margin:0;padding:6px  12px;border:1px solid #d8e0ec;border-radius:8px;background:#fff}
.am-top-search-row .search input{font-size:11.5px}
.am-filter-button{width:44px;height:42px;display:grid;place-items:center;border:1px solid #d8e0ec;border-radius:8px;color:#1c377a;background:#fff}
.am-filter-button i{font-size:18px}
.am-filter-button span{display:none}
.am-filter-button.is-open{color:#fff;background:#1c377a;border-color:#1c377a}

/* Service order cards */
.so-live-card{overflow:hidden;border:1px solid #d8e0ec;border-radius:9px;background:#fff;box-shadow:0 4px 12px rgba(24,34,53,.055)}
.so-live-head{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:start;gap:9px;padding:11px 11px 8px}
.so-live-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;color:#087e8b;background:#e8f8f8;font-size:19px}
.so-live-card.unattended .so-live-icon,.so-live-card.warning .so-live-icon{color:#c45f08;background:#fff3e8}
.so-live-card.closed .so-live-icon{color:#27834a;background:#eaf7ee}
.so-live-copy{min-width:0}.so-live-copy strong,.so-live-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.so-live-copy strong{color:#17243b;font-size:13px;line-height:18px}.so-live-copy small{margin-top:2px;color:#65758d;font-size:10px}
.so-live-badge{padding:4px 7px;border-radius:10px;font-size:9px;font-weight:700;white-space:nowrap}
.so-live-badge.open{color:#185aa5;background:#eaf3ff}.so-live-badge.unattended{color:#b65300;background:#fff0df}
.so-live-badge.service{color:#087e8b;background:#e7f7f5}.so-live-badge.closed{color:#347a48;background:#eaf7ee}
.so-live-age{padding:7px 11px 9px;border-top:1px solid #e4e9f0;background:#fff}
.so-live-age-labels{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px}
.so-live-age-values{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8px}
.so-live-age-labels span{color:#66798f;font-size:9px;font-weight:600}.so-live-age-labels span:nth-child(2){text-align:center}
.so-live-age-labels strong{justify-self:end;color:#1c377a;font-size:10px}
.so-live-age-values small{color:#718399;font-size:9px;line-height:12px}.so-live-age-values small:last-child{text-align:right}
.so-live-track{position:relative;height:9px;margin:4px 4px 3px}.so-live-track:before{content:"";position:absolute;left:0;right:0;top:4px;height:2px;background:#d8e0ec}
.so-live-track i,.so-live-track em{position:absolute;top:1px;width:8px;height:8px;box-sizing:border-box;border:2px solid #1c377a;border-radius:50%;background:#fff}
.so-live-track i{left:0;background:#1c377a}.so-live-track em{right:0}.so-live-track b{position:absolute;left:4px;top:4px;width:calc(50% - 4px);height:2px;background:#1c377a}
.so-live-track b:after{content:"";position:absolute;right:-4px;top:-3px;width:8px;height:8px;box-sizing:border-box;border:2px solid #1c377a;border-radius:50%;background:#fff}
.so-live-age.warning .so-live-age-labels strong{color:#b54708}.so-live-age.warning .so-live-track b{background:#e68a00}.so-live-age.warning .so-live-track b:after{border-color:#e68a00}
.so-live-age.overdue .so-live-age-labels strong{color:#d92d20}.so-live-age.overdue .so-live-track i,.so-live-age.overdue .so-live-track em,.so-live-age.overdue .so-live-track b:after{border-color:#d92d20}.so-live-age.overdue .so-live-track i,.so-live-age.overdue .so-live-track b{background:#d92d20}
.so-live-age.resolved .so-live-age-labels strong{color:#027a48}.so-live-age.resolved .so-live-track i,.so-live-age.resolved .so-live-track em,.so-live-age.resolved .so-live-track b:after{border-color:#027a48}.so-live-age.resolved .so-live-track i,.so-live-age.resolved .so-live-track b{background:#027a48}
.so-live-meta{display:grid;grid-template-columns:1.2fr .85fr .9fr;gap:0;padding:8px 11px;border-top:1px solid #e4e9f0;border-bottom:1px solid #e4e9f0}
.so-live-meta span{min-width:0;padding:0 8px;color:#3e536c;font-size:10px;line-height:14px;overflow-wrap:anywhere}
.so-live-meta span:first-child{padding-left:0}.so-live-meta span:last-child{padding-right:0}.so-live-meta span+span{border-left:1px solid #e2e8f0}
.so-live-meta b{display:block;margin-bottom:3px;color:#718399;font-size:9px;line-height:12px;font-weight:500}
.so-live-actions{display:grid;grid-template-columns:minmax(72px,1.2fr) minmax(54px,.9fr) 43px 58px 43px;gap:4px;padding:8px 9px 9px}
.so-live-actions.single{grid-template-columns:1fr}
.so-live-actions.single a{flex-direction:row}
.so-live-actions.single a span{font-size:10px;line-height:1}
.so-live-actions.compact{grid-template-columns:minmax(100px,1fr) 62px 48px}.so-live-actions.compact.no-phone{grid-template-columns:minmax(110px,1fr) 48px}
.so-live-actions.no-phone:not(.compact){grid-template-columns:minmax(78px,1.2fr) minmax(54px,.9fr) 60px 43px}
.so-live-actions a{min-width:0;height:36px;padding:0 3px;display:flex;align-items:center;justify-content:center;gap:3px;border:1px solid #d6e0eb;border-radius:6px;color:#1c377a;background:#fff;font-size:10px;font-weight:700;white-space:nowrap}
.so-live-actions a:nth-child(n+3){flex-direction:column;color:#087e8b}.so-live-actions a span{font-size:8px;line-height:9px}.so-live-actions a.primary{border-color:#98afd1}.so-live-actions a i{font-size:13px}
.so-live-actions a:nth-child(2) span{font-size:10.5px;line-height:1;font-weight:700}

/* Match Service Order typography to the approved Sales list-card scale. */
.so-live-copy strong{font-size:var(--list-title-size);font-weight:var(--list-title-weight);line-height:18px}
.so-live-copy small{font-size:var(--list-subtitle-size);line-height:15px}
.so-live-badge{font-size:var(--list-status-size)}
.so-live-age-labels span,.so-live-age-values small{font-size:var(--list-label-size);font-weight:600}
.so-live-age-labels strong{font-size:var(--list-meta-size)}
.so-live-meta span{font-size:var(--list-meta-size);font-weight:600;line-height:14px}
.so-live-meta b{font-size:var(--list-label-size);font-weight:700;line-height:13px}
.so-live-actions a,.so-live-actions.single a span{font-size:var(--list-action-size);font-weight:var(--list-action-weight)}

/* AMC contract cards */
.amc-live-card{padding:13px 12px 11px;border:1px solid #d8e0ec;border-radius:9px;background:#fff;box-shadow:0 4px 12px rgba(24,34,53,.06)}
.amc-live-head{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name value" "name status";column-gap:9px}
.amc-live-head>div{grid-area:name;min-width:0}.amc-live-head strong,.amc-live-head small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.amc-live-head strong{color:#152034;font-size:13px;line-height:18px}.amc-live-head small{margin-top:2px;color:#52677f;font-size:10px}
.amc-live-head>b{grid-area:value;justify-self:end;color:#101b2d;font-size:12.5px}.amc-live-head>span{grid-area:status;justify-self:end;display:flex;align-items:center;gap:5px;margin-top:2px;font-size:9.5px;font-weight:650}
.amc-live-head>span i{width:5px;height:5px;border-radius:50%;background:currentColor}.amc-live-head>span.active{color:#287d43}.amc-live-head>span.confirmed{color:#195ea9}
.amc-live-head>span.expiring{color:#c35e00}.amc-live-head>span.inactive{color:#718198}
.amc-live-period{display:grid;grid-template-columns:auto minmax(70px,1fr) auto;align-items:end;gap:8px;margin-top:13px;color:#34485f;font-size:9.5px;font-weight:600}
.amc-live-period>span:last-child{text-align:right}.amc-live-period small{display:block;margin-bottom:3px;color:#718198;font-size:8.5px;font-weight:500}
.amc-live-period>div{text-align:center}.amc-live-period>div>i{display:block;overflow:hidden;height:3px;border-radius:2px;background:#d2dbe8}
.amc-live-period>div>i>b{display:block;height:100%;background:#1c377a}
.amc-live-meta{display:grid;grid-template-columns:1.25fr 1fr;gap:9px;margin-top:11px;padding-top:10px;border-top:1px solid #e1e7ef}
.amc-live-meta>span{display:flex;gap:6px;min-width:0;color:#30465f;font-size:9.5px;line-height:13px}.amc-live-meta>span+span{padding-left:8px;border-left:1px solid #e4e9f0}
.amc-live-meta i{flex:0 0 auto;color:#536b85;font-size:14px}.amc-live-meta b{min-width:0;font-weight:500;overflow-wrap:anywhere}.amc-live-meta small{display:block;margin-bottom:2px;color:#718198;font-size:8.5px}
.amc-live-meta>span:first-child b{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;max-height:28px}
.amc-live-actions{display:grid;grid-template-columns:minmax(84px,1.4fr) 43px 58px 47px 43px;gap:4px;margin-top:11px}
.amc-live-actions a{height:38px;display:flex;align-items:center;justify-content:center;gap:3px;min-width:0;padding:0 3px;border:1px solid #d8e0ea;border-radius:6px;color:#263d59;font-size:9px;font-weight:700}
.amc-live-actions a:not(.primary){flex-direction:column;gap:1px}.amc-live-actions a i{font-size:14px}.amc-live-actions a span{font-size:7.5px}
.amc-live-actions a.primary{color:#1c377a;border-color:#9bb2d4}.amc-live-actions a.payment{color:#27834a;background:#f0faf3;border-color:#d2edd9}.amc-live-actions a.renew{color:#b75c09}.amc-live-actions a.more{color:#087e8b}

/* Match AMC Contract typography and text colours to the approved list-card system. */
.amc-live-head strong{color:#17243b;font-size:var(--list-title-size);font-weight:var(--list-title-weight);line-height:18px}
.amc-live-head small{color:#65758d;font-size:var(--list-subtitle-size);font-weight:500;line-height:15px}
.amc-live-head>b{color:#17243b;font-size:var(--list-value-size);font-weight:700;line-height:18px}
.amc-live-head>span{font-size:var(--list-status-size);font-weight:700;line-height:14px}
.amc-live-period{color:#3d536f;font-size:var(--list-meta-size);font-weight:600;line-height:14px}
.amc-live-period small{color:#718198;font-size:var(--list-label-size);font-weight:600;line-height:13px}
.amc-live-meta>span{color:#314760;font-size:var(--list-meta-size);font-weight:600;line-height:14px}
.amc-live-meta i{color:#3c5b82}
.amc-live-meta b{font-weight:600}
.amc-live-meta small{color:#697b92;font-size:var(--list-label-size);font-weight:700;line-height:13px}
.amc-live-actions a,.amc-live-actions a span{font-size:var(--list-action-size);font-weight:var(--list-action-weight);line-height:14px}

/* AJAX skeletons mirror their corresponding cards. */
.t2-list-skeletons{display:grid;gap:10px}.t2-list-skeleton{position:relative;overflow:hidden;border:1px solid #d8e0ec;border-radius:9px;background:#fff}
.t2-list-skeleton header{display:grid;grid-template-columns:40px 1fr 56px;align-items:center;gap:10px;padding:12px}
.t2-list-skeleton header>i{width:40px;height:40px}.t2-list-skeleton header span b,.t2-list-skeleton header span em{display:block;height:10px}.t2-list-skeleton header span em{width:72%;height:8px;margin-top:7px}
.t2-list-skeleton header>u{height:20px}.t2-list-skeleton section{height:48px;margin:0 12px;border-top:1px solid #e4e9f0;border-bottom:1px solid #e4e9f0}
.t2-list-skeleton>div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:10px 12px}.t2-list-skeleton>div i{height:30px}
.t2-list-skeleton footer{display:grid;grid-template-columns:1fr 70px;gap:6px;padding:0 12px 11px}.t2-list-skeleton footer i{height:36px}
.so-list-skeleton{height:238px}
.so-list-skeleton header{height:60px;grid-template-columns:40px minmax(0,1fr) 62px;align-items:start;gap:9px;padding:11px}
.so-list-skeleton header>i{border-radius:10px}.so-list-skeleton header span{padding-top:2px}.so-list-skeleton header span b{width:74%;height:12px}.so-list-skeleton header span em{width:92%;height:9px;margin-top:7px}.so-list-skeleton header>u{width:62px;height:24px;justify-self:end;border-radius:12px}
.so-list-skeleton section{height:65px;margin:0;padding:9px 11px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:9px 10px 9px;gap:6px 10px;border-top:1px solid #e4e9f0;border-bottom:1px solid #e4e9f0}
.so-list-skeleton section i{width:54px;height:9px}.so-list-skeleton section b{grid-column:1/-1;width:100%;height:6px;border-radius:3px}.so-list-skeleton section em{width:76%;height:9px;justify-self:end}
.so-list-skeleton>div{height:57px;grid-template-columns:1.2fr .85fr .9fr;gap:8px;padding:9px 11px;border-bottom:1px solid #e4e9f0}.so-list-skeleton>div i{height:36px}
.so-list-skeleton footer{height:56px;display:block;padding:9px 9px 10px}.so-list-skeleton footer i{width:100%;height:36px;border-radius:6px}
.amc-list-skeleton{height:203px;padding:13px 12px}.amc-list-skeleton header{grid-template-columns:1fr 76px;padding:0}.amc-list-skeleton header>span b{width:68%}
.amc-list-skeleton header>u{width:76px}.amc-list-skeleton section{display:grid;grid-template-columns:60px 1fr 60px;gap:8px;height:auto;margin:18px 0 0;padding:0;border:0}.amc-list-skeleton section>*{height:12px}
.amc-list-skeleton>div{grid-template-columns:1.25fr 1fr;margin-top:14px;padding:10px 0;border-top:1px solid #e4e9f0}.amc-list-skeleton>div i{height:34px}
.amc-list-skeleton footer{grid-template-columns:1.4fr 43px 58px 47px 43px;padding:0;margin-top:4px}.amc-list-skeleton footer i{height:38px}
.t2-list-skeleton i,.t2-list-skeleton b,.t2-list-skeleton em,.t2-list-skeleton u{display:block;border-radius:5px;background:linear-gradient(90deg,#e6ebf2 25%,#f5f7fa 48%,#e6ebf2 72%);background-size:220% 100%;animation:t2RecordShimmer 1.15s ease-in-out infinite}
.t2-record-list.list-is-revealing .so-live-card.list-reveal-item,.t2-record-list.list-is-revealing .amc-live-card.list-reveal-item{animation:t2RecordReveal .58s cubic-bezier(.16,1,.3,1) var(--list-reveal-delay,40ms) both}
@keyframes t2RecordShimmer{from{background-position:100% 0}to{background-position:-120% 0}}
@keyframes t2RecordReveal{from{opacity:0;transform:translate3d(0,14px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@media(max-width:350px){.t2-record-list{padding-left:10px;padding-right:10px}.so-live-head{grid-template-columns:36px minmax(0,1fr) auto;gap:7px;padding-left:9px;padding-right:9px}.so-live-icon{width:36px;height:36px}.so-live-actions{grid-template-columns:minmax(65px,1.2fr) minmax(48px,.9fr) 39px 52px 39px;gap:3px;padding-left:7px;padding-right:7px}.so-live-meta{padding-left:9px;padding-right:9px}.amc-live-actions{grid-template-columns:minmax(72px,1.3fr) 38px 49px 42px 38px;gap:3px}}
@media(prefers-reduced-motion:reduce){.t2-list-skeleton *,.t2-record-list.list-is-revealing .list-reveal-item{animation:none!important}}
