:root {
    --blue-950: #031f45;
    --blue-900: #063b7a;
    --blue-800: #0a4b94;
    --blue-700: #165da8;
    --blue-100: #e8f1fb;
    --blue-50: #f4f8fd;
    --green-700: #58820b;
    --green-600: #6d9811;
    --green-500: #96c11f;
    --green-100: #edf6d9;
    --red-700: #a92b2b;
    --red-100: #fdeaea;
    --amber-700: #9a5b07;
    --amber-100: #fff1cc;
    --gray-950: #17202b;
    --gray-800: #2f3a46;
    --gray-700: #465361;
    --gray-600: #66727f;
    --gray-500: #82909f;
    --gray-300: #cbd3dc;
    --gray-200: #dfe5eb;
    --gray-100: #edf1f4;
    --gray-50: #f6f8fa;
    --white: #fff;
    --shadow-sm: 0 1px 3px rgba(3, 31, 69, .08);
    --shadow-md: 0 10px 30px rgba(3, 31, 69, .1);
    --radius-sm: 8px;
    --radius: 14px;
    --radius-lg: 22px;
    --content: 1440px;
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--gray-950);
    background: var(--gray-50);
    font-synthesis: none;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-height: 100vh; background: var(--gray-50); color: var(--gray-950); line-height: 1.45; }
img { max-width: 100%; display: block; }
a { color: var(--blue-800); text-decoration: none; }
a:hover { color: var(--blue-950); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: .4rem; font-size: clamp(1.75rem, 3vw, 2.55rem); line-height: 1.12; letter-spacing: -.035em; }
h2 { margin-bottom: .35rem; font-size: 1.2rem; line-height: 1.25; }
small { color: var(--gray-600); }
code { padding: .1rem .3rem; background: var(--gray-100); border-radius: 5px; }

