/* /Components/MonthCalendar.razor.rz.scp.css */
.month-calendar[b-ppsd2v9huu] {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    padding: 16px;
}

.calendar-toolbar[b-ppsd2v9huu] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 12px;
}

.calendar-title[b-ppsd2v9huu] {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 1.15rem;
    font-weight: 600;
    color: #343a40;
    line-height: 1.2;
}

.calendar-title .btn-link[b-ppsd2v9huu] {
    font-size: 0.75rem;
    font-weight: 400;
    text-decoration: none;
}

.calendar-grid[b-ppsd2v9huu] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 4px;
}

.calendar-weekday[b-ppsd2v9huu] {
    text-align: center;
    font-size: 0.8rem;
    font-weight: 600;
    color: #6c757d;
    padding-bottom: 4px;
}

.calendar-day[b-ppsd2v9huu] {
    min-height: 52px;
    border: 1px solid #f1f3f5;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    color: #343a40;
    /* 底層是 button，蓋掉瀏覽器預設的按鈕樣式，外觀維持跟原本的 div 一樣 */
    background: none;
    padding: 0;
    margin: 0;
    font: inherit;
    cursor: default;
}

/* 有行程的格子才能點，遊標與觸控時的反饋讓使用者看得出可以點開 */
.calendar-day:enabled[b-ppsd2v9huu] {
    cursor: pointer;
}

.calendar-day:enabled:hover[b-ppsd2v9huu],
.calendar-day:enabled:focus-visible[b-ppsd2v9huu] {
    border-color: #667eea;
    background: rgba(102, 126, 234, 0.08);
}

.calendar-day:enabled:active[b-ppsd2v9huu] {
    background: rgba(102, 126, 234, 0.16);
}

.day-number[b-ppsd2v9huu] {
    font-size: 0.95rem;
    line-height: 1;
}

/* 六日與放假日：紅色粗體 */
.calendar-weekday.is-rest[b-ppsd2v9huu],
.calendar-day.is-rest .day-number[b-ppsd2v9huu] {
    color: #dc3545;
    font-weight: 700;
}

/* 不是當月的日子淡掉，但仍看得出是幾號 */
.calendar-day.is-outside[b-ppsd2v9huu] {
    opacity: 0.35;
}

.calendar-day.is-today[b-ppsd2v9huu] {
    border-color: #667eea;
    background: rgba(102, 126, 234, 0.08);
    box-shadow: inset 0 0 0 1px #667eea;
}

/* 圓點高度固定，行程多寡不會把格子撐開 */
.day-dots[b-ppsd2v9huu] {
    display: flex;
    gap: 3px;
    height: 6px;
}

.day-dot[b-ppsd2v9huu] {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #667eea;
}

@media (max-width: 576px) {
    .calendar-day[b-ppsd2v9huu] {
        min-height: 44px;
    }

    .day-number[b-ppsd2v9huu] {
        font-size: 0.85rem;
    }
}
/* /Components/Pager.razor.rz.scp.css */
/* 手機上收掉「上/下 10 頁」與跳頁輸入框，剩下四顆按鈕剛好排成一行。
   斷點與 css/mobile.css 一致 */
@media (max-width: 767.98px) {
    .wide-only[b-wyorucwqlx] {
        display: none !important;
    }
}
/* /Components/SectionNav.razor.rz.scp.css */
/* 固定在右下角。z-index 壓在 Bootstrap modal（1055）之下，
   備註 Modal 打開時不會被這顆鈕蓋住 */
.section-nav[b-4ct2tbo55d] {
    position: fixed;
    right: 16px;
    bottom: 16px;
    z-index: 1030;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 10px;
}

/* 沒在用的時候淡一點，減少對正在看的資料的干擾；
   點開或滑過去就恢復成實心 */
.section-nav-toggle[b-4ct2tbo55d] {
    width: 48px;
    height: 48px;
    border: none;
    border-radius: 50%;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: #fff;
    font-size: 1.15rem;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
    opacity: 0.72;
    transition: opacity 0.2s ease;
}

