:root { --page-space-block: 32px; --page-space-inline: clamp(22px, 3.1vw, 48px); }
body { font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; }
.icon { width: 21px; height: 21px; flex: 0 0 21px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; vertical-align: middle; }
.skip-link { position: fixed; z-index: 200; top: -100px; padding: 12px 20px; background: white; }
.skip-link:focus { top: 8px; left: 8px; }
.dashboard-shell { grid-template-columns: 250px minmax(0,1fr); }
.sidebar { height: 100dvh; }
.sidebar-brand { min-height: 88px; padding: 0 25px; gap: 12px; }
.brand-mark { display: grid; place-items: center; width: 38px; height: 42px; background: #22324c; color: #aec6ef; }
.brand-mark .icon { width: 26px; height: 26px; }
.brand-copy { font-size: 21px; font-weight: 650; letter-spacing: -.04em; }
.brand-copy small { color: #8999b1; font-size: 9px; font-weight: 600; letter-spacing: .15em; margin-top: 2px; }
.sidebar-context { padding: 25px 27px 7px; display: flex; flex-direction: column; gap: 7px; }
.sidebar-caption { color: #71829c; font-size: 9px; font-weight: 700; letter-spacing: .1em; }
.sidebar-context strong { color: #dce4f2; font-size: 13px; font-weight: 600; overflow-wrap: anywhere; }
.sidebar-context small { font-size:12px; color: #8293ad; }
.sidebar-nav { padding: 24px 14px; gap: 6px; }
.sidebar-nav a { gap: 13px; font-size: 13px; font-weight: 500; min-height: 46px; padding: 10px 14px; }
.sidebar-nav a.is-active { background: #1b2b45; color: #eef4ff; }
.sidebar-nav a.is-active .icon { color: #82abff; }
.sidebar-nav .icon { width: 19px; height: 19px; flex-basis: 19px; }
.nav-divider { height: 1px; background: #263244; margin: 15px 15px; }
.nav-count { margin-left: auto; padding: 1px 6px; color: #e7edff; background: #304971; font-size:12px; }
.sidebar-note { padding: 18px 28px; font-size:12px; color: #71829c; }
.sidebar-note span { float: right; }
.sidebar-user { padding: 18px; }
.sidebar-user a:hover { color: #fff; }
.user-copy strong { font-size: 12px; font-weight: 600; }
.user-copy small { margin-top: 2px; font-size:12px; }
.user-avatar { background: #293d5d; color: #d2e1ff; }
.workspace { min-width: 0; }
.topbar { height: 70px; background: var(--surface); border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 0 var(--page-space-inline); color: var(--muted); font-size: 12px; }
.topbar > div { display: flex; align-items: center; gap: 24px; }
.breadcrumb-slash { margin: 0 12px; color: #bac3d0; }
.notification-link { position: relative; display: grid; place-items: center; width: 32px; height: 32px; color: var(--muted); }
.notification-link i { position: absolute; width: 6px; height: 6px; background: var(--primary); border-radius: 50%; top: 3px; right: 5px; }
.dashboard-content { min-height: calc(100dvh - 70px); background: var(--bg); max-width: 1800px; }
.page-heading { padding-bottom: 0; border: 0; margin-bottom: 28px; align-items: center; }
.page-heading .eyebrow { font-size:12px; letter-spacing: .11em; margin-bottom: 9px; }
h1 { font-size: clamp(26px, 2.3vw, 32px); font-weight: 650; }
.page-heading p { font-size: 13px; margin-top: 10px; max-width: 650px; }
h2 { font-size: 15px; font-weight: 650; }
h3 { font-size: 14px; font-weight: 650; }
.button { gap: 8px; font-weight: 600; font-size: 12px; padding: 10px 17px; min-height: 42px; }
.button .icon { width: 17px; height: 17px; flex-basis: 17px; }
.button-small { min-height: 34px; padding: 6px 10px; font-size:12px; }
.button-primary { box-shadow: 0 2px 3px #2563eb12; }
.card { box-shadow: 0 1px 2px #10182703; }
.portal-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; margin-bottom: 34px; }
.kpi { padding: 20px 22px; display: flex; flex-direction: column; color: var(--ink); border-bottom: 2px solid var(--line); }
.kpi:hover { border-bottom-color: var(--primary); color: var(--ink); }
.kpi > div { display: flex; align-items: center; justify-content: space-between; gap: 6px; margin-bottom: 14px; }
.kpi > div > span:first-child { font-size: 12px; color: #5d6b80; font-weight: 550; }
.kpi-icon { display: grid; place-items: center; width: 32px; height: 32px; }
.kpi-icon .icon { width: 17px; height: 17px; }
.amber { color: #b98519; background: #fcf4e4; }.blue { color: #3b72c9; background: #edf3ff; }.purple { color: #7c63b5; background: #f4effb; }.green { color: #3a8f6a; background: #ecf7f0; }
.kpi > strong { font-size: 34px; font-weight: 600; letter-spacing: -.04em; line-height: 1; margin-bottom: 11px; }
.kpi > small { font-size:12px; color: #8c97a8; }
.dashboard-section { margin-bottom: 30px; }
.section-title { display: flex; justify-content: space-between; gap: 14px; align-items: center; margin-bottom: 14px; }
.section-title > .muted { font-size:12px; }
.service-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.service-card { display: flex; align-items: center; gap: 13px; padding: 20px 18px; min-height: 92px; background: var(--surface); border: 1px solid var(--line); }
.service-card > div { min-width: 0; }.service-card strong { display: block; font-size: 12px; font-weight: 600; }.service-card small { display: block; font-size:12px; margin-top: 5px; }
.service-icon { display: grid; place-items: center; width: 40px; height: 40px; flex: 0 0 40px; }
.service-available { color: var(--ink); border-left: 3px solid var(--primary); padding-left: 16px; }.service-available .service-icon { color: #3e74d5; background: #edf3fe; }.service-available small { color: var(--muted); }.service-available > .icon { width: 16px; height: 16px; margin-left: auto; color: var(--primary); }.service-available:hover { border-color: var(--primary); background: #fbfdff; color: var(--ink); }
.service-disabled { background: #f0f2f5; border-color: #e0e5ec; color: #929ba9; cursor: default; }.service-disabled .service-icon { background: #e8ebf0; color: #a0a8b5; }.service-disabled small { color: #a0a8b5; }
.section-heading { min-height: 70px; padding: 18px 22px; }.section-heading small { display: inline-block; margin-top: 4px; font-size:12px; }.text-link { display: inline-flex; gap: 8px; align-items: center; font-size:12px; font-weight: 550; }.text-link .icon { width: 16px; height: 16px; }
.portal-table th { font-size: 9px; letter-spacing: .07em; font-weight: 650; background: #fafbfd; color: #8894a5; padding: 13px 21px; }
.portal-table td { font-size:12px; padding: 17px 21px; }.ticket-number { font-weight: 650; font-size: 12px; }.table-subline { display: block; color: #929cac; font-size:12px; margin-top: 5px; }.table-arrow { width: 35px; }.table-arrow a { display: inline-grid; place-items: center; min-width: 28px; min-height: 32px; color: #8b98ab; }.table-arrow .icon { width: 16px; height: 16px; }
.plate-tag { display: inline-block; border: 1px solid #d5dce6; padding: 2px 7px; background: #fff; color: #25334a; font-size: 12px; font-weight: 700; letter-spacing: .05em; white-space: nowrap; }.vehicle-extra { font-size:12px; color: var(--muted); margin-left: 4px; }
.status-pill { display: inline-flex; align-items: center; gap: 6px; padding: 5px 8px; font-size:12px; font-weight: 550; white-space: nowrap; }.status-pill i { width: 5px; height: 5px; flex: 0 0 5px; border-radius: 50%; background: currentColor; }.status-new { color: #aa7b20; background: #fbf4e5; }.status-in_progress { color: #4375bd; background: #edf3fc; }.status-ready { color: #8062af; background: #f1edf9; }.status-completed { color: #368761; background: #eaf5ef; }.status-cancelled { color: #7c8795; background: #eef0f3; }.status-rejected { color: #ae5149; background: #fbeeed; }
.heading-count { display: inline-grid; place-items: center; min-width: 23px; height: 23px; font-size:12px; background: #edf1f7; color: #7a879c; margin-left: 7px; vertical-align: middle; }
.empty-state { padding: 42px 22px; text-align: center; color: var(--muted); }.empty-state > .icon { width: 34px; height: 34px; color: #91a2bb; margin-bottom: 12px; }.empty-state h3 { margin-bottom: 8px; color: #5f6d81; }.empty-state p { font-size: 12px; }.empty-state .button { margin-top: 8px; }.compact-empty { padding: 24px; color: var(--muted); font-size: 12px; margin: 0; }
.announcement-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }.announcement-grid .compact-empty { grid-column: 1/-1; }.announcement-card { padding: 22px; }.announcement-date { display: block; color: #8d98a9; font-size:12px; margin-bottom: 12px; }.announcement-card h3 { margin-bottom: 8px; }.announcement-card p { color: var(--muted); font-size: 12px; line-height: 1.7; margin-bottom: 0; }.announcement-feed { max-width: 900px; }.announcement-body { margin-top: 15px; white-space: normal; }
.workspace-footer { display: flex; justify-content: space-between; gap: 16px; color: #99a3b2; border-top: 1px solid var(--line); padding-top: 20px; margin-top: 40px; font-size:12px; }
.portal-filter { display: flex; align-items: flex-end; gap: 12px; padding: 18px 22px; margin-bottom: 20px; }.portal-filter .field { flex: 1; }.portal-filter .search-field { flex: 2; }.field label { font-size:12px; font-weight: 600; color: #5f6d81; margin-bottom: 7px; }input,select,textarea { font-size: 12px; min-height: 42px; }.field small { font-size:12px; line-height: 1.65; }.field-error,.errorlist { font-size:12px; }.portal-messages .alert { font-size: 12px; }.portal-pagination { display: flex; gap: 16px; align-items: center; justify-content: center; padding: 22px; color: var(--muted); font-size: 12px; }
.back-link { display: inline-block; margin-bottom: 20px; font-size: 12px; color: var(--muted); }.form-with-aside { display: grid; grid-template-columns: minmax(0,1fr) 280px; gap: 24px; align-items: start; }.stacked-sections { display: flex; flex-direction: column; gap: 22px; min-width: 0; }.stacked-sections > .form-actions { margin: 0; }.form-aside { position: sticky; top: 24px; }.section-number { display: inline-block; margin-right: 10px; color: #9aa9bf; font-size:12px; }.form-card { padding: 22px; }.form-grid { gap: 20px; }.form-hint { font-size:12px; color: var(--muted); margin: 0; line-height: 1.7; }.check-label { display: flex !important; align-items: center; gap: 8px; }.check-label input { width: 16px; min-height: 16px; }.bounded-form { max-width: 850px; }.guidance-card { padding: 24px; }.guidance-icon { display: grid; place-items: center; width: 44px; height: 44px; background: #eef3fc; color: #4275ca; margin-bottom: 19px; }.guidance-card h2 { margin-bottom: 20px; }.guidance-card ol { padding-left: 18px; margin: 0; color: #7590b8; }.guidance-card li { padding-left: 5px; font-size: 12px; margin-bottom: 18px; }.guidance-card li strong { color: #51627d; font-size:12px; }.guidance-card p { font-size:12px; color: #8793a6; margin: 5px 0 0; line-height: 1.8; }.guidance-note { font-size:12px; color: #8d7b55; background: #fcf7eb; padding: 13px; line-height: 1.7; }.vehicle-form { border: 1px solid var(--line); padding: 18px; margin-bottom: 16px; background: #fcfdff; }.vehicle-form-heading { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 18px; }.vehicle-form-heading strong { display: flex; align-items: center; gap: 8px; font-size: 12px; }.vehicle-form-heading strong .icon { color: #7c8ca3; width: 18px; }.vehicle-form-heading button { font-size:12px; }.options-list label { display: flex; gap: 9px; align-items: center; }.options-list input { width: 16px; height: 16px; min-height: 16px; }.options-list > div { display: flex; flex-wrap: wrap; gap: 14px; }.info-note { display: flex; align-items: center; gap: 12px; margin-top: 25px; font-size: 12px; color: var(--muted); }
.detail-layout { display: grid; grid-template-columns: minmax(0,1fr) 310px; align-items: start; gap: 24px; }.detail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; margin: 0; }.detail-grid > div { min-width: 0; }dt { font-size:12px; color: #8a97a9; margin-bottom: 6px; }dd { margin: 0; font-size: 12px; font-weight: 550; overflow-wrap: anywhere; }dd small { display: block; font-size:12px; color: var(--muted); font-weight: 400; margin-top: 4px; }.single-column { grid-template-columns: 1fr; }.description-block { border-top: 1px solid var(--line); padding-top: 20px; margin-top: 24px; font-size: 12px; }.description-block > span { font-size:12px; }.description-block p { margin: 7px 0 0; }.integration-note { display: flex; gap: 12px; background: #f4f7fb; color: #7d8da5; padding: 16px; margin-top: 24px; }.integration-note strong { font-size:12px; font-weight: 550; color: #536782; }.integration-note p { margin: 4px 0 0; font-size:12px; line-height: 1.7; }.manage-details { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); }.manage-details summary { font-size:12px; color: var(--primary); cursor: pointer; }.manage-details .stack-form { margin-top: 16px; }.status-form { margin-top: 24px; border-top: 1px solid var(--line); padding-top: 20px; }.event-timeline { list-style: none; margin: 24px 22px 8px 31px; padding: 0; border-left: 1px solid #d9e2ef; }.event-timeline li { position: relative; padding: 0 0 25px 19px; }.event-timeline li:before { position: absolute; top: 4px; left: -4px; content: ''; width: 7px; height: 7px; border-radius: 50%; background: #8fabd5; border: 2px solid white; box-sizing: content-box; }.event-timeline time { font-size: 9px; color: #9aa6b7; }.event-timeline p { margin: 5px 0; font-size:12px; line-height: 1.6; overflow-wrap: anywhere; }.event-timeline small { font-size:12px; color: #8c9bb0; }.comment { border-bottom: 1px solid var(--line); padding-bottom: 18px; margin-bottom: 18px; }.comment > div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; }.comment strong { font-size: 12px; }.comment time { color: #8a97a8; font-size:12px; }.comment p { font-size: 12px; line-height: 1.8; margin-top: 9px; margin-bottom: 0; overflow-wrap: anywhere; }.comments > .muted { font-size: 12px; }.attachment-item { display: flex; align-items: center; gap: 12px; padding: 17px 22px; border-bottom: 1px solid var(--line); }.attachment-item > span { flex: 1; min-width: 0; }.attachment-item strong { display: block; font-size:12px; font-weight: 550; overflow-wrap: anywhere; }.attachment-item small { display: block; color: #97a3b4; font-size:12px; margin-top: 3px; }.attachment-item .icon { color: #8d9fba; }.attachment-item:last-child { border: 0; }
.filter-tabs { display: flex; gap: 7px; margin-bottom: 20px; flex-wrap: wrap; }.filter-tabs a { padding: 9px 15px; border: 1px solid var(--line); color: #7a899f; background: white; font-size: 12px; }.filter-tabs a.is-active { border-color: var(--primary); background: #eef4ff; color: var(--primary); }.invitation-row { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 14px; }.invitation-row strong { font-size: 12px; }.invitation-row small { display: block; color: #8796ac; font-size:12px; margin-top: 5px; }.copy-result { font-size:12px; margin-left: 10px; }.alert input { margin-bottom: 12px; }.notification-item { display: flex; align-items: center; gap: 16px; padding: 22px; border-bottom: 1px solid var(--line); }.notification-item.is-unread { background: #f6f9ff; border-left: 3px solid var(--primary); padding-left: 19px; }.notification-item > div { flex: 1; min-width: 0; }.notification-item strong { font-size: 12px; font-weight: 550; }.notification-item p { font-size:12px; color: #94a0b2; margin: 4px 0 0; }.notification-icon { display: grid; place-items: center; width: 36px; height: 36px; background: #eef3fb; color: #81a0cc; flex-shrink: 0; }.profile-identity { display: flex; align-items: center; gap: 14px; padding-bottom: 24px; margin-bottom: 24px; border-bottom: 1px solid var(--line); }.profile-identity strong { display: block; font-size: 13px; }.profile-identity small { font-size:12px; color: #8d9ab0; }.stack-form { display: flex; flex-direction: column; gap: 18px; }
.auth-body { display: grid; place-items: center; min-height: 100dvh; padding: 30px; background: #edf1f6; }.auth-body > main { width: 100%; }.portal-login { margin: auto; width: min(1000px,100%); display: grid; grid-template-columns: 1.05fr 1fr; border: 1px solid #d8e0eb; background: white; min-height: 620px; box-shadow: 0 20px 80px #253e6010; }.login-visual { padding: 40px; color: white; background: linear-gradient(165deg,#101f37ed,#142740d9), url("../img/login-building.456a38c66080.png") center/cover; display: flex; flex-direction: column; justify-content: space-between; gap: 70px; }.login-brand { display: flex; align-items: center; gap: 12px; color: #edf3fd; font-size: 20px; font-weight: 600; }.login-brand .icon { width: 30px; height: 30px; }.login-visual .eyebrow { color: #8caadd; font-size:12px; }.login-visual h1 { font-size: 34px; font-weight: 550; letter-spacing: -.04em; line-height: 1.3; }.login-visual p { font-size: 13px; color: #a2b4cd; margin: 20px 0 0; line-height: 1.9; max-width: 310px; }.login-visual > small { color: #6d829e; font-size:12px; }.login-form-panel { padding: 72px 45px; display: flex; flex-direction: column; justify-content: center; }.login-tag { color: #8b9ab1; font-size:12px; text-transform: uppercase; letter-spacing: .12em; margin-bottom: 15px; }.login-form-panel h2 { font-size: 25px; font-weight: 600; margin-bottom: 10px; letter-spacing: -.03em; }.login-form-panel > p { font-size: 12px; margin-bottom: 30px; }.login-help { border-top: 1px solid var(--line); margin-top: 30px; padding-top: 23px; display: flex; gap: 10px; color: #8d9bb0; }.login-help .icon { width: 16px; height: 16px; }.login-help p { font-size:12px; line-height: 1.8; margin: 0; }.invitation-panel { max-width: 560px; margin: auto; padding: 40px; }.invitation-panel > .icon { width: 36px; height: 36px; color: var(--primary); margin-bottom: 20px; }.invitation-panel h1 { font-size: 25px; margin-bottom: 20px; }.invitation-panel .stack-form { margin-top: 28px; }.invitation-panel .field small ul { margin: 0; padding-left: 18px; }.portal-mobile-header { display: none; }
@media (min-width: 901px) and (max-width: 1180px) { .dashboard-shell { grid-template-columns: 220px minmax(0,1fr); }.sidebar-brand { padding: 0 18px; }.sidebar-context { padding-left: 22px; }.brand-copy { display: flex; }.sidebar-nav a span,.user-copy,.sidebar-note { display: initial; }.sidebar-user { display: grid; }.sidebar-nav a { justify-content: flex-start; }.service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.detail-layout { grid-template-columns: minmax(0,1fr) 270px; gap: 18px; }.form-with-aside { grid-template-columns: 1fr; }.form-aside { display: none; }.portal-stats { gap: 10px; }.kpi { padding: 16px; }.kpi > div > span:first-child { font-size:12px; }.kpi-icon { width: 25px; height: 25px; }.portal-table td,.portal-table th { padding-left: 15px; padding-right: 15px; } }
@media (max-width: 900px) { .dashboard-shell { display: block; }.portal-mobile-header { position: sticky; top: 0; z-index: 60; min-height: 62px; padding: 12px 22px; background: var(--sidebar); display: flex; align-items: center; justify-content: space-between; gap: 16px; }.portal-mobile-header a { color: white; display: flex; align-items: center; gap: 10px; font-weight: 600; }.mobile-toggle { border: 1px solid #344358; color: #cfdbed; background: transparent; min-width: 44px; min-height: 38px; }.sidebar { position: fixed; left: 0; top: 62px; width: 270px; height: calc(100dvh - 62px); z-index: 70; transform: translateX(-101%); transition: transform .18s; display: flex; }.sidebar.is-open { transform: translateX(0); }.sidebar-brand { display: none; }.sidebar-context { display: flex; }.sidebar-nav a { justify-content: flex-start; }.sidebar-nav a span { display: inline; }.sidebar-user { display: grid; }.user-copy { display: flex; }.nav-backdrop { position: fixed; z-index: 65; inset: 62px 0 0; border: 0; background: #0b152d77; width: 100%; height: calc(100dvh - 62px); }.topbar { height: 54px; }.dashboard-content { min-height: calc(100dvh - 116px); }.service-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }.service-card { padding: 15px 12px; gap: 10px; }.service-icon { width: 32px; height: 32px; flex-basis: 32px; }.service-card strong { font-size:12px; }.service-card > .icon { display: none; }.form-with-aside { grid-template-columns: 1fr; }.form-aside { display: none; }.detail-layout { grid-template-columns: minmax(0,1fr) 270px; gap: 16px; }.portal-filter { flex-wrap: wrap; }.portal-filter .field { flex-basis: 180px; }.portal-stats { gap: 12px; }.kpi { padding: 18px; }.login-visual { padding: 30px; }.login-form-panel { padding: 45px 30px; }.login-visual h1 { font-size: 29px; } }
@media (max-width: 680px) { :root { --page-space-inline: 18px; --page-space-block: 25px; }.topbar-date { display: none; }.page-heading { flex-wrap: wrap; gap: 18px; }.page-heading > .button { width: 100%; }.page-heading h1 { font-size: 27px; }.page-heading p { font-size: 12px; }.portal-stats { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-bottom: 27px; }.kpi { padding: 15px; }.kpi > div { margin-bottom: 12px; }.kpi > div > span:first-child { font-size:12px; }.kpi-icon { width: 26px; height: 26px; }.kpi > strong { font-size: 31px; }.kpi > small { font-size: 9px; }.service-grid { grid-template-columns: 1fr; gap: 9px; }.service-card { min-height: 78px; padding: 16px; }.service-available { padding-left: 14px; }.service-card strong { font-size: 12px; }.service-icon { width: 36px; height: 36px; flex-basis: 36px; }.service-card > .icon { display: block; }.service-card small { font-size:12px; }.dashboard-section { margin-bottom: 25px; }.section-heading { padding: 18px; min-height: 64px; }.section-title h2 { font-size: 14px; }.section-title .muted { display: none; }.announcement-grid { grid-template-columns: 1fr; }.workspace-footer { flex-direction: column; gap: 5px; }.portal-table { display: block; }.portal-table thead { display: none; }.portal-table tbody { display: block; }.portal-table tr { position: relative; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); padding: 16px 18px; border-bottom: 1px solid var(--line); gap: 16px 12px; }.portal-table td { display: block; padding: 0; border: 0; min-width: 0; font-size:12px; }.portal-table td[data-label]:before { display: block; content: attr(data-label); color: #9aa6b6; text-transform: uppercase; letter-spacing: .06em; font-size: 8px; margin-bottom: 6px; }.portal-table tr:last-child { border: 0; }.portal-table td[colspan] { grid-column: 1/-1; }.portal-table .table-arrow { position: absolute; right: 10px; top: 18px; }.portal-table td .status-pill { white-space: normal; }.portal-filter { padding: 18px; }.portal-filter .field { flex-basis: 100%; }.portal-filter .button { flex: 1; }.form-grid { grid-template-columns: 1fr; gap: 18px; }.form-card { padding: 18px; }.detail-layout { display: flex; flex-direction: column; }.detail-layout > * { width: 100%; }.detail-grid { gap: 22px 15px; }.vehicle-form { padding: 14px; }.stacked-sections { gap: 18px; }.notification-item { padding: 18px; gap: 10px; align-items: flex-start; flex-wrap: wrap; }.notification-item.is-unread { padding-left: 15px; }.notification-item > div { flex-basis: calc(100% - 50px); }.notification-item > form { margin-left: 46px; }.auth-body { padding: 18px; }.portal-login { grid-template-columns: 1fr; min-height: 0; }.login-visual { padding: 28px; gap: 30px; }.login-visual > small { display: none; }.login-visual h1 { font-size: 28px; }.login-visual p { font-size: 12px; margin-top: 10px; }.login-form-panel { padding: 34px 28px; }.login-form-panel h2 { font-size: 23px; }.invitation-panel { padding: 26px; }.invitation-row { flex-wrap: wrap; } }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { transition: none !important; scroll-behavior: auto !important; } }
.tariff-conditions { color: var(--muted); font-size:12px; }.tariff-conditions summary { cursor: pointer; color: var(--primary); }.tariff-conditions > div { padding: 14px 0; border-bottom: 1px solid var(--line); }.tariff-conditions > div:last-child { border: 0; }.tariff-conditions p { margin: 5px 0 0; line-height: 1.8; }
body.menu-open { overflow: hidden; }
@media (max-width: 900px) { input:not([type=checkbox]):not([type=radio]),select,textarea { font-size: 16px; }.button,.button-small,.link-button { min-height: 44px; } }

/* Shared scale and layout from the main application. */
:root { --page-space-block:40px; --page-space-inline:clamp(24px,4vw,62px); }
body { font: var(--font-size-m)/1.5 var(--font-family); }
.dashboard-shell { grid-template-columns:264px minmax(0,1fr); }
.page-heading h1 { font-size:clamp(26px,2.2vw,34px); }
.portal-table th,.portal-table td,.detail-grid dd,.comments p,.event-timeline p,.stack-form label,.field label,.form-hint,.button { font-size:14px; }
.detail-grid dt,.table-subline,.event-timeline time,.comments time,.sidebar-caption,.sidebar-nav small { font-size:12px; }
.section-heading h2 { font-size:18px; }
.button { min-height:44px; }
.sidebar-nav a { min-height:44px; font-size:14px; }
.sidebar-nav a.is-active .icon { color:var(--primary); stroke-width:2; }
.company-section-nav { display:flex;gap:24px;flex-wrap:wrap;margin:24px 0;font-weight:600; }
.visit-detail-grid { margin-bottom:24px; }
.card { margin-bottom:16px; }
.visit-title-line { display:flex;align-items:center;gap:16px;flex-wrap:wrap; }
.visit-message { border-bottom:1px solid var(--line);padding:16px 0; }
@media(max-width:900px){.dashboard-shell{grid-template-columns:minmax(0,1fr)}}

input,select,textarea { font-size:14px;min-height:44px; }
.comment strong,.notification-item strong,.service-card strong,.sidebar-context strong,.user-copy strong { font-size:14px; }
.plate-tag { font-size:14px;padding:4px 8px; }
.notification-item .notification-body { font-size:14px;color:var(--ink);line-height:1.6; }
.field small,.event-timeline small,.comment time { font-size:12px; }

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

@media(max-width:900px){input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px}}
