:root {
    --navy-950: #071c2d;
    --navy-900: #0b263c;
    --navy-800: #123955;
    --navy-700: #1d4b69;
    --teal-800: #076766;
    --teal-700: #087c7a;
    --teal-600: #0a9892;
    --teal-100: #d8f3ef;
    --teal-50: #effaf8;
    --gold-600: #ce8f25;
    --gold-500: #e8aa3c;
    --gold-100: #fff0cf;
    --red-700: #a83838;
    --red-100: #fee6e3;
    --red-50: #fff5f4;
    --green-700: #26734e;
    --green-100: #dff3e9;
    --blue-700: #315f82;
    --blue-100: #e4eff7;
    --purple-700: #67569b;
    --purple-100: #ede9f8;
    --slate-800: #293e4b;
    --slate-700: #3f5361;
    --slate-600: #586d79;
    --slate-500: #5f737e;
    --slate-400: #667984;
    --slate-300: #c5d0d5;
    --slate-200: #dce4e8;
    --slate-100: #edf2f4;
    --slate-50: #f7f9fa;
    --white: #fff;
    --shadow-sm: 0 7px 22px rgba(7, 28, 45, .07);
    --shadow-md: 0 16px 44px rgba(7, 28, 45, .1);
    --shadow-lg: 0 24px 70px rgba(7, 28, 45, .18);
    --radius-sm: 8px;
    --radius: 12px;
    --radius-lg: 18px;
    --shell: 1180px;
    --control-height: 46px;
    --touch-target: 44px;
    --text-xs: .75rem;
    --text-sm: .8125rem;
    --text-base: .9375rem;
    --focus-outline: 2px solid var(--white);
    --focus-shadow: 0 0 0 5px var(--teal-800);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-height: 100vh; color: var(--navy-950); background: var(--slate-50); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 16px; line-height: 1.55; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, select { cursor: pointer; }
img, svg { display: block; max-width: 100%; }
h1, h2, h3, p { overflow-wrap: anywhere; }
[hidden] { display: none !important; }
input::placeholder, textarea::placeholder { color: var(--slate-500); opacity: 1; }

.sr-only { 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; }
.clipboard-helper { position: fixed; left: -10000px; top: 0; width: 1px; height: 1px; opacity: 0; }
.skip-link { position: fixed; z-index: 1000; top: 10px; left: 10px; padding: 10px 14px; color: white; background: var(--navy-950); border-radius: 8px; transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: var(--focus-outline); outline-offset: 2px; box-shadow: var(--focus-shadow); }
main:focus { outline: none; box-shadow: none; }

.content-shell, .staff-content { width: min(var(--shell), calc(100% - 48px)); margin-inline: auto; }
.narrow-shell { max-width: 790px; }
.app-header { height: 78px; padding: 0 max(24px, calc((100% - var(--shell)) / 2)); display: flex; align-items: center; gap: 42px; position: relative; z-index: 20; border-bottom: 1px solid var(--slate-200); background: rgba(255,255,255,.98); }
.brand { display: flex; align-items: center; gap: 12px; flex: 0 0 auto; }
.brand-mark { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px 13px 13px 4px; color: white; background: linear-gradient(145deg, var(--teal-600), #075f68); box-shadow: 0 7px 16px rgba(8,124,122,.22); font-size: 23px; line-height: 1; font-weight: 850; transform: rotate(-3deg); }
.brand-copy { display: flex; flex-direction: column; line-height: 1.05; }
.brand-copy strong { font-size: 16px; letter-spacing: -.01em; }
.brand-copy span { margin-top: 4px; color: var(--slate-600); font-size: 11px; letter-spacing: .07em; text-transform: uppercase; }
.main-nav { display: flex; align-self: stretch; gap: 28px; margin-left: auto; }
.main-nav a { display: grid; place-items: center; border-bottom: 3px solid transparent; color: var(--slate-600); font-size: 13px; font-weight: 700; }
.main-nav a:hover, .main-nav a:focus-visible, .main-nav a.is-current { color: var(--teal-700); border-color: var(--teal-600); }
.staff-session .app-header { gap: 24px; }
.staff-session .main-nav { gap: 20px; }
.header-ticket-search { width: 184px; min-width: 150px; height: 38px; display: flex; align-items: center; position: relative; }
.header-ticket-search input { width: 100%; height: 100%; padding: 0 38px 0 11px; border: 1px solid var(--slate-200); border-radius: 9px; outline: none; color: var(--navy-950); background: var(--slate-50); font-size: 11px; }
.header-ticket-search input:focus { border-color: var(--teal-600); background: white; box-shadow: 0 0 0 3px rgba(10,152,146,.1); }
.header-ticket-search button { width: 34px; height: 34px; display: grid; place-items: center; position: absolute; right: 2px; border: 0; color: var(--teal-700); background: transparent; font-size: 18px; }
.staff-sign-in { min-height: 42px; padding: 0 15px; display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--slate-200); border-radius: 10px; color: var(--navy-800); font-size: 13px; font-weight: 750; }
.staff-sign-in:hover { border-color: var(--teal-600); background: var(--teal-50); }
.staff-identity { display: flex; align-items: center; gap: 9px; padding-left: 20px; border-left: 1px solid var(--slate-200); }
.avatar { width: 36px; height: 36px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 10px; color: white; background: var(--navy-800); font-size: 13px; font-weight: 800; }
.identity-copy { display: flex; flex-direction: column; line-height: 1.2; }
.staff-identity strong { font-size: 12px; }
.staff-identity small { margin-top: 3px; color: var(--slate-600); font-size: 12px; }
.link-button { padding: 4px; border: 0; color: var(--teal-700); background: transparent; font-size: 11px; font-weight: 750; }
.link-button:hover { text-decoration: underline; }
.user-menu { margin: 0; padding-left: 16px; position: relative; border-left: 1px solid var(--slate-200); }
.user-menu summary { display: flex; align-items: center; gap: 9px; border-radius: 9px; cursor: pointer; list-style: none; }
.user-menu summary::-webkit-details-marker { display: none; }
.user-menu summary strong { font-size: 12px; }
.user-menu summary small { margin-top: 3px; color: var(--slate-600); font-size: 12px; }
.menu-chevron { margin-left: 3px; color: var(--slate-500); font-size: 14px; transition: transform .16s ease; }
.user-menu[open] .menu-chevron { transform: rotate(180deg); }
.user-menu-panel { width: 270px; padding: 8px; position: absolute; top: calc(100% + 13px); right: 0; z-index: 40; border: 1px solid var(--slate-200); border-radius: 12px; background: white; box-shadow: var(--shadow-md); }
.user-menu-panel p { margin: 0 0 5px; padding: 10px 11px 12px; display: flex; flex-direction: column; border-bottom: 1px solid var(--slate-100); }
.user-menu-panel p strong { font-size: 12px; }
.user-menu-panel p span { overflow: hidden; color: var(--slate-500); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.user-menu-panel a, .user-menu-panel button { width: 100%; min-height: 39px; padding: 0 11px; display: flex; align-items: center; border: 0; border-radius: 8px; color: var(--navy-800); background: transparent; font-size: 11px; font-weight: 750; text-align: left; }
.user-menu-panel a:hover, .user-menu-panel button:hover { color: var(--teal-800); background: var(--teal-50); }
.mobile-staff-nav { display: none; }
.subnav-tabs { margin-top: 20px; padding: 5px; display: flex; gap: 4px; overflow-x: auto; border: 1px solid var(--slate-200); border-radius: 12px; background: white; box-shadow: var(--shadow-sm); scrollbar-width: thin; }
.subnav-tabs a { min-height: 40px; padding: 0 14px; display: inline-flex; align-items: center; flex: 0 0 auto; border-radius: 8px; color: var(--slate-600); font-size: 12px; font-weight: 750; }
.subnav-tabs a:hover, .subnav-tabs a:focus-visible { color: var(--teal-800); background: var(--teal-50); }
.subnav-tabs a[aria-current="page"] { color: white; background: var(--navy-900); }

.flash-stack { position: fixed; z-index: 50; top: 94px; right: 20px; width: min(400px, calc(100% - 40px)); display: grid; gap: 9px; }
.flash { padding: 13px 15px; display: flex; align-items: center; gap: 10px; border: 1px solid; border-radius: 11px; box-shadow: var(--shadow-md); background: white; font-size: 13px; font-weight: 650; }
.flash > span { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 99px; color: white; }
.flash-success { border-color: #a8d7bf; color: var(--green-700); }
.flash-success > span { background: var(--green-700); }
.flash-error { border-color: #e7b0aa; color: var(--red-700); }
.flash-error > span { background: var(--red-700); }
.toast-region { width: min(430px, calc(100% - 32px)); position: fixed; z-index: 90; top: 94px; right: 18px; display: grid; gap: 9px; pointer-events: none; }
.toast { min-height: 58px; padding: 12px 12px 12px 13px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 10px; border: 1px solid var(--slate-200); border-left-width: 4px; border-radius: 11px; background: white; box-shadow: var(--shadow-md); pointer-events: auto; animation: toast-enter .18s ease-out; }
.toast-success { border-left-color: var(--green-700); }
.toast-error { border-left-color: var(--red-700); }
.toast-info { border-left-color: var(--blue-700); }
.toast-icon { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--blue-700); font-size: 11px; font-weight: 850; }
.toast-success .toast-icon { background: var(--green-700); }
.toast-error .toast-icon { background: var(--red-700); }
.toast p { margin: 0; color: var(--slate-700); font-size: 11px; font-weight: 650; line-height: 1.45; }
.toast-action, .toast-close { border: 0; color: var(--teal-700); background: transparent; font-size: 12px; font-weight: 800; }
.toast-action { padding: 6px; white-space: nowrap; }
.toast-close { width: 28px; height: 28px; display: grid; place-items: center; color: var(--slate-500); font-size: 18px; }
@keyframes toast-enter { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }

.hero { position: relative; overflow: hidden; color: white; background: var(--navy-950); }
.hero-grid { position: absolute; inset: 0; opacity: .28; background-image: linear-gradient(rgba(255,255,255,.032) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.032) 1px, transparent 1px); background-size: 44px 44px; mask-image: linear-gradient(90deg, #000, transparent 80%); }
.hero::after { content: ""; position: absolute; width: 590px; height: 590px; right: -310px; top: -340px; border-radius: 50%; opacity: .25; background: radial-gradient(circle, #28d8ca, transparent 68%); }
.hero-content { width: min(var(--shell), calc(100% - 48px)); min-height: 480px; margin: auto; padding: 80px 0 90px; display: grid; grid-template-columns: 1.25fr .75fr; gap: clamp(56px, 8vw, 110px); align-items: center; position: relative; z-index: 1; }
.eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 22px; color: #9fded8; font-size: 11px; line-height: 1.2; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.eyebrow > span { width: 28px; height: 2px; background: var(--gold-500); }
.hero h1 { margin: 0; font-size: clamp(44px, 6vw, 72px); line-height: 1; letter-spacing: -.055em; font-weight: 760; }
.hero-copy > p:not(.eyebrow) { max-width: 650px; margin: 25px 0 0; color: #c5d4dc; font-size: clamp(17px, 1.8vw, 20px); line-height: 1.65; }
.hero-actions { margin-top: 34px; display: flex; flex-wrap: wrap; gap: 12px; }
.button { min-height: var(--control-height); padding: 0 18px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; border: 1px solid transparent; border-radius: 9px; cursor: pointer; font-size: var(--text-sm); font-weight: 800; transition: transform .16s ease, background .16s ease, border-color .16s ease; }
.button:hover { transform: translateY(-1px); }
.button:disabled { cursor: wait; opacity: .72; transform: none; }
.button.is-loading::before, button.is-loading::before { content: ""; width: 13px; height: 13px; flex: 0 0 auto; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: busy-spin .7s linear infinite; }
@keyframes busy-spin { to { transform: rotate(360deg); } }
.button-primary { color: var(--navy-950); background: var(--gold-500); box-shadow: 0 9px 28px rgba(232,170,60,.17); }
.button-primary:hover { background: #f0b64e; }
.button-ghost { color: white; border-color: rgba(255,255,255,.26); background: rgba(255,255,255,.055); }
.button-ghost:hover { background: rgba(255,255,255,.11); }
.button-secondary { color: white; background: var(--navy-900); }
.button-secondary:hover { background: var(--navy-800); }
.button-outline { color: var(--navy-800); border-color: var(--slate-300); background: white; }
.button-outline:hover { border-color: var(--teal-600); background: var(--teal-50); }
.button-danger { color: white; border-color: var(--red-700); background: var(--red-700); }
.button-danger:hover { background: #8e2e2e; }
.compact-button { min-height: 40px; padding-inline: 14px; font-size: 12px; }
.full-button { width: 100%; }
.dark-text { color: var(--navy-950); }
.availability-card { padding: 25px; border: 1px solid rgba(255,255,255,.14); border-radius: 20px; background: rgba(18,57,85,.66); box-shadow: var(--shadow-lg); backdrop-filter: blur(16px); }
.availability-head { display: flex; align-items: center; gap: 12px; padding-bottom: 20px; border-bottom: 1px solid rgba(255,255,255,.12); }
.status-pulse { width: 10px; height: 10px; border-radius: 50%; background: #5ee1af; box-shadow: 0 0 0 5px rgba(94,225,175,.12); }
.availability-head p, .availability-row p, .privacy-callout p { margin: 0; display: flex; flex-direction: column; }
.availability-head p { gap: 3px; }
.availability-head strong { font-size: 13px; }
.availability-head p span { color: #a9bdc7; font-size: 11px; }
.online-badge { margin-left: auto; padding: 5px 8px; border-radius: 6px; color: #8ff0c5; background: rgba(94,225,175,.1); font-size: 11px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.availability-row { padding: 20px 0; display: flex; align-items: flex-start; gap: 13px; }
.line-icon { color: var(--gold-500); font-size: 20px; line-height: 1; }
.availability-row p { gap: 3px; }
.availability-row p span { color: #a9bdc7; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.availability-row p strong { font-size: 12px; font-weight: 650; }
.privacy-callout { padding: 14px; display: flex; gap: 11px; align-items: flex-start; border-radius: 11px; color: #b9d9d5; background: rgba(10,152,146,.12); }
.privacy-callout > span { width: 22px; height: 22px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid currentColor; border-radius: 50%; font-size: 11px; }
.privacy-callout p { color: inherit; font-size: 11px; line-height: 1.5; }
.privacy-callout p strong { color: white; font-size: 11px; }
.privacy-callout.light { color: var(--slate-600); background: var(--teal-50); }
.privacy-callout.light p strong { margin-bottom: 3px; color: var(--teal-800); }

.support-section { padding: 74px 0 18px; }
.services-section { padding: 72px 0 78px; }
.section-header { margin-bottom: 27px; display: flex; align-items: end; justify-content: space-between; gap: 28px; }
.section-kicker { margin: 0 0 7px; color: var(--teal-700); font-size: 12px; line-height: 1.2; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.section-header h2 { margin: 0; font-size: clamp(28px, 3vw, 38px); line-height: 1.1; letter-spacing: -.035em; }
.section-header > p, .section-header .text-link { margin: 0 0 3px; color: var(--slate-600); font-size: 13px; }
.text-link { color: var(--teal-700) !important; font-weight: 750; }
.choice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.choice-card { min-height: 300px; padding: 28px; display: flex; flex-direction: column; border: 1px solid var(--slate-200); border-radius: var(--radius-lg); background: white; box-shadow: var(--shadow-sm); }
.accent-card { background: linear-gradient(145deg, white 65%, var(--teal-50)); }
.choice-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 13px; color: white; background: var(--teal-700); font-size: 20px; }
.choice-icon.cool { color: var(--navy-800); background: var(--blue-100); }
.card-kicker { margin: 23px 0 5px !important; color: var(--teal-700) !important; font-size: 11px !important; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.choice-card h3 { margin: 0 0 8px; font-size: 22px; letter-spacing: -.025em; }
.choice-card > p { max-width: 510px; margin: 0; color: var(--slate-600); font-size: 13px; line-height: 1.65; }
.choice-card > a { margin-top: auto; padding-top: 20px; display: flex; align-items: center; gap: 8px; color: var(--teal-700); font-size: 13px; font-weight: 800; }
.lookup-form { margin-top: auto; padding-top: 17px; display: grid; grid-template-columns: 1fr 1fr auto; gap: 8px; align-items: end; }
.lookup-form label { display: grid; gap: 5px; color: var(--slate-600); font-size: 11px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.lookup-form input { width: 100%; height: 42px; padding: 0 10px; border: 1px solid var(--slate-200); border-radius: 8px; outline: none; color: var(--navy-950); background: var(--slate-50); font-size: 11px; }
.lookup-form button { height: 42px; padding: 0 12px; border: 0; border-radius: 8px; color: white; background: var(--navy-900); font-size: 11px; font-weight: 800; }
.service-grid { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--slate-200); border-radius: 16px; overflow: hidden; background: white; box-shadow: var(--shadow-sm); }
.service-grid > a { min-height: 142px; padding: 22px; display: flex; flex-direction: column; align-items: flex-start; border-right: 1px solid var(--slate-200); border-bottom: 1px solid var(--slate-200); }
.service-grid > a:nth-child(4n) { border-right: 0; }
.service-grid > a:nth-last-child(-n+4) { border-bottom: 0; }
.service-grid > a:hover { background: var(--teal-50); }
.service-dot { width: 36px; height: 36px; border-radius: 10px; background: var(--teal-50); position: relative; }
.service-dot::before { content: ""; position: absolute; width: 11px; height: 11px; left: 12px; top: 12px; border-radius: 4px 4px 4px 1px; background: var(--teal-700); transform: rotate(-8deg); }
.service-grid > a > span:nth-child(2) { margin-top: 14px; display: flex; flex-direction: column; gap: 3px; }
.service-grid strong { font-size: 13px; }
.service-grid small { color: var(--slate-600); font-size: 12px; }
.service-grid > a > span:last-child { margin-top: auto; align-self: flex-end; color: var(--teal-700); }
.security-strip { padding: 27px max(24px, calc((100% - var(--shell)) / 2)); display: flex; align-items: center; justify-content: space-between; gap: 28px; color: white; background: var(--teal-700); }
.security-strip > div { display: flex; align-items: center; gap: 13px; }
.security-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; background: rgba(255,255,255,.14); font-weight: 850; }
.security-strip p { margin: 0; display: flex; flex-direction: column; }
.security-strip p strong { font-size: 14px; }
.security-strip p span { color: #c7eeea; font-size: 11px; }
.security-strip > a { min-height: 41px; padding: 0 14px; display: flex; align-items: center; border: 1px solid rgba(255,255,255,.35); border-radius: 9px; font-size: 11px; font-weight: 800; }

.app-footer { min-height: 110px; padding: 28px max(24px, calc((100% - var(--shell)) / 2)); display: flex; align-items: center; justify-content: space-between; gap: 30px; color: #a9bdc7; background: var(--navy-950); }
.footer-brand { display: flex; align-items: center; gap: 11px; }
.brand-mark.small { width: 33px; height: 33px; border-radius: 10px 10px 10px 3px; font-size: 17px; }
.footer-brand p { margin: 0; display: flex; flex-direction: column; }
.footer-brand strong { color: white; font-size: 12px; }
.footer-brand span { font-size: 12px; }
.footer-meta { display: flex; gap: 20px; color: #8da3af; font-size: 12px; }

.page-hero { color: white; background: var(--navy-950); }
.compact-hero .content-shell { padding: 50px 0 58px; }
.back-link { display: inline-flex; margin-bottom: 26px; color: inherit; opacity: .78; font-size: 12px; font-weight: 700; }
.back-link:hover { opacity: 1; }
.compact-hero h1 { max-width: 760px; margin: 0; font-size: clamp(38px, 5vw, 54px); line-height: 1.05; letter-spacing: -.045em; }
.compact-hero .content-shell > p:last-child { max-width: 680px; margin: 17px 0 0; color: #c5d4dc; font-size: 15px; }
.form-shell { max-width: 940px; padding: 48px 0 80px; }
.request-form { display: grid; gap: 20px; }
.form-card, .detail-card { border: 1px solid var(--slate-200); border-radius: var(--radius-lg); background: white; box-shadow: var(--shadow-sm); }
.form-card { padding: 30px; }
.form-card > header { margin-bottom: 28px; display: flex; align-items: flex-start; gap: 14px; }
.step-number { width: 33px; height: 33px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 10px; color: white; background: var(--teal-700); font-size: 12px; font-weight: 850; }
.form-card h2 { margin: 0; font-size: 20px; letter-spacing: -.02em; }
.form-card header p { margin: 3px 0 0; color: var(--slate-600); font-size: 12px; }
.field-grid { display: grid; gap: 20px; }
.two-columns { grid-template-columns: 1fr 1fr; }
.full-width { grid-column: 1 / -1; }
.field { display: flex; flex-direction: column; gap: 6px; color: var(--slate-700); font-size: 12px; font-weight: 700; }
.field > span b { color: var(--red-700); }
.field input, .field select, .field textarea, .filter-bar input, .filter-bar select { width: 100%; border: 1px solid var(--slate-300); border-radius: 8px; outline: none; color: var(--navy-950); background: white; font-size: 13px; font-weight: 450; }
.field input, .field select { height: var(--control-height); padding: 0 12px; }
.field textarea { min-height: 120px; padding: 11px 12px; resize: vertical; line-height: 1.55; }
.field input:focus, .field select:focus, .field textarea:focus, .filter-bar input:focus, .filter-bar select:focus, .lookup-form input:focus { border-color: var(--teal-600); box-shadow: 0 0 0 3px rgba(10,152,146,.12); }
.field [aria-invalid="true"] { border-color: var(--red-700); background: var(--red-50); }
.field-error { color: var(--red-700); font-size: 11px; font-weight: 650; }
.ajax-error-summary { margin: 14px 18px; padding: 12px 14px; border: 1px solid #e7b0aa; border-radius: 9px; color: var(--red-700); background: var(--red-50); font-size: 12px; }
.ajax-error-summary strong { display: block; }
.ajax-error-summary ul { margin: 6px 0 0; padding-left: 18px; }
.ajax-error-summary a { color: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.field-help { color: var(--slate-500); font-size: 12px; font-weight: 450; }
.field > span small { color: var(--slate-500); font-size: 12px; font-weight: 500; }
.field-meta { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.counter { margin-left: auto; color: var(--slate-500); font-size: 12px; font-weight: 500; white-space: nowrap; }
.attachment-picker { padding: 14px; border: 1px dashed var(--slate-300); border-radius: 11px; background: var(--slate-50); transition: border-color .16s ease, background .16s ease, box-shadow .16s ease; }
.attachment-picker:hover, .attachment-picker:focus-within, .attachment-picker.has-selection { border-color: var(--teal-600); background: var(--teal-50); box-shadow: 0 0 0 3px rgba(10,152,146,.08); }
.attachment-picker.has-error { border-color: var(--red-700); background: var(--red-50); }
.attachment-picker > label { display: flex; align-items: center; gap: 11px; position: relative; color: var(--navy-800); cursor: pointer; }
.attachment-picker > label > span:nth-child(2) { min-width: 0; display: flex; flex: 1; flex-direction: column; gap: 2px; }
.attachment-picker strong { font-size: 11px; }
.attachment-picker label small, .attachment-types, .attachment-selection { color: var(--slate-500); font-size: 11px; font-weight: 500; line-height: 1.45; }
.attachment-picker input[type="file"] { width: 1px; height: 1px; position: absolute; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.attachment-picker-icon { width: 34px; height: 34px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 9px; color: white; background: var(--teal-700); font-size: 17px; font-weight: 500; }
.attachment-types, .attachment-selection { display: block; margin: 8px 0 0 45px; }
.attachment-selection { color: var(--teal-800); overflow-wrap: anywhere; }
.attachment-picker .field-error { display: block; margin: 7px 0 0 45px; }
.compact-picker { margin-top: 11px; padding: 11px; }
.compact-picker .attachment-picker-icon { width: 29px; height: 29px; font-size: 14px; }
.compact-picker .attachment-selection { margin-left: 40px; }
.internal-picker:hover, .internal-picker:focus-within, .internal-picker.has-selection { border-color: #b98731; background: #fff7e5; box-shadow: 0 0 0 3px rgba(185,135,49,.08); }
.internal-picker .attachment-picker-icon { background: #9a6817; }
.choice-fieldset { margin: 0 0 24px; padding: 0; border: 0; }
.choice-fieldset legend { margin-bottom: 4px; color: var(--slate-700); font-size: 12px; font-weight: 750; }
.choice-fieldset legend b { color: var(--red-700); }
.choice-fieldset > .field-help { display: block; margin-bottom: 10px; }
.choice-fieldset[aria-invalid="true"] .choice-options { padding: 5px; border: 1px solid var(--red-700); border-radius: 12px; background: var(--red-50); }
.choice-options { display: grid; gap: 10px; }
.impact-options { grid-template-columns: repeat(2, 1fr); }
.blocked-options { grid-template-columns: repeat(2, 1fr); }
.choice-option { min-height: 76px; padding: 13px 14px; display: flex; align-items: flex-start; gap: 11px; border: 1px solid var(--slate-200); border-radius: 11px; background: var(--slate-50); cursor: pointer; transition: border-color .16s ease, background .16s ease, box-shadow .16s ease; }
.choice-option:hover { border-color: var(--teal-600); background: var(--teal-50); }
.choice-option:has(input:checked) { border-color: var(--teal-700); background: var(--teal-50); box-shadow: inset 0 0 0 1px var(--teal-700); }
.choice-option input { width: 17px; height: 17px; margin: 2px 0 0; flex: 0 0 auto; accent-color: var(--teal-700); }
.choice-option > span { display: flex; flex-direction: column; gap: 3px; }
.choice-option strong { color: var(--navy-800); font-size: 11px; }
.choice-option small { color: var(--slate-600); font-size: 11px; font-weight: 450; line-height: 1.45; }
.priority-explainer { margin-top: 22px; padding: 15px 16px; display: flex; gap: 12px; border: 1px solid var(--teal-100); border-radius: 11px; color: var(--teal-800); background: var(--teal-50); }
.priority-explainer > span { width: 26px; height: 26px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 8px; color: white; background: var(--teal-700); font-size: 13px; font-weight: 800; }
.priority-explainer p { margin: 0; display: flex; flex-direction: column; }
.priority-explainer strong { font-size: 11px; }
.priority-explainer p span { color: var(--slate-600); font-size: 12px; }
.form-submit-row { padding: 8px 4px 0; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.privacy-inline { display: flex; align-items: flex-start; gap: 10px; }
.privacy-inline > span { width: 25px; height: 25px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; color: white; background: var(--teal-700); font-size: 11px; }
.privacy-inline p { margin: 0; display: flex; flex-direction: column; }
.privacy-inline strong { font-size: 11px; }
.privacy-inline p span { max-width: 510px; color: var(--slate-600); font-size: 12px; }
.alert { padding: 14px 16px; display: flex; flex-direction: column; gap: 2px; border: 1px solid; border-radius: 10px; font-size: 12px; }
.alert-error { margin-bottom: 18px; color: var(--red-700); border-color: #e5aca7; background: var(--red-50); }
.alert-warning { color: #745213; border-color: #e4c57f; background: #fff9e9; }
.alert strong { font-size: 12px; }
.alert span { font-size: 11px; }
.compact-alert { margin: 18px 0; }
.error-summary ul { margin: 7px 0 0; padding-left: 19px; }
.error-summary a { text-decoration: underline; text-underline-offset: 2px; }

.result-page { min-height: 650px; padding-top: 82px; padding-bottom: 90px; text-align: center; }
.success-mark { width: 64px; height: 64px; margin: 0 auto 24px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--teal-700); box-shadow: 0 0 0 10px var(--teal-100); font-size: 26px; }
.result-page h1 { margin: 6px 0 14px; font-size: clamp(34px, 5vw, 50px); line-height: 1.08; letter-spacing: -.045em; }
.result-lead { max-width: 680px; margin: 0 auto; color: var(--slate-600); font-size: 15px; line-height: 1.7; }
.confirmation-summary { margin: 32px 0 0; display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; border: 1px solid var(--slate-200); border-radius: 13px; background: white; box-shadow: var(--shadow-sm); text-align: left; }
.confirmation-summary > div { min-width: 0; padding: 15px 17px; border-right: 1px solid var(--slate-100); border-bottom: 1px solid var(--slate-100); }
.confirmation-summary > div:nth-child(2n) { border-right: 0; }
.confirmation-summary > div:nth-last-child(-n+2) { border-bottom: 0; }
.confirmation-summary .confirmation-wide { grid-column: 1 / -1; border-right: 0; }
.confirmation-summary .confirmation-wide:nth-last-child(2) { border-bottom: 1px solid var(--slate-100); }
.confirmation-summary dt { color: var(--slate-500); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.confirmation-summary dd { margin: 4px 0 0; color: var(--navy-800); font-size: 12px; font-weight: 700; overflow-wrap: anywhere; }
.confirmation-summary code { color: var(--teal-800); font-size: 13px; }
.secure-link-card { margin: 34px 0 13px; padding: 16px; display: flex; align-items: center; gap: 16px; border: 1px solid var(--slate-200); border-radius: 13px; background: white; box-shadow: var(--shadow-sm); text-align: left; }
.secure-link-card > div { min-width: 0; display: flex; flex: 1; flex-direction: column; }
.secure-link-card span { color: var(--slate-500); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.secure-link-card strong { overflow: hidden; color: var(--navy-800); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.access-code-row { margin-bottom: 18px; display: grid; grid-template-columns: auto 1fr; gap: 5px 14px; text-align: left; }
.access-code-row span { color: var(--slate-500); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.access-code-row code { overflow-wrap: anywhere; color: var(--navy-800); font-size: 11px; }
.result-page .alert { text-align: left; }
.result-actions { margin-top: 28px; display: flex; flex-wrap: wrap; justify-content: center; gap: 11px; }
.error-code { display: block; color: var(--slate-200); font-size: 100px; line-height: .9; font-weight: 850; letter-spacing: -.07em; }

.ticket-public-head { padding: 46px 0 40px; color: white; background: var(--navy-950); }
.ticket-public-head .back-link { margin-bottom: 30px; }
.ticket-title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 28px; }
.ticket-number { margin: 0 0 7px; color: #9fded8; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.ticket-title-row h1 { max-width: 850px; margin: 0; font-size: clamp(29px, 4vw, 42px); line-height: 1.1; letter-spacing: -.04em; }
.ticket-updated { margin: 12px 0 0; color: #a9bdc7; font-size: 11px; }
.ticket-status-description { max-width: 720px; margin: 15px 0 0; color: #d0dde3; font-size: 13px; }
.status-badge { min-height: 28px; padding: 4px 9px; display: inline-flex; align-items: center; gap: 6px; border-radius: 6px; font-size: 11px; line-height: 1.2; font-weight: 850; letter-spacing: .035em; text-transform: uppercase; white-space: nowrap; }
.status-badge::before { content: "●"; font-size: 9px; line-height: 1; }
.status-new::before { content: "+"; font-size: 12px; }
.status-waiting_user::before, .status-waiting_vendor::before { content: "◷"; font-size: 11px; }
.status-resolved::before { content: "✓"; font-size: 11px; }
.status-closed::before, .status-cancelled::before { content: "■"; font-size: 9px; }
.status-new { color: var(--blue-700); background: var(--blue-100); }
.status-triage, .status-assigned, .status-reopened { color: var(--purple-700); background: var(--purple-100); }
.status-in_progress { color: var(--teal-800); background: var(--teal-100); }
.status-waiting_user, .status-waiting_vendor { color: #805b18; background: var(--gold-100); }
.status-resolved { color: var(--green-700); background: var(--green-100); }
.status-closed, .status-cancelled { color: var(--slate-700); background: var(--slate-100); }
.public-ticket-grid { padding: 44px 0 78px; display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 28px; align-items: start; }
.conversation-column { display: grid; gap: 16px; }
.status-timeline-card, .public-attachments { padding: 23px; border: 1px solid var(--slate-200); border-radius: 14px; background: white; box-shadow: var(--shadow-sm); }
.status-timeline-card > header, .public-attachments > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.status-timeline-card h2, .public-attachments h2 { margin: 0; font-size: 17px; }
.status-timeline-card > header > span, .public-attachments > header > span { min-height: 25px; padding: 4px 9px; border-radius: 99px; color: var(--teal-800); background: var(--teal-50); font-size: 11px; font-weight: 800; }
.status-timeline { margin: 25px 0 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); list-style: none; }
.status-timeline li { min-width: 0; position: relative; display: grid; justify-items: center; gap: 8px; text-align: center; }
.status-timeline li:not(:last-child)::after { content: ""; width: calc(100% - 34px); height: 2px; position: absolute; z-index: 0; top: 14px; left: calc(50% + 17px); background: var(--slate-200); }
.status-timeline li.timeline-complete:not(:last-child)::after { background: var(--teal-600); }
.timeline-marker { width: 29px; height: 29px; display: grid; place-items: center; position: relative; z-index: 1; border: 2px solid var(--slate-300); border-radius: 50%; color: white; background: white; font-size: 12px; font-weight: 850; }
.timeline-complete .timeline-marker { border-color: var(--teal-700); background: var(--teal-700); }
.timeline-current .timeline-marker { border: 7px solid var(--teal-100); background: var(--teal-700); box-shadow: 0 0 0 2px var(--teal-700); }
.status-timeline li > div { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.status-timeline strong { color: var(--slate-500); font-size: 11px; line-height: 1.3; }
.status-timeline small { color: var(--slate-400); font-size: 10px; line-height: 1.35; }
.timeline-complete strong, .timeline-current strong { color: var(--navy-800); }
.timeline-current strong { font-weight: 850; }
.employee-action-callout, .resolution-callout, .staff-attention-callout { padding: 16px 18px; display: flex; align-items: flex-start; gap: 12px; border: 1px solid; border-radius: 12px; }
.employee-action-callout { color: #745213; border-color: #e4c57f; background: #fff9e9; }
.resolution-callout { color: var(--green-700); border-color: #a8d7bf; background: #f2fbf6; }
.staff-attention-callout { margin-bottom: 17px; color: #745213; border-color: #e4c57f; background: #fff9e9; }
.employee-action-callout > span, .resolution-callout > span, .staff-attention-callout > span { width: 27px; height: 27px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 8px; color: white; background: currentColor; font-size: 12px; font-weight: 850; }
.employee-action-callout > span { color: #9b6c18; }
.resolution-callout > span { color: var(--green-700); }
.staff-attention-callout > span { color: #9b6c18; }
.employee-action-callout p, .resolution-callout p, .staff-attention-callout p { margin: 0; display: flex; flex-direction: column; font-size: 11px; }
.employee-action-callout strong, .resolution-callout strong, .staff-attention-callout strong { font-size: 12px; }
.message-card, .reply-card, .ticket-summary-card { padding: 23px; border: 1px solid var(--slate-200); border-radius: 14px; background: white; box-shadow: var(--shadow-sm); }
.message-card header { display: flex; align-items: center; gap: 11px; }
.message-avatar { width: 36px; height: 36px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 10px; font-size: 12px; font-weight: 850; }
.employee-avatar { color: var(--teal-800); background: var(--teal-100); }
.staff-avatar { color: white; background: var(--navy-800); }
.message-card header div { display: flex; flex-direction: column; }
.message-card header strong { font-size: 12px; }
.message-card header span { color: var(--slate-500); font-size: 12px; }
.message-card > p { margin: 17px 0 0; color: var(--slate-700); font-size: 13px; line-height: 1.72; }
.staff-message { border-left: 4px solid var(--teal-600); }
.conversation-heading { margin: 18px 0 0; font-size: 18px; }
.empty-state { padding: 38px 20px; text-align: center; border: 1px dashed var(--slate-300); border-radius: 13px; background: rgba(255,255,255,.55); }
.empty-state > span { width: 38px; height: 38px; margin: 0 auto 10px; display: grid; place-items: center; border-radius: 50%; color: var(--teal-700); background: var(--teal-50); }
.empty-state h2, .empty-state h3 { margin: 0; font-size: 16px; }
.empty-state p { margin: 4px 0 0; color: var(--slate-600); font-size: 11px; }
.reply-card { margin-top: 9px; }
.reply-card .button { margin-top: 14px; }
.public-attachments ul { margin: 17px 0 0; padding: 0; display: grid; list-style: none; border-top: 1px solid var(--slate-100); }
.public-attachments li { min-width: 0; padding: 13px 0; display: flex; align-items: center; gap: 11px; border-bottom: 1px solid var(--slate-100); }
.public-attachments li:last-child { padding-bottom: 0; border-bottom: 0; }
.attachment-icon { width: 32px; height: 32px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 9px; color: var(--teal-800); background: var(--teal-50); font-weight: 850; }
.public-attachments li > div { min-width: 0; display: flex; flex: 1; flex-direction: column; }
.public-attachments li strong { overflow: hidden; color: var(--navy-800); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.public-attachments li small { color: var(--slate-500); font-size: 11px; }
.public-attachments li a { color: var(--teal-700); font-size: 12px; font-weight: 800; }
.public-attachments li a:hover { text-decoration: underline; }
.ticket-summary-card { position: sticky; top: 96px; }
.ticket-summary-card h2 { margin: 0 0 20px; font-size: 17px; }
.ticket-summary-card dl { margin: 0; display: grid; gap: 0; }
.ticket-summary-card dl > div { padding: 12px 0; display: grid; grid-template-columns: 92px 1fr; border-top: 1px solid var(--slate-100); }
.ticket-summary-card dt { color: var(--slate-500); font-size: 12px; }
.ticket-summary-card dd { margin: 0; color: var(--slate-800); font-size: 11px; font-weight: 650; }
.ticket-summary-card .privacy-callout { margin-top: 18px; }
.ticket-summary-card code { color: var(--teal-800); font-size: 12px; }

.ticket-lookup-hero .eyebrow { margin-bottom: 16px; }
.lookup-page { padding: 46px 0 78px; }
.lookup-security-card { margin-bottom: 14px; padding: 15px 17px; display: flex; align-items: flex-start; gap: 12px; border: 1px solid var(--teal-100); border-radius: 12px; color: var(--teal-800); background: var(--teal-50); }
.lookup-security-card > span { width: 27px; height: 27px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 8px; color: white; background: var(--teal-700); font-size: 11px; font-weight: 850; }
.lookup-security-card p { margin: 0; display: flex; flex-direction: column; }
.lookup-security-card strong { font-size: 11px; }
.lookup-security-card p span { color: var(--slate-600); font-size: 12px; }
.standalone-lookup-form { padding: 30px; }
.standalone-lookup-actions { margin-top: 25px; padding-top: 20px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid var(--slate-100); }
.standalone-lookup-actions > a { color: var(--teal-700); font-size: 11px; font-weight: 750; }
.lookup-help { max-width: 650px; margin: 18px auto 0; color: var(--slate-500); font-size: 12px; text-align: center; }

.login-page { min-height: calc(100vh - 188px); display: grid; grid-template-columns: 1fr 1fr; }
.login-aside { padding: clamp(65px, 8vw, 120px) max(40px, calc((100vw - var(--shell)) / 2)); color: white; background: var(--navy-950); }
.login-aside h1 { max-width: 590px; margin: 0; font-size: clamp(43px, 5vw, 66px); line-height: 1.03; letter-spacing: -.055em; }
.login-aside > p:not(.eyebrow) { max-width: 570px; margin: 24px 0 0; color: #b5c7d0; font-size: 15px; line-height: 1.7; }
.login-points { margin: 35px 0 0; padding: 0; display: grid; gap: 13px; list-style: none; color: #c5d4dc; font-size: 12px; }
.login-points li { display: flex; align-items: center; gap: 10px; }
.login-points span { width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; color: #8ff0c5; background: rgba(94,225,175,.1); font-size: 12px; }
.login-panel { padding: 60px 32px; display: grid; place-items: center; background: white; }
.login-card { width: min(420px, 100%); }
.login-card h2 { margin: 0 0 8px; font-size: 29px; letter-spacing: -.035em; }
.login-card > p:not(.section-kicker) { margin: 0; color: var(--slate-600); font-size: 12px; }
.login-card form { margin-top: 25px; display: grid; gap: 17px; }
.login-back { margin-top: 22px; display: block; color: var(--teal-700); text-align: center; font-size: 11px; font-weight: 700; }

.staff-session { background: #f3f6f7; }
.staff-page-head { padding: 42px max(24px, calc((100% - var(--shell)) / 2)); display: flex; align-items: end; justify-content: space-between; gap: 24px; border-bottom: 1px solid var(--slate-200); background: white; }
.staff-page-head h1 { margin: 0; font-size: 36px; line-height: 1.1; letter-spacing: -.04em; }
.staff-page-head > div > p:last-child { margin: 8px 0 0; color: var(--slate-600); font-size: 12px; }
.staff-content { padding-top: 28px; padding-bottom: 70px; }
.stat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.stat-card { min-height: 116px; padding: 16px; display: grid; grid-template-columns: auto 1fr; gap: 12px; border: 1px solid var(--slate-200); border-radius: 12px; background: white; box-shadow: 0 3px 12px rgba(7,28,45,.035); }
.stat-card:hover { border-color: var(--teal-600); box-shadow: var(--shadow-sm); }
.stat-icon { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 9px; font-size: 14px; font-weight: 800; }
.stat-icon.teal { color: var(--teal-700); background: var(--teal-100); }
.stat-icon.neutral { color: var(--navy-800); background: var(--slate-100); }
.stat-icon.amber { color: #8a6116; background: var(--gold-100); }
.stat-icon.red { color: var(--red-700); background: var(--red-100); }
.stat-icon.blue { color: var(--blue-700); background: var(--blue-100); }
.stat-icon.green { color: var(--green-700); background: var(--green-100); }
.stat-card p { margin: 0; display: flex; flex-direction: column; }
.stat-card p span { color: var(--slate-600); font-size: 11px; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.stat-card p strong { font-size: 27px; line-height: 1.1; }
.stat-card small { grid-column: 1 / -1; align-self: end; color: var(--slate-500); font-size: 11px; }
.stat-card-attention { border-left: 3px solid var(--red-700); }
.queue-card { margin-top: 18px; overflow: hidden; border: 1px solid var(--slate-200); border-radius: 14px; background: white; box-shadow: var(--shadow-sm); }
.queue-card-first { margin-top: 0; }
.queue-card-head, .detail-card-head { padding: 20px 22px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--slate-100); }
.queue-card-head h2, .detail-card-head h2 { margin: 0; font-size: 17px; letter-spacing: -.02em; }
.queue-card-head p { margin: 3px 0 0; color: var(--slate-500); font-size: 12px; }
.queue-refresh-button { min-height: 34px; padding: 0 10px; display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--slate-200); border-radius: 8px; color: var(--slate-700); background: white; cursor: pointer; font-size: 12px; font-weight: 750; }
.queue-refresh-button:hover, .queue-refresh-button:focus-visible { color: var(--teal-700); border-color: var(--teal-600); }
.filter-panel { border-bottom: 1px solid var(--slate-100); background: var(--slate-50); }
.filter-primary-row { padding: 14px 18px; display: flex; gap: 8px; align-items: center; }
.filter-primary-row > label { flex: 0 1 175px; }
.filter-primary-row .search-field { min-width: 300px; flex: 1 1 auto; position: relative; }
.filter-primary-row input, .filter-primary-row select, .advanced-filter-grid input, .advanced-filter-grid select { width: 100%; height: 40px; padding: 0 10px; border: 1px solid var(--slate-300); border-radius: 8px; outline: none; color: var(--navy-950); background: white; font-size: 11px; }
.filter-primary-row input:focus, .filter-primary-row select:focus, .advanced-filter-grid input:focus, .advanced-filter-grid select:focus { border-color: var(--teal-600); box-shadow: 0 0 0 3px rgba(10,152,146,.12); }
.advanced-filters { border-top: 1px solid var(--slate-200); }
.advanced-filters summary { min-height: 42px; padding: 0 18px; display: flex; align-items: center; gap: 8px; color: var(--teal-700); cursor: pointer; font-size: 12px; font-weight: 800; list-style-position: inside; }
.advanced-filters summary span { color: var(--slate-500); font-weight: 500; }
.advanced-filter-grid { padding: 4px 18px 17px; display: grid; grid-template-columns: repeat(4, minmax(150px, 1fr)); gap: 12px; }
.advanced-filter-grid label { min-width: 0; display: flex; flex-direction: column; gap: 5px; color: var(--slate-600); font-size: 11px; font-weight: 750; letter-spacing: .035em; text-transform: uppercase; }
.advanced-filter-grid .locked-filter { align-self: end; }
.queue-result-summary { min-height: 43px; padding: 0 18px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--slate-100); background: white; }
.queue-result-summary p { margin: 0; color: var(--slate-600); font-size: 12px; }
.queue-result-summary p strong { color: var(--navy-800); }
.queue-result-summary > span { color: var(--slate-500); font-size: 11px; }
.ticket-queue-table { min-width: 1930px; }
.sort-link { display: inline-flex; align-items: center; gap: 5px; color: inherit; }
.sort-link span { color: var(--slate-400); font-size: 12px; }
.ticket-table th[aria-sort="ascending"] .sort-link, .ticket-table th[aria-sort="descending"] .sort-link { color: var(--teal-700); }
.ticket-table tbody tr.is-new-ticket { background: #f4fbfa; }
.ticket-table tbody tr.is-elevated-ticket { box-shadow: inset 3px 0 0 #d69b36; }
.ticket-table tbody tr.is-new-ticket.is-elevated-ticket { box-shadow: inset 3px 0 0 var(--red-700); }
.ticket-table tbody tr.is-sla-breached { box-shadow: inset 4px 0 0 var(--red-700); background: #fff7f6; }
.ticket-table tbody tr.is-sla-due-soon:not(.is-sla-breached) { box-shadow: inset 3px 0 0 var(--gold-600); }
.ticket-number-column a { min-width: 124px; display: flex; align-items: flex-start; flex-direction: column; gap: 4px; }
.ticket-number-column strong { color: var(--teal-700); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; letter-spacing: .02em; }
.new-ticket-indicator { padding: 2px 5px; border-radius: 4px; color: var(--teal-800); background: var(--teal-100); font-size: 9px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.subject-column a { max-width: 260px; display: block; overflow: hidden; color: var(--navy-950); font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.queue-actions { position: sticky; right: 0; background: inherit; box-shadow: -8px 0 14px rgba(7,28,45,.035); }
.quick-triage-button { min-height: 31px; padding: 0 10px; border: 1px solid var(--teal-100); border-radius: 7px; color: var(--teal-800); background: var(--teal-50); cursor: pointer; font-size: 11px; font-weight: 800; }
.quick-triage-button:hover, .quick-triage-button:focus-visible { color: white; border-color: var(--teal-700); background: var(--teal-700); }
.queue-pagination { min-height: 62px; padding: 10px 18px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 16px; border-top: 1px solid var(--slate-100); }
.queue-pagination > a:last-child, .queue-pagination > span:last-child { justify-self: end; }
.queue-pagination > a, .queue-pagination > span { color: var(--slate-600); font-size: 12px; font-weight: 750; }
.queue-pagination > span[aria-disabled="true"] { color: var(--slate-300); }
.queue-pagination > div { display: flex; align-items: center; gap: 5px; }
.queue-pagination > div a { width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid var(--slate-200); border-radius: 7px; color: var(--slate-700); font-size: 12px; font-weight: 750; }
.queue-pagination > div a[aria-current="page"] { color: white; border-color: var(--teal-700); background: var(--teal-700); }
.queue-card[aria-busy="true"] [data-queue-results] { opacity: .65; }
.queue-card[aria-busy="true"] .queue-refresh-button span { display: inline-block; animation: busy-spin .7s linear infinite; }
.quick-triage-dialog { width: min(680px, calc(100% - 32px)); max-height: calc(100vh - 48px); padding: 0; overflow: auto; border: 0; border-radius: 16px; color: var(--navy-950); background: white; box-shadow: 0 30px 90px rgba(7,28,45,.3); }
.quick-triage-dialog::backdrop { background: rgba(7,28,45,.68); backdrop-filter: blur(2px); }
.quick-triage-dialog form > header { padding: 22px 24px; display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; border-bottom: 1px solid var(--slate-100); }
.quick-triage-dialog h2 { margin: 0; font-size: 20px; }
.quick-triage-dialog header small { margin-top: 4px; display: block; color: var(--slate-600); font-size: 12px; }
.dialog-close { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid var(--slate-200); border-radius: 8px; color: var(--slate-600); background: white; cursor: pointer; font-size: 21px; line-height: 1; }
.quick-triage-grid { padding: 22px 24px; display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.quick-note-field { grid-column: 1 / -1; }
.quick-note-field > small { color: var(--slate-500); font-size: 11px; }
.quick-triage-errors { margin: 18px 24px 0; padding: 12px 14px; border: 1px solid #f0aaa5; border-radius: 9px; color: var(--red-700); background: var(--red-100); font-size: 12px; }
.quick-triage-errors ul { margin: 6px 0 0; padding-left: 18px; }
.quick-triage-dialog form > footer { padding: 16px 24px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border-top: 1px solid var(--slate-100); background: var(--slate-50); }
.quick-triage-dialog footer > a { color: var(--teal-700); font-size: 12px; font-weight: 800; }
.quick-triage-dialog footer > div { display: flex; gap: 8px; }
.button-quiet-light { min-height: 40px; color: var(--slate-700); border: 1px solid var(--slate-200); background: white; }
.quick-triage-dialog .button { min-height: 40px; }
.quick-triage-dialog:not([open]) { display: none; }
.quick-triage-dialog[open] { display: block; }
.filter-bar { padding: 14px 18px; display: flex; gap: 8px; align-items: center; border-bottom: 1px solid var(--slate-100); background: var(--slate-50); }
.filter-bar label { flex: 0 1 175px; }
.filter-bar .search-field { min-width: 230px; flex: 1 1 auto; position: relative; }
.filter-bar input, .filter-bar select { height: 40px; padding: 0 10px; font-size: 11px; }
.search-field input { padding-right: 34px; }
.search-field > span:last-child { position: absolute; right: 11px; top: 9px; color: var(--slate-500); }
.clear-filters { padding: 7px; color: var(--teal-700); font-size: 12px; font-weight: 750; }
.locked-filter { min-height: 40px; padding: 0 11px; display: inline-flex; align-items: center; border: 1px solid var(--teal-100); border-radius: 8px; color: var(--teal-800); background: var(--teal-50); font-size: 12px; font-weight: 750; white-space: nowrap; }
.table-scroll { max-height: min(70vh, 760px); overflow: auto; scrollbar-gutter: stable; }
.ticket-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.ticket-table th { padding: 11px 14px; position: sticky; z-index: 3; top: 0; color: var(--slate-500); background: white; box-shadow: inset 0 -1px 0 var(--slate-200); font-size: 12px; letter-spacing: .07em; text-align: left; text-transform: uppercase; white-space: nowrap; }
.ticket-table td { padding: 14px; border-top: 1px solid var(--slate-100); color: var(--slate-700); vertical-align: middle; }
.ticket-table tbody tr:hover { background: #f9fbfb; }
.ticket-cell, .ticket-table td:nth-child(6) { display: flex; flex-direction: column; gap: 2px; }
.ticket-cell strong { color: var(--teal-700); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; letter-spacing: .02em; }
.ticket-cell span { max-width: 300px; overflow: hidden; color: var(--navy-950); font-size: 11px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.ticket-cell .requester-attention-badge { width: fit-content; margin-top: 4px; padding: 3px 6px; border-radius: 5px; color: #745213; background: var(--gold-100); font-size: 10px; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.ticket-table td:nth-child(6) strong { color: var(--navy-950); font-size: 11px; }
.ticket-table td:nth-child(6) small { color: var(--slate-500); font-size: 11px; }
.priority-badge { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; white-space: nowrap; }
.priority-badge i { width: 7px; height: 7px; border-radius: 50%; background: var(--slate-400); }
.priority-critical { color: var(--red-700); }
.priority-critical i { background: var(--red-700); box-shadow: 0 0 0 3px var(--red-100); }
.priority-high { color: #915d15; }
.priority-high i { background: var(--gold-600); }
.priority-normal i { background: var(--teal-600); }
.priority-low i { background: var(--blue-700); }
.sla-column { min-width: 170px; }
.sla-column small { margin-top: 4px; display: block; color: var(--slate-500); font-size: 10px; white-space: nowrap; }
.sla-badge { width: fit-content; padding: 4px 7px; display: inline-flex; align-items: center; border: 1px solid var(--slate-200); border-radius: 999px; color: var(--slate-700); background: var(--slate-50); font-size: 10px; font-weight: 850; letter-spacing: .035em; text-transform: uppercase; white-space: nowrap; }
.sla-badge.sla-breached { color: var(--red-700); border-color: #efaaa5; background: var(--red-100); }
.sla-badge.sla-due_soon { color: #745213; border-color: #e4c57f; background: var(--gold-100); }
.sla-badge.sla-met { color: var(--green-700); border-color: #a9d6c2; background: #edf9f3; }
.sla-badge.sla-on_track { color: var(--teal-800); border-color: var(--teal-100); background: var(--teal-50); }
.row-arrow { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 7px; color: var(--teal-700); background: var(--teal-50); font-weight: 800; }
.roomy { margin: 25px; padding: 55px 20px; }

.ticket-work-head { padding: 32px 0 0; color: white; background: var(--navy-950); }
.ticket-work-head .staff-content { padding-top: 0; padding-bottom: 36px; }
.ticket-work-head .back-link { margin-bottom: 24px; }
.ticket-head-badges { display: flex; align-items: center; gap: 10px; }
.mobile-ticket-actionbar { display: none; }
.ticket-work-grid { padding-top: 26px; display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 20px; align-items: start; }
.ticket-main-column, .ticket-side-column { display: grid; gap: 18px; }
.sla-callout { padding: 17px 18px; border: 1px solid var(--teal-100); border-left: 4px solid var(--teal-600); border-radius: 12px; color: var(--navy-800); background: white; box-shadow: var(--shadow-sm); }
.sla-callout.sla-breached { border-color: #efaaa5; border-left-color: var(--red-700); background: #fff7f6; }
.sla-callout.sla-due_soon { border-color: #e4c57f; border-left-color: var(--gold-600); background: #fffaf0; }
.sla-callout > header { display: flex; align-items: center; gap: 11px; }
.sla-callout > header > span { width: 30px; height: 30px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 9px; color: white; background: var(--teal-700); font-size: 12px; font-weight: 900; }
.sla-callout.sla-breached > header > span { background: var(--red-700); }
.sla-callout.sla-due_soon > header > span { background: var(--gold-600); }
.sla-callout > header div { display: flex; flex-direction: column; }
.sla-callout > header strong { font-size: 12px; }
.sla-callout > header small { color: var(--slate-600); font-size: 11px; }
.sla-callout dl { margin: 14px 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.sla-target { padding: 11px 12px; border: 1px solid var(--slate-100); border-radius: 9px; background: rgba(255,255,255,.72); }
.sla-target dt { color: var(--slate-500); font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.sla-target dd { margin: 3px 0 0; color: var(--navy-800); font-size: 12px; font-weight: 700; }
.sla-target dd small { margin-top: 2px; display: block; color: var(--slate-500); font-size: 10px; font-weight: 500; }
.sla-target-breached dd { color: var(--red-700); }
.sla-target-due_soon dd { color: #745213; }
.waiting-automation-callout { padding: 14px 16px; display: flex; align-items: flex-start; gap: 12px; border: 1px solid #cad7dc; border-radius: 11px; color: var(--navy-800); background: #f7fafb; }
.waiting-automation-callout > span { width: 28px; height: 28px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 8px; color: white; background: var(--blue-700); font-size: 11px; font-weight: 850; }
.waiting-automation-callout strong { display: block; font-size: 11px; }
.waiting-automation-callout p { margin: 2px 0 0; color: var(--slate-600); font-size: 11px; }
.waiting-automation-callout small { margin-top: 3px; display: block; color: var(--slate-500); font-size: 10px; }
.concurrency-callout { padding: 15px 16px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 13px; border: 1px solid #e4c57f; border-left: 4px solid var(--gold-600); border-radius: 11px; color: #68470e; background: #fff9e9; box-shadow: var(--shadow-sm); }
.concurrency-callout[hidden] { display: none; }
.concurrency-callout > span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; color: white; background: var(--gold-600); font-weight: 850; }
.concurrency-callout p { margin: 0; font-size: 12px; line-height: 1.5; }
.concurrency-callout strong { display: block; color: #68470e; font-size: 11px; }
.concurrency-callout button { min-height: 34px; padding: 0 10px; border: 1px solid #d6ad55; border-radius: 8px; color: #68470e; background: white; font-size: 11px; font-weight: 800; white-space: nowrap; }
.confirmation-dialog { width: min(500px, calc(100% - 32px)); padding: 0; border: 0; border-radius: 15px; color: var(--navy-950); background: white; box-shadow: 0 30px 90px rgba(7,28,45,.32); }
.confirmation-dialog::backdrop { background: rgba(7,28,45,.68); backdrop-filter: blur(2px); }
.confirmation-dialog > div { padding: 24px; display: flex; align-items: flex-start; gap: 14px; }
.confirmation-dialog-icon { width: 34px; height: 34px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 10px; color: white; background: var(--red-700); font-weight: 850; }
.confirmation-dialog h2 { margin: 0; font-size: 19px; }
.confirmation-dialog p { margin: 6px 0 0; color: var(--slate-600); font-size: 11px; line-height: 1.55; }
.confirmation-dialog footer { padding: 15px 20px; display: flex; justify-content: flex-end; gap: 9px; border-top: 1px solid var(--slate-100); background: var(--slate-50); }
.confirmation-dialog .button { min-height: 40px; }
.detail-card { overflow: hidden; }
.detail-card-head > span { color: var(--slate-500); font-size: 12px; }
.request-copy { padding: 5px 22px 24px; margin: 18px 0 0; color: var(--slate-700); font-size: 13px; line-height: 1.75; }
.request-context-strip { margin: 0; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--slate-100); background: var(--slate-50); }
.request-context-strip > div { min-width: 0; padding: 14px 20px; border-right: 1px solid var(--slate-100); }
.request-context-strip > div:last-child { border-right: 0; }
.request-context-strip dt { color: var(--slate-500); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.request-context-strip dd { margin: 3px 0 0; color: var(--navy-800); font-size: 11px; font-weight: 650; }
.request-meta { margin: 0; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--slate-100); background: var(--slate-50); }
.request-meta > div { padding: 14px 20px; border-right: 1px solid var(--slate-100); border-bottom: 1px solid var(--slate-100); }
.request-meta dt, .timing-card dt { color: var(--slate-500); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.request-meta dd, .timing-card dd { margin: 3px 0 0; color: var(--navy-800); font-size: 11px; font-weight: 650; }
.request-meta a { color: var(--teal-700); }
.urgency-context { margin: 0 22px 20px; padding: 14px 15px; border: 1px solid #e4c57f; border-radius: 10px; background: #fff9e9; }
.urgency-context strong, .public-urgency strong { color: #745213; font-size: 12px; letter-spacing: .04em; text-transform: uppercase; }
.urgency-context p, .public-urgency p { margin: 5px 0 0; color: var(--slate-700); font-size: 11px; line-height: 1.6; }
.public-urgency { margin-top: 17px; padding: 13px 14px; border: 1px solid #e4c57f; border-radius: 9px; background: #fff9e9; }
.staff-thread { padding: 0 22px; }
.thread-item { padding: 20px 0; display: grid; grid-template-columns: auto 1fr; gap: 11px; border-bottom: 1px solid var(--slate-100); }
.thread-item:last-child { border-bottom: 0; }
.thread-item > div > header { display: flex; justify-content: space-between; gap: 16px; }
.thread-item header p { margin: 0; display: flex; flex-direction: column; }
.thread-item header p strong { font-size: 11px; }
.thread-item header p span { color: var(--slate-500); font-size: 11px; }
.thread-item header > div { display: flex; align-items: center; gap: 9px; }
.thread-item time { color: var(--slate-500); font-size: 11px; }
.thread-item > div > p { margin: 11px 0 0; color: var(--slate-700); font-size: 12px; line-height: 1.7; }
.internal-thread { margin-inline: -22px; padding-inline: 22px; background: #fffaf0; }
.visibility-badge { padding: 3px 6px; border-radius: 5px; font-size: 10px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.visibility-public { color: var(--teal-800); background: var(--teal-100); }
.visibility-internal { color: #805b18; background: var(--gold-100); }
.visibility-workflow { color: var(--slate-700); background: var(--slate-100); }
.staff-attachment-list { margin: 0; padding: 0 22px; list-style: none; }
.staff-attachment-list li { min-width: 0; padding: 15px 0; display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; gap: 11px; align-items: center; border-bottom: 1px solid var(--slate-100); }
.staff-attachment-list li:last-child { border-bottom: 0; }
.attachment-icon { width: 33px; height: 33px; display: grid; place-items: center; border-radius: 9px; color: var(--teal-800); background: var(--teal-50); font-size: 10px; font-weight: 850; letter-spacing: .02em; }
.staff-attachment-list li > div { min-width: 0; display: flex; flex-direction: column; }
.staff-attachment-list strong { overflow: hidden; color: var(--navy-800); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.staff-attachment-list small { color: var(--slate-500); font-size: 11px; }
.staff-attachment-list a { color: var(--teal-700); font-size: 12px; font-weight: 800; }
.staff-attachment-list a:hover { text-decoration: underline; }
.staff-reply-form { padding: 22px; border-top: 1px solid var(--slate-100); background: var(--slate-50); }
.staff-reply-form fieldset { margin: 0 0 16px; padding: 0; display: flex; gap: 10px; border: 0; }
.staff-reply-form legend { margin-bottom: 8px; color: var(--slate-600); font-size: 12px; font-weight: 750; }
.staff-reply-form fieldset label { min-width: 150px; padding: 10px; display: flex; gap: 8px; align-items: flex-start; border: 1px solid var(--slate-200); border-radius: 9px; background: white; cursor: pointer; }
.staff-reply-form fieldset input { margin-top: 2px; accent-color: var(--teal-700); }
.staff-reply-form fieldset span { display: flex; flex-direction: column; }
.staff-reply-form fieldset strong { font-size: 12px; }
.staff-reply-form fieldset small { color: var(--slate-500); font-size: 10px; }
.form-action-end { margin-top: 12px; display: flex; justify-content: flex-end; }
.comment-composer-grid { padding: 22px; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; border-top: 1px solid var(--slate-100); background: var(--slate-50); }
.comment-composer { min-width: 0; padding: 17px; display: flex; flex-direction: column; border: 1px solid var(--slate-200); border-radius: 12px; background: white; }
.comment-composer > header { display: flex; align-items: center; gap: 10px; }
.comment-composer > header > span { width: 31px; height: 31px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 9px; font-size: 13px; font-weight: 850; }
.public-composer { border-top: 4px solid var(--teal-600); }
.public-composer > header > span { color: var(--teal-800); background: var(--teal-50); }
.internal-composer { border-top: 4px solid #b98731; background: #fffdf8; }
.internal-composer > header > span { color: #805b18; background: var(--gold-100); }
.comment-composer header div { display: flex; flex-direction: column; }
.comment-composer header strong { color: var(--navy-900); font-size: 12px; }
.comment-composer header small { color: var(--slate-500); font-size: 11px; }
.composer-warning { min-height: 54px; margin: 13px 0; padding: 10px 11px; border-radius: 8px; color: var(--slate-600); background: var(--slate-50); font-size: 11px; line-height: 1.5; }
.internal-composer .composer-warning { color: #745213; background: #fff7e5; }
.composer-warning strong { display: block; color: var(--navy-800); }
.internal-composer .composer-warning strong { color: #68470e; }
.comment-composer .field { flex: 1; }
.public-confirmation { margin: 11px 0 13px; display: flex; align-items: flex-start; gap: 8px; color: var(--slate-600); font-size: 11px; line-height: 1.45; }
.public-confirmation input { width: 16px; height: 16px; flex: 0 0 auto; accent-color: var(--teal-700); }
.comment-composer .button { margin-top: 13px; }
.compact-empty { margin: 20px; padding: 30px; }
.history-list { margin: 0; padding: 8px 22px 20px; list-style: none; }
.history-list li { padding: 15px 0 15px 25px; display: flex; gap: 12px; position: relative; border-left: 1px solid var(--slate-200); }
.history-dot { width: 9px; height: 9px; position: absolute; top: 20px; left: -5px; border: 2px solid white; border-radius: 50%; background: var(--teal-600); box-shadow: 0 0 0 1px var(--teal-600); }
.history-list li > div { display: flex; flex-direction: column; }
.history-list strong { font-size: 11px; }
.history-list p { margin: 2px 0 0; color: var(--slate-500); font-size: 11px; }
.history-list small { margin-top: 5px; color: var(--slate-600); font-size: 11px; }
.activity-timeline { margin: 0; padding: 8px 22px 22px; list-style: none; }
.activity-timeline > li { padding: 15px 0 15px 28px; position: relative; border-left: 1px solid var(--slate-200); }
.activity-marker { width: 11px; height: 11px; position: absolute; top: 20px; left: -6px; border: 3px solid white; border-radius: 50%; background: var(--teal-600); box-shadow: 0 0 0 1px var(--teal-600); }
.activity-internal_note .activity-marker { background: #b98731; box-shadow: 0 0 0 1px #b98731; }
.activity-status .activity-marker, .activity-priority .activity-marker, .activity-assignment .activity-marker, .activity-details .activity-marker { background: var(--navy-700); box-shadow: 0 0 0 1px var(--navy-700); }
.activity-timeline article { padding: 13px 14px; border: 1px solid var(--slate-100); border-radius: 10px; background: white; }
.activity-internal_note article { border-color: #ead8b3; background: #fffdf8; }
.activity-timeline article > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.activity-timeline article > header strong { color: var(--navy-900); font-size: 11px; }
.activity-timeline article > p { margin: 8px 0 0; color: var(--slate-700); font-size: 12px; line-height: 1.6; }
.activity-timeline article > footer { margin-top: 9px; display: flex; justify-content: space-between; gap: 12px; color: var(--slate-500); font-size: 10px; }
.activity-timeline article time { white-space: nowrap; }
.triage-card { padding-bottom: 18px; position: sticky; top: 18px; z-index: 4; }
.triage-card, #public-reply-body, #internal-note-body { scroll-margin-top: 145px; }
.triage-card .detail-card-head { margin-bottom: 16px; }
.triage-card .field { margin: 0 18px 13px; }
.triage-card .button { width: calc(100% - 36px); margin: 3px 18px 0; }
.workflow-shortcuts { padding: 0 18px 15px; display: flex; flex-wrap: wrap; gap: 6px; }
.workflow-shortcuts button { min-height: 31px; padding: 0 9px; border: 1px solid var(--slate-200); border-radius: 7px; color: var(--teal-800); background: var(--teal-50); cursor: pointer; font-size: 10px; font-weight: 800; }
.workflow-shortcuts button:hover, .workflow-shortcuts button:focus-visible { border-color: var(--teal-600); background: var(--teal-100); }
.workflow-shortcuts .danger-action { color: var(--red-700); background: var(--red-100); }
.workflow-reason .field-help, .resolution-field .field-help { color: var(--slate-500); font-size: 10px; font-weight: 450; line-height: 1.45; }
.workflow-override { margin: 2px 18px 15px; padding: 12px; display: flex; align-items: flex-start; gap: 9px; border: 1px solid #e4c57f; border-radius: 9px; color: #745213; background: #fff9e9; cursor: pointer; }
.workflow-override[hidden], .resolution-field[hidden] { display: none !important; }
.workflow-override input { width: 17px; height: 17px; flex: 0 0 auto; accent-color: #9a6817; }
.workflow-override span { display: flex; flex-direction: column; }
.workflow-override strong { font-size: 11px; }
.workflow-override small { margin-top: 3px; font-size: 10px; line-height: 1.45; }
.ticket-facts-card dl { margin: 0; padding: 4px 19px 16px; }
.ticket-facts-card dl > div { padding: 11px 0; display: grid; grid-template-columns: 105px minmax(0, 1fr); gap: 10px; border-bottom: 1px solid var(--slate-100); }
.ticket-facts-card dl > div:last-child { border-bottom: 0; }
.ticket-facts-card dt { color: var(--slate-500); font-size: 11px; }
.ticket-facts-card dd { min-width: 0; margin: 0; color: var(--navy-800); font-size: 12px; font-weight: 650; overflow-wrap: anywhere; }
.ticket-facts-card dd a { color: var(--teal-700); }
.resolution-summary { margin: 0 18px 18px; padding: 13px 14px; border-radius: 9px; color: var(--slate-700); background: var(--teal-50); }
.resolution-summary strong { color: var(--teal-800); font-size: 11px; letter-spacing: .04em; text-transform: uppercase; }
.resolution-summary p { margin: 6px 0 0; font-size: 12px; line-height: 1.55; }
.timing-card dl { margin: 0; padding: 5px 20px 17px; }
.timing-card dl > div { padding: 11px 0; display: flex; justify-content: space-between; gap: 15px; border-bottom: 1px solid var(--slate-100); }
.timing-card dl > div:last-child { border-bottom: 0; }

.admin-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(300px, .7fr); gap: 20px; align-items: start; }
.user-list { padding: 0 20px; }
.user-row { padding: 16px 0; display: grid; grid-template-columns: auto 1fr auto auto auto; gap: 12px; align-items: center; border-bottom: 1px solid var(--slate-100); }
.user-row:last-child { border-bottom: 0; }
.user-row > div { display: flex; flex-direction: column; }
.user-row > div strong { font-size: 11px; }
.user-row > div span { color: var(--slate-500); font-size: 11px; }
.role-badge, .account-state { padding: 4px 7px; border-radius: 5px; color: var(--navy-800); background: var(--slate-100); font-size: 10px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.account-state { color: var(--green-700); background: var(--green-100); }
.inactive-user { opacity: .58; }
.inactive-user .account-state { color: var(--slate-700); background: var(--slate-100); }
.create-user-card { padding-bottom: 20px; }
.create-user-card form { padding: 18px 20px 0; display: grid; gap: 14px; }
.create-user-card .compact-alert { margin: 16px 20px 0; }
.account-grid { max-width: 900px; display: grid; grid-template-columns: .85fr 1.15fr; gap: 20px; align-items: start; }
.account-summary dl { margin: 0; padding: 8px 20px 18px; }
.account-summary dl > div { padding: 12px 0; border-bottom: 1px solid var(--slate-100); }
.account-summary dl > div:last-child { border-bottom: 0; }
.account-summary dt { color: var(--slate-500); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.account-summary dd { margin: 3px 0 0; color: var(--navy-800); font-size: 11px; font-weight: 650; }
.report-page { padding-top: 24px; padding-bottom: 64px; display: grid; gap: 20px; }
.report-page > .compact-alert { margin: 0; }
.report-page-head .button { min-height: 42px; }
.report-filter-panel { overflow: hidden; border: 1px solid var(--slate-200); border-radius: 14px; background: white; box-shadow: var(--shadow-sm); }
.report-filter-panel > header { min-height: 66px; padding: 14px 18px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border-bottom: 1px solid var(--slate-100); }
.report-filter-panel h2 { margin: 0; font-size: 16px; }
.report-filter-panel header > span { color: var(--slate-500); font-size: 11px; }
.report-filter-grid { padding: 17px 18px; display: grid; grid-template-columns: repeat(3, minmax(160px, 1fr)); gap: 13px; background: var(--slate-50); }
.report-filter-grid label { min-width: 0; display: flex; flex-direction: column; gap: 5px; color: var(--slate-600); font-size: 11px; font-weight: 750; letter-spacing: .035em; text-transform: uppercase; }
.report-filter-grid input, .report-filter-grid select { width: 100%; height: 40px; padding: 0 10px; border: 1px solid var(--slate-300); border-radius: 8px; outline: none; color: var(--navy-950); background: white; font-size: 11px; }
.report-filter-grid input:focus, .report-filter-grid select:focus { border-color: var(--teal-600); box-shadow: 0 0 0 3px rgba(10,152,146,.12); }
.report-filter-panel > footer { min-height: 58px; padding: 10px 18px; display: flex; align-items: center; justify-content: flex-end; gap: 16px; border-top: 1px solid var(--slate-100); }
.report-filter-panel > footer a { color: var(--teal-700); font-size: 12px; font-weight: 750; }
.report-filter-panel > footer .button { min-height: 38px; }
.report-stat-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.report-card { min-width: 0; }
.volume-report { min-height: 315px; }
.volume-chart { min-height: 235px; padding: 24px 20px 16px; display: flex; align-items: stretch; gap: 5px; overflow-x: auto; }
.volume-chart > div { min-width: 24px; flex: 1 0 24px; display: grid; grid-template-rows: minmax(150px, 1fr) auto auto; align-items: end; gap: 5px; text-align: center; }
.volume-chart svg { width: min(20px, 85%); height: 100%; margin-inline: auto; display: block; color: var(--teal-700); }
.volume-chart rect { fill: currentColor; }
.volume-chart strong { color: var(--navy-800); font-size: 11px; line-height: 1; }
.volume-chart span { max-width: 54px; overflow: hidden; color: var(--slate-500); font-size: 9px; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; }
.report-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.report-breakdown-grid { align-items: start; }
.report-bars { margin: 0; padding: 9px 20px 17px; list-style: none; }
.report-bars li + li { border-top: 1px solid var(--slate-100); }
.report-bars a { min-height: 46px; display: grid; grid-template-columns: minmax(100px, 1fr) minmax(90px, 1.2fr) 34px; align-items: center; gap: 12px; }
.report-bars a:hover > span, .report-bars a:focus-visible > span { color: var(--teal-700); }
.report-bars span { overflow: hidden; color: var(--slate-700); font-size: 12px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.report-bars progress { width: 100%; height: 7px; overflow: hidden; appearance: none; border: 0; border-radius: 99px; background: var(--slate-100); }
.report-bars progress::-webkit-progress-bar { border-radius: 99px; background: var(--slate-100); }
.report-bars progress::-webkit-progress-value { border-radius: 99px; background: var(--teal-600); }
.report-bars progress::-moz-progress-bar { border-radius: 99px; background: var(--teal-600); }
.report-bars strong { color: var(--navy-800); font-size: 12px; text-align: right; }
.empty-report { margin: 0; padding: 30px 20px; color: var(--slate-500); font-size: 12px; }
.oldest-ticket-table { min-width: 850px; }
.metric-definitions summary { min-height: 68px; padding: 15px 20px; display: flex; align-items: center; justify-content: space-between; gap: 20px; cursor: pointer; list-style: none; }
.metric-definitions summary::-webkit-details-marker { display: none; }
.metric-definitions summary span { display: flex; flex-direction: column; }
.metric-definitions summary strong { font-size: 13px; }
.metric-definitions summary small { margin-top: 3px; color: var(--slate-500); font-size: 11px; font-weight: 450; }
.metric-definitions summary b { color: var(--teal-700); font-size: 16px; }
.metric-definitions[open] summary b { transform: rotate(45deg); }
.metric-definitions dl { margin: 0; padding: 0 20px 18px; display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; }
.metric-definitions dl > div { padding: 13px 0; border-top: 1px solid var(--slate-100); }
.metric-definitions dt { color: var(--navy-800); font-size: 12px; font-weight: 800; }
.metric-definitions dd { margin: 4px 0 0; color: var(--slate-600); font-size: 11px; line-height: 1.55; }
.global-search-page { min-height: 520px; padding-top: 24px; padding-bottom: 64px; display: grid; align-content: start; gap: 18px; }
.global-search-page > .compact-alert { margin: 0; }
.global-search-hero { padding: 22px; display: grid; gap: 9px; border: 1px solid var(--slate-200); border-radius: 14px; background: white; box-shadow: var(--shadow-sm); }
.global-search-hero > label { color: var(--navy-800); font-size: 13px; font-weight: 800; }
.global-search-hero > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px; }
.global-search-hero input { width: 100%; height: 46px; padding: 0 13px; border: 1px solid var(--slate-300); border-radius: 9px; outline: none; color: var(--navy-950); background: var(--slate-50); font-size: 12px; }
.global-search-hero input:focus { border-color: var(--teal-600); background: white; box-shadow: 0 0 0 3px rgba(10,152,146,.12); }
.global-search-hero small { color: var(--slate-500); font-size: 11px; }
.search-result-list { display: grid; }
.search-result-list article + article { border-top: 1px solid var(--slate-100); }
.search-result-list article > a { padding: 18px 22px; display: block; }
.search-result-list article > a:hover, .search-result-list article > a:focus-visible { background: var(--teal-50); }
.search-result-list article header { display: flex; align-items: center; gap: 9px; }
.search-result-list .ticket-number { margin-right: auto; color: var(--teal-700); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; font-weight: 800; }
.search-result-list h3 { margin: 9px 0 0; font-size: 14px; }
.search-result-list article p { max-width: 850px; margin: 5px 0 0; color: var(--slate-600); font-size: 12px; line-height: 1.55; }
.search-result-list article footer { margin-top: 11px; display: flex; flex-wrap: wrap; gap: 7px 20px; color: var(--slate-500); font-size: 11px; }
.search-result-list article time { margin-left: auto; }
.empty-search { padding: 55px 22px; text-align: center; }
.empty-search strong { font-size: 15px; }
.empty-search p { margin: 6px 0 0; color: var(--slate-500); font-size: 12px; }
.pagination { min-height: 58px; padding: 10px 20px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 16px; border-top: 1px solid var(--slate-100); }
.pagination a, .pagination span { color: var(--slate-600); font-size: 12px; font-weight: 750; }
.pagination a:last-child { justify-self: end; }
.workload-table td:first-child strong { color: var(--navy-950); font-size: 11px; }
.administration-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.administration-card { min-height: 210px; padding: 28px; display: flex; align-items: flex-start; gap: 18px; }
a.administration-card:hover { border-color: var(--teal-600); box-shadow: var(--shadow-md); }
.administration-icon { width: 43px; height: 43px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 11px; color: var(--teal-800); background: var(--teal-100); font-size: 18px; font-weight: 800; }
.administration-card h2 { margin: 0; font-size: 21px; letter-spacing: -.025em; }
.administration-card div > p:not(.section-kicker) { margin: 8px 0 20px; color: var(--slate-600); font-size: 12px; line-height: 1.65; }
.administration-card strong { color: var(--teal-700); font-size: 11px; }
.future-module { background: var(--slate-50); box-shadow: none; }
.ticket-head-actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; }
.quick-response-picker { margin-bottom: 12px; padding: 11px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 8px; border: 1px solid var(--slate-200); border-radius: 9px; background: rgba(255,255,255,.7); }
.quick-response-picker label { min-width: 0; display: grid; gap: 5px; color: var(--slate-600); font-size: 11px; font-weight: 750; letter-spacing: .035em; text-transform: uppercase; }
.quick-response-picker select { width: 100%; height: 38px; padding: 0 9px; border: 1px solid var(--slate-300); border-radius: 7px; color: var(--navy-900); background: white; font-size: 12px; }
.quick-response-picker > small { grid-column: 1 / -1; color: var(--slate-500); font-size: 10px; line-height: 1.4; }
.knowledge-resource-picker { margin-bottom: 12px; border: 1px solid var(--slate-200); border-radius: 9px; background: white; }
.knowledge-resource-picker summary { min-height: 42px; padding: 10px 12px; display: flex; align-items: center; justify-content: space-between; cursor: pointer; color: var(--navy-800); font-size: 12px; font-weight: 800; }
.knowledge-resource-picker summary span { color: var(--slate-500); font-size: 10px; font-weight: 600; }
.knowledge-resource-picker > p { margin: 0; padding: 0 12px 9px; color: var(--slate-500); font-size: 10px; line-height: 1.45; }
.resource-choice-list { max-height: 220px; padding: 0 12px 12px; display: grid; gap: 7px; overflow-y: auto; }
.resource-choice-list label { display: flex; align-items: flex-start; gap: 8px; color: var(--navy-800); font-size: 11px; }
.resource-choice-list input { margin-top: 2px; accent-color: var(--teal-700); }
.resource-choice-list label span { display: grid; gap: 2px; }
.resource-choice-list small { color: var(--slate-500); font-size: 10px; font-weight: 450; line-height: 1.4; }
.comment-resource-links, .public-resource-links ul { margin: 10px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; list-style: none; }
.comment-resource-links a, .public-resource-links a { padding: 6px 9px; display: inline-flex; align-items: center; gap: 5px; border-radius: 7px; color: var(--teal-800); background: var(--teal-50); font-size: 11px; font-weight: 750; }
.public-resource-links { margin-top: 13px; padding-top: 11px; border-top: 1px solid var(--slate-100); }
.public-resource-links > strong { color: var(--navy-800); font-size: 12px; }
.ticket-tools-card { overflow: visible; }
.personal-ticket-actions { padding: 0 16px 14px; display: flex; flex-wrap: wrap; gap: 7px; }
.personal-ticket-actions form { margin: 0; }
.personal-ticket-actions .follow-ticket-action { display: flex; align-items: center; gap: 6px; }
.follow-notification-choice { display: flex; align-items: center; gap: 4px; color: var(--slate-600); font-size: 10px; font-weight: 700; }
.follow-notification-choice input { accent-color: var(--teal-700); }
.follower-settings { margin: 0 16px 13px; padding: 9px 10px; display: flex; align-items: center; justify-content: space-between; gap: 8px; border-radius: 8px; background: var(--teal-50); }
.follower-settings label { display: flex; align-items: center; gap: 6px; color: var(--navy-800); font-size: 11px; font-weight: 700; }
.follower-settings input { accent-color: var(--teal-700); }
.follower-settings button, .linked-ticket-list button, .ticket-tag-list button, .managed-content-item > header form button { padding: 4px 7px; border: 0; border-radius: 6px; color: var(--teal-800); background: transparent; font-size: 11px; font-weight: 750; cursor: pointer; }
.follower-settings button:hover, .linked-ticket-list button:hover, .ticket-tag-list button:hover, .managed-content-item > header form button:hover { background: var(--teal-100); }
.ticket-tool-group { border-top: 1px solid var(--slate-100); }
.ticket-tool-group > summary { min-height: 44px; padding: 10px 16px; display: flex; align-items: center; justify-content: space-between; cursor: pointer; color: var(--navy-800); font-size: 12px; font-weight: 800; list-style: none; }
.ticket-tool-group > summary::-webkit-details-marker { display: none; }
.ticket-tool-group > summary span { min-width: 22px; padding: 3px 6px; border-radius: 99px; color: var(--slate-600); background: var(--slate-100); font-size: 10px; text-align: center; }
.ticket-tag-list { padding: 0 16px 9px; display: flex; flex-wrap: wrap; gap: 5px; }
.ticket-tag-list form { display: inline-flex; align-items: center; overflow: hidden; border: 1px solid var(--teal-200); border-radius: 99px; color: var(--teal-900); background: var(--teal-50); font-size: 11px; font-weight: 750; }
.ticket-tag-list span { padding: 4px 3px 4px 8px; }
.ticket-tag-list button { padding: 3px 7px 4px 4px; }
.ticket-tool-form { padding: 0 16px 15px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 7px; }
.ticket-tool-form.stacked { grid-template-columns: 1fr; }
.ticket-tool-form label { min-width: 0; display: grid; gap: 4px; color: var(--slate-600); font-size: 10px; font-weight: 750; letter-spacing: .03em; text-transform: uppercase; }
.ticket-tool-form input, .ticket-tool-form textarea { width: 100%; padding: 8px 9px; border: 1px solid var(--slate-300); border-radius: 7px; outline: none; color: var(--navy-900); background: white; font: inherit; font-size: 11px; text-transform: none; }
.ticket-tool-form textarea { resize: vertical; }
.ticket-tool-form input:focus, .ticket-tool-form textarea:focus { border-color: var(--teal-600); box-shadow: 0 0 0 3px rgba(10,152,146,.1); }
.ticket-tool-form > small { color: var(--slate-500); font-size: 10px; line-height: 1.4; }
.tool-empty, .tool-label { margin: 0; padding: 0 16px 10px; color: var(--slate-500); font-size: 11px; line-height: 1.45; }
.linked-ticket-list { margin: 0; padding: 0 16px 10px; display: grid; gap: 6px; list-style: none; }
.linked-ticket-list li { min-width: 0; display: flex; align-items: center; gap: 5px; border: 1px solid var(--slate-100); border-radius: 7px; background: var(--slate-50); }
.linked-ticket-list a { min-width: 0; padding: 7px 9px; display: grid; flex: 1; gap: 2px; }
.linked-ticket-list strong { color: var(--teal-800); font: 800 10px ui-monospace, SFMono-Regular, Menlo, monospace; }
.linked-ticket-list span { overflow: hidden; color: var(--slate-600); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.duplicate-notice { margin: 0 16px 15px; padding: 11px; border: 1px solid #f2c980; border-radius: 8px; background: #fff8e8; }
.duplicate-notice strong { font-size: 12px; }
.duplicate-notice p { margin: 5px 0; color: var(--slate-700); font-size: 11px; line-height: 1.45; }
.duplicate-notice small { color: var(--slate-500); font-size: 10px; }
.ticket-follower-summary { margin: 0; padding: 12px 16px 15px; border-top: 1px solid var(--slate-100); color: var(--slate-600); font-size: 10px; line-height: 1.5; }
.personal-ticket-workspace { margin-top: 20px; overflow: hidden; border: 1px solid var(--slate-200); border-radius: 14px; background: white; box-shadow: var(--shadow-sm); }
.personal-ticket-workspace > header { min-height: 64px; padding: 13px 18px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--slate-100); }
.personal-ticket-workspace h2 { margin: 0; font-size: 16px; }
.personal-ticket-workspace > header > p { color: var(--slate-500); font-size: 11px; }
.personal-ticket-grid { display: grid; grid-template-columns: 1fr 1fr; }
.personal-ticket-grid > div { min-width: 0; padding: 15px 18px; }
.personal-ticket-grid > div + div { border-left: 1px solid var(--slate-100); }
.personal-ticket-grid h3 { margin: 0 0 8px; color: var(--navy-800); font-size: 11px; }
.personal-ticket-grid h3 span { color: var(--teal-700); }
.personal-ticket-grid ul { margin: 0; padding: 0; display: grid; list-style: none; }
.personal-ticket-grid li + li { border-top: 1px solid var(--slate-100); }
.personal-ticket-grid a { min-height: 43px; padding: 7px 2px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.personal-ticket-grid a:hover strong { color: var(--teal-700); }
.personal-ticket-grid a > span { min-width: 0; display: grid; gap: 2px; overflow: hidden; color: var(--slate-700); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.personal-ticket-grid a strong { color: var(--navy-900); font: 800 10px ui-monospace, SFMono-Regular, Menlo, monospace; }
.personal-ticket-grid a > small { flex: 0 0 auto; color: var(--slate-500); font-size: 10px; }
.personal-ticket-grid .tool-empty { padding: 4px 0 10px; }
.content-management-page { padding-top: 24px; padding-bottom: 64px; }
.content-management-grid { display: grid; grid-template-columns: minmax(280px, .8fr) minmax(0, 1.45fr); align-items: start; gap: 20px; }
.content-create-card { padding: 20px; display: grid; gap: 13px; position: sticky; top: 20px; }
.content-create-card .detail-card-head { margin: -5px 0 0; padding: 0 0 13px; }
.architecture-note { margin: 0; padding: 11px; display: grid; gap: 3px; border-radius: 8px; color: var(--slate-600); background: var(--teal-50); font-size: 10px; line-height: 1.5; }
.architecture-note strong { color: var(--teal-900); font-size: 11px; }
.managed-content-list { overflow: hidden; }
.managed-content-items { display: grid; }
.managed-content-item { padding: 16px 18px; }
.managed-content-item + .managed-content-item { border-top: 1px solid var(--slate-100); }
.managed-content-item.inactive { opacity: .68; background: var(--slate-50); }
.managed-content-item > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.managed-content-item > header > div { display: grid; gap: 3px; }
.managed-content-item > header strong { color: var(--navy-900); font-size: 12px; }
.managed-content-item > header span { color: var(--slate-500); font-size: 10px; text-transform: uppercase; }
.managed-content-item > p { max-height: 110px; margin: 10px 0; overflow: auto; color: var(--slate-600); font-size: 11px; line-height: 1.55; overflow-wrap: anywhere; }
.managed-content-item > p a { color: var(--teal-700); }
.managed-content-item details { border-top: 1px solid var(--slate-100); }
.managed-content-item details > summary { padding: 10px 0 0; cursor: pointer; color: var(--teal-700); font-size: 11px; font-weight: 750; }
.managed-content-edit-form { padding-top: 12px; display: grid; gap: 10px; }
.administration-config-page, .audit-log-page { padding-top: 24px; padding-bottom: 64px; }
.administration-settings-card { margin-bottom: 20px; padding: 20px; }
.administration-settings-card > header, .administration-reference-card > header { margin-bottom: 15px; }
.administration-settings-card h2, .administration-reference-card h2 { margin: 0; font-size: 16px; }
.administration-settings-card header p, .administration-reference-card header p { margin: 4px 0 0; color: var(--slate-500); font-size: 11px; line-height: 1.45; }
.administration-settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.administration-settings-grid .form-submit-row { grid-column: 1 / -1; }
.administration-reference-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 18px; }
.administration-reference-card { min-width: 0; padding: 18px; }
.reference-create-form { padding: 13px; display: grid; gap: 9px; border: 1px solid var(--slate-200); border-radius: 9px; background: var(--slate-50); }
.reference-create-form .two-columns { gap: 9px; }
.reference-items { margin-top: 14px; display: grid; gap: 9px; }
.reference-items .managed-content-item { padding: 12px; border: 1px solid var(--slate-100); border-radius: 8px; }
.reference-items .managed-content-item + .managed-content-item { border-top: 1px solid var(--slate-100); }
.audit-table-wrap { overflow-x: auto; border: 1px solid var(--slate-200); border-radius: 12px; background: white; box-shadow: var(--shadow-sm); }
.audit-table { width: 100%; min-width: 820px; border-collapse: collapse; }
.audit-table th, .audit-table td { padding: 11px 13px; border-bottom: 1px solid var(--slate-100); text-align: left; vertical-align: top; }
.audit-table th { color: var(--slate-500); background: var(--slate-50); font-size: 10px; letter-spacing: .04em; text-transform: uppercase; }
.audit-table td { color: var(--slate-700); font-size: 11px; }
.audit-table code { color: var(--navy-800); font-size: 10px; overflow-wrap: anywhere; }
.audit-table tr:last-child td { border-bottom: 0; }
.print-ticket-view { width: min(100% - 40px, 980px); margin: 24px auto 70px; }
.print-ticket-toolbar { margin-bottom: 14px; display: flex; justify-content: space-between; gap: 10px; }
.print-ticket-document { padding: 42px; border: 1px solid var(--slate-200); background: white; box-shadow: var(--shadow-sm); }
.print-ticket-head { padding-bottom: 20px; display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; border-bottom: 3px solid var(--navy-900); }
.print-ticket-head h1 { margin: 2px 0; font: 850 22px ui-monospace, SFMono-Regular, Menlo, monospace; }
.print-ticket-head h2 { margin: 0; font-size: 22px; }
.print-ticket-head > div:last-child { display: grid; justify-items: end; gap: 4px; }
.print-ticket-head > div:last-child strong { font-size: 14px; }
.print-ticket-head > div:last-child span, .print-meta { color: var(--slate-500); font-size: 11px; }
.print-meta { margin: 10px 0 0; }
.print-alert { margin-top: 16px; padding: 11px 13px; display: grid; gap: 3px; border: 1px solid #d19b39; background: #fff8e8; font-size: 12px; }
.print-section { margin-top: 24px; break-inside: avoid-page; }
.print-section > h2 { margin: 0 0 10px; padding-bottom: 5px; border-bottom: 1px solid var(--slate-300); font-size: 15px; }
.print-section > p, .print-section li { color: var(--slate-700); font-size: 12px; line-height: 1.55; }
.print-facts { display: grid; grid-template-columns: 1fr 1fr; }
.print-facts div { padding: 7px 8px; display: grid; grid-template-columns: 105px 1fr; gap: 8px; border-bottom: 1px solid var(--slate-100); }
.print-facts dt { color: var(--slate-500); font-size: 10px; font-weight: 750; text-transform: uppercase; }
.print-facts dd { margin: 0; color: var(--navy-900); font-size: 11px; }
.print-tags, .print-collaboration p { margin: 9px 0 0; }
.print-resolution { margin-top: 12px; padding: 10px; background: var(--slate-50); font-size: 12px; }
.print-resolution p { margin: 5px 0 0; }
.print-comment { padding: 11px 0; break-inside: avoid-page; }
.print-comment + .print-comment { border-top: 1px solid var(--slate-200); }
.print-comment.is-internal { padding-inline: 10px; border-left: 3px solid #bc8318; background: #fffaf0; }
.print-comment header { display: flex; justify-content: space-between; gap: 12px; }
.print-comment header span { color: var(--slate-500); font-size: 10px; }
.print-comment p { margin: 6px 0; font-size: 12px; line-height: 1.55; }
.print-comment ul, .print-attachments { margin: 7px 0 0; padding-left: 20px; }
.print-timeline { margin: 0; padding-left: 22px; }
.print-timeline li { padding: 6px 0; break-inside: avoid-page; }
.print-timeline li > div { display: flex; justify-content: space-between; gap: 12px; }
.print-timeline span { color: var(--slate-500); font-size: 10px; }
.print-timeline p { margin: 3px 0 0; }
.print-ticket-footer { margin-top: 30px; padding-top: 10px; border-top: 1px solid var(--slate-300); color: var(--slate-500); font-size: 10px; text-align: center; }

@media (max-width: 1040px) {
    .header-ticket-search { display: none; }
    .stat-grid { grid-template-columns: repeat(3, 1fr); }
    .ticket-work-grid { grid-template-columns: minmax(0, 1fr) 290px; }
    .filter-bar { flex-wrap: wrap; }
    .filter-bar .search-field { min-width: 100%; }
    .filter-primary-row { flex-wrap: wrap; }
    .filter-primary-row .search-field { min-width: 100%; }
    .advanced-filter-grid { grid-template-columns: repeat(2, minmax(150px, 1fr)); }
    .report-filter-grid { grid-template-columns: repeat(2, minmax(150px, 1fr)); }
    .report-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .admin-grid { grid-template-columns: 1fr; }
    .account-grid { grid-template-columns: 1fr; }
    .content-management-grid { grid-template-columns: 1fr; }
    .content-create-card { position: static; }
    .administration-reference-grid { grid-template-columns: 1fr; }
    .report-grid { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
    .main-nav { display: none; }
    .staff-identity { margin-left: auto; }
    .user-menu { margin-left: auto; }
    .mobile-staff-nav { min-height: 48px; padding: 0 24px; display: flex; align-items: stretch; gap: 23px; overflow-x: auto; border-bottom: 1px solid var(--slate-200); background: white; scrollbar-width: thin; }
    .mobile-staff-nav a { display: flex; align-items: center; flex: 0 0 auto; color: var(--slate-600); font-size: 11px; font-weight: 750; }
    .mobile-staff-nav a:hover, .mobile-staff-nav a:focus-visible { color: var(--teal-700); }
    .mobile-staff-nav a.is-current { color: var(--teal-800); box-shadow: inset 0 -3px 0 var(--teal-600); }
    .staff-session .flash-stack { top: 142px; }
    .hero-content { grid-template-columns: 1fr; gap: 42px; }
    .availability-card { max-width: 560px; }
    .service-grid { grid-template-columns: 1fr 1fr; }
    .service-grid > a { border-right: 1px solid var(--slate-200) !important; border-bottom: 1px solid var(--slate-200) !important; }
    .service-grid > a:nth-child(2n) { border-right: 0 !important; }
    .service-grid > a:nth-last-child(-n+2) { border-bottom: 0 !important; }
    .public-ticket-grid { grid-template-columns: 1fr; }
    .ticket-summary-card { position: static; }
    .login-page { grid-template-columns: 1fr; }
    .login-aside { padding: 60px max(28px, calc((100vw - 700px) / 2)); }
    .login-panel { padding: 55px 24px; }
    .ticket-work-grid { grid-template-columns: 1fr; }
    .ticket-side-column { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 680px) {
    .content-shell, .staff-content { width: min(100% - 32px, var(--shell)); }
    .app-header { height: 68px; padding: 0 17px; }
    .brand-mark { width: 37px; height: 37px; font-size: 19px; }
    .brand-copy strong { font-size: 14px; }
    .brand-copy span { font-size: 11px; }
    .staff-sign-in { width: 40px; padding: 0; justify-content: center; font-size: 0; }
    .staff-sign-in span { font-size: 18px; }
    .identity-copy { display: none; }
    .staff-identity { padding-left: 0; border-left: 0; }
    .user-menu { padding-left: 0; border-left: 0; }
    .user-menu .identity-copy { display: none; }
    .user-menu-panel { right: -2px; }
    .mobile-staff-nav { min-height: 46px; padding: 0 17px; gap: 20px; }
    .subnav-tabs { width: calc(100% - 32px); margin-top: 14px; }
    .subnav-tabs a { min-height: var(--touch-target); }
    .staff-session .flash-stack { top: 126px; }
    .hero-content { width: calc(100% - 36px); min-height: 0; padding: 62px 0 68px; }
    .hero h1 { font-size: 46px; }
    .hero-copy > p:not(.eyebrow) { font-size: 15px; }
    .hero-actions .button { width: 100%; }
    .support-section { padding-top: 54px; }
    .section-header { align-items: flex-start; flex-direction: column; gap: 8px; }
    .choice-grid { grid-template-columns: 1fr; }
    .choice-card { min-height: 0; padding: 22px; }
    .lookup-form { grid-template-columns: 1fr; }
    .service-grid { grid-template-columns: 1fr; }
    .service-grid > a { min-height: 125px; border-right: 0 !important; border-bottom: 1px solid var(--slate-200) !important; }
    .service-grid > a:last-child { border-bottom: 0 !important; }
    .security-strip { padding: 24px 18px; align-items: flex-start; flex-direction: column; }
    .security-strip > a { width: 100%; justify-content: center; }
    .app-footer { padding: 28px 18px; align-items: flex-start; flex-direction: column; }
    .footer-meta { width: 100%; justify-content: space-between; gap: 8px; }
    .two-columns { grid-template-columns: 1fr; }
    .full-width { grid-column: auto; }
    .impact-options, .blocked-options { grid-template-columns: 1fr; }
    .field-meta { flex-direction: column; gap: 3px; }
    .attachment-types, .attachment-selection, .attachment-picker .field-error { margin-left: 0; }
    .counter { margin-left: 0; }
    .form-card { padding: 21px; }
    .form-submit-row { align-items: stretch; flex-direction: column; }
    .form-submit-row .button { width: 100%; }
    .secure-link-card { align-items: stretch; flex-direction: column; }
    .secure-link-card .button { width: 100%; }
    .access-code-row { grid-template-columns: 1fr; }
    .confirmation-summary { grid-template-columns: 1fr; }
    .confirmation-summary > div, .confirmation-summary > div:nth-child(2n), .confirmation-summary .confirmation-wide { grid-column: auto; border-right: 0; border-bottom: 1px solid var(--slate-100); }
    .confirmation-summary > div:last-child { border-bottom: 0; }
    .result-actions { flex-direction: column; }
    .ticket-title-row { flex-direction: column; }
    .public-ticket-grid { padding-top: 28px; }
    .status-timeline { grid-template-columns: 1fr; gap: 0; }
    .status-timeline li { min-height: 58px; grid-template-columns: 29px 1fr; justify-items: start; gap: 12px; text-align: left; }
    .status-timeline li:not(:last-child)::after { width: 2px; height: calc(100% - 29px); top: 29px; left: 14px; }
    .status-timeline li > div { padding-top: 2px; }
    .standalone-lookup-actions { align-items: stretch; flex-direction: column-reverse; }
    .standalone-lookup-actions .button { width: 100%; }
    .public-attachments li { align-items: flex-start; flex-wrap: wrap; }
    .public-attachments li a { margin-left: 43px; }
    .stat-grid { grid-template-columns: 1fr 1fr; }
    .staff-page-head { padding: 32px 18px; align-items: stretch; flex-direction: column; }
    .filter-bar label { min-width: calc(50% - 4px); flex: 1; }
    .filter-bar .compact-button { width: 100%; }
    .filter-primary-row > label { min-width: calc(50% - 4px); flex: 1; }
    .filter-primary-row .compact-button { width: 100%; }
    .filter-primary-row .clear-filters { margin-inline: auto; }
    .queue-card-head { align-items: flex-start; }
    .table-scroll { max-height: none; overflow: visible; }
    .ticket-queue-table { min-width: 0; display: block; background: var(--slate-50); }
    .ticket-queue-table thead { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
    .ticket-queue-table tbody { padding: 12px; display: grid; gap: 12px; }
    .ticket-queue-table tbody tr { padding: 15px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px 14px; border: 1px solid var(--slate-200); border-radius: 12px; background: white; box-shadow: var(--shadow-sm); }
    .ticket-queue-table tbody td { min-width: 0; padding: 0; display: block; border: 0; }
    .ticket-queue-table .ticket-number-column { grid-column: 1; grid-row: 1; }
    .ticket-queue-table .queue-status { grid-column: 2; grid-row: 1; justify-self: end; }
    .ticket-queue-table .subject-column { grid-column: 1 / -1; grid-row: 2; }
    .ticket-queue-table .subject-column a { max-width: none; white-space: normal; line-height: 1.4; }
    .ticket-queue-table .queue-priority { grid-column: 1; grid-row: 3; }
    .ticket-queue-table .queue-sla { min-width: 0; grid-column: 2; grid-row: 3; justify-self: end; text-align: right; }
    .ticket-queue-table .queue-sla .sla-badge { margin-left: auto; }
    .ticket-queue-table .queue-requester { grid-column: 1; grid-row: 4; }
    .ticket-queue-table .queue-assignee { grid-column: 2; grid-row: 4; text-align: right; }
    .ticket-queue-table .queue-requester::before, .ticket-queue-table .queue-assignee::before, .ticket-queue-table .queue-age::before { display: block; color: var(--slate-500); font-size: 10px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
    .ticket-queue-table .queue-requester::before { content: "Requester"; }
    .ticket-queue-table .queue-assignee::before { content: "Assigned to"; }
    .ticket-queue-table .queue-age::before { content: "Ticket age"; }
    .ticket-queue-table .queue-age { grid-column: 1; grid-row: 5; }
    .ticket-queue-table .queue-secondary { display: none; }
    .ticket-queue-table .queue-actions { grid-column: 2; grid-row: 5; position: static; justify-self: end; background: transparent; box-shadow: none; }
    .ticket-queue-table .quick-triage-button { min-height: var(--touch-target); padding-inline: 14px; font-size: 12px; }
    .queue-result-summary { min-height: 52px; padding-block: 9px; align-items: flex-start; flex-direction: column; gap: 3px; }
    .quick-triage-grid { grid-template-columns: 1fr; }
    .quick-note-field { grid-column: auto; }
    .quick-triage-dialog form > footer { align-items: stretch; flex-direction: column; }
    .quick-triage-dialog footer > div { width: 100%; }
    .quick-triage-dialog footer .button { flex: 1; }
    .ticket-side-column { grid-template-columns: 1fr; }
    .triage-card { position: static; }
    .mobile-ticket-actionbar { min-height: 50px; padding: 5px 16px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; position: sticky; z-index: 15; top: 114px; border-bottom: 1px solid var(--slate-200); background: rgba(255,255,255,.98); box-shadow: 0 8px 22px rgba(7,28,45,.08); }
    .mobile-ticket-actionbar a { min-height: 40px; display: grid; place-items: center; border-radius: 8px; color: var(--teal-800); background: var(--teal-50); font-size: 11px; font-weight: 800; text-align: center; }
    .mobile-ticket-actionbar a:last-child { color: white; background: var(--navy-900); }
    .quick-triage-button, .workflow-shortcuts button, .dialog-close, .queue-refresh-button, .toast-action, .toast-close { min-height: var(--touch-target); }
    .workflow-shortcuts button { padding-inline: 12px; font-size: 11px; }
    .ticket-head-actions { align-items: flex-start; flex-direction: column-reverse; }
    .personal-ticket-grid { grid-template-columns: 1fr; }
    .personal-ticket-grid > div + div { border-top: 1px solid var(--slate-100); border-left: 0; }
    .quick-response-picker { grid-template-columns: 1fr; }
    .quick-response-picker .button { width: 100%; }
    .toast-region { top: 128px; right: 16px; }
    .toast { grid-template-columns: auto minmax(0, 1fr) auto; }
    .toast-action { grid-column: 2; justify-self: start; }
    .toast-close { grid-column: 3; grid-row: 1; }
    .concurrency-callout { grid-template-columns: auto minmax(0, 1fr); }
    .concurrency-callout button { grid-column: 2; justify-self: start; }
    .sla-callout dl { grid-template-columns: 1fr; }
    .confirmation-dialog footer { align-items: stretch; flex-direction: column-reverse; }
    .confirmation-dialog footer .button { width: 100%; }
    .comment-composer-grid { grid-template-columns: 1fr; }
    .request-context-strip { grid-template-columns: 1fr; }
    .request-context-strip > div { border-right: 0; border-bottom: 1px solid var(--slate-100); }
    .request-context-strip > div:last-child { border-bottom: 0; }
    .staff-attachment-list li { grid-template-columns: auto minmax(0, 1fr) auto; align-items: start; }
    .staff-attachment-list li > a { grid-column: 2 / -1; }
    .activity-timeline article > header, .activity-timeline article > footer { align-items: flex-start; flex-direction: column; }
    .request-meta { grid-template-columns: 1fr 1fr; }
    .thread-item > div > header { align-items: flex-start; flex-direction: column; }
    .staff-reply-form fieldset { flex-direction: column; }
    .staff-reply-form fieldset label { width: 100%; }
    .user-row { grid-template-columns: auto 1fr auto; }
    .user-row .account-state { display: none; }
    .user-row form { grid-column: 2 / -1; }
    .administration-grid { grid-template-columns: 1fr; }
    .administration-card { min-height: 0; padding: 22px; }
    .administration-settings-grid { grid-template-columns: 1fr; }
    .report-filter-grid { grid-template-columns: 1fr; }
    .report-filter-panel > header { align-items: flex-start; flex-direction: column; gap: 5px; }
    .report-filter-panel > footer { justify-content: space-between; }
    .report-stat-grid { grid-template-columns: 1fr 1fr; }
    .metric-definitions dl { grid-template-columns: 1fr; }
    .global-search-hero > div { grid-template-columns: 1fr; }
    .global-search-hero .button { width: 100%; }
    .search-result-list article footer { flex-direction: column; }
    .search-result-list article time { margin-left: 0; }
}

@media (max-width: 420px) {
    .stat-grid { grid-template-columns: 1fr; }
    .report-stat-grid { grid-template-columns: 1fr; }
    .filter-bar label { min-width: 100%; }
    .filter-primary-row > label { min-width: 100%; }
    .advanced-filter-grid { grid-template-columns: 1fr; }
    .advanced-filters summary span { display: none; }
    .queue-pagination { grid-template-columns: 1fr 1fr; }
    .queue-pagination > div { grid-column: 1 / -1; grid-row: 1; justify-content: center; }
    .request-meta { grid-template-columns: 1fr; }
    .footer-meta { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

@media (forced-colors: active) {
    :focus-visible { outline: 3px solid Highlight; box-shadow: none; }
    .status-badge, .priority-badge, .sla-badge, .visibility-badge { border: 1px solid currentColor; }
    .status-badge::before, .priority-badge i { forced-color-adjust: none; }
    .button, .quick-triage-button, .workflow-shortcuts button { border-color: ButtonText; }
}

@media print {
    body { color: #000; background: #fff; }
    .app-header, .app-footer, .mobile-staff-nav, .mobile-ticket-actionbar, .subnav-tabs, .flash-stack, .result-actions, .secure-link-card .button, .skip-link, .quick-triage-dialog, .confirmation-dialog, .toast-region { display: none !important; }
    .confirmation-page { min-height: 0; max-width: none; padding: 20px 0; }
    .confirmation-page .success-mark { color: #000; background: #fff; border: 2px solid #000; box-shadow: none; }
    .confirmation-summary, .secure-link-card { box-shadow: none; }
    .secure-link-card strong { white-space: normal; overflow-wrap: anywhere; }
    .alert-warning { color: #000; border-color: #777; background: #fff; }
    .print-ticket-view { width: auto; margin: 0; }
    .print-ticket-toolbar, .print-ticket-view ~ * { display: none !important; }
    .print-ticket-document { padding: 0; border: 0; box-shadow: none; }
    .print-ticket-head { border-color: #000; }
    .print-section { break-inside: auto; }
    .print-comment, .print-timeline li, .print-facts div { break-inside: avoid; }
    .print-comment.is-internal, .print-alert, .print-resolution { color: #000; border-color: #555; background: #fff; }
    a { color: #000; text-decoration: none; }
}