.section-nav.is-open .section-nav-toggle[b-4ct2tbo55d] {
    opacity: 1;
}

@media (hover: hover) {
    .section-nav-toggle:hover[b-4ct2tbo55d] {
        opacity: 1;
    }
}

/* 全域的 .btn 有 hover 浮起的效果，這顆不是 .btn 所以不受影響；
   這裡只把瀏覽器預設的 focus 外框換成專案的紫色 */
.section-nav-toggle:focus-visible[b-4ct2tbo55d] {
    outline: 2px solid #764ba2;
    outline-offset: 2px;
}

.section-nav-menu[b-4ct2tbo55d] {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.18);
    padding: 8px;
    min-width: 170px;
    /* 區塊多的時候不要長到超出畫面 */
    max-height: calc(100vh - 120px);
    overflow-y: auto;
}

.section-nav-heading[b-4ct2tbo55d] {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: #adb5bd;
    padding: 4px 10px 6px;
}

.section-nav-item[b-4ct2tbo55d] {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 10px;
    border: none;
    border-radius: 8px;
    background: none;
    text-align: left;
    font-size: 0.9rem;
    color: #495057;
    transition: background-color 0.15s ease;
}

.section-nav-item i[b-4ct2tbo55d] {
    color: #adb5bd;
    flex-shrink: 0;
}

@media (hover: hover) {
    .section-nav-item:hover[b-4ct2tbo55d] {
        background-color: #eef0fd;
        color: #343a40;
    }

    .section-nav-item:hover i[b-4ct2tbo55d] {
        color: #667eea;
    }
}

/* 點在選單以外的地方就收起來。看不見，只負責接點擊 */
.section-nav-backdrop[b-4ct2tbo55d] {
    position: fixed;
    inset: 0;
    z-index: 1029;
}
/* /Layout/MainLayout.razor.rz.scp.css */
.page[b-76ljyr53hf] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-76ljyr53hf] {
    flex: 1;
}

.sidebar[b-76ljyr53hf] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row[b-76ljyr53hf] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-76ljyr53hf]  a, .top-row[b-76ljyr53hf]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-76ljyr53hf]  a:hover, .top-row[b-76ljyr53hf]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-76ljyr53hf]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-76ljyr53hf] {
        justify-content: space-between;
    }

    .top-row[b-76ljyr53hf]  a, .top-row[b-76ljyr53hf]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-76ljyr53hf] {
        flex-direction: row;
    }

    .sidebar[b-76ljyr53hf] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-76ljyr53hf] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-76ljyr53hf]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-76ljyr53hf], article[b-76ljyr53hf] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}
/* /Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-7x4ca8kwt6] {
    background-color: rgba(255, 255, 255, 0.1);
}

.top-row[b-7x4ca8kwt6] {
    min-height: 3.5rem;
    background-color: rgba(0, 0, 0, 0.4);
}

.navbar-brand[b-7x4ca8kwt6] {
    font-size: 1.1rem;
}

.bi[b-7x4ca8kwt6] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

/* 房屋圖示 (Car Front) */
.bi-house-door-fill-nav-menu[b-7x4ca8kwt6] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

/* + 圖示 (Car Front) */
.bi-plus-square-fill-nav-menu[b-7x4ca8kwt6] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