.app-header { position: sticky; z-index: 20; top: 0; color: var(--white); background: linear-gradient(110deg, var(--blue-950), var(--blue-900) 72%, #0d579e); box-shadow: 0 2px 14px rgba(3, 31, 69, .2); }
.header-inner, .nav-inner, .app-main, .app-footer { width: min(100% - 36px, var(--content)); margin-inline: auto; }
.header-inner { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 12px; color: var(--white); }
.brand:hover { color: var(--white); }
.brand img { width: 46px; height: 54px; object-fit: contain; filter: drop-shadow(0 2px 5px rgba(0,0,0,.15)); }
.brand span, .user-identity { display: flex; flex-direction: column; }
.brand strong { letter-spacing: .07em; font-size: 1rem; }
.brand small, .user-identity small { color: rgba(255,255,255,.7); }
.user-menu { display: flex; align-items: center; gap: 18px; }
.user-identity { text-align: right; }
.user-identity strong { font-size: .9rem; }
.main-nav { background: rgba(0, 0, 0, .13); border-top: 1px solid rgba(255,255,255,.1); }
.nav-inner { display: flex; align-items: stretch; gap: 4px; overflow-x: auto; scrollbar-width: none; }
.nav-inner::-webkit-scrollbar { display: none; }
.main-nav a { position: relative; flex: 0 0 auto; padding: 12px 14px 13px; color: rgba(255,255,255,.78); font-size: .86rem; font-weight: 650; }
.main-nav a:hover, .main-nav a.is-active { color: var(--white); }
.main-nav a.is-active::after { content: ""; position: absolute; left: 13px; right: 13px; bottom: 0; height: 3px; border-radius: 3px 3px 0 0; background: var(--green-500); }

.app-main { min-height: calc(100vh - 170px); padding-block: 34px 60px; }
.app-footer { display: flex; justify-content: space-between; gap: 16px; padding-block: 22px; border-top: 1px solid var(--gray-200); color: var(--gray-600); font-size: .78rem; }
.page-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 24px; }
.page-heading p:not(.eyebrow) { max-width: 700px; margin-bottom: 0; color: var(--gray-600); }
.eyebrow { margin-bottom: 6px; color: var(--blue-700); font-size: .72rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.count-chip { padding: 8px 12px; border: 1px solid var(--gray-200); border-radius: 999px; background: var(--white); color: var(--gray-600); font-size: .8rem; font-weight: 700; white-space: nowrap; }
.live-indicator { display: inline-flex; align-items: center; gap: 7px; color: var(--green-700); font-size: .78rem; font-weight: 750; white-space: nowrap; }
.live-indicator > span { width: 8px; height: 8px; border-radius: 50%; background: var(--green-500); box-shadow: 0 0 0 4px var(--green-100); }

.metrics-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 22px; }
.metric-card { min-height: 142px; padding: 22px; display: flex; flex-direction: column; justify-content: space-between; border: 1px solid var(--gray-200); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }
.metric-card span { color: var(--gray-700); font-weight: 700; font-size: .88rem; }
.metric-card strong { color: var(--blue-900); font-size: 2.25rem; line-height: 1; }
.metric-card small { font-size: .75rem; }
.metric-card.metric-primary { border-color: var(--blue-900); color: var(--white); background: linear-gradient(145deg, var(--blue-950), var(--blue-800)); }
.metric-card.metric-primary span, .metric-card.metric-primary strong, .metric-card.metric-primary small { color: var(--white); }
.metric-card.metric-warning { border-color: #f0b9b9; background: #fffafa; }
.metric-card.metric-warning strong { color: var(--red-700); }

.content-grid { display: grid; grid-template-columns: minmax(290px, .75fr) minmax(0, 1.65fr); gap: 22px; align-items: start; }
.content-grid-wide { grid-template-columns: minmax(0, 1.8fr) minmax(300px, .8fr); }
.panel { border: 1px solid var(--gray-200); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); overflow: hidden; }
.panel-header { min-height: 72px; display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 20px 22px; border-bottom: 1px solid var(--gray-100); }
.panel-header h2, .panel-header p { margin-bottom: 0; }
.panel-header p { margin-top: 4px; color: var(--gray-600); font-size: .82rem; }
.panel-header > a { font-size: .82rem; font-weight: 700; white-space: nowrap; }
.form-panel { position: sticky; top: 140px; }
.form-panel form { padding: 22px; }
.list-panel { min-width: 0; }

.form-stack, .form-grid { display: grid; gap: 15px; }
.form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.span-2 { grid-column: span 2; }
.form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
label { display: grid; gap: 7px; color: var(--gray-800); font-size: .82rem; font-weight: 720; }
label small { font-size: .72rem; font-weight: 500; }
.optional { color: var(--gray-500); font-size: .72rem; font-weight: 500; }
input, select, textarea { width: 100%; min-height: 44px; border: 1px solid var(--gray-300); border-radius: var(--radius-sm); background: var(--white); color: var(--gray-950); padding: 10px 12px; outline: 0; transition: border-color .15s, box-shadow .15s; }
textarea { resize: vertical; }
input:focus, select:focus, textarea:focus { border-color: var(--blue-700); box-shadow: 0 0 0 3px rgba(22, 93, 168, .13); }
input[type="checkbox"] { width: 20px; min-height: 20px; accent-color: var(--blue-800); }
input[type="file"] { min-height: 48px; padding: 7px; font-weight: 500; }
fieldset { margin: 0; padding: 16px; display: grid; gap: 13px; border: 1px solid var(--gray-200); border-radius: var(--radius-sm); }
legend { padding: 0 8px; color: var(--blue-900); font-size: .82rem; font-weight: 800; }
.check-row { grid-template-columns: 22px 1fr; align-items: start; padding: 12px; border: 1px solid var(--gray-200); border-radius: var(--radius-sm); background: var(--gray-50); }
.check-row span { display: grid; gap: 2px; }
.check-row small { font-weight: 500; }

.btn { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 9px 15px; border: 1px solid transparent; border-radius: var(--radius-sm); font-weight: 760; font-size: .86rem; line-height: 1.1; transition: transform .12s, background .15s, border-color .15s; }
.btn:hover { transform: translateY(-1px); }
.btn:disabled { cursor: not-allowed; opacity: .5; transform: none; }
.btn-primary { color: var(--white); background: var(--blue-900); }
.btn-primary:hover { color: var(--white); background: var(--blue-950); }
.btn-success { color: var(--white); background: var(--green-700); }
.btn-success:hover { color: var(--white); background: #466a07; }
.btn-danger { color: var(--white); background: var(--red-700); }
.btn-dark { color: var(--white); background: var(--gray-950); }
.btn-secondary { color: var(--blue-900); border-color: var(--blue-100); background: var(--blue-50); }
.btn-quiet { color: var(--gray-700); border-color: var(--gray-200); background: var(--white); }
.app-header .btn-quiet { color: var(--white); border-color: rgba(255,255,255,.32); background: rgba(255,255,255,.08); }
.btn-small { min-height: 34px; padding: 7px 10px; font-size: .75rem; }
.btn-block { width: 100%; }

.alert { margin-bottom: 18px; padding: 13px 15px; border: 1px solid; border-radius: var(--radius-sm); font-size: .86rem; font-weight: 650; }
.alert-success { color: var(--green-700); border-color: #cadfa2; background: var(--green-100); }
.alert-error { color: var(--red-700); border-color: #efbebe; background: var(--red-100); }
.empty-state { min-height: 180px; padding: 32px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; text-align: center; color: var(--gray-600); }
.empty-state strong { color: var(--gray-800); }
.empty-state.compact { min-height: 110px; }
.empty-state.large { min-height: 320px; }
.empty-icon { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 50%; color: var(--green-700); background: var(--green-100); font-size: 1.5rem; font-weight: 800; }

.table-wrap { width: 100%; overflow-x: auto; }
table { width: 100%; border-collapse: collapse; text-align: left; font-size: .82rem; }
th { padding: 11px 14px; border-bottom: 1px solid var(--gray-200); color: var(--gray-600); background: var(--gray-50); font-size: .68rem; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
td { padding: 14px; border-bottom: 1px solid var(--gray-100); vertical-align: top; }
tbody tr:last-child td { border-bottom: 0; }
td strong, td small { display: block; }
td small { margin-top: 3px; font-size: .72rem; }
.table-actions { display: flex; align-items: center; gap: 7px; white-space: nowrap; }
.table-actions form { margin: 0; }
.badge { display: inline-flex; align-items: center; min-height: 25px; padding: 4px 9px; border-radius: 999px; font-size: .68rem; font-weight: 800; white-space: nowrap; }
.badge-green { color: var(--green-700); background: var(--green-100); }
.badge-blue { color: var(--blue-800); background: var(--blue-100); }
.badge-red { color: var(--red-700); background: var(--red-100); }
.badge-amber { color: var(--amber-700); background: var(--amber-100); }
.badge-gray { color: var(--gray-700); background: var(--gray-100); }

.timeline, .activity-feed { margin: 0; padding: 16px 20px 22px; list-style: none; }
.timeline li { position: relative; display: grid; grid-template-columns: 14px 1fr; gap: 10px; padding: 8px 0 14px; }
.timeline li:not(:last-child)::before { content: ""; position: absolute; left: 5px; top: 20px; bottom: -3px; width: 1px; background: var(--gray-200); }
.timeline-dot { width: 11px; height: 11px; margin-top: 4px; border: 3px solid var(--blue-100); border-radius: 50%; background: var(--blue-700); }
.timeline strong, .timeline small { display: block; }
.timeline strong { font-size: .8rem; }
.timeline small { margin-top: 3px; font-size: .69rem; }
.full-timeline { padding: 26px; }
.full-timeline p { margin: 3px 0; color: var(--gray-700); font-size: .8rem; }

.auth-body { display: grid; min-height: 100vh; place-items: center; padding: 28px; background: radial-gradient(circle at 15% 15%, #e4effb, transparent 35%), linear-gradient(145deg, #f8fafc, #edf3f8); }
.auth-shell { width: min(100%, 430px); }
.setup-shell { width: min(100%, 560px); }
.auth-card { padding: 30px; border: 1px solid rgba(3,31,69,.11); border-radius: var(--radius-lg); background: rgba(255,255,255,.97); box-shadow: 0 24px 70px rgba(3,31,69,.16); }
.auth-brand { display: flex; align-items: center; gap: 15px; margin-bottom: 25px; }
.auth-brand-centered { flex-direction: column; text-align: center; }
.auth-logo { width: 82px; height: 96px; object-fit: contain; }
.auth-brand div { display: flex; flex-direction: column; }
.auth-brand strong { color: var(--blue-900); font-size: 1.18rem; letter-spacing: .08em; }
.auth-brand span { color: var(--gray-600); font-size: .82rem; }
.auth-heading { margin-bottom: 22px; text-align: center; }
.auth-heading h1 { margin-bottom: 5px; font-size: 1.55rem; }
.auth-heading p, .auth-help, .muted { color: var(--gray-600); }
.auth-help { margin: 20px 0 0; font-size: .75rem; text-align: center; }
.connection-status { margin-bottom: 18px; display: flex; align-items: center; gap: 8px; padding: 11px 13px; border-radius: var(--radius-sm); font-size: .8rem; font-weight: 750; }
.connection-status.is-ok { color: var(--green-700); background: var(--green-100); }
.connection-status.is-error { color: var(--red-700); background: var(--red-100); }
.status-dot { width: 9px; height: 9px; border-radius: 50%; background: currentColor; }
.success-panel { text-align: center; }
.success-panel p { color: var(--gray-600); }

.filter-bar { margin-bottom: 18px; padding: 13px; display: flex; align-items: end; gap: 12px; border: 1px solid var(--gray-200); border-radius: var(--radius); background: var(--white); }
.filter-bar label { min-width: 150px; }
.filter-bar .btn { margin-left: auto; }

.assignment-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.assignment-card { padding: 22px; border: 1px solid var(--gray-200); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }
.assignment-card.is-live { border-color: #b9d884; box-shadow: 0 10px 34px rgba(88,130,11,.1); }
.assignment-card > header { min-height: 28px; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.assignment-card h2 { margin-bottom: 2px; font-size: 1.25rem; }
.assignment-client { color: var(--gray-600); font-size: .82rem; }
.assignment-details { margin: 20px 0; display: grid; gap: 10px; }
.assignment-details div { display: grid; grid-template-columns: 120px 1fr; gap: 8px; }
.assignment-details dt { color: var(--gray-500); font-size: .72rem; }
.assignment-details dd { margin: 0; color: var(--gray-800); font-size: .78rem; font-weight: 650; }
.assignment-card .gps-form { margin-top: 18px; }

.service-hero { margin-bottom: 16px; padding: 24px 26px; display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; border: 1px solid var(--gray-200); border-radius: var(--radius); background: var(--white); }
.service-hero.is-live { color: var(--white); border-color: var(--blue-900); background: linear-gradient(120deg, var(--blue-950), var(--blue-800)); }
.service-hero.is-live .eyebrow, .service-hero.is-live p, .service-hero.is-live small, .service-hero.is-live .back-link { color: rgba(255,255,255,.78); }
.service-hero h1 { font-size: clamp(1.55rem, 4vw, 2.4rem); }
.service-hero p { margin-bottom: 0; color: var(--gray-600); }
.back-link { display: inline-block; margin-bottom: 15px; font-size: .78rem; font-weight: 700; }
.service-state { display: flex; flex-direction: column; align-items: flex-end; gap: 7px; text-align: right; }
.progress-panel { margin-bottom: 16px; padding: 16px 20px; display: grid; grid-template-columns: minmax(210px, .35fr) 1fr; align-items: center; gap: 24px; border: 1px solid var(--gray-200); border-radius: var(--radius); background: var(--white); }
.progress-copy { display: flex; flex-direction: column; }
.progress-copy span { color: var(--gray-600); font-size: .75rem; }
.progress-track { width: 100%; height: 10px; overflow: hidden; border: 0; border-radius: 999px; background: var(--gray-100); }
.progress-track::-webkit-progress-bar { border-radius: 999px; background: var(--gray-100); }
.progress-track::-webkit-progress-value { border-radius: 999px; background: linear-gradient(90deg, var(--green-700), var(--green-500)); }
.progress-track::-moz-progress-bar { border-radius: 999px; background: linear-gradient(90deg, var(--green-700), var(--green-500)); }
.section-tabs { position: sticky; z-index: 10; top: 124px; margin-bottom: 28px; display: flex; gap: 6px; padding: 8px; overflow-x: auto; border: 1px solid var(--gray-200); border-radius: var(--radius); background: rgba(255,255,255,.94); backdrop-filter: blur(8px); }
.section-tabs a { flex: 1 0 auto; padding: 8px 12px; border-radius: 7px; color: var(--gray-700); font-size: .78rem; font-weight: 750; text-align: center; }
.section-tabs a:hover { color: var(--blue-900); background: var(--blue-50); }
.section-block { margin-bottom: 28px; scroll-margin-top: 185px; }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 14px; }
.section-heading h2, .section-heading p { margin-bottom: 0; }
.section-heading > span { color: var(--gray-600); font-size: .78rem; }
.point-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.point-card { border: 1px solid var(--gray-200); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); overflow: hidden; }
.point-card.is-done { border-color: #c9dda5; }
.point-card summary { padding: 15px; display: grid; grid-template-columns: 42px 1fr 30px; align-items: center; gap: 12px; cursor: pointer; list-style: none; }
.point-card summary::-webkit-details-marker { display: none; }
.point-number { width: 38px; height: 38px; display: inline-grid; place-items: center; border-radius: 10px; color: var(--blue-900); background: var(--blue-100); font-size: .85rem; font-weight: 850; }
.point-card.is-done .point-number { color: var(--green-700); background: var(--green-100); }
.point-copy { display: flex; flex-direction: column; min-width: 0; }
.point-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .88rem; }
.point-copy small { font-size: .7rem; }
.point-state { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; color: var(--blue-900); background: var(--blue-50); font-weight: 800; }
.point-card.is-done .point-state { color: var(--green-700); background: var(--green-100); }
.point-description { margin: 0; padding: 0 16px 12px; color: var(--gray-600); font-size: .78rem; }
.point-form { padding: 16px; border-top: 1px solid var(--gray-100); background: var(--gray-50); }
.gps-status { padding: 10px 12px; border-radius: 7px; color: var(--gray-600); background: var(--gray-100); font-size: .72rem; font-weight: 600; }
.gps-status.is-loading { color: var(--blue-800); background: var(--blue-100); }
.gps-status.is-ok { color: var(--green-700); background: var(--green-100); }
.gps-status.is-error { color: var(--red-700); background: var(--red-100); }
.danger-panel { border-top: 4px solid var(--red-700); }
.danger-panel form, .finish-panel form { padding: 22px; }
.finish-panel { border-top: 4px solid var(--gray-950); }
.activity-feed { padding: 6px 22px 22px; }
.activity-item { display: grid; grid-template-columns: 58px 1fr; gap: 14px; padding: 17px 0; border-bottom: 1px solid var(--gray-100); }
.activity-item:last-child { border-bottom: 0; }
.activity-time { color: var(--blue-800); font-size: .8rem; font-weight: 850; }
.activity-item.is-incident .activity-time { color: var(--red-700); }
.activity-item p { margin: 3px 0; color: var(--gray-700); font-size: .8rem; }
.evidence-link, .map-link { display: inline-block; margin-top: 5px; margin-right: 10px; font-size: .75rem; font-weight: 760; }

.point-admin-list { padding: 8px 18px; }
.point-admin-row { display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--gray-100); }
.point-admin-row:last-child { border-bottom: 0; }
.point-admin-row > div:nth-child(2) { display: flex; flex-direction: column; }
.point-admin-row.is-inactive { opacity: .55; }
.incident-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.incident-card { padding: 21px; border: 1px solid var(--gray-200); border-left: 5px solid var(--blue-700); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-sm); }
.incident-card.severity-medium { border-left-color: var(--amber-700); }
.incident-card.severity-high { border-left-color: var(--red-700); }
.incident-card > header, .incident-card > footer { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.incident-card > header div { display: flex; flex-wrap: wrap; gap: 6px; }
.incident-card time { color: var(--gray-500); font-size: .72rem; white-space: nowrap; }
.incident-card h2 { margin-top: 18px; }
.incident-card > p { color: var(--gray-700); font-size: .84rem; white-space: normal; }
.incident-card dl { margin: 18px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.incident-card dt { color: var(--gray-500); font-size: .68rem; }
.incident-card dd { margin: 2px 0 0; font-size: .78rem; font-weight: 650; }
.inline-form { display: flex; align-items: center; gap: 7px; }
.inline-form select { min-height: 34px; padding: 6px 9px; font-size: .75rem; }
.report-metrics { margin-top: 0; }

@media (max-width: 1100px) {
    .metrics-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .assignment-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .content-grid, .content-grid-wide { grid-template-columns: 1fr; }
    .form-panel { position: static; }
}

@media (max-width: 760px) {
    .header-inner, .nav-inner, .app-main, .app-footer { width: min(100% - 24px, var(--content)); }
    .header-inner { min-height: 68px; }
    .brand img { width: 38px; height: 46px; }
    .brand strong { font-size: .86rem; }
    .brand small { font-size: .68rem; }
    .user-identity { display: none; }
    .main-nav { margin-inline: -12px; }
    .nav-inner { width: 100%; padding-inline: 12px; }
    .main-nav a { padding: 11px 10px 12px; font-size: .75rem; }
    .app-main { padding-block: 24px 44px; }
    .page-heading { align-items: flex-start; }
    .page-heading .btn { width: 100%; margin-top: 8px; }
    .metrics-grid { gap: 10px; }
    .metric-card { min-height: 118px; padding: 16px; }
    .metric-card strong { font-size: 1.85rem; }
    .panel-header { padding: 17px; }
    .form-panel form, .danger-panel form, .finish-panel form { padding: 17px; }
    .form-grid, .form-row { grid-template-columns: 1fr; }
    .span-2 { grid-column: auto; }
    .filter-bar { align-items: stretch; flex-direction: column; }
    .filter-bar label { min-width: 0; }
    .filter-bar .btn { width: 100%; margin-left: 0; }
    .assignment-list, .incident-grid, .point-grid { grid-template-columns: 1fr; }
    .service-hero { align-items: flex-start; flex-direction: column; padding: 20px; }
    .service-state { align-items: flex-start; text-align: left; }
    .progress-panel { grid-template-columns: 1fr; gap: 12px; }
    .section-tabs { top: 116px; margin-inline: -4px; }
    .point-card summary { grid-template-columns: 40px 1fr 28px; gap: 9px; }
    .point-copy strong { white-space: normal; }
    .incident-card > footer { align-items: stretch; flex-direction: column; }
    .inline-form { width: 100%; }
    .inline-form select { flex: 1; }
    .point-admin-row { grid-template-columns: 40px 1fr; }
    .point-admin-row .table-actions { grid-column: 2; flex-wrap: wrap; }
    .auth-body { padding: 14px; }
    .auth-card { padding: 23px 19px; }
}

@media (max-width: 480px) {
    .metrics-grid { grid-template-columns: 1fr 1fr; }
    .metric-card { min-height: 108px; }
    .metric-card small { display: none; }
    .page-heading { flex-direction: column; gap: 10px; margin-bottom: 20px; }
    .page-heading h1 { font-size: 1.75rem; }
    .count-chip { align-self: flex-start; }
    .assignment-details div { grid-template-columns: 105px 1fr; }
    .activity-item { grid-template-columns: 45px 1fr; }
    .app-footer { flex-direction: column; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

