:root {
    --ts-navy-950: #173a50;
    --ts-navy-900: #214e68;
    --ts-navy-800: #2c5e78;
    --ts-blue-700: #214e68;
    --ts-blue-600: #32677f;
    --ts-blue-100: #dfeaf0;
    --ts-blue-50: #e8f0f5;
    --ts-teal-700: #117f78;
    --ts-teal-600: #159a91;
    --ts-teal-50: #e2f5f2;
    --ts-purple-700: #6941c6;
    --ts-orange-700: #b54708;
    --ts-green-700: #067647;
    --ts-red-700: #b42318;
    --ts-ink: #2e3941;
    --ts-text: #3f4c54;
    --ts-muted: #66747d;
    --ts-section-heading: #536872;
    --ts-section-heading-weight: 450;
    --ts-line: #d3dde0;
    --ts-page: #eef2f3;
    --ts-surface: #ffffff;
    --ts-sidebar-width: 276px;
    --ts-topbar-height: 78px;
    --ts-workspace-gutter: 29px;
    --ts-shadow-sm: 0 5px 18px rgba(16, 24, 40, 0.055);
    --ts-shadow-md: 0 14px 34px rgba(16, 42, 67, 0.14);
}

/* Dashboard components */
.taysis-dashboard-v2 {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.taysis-page-welcome {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    padding: 3px 2px 2px;
}

.taysis-kicker {
    display: block;
    margin-bottom: 7px;
    color: var(--ts-teal-700);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 1.35px;
}

.taysis-page-welcome h1,
.taysis-section-bar h2,
.taysis-light-panel-heading h2,
.taysis-plate-search-copy h2 {
    margin: 0;
    color: var(--ts-ink);
    font-weight: 740;
    letter-spacing: -0.35px;
}

.taysis-page-welcome h1 {
    font-size: clamp(28px, 3vw, 38px);
}

.taysis-page-welcome p {
    margin: 7px 0 0;
    color: var(--ts-muted);
    font-size: 14px;
}

.taysis-preview-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 11px;
    color: var(--ts-teal-700);
    border: 1px solid #bde0dc;
    border-radius: 9px;
    background: var(--ts-teal-50);
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
}

.taysis-preview-badge .taysis-icon {
    width: 14px;
    height: 14px;
}

.taysis-plate-search-panel {
    display: grid;
    padding: 25px 27px;
    align-items: center;
    grid-template-columns: minmax(320px, 0.9fr) minmax(390px, 1.1fr);
    gap: 16px 28px;
    border: 1px solid #cddadd;
    border-left: 4px solid var(--ts-teal-600);
    border-radius: 15px;
    background:
        radial-gradient(circle at 92% 18%, rgba(21, 154, 145, 0.11), transparent 25%),
        linear-gradient(110deg, #fff 0%, #f4f8f8 100%);
    box-shadow: 0 7px 22px rgba(46, 57, 65, 0.05);
}

.taysis-plate-search-copy {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 15px;
}

.taysis-search-symbol {
    display: inline-flex;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    flex: 0 0 48px;
    color: var(--ts-teal-700);
    border: 1px solid #c8e6e2;
    border-radius: 12px;
    background: var(--ts-teal-50);
}

.taysis-search-symbol .taysis-icon {
    width: 22px;
    height: 22px;
}

.taysis-plate-search-copy > div > span {
    display: block;
    margin-bottom: 4px;
    color: var(--ts-teal-700);
    font-size: 9px;
    font-weight: 850;
    letter-spacing: 1.25px;
}

.taysis-plate-search-copy h2 {
    font-size: 21px;
}

.taysis-plate-search-copy p {
    margin: 5px 0 0;
    color: var(--ts-muted);
    font-size: 12px;
    line-height: 1.5;
}

.taysis-plate-search-form {
    display: flex;
    height: 50px;
    padding: 4px;
    border: 1px solid #cbd7da;
    border-radius: 11px;
    background: #fff;
    box-shadow: 0 3px 10px rgba(46, 57, 65, 0.04);
}

.taysis-plate-search-form input {
    min-width: 0;
    flex: 1;
    padding: 0 13px;
    color: var(--ts-ink);
    border: 0;
    outline: 0;
    background: transparent;
    font-size: 13px;
}

.taysis-plate-search-form input::placeholder {
    color: #94a0a6;
}

.taysis-plate-search-form button {
    display: inline-flex;
    min-width: 92px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    color: #fff;
    border: 0;
    border-radius: 8px;
    background: var(--ts-teal-600);
    font-size: 12px;
    font-weight: 800;
    opacity: 0.72;
}

.taysis-plate-search-form button .taysis-icon {
    width: 15px;
    height: 15px;
}

.taysis-planned-note {
    grid-column: 2;
    margin-top: -9px;
    color: #7f8d94;
    font-size: 9.5px;
}

.taysis-section-bar {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-top: 2px;
}

.taysis-section-bar h2,
.taysis-light-panel-heading h2 {
    font-size: 20px;
}

.taysis-section-bar > span {
    color: #7b898f;
    font-size: 10px;
}

.taysis-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 15px;
}

.taysis-summary-card {
    position: relative;
    display: flex;
    min-height: 124px;
    align-items: center;
    gap: 14px;
    padding: 19px;
    overflow: hidden;
    border: 1px solid var(--ts-line);
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 4px 15px rgba(46, 57, 65, 0.04);
}

.taysis-summary-card::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 3px;
    background: var(--summary-color, var(--ts-teal-600));
    content: '';
}

.taysis-summary-card.aqua {
    --summary-color: var(--ts-teal-600);
    --summary-soft: var(--ts-teal-50);
}

.taysis-summary-card.navy {
    --summary-color: var(--ts-navy-900);
    --summary-soft: var(--ts-blue-50);
}

.taysis-summary-card.graphite {
    --summary-color: #65747c;
    --summary-soft: #edf1f2;
}

.taysis-summary-icon {
    display: inline-flex;
    width: 43px;
    height: 43px;
    align-items: center;
    justify-content: center;
    flex: 0 0 43px;
    color: var(--summary-color);
    border-radius: 10px;
    background: var(--summary-soft);
}

.taysis-summary-icon .taysis-icon {
    width: 20px;
    height: 20px;
}

.taysis-summary-card div > span,
.taysis-summary-card strong,
.taysis-summary-card small {
    display: block;
}

.taysis-summary-card div > span {
    color: #66757d;
    font-size: 11px;
    font-weight: 700;
}

.taysis-summary-card strong {
    margin-top: 5px;
    color: var(--ts-ink);
    font-size: 25px;
    line-height: 1;
}

.taysis-summary-card small {
    margin-top: 7px;
    color: #89969d;
    font-size: 9.5px;
}

.taysis-dashboard-columns {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.72fr);
    gap: 15px;
}

.taysis-dashboard-columns-lower {
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.82fr);
}

.taysis-light-panel {
    overflow: hidden;
    border: 1px solid var(--ts-line);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 4px 16px rgba(46, 57, 65, 0.04);
}

.taysis-light-panel-heading {
    display: flex;
    min-height: 75px;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 17px 20px;
    border-bottom: 1px solid #e2e8ea;
    background: #fbfcfc;
}

.taysis-soft-status {
    padding: 5px 8px;
    color: #596970;
    border: 1px solid #d5dee1;
    border-radius: 7px;
    background: #eef2f3;
    font-size: 9px;
    font-weight: 800;
    white-space: nowrap;
}

.taysis-soft-status.aqua {
    color: var(--ts-teal-700);
    border-color: #c4e3df;
    background: var(--ts-teal-50);
}

.taysis-workspace-list {
    padding: 4px 20px 8px;
}

.taysis-workspace-row {
    display: grid;
    min-height: 78px;
    align-items: center;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 13px;
    padding: 14px 0;
    border-bottom: 1px solid #e8edef;
}

.taysis-workspace-row:last-child {
    border-bottom: 0;
}

.taysis-workspace-icon {
    display: inline-flex;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    color: var(--row-color, var(--ts-teal-700));
    border-radius: 9px;
    background: var(--row-soft, var(--ts-teal-50));
}

.taysis-workspace-row.navy {
    --row-color: var(--ts-navy-900);
    --row-soft: var(--ts-blue-50);
}

.taysis-workspace-row.graphite {
    --row-color: #5f6e76;
    --row-soft: #edf1f2;
}

.taysis-workspace-icon .taysis-icon {
    width: 18px;
    height: 18px;
}

.taysis-workspace-row strong,
.taysis-workspace-row small {
    display: block;
}

.taysis-workspace-row strong {
    color: var(--ts-ink);
    font-size: 12.5px;
}

.taysis-workspace-row small {
    margin-top: 5px;
    color: #75838a;
    font-size: 10px;
}

.taysis-workspace-row > span:last-child {
    color: #748289;
    font-size: 9px;
    font-weight: 750;
}

.taysis-empty-work {
    display: flex;
    min-height: 234px;
    align-items: center;
    justify-content: center;
    padding: 28px;
    flex-direction: column;
    text-align: center;
}

.taysis-empty-work > span {
    display: inline-flex;
    width: 50px;
    height: 50px;
    align-items: center;
    justify-content: center;
    color: #6d7c83;
    border: 1px solid #d9e1e3;
    border-radius: 50%;
    background: #f1f4f5;
}

.taysis-empty-work > span .taysis-icon {
    width: 21px;
    height: 21px;
}

.taysis-empty-work strong {
    margin-top: 14px;
    color: var(--ts-ink);
    font-size: 12px;
}

.taysis-empty-work p {
    max-width: 290px;
    margin: 7px 0 0;
    color: #7b898f;
    font-size: 10px;
    line-height: 1.55;
}