/* 轎車圖示 (Car Front) */
.bi-car-front-nav-menu[b-7x4ca8kwt6] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-car-front' viewBox='0 0 16 16'%3E%3Cpath d='M4 9a1 1 0 1 1-2 0 1 1 0 0 1 2 0m10 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0M6 8a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V9a1 1 0 0 0-1-1zM2.52 3.515A2.5 2.5 0 0 1 4.82 2h6.362c1 0 1.904.596 2.298 1.515l.792 1.848c.075.175.21.319.38.404.5.25.855.715.965 1.262l.335 1.679q.05.242.049.49v.413c0 .814-.39 1.543-1 1.997V13.5a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 0-.5-.5h-9a.5.5 0 0 0-.5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1.812A2.5 2.5 0 0 1 0 10.187v-.413q0-.248.049-.49l.335-1.68a2.3 2.3 0 0 1 .964-1.261.8.8 0 0 0 .381-.404l.792-1.848ZM4.82 3a1.5 1.5 0 0 0-1.379.909l-.792 1.848c-.075.175-.21.319-.38.404A1.3 1.3 0 0 0 1.72 7.02l-.335 1.68a1.3 1.3 0 0 0-.026.26v.413c0 .647.458 1.189 1.077 1.321C2.607 10.748 2.8 11 3.1 11h9.8c.3 0 .493-.252.664-.306a1.35 1.35 0 0 0 1.077-1.321v-.413a1.3 1.3 0 0 0-.026-.26l-.335-1.68a1.3 1.3 0 0 0-.549-.857.8.8 0 0 1-.381-.404l-.792-1.848A1.5 1.5 0 0 0 11.18 3z'/%3E%3C/svg%3E");
}

/* 鑰匙圖示 (Key) */
.bi-key-nav-menu[b-7x4ca8kwt6] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-key' viewBox='0 0 16 16'%3E%3Cpath d='M0 8a4 4 0 0 1 7.465-2H14a.5.5 0 0 1 .354.146l1.5 1.5a.5.5 0 0 1 0 .708l-1.5 1.5a.5.5 0 0 1-.708 0L13 9.207l-.646.647a.5.5 0 0 1-.708 0L11 9.207l-.646.647a.5.5 0 0 1-.708 0L9 9.207l-.646.647A.5.5 0 0 1 8 10h-.535A4 4 0 0 1 0 8m4-3a3 3 0 1 0 0 6 3 3 0 0 0 0-6'/%3E%3C/svg%3E");
}

/* 收據/單據/發票圖示 (Receipt) */
.bi-receipt-nav-menu[b-7x4ca8kwt6] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-receipt' viewBox='0 0 16 16'%3E%3Cpath d='M1.92.5a.5.5 0 0 1 .5.5v13.008l1.158-1.158a.5.5 0 0 1 .707 0L5.45 14.01l1.158-1.158a.5.5 0 0 1 .707 0l1.158 1.158 1.158-1.158a.5.5 0 0 1 .707 0l1.158 1.158 1.157-1.158a.5.5 0 0 1 .707 0l1.158 1.158V1a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v14a.5.5 0 0 1-.854.354L14 14.707l-1.146 1.147a.5.5 0 0 1-.708 0L11 14.707l-1.146 1.147a.5.5 0 0 1-.708 0L8 14.707l-1.146 1.147a.5.5 0 0 1-.708 0L5 14.707l-1.146 1.147a.5.5 0 0 1-.708 0L2 14.707l-1.146 1.147A.5.5 0 0 1 1 15.5V1a.5.5 0 0 1 .92-.5zM3 3.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zM3 6a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9A.5.5 0 0 1 3 6zm0 2.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm0 2.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

/* 機車/滑板車圖示 (Scooter) */
.bi-scooter-nav-menu[b-7x4ca8kwt6] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-scooter' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M2 2.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-2.5V5c0 .666.248 1.229.626 1.636C4.01 7.05 4.582 7.377 5.308 7.616l1.32.435c.87.287 1.631.7 2.19 1.233.552.526.882 1.208.882 2.016 0 .848-.363 1.583-.984 2.112A4 4 0 0 1 6.25 14.5a.5.5 0 0 1 0-1c.712 0 1.341-.128 1.838-.372.493-.243.712-.572.712-.928 0-.323-.153-.618-.492-.942-.333-.318-.888-.636-1.638-.883l-1.32-.435c-.878-.29-1.666-.71-2.262-1.284C2.5 8.08 2 7.151 2 6z'/%3E%3Cpath d='M3.5 14.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3m9.5 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3'/%3E%3C/svg%3E");
}

