:root {
    --ink:#172b3a;
    --muted:#586b77;
    --nav:#102c3a;
    --teal:#116c64;
    --teal-dark:#0c514b;
    --line:#d5dee3;
    --surface:#fff;
    --canvas:#f4f7f8;
    --radius:3px;
    --danger:#a52932;
    --focus:#117a96;
    --space:8px;
    font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    color:var(--ink);
    background:var(--canvas);
    font-size:15px;
    line-height:1.5
}
* {
    box-sizing:border-box
}
body {
    margin:0
}
a {
    color:inherit;
    text-decoration:none
}
button,input,select,textarea {
    font:inherit
}
button,a,input,select {
    touch-action:manipulation
}
button {
    cursor:pointer
}
button:disabled {
    opacity:.55;
    cursor:not-allowed
}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,[tabindex="0"]:focus-visible {
    outline:3px solid var(--focus);
    outline-offset:3px
}
h1,h2,h3,p {
    margin:0
}
h1 {
    font-size:clamp(1.7rem,2.4vw,2.1rem);
    line-height:1.2;
    letter-spacing:-.035em;
    font-weight:650
}
h2 {
    font-size:1.1rem;
    font-weight:650;
    line-height:1.4
}
h3 {
    font-size:1rem;
    font-weight:650
}
p {
    line-height:1.65
}
svg {
    flex-shrink:0
}
.muted {
    color:var(--muted)
}
.hint,.optional {
    color:var(--muted);
    font-size:.8rem
}
.optional {
    font-weight:400
}
.eyebrow {
    font-size:.7rem;
    font-weight:700;
    letter-spacing:.13em;
    display:block;
    margin-bottom:12px
}
.sr-only {
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0
}
.skip-link {
    position:fixed;
    top:-100px;
    left:12px;
    z-index:100;
    background:white;
    padding:12px;
    color:var(--teal)
}
.skip-link:focus {
    top:12px
}
.app-shell {
    display:flex;
    min-height:100dvh
}
.sidebar {
    width:248px;
    flex-shrink:0;
    background:var(--nav);
    color:#c5d5dd;
    display:flex;
    flex-direction:column;
    padding:28px 20px;
    position:sticky;
    top:0;
    height:100dvh
}
.brand {
    display:flex;
    align-items:center;
    gap:12px;
    color:white;
    font-size:1.3rem;
    font-weight:650;
    letter-spacing:-.04em
}
.brand small {
    display:block;
    font-size:.64rem;
    font-weight:400;
    letter-spacing:0;
    color:#bfd3dc;
    margin-top:2px
}
.brand-logo {
    display:block;
    flex:none;
    width:64px;
    height:64px;
    object-fit:contain
}
.brand-label { min-width:0; line-height:1.25 }
.brand-label small { line-height:1.5 }
.login-story .brand { flex-direction:column; align-items:flex-start; gap:12px; font-size:1.65rem }
.login-story .brand-logo { width:112px; height:112px }
.login-story .brand small { max-width:220px; font-size:.75rem; margin-top:6px }
.sidebar .brand small { max-width:136px; font-size:.65rem }