.taysis-quick-grid {
    display: grid;
    padding: 18px 20px 21px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.taysis-quick-grid > span {
    display: flex;
    min-height: 90px;
    align-items: flex-start;
    padding: 13px;
    color: var(--ts-teal-700);
    border: 1px solid #dce4e6;
    border-radius: 10px;
    background: #f8fafa;
    flex-direction: column;
}

.taysis-quick-grid .taysis-icon {
    width: 18px;
    height: 18px;
}

.taysis-quick-grid strong {
    margin-top: 10px;
    color: var(--ts-ink);
    font-size: 10.5px;
}

.taysis-quick-grid small {
    margin-top: 3px;
    color: #8b979d;
    font-size: 8.5px;
}

.taysis-progress-copy {
    padding: 20px;
}

.taysis-progress-copy > strong {
    color: var(--ts-ink);
    font-size: 12px;
}

.taysis-progress-copy p {
    margin: 7px 0 15px;
    color: #738087;
    font-size: 10px;
    line-height: 1.55;
}

.taysis-progress-track {
    height: 7px;
    overflow: hidden;
    border-radius: 99px;
    background: #e4eaec;
}

.taysis-progress-track span {
    display: block;
    width: 33.333%;
    height: 100%;
    border-radius: inherit;
    background: var(--ts-teal-600);
}

.taysis-progress-copy small {
    display: block;
    margin-top: 8px;
    color: #839097;
    font-size: 9px;
}

.taysis-progress-copy small b {
    color: var(--ts-teal-700);
}

@media (max-width: 1220px) {
    .taysis-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .taysis-dashboard-columns,
    .taysis-dashboard-columns-lower {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 820px) {
    .taysis-page-welcome {
        align-items: flex-start;
        flex-direction: column;
    }

    .taysis-plate-search-panel {
        grid-template-columns: 1fr;
    }

    .taysis-planned-note {
        grid-column: 1;
        margin-top: -7px;
    }

    .taysis-quick-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .taysis-page-welcome h1 {
        font-size: 28px;
    }

    .taysis-preview-badge {
        white-space: normal;
    }

    .taysis-plate-search-panel {
        padding: 20px;
    }

    .taysis-plate-search-copy {
        align-items: flex-start;
    }

    .taysis-plate-search-form button {
        min-width: 70px;
    }

    .taysis-section-bar {
        align-items: flex-start;
        flex-direction: column;
    }

    .taysis-summary-grid,
    .taysis-quick-grid {
        grid-template-columns: 1fr;
    }

    .taysis-workspace-row {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .taysis-workspace-row > span:last-child {
        display: none;
    }
}

/* Araç uygunluk modülü */
.taysis-form-row.three-columns {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.taysis-form-errors:empty {
    display: none;
}

.taysis-permit-check-card.is-blocked {
    border-color: #e0b8b1;
}

.taysis-suitability-context {
    margin-bottom: 18px;
}

.taysis-suitability-questions {
    overflow: hidden;
}

.taysis-suitability-question-list {
    display: grid;
}

.taysis-suitability-question {
    display: grid;
    min-height: 98px;
    align-items: center;
    gap: 14px;
    padding: 14px 18px;
    grid-template-columns: 38px minmax(280px, 1fr) 250px minmax(240px, 0.65fr);
    border-bottom: 1px solid #dce6e8;
    background: #fff;
    transition: background-color 160ms ease, box-shadow 160ms ease;
}

.taysis-suitability-question:last-child {
    border-bottom: 0;
}

.taysis-suitability-question.is-negative {
    background: linear-gradient(90deg, #fff7f3, #fff);
    box-shadow: inset 4px 0 #d46b55;
}

.taysis-question-number {
    display: inline-grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 10px;
    color: #1b6870;
    font-size: var(--ts-font-body);
    font-weight: 850;
    background: #e3f3f1;
}

.taysis-question-copy strong,
.taysis-question-copy small {
    display: block;
}

.taysis-question-copy strong {
    color: var(--ts-ink);
    font-size: var(--ts-font-body);
    line-height: 1.45;
}

.taysis-question-copy small {
    margin-top: 5px;
    color: #71838a;
    font-size: var(--ts-font-help);
}

.taysis-segmented-radios {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 7px;
}

.taysis-segmented-radios > div {
    margin: 0;
}

.taysis-segmented-radios label {
    display: flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 8px 10px;
    border: 1px solid #bfd1d5;
    border-radius: 10px;
    color: #34535d;
    font-size: var(--ts-font-body);
    font-weight: 750;
    cursor: pointer;
    background: #f8fbfb;
}

.taysis-segmented-radios input {
    accent-color: #129b8e;
}

.taysis-answer-note .form-control {
    min-height: 44px;
    font-size: var(--ts-font-body);
    transition: background-color 160ms ease, border-color 160ms ease, opacity 160ms ease;
}

.taysis-answer-note .form-control:disabled {
    border-color: #d7e1e3;
    color: #7d8d93;
    cursor: not-allowed;
    background: #f0f4f5;
    opacity: 0.78;
}

.taysis-suitability-question.is-negative .taysis-answer-note .form-control {
    border-color: #d9a89e;
    background: #fff;
}

.taysis-suitability-result-note {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 18px;
    padding: 15px 18px;
    border: 1px solid #badbd5;
    border-radius: 13px;
    color: #17695f;
    background: #eef9f6;
}

.taysis-suitability-result-note.is-negative {
    border-color: #e4b7ae;
    color: #9a4135;
    background: #fff2ef;
}

.taysis-suitability-result-note svg {
    width: 22px;
    height: 22px;
    flex: 0 0 auto;
}

.taysis-suitability-result-note strong,
.taysis-suitability-result-note p {
    display: block;
    margin: 0;
}

.taysis-suitability-result-note p {
    margin-top: 3px;
    color: #6b767b;
}

.taysis-suitability-answer-card .taysis-data-table th:first-child,
.taysis-suitability-answer-card .taysis-data-table td:first-child {
    width: 64px;
    text-align: center;
}

.taysis-suitability-general-note {
    margin-top: 18px;
}

.taysis-question-set-card + .taysis-question-set-card {
    margin-top: 18px;
}

.taysis-primary-button {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 15px;
    border: 1px solid #31b8aa;
    border-radius: 11px;
    color: #fff;
    font-size: var(--ts-font-body);
    font-weight: 800;
    text-decoration: none;
    background: linear-gradient(135deg, #168f88, #26788d);
    box-shadow: 0 8px 18px rgba(24, 124, 125, 0.18);
}

.taysis-primary-button:hover {
    color: #fff;
    transform: translateY(-1px);
}

@media (max-width: 1180px) {
    .taysis-suitability-question {
        grid-template-columns: 38px minmax(240px, 1fr) 230px;
    }

    .taysis-answer-note {
        grid-column: 2 / -1;
    }
}

@media (max-width: 760px) {
    .taysis-form-row.three-columns,
    .taysis-suitability-question {
        grid-template-columns: 1fr;
    }

    .taysis-question-number {
        justify-self: start;
    }

    .taysis-answer-note {
        grid-column: auto;
    }
}

.taysis-permit-check-card {
    overflow: hidden;
    border: 1px solid #bfd2d7;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(31, 73, 91, 0.08);
}

.taysis-permit-check-card > header {
    display: flex;
    min-height: 72px;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 14px 18px;
    border-bottom: 1px solid #d4e0e3;
    background: linear-gradient(105deg, #eef7f6, #e4edef);
}

.taysis-permit-check-card h2 {
    margin: 1px 0 0;
    color: var(--ts-section-heading);
    font-size: var(--ts-font-section-title);
}

.taysis-permit-check-list {
    display: grid;
    padding: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}

.taysis-permit-check-note {
    margin: 0 12px 12px;
}

.taysis-permit-check-list > div {
    display: grid;
    min-height: 65px;
    align-items: center;
    padding: 10px 12px;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 10px;
    border: 1px solid #d7e2e4;
    border-radius: 10px;
    background: #f9fbfb;
}

.taysis-permit-check-list > div > span {
    display: inline-flex;
    width: 32px;
    height: 32px;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
}

.taysis-permit-check-list .is-success > span {
    color: #087d68;
    background: #dff4ee;
}

.taysis-permit-check-list .is-error > span {
    color: #a84935;
    background: #f9e8e3;
}

.taysis-permit-check-list strong,
.taysis-permit-check-list small {
    display: block;
}

.taysis-permit-check-list strong {
    color: var(--ts-ink);
    font-size: var(--ts-font-body);
}

.taysis-permit-check-list small {
    margin-top: 3px;
    color: #6a7d85;
    font-size: var(--ts-font-help);
}

.taysis-route-readiness {
    border-bottom: 1px solid #dce5e7;
    background: #fbfdfd;
}

.taysis-route-readiness-summary {
    display: grid;
    min-height: 58px;
    align-items: center;
    margin: 14px 18px;
    padding: 10px 12px;
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 11px;
    border: 1px solid;
    border-radius: 11px;
}

.taysis-route-readiness-summary > span {
    display: inline-flex;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
}

.taysis-route-readiness-summary strong,
.taysis-route-readiness-summary small {
    display: block;
}

.taysis-route-readiness-summary strong {
    color: var(--ts-ink);
    font-size: var(--ts-font-body);
}

.taysis-route-readiness-summary small {
    margin-top: 3px;
    color: #61757d;
    font-size: var(--ts-font-help);
}

.taysis-route-readiness-details {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.taysis-route-readiness-summary.is-ready {
    border-color: #9fd8c9;
    background: #edf9f5;
}

.taysis-route-readiness-summary.is-ready > span {
    color: #087d68;
    background: #d8f1e9;
}

.taysis-route-readiness-summary.is-blocked {
    border-color: #e4b8ae;
    background: #fff7f4;
}

.taysis-route-readiness-summary.is-blocked > span {
    color: #a84935;
    background: #f9e8e3;
}

.taysis-route-document-list {
    border-top: 0;
}

@media (max-width: 760px) {
    .taysis-permit-check-list {
        grid-template-columns: 1fr;
    }
}

html {
    min-height: 100%;
    background: var(--ts-page);
    scroll-behavior: smooth;
}

body.taysis-app-body,
body.taysis-login-body {
    min-height: 100vh;
    margin: 0;
    color: var(--ts-text);
    background: var(--ts-page);
    font-family: "Inter", "Segoe UI", Arial, sans-serif;
    font-optical-sizing: auto;
    -webkit-font-smoothing: antialiased;
}

.taysis-app-body *,
.taysis-login-body * {
    box-sizing: border-box;
}

.taysis-icon {
    display: block;
    width: 1.2em;
    height: 1.2em;
    flex: 0 0 auto;
}

.taysis-shell {
    display: grid;
    min-height: 100vh;
    grid-template-columns: var(--ts-sidebar-width) minmax(0, 1fr);
}

.taysis-sidebar {
    position: fixed;
    z-index: 40;
    top: 0;
    bottom: 0;
    left: 0;
    display: flex;
    width: var(--ts-sidebar-width);
    min-height: 100vh;
    flex-direction: column;
    overflow-x: hidden;
    overflow-y: hidden;
    color: #d9e6f2;
    background:
        radial-gradient(circle at 20% 0, rgba(35, 119, 174, 0.23), transparent 30%),
        linear-gradient(180deg, var(--ts-navy-950) 0%, #0b2238 48%, #0f2e49 100%);
    box-shadow: 10px 0 34px rgba(7, 27, 46, 0.12);
}

.taysis-brand {
    display: flex;
    min-height: 68px;
    align-items: center;
    gap: 11px;
    padding: 10px 18px;
    color: #fff;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    text-decoration: none;
}

.taysis-brand:hover {
    color: #fff;
}

.taysis-brand-mark {
    display: inline-flex;
    width: 39px;
    height: 39px;
    align-items: center;
    justify-content: center;
    flex: 0 0 39px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 13px;
    color: #fff;
    background: linear-gradient(145deg, #2177d2, #079a96);
    box-shadow: 0 9px 20px rgba(0, 0, 0, 0.2);
}

.taysis-brand-mark .taysis-icon {
    width: 21px;
    height: 21px;
}

.taysis-brand-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

.taysis-brand-copy strong {
    color: #fff;
    font-size: 20px;
    font-weight: 800;
    letter-spacing: 1.4px;
    line-height: 1.05;
}

.taysis-brand-copy small {
    margin-top: 3px;
    color: #94b4cd;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.55px;
    text-transform: uppercase;
}

.taysis-navigation {
    min-height: 0;
    flex: 1;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 11px 12px;
    scrollbar-color: rgba(130, 201, 202, 0.58) transparent;
    scrollbar-width: thin;
    overscroll-behavior: contain;
}

.taysis-navigation::-webkit-scrollbar {
    width: 6px;
}

.taysis-navigation::-webkit-scrollbar-track {
    background: transparent;
}

.taysis-navigation::-webkit-scrollbar-thumb {
    min-height: 42px;
    border: 1px solid transparent;
    border-radius: 999px;
    background: rgba(130, 201, 202, 0.5);
    background-clip: padding-box;
}

.taysis-navigation::-webkit-scrollbar-thumb:hover {
    background: rgba(147, 224, 216, 0.72);
    background-clip: padding-box;
}

.taysis-nav-group + .taysis-nav-group {
    margin-top: 14px;
}

.taysis-nav-label {
    display: block;
    margin: 0 10px 5px;
    color: #6f91aa;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.4px;
}

.taysis-nav-item {
    position: relative;
    display: flex;
    min-height: 38px;
    align-items: center;
    gap: 10px;
    margin: 1px 0;
    padding: 4px 9px;
    color: #bad0e0;
    border: 1px solid transparent;
    border-radius: 10px;
    font-size: 13.5px;
    font-weight: 650;
    text-decoration: none;
    transition: background 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

button.taysis-nav-item {
    width: 100%;
    text-align: left;
    background: transparent;
}

.taysis-nav-item:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.065);
    transform: translateX(2px);
}

.taysis-nav-item.is-active {
    color: #fff;
    border-color: rgba(110, 205, 213, 0.14);
    background: linear-gradient(100deg, rgba(23, 92, 211, 0.32), rgba(7, 140, 140, 0.22));
    box-shadow: inset 3px 0 0 #49c6c2;
}

.taysis-nav-icon {
    display: inline-flex;
    width: 28px;
    height: 28px;
    align-items: center;
    justify-content: center;
    flex: 0 0 28px;
    color: #7fa8c5;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.045);
}

.taysis-nav-item:hover .taysis-nav-icon,
.taysis-nav-item.is-active .taysis-nav-icon {
    color: #baf8f3;
    background: rgba(255, 255, 255, 0.09);
}

.taysis-nav-icon .taysis-icon {
    width: 16px;
    height: 16px;
}

.taysis-nav-badge {
    margin-left: auto;
    padding: 3px 7px;
    color: #baf8f3;
    border-radius: 999px;
    background: rgba(7, 140, 140, 0.22);
    font-size: 10px;
    font-weight: 800;
}

.taysis-nav-entry {
    position: relative;
}

.taysis-nav-entry.has-submenu > .taysis-nav-item {
    padding-right: 40px;
}

.taysis-nav-submenu-toggle {
    position: absolute;
    z-index: 1;
    top: 6px;
    right: 5px;
    display: inline-flex;
    width: 28px;
    height: 28px;
    align-items: center;
    justify-content: center;
    padding: 0;
    color: #8eb0c7;
    border: 0;
    border-radius: 8px;
    background: transparent;
}

.taysis-nav-submenu-toggle:hover,
.taysis-nav-submenu-toggle:focus-visible {
    color: #d7fffb;
    background: rgba(255, 255, 255, 0.09);
}

.taysis-nav-submenu-toggle .taysis-icon {
    width: 14px;
    height: 14px;
    transition: transform 170ms ease;
}

.taysis-nav-entry.is-open > .taysis-nav-submenu-toggle .taysis-icon,
.taysis-nav-entry.is-open > .taysis-nav-item .taysis-nav-submenu-toggle .taysis-icon {
    transform: rotate(90deg);
}

.taysis-nav-submenu {
    display: none;
    margin: 3px 0 7px 20px;
    padding: 3px 0 3px 10px;
    border-left: 1px solid rgba(134, 196, 204, 0.24);
}

.taysis-nav-entry.is-open > .taysis-nav-submenu {
    display: grid;
    gap: 2px;
}

.taysis-nav-subitem {
    display: flex;
    min-height: 29px;
    align-items: center;
    gap: 8px;
    padding: 5px 8px;
    color: #a9c2d2;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 620;
    line-height: 1.25;
    text-decoration: none;
}

.taysis-nav-subitem > span {
    width: 6px;
    height: 6px;
    flex: 0 0 6px;
    border-radius: 999px;
    background: #6f9bad;
}

.taysis-nav-subitem:hover,
.taysis-nav-subitem:focus-visible {
    color: #fff;
    background: rgba(255, 255, 255, 0.065);
}

.taysis-nav-subitem.is-active {
    color: #e9fffc;
    background: rgba(14, 139, 134, 0.23);
    box-shadow: inset 2px 0 0 #55d0c8;
}

.taysis-nav-subitem.is-active > span {
    background: #68ded5;
    box-shadow: 0 0 0 3px rgba(104, 222, 213, 0.12);
}

.taysis-nav-subitem.is-taxi > span {
    background: #ffd84d;
    box-shadow: 0 0 0 3px rgba(255, 216, 77, 0.12);
}

.taysis-nav-subitem.is-public-bus > span {
    background: #ff8fc3;
    box-shadow: 0 0 0 3px rgba(255, 143, 195, 0.14);
}

.taysis-nav-subitem.is-service > span {
    background: #fff;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.12);
}

.taysis-sidebar-status {
    display: grid;
    margin: 10px 12px;
    padding: 9px 10px;
    align-items: center;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 8px;
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.05);
}

.taysis-sidebar-status-icon {
    display: inline-flex;
    width: 30px;
    height: 30px;
    align-items: center;
    justify-content: center;
    color: #a8f2e7;
    border-radius: 9px;
    background: rgba(7, 140, 140, 0.16);
}

.taysis-sidebar-status strong,
.taysis-sidebar-status small {
    display: block;
}

.taysis-sidebar-status strong {
    color: #e6f0f7;
    font-size: 11px;
}

.taysis-sidebar-status small {
    margin-top: 3px;
    color: #799ab2;
    font-size: 9.5px;
}

.taysis-live-dot {
    width: 8px;
    height: 8px;
    border: 2px solid rgba(50, 213, 131, 0.22);
    border-radius: 50%;
    background: #32d583;
    box-shadow: 0 0 0 4px rgba(50, 213, 131, 0.11);
}

.taysis-workspace {
    display: flex;
    min-width: 0;
    min-height: 100vh;
    flex-direction: column;
    grid-column: 2;
}

.taysis-topbar {
    position: sticky;
    z-index: 30;
    top: 0;
    display: flex;
    min-height: var(--ts-topbar-height);
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 13px var(--ts-workspace-gutter);
    border-bottom: 1px solid #e7edf3;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 3px 16px rgba(16, 24, 40, 0.035);
    backdrop-filter: blur(12px);
}

.taysis-topbar-start,
.taysis-topbar-actions {
    display: flex;
    align-items: center;
    gap: 13px;
}

.taysis-menu-button {
    display: none;
}

.taysis-search {
    display: flex;
    width: min(410px, 34vw);
    height: 46px;
    align-items: center;
    gap: 10px;
    padding: 0 13px;
    color: #8294a6;
    border: 1px solid #dfe7ef;
    border-radius: 11px;
    background: #f8fafc;
}

.taysis-search .taysis-icon {
    width: 18px;
    height: 18px;
}

.taysis-search input {
    min-width: 0;
    flex: 1;
    padding: 0;
    color: var(--ts-ink);
    border: 0;
    outline: 0;
    background: transparent;
    font-size: 13px;
}

.taysis-search input::placeholder {
    color: #94a3b8;
}

.taysis-search-submit {
    padding: 3px 7px;
    color: #8091a3;
    border: 1px solid #e4e7ec;
    border-radius: 6px;
    background: #fff;
    font-size: 9px;
    font-weight: 700;
    cursor: pointer;
}

.taysis-global-search {
    position: relative;
    min-width: 0;
}

.taysis-search:focus-within {
    outline: 2px solid var(--ts-teal-600);
    outline-offset: 2px;
}

.taysis-search-dropdown {
    position: absolute;
    z-index: 40;
    top: calc(100% + 9px);
    left: 0;
    width: min(540px, calc(100vw - 36px));
    overflow: hidden;
    border: 1px solid var(--ts-line);
    border-radius: 12px;
    background: #fff;
    box-shadow:
        0 24px 56px rgba(18, 39, 54, 0.36),
        0 6px 18px rgba(18, 39, 54, 0.24),
        0 0 0 1px rgba(18, 39, 54, 0.08);
}

.taysis-search-dropdown [role='listbox'] {
    max-height: min(440px, 55vh);
    overflow-y: auto;
    overscroll-behavior: contain;
}

.taysis-search-result {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 13px 16px;
    border-bottom: 1px solid var(--ts-line);
    color: var(--ts-ink);
    text-decoration: none;
}

.taysis-search-result:hover,
.taysis-search-result:focus-visible,
.taysis-search-result[aria-selected='true'] {
    color: #fff;
    background: var(--ts-navy-900);
    outline-offset: -2px;
}

.taysis-search-result:is(:hover, :focus-visible, [aria-selected='true']) .taysis-search-result-copy small {
    color: #e2f1f5;
}

.taysis-search-result:is(:hover, :focus-visible, [aria-selected='true']) .taysis-search-result-action {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.4);
    background: rgba(255, 255, 255, 0.12);
}

.taysis-search-result-copy {
    display: grid;
    min-width: 0;
    gap: 4px;
}

.taysis-search-result-copy strong {
    font-size: var(--ts-font-body);
    letter-spacing: 0.04em;
}

.taysis-search-result-copy small {
    color: #52677a;
    font-size: var(--ts-font-body);
    overflow-wrap: anywhere;
}

.taysis-search-result-action {
    flex-shrink: 0;
    padding: 5px 8px;
    border: 1px solid #bfdfdc;
    border-radius: 6px;
    color: #087b72;
    background: #f4fbfa;
    font-size: var(--ts-font-body);
    font-weight: 700;
}

.taysis-search-message {
    margin: 0;
    padding: 20px 16px;
    color: #52677a;
    font-size: var(--ts-font-body);
}

.taysis-search-all {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    color: #087b72;
    font-size: var(--ts-font-body);
    font-weight: 700;
    text-decoration: none;
}

.taysis-search-all:hover,
.taysis-search-all:focus-visible {
    color: #075c56;
    background: #edf8f7;
}

.taysis-search-help {
    display: flex;
    gap: 16px;
    padding: 9px 16px;
    border-top: 1px solid var(--ts-line);
    color: #52677a;
    background: #f8fafc;
    font-size: var(--ts-font-help);
}

.taysis-search-dropdown[hidden],
.taysis-search-all[hidden] {
    display: none;
}

.taysis-date-chip,
.taysis-user {
    display: flex;
    align-items: center;
}

.taysis-date-chip {
    gap: 8px;
    padding: 8px 11px;
    color: #52677a;
    border: 1px solid #e4eaf0;
    border-radius: 10px;
    background: #fbfcfe;
    font-size: 11px;
    font-weight: 700;
}

.taysis-date-chip .taysis-icon {
    width: 16px;
    height: 16px;
    color: var(--ts-blue-700);
}

.taysis-icon-button,
.taysis-menu-button {
    position: relative;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    padding: 0;
    color: #52677a;
    border: 1px solid #e1e8ef;
    border-radius: 11px;
    background: #fff;
}

.taysis-icon-button {
    display: inline-flex;
}

.taysis-icon-button .taysis-icon,
.taysis-menu-button .taysis-icon {
    width: 19px;
    height: 19px;
}

.taysis-notification-dot {
    position: absolute;
    top: 7px;
    right: 7px;
    width: 7px;
    height: 7px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: #f79009;
}

.taysis-user {
    gap: 10px;
    padding-left: 3px;
}

.taysis-user-avatar {
    display: inline-flex;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    color: #fff;
    border-radius: 12px;
    background: linear-gradient(145deg, var(--ts-blue-700), var(--ts-teal-600));
    font-size: 15px;
    font-weight: 800;
    box-shadow: 0 7px 16px rgba(23, 92, 211, 0.2);
}

.taysis-user-copy strong,
.taysis-user-copy small {
    display: block;
}

.taysis-user-copy strong {
    color: var(--ts-ink);
    font-size: 12.5px;
}

.taysis-user-copy small {
    margin-top: 2px;
    color: #8796a5;
    font-size: 10px;
}

.taysis-logout-button {
    display: inline-flex;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    color: #718096;
    border: 1px solid #e3e9ef;
    border-radius: 9px;
    background: #fff;
    transition: color 160ms ease, border-color 160ms ease, background 160ms ease;
}

.taysis-logout-button:hover {
    color: #b42318;
    border-color: #fecdca;
    background: #fff6f5;
}

.taysis-logout-button .taysis-icon {
    width: 17px;
    height: 17px;
}

.taysis-main {
    width: 100%;
    max-width: none;
    flex: 1;
    margin: 0 auto;
    padding: 28px var(--ts-workspace-gutter) 35px;
}

.taysis-context-return {
    display: flex;
    margin-bottom: 14px;
}

.taysis-context-return-link {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    gap: 8px;
    padding: 9px 14px;
    color: var(--ts-navy-900);
    border: 1px solid #b7cbd3;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 5px 14px rgba(31, 73, 91, 0.09);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.taysis-context-return-link:hover,
.taysis-context-return-link:focus-visible {
    color: var(--ts-teal-700);
    border-color: var(--ts-teal-600);
    box-shadow: 0 8px 18px rgba(21, 154, 145, 0.15);
    transform: translateY(-1px);
}

.taysis-context-return-icon {
    width: 17px;
    height: 17px;
    transform: rotate(180deg);
}

.taysis-file-onboarding-dialog {
    width: min(570px, calc(100vw - 32px));
    max-width: none;
    padding: 0;
    color: #17333d;
    border: 1px solid rgba(31, 121, 120, 0.28);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 28px 70px rgba(18, 55, 67, 0.28);
}

.taysis-file-onboarding-dialog::backdrop {
    background: rgba(18, 43, 52, 0.54);
    backdrop-filter: blur(3px);
}

.taysis-file-onboarding-card {
    position: relative;
    padding: 32px;
    background: linear-gradient(145deg, #fff 58%, #eaf8f6 100%);
}

.taysis-file-onboarding-close-form {
    position: absolute;
    top: 16px;
    right: 16px;
}

.taysis-file-onboarding-close-form button {
    display: inline-flex;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    color: #617981;
    border: 1px solid #c6d5da;
    border-radius: 10px;
    background: #fff;
    font-size: 23px;
    line-height: 1;
}

.taysis-file-onboarding-dialog-close {
    position: absolute;
    top: 16px;
    right: 16px;
    display: inline-flex;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    color: #617981;
    border: 1px solid #c6d5da;
    border-radius: 10px;
    background: #fff;
    font-size: 23px;
    line-height: 1;
}

.taysis-file-onboarding-icon {
    display: inline-flex;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    margin-bottom: 17px;
    color: #087e78;
    border-radius: 14px;
    background: #dff4f0;
}

.taysis-file-onboarding-icon .taysis-icon {
    width: 22px;
    height: 22px;
}

.taysis-file-onboarding-card h2 {
    margin: 6px 46px 8px 0;
    color: #17333d;
    font-size: 25px;
    font-weight: 850;
}

.taysis-file-onboarding-card > p {
    margin: 0;
    color: #687e87;
    font-size: 14px;
    line-height: 1.6;
}

.taysis-file-onboarding-plate {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 22px;
    padding: 14px 16px;
    border: 1px solid #c8dfdf;
    border-radius: 12px;
    background: rgba(238, 250, 248, 0.86);
}

.taysis-file-onboarding-plate strong {
    flex: 0 0 auto;
    color: #075f59;
    font-size: 16px;
}

.taysis-file-onboarding-plate span {
    color: #637b84;
    font-size: 12px;
}

.taysis-file-onboarding-card .taysis-file-onboarding-permission {
    margin-top: 14px;
    padding: 11px 13px;
    color: #944126;
    border: 1px solid #f0c2b2;
    border-radius: 10px;
    background: #fff4ef;
    font-size: 12px;
}

.taysis-file-onboarding-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 24px;
}

.taysis-file-onboarding-actions form {
    margin: 0;
}

.taysis-document-vehicle-dialog .taysis-file-onboarding-card {
    background: linear-gradient(145deg, #fff 56%, #fff6df 100%);
}

.taysis-document-vehicle-dialog .taysis-file-onboarding-icon {
    color: #9b650c;
    background: #ffe8a9;
}

@media (max-width: 520px) {
    .taysis-file-onboarding-card {
        padding: 26px 22px 22px;
    }

    .taysis-file-onboarding-plate {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }

    .taysis-file-onboarding-actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .taysis-file-onboarding-actions form,
    .taysis-file-onboarding-actions .taysis-secondary-button,
    .taysis-file-onboarding-actions .taysis-submit-button {
        width: 100%;
    }
}

.taysis-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 17px 30px;
    color: #8391a1;
    border-top: 1px solid #e7edf3;
    background: #fff;
    font-size: 10.5px;
}

.taysis-hero {
    position: relative;
    display: grid;
    min-height: 285px;
    padding: 40px 45px;
    grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
    gap: 30px;
    overflow: hidden;
    color: #fff;
    border-radius: 20px;
    background:
        radial-gradient(circle at 78% 12%, rgba(117, 220, 209, 0.2), transparent 27%),
        linear-gradient(145deg, #123967 0%, #175ca3 55%, #078c8c 100%);
    box-shadow: var(--ts-shadow-md);
}

.taysis-hero::after {
    position: absolute;
    right: -115px;
    bottom: -190px;
    width: 380px;
    height: 380px;
    border: 1px solid rgba(255, 255, 255, 0.11);
    border-radius: 50%;
    content: "";
}

.taysis-hero-content,
.taysis-hero-side {
    position: relative;
    z-index: 2;
}

.taysis-hero-label,
.taysis-eyebrow {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.35px;
}

.taysis-hero-label {
    display: inline-flex;
    padding: 7px 11px;
    color: #d8fffa;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.09);
}

.taysis-hero h1 {
    margin: 24px 0 12px;
    color: #fff;
    font-size: clamp(34px, 3.3vw, 50px);
    font-weight: 300;
    letter-spacing: -0.8px;
    line-height: 1.08;
}

.taysis-hero p {
    max-width: 720px;
    margin: 0;
    color: rgba(255, 255, 255, 0.76);
    font-size: 16px;
    line-height: 1.6;
}

.taysis-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 27px;
}

.taysis-button {
    display: inline-flex;
    min-height: 43px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 9px 16px;
    border-radius: 9px;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.taysis-button .taysis-icon {
    width: 16px;
    height: 16px;
}

.taysis-button:hover {
    transform: translateY(-1px);
}

.taysis-button-light {
    color: var(--ts-blue-700);
    background: #fff;
    box-shadow: 0 7px 16px rgba(7, 30, 58, 0.18);
}

.taysis-button-light:hover {
    color: var(--ts-blue-700);
}

.taysis-button-ghost {
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.24);
    background: rgba(255, 255, 255, 0.1);
}

.taysis-button-ghost:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.16);
}

.taysis-hero-side {
    display: flex;
    align-items: center;
    justify-content: center;
}

.taysis-hero-system-card {
    position: relative;
    z-index: 2;
    display: grid;
    width: min(390px, 100%);
    padding: 17px;
    align-items: center;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 13px;
    border: 1px solid rgba(255, 255, 255, 0.17);
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.1);
    box-shadow: 0 16px 32px rgba(4, 26, 49, 0.15);
    backdrop-filter: blur(10px);
}

.taysis-hero-system-icon {
    display: inline-flex;
    width: 46px;
    height: 46px;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.13);
}

.taysis-hero-system-card span,
.taysis-hero-system-card strong,
.taysis-hero-system-card small {
    display: block;
}

.taysis-hero-system-card > div > span {
    color: rgba(255, 255, 255, 0.65);
    font-size: 10px;
}

.taysis-hero-system-card strong {
    margin-top: 2px;
    color: #fff;
    font-size: 18px;
    letter-spacing: 0.3px;
}

.taysis-hero-system-card small {
    margin-top: 2px;
    color: rgba(255, 255, 255, 0.62);
    font-size: 10px;
}

.taysis-hero-system-card > .taysis-status-pill {
    grid-column: 1 / -1;
    justify-self: start;
    margin-top: 3px;
}

.taysis-hero-orbit {
    position: absolute;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 50%;
}

.taysis-hero-orbit.orbit-one {
    width: 260px;
    height: 260px;
}

.taysis-hero-orbit.orbit-two {
    width: 175px;
    height: 175px;
}

.taysis-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin: 32px 2px 16px;
}

.taysis-eyebrow {
    color: var(--ts-blue-700);
}

.taysis-section-heading h2,
.taysis-panel-heading h2 {
    margin: 5px 0 3px;
    color: var(--ts-ink);
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -0.3px;
}

.taysis-section-heading p,
.taysis-panel-heading p {
    margin: 0;
    color: var(--ts-muted);
    font-size: 12px;
}

.taysis-status-pill {
    display: inline-flex;
    min-height: 26px;
    align-items: center;
    gap: 5px;
    padding: 5px 9px;
    border: 1px solid;
    border-radius: 999px;
    font-size: 9.5px;
    font-style: normal;
    font-weight: 800;
    white-space: nowrap;
}

.taysis-status-pill .taysis-icon {
    width: 13px;
    height: 13px;
}

.taysis-status-pill.success {
    color: #d7ffec;
    border-color: rgba(171, 239, 198, 0.25);
    background: rgba(6, 118, 71, 0.28);
}

.taysis-status-pill.info {
    color: #175cd3;
    border-color: #b2ddff;
    background: #eff8ff;
}

.taysis-status-pill.warning {
    color: #b54708;
    border-color: #fedf89;
    background: #fffaeb;
}

.taysis-stat-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 13px;
}

.taysis-stat-card {
    position: relative;
    display: flex;
    min-height: 128px;
    align-items: center;
    gap: 13px;
    overflow: hidden;
    padding: 18px;
    border: 1px solid #e7edf3;
    border-radius: 13px;
    background: #fff;
    box-shadow: var(--ts-shadow-sm);
}

.taysis-stat-card::after {
    position: absolute;
    right: -32px;
    bottom: -48px;
    width: 105px;
    height: 105px;
    border-radius: 50%;
    background: var(--stat-soft, #eff8ff);
    content: "";
}

.taysis-stat-icon {
    position: relative;
    z-index: 1;
    display: inline-flex;
    width: 43px;
    height: 43px;
    align-items: center;
    justify-content: center;
    flex: 0 0 43px;
    color: var(--stat-color, var(--ts-blue-700));
    border-radius: 10px;
    background: var(--stat-soft, #eff8ff);
}

.taysis-stat-icon .taysis-icon {
    width: 21px;
    height: 21px;
}

.taysis-stat-card div {
    position: relative;
    z-index: 1;
    min-width: 0;
}

.taysis-stat-card div > span,
.taysis-stat-card strong,
.taysis-stat-card small {
    display: block;
}

.taysis-stat-card div > span {
    color: #667085;
    font-size: 10.5px;
    font-weight: 700;
}

.taysis-stat-card strong {
    margin: 3px 0 1px;
    color: var(--ts-ink);
    font-size: 25px;
    line-height: 1;
}

.taysis-stat-card small {
    color: #98a2b3;
    font-size: 9.5px;
}

.taysis-stat-card.cyan { --stat-color: #087e8b; --stat-soft: #e5f8fa; }
.taysis-stat-card.purple { --stat-color: #6941c6; --stat-soft: #f4f3ff; }
.taysis-stat-card.orange { --stat-color: #b54708; --stat-soft: #fffaeb; }
.taysis-stat-card.green { --stat-color: #067647; --stat-soft: #ecfdf3; }

.taysis-modules-heading {
    margin-top: 35px;
}

.taysis-module-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 15px;
}

.taysis-module-card {
    position: relative;
    display: flex;
    min-height: 275px;
    flex-direction: column;
    overflow: hidden;
    padding: 21px;
    color: #fff;
    border-radius: 16px;
    background: linear-gradient(145deg, #164e83, #175cd3);
    box-shadow: 0 10px 25px rgba(16, 42, 67, 0.11);
}

.taysis-module-card::after {
    position: absolute;
    right: -65px;
    bottom: -70px;
    width: 190px;
    height: 190px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 50%;
    content: "";
}

.taysis-module-card.permit { background: linear-gradient(145deg, #065f68, #0e8794); }
.taysis-module-card.marine { background: linear-gradient(145deg, #5a3aa0, #7f56d9); }
.taysis-module-card.documents { background: linear-gradient(145deg, #9a3412, #d95d18); }

.taysis-module-top,
.taysis-module-footer {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.taysis-module-icon {
    display: inline-flex;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.14);
}

.taysis-module-icon .taysis-icon {
    width: 23px;
    height: 23px;
}

.taysis-module-meta {
    padding: 6px 9px;
    color: rgba(255, 255, 255, 0.9);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.1);
    font-size: 9px;
    font-weight: 800;
}

.taysis-module-copy {
    position: relative;
    z-index: 2;
    flex: 1;
    padding: 28px 0 18px;
}

.taysis-module-copy > span {
    color: rgba(255, 255, 255, 0.62);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.25px;
}

.taysis-module-copy h3 {
    margin: 8px 0 9px;
    color: #fff;
    font-size: 20px;
    font-weight: 800;
}

.taysis-module-copy p {
    margin: 0;
    color: rgba(255, 255, 255, 0.7);
    font-size: 12px;
    line-height: 1.55;
}

.taysis-module-footer {
    padding-top: 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.13);
    font-size: 11px;
    font-weight: 800;
}

.taysis-module-footer .taysis-icon {
    width: 16px;
    height: 16px;
}

.taysis-lower-grid {
    display: grid;
    margin-top: 30px;
    grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.55fr);
    gap: 16px;
}

.taysis-panel {
    border: 1px solid #e7edf3;
    border-radius: 14px;
    background: #fff;
    box-shadow: var(--ts-shadow-sm);
}

.taysis-panel-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 15px;
    padding: 21px 22px 16px;
    border-bottom: 1px solid #edf1f5;
}

.taysis-panel-heading h2 {
    font-size: 18px;
}

.taysis-roadmap {
    margin: 0;
    padding: 8px 22px 19px;
    list-style: none;
}

.taysis-roadmap li {
    display: grid;
    min-height: 67px;
    align-items: center;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 13px;
    border-bottom: 1px solid #edf1f5;
}

.taysis-roadmap li:last-child {
    border-bottom: 0;
}

.taysis-roadmap li > span {
    display: inline-flex;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    color: #667085;
    border: 1px solid #e4e7ec;
    border-radius: 9px;
    background: #f8fafc;
    font-size: 11px;
    font-weight: 800;
}

.taysis-roadmap li > span .taysis-icon {
    width: 16px;
    height: 16px;
}

.taysis-roadmap li.is-complete > span {
    color: #067647;
    border-color: #abefc6;
    background: #ecfdf3;
}

.taysis-roadmap li.is-current > span {
    color: #175cd3;
    border-color: #b2ddff;
    background: #eff8ff;
    box-shadow: 0 0 0 4px rgba(23, 92, 211, 0.07);
}

.taysis-roadmap strong,
.taysis-roadmap small {
    display: block;
}

.taysis-roadmap strong {
    color: #344054;
    font-size: 12px;
}

.taysis-roadmap small {
    margin-top: 3px;
    color: #8a98a8;
    font-size: 10px;
}

.taysis-roadmap em {
    color: #98a2b3;
    font-size: 9.5px;
    font-style: normal;
    font-weight: 700;
}

.taysis-foundation-list {
    display: grid;
    gap: 8px;
    padding: 16px;
}

.taysis-foundation-list > div {
    display: grid;
    min-height: 62px;
    padding: 10px;
    align-items: center;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0 11px;
    border: 1px solid #eef2f6;
    border-radius: 9px;
    background: #f8fafc;
}

.taysis-foundation-list > div > span {
    display: inline-flex;
    width: 35px;
    height: 35px;
    align-items: center;
    justify-content: center;
    grid-row: 1 / 3;
    color: #175cd3;
    border-radius: 9px;
    background: #eff8ff;
}

.taysis-foundation-list strong,
.taysis-foundation-list small {
    display: block;
}

.taysis-foundation-list strong {
    color: #344054;
    font-size: 11.5px;
}

.taysis-foundation-list small {
    color: #8997a7;
    font-size: 9.5px;
}

.taysis-sidebar-backdrop {
    display: none;
}

/* Login */
.taysis-login-page {
    position: relative;
    display: flex;
    min-height: 100vh;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 42px;
    background:
        radial-gradient(circle at 8% 12%, rgba(23, 92, 211, 0.11), transparent 27%),
        radial-gradient(circle at 92% 88%, rgba(7, 140, 140, 0.12), transparent 29%),
        linear-gradient(135deg, #f6f9fc 0%, #edf3f8 48%, #e7f1f3 100%);
}

.taysis-login-shape {
    position: absolute;
    border: 1px solid rgba(23, 92, 211, 0.12);
    border-radius: 50%;
    pointer-events: none;
}

.taysis-login-shape.shape-one {
    top: -190px;
    right: -110px;
    width: 430px;
    height: 430px;
}

.taysis-login-shape.shape-two {
    bottom: -230px;
    left: -140px;
    width: 520px;
    height: 520px;
    border-color: rgba(7, 140, 140, 0.13);
}

.taysis-login-shell {
    position: relative;
    z-index: 1;
    display: grid;
    width: min(1180px, 100%);
    min-height: 660px;
    grid-template-columns: 1.08fr 0.92fr;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 30px;
    background: #fff;
    box-shadow: 0 30px 80px rgba(30, 64, 96, 0.16);
}

.taysis-login-presentation {
    position: relative;
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: space-between;
    overflow: hidden;
    padding: 66px 64px 40px;
    color: #fff;
    background:
        radial-gradient(circle at 93% 12%, rgba(127, 226, 212, 0.24), transparent 26%),
        linear-gradient(145deg, #123967 0%, #175ca3 53%, #078c8c 100%);
}

.taysis-login-presentation::before,
.taysis-login-presentation::after {
    position: absolute;
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 50%;
    content: "";
}

.taysis-login-presentation::before {
    top: -110px;
    right: -90px;
    width: 330px;
    height: 330px;
}

.taysis-login-presentation::after {
    right: 52px;
    bottom: -140px;
    width: 290px;
    height: 290px;
}

.taysis-login-presentation > * {
    position: relative;
    z-index: 1;
}

.taysis-login-eyebrow {
    display: inline-flex;
    padding: 7px 12px;
    color: #d8fffa;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.1);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.65px;
}

.taysis-login-presentation h1 {
    max-width: 540px;
    margin: 26px 0 16px;
    color: #fff;
    font-size: clamp(39px, 4vw, 54px);
    font-weight: 300;
    line-height: 1.12;
    letter-spacing: -0.8px;
}

.taysis-login-lead {
    max-width: 510px;
    margin: 0;
    color: rgba(255, 255, 255, 0.77);
    font-size: 17px;
    line-height: 1.65;
}

.taysis-login-features {
    display: grid;
    gap: 12px;
    margin-top: 37px;
}

.taysis-login-feature {
    display: flex;
    max-width: 510px;
    align-items: center;
    gap: 14px;
    padding: 12px 15px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(8px);
}

.taysis-login-feature > span {
    display: inline-flex;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    color: #d8fffa;
    border-radius: 12px;
    background: rgba(216, 255, 250, 0.13);
}

.taysis-login-feature strong,
.taysis-login-feature small {
    display: block;
}

.taysis-login-feature strong {
    color: #fff;
    font-size: 14px;
}

.taysis-login-feature small {
    margin-top: 3px;
    color: rgba(255, 255, 255, 0.63);
    font-size: 11px;
}

.taysis-login-presentation-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 30px;
    color: rgba(255, 255, 255, 0.64);
    font-size: 11px;
}

.taysis-login-presentation-footer span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.taysis-login-presentation-footer .taysis-icon {
    width: 15px;
    height: 15px;
    color: #a8f2e7;
}

.taysis-login-form-panel {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: center;
    padding: 55px 60px;
    background: #fff;
}

.taysis-login-form-inner {
    width: 100%;
    max-width: 410px;
}

.taysis-login-brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 49px;
    color: var(--ts-ink);
    text-decoration: none;
}

.taysis-login-brand > span {
    display: inline-flex;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    color: #fff;
    border-radius: 14px;
    background: linear-gradient(145deg, var(--ts-blue-700), var(--ts-teal-600));
    box-shadow: 0 9px 20px rgba(23, 92, 211, 0.2);
}

.taysis-login-brand strong,
.taysis-login-brand small {
    display: block;
}

.taysis-login-brand strong {
    color: var(--ts-ink);
    font-size: 22px;
    font-weight: 900;
    letter-spacing: 1.4px;
}

.taysis-login-brand small {
    margin-top: 2px;
    color: #6f8294;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 0.7px;
}

.taysis-login-heading {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    margin-bottom: 29px;
}

.taysis-login-heading > span {
    display: inline-flex;
    width: 43px;
    height: 43px;
    align-items: center;
    justify-content: center;
    flex: 0 0 43px;
    color: var(--ts-blue-700);
    border: 1px solid #bfdbfe;
    border-radius: 13px;
    background: #eff6ff;
}

.taysis-login-heading h2 {
    margin: 0 0 5px;
    color: var(--ts-ink);
    font-size: 25px;
    font-weight: 850;
}

.taysis-login-heading p {
    margin: 0;
    color: var(--ts-muted);
    font-size: 13px;
}

.taysis-login-field {
    margin-bottom: 18px;
}

.taysis-login-field label {
    margin-bottom: 8px;
    color: #334e68;
    font-size: 13px;
    font-weight: 800;
}

.taysis-login-field .form-control {
    height: 52px;
    padding: 0 15px;
    color: var(--ts-ink);
    border: 1px solid #cbd8e6;
    border-radius: 12px;
    background: #f8fafc;
    box-shadow: none;
    font-size: 14px;
}

.taysis-login-field .form-control:focus {
    border-color: #4a90e2;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(23, 92, 211, 0.1);
}

.taysis-login-field .invalid-feedback {
    font-size: 11px;
}

.taysis-password-field {
    position: relative;
}

.taysis-password-field .form-control {
    padding-right: 48px;
}

.taysis-password-field > button {
    position: absolute;
    z-index: 3;
    right: 9px;
    bottom: 9px;
    display: inline-flex;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    padding: 0;
    color: #627d98;
    border: 0;
    border-radius: 9px;
    background: transparent;
}

.taysis-password-field > button:hover {
    color: var(--ts-blue-700);
    background: #eaf2fb;
}

.taysis-password-field > button .taysis-icon {
    width: 16px;
    height: 16px;
}

.taysis-login-options {
    display: flex;
    min-height: 30px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: -2px 0 21px;
}

.taysis-login-remember {
    margin: 0;
    color: #52677a;
    font-size: 12px;
    font-weight: 650;
}

.taysis-login-remember .form-check-input {
    margin-top: 0.18em;
}

.taysis-login-remember .form-check-label {
    margin-left: 2px;
}

.taysis-login-remember .invalid-feedback {
    display: none;
}

.taysis-login-options > span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #73869a;
    font-size: 11px;
}

.taysis-login-options > span .taysis-icon {
    width: 14px;
    height: 14px;
    color: var(--ts-teal-600);
}

.taysis-login-submit {
    display: flex;
    width: 100%;
    height: 52px;
    align-items: center;
    justify-content: center;
    gap: 11px;
    padding: 0 18px;
    color: #fff;
    border: 0;
    border-radius: 12px;
    background: linear-gradient(100deg, var(--ts-blue-700) 0%, #1473b8 55%, var(--ts-teal-600) 100%);
    box-shadow: 0 12px 24px rgba(23, 92, 211, 0.2);
    font-size: 14px;
    font-weight: 800;
    transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
}

.taysis-login-submit:hover {
    filter: brightness(1.04);
    box-shadow: 0 15px 28px rgba(23, 92, 211, 0.26);
    transform: translateY(-1px);
}

.taysis-login-submit .taysis-icon {
    width: 16px;
    height: 16px;
}

.taysis-login-help {
    margin: 21px 0 0;
    color: #7b8da0;
    font-size: 11px;
    line-height: 1.5;
    text-align: center;
}

@media (max-width: 1280px) {
    .taysis-stat-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .taysis-module-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1080px) {
    .taysis-shell {
        grid-template-columns: 1fr;
    }

    .taysis-workspace {
        grid-column: 1;
    }

    .taysis-sidebar {
        transform: translateX(-105%);
        transition: transform 0.22s ease;
    }

    .taysis-shell.sidebar-open .taysis-sidebar {
        transform: translateX(0);
    }

    .taysis-sidebar-backdrop {
        position: fixed;
        z-index: 35;
        inset: 0;
        width: 100%;
        height: 100%;
        padding: 0;
        border: 0;
        background: rgba(7, 27, 46, 0.42);
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.2s ease;
    }

    .taysis-shell.sidebar-open .taysis-sidebar-backdrop {
        display: block;
        opacity: 1;
        pointer-events: auto;
    }

    .taysis-menu-button {
        display: inline-flex;
    }

    .taysis-hero {
        grid-template-columns: minmax(0, 1fr) minmax(260px, 0.6fr);
    }

    .taysis-lower-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 820px) {
    .taysis-topbar {
        padding: 12px 18px;
        flex-wrap: wrap;
        gap: 12px;
    }

    .taysis-topbar-start {
        display: contents;
    }

    .taysis-global-search {
        order: 3;
        width: 100%;
    }

    .taysis-search {
        width: 100%;
    }

    .taysis-search-dropdown {
        width: 100%;
    }

    .taysis-date-chip,
    .taysis-user-copy {
        display: none;
    }

    .taysis-main {
        padding: 22px 18px 30px;
    }

    .taysis-hero {
        min-height: 0;
        padding: 32px 27px;
        grid-template-columns: 1fr;
    }

    .taysis-hero-side {
        justify-content: flex-start;
    }

    .taysis-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .taysis-login-page {
        align-items: flex-start;
        padding: 25px;
    }

    .taysis-login-shell {
        min-height: 0;
        grid-template-columns: 1fr;
    }

    .taysis-login-presentation {
        padding: 40px 42px 32px;
    }

    .taysis-login-presentation h1 {
        font-size: 37px;
    }

    .taysis-login-features {
        grid-template-columns: repeat(3, 1fr);
        margin-top: 26px;
    }

    .taysis-login-feature {
        align-items: flex-start;
        padding: 11px;
    }

    .taysis-login-feature > span {
        width: 36px;
        height: 36px;
        flex-basis: 36px;
    }

    .taysis-login-form-panel {
        padding: 47px 42px;
    }
}

@media (max-width: 620px) {
    .taysis-section-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .taysis-stat-grid,
    .taysis-module-grid {
        grid-template-columns: 1fr;
    }

    .taysis-stat-card {
        min-height: 112px;
    }

    .taysis-module-card {
        min-height: 250px;
    }

    .taysis-roadmap li {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .taysis-roadmap em {
        display: none;
    }

    .taysis-footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .taysis-login-page {
        padding: 0;
        background: #fff;
    }

    .taysis-login-shell {
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .taysis-login-presentation {
        padding: 32px 23px 27px;
        border-radius: 0 0 25px 25px;
    }

    .taysis-login-presentation h1 {
        margin: 17px 0 11px;
        font-size: 30px;
    }

    .taysis-login-lead {
        font-size: 14px;
    }

    .taysis-login-features {
        display: none;
    }

    .taysis-login-presentation-footer span:last-child {
        display: none;
    }

    .taysis-login-form-panel {
        padding: 36px 23px 40px;
    }

    .taysis-login-brand {
        margin-bottom: 30px;
    }

    .taysis-login-heading h2 {
        font-size: 22px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto !important;
    }

    .taysis-app-body *,
    .taysis-login-body * {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

/* Shared module and data components */
.taysis-module-page {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.taysis-page-header {
    display: flex;
    min-height: 118px;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 23px 27px;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 17px;
    background:
        radial-gradient(circle at 91% 3%, rgba(78, 224, 205, 0.2), transparent 26%),
        linear-gradient(112deg, var(--ts-navy-900), #28798a 65%, #15988d);
    box-shadow: 0 13px 28px rgba(31, 73, 91, 0.15);
}

.taysis-page-header .taysis-kicker {
    color: #aff9ee;
}

.taysis-page-header h1 {
    margin: 0;
    color: #fff;
    font-size: clamp(27px, 3vw, 36px);
    font-weight: 780;
    letter-spacing: -0.45px;
}

.taysis-page-header p {
    margin: 6px 0 0;
    color: #d7ebef;
    font-size: 12.5px;
}

.taysis-primary-action {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 10px;
    background: rgba(8, 59, 70, 0.25);
    font-size: 11px;
    font-weight: 800;
    text-decoration: none;
    backdrop-filter: blur(8px);
}

.taysis-primary-action .taysis-icon {
    width: 16px;
    height: 16px;
}

.taysis-primary-action small {
    padding: 3px 6px;
    color: #c2d9de;
    border-radius: 6px;
    background: rgba(0, 0, 0, 0.13);
    font-size: 8px;
}

.taysis-primary-action.is-disabled {
    cursor: not-allowed;
    opacity: 0.82;
}

.taysis-data-toolbar {
    display: flex;
    min-height: 76px;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 13px 16px;
    border: 1px solid #c4d2d7;
    border-radius: 13px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 7px 19px rgba(31, 73, 91, 0.07);
}

.taysis-filter-form {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 9px;
}

.taysis-data-toolbar.is-expanded {
    align-items: flex-start;
}

.taysis-filter-form.is-wide {
    flex: 1;
    flex-wrap: wrap;
}

.taysis-filter-search {
    display: flex;
    width: min(360px, 33vw);
    height: 44px;
    align-items: center;
    gap: 9px;
    padding: 0 12px;
    color: #6d818a;
    border: 1px solid #bfced3;
    border-radius: 9px;
    background: #f8fafb;
}

.taysis-filter-search:focus-within {
    color: var(--ts-teal-700);
    border-color: #49b8ad;
    box-shadow: 0 0 0 3px rgba(15, 159, 146, 0.1);
}

.taysis-filter-search .taysis-icon {
    width: 17px;
    height: 17px;
}

.taysis-filter-search input {
    min-width: 0;
    flex: 1;
    padding: 0;
    color: var(--ts-ink);
    border: 0;
    outline: 0;
    background: transparent;
    font-size: 12px;
}

.taysis-filter-search.is-compact {
    width: min(245px, 24vw);
}

.taysis-archive-card {
    margin-top: 18px;
}

.taysis-archive-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.taysis-archive-list .taysis-holder-row {
    border-right: 1px solid var(--ts-line);
}

.taysis-archive-existing-files {
    display: grid;
    gap: 7px;
    margin-bottom: 16px;
    padding: 13px;
    color: var(--ts-muted);
    border: 1px solid var(--ts-line);
    border-radius: 10px;
    background: #f5f9f9;
}

.taysis-archive-existing-files strong {
    color: var(--ts-ink);
}

.taysis-archive-existing-files span {
    display: flex;
    align-items: center;
    gap: 7px;
    overflow-wrap: anywhere;
}

.taysis-archive-existing-files .taysis-icon {
    width: 15px;
    height: 15px;
    flex: 0 0 15px;
    color: var(--ts-teal-700);
}

.taysis-archive-file-actions {
    display: grid;
    grid-template-columns: 1fr;
    align-items: stretch;
    justify-items: stretch;
    gap: 4px;
}

.taysis-archive-file-actions form {
    display: grid;
    margin: 0;
}

.taysis-archive-file-actions .taysis-inline-action {
    width: 100%;
    justify-self: stretch;
}

.taysis-personnel-document-panel {
    margin: 14px 0;
}

.taysis-holder-list.taysis-personnel-document-list {
    display: grid;
    padding: 12px 18px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.taysis-holder-list.taysis-personnel-document-list .taysis-holder-row {
    min-height: 76px;
    padding: 10px 12px;
    border: 1px solid #cfe0e2;
    border-radius: 10px;
    background: #f8fbfb;
}

.taysis-holder-list.taysis-personnel-document-list .taysis-holder-row.is-missing {
    border-color: #efc570;
    background: #fff8e9;
}

.taysis-holder-list.taysis-personnel-document-list .taysis-holder-row.is-missing > span {
    color: #9b5c09;
    background: #ffe8ae;
}

@media (max-width: 1150px) {
    .taysis-holder-list.taysis-personnel-document-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .taysis-holder-list.taysis-personnel-document-list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .taysis-filter-search.is-compact {
        width: 100%;
    }

    .taysis-archive-list {
        grid-template-columns: 1fr;
    }

    .taysis-archive-list .taysis-holder-row {
        border-right: 0;
    }

}

.taysis-filter-select {
    display: flex;
    height: 44px;
    align-items: center;
    gap: 8px;
    padding: 0 9px 0 12px;
    border: 1px solid #bfced3;
    border-radius: 9px;
    background: #f8fafb;
}

.taysis-filter-select > span {
    color: #768890;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.taysis-filter-select select {
    min-width: 90px;
    color: var(--ts-ink);
    border: 0;
    outline: 0;
    background: transparent;
    font-size: 11px;
    font-weight: 700;
}

.taysis-filter-date {
    display: flex;
    height: 44px;
    align-items: center;
    gap: 8px;
    padding: 0 10px 0 12px;
    border: 1px solid #bfced3;
    border-radius: 9px;
    background: #f8fafb;
}

.taysis-filter-date > span {
    color: #768890;
    font-size: var(--ts-font-caption);
    font-weight: 800;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.taysis-filter-date input {
    width: 130px;
    color: var(--ts-ink);
    border: 0;
    outline: 0;
    background: transparent;
    font-size: var(--ts-font-body);
    font-weight: 700;
}

.taysis-filter-button {
    display: inline-flex;
    height: 44px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 14px;
    color: #fff;
    border: 0;
    border-radius: 9px;
    background: linear-gradient(135deg, var(--ts-teal-600), #28798a);
    font-size: 10.5px;
    font-weight: 800;
    box-shadow: 0 6px 14px rgba(15, 135, 133, 0.18);
}

.taysis-filter-button .taysis-icon {
    width: 15px;
    height: 15px;
}

.taysis-filter-reset {
    color: #637780;
    font-size: 10px;
    font-weight: 750;
    text-decoration: none;
}

.taysis-filter-reset:hover {
    color: var(--ts-teal-700);
}

.taysis-result-count {
    display: flex;
    align-items: baseline;
    gap: 6px;
    padding: 7px 10px;
    color: #71838b;
    border-radius: 8px;
    background: #eaf0f2;
    white-space: nowrap;
}

.taysis-result-count strong {
    color: var(--ts-navy-900);
    font-size: 15px;
}

.taysis-result-count span {
    font-size: 9px;
}

.taysis-data-card,
.taysis-detail-panel {
    overflow: hidden;
    border: 1px solid #c4d2d7;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 9px 24px rgba(31, 73, 91, 0.09);
}

.taysis-table-wrap {
    overflow-x: auto;
}

.taysis-data-table {
    width: 100%;
    border-collapse: collapse;
}

.taysis-data-table th {
    padding: 14px 16px;
    color: #687c85;
    border-bottom: 1px solid #cad6da;
    background: linear-gradient(180deg, #f8fafb, #edf3f4);
    font-size: 9px;
    font-weight: 850;
    letter-spacing: 0.65px;
    text-align: left;
    text-transform: uppercase;
    white-space: nowrap;
}

.taysis-data-table td {
    padding: 16px;
    color: #40545e;
    border-bottom: 1px solid #e0e7e9;
    font-size: 11px;
    vertical-align: middle;
}

.taysis-data-table tbody tr {
    transition: background 150ms ease;
}

.taysis-data-table tbody tr:hover {
    background: #f1f8f7;
}

.taysis-data-table tbody tr:last-child td {
    border-bottom: 0;
}

.taysis-data-table td strong,
.taysis-data-table td small {
    display: block;
}

.taysis-data-table td strong {
    color: var(--ts-ink);
    font-size: 11px;
}

.taysis-data-table td small {
    margin-top: 4px;
    color: #809098;
    font-size: 8.5px;
}

.taysis-plate-number {
    display: inline-flex;
    width: 140px;
    min-width: 140px;
    max-width: 140px;
    min-height: 42px;
    align-items: stretch;
    box-sizing: border-box;
    overflow: hidden;
    color: #182c35;
    border: 2px solid #607984;
    border-radius: 7px;
    background: #fff;
    text-decoration: none;
    box-shadow: inset 0 0 0 1px #edf1f2;
    transition: border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
}

.taysis-plate-number > span {
    display: inline-flex;
    width: 31px;
    align-items: flex-end;
    justify-content: center;
    flex: 0 0 31px;
    padding-bottom: 6px;
    color: #fff;
    background: #2451a4;
    font-size: 7px;
    font-weight: 850;
}

.taysis-data-table .taysis-plate-number > strong {
    display: inline-flex;
    min-width: 0;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    flex: 1 1 auto;
    padding: 0 10px;
    color: #152c36;
    font-size: 15px;
    font-weight: 950;
    letter-spacing: 0.8px;
    line-height: 1;
    white-space: nowrap;
}

.taysis-plate-number:hover {
    border-color: var(--ts-teal-700);
    box-shadow: inset 0 0 0 1px #e5f4f1, 0 5px 12px rgba(21, 110, 104, 0.14);
    transform: translateY(-1px);
}

.taysis-data-table .taysis-plate-number:hover > strong {
    color: var(--ts-teal-800);
}

.taysis-data-table .taysis-plate-number.is-taxi {
    border-color: #b67b00;
    background: #ffd84d;
    box-shadow: inset 0 0 0 1px #fff3b0, 0 3px 8px rgba(182, 123, 0, 0.16);
}

.taysis-data-table .taysis-plate-number.is-taxi > strong,
.taysis-data-table .taysis-plate-number.is-taxi:hover > strong {
    color: #352800;
}

.taysis-data-table .taysis-plate-number.is-taxi:hover {
    border-color: #8f6100;
    box-shadow: inset 0 0 0 1px #fff1a1, 0 5px 12px rgba(143, 97, 0, 0.24);
}

.taysis-data-table .taysis-plate-number.is-public-bus {
    border-color: #a65a9b;
    background: #f4d9ec;
    box-shadow: inset 0 0 0 1px #fff2fb, 0 3px 8px rgba(130, 59, 120, 0.15);
}

.taysis-data-table .taysis-plate-number.is-public-bus > strong,
.taysis-data-table .taysis-plate-number.is-public-bus:hover > strong {
    color: #51204c;
}

.taysis-data-table .taysis-plate-number.is-public-bus:hover {
    border-color: #7e3976;
    box-shadow: inset 0 0 0 1px #f8def2, 0 5px 12px rgba(107, 42, 99, 0.24);
}

.taysis-obligation-cell {
    min-width: 330px;
}

.taysis-file-obligations {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.taysis-obligation {
    min-width: 0;
    border: 1px solid #c9dadd;
    border-radius: 10px;
    background: #f3f8f8;
}

.taysis-obligation > summary {
    display: grid;
    min-height: 49px;
    align-items: center;
    padding: 7px 8px;
    grid-template-columns: 28px minmax(0, 1fr) auto;
    gap: 7px;
    list-style: none;
    cursor: pointer;
}

.taysis-obligation > summary::-webkit-details-marker {
    display: none;
}

.taysis-obligation > summary::marker {
    display: none;
    content: '';
}

.taysis-obligation > summary:focus-visible {
    border-radius: 9px;
    outline: 2px solid var(--ts-teal-600);
    outline-offset: 1px;
}

.taysis-obligation-icon {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    color: #52727a;
    border-radius: 8px;
    background: #dfecee;
}

.taysis-obligation-icon .taysis-icon {
    width: 15px;
    height: 15px;
}

.taysis-obligation > summary > span:nth-child(2) {
    min-width: 0;
}

.taysis-data-table .taysis-obligation > summary strong {
    overflow: hidden;
    font-size: var(--ts-font-caption);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.taysis-data-table .taysis-obligation > summary small {
    margin-top: 2px;
    font-size: 10px;
    white-space: nowrap;
}

.taysis-obligation > summary b {
    display: grid;
    min-width: 22px;
    height: 22px;
    place-items: center;
    padding: 0 5px;
    border-radius: 999px;
    font-size: 10px;
}

.taysis-obligation.is-missing {
    border-color: #e5c58c;
    background: #fff9ed;
}

.taysis-obligation.is-missing .taysis-obligation-icon,
.taysis-obligation.is-missing > summary b {
    color: #985a16;
    background: #f8e4bd;
}

.taysis-obligation.is-complete {
    border-color: #b9dcd6;
    background: #edf9f6;
}

.taysis-obligation.is-complete .taysis-obligation-icon,
.taysis-obligation.is-complete > summary b {
    color: #087d67;
    background: #d5f0e9;
}

.taysis-obligation[open] {
    grid-column: 1 / -1;
}

.taysis-data-table tr:has(.taysis-obligation[open]) td {
    vertical-align: top;
}

.taysis-obligation-content {
    display: grid;
    padding: 0 10px 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    border-top: 1px solid rgba(119, 146, 154, 0.2);
}

.taysis-obligation-content section {
    min-width: 0;
    padding-top: 9px;
}

.taysis-obligation-content h3 {
    margin: 0 0 6px;
    color: #647981;
    font-size: var(--ts-font-caption);
    font-weight: 850;
    letter-spacing: 0.35px;
    text-transform: uppercase;
}

.taysis-obligation-content p,
.taysis-obligation-content ul {
    margin: 0;
    color: #536871;
    font-size: var(--ts-font-body);
}

.taysis-obligation-content p.is-success {
    color: #087d67;
    font-weight: 750;
}

.taysis-obligation-content ul {
    display: grid;
    padding: 0;
    gap: 5px;
    list-style: none;
}

.taysis-obligation-content li {
    min-width: 0;
    padding-left: 10px;
    position: relative;
}

.taysis-obligation-content li::before {
    width: 4px;
    height: 4px;
    position: absolute;
    top: 7px;
    left: 0;
    border-radius: 50%;
    background: currentColor;
    content: '';
}

.taysis-obligation-content li > a,
.taysis-obligation-content li > span {
    display: block;
    overflow-wrap: anywhere;
    font-weight: 750;
}

.taysis-obligation-content li > a {
    color: var(--ts-teal-700);
}

.taysis-data-table .taysis-obligation-content li small {
    margin-top: 1px;
    font-size: var(--ts-font-help);
    line-height: 1.4;
    white-space: normal;
}

.taysis-obligation-empty {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    padding: 7px 10px;
    color: #7b6a4e;
    border: 1px dashed #dcc89f;
    border-radius: 9px;
    background: #fff9ed;
    font-size: var(--ts-font-help);
    font-weight: 700;
}

.taysis-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 8px;
    color: #51656e;
    border: 1px solid #cbd6da;
    border-radius: 999px;
    background: #edf2f3;
    font-size: 9px;
    font-weight: 850;
    white-space: nowrap;
}

.taysis-status::before {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
    content: '';
}

.taysis-status.is-aktif {
    color: #087d67;
    border-color: #b9ddd5;
    background: #dff4ef;
}

.taysis-status.is-pasif,
.taysis-status.is-sona_erdi {
    color: #6d7880;
    background: #edf0f1;
}

.taysis-status.is-iptal {
    color: #b5473d;
    border-color: #efd0cc;
    background: #fff0ee;
}

.taysis-status.is-large {
    padding: 8px 11px;
    font-size: 10px;
}

.taysis-table-action {
    width: 54px;
    text-align: right;
}

.taysis-row-link {
    display: inline-flex;
    width: 32px;
    height: 32px;
    align-items: center;
    justify-content: center;
    color: var(--ts-teal-700);
    border: 1px solid #c9dcde;
    border-radius: 8px;
    background: #ecf7f5;
}

.taysis-row-link:hover {
    color: #fff;
    background: var(--ts-teal-600);
}

.taysis-row-link .taysis-icon {
    width: 14px;
    height: 14px;
}

.taysis-data-footer {
    display: flex;
    min-height: 59px;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 10px 16px;
    color: #798b93;
    border-top: 1px solid #d7e0e3;
    background: #f7f9fa;
    font-size: 9px;
}

.taysis-pagination {
    margin: 0;
    gap: 4px;
}

.taysis-pagination .page-link {
    min-width: 30px;
    color: #526a75;
    border-color: #ccd8dc;
    border-radius: 7px;
    font-size: 9px;
    text-align: center;
}

.taysis-pagination .active .page-link {
    color: #fff;
    border-color: var(--ts-teal-600);
    background: var(--ts-teal-600);
}

.taysis-data-empty {
    display: flex;
    min-height: 310px;
    align-items: center;
    justify-content: center;
    padding: 35px;
    flex-direction: column;
    text-align: center;
}

.taysis-data-empty > span {
    display: inline-flex;
    width: 58px;
    height: 58px;
    align-items: center;
    justify-content: center;
    color: var(--ts-teal-700);
    border: 1px solid #c5e0dc;
    border-radius: 17px;
    background: #e6f6f3;
}

.taysis-data-empty > span .taysis-icon {
    width: 26px;
    height: 26px;
}

.taysis-data-empty h2 {
    margin: 15px 0 0;
    color: var(--ts-ink);
    font-size: 17px;
}

.taysis-data-empty p {
    margin: 7px 0 0;
    color: #778990;
    font-size: 10px;
}

.taysis-breadcrumb {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #768991;
    font-size: 9.5px;
    font-weight: 700;
}

.taysis-breadcrumb a {
    color: var(--ts-teal-700);
    text-decoration: none;
}

.taysis-breadcrumb .taysis-icon {
    width: 12px;
    height: 12px;
}

.taysis-detail-hero {
    display: grid;
    min-height: 152px;
    align-items: center;
    padding: 25px 29px;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 25px;
    overflow: hidden;
    color: #fff;
    border-radius: 17px;
    background:
        radial-gradient(circle at 88% 10%, rgba(64, 220, 198, 0.24), transparent 28%),
        linear-gradient(112deg, #214c60, #287889 62%, #109a8d);
    box-shadow: 0 14px 30px rgba(31, 73, 91, 0.16);
}

.taysis-detail-plate {
    display: flex;
    min-width: 154px;
    height: 72px;
    align-items: stretch;
    overflow: hidden;
    color: #182d36;
    border: 3px solid #d8e0e3;
    border-radius: 9px;
    background: #fff;
    box-shadow: inset 0 0 0 2px #415862, 0 9px 21px rgba(12, 45, 56, 0.22);
}

.taysis-detail-plate span {
    display: inline-flex;
    width: 35px;
    align-items: flex-end;
    justify-content: center;
    padding-bottom: 8px;
    color: #fff;
    background: #2451a4;
    font-size: 8px;
    font-weight: 850;
}

.taysis-detail-plate strong {
    display: inline-flex;
    flex: 1;
    align-items: center;
    justify-content: center;
    padding: 0 15px;
    font-size: 19px;
    font-weight: 950;
    letter-spacing: 1px;
    white-space: nowrap;
}

.taysis-personnel-avatar,
.taysis-entity-avatar {
    display: inline-flex;
    width: 88px;
    height: 88px;
    flex: 0 0 88px;
    align-items: center;
    justify-content: center;
    color: #fff;
    border: 3px solid rgba(222, 255, 250, 0.9);
    border-radius: 50%;
    background:
        radial-gradient(circle at 34% 28%, rgba(255, 255, 255, 0.24), transparent 35%),
        linear-gradient(145deg, #2d6da0, #0b8d82);
    box-shadow:
        inset 0 0 0 5px rgba(255, 255, 255, 0.1),
        0 9px 21px rgba(12, 45, 56, 0.24);
}

.taysis-personnel-avatar img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    object-fit: cover;
    object-position: center;
}

.taysis-personnel-avatar .taysis-icon,
.taysis-entity-avatar .taysis-icon {
    width: 43px;
    height: 43px;
}

.taysis-entity-avatar.is-company {
    border-radius: 23px;
    background:
        radial-gradient(circle at 34% 28%, rgba(255, 255, 255, 0.22), transparent 35%),
        linear-gradient(145deg, #334f77, #32728b);
}

.taysis-entity-avatar.is-company .taysis-icon {
    width: 45px;
    height: 45px;
}

.taysis-detail-title .taysis-kicker {
    color: #aaf7eb;
}

.taysis-detail-title h1 {
    margin: 0;
    color: #fff;
    font-size: clamp(23px, 3vw, 32px);
    letter-spacing: -0.35px;
}

.taysis-detail-title p {
    margin: 6px 0 0;
    color: #d6eaee;
    font-size: 11px;
}

.taysis-detail-alerts {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 14px;
}

.taysis-detail-alert {
    display: inline-flex;
    min-height: 32px;
    align-items: center;
    gap: 7px;
    padding: 6px 10px;
    color: #5f430d;
    border: 1px solid rgba(255, 221, 145, 0.92);
    border-radius: 9px;
    background: rgba(255, 245, 215, 0.96);
    box-shadow: 0 5px 13px rgba(16, 49, 58, 0.14);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.25;
    text-decoration: none;
}

.taysis-detail-alert:hover {
    color: #4f3507;
    border-color: #ffe4a4;
    background: #fff8e5;
    transform: translateY(-1px);
}

.taysis-detail-alert .taysis-icon {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
}

.taysis-detail-alert strong {
    font-weight: 900;
}

.taysis-detail-alert.is-danger {
    color: #8d2d2a;
    border-color: rgba(255, 183, 176, 0.95);
    background: rgba(255, 234, 230, 0.97);
}

.taysis-detail-alert.is-danger:hover {
    color: #76201e;
    border-color: #ffc7c1;
    background: #fff0ed;
}

.taysis-detail-alert.is-clear {
    color: #075f54;
    border-color: rgba(158, 232, 217, 0.9);
    background: rgba(224, 249, 242, 0.96);
}

#guzergah-izin-belgeleri,
#dijital-arsiv,
#odemeler,
#donem-dosyalari,
#guncel-hak-sahipleri,
#arac-tarihcesi {
    scroll-margin-top: 92px;
}

.taysis-detail-hero .taysis-status {
    color: #dcfff9;
    border-color: rgba(213, 255, 248, 0.34);
    background: rgba(7, 61, 70, 0.26);
}

.taysis-detail-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 13px;
}

.taysis-detail-summary article {
    position: relative;
    display: flex;
    min-height: 112px;
    align-items: center;
    gap: 13px;
    overflow: hidden;
    padding: 19px 17px 17px;
    border: 1px solid #c7d4d9;
    border-radius: 13px;
    background: linear-gradient(140deg, #f5faf9, #e7f1f1);
    box-shadow: 0 8px 20px rgba(31, 73, 91, 0.09);
    cursor: pointer;
    transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.taysis-summary-anchor {
    position: absolute;
    z-index: 1;
    inset: 0;
    border-radius: inherit;
}

.taysis-detail-summary article > div a,
.taysis-detail-summary article > strong a {
    position: relative;
    z-index: 2;
}

.taysis-detail-summary article:hover {
    border-color: var(--detail-summary-accent, var(--ts-teal-600));
    box-shadow: 0 12px 25px rgba(31, 73, 91, 0.15);
    transform: translateY(-2px);
}

.taysis-summary-anchor:focus-visible {
    outline: 3px solid var(--detail-summary-accent, var(--ts-teal-600));
    outline-offset: -4px;
}

.taysis-detail-summary article::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 4px;
    background: var(--detail-summary-accent, var(--ts-teal-600));
    content: "";
}

.taysis-detail-summary .is-period-summary {
    --detail-summary-accent: #078d84;
    border-color: #91cec6;
    background: linear-gradient(140deg, #ebfaf7, #cbeae5);
}

.taysis-detail-summary .is-holder-summary {
    --detail-summary-accent: #286b83;
    border-color: #9fc5d3;
    background: linear-gradient(140deg, #edf8fb, #cfe4ec);
}

.taysis-detail-summary .is-vehicle-summary {
    --detail-summary-accent: #b97935;
    border-color: #decbb2;
    background: linear-gradient(140deg, #fffbf4, #f3e9dc);
}

.taysis-detail-summary-icon {
    display: inline-flex;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    color: var(--ts-teal-700);
    border-radius: 11px;
    background: #dff4f0;
}

.taysis-detail-summary-icon.navy {
    color: #28687d;
    background: #e0ebf0;
}

.taysis-detail-summary-icon.amber {
    color: #ad6b2d;
    background: #f8ead8;
}

.taysis-detail-summary-icon .taysis-icon {
    width: 20px;
    height: 20px;
}

.taysis-detail-summary small,
.taysis-detail-summary strong,
.taysis-detail-summary div > span {
    display: block;
}

.taysis-detail-summary small {
    color: #74878f;
    font-size: 8.5px;
    font-weight: 800;
    letter-spacing: 0.35px;
    text-transform: uppercase;
}

.taysis-detail-summary strong {
    margin-top: 5px;
    color: var(--ts-ink);
    font-size: 12px;
}

.taysis-detail-summary div > span {
    margin-top: 5px;
    color: #798a91;
    font-size: 8.5px;
}

/* Record summaries form the footer of their header. */
.taysis-detail-hero.has-summary {
    --hero-inset: 29px;
    padding: 25px var(--hero-inset) 0;
    row-gap: 24px;
}

.taysis-detail-summary.is-hero-footer {
    grid-column: 1 / -1;
    grid-template-columns: repeat(var(--hero-summary-columns, 3), minmax(0, 1fr));
    gap: 0;
    margin-inline: calc(-1 * var(--hero-inset));
    border-top: 1px solid rgba(255, 255, 255, 0.28);
    background: rgba(7, 35, 48, 0.32);
}

.taysis-detail-summary.is-hero-footer.taysis-permit-summary-grid {
    --hero-summary-columns: 4;
}

.taysis-detail-summary.is-hero-footer.taysis-permit-summary-grid strong {
    margin-top: 5px;
    font-size: 23px;
    line-height: 1.1;
}

.taysis-page-header.has-summary {
    --hero-inset: 27px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    padding-bottom: 0;
    overflow: hidden;
}

.taysis-detail-summary.is-hero-footer > article {
    min-width: 0;
    min-height: 100px;
    padding: 18px var(--hero-inset);
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    transform: none;
    transition: background 160ms ease;
}

.taysis-detail-summary.is-hero-footer > article + article {
    border-left: 1px solid rgba(255, 255, 255, 0.2);
}

.taysis-detail-summary.is-hero-footer > article::before {
    display: none;
}

.taysis-detail-summary.is-hero-footer > article:hover {
    background: rgba(255, 255, 255, 0.06);
}

.taysis-detail-summary.is-hero-footer article > div {
    min-width: 0;
    overflow-wrap: anywhere;
}

.taysis-detail-summary.is-hero-footer small,
.taysis-detail-summary.is-hero-footer div > span {
    color: #deeff1;
}

.taysis-detail-summary.is-hero-footer strong,
.taysis-detail-summary.is-hero-footer article > div a {
    color: #fff;
}

.taysis-detail-summary.is-hero-footer article > div a {
    text-decoration-color: rgba(255, 255, 255, 0.5);
    text-underline-offset: 3px;
}

.taysis-detail-summary.is-hero-footer article > div a:hover {
    text-decoration-color: #fff;
}

.taysis-detail-summary.is-hero-footer .taysis-detail-summary-icon {
    color: #e0fff7;
    background: rgba(255, 255, 255, 0.12);
}

.taysis-detail-summary.is-hero-footer a:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 3px;
}

.taysis-detail-summary.is-hero-footer .taysis-summary-anchor:focus-visible {
    outline-offset: -5px;
}

@media (max-width: 760px) {
    .taysis-page-header.has-summary,
    .taysis-detail-summary.is-hero-footer {
        grid-template-columns: 1fr;
    }

    .taysis-detail-summary.is-hero-footer > article + article {
        border-top: 1px solid rgba(255, 255, 255, 0.2);
        border-left: 0;
    }
}

@media (max-width: 520px) {
    .taysis-page-header.has-summary,
    .taysis-detail-hero.has-summary {
        --hero-inset: 21px;
        padding-top: 21px;
        row-gap: 21px;
    }
}

.taysis-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
    gap: 14px;
}

.taysis-detail-panel > header {
    display: flex;
    min-height: 72px;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 15px 18px;
    border-bottom: 1px solid #d5dfe2;
    background: linear-gradient(105deg, #f9fbfb, #e8f0f1);
}

.taysis-detail-panel > header h2 {
    margin: 0;
    color: var(--ts-section-heading);
    font-size: 17px;
    font-weight: var(--ts-section-heading-weight);
}

.taysis-timeline {
    padding: 19px 21px 9px;
}

.taysis-timeline-item {
    position: relative;
    display: grid;
    min-height: 91px;
    padding: 0 0 22px;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 11px;
}

.taysis-timeline-item::before {
    position: absolute;
    top: 13px;
    bottom: -2px;
    left: 6px;
    width: 1px;
    background: #ccd9dc;
    content: '';
}

.taysis-timeline-item:last-child::before {
    display: none;
}

.taysis-timeline-marker {
    position: relative;
    z-index: 1;
    width: 13px;
    height: 13px;
    margin-top: 2px;
    border: 3px solid #edf3f4;
    border-radius: 50%;
    background: #8799a1;
    box-shadow: 0 0 0 1px #b8c8cd;
}

.taysis-timeline-item.is-current .taysis-timeline-marker {
    background: var(--ts-teal-600);
    box-shadow: 0 0 0 1px #52bdb3, 0 0 0 5px rgba(15, 159, 146, 0.1);
}

.taysis-timeline-item span,
.taysis-timeline-item strong,
.taysis-timeline-item small {
    display: block;
}

.taysis-timeline-item div > span {
    color: var(--ts-teal-700);
    font-size: 8px;
    font-weight: 800;
}

.taysis-timeline-item strong {
    margin-top: 5px;
    color: var(--ts-ink);
    font-size: 12px;
}

.taysis-timeline-item small {
    margin-top: 5px;
    color: #788a92;
    font-size: 9px;
}

.taysis-independent-history {
    display: grid;
    gap: 10px;
    padding: 14px;
}

#plaka-surucu-atama-form .taysis-form-grid {
    align-items: start;
}

.taysis-assignment-context {
    display: grid;
    min-width: 0;
    gap: 20px;
}

.taysis-history-record-group {
    overflow: hidden;
    border: 1px solid #d2dde0;
    border-radius: 11px;
    background: #fff;
    box-shadow: 0 4px 12px rgba(31, 73, 91, 0.05);
}

.taysis-history-record-group.is-current {
    border-color: #92d0c8;
    box-shadow: 0 6px 16px rgba(14, 127, 117, 0.09);
}

.taysis-history-record-group.is-ended {
    border-color: #dce3e5;
    box-shadow: none;
}

.taysis-history-record-summary {
    display: grid;
    min-height: 88px;
    align-items: center;
    padding: 13px 14px;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 11px;
    background: linear-gradient(110deg, #fbfcfc, #f2f6f6);
}

.taysis-history-record-group.is-current .taysis-history-record-summary {
    background: linear-gradient(110deg, #f3fbf9, #e8f5f2);
}

.taysis-history-record-group.is-ended .taysis-history-record-summary {
    background: linear-gradient(110deg, #f7f8f8, #f0f3f4);
}

.taysis-history-record-group.is-ended .taysis-history-record-icon {
    color: #73858c;
    background: #e4e9eb;
}

.taysis-history-record-group.is-ended .taysis-history-record-copy > span,
.taysis-history-record-group.is-ended .taysis-history-record-copy > small {
    color: #88969b;
}

.taysis-history-record-group.is-ended .taysis-history-record-copy > strong,
.taysis-history-record-group.is-ended .taysis-history-record-copy > strong a {
    color: #617178;
}

.taysis-history-record-group.is-ended .taysis-soft-status {
    color: #6f7f85;
    border-color: #d2dcdf;
    background: #e7ecee;
}

:is([data-driver-assignment-list], [data-plate-vehicle-assignment-list]) .taysis-history-record-group.is-current {
    border-color: rgba(255, 255, 255, 0.4);
    box-shadow: 0 7px 18px rgba(18, 39, 54, 0.18);
}

:is([data-driver-assignment-list], [data-plate-vehicle-assignment-list]) .taysis-history-record-group.is-current .taysis-history-record-summary {
    background: var(--ts-navy-900);
}

:is([data-driver-assignment-list], [data-plate-vehicle-assignment-list]) .taysis-history-record-group.is-current .taysis-history-record-icon {
    color: #aef9ed;
    background: rgba(255, 255, 255, 0.12);
}

:is([data-driver-assignment-list], [data-plate-vehicle-assignment-list]) .taysis-history-record-group.is-current .taysis-history-record-copy > span {
    color: #aef9ed;
    font-weight: 900;
}

:is([data-driver-assignment-list], [data-plate-vehicle-assignment-list]) .taysis-history-record-group.is-current .taysis-history-record-copy > strong,
:is([data-driver-assignment-list], [data-plate-vehicle-assignment-list]) .taysis-history-record-group.is-current .taysis-history-record-copy > strong a {
    color: #fff;
}

:is([data-driver-assignment-list], [data-plate-vehicle-assignment-list]) .taysis-history-record-group.is-current .taysis-history-record-copy > small {
    color: #e2f1f5;
}

:is([data-driver-assignment-list], [data-plate-vehicle-assignment-list]) .taysis-history-record-group.is-current .taysis-soft-status {
    color: #785000;
    border-color: #ddb24d;
    background: #fff3cf;
    box-shadow: 0 4px 10px rgba(154, 104, 0, 0.08);
    font-weight: 900;
}

.taysis-history-record-icon {
    display: inline-flex;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    color: #087e78;
    border-radius: 10px;
    background: #d9f1ec;
}

.taysis-history-record-icon.navy {
    color: #286b83;
    background: #dcecf2;
}

.taysis-history-record-icon .taysis-icon {
    width: 18px;
    height: 18px;
}

.taysis-history-record-copy {
    min-width: 0;
}

.taysis-history-record-copy > span,
.taysis-history-record-copy > strong,
.taysis-history-record-copy > small {
    display: block;
}

.taysis-history-record-copy > span {
    color: var(--ts-teal-700);
    font-size: var(--ts-font-caption);
    font-weight: 800;
}

.taysis-history-record-copy > strong {
    margin-top: 4px;
    color: var(--ts-ink);
    font-size: var(--ts-font-body);
}

.taysis-history-record-copy > strong a {
    color: inherit;
    text-decoration: none;
}

.taysis-history-record-copy > strong a:hover,
.taysis-history-record-copy > strong a:focus-visible,
.taysis-history-record-copy > small a:hover,
.taysis-history-record-copy > small a:focus-visible {
    color: var(--ts-teal-700);
}

.taysis-history-record-copy > small {
    margin-top: 4px;
    color: #71858d;
    font-size: var(--ts-font-help);
}

.taysis-history-record-details {
    border-top: 1px solid #d9e3e5;
    background: #fbfdfd;
}

.taysis-history-record-details > summary {
    display: flex;
    min-height: 50px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 14px 9px 63px;
    list-style: none;
    cursor: pointer;
}

.taysis-history-record-details > summary::-webkit-details-marker {
    display: none;
}

.taysis-history-record-details > summary::marker {
    content: '';
}

.taysis-history-record-details > summary:hover {
    background: #f0f7f6;
}

.taysis-history-record-details > summary:focus-visible {
    outline: 2px solid var(--ts-teal-600);
    outline-offset: -2px;
}

.taysis-history-record-details > summary span,
.taysis-history-record-details > summary strong,
.taysis-history-record-details > summary small {
    display: block;
}

.taysis-history-record-details > summary strong {
    color: #405a65;
    font-size: var(--ts-font-help);
}

.taysis-history-record-details > summary small {
    margin-top: 2px;
    color: #7a8d94;
    font-size: var(--ts-font-caption);
}

.taysis-history-record-details > summary b {
    display: inline-flex;
    width: 28px;
    height: 28px;
    align-items: center;
    justify-content: center;
    flex: 0 0 28px;
    color: var(--ts-teal-700);
    border-radius: 8px;
    background: #e1f1ee;
    transition: transform 160ms ease;
}

.taysis-history-record-details > summary b .taysis-icon {
    width: 14px;
    height: 14px;
}

.taysis-history-record-details[open] > summary b {
    transform: rotate(90deg);
}

.taysis-history-movement-list {
    display: grid;
    gap: 7px;
    padding: 0 14px 13px 63px;
}

.taysis-history-movement {
    position: relative;
    padding: 9px 11px;
    border: 1px solid #dbe4e6;
    border-radius: 9px;
    background: #fff;
}

.taysis-history-movement::before {
    position: absolute;
    top: 11px;
    bottom: 11px;
    left: 0;
    width: 3px;
    border-radius: 0 3px 3px 0;
    background: #9aaeb4;
    content: '';
}

.taysis-history-movement.is-current::before {
    background: var(--ts-teal-600);
}

.taysis-history-movement > span,
.taysis-history-movement > strong,
.taysis-history-movement > small {
    display: block;
}

.taysis-history-movement > span {
    color: var(--ts-teal-700);
    font-size: var(--ts-font-caption);
    font-weight: 800;
}

.taysis-history-movement > strong {
    margin-top: 3px;
    color: var(--ts-ink);
    font-size: var(--ts-font-help);
}

.taysis-history-movement > small {
    margin-top: 3px;
    color: #778a92;
    font-size: var(--ts-font-caption);
}

@media (max-width: 620px) {
    .taysis-history-record-summary {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .taysis-history-record-summary > .taysis-soft-status {
        grid-column: 2;
        justify-self: start;
    }

    .taysis-history-record-details > summary,
    .taysis-history-movement-list {
        padding-left: 14px;
    }
}

.taysis-dossier-history-panel {
    width: 100%;
}

.taysis-dossier-history-list {
    display: grid;
    gap: 10px;
    padding: 14px;
}

.taysis-dossier-history-item {
    display: grid;
    overflow: hidden;
    grid-template-columns: minmax(330px, 0.72fr) minmax(0, 1.55fr);
    border: 1px solid #cedadd;
    border-radius: 12px;
    background: #fbfcfc;
}

.taysis-dossier-history-item.is-current {
    border-color: #79c8c0;
    box-shadow: 0 7px 18px rgba(17, 126, 121, 0.1);
}

.taysis-dossier-file-row {
    display: grid;
    min-height: 104px;
    align-items: center;
    align-content: center;
    gap: 8px 12px;
    padding: 13px 15px;
    grid-template-columns: auto minmax(0, 1fr);
    border-right: 1px solid #d8e2e5;
    background: linear-gradient(110deg, #f4f8f8, #e8f0f1);
}

.taysis-dossier-history-item.is-current .taysis-dossier-file-row {
    background: linear-gradient(110deg, #ecf9f6, #dcefeb);
}

.taysis-dossier-file-icon {
    display: inline-flex;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    color: #236b7c;
    border-radius: 11px;
    background: #dcebef;
}

.taysis-dossier-history-item.is-current .taysis-dossier-file-icon {
    color: #087c70;
    background: #ccece5;
}

.taysis-dossier-file-icon .taysis-icon {
    width: 20px;
    height: 20px;
}

.taysis-dossier-file-copy > span,
.taysis-dossier-file-copy > strong,
.taysis-dossier-file-copy > small {
    display: block;
}

.taysis-dossier-file-copy > span {
    color: #167b77;
    font-size: var(--ts-font-caption);
    font-weight: 800;
}

.taysis-dossier-file-copy > strong {
    margin-top: 4px;
    font-size: 16px;
}

.taysis-dossier-file-copy > strong .taysis-dossier-file-link {
    color: #0d6efd;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}

.taysis-dossier-file-copy > strong .taysis-dossier-file-link:hover,
.taysis-dossier-file-copy > strong .taysis-dossier-file-link:focus-visible {
    color: #084298;
}

.taysis-dossier-file-copy > small {
    margin-top: 4px;
    color: #71858d;
    font-size: var(--ts-font-help);
}

.taysis-dossier-file-statuses {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
    flex-wrap: wrap;
    grid-column: 2;
}

.taysis-soft-status.is-current {
    color: #087467;
    border: 1px solid #a5d9d1;
    background: #e0f4ef;
}

.taysis-dossier-holders {
    display: flex;
    min-width: 0;
    justify-content: center;
    flex-direction: column;
    padding: 11px 13px;
    background: #fff;
}

.taysis-dossier-holders-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 7px;
}

.taysis-dossier-holders-heading strong {
    color: #405a65;
    font-size: var(--ts-font-label);
    font-weight: 850;
    letter-spacing: 0.35px;
    text-transform: uppercase;
}

.taysis-dossier-holders-heading span {
    color: #778a92;
    font-size: var(--ts-font-help);
}

.taysis-dossier-holder-grid {
    display: grid;
    gap: 7px;
    grid-template-columns: repeat(auto-fit, minmax(235px, 1fr));
}

.taysis-dossier-holder {
    display: grid;
    min-width: 0;
    min-height: 58px;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    grid-template-columns: auto minmax(0, 1fr) auto;
    border: 1px solid #d6e1e4;
    border-radius: 10px;
    background: #f7fafb;
}

.taysis-dossier-holder.is-current {
    border-color: #a9d9d2;
    background: #eff9f6;
}

.taysis-dossier-holder > span {
    display: inline-flex;
    width: 30px;
    height: 30px;
    align-items: center;
    justify-content: center;
    color: #176e78;
    border-radius: 9px;
    background: #dceff0;
}

.taysis-dossier-holder > span .taysis-icon {
    width: 15px;
    height: 15px;
}

.taysis-dossier-holder strong,
.taysis-dossier-holder small {
    display: block;
}

.taysis-dossier-holder strong {
    font-size: var(--ts-font-body);
}

.taysis-dossier-holder small {
    margin-top: 3px;
    color: #73868e;
    font-size: var(--ts-font-help);
}

.taysis-dossier-holder b {
    padding: 4px 6px;
    color: #08766b;
    border-radius: 7px;
    background: #dff3ee;
    font-size: var(--ts-font-help);
    white-space: nowrap;
}

.taysis-dossier-holder-empty {
    padding: 13px;
    color: #75888f;
    border: 1px dashed #cbd9dd;
    border-radius: 9px;
    background: #f7fafb;
    font-size: var(--ts-font-help);
}

.taysis-dossier-holder-empty.is-actionable {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.taysis-dossier-holder-empty.is-actionable .taysis-inline-action {
    flex: 0 0 auto;
}

@media (max-width: 1050px) {
    .taysis-dossier-history-item {
        grid-template-columns: 1fr;
    }

    .taysis-dossier-file-row {
        min-height: 0;
        border-right: 0;
        border-bottom: 1px solid #d8e2e5;
    }
}

@media (max-width: 620px) {
    .taysis-dossier-file-row {
        align-items: flex-start;
        grid-template-columns: auto minmax(0, 1fr);
    }

    .taysis-dossier-file-statuses {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }

    .taysis-dossier-holder-grid {
        grid-template-columns: 1fr;
    }

    .taysis-dossier-holder-empty.is-actionable {
        align-items: flex-start;
        flex-direction: column;
    }
}

.taysis-holder-list {
    padding: 8px 18px;
}

.taysis-holder-row {
    display: grid;
    min-height: 72px;
    align-items: center;
    padding: 12px 0;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 11px;
    border-bottom: 1px solid #e0e7e9;
}

.taysis-holder-row:last-child {
    border-bottom: 0;
}

.taysis-holder-row > span {
    display: inline-flex;
    width: 36px;
    height: 36px;
    align-items: center;
    justify-content: center;
    color: var(--ts-teal-700);
    border-radius: 10px;
    background: #e2f4f1;
}

.taysis-holder-row > span .taysis-icon {
    width: 17px;
    height: 17px;
}

.taysis-holder-row strong,
.taysis-holder-row small {
    display: block;
}

.taysis-holder-row strong {
    color: var(--ts-ink);
    font-size: 10.5px;
}

.taysis-holder-row small {
    margin-top: 4px;
    color: #7a8b92;
    font-size: 8.5px;
}

.taysis-holder-row b {
    padding: 5px 7px;
    color: var(--ts-teal-700);
    border-radius: 7px;
    background: #e5f4f1;
    font-size: 9px;
}

.taysis-holder-row.is-planned > span {
    color: #9a6508;
    background: #fff0cb;
}

.taysis-holder-row.is-planned > b {
    color: #8b5b08;
    background: #fff0cb;
}

.taysis-holder-row .taysis-missing-badge {
    padding: 5px 9px;
    color: #fff;
    border: 2px solid #fff;
    background: #d92d20;
    box-shadow: 0 0 0 1px #d92d20, 0 4px 9px rgba(180, 35, 24, 0.22);
    font-weight: 850;
}

.taysis-inline-empty {
    padding: 28px 15px;
    color: #7a8c93;
    font-size: 10px;
    text-align: center;
}

@media (max-width: 1100px) {
    .taysis-detail-summary {
        grid-template-columns: 1fr;
    }

    .taysis-detail-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .taysis-data-toolbar,
    .taysis-filter-form {
        align-items: stretch;
        flex-direction: column;
    }

    .taysis-filter-search {
        width: 100%;
    }

    .taysis-result-count {
        align-self: flex-start;
    }

    .taysis-detail-hero {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .taysis-detail-hero > .taysis-status {
        grid-column: 1 / -1;
        justify-self: start;
    }
}

@media (max-width: 760px) {
    .taysis-page-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .taysis-data-table thead {
        display: none;
    }

    .taysis-data-table,
    .taysis-data-table tbody,
    .taysis-data-table tr,
    .taysis-data-table td {
        display: block;
        width: 100%;
    }

    .taysis-data-table tr {
        padding: 13px 15px;
        border-bottom: 1px solid #d7e1e4;
    }

    .taysis-data-table td {
        display: grid;
        padding: 8px 0;
        grid-template-columns: 125px minmax(0, 1fr);
        border: 0;
    }

    .taysis-data-table td::before {
        color: #82939a;
        content: attr(data-label);
        font-size: 8px;
        font-weight: 800;
        text-transform: uppercase;
    }

    .taysis-data-table .taysis-table-action {
        display: none;
    }

    .taysis-obligation-cell {
        min-width: 0;
    }

    .taysis-file-obligations {
        width: 100%;
    }

    .taysis-detail-hero {
        align-items: flex-start;
        grid-template-columns: 1fr;
    }

    .taysis-detail-hero > .taysis-status {
        grid-column: auto;
    }
}

@media (max-width: 460px) {
    .taysis-file-obligations,
    .taysis-obligation-content {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 520px) {
    .taysis-page-header,
    .taysis-detail-hero {
        padding: 21px;
    }

    .taysis-filter-select,
    .taysis-filter-date,
    .taysis-filter-button {
        width: 100%;
    }

    .taysis-filter-date input {
        width: 100%;
    }

    .taysis-data-footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .taysis-detail-plate {
        min-width: 142px;
    }

    .taysis-personnel-avatar,
    .taysis-entity-avatar {
        width: 76px;
        height: 76px;
        flex-basis: 76px;
    }

    .taysis-personnel-avatar .taysis-icon,
    .taysis-entity-avatar .taysis-icon {
        width: 37px;
        height: 37px;
    }

    .taysis-entity-avatar.is-company .taysis-icon {
        width: 39px;
        height: 39px;
    }
}

/* Shared record forms */
.taysis-page-header-compact {
    min-height: 106px;
}

.taysis-record-id {
    padding: 7px 10px;
    color: #d8f1f2;
    border: 1px solid rgba(255, 255, 255, 0.21);
    border-radius: 8px;
    background: rgba(5, 48, 60, 0.2);
    font-size: 9px;
    font-weight: 800;
}

.taysis-record-form {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.taysis-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.taysis-form-panel {
    overflow: hidden;
    border: 1px solid #c4d2d7;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 9px 24px rgba(31, 73, 91, 0.08);
}

.taysis-form-panel-active-entry {
    position: relative;
    z-index: 1;
    border-color: #58bdb5;
    background: #fff;
    box-shadow:
        0 16px 34px rgba(20, 99, 105, 0.15),
        0 0 0 2px rgba(36, 179, 166, 0.08);
    transform: translateY(-2px);
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.taysis-form-panel-active-entry::before {
    position: absolute;
    z-index: 2;
    top: 0;
    right: 0;
    left: 0;
    height: 4px;
    background: linear-gradient(90deg, #07998f, #3cc7b8);
    content: "";
}

.taysis-form-panel-active-entry:focus-within {
    border-color: #07998f;
    box-shadow:
        0 20px 42px rgba(10, 116, 113, 0.2),
        0 0 0 3px rgba(36, 179, 166, 0.12);
    transform: translateY(-3px);
}

.taysis-form-panel-active-entry > header {
    background: linear-gradient(105deg, #fff, #e6f7f4);
}

.taysis-form-panel-reference {
    border-color: #d3dde0;
    background: #f4f7f7;
    box-shadow: 0 5px 14px rgba(31, 73, 91, 0.05);
}

.taysis-form-panel-reference > header {
    background: linear-gradient(105deg, #f7f9f9, #edf2f3);
}

.taysis-form-panel-reference .taysis-form-panel-body {
    background: rgba(246, 248, 248, 0.78);
}

.taysis-form-panel-wide {
    grid-column: 1 / -1;
}

.taysis-form-panel > header {
    display: flex;
    min-height: 86px;
    align-items: center;
    gap: 12px;
    padding: 15px 18px;
    border-bottom: 1px solid #d2dde0;
    background: linear-gradient(105deg, #fbfcfc, #e9f1f2);
}

.taysis-form-panel-icon {
    display: inline-flex;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    flex: 0 0 40px;
    color: var(--ts-teal-700);
    border-radius: 11px;
    background: #dff4f0;
}

.taysis-form-panel-icon.navy {
    color: #276b80;
    background: #dfebf0;
}

.taysis-form-panel-icon.amber {
    color: #ad6a2d;
    background: #f8ead8;
}

.taysis-form-panel-icon .taysis-icon {
    width: 19px;
    height: 19px;
}

.taysis-form-panel > header h2 {
    margin: 0;
    color: var(--ts-section-heading);
    font-size: 16px;
    font-weight: var(--ts-section-heading-weight);
}

.taysis-form-panel > header p {
    margin: 4px 0 0;
    color: #75878f;
    font-size: 8.5px;
    line-height: 1.5;
}

.taysis-form-panel-body {
    padding: 18px;
}

.taysis-document-overview-panel > header .taysis-soft-status {
    margin-left: auto;
    white-space: nowrap;
}

.taysis-document-overview-panel .taysis-form-panel-body {
    display: grid;
    max-height: 510px;
    gap: 18px;
    overflow-y: auto;
}

.taysis-document-overview-group {
    display: grid;
    gap: 9px;
}

.taysis-document-overview-group h3 {
    margin: 0;
    color: #49636d;
    font-size: var(--ts-font-label);
    font-weight: 850;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}

.taysis-document-overview-list {
    display: grid;
    gap: 8px;
}

.taysis-document-overview-item {
    display: grid;
    min-width: 0;
    min-height: 46px;
    align-items: center;
    padding: 6px 8px;
    border: 1px solid #c9dedc;
    border-radius: 11px;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 8px;
    background: #f2fbf9;
}

.taysis-document-overview-item.is-missing {
    border-color: #edc875;
    background: #fff8e7;
}

.taysis-document-overview-item > span {
    display: inline-flex;
    width: 28px;
    height: 28px;
    align-items: center;
    justify-content: center;
    color: #087f74;
    border-radius: 9px;
    background: #daf2ee;
}

.taysis-document-overview-item.is-missing > span {
    color: #9b650c;
    background: #ffe8a9;
}

.taysis-document-overview-item > span .taysis-icon {
    width: 14px;
    height: 14px;
}

.taysis-document-overview-item > div {
    display: grid;
    min-width: 0;
    gap: 3px;
}

.taysis-document-overview-item strong {
    overflow: hidden;
    color: #17333d;
    font-size: var(--ts-font-label);
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.taysis-document-overview-item small {
    overflow: hidden;
    color: #70868e;
    font-size: var(--ts-font-caption);
    line-height: 1.4;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.taysis-document-overview-item .taysis-document-overview-badge {
    padding: 4px 7px;
}

.taysis-document-overview-badge {
    padding: 6px 8px;
    color: #08756c;
    border: 1px solid #aedfd8;
    border-radius: 8px;
    background: #e4f7f3;
    font-size: var(--ts-font-caption);
    font-weight: 850;
    white-space: nowrap;
}

.taysis-document-overview-badge.is-missing {
    color: #8a580b;
    border-color: #edbd54;
    background: #ffecba;
}

.taysis-document-overview-badge.is-inactive {
    color: #6e7d82;
    border-color: #d3dde0;
    background: #eef2f3;
}

.taysis-document-overview-badge.is-pending {
    color: #245b78;
    border-color: #bed7e4;
    background: #eaf4f8;
}

.taysis-document-overview-empty {
    display: flex;
    min-height: 58px;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    color: #6c8189;
    border: 1px dashed #cbd9dd;
    border-radius: 11px;
    background: #f8fafb;
    font-size: var(--ts-font-help);
}

.taysis-document-overview-empty.is-complete {
    color: #08756c;
    border-color: #aadbd4;
    background: #eefaf8;
}

.taysis-document-overview-empty > .taysis-icon {
    display: inline-flex;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    flex: 0 0 34px;
    padding: 8px;
    color: #087f74;
    border-radius: 9px;
    background: #daf2ee;
}

.taysis-form-row {
    display: grid;
    gap: 13px;
}

.taysis-form-row.two-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.taysis-form-field {
    margin-bottom: 15px;
}

.taysis-form-field:last-child {
    margin-bottom: 0;
}

.taysis-form-field .form-label {
    margin-bottom: 6px;
    color: #4e636c;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: 0.35px;
    text-transform: uppercase;
}

.taysis-form-field .form-control,
.taysis-form-field .form-select {
    min-height: 43px;
    padding: 9px 11px;
    color: var(--ts-ink);
    border-color: #bdcdd2;
    border-radius: 9px;
    background-color: #f9fbfb;
    font-size: 11px;
}

.taysis-form-field textarea.form-control {
    min-height: 102px;
    resize: vertical;
}

.taysis-form-field .form-control:focus,
.taysis-form-field .form-select:focus {
    border-color: #45b6ab;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(15, 159, 146, 0.11);
}

.taysis-form-field .form-text {
    margin-top: 5px;
    color: #84949b;
    font-size: 8px;
}

.taysis-form-field .invalid-feedback {
    margin-top: 5px;
    color: #bd4b42;
    font-size: 8.5px;
}

.taysis-form-field.has-error .form-control,
.taysis-form-field.has-error .form-select,
.taysis-form-field.is-invalid .form-control,
.taysis-form-field.is-invalid .form-select {
    border-color: #d98a83;
    background: #fff8f7;
}

.taysis-searchable-select {
    position: relative;
}

.taysis-searchable-select::after {
    position: absolute;
    top: 12px;
    right: 13px;
    color: #6c8088;
    content: '⌕';
    font-size: 17px;
    line-height: 1;
    pointer-events: none;
}

.taysis-searchable-select .taysis-searchable-select-input {
    padding-right: 38px;
}

.taysis-searchable-select-options {
    position: absolute;
    z-index: 50;
    top: calc(100% + 5px);
    right: 0;
    left: 0;
    max-height: 280px;
    padding: 5px;
    overflow-y: auto;
    border: 1px solid #adc3c9;
    border-radius: 9px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(32, 65, 77, 0.16);
}

.taysis-searchable-select-option {
    display: block;
    width: 100%;
    padding: 9px 10px;
    color: var(--ts-ink);
    border: 0;
    border-radius: 6px;
    background: transparent;
    font-size: var(--ts-font-control);
    line-height: 1.4;
    text-align: left;
}

.taysis-searchable-select-option:hover,
.taysis-searchable-select-option.is-active,
.taysis-searchable-select-option[aria-selected='true'] {
    color: #075f59;
    background: var(--ts-teal-50);
}

.taysis-searchable-select-empty {
    padding: 11px 10px;
    color: var(--ts-muted);
    font-size: var(--ts-font-help);
}

.taysis-inline-radio-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.taysis-inline-radio-list > div {
    margin: 0;
}

.taysis-inline-radio-list label {
    display: flex;
    min-height: 43px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 8px 10px;
    color: #34535d;
    border: 1px solid #bdcdd2;
    border-radius: 9px;
    background: #f9fbfb;
    font-size: var(--ts-font-control);
    font-weight: 750;
    cursor: pointer;
}

.taysis-inline-radio-list label:has(input:checked) {
    color: #075f59;
    border-color: #45b6ab;
    background: var(--ts-teal-50);
    box-shadow: 0 0 0 2px rgba(15, 159, 146, 0.08);
}

.taysis-inline-radio-list input {
    margin: 0;
    accent-color: #129b8e;
}

@media (max-width: 640px) {
    .taysis-inline-radio-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.taysis-form-callout {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 11px;
    color: #546d76;
    border: 1px solid #c9dadd;
    border-radius: 9px;
    background: #edf5f5;
    font-size: 8.5px;
    line-height: 1.45;
}

.taysis-form-callout .taysis-icon {
    width: 15px;
    height: 15px;
    flex: 0 0 15px;
    color: var(--ts-teal-700);
}

.taysis-assignment-pending {
    color: #805416;
    border-color: #ead5af;
    background: #fff4df;
}

.taysis-assignment-pending .taysis-icon {
    color: inherit;
}

.taysis-assignment-pending[hidden] {
    display: none;
}

.taysis-permit-source-panel {
    border-color: #d9c38e;
    background: #fffdf8;
}

.taysis-permit-source-panel > header {
    background: linear-gradient(105deg, #fffdf8, #f5ecda);
}

.taysis-permit-payment-warning {
    display: grid;
    align-items: center;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 12px;
    padding: 14px;
    color: #724a14;
    border: 1px solid #e0bb72;
    border-radius: 10px;
    background: #fff4dc;
}

.taysis-permit-payment-warning > span {
    display: inline-flex;
    width: 36px;
    height: 36px;
    align-items: center;
    justify-content: center;
    color: #a56511;
    border-radius: 9px;
    background: #ffe2a9;
}

.taysis-permit-payment-warning strong,
.taysis-permit-payment-warning p {
    display: block;
    margin: 0;
}

.taysis-suitability-payment-ready {
    display: grid;
    align-items: center;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 12px;
    margin: 14px 18px;
    padding: 14px;
    color: #155e55;
    border: 1px solid #8bcfc4;
    border-radius: 10px;
    background: #eefbf8;
}

.taysis-suitability-payment-ready > span {
    display: inline-flex;
    width: 36px;
    height: 36px;
    align-items: center;
    justify-content: center;
    color: #087d72;
    border-radius: 9px;
    background: #d8f3ee;
}

.taysis-suitability-payment-ready strong,
.taysis-suitability-payment-ready p {
    display: block;
    margin: 0;
}

.taysis-suitability-payment-ready mark {
    color: inherit;
    background: linear-gradient(transparent 58%, #ffe37a 58%);
}

.taysis-suitability-payment-ready p {
    margin-top: 3px;
    color: #537670;
    font-size: var(--ts-font-help);
}

/* Route permit monitoring */
.taysis-permit-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.taysis-permit-summary-grid article {
    display: flex;
    min-height: 88px;
    align-items: center;
    gap: 13px;
    padding: 15px 17px;
    border: 1px solid #cad8dc;
    border-radius: 12px;
    background: #fff;
    box-shadow: var(--ts-shadow-sm);
}

.taysis-permit-summary-grid article > span {
    display: inline-flex;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    align-items: center;
    justify-content: center;
    color: var(--permit-summary-color, #236d7d);
    border-radius: 11px;
    background: var(--permit-summary-soft, #e8f3f5);
}

.taysis-permit-summary-grid .taysis-icon {
    width: 20px;
    height: 20px;
}

.taysis-permit-summary-grid small,
.taysis-permit-summary-grid strong {
    display: block;
}

.taysis-permit-summary-grid small {
    color: #667780;
    font-size: var(--ts-font-help);
    font-weight: 720;
}

.taysis-permit-summary-grid strong {
    margin-top: 3px;
    color: var(--ts-ink);
    font-size: 23px;
    line-height: 1;
}

.taysis-permit-summary-grid .is-valid {
    --permit-summary-color: #087d67;
    --permit-summary-soft: #e2f5f1;
}

.taysis-permit-summary-grid .is-warning {
    --permit-summary-color: #a65d08;
    --permit-summary-soft: #fff2d8;
}

.taysis-permit-summary-grid .is-expired {
    --permit-summary-color: #b33d35;
    --permit-summary-soft: #ffebe8;
}

.taysis-permit-table tr.is-warning-row td {
    background: #fffaf0;
}

.taysis-permit-table tr.is-expired-row td {
    background: #fff4f2;
}

.taysis-permit-table tr.is-inactive-row td {
    color: #78868d;
    background: #f5f7f8;
}

.taysis-permit-table .taysis-permit-expiry strong {
    color: inherit;
}

.taysis-permit-table .is-warning-row .taysis-permit-expiry strong {
    color: #9a5709;
}

.taysis-permit-table .is-expired-row .taysis-permit-expiry strong {
    color: #b33d35;
}

.taysis-status.is-warning {
    color: #9a5709;
    border-color: #edcf93;
    background: #fff2d8;
}

.taysis-status.is-expired {
    color: #ad3831;
    border-color: #efc2bd;
    background: #ffe9e6;
}

.taysis-suitability-table tr.is-warning-row td {
    background: #fffaf4;
}

.taysis-suitability-table tr.is-expired-row td {
    border-color: #ecd0cc;
    background: #fff1ef;
}

.taysis-suitability-table tr.is-expired-row td:first-child {
    box-shadow: inset 4px 0 #c7473d;
}

.taysis-suitability-table tr.is-expired-row:hover td {
    background: #ffe9e6;
}

.taysis-suitability-expiry strong {
    color: inherit;
}

.taysis-suitability-table .is-expired-row .taysis-suitability-expiry > strong {
    color: #ad3831;
}

.taysis-suitability-expiry small .taysis-status {
    display: inline-flex;
    margin-top: 5px;
}

.taysis-dashboard-alert-list {
    display: grid;
    gap: 9px;
    padding: 15px 17px 18px;
}

.taysis-dashboard-alert {
    display: grid;
    min-height: 72px;
    align-items: center;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 11px;
    padding: 12px;
    color: #3c4b52;
    border: 1px solid #d8e0e3;
    border-radius: 10px;
    background: #f8fafb;
    text-decoration: none;
}

.taysis-dashboard-alert:hover {
    color: #22333b;
    border-color: #9fb9c1;
    transform: translateY(-1px);
}

.taysis-dashboard-alert > span {
    display: inline-flex;
    width: 36px;
    height: 36px;
    align-items: center;
    justify-content: center;
    color: var(--dashboard-alert-color, #236d7d);
    border-radius: 9px;
    background: var(--dashboard-alert-soft, #e8f3f5);
}

.taysis-dashboard-alert > .taysis-icon {
    width: 16px;
    height: 16px;
    color: #8b9aa1;
}

.taysis-dashboard-alert > span .taysis-icon {
    width: 18px;
    height: 18px;
}

.taysis-dashboard-alert strong,
.taysis-dashboard-alert p {
    display: block;
    margin: 0;
}

.taysis-dashboard-alert strong {
    font-size: var(--ts-font-body);
}

.taysis-dashboard-alert p {
    margin-top: 3px;
    color: #75848b;
    font-size: var(--ts-font-help);
}

.taysis-dashboard-alert.is-danger {
    --dashboard-alert-color: #ad3831;
    --dashboard-alert-soft: #ffe8e5;
    border-color: #efc7c2;
    background: #fff6f4;
}

.taysis-dashboard-alert.is-warning {
    --dashboard-alert-color: #9a5709;
    --dashboard-alert-soft: #ffedc9;
    border-color: #ecd3a1;
    background: #fffaf0;
}

.taysis-dashboard-alert.is-clear {
    --dashboard-alert-color: #087d67;
    --dashboard-alert-soft: #dff4ef;
    grid-template-columns: auto minmax(0, 1fr);
    border-color: #c3e2db;
    background: #f4fbf9;
}

@media (max-width: 1100px) {
    .taysis-permit-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .taysis-permit-summary-grid {
        grid-template-columns: 1fr;
    }
}

.taysis-permit-payment-warning p {
    margin-top: 3px;
    color: #84683f;
    font-size: var(--ts-font-help);
}

@media (max-width: 760px) {
    .taysis-permit-payment-warning {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .taysis-permit-payment-warning .taysis-secondary-button {
        grid-column: 1 / -1;
    }

    .taysis-suitability-payment-ready {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .taysis-suitability-payment-ready .taysis-secondary-button {
        grid-column: 1 / -1;
    }
}

.taysis-form-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
    padding: 14px 16px;
    border: 1px solid #c4d2d7;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 7px 19px rgba(31, 73, 91, 0.06);
}

.taysis-secondary-button,
.taysis-submit-button,
.taysis-detail-edit {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    gap: 7px;
    padding: 9px 14px;
    border-radius: 9px;
    font-size: 10px;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

.taysis-secondary-button {
    color: #173f50;
    border: 1px solid #9fb8c1;
    background: #fff;
    box-shadow: 0 4px 11px rgba(31, 73, 91, 0.12);
}

.taysis-secondary-button:hover {
    color: #075f59;
    border-color: #48aaa2;
    background: #f0fbf9;
    box-shadow: 0 6px 15px rgba(31, 95, 101, 0.16);
    transform: translateY(-1px);
}

.taysis-submit-button {
    color: #fff;
    border: 0;
    background: linear-gradient(135deg, var(--ts-teal-600), #28798a);
    box-shadow: 0 7px 16px rgba(15, 135, 133, 0.2);
}

.taysis-submit-button:hover {
    color: #fff;
    filter: brightness(1.04);
}

.taysis-submit-button .taysis-icon,
.taysis-detail-edit .taysis-icon {
    width: 15px;
    height: 15px;
}

.taysis-detail-actions {
    display: flex;
    align-items: flex-end;
    flex-direction: column;
    gap: 9px;
}

.taysis-detail-actions form {
    margin: 0;
}

.taysis-detail-activate {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 8px 13px;
    color: #624600;
    border: 1px solid #f3d17a;
    border-radius: 9px;
    background: linear-gradient(135deg, #fff9dc, #ffe69c);
    box-shadow: 0 8px 20px rgba(39, 34, 9, 0.22);
    font-size: var(--ts-font-button);
    font-weight: 850;
    white-space: nowrap;
}

.taysis-detail-activate:hover {
    color: #493400;
    background: linear-gradient(135deg, #fffdf0, #ffdc72);
    transform: translateY(-1px);
}

.taysis-detail-activate .taysis-icon {
    width: 16px;
    height: 16px;
}

.taysis-detail-actions .taysis-status {
    color: #dcfff9;
    border-color: rgba(213, 255, 248, 0.34);
    background: rgba(7, 61, 70, 0.26);
}

.taysis-detail-edit {
    min-height: 36px;
    padding: 7px 10px;
    color: #f0fffc;
    border: 1px solid rgba(255, 255, 255, 0.23);
    background: rgba(7, 56, 68, 0.22);
}

.taysis-detail-edit:hover {
    color: #fff;
    background: rgba(7, 56, 68, 0.38);
}

.taysis-detail-edit.taysis-pdf-button {
    min-height: 38px;
    padding: 7px 12px;
    border: 1px solid rgba(255, 255, 255, 0.9);
    color: #fff;
    background: #d62932;
    box-shadow: 0 4px 12px rgba(111, 19, 25, 0.22);
}

.taysis-detail-edit.taysis-pdf-button .taysis-icon {
    width: 19px;
    height: 19px;
    stroke-width: 2;
}

.taysis-detail-edit.taysis-pdf-button:hover {
    border-color: #fff;
    color: #fff;
    background: #b91f27;
    box-shadow: 0 5px 15px rgba(111, 19, 25, 0.3);
}

.taysis-detail-edit.taysis-pdf-button:focus-visible {
    outline: 3px solid rgba(255, 255, 255, 0.5);
    outline-offset: 2px;
}

@media (max-width: 900px) {
    .taysis-form-grid {
        grid-template-columns: 1fr;
    }

    .taysis-form-panel-wide {
        grid-column: auto;
    }

    .taysis-document-overview-panel .taysis-form-panel-body {
        max-height: none;
    }

    .taysis-form-panel-active-entry,
    .taysis-form-panel-active-entry:focus-within {
        transform: none;
    }
}

@media (max-width: 620px) {
    .taysis-form-row.two-columns {
        grid-template-columns: 1fr;
    }

    .taysis-document-overview-panel > header {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .taysis-document-overview-panel > header .taysis-soft-status {
        margin-left: 52px;
    }

    .taysis-document-overview-item {
        align-items: flex-start;
        grid-template-columns: auto minmax(0, 1fr);
    }

    .taysis-document-overview-badge {
        margin-left: 44px;
        grid-column: 1 / -1;
        justify-self: start;
    }

    .taysis-form-actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .taysis-secondary-button,
    .taysis-submit-button {
        width: 100%;
    }

    .taysis-detail-actions {
        align-items: flex-start;
    }
}

/* Accessible typography scale for every module page */
:root {
    --ts-font-help: 12px;
    --ts-font-caption: 12px;
    --ts-font-label: 12.5px;
    --ts-font-button: 13px;
    --ts-font-body: 14px;
    --ts-font-control: 14px;
    --ts-font-section-title: 20px;
}

.taysis-module-page {
    font-size: var(--ts-font-body);
}

.taysis-dashboard-v2 {
    font-size: var(--ts-font-body);
}

.taysis-dashboard-v2 .taysis-kicker,
.taysis-preview-badge,
.taysis-section-bar > span,
.taysis-soft-status {
    font-size: var(--ts-font-caption);
}

.taysis-plate-search-copy > div > span,
.taysis-workspace-row > span:last-child {
    font-size: var(--ts-font-caption);
}

.taysis-plate-search-copy p,
.taysis-planned-note,
.taysis-summary-card small,
.taysis-workspace-row small,
.taysis-empty-work p,
.taysis-quick-grid small,
.taysis-progress-copy p,
.taysis-progress-copy small {
    font-size: var(--ts-font-help);
}

.taysis-summary-card div > span,
.taysis-workspace-row strong,
.taysis-empty-work strong,
.taysis-quick-grid strong,
.taysis-progress-copy > strong {
    font-size: var(--ts-font-body);
}

.taysis-topbar .taysis-search input,
.taysis-user-copy strong {
    font-size: var(--ts-font-body);
}

.taysis-topbar .taysis-search-submit,
.taysis-date-chip,
.taysis-user-copy small,
.taysis-footer {
    font-size: var(--ts-font-help);
}

.taysis-module-page .taysis-kicker {
    font-size: 13px;
}

.taysis-page-header p {
    font-size: 15px;
    line-height: 1.55;
}

.taysis-primary-action,
.taysis-filter-button,
.taysis-secondary-button,
.taysis-submit-button,
.taysis-detail-edit {
    font-size: var(--ts-font-button);
}

.taysis-primary-action small {
    font-size: var(--ts-font-help);
}

.taysis-filter-search input {
    font-size: var(--ts-font-control);
}

.taysis-filter-select > span,
.taysis-data-table th,
.taysis-result-count span,
.taysis-status,
.taysis-data-footer,
.taysis-pagination .page-link {
    font-size: var(--ts-font-caption);
}

.taysis-filter-select select,
.taysis-data-table td,
.taysis-data-table td strong {
    font-size: var(--ts-font-body);
}

.taysis-data-table td small {
    font-size: var(--ts-font-help);
}

.taysis-plate-number {
    font-size: 15px;
}

.taysis-data-table .taysis-plate-number > strong {
    font-size: 15px;
}

.taysis-status.is-large {
    font-size: 13px;
}

.taysis-result-count strong {
    font-size: 18px;
}

.taysis-data-empty h2 {
    font-size: 20px;
}

.taysis-data-empty p,
.taysis-inline-empty {
    font-size: 13px;
}

.taysis-breadcrumb {
    font-size: 12.5px;
}

.taysis-detail-title p {
    font-size: 14px;
    line-height: 1.5;
}

.taysis-detail-summary small {
    font-size: var(--ts-font-help);
}

.taysis-detail-summary strong {
    font-size: 15px;
}

.taysis-detail-summary div > span {
    font-size: var(--ts-font-help);
}

.taysis-detail-panel > header h2 {
    font-size: 20px;
}

.taysis-timeline-item div > span {
    font-size: var(--ts-font-caption);
}

.taysis-timeline-item strong {
    font-size: 15px;
}

.taysis-timeline-item small {
    font-size: var(--ts-font-help);
}

.taysis-holder-row strong {
    font-size: var(--ts-font-body);
}

.taysis-holder-row small,
.taysis-holder-row b {
    font-size: var(--ts-font-help);
}

.taysis-record-id {
    font-size: var(--ts-font-caption);
}

.taysis-form-panel > header h2 {
    font-size: var(--ts-font-section-title);
}

.taysis-form-panel > header p {
    font-size: var(--ts-font-caption);
    line-height: 1.55;
}

.taysis-form-field .form-label {
    font-size: var(--ts-font-label);
}

.taysis-form-field .form-control,
.taysis-form-field .form-select {
    font-size: var(--ts-font-control);
}

.taysis-form-field .form-text {
    font-size: var(--ts-font-help);
    line-height: 1.5;
}

.taysis-form-field .invalid-feedback,
.taysis-form-callout {
    font-size: var(--ts-font-help);
}

@media (max-width: 760px) {
    .taysis-data-table td::before {
        font-size: var(--ts-font-caption);
    }
}

/* Dossier and ownership workflow components */
.taysis-status.is-taslak {
    color: #8a5b18;
    border-color: #ead5ad;
    background: #fff4dc;
}

.taysis-table-file-link {
    color: #0d6efd;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}

.taysis-table-file-link:hover,
.taysis-table-file-link:focus-visible {
    color: #084298;
}

.taysis-data-table td .taysis-table-file-meta {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 4px;
}

.taysis-table-file-meta .taysis-status {
    padding: 3px 6px;
}

/* Payment module */
.taysis-card-heading-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.taysis-payment-attachments {
    display: grid;
    gap: 0.75rem;
    padding: 1rem 1.2rem 1.25rem;
}

.taysis-payment-payer-options {
    display: grid;
    gap: 0.55rem;
    padding: 0.75rem;
    border: 1px solid var(--ts-line);
    border-radius: 0.75rem;
    background: #f8fbfb;
}

.taysis-payment-upload {
    display: grid;
    gap: 0.5rem;
    margin: 0;
    padding: 1rem 1.2rem;
    border-bottom: 1px solid var(--ts-line);
}

.taysis-payment-upload .taysis-form-field {
    min-width: 0;
    margin-bottom: 0;
}

.taysis-payment-upload > .taysis-inline-action {
    justify-self: start;
}

.taysis-payment-payer-options .form-check {
    display: grid;
    min-height: 2.9rem;
    align-items: center;
    grid-template-columns: 1.1rem minmax(0, 1fr);
    gap: 0.7rem;
    margin: 0;
    padding: 0.65rem 0.75rem;
    border: 1px solid transparent;
    border-radius: 0.65rem;
    background: #fff;
}

.taysis-payment-payer-options .form-check:has(input:checked) {
    color: var(--ts-teal-700);
    border-color: #9dd5cf;
    background: var(--ts-teal-50);
}

.taysis-payment-payer-options label {
    display: block;
    margin: 0;
    padding: 0;
    color: inherit;
    font-size: var(--ts-font-control);
    font-weight: 700;
    line-height: 1.4;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.taysis-payment-payer-options .form-check .form-check-input {
    width: 1.1rem;
    height: 1.1rem;
    margin: 0;
    float: none;
    position: static;
    accent-color: var(--ts-teal-600);
}

.taysis-payment-payer-options .taysis-form-field,
.taysis-payment-payer-options .form-text {
    min-width: 0;
}

.taysis-payment-payer-options .form-text {
    grid-column: 1 / -1;
    display: block;
    width: 100%;
    margin-top: 0;
}

.taysis-payment-payer-options .invalid-feedback {
    grid-column: 1 / -1;
}

.taysis-payment-payer-options .invalid-feedback:empty {
    display: none !important;
}

.taysis-vehicle-owner-options {
    gap: 0;
    padding: 0.9rem;
    border-color: #e4ba68;
    background: linear-gradient(135deg, #fff8dc, #fffaf0 76%);
    box-shadow: 0 7px 18px rgba(182, 123, 0, 0.1);
    transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.taysis-vehicle-owner-options:has(.form-check-input:checked) {
    border-color: #c98c0a;
    background: linear-gradient(135deg, #fff1bd, #fffaf0 72%);
    box-shadow: inset 4px 0 #d99a12, 0 8px 20px rgba(182, 123, 0, 0.14);
}

.taysis-vehicle-owner-checkbox {
    margin: 0;
    padding: 0;
}

.taysis-vehicle-owner-checkbox .form-check {
    min-height: 2.25rem;
    padding: 0.25rem 0.2rem;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.taysis-vehicle-owner-checkbox .form-check:has(input:checked) {
    color: #6f4a00;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.taysis-vehicle-owner-checkbox label {
    color: var(--ts-navy-900);
    font-size: var(--ts-font-body);
    font-weight: 850;
}

.taysis-vehicle-owner-checkbox .form-check-input {
    accent-color: #c98c0a;
}

.taysis-vehicle-owner-checkbox .form-text {
    padding: 0 0.2rem 0.75rem;
    color: #806b43;
}

.taysis-vehicle-owner-source {
    display: grid;
    gap: 0.75rem;
    padding: 0.85rem 0.2rem 0.1rem;
    color: #17333d;
    border: 0;
    border-top: 1px solid rgba(201, 140, 10, 0.38);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.taysis-vehicle-owner-source > header {
    display: grid;
    align-items: center;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.7rem;
}

.taysis-vehicle-owner-source-icon {
    display: inline-flex;
    width: 36px;
    height: 36px;
    align-items: center;
    justify-content: center;
    color: #8f6100;
    border-radius: 10px;
    background: #ffe29a;
}

.taysis-vehicle-owner-source-icon .taysis-icon {
    width: 18px;
    height: 18px;
}

.taysis-vehicle-owner-source > header div,
.taysis-vehicle-owner-source > header div > span,
.taysis-vehicle-owner-source > header strong {
    display: block;
}

.taysis-vehicle-owner-source > header div > span {
    color: #8f6100;
    font-size: var(--ts-font-caption);
    font-weight: 850;
    letter-spacing: 0.45px;
}

.taysis-vehicle-owner-source > header strong {
    margin-top: 2px;
    font-size: var(--ts-font-body);
}

.taysis-vehicle-owner-source > header b {
    padding: 0.35rem 0.55rem;
    color: #8f6100;
    border: 1px solid #dfb456;
    border-radius: 999px;
    background: #fff;
    font-size: var(--ts-font-caption);
}

.taysis-vehicle-owner-source-list {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.taysis-vehicle-owner-source-item {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.45rem 0.65rem;
    border: 1px solid #e8c878;
    border-radius: 9px;
    background: #fff;
    font-size: var(--ts-font-help);
}

.taysis-vehicle-owner-source-item small {
    color: #8f6100;
    font-weight: 850;
}

.taysis-brand-logo {
    display: block;
    width: 56px;
    height: 56px;
    flex: 0 0 auto;
    padding: 5px;
    object-fit: contain;
    border: 1px solid #d4dce1;
    border-radius: 11px;
    background: #fff;
}

.taysis-brand-logo.is-preview {
    width: 120px;
    height: 120px;
    padding: 12px;
}

.taysis-brand-upload {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    flex-wrap: wrap;
    margin: 1rem 0;
}

.taysis-vehicle-chassis {
    font-variant-numeric: tabular-nums;
    overflow-wrap: anywhere;
}

.taysis-vehicle-selection-summary {
    display: grid;
    gap: 0.85rem;
    margin: -3px 0 16px;
    padding: 0.95rem;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.4);
    border-radius: 0.8rem;
    background: var(--ts-navy-900);
    box-shadow: 0 7px 18px rgba(18, 39, 54, 0.18);
}

.taysis-vehicle-selection-summary[hidden] {
    display: none;
}

.taysis-vehicle-selection-summary > header {
    display: grid;
    align-items: center;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.75rem;
}

.taysis-vehicle-selection-icon,
.taysis-vehicle-selection-owner-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #aef9ed;
    background: rgba(255, 255, 255, 0.12);
}

.taysis-vehicle-selection-icon {
    width: 40px;
    height: 40px;
    border-radius: 11px;
}

.taysis-vehicle-selection-icon .taysis-icon {
    width: 19px;
    height: 19px;
}

.taysis-vehicle-selection-summary > header div > span,
.taysis-vehicle-selection-summary > header strong,
.taysis-vehicle-selection-summary > header small {
    display: block;
}

.taysis-vehicle-selection-summary > header div > span {
    color: #aef9ed;
    font-size: var(--ts-font-caption);
    font-weight: 850;
    letter-spacing: 0.45px;
}

.taysis-vehicle-selection-summary > header strong {
    margin-top: 2px;
    font-size: var(--ts-font-body);
}

.taysis-vehicle-selection-summary > header small {
    margin-top: 2px;
    color: #e2f1f5;
    font-size: var(--ts-font-help);
    font-weight: 700;
}

.taysis-vehicle-selection-summary > header > b,
.taysis-vehicle-selection-owners > header > b {
    padding: 0.35rem 0.6rem;
    border-radius: 999px;
    background: #fff;
    font-size: var(--ts-font-caption);
    white-space: nowrap;
}

.taysis-vehicle-selection-summary > header > b {
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.4);
    background: rgba(255, 255, 255, 0.12);
}

.taysis-vehicle-selection-facts {
    display: grid;
    margin: 0;
    padding: 0.75rem 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid rgba(255, 255, 255, 0.22);
    border-bottom: 1px solid rgba(255, 255, 255, 0.22);
}

.taysis-vehicle-selection-facts > div {
    min-width: 0;
    padding: 0 0.8rem;
    border-right: 1px solid rgba(255, 255, 255, 0.22);
}

.taysis-vehicle-selection-facts > div:first-child {
    padding-left: 0;
}

.taysis-vehicle-selection-facts > div:last-child {
    padding-right: 0;
    border-right: 0;
}

.taysis-vehicle-selection-facts dt {
    color: #e2f1f5;
    font-size: var(--ts-font-caption);
    font-weight: 800;
    letter-spacing: 0.35px;
    text-transform: uppercase;
}

.taysis-vehicle-selection-facts dd {
    overflow: hidden;
    margin: 3px 0 0;
    color: #fff;
    font-size: var(--ts-font-help);
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.taysis-party-selection-summary [hidden] {
    display: none;
}

.taysis-party-selection-summary > header strong,
.taysis-party-selection-summary .taysis-vehicle-selection-facts dd {
    overflow-wrap: anywhere;
    white-space: normal;
}

.taysis-party-summary-note {
    color: #e2f1f5;
    font-size: var(--ts-font-help);
}

.taysis-vehicle-selection-owners {
    display: grid;
    gap: 0.65rem;
}

.taysis-vehicle-selection-owners > header {
    display: grid;
    align-items: center;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.65rem;
}

.taysis-vehicle-selection-owner-icon {
    width: 34px;
    height: 34px;
    border-radius: 9px;
}

.taysis-vehicle-selection-owner-icon .taysis-icon {
    width: 17px;
    height: 17px;
}

.taysis-vehicle-selection-owners > header strong,
.taysis-vehicle-selection-owners > header small {
    display: block;
}

.taysis-vehicle-selection-owners > header strong {
    font-size: var(--ts-font-help);
}

.taysis-vehicle-selection-owners > header small {
    margin-top: 2px;
    color: #e2f1f5;
    font-size: var(--ts-font-caption);
}

.taysis-vehicle-selection-owners > header > b {
    color: #8f6100;
    border: 1px solid #e3bd67;
}

.taysis-vehicle-selection-owner-list {
    display: flex;
    min-width: 0;
    flex: 1 1 auto;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.taysis-vehicle-selection-owner-content {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
}

.taysis-vehicle-selection-owner {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.45rem 0.65rem;
    color: var(--ts-ink);
    border: 1px solid #e7c77d;
    border-radius: 9px;
    background: #fff9ea;
    font-size: var(--ts-font-help);
}

.taysis-vehicle-selection-owner small {
    color: #8f6100;
    font-weight: 850;
}

.taysis-vehicle-selection-owner-empty {
    width: auto;
    min-width: 0;
    flex: 1 1 auto;
    padding: 0.55rem 0.65rem;
    color: #8a6a2d;
    border: 1px dashed #dfc58f;
    border-radius: 9px;
    background: #fffaf0;
    font-size: var(--ts-font-help);
}

.taysis-vehicle-owner-add-button {
    display: inline-flex;
    min-height: 35px;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    gap: 0.35rem;
    padding: 0.48rem 0.7rem;
    color: #785000;
    border: 1px solid #ddb24d;
    border-radius: 9px;
    background: #fff3cf;
    box-shadow: 0 4px 10px rgba(154, 104, 0, 0.08);
    font-size: var(--ts-font-help);
    font-weight: 850;
}

.taysis-vehicle-owner-add-button[hidden] {
    display: none;
}

.taysis-vehicle-owner-add-button:hover,
.taysis-vehicle-owner-add-button:focus-visible {
    color: #684500;
    border-color: #c9951b;
    background: #ffe8a9;
}

.taysis-vehicle-owner-add-button .taysis-icon {
    width: 14px;
    height: 14px;
}

.taysis-vehicle-owner-dialog {
    width: min(720px, calc(100vw - 32px));
}

.taysis-vehicle-owner-dialog .taysis-file-onboarding-card {
    max-height: min(88vh, 780px);
    overflow-y: auto;
}

.taysis-vehicle-owner-dialog-form > p {
    margin: 0;
    color: #687e87;
    font-size: 14px;
    line-height: 1.6;
}

.taysis-vehicle-owner-dialog-form > p strong {
    color: var(--ts-ink);
}

.taysis-vehicle-owner-dialog-fields {
    display: grid;
    gap: 0.2rem;
    margin-top: 1.25rem;
}

.taysis-vehicle-owner-dialog-details {
    padding: 0.75rem 0.85rem 0.15rem;
    border: 1px solid #d6e3e6;
    border-radius: 11px;
    background: #f8fbfb;
}

.taysis-vehicle-owner-dialog-details summary {
    margin-bottom: 0.65rem;
    color: var(--ts-teal-700);
    cursor: pointer;
    font-size: var(--ts-font-help);
    font-weight: 850;
}

@media (max-width: 620px) {
    .taysis-vehicle-selection-summary > header {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .taysis-vehicle-selection-summary > header > b {
        grid-column: 2;
        justify-self: start;
    }

    .taysis-vehicle-selection-facts {
        grid-template-columns: 1fr;
    }

    .taysis-vehicle-selection-facts > div,
    .taysis-vehicle-selection-facts > div:first-child,
    .taysis-vehicle-selection-facts > div:last-child {
        padding: 0.5rem 0;
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.22);
    }

    .taysis-vehicle-selection-facts > div:first-child {
        padding-top: 0;
    }

    .taysis-vehicle-selection-facts > div:last-child {
        padding-bottom: 0;
        border-bottom: 0;
    }

    .taysis-vehicle-selection-owner-content {
        align-items: stretch;
        flex-direction: column;
    }

    .taysis-vehicle-owner-add-button {
        width: 100%;
    }
}

.taysis-ownership-lock-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    padding: 0.7rem 0.8rem;
    color: var(--ts-teal-700);
    border: 1px solid #9dd5cf;
    border-radius: 0.65rem;
    background: var(--ts-teal-50);
    font-size: var(--ts-font-help);
    font-weight: 700;
}

.taysis-ownership-lock-action .taysis-inline-action {
    flex: 0 0 auto;
}

@media (max-width: 640px) {
    .taysis-ownership-lock-action {
        align-items: flex-start;
        flex-direction: column;
    }
}

.taysis-payment-payer-empty {
    margin-top: 0.65rem;
    padding: 0.8rem 0.9rem;
    color: #725619;
    border: 1px solid #e8cf91;
    border-radius: 0.65rem;
    background: #fff8e7;
    font-size: var(--ts-font-help);
    font-weight: 700;
}

.taysis-payment-items-panel > header {
    align-items: center;
}

.taysis-payment-items {
    display: grid;
    gap: 0.75rem;
}

.taysis-payment-item {
    display: grid;
    grid-template-columns: minmax(260px, 1.35fr) minmax(210px, 1fr) minmax(130px, 0.45fr) minmax(180px, 0.8fr) auto;
    gap: 0.75rem;
    align-items: end;
    padding: 0.9rem;
    border: 1px solid var(--ts-line);
    border-radius: 0.85rem;
    background: #f8fbfc;
}

.taysis-payment-item-field {
    display: grid;
    gap: 0.4rem;
}

.taysis-payment-item-field > span {
    color: #587080;
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.taysis-payment-item-remove {
    min-height: 42px;
    padding: 0 0.8rem;
    border: 1px solid #e3a8a2;
    border-radius: 0.65rem;
    background: #fff;
    color: #b52d25;
    font-weight: 800;
}

.taysis-payment-item-remove:hover {
    background: #fff0ee;
}

.taysis-payment-item-vehicle {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 2.35rem minmax(0, 1fr);
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 0.85rem;
    border: 1px solid #e8cf91;
    border-radius: 0.7rem;
    background: #fff8e7;
    color: #725619;
}

.taysis-payment-item-vehicle[hidden] {
    display: none;
}

.taysis-payment-item-vehicle-icon {
    display: grid;
    width: 2.35rem;
    height: 2.35rem;
    place-items: center;
    border-radius: 0.65rem;
    background: rgba(232, 173, 36, 0.18);
}

.taysis-payment-item-vehicle strong,
.taysis-payment-item-vehicle small {
    display: block;
}

.taysis-payment-item-vehicle strong {
    margin-bottom: 0.15rem;
    font-size: var(--ts-font-body);
}

.taysis-payment-item-vehicle small {
    font-size: var(--ts-font-help);
    font-weight: 650;
}

.taysis-payment-item-vehicle.is-ready {
    border-color: #91d4ca;
    background: #eaf8f5;
    color: #066d66;
}

.taysis-payment-item-vehicle.is-ready .taysis-payment-item-vehicle-icon {
    background: #d1f0eb;
}

.taysis-payment-item-vehicle.is-error {
    border-color: #e59b94;
    background: #fff0ee;
    color: #a92d26;
}

.taysis-payment-item-vehicle.is-error .taysis-payment-item-vehicle-icon {
    background: #f9d7d3;
}

.taysis-payment-item.has-vehicle-error {
    border-color: #e59b94;
    box-shadow: 0 0 0 2px rgba(181, 45, 37, 0.06);
}

.taysis-payment-items-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1rem;
    padding: 0.9rem 1rem;
    color: #365767;
    border: 1px solid #92cec7;
    border-radius: 0.8rem;
    background: linear-gradient(105deg, #f2fbf9, #e1f4f1);
    box-shadow: 0 5px 14px rgba(31, 95, 101, 0.08);
}

.taysis-payment-items-summary small,
.taysis-payment-items-summary span {
    display: block;
}

.taysis-payment-items-summary small {
    margin-bottom: 0.2rem;
    color: #087d74;
    font-size: var(--ts-font-label);
    font-weight: 850;
    letter-spacing: 0.05em;
}

.taysis-payment-items-summary > div > span {
    color: var(--ts-ink);
    font-size: var(--ts-font-body);
    font-weight: 800;
}

.taysis-payment-items-summary strong {
    display: inline-flex;
    align-items: baseline;
    gap: 0.3rem;
    padding: 0.65rem 0.9rem;
    border-radius: 0.65rem;
    background: #fff;
    color: #007f77;
    box-shadow: 0 2px 8px rgba(31, 95, 101, 0.1);
    font-size: 1rem;
    white-space: nowrap;
}

.taysis-payment-items-summary strong span {
    display: inline;
}

@media (max-width: 1150px) {
    .taysis-payment-item {
        grid-template-columns: 1fr 1fr;
    }

    .taysis-payment-item-remove {
        justify-self: start;
    }
}

@media (max-width: 700px) {
    .taysis-payment-item {
        grid-template-columns: 1fr;
    }
}

.taysis-payment-attachment {
    display: grid;
    grid-template-columns: 2.5rem minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.85rem;
    padding: 0.85rem 1rem;
    border: 1px solid var(--ts-line);
    border-radius: 0.85rem;
    background: rgba(237, 247, 248, 0.62);
}

.taysis-payment-attachment > span {
    display: grid;
    width: 2.5rem;
    height: 2.5rem;
    place-items: center;
    color: var(--ts-teal-700);
    border-radius: 0.7rem;
    background: rgba(34, 184, 174, 0.12);
}

.taysis-payment-attachment > div {
    display: grid;
    min-width: 0;
    gap: 0.15rem;
}

.taysis-payment-attachment strong,
.taysis-payment-attachment small {
    overflow-wrap: anywhere;
}

.taysis-payment-attachment small {
    color: var(--ts-muted);
}

.taysis-receipt-preview-trigger {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0;
    color: #056bd6;
    border: 0;
    background: transparent;
    font: inherit;
    font-weight: 850;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.taysis-receipt-preview-trigger:hover,
.taysis-receipt-preview-trigger:focus-visible {
    color: #075f59;
}

.taysis-receipt-preview-trigger:focus-visible {
    outline: 3px solid rgba(24, 154, 143, 0.2);
    outline-offset: 4px;
    border-radius: 4px;
}

.taysis-receipt-preview-trigger .taysis-icon {
    width: 15px;
    height: 15px;
}

.taysis-receipt-preview-dialog {
    width: min(1080px, calc(100vw - 32px));
    max-width: none;
    max-height: calc(100vh - 32px);
    padding: 0;
    overflow: hidden;
    color: var(--ts-ink);
    border: 1px solid rgba(31, 121, 120, 0.32);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 30px 80px rgba(18, 55, 67, 0.34);
}

.taysis-receipt-preview-dialog::backdrop {
    background: rgba(18, 43, 52, 0.6);
    backdrop-filter: blur(4px);
}

.taysis-receipt-preview-card {
    display: grid;
    max-height: calc(100vh - 34px);
    grid-template-rows: auto auto minmax(280px, 1fr) auto;
    background: linear-gradient(145deg, #fff 70%, #edf9f7 100%);
}

.taysis-receipt-preview-header {
    display: grid;
    align-items: center;
    gap: 16px;
    padding: 20px 22px;
    grid-template-columns: auto minmax(0, 1fr) auto;
    border-bottom: 1px solid #d4e1e4;
    background: linear-gradient(180deg, #f9fcfc, #eef7f6);
}

.taysis-receipt-preview-header .taysis-file-onboarding-icon {
    margin: 0;
}

.taysis-receipt-preview-header h2 {
    margin: 2px 0 0;
    color: var(--ts-ink);
    font-size: 23px;
    font-weight: 850;
}

.taysis-receipt-preview-header p {
    margin: 4px 0 0;
    color: var(--ts-muted);
    font-size: var(--ts-font-help);
}

.taysis-receipt-preview-header form button {
    display: inline-flex;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    color: #607981;
    border: 1px solid #c5d5da;
    border-radius: 10px;
    background: #fff;
    font-size: 24px;
    line-height: 1;
}

.taysis-receipt-preview-files {
    display: flex;
    gap: 8px;
    padding: 12px 20px;
    overflow-x: auto;
    border-bottom: 1px solid #dce6e8;
    background: #fff;
}

.taysis-receipt-preview-files button {
    max-width: 270px;
    padding: 8px 11px;
    overflow: hidden;
    color: #506771;
    border: 1px solid #c5d5da;
    border-radius: 9px;
    background: #f7fafb;
    font-size: var(--ts-font-button);
    font-weight: 750;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.taysis-receipt-preview-files button.is-active {
    color: #075f59;
    border-color: #54b7ae;
    background: #e7f7f4;
    box-shadow: inset 0 0 0 1px rgba(37, 167, 156, 0.12);
}

.taysis-receipt-preview-stage {
    display: flex;
    min-height: 360px;
    align-items: center;
    justify-content: center;
    margin: 18px 20px 0;
    overflow: hidden;
    border: 1px solid #c8d8dc;
    border-radius: 12px;
    background: #e8eff1;
}

.taysis-receipt-preview-stage iframe {
    display: block;
    width: 100%;
    height: min(62vh, 650px);
    border: 0;
    background: #fff;
}

.taysis-receipt-preview-stage img {
    display: block;
    max-width: 100%;
    max-height: min(62vh, 650px);
    object-fit: contain;
}

.taysis-receipt-preview-stage [hidden] {
    display: none;
}

.taysis-receipt-preview-unavailable {
    display: grid;
    justify-items: center;
    gap: 8px;
    padding: 36px;
    color: #607781;
    text-align: center;
}

.taysis-receipt-preview-unavailable .taysis-icon {
    width: 40px;
    height: 40px;
    color: var(--ts-teal-700);
}

.taysis-receipt-preview-unavailable strong {
    color: var(--ts-ink);
    font-size: var(--ts-font-body);
}

.taysis-receipt-preview-unavailable span {
    font-size: var(--ts-font-help);
}

.taysis-receipt-preview-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    padding: 16px 20px 20px;
}

.taysis-receipt-preview-actions .taysis-icon {
    width: 15px;
    height: 15px;
}

.taysis-panel-footer-action {
    padding: 0 1.2rem 1.2rem;
}

.taysis-danger-link {
    display: inline-flex;
    align-items: center;
    min-height: 2.75rem;
    padding: 0.65rem 0.9rem;
    color: #a83c3c;
    font-weight: 750;
    text-decoration: none;
    border: 1px solid rgba(185, 70, 70, 0.3);
    border-radius: 0.75rem;
    background: rgba(255, 240, 238, 0.9);
}

.taysis-danger-link:hover {
    color: #812c2c;
    background: #ffe6e2;
}

.taysis-submit-button.is-danger {
    background: linear-gradient(135deg, #a83c3c, #c55845);
    box-shadow: 0 0.6rem 1.25rem rgba(168, 60, 60, 0.18);
}

@media (max-width: 720px) {
    .taysis-card-heading-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .taysis-payment-attachment {
        grid-template-columns: 2.5rem minmax(0, 1fr);
    }

    .taysis-payment-attachment .taysis-inline-action {
        grid-column: 1 / -1;
        justify-self: start;
    }

    .taysis-payment-attachment > .taysis-archive-file-actions {
        grid-column: 1 / -1;
    }

    .taysis-receipt-preview-dialog {
        width: calc(100vw - 20px);
        max-height: calc(100vh - 20px);
    }

    .taysis-receipt-preview-card {
        max-height: calc(100vh - 22px);
    }

    .taysis-receipt-preview-header {
        gap: 11px;
        padding: 15px;
    }

    .taysis-receipt-preview-header .taysis-file-onboarding-icon {
        width: 42px;
        height: 42px;
    }

    .taysis-receipt-preview-header h2 {
        font-size: 19px;
    }

    .taysis-receipt-preview-files {
        padding: 10px 14px;
    }

    .taysis-receipt-preview-stage {
        min-height: 280px;
        margin: 12px 12px 0;
    }

    .taysis-receipt-preview-stage iframe {
        height: 55vh;
    }

    .taysis-receipt-preview-stage img {
        max-height: 55vh;
    }

    .taysis-receipt-preview-actions {
        align-items: stretch;
        flex-direction: column-reverse;
        padding: 12px;
    }
}

.taysis-panel-actions,
.taysis-workflow-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.taysis-inline-action,
.taysis-inline-create {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    gap: 6px;
    padding: 8px 12px;
    color: #173f50;
    border: 1px solid #9fb8c1;
    border-radius: 9px;
    background: #fff;
    box-shadow: 0 4px 11px rgba(31, 73, 91, 0.11);
    font-size: var(--ts-font-button);
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

.taysis-inline-action:hover,
.taysis-inline-create:hover {
    color: #075f59;
    border-color: #48aaa2;
    background: #f0fbf9;
    box-shadow: 0 6px 15px rgba(31, 95, 101, 0.16);
    transform: translateY(-1px);
}

.taysis-secondary-button:focus-visible,
.taysis-inline-action:focus-visible,
.taysis-inline-create:focus-visible {
    outline: 3px solid rgba(24, 154, 143, 0.22);
    outline-offset: 2px;
}

.taysis-card-heading-actions .taysis-secondary-button,
.taysis-card-heading-actions .taysis-inline-action,
.taysis-panel-actions .taysis-secondary-button,
.taysis-panel-actions .taysis-inline-action {
    min-height: 40px;
    padding: 8px 13px;
}

.taysis-inline-action .taysis-icon,
.taysis-inline-create .taysis-icon {
    width: 14px;
    height: 14px;
}

.taysis-inline-action.is-danger {
    color: #a83c3c;
    border-color: rgba(185, 70, 70, 0.3);
    background: rgba(255, 240, 238, 0.9);
}

.taysis-inline-action.is-danger:hover {
    color: #812c2c;
    border-color: #b94646;
    background: #ffe6e2;
    box-shadow: 0 6px 15px rgba(168, 60, 60, 0.16);
}

.taysis-inline-action.is-danger:focus-visible {
    outline-color: rgba(185, 70, 70, 0.3);
}

.taysis-inline-action.taysis-route-pdf-button {
    color: #fff;
    border-color: #d62932;
    background: #d62932;
    box-shadow: 0 4px 12px rgba(111, 19, 25, 0.22);
}

.taysis-inline-action.taysis-route-pdf-button .taysis-icon {
    width: 18px;
    height: 18px;
    stroke-width: 2;
}

.taysis-inline-action.taysis-route-pdf-button:hover {
    color: #fff;
    border-color: #b91f27;
    background: #b91f27;
    box-shadow: 0 6px 15px rgba(111, 19, 25, 0.3);
}

.taysis-inline-action.taysis-route-pdf-button:focus-visible {
    outline: 3px solid rgba(214, 41, 50, 0.24);
    outline-offset: 2px;
}

.taysis-inline-create {
    margin: -2px 0 18px;
}

.taysis-timeline-item strong a {
    color: var(--ts-ink);
    text-decoration: none;
}

.taysis-timeline-item strong a:hover {
    color: var(--ts-teal-700);
}

.taysis-workflow-bar {
    display: flex;
    min-height: 86px;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 16px 18px;
    border: 1px solid #cbd8dc;
    border-left: 4px solid #d6973f;
    border-radius: 13px;
    background: linear-gradient(100deg, #fff8eb, #f5faf9);
    box-shadow: 0 7px 19px rgba(31, 73, 91, 0.07);
}

.taysis-workflow-bar > div:first-child {
    display: flex;
    align-items: center;
    gap: 12px;
}

.taysis-workflow-bar strong,
.taysis-workflow-bar > div:first-child > div > span {
    display: block;
}

.taysis-workflow-bar strong {
    color: var(--ts-ink);
    font-size: 14px;
}

.taysis-workflow-bar div div > span {
    margin-top: 4px;
    color: #6d7f87;
    font-size: var(--ts-font-help);
}

.taysis-workflow-icon {
    display: inline-flex;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    flex: 0 0 40px;
    color: #a3631e;
    border-radius: 11px;
    background: #f8e6c9;
}

.taysis-workflow-icon .taysis-icon {
    width: 19px;
    height: 19px;
}

.taysis-workflow-actions form {
    margin: 0;
}

.taysis-holder-row-actionable {
    grid-template-columns: auto minmax(0, 1fr) auto auto;
}

.taysis-linked-person {
    border-left: 3px solid var(--ts-teal-600);
}

.taysis-linked-person .taysis-holder-list {
    padding-block: 0;
}

.taysis-linked-person-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
}

@media (max-width: 640px) {
    .taysis-linked-person-row {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .taysis-linked-person-actions {
        grid-column: 2;
        justify-content: flex-start;
    }
}

#arac-ekibi .taysis-holder-list {
    container: vehicle-team / inline-size;
}

.taysis-team-member-row {
    grid-template-areas: "avatar person actions";
    gap: 6px 10px;
}

.taysis-team-member-row.has-duty-status {
    grid-template-areas: "avatar person actions" ". status .";
}

.taysis-team-member-row > span {
    grid-area: avatar;
}

.taysis-team-member-identity {
    grid-area: person;
    min-width: 0;
    overflow-wrap: anywhere;
}

.taysis-team-member-status {
    grid-area: status;
    justify-self: start;
}

.taysis-team-member-actions {
    display: flex;
    grid-area: actions;
    justify-self: end;
    gap: 6px;
}

.taysis-team-member-action {
    flex: 0 0 32px;
    padding: 0;
    text-decoration: none;
}

.taysis-team-member-action.is-end:hover {
    color: #fff;
    border-color: #b74242;
    background: #b74242;
}

.taysis-team-member-action:focus-visible {
    outline: 3px solid var(--ts-teal-600);
    outline-offset: 2px;
}

@container vehicle-team (min-width: 560px) {
    .taysis-team-member-row.has-duty-status {
        grid-template-columns: auto minmax(0, 1fr) auto auto;
        grid-template-areas: "avatar person status actions";
    }
}

.taysis-payment-amount {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 6px;
}

.taysis-payment-amount .taysis-row-link {
    flex: 0 0 32px;
    padding: 0;
}

.taysis-definition-list {
    margin: 0;
    padding: 8px 18px;
}

.taysis-definition-list > div {
    display: grid;
    min-height: 55px;
    align-items: center;
    padding: 10px 0;
    grid-template-columns: minmax(100px, 0.38fr) minmax(0, 0.62fr);
    gap: 14px;
    border-bottom: 1px solid #e0e7e9;
}

.taysis-definition-list > div:last-child {
    border-bottom: 0;
}

.taysis-definition-list dt {
    color: #74878f;
    font-size: var(--ts-font-label);
    font-weight: 800;
    text-transform: uppercase;
}

.taysis-definition-list dd {
    margin: 0;
    color: var(--ts-ink);
    font-size: var(--ts-font-body);
    font-weight: 700;
}

.taysis-card-heading {
    display: flex;
    min-height: 76px;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 15px 18px;
    border-bottom: 1px solid #d5dfe2;
    background: linear-gradient(105deg, #f9fbfb, #e8f0f1);
}

.taysis-card-heading h2 {
    margin: 0;
    color: var(--ts-section-heading);
    font-size: var(--ts-font-section-title);
    font-weight: var(--ts-section-heading-weight);
}

.taysis-transfer-source {
    display: flex;
    min-height: 86px;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    border: 1px solid #c5d5d9;
    border-radius: 13px;
    background: linear-gradient(120deg, #fff, #edf6f5);
    box-shadow: 0 7px 19px rgba(31, 73, 91, 0.07);
}

.taysis-transfer-source small,
.taysis-transfer-source strong,
.taysis-transfer-source div > span {
    display: block;
}

.taysis-transfer-source small {
    color: var(--ts-teal-700);
    font-size: var(--ts-font-label);
    font-weight: 850;
    letter-spacing: 0.55px;
}

.taysis-transfer-source strong {
    margin-top: 3px;
    color: var(--ts-ink);
    font-size: 16px;
}

.taysis-transfer-source div > span {
    margin-top: 4px;
    color: #6d7f87;
    font-size: var(--ts-font-help);
}

@media (max-width: 900px) {
    .taysis-workflow-bar {
        align-items: stretch;
        flex-direction: column;
    }

    .taysis-workflow-actions {
        flex-wrap: wrap;
    }
}

@media (max-width: 620px) {
    .taysis-panel-actions,
    .taysis-workflow-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .taysis-holder-row-actionable {
        grid-template-columns: auto minmax(0, 1fr) auto;
    }

    .taysis-holder-row-actionable .taysis-inline-action {
        grid-column: 2 / -1;
        justify-self: start;
    }
}

/* Plate document overview: one current record per document family. */
.taysis-document-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
    gap: 18px;
}
.taysis-document-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid;
    border-radius: 24px;
    scroll-margin-top: 100px;
}
.taysis-document-card-heading { padding: 25px 24px 20px; }
.taysis-document-card-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.taysis-document-number { font-size: 64px; font-weight: 300; line-height: 1; letter-spacing: -5px; }
.taysis-document-icon { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid; border-radius: 13px; }
.taysis-document-icon .taysis-icon { width: 23px; height: 23px; }
.taysis-document-eyebrow { display: block; font-size: var(--ts-font-label); font-weight: 750; letter-spacing: 0.12em; }
.taysis-document-card-heading h2 { min-height: 64px; margin: 9px 0 18px; font-size: 26px; font-weight: 650; line-height: 1.2; letter-spacing: -0.025em; }
.taysis-document-card-heading h2 a { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; text-decoration: none; }
.taysis-document-card-heading h2 .taysis-icon { flex-shrink: 0; width: 19px; height: 19px; margin-top: 6px; }
.taysis-document-card a:focus-visible { outline: 2px solid; outline-offset: 4px; }
.taysis-document-state { display: inline-flex; align-items: center; min-height: 27px; padding: 4px 10px; border: 1px solid; border-radius: 7px; font-size: var(--ts-font-body); font-weight: 700; }
.taysis-document-card-body { flex: 1; padding: 22px 24px; margin: 0 12px; border: 1px solid; border-radius: 15px; }
.taysis-document-record { display: block; margin: 7px 0 21px; font-size: 17px; line-height: 1.35; overflow-wrap: anywhere; }
.taysis-document-record a { text-decoration: none; }
.taysis-document-facts { display: grid; gap: 12px; margin: 0; }
.taysis-document-facts > div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 2px 12px; }
.taysis-document-facts dt { font-size: var(--ts-font-body); font-weight: 400; }
.taysis-document-facts dd { margin: 0; font-size: var(--ts-font-body); font-weight: 650; overflow-wrap: anywhere; }
.taysis-document-note { margin: 14px 0 0; font-size: var(--ts-font-body); line-height: 1.5; }
.taysis-document-empty { display: flex; min-height: 150px; flex-direction: column; justify-content: center; gap: 10px; }
.taysis-document-empty > .taysis-icon { width: 28px; height: 28px; margin-bottom: 2px; }
.taysis-document-empty strong { font-size: 16px; }
.taysis-document-empty p { margin: 0; font-size: var(--ts-font-body); line-height: 1.6; }
.taysis-document-readiness { margin-top: 17px; padding-top: 14px; border-top: 1px solid; font-size: var(--ts-font-body); }
.taysis-document-readiness p { display: flex; align-items: center; gap: 8px; margin: 0; }
.taysis-document-readiness summary { cursor: pointer; font-weight: 650; }
.taysis-document-readiness ul { margin: 10px 0 0; padding-left: 18px; line-height: 1.6; }
.taysis-document-card-actions { display: flex; flex-wrap: wrap; gap: 8px; padding: 18px 24px 24px; }
.taysis-document-button { display: inline-flex; min-height: 40px; flex: 1 1 130px; align-items: center; justify-content: center; gap: 7px; padding: 9px 10px; border: 1px solid; border-radius: 9px; font-size: var(--ts-font-body); font-weight: 700; text-decoration: none; }
.taysis-document-button .taysis-icon { width: 16px; height: 16px; }
@media (max-width: 1199px) {
    .taysis-document-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    .taysis-document-grid { grid-template-columns: minmax(0, 1fr); }
    .taysis-document-card-heading h2 { min-height: 0; }
    .taysis-document-card { scroll-margin-top: 150px; }
}