/* 便籤/便利貼圖示 (Stickies) */
.bi-stickies-nav-menu[b-7x4ca8kwt6] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-stickies' viewBox='0 0 16 16'%3E%3Cpath d='M1.5 0A1.5 1.5 0 0 0 0 1.5V13a1 1 0 0 0 1 1h1.5a.5.5 0 0 1 0 1H1a2 2 0 0 1-2-2V1.5A2.5 2.5 0 0 1 1.5 -1h10A2.5 2.5 0 0 1 14 1.5V2a.5.5 0 0 1-1 0v-.5A1.5 1.5 0 0 0 11.5 0z'/%3E%3Cpath d='M3.5 2A1.5 1.5 0 0 0 2 3.5v11A1.5 1.5 0 0 0 3.5 16h6.086a1.5 1.5 0 0 0 1.06-.44l3.915-3.914A1.5 1.5 0 0 0 15 10.586V3.5A1.5 1.5 0 0 0 13.5 2zM3 3.5a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5h-3a1.5 1.5 0 0 0-1.5 1.5v3a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

/* 雲端下載/匯入圖示 (Cloud Download) */
.bi-cloud-download-nav-menu[b-7x4ca8kwt6] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-cloud-download' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.406 3.342A5.53 5.53 0 0 1 8 2c2.69 0 4.923 2 5.166 4.579C14.758 6.804 16 8.137 16 9.773 16 11.569 14.502 13 12.687 13H3.781C1.708 13 0 11.366 0 9.318c0-1.763 1.266-3.223 2.942-3.593.143-.863.698-1.723 1.464-2.383m.653.757c-.757.653-1.153 1.44-1.153 2.056a.5.5 0 0 1-.5.5 2.5 2.5 0 0 0-2.4 2.665c0 1.403 1.166 2.68 2.781 2.68h8.906c1.28 0 2.313-1.02 2.313-2.227 0-1.173-1.018-2.128-2.23-2.128a.5.5 0 0 1-.5-.5C12.08 4.78 10.232 3 8 3c-1.87 0-3.487 1.258-3.941 3.1a.5.5 0 0 1-.401.373c-.102.016-.205.031-.308.046c-.52-.613-1.026-1.127-1.332-1.42Z'/%3E%3Cpath fill-rule='evenodd' d='M7.646 11.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V5.5a.5.5 0 0 0-1 0v4.793L5.354 8.146a.5.5 0 1 0-.708.708z'/%3E%3C/svg%3E");
}

/* 雲端上傳/匯出圖示 (Cloud Upload) */
.bi-cloud-upload-nav-menu[b-7x4ca8kwt6] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-cloud-upload' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.406 3.342A5.53 5.53 0 0 1 8 2c2.69 0 4.923 2 5.166 4.579C14.758 6.804 16 8.137 16 9.773 16 11.569 14.502 13 12.687 13H3.781C1.708 13 0 11.366 0 9.318c0-1.763 1.266-3.223 2.942-3.593.143-.863.698-1.723 1.464-2.383m.653.757c-.757.653-1.153 1.44-1.153 2.056a.5.5 0 0 1-.5.5 2.5 2.5 0 0 0-2.4 2.665c0 1.403 1.166 2.68 2.781 2.68h8.906c1.28 0 2.313-1.02 2.313-2.227 0-1.173-1.018-2.128-2.23-2.128a.5.5 0 0 1-.5-.5C12.08 4.78 10.232 3 8 3c-1.87 0-3.487 1.258-3.941 3.1a.5.5 0 0 1-.401.373c-.102.016-.205.031-.308.046c-.52-.613-1.026-1.127-1.332-1.42Z'/%3E%3Cpath fill-rule='evenodd' d='M7.646 5.146a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 6.707V11.5a.5.5 0 0 1-1 0V6.707L5.354 8.854a.5.5 0 1 1-.708-.708z'/%3E%3C/svg%3E");
}