.workspace-label {
    font-size:.63rem;
    letter-spacing:.12em;
    color:#a5bbc7;
    margin:48px 12px 12px;
    font-weight:600
}
.nav-links {
    display:flex;
    flex-direction:column;
    gap:6px
}
.nav-links a {
    min-height:48px;
    display:flex;
    align-items:center;
    gap:12px;
    padding:12px;
    border-radius:var(--radius);
    font-size:.9rem
}
.nav-links a:hover {
    background:#1b3e4e;
    color:white
}
.nav-links a[aria-current] {
    background:#215449;
    color:#e2fff5;
    box-shadow:inset 3px 0 0 #82cdb5
}
.sidebar-foot {
    margin-top:auto;
    border-top:1px solid #36505d;
    padding:24px 4px 0;
    display:flex;
    gap:10px;
    align-items:flex-start;
    font-size:.76rem
}
.sidebar-foot small {
    display:block;
    color:#acc1cd;
    margin-top:4px;
    overflow-wrap:anywhere
}
.workspace {
    flex:1;
    min-width:0;
    display:flex;
    flex-direction:column
}
.topbar {
    min-height:80px;
    background:var(--surface);
    border-bottom:1px solid var(--line);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:12px 40px
}
.topbar-context {
    color:var(--muted);
    font-size:.85rem;
    overflow-wrap:anywhere
}
.profile-menu {
    position:relative;
    margin-left:auto
}
.profile-menu summary {
    display:flex;
    align-items:center;
    gap:10px;
    cursor:pointer;
    list-style:none;
    min-height:48px
}
.profile-menu summary::-webkit-details-marker {
    display:none
}
.avatar {
    display:grid;
    place-items:center;
    background:#dcece6;
    color:#245b4e;
    font-weight:700;
    width:42px;
    height:42px;
    border-radius:50%;
    flex-shrink:0
}
.profile-name {
    font-size:.83rem;
    font-weight:600;
    max-width:180px;
    overflow-wrap:anywhere
}
.profile-name small {
    display:block;
    color:var(--muted);
    font-size:.7rem;
    font-weight:400
}
.profile-popover {
    position:absolute;
    right:0;
    top:calc(100% + 12px);
    width:240px;
    max-width:calc(100vw - 32px);
    background:var(--surface);
    border:1px solid var(--line);
    box-shadow:0 8px 28px #102c3a16;
    z-index:30;
    border-radius:var(--radius);
    padding:8px
}
.profile-popover a,.profile-popover button {
    display:flex;
    gap:12px;
    align-items:center;
    width:100%;
    padding:12px;
    background:none;
    border:0;
    text-align:left;
    font-size:.9rem;
    min-height:44px
}
.profile-popover a:hover,.profile-popover button:hover {
    background:var(--canvas)
}
.menu-identity {
    font-size:.8rem;
    color:var(--muted);
    padding:10px 12px;
    border-bottom:1px solid var(--line)
}
.main-content {
    min-width:0;
    padding:36px 40px;
    max-width:1480px;
    width:100%;
    margin:0 auto;
    flex:1
}
.main-content:focus {
    outline:0
}
.app-footer {
    margin:0 40px;
    padding:20px 0;
    border-top:1px solid var(--line);
    font-size:.75rem;
    color:var(--muted);
    display:flex;
    justify-content:space-between;
    gap:16px
}
.page-heading {
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    align-items:center;
    gap:24px;
    margin-bottom:32px
}
.page-heading>div { min-width:0; max-width:100% }
.page-heading .eyebrow { overflow-wrap:anywhere }
.page-heading p {
    margin-top:10px;
    max-width:650px;
    font-size:.9rem
}
.page-heading .eyebrow {
    color:var(--teal)
}
.back-link {
    display:inline-flex;
    align-items:center;
    min-height:44px;
    color:var(--muted);
    font-size:.85rem;
    margin-bottom:16px
}
.back-link:hover {
    color:var(--teal)
}
.button {
    display:inline-flex;
    justify-content:center;
    align-items:center;
    gap:8px;
    min-height:44px;
    min-width:0;
    max-width:100%;
    padding:10px 18px;
    appearance:none;
    border:1px solid transparent;
    border-radius:var(--radius);
    font-size:.86rem;
    font-weight:600;
    line-height:1.4;
    text-align:center;
    white-space:normal;
    overflow-wrap:anywhere
}
.button svg {
    flex-shrink:0
}
.button-primary {
    background:var(--teal);
    color:white;
    border-color:var(--teal)
}
.button-primary:hover {
    background:var(--teal-dark)
}
.button-outline {
    background:white;
    border-color:#9aafb9;
    color:var(--ink)
}
.button-outline:hover {
    background:#edf3f4;
    border-color:#637e8c
}
.button-danger {
    background:#fff;
    border-color:#bc7c82;
    color:var(--danger)
}
.button-danger:hover {
    background:#fff0f1
}
.button:active {
    transform:translateY(1px)
}
.full-width {
    width:100%
}
.icon-button {
    display:inline-flex;
    justify-content:center;
    align-items:center;
    min-width:44px;
    min-height:44px;
    border:1px solid var(--line);
    border-radius:var(--radius);
    background:white
}
.mobile-toggle {
    display:none
}
.form-actions {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:12px
}
.text-link,.table-link {
    min-width:0;
    max-width:100%;
    overflow-wrap:anywhere;
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:44px;
    font-weight:600;
    color:var(--teal);
    font-size:.85rem
}
.text-link:hover,.table-link:hover {
    text-decoration:underline
}
.panel {
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius);
    min-width:0;
    margin-bottom:24px;
    overflow:visible
}
.panel-heading {
    padding:20px 24px;
    border-bottom:1px solid var(--line);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    flex-wrap:wrap
}
.panel-heading p {
    font-size:.83rem;
    margin-top:4px
}
.panel-body {
    padding:24px
}
.narrow {
    max-width:760px
}
.stack {
    display:flex;
    flex-direction:column;
    gap:20px;
    align-items:stretch
}
.stack>.button {
    align-self:flex-start
}
.stack>.full-width {
    align-self:stretch
}
.stack>.panel {
    margin:0
}
.stack form>.button {
    align-self:flex-start
}
.divider {
    border-top:1px solid var(--line)
}
.form-columns {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
    align-items:start;
    margin-bottom:24px
}
.form-columns>.panel {
    margin-bottom:0
}
.field {
    display:flex;
    flex-direction:column;
    gap:6px;
    min-width:0
}
.field label,.phone-field legend {
    font-size:.83rem;
    font-weight:600;
    margin-bottom:2px
}
.field input,.field select {
    width:100%;
    height:46px;
    padding:10px 12px;
    border:1px solid #98acb7;
    border-radius:var(--radius);
    background:white;
    color:var(--ink);
    min-width:0
}
.field input[aria-invalid=true] {
    border-color:var(--danger)
}
.field input::placeholder,.search-form input::placeholder {
    color:#687b87;
    opacity:1
}
.field-error {
    font-size:.8rem;
    color:var(--danger);
    display:block
}
.field-error:empty,.hint:empty {
    display:none
}
.field-pair {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px
}
.phone-field {
    border:0;
    margin:0;
    padding:0;
    min-width:0
}
.phone-field legend {
    padding:0;
    margin-bottom:8px
}
.phone-grid {
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);
    gap:8px;
    margin-bottom:6px
}
.read-only-field {
    padding:12px;
    background:var(--canvas);
    border:1px solid var(--line);
    display:flex;
    flex-direction:column;
    gap:4px;
    font-size:.85rem
}
.detail-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
    margin:0
}
.detail-grid>div { min-width:0; max-width:100% }
.detail-grid dt {
    font-size:.76rem;
    color:var(--muted);
    margin-bottom:6px
}
.detail-grid dd {
    font-size:.9rem;
    font-weight:500;
    margin:0;
    overflow-wrap:anywhere
}
.section-note {
    margin-top:24px;
    padding-top:20px;
    border-top:1px solid var(--line);
    color:var(--muted);
    font-size:.86rem
}
.notice {
    padding:16px 20px;
    margin-bottom:24px;
    border:1px solid;
    display:flex;
    align-items:center;
    gap:16px;
    font-size:.86rem;
    border-radius:var(--radius)
}
.notice ul {
    padding-left:20px;
    margin:8px 0 0
}
.notice-success {
    background:#eaf5ef;
    border-color:#96bcaa;
    color:#20563e
}
.notice-error {
    background:#fff1f1;
    border-color:#c88c93;
    color:#85232e
}
.notice-warning {
    background:#fff8e9;
    border-color:#c9ac63;
    color:#735316
}
.notice-impersonation {
    margin:0;
    border-width:0 0 1px;
    border-radius:0;
    background:#fff1db;
    border-color:#c9ac63;
    color:#5b4312;
    padding:16px 40px;
    justify-content:space-between;
    flex-wrap:wrap
}
.license-notice {
    padding:12px 40px;
    display:flex;
    align-items:center;
    gap:10px;
    color:#34594b;
    background:#eaf4ef;
    border-bottom:1px solid #c4dbcf;
    font-size:.8rem
}
.badge {
    font-size:.72rem;
    font-weight:600;
    display:inline-flex;
    align-items:center;
    padding:4px 8px;
    border-radius:var(--radius);
    border:1px solid;
    white-space:nowrap
}
.badge-success {
    background:#eaf5ef;
    color:#28563c;
    border-color:#aacbb6
}
.badge-neutral {
    background:#edf1f4;
    color:#495d69;
    border-color:#bdccd5
}
.badge-warning {
    background:#fff6e5;
    color:#77551a;
    border-color:#d6b76c
}
.stats-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
    margin-bottom:32px
}
.stat {
    border:1px solid var(--line);
    background:var(--surface);
    padding:24px;
    border-radius:var(--radius)
}
.stat-label {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    color:var(--muted);
    font-size:.85rem
}
.stat strong {
    display:block;
    font-size:2.3rem;
    font-weight:650;
    letter-spacing:-.04em;
    margin-top:16px
}
.feature-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:40px
}
.feature-grid p {
    font-size:.87rem;
    color:var(--muted);
    margin:10px 0 16px
}
.table-toolbar {
    min-width:0;
    max-width:100%;
    padding:20px 24px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    flex-wrap:wrap
}
.search-form {
    display:flex;
    gap:8px;
    align-items:center;
    flex-wrap:wrap;
    max-width:100%;
    min-width:0;
    flex:1
}


