:root{--ap-sm-blue:#063964;--ap-sm-blue2:#145D95;--ap-sm-green:#2a9513;--ap-sm-text:#252525;--ap-sm-border:#D7E3E9;--ap-sm-soft:#E8F1F4}
.ap-sm{width:100%;font-family:Inter,Arial,sans-serif;color:var(--ap-sm-text)}
.ap-sm-tabs-row{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:0 0 24px}
.ap-sm-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0}
.ap-sm-tab{appearance:none;border:2px solid var(--ap-sm-blue);background:#fff;color:var(--ap-sm-blue);font:600 16px/20px Inter,Arial,sans-serif;padding:12px 22px;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease}
.ap-sm-tab-solicitations:hover,.ap-sm-tab-solicitations:focus-visible,.ap-sm-tab-solicitations.is-active{background:var(--ap-sm-green);border-color:var(--ap-sm-green);color:#fff}
.ap-sm-tab-archived:hover,.ap-sm-tab-archived:focus-visible,.ap-sm-tab-archived.is-active{background:var(--ap-sm-blue);border-color:var(--ap-sm-blue);color:#fff}
.ap-sm-view-all{display:inline-flex;align-items:center;gap:10px;cursor:pointer;user-select:none;color:var(--ap-sm-blue);font:700 14px/20px Inter,Arial,sans-serif}
.ap-sm-view-all-input{position:absolute;opacity:0;pointer-events:none}
.ap-sm-view-all-switch{position:relative;width:46px;height:24px;border:1px solid #AFC9D8;background:#E8F1F4;transition:background .18s ease,border-color .18s ease}
.ap-sm-view-all-switch:before{content:"";position:absolute;width:18px;height:18px;left:2px;top:2px;background:#fff;border:1px solid #9EBACB;transition:transform .18s ease,border-color .18s ease}
.ap-sm-view-all-input:checked+.ap-sm-view-all-switch{background:var(--ap-sm-green);border-color:var(--ap-sm-green)}
.ap-sm-view-all-input:checked+.ap-sm-view-all-switch:before{transform:translateX(22px);border-color:#fff}
.ap-sm-view-all-input:focus-visible+.ap-sm-view-all-switch{outline:2px solid var(--ap-sm-blue2);outline-offset:2px}
.ap-sm-controls{display:grid;grid-template-columns:minmax(220px,1fr) 210px 190px;gap:12px;align-items:end;margin:0 0 26px}
.ap-sm-controls label{display:flex;flex-direction:column;gap:6px;min-width:0}
.ap-sm-control-label{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ap-sm-blue)}
.ap-sm-controls input,.ap-sm-controls select{width:100%;height:48px;border:1px solid var(--ap-sm-blue);border-radius:0;background-color:#fff;color:var(--ap-sm-blue);padding:0 14px;font:400 15px/1.2 Inter,Arial,sans-serif;min-width:0;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}
.ap-sm-controls input::placeholder{color:#668295;opacity:1}
.ap-sm-controls input:hover,.ap-sm-controls select:hover{border-color:var(--ap-sm-blue);background-color:#F8FCFE}
.ap-sm-controls input:focus{outline:0;border-color:var(--ap-sm-blue);box-shadow:inset 0 0 0 1px var(--ap-sm-blue);background-color:#fff}
.ap-sm-controls select:focus{outline:0;border-color:var(--ap-sm-green);box-shadow:0 0 0 2px rgba(42,149,19,.12);background-color:#fff;color:var(--ap-sm-blue)}
.ap-sm-controls select{appearance:none;-webkit-appearance:none;padding-right:42px;background-image:linear-gradient(45deg,transparent 50%,#145D95 50%),linear-gradient(135deg,#145D95 50%,transparent 50%);background-position:calc(100% - 18px) 20px,calc(100% - 13px) 20px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}

.ap-sm-count{font-size:14px;margin:0 0 15px;color:#555}
.ap-sm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.ap-sm-card{display:flex;flex-direction:column;gap:15px;background:#fff;border:1px solid var(--ap-sm-border);border-top:3px solid var(--ap-sm-blue2);padding:28px;box-shadow:0 8px 24px rgba(5,64,105,.07);transition:transform .22s ease,box-shadow .22s ease}
.ap-sm-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(5,64,105,.10)}
.ap-sm-card-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.ap-sm-kicker{font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ap-sm-green)}
.ap-sm-status{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:5px 8px;background:var(--ap-sm-soft);color:var(--ap-sm-blue)}
.ap-sm-status-open{background:#e8f4e4;color:#287a15}.ap-sm-status-archived,.ap-sm-status-closed{background:#eef1f3;color:#505b62}
.ap-sm-card h3{margin:0;color:var(--ap-sm-blue);font:600 25px/1.25 Rubik,Arial,sans-serif}
.ap-sm-official{font-size:13px;line-height:1.45;font-weight:600;color:#53616a}
.ap-sm-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px 0;border-top:1px solid var(--ap-sm-border);border-bottom:1px solid var(--ap-sm-border)}
.ap-sm-dates div{display:flex;flex-direction:column;gap:3px}.ap-sm-dates span{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ap-sm-green)}.ap-sm-dates strong{font-size:14px;color:var(--ap-sm-blue)}
.ap-sm-description p,.ap-sm-note p,.ap-sm-details p{margin:0 0 10px}.ap-sm-description p:last-child,.ap-sm-note p:last-child,.ap-sm-details p:last-child{margin-bottom:0}
.ap-sm-note{padding:12px 14px;border-left:3px solid var(--ap-sm-green);background:#f5f8f3;font-size:14px}
.ap-sm-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto}
.ap-sm-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none!important;background:var(--ap-sm-green);color:#fff!important;border:2px solid var(--ap-sm-green);padding:11px 18px;font-weight:700;font-size:14px;line-height:18px}
.ap-sm-button:hover{background:#252525;border-color:#252525}.ap-sm-button-secondary{background:#fff;color:var(--ap-sm-blue)!important;border-color:var(--ap-sm-blue)}
.ap-sm-details{border-top:1px solid var(--ap-sm-border);padding-top:12px}.ap-sm-details summary{cursor:pointer;color:var(--ap-sm-blue);font-weight:700}.ap-sm-details>div{padding-top:12px;font-size:14px}
.ap-sm-empty{padding:30px;border:1px solid var(--ap-sm-border);background:#fff;text-align:center}
@media(max-width:900px){.ap-sm-controls{grid-template-columns:1fr 1fr}.ap-sm-search{grid-column:1/-1}.ap-sm-grid{grid-template-columns:1fr}}
@media(max-width:600px){.ap-sm-tabs-row{align-items:stretch}.ap-sm-tabs{display:grid;grid-template-columns:1fr;width:100%}.ap-sm-tab{width:100%}.ap-sm-view-all{justify-content:flex-end;width:100%}.ap-sm-controls{grid-template-columns:1fr}.ap-sm-search{grid-column:auto}.ap-sm-card{padding:22px}.ap-sm-dates{grid-template-columns:1fr}.ap-sm-actions{display:grid;grid-template-columns:1fr}.ap-sm-button{width:100%}}
@media(prefers-reduced-motion:reduce){.ap-sm-card{transition:none}.ap-sm-card:hover{transform:none}}


/* Custom visual dropdowns: selected stays plain; hover is the highlight */
.ap-sm-controls .ap-sm-native-select{
position:absolute!important;
width:1px!important;
height:1px!important;
padding:0!important;
margin:-1px!important;
overflow:hidden!important;
clip:rect(0,0,0,0)!important;
white-space:nowrap!important;
border:0!important;
opacity:0!important;
pointer-events:none!important;
}
.ap-sm-custom-select{
position:relative;
width:100%;
min-width:0;
font:400 15px/1.2 Inter,Arial,sans-serif;
}
.ap-sm-custom-select-btn{
display:flex;
align-items:center;
justify-content:space-between;
gap:14px;
width:100%;
height:48px;
padding:0 14px;
border:1px solid var(--ap-sm-blue);
border-radius:0;
background:#fff;
color:var(--ap-sm-blue);
font:400 15px/1.2 Inter,Arial,sans-serif;
text-align:left;
cursor:pointer;
box-sizing:border-box;
}
.ap-sm-custom-select-btn:hover{border-color:var(--ap-sm-blue)}
.ap-sm-custom-select-btn:focus-visible{
outline:0;
border-color:var(--ap-sm-blue);
box-shadow:inset 0 0 0 1px var(--ap-sm-blue);
}
.ap-sm-custom-select-arrow{
width:0;height:0;flex:0 0 auto;
border-left:5px solid transparent;
border-right:5px solid transparent;
border-top:6px solid var(--ap-sm-blue);
transition:transform .16s ease;
}
.ap-sm-custom-select.is-open .ap-sm-custom-select-arrow{transform:rotate(180deg)}
.ap-sm-custom-select-menu{
position:absolute;
z-index:1000;
left:0;right:0;top:calc(100% + 2px);
display:none;
margin:0;
padding:0;
list-style:none;
background:#fff;
border:1px solid #D2D9DE;
box-shadow:none;
max-height:280px;
overflow:auto;
}
.ap-sm-custom-select.is-open .ap-sm-custom-select-menu{display:block}
.ap-sm-custom-select-option{
display:block;
width:100%;
margin:0;
padding:6px 14px;
border:0;
background:#fff;
color:var(--ap-sm-blue);
font:400 15px/1.2 Inter,Arial,sans-serif;
text-align:left;
cursor:pointer;
box-sizing:border-box;
}
.ap-sm-custom-select-option.is-selected{
background:#fff;
color:var(--ap-sm-blue);
font-weight:600;
}
.ap-sm-custom-select-option:hover,
.ap-sm-custom-select-option:focus-visible{
outline:0;
background:var(--ap-sm-blue);
color:#fff;
}


.ap-sm-custom-select.is-open .ap-sm-custom-select-btn{
border-color:var(--ap-sm-blue)!important;
box-shadow:inset 0 0 0 1px var(--ap-sm-blue)!important;
}


/* v1.0.8 — dropdown border consistency only */
.ap-sm-controls select{
border-color:var(--ap-sm-blue)!important;
}
.ap-sm-controls select:focus{
outline:0!important;
border-color:var(--ap-sm-blue)!important;
box-shadow:inset 0 0 0 1px var(--ap-sm-blue)!important;
background-color:#fff!important;
color:var(--ap-sm-blue)!important;
}
.ap-sm-custom-select-btn{
border-color:var(--ap-sm-blue)!important;
}
.ap-sm-custom-select-btn:focus-visible,
.ap-sm-custom-select.is-open .ap-sm-custom-select-btn{
outline:0!important;
border-color:var(--ap-sm-blue)!important;
box-shadow:inset 0 0 0 1px var(--ap-sm-blue)!important;
}



/* v1.0.9 — solicitation/archive toggle states */
.ap-sm-tab{
background:#fff!important;
border:2px solid #61A9BB!important;
color:var(--ap-sm-blue)!important;
}
.ap-sm-tab:hover,
.ap-sm-tab:focus-visible{
background:var(--ap-sm-blue)!important;
border-color:var(--ap-sm-blue)!important;
color:#fff!important;
outline:0!important;
}
.ap-sm-tab.is-active,
.ap-sm-tab.is-active:hover,
.ap-sm-tab.is-active:focus-visible{
background:var(--ap-sm-green)!important;
border-color:var(--ap-sm-green)!important;
color:#fff!important;
}



/* v1.0.10 — individual solicitation pages */
.ap-sm-single-page{width:100%}
.ap-sm-single-shell{width:min(1120px,calc(100% - 40px));margin:0 auto;padding:54px 0 72px}
.ap-sm-single-back{display:inline-flex;align-items:center;margin:0 0 22px;color:var(--ap-sm-blue)!important;font:700 14px/1.3 Inter,Arial,sans-serif;text-decoration:none!important}
.ap-sm-single-back:hover{text-decoration:underline!important}
.ap-sm-single-card{padding:38px 42px;transform:none!important;box-shadow:0 10px 30px rgba(5,64,105,.08)}
.ap-sm-single-card:hover{transform:none!important;box-shadow:0 10px 30px rgba(5,64,105,.08)}
.ap-sm-single-title{margin:0;color:var(--ap-sm-blue);font:600 38px/1.18 Rubik,Arial,sans-serif}
.ap-sm-single-official{font-size:15px;line-height:1.5}
.ap-sm-single-dates{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:2px}
.ap-sm-single-section{border-top:1px solid var(--ap-sm-border);padding-top:22px}
.ap-sm-single-section h2{margin:0 0 14px;color:var(--ap-sm-blue);font:600 22px/1.25 Rubik,Arial,sans-serif}
.ap-sm-single-section-label{display:block;margin:0 0 7px;color:var(--ap-sm-blue);font-size:13px;text-transform:uppercase;letter-spacing:.05em}
.ap-sm-single .ap-sm-description{font-size:16px;line-height:1.7}
.ap-sm-view-details{white-space:nowrap}
@media(max-width:767px){
.ap-sm-single-shell{width:min(100% - 28px,1120px);padding:34px 0 50px}
.ap-sm-single-card{padding:26px 22px}
.ap-sm-single-title{font-size:30px}
.ap-sm-single-dates{grid-template-columns:1fr}
}


/* v1.0.11 — individual solicitation spacing + button state only */
.ap-sm-single-shell{
padding-top:calc(54px + 10%)!important;
}
.ap-sm-single .ap-sm-button:active,
.ap-sm-single .ap-sm-button:focus,
.ap-sm-single .ap-sm-button:focus-visible,
.ap-sm-single .ap-sm-button-secondary:active,
.ap-sm-single .ap-sm-button-secondary:focus,
.ap-sm-single .ap-sm-button-secondary:focus-visible,
.ap-sm-view-details:active,
.ap-sm-view-details:focus,
.ap-sm-view-details:focus-visible{
background:#000!important;
border-color:#000!important;
color:#fff!important;
outline:none!important;
}
.ap-sm-single .ap-sm-button:active *,
.ap-sm-single .ap-sm-button:focus *,
.ap-sm-single .ap-sm-button:focus-visible *,
.ap-sm-view-details:active *,
.ap-sm-view-details:focus *,
.ap-sm-view-details:focus-visible *{
color:#fff!important;
}
@media(max-width:767px){
.ap-sm-single-shell{
padding-top:calc(34px + 10%)!important;
}
}


/* v1.0.13 — View Details hover/focus text color only */
.ap-sm .ap-sm-actions a.ap-sm-view-details,
.ap-sm .ap-sm-actions a.ap-sm-view-details:link,
.ap-sm .ap-sm-actions a.ap-sm-view-details:visited,
.ap-sm .ap-sm-actions a.ap-sm-view-details:hover,
.ap-sm .ap-sm-actions a.ap-sm-view-details:focus,
.ap-sm .ap-sm-actions a.ap-sm-view-details:focus-visible,
.ap-sm .ap-sm-actions a.ap-sm-view-details:active{
background:#222!important;
border-color:#222!important;
color:#fff!important;
-webkit-text-fill-color:#fff!important;
text-decoration:none!important;
}
.ap-sm .ap-sm-actions a.ap-sm-view-details:hover *,
.ap-sm .ap-sm-actions a.ap-sm-view-details:focus *,
.ap-sm .ap-sm-actions a.ap-sm-view-details:focus-visible *,
.ap-sm .ap-sm-actions a.ap-sm-view-details:active *{
color:#fff!important;
-webkit-text-fill-color:#fff!important;
}


/* v1.0.14 — secondary solicitation action buttons only */
.ap-sm .ap-sm-actions a.ap-sm-button-secondary,
.ap-sm .ap-sm-actions a.ap-sm-button-secondary:link,
.ap-sm .ap-sm-actions a.ap-sm-button-secondary:visited{
background:#fff!important;
border-color:var(--ap-sm-blue)!important;
color:var(--ap-sm-blue)!important;
-webkit-text-fill-color:var(--ap-sm-blue)!important;
text-decoration:none!important;
}
.ap-sm .ap-sm-actions a.ap-sm-button-secondary:hover,
.ap-sm .ap-sm-actions a.ap-sm-button-secondary:focus,
.ap-sm .ap-sm-actions a.ap-sm-button-secondary:focus-visible,
.ap-sm .ap-sm-actions a.ap-sm-button-secondary:active{
background:var(--ap-sm-blue)!important;
border-color:var(--ap-sm-blue)!important;
color:#fff!important;
-webkit-text-fill-color:#fff!important;
text-decoration:none!important;
outline:0!important;
}
.ap-sm .ap-sm-actions a.ap-sm-button-secondary:hover *,
.ap-sm .ap-sm-actions a.ap-sm-button-secondary:focus *,
.ap-sm .ap-sm-actions a.ap-sm-button-secondary:focus-visible *,
.ap-sm .ap-sm-actions a.ap-sm-button-secondary:active *{
color:#fff!important;
-webkit-text-fill-color:#fff!important;
}