/* 迴紋針圖示*/
.bi-link-nav-menu[b-7x4ca8kwt6] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-link' viewBox='0 0 16 16'%3E%3Cpath d='M6.354 5.5H4a3 3 0 0 0 0 6h2.354a.5.5 0 0 1 0 1H4a4 4 0 1 1 0-8h2.354a.5.5 0 0 1 0 1'/%3E%3Cpath d='M9.646 10.5H12a3 3 0 0 0 0-6H9.646a.5.5 0 0 1 0-1H12a4 4 0 1 1 0 8H9.646a.5.5 0 0 1 0-1'/%3E%3Cpath d='M5 8a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5A.5.5 0 0 1 5 8'/%3E%3C/svg%3E");
}

/* 紙箱圖示*/
.bi-box-seam-fill-nav-menu[b-7x4ca8kwt6] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-box-seam-fill' viewBox='0 0 16 16'%3E%3Cpath d='M12.5 0a1.5 1.5 0 0 1 1.5 1.5v3.164a2.5 2.5 0 0 1-1.077 2.062L8 10.158 3.077 6.726A2.5 2.5 0 0 1 2 4.664V1.5A1.5 1.5 0 0 1 3.5 0h9ZM8 10.158l-5 3.473v.869a1.5 1.5 0 0 0 1.5 1.5h7A1.5 1.5 0 0 0 13 14.5v-.869l-5-3.473Z'/%3E%3C/svg%3E");
}

/* 鉛筆圖示*/
.bi-pencil-fill-nav-menu[b-7x4ca8kwt6] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-pencil-fill' viewBox='0 0 16 16'%3E%3Cpath d='M12.854.146a.5.5 0 0 0-.707 0L10.5 1.793 14.207 5.5l1.647-1.646a.5.5 0 0 0 0-.708zm.646 6.061L9.793 2.5 3.293 9H3.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.207zm-7.468 7.468A.5.5 0 0 1 6 13.5V13h-.5a.5.5 0 0 1-.5-.5V12h-.5a.5.5 0 0 1-.5-.5V11h-.5a.5.5 0 0 1-.5-.5V10h-.5a.5.5 0 0 1-.175-.032l-.179.178a.5.5 0 0 0-.11.168l-2 5a.5.5 0 0 0 .65.65l5-2a.5.5 0 0 0 .168-.11z'/%3E%3C/svg%3E");
}

/* 書本圖示*/
.bi-book-fill-nav-menu[b-7x4ca8kwt6] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-book-fill' viewBox='0 0 16 16'%3E%3Cpath d='M8 1.783C7.015.936 5.587.81 4.287.94c-1.514.153-3.042.672-3.994 1.105A.5.5 0 0 0 0 2.5v11a.5.5 0 0 0 .707.455c.882-.4 2.303-.881 3.68-1.02 1.409-.142 2.59.087 3.223.877a.5.5 0 0 0 .78 0c.633-.79 1.814-1.019 3.222-.877 1.378.139 2.8.62 3.681 1.02A.5.5 0 0 0 16 13.5v-11a.5.5 0 0 0-.293-.455c-.952-.433-2.48-.952-3.994-1.105C10.413.809 8.985.936 8 1.783'/%3E%3C/svg%3E");
}

.nav-item[b-7x4ca8kwt6] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

.nav-item:first-of-type[b-7x4ca8kwt6] {
    padding-top: 1rem;
}

.nav-item:last-of-type[b-7x4ca8kwt6] {
    padding-bottom: 1rem;
}

.nav-item[b-7x4ca8kwt6]  a {
    color: #d7d7d7;
    border-radius: 4px;
    height: 3rem;
    display: flex;
    align-items: center;
    line-height: 3rem;
}

.nav-item[b-7x4ca8kwt6]  a.active {
    background-color: rgba(255, 255, 255, 0.37);
    color: white;
}

.nav-item[b-7x4ca8kwt6]  a:hover {
    background-color: rgba(255, 255, 255, 0.1);
    color: white;
}

