:root{--color-text:#1f2328;--color-muted:#57606a;--color-bg:#f6f8fa;--color-surface:#fff;--color-border:#8c959f;--color-brand:#0b3d91;--color-brand-dark:#082c69;--color-on-brand:#fff;--color-error:#b3261e;--color-error-bg:#fdecea;--color-warning:#7a4100;--color-warning-bg:#fff4d6;--color-focus:#1a5fd0;--color-focus-on-dark:#ffd166;--radius:6px;color:var(--color-text);background:var(--color-bg);font-family:system-ui,sans-serif;line-height:1.5}body{margin:0}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.skip-link{background:var(--color-surface);color:var(--color-brand);border-radius:var(--radius);z-index:10;padding:.5rem .75rem;position:absolute;top:-3rem;left:.5rem}.skip-link:focus{top:.5rem}.app-header{background:var(--color-brand);color:var(--color-on-brand)}.app-header :focus-visible{outline-color:var(--color-focus-on-dark)}.app-header__inner{flex-wrap:wrap;align-items:center;gap:.5rem 1.5rem;max-width:64rem;margin:0 auto;padding:.5rem 1rem;display:flex}.brand{color:var(--color-on-brand);font-weight:700;text-decoration:none}.main-nav ul{flex-wrap:wrap;gap:.25rem 1rem;margin:0;padding:0;list-style:none;display:flex}.main-nav a{color:var(--color-on-brand);border-bottom:2px solid #0000;padding:.25rem 0;text-decoration:none;display:inline-block}.main-nav a:hover,.main-nav a[aria-current=page]{border-bottom-color:var(--color-on-brand)}.account{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-left:auto;display:flex}.account__role{opacity:.9}.app-main{max-width:64rem;margin:0 auto;padding:1rem}.app-main:focus{outline:none}.button{font:inherit;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);cursor:pointer;padding:.5rem 1rem}.button--primary{background:var(--color-brand);border-color:var(--color-brand);color:var(--color-on-brand)}.button--primary:hover{background:var(--color-brand-dark)}.button--on-dark{border-color:var(--color-on-brand);color:var(--color-on-brand);background:0 0;padding:.25rem .75rem}.button[aria-disabled=true]{cursor:progress;opacity:.85}.panel,.auth-card{background:var(--color-surface);border-radius:var(--radius);border:1px solid #d0d7de;padding:1.5rem}.auth-card{max-width:24rem;margin:2rem auto}.auth-card h1{margin-top:0}@media (width<=30rem){.auth-card{margin:0;padding:1rem}}.field{margin-bottom:1rem}.field label{font-weight:600;display:block}.field input,.field textarea,.field select{box-sizing:border-box;width:100%;font:inherit;border:1px solid var(--color-border);border-radius:var(--radius);margin-top:.25rem;padding:.5rem}.field textarea{resize:vertical}.field select{background:var(--color-surface);color:var(--color-text)}.field input[aria-invalid=true],.field textarea[aria-invalid=true],.field select[aria-invalid=true]{border:2px solid var(--color-error)}.field__hint{color:var(--color-muted);margin:0;font-size:.875rem}.field__error{color:var(--color-error);margin:.25rem 0 0;font-weight:600}.form-error{border-left:4px solid var(--color-error);background:var(--color-error-bg);color:var(--color-error);margin-bottom:1rem;padding:.75rem}.loading{color:var(--color-muted)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}a.button{text-decoration:none;display:inline-block}.page__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin-bottom:1rem;display:flex}.page__header h1{margin:0}.radio-group{border:0;margin:0 0 1rem;padding:0}.radio-group legend{padding:0;font-weight:600}.radio-group .radio{align-items:center;gap:.375rem;min-height:2rem;margin:.25rem 1.25rem 0 0;display:inline-flex}.radio-group input{width:1.125rem;height:1.125rem;margin:0}.badge{white-space:nowrap;border:1px solid;border-radius:999px;padding:.0625rem .5rem;font-size:.875rem;font-weight:600;display:inline-block}.badge--new{color:#0a3069;background:#ddf4ff}.badge--open{color:#0f5323;background:#dafbe1}.badge--pending{color:#6c4400;background:#fff8c5}.badge--solved{color:#512a97;background:#fbefff}.badge--closed{color:#424a53;background:#eaeef2}.ticket-ref{color:var(--color-muted);font-variant-numeric:tabular-nums;margin:0;font-weight:600}.ticket-list{background:var(--color-surface);border-radius:var(--radius);border:1px solid #d0d7de;margin:0;padding:0;list-style:none}.ticket-list__item{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.75rem 1rem;display:flex}.ticket-list__item+.ticket-list__item{border-top:1px solid #d0d7de}.ticket-list__main{flex-wrap:wrap;gap:0 .75rem;min-width:0;display:flex}.ticket-list__subject{color:var(--color-brand);overflow-wrap:anywhere;font-weight:600}.ticket-list__meta{color:var(--color-muted);flex-wrap:wrap;align-items:center;gap:.25rem .75rem;font-size:.875rem;display:flex}.back-link{margin:0 0 .5rem}.ticket__header h1{overflow-wrap:anywhere;margin:0 0 .75rem}.ticket__facts{flex-wrap:wrap;gap:.5rem 1.5rem;margin:0;display:flex}.ticket__facts dt{color:var(--color-muted);font-size:.875rem}.ticket__facts dd{margin:0}.ticket__help{margin:.75rem 0 0}.notice{border-left:4px solid var(--color-brand);background:#ddf4ff;margin:1rem 0;padding:.75rem}.ticket__actions{flex-wrap:wrap;gap:.5rem;margin:1rem 0;display:flex}.thread{margin:0 0 1.5rem;padding:0;list-style:none}.message{background:var(--color-surface);border-radius:var(--radius);border:1px solid #d0d7de;margin-bottom:.75rem;padding:.75rem 1rem}.message--staff{border-left:4px solid var(--color-brand)}.message__meta{color:var(--color-muted);margin:0 0 .25rem;font-size:.875rem}.message__meta strong{color:var(--color-text)}.message__body{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.reply-form h2{margin-top:0}.queue-filters{grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));align-items:end;gap:0 1rem;display:grid}.queue-filters__search{grid-column:1/-1}.queue-filters__clear{margin-bottom:1rem}.queue-filters__note{color:var(--color-muted);grid-column:1/-1;margin-top:0}.queue__summary{min-height:1.5em;color:var(--color-muted)}.queue__results.is-loading{opacity:.6}.queue__empty{margin-bottom:1rem}.queue__empty p{margin-top:0}.queue-table{border-collapse:collapse;background:var(--color-surface);border:1px solid #d0d7de;width:100%}.queue-table th,.queue-table td{text-align:left;vertical-align:top;border-bottom:1px solid #d0d7de;padding:.5rem}.queue-table th{color:var(--color-muted);font-size:.875rem}.queue-row{position:relative}.queue-row:hover{background:var(--color-bg)}.queue-row--overdue{box-shadow:inset 4px 0 0 var(--color-error)}.queue-row--due-soon{box-shadow:inset 4px 0 0 var(--color-warning)}.queue-row__reference{white-space:nowrap;font-variant-numeric:tabular-nums}.queue-row__link{color:var(--color-brand);font-weight:600}.queue-row__link:after{content:"";position:absolute;inset:0}.queue-row__email,.due__target{color:var(--color-muted);overflow-wrap:anywhere;font-size:.875rem;display:block}.queue-row__muted{color:var(--color-muted)}.due time{display:block}.due .badge{margin-top:.25rem}.badge--overdue{color:var(--color-error);background:var(--color-error-bg)}.badge--due-soon{color:var(--color-warning);background:var(--color-warning-bg)}.pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-top:1rem;display:flex}@media (width<=48rem){.queue-table,.queue-table tbody,.queue-table tr,.queue-table td{display:block}.queue-table{background:0 0;border:0}.queue-table thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.queue-row{background:var(--color-surface);border-radius:var(--radius);border:1px solid #d0d7de;margin-bottom:.75rem;padding:.5rem .75rem}.queue-table td{border:0;grid-template-columns:6.5rem 1fr;gap:.5rem;padding:.25rem 0;display:grid}.queue-table td:before{content:attr(data-label);color:var(--color-muted);font-weight:600}}.agent-ticket{gap:0 1.5rem;display:grid}@media (width>=52rem){.agent-ticket{grid-template-columns:minmax(0,1fr) 19rem;align-items:start}.agent-ticket__header{grid-column:1/-1}}.agent-ticket__header h1{overflow-wrap:anywhere;margin:0 0 .75rem}.agent-ticket__email{color:var(--color-muted);overflow-wrap:anywhere}.agent-ticket__side{gap:1rem;min-width:0;display:grid}.agent-ticket__side h2,.composer h2{margin-top:0}.agent-ticket__save{margin:0 0 1rem}.message--internal{background:var(--color-warning-bg);border:1px dashed var(--color-warning);border-left:4px solid var(--color-warning)}.message__internal-label{color:var(--color-warning);flex-wrap:wrap;align-items:center;gap:.375rem;margin:0 0 .25rem;font-weight:700;display:flex}.message__internal-hint{font-weight:400}.icon{flex:none}.composer--note{background:var(--color-warning-bg);border-color:var(--color-warning)}.sla-facts{border-top:1px solid #d0d7de;gap:.5rem;margin:0;padding-top:1rem;display:grid}.sla-facts dt{color:var(--color-muted);font-size:.875rem}.sla-facts dd{margin:0}.timeline{border-left:2px solid #d0d7de;margin:0;padding:0 0 0 1rem;list-style:none}.timeline__entry{padding-bottom:.75rem;position:relative}.timeline__entry:before{content:"";background:var(--color-brand);border-radius:50%;width:10px;height:10px;position:absolute;top:.5rem;left:calc(-1rem - 6px)}.timeline__text{overflow-wrap:anywhere;margin:0}.timeline__time{color:var(--color-muted);font-size:.875rem}.notifications{position:relative}.notifications__toggle{min-width:2.75rem;min-height:2.75rem;font:inherit;color:var(--color-on-brand);border-radius:var(--radius);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:.25rem;padding:.25rem .5rem;display:inline-flex}.notifications__toggle:hover,.notifications__toggle[aria-expanded=true]{border-color:var(--color-on-brand)}.notifications__count{background:var(--color-surface);min-width:1.25rem;color:var(--color-brand);text-align:center;border-radius:999px;padding:0 .375rem;font-size:.875rem;font-weight:700;line-height:1.25rem}.notifications__panel{z-index:20;box-sizing:border-box;width:24rem;max-height:min(70vh,32rem);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);position:absolute;top:calc(100% + .25rem);right:0;overflow-y:auto;box-shadow:0 8px 24px #0003}.app-header .notifications__panel :focus-visible{outline-color:var(--color-focus)}@media (width<=30rem){.notifications__panel{width:auto;position:fixed;top:auto;left:.5rem;right:.5rem}}.notifications__header{border-bottom:1px solid #d0d7de;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.notifications__header h2{margin:0;font-size:1.125rem}.notifications__mark{padding:.25rem .75rem}.notifications__message,.notifications__error{margin:0;padding:.75rem 1rem}.notifications__message p{margin-top:0}.notifications__error{color:var(--color-error);background:var(--color-error-bg)}.notifications__list{margin:0;padding:0;list-style:none}.notifications__item+.notifications__item{border-top:1px solid #d0d7de}.notifications__item a{color:var(--color-text);padding:.625rem 1rem;text-decoration:none;display:block}.notifications__item a:hover{background:var(--color-bg)}.notifications__item a:hover .notifications__text{text-decoration:underline}.notifications__item--unread a{box-shadow:inset 4px 0 0 var(--color-brand)}.notifications__unread{background:var(--color-brand);color:var(--color-on-brand);border-radius:999px;margin-right:.375rem;padding:0 .375rem;font-size:.75rem;font-weight:700;display:inline-block}.notifications__item--unread .notifications__text{font-weight:700}.notifications__ticket,.notifications__time{color:var(--color-muted);overflow-wrap:anywhere;font-size:.875rem;display:block}.admin-nav{border-bottom:1px solid #d0d7de;margin-bottom:1rem}.admin-nav ul{flex-wrap:wrap;gap:0 1.25rem;margin:0;padding:0;list-style:none;display:flex}.admin-nav a{color:var(--color-brand);border-bottom:3px solid #0000;padding:.5rem 0;text-decoration:none;display:inline-block}.admin-nav a:hover{text-decoration:underline}.admin-nav a[aria-current=page]{border-bottom-color:var(--color-brand);font-weight:700}.admin-form{max-width:32rem;margin-top:1.5rem}.admin-form h2{margin-top:0}.muted{color:var(--color-muted)}.button--small{padding:.25rem .75rem}.button--danger{color:var(--color-error);border-color:var(--color-error)}.button--danger-solid{background:var(--color-error);border-color:var(--color-error);color:var(--color-on-brand)}.badge--active{color:#0f5323;background:#dafbe1}.badge--inactive{color:#424a53;background:#eaeef2}.row-actions,.confirm__buttons{flex-wrap:wrap;gap:.5rem;display:flex}.confirm__prompt{margin:0 0 .5rem;font-weight:600}.inline-form .field{margin-bottom:.5rem}.data-table{border-collapse:collapse;background:var(--color-surface);border:1px solid #d0d7de;width:100%}.data-table th,.data-table td{text-align:left;vertical-align:top;border-bottom:1px solid #d0d7de;padding:.5rem}.data-table thead th{color:var(--color-muted);font-size:.875rem}.data-table__wrap{overflow-wrap:anywhere}.duration__inputs{gap:.5rem;display:flex}.duration input,.duration select{box-sizing:border-box;font:inherit;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);padding:.5rem}.duration input{width:6rem}.duration input[aria-invalid=true]{border:2px solid var(--color-error)}.duration .field__error{max-width:16rem}@media (width>=48.0625rem){.duration__label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.duration__label{font-weight:600;display:block}.sla-table{margin-bottom:.5rem}@media (width<=48rem){.data-table,.data-table tbody,.data-table tr,.data-table th,.data-table td{display:block}.data-table{background:0 0;border:0}.data-table thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.data-table tbody tr{background:var(--color-surface);border-radius:var(--radius);border:1px solid #d0d7de;margin-bottom:.75rem;padding:.5rem .75rem}.data-table tbody th,.data-table tbody td{border:0;padding:.25rem 0}.data-table tbody [data-label]{grid-template-columns:5.5rem minmax(0,1fr);gap:.5rem;display:grid}.data-table tbody [data-label]:before{content:attr(data-label);color:var(--color-muted);font-weight:600}.data-table tbody th[scope=row]:not([data-label]){font-size:1.125rem}}.stats{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1rem;margin:0 0 1rem;display:grid}.stat{background:var(--color-surface);border:1px solid #d0d7de;border-left:4px solid var(--color-brand);border-radius:var(--radius);padding:1rem}.stat dt{color:var(--color-muted);font-weight:600}.stat__value{font-variant-numeric:tabular-nums;margin:.25rem 0 0;font-size:1.75rem;font-weight:700}.stat--alert{border-left-color:var(--color-error)}.stat--alert .stat__value{color:var(--color-error)}.breakdowns{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1rem;margin-bottom:1rem;display:grid}.dashboard__panel{min-width:0}.dashboard__panel h2{margin-top:0}@media (width<=30rem){.dashboard__panel{padding:1rem}}.compact-table{border-collapse:collapse;width:100%}.compact-table caption{text-align:left;padding-bottom:.25rem;font-weight:600}.compact-table th,.compact-table td{text-align:left;font-variant-numeric:tabular-nums;border-bottom:1px solid #d0d7de;padding:.375rem .5rem}.compact-table thead th{color:var(--color-muted);font-size:.875rem}.compact-table tbody th{white-space:nowrap;font-weight:400}.breakdown th:first-child{width:6rem}.breakdown__cell{align-items:center;gap:.75rem;display:flex}.breakdown__count{min-width:2ch;font-weight:600}.breakdown__track{background:var(--color-bg);border-radius:var(--radius);flex:1;height:.75rem}.breakdown__bar{background:var(--color-brand);border-radius:var(--radius);height:100%;display:block}.trend{gap:1.5rem;display:grid}@media (width>=52rem){.trend{grid-template-columns:minmax(0,1fr) 16rem;align-items:start}}.chart-legend{gap:1rem;margin:0 0 .75rem;padding:0;font-size:.875rem;list-style:none;display:flex}.chart-legend li{align-items:center;gap:.375rem;display:flex}.chart-legend__swatch{border-radius:2px;width:.875rem;height:.875rem}.chart-legend__swatch--created,.chart__bar--created{background:var(--color-brand);fill:var(--color-brand)}.chart-legend__swatch--solved,.chart__bar--solved{fill:#1a7f37;background:#1a7f37}.chart{color:var(--color-muted);grid-template-rows:12rem auto;grid-template-columns:2rem minmax(0,1fr);column-gap:.25rem;font-size:.75rem;display:grid}.chart__y{position:relative}.chart__y span{font-variant-numeric:tabular-nums;position:absolute;right:0;transform:translateY(50%)}.chart__plot{width:100%;height:100%;overflow:visible}.chart__grid{stroke:#d0d7de;stroke-width:1px}.chart__x{text-align:center;font-variant-numeric:tabular-nums;grid-column:2;padding-top:.25rem;display:grid}
