/* ABC Controls service request and administration — isolated styles, no changes to Home sliders. */
.ticket-public-grid {display:grid;grid-template-columns:minmax(240px, .72fr) minmax(0,1.55fr);gap:clamp(22px,4vw,76px);align-items:start;padding-bottom:90px}
.ticket-public-grid h2 {margin-top:0}
.ticket-help {padding:25px 0;line-height:1.7}
.ticket-help a,.ticket-back a {color:#246b9c}
.ticket-info {border-left:4px solid #8ab6d4;background:#f3f8fc;padding:12px 22px;margin-top:35px;border-radius:0 9px 9px 0}
.ticket-intake-form {background:#fff;border:1px solid #dde8f0;border-radius:15px;box-shadow:0 15px 34px rgba(28,64,87,.08);padding:clamp(20px,3vw,38px)}
.ticket-intake-form .form-fields {margin:18px 0 24px}
.ticket-intake-form :is(input,select,textarea) {max-width:100%;box-sizing:border-box}
.ticket-quick-links {display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin:22px 0 3px}
.ticket-quick-links>a:not(.button) {color:#25719b}
.ticket-small,.ticket-muted {font-size:.87rem;color:#617688;line-height:1.5}
.ticket-track {max-width:950px;margin:65px auto 95px}
.ticket-track h1 {font-size:clamp(2.3rem,4vw,3.5rem);line-height:1.1}
.ticket-lookup {display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:15px;background:#f5f9fc;padding:25px;border-radius:12px;margin:28px 0}
.ticket-lookup label,.ticket-followup label {display:grid;gap:7px;font-weight:600}
.ticket-lookup input,.ticket-followup textarea {width:100%;background:#fff;border:1px solid #b6cbd9;border-radius:7px;padding:12px;font:inherit;box-sizing:border-box}
.ticket-lookup .button {white-space:nowrap}
.ticket-result {border:1px solid #dbe8ef;padding:clamp(22px,3vw,36px);border-radius:14px;background:#fff}
.ticket-result-head {display:flex;justify-content:space-between;align-items:center;gap:20px}
.ticket-result-head h2 {font-size:1.7rem}
.ticket-pill {display:inline-block;background:#e7f3fc;border:1px solid #cfe5f5;color:#25608e;padding:6px 12px;border-radius:99px;font-weight:650;font-size:.81rem;white-space:nowrap}
.ticket-details {display:flex;gap:30px;flex-wrap:wrap;border-bottom:1px solid #d8e4ee;padding:15px 0 24px}
.ticket-details dt {font-size:.8rem;color:#667b8d}
.ticket-details dd {margin:5px 0 0;font-weight:700}
.ticket-history {list-style:none;margin:0 0 22px;padding:0}
.ticket-history li {padding:13px 0 13px 22px;border-left:3px solid #bed7e9;position:relative;border-bottom:1px solid #ebf0f5}
.ticket-history li::before {content:'';position:absolute;top:20px;left:-6px;width:9px;height:9px;background:#4b91c3;border-radius:50%}
.ticket-history small {color:#667d91;font-size:.78rem}
.ticket-history p {margin:7px 0;overflow-wrap:anywhere;line-height:1.55}
.ticket-followup {display:grid;gap:14px;max-width:650px}
.ticket-back {margin-top:25px}
.ticket-alert {background:#fff0f0;color:#842f2f;padding:14px 18px;border-radius:8px}
@media(max-width:780px){.ticket-public-grid{grid-template-columns:1fr}.ticket-lookup{grid-template-columns:1fr}.ticket-track{margin:35px auto 60px}.ticket-intake-form{padding:20px}.ticket-help{padding:0}}

/* Private admin UI deliberately has separate styling and no external fonts/libraries. */
.abc-admin {background:#f2f6fa;color:#17334a;font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif;font-size:15px;line-height:1.5;margin:0;min-height:100vh}
.abc-admin *{box-sizing:border-box}
.abc-admin a{color:#2377ad;text-decoration:none}
.abc-admin a:hover{text-decoration:underline}
.ticket-admin-wrap{width:min(1220px,calc(100% - 42px));margin:auto}
.ticket-admin-header{background:#133a58;color:white;box-shadow:0 2px 14px rgba(0,0,0,.12)}
.ticket-admin-nav{min-height:75px;display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap;padding:14px 0}
.ticket-admin-nav a{color:#e8f5ff;margin-right:14px}
.ticket-admin-nav .ticket-admin-logo{font-size:26px;font-weight:800;letter-spacing:.03em;color:#fff;text-decoration:none}
.ticket-admin-logo span{font-size:15px;letter-spacing:0;font-weight:400;opacity:.85}
.inline-form{display:inline}
.inline-form button{border:1px solid #8fb4ca;background:transparent;color:white;padding:7px 11px;border-radius:7px;cursor:pointer;font:inherit}
.abc-admin main.ticket-admin-wrap{padding-top:31px;padding-bottom:75px}
.ticket-admin-footer{color:#60758a;font-size:13px;padding:20px 0 32px}
.ticket-headline{display:flex;justify-content:space-between;align-items:center;gap:25px;margin:0 0 22px}
.ticket-headline h1{font-size:clamp(1.9rem,3vw,2.7rem);line-height:1.1;margin:5px 0}
.ticket-headline p{color:#5d7284;margin:4px 0}
.abc-admin .eyebrow,.ticket-track .eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.16em;color:#4484b0;font-weight:800;margin:0}
.abc-admin .button{display:inline-block;background:#287cad;border:1px solid #287cad;color:#fff;padding:11px 18px;font:inherit;font-weight:700;border-radius:7px;cursor:pointer;white-space:nowrap}
.abc-admin .button:hover{background:#1e668f;text-decoration:none}
.abc-admin :is(input,select,textarea){width:100%;min-height:41px;background:white;border:1px solid #bccedc;border-radius:7px;padding:9px 11px;font:inherit;color:#163249}
.abc-admin :is(input,select,textarea):focus{outline:2px solid #77afd5;outline-offset:1px}
.abc-admin textarea{resize:vertical;min-height:115px}
.abc-admin label{display:grid;gap:7px;font-weight:650;font-size:.91rem}
.ticket-auth{max-width:490px;margin:35px auto;background:#fff;padding:clamp(24px,4vw,48px);border-radius:15px;box-shadow:0 14px 45px rgba(35,69,99,.09)}
.ticket-auth h1{font-size:1.8rem}.ticket-auth p{color:#617588}
.ticket-auth form{display:grid;gap:20px;margin-top:25px}
.ticket-banner{padding:15px 20px;margin:0 0 22px;border-radius:9px;overflow-wrap:anywhere}
.ticket-banner.good{background:#e3f5ee;color:#155c3c;border:1px solid #b9e8d4}
.ticket-banner.bad{background:#fff0f0;color:#962929;border:1px solid #f0caca}
.ticket-panel{background:#fff;border-radius:13px;box-shadow:0 9px 26px rgba(35,69,99,.06);padding:clamp(18px,3vw,29px);margin-bottom:24px}
.ticket-panel h2{font-size:1.3rem;margin:0 0 24px}
.ticket-panel h3{font-size:1.05rem;margin:23px 0 10px}
.ticket-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:25px 0}
.ticket-metrics>div{background:#fff;padding:17px 19px;border:1px solid #e2eaf0;border-radius:10px}
.ticket-metrics span{display:block;color:#637e91;font-size:.86rem}.ticket-metrics strong{display:block;font-size:2rem;line-height:1.4}
.ticket-filters{display:grid;grid-template-columns:2fr 1fr auto;gap:15px;align-items:end;margin:0 0 22px}
.ticket-table-wrap{overflow-x:auto}.ticket-table{width:100%;border-collapse:collapse;font-size:.87rem}
.ticket-table th{text-align:left;color:#597387;background:#f2f7fb;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}
.ticket-table th,.ticket-table td{padding:12px 10px;border-bottom:1px solid #e7edf3;vertical-align:top}
.ticket-table td:first-child{font-weight:750;white-space:nowrap}.ticket-table td small{display:block;color:#667c8b;font-weight:400;margin-top:3px}
.ticket-admin-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.ticket-admin-details{display:grid;gap:6px}
.ticket-admin-details>div{display:grid;grid-template-columns:130px 1fr;gap:12px;border-bottom:1px solid #edf2f6;padding:7px 0}
.ticket-admin-details dt{color:#647f92;font-size:.86rem}.ticket-admin-details dd{margin:0;overflow-wrap:anywhere;font-weight:600}
.ticket-long-text{white-space:normal;overflow-wrap:anywhere;background:#f6f9fc;border-radius:8px;padding:16px}
.ticket-admin-form{display:grid;gap:17px}.ticket-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.abc-admin .check-label{display:flex;align-items:center;gap:10px;font-weight:400;font-size:.87rem}
.abc-admin .check-label input{width:17px;min-height:17px;height:17px;margin:0;flex:0 0 auto}
@media(max-width:980px){.ticket-admin-cols{grid-template-columns:1fr}.ticket-metrics{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){.ticket-admin-wrap{width:min(100% - 28px,1220px)}.ticket-headline{align-items:start;flex-direction:column}.ticket-filters,.ticket-form-grid{grid-template-columns:1fr}.ticket-metrics{grid-template-columns:repeat(2,1fr)}.ticket-admin-details>div{grid-template-columns:1fr;gap:1px}}

/* Multiple staff logins — administration only. */
.ticket-admin-links {display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ticket-admin-links a {margin-right:7px}
.ticket-user-actions {display:grid;gap:9px;min-width:200px}
.ticket-user-actions form {display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.ticket-user-actions form select {flex:1 1 130px;width:auto;min-width:130px;min-height:35px;padding:5px 8px;font-size:13px}
.ticket-user-actions button {font:inherit;font-size:12px;font-weight:650;color:#1d658e;background:#f2f8fc;border:1px solid #c6dbe9;border-radius:6px;padding:7px 10px;cursor:pointer}
.ticket-user-actions button:hover {background:#e0f0fb}
.ticket-user-actions button.ticket-danger {color:#922d33;background:#fff2f2;border-color:#efc7c7}
.ticket-credential-once {background:#fff9e9;border:2px solid #e6b85c;border-radius:10px;padding:19px 22px;margin-bottom:24px}
.ticket-credential-once code {display:block;font:700 clamp(15px,2.5vw,21px)/1.5 ui-monospace,Consolas,monospace;letter-spacing:1px;overflow-wrap:anywhere;background:#fff;border:1px solid #f0dfa5;padding:12px 16px;border-radius:6px;margin:12px 0}
.ticket-credential-once p {font-size:13px;margin:0;color:#70551b}
@media(max-width:680px){.ticket-user-actions form{align-items:stretch}.ticket-user-actions form select{width:100%}}

/* ABC Service Desk: owner-controlled privileges */
.ticket-headline-actions{display:flex;gap:10px;flex-wrap:wrap}
.ticket-permissions{border:1px solid #d7e5ef;border-radius:10px;padding:15px 17px;margin:3px 0}
.ticket-permissions legend{font-weight:700;color:#284a63;padding:0 7px}
.ticket-permission-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}
.ticket-permission-list .check-label{display:flex;align-items:flex-start;gap:10px;font-weight:550;font-size:13px;line-height:1.45}
.ticket-permission-list input{flex:0 0 auto;margin-top:3px}
.ticket-staff-perms{display:grid!important;gap:10px;min-width:230px}
.ticket-staff-perms .ticket-permissions{min-width:0;width:100%;box-sizing:border-box}
.ticket-staff-perms .ticket-permission-list{grid-template-columns:1fr}
.ticket-staff-perms>label{display:grid;gap:5px;font-size:13px}
.ticket-staff-perms>label select{width:100%}
@media(max-width:680px){.ticket-permission-list{grid-template-columns:1fr}}