@media (min-width: 641px) {
    .navbar-toggler[b-7x4ca8kwt6] {
        display: none;
    }

    .collapse[b-7x4ca8kwt6] {
        /* Never collapse the sidebar for wide screens */
        display: block;
    }

    .nav-scrollable[b-7x4ca8kwt6] {
        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}
/* /Pages/AccountingReport.razor.rz.scp.css */
/* 報表卡片：與 backstage.css 的 search-card 同一套視覺，
   但這裡要裝圖與表，內距與滿版高度自己控制，所以另開一個 class */
.report-card[b-1cb66284wb] {
    background: white;
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    height: 100%;
}

.report-card-title[b-1cb66284wb] {
    font-weight: 600;
    font-size: 1.05rem;
    color: #343a40;
    margin-bottom: 16px;
}

.pie-chart[b-1cb66284wb] {
    width: 100%;
    max-width: 280px;
    height: auto;
}

/* 每一塊都可以點，白色描邊讓相鄰的顏色分得開 */
.pie-slice[b-1cb66284wb] {
    cursor: pointer;
    stroke: white;
    stroke-width: 1.5;
    transition: opacity 0.15s ease;
}

.pie-slice:hover[b-1cb66284wb] {
    opacity: 0.85;
}

.pie-slice.is-selected[b-1cb66284wb] {
    stroke-width: 2.5;
}

.legend[b-1cb66284wb] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

/* 圖例本身就是按鈕，把瀏覽器預設的按鈕外觀清掉 */
.legend-item[b-1cb66284wb] {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 6px 8px;
    border: none;
    border-radius: 8px;
    background: none;
    text-align: left;
    font-size: 0.875rem;
    color: #495057;
    transition: background-color 0.15s ease;
}

.legend-item:hover[b-1cb66284wb] {
    background-color: #f8f9fa;
}

.legend-item.is-selected[b-1cb66284wb] {
    background-color: #eef0fd;
    font-weight: 600;
}

.legend-swatch[b-1cb66284wb] {
    width: 12px;
    height: 12px;
    border-radius: 3px;
    flex-shrink: 0;
}

/* 分類名稱長度不一，讓它吃掉剩下的空間，金額與百分比才會靠右對齊 */
.legend-name[b-1cb66284wb] {
    flex-grow: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.legend-amount[b-1cb66284wb] {
    font-variant-numeric: tabular-nums;
    color: #343a40;
}

.legend-percent[b-1cb66284wb] {
    font-variant-numeric: tabular-nums;
    color: #adb5bd;
    width: 52px;
    text-align: right;
}

/* 子分類佔比的長條，數字之外再給一個一眼看得出長短的比較基準 */
.breakdown-bar[b-1cb66284wb] {
    flex-grow: 1;
    min-width: 60px;
    height: 8px;
    border-radius: 4px;
    background-color: #f1f3f5;
    overflow: hidden;
}

.breakdown-bar-fill[b-1cb66284wb] {
    height: 100%;
    border-radius: 4px;
    background: linear-gradient(90deg, #667eea 0%, #764ba2 100%);
}
/* /Pages/Home.razor.rz.scp.css */
/* 整列都可以點，所以按鈕撐滿；不掛 .btn 是為了避開全域那組 hover 浮起效果 */
.calendar-toggle[b-4lx186o6ul] {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    background: none;
    border: none;
    text-align: left;
    color: #343a40;
    transition: background-color 0.2s ease;
}

.calendar-toggle:hover:not(:disabled)[b-4lx186o6ul] {
    background-color: #f8f9fa;
}

/* 沒內容的那幾列不是「壞掉」，只是沒東西可展開，所以字色照常、不變灰 */
.calendar-toggle:disabled[b-4lx186o6ul] {
    cursor: default;
    color: #343a40;
}

.calendar-caret[b-4lx186o6ul] {
    color: #adb5bd;
    font-size: 0.85rem;
    flex-shrink: 0;
}

.calendar-date[b-4lx186o6ul] {
    font-weight: 600;
    white-space: nowrap;
    flex-shrink: 0;
}

.calendar-title[b-4lx186o6ul] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* 內容跟標題對齊在同一條線上（箭頭寬 + gap） */
.calendar-content[b-4lx186o6ul] {
    padding: 0 16px 14px 42px;
    color: #6c757d;
    white-space: pre-line;
    word-break: break-word;
}

/* ================= 資料監控 Dashboard ================= */

.monitor-header[b-4lx186o6ul] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
    margin: 1.5rem 0 0.75rem;
}

.monitor-title[b-4lx186o6ul] {
    margin: 0;
    font-weight: 600;
    color: #343a40;
}

.monitor-stamp[b-4lx186o6ul] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.8rem;
    color: #adb5bd;
    font-variant-numeric: tabular-nums;
}

/* 狀態燈：新鮮度與快取狀態共用，靠 is-* 決定顏色 */
.monitor-dot[b-4lx186o6ul] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
    display: inline-block;
    background-color: #ced4da;
}