.search-form input {
    width:290px;
    min-width:0;
    max-width:100%;
    height:44px;
    padding:10px 12px;
    border:1px solid #98acb7;
    border-radius:var(--radius)
}
.table-scroll {
    position:relative;
    overflow-x:auto;
    width:100%;
    border-top:1px solid var(--line)
}
table {
    width:100%;
    border-collapse:collapse;
    text-align:left;
    font-size:.85rem
}
th {
    padding:13px 24px;
    color:var(--muted);
    font-size:.7rem;
    text-transform:uppercase;
    letter-spacing:.06em;
    font-weight:600;
    background:#f8fafb;
    border-bottom:1px solid var(--line);
    white-space:nowrap
}
td {
    padding:16px 24px;
    border-bottom:1px solid #e5ebee;
    vertical-align:middle;
    max-width:340px;
    overflow-wrap:anywhere
}
td strong {
    font-weight:600
}
td small {
    display:block;
    color:var(--muted);
    margin-top:5px;
    font-size:.75rem
}
tbody tr:hover {
    background:#fafcfc
}
tbody:last-of-type tr:last-child td {
    border-bottom:0
}
.empty-state {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:48px 12px;
    gap:14px;
    color:var(--muted)
}
.empty-state h2 {
    color:var(--ink)
}
.empty-state p {
    max-width:400px;
    font-size:.87rem
}
.empty-cell {
    padding:32px 24px;
    color:var(--muted)
}
.pagination {
    padding:16px 24px;
    border-top:1px solid var(--line);
    font-size:.85rem
}
.pagination:empty {
    display:none
}
.pagination svg {
    width:20px;
    height:20px
}
.pagination a,.pagination span[aria-disabled=true] {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:10px 16px;
    border:1px solid var(--line);
    border-radius:var(--radius)
}
.pagination nav>div {
    gap:12px
}
.pagination a:hover {
    background:#edf3f4
}
.pagination nav {
    display:flex;
    justify-content:space-between;
    gap:16px
}
.pagination nav span[aria-disabled=true] {
    color:var(--muted)
}
.guest-shell {
    min-height:100dvh;
    display:grid;
    grid-template-columns:44% 56%;
    background:white
}
.login-story {
    background:var(--nav);
    color:white;
    padding:40px 48px;
    display:flex;
    flex-direction:column;
    min-height:100dvh
}
.login-story-body {
    margin:auto 0;
    padding:48px 0;
    max-width:420px
}
.login-story-body .eyebrow {
    color:#9ed8cb;
    margin-bottom:24px
}
.login-story h1 {
    font-size:clamp(2.6rem,4.3vw,4.6rem);
    line-height:1.1;
    font-weight:550;
    letter-spacing:-.055em
}
.login-story-body>p {
    color:#c2d4df;
    margin-top:28px;
    font-size:1rem;
    max-width:340px
}
.story-rule {
    width:48px;
    height:2px;
    background:#7ec5b6;
    margin:32px 0
}
.story-points {
    display:flex;
    flex-direction:column;
    gap:16px;
    font-size:.85rem;
    color:#d0dfe6
}
.story-points span {
    display:flex;
    align-items:center;
    gap:12px
}
.story-points svg {
    color:#9ad0c2
}
.login-footnote {
    font-size:.73rem;
    color:#b5cbd5
}
.login-panel {
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
    padding:72px 40px;
    min-width:0
}
.login-form-wrap {
    max-width:450px;
    width:100%
}
.login-form-wrap>.eyebrow {
    color:var(--teal)
}
.login-form-wrap>h2 {
    font-size:1.9rem;
    letter-spacing:-.04em;
    font-weight:650
}
.login-form-wrap>.muted {
    font-size:.9rem;
    margin:12px 0 32px
}
.login-form-wrap form {
    gap:24px
}
.login-help {
    display:flex;
    gap:12px;
    padding-top:24px;
    margin-top:32px;
    border-top:1px solid var(--line);
    color:var(--muted);
    font-size:.8rem
}
.login-help strong {
    font-weight:500;
    color:var(--ink)
}
.login-panel-footer {
    position:absolute;
    bottom:24px;
    color:var(--muted);
    font-size:.7rem;
    text-align:center;
    padding:0 16px
}
.select2-container {
    max-width:100%;
    min-width:0;
    font:inherit
}
.careledger-select.select2-container--default .select2-selection--single {
    position:relative;
    display:flex;
    align-items:center;
    height:46px;
    border:1px solid #98acb7;
    border-radius:var(--radius);
    background:#fff;
    transition:border-color .15s, box-shadow .15s
}
.careledger-select.select2-container--default .select2-selection--single:hover {
    border-color:var(--teal)
}
.careledger-select.select2-container--default .select2-selection--single .select2-selection__rendered {
    display:block;
    width:100%;
    line-height:1.4;
    color:var(--ink);
    font-size:.86rem;
    padding:0 40px 0 12px
}
.careledger-select.select2-container--default .select2-selection--single .select2-selection__arrow {
    position:absolute;
    inset:0 12px 0 auto;
    display:flex;
    align-items:center;
    justify-content:center;
    width:16px;
    height:auto;
    pointer-events:none
}
.careledger-select.select2-container--default .select2-selection--single .select2-selection__arrow b {
    position:static;
    display:block;
    width:7px;
    height:7px;
    margin:-4px 0 0;
    border:solid var(--muted);
    border-width:0 1.5px 1.5px 0;
    transform:rotate(45deg)
}
.careledger-select.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    margin:4px 0 0;
    border:solid var(--teal);
    border-width:0 1.5px 1.5px 0;
    transform:rotate(225deg)
}
.careledger-select.select2-container--default.select2-container--focus .select2-selection--single,
.careledger-select.select2-container--default.select2-container--open .select2-selection--single,
.careledger-select .select2-selection:focus-visible {
    border-color:var(--teal);
    outline:2px solid var(--teal);
    outline-offset:2px
}
.careledger-select .select2-selection[aria-invalid=true] {
    border-color:var(--danger)
}
.careledger-select.select2-container--default.select2-container--disabled .select2-selection--single {
    background:#edf1f4;
    border-color:#b4c2ca;
    cursor:not-allowed
}
.careledger-select-dropdown.select2-dropdown {
    overflow:hidden;
    border:1px solid #9aafb9;
    border-radius:var(--radius);
    background:white;
    box-shadow:0 8px 24px #172b3a1a;
    font-size:.86rem
}
.careledger-select-dropdown .select2-search--dropdown {
    padding:12px;
    border-bottom:1px solid var(--line)
}
.careledger-select-dropdown .select2-search__field {
    min-height:44px;
    margin:0;
    padding:10px 12px!important;
    border:1px solid #98acb7!important;
    border-radius:var(--radius);
    font:inherit;
    color:var(--ink);
    background:#fff
}
.careledger-select-dropdown .select2-search__field:focus {
    outline:2px solid var(--teal);
    outline-offset:1px
}
.careledger-select-dropdown .select2-results__options {
    max-height:288px!important;
    overscroll-behavior:contain
}
.careledger-select-dropdown .select2-results__option {
    display:flex;
    align-items:center;
    min-height:44px;
    padding:12px 14px;
    color:var(--ink);
    overflow-wrap:anywhere
}
.careledger-select-dropdown .select2-results__option[aria-selected=true] {
    background:#eaf4ef;
    color:#205445;
    font-weight:600
}
.careledger-select-dropdown .select2-results__option--highlighted[aria-selected] {
    background:var(--teal)!important;
    color:#fff!important
}
.careledger-select-dropdown .select2-results__message {
    color:var(--muted);
    font-weight:400
}
.country-choice {
    display:flex;
    align-items:center;
    gap:10px;
    width:100%;
    min-width:0
}
.country-flag {
    flex:none;
    font-size:1.15rem;
    line-height:1.2
}
.country-name {
    flex:1;
    min-width:0;
    white-space:normal
}
.country-dial {
    flex:none;
    margin-left:auto;
    font-variant-numeric:tabular-nums;
    opacity:.85
}
.country-choice-selected .country-name {
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap
}
.country-choice-selected .country-dial {
    font-size:.8rem
}
.settings-content {
    max-width:800px
}
.user-settings {
    max-width:1000px
}
.settings-subtabs {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    padding:16px 24px;
    border-bottom:1px solid var(--line)
}
.settings-subtabs a {
    display:inline-flex;
    align-items:center;
    min-height:44px;
    padding:10px 14px;
    border:1px solid var(--line);
    border-radius:var(--radius);
    font-size:.83rem;
    color:var(--muted)
}
.settings-subtabs a[aria-current=page] {
    color:var(--teal);
    background:#eaf4ef;
    border-color:var(--teal);
    font-weight:600
}
.profile-settings {
    max-width:800px
}
.settings-tabs {
    display:flex;
    flex-wrap:wrap;
    padding:0 24px;
    gap:24px;
    border-bottom:1px solid var(--line);
    background:#fafcfc
}
.settings-tabs a {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:56px;
    padding:12px 4px;
    border-bottom:3px solid transparent;
    color:var(--muted);
    font-weight:600;
    font-size:.87rem
}
.settings-tabs a:hover {
    color:var(--teal)
}
.settings-tabs a[aria-current=page] {
    color:var(--teal);
    border-bottom-color:var(--teal)
}
.review-view-tabs {
    display:flex;
    gap:8px;
    padding:16px 24px 0;
    flex-wrap:wrap
}
.review-view-tabs a {
    padding:8px 14px;
    border:1px solid var(--line);
    border-radius:var(--radius);
    color:var(--muted);
    font-weight:600
}
.review-view-tabs a[aria-current=page] {
    color:var(--teal-dark);
    background:#eaf4ef;
    border-color:var(--teal)
}
.review-calendar-heading {
    display:flex;
    align-items:start;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:16px;
    padding:24px
}
.review-calendar-heading .hint { max-width:650px;margin-top:5px }
.review-calendar-controls { display:flex;flex-wrap:wrap;gap:8px }
.review-calendar-summary { display:flex;flex-wrap:wrap;gap:12px;padding:0 24px 20px }
.review-calendar-summary span { padding:9px 12px;border:1px solid var(--line);border-radius:var(--radius);background:#f7faf9 }
.review-calendar-summary strong { color:var(--teal-dark);font-size:1.1rem }
.review-calendar-scroll { margin:0 24px 24px }
.review-calendar-table { width:100%;min-width:700px;table-layout:fixed;border-collapse:collapse }
.review-calendar-table th { text-align:left;background:#f4f7f8 }
.review-calendar-table td { height:116px;padding:0;vertical-align:top;border:1px solid var(--line) }
.review-calendar-outside { background:#f7f9fa }
.review-calendar-day { display:flex;flex-direction:column;gap:4px;min-height:116px;padding:9px;color:var(--ink) }
.review-calendar-day:hover { background:#f0f8f6 }
.review-calendar-selected { background:#eaf4ef;box-shadow:inset 0 0 0 2px var(--teal) }
.review-calendar-today .review-calendar-number { color:var(--teal-dark);font-weight:800 }
.review-calendar-number { font-weight:650 }
.review-calendar-count { color:var(--muted);font-size:.75rem;line-height:1.25 }
.review-calendar-due { color:#8a4e12 }
.review-calendar-details { padding:0 24px 24px }
.review-calendar-details>h2 { margin-bottom:14px }
.review-calendar-detail-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px }
.review-calendar-detail-grid>section { min-width:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden }
.review-calendar-detail-grid h3 { padding:12px 16px;background:#f7faf9;border-bottom:1px solid var(--line) }
@media(max-width:800px) {
    .review-calendar-detail-grid { grid-template-columns:1fr }
}
@media(max-width:599px) {
    .review-view-tabs,.review-calendar-heading,.review-calendar-summary,.review-calendar-details { padding-left:16px;padding-right:16px }
    .review-calendar-scroll { margin-left:16px;margin-right:16px }
    .settings-tabs {
        flex-wrap:nowrap;
        align-items:stretch;
        gap:0;
        padding:0;
        overflow-x:auto;
        overscroll-behavior-inline:contain;
        scrollbar-width:thin;
        scroll-padding-inline:16px
    }
    .settings-tabs a {
        flex:0 0 auto;
        min-height:52px;
        padding:14px 16px;
        font-size:.85rem;
        gap:6px;
        white-space:nowrap
    }
    .settings-tabs a[aria-current=page] { background:#eaf4ef }
    .settings-tabs a:focus-visible { outline-offset:-4px }
    .section-scroll-hint {
        display:block;
        padding:8px 16px;
        border-bottom:1px solid var(--line);
        color:var(--muted);
        font-size:.75rem
    }
}
@media(min-width:1600px) {
    .login-story {
        padding:48px 72px
    }
    .login-story-body {
        max-width:540px
    }
    .sidebar {
        width:264px
    }
}
@media(max-width:1150px) {
    .sidebar {
        width:220px;
        padding:24px 16px
    }
    .main-content {
        padding:28px 24px
    }
    .topbar {
        padding:12px 24px
    }
    .license-notice,.notice-impersonation {
        padding:12px 24px
    }
    .app-footer {
        margin:0 24px
    }
    .form-columns {
        grid-template-columns:1fr
    }
    .form-columns>.stack {
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:24px;
        align-items:start
    }
    .phone-grid {
        grid-template-columns:minmax(0,1fr) minmax(0,1fr)
    }
    .login-story {
        padding:32px
    }
    .login-panel {
        padding:60px 32px
    }
    .stats-grid {
        gap:12px
    }
    .stat {
        padding:20px
    }
    .stat-label {
        align-items:flex-start
    }
    .brand {
        font-size:1.2rem
    }
    .brand small {
        font-size:.6rem
    }
}
@media(max-width:839px) {
    .sidebar {
        width:196px;
        padding:24px 12px
    }
    .sidebar .brand {
        font-size:1.15rem;
        gap:8px
    }
    .sidebar .brand small {
        display:none
    }
    .sidebar .brand-logo {
        width:48px;
        height:48px
    }
    .nav-links a {
        font-size:.83rem
    }
    .topbar-context {
        display:none
    }
    .main-content {
        padding:24px 20px
    }
    .page-heading {
        align-items:flex-start
    }
    .stats-grid {
        grid-template-columns:1fr
    }
    .stat {
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:20px;
        padding:16px 20px
    }
    .stat-label {
        flex:1;
        align-items:center;
        justify-content:flex-start
    }
    .stat-label svg {
        order:-1
    }
    .stat strong {
        margin:0;
        font-size:1.9rem
    }
    .feature-grid {
        grid-template-columns:1fr;
        gap:24px
    }
    .form-columns>.stack {
        display:flex
    }
    .app-footer span {
        display:none
    }
    .guest-shell {
        grid-template-columns:38% 62%
    }
    .login-story {
        padding:28px 24px
    }
    .login-story h1 {
        font-size:2.8rem
    }
    .login-story-body {
        padding:48px 0
    }
    .login-story-body>p {
        font-size:.9rem
    }
    .login-panel {
        padding:64px 24px
    }
    .login-form-wrap>h2 {
        font-size:1.6rem
    }
    .phone-grid {
        grid-template-columns:1fr
    }
    .phone-grid>.field input {
        margin-top:2px
    }
    .page-heading>.button {
        flex-shrink:0
    }
    .field-pair {
        grid-template-columns:1fr
    }
    .panel-body {
        padding:20px
    }
    .panel-heading {
        padding:16px 20px
    }
    th,td {
        padding:14px 20px
    }
    .table-toolbar {
        padding:16px 20px
    }
}
@media(max-width:599px) {
    .sidebar {
        position:fixed;
        left:-270px;
        top:72px;
        width:248px;
        height:calc(100dvh - 72px);
        z-index:40;
        transition:left .15s
    }
    .sidebar.is-open {
        left:0;
        box-shadow:10px 0 24px #172b3a25
    }
    .sidebar .brand {
        font-size:1.3rem
    }
    .sidebar .brand small {
        display:block
    }
    .mobile-toggle {
        display:inline-flex
    }
    .topbar {
        min-height:72px;
        padding:12px 16px;
        gap:12px
    }
    .profile-name {
        max-width:150px
    }
    .profile-name small {
        font-size:.63rem
    }
    .main-content {
        padding:24px 16px
    }
    .license-notice,.notice-impersonation {
        padding:12px 16px;
        align-items:flex-start
    }
    .notice-impersonation .button {
        width:100%
    }
    .notice-impersonation form {
        width:100%
    }
    .page-heading {
        flex-direction:column;
        gap:20px;
        margin-bottom:24px
    }
    .page-heading .form-actions {
        width:100%
    }
    .page-heading>.button {
        width:100%
    }
    .app-footer {
        margin:0 16px
    }
    .form-columns {
        gap:20px
    }
    .detail-grid {
        grid-template-columns:1fr;
        gap:20px
    }
    .panel-heading {
        padding:16px
    }
    .panel-body {
        padding:20px 16px
    }
    .table-toolbar {
        padding:16px
    }
    .search-form input {
        width:100%;
        flex-basis:100%
    }
    .search-form .button {
        flex:1
    }
    .table-link {
        white-space:nowrap
    }
    .guest-shell {
        display:flex;
        flex-direction:column;
        min-height:100dvh
    }
    .login-story {
        min-height:auto;
        padding:24px;
        flex:0
    }
    .login-story-body,.login-footnote {
        display:none
    }
    .login-story .brand small {
        font-size:.7rem
    }
    .login-panel {
        padding:40px 24px 72px;
        flex:1;
        align-items:flex-start
    }
    .login-form-wrap>h2 {
        font-size:1.7rem
    }
    .login-form-wrap>.muted {
        margin-bottom:28px
    }
    .login-panel-footer {
        bottom:20px
    }
    .phone-grid {
        grid-template-columns:1fr
    }
    .pagination {
        padding:12px 16px
    }
    .notice {
        padding:14px 16px;
        overflow-wrap:anywhere
    }
    .badge {
        white-space:normal
    }
    .stats-grid {
        margin-bottom:24px
    }
    .form-actions {
        flex-direction:column;
        align-items:stretch;
        gap:12px;
        width:100%
    }
    .form-actions>.button {
        flex:none;
        width:100%
    }
    .form-actions>form,.form-actions>form>.button {
        width:100%
    }
    .stack>.button,.stack form>.button {
        align-self:stretch;
        width:100%
    }
    .panel-heading>.button,.panel-body>form>.button {
        width:100%
    }
}
@media(prefers-reduced-motion:reduce) {
    *,*::before,*::after {
        scroll-behavior:auto!important;
        transition:none!important;
        animation:none!important
    }
}

/* Patient registration, directory, and record details. */
.field textarea {
    width:100%;
    min-height:96px;
    padding:10px 12px;
    border:1px solid #98acb7;
    border-radius:var(--radius);
    background:white;
    color:var(--ink);
    resize:vertical;
    font:inherit
}
.field textarea[aria-invalid=true] { border-color:var(--danger) }
.directory-filters {
    display:grid;
    grid-template-columns:minmax(160px,1fr) minmax(220px,2fr) minmax(150px,1fr);
    gap:20px;
    padding:24px
}
.directory-filters .form-actions,.filter-hint { grid-column:1 / -1 }
.patient-form { max-width:1060px }
.patient-form-section {
    margin:0;
    padding:24px;
    border:0;
    border-bottom:1px solid var(--line);
    min-width:0
}
.patient-form-section:last-child { border-bottom:0 }
fieldset.patient-form-section { padding-top:0 }
.patient-form-section legend {
    padding:24px 0 0;
    margin:0 0 16px;
    font-size:1rem;
    font-weight:650
}
.patient-form-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px
}
.section-intro { margin-bottom:20px }
.age-fields { margin-top:20px }
.checkbox-row {
    display:flex;
    align-items:center;
    gap:12px;
    min-height:44px;
    font-size:.86rem;
    margin:12px 0
}
.checkbox-row input {
    flex:none;
    width:20px;
    height:20px;
    margin:0;
    accent-color:var(--teal)
}
.patient-details { max-width:1060px }
.patient-details h3 { margin:28px 0 20px; padding-top:24px; border-top:1px solid var(--line) }
.patient-details h3:first-child { margin-top:0; padding-top:0; border-top:0 }
.patient-details .detail-grid { grid-template-columns:repeat(3,minmax(0,1fr)) }
.preserve-lines { white-space:pre-wrap; overflow-wrap:anywhere }
.patient-mobile-list { display:none }
.access-rules { font-size:.86rem; color:var(--muted) }
.access-rules summary { min-height:44px; cursor:pointer; font-weight:600; color:var(--ink) }
.access-rules ul { margin-top:4px; padding-left:20px }
.access-rules li { margin-bottom:8px }
.activity-filter { align-items:end }
.activity-filter .field { min-width:240px }
[hidden] { display:none!important }
@media(max-width:1023px) {
    .directory-filters { grid-template-columns:repeat(2,minmax(0,1fr)) }
    .directory-filters .field:nth-of-type(3) { grid-column:1 / -1 }
    .patient-details .detail-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
}
@media(max-width:599px) {
    .directory-filters,.patient-form-grid { grid-template-columns:1fr }
    .directory-filters { padding:20px 16px }
    .patient-form-section { padding:20px 16px }
    .patient-details .detail-grid { grid-template-columns:1fr }
    .patient-desktop-table { display:none }
    .patient-mobile-list { display:block; list-style:none; padding:0; margin:0 }
    .patient-mobile-list li { padding:16px; border-bottom:1px solid var(--line) }
    .patient-mobile-list li:last-child { border-bottom:0 }
    .patient-mobile-list a { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; color:var(--teal) }
    .patient-mobile-list strong { display:block; font-size:.95rem; overflow-wrap:anywhere }
    .patient-reference { display:block; color:var(--muted); font-size:.72rem; margin-top:4px; overflow-wrap:anywhere }
    .patient-mobile-meta { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; margin-top:12px; font-size:.8rem }
    .activity-filter .field { min-width:0; width:100% }
}

.page-heading h1 { overflow-wrap:anywhere }

.availability-control {
    width:100%;
    padding:12px 16px;
    margin:0 0 20px;
    border:1px solid var(--line);
    border-radius:var(--radius);
    background:#f8fafb;
    cursor:pointer
}
.availability-control > span { min-width:0 }
.availability-control strong { display:block; font-weight:600 }
.availability-control small { display:block; margin-top:4px; color:var(--muted); font-size:.78rem; line-height:1.5 }
.availability-control:has(input:checked) { border-color:var(--teal); background:#eaf4ef }
[data-unavailable-fields] + input + .availability-control { margin-top:20px }

/* Clinical records use the shared form, table, and navigation patterns. */
.clinical-record h3 { margin:28px 0 16px; padding-top:24px; border-top:1px solid var(--line) }
.clinical-content { min-width:0; max-width:100%; overflow-wrap:anywhere; line-height:1.7 }
.clinical-content p { margin:0 0 12px }
.clinical-content strong { font-weight:700 }
.clinical-content em { font-style:italic }
.clinical-content u { text-decoration:underline }
.clinical-content s { text-decoration:line-through }
.clinical-content h2 { font-size:1.25rem; font-weight:650; margin:20px 0 12px; line-height:1.4; letter-spacing:0 }
.clinical-content h3 { font-size:1.1rem; font-weight:650; margin:16px 0 8px; padding:0; border:0; line-height:1.4 }
.clinical-content ul,.clinical-content ol { padding-left:24px; margin:12px 0; list-style-position:outside }
.clinical-content ul { list-style-type:disc }
.clinical-content ol { list-style-type:decimal }
.clinical-content li { display:list-item; margin:4px 0 }
.clinical-content blockquote { border-left:3px solid var(--teal); padding-left:16px; margin:16px 0 }
.clinical-content>:first-child { margin-top:0 }
.clinical-content>:last-child { margin-bottom:0 }
.panel-body.stack>* { min-width:0; max-width:100%; overflow-wrap:anywhere }
.rich-field { min-width:0 }
.rich-editor-frame { min-width:0; width:100% }
.rich-field .ql-toolbar { border:1px solid #a9bbc6; border-radius:var(--radius) var(--radius) 0 0; display:flex; flex-wrap:wrap; font-family:inherit }
.rich-field .ql-container { border:1px solid #a9bbc6; border-top:0; font-family:inherit; font-size:.95rem }
.rich-field .ql-editor { min-height:160px; line-height:1.7; overflow-wrap:anywhere }
.rich-field .ql-toolbar button { width:44px; height:44px; padding:12px }
.rich-field .ql-toolbar .ql-picker { height:44px; padding-top:8px }
.rich-field .ql-toolbar button:focus-visible,.rich-field .ql-picker-label:focus-visible { outline:2px solid var(--teal); outline-offset:1px }
.rich-field .ql-toolbar .ql-formats { margin-right:8px }
.result-entry,.revision { padding:20px 0; border-bottom:1px solid var(--line) }
.result-entry:first-child { padding-top:0 }
.result-entry h3 { margin-bottom:8px }
.revision summary { cursor:pointer; min-height:44px; font-weight:600; overflow-wrap:anywhere }
.revision[open] summary { margin-bottom:20px }
.upload-progress progress { display:block; width:100%; height:16px; margin:12px 0; accent-color:var(--teal) }
.upload-progress label { font-size:.86rem; font-weight:600 }
.workspace-search { display:grid; grid-template-columns:minmax(0,2fr) minmax(220px,1fr) auto; gap:20px; align-items:start }
.workspace-search > button { margin-top:28px }
.search-result { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,.65fr); gap:24px; padding:24px; border-top:1px solid var(--line) }
.search-result h2 { margin:8px 0; overflow-wrap:anywhere }
.search-result-actions { display:flex; flex-wrap:wrap; gap:8px; align-content:start; align-items:start }
.search-excerpt { line-height:1.65; overflow-wrap:anywhere; margin-top:12px }
@media(max-width:1023px) {
    .workspace-search { grid-template-columns:minmax(0,1fr) }
    .workspace-search > button { margin-top:0; justify-self:start }
    .search-result { grid-template-columns:minmax(0,1fr) }
}
@media(max-width:599px) {
    .search-result { padding:20px 16px; gap:16px }
    .rich-field .ql-toolbar .ql-formats { margin-right:0 }
}

.rich-field .ql-tooltip { display:none!important }

.inventory-filters { display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:16px;align-items:start }
.inventory-filters>button { margin-top:28px }
.stock-balance { display:flex;flex-direction:column;gap:4px;flex:none;text-align:right }
.stock-balance strong { font-size:2rem;line-height:1.2;color:var(--teal) }
.stock-balance span { font-size:.85rem;color:var(--muted) }
.inventory-fieldset { border:0;padding:0;margin:0;min-width:0 }
.inventory-fieldset>legend { font-weight:650;padding:0;margin-bottom:16px }
.inventory-fieldset>[data-add-line] { margin-top:16px }
.inventory-line { display:grid;grid-template-columns:minmax(0,2fr) minmax(120px,1fr) 44px;gap:16px;align-items:start }
.inventory-line>[data-remove-line] { margin-top:28px }
.remove-line-icon { transform:rotate(45deg) }
.count-input,.variance-input { min-height:44px;border:1px solid #98acb7;border-radius:var(--radius);padding:10px 12px;background:white;color:var(--ink);font:inherit }
.count-input { width:140px }
.variance-input { width:240px;resize:vertical }
.select2-container .select2-selection--multiple { min-height:46px;border-color:#98acb7;border-radius:var(--radius);padding:4px }
.select2-container .select2-selection--multiple .select2-selection__choice { white-space:normal;overflow-wrap:anywhere;max-width:100%;margin:4px;padding:4px 8px;font-size:.85rem;background:#edf4f3;border-color:var(--line) }
.select2-container .select2-selection--multiple .select2-selection__choice__remove { min-width:28px;min-height:32px }
@media(max-width:1023px){.inventory-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-filters>button{margin-top:0;align-self:center;justify-self:start}}
@media(max-width:599px){.inventory-filters{grid-template-columns:1fr}.inventory-line{grid-template-columns:minmax(0,1fr) 44px;gap:12px;padding-bottom:20px;border-bottom:1px solid var(--line)}.inventory-line>.field:first-child{grid-column:1 / -1}.inventory-line>[data-remove-line]{margin-top:24px}.stock-balance{text-align:left}.stock-balance strong{font-size:1.6rem}.stock-balance{width:100%}}
.inventory-line-instructions { grid-column:1 / -1 }

.stocktake-count-form { min-width:0;max-width:100% }
.stocktake-table { min-width:900px }
.stocktake-table td:first-child { min-width:220px }
.direction-builder { padding:20px;background:#f8fafb;border:1px solid var(--line);border-radius:var(--radius) }
.direction-mode { max-width:420px;margin:16px 0 }
.direction-fields { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px }
.direction-fields[hidden],[data-custom-directions][hidden] { display:none }
.direction-note { grid-column:1 / -1 }
.direction-preview { margin-top:16px;padding:12px 16px;background:white;border-left:3px solid var(--teal);overflow-wrap:anywhere }
.direction-preview strong { font-size:.8rem }
.direction-preview p { margin:4px 0;font-size:.95rem }
@media(max-width:1023px){.direction-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:599px){.direction-fields{grid-template-columns:minmax(0,1fr)}.direction-builder{padding:16px}}

.tenant-letterhead { border-bottom:2px solid var(--teal);padding:20px 0;overflow-wrap:anywhere }
.tenant-letterhead img { display:block;object-fit:contain;object-position:left center;margin-bottom:12px }
.tenant-letterhead strong { font-size:1.3rem }
.pagination .pager { display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;width:100% }
.pagination .pager-button { display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:100px;padding:10px 16px;border:1px solid #98acb7;border-radius:var(--radius);background:#fff;color:var(--ink);font-size:.9rem;font-weight:600;line-height:1.4;white-space:nowrap }
.pagination .pager-button[aria-disabled=true] { color:#586b77;background:#eef2f4;border-color:#bac7ce }
.pagination a.pager-button:hover { color:var(--teal-dark);background:#eaf4ef;border-color:var(--teal) }

@media(max-width:599px) {
    .search-result-actions {
        flex-direction:column;
        align-items:stretch
    }
    .search-result-actions>.button,.search-result-actions>form,.search-result-actions>form>.button,
    .inventory-filters>.button,.workspace-search>.button {
        width:100%;
        justify-self:stretch
    }
}


.mobile-cell-label,.section-scroll-hint { display:none }
@media screen and (max-width:599px) {
    .section-scroll-hint { display:block }
    .mobile-card-region {
        overflow:visible;
        border-top:0
    }
    table.mobile-card-table {
        display:block;
        width:100%;
        min-width:0;
        border-collapse:separate
    }
    .mobile-card-table>thead {
        position:absolute;
        width:1px;
        height:1px;
        padding:0;
        margin:-1px;
        overflow:hidden;
        clip:rect(0,0,0,0);
        white-space:nowrap
    }
    .mobile-card-table>.mobile-record-group {
        display:block;
        min-width:0;
        padding:16px;
        margin:0 16px 16px;
        border:1px solid var(--line);
        border-radius:var(--radius);
        background:var(--surface)
    }
    .mobile-card-table>.mobile-record-group:first-of-type { margin-top:16px }
    .mobile-card-table>.mobile-record-group>tr {
        display:block;
        background:transparent
    }
    .mobile-card-table>.mobile-record-group>tr>td,
    .mobile-card-table>.mobile-record-group>tr>th {
        display:block;
        width:100%;
        min-width:0;
        max-width:none;
        padding:8px 0;
        border:0;
        white-space:normal;
        overflow-wrap:anywhere;
        text-align:left
    }
    .mobile-card-table .mobile-cell-label {
        display:block;
        margin-bottom:4px;
        color:var(--muted);
        font-size:.75rem;
        font-weight:500;
        letter-spacing:0;
        text-transform:none
    }
    .mobile-card-table .count-input,.mobile-card-table .variance-input {
        width:100%;
        min-width:0;
        max-width:100%
    }
    .mobile-card-table .empty-cell { text-align:center }
    .mobile-card-table .mobile-record-detail {
        border-top:1px solid var(--line);
        margin-top:8px;
        padding-top:8px
    }
    .mobile-card-table .text-link,.mobile-card-table .table-link {
        white-space:normal
    }
}

@media screen and (max-width:599px) {
    .settings-subtabs {
        flex-wrap:nowrap;
        overflow-x:auto;
        scrollbar-width:thin;
        padding:12px 16px
    }
    .settings-subtabs a { flex:0 0 auto; white-space:nowrap }
    .mobile-card-table>.mobile-record-group>tr:not(.mobile-record-detail)>td:first-child {
        padding-bottom:12px;
        margin-bottom:4px;
        border-bottom:1px solid var(--line);
        font-size:.95rem;
        font-weight:600
    }
    .mobile-card-table>.mobile-record-group>tr>.empty-cell:first-child {
        border:0;
        font-weight:400
    }
    .mobile-card-table>.mobile-record-group>tr[data-count-line] {
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        column-gap:16px;
        align-items:start
    }
    .mobile-card-table>.mobile-record-group>tr[data-count-line]>td:first-child,
    .mobile-card-table>.mobile-record-group>tr[data-count-line]>td:nth-child(4),
    .mobile-card-table>.mobile-record-group>tr[data-count-line]>td:last-child {
        grid-column:1 / -1
    }
}

@media screen and (max-width:599px) {
    .table-toolbar,.search-form,.directory-filters,.inventory-filters,.workspace-search {
        display:grid;
        grid-template-columns:minmax(0,1fr);
        align-items:start;
        gap:16px;
        width:100%;
        min-width:0;
        max-width:100%
    }
    .table-toolbar>.search-form {
        flex:none
    }
    .table-toolbar>*,.search-form>*,.directory-filters>*,.inventory-filters>* {
        min-width:0;
        max-width:100%
    }
    .search-form>.field,.search-form>input:not([type=hidden]),
    .table-toolbar>.field,.table-toolbar>.select2-container {
        width:100%
    }
    .table-toolbar .button,.search-form .button,.directory-filters .button,
    .inventory-filters .button,.workspace-search>.button {
        flex:none;
        width:100%;
        margin-top:0;
        align-self:start;
        justify-self:stretch;
        grid-column:1 / -1
    }
    .table-toolbar>.hint {
        overflow-wrap:anywhere
    }
}

.onboarding-panel { align-items:flex-start; padding-top:40px; padding-bottom:40px }
.onboarding-panel .login-form-wrap>div>h2 { margin:8px 0 12px }

@media(min-width:600px) and (max-width:839px) {
    .login-story .brand { flex-direction:column; align-items:flex-start; gap:16px; font-size:1.35rem }
    .login-story .brand-logo { width:96px; height:96px }
}
@media(max-width:599px) {
    .login-story { padding:24px; border-bottom:1px solid #36505d }
    .login-story .brand { flex-direction:row; flex-wrap:nowrap; align-items:center; gap:16px; font-size:1.5rem }
    .login-story .brand-logo { width:80px; height:80px }
    .login-story .brand small { font-size:.7rem; margin-top:4px }
    .sidebar .brand-logo { width:64px; height:64px }
    .sidebar .brand { font-size:1.25rem; gap:12px }
    .workspace-label { margin-top:32px }
}

.login-trial-callout { margin-top:24px; padding-top:24px; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:12px }
.login-trial-callout h3 { font-size:.95rem; font-weight:650 }
.login-trial-callout p { margin-top:4px; color:var(--muted); font-size:.85rem }
.login-trial-callout+.login-help { margin-top:24px; padding-top:0; border:0 }
