:root {
    --kunhwa-logo-full-image: url("data:image/png;base64,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");
    --kunhwa-logo-mark-image: url("data:image/png;base64,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");
  }
:root {
    --primary: #1467f6;
    --primary-dark: #0b4fc9;
    --primary-soft: #eaf2ff;
    --background: #f6f7f9;
    --surface: #ffffff;
    --text-primary: #111111;
    --text-secondary: #767b85;
    --border: #e9ebef;
    --success: #14a06f;
    --success-soft: #e8f7f1;
    --warning: #e69024;
    --danger: #df4b4b;
    --vehicle: #1467f6;
    --room: #7a55ec;
    --equipment: #f0773c;
    --radius-small: 10px;
    --radius-medium: 16px;
    --radius-large: 22px;
    --radius-pill: 999px;
    --shadow-card: 0 12px 40px rgba(18, 35, 70, 0.06);
    --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
    --font: Pretendard, "Apple SD Gothic Neo", "Noto Sans KR", Arial, sans-serif;
    --safe-area-top: env(safe-area-inset-top, 0px);
    --safe-area-right: env(safe-area-inset-right, 0px);
    --safe-area-bottom: env(safe-area-inset-bottom, 0px);
    --safe-area-left: env(safe-area-inset-left, 0px);
    --mobile-system-bottom: max(env(safe-area-inset-bottom, 0px), 16px);
    --mobile-viewport-bottom-offset: 0px;
  }

  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }

  [hidden] {
    display: none !important;
  }

  .visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    clip-path: inset(50%) !important;
  }

  html {
    width: 100%;
    overflow-x: hidden;
    color-scheme: light;
    font-family: var(--font);
    background: var(--background);
  }

  body {
    width: 100%;
    min-width: 320px;
    min-height: 100dvh;
    overflow-x: hidden;
    margin: 0;
    color: var(--text-primary);
    background: var(--background);
    -webkit-font-smoothing: antialiased;
    overscroll-behavior-y: contain;
  }

  html.is-apps-script-host,
  html.is-apps-script-host body,
  html.is-direct-apps-script-host,
  html.is-direct-apps-script-host body {
    overscroll-behavior-y: none;
  }

  button,
  input,
  select,
  textarea {
    touch-action: manipulation;
  }

  button,
  a {
    -webkit-tap-highlight-color: transparent;
  }

  .login-view {
    display: grid;
    min-height: 100dvh;
    grid-template-columns: minmax(360px, 1.1fr) minmax(420px, 0.9fr);
    background: var(--surface);
  }

  .login-visual {
    position: relative;
    display: flex;
    min-height: 100dvh;
    align-items: center;
    overflow: hidden;
    padding: clamp(48px, 7vw, 108px);
    color: #ffffff;
    background: linear-gradient(135deg, #073f9f 0%, #1467f6 58%, #4b91ff 100%);
  }

  .login-visual::after {
    position: absolute;
    right: -12%;
    bottom: -18%;
    width: 62%;
    aspect-ratio: 1;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 42% 58% 60% 40%;
    content: "";
    transform: rotate(-16deg);
  }

  .login-visual-content {
    position: relative;
    z-index: 2;
    max-width: 660px;
  }

  .company-logo {
    display: block;
    flex: 0 0 auto;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
  }

  .company-logo-full {
    background-image: var(--kunhwa-logo-full-image);
  }

  .company-logo-mark {
    background-image: var(--kunhwa-logo-mark-image);
  }

  .login-company-logo {
    width: min(100%, 440px);
    height: 118px;
    margin-bottom: 46px;
    background-color: rgba(255, 255, 255, 0.96);
    background-size: calc(100% - 42px) auto;
    border: 1px solid rgba(255, 255, 255, 0.54);
    border-radius: 22px;
    box-shadow: 0 18px 42px rgba(0, 28, 86, 0.22);
  }

  .login-visual-content p {
    margin: 0 0 18px;
    color: rgba(255, 255, 255, 0.74);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.14em;
  }

  .login-visual-content h1 {
    margin: 0 0 24px;
    font-size: clamp(42px, 5vw, 72px);
    line-height: 1.08;
    letter-spacing: -0.065em;
  }

  .login-visual-content > span:last-child {
    color: rgba(255, 255, 255, 0.76);
    font-size: 15px;
  }

  .login-orb {
    position: absolute;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 50%;
  }

  .login-orb-large {
    top: -110px;
    right: -70px;
    width: 330px;
    height: 330px;
  }

  .login-orb-small {
    top: 24%;
    right: 12%;
    width: 74px;
    height: 74px;
    background: rgba(255, 255, 255, 0.08);
  }

  .login-panel {
    display: grid;
    min-height: 100dvh;
    place-items: center;
    padding: 48px;
    background: var(--surface);
  }

  .login-card {
    width: min(100%, 430px);
  }

  .login-mobile-brand {
    display: none;
    align-items: center;
    gap: 12px;
    margin-bottom: 34px;
  }

  .login-mobile-brand .brand-logo {
    width: 48px;
    height: 38px;
  }

  .login-mobile-brand strong {
    max-width: 240px;
    font-size: 14px;
    line-height: 1.35;
  }

  .login-security-badge {
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    gap: 7px;
    margin-bottom: 28px;
    padding: 0 11px;
    color: #08744e;
    background: var(--success-soft);
    border-radius: var(--radius-pill);
    font-size: 10px;
    font-weight: 800;
  }

  .login-card header {
    margin-bottom: 34px;
  }

  .login-card header h2 {
    margin: 0;
    font-size: 34px;
    letter-spacing: -0.055em;
  }

  .login-card header > p:last-child {
    margin: 11px 0 0;
    color: var(--text-secondary);
    font-size: 13px;
    line-height: 1.6;
  }

  .login-field {
    display: flex;
    flex-direction: column;
    gap: 9px;
    margin-top: 17px;
    font-size: 11px;
    font-weight: 800;
  }

  .login-input {
    position: relative;
    display: block;
  }

  .login-input i {
    position: absolute;
    top: 50%;
    left: 16px;
    color: #9ca1aa;
    transform: translateY(-50%);
  }

  .login-input input {
    width: 100%;
    height: 54px;
    padding: 0 16px 0 46px;
    color: var(--text-primary);
    background: var(--background);
    border: 1px solid var(--border);
    border-radius: 14px;
    font-size: 14px;
    transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
  }

  .login-input input:focus {
    background: var(--surface);
    border-color: #9dbdf8;
    box-shadow: 0 0 0 4px rgba(20, 103, 246, 0.08);
  }

  .login-remember {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 15px;
    color: var(--text-primary);
    cursor: pointer;
  }

  .login-remember > input {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    margin: 1px 0 0;
    accent-color: var(--primary);
  }

  .login-remember > span {
    display: flex;
    flex-direction: column;
    gap: 3px;
  }

  .login-remember strong {
    font-size: 11px;
  }

  .login-remember small {
    color: var(--text-secondary);
    font-size: 10px;
    line-height: 1.4;
  }

  .login-error {
    margin: 14px 0 0;
    padding: 11px 13px;
    color: #b62f2f;
    background: #fff0f0;
    border-radius: 11px;
    font-size: 11px;
    line-height: 1.5;
  }

  .login-submit {
    width: 100%;
    min-height: 54px;
    margin-top: 22px;
    border-radius: 14px;
  }

  .login-submit.is-loading::after {
    width: 18px;
    height: 18px;
    border: 2px solid rgba(255, 255, 255, 0.45);
    border-top-color: #ffffff;
    border-radius: 50%;
    animation: resource-spin 700ms linear infinite;
    content: "";
  }

  .login-submit.is-loading > i {
    display: none;
  }

  .login-help {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    margin: 18px 0 0;
    color: var(--text-secondary);
    font-size: 10px;
    line-height: 1.5;
  }

  .login-loading-screen {
    position: fixed;
    z-index: 120;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgba(8, 35, 83, 0.7);
    backdrop-filter: blur(12px);
    animation: login-loading-in 180ms ease-out;
  }

  .login-loading-card {
    display: flex;
    width: min(360px, 100%);
    align-items: center;
    flex-direction: column;
    padding: 34px 32px 30px;
    text-align: center;
    background: var(--surface);
    border: 1px solid rgba(255, 255, 255, 0.45);
    border-radius: 24px;
    box-shadow: 0 30px 80px rgba(6, 31, 75, 0.26);
    animation: login-loading-card-in 240ms var(--ease-out);
  }

  .login-loading-logo {
    width: 96px;
    height: 46px;
    margin-bottom: 18px;
    background-position: center;
    background-size: contain;
  }

  .login-loading-spinner {
    width: 34px;
    height: 34px;
    margin-bottom: 18px;
    border: 3px solid #dce8ff;
    border-top-color: var(--primary);
    border-radius: 50%;
    animation: resource-spin 760ms linear infinite;
  }

  .login-loading-card strong {
    font-size: 16px;
    letter-spacing: -0.03em;
  }

  .login-loading-card p {
    margin: 8px 0 20px;
    color: var(--text-secondary);
    font-size: 12px;
  }

  .login-loading-progress {
    width: 100%;
    height: 4px;
    overflow: hidden;
    background: var(--primary-soft);
    border-radius: var(--radius-pill);
  }

  .login-loading-progress span {
    display: block;
    width: 42%;
    height: 100%;
    background: var(--primary);
    border-radius: inherit;
    animation: login-loading-progress 1.2s ease-in-out infinite;
  }

  .operation-loading-screen {
    position: fixed;
    z-index: 140;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgba(8, 35, 83, 0.72);
    backdrop-filter: blur(12px);
    animation: login-loading-in 180ms ease-out;
  }

  .operation-loading-card {
    display: flex;
    width: min(360px, 100%);
    align-items: center;
    flex-direction: column;
    padding: 34px 32px 30px;
    text-align: center;
    background: var(--surface);
    border: 1px solid rgba(255, 255, 255, 0.45);
    border-radius: 24px;
    box-shadow: 0 30px 80px rgba(6, 31, 75, 0.26);
    animation: login-loading-card-in 240ms var(--ease-out);
  }

  .operation-loading-symbol {
    position: relative;
    display: grid;
    width: 62px;
    height: 62px;
    margin-bottom: 20px;
    place-items: center;
    color: var(--primary);
    background: var(--primary-soft);
    border-radius: 50%;
  }

  .operation-loading-symbol > i {
    font-size: 24px;
  }

  .operation-loading-spinner {
    position: absolute;
    inset: -1px;
    border: 3px solid transparent;
    border-top-color: var(--primary);
    border-right-color: #9fc0fb;
    border-radius: 50%;
    animation: resource-spin 760ms linear infinite;
  }

  .operation-loading-card strong {
    font-size: 17px;
    letter-spacing: -0.03em;
  }

  .operation-loading-card p {
    margin: 9px 0 21px;
    color: var(--text-secondary);
    font-size: 12px;
    line-height: 1.6;
  }

  .operation-loading-progress {
    width: 100%;
    height: 4px;
    overflow: hidden;
    background: var(--primary-soft);
    border-radius: var(--radius-pill);
  }

  .operation-loading-progress span {
    display: block;
    width: 42%;
    height: 100%;
    background: var(--primary);
    border-radius: inherit;
    animation: login-loading-progress 1.2s ease-in-out infinite;
  }

  @keyframes login-loading-in {
    from { opacity: 0; }
  }

  @keyframes login-loading-card-in {
    from { opacity: 0; transform: translateY(14px) scale(0.98); }
  }

  @keyframes login-loading-progress {
    0% { transform: translateX(-110%); }
    100% { transform: translateX(240%); }
  }

  .mobile-logout-button,
  .mobile-admin-button {
    display: none;
  }

  button,
  input,
  select,
  textarea {
    font: inherit;
  }

  button {
    color: inherit;
  }

  button:focus-visible,
  a:focus-visible,
  input:focus-visible,
  select:focus-visible {
    outline: 3px solid rgba(20, 103, 246, 0.3);
    outline-offset: 3px;
  }

  .skip-link {
    position: fixed;
    z-index: 1000;
    top: 12px;
    left: 12px;
    padding: 10px 14px;
    color: #ffffff;
    background: var(--text-primary);
    border-radius: var(--radius-small);
    transform: translateY(-160%);
    transition: transform 160ms var(--ease-out);
  }

  .skip-link:focus {
    transform: translateY(0);
  }

  .app-shell {
    display: grid;
    grid-template-columns: 268px minmax(0, 1fr);
    min-height: 0;
  }

  #authenticated-app:not([hidden]) {
    height: 100dvh;
    overflow: hidden;
  }

  .sidebar {
    position: relative;
    display: flex;
    min-height: 0;
    flex-direction: column;
    height: 100dvh;
    overflow: hidden;
    padding: 28px 20px 20px;
    background: var(--surface);
    border-right: 1px solid var(--border);
  }

  .brand,
  .mobile-brand {
    display: flex;
    align-items: center;
    gap: 12px;
  }

  .brand {
    padding: 0 10px 28px;
  }

  .brand-logo {
    width: 54px;
    height: 42px;
  }

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

  .brand-copy strong {
    font-size: 17px;
    letter-spacing: -0.03em;
  }

  .brand-copy small,
  .profile-copy small {
    margin-top: 3px;
    overflow: hidden;
    color: var(--text-secondary);
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .side-navigation {
    display: flex;
    min-height: 0;
    flex-direction: column;
    gap: 4px;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    scrollbar-width: thin;
  }

  .nav-section-label {
    margin: 22px 12px 7px;
    color: #a4a8af;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
  }

  .nav-section-label:first-child {
    margin-top: 0;
  }

  .nav-item {
    display: flex;
    width: 100%;
    min-height: 46px;
    align-items: center;
    gap: 13px;
    padding: 0 14px;
    color: #5e636c;
    background: transparent;
    border: 0;
    border-radius: 13px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    text-align: left;
    transition: color 160ms ease, background-color 160ms ease, transform 120ms var(--ease-out);
  }

  .nav-item i {
    width: 19px;
    font-size: 18px;
    text-align: center;
  }

  .nav-item.is-active {
    color: var(--primary);
    background: var(--primary-soft);
  }

  .nav-item:active,
  .icon-button:active,
  .primary-button:active,
  .secondary-button:active,
  .text-button:active,
  .resource-card:active,
  .available-list button:active,
  .bottom-nav-item:active,
  .back-button:active,
  .filter-reset-button:active,
  .resource-pagination button:active,
  .resource-result-card:active {
    transform: scale(0.97);
  }

  .sidebar-profile {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 11px;
    margin-top: auto;
    flex: 0 0 auto;
    padding: 14px 10px 0;
    border-top: 1px solid var(--border);
  }

  .avatar {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    color: var(--primary-dark);
    background: var(--primary-soft);
    border-radius: 50%;
    font-size: 14px;
    font-weight: 800;
  }

  .profile-copy strong {
    font-size: 13px;
  }

  .icon-button {
    position: relative;
    display: grid;
    width: 40px;
    height: 40px;
    padding: 0;
    place-items: center;
    color: var(--text-secondary);
    background: transparent;
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    transition: color 160ms ease, background-color 160ms ease, transform 120ms var(--ease-out);
  }

  .main-area {
    height: 100dvh;
    min-width: 0;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    scrollbar-gutter: stable;
  }

  body.is-modal-open #authenticated-app .main-area {
    overflow: hidden;
  }

  .topbar {
    display: flex;
    height: 78px;
    align-items: center;
    justify-content: flex-end;
    padding: 0 42px;
  }

  .mobile-brand,
  .mobile-avatar {
    display: none;
  }

  .topbar-actions {
    display: flex;
    align-items: center;
    gap: 8px;
  }

  .notification-button {
    background: var(--surface);
    border: 1px solid var(--border);
  }

  .notification-dot {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 7px;
    height: 7px;
    background: var(--danger);
    border: 2px solid var(--surface);
    border-radius: 50%;
  }

  .page-content {
    width: min(100%, 1480px);
    margin: 0 auto;
    padding: 0 42px 52px;
  }

  .hero-card {
    position: relative;
    display: grid;
    min-height: 312px;
    grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr);
    overflow: hidden;
    padding: 46px 52px;
    color: #ffffff;
    background: linear-gradient(125deg, #0d58da 0%, #1467f6 55%, #3985ff 100%);
    border-radius: 28px;
    box-shadow: 0 20px 50px rgba(20, 103, 246, 0.18);
  }

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

  .eyebrow,
  .section-kicker {
    margin: 0 0 10px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.11em;
  }

  .hero-card .eyebrow {
    color: rgba(255, 255, 255, 0.72);
  }

  .hero-card h1 {
    margin: 0;
    font-size: clamp(32px, 3.2vw, 48px);
    font-weight: 600;
    letter-spacing: -0.055em;
    line-height: 1.16;
  }

  .hero-card h1 strong {
    font-weight: 800;
  }

  .hero-content > p:not(.eyebrow) {
    margin: 18px 0 27px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 14px;
    line-height: 1.6;
  }

  .primary-button,
  .secondary-button {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 0 20px;
    border-radius: var(--radius-pill);
    cursor: pointer;
    font-size: 14px;
    font-weight: 700;
    transition: color 160ms ease, background-color 160ms ease, transform 120ms var(--ease-out), box-shadow 160ms ease;
  }

  .primary-button {
    color: var(--primary-dark);
    background: #ffffff;
    border: 0;
    box-shadow: 0 8px 24px rgba(4, 40, 105, 0.18);
  }

  .hero-visual {
    position: relative;
    min-height: 200px;
  }

  .orb {
    position: absolute;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 50%;
  }

  .orb-large {
    top: -90px;
    right: -35px;
    width: 330px;
    height: 330px;
  }

  .orb-small {
    right: 230px;
    bottom: -95px;
    width: 190px;
    height: 190px;
  }

  .hero-calendar {
    position: absolute;
    z-index: 1;
    top: 50%;
    right: 13%;
    display: grid;
    width: 190px;
    min-height: 190px;
    place-items: center;
    padding: 22px;
    background: rgba(255, 255, 255, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 32px;
    box-shadow: 0 20px 50px rgba(0, 31, 91, 0.14);
    transform: translateY(-50%) rotate(3deg);
    backdrop-filter: blur(14px);
  }

  .hero-calendar i {
    position: absolute;
    top: 20px;
    left: 22px;
    font-size: 22px;
  }

  .hero-calendar span {
    align-self: end;
    color: rgba(255, 255, 255, 0.72);
    font-size: 12px;
    font-weight: 700;
  }

  .hero-calendar strong {
    font-size: 56px;
    letter-spacing: -0.06em;
    line-height: 0.9;
  }

  .hero-calendar small {
    align-self: start;
    color: rgba(255, 255, 255, 0.76);
    font-size: 12px;
  }

  .section-block {
    margin-top: 42px;
  }

  .section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
  }

  .section-kicker {
    color: var(--primary);
    font-size: 10px;
  }

  .section-heading h2 {
    margin: 0;
    font-size: 24px;
    letter-spacing: -0.045em;
  }

  .text-button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 0;
    color: var(--text-secondary);
    background: transparent;
    border: 0;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    transition: color 160ms ease, transform 120ms var(--ease-out);
  }

  .resource-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
  }

  .resource-card {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 222px;
    flex-direction: column;
    align-items: stretch;
    padding: 24px;
    overflow: hidden;
    color: var(--text-primary);
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-large);
    box-shadow: var(--shadow-card);
    cursor: pointer;
    text-align: left;
    transition: transform 180ms var(--ease-out), border-color 180ms ease, box-shadow 180ms ease;
  }

  .resource-card::after {
    position: absolute;
    right: -32px;
    bottom: -40px;
    width: 130px;
    height: 130px;
    background: currentColor;
    border-radius: 50%;
    content: "";
    opacity: 0.045;
  }

  .vehicle-card { color: var(--vehicle); }
  .room-card { color: var(--room); }
  .equipment-card { color: var(--equipment); }

  .resource-icon,
  .timeline-marker,
  .mini-icon {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 14px;
  }

  .resource-icon {
    width: 46px;
    height: 46px;
    margin-bottom: 20px;
    background: color-mix(in srgb, currentColor 11%, white);
    font-size: 21px;
  }

  .resource-card-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
  }

  .resource-name {
    color: var(--text-primary);
    font-size: 16px;
    font-weight: 700;
  }

  .resource-card-topline > i {
    color: #b4b8bf;
  }

  .resource-total {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-top: 8px;
    color: var(--text-primary);
  }

  .resource-total strong {
    font-size: 30px;
    letter-spacing: -0.04em;
  }

  .resource-total small,
  .status-caption {
    color: var(--text-secondary);
    font-size: 12px;
  }

  .status-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: auto;
    color: var(--text-primary);
  }

  .status-pill,
  .reservation-status,
  .count-badge,
  .live-indicator {
    display: inline-flex;
    align-items: center;
    border-radius: var(--radius-pill);
    font-size: 11px;
    font-weight: 700;
  }

  .status-pill {
    gap: 6px;
    padding: 7px 9px;
  }

  .status-pill.is-success {
    color: #08744e;
    background: var(--success-soft);
  }

  .status-dot {
    width: 6px;
    height: 6px;
    background: var(--success);
    border-radius: 50%;
  }

  .dashboard-columns {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(330px, 0.75fr);
    gap: 18px;
    margin-top: 36px;
  }

  .panel {
    min-width: 0;
    padding: 28px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-large);
    box-shadow: var(--shadow-card);
  }

  .panel-heading {
    align-items: center;
    margin-bottom: 20px;
  }

  .count-badge {
    padding: 7px 10px;
    color: var(--primary);
    background: var(--primary-soft);
  }

  .reservation-list {
    display: flex;
    flex-direction: column;
  }

  .dashboard-reservation-retry {
    min-height: 62px;
    padding: 12px;
    color: var(--primary);
    background: var(--primary-soft);
    border: 0;
    border-radius: 12px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 700;
    text-align: left;
  }

  .reservation-item {
    display: grid;
    grid-template-columns: 66px 42px minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    padding: 19px 0;
    border-top: 1px solid var(--border);
  }

  .reservation-item:first-child {
    border-top: 0;
  }

  .reservation-item time {
    font-size: 15px;
    font-weight: 800;
    letter-spacing: -0.02em;
  }

  .reservation-item time small {
    display: block;
    margin-top: 4px;
    color: var(--text-secondary);
    font-size: 10px;
    font-weight: 500;
  }

  .timeline-marker,
  .mini-icon {
    width: 42px;
    height: 42px;
    font-size: 17px;
  }

  .vehicle-marker {
    color: var(--vehicle);
    background: #eaf2ff;
  }

  .room-marker {
    color: var(--room);
    background: #f1edff;
  }

  .equipment-marker {
    color: var(--equipment);
    background: #fff0e8;
  }

  .reservation-copy {
    min-width: 0;
  }

  .reservation-heading-row {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
  }

  .category-label {
    color: var(--text-secondary);
    font-size: 10px;
    font-weight: 700;
  }

  .reservation-copy h3 {
    margin: 4px 0 5px;
    overflow: hidden;
    font-size: 14px;
    letter-spacing: -0.02em;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .reservation-copy p {
    margin: 0;
    color: var(--text-secondary);
    font-size: 11px;
  }

  .reservation-status {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    padding: 4px 7px;
    color: var(--text-secondary);
    background: #f1f2f4;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 800;
  }

  .reservation-status.is-progress {
    color: #08744e;
    background: var(--success-soft);
  }

  .reservation-status.is-completed {
    color: #5d626b;
    background: #eef0f3;
  }

  .reservation-status.is-cancelled {
    color: #b62f2f;
    background: #fff0f0;
    border-color: #f2caca;
  }

  .reservation-item-actions {
    display: flex;
    align-items: flex-end;
    flex-direction: column;
    gap: 7px;
  }

  .reservation-cancel-button {
    display: inline-flex;
    min-height: 32px;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 0 10px;
    color: #a52b2b;
    background: var(--surface);
    border: 1px solid #e7b8b8;
    border-radius: 9px;
    cursor: pointer;
    font-size: 10px;
    font-weight: 800;
    transition: color 140ms ease, background-color 140ms ease, transform 120ms var(--ease-out);
  }

  .reservation-cancel-button:active {
    transform: scale(0.97);
  }

  .live-indicator {
    gap: 6px;
    color: var(--text-secondary);
  }

  .live-indicator > span {
    width: 7px;
    height: 7px;
    background: var(--success);
    border-radius: 50%;
    box-shadow: 0 0 0 4px var(--success-soft);
  }

  .available-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  .available-list button {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 10px 6px;
    background: transparent;
    border: 0;
    border-radius: 14px;
    cursor: pointer;
    text-align: left;
    transition: background-color 160ms ease, transform 120ms var(--ease-out);
  }

  .available-list button > span:nth-child(2) {
    display: flex;
    min-width: 0;
    flex-direction: column;
  }

  .available-list button strong {
    overflow: hidden;
    font-size: 13px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .available-list button small {
    margin-top: 5px;
    color: var(--text-secondary);
    font-size: 11px;
  }

  .available-list button > i {
    color: #b6bac1;
    font-size: 13px;
  }

  .secondary-button {
    width: 100%;
    margin-top: 20px;
    color: var(--primary);
    background: var(--primary-soft);
    border: 0;
  }

  .data-source-badge,
  .resource-result-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 0 11px;
    color: var(--text-secondary);
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-pill);
    font-size: 11px;
    font-weight: 700;
  }

  .data-source-badge.is-ready {
    color: #08744e;
    background: var(--success-soft);
    border-color: transparent;
  }

  .data-source-badge.is-error {
    color: #b62f2f;
    background: #fff0f0;
    border-color: transparent;
  }

  .inline-state {
    display: flex;
    min-height: 62px;
    align-items: center;
    gap: 10px;
    padding: 12px 6px;
    color: var(--text-secondary);
    font-size: 12px;
  }

  .loading-spinner {
    display: inline-block;
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    border: 2px solid #dce5f5;
    border-top-color: var(--primary);
    border-radius: 50%;
    animation: resource-spin 700ms linear infinite;
  }

  @keyframes resource-spin {
    to { transform: rotate(360deg); }
  }

  .resource-view,
  .schedule-view {
    padding-top: 6px;
  }

  .resource-page-header {
    margin-bottom: 24px;
  }

  .back-button {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    gap: 7px;
    margin-bottom: 18px;
    padding: 0 4px;
    color: var(--text-secondary);
    background: transparent;
    border: 0;
    cursor: pointer;
    font-size: 12px;
    font-weight: 700;
    transition: color 160ms ease, transform 120ms var(--ease-out);
  }

  .resource-page-title-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
  }

  .resource-page-icon {
    display: grid;
    width: 58px;
    height: 58px;
    place-items: center;
    color: var(--vehicle);
    background: var(--primary-soft);
    border-radius: 18px;
    font-size: 25px;
  }

  .resource-page-icon.is-room {
    color: var(--room);
    background: #f1edff;
  }

  .resource-page-icon.is-equipment {
    color: var(--equipment);
    background: #fff0e8;
  }

  .resource-page-icon.is-management {
    color: var(--primary);
    background: #eaf2ff;
  }

  .resource-page-icon.is-my-reservations {
    color: #08744e;
    background: var(--success-soft);
  }

  .resource-page-title-row h1 {
    margin: 0;
    font-size: clamp(28px, 3vw, 40px);
    letter-spacing: -0.055em;
  }

  .resource-page-title-row p:last-child {
    margin: 8px 0 0;
    color: var(--text-secondary);
    font-size: 13px;
  }

  .resource-result-count {
    min-height: 36px;
    padding-inline: 14px;
    color: var(--primary);
    background: var(--primary-soft);
    border: 0;
  }

  .page-header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
  }

  .resource-management-type-tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    margin-bottom: 18px;
    padding: 6px;
    background: #e9edf3;
    border: 1px solid var(--border);
    border-radius: 16px;
  }

  .resource-management-type-tabs button {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: var(--text-secondary);
    background: transparent;
    border: 0;
    border-radius: 12px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 800;
    transition: color 160ms ease, background-color 160ms ease, box-shadow 160ms ease, transform 100ms ease-out;
  }

  .resource-management-type-tabs button.is-active {
    color: var(--primary);
    background: var(--surface);
    box-shadow: 0 4px 14px rgba(18, 35, 70, 0.08);
  }

  .resource-management-type-tabs button:active {
    transform: scale(0.98);
  }

  .compact-primary-button {
    min-height: 40px;
    padding: 0 15px;
    border-radius: 12px;
    box-shadow: none;
    font-size: 12px;
  }

  .my-reservations-view {
    padding-top: 6px;
  }

  .my-reservations-heading {
    align-items: center;
  }

  .compact-filter-field {
    display: flex;
    align-items: center;
    gap: 9px;
    color: var(--text-secondary);
    font-size: 11px;
    font-weight: 700;
  }

  .compact-filter-field select {
    height: 40px;
    padding: 0 34px 0 12px;
    color: var(--text-primary);
    background: var(--background);
    border: 1px solid var(--border);
    border-radius: 11px;
    font-size: 12px;
  }

  .my-reservations-list {
    min-height: 120px;
  }

  .resource-filter-panel,
  .resource-results-section {
    padding: 24px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-large);
    box-shadow: var(--shadow-card);
  }

  .resource-filter-panel {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
  }

  .filter-grid {
    display: grid;
    min-width: 0;
    flex: 1;
    grid-template-columns: minmax(240px, 1.5fr) repeat(3, minmax(150px, 0.75fr));
    gap: 14px;
  }

  .filter-field {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 8px;
    color: var(--text-primary);
    font-size: 11px;
    font-weight: 700;
  }

  .filter-field input,
  .filter-field select {
    width: 100%;
    height: 44px;
    padding: 0 13px;
    color: var(--text-primary);
    background: var(--background);
    border: 1px solid var(--border);
    border-radius: 12px;
    font-size: 13px;
    transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
  }

  .filter-field input::placeholder {
    color: #a2a6ae;
  }

  .filter-field input:focus,
  .filter-field select:focus {
    background: var(--surface);
    border-color: #9dbdf8;
    box-shadow: 0 0 0 3px rgba(20, 103, 246, 0.08);
  }

  .input-with-icon {
    position: relative;
    display: block;
  }

  .input-with-icon i {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 13px;
    color: #9ca1aa;
    transform: translateY(-50%);
  }

  .input-with-icon input {
    padding-left: 39px;
  }

  .filter-actions {
    display: flex;
    flex: 0 0 auto;
    gap: 9px;
  }

  .filter-reset-button,
  .resource-pagination button {
    display: inline-flex;
    height: 44px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 14px;
    color: var(--text-secondary);
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 12px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 700;
    transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease, transform 120ms var(--ease-out);
  }

  .filter-submit-button {
    min-height: 44px;
    padding-inline: 18px;
    color: #ffffff;
    background: var(--primary);
    border-radius: 12px;
    box-shadow: none;
  }

  .resource-results-section {
    margin-top: 18px;
  }

  .resource-results-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
  }

  .resource-results-heading h2 {
    margin: 0;
    font-size: 22px;
    letter-spacing: -0.04em;
  }

  .resource-state {
    display: flex;
    min-height: 310px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 38px 20px;
    text-align: center;
  }

  .resource-state .loading-spinner {
    width: 30px;
    height: 30px;
    margin-bottom: 17px;
  }

  .state-icon {
    display: grid;
    width: 54px;
    height: 54px;
    margin-bottom: 17px;
    place-items: center;
    color: var(--text-secondary);
    background: var(--background);
    border-radius: 18px;
    font-size: 23px;
  }

  .state-icon.is-error {
    color: var(--danger);
    background: #fff0f0;
  }

  .resource-state strong {
    font-size: 15px;
  }

  .resource-state p {
    max-width: 520px;
    margin: 8px 0 0;
    color: var(--text-secondary);
    font-size: 12px;
    line-height: 1.6;
  }

  .resource-state .state-action {
    width: auto;
    min-height: 40px;
    margin-top: 18px;
    padding-inline: 18px;
  }

  .resource-result-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
  }

  .resource-result-card {
    display: flex;
    min-width: 0;
    min-height: 228px;
    flex-direction: column;
    padding: 20px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 18px;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 140ms var(--ease-out);
  }

  .resource-result-card[data-action="book-resource"] {
    cursor: pointer;
  }

  .resource-result-card[data-action="book-resource"]:focus-visible {
    border-color: var(--primary);
    outline: 3px solid rgba(20, 103, 246, 0.18);
    outline-offset: 2px;
  }

  .resource-result-card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
  }

  .resource-card-actions {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 7px;
  }

  .resource-edit-button,
  .resource-qr-button {
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    gap: 5px;
    padding: 0 9px;
    color: var(--primary);
    background: var(--primary-soft);
    border: 0;
    border-radius: 9px;
    cursor: pointer;
    font-size: 10px;
    font-weight: 800;
    transition: background-color 160ms ease, transform 120ms var(--ease-out);
  }

  .resource-edit-button:active,
  .resource-qr-button:active {
    transform: scale(0.97);
  }

  .resource-qr-button {
    color: #5a42c7;
    background: #f0edff;
  }

  .resource-result-card-title {
    min-width: 0;
  }

  .resource-result-card-title small {
    display: block;
    margin-bottom: 5px;
    overflow: hidden;
    color: var(--text-secondary);
    font-size: 10px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .resource-result-card-title h3 {
    margin: 0;
    overflow: hidden;
    font-size: 17px;
    letter-spacing: -0.035em;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .resource-room-photo {
    position: relative;
    display: grid;
    width: 100%;
    aspect-ratio: 16 / 9;
    margin: 16px 0 0;
    overflow: hidden;
    place-items: center;
    color: var(--text-secondary);
    background: #f3f6fb;
    border: 1px solid var(--border);
    border-radius: 14px;
  }

  .resource-room-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .resource-room-photo-loading {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 10px;
    font-weight: 700;
  }

  .master-status {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 6px;
    padding: 6px 8px;
    color: var(--text-secondary);
    background: #f1f2f4;
    border-radius: var(--radius-pill);
    font-size: 10px;
    font-weight: 800;
  }

  .master-status::before {
    width: 6px;
    height: 6px;
    background: #a1a5ad;
    border-radius: 50%;
    content: "";
  }

  .master-status.is-available {
    color: #08744e;
    background: var(--success-soft);
  }

  .master-status.is-available::before { background: var(--success); }
  .master-status.is-warning { color: #9b5a09; background: #fff5e5; }
  .master-status.is-warning::before { background: var(--warning); }
  .master-status.is-danger { color: #b62f2f; background: #fff0f0; }
  .master-status.is-danger::before { background: var(--danger); }

  .resource-detail-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 16px;
    margin: 22px 0 0;
  }

  .resource-detail-list div {
    min-width: 0;
  }

  .resource-detail-list dt {
    margin-bottom: 4px;
    color: var(--text-secondary);
    font-size: 10px;
  }

  .resource-detail-list dd {
    margin: 0;
    overflow: hidden;
    font-size: 12px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .feature-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: auto;
    padding-top: 18px;
  }

  .feature-chip {
    padding: 5px 8px;
    color: var(--text-secondary);
    background: var(--background);
    border-radius: var(--radius-pill);
    font-size: 10px;
    font-weight: 700;
  }

  .resource-booking-hint {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: auto;
    padding-top: 18px;
    color: var(--primary);
    font-size: 11px;
    font-weight: 800;
  }

  .resource-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-top: 22px;
  }

  .resource-pagination button {
    min-width: 88px;
  }

  .resource-pagination button:disabled {
    cursor: not-allowed;
    opacity: 0.42;
  }

  .resource-pagination span {
    min-width: 64px;
    color: var(--text-secondary);
    font-size: 11px;
    font-weight: 700;
    text-align: center;
  }

  .resource-page-icon.is-schedule {
    color: var(--primary);
    background: var(--primary-soft);
  }

  .schedule-control-panel {
    padding: 20px 24px 24px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-large);
    box-shadow: var(--shadow-card);
  }

  .schedule-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--border);
  }

  .schedule-type-tabs,
  .schedule-view-toggle {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px;
    background: var(--background);
    border-radius: 13px;
  }

  .schedule-type-tabs button,
  .schedule-view-toggle button {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 14px;
    color: var(--text-secondary);
    background: transparent;
    border: 0;
    border-radius: 10px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 700;
    transition: color 160ms ease, background-color 160ms ease, box-shadow 160ms ease, transform 120ms var(--ease-out);
  }

  .schedule-type-tabs button.is-active,
  .schedule-view-toggle button.is-active {
    color: var(--primary);
    background: var(--surface);
    box-shadow: 0 4px 14px rgba(18, 35, 70, 0.08);
  }

  .schedule-filter-form {
    display: flex;
    align-items: end;
    gap: 20px;
    padding-top: 18px;
  }

  .schedule-mobile-filter-bar,
  .schedule-mobile-filter-header,
  .schedule-filter-backdrop,
  .resource-mobile-type-tabs {
    display: none;
  }

  .schedule-filter-grid {
    display: grid;
    min-width: 0;
    flex: 1;
    grid-template-columns: repeat(4, minmax(130px, 0.75fr)) minmax(210px, 1.2fr);
    gap: 12px;
  }

  .schedule-filter-actions {
    padding-bottom: 0;
  }

  .schedule-results-section {
    margin-top: 18px;
  }

  .schedule-results-heading {
    align-items: center;
  }

  .schedule-results-tools {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 10px;
  }

  .schedule-status-shortcuts {
    display: inline-flex;
    gap: 3px;
    padding: 3px;
    background: var(--background);
    border: 1px solid var(--border);
    border-radius: 11px;
  }

  .schedule-status-shortcuts button {
    min-height: 34px;
    padding: 0 12px;
    color: var(--text-secondary);
    background: transparent;
    border: 0;
    border-radius: 8px;
    cursor: pointer;
    font-size: 11px;
    font-weight: 800;
    transition: color 140ms ease, background-color 140ms ease, box-shadow 140ms ease;
  }

  .schedule-status-shortcuts button.is-active {
    color: var(--primary);
    background: var(--surface);
    box-shadow: 0 3px 10px rgb(31 62 112 / 9%);
  }

  .schedule-month-navigation {
    display: grid;
    grid-template-columns: 38px minmax(100px, auto) 38px;
    align-items: center;
    gap: 3px;
    padding: 3px;
    background: var(--background);
    border: 1px solid var(--border);
    border-radius: 12px;
  }

  .schedule-month-navigation button {
    display: grid;
    width: 38px;
    height: 38px;
    padding: 0;
    place-items: center;
    color: var(--text-secondary);
    background: var(--surface);
    border: 0;
    border-radius: 9px;
    cursor: pointer;
  }

  .schedule-month-navigation strong {
    text-align: center;
    font-size: 12px;
    letter-spacing: -0.02em;
  }

  .schedule-timeline {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }

  .schedule-timeline.is-calendar {
    display: block;
    overflow-x: auto;
    padding-bottom: 4px;
    overscroll-behavior-inline: contain;
  }

  .schedule-calendar {
    min-width: 760px;
    overflow: hidden;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 18px;
  }

  .schedule-calendar-weekdays,
  .schedule-calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }

  .schedule-calendar-weekdays span {
    padding: 11px 8px;
    color: var(--text-secondary);
    text-align: center;
    background: var(--background);
    border-bottom: 1px solid var(--border);
    font-size: 10px;
    font-weight: 800;
  }

  .schedule-calendar-day {
    min-width: 0;
    min-height: 132px;
    padding: 9px 8px;
    background: var(--surface);
    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
  }

  .schedule-calendar-day-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 4px;
    margin-bottom: 5px;
  }

  .schedule-calendar-day:nth-child(7n) {
    border-right: 0;
  }

  .schedule-calendar-day.is-outside {
    background: #fafbfc;
  }

  .schedule-calendar-day-number {
    display: grid;
    width: 26px;
    height: 26px;
    place-items: center;
    color: var(--text-secondary);
    border-radius: 50%;
    font-size: 10px;
    font-weight: 800;
  }

  .schedule-calendar-add {
    display: grid;
    width: 26px;
    height: 26px;
    padding: 0;
    place-items: center;
    color: var(--primary);
    background: var(--primary-soft);
    border: 0;
    border-radius: 8px;
    cursor: pointer;
    font-size: 10px;
    transition: color 140ms ease, background-color 140ms ease, transform 120ms var(--ease-out);
  }

  .schedule-calendar-add:active {
    transform: scale(0.92);
  }

  .schedule-calendar-day.is-today .schedule-calendar-day-number {
    color: #ffffff;
    background: var(--primary);
  }

  .schedule-calendar-day.is-outside .schedule-calendar-day-number {
    color: #bdc1c9;
  }

  .schedule-calendar-events {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 4px;
  }

  .schedule-calendar-event {
    display: block;
    min-width: 0;
    overflow: hidden;
    padding: 6px 7px;
    color: #1550ac;
    text-overflow: ellipsis;
    white-space: nowrap;
    background: var(--primary-soft);
    border-left: 3px solid var(--primary);
    border-radius: 6px;
    font-size: 9px;
    font-weight: 700;
  }

  .schedule-calendar-event.is-progress {
    color: #80500e;
    background: #fff5df;
    border-left-color: var(--warning);
  }

  .schedule-calendar-event.is-completed {
    color: #08744e;
    background: var(--success-soft);
    border-left-color: var(--success);
  }

  .schedule-calendar-event.is-cancelled {
    color: #9a5656;
    text-decoration: line-through;
    background: #f8eeee;
    border-left-color: #c78888;
  }

  .schedule-calendar-more {
    padding-inline: 5px;
    color: var(--text-secondary);
    font-size: 9px;
    font-weight: 800;
  }

  .schedule-date-group {
    overflow: hidden;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 18px;
  }

  .schedule-date-heading {
    display: flex;
    min-height: 48px;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 10px 18px;
    background: var(--background);
    border-bottom: 1px solid var(--border);
  }

  .schedule-date-heading h3 {
    margin: 0;
    font-size: 14px;
    letter-spacing: -0.025em;
  }

  .schedule-date-heading span {
    color: var(--text-secondary);
    font-size: 10px;
    font-weight: 700;
  }

  .schedule-day-list {
    padding-inline: 18px;
  }

  .schedule-reservation-item {
    grid-template-columns: 92px 42px minmax(0, 1fr) auto;
  }

  .schedule-reservation-item time {
    display: flex;
    align-items: baseline;
    gap: 5px;
    white-space: nowrap;
  }

  .schedule-reservation-item time small {
    display: inline;
    margin: 0;
  }

  .reservation-purpose {
    color: var(--text-primary);
  }

  .reservation-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 9px;
  }

  .reservation-meta span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
  }

  .reservation-meta i {
    color: #a1a6af;
  }

  .reservation-copy .reservation-cancellation-note {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    margin-top: 8px;
    padding: 8px 10px;
    color: #9b3d2c;
    background: #fff3ef;
    border: 1px solid #f2d2c8;
    border-radius: 10px;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.5;
  }

  .reservation-cancellation-note i {
    margin-top: 1px;
    flex: 0 0 auto;
  }

  .resource-page-icon.is-account {
    color: #6c47df;
    background: #f0ecff;
  }

  .account-view {
    padding-top: 4px;
  }

  .account-permission-guide {
    margin-bottom: 20px;
    padding: 22px;
    background: linear-gradient(135deg, #f8f6ff 0%, #f5f9ff 100%);
    border: 1px solid #e5defd;
    border-radius: var(--radius-large);
  }

  .account-permission-guide-heading {
    display: flex;
    align-items: center;
    gap: 13px;
  }

  .account-permission-guide-heading h2 {
    margin: 3px 0 2px;
    font-size: 20px;
    letter-spacing: -0.04em;
  }

  .account-permission-guide-heading p:last-child,
  .account-role-guide-grid p {
    margin: 0;
    color: var(--text-secondary);
    font-size: 10px;
    line-height: 1.6;
  }

  .account-role-guide-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 16px;
  }

  .account-role-guide-grid article {
    padding: 14px;
    background: rgba(255, 255, 255, 0.86);
    border: 1px solid rgba(108, 71, 223, 0.12);
    border-radius: 14px;
  }

  .account-role-guide-grid strong {
    display: block;
    margin-bottom: 5px;
    font-size: 11px;
  }

  .account-panel {
    min-width: 0;
    max-width: 100%;
    padding: 24px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-large);
    box-shadow: var(--shadow-card);
  }

  .account-toolbar {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 20px;
  }

  .account-toolbar h2 {
    margin: 3px 0 0;
    font-size: 22px;
    letter-spacing: -0.04em;
  }

  .account-toolbar-actions {
    display: flex;
    align-items: end;
    gap: 12px;
  }

  #account-create {
    min-height: 44px;
    white-space: nowrap;
  }

  .account-search {
    width: min(340px, 100%);
  }

  .account-search input {
    width: 100%;
    height: 44px;
    padding: 0 13px 0 39px;
    background: var(--background);
    border: 1px solid var(--border);
    border-radius: 12px;
    font-size: 12px;
  }

  .account-table-wrap {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    contain: layout paint;
    border: 1px solid var(--border);
    border-radius: 16px;
  }

  .account-table {
    width: 100%;
    min-width: 920px;
    border-collapse: collapse;
  }

  .account-table th,
  .account-table td {
    padding: 15px 16px;
    text-align: left;
    border-bottom: 1px solid var(--border);
    font-size: 11px;
  }

  .account-table th {
    color: var(--text-secondary);
    background: var(--background);
    font-size: 10px;
    font-weight: 800;
  }

  .account-table tr:last-child td {
    border-bottom: 0;
  }

  .account-identity {
    display: flex;
    min-width: 190px;
    flex-direction: column;
    gap: 3px;
  }

  .account-identity strong {
    font-size: 12px;
  }

  .account-identity small {
    color: var(--text-secondary);
    font-size: 9px;
  }

  .account-permission-summary {
    display: flex;
    min-width: 150px;
    flex-direction: column;
    gap: 4px;
  }

  .account-permission-summary small {
    color: var(--text-secondary);
    font-size: 9px;
    line-height: 1.4;
  }

  .account-role-badge,
  .account-status-badge,
  .account-login-badge {
    display: inline-flex;
    min-height: 26px;
    align-items: center;
    padding: 0 9px;
    color: var(--text-secondary);
    background: var(--background);
    border-radius: var(--radius-pill);
    font-size: 9px;
    font-weight: 800;
    white-space: nowrap;
  }

  .account-role-badge.is-admin {
    color: #6540d8;
    background: #f0ecff;
  }

  .account-role-badge.is-manager {
    color: #1550ac;
    background: var(--primary-soft);
  }

  .account-status-badge.is-active,
  .account-login-badge.is-ready {
    color: #08744e;
    background: var(--success-soft);
  }

  .account-edit-button {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    gap: 6px;
    padding: 0 11px;
    color: var(--primary);
    background: var(--primary-soft);
    border: 0;
    border-radius: 10px;
    cursor: pointer;
    font-size: 10px;
    font-weight: 800;
    transition: transform 120ms var(--ease-out), background-color 160ms ease;
  }

  .account-edit-button:active {
    transform: scale(0.97);
  }

  .reservation-step {
    display: block;
  }

  .reservation-step + .reservation-step {
    margin-top: 17px;
  }

  .reservation-step > .reservation-form-grid {
    display: grid;
  }

  .reservation-stepper,
  .reservation-step-title,
  .reservation-step-button {
    display: none;
  }

  .account-modal {
    width: min(720px, 100%);
  }

  .account-permission-fieldset {
    min-width: 0;
    margin: 0;
    padding: 16px;
    background: var(--background);
    border: 1px solid var(--border);
    border-radius: 14px;
  }

  .account-permission-fieldset legend {
    padding: 0 5px;
    font-size: 11px;
    font-weight: 800;
  }

  .account-permission-fieldset > p {
    margin: 0 0 12px;
    color: var(--text-secondary);
    font-size: 9px;
  }

  .account-permission-matrix {
    display: grid;
    gap: 7px;
  }

  .account-permission-row {
    display: grid;
    grid-template-columns: minmax(130px, 1.3fr) repeat(2, minmax(86px, 0.8fr));
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 7px 10px;
    background: var(--surface);
    border-radius: 10px;
  }

  .account-permission-row strong,
  .account-permission-row label {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 10px;
  }

  .account-permission-row label {
    cursor: pointer;
  }

  .account-permission-row input {
    width: 17px;
    height: 17px;
    accent-color: var(--primary);
  }

  .account-permission-row input:disabled + span {
    color: var(--text-secondary);
  }

  .account-permission-header {
    min-height: 24px;
    padding-block: 2px;
    color: var(--text-secondary);
    background: transparent;
    font-size: 9px;
    font-weight: 800;
  }

  .resource-modal {
    width: min(880px, 100%);
  }

  .resource-type-summary {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 2px;
    padding: 12px 14px;
    background: var(--background);
    border-radius: 14px;
  }

  .resource-type-summary .resource-page-icon {
    width: 42px;
    height: 42px;
    border-radius: 13px;
    font-size: 18px;
  }

  .resource-type-summary > span:last-child {
    display: flex;
    flex-direction: column;
    gap: 3px;
  }

  .resource-type-summary small {
    color: var(--text-secondary);
    font-size: 9px;
    font-weight: 700;
  }

  .resource-type-summary strong {
    font-size: 13px;
  }

  .resource-edit-section {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 17px 16px;
  }

  .input-with-unit {
    position: relative;
    display: block;
  }

  .input-with-unit input {
    padding-right: 42px;
  }

  .input-with-unit > em {
    position: absolute;
    top: 50%;
    right: 14px;
    color: var(--text-secondary);
    font-size: 10px;
    font-style: normal;
    transform: translateY(-50%);
    pointer-events: none;
  }

  .resource-field-note {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 11px 13px;
    color: #1d5ea7;
    background: #eef6ff;
    border-radius: 11px;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.45;
  }

  .room-photo-upload {
    display: grid;
    gap: 10px;
  }

  .room-photo-upload-label {
    color: var(--text-primary);
    font-size: 11px;
    font-weight: 800;
  }

  .room-photo-preview {
    position: relative;
    display: grid;
    width: min(420px, 100%);
    aspect-ratio: 16 / 9;
    overflow: hidden;
    place-items: center;
    align-content: center;
    gap: 8px;
    color: var(--text-secondary);
    background: #f3f6fb;
    border: 1px dashed #b8c5d8;
    border-radius: 14px;
    font-size: 10px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
  }

  .room-photo-preview:hover {
    border-color: #4c8fea;
    box-shadow: 0 10px 24px rgba(30, 101, 196, 0.12);
    transform: translateY(-1px);
  }

  .room-photo-preview:active {
    transform: translateY(0) scale(0.995);
  }

  .room-photo-preview:focus-visible {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(20, 103, 218, 0.2);
    outline: none;
  }

  .room-photo-preview > i {
    color: #7d91ae;
    font-size: 24px;
  }

  .room-photo-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .room-photo-preview-action {
    position: absolute;
    right: 10px;
    bottom: 10px;
    display: inline-flex;
    min-height: 32px;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 7px 10px;
    color: #185da9;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(24, 93, 169, 0.16);
    border-radius: 999px;
    box-shadow: 0 5px 14px rgba(15, 46, 86, 0.12);
    font-size: 9px;
    font-weight: 800;
    pointer-events: none;
  }

  .room-photo-preview.has-photo .room-photo-preview-action {
    color: #fff;
    background: rgba(16, 28, 45, 0.72);
    border-color: rgba(255, 255, 255, 0.3);
    backdrop-filter: blur(6px);
  }

  .room-photo-controls {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
  }

  #resource-edit-room-photo-remove {
    display: inline-flex;
    width: auto;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding-inline: 14px;
    cursor: pointer;
  }

  #resource-edit-room-photo-remove {
    color: #b42318;
    background: #fff1f0;
    border-color: #fecaca;
  }

  #resource-edit-room-photo-remove:hover {
    color: #8f1710;
    background: #ffe4e1;
    border-color: #fda4a4;
  }

  .room-photo-upload > small {
    color: var(--text-secondary);
    font-size: 9px;
    line-height: 1.55;
  }

  .resource-feature-fieldset {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 12px;
  }

  .resource-feature-fieldset legend {
    padding: 0 5px;
    color: var(--text-secondary);
    font-size: 10px;
    font-weight: 800;
  }

  .resource-feature-fieldset label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 9px;
    background: var(--background);
    border-radius: 9px;
    cursor: pointer;
    font-size: 10px;
    font-weight: 700;
  }

  .resource-feature-fieldset input {
    width: 16px;
    height: 16px;
    accent-color: var(--primary);
  }

  .resource-modal-actions {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
  }

  .danger-button {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 15px;
    color: var(--danger);
    background: #fff0f0;
    border: 1px solid #ffd9d9;
    border-radius: 12px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 800;
  }

  .danger-button:disabled {
    cursor: wait;
    opacity: 0.6;
  }

  .account-edit-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 24px;
  }

  .account-edit-summary span {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 4px;
    padding: 12px 13px;
    background: var(--background);
    border-radius: 12px;
  }

  .account-edit-summary small {
    color: var(--text-secondary);
    font-size: 9px;
    font-weight: 700;
  }

  .account-edit-summary strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 11px;
  }

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

  .account-active-field {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 12px 13px;
    background: var(--background);
    border: 1px solid var(--border);
    border-radius: 12px;
    cursor: pointer;
  }

  .account-active-field input {
    width: 18px;
    height: 18px;
    accent-color: var(--primary);
  }

  .account-active-field span {
    display: flex;
    flex-direction: column;
    gap: 3px;
  }

  .account-active-field strong {
    font-size: 11px;
  }

  .account-active-field small {
    color: var(--text-secondary);
    font-size: 9px;
    line-height: 1.4;
  }

  .account-password-field {
    grid-column: 1 / -1;
  }

  body.is-modal-open {
    overflow: hidden;
  }

  .modal-backdrop {
    position: fixed;
    z-index: 90;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgba(15, 22, 36, 0.48);
    backdrop-filter: blur(7px);
    overscroll-behavior: none;
    animation: modal-backdrop-in 180ms ease-out;
  }

  .reservation-modal {
    display: flex;
    width: min(760px, 100%);
    max-height: min(880px, calc(100dvh - 48px));
    flex-direction: column;
    overflow: hidden;
    background: var(--surface);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 24px;
    box-shadow: 0 30px 90px rgba(15, 22, 36, 0.25);
    animation: reservation-modal-in 220ms var(--ease-out);
  }

  .app-exit-backdrop {
    z-index: 96;
  }

  .app-exit-dialog {
    width: min(390px, 100%);
    padding: 30px 28px 26px;
    text-align: center;
    background: var(--surface);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 24px;
    box-shadow: 0 30px 90px rgba(15, 22, 36, 0.25);
    animation: reservation-modal-in 220ms var(--ease-out);
  }

  .app-exit-icon {
    display: grid;
    width: 54px;
    height: 54px;
    margin: 0 auto 18px;
    place-items: center;
    color: var(--primary);
    background: var(--primary-soft);
    border-radius: 18px;
    font-size: 24px;
  }

  .app-exit-dialog h2 {
    margin: 0;
    font-size: 24px;
    letter-spacing: -0.045em;
  }

  .app-exit-dialog p {
    margin: 10px 0 24px;
    color: var(--text-secondary);
    font-size: 12px;
    line-height: 1.6;
  }

  .app-exit-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  .app-exit-actions button {
    width: 100%;
    min-height: 44px;
  }

  .vehicle-qr-modal {
    width: min(560px, 100%);
  }

  .vehicle-qr-scroll {
    display: grid;
    place-items: center;
  }

  .vehicle-qr-sheet {
    display: grid;
    width: min(360px, 100%);
    justify-items: center;
    padding: 24px;
    color: var(--text-primary);
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 22px;
    box-shadow: 0 16px 42px rgba(15, 22, 36, 0.08);
    text-align: center;
  }

  .vehicle-qr-brand {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 12px;
    text-align: left;
  }

  .vehicle-qr-brand-icon {
    display: grid;
    width: 44px;
    height: 44px;
    flex: 0 0 auto;
    place-items: center;
    color: var(--primary);
    background: var(--primary-soft);
    border-radius: 14px;
    font-size: 21px;
  }

  .vehicle-qr-brand span:last-child {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 3px;
  }

  .vehicle-qr-brand small {
    color: var(--primary);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 0.14em;
  }

  .vehicle-qr-brand strong {
    overflow: hidden;
    font-size: 17px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  #vehicle-qr-canvas {
    display: grid;
    width: 280px;
    max-width: 100%;
    min-height: 280px;
    margin: 20px 0 12px;
    place-items: center;
  }

  #vehicle-qr-canvas canvas,
  #vehicle-qr-canvas img {
    display: block;
    width: min(280px, 100%);
    height: auto;
    image-rendering: pixelated;
  }

  .vehicle-qr-number {
    font-size: 20px;
    letter-spacing: 0.04em;
  }

  .vehicle-qr-sheet > p {
    margin: 7px 0 0;
    color: var(--text-secondary);
    font-size: 11px;
    line-height: 1.55;
  }

  .vehicle-qr-actions {
    align-items: center;
  }

  .vehicle-qr-actions button {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    gap: 7px;
  }

  .vehicle-mileage-modal {
    width: min(640px, 100%);
  }

  .vehicle-mileage-loading {
    display: grid;
    min-height: 260px;
    place-items: center;
    align-content: center;
    gap: 14px;
    color: var(--text-secondary);
    text-align: center;
  }

  .vehicle-mileage-loading span {
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    color: var(--primary);
    background: var(--primary-soft);
    border-radius: 17px;
    font-size: 24px;
  }

  .vehicle-mileage-loading i {
    display: block;
    animation: loading-spin 900ms linear infinite;
  }

  .vehicle-mileage-summary {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 17px;
    background: linear-gradient(135deg, var(--primary-soft), #f8f9ff);
    border-radius: 18px;
  }

  .vehicle-mileage-icon {
    display: grid;
    width: 48px;
    height: 48px;
    flex: 0 0 auto;
    place-items: center;
    color: var(--primary);
    background: #fff;
    border-radius: 15px;
    font-size: 22px;
    box-shadow: 0 8px 20px rgba(20, 103, 246, 0.12);
  }

  .vehicle-mileage-summary div {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 4px;
  }

  .vehicle-mileage-summary small {
    color: var(--primary);
    font-size: 10px;
    font-weight: 900;
  }

  .vehicle-mileage-summary strong {
    overflow: hidden;
    font-size: 19px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .vehicle-mileage-summary em {
    color: var(--text-secondary);
    font-size: 10px;
    font-style: normal;
    font-weight: 700;
  }

  .vehicle-mileage-selection {
    display: grid;
    gap: 9px;
    margin-top: 18px;
  }

  .vehicle-mileage-selection > strong,
  .vehicle-mileage-actions legend {
    color: var(--text-primary);
    font-size: 11px;
    font-weight: 900;
  }

  .vehicle-mileage-reservation-list {
    display: grid;
    gap: 8px;
  }

  .vehicle-mileage-reservation-option {
    position: relative;
    display: flex;
    width: 100%;
    min-width: 0;
    flex-direction: column;
    gap: 4px;
    padding: 13px 92px 13px 14px;
    color: var(--text-primary);
    text-align: left;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 13px;
    cursor: pointer;
    transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
  }

  .vehicle-mileage-reservation-option:hover {
    border-color: #9cbff7;
    transform: translateY(-1px);
  }

  .vehicle-mileage-reservation-option.is-selected {
    background: var(--primary-soft);
    border-color: #8bb5f5;
    box-shadow: 0 8px 20px rgba(20, 103, 246, 0.1);
  }

  .vehicle-mileage-reservation-option strong,
  .vehicle-mileage-reservation-option span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .vehicle-mileage-reservation-option strong {
    font-size: 11px;
  }

  .vehicle-mileage-reservation-option span {
    color: var(--text-secondary);
    font-size: 10px;
  }

  .vehicle-mileage-reservation-option em {
    position: absolute;
    top: 50%;
    right: 13px;
    padding: 6px 9px;
    color: var(--primary);
    background: #fff;
    border-radius: 999px;
    font-size: 9px;
    font-style: normal;
    font-weight: 900;
    transform: translateY(-50%);
  }

  .vehicle-mileage-reservation {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 18px;
    margin: 18px 0;
    padding: 17px;
    border: 1px solid var(--border);
    border-radius: 16px;
  }

  .vehicle-mileage-reservation div {
    min-width: 0;
  }

  .vehicle-mileage-reservation dt {
    margin-bottom: 5px;
    color: var(--text-secondary);
    font-size: 9px;
    font-weight: 700;
  }

  .vehicle-mileage-reservation dd {
    margin: 0;
    overflow: hidden;
    font-size: 12px;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .vehicle-mileage-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    margin: 0 0 14px;
    padding: 0;
    border: 0;
  }

  .vehicle-mileage-actions legend {
    grid-column: 1 / -1;
    margin-bottom: 8px;
  }

  .vehicle-mileage-actions label {
    cursor: pointer;
  }

  .vehicle-mileage-actions input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
  }

  .vehicle-mileage-actions span {
    display: flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    color: var(--text-secondary);
    background: var(--background);
    border: 1px solid var(--border);
    border-radius: 12px;
    font-size: 11px;
    font-weight: 800;
    transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
  }

  .vehicle-mileage-actions input:checked + span {
    color: var(--primary);
    background: var(--primary-soft);
    border-color: #8bb5f5;
    box-shadow: 0 6px 16px rgba(20, 103, 246, 0.1);
  }

  .vehicle-mileage-actions input:disabled + span {
    cursor: not-allowed;
    opacity: 0.45;
  }

  .vehicle-mileage-inputs {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 14px 10px;
  }

  .vehicle-mileage-input {
    display: flex;
    align-items: center;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: #fff;
    transition: border-color 160ms ease, box-shadow 160ms ease;
  }

  .vehicle-mileage-input:focus-within {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(20, 103, 246, 0.1);
  }

  .vehicle-mileage-input input {
    min-width: 0;
    border: 0;
    box-shadow: none;
  }

  .vehicle-mileage-input input:focus {
    box-shadow: none;
  }

  .vehicle-mileage-input span {
    padding-right: 13px;
    color: var(--text-secondary);
    font-size: 11px;
    font-weight: 800;
  }

  .vehicle-mileage-inputs button {
    display: inline-flex;
    min-width: 130px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: 7px;
  }

  .vehicle-mileage-result {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: 18px;
    padding: 16px 18px;
    color: #08744e;
    background: var(--success-soft);
    border-radius: 16px;
  }

  .vehicle-mileage-result small {
    font-size: 10px;
    font-weight: 800;
  }

  .vehicle-mileage-result strong {
    font-size: 21px;
  }

  .resource-history-button {
    width: 100%;
    margin-top: 16px;
  }

  .vehicle-management-modal {
    width: min(920px, 100%);
  }

  .vehicle-management-scroll {
    display: block;
  }

  .vehicle-management-loading {
    display: grid;
    min-height: 280px;
    place-items: center;
    align-content: center;
    gap: 13px;
    color: var(--text-secondary);
    text-align: center;
  }

  .vehicle-management-heading {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    padding: 16px;
    background: linear-gradient(135deg, var(--primary-soft), #f8f9ff);
    border-radius: 18px;
  }

  .vehicle-management-heading > div {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 3px;
  }

  .vehicle-management-heading small,
  .vehicle-management-heading em {
    color: var(--text-secondary);
    font-size: 9px;
    font-style: normal;
    font-weight: 800;
  }

  .vehicle-management-heading strong {
    overflow: hidden;
    font-size: 18px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .vehicle-management-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin: 14px 0 18px;
  }

  .vehicle-management-summary article {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 6px;
    padding: 14px;
    background: var(--background);
    border: 1px solid var(--border);
    border-radius: 14px;
  }

  .vehicle-management-summary small {
    color: var(--text-secondary);
    font-size: 9px;
    font-weight: 700;
  }

  .vehicle-management-summary strong {
    overflow: hidden;
    font-size: 15px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .vehicle-management-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    padding: 5px;
    background: var(--background);
    border-radius: 13px;
  }

  .vehicle-management-tabs button {
    display: flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    color: var(--text-secondary);
    background: transparent;
    border: 0;
    border-radius: 10px;
    cursor: pointer;
    font-size: 11px;
    font-weight: 800;
  }

  .vehicle-management-tabs button.is-active {
    color: var(--primary);
    background: var(--surface);
    box-shadow: 0 5px 15px rgba(15, 22, 36, 0.07);
  }

  .vehicle-management-panel {
    margin-top: 14px;
  }

  .vehicle-management-list {
    display: grid;
    gap: 9px;
  }

  .vehicle-management-record {
    padding: 14px 15px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 14px;
  }

  .vehicle-management-record > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }

  .vehicle-management-record > header > span {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 3px;
  }

  .vehicle-management-record header strong {
    font-size: 11px;
  }

  .vehicle-management-record header small {
    color: var(--text-secondary);
    font-size: 9px;
  }

  .vehicle-management-record header em {
    flex: 0 0 auto;
    padding: 5px 8px;
    color: var(--primary);
    background: var(--primary-soft);
    border-radius: 999px;
    font-size: 9px;
    font-style: normal;
    font-weight: 800;
  }

  .vehicle-management-record dl {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    margin: 12px 0 0;
  }

  .vehicle-management-record dl div {
    min-width: 0;
  }

  .vehicle-management-record dt {
    margin-bottom: 3px;
    color: var(--text-secondary);
    font-size: 8px;
    font-weight: 700;
  }

  .vehicle-management-record dd {
    margin: 0;
    overflow: hidden;
    font-size: 10px;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .vehicle-management-record > p {
    margin: 9px 0 0;
    color: var(--text-secondary);
    font-size: 10px;
    line-height: 1.5;
  }

  .vehicle-management-empty {
    margin: 0;
    padding: 38px 18px;
    color: var(--text-secondary);
    background: var(--background);
    border: 1px dashed var(--border-strong);
    border-radius: 14px;
    font-size: 11px;
    text-align: center;
  }

  .vehicle-maintenance-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 11px;
  }

  .vehicle-maintenance-toolbar > strong {
    font-size: 12px;
  }

  .vehicle-maintenance-toolbar button {
    min-height: 40px;
  }

  .vehicle-maintenance-form {
    margin-top: 14px;
    padding: 16px;
    background: var(--background);
    border: 1px solid var(--border);
    border-radius: 16px;
  }

  .vehicle-maintenance-form > header,
  .vehicle-maintenance-form > footer {
    display: flex;
    align-items: center;
    gap: 10px;
  }

  .vehicle-maintenance-form > header {
    justify-content: space-between;
    margin-bottom: 15px;
  }

  .vehicle-maintenance-form > footer {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    margin-top: 15px;
  }

  @keyframes modal-backdrop-in {
    from { opacity: 0; }
  }

  @keyframes reservation-modal-in {
    from { opacity: 0; transform: translateY(18px) scale(0.98); }
  }

  .reservation-modal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding: 26px 28px 22px;
    border-bottom: 1px solid var(--border);
  }

  .reservation-modal-header h2 {
    margin: 0;
    font-size: 26px;
    letter-spacing: -0.045em;
  }

  .reservation-modal-header p:last-child {
    margin: 8px 0 0;
    color: var(--text-secondary);
    font-size: 12px;
  }

  .modal-close-button {
    flex: 0 0 auto;
  }

  .reservation-modal form {
    display: flex;
    min-height: 0;
    flex: 1;
    flex-direction: column;
  }

  .reservation-form-scroll {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 24px 28px;
    overscroll-behavior-y: contain;
    touch-action: pan-y;
  }

  .reservation-room-summary {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 12px;
    padding: 15px;
    color: #173b73;
    background: #f2f7ff;
    border: 1px solid #dce9ff;
    border-radius: 15px;
  }

  .reservation-room-summary-icon {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    color: var(--room);
    background: #ebe6ff;
    border-radius: 12px;
    font-size: 18px;
  }

  .reservation-room-summary > div {
    min-width: 0;
  }

  .reservation-room-summary small,
  .reservation-room-summary strong,
  .reservation-room-summary p {
    display: block;
  }

  .reservation-room-summary small {
    margin-bottom: 3px;
    color: var(--text-secondary);
    font-size: 9px;
    font-weight: 800;
  }

  .reservation-room-summary strong {
    font-size: 14px;
  }

  .reservation-room-summary p {
    margin: 5px 0 10px;
    color: var(--text-secondary);
    font-size: 10px;
  }

  .reservation-room-features {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
  }

  .reservation-room-feature {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    gap: 5px;
    padding: 5px 8px;
    color: #4b3e91;
    background: #ffffff;
    border-radius: 9px;
    font-size: 9px;
    font-weight: 800;
  }

  .reservation-room-feature.is-empty {
    color: var(--text-secondary);
  }

  .reservation-user-summary {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
    padding: 13px 15px;
    background: var(--primary-soft);
    border-radius: 15px;
  }

  .reservation-user-summary > span:nth-child(2) {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 3px 8px;
  }

  .reservation-user-summary small {
    width: 100%;
    color: var(--text-secondary);
    font-size: 9px;
    font-weight: 700;
  }

  .reservation-user-summary strong {
    font-size: 13px;
  }

  .reservation-user-summary em {
    color: var(--text-secondary);
    font-size: 10px;
    font-style: normal;
  }

  .verified-account {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #08744e;
    font-size: 10px;
    font-weight: 800;
  }

  .reservation-form-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 17px 13px;
  }

  .reservation-time-step .reservation-form-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .reservation-availability-panel {
    margin-top: 16px;
    padding: 14px;
    background: var(--background);
    border: 1px solid var(--border);
    border-radius: 15px;
    transition: background-color 180ms cubic-bezier(0.23, 1, 0.32, 1), border-color 180ms cubic-bezier(0.23, 1, 0.32, 1), box-shadow 180ms cubic-bezier(0.23, 1, 0.32, 1);
  }

  .reservation-availability-panel > header {
    display: flex;
    align-items: center;
    gap: 10px;
  }

  .reservation-availability-icon {
    display: grid;
    width: 34px;
    height: 34px;
    flex: 0 0 auto;
    place-items: center;
    color: var(--text-secondary);
    background: var(--surface);
    border-radius: 10px;
  }

  .reservation-availability-copy {
    display: flex;
    min-width: 0;
    flex: 1;
    flex-direction: column;
    gap: 3px;
  }

  .reservation-availability-panel strong {
    font-size: 12px;
  }

  .reservation-availability-panel small {
    color: var(--text-secondary);
    font-size: 10px;
    line-height: 1.45;
  }

  .reservation-availability-status {
    display: inline-flex;
    min-height: 25px;
    flex: 0 0 auto;
    align-items: center;
    padding: 0 9px;
    color: var(--text-secondary);
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 999px;
    font-size: 9px;
    font-weight: 900;
    white-space: nowrap;
  }

  .reservation-availability-progress {
    display: none;
    height: 4px;
    margin-top: 12px;
    overflow: hidden;
    background: #dbe8fb;
    border-radius: 999px;
  }

  .reservation-availability-progress span {
    display: block;
    width: 38%;
    height: 100%;
    background: var(--primary);
    border-radius: inherit;
    transform: translateX(-125%);
  }

  .reservation-availability-panel.is-loading {
    background: #f4f8ff;
    border-color: #b9d3fa;
    box-shadow: 0 8px 22px rgba(22, 103, 222, 0.1);
  }

  .reservation-availability-panel.is-loading .reservation-availability-icon {
    color: var(--primary);
    background: var(--primary-soft);
  }

  .reservation-availability-panel.is-loading .reservation-availability-icon i {
    animation: reservation-availability-spin 720ms linear infinite;
  }

  .reservation-availability-panel.is-loading .reservation-availability-status {
    color: #075ec9;
    background: #e4efff;
    border-color: #bfd8fb;
  }

  .reservation-availability-panel.is-loading .reservation-availability-progress {
    display: block;
  }

  .reservation-availability-panel.is-loading .reservation-availability-progress span {
    animation: reservation-availability-scan 900ms linear infinite;
  }

  .reservation-availability-panel.is-available {
    background: #f3fbf7;
    border-color: #c8ead8;
  }

  .reservation-availability-panel.is-available .reservation-availability-icon {
    color: #08744e;
    background: #dff5e9;
  }

  .reservation-availability-panel.is-available .reservation-availability-status {
    color: #08744e;
    background: #e2f6eb;
    border-color: #bce5cf;
  }

  .reservation-availability-panel.is-priority {
    background: #fffaf0;
    border-color: #ead8a8;
    box-shadow: 0 8px 22px rgba(137, 96, 0, 0.08);
  }

  .reservation-availability-panel.is-priority .reservation-availability-icon {
    color: #8c6500;
    background: #fff0bd;
  }

  .reservation-availability-panel.is-priority .reservation-availability-status {
    color: #765500;
    background: #fff2c9;
    border-color: #ead28d;
  }

  .reservation-availability-panel.is-conflict,
  .reservation-availability-panel.is-invalid,
  .reservation-availability-panel.is-error {
    background: #fff8f5;
    border-color: #f0d3c9;
  }

  .reservation-availability-panel.is-conflict .reservation-availability-icon,
  .reservation-availability-panel.is-invalid .reservation-availability-icon,
  .reservation-availability-panel.is-error .reservation-availability-icon {
    color: #b64a2f;
    background: #ffebe4;
  }

  .reservation-availability-panel.is-conflict .reservation-availability-status,
  .reservation-availability-panel.is-invalid .reservation-availability-status,
  .reservation-availability-panel.is-error .reservation-availability-status {
    color: #a63f28;
    background: #ffebe4;
    border-color: #f0c5b7;
  }

  .reservation-availability-list {
    display: grid;
    max-height: 190px;
    gap: 7px;
    overflow-y: auto;
    margin-top: 10px;
    overscroll-behavior: contain;
  }

  .reservation-availability-list:empty {
    display: none;
  }

  .reservation-availability-item {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 3px;
    padding: 10px 11px;
    background: var(--surface);
    border: 1px solid #f0d8d0;
    border-radius: 11px;
  }

  .reservation-availability-item span {
    overflow: hidden;
    font-size: 11px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .reservation-availability-more {
    margin: 0;
    color: var(--text-secondary);
    font-size: 10px;
  }

  @keyframes reservation-availability-spin {
    to { transform: rotate(360deg); }
  }

  @keyframes reservation-availability-scan {
    to { transform: translateX(365%); }
  }

  .form-field {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 8px;
    color: var(--text-primary);
    font-size: 11px;
    font-weight: 800;
  }

  .form-field > span em {
    color: var(--danger);
    font-style: normal;
  }

  .form-field input,
  .form-field select,
  .form-field textarea {
    width: 100%;
    padding: 0 13px;
    color: var(--text-primary);
    background: var(--background);
    border: 1px solid var(--border);
    border-radius: 12px;
    font-size: 13px;
    transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
  }

  .form-field input,
  .form-field select {
    height: 45px;
  }

  .form-field textarea {
    min-height: 82px;
    padding-block: 12px;
    resize: vertical;
  }

  .form-field input:focus,
  .form-field select:focus,
  .form-field textarea:focus {
    background: var(--surface);
    border-color: #9dbdf8;
    box-shadow: 0 0 0 3px rgba(20, 103, 246, 0.08);
  }

  .form-field input:disabled,
  .form-field select:disabled {
    cursor: wait;
    opacity: 0.68;
  }

  .form-field > small {
    color: var(--text-secondary);
    font-size: 9px;
    font-weight: 500;
    line-height: 1.45;
  }

  .form-field-wide {
    grid-column: span 2;
  }

  label.form-field-wide:last-of-type {
    grid-column: 1 / -1;
  }

  .reservation-type-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
  }

  .equipment-reservation-fields {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-column: 1 / -1;
  }

  .vehicle-origin-selector {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
  }

  .vehicle-origin-selector legend {
    margin-bottom: 8px;
    color: var(--text-primary);
    font-size: 11px;
    font-weight: 800;
  }

  .vehicle-origin-selector legend em {
    color: var(--danger);
    font-style: normal;
  }

  .vehicle-origin-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .vehicle-origin-options label {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 10px;
    padding: 12px 13px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 13px;
    cursor: pointer;
    transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
  }

  .vehicle-origin-options label:has(input:checked) {
    background: var(--primary-soft);
    border-color: #9dbdf8;
    box-shadow: 0 6px 16px rgba(20, 103, 246, 0.08);
  }

  .vehicle-origin-options label:active {
    transform: scale(0.99);
  }

  .vehicle-origin-options input {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    margin: 0;
    accent-color: var(--primary);
  }

  .vehicle-origin-options span {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 3px;
  }

  .vehicle-origin-options strong {
    font-size: 11px;
    line-height: 1.35;
  }

  .vehicle-origin-options small {
    color: var(--text-secondary);
    font-size: 9px;
    font-weight: 500;
    line-height: 1.35;
  }

  .reservation-manual-route-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
  }

  .manual-route-warning {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 0;
    padding: 11px 13px;
    color: #8a4b17;
    background: #fff7e8;
    border: 1px solid #f4ddb7;
    border-radius: 11px;
    font-size: 9px;
    font-weight: 700;
    line-height: 1.5;
  }

  .vehicle-route-preview {
    padding: 14px;
    background: #f7f9fc;
    border: 1px solid var(--border);
    border-radius: 15px;
    transition: background-color 180ms cubic-bezier(0.23, 1, 0.32, 1), border-color 180ms cubic-bezier(0.23, 1, 0.32, 1), box-shadow 180ms cubic-bezier(0.23, 1, 0.32, 1);
  }

  .vehicle-route-preview > header {
    display: flex;
    align-items: center;
    gap: 10px;
  }

  .vehicle-route-icon {
    display: grid;
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    place-items: center;
    color: var(--primary);
    background: var(--primary-soft);
    border-radius: 12px;
    font-size: 16px;
  }

  .vehicle-route-copy {
    display: flex;
    min-width: 0;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 3px;
  }

  .vehicle-route-copy strong {
    font-size: 12px;
  }

  .vehicle-route-copy small {
    color: var(--text-secondary);
    font-size: 10px;
    line-height: 1.45;
  }

  .vehicle-route-check {
    min-height: 38px;
    padding: 0 12px;
    white-space: nowrap;
  }

  .vehicle-route-preview.is-loading {
    background: #f4f8ff;
    border-color: #b9d3fa;
    box-shadow: 0 8px 22px rgba(22, 103, 222, 0.1);
  }

  .vehicle-route-preview.is-loading .vehicle-route-icon i {
    animation: reservation-availability-spin 720ms linear infinite;
  }

  .vehicle-route-preview.is-ready {
    background: #f3fbf7;
    border-color: #c8ead8;
  }

  .vehicle-route-preview.is-error {
    background: #fff8f5;
    border-color: #f0d3c9;
  }

  .vehicle-route-preview.is-error .vehicle-route-icon {
    color: #b64a2f;
    background: #ffebe4;
  }

  .vehicle-route-details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 14px 0 0;
    padding-top: 12px;
    border-top: 1px solid rgba(18, 35, 70, 0.09);
  }

  .vehicle-route-details div {
    min-width: 0;
  }

  .vehicle-route-details dt {
    margin-bottom: 3px;
    color: var(--text-secondary);
    font-size: 9px;
    font-weight: 800;
  }

  .vehicle-route-details dd {
    margin: 0;
    overflow-wrap: anywhere;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.45;
  }

  .vehicle-location-input-group {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: stretch;
  }

  .form-field > label {
    color: var(--text-primary);
    font-size: 11px;
    font-weight: 800;
  }

  .form-field > label em {
    color: var(--danger);
    font-style: normal;
  }

  .vehicle-location-input-group input {
    min-height: 48px;
    min-width: 0;
  }

  .vehicle-location-open {
    margin-top: 0;
    min-width: 78px;
    min-height: 48px;
    padding-inline: 14px;
    white-space: nowrap;
  }

  .vehicle-location-backdrop {
    z-index: 95;
  }

  .vehicle-location-modal {
    width: min(960px, 100%);
  }

  .vehicle-location-modal > .reservation-modal-header,
  .vehicle-location-search-form,
  .vehicle-location-actions {
    flex: 0 0 auto;
  }

  .vehicle-location-search-form {
    display: grid;
    gap: 7px;
    padding: 18px 28px;
    background: #f7f9fc;
    border-bottom: 1px solid var(--border);
  }

  .vehicle-location-search-form > label {
    font-size: 11px;
    font-weight: 800;
  }

  .vehicle-location-search-form > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 9px;
  }

  .vehicle-location-search-form input {
    width: 100%;
    min-height: 46px;
    padding: 0 15px;
    color: var(--text-primary);
    background: var(--surface);
    border: 1px solid var(--border-strong);
    border-radius: 12px;
    font: inherit;
    outline: none;
    transition: border-color 160ms ease-out, box-shadow 160ms ease-out;
  }

  .vehicle-location-search-form input:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(22, 103, 222, 0.14);
  }

  .vehicle-location-search-form button {
    min-width: 96px;
  }

  .vehicle-location-content {
    display: grid;
    min-height: 0;
    flex: 1 1 auto;
    min-height: 360px;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.82fr);
    gap: 18px;
    padding: 20px 28px;
    overflow-y: auto;
  }

  .vehicle-location-results-panel,
  .vehicle-location-preview {
    min-width: 0;
  }

  .vehicle-location-results-panel > header,
  .vehicle-location-preview > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 11px;
  }

  .vehicle-location-results-panel > header strong {
    font-size: 13px;
  }

  .vehicle-location-results-panel > header span {
    color: var(--primary);
    font-size: 10px;
    font-weight: 900;
  }

  .vehicle-location-status {
    display: grid;
    min-height: 118px;
    place-items: center;
    padding: 20px;
    color: var(--text-secondary);
    background: #f7f9fc;
    border: 1px dashed var(--border-strong);
    border-radius: 14px;
    font-size: 11px;
    line-height: 1.5;
    text-align: center;
  }

  .vehicle-location-status.is-loading::before {
    width: 24px;
    height: 24px;
    margin-bottom: 9px;
    border: 3px solid #d7e5fb;
    border-top-color: var(--primary);
    border-radius: 50%;
    animation: reservation-availability-spin 720ms linear infinite;
    content: "";
  }

  .vehicle-location-results {
    display: grid;
    max-height: 340px;
    gap: 8px;
    overflow-y: auto;
  }

  .vehicle-location-result {
    display: grid;
    width: 100%;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    padding: 13px 14px;
    color: var(--text-primary);
    text-align: left;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 13px;
    cursor: pointer;
    transition: border-color 160ms ease-out, background-color 160ms ease-out, box-shadow 160ms ease-out, transform 160ms ease-out;
  }

  .vehicle-location-result > span:first-child {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 4px;
  }

  .vehicle-location-result strong {
    overflow: hidden;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .vehicle-location-result small {
    color: var(--text-secondary);
    font-size: 9px;
    line-height: 1.45;
  }

  .vehicle-location-result > i {
    align-self: center;
    color: #a3aaba;
  }

  .vehicle-location-result.is-selected {
    background: var(--primary-soft);
    border-color: #92baf5;
    box-shadow: 0 8px 20px rgba(22, 103, 222, 0.1);
  }

  .vehicle-location-result.is-selected > i {
    color: var(--primary);
  }

  .vehicle-location-preview {
    padding: 14px;
    background: #f7f9fc;
    border: 1px solid var(--border);
    border-radius: 16px;
  }

  .vehicle-location-preview > header > span {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 3px;
  }

  .vehicle-location-preview > header small {
    color: var(--text-secondary);
    font-size: 9px;
    font-weight: 800;
  }

  .vehicle-location-preview > header strong {
    overflow: hidden;
    font-size: 13px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .vehicle-location-preview > header em {
    flex: 0 0 auto;
    padding: 5px 8px;
    color: var(--primary);
    background: var(--primary-soft);
    border-radius: 999px;
    font-size: 9px;
    font-style: normal;
    font-weight: 800;
  }

  .vehicle-location-map {
    position: relative;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: #e9eef6;
    border-radius: 12px;
  }

  .vehicle-location-map img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .vehicle-location-map-loading {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 8px;
    color: var(--text-secondary);
    font-size: 10px;
  }

  .vehicle-location-map-loading i {
    color: var(--primary);
    font-size: 20px;
    animation: reservation-availability-spin 720ms linear infinite;
  }

  .vehicle-location-preview > p {
    margin: 11px 2px 0;
    color: var(--text-secondary);
    font-size: 10px;
    font-weight: 700;
    line-height: 1.5;
  }

  .vehicle-location-error {
    grid-column: 1 / -1;
    margin: 0;
  }

  .vehicle-location-actions {
    flex: 0 0 auto;
  }

  .reservation-form-error {
    margin: 18px 0 0;
    padding: 12px 14px;
    color: #b62f2f;
    background: #fff0f0;
    border-radius: 11px;
    font-size: 11px;
    line-height: 1.5;
  }

  .reservation-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 18px 28px;
    background: var(--surface);
    border-top: 1px solid var(--border);
  }

  .reservation-modal-actions .filter-reset-button {
    min-width: 96px;
  }

  .reservation-submit-button {
    min-width: 142px;
    min-height: 44px;
    border-radius: 12px;
  }

  .reservation-submit-button.is-loading::after {
    width: 17px;
    height: 17px;
    border: 2px solid rgba(255, 255, 255, 0.45);
    border-top-color: #ffffff;
    border-radius: 50%;
    animation: resource-spin 700ms linear infinite;
    content: "";
  }

  .reservation-submit-button.is-loading > i {
    display: none;
  }

  .bottom-navigation {
    display: none;
  }

  .toast-region {
    position: fixed;
    z-index: 100;
    right: 24px;
    bottom: 24px;
    pointer-events: none;
  }

  .toast {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    width: min(380px, calc(100vw - 32px));
    min-height: 58px;
    align-items: center;
    gap: 11px;
    padding: 12px 12px 12px 16px;
    color: #ffffff;
    background: #16181c;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: var(--radius-medium);
    box-shadow: 0 18px 45px rgba(17, 17, 17, 0.25);
    opacity: 0;
    pointer-events: auto;
    transform: translateY(18px) scale(0.97);
    transition: opacity 200ms var(--ease-out), transform 200ms var(--ease-out);
  }

  .toast.is-visible {
    opacity: 1;
    transform: translateY(0) scale(1);
  }

  .toast[hidden] {
    display: none;
  }

  .toast-icon {
    color: #7faeff;
  }

  .toast #toast-message {
    font-size: 13px;
    line-height: 1.45;
  }

  .toast button {
    display: grid;
    width: 34px;
    height: 34px;
    padding: 0;
    place-items: center;
    color: rgba(255, 255, 255, 0.68);
    background: transparent;
    border: 0;
    border-radius: 50%;
    cursor: pointer;
  }

  @media (hover: hover) and (pointer: fine) {
    .nav-item:hover,
    .icon-button:hover {
      color: var(--primary);
      background: var(--primary-soft);
    }

    .primary-button:hover {
      box-shadow: 0 12px 30px rgba(4, 40, 105, 0.24);
      transform: translateY(-2px);
    }

    .resource-card:hover {
      border-color: color-mix(in srgb, currentColor 26%, white);
      box-shadow: 0 18px 48px rgba(18, 35, 70, 0.1);
      transform: translateY(-4px);
    }

    .text-button:hover {
      color: var(--primary);
    }

    .available-list button:hover {
      background: var(--background);
    }

    .secondary-button:hover {
      color: #ffffff;
      background: var(--primary);
    }

    .back-button:hover {
      color: var(--primary);
    }

    .filter-reset-button:hover,
    .resource-pagination button:not(:disabled):hover {
      color: var(--primary);
      background: var(--primary-soft);
      border-color: #c9dafb;
    }

    .filter-submit-button:hover {
      color: #ffffff;
      background: var(--primary-dark);
      box-shadow: 0 9px 24px rgba(20, 103, 246, 0.18);
    }

    .resource-result-card:hover {
      border-color: #cbd8ef;
      box-shadow: 0 14px 34px rgba(18, 35, 70, 0.08);
      transform: translateY(-2px);
    }
  }

  @media (max-width: 1199px) {
    .app-shell {
      grid-template-columns: 232px minmax(0, 1fr);
    }

    .sidebar {
      padding-inline: 14px;
    }

    .page-content,
    .topbar {
      padding-inline: 28px;
    }

    .hero-card {
      padding: 40px;
    }

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

    .available-panel {
      display: grid;
      grid-template-columns: 1fr 1.5fr;
      column-gap: 24px;
    }

    .available-panel .panel-heading {
      grid-column: 1 / -1;
    }

    .available-panel .secondary-button {
      align-self: end;
      margin-top: 0;
    }

    .resource-filter-panel {
      align-items: stretch;
      flex-direction: column;
    }

    .schedule-filter-form {
      align-items: stretch;
      flex-direction: column;
    }

    .schedule-filter-grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .schedule-resource-search {
      grid-column: span 2;
    }

    .filter-grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .filter-search {
      grid-column: span 2;
    }

    .filter-actions {
      justify-content: flex-end;
    }
  }

  @media (max-width: 900px) {
    .resource-grid {
      grid-template-columns: 1fr;
    }

    .resource-card {
      display: grid;
      min-height: 158px;
      grid-template-columns: auto minmax(0, 1fr);
      grid-template-rows: auto auto auto;
      column-gap: 18px;
    }

    .resource-icon {
      grid-row: 1 / 4;
      align-self: start;
    }

    .status-row {
      margin-top: 13px;
    }

    .hero-card {
      grid-template-columns: minmax(0, 1fr) 230px;
    }

    .hero-calendar {
      right: 0;
      width: 170px;
      min-height: 170px;
    }

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

    .schedule-toolbar {
      align-items: stretch;
      flex-direction: column;
    }

    .schedule-type-tabs,
    .schedule-view-toggle {
      align-self: flex-start;
    }
  }

  @media (max-width: 767px) {
    html.is-apps-script-host {
      --mobile-viewport-bottom-offset: 56px;
    }

    @supports (height: 100dvh) {
      html.is-apps-script-host {
        --mobile-viewport-bottom-offset: max(56px, calc(100vh - 100dvh));
      }
    }

    .login-view {
      display: block;
      min-height: 100dvh;
      background: linear-gradient(155deg, #0b53c8 0, #2c7afb 154px, var(--surface) 155px);
    }

    .login-visual {
      min-height: 156px;
      padding: calc(22px + var(--safe-area-top)) calc(24px + var(--safe-area-right)) 40px calc(24px + var(--safe-area-left));
      background: transparent;
    }

    .login-visual::after,
    .login-orb-small {
      display: none;
    }

    .login-visual-content {
      display: none;
    }

    .login-orb-large {
      top: -175px;
      right: -90px;
      width: 250px;
      height: 250px;
    }

    .login-panel {
      display: block;
      min-height: calc(100dvh - 124px);
      margin-top: -32px;
      padding: 20px calc(22px + var(--safe-area-right)) calc(40px + var(--mobile-system-bottom)) calc(22px + var(--safe-area-left));
      border-radius: 28px 28px 0 0;
    }

    .login-card {
      width: 100%;
      margin: 0 auto;
    }

    .login-mobile-brand {
      display: flex;
      margin-bottom: 20px;
    }

    .login-card header {
      margin-bottom: 18px;
    }

    .login-card header h2 {
      font-size: 24px;
      line-height: 1.2;
      word-break: keep-all;
    }

    .login-card header > p:last-child {
      margin-top: 8px;
      font-size: 12px;
      line-height: 1.5;
    }

    .login-field {
      margin-top: 14px;
    }

    .login-submit {
      margin-top: 18px;
    }

    .login-help {
      margin-top: 14px;
    }

    .login-loading-card {
      padding: 30px 24px 26px;
      border-radius: 20px;
    }

    .operation-loading-card {
      padding: 30px 24px 26px;
      border-radius: 20px;
    }

    .mobile-admin-button {
      display: grid;
    }

    .login-security-badge {
      margin-bottom: 16px;
    }

    .modal-backdrop {
      align-items: end;
      padding: 0;
    }

    html.is-apps-script-host .modal-backdrop,
    html.is-apps-script-host .operation-loading-screen {
      bottom: var(--mobile-viewport-bottom-offset);
    }

    .reservation-modal {
      width: 100%;
      max-height: calc(100dvh - var(--safe-area-top));
      border-radius: 24px 24px 0 0;
    }

    html.is-apps-script-host .reservation-modal {
      max-height: calc(100% - var(--safe-area-top));
    }

    .app-exit-backdrop {
      align-items: center;
      padding: 20px;
    }

    .app-exit-dialog {
      padding: 28px 22px 22px;
      border-radius: 22px;
    }

    .reservation-modal-header {
      padding: 21px calc(18px + var(--safe-area-right)) 17px calc(18px + var(--safe-area-left));
    }

    .reservation-modal-header h2 {
      font-size: 23px;
    }

    .reservation-modal-header p:last-child {
      max-width: 280px;
      font-size: 10px;
      line-height: 1.5;
    }

    .reservation-form-scroll {
      padding: 18px calc(18px + var(--safe-area-right)) 18px calc(18px + var(--safe-area-left));
    }

    .reservation-user-summary {
      grid-template-columns: auto minmax(0, 1fr);
    }

    .verified-account {
      grid-column: 2;
    }

    .reservation-form-grid,
    .reservation-type-fields,
    .equipment-reservation-fields {
      grid-template-columns: 1fr;
    }

    .vehicle-origin-options {
      grid-template-columns: 1fr;
    }

    .reservation-manual-route-fields {
      grid-template-columns: 1fr;
    }

    .vehicle-route-preview > header {
      align-items: stretch;
      flex-wrap: wrap;
    }

    .vehicle-route-check {
      width: 100%;
    }

    .vehicle-route-details {
      grid-template-columns: 1fr;
    }

    .vehicle-qr-sheet {
      width: 100%;
      padding: 20px 16px;
      border-radius: 18px;
    }

    .vehicle-qr-actions {
      grid-template-columns: 1fr 1fr;
    }

    .vehicle-qr-actions .modal-action-spacer {
      display: none;
    }

    .vehicle-mileage-reservation,
    .vehicle-mileage-inputs {
      grid-template-columns: 1fr;
    }

    .vehicle-mileage-inputs button {
      width: 100%;
    }

    .vehicle-management-heading {
      grid-template-columns: auto minmax(0, 1fr);
    }

    .vehicle-management-heading > button {
      grid-column: 1 / -1;
      width: 100%;
    }

    .vehicle-management-summary {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .vehicle-management-record dl {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .vehicle-maintenance-form > footer {
      grid-template-columns: 1fr 1fr;
    }

    .vehicle-maintenance-form > footer span {
      display: none;
    }

    .reservation-time-step .reservation-form-grid {
      grid-template-columns: 1fr;
    }

    .form-field-wide,
    .equipment-reservation-fields {
      grid-column: auto;
    }

    .reservation-modal-actions {
      position: relative;
      z-index: 2;
      display: grid;
      flex: 0 0 auto;
      grid-template-columns: 0.75fr 1.25fr;
      padding: 14px calc(18px + var(--safe-area-right)) calc(14px + var(--mobile-system-bottom)) calc(18px + var(--safe-area-left));
    }

    .reservation-modal-actions button {
      width: 100%;
    }

    .mobile-logout-button {
      display: grid;
    }

    .app-shell {
      display: block;
    }

    #authenticated-app:not([hidden]) {
      height: 100dvh;
      min-height: 0;
      overflow: hidden;
    }

    #authenticated-app:not([hidden]) .main-area {
      height: 100dvh;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      overscroll-behavior-y: contain;
      touch-action: pan-y;
    }

    html.is-standalone-host body {
      min-height: 100dvh;
      overflow-y: auto;
      overscroll-behavior-y: auto;
    }

    html.is-standalone-host #authenticated-app:not([hidden]) {
      height: auto;
      min-height: 100dvh;
      overflow: visible;
    }

    html.is-standalone-host #authenticated-app:not([hidden]) .main-area {
      height: auto;
      min-height: 100dvh;
      overflow: visible;
      overscroll-behavior-y: auto;
      touch-action: auto;
    }

    html:not(.is-standalone-host) body.is-modal-open #authenticated-app .main-area,
    html:not(.is-standalone-host) body.is-schedule-filter-open #authenticated-app .main-area {
      overflow: hidden;
    }

    .sidebar {
      display: none;
    }

    .topbar {
      position: sticky;
      z-index: 20;
      top: 0;
      height: calc(58px + var(--safe-area-top));
      justify-content: space-between;
      padding: var(--safe-area-top) calc(14px + var(--safe-area-right)) 0 calc(14px + var(--safe-area-left));
      background: rgba(246, 247, 249, 0.9);
      border-bottom: 1px solid rgba(233, 235, 239, 0.8);
      backdrop-filter: blur(16px);
    }

    .mobile-brand {
      display: flex;
      gap: 9px;
    }

    .mobile-brand .brand-logo {
      width: 38px;
      height: 29px;
    }

    .mobile-brand strong {
      display: flex;
      flex-direction: column;
      max-width: 166px;
      font-size: 14px;
      line-height: 1.05;
      letter-spacing: -0.025em;
    }

    .mobile-brand strong small {
      margin-top: 3px;
      color: var(--text-secondary);
      font-size: 9px;
      font-weight: 700;
      letter-spacing: 0;
    }

    .mobile-avatar {
      display: grid;
      width: 34px;
      height: 34px;
    }

    .page-content {
      padding: 10px calc(14px + var(--safe-area-right)) calc(96px + var(--mobile-system-bottom)) calc(14px + var(--safe-area-left));
    }

    html.is-apps-script-host .page-content {
      padding-bottom: calc(96px + var(--mobile-system-bottom) + var(--mobile-viewport-bottom-offset));
    }

    #today-reservations-title {
      scroll-margin-top: calc(70px + var(--safe-area-top));
    }

    .topbar .icon-button,
    .mobile-avatar {
      width: 44px;
      height: 44px;
    }

    .login-input input,
    .filter-field input,
    .filter-field select,
    .form-field input,
    .form-field select,
    .form-field textarea,
    .account-search input {
      font-size: 16px;
    }

    .resource-view,
    .schedule-view {
      padding-top: 6px;
    }

    #dashboard-view:not([hidden]) {
      display: flex;
      flex-direction: column;
    }

    #dashboard-view > .hero-card {
      order: 1;
    }

    #dashboard-view > .dashboard-columns {
      order: 2;
    }

    #dashboard-view > .section-block {
      order: 3;
    }

    .hero-card {
      display: block;
      min-height: 208px;
      padding: 24px 20px;
      border-radius: 22px;
    }

    .hero-card h1 {
      font-size: 28px;
      line-height: 1.08;
    }

    .hero-content > p:not(.eyebrow) {
      display: none;
    }

    .hero-content .primary-button {
      min-height: 44px;
      margin-top: 24px;
      padding-inline: 15px;
    }

    .hero-visual {
      right: -18px;
      bottom: -28px;
      width: 146px;
      min-height: 146px;
      opacity: 0.62;
    }

    .hero-calendar {
      right: 12px;
      width: 108px;
      min-height: 108px;
      padding: 13px;
      border-radius: 22px;
    }

    .hero-calendar strong {
      font-size: 32px;
    }

    .hero-calendar i {
      top: 12px;
      left: 13px;
      font-size: 15px;
    }

    .hero-calendar span,
    .hero-calendar small {
      font-size: 8px;
    }

    .section-block {
      margin-top: 26px;
    }

    .section-heading h2 {
      font-size: 21px;
    }

    .text-button {
      font-size: 12px;
    }

    .resource-grid {
      display: grid;
      overflow-x: auto;
      grid-auto-columns: minmax(150px, 72%);
      grid-auto-flow: column;
      grid-template-columns: none;
      gap: 10px;
      margin-inline: -14px;
      padding: 2px 14px 8px;
      scroll-padding-inline: 14px;
      scroll-snap-type: x proximity;
      scrollbar-width: none;
      overscroll-behavior-inline: contain;
    }

    .resource-grid::-webkit-scrollbar {
      display: none;
    }

    .resource-card {
      display: flex;
      min-height: 142px;
      align-items: stretch;
      flex-direction: column;
      gap: 0;
      padding: 17px;
      border-radius: 19px;
      scroll-snap-align: start;
    }

    .resource-icon {
      width: 38px;
      height: 38px;
      margin-bottom: 14px;
    }

    .resource-total strong {
      font-size: 24px;
    }

    .resource-card .status-row {
      margin-top: 10px;
    }

    .resource-card .status-caption {
      display: none;
    }

    .dashboard-columns {
      gap: 14px;
      margin-top: 16px;
    }

    .panel {
      padding: 22px 18px;
      border-radius: 20px;
    }

    .reservation-item {
      grid-template-columns: 56px 38px minmax(0, 1fr);
      gap: 10px;
      padding: 17px 0;
    }

    .reservation-item-actions {
      grid-column: 3;
      align-items: flex-end;
    }

    .timeline-marker,
    .mini-icon {
      width: 38px;
      height: 38px;
    }

    .reservation-status {
      display: inline-flex;
    }

    .reservation-heading-row {
      align-items: flex-start;
    }

    .available-panel {
      display: block;
    }

    .available-panel .secondary-button {
      margin-top: 18px;
    }

    .resource-page-header {
      margin-bottom: 14px;
    }

    .back-button {
      display: none;
    }

    .resource-page-title-row {
      grid-template-columns: auto minmax(0, 1fr) auto;
      gap: 13px;
    }

    .resource-page-icon {
      width: 42px;
      height: 42px;
      border-radius: 14px;
      font-size: 19px;
    }

    .resource-page-title-row h1 {
      font-size: 24px;
    }

    .resource-page-title-row p:last-child {
      margin-top: 5px;
      font-size: 11px;
    }

    .resource-result-count {
      grid-column: auto;
      justify-self: end;
      min-height: 30px;
      margin-top: 2px;
    }

    .page-header-actions {
      flex-direction: column;
      align-items: flex-end;
      gap: 6px;
    }

    .compact-primary-button {
      min-height: 32px;
      padding-inline: 10px;
      border-radius: 10px;
      font-size: 10px;
    }

    .my-reservations-heading {
      align-items: flex-start;
    }

    .compact-filter-field {
      flex-direction: column;
      align-items: flex-start;
      gap: 4px;
    }

    .compact-filter-field select {
      height: 36px;
    }

    .resource-filter-panel,
    .resource-results-section,
    .schedule-control-panel,
    .account-panel {
      padding: 16px;
      border-radius: 19px;
    }

    .resource-mobile-type-tabs,
    .resource-management-type-tabs {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 5px;
      margin-bottom: 12px;
      padding: 4px;
      background: #e9edf3;
      border-radius: 14px;
    }

    .resource-mobile-type-tabs button,
    .resource-management-type-tabs button {
      display: inline-flex;
      min-height: 42px;
      align-items: center;
      justify-content: center;
      gap: 6px;
      color: var(--text-secondary);
      background: transparent;
      border: 0;
      border-radius: 11px;
      font-size: 11px;
      font-weight: 800;
      transition: color 160ms ease, background-color 160ms ease, box-shadow 160ms ease, transform 100ms ease-out;
    }

    .resource-mobile-type-tabs button.is-active,
    .resource-management-type-tabs button.is-active {
      color: var(--primary);
      background: var(--surface);
      box-shadow: 0 4px 14px rgba(18, 35, 70, 0.08);
    }

    .resource-mobile-type-tabs button:active,
    .resource-management-type-tabs button:active {
      transform: scale(0.97);
    }

    .account-toolbar {
      align-items: stretch;
      flex-direction: column;
    }

    .account-toolbar-actions {
      align-items: stretch;
      flex-direction: column;
    }

    .account-search {
      width: 100%;
    }

    .account-edit-summary,
    .account-form-grid {
      grid-template-columns: 1fr;
    }

    .account-password-field {
      grid-column: auto;
    }

    .schedule-page-title-row {
      grid-template-columns: auto minmax(0, 1fr) auto;
    }

    .schedule-toolbar {
      gap: 12px;
      padding-bottom: 0;
      border-bottom: 0;
    }

    .schedule-type-tabs {
      display: grid;
      width: 100%;
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .schedule-type-tabs button {
      min-width: 0;
      padding-inline: 6px;
    }

    .schedule-type-tabs button span {
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .schedule-view-toggle {
      width: 100%;
    }

    .schedule-view-toggle button {
      flex: 1;
    }

    .schedule-mobile-filter-bar {
      display: flex;
      min-height: 48px;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      margin-top: 12px;
      padding-top: 12px;
      border-top: 1px solid var(--border);
    }

    .schedule-mobile-filter-bar > span {
      min-width: 0;
      overflow: hidden;
      color: var(--text-secondary);
      text-overflow: ellipsis;
      white-space: nowrap;
      font-size: 10px;
      font-weight: 700;
    }

    .schedule-mobile-filter-button {
      display: inline-flex;
      min-height: 40px;
      flex: 0 0 auto;
      align-items: center;
      gap: 7px;
      padding: 0 12px;
      color: var(--primary);
      background: var(--primary-soft);
      border: 0;
      border-radius: 12px;
      font-size: 11px;
      font-weight: 800;
    }

    .schedule-mobile-filter-button:active {
      transform: scale(0.97);
    }

    .schedule-mobile-filter-button strong {
      display: grid;
      width: 19px;
      height: 19px;
      place-items: center;
      color: #ffffff;
      background: var(--primary);
      border-radius: 50%;
      font-size: 9px;
    }

    .schedule-filter-backdrop {
      position: fixed;
      z-index: 88;
      inset: 0;
      display: block;
      width: 100%;
      height: 100%;
      padding: 0;
      background: rgba(15, 22, 36, 0.44);
      border: 0;
      backdrop-filter: blur(5px);
      animation: modal-backdrop-in 180ms ease-out;
    }

    html.is-apps-script-host .schedule-filter-backdrop {
      bottom: var(--mobile-viewport-bottom-offset);
      height: auto;
    }

    .schedule-filter-form {
      position: fixed;
      z-index: 89;
      right: 0;
      bottom: 0;
      left: 0;
      display: flex;
      max-height: calc(100dvh - var(--safe-area-top));
      align-items: stretch;
      flex-direction: column;
      gap: 0;
      overflow-y: auto;
      padding: 20px calc(18px + var(--safe-area-right)) calc(18px + var(--safe-area-bottom)) calc(18px + var(--safe-area-left));
      visibility: hidden;
      background: var(--surface);
      border-radius: 24px 24px 0 0;
      box-shadow: 0 -24px 70px rgba(15, 22, 36, 0.22);
      opacity: 0;
      transform: translateY(104%);
      transition: transform 260ms var(--ease-out), opacity 180ms ease-out, visibility 0s linear 260ms;
    }

    html.is-apps-script-host .schedule-filter-form {
      bottom: var(--mobile-viewport-bottom-offset);
      max-height: calc(100dvh - var(--safe-area-top) - var(--mobile-viewport-bottom-offset));
    }

    .schedule-filter-form.is-mobile-open {
      visibility: visible;
      opacity: 1;
      transform: translateY(0);
      transition-delay: 0s;
    }

    .schedule-mobile-filter-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      margin-bottom: 18px;
    }

    .schedule-mobile-filter-header h2 {
      margin: 3px 0 0;
      font-size: 23px;
      letter-spacing: -0.04em;
    }

    .schedule-filter-grid {
      grid-template-columns: 1fr;
    }

    .schedule-resource-search {
      grid-column: auto;
    }

    .schedule-filter-actions {
      position: sticky;
      z-index: 2;
      bottom: 0;
      display: grid;
      width: 100%;
      grid-template-columns: 1fr 1fr;
      margin-top: 20px;
      padding-top: 12px;
      background: var(--surface);
    }

    body.is-schedule-filter-open {
      overflow: hidden;
    }

    .filter-grid {
      grid-template-columns: 1fr;
    }

    .filter-search {
      grid-column: auto;
    }

    .filter-actions {
      display: grid;
      grid-template-columns: 1fr 1fr;
    }

    .filter-reset-button,
    .filter-submit-button {
      width: 100%;
    }

    .resource-results-heading h2 {
      font-size: 20px;
    }

    .resource-result-grid {
      grid-template-columns: 1fr;
    }

    .resource-result-card {
      min-height: 176px;
    }

    .resource-card-actions {
      flex-direction: column;
      align-items: flex-end;
    }

    .resource-edit-section {
      grid-template-columns: 1fr;
    }

    .resource-modal-actions {
      grid-template-columns: 1fr 1fr;
    }

    .resource-modal-actions .danger-button {
      grid-column: 1 / -1;
      width: 100%;
    }

    .resource-modal-actions .modal-action-spacer {
      display: none;
    }

    .resource-state {
      min-height: 280px;
    }

    .schedule-date-heading {
      padding-inline: 14px;
    }

    .schedule-day-list {
      padding-inline: 14px;
    }

    .schedule-reservation-item {
      grid-template-columns: 64px 38px minmax(0, 1fr);
      gap: 10px;
    }

    .schedule-reservation-item time {
      align-items: flex-start;
      flex-direction: column;
      gap: 1px;
    }

    .schedule-reservation-item time small {
      display: block;
    }

    .schedule-results-heading {
      align-items: stretch;
      flex-direction: column;
    }

    .schedule-results-tools {
      width: 100%;
      justify-content: space-between;
    }

    .schedule-status-shortcuts {
      width: 100%;
    }

    .schedule-status-shortcuts button {
      flex: 1;
    }

    .schedule-month-navigation {
      width: 100%;
      grid-template-columns: 40px minmax(0, 1fr) 40px;
    }

    .schedule-timeline.is-calendar {
      overflow: visible;
      padding-bottom: 0;
    }

    .schedule-calendar {
      width: 100%;
      min-width: 0;
      border-radius: 14px;
    }

    .schedule-calendar-weekdays span {
      padding: 7px 0;
      font-size: 8px;
    }

    .schedule-calendar-day {
      min-height: 64px;
      overflow: hidden;
      padding: 3px 2px;
    }

    .schedule-calendar-day-header {
      margin-bottom: 2px;
    }

    .schedule-calendar-day-number,
    .schedule-calendar-add {
      width: 20px;
      height: 20px;
      font-size: 8px;
    }

    .schedule-calendar-add {
      border-radius: 6px;
    }

    .schedule-calendar-events {
      gap: 2px;
    }

    .schedule-calendar-event {
      padding: 2px;
      border-left-width: 2px;
      border-radius: 4px;
      font-size: 7px;
      line-height: 1.25;
    }

    .schedule-calendar-more {
      padding-inline: 2px;
      font-size: 7px;
    }

    .bottom-navigation {
      position: fixed;
      z-index: 50;
      right: 0;
      bottom: var(--mobile-viewport-bottom-offset);
      left: 0;
      display: grid;
      min-height: calc(68px + var(--mobile-system-bottom));
      grid-template-columns: repeat(5, 1fr);
      padding: 8px calc(8px + var(--safe-area-right)) var(--mobile-system-bottom) calc(8px + var(--safe-area-left));
      background: rgba(255, 255, 255, 0.96);
      border-top: 1px solid var(--border);
      box-shadow: 0 -12px 34px rgba(20, 31, 54, 0.08);
      backdrop-filter: blur(18px);
    }

    .bottom-navigation::after {
      position: absolute;
      top: 100%;
      right: 0;
      left: 0;
      height: var(--mobile-viewport-bottom-offset);
      background: rgba(255, 255, 255, 0.96);
      content: '';
      pointer-events: none;
    }

    body:not(.is-schedule-filter-open):not(.is-modal-open) .bottom-navigation {
      z-index: 95;
    }

    html.is-apps-script-host .bottom-navigation {
      padding-left: calc(60px + var(--safe-area-left));
      padding-right: calc(80px + var(--safe-area-right));
    }

    .bottom-nav-item {
      display: flex;
      align-items: center;
      justify-content: center;
      flex-direction: column;
      gap: 4px;
      min-height: 50px;
      padding: 3px;
      color: #8a8f98;
      background: transparent;
      border: 0;
      border-radius: 12px;
      cursor: pointer;
      font-size: 10px;
      font-weight: 600;
      transition: color 140ms ease, transform 120ms var(--ease-out);
    }

    .bottom-nav-item > i {
      font-size: 20px;
    }

    .bottom-nav-item.is-active {
      color: var(--primary);
    }

    .primary-nav-item {
      color: var(--primary);
    }

    .bottom-plus {
      display: grid;
      width: 38px;
      height: 38px;
      margin-top: -20px;
      place-items: center;
      color: #ffffff;
      background: var(--primary);
      border: 4px solid var(--surface);
      border-radius: 50%;
      box-shadow: 0 8px 20px rgba(20, 103, 246, 0.28);
    }

    .toast-region {
      right: calc(16px + var(--safe-area-right));
      bottom: calc(90px + var(--mobile-system-bottom) + var(--mobile-viewport-bottom-offset));
      left: calc(16px + var(--safe-area-left));
    }

    .toast {
      width: 100%;
    }

    .account-permission-guide {
      padding: 18px;
    }

    .account-role-guide-grid {
      grid-template-columns: 1fr;
    }

    .account-permission-row {
      grid-template-columns: minmax(112px, 1.2fr) repeat(2, minmax(70px, 0.8fr));
      padding-inline: 8px;
    }

    .account-permission-row strong,
    .account-permission-row label {
      font-size: 9px;
    }

    .account-permission-summary {
      min-width: 0;
    }

    .account-table-wrap {
      overflow: visible;
      contain: none;
      border: 0;
      border-radius: 0;
    }

    .account-table {
      display: block;
      min-width: 0;
    }

    .account-table thead {
      display: none;
    }

    .account-table tbody {
      display: grid;
      gap: 11px;
    }

    .account-table tr {
      position: relative;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
      padding: 16px;
      background: var(--surface);
      border: 1px solid var(--border);
      border-radius: 17px;
      box-shadow: 0 8px 24px rgba(18, 35, 70, 0.05);
    }

    .account-table td {
      display: flex;
      min-width: 0;
      align-items: flex-start;
      flex-direction: column;
      gap: 6px;
      padding: 0;
      border: 0;
    }

    .account-table td::before {
      color: var(--text-secondary);
      content: attr(data-label);
      font-size: 9px;
      font-weight: 800;
    }

    .account-table td.account-identity-cell {
      grid-column: 1 / -1;
      padding-right: 76px;
    }

    .account-table td.account-identity-cell::before,
    .account-table td.account-action-cell::before {
      display: none;
    }

    .account-identity {
      min-width: 0;
    }

    .account-identity strong {
      font-size: 15px;
    }

    .account-identity small {
      font-size: 10px;
    }

    .account-table td.account-action-cell {
      position: absolute;
      top: 14px;
      right: 14px;
    }

    .account-edit-button {
      min-height: 38px;
      padding-inline: 12px;
    }

    #reservation-modal .reservation-modal {
      height: calc(100dvh - var(--safe-area-top) - var(--mobile-viewport-bottom-offset));
      max-height: calc(100dvh - var(--safe-area-top) - var(--mobile-viewport-bottom-offset));
      overscroll-behavior-y: none;
    }

    html.is-apps-script-host #reservation-modal .reservation-modal {
      height: calc(100% - var(--safe-area-top));
      max-height: calc(100% - var(--safe-area-top));
    }

    #reservation-modal .reservation-modal-header {
      padding-bottom: 13px;
      border-bottom: 0;
    }

    #reservation-modal .reservation-modal-header p:last-child {
      display: none;
    }

    .reservation-stepper {
      position: relative;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 0;
      margin: 0;
      padding: 0 calc(28px + var(--safe-area-right)) 16px calc(28px + var(--safe-area-left));
      list-style: none;
    }

    .reservation-stepper::before {
      position: absolute;
      z-index: 0;
      top: 14px;
      right: calc(16.66% + 28px);
      left: calc(16.66% + 28px);
      height: 2px;
      background: var(--border);
      content: "";
    }

    .reservation-stepper li {
      position: relative;
      z-index: 1;
      display: flex;
      align-items: center;
      flex-direction: column;
      gap: 5px;
      color: #9aa0aa;
      font-size: 9px;
    }

    .reservation-stepper li span {
      display: grid;
      width: 28px;
      height: 28px;
      place-items: center;
      background: #eef0f4;
      border: 3px solid var(--surface);
      border-radius: 50%;
      font-size: 9px;
      font-weight: 900;
    }

    .reservation-stepper li.is-active,
    .reservation-stepper li.is-complete {
      color: var(--primary);
    }

    .reservation-stepper li.is-active span,
    .reservation-stepper li.is-complete span {
      color: #ffffff;
      background: var(--primary);
    }

    .reservation-step {
      display: block;
    }

    .reservation-step > .reservation-form-grid {
      display: grid;
    }

    .reservation-step-title {
      display: flex;
      align-items: center;
      gap: 11px;
      margin-bottom: 20px;
    }

    .reservation-step-title > span {
      display: grid;
      width: 34px;
      height: 34px;
      flex: 0 0 auto;
      place-items: center;
      color: var(--primary);
      background: var(--primary-soft);
      border-radius: 11px;
      font-size: 12px;
      font-weight: 900;
    }

    .reservation-step-title div {
      display: flex;
      flex-direction: column;
      gap: 3px;
    }

    .reservation-step-title strong {
      font-size: 16px;
      letter-spacing: -0.025em;
    }

    .reservation-step-title small {
      color: var(--text-secondary);
      font-size: 10px;
      line-height: 1.4;
    }

    #reservation-modal .reservation-form-scroll {
      padding-top: 20px;
      overscroll-behavior-y: contain;
    }

    #reservation-modal .reservation-user-summary {
      margin-bottom: 18px;
    }

    .reservation-step-button {
      display: inline-flex;
    }

    .vehicle-location-input-group {
      grid-template-columns: minmax(0, 1fr) 48px;
    }

    .vehicle-location-open {
      min-width: 48px;
      min-height: 48px;
      padding: 0;
    }

    .vehicle-location-open span {
      position: absolute;
      width: 1px;
      height: 1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
    }

    .vehicle-location-modal {
      height: calc(100dvh - var(--safe-area-top) - var(--mobile-viewport-bottom-offset));
      max-height: calc(100dvh - var(--safe-area-top) - var(--mobile-viewport-bottom-offset));
    }

    html.is-apps-script-host .vehicle-location-modal {
      height: calc(100% - var(--safe-area-top));
      max-height: calc(100% - var(--safe-area-top));
    }

    .vehicle-location-search-form {
      padding: 14px calc(18px + var(--safe-area-right)) 14px calc(18px + var(--safe-area-left));
    }

    .vehicle-location-search-form > div {
      grid-template-columns: minmax(0, 1fr) 52px;
    }

    .vehicle-location-search-form button {
      min-width: 52px;
      padding: 0;
    }

    .vehicle-location-search-form button span {
      position: absolute;
      width: 1px;
      height: 1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
    }

    .vehicle-location-content {
      display: block;
      min-height: 0;
      flex: 1 1 0;
      padding: 16px calc(18px + var(--safe-area-right)) 16px calc(18px + var(--safe-area-left));
      overflow-y: auto;
      overscroll-behavior: contain;
    }

    .vehicle-location-results {
      max-height: none;
    }

    .vehicle-location-preview {
      margin-top: 16px;
    }

    .vehicle-location-actions {
      grid-template-columns: 0.8fr 1.2fr;
    }

  }

  @media (max-width: 767px) and (hover: none) and (pointer: coarse) {
    html.is-apps-script-host .bottom-navigation {
      padding-right: calc(52px + var(--safe-area-right));
      padding-left: calc(52px + var(--safe-area-left));
    }
  }

  @media (max-width: 360px) {
    .topbar {
      padding-right: calc(10px + var(--safe-area-right));
      padding-left: calc(10px + var(--safe-area-left));
    }

    .mobile-brand {
      gap: 7px;
    }

    .mobile-brand strong small,
    .mobile-avatar {
      display: none;
    }

    .topbar-actions {
      gap: 2px;
    }
  }

  @media (max-width: 420px) {
    .hero-card {
      min-height: 208px;
    }

    .primary-button {
      min-height: 46px;
      padding-inline: 17px;
    }

    .status-row {
      align-items: center;
      flex-direction: row;
    }

    .resource-card {
      min-height: 142px;
    }

    .resource-results-heading .data-source-badge {
      display: none;
    }

    .schedule-type-tabs button {
      font-size: 11px;
    }
  }

  @media print {
    body > * {
      display: none !important;
    }

    #vehicle-qr-modal:not([hidden]) {
      position: static;
      display: block !important;
      padding: 0;
      background: #fff;
      backdrop-filter: none;
    }

    #vehicle-qr-modal .vehicle-qr-modal {
      display: block;
      width: 100%;
      max-height: none;
      border: 0;
      box-shadow: none;
    }

    #vehicle-qr-modal .reservation-modal-header,
    #vehicle-qr-modal .vehicle-qr-actions,
    #vehicle-qr-modal .reservation-form-error {
      display: none !important;
    }

    #vehicle-qr-modal .vehicle-qr-scroll {
      display: grid;
      padding: 0;
      overflow: visible;
    }

    #vehicle-qr-modal .vehicle-qr-sheet {
      width: 92mm;
      padding: 12mm;
      border: 1px solid #d7dae0;
      box-shadow: none;
      break-inside: avoid;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
      scroll-behavior: auto !important;
      animation-duration: 0.01ms !important;
      animation-iteration-count: 1 !important;
    }

    .skip-link,
    .login-input input,
    .login-submit,
    .login-loading-screen,
    .login-loading-card,
    .login-loading-spinner,
    .login-loading-progress span,
    .operation-loading-screen,
    .operation-loading-card,
    .operation-loading-spinner,
    .operation-loading-progress span,
    .modal-backdrop,
    .reservation-modal,
    .form-field input,
    .form-field select,
    .form-field textarea,
    .reservation-submit-button,
    .reservation-cancel-button,
    .schedule-status-shortcuts button,
    .nav-item,
    .icon-button,
    .primary-button,
    .secondary-button,
    .text-button,
    .resource-card,
    .available-list button,
    .back-button,
    .filter-reset-button,
    .filter-submit-button,
    .resource-pagination button,
    .resource-result-card,
    .schedule-type-tabs button,
    .schedule-view-toggle button,
    .schedule-filter-form,
    .schedule-mobile-filter-button,
    .resource-mobile-type-tabs button,
    .account-edit-button,
    .bottom-nav-item,
    .toast {
      transition-property: color, background-color, border-color, box-shadow, opacity;
    }

    .reservation-availability-panel.is-loading .reservation-availability-icon i,
    .reservation-availability-panel.is-loading .reservation-availability-progress span,
    .vehicle-mileage-loading i {
      animation: none;
    }

    .reservation-availability-panel.is-loading .reservation-availability-progress span {
      width: 100%;
      opacity: 0.55;
      transform: none;
    }
  }