.monitor-dot.is-fresh[b-4lx186o6ul] {
    background-color: #40c057;
    box-shadow: 0 0 0 3px rgba(64, 192, 87, 0.18);
}

.monitor-dot.is-warn[b-4lx186o6ul] {
    background-color: #fab005;
    box-shadow: 0 0 0 3px rgba(250, 176, 5, 0.18);
}

.monitor-dot.is-stale[b-4lx186o6ul] {
    background-color: #fa5252;
    box-shadow: 0 0 0 3px rgba(250, 82, 82, 0.18);
}

.monitor-dot.is-none[b-4lx186o6ul] {
    background-color: #ced4da;
}

/* KPI 的分母（有資料 / 全部）只是配角，縮小並淡掉，讓主要數字還是最搶眼的 */
.stat-value-sub[b-4lx186o6ul] {
    font-size: 1.1rem;
    font-weight: 500;
    opacity: 0.7;
}

/* 與報表頁的 report-card 同一套視覺，這裡只是換個名字自己用 */
.monitor-card[b-4lx186o6ul] {
    background: white;
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    height: 100%;
}

.monitor-card-title[b-4lx186o6ul] {
    font-weight: 600;
    font-size: 1.05rem;
    color: #343a40;
    margin-bottom: 16px;
}

/* ---- 資料量分佈 ---- */

.gauge-row[b-4lx186o6ul] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 5px 0;
    font-size: 0.875rem;
}

/* 名稱寬度固定，長條才會全部對齊在同一條起跑線上 */
.gauge-name[b-4lx186o6ul] {
    display: flex;
    align-items: center;
    gap: 6px;
    width: 108px;
    flex-shrink: 0;
    color: #495057;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gauge-name i[b-4lx186o6ul] {
    color: #adb5bd;
    flex-shrink: 0;
}

.gauge-name a[b-4lx186o6ul] {
    color: #495057;
    text-decoration: none;
}

.gauge-name a:hover[b-4lx186o6ul] {
    color: #667eea;
    text-decoration: underline;
}

.gauge-bar[b-4lx186o6ul] {
    flex-grow: 1;
    min-width: 60px;
    height: 8px;
    border-radius: 4px;
    background-color: #f1f3f5;
    overflow: hidden;
}

.gauge-bar-fill[b-4lx186o6ul] {
    display: block;
    height: 100%;
    border-radius: 4px;
    background: linear-gradient(90deg, #667eea 0%, #764ba2 100%);
    transition: width 0.3s ease;
}

.gauge-count[b-4lx186o6ul] {
    width: 56px;
    flex-shrink: 0;
    text-align: right;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    color: #343a40;
}

/* 0 筆不是錯誤，只是還沒有資料，所以淡化而不是標紅 */
.gauge-count.is-empty[b-4lx186o6ul] {
    color: #ced4da;
    font-weight: 400;
}

/* ---- 資料新鮮度 ---- */

.freshness-row[b-4lx186o6ul] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
    font-size: 0.875rem;
    border-bottom: 1px solid #f1f3f5;
}

.freshness-name[b-4lx186o6ul] {
    flex-grow: 1;
    min-width: 0;
    color: #495057;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.freshness-date[b-4lx186o6ul] {
    flex-shrink: 0;
    font-variant-numeric: tabular-nums;
    color: #343a40;
}

.freshness-age[b-4lx186o6ul] {
    width: 64px;
    flex-shrink: 0;
    text-align: right;
    font-size: 0.8rem;
    color: #adb5bd;
}

.freshness-age.is-fresh[b-4lx186o6ul] {
    color: #40c057;
}

.freshness-age.is-warn[b-4lx186o6ul] {
    color: #fab005;
}

.freshness-age.is-stale[b-4lx186o6ul] {
    color: #fa5252;
}

.freshness-legend[b-4lx186o6ul] {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 14px;
    font-size: 0.75rem;
    color: #adb5bd;
}

.freshness-legend span[b-4lx186o6ul] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

/* 手機上名稱欄縮窄，長條才不會被擠到剩一點點 */
@media (max-width: 575px) {
    .gauge-name[b-4lx186o6ul] {
        width: 84px;
    }

    .gauge-count[b-4lx186o6ul] {
        width: 44px;
    }
}
/* /Pages/Memo.razor.rz.scp.css */
/* 備忘錄卡片：視覺沿用 backstage.css 的 credential-card，
   標題在上內容在下，內容不再跟標題欄搶寬度 */
.memo-card[b-4zfjnlijuy] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    border-left: 4px solid #667eea;
    padding: 18px 20px;
    transition: all 0.2s ease;
}

/* 觸控裝置點完之後 :hover 會一直留著，浮起的狀態就卡住不會還原 */
@media (hover: hover) {
    .memo-card:hover[b-4zfjnlijuy] {
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
        transform: translateY(-2px);
    }
}

.memo-title[b-4zfjnlijuy] {
    font-weight: 600;
    font-size: 1.05rem;
    color: #343a40;
    margin-bottom: 10px;
    word-break: break-word;
}

/* pre-wrap 保留原文的換行；anywhere 是給沒有空白可斷的長網址用的，
   少了它一條網址就會把版面撐開 */
.memo-content[b-4zfjnlijuy] {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    font-size: 0.9rem;
    color: #495057;
    line-height: 1.7;
}

.memo-empty[b-4zfjnlijuy] {
    font-size: 0.9rem;
    color: #adb5bd;
}
/* /Pages/Vehicle.razor.rz.scp.css */
/* 車輛卡片：視覺沿用 backstage.css 的 credential-card（白底、圓角、左側色條），
   但欄位排法是這一頁專用的，所以放 scoped css，不去動全域樣式 */
.vehicle-card[b-rnjqutegh8] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    border-left: 4px solid #667eea;
    padding: 18px 20px;
    height: 100%;
    transition: all 0.2s ease;
}

/* 觸控裝置點完之後 :hover 會一直留著，浮起的狀態就卡住不會還原 */
@media (hover: hover) {
    .vehicle-card:hover[b-rnjqutegh8] {
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
        transform: translateY(-2px);
    }
}

.vehicle-title[b-rnjqutegh8] {
    font-weight: 600;
    font-size: 1.05rem;
    color: #343a40;
    word-break: break-word;
}

.vehicle-subtitle[b-rnjqutegh8] {
    font-size: 0.85rem;
    color: #adb5bd;
}

.vehicle-label[b-rnjqutegh8] {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #adb5bd;
    margin-bottom: 2px;
}

.vehicle-value[b-rnjqutegh8] {
    font-size: 0.9rem;
    color: #495057;
    word-break: break-word;
}

/* 車輛照片縮圖：固定寬高讓每張卡片的版面一致，
   cover 只裁切超出的部分，不會把不同比例的照片壓變形 */
.vehicle-photo[b-rnjqutegh8] {
    width: 80px;
    height: 60px;
    object-fit: cover;
    border-radius: .375rem;
    flex-shrink: 0;
}

/* 沒有照片時的佔位，尺寸與縮圖相同，卡片高度才不會忽高忽低 */
.vehicle-photo-empty[b-rnjqutegh8] {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f8f9fa;
    border: 1px dashed #dee2e6;
    color: #adb5bd;
}

/* flex 子項的 min-width 預設是 auto，長車牌會把卡片撐開 */
.min-w-0[b-rnjqutegh8] {
    min-width: 0;
}
