/* _content/cleanhub/Components/Layout/AdminLayout.razor.rz.scp.css */
.adm-layout[b-5zi7t40cse] { min-height: 100vh; display: block; }
.adm-sidebar[b-5zi7t40cse] { position: fixed; left: 0; top: 0; width: 220px; height: 100vh; box-sizing: border-box; padding: 27px 15px 19px; color: #dbe2f6; background: linear-gradient(180deg,#1f2940,#182135 62%,#151e31); box-shadow: 8px 0 30px rgba(30,41,65,.1); display: flex; flex-direction: column; z-index: 20; }
.adm-side-brand[b-5zi7t40cse] { display: flex; align-items: baseline; gap: 5px; padding: 0 12px 28px; text-decoration: none; font-size: 20px; font-weight: 850; letter-spacing: -.04em; }
.adm-side-brand span[b-5zi7t40cse] { color: #7c9cff; } .adm-side-brand em[b-5zi7t40cse] { color: #62d2ef; font-style: normal; }
.adm-side-nav[b-5zi7t40cse] { display: flex; flex-direction: column; gap: 5px; overflow-y: auto; }
.adm-side-item[b-5zi7t40cse] { --menu-index: 0; opacity: 0; transform: translateX(-18px); animation: menu-in-b-5zi7t40cse .44s cubic-bezier(.2,.8,.2,1) forwards; animation-delay: calc(70ms + var(--menu-index) * 55ms); display: flex; align-items: center; gap: 12px; min-height: 42px; padding: 0 12px; border-radius: 11px; color: #aebad1; text-decoration: none; font-size: 13px; font-weight: 650; transition: .18s; position: relative; overflow: hidden; cursor: pointer; user-select: none; -webkit-user-select: none; }
.adm-side-item[b-5zi7t40cse]::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(120,137,255,.17),transparent); opacity:0; transition:.18s; }
.adm-side-item:hover[b-5zi7t40cse] { color: white; transform: translateX(4px); background: rgba(255,255,255,.055); }
.adm-side-item:hover[b-5zi7t40cse]::after,.adm-side-item.active[b-5zi7t40cse]::after { opacity:1; }
.adm-side-item.active[b-5zi7t40cse] { color: white; background: rgba(111,125,255,.15); box-shadow: inset 3px 0 #8591ff; }
.adm-side-icon[b-5zi7t40cse] { width: 23px; text-align: center; color: #8697bd; font-size: 16px; z-index:1; pointer-events: none; user-select: none; }
.adm-side-item > span:last-child[b-5zi7t40cse] { z-index:1; pointer-events: none; user-select: none; }
@keyframes menu-in-b-5zi7t40cse { to { opacity:1; transform:translateX(0); } }
.adm-side-bottom[b-5zi7t40cse] { margin-top:auto; padding:15px 10px 0; border-top:1px solid rgba(255,255,255,.08); display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:12px; color:#9eabc3; }
.adm-side-bottom a[b-5zi7t40cse] { border:0; color:#f29aaf; background:transparent; font-size:11px; cursor:pointer; text-decoration:none; }
.adm-side-bottom a:hover[b-5zi7t40cse] { color:#ffb7c7; }

.adm-layout-main[b-5zi7t40cse] { min-height: 100vh; padding-left: 220px; box-sizing: border-box; }

@media (max-width:900px) {
    .adm-layout-main[b-5zi7t40cse] { padding-left: 0; }
    .adm-sidebar[b-5zi7t40cse] { position: relative; width: auto; height: auto; padding: 15px; }
    .adm-side-brand[b-5zi7t40cse] { padding-bottom: 13px; }
    .adm-side-nav[b-5zi7t40cse] { flex-direction: row; overflow-x: auto; padding-bottom: 4px; }
    .adm-side-item[b-5zi7t40cse] { flex: 0 0 auto; padding: 0 12px; }
    .adm-side-bottom[b-5zi7t40cse] { display: none; }
}
/* _content/cleanhub/Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-nesl296a3i] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-nesl296a3i] {
    flex: 1;
}

.top-row[b-nesl296a3i] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-nesl296a3i]  a, .top-row[b-nesl296a3i]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-nesl296a3i]  a:hover, .top-row[b-nesl296a3i]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-nesl296a3i]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-nesl296a3i] {
        justify-content: space-between;
    }

    .top-row[b-nesl296a3i]  a, .top-row[b-nesl296a3i]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-nesl296a3i] {
        flex-direction: column;
    }

    .top-row[b-nesl296a3i] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-nesl296a3i]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-nesl296a3i], article[b-nesl296a3i] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

#blazor-error-ui[b-nesl296a3i] {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-nesl296a3i] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* _content/cleanhub/Components/Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-oa9rvp5xzg] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: white;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
}

.navbar-toggler:checked[b-oa9rvp5xzg] {
    background-color: rgba(255, 255, 255, 0.5);
}

.top-row[b-oa9rvp5xzg] {
    height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-oa9rvp5xzg] {
    font-size: 1.1rem;
}

.bi[b-oa9rvp5xzg] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.bi-house-door-fill-nav-menu[b-oa9rvp5xzg] {
    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");
}

.bi-plus-square-fill-nav-menu[b-oa9rvp5xzg] {
    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");
}

.bi-list-nested-nav-menu[b-oa9rvp5xzg] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.nav-item[b-oa9rvp5xzg] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-oa9rvp5xzg] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-oa9rvp5xzg] {
        padding-bottom: 1rem;
    }

    .nav-item[b-oa9rvp5xzg]  .nav-link {
        color: #d7d7d7;
        background: none;
        border: none;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
        width: 100%;
    }

.nav-item[b-oa9rvp5xzg]  a.active {
    background-color: rgba(255,255,255,0.37);
    color: white;
}

.nav-item[b-oa9rvp5xzg]  .nav-link:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

.nav-scrollable[b-oa9rvp5xzg] {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable[b-oa9rvp5xzg] {
    display: block;
}

@media (min-width: 641px) {
    .navbar-toggler[b-oa9rvp5xzg] {
        display: none;
    }

    .nav-scrollable[b-oa9rvp5xzg] {
        /* Never collapse the sidebar for wide screens */
        display: block;

        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}
/* _content/cleanhub/Components/Pages/Admin.razor.rz.scp.css */
.admin-page-wrapper[b-ppmkfugtrk] { min-height: 100vh; color: #182237; background: #f5f7fb; font-family: "Segoe UI","Noto Sans KR",sans-serif; }
.adm-loading[b-ppmkfugtrk] { min-height: 100vh; display: grid; place-content: center; justify-items: center; gap: 15px; color: #7c8799; }
.adm-spinner[b-ppmkfugtrk] { width: 38px; height: 38px; border: 3px solid #e2e7f0; border-top-color: #6975f5; border-radius: 50%; animation: spin-b-ppmkfugtrk .75s linear infinite; }
@keyframes spin-b-ppmkfugtrk { to { transform: rotate(360deg); } }
.adm-app[b-ppmkfugtrk] { min-height: 100vh; display: block; padding-left: 220px; }
.adm-sidebar[b-ppmkfugtrk] { position: fixed; left: 0; top: 0; width: 220px; height: 100vh; box-sizing: border-box; padding: 27px 15px 19px; color: #dbe2f6; background: linear-gradient(180deg,#1f2940,#182135 62%,#151e31); box-shadow: 8px 0 30px rgba(30,41,65,.1); display: flex; flex-direction: column; z-index: 4; }
.adm-side-brand[b-ppmkfugtrk] { display: flex; align-items: baseline; gap: 5px; padding: 0 12px 28px; text-decoration: none; font-size: 20px; font-weight: 850; letter-spacing: -.04em; }
.adm-side-brand span[b-ppmkfugtrk] { color: #7c9cff; } .adm-side-brand em[b-ppmkfugtrk] { color: #62d2ef; font-style: normal; }
.adm-side-nav[b-ppmkfugtrk] { display: flex; flex-direction: column; gap: 5px; }
.adm-side-item[b-ppmkfugtrk] { --menu-index: 0; opacity: 0; transform: translateX(-18px); animation: menu-in-b-ppmkfugtrk .44s cubic-bezier(.2,.8,.2,1) forwards; animation-delay: calc(70ms + var(--menu-index) * 55ms); display: flex; align-items: center; gap: 12px; min-height: 42px; padding: 0 12px; border-radius: 11px; color: #aebad1; text-decoration: none; font-size: 13px; font-weight: 650; transition: .18s; position: relative; overflow: hidden; cursor: pointer; user-select: none; -webkit-user-select: none; }
.adm-side-item[b-ppmkfugtrk]::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(120,137,255,.17),transparent); opacity:0; transition:.18s; }
.adm-side-item:hover[b-ppmkfugtrk] { color: white; transform: translateX(4px); background: rgba(255,255,255,.055); }
.adm-side-item:hover[b-ppmkfugtrk]::after,.adm-side-item.active[b-ppmkfugtrk]::after { opacity:1; }
.adm-side-item.active[b-ppmkfugtrk] { color: white; background: rgba(111,125,255,.15); box-shadow: inset 3px 0 #8591ff; }
.adm-side-icon[b-ppmkfugtrk] { width: 23px; text-align: center; color: #8697bd; font-size: 16px; z-index:1; pointer-events: none; user-select: none; }
.adm-side-item > span:last-child[b-ppmkfugtrk] { z-index:1; pointer-events: none; user-select: none; }
@keyframes menu-in-b-ppmkfugtrk { to { opacity:1; transform:translateX(0); } }
.adm-side-bottom[b-ppmkfugtrk] { margin-top:auto; padding:15px 10px 0; border-top:1px solid rgba(255,255,255,.08); display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:12px; color:#9eabc3; }
.adm-side-bottom button[b-ppmkfugtrk] { border:0; color:#f29aaf; background:transparent; font-size:11px; cursor:pointer; }
.adm-main[b-ppmkfugtrk] { width:100%; max-width:1320px; box-sizing:border-box; padding:25px 34px 45px; margin:0 auto; }
.adm-topbar[b-ppmkfugtrk] { display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; }
.adm-date[b-ppmkfugtrk] { margin:0 0 3px; font-size:11px; font-weight:750; letter-spacing:.06em; color:#8d98aa; }
.adm-topbar h1[b-ppmkfugtrk] { margin:0; font-size:25px; letter-spacing:-.035em; }
.adm-quick-link[b-ppmkfugtrk] { padding:9px 14px; border-radius:10px; color:white; background:linear-gradient(135deg,#6e79f7,#9d77ef); text-decoration:none; font-size:12px; font-weight:750; box-shadow:0 8px 19px rgba(108,119,240,.22); }
.adm-notice[b-ppmkfugtrk] { min-height:48px; margin-bottom:16px; padding:0 8px 0 0; border:1px solid #e0e5ef; border-radius:13px; background:white; box-shadow:0 7px 22px rgba(57,72,105,.055); display:grid; grid-template-columns:auto 1fr auto; align-items:center; overflow:hidden; }
.adm-notice-label[b-ppmkfugtrk] { align-self:stretch; display:grid; place-items:center; padding:0 18px; color:white; background:linear-gradient(135deg,#6c77ed,#8f72e5); font-size:10px; font-weight:850; letter-spacing:.13em; }
.adm-notice-track[b-ppmkfugtrk] { min-width:0; padding:0 16px; display:flex; align-items:center; gap:16px; animation:notice-slide-b-ppmkfugtrk .42s ease; }
.adm-notice-track strong[b-ppmkfugtrk] { flex-shrink:0; max-width:35%; color:#2a354a; font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; animation:notice-slide-b-ppmkfugtrk .42s ease; }
.adm-notice-track span[b-ppmkfugtrk] { min-width:0; color:#8a95a7; font-size:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
@keyframes notice-slide-b-ppmkfugtrk { from { opacity:0; transform:translateY(11px); } to { opacity:1; transform:translateY(0); } }
.adm-notice-more[b-ppmkfugtrk] { color:#6671e5; text-decoration:none; font-size:10px; font-weight:850; letter-spacing:.08em; white-space:nowrap; }
.adm-summary[b-ppmkfugtrk] { display:grid; grid-template-columns:repeat(3,1fr); gap:13px; margin-bottom:18px; }
.adm-summary-card[b-ppmkfugtrk] { position:relative; overflow:hidden; min-height:94px; box-sizing:border-box; padding:17px 18px; border:1px solid #e1e6ef; border-radius:16px; background:white; text-decoration:none; color:inherit; display:flex; align-items:center; gap:13px; box-shadow:0 9px 25px rgba(55,70,105,.06); transition:.2s; }
.adm-summary-card[b-ppmkfugtrk]::after { content:""; position:absolute; width:75px; height:75px; right:-24px; top:-28px; border-radius:50%; background:var(--soft); }
.adm-summary-card:hover[b-ppmkfugtrk] { transform:translateY(-3px); box-shadow:0 14px 30px rgba(55,70,105,.1); }
.adm-summary-card.unassigned[b-ppmkfugtrk] { --accent:#f59e74; --soft:#fff0e8; }.adm-summary-card.assigned[b-ppmkfugtrk] { --accent:#6e8ff1; --soft:#edf2ff; }.adm-summary-card.today[b-ppmkfugtrk] { --accent:#57bfa3; --soft:#e9faf4; }
.adm-summary-icon[b-ppmkfugtrk] { width:42px; height:42px; flex-shrink:0; display:grid; place-items:center; border-radius:13px; color:var(--accent); background:var(--soft); font-size:20px; font-weight:800; }
.adm-summary-card div[b-ppmkfugtrk] { display:flex; flex-direction:column; gap:3px; }.adm-summary-card small[b-ppmkfugtrk] { color:#8792a5; font-size:11px; font-weight:650; }.adm-summary-card strong[b-ppmkfugtrk] { color:#253149; font-size:25px; line-height:1; }.adm-summary-card strong em[b-ppmkfugtrk] { margin-left:3px; color:#9aa4b4; font-size:11px; font-style:normal; font-weight:600; }
.adm-summary-arrow[b-ppmkfugtrk] { margin-left:auto; color:#b1bbc9; z-index:1; }
.adm-panel[b-ppmkfugtrk] { margin-bottom:18px; padding:21px; border:1px solid #e1e6ef; border-radius:18px; background:white; box-shadow:0 10px 28px rgba(54,69,104,.06); }
.adm-panel-head[b-ppmkfugtrk] { display:flex; justify-content:space-between; align-items:center; gap:15px; margin-bottom:15px; }
.adm-panel-kicker[b-ppmkfugtrk] { display:block; margin-bottom:2px; color:#7d87f3; font-size:9px; font-weight:850; letter-spacing:.14em; }.adm-panel h2[b-ppmkfugtrk] { margin:0; font-size:18px; letter-spacing:-.025em; }
.adm-panel-more[b-ppmkfugtrk] { color:#6e79e9; text-decoration:none; font-size:11px; font-weight:750; }
.adm-cal-controls[b-ppmkfugtrk] { display:flex; align-items:center; gap:7px; }.adm-cal-controls button[b-ppmkfugtrk] { width:29px; height:29px; border:1px solid #e0e5ef; border-radius:8px; background:#fafbfe; color:#6570de; cursor:pointer; }.adm-cal-controls strong[b-ppmkfugtrk] { min-width:90px; text-align:center; font-size:12px; }.adm-cal-controls a[b-ppmkfugtrk] { margin-left:7px; color:#707be8; text-decoration:none; font-size:11px; font-weight:700; }
.adm-cal-legend[b-ppmkfugtrk] { display:flex; flex-wrap:wrap; gap:13px; margin-bottom:12px; }.adm-cal-legend span[b-ppmkfugtrk] { display:flex; align-items:center; gap:5px; color:#8a95a8; font-size:10px; }.adm-cal-legend i[b-ppmkfugtrk],.adm-cal-chip i[b-ppmkfugtrk] { width:7px; height:7px; border-radius:50%; background:#ef6b79; }.adm-cal-legend .paid[b-ppmkfugtrk],.adm-cal-chip i.paid[b-ppmkfugtrk] { background:#47c59b; }.adm-cal-legend .upcoming[b-ppmkfugtrk],.adm-cal-chip i.upcoming[b-ppmkfugtrk] { background:#68a4f3; }.adm-cal-legend .manual[b-ppmkfugtrk],.adm-cal-chip i.manual[b-ppmkfugtrk] { background:#9aa6b8; }
.adm-cal-loading[b-ppmkfugtrk] { min-height:270px; display:grid; place-items:center; color:#9aa5b5; font-size:12px; }
.adm-cal-grid[b-ppmkfugtrk] { display:grid; grid-template-columns:repeat(7,1fr); gap:5px; }.adm-cal-dow[b-ppmkfugtrk] { padding:3px 0 6px; text-align:center; color:#9aa5b5; font-size:10px; font-weight:750; }.adm-cal-dow:first-child[b-ppmkfugtrk] { color:#ee7180; }.adm-cal-dow:last-child[b-ppmkfugtrk] { color:#5b91e8; }
.adm-cal-cell[b-ppmkfugtrk] { min-width:0; min-height:75px; box-sizing:border-box; padding:6px; border:1px solid #edf0f5; border-radius:9px; background:#fafbfd; cursor:pointer; transition:.15s; }.adm-cal-cell:hover[b-ppmkfugtrk] { border-color:#cdd4f8; background:white; transform:translateY(-1px); }.adm-cal-cell.other[b-ppmkfugtrk] { opacity:.38; }.adm-cal-day[b-ppmkfugtrk] { display:grid; place-items:center; width:18px; height:18px; color:#657085; font-size:10px; font-weight:700; }.adm-cal-cell.today .adm-cal-day[b-ppmkfugtrk] { border-radius:50%; color:white; background:#737def; }
.adm-cal-chip[b-ppmkfugtrk] { display:flex; align-items:center; gap:4px; min-width:0; margin-top:4px; padding:3px 5px; border-radius:6px; background:#fff0f2; font-size:9px; }.adm-cal-chip.payment-paid[b-ppmkfugtrk] { background:#eaf9f4; }.adm-cal-chip.payment-upcoming[b-ppmkfugtrk] { background:#edf5ff; }.adm-cal-chip.payment-manual[b-ppmkfugtrk] { background:#f0f2f5; }.adm-cal-chip b[b-ppmkfugtrk] { color:#3b465a; font-size:9px; }.adm-cal-chip span[b-ppmkfugtrk] { min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; color:#687387; }.adm-cal-chip em[b-ppmkfugtrk] { margin-left:auto; color:#364156; font-size:8px; font-style:normal; font-weight:750; }.adm-cal-count[b-ppmkfugtrk] { display:block; margin:3px 0 0 3px; color:#737def; font-size:8px; }.adm-error[b-ppmkfugtrk] { color:#d94d68; font-size:11px; text-align:center; }
.adm-stats-grid[b-ppmkfugtrk] { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }.adm-stat-card[b-ppmkfugtrk] { position:relative; overflow:hidden; padding:15px; border-radius:13px; background:#f7f9ff; display:flex; flex-direction:column; gap:5px; }.adm-stat-card[b-ppmkfugtrk]::after { content:""; position:absolute; right:-14px; bottom:-18px; width:55px; height:55px; border-radius:50%; background:rgba(102,117,240,.08); }.adm-stat-card small[b-ppmkfugtrk] { color:#7f8ba0; font-size:10px; font-weight:700; }.adm-stat-card strong[b-ppmkfugtrk] { color:#4056cf; font-size:23px; }.adm-stat-card strong em[b-ppmkfugtrk] { margin-left:3px; color:#99a4b4; font-size:10px; font-style:normal; }.adm-stat-card span[b-ppmkfugtrk] { color:#9aa5b5; font-size:9px; }.adm-stat-card.green[b-ppmkfugtrk] { background:#f0faf6; }.adm-stat-card.green strong[b-ppmkfugtrk] { color:#239778; }.adm-stat-card.rose[b-ppmkfugtrk] { background:#fff5f7; }.adm-stat-card.rose strong[b-ppmkfugtrk] { color:#d95f78; }.adm-stat-card.violet[b-ppmkfugtrk] { background:#f8f5ff; }.adm-stat-card.violet strong[b-ppmkfugtrk] { color:#7c55c7; }.adm-stat-card strong.revenue[b-ppmkfugtrk] { font-size:19px; }
.adm-footer[b-ppmkfugtrk] { padding:15px 0 0; text-align:center; color:#a2acbb; font-size:9px; letter-spacing:.05em; }.adm-footer span[b-ppmkfugtrk] { color:#7882ed; font-weight:800; }
@media (max-width:900px) {
    .adm-app[b-ppmkfugtrk] { padding-left:0; }.adm-sidebar[b-ppmkfugtrk] { position:relative; width:auto; height:auto; padding:15px; }.adm-side-brand[b-ppmkfugtrk] { padding-bottom:13px; }.adm-side-nav[b-ppmkfugtrk] { flex-direction:row; overflow-x:auto; padding-bottom:4px; }.adm-side-item[b-ppmkfugtrk] { flex:0 0 auto; padding:0 12px; }.adm-side-bottom[b-ppmkfugtrk] { display:none; }.adm-main[b-ppmkfugtrk] { padding:20px 16px 38px; }.adm-summary[b-ppmkfugtrk] { grid-template-columns:1fr; }.adm-summary-card[b-ppmkfugtrk] { min-height:76px; }.adm-stats-grid[b-ppmkfugtrk] { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:600px) {
    .adm-notice[b-ppmkfugtrk] { grid-template-columns:auto minmax(0,1fr) auto; }.adm-notice-track span[b-ppmkfugtrk] { display:none; }.adm-notice-track strong[b-ppmkfugtrk] { max-width:100%; }.adm-panel[b-ppmkfugtrk] { padding:14px 9px; }.adm-panel-head[b-ppmkfugtrk] { align-items:flex-start; }.adm-cal-controls[b-ppmkfugtrk] { flex-wrap:wrap; justify-content:flex-end; }.adm-cal-grid[b-ppmkfugtrk] { gap:2px; }.adm-cal-cell[b-ppmkfugtrk] { min-height:57px; padding:3px; }.adm-cal-chip span[b-ppmkfugtrk],.adm-cal-chip em[b-ppmkfugtrk] { display:none; }
}
/* _content/cleanhub/Components/Pages/CareSchedule.razor.rz.scp.css */
/* 케어 배치 관리 - 밝은 파스텔 달력 UI */

.cs-loading[b-utx9f023zw] {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 60vh;
    color: #64748b;
    background: #f4f7fb;
}

.cs-container[b-utx9f023zw] {
    min-height: 100vh;
    background:
        radial-gradient(ellipse 70% 45% at 10% -10%, rgba(167, 139, 250, 0.16), transparent 55%),
        radial-gradient(ellipse 55% 40% at 95% 5%, rgba(107, 184, 240, 0.14), transparent 50%),
        linear-gradient(180deg, #f8fafc 0%, #eef4ff 100%);
    color: #334155;
    padding: 20px 24px;
}

.cs-top-nav[b-utx9f023zw] {
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.22);
}

.cs-header[b-utx9f023zw] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 1px solid #e8eef8;
}

.cs-header h1[b-utx9f023zw] {
    margin: 0 0 8px;
    font-size: 22px;
    color: #0f172a;
}

.cs-legend[b-utx9f023zw] {
    display: flex;
    gap: 16px;
    font-size: 13px;
    color: #64748b;
}

.legend-item[b-utx9f023zw] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.dot[b-utx9f023zw] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

.dot-paid[b-utx9f023zw] { background: #34d399; }
.dot-upcoming[b-utx9f023zw] { background: #60a5fa; }
.dot-unpaid[b-utx9f023zw] { background: #ef4444; }
.dot-expired[b-utx9f023zw] { background: #a855f7; }

.cs-header-actions[b-utx9f023zw] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.cs-month-nav[b-utx9f023zw] {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #e8eef8;
    border-radius: 8px;
    padding: 4px 8px;
}

.cs-month-label[b-utx9f023zw] {
    font-size: 16px;
    font-weight: 600;
    min-width: 130px;
    text-align: center;
    color: #0f172a;
}

.cs-btn-icon[b-utx9f023zw] {
    background: transparent;
    border: none;
    color: #334155;
    font-size: 20px;
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 4px;
}

.cs-btn-icon:hover[b-utx9f023zw] { background: #e8eef8; }

.cs-btn[b-utx9f023zw] {
    padding: 8px 16px;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-size: 14px;
    background: #e8eef8;
    color: #334155;
}

.cs-btn:hover[b-utx9f023zw] { background: #cbd5e1; }

.cs-btn-primary[b-utx9f023zw] {
    background: #6366f1;
    color: white;
}

.cs-btn-primary:hover[b-utx9f023zw] { background: #4f46e5; }

.cs-message[b-utx9f023zw] {
    padding: 10px 16px;
    border-radius: 6px;
    margin-bottom: 16px;
    font-size: 14px;
}

.cs-success[b-utx9f023zw] {
    background: #d8f5ec;
    color: #0f766e;
    border: 1px solid rgba(94, 196, 168, 0.45);
}

.cs-error[b-utx9f023zw] {
    background: #ffe8ed;
    color: #be123c;
    border: 1px solid rgba(240, 147, 165, 0.45);
}

.cs-tabs[b-utx9f023zw] {
    display: flex;
    gap: 4px;
    margin-bottom: 20px;
}

.cs-tab[b-utx9f023zw] {
    padding: 10px 20px;
    background: #e8eef8;
    border: none;
    border-radius: 8px 8px 0 0;
    color: #64748b;
    cursor: pointer;
    font-size: 15px;
    font-weight: 500;
}

.cs-tab.active[b-utx9f023zw] {
    background: #ffffff;
    color: #0f172a;
    font-weight: 600;
}

.cs-panel-desc[b-utx9f023zw] {
    color: #64748b;
    font-size: 14px;
    margin: 0 0 16px;
}

.cs-empty[b-utx9f023zw] {
    text-align: center;
    padding: 60px;
    color: #6b7280;
}

/* ── 미배치 리스트 ── */
.cs-unassigned-panel[b-utx9f023zw] {
    background: #ffffff;
    border-radius: 0 8px 8px 8px;
    padding: 20px;
}

.cs-unassigned-list[b-utx9f023zw] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.cs-unassigned-card[b-utx9f023zw] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    padding: 14px 16px;
    background: #e8eef8;
    border-radius: 8px;
    border-left: 3px solid #6b7280;
}

.cs-unassigned-card.payment-paid[b-utx9f023zw] { border-left-color: #34d399; }
.cs-unassigned-card.payment-upcoming[b-utx9f023zw] { border-left-color: #60a5fa; }
.cs-unassigned-card.payment-unpaid[b-utx9f023zw] { border-left-color: #ef4444; }
.cs-unassigned-card.payment-expired[b-utx9f023zw] { border-left-color: #a855f7; }

.cs-card-name[b-utx9f023zw] {
    font-weight: 600;
    font-size: 15px;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.payment-paid .cs-card-name[b-utx9f023zw],
.payment-paid .cs-card-phone[b-utx9f023zw] { color: #065f46; }

.payment-upcoming .cs-card-name[b-utx9f023zw],
.payment-upcoming .cs-card-phone[b-utx9f023zw] { color: #1d4ed8; }

.payment-unpaid .cs-card-name[b-utx9f023zw],
.payment-unpaid .cs-card-phone[b-utx9f023zw] { color: #ef4444; }

.payment-expired .cs-card-name[b-utx9f023zw],
.payment-expired .cs-card-phone[b-utx9f023zw] { color: #a855f7; }

.cs-card-phone[b-utx9f023zw] {
    font-size: 13px;
    margin-top: 2px;
}

.cs-card-meta[b-utx9f023zw] {
    display: flex;
    gap: 12px;
    font-size: 12px;
    color: #6b7280;
    margin-top: 6px;
    flex-wrap: wrap;
}

.cs-contact-badge[b-utx9f023zw] {
    background: #f59e0b;
    color: #eef4ff;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 4px;
}

.cs-type-badge[b-utx9f023zw] {
    font-size: 10px;
    font-weight: 600;
    padding: 2px 6px;
    border-radius: 4px;
}

.cs-type-badge.type-recurring[b-utx9f023zw] {
    background: #3b82f6;
    color: #fff;
}

.cs-type-badge.type-onetime[b-utx9f023zw] {
    background: #10b981;
    color: #fff;
}

.cs-type-badge-sm[b-utx9f023zw] {
    font-size: 9px;
    background: #e2e8f0;
    color: #475569;
    padding: 1px 4px;
    border-radius: 3px;
    margin-left: 4px;
}

.cs-card-actions[b-utx9f023zw] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.cs-datetime-input[b-utx9f023zw] {
    background: #eef4ff;
    border: 1px solid #cbd5e1;
    color: #334155;
    padding: 8px 10px;
    border-radius: 6px;
    font-size: 13px;
    min-width: 180px;
}

.cs-pref-box[b-utx9f023zw] {
    margin: 10px 0 4px;
    padding: 10px 12px;
    border-radius: 10px;
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
}

.cs-pref-title[b-utx9f023zw] {
    font-size: 12px;
    font-weight: 700;
    color: #166534;
    margin-bottom: 8px;
}

.cs-pref-list[b-utx9f023zw] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.cs-pref-item[b-utx9f023zw] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    flex-wrap: wrap;
}

.cs-pref-chip[b-utx9f023zw] {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    margin-top: 4px;
    padding: 7px 12px;
    border: 1px solid #86efac;
    border-radius: 10px;
    background: #dcfce7;
    color: #166534;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    text-align: left;
}

.cs-pref-chip:hover:not(:disabled)[b-utx9f023zw] {
    background: #bbf7d0;
}

.cs-pref-chip:disabled[b-utx9f023zw] {
    opacity: 0.6;
    cursor: not-allowed;
}

.cs-pref-chip span[b-utx9f023zw] {
    flex-shrink: 0;
    padding: 3px 8px;
    border-radius: 8px;
    background: #16a34a;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
}

.cs-pref-pick[b-utx9f023zw] {
    border: none;
    background: #16a34a;
    color: #fff;
    border-radius: 8px;
    padding: 5px 10px;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}

.cs-pref-pick:hover[b-utx9f023zw] {
    background: #15803d;
}

.cs-pref-empty[b-utx9f023zw] {
    margin: 8px 0 4px;
    font-size: 12px;
    color: #94a3b8;
}

/* ── 달력 + 사이드바 레이아웃 ── */
.cs-calendar-layout[b-utx9f023zw] {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 16px;
    align-items: start;
}

.cs-calendar-panel[b-utx9f023zw] {
    background: #ffffff;
    border-radius: 0 8px 8px 8px;
    padding: 16px;
    min-width: 0;
}

.cs-calendar-grid[b-utx9f023zw] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 1px;
    background: #e8eef8;
    border-radius: 8px;
    overflow: hidden;
}

.cs-cal-header[b-utx9f023zw] {
    background: #eef4ff;
    text-align: center;
    padding: 10px 4px;
    font-size: 13px;
    font-weight: 600;
    color: #64748b;
}

.cs-cal-cell[b-utx9f023zw] {
    background: #ffffff;
    height: 96px;
    padding: 6px;
    display: flex;
    flex-direction: column;
    cursor: pointer;
    transition: background 0.15s;
    overflow: hidden;
}

.cs-cal-cell:hover[b-utx9f023zw] {
    background: #f8fafc;
}

.cs-cal-cell.selected[b-utx9f023zw] {
    background: #eef2ff;
    outline: 2px solid #6366f1;
    outline-offset: -2px;
}

.cs-cal-cell.other-month[b-utx9f023zw] {
    background: #f1f5f9;
}

.cs-cal-cell.other-month .cs-cal-date[b-utx9f023zw] {
    color: #4b5563;
}

.cs-cal-cell.today .cs-cal-date[b-utx9f023zw] {
    background: #6366f1;
    color: white;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cs-cal-date[b-utx9f023zw] {
    font-size: 13px;
    color: #64748b;
    text-align: right;
    margin-bottom: 4px;
    padding-right: 2px;
    flex-shrink: 0;
}

.cs-cal-items[b-utx9f023zw] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.cs-cal-empty[b-utx9f023zw] {
    font-size: 11px;
    color: #4b5563;
    text-align: center;
    margin-top: 8px;
}

.cs-cal-chip[b-utx9f023zw] {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 3px 6px;
    background: #e8eef8;
    border-radius: 4px;
    font-size: 11px;
    min-width: 0;
    color: #334155;
}

.cs-cal-chip.completed[b-utx9f023zw] { opacity: 0.6; }

.cs-status-dot[b-utx9f023zw] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.cs-status-dot.dot-paid[b-utx9f023zw] {
    background: #34d399;
    box-shadow: 0 0 0 1px rgba(52, 211, 153, 0.35);
}

.cs-status-dot.dot-upcoming[b-utx9f023zw] { background: #60a5fa; }
.cs-status-dot.dot-unpaid[b-utx9f023zw] { background: #ef4444; }
.cs-status-dot.dot-expired[b-utx9f023zw] { background: #a855f7; }

.cs-cal-chip-time[b-utx9f023zw] {
    font-weight: 700;
    flex-shrink: 0;
    font-size: 10px;
}

.cs-cal-chip-name[b-utx9f023zw] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-weight: 500;
}

.cs-cal-chip.payment-paid[b-utx9f023zw] { color: #065f46; }
.cs-cal-chip.payment-upcoming[b-utx9f023zw] { color: #1d4ed8; }
.cs-cal-chip.payment-unpaid[b-utx9f023zw] { color: #b91c1c; }
.cs-cal-chip.payment-expired[b-utx9f023zw] { color: #7e22ce; }

.cs-cal-chip-amount[b-utx9f023zw] {
    margin-left: auto;
    flex-shrink: 0;
    font-weight: 800;
    font-size: 10px;
    color: #0f172a;
    background: rgba(255, 255, 255, 0.65);
    border-radius: 4px;
    padding: 0 4px;
}

.cs-cal-more[b-utx9f023zw] {
    background: #6366f1;
    color: #fff;
    border: none;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 8px;
    cursor: pointer;
    text-align: center;
}

.cs-cal-more:hover[b-utx9f023zw] {
    background: #5568d3;
}

/* ── 우측 사이드바 ── */
.cs-detail-sidebar[b-utx9f023zw] {
    background: #ffffff;
    border-radius: 8px;
    min-height: 520px;
    display: flex;
    flex-direction: column;
    position: sticky;
    top: 20px;
}

.cs-sidebar-placeholder[b-utx9f023zw] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #6b7280;
    font-size: 14px;
    padding: 24px;
    line-height: 1.6;
}

.cs-sidebar-header[b-utx9f023zw] {
    padding: 16px 16px 12px;
    border-bottom: 1px solid #e8eef8;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.cs-sidebar-header h3[b-utx9f023zw] {
    margin: 0;
    font-size: 16px;
    color: #0f172a;
    flex: 1;
}

.cs-sidebar-count[b-utx9f023zw] {
    font-size: 12px;
    background: #e8eef8;
    color: #475569;
    padding: 3px 8px;
    border-radius: 12px;
}

.cs-sidebar-list[b-utx9f023zw] {
    flex: 1;
    overflow-y: auto;
    padding: 8px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.cs-sidebar-item[b-utx9f023zw] {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    text-align: left;
    background: #e8eef8;
    border: 1px solid transparent;
    border-radius: 8px;
    padding: 10px 12px;
    cursor: pointer;
    color: inherit;
    transition: border-color 0.15s, background 0.15s;
}

.cs-sidebar-item:hover[b-utx9f023zw] {
    background: #f1f5f9;
    border-color: #475569;
}

.cs-sidebar-item.completed[b-utx9f023zw] { opacity: 0.65; }

.cs-sidebar-item-time[b-utx9f023zw] {
    font-size: 13px;
    font-weight: 700;
    min-width: 42px;
    color: #4f46e5;
}

.cs-sidebar-item-body[b-utx9f023zw] {
    flex: 1;
    min-width: 0;
}

.cs-sidebar-item-name[b-utx9f023zw] {
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cs-sidebar-item-meta[b-utx9f023zw] {
    font-size: 11px;
    color: #64748b;
    margin-top: 2px;
}

.cs-sidebar-item-amount[b-utx9f023zw] {
    font-size: 12px;
    font-weight: 800;
    color: #0f172a;
    margin-top: 3px;
}

.cs-detail-amount[b-utx9f023zw] {
    font-weight: 800;
    color: #0f172a;
}

/* ── 케어 상세 첨부 사진 ─────────────────────────── */
.cs-detail-photos[b-utx9f023zw] {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px dashed rgba(148, 163, 184, 0.4);
}

.cs-detail-photos-head[b-utx9f023zw] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
}

.cs-detail-photos-title[b-utx9f023zw] {
    font-size: 13px;
    font-weight: 700;
    color: #334155;
}

.cs-detail-photos-count[b-utx9f023zw] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 999px;
    background: #5b7cfa;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
}

.cs-detail-photos-empty[b-utx9f023zw] {
    font-size: 12px;
    color: #94a3b8;
    padding: 6px 0;
}

.cs-detail-photo-list[b-utx9f023zw] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}

.cs-detail-photo[b-utx9f023zw] {
    display: block;
    aspect-ratio: 1 / 1;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, 0.35);
    background: #f1f5f9;
    transition: transform 0.15s, box-shadow 0.15s;
}

.cs-detail-photo:hover[b-utx9f023zw] {
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.14);
}

.cs-detail-photo img[b-utx9f023zw] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.cs-sidebar-item-arrow[b-utx9f023zw] {
    color: #6b7280;
    font-size: 18px;
}

.cs-sidebar-empty[b-utx9f023zw] {
    text-align: center;
    color: #6b7280;
    font-size: 13px;
    padding: 24px;
}

/* ── 상세 카드 ── */
.cs-detail-card[b-utx9f023zw] {
    margin: 12px;
    padding: 16px;
    background: #e8eef8;
    border-radius: 10px;
    border-left: 4px solid #6b7280;
}

.cs-detail-card.payment-paid[b-utx9f023zw] { border-left-color: #34d399; }
.cs-detail-card.payment-upcoming[b-utx9f023zw] { border-left-color: #60a5fa; }
.cs-detail-card.payment-unpaid[b-utx9f023zw] { border-left-color: #ef4444; }
.cs-detail-card.payment-expired[b-utx9f023zw] { border-left-color: #a855f7; }

.cs-detail-badge-row[b-utx9f023zw] {
    display: flex;
    gap: 8px;
    align-items: center;
    margin-bottom: 10px;
}

.cs-detail-status[b-utx9f023zw] {
    font-size: 11px;
    color: #64748b;
    background: #eef4ff;
    padding: 2px 8px;
    border-radius: 4px;
}

.cs-detail-name[b-utx9f023zw] {
    margin: 0 0 6px;
    font-size: 18px;
    color: #0f172a;
}

.cs-detail-datetime[b-utx9f023zw] {
    font-size: 15px;
    font-weight: 600;
    color: #4f46e5;
    margin-bottom: 16px;
}

.cs-detail-dl[b-utx9f023zw] {
    margin: 0 0 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.cs-detail-dl div[b-utx9f023zw] {
    display: grid;
    grid-template-columns: 72px 1fr;
    gap: 8px;
    font-size: 13px;
}

.cs-detail-dl dt[b-utx9f023zw] {
    color: #6b7280;
    margin: 0;
}

.cs-detail-dl dd[b-utx9f023zw] {
    margin: 0;
    color: #334155;
    word-break: break-word;
}

.cs-detail-address-row dd[b-utx9f023zw] {
    min-width: 0;
}

.cs-map-link[b-utx9f023zw] {
    display: inline-flex;
    align-items: flex-start;
    gap: 8px;
    max-width: 100%;
    color: #2563eb;
    text-decoration: none;
    font-weight: 600;
    line-height: 1.45;
}

.cs-map-link:hover[b-utx9f023zw] {
    color: #1d4ed8;
    text-decoration: underline;
}

.cs-map-link-text[b-utx9f023zw] {
    min-width: 0;
    word-break: break-word;
}

.cs-map-link-badge[b-utx9f023zw] {
    flex-shrink: 0;
    margin-top: 1px;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    color: #1d4ed8;
    background: #dbeafe;
    border: 1px solid rgba(59, 130, 246, 0.35);
}

.cs-detail-actions[b-utx9f023zw] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.cs-action-btn[b-utx9f023zw] {
    width: 100%;
    padding: 14px 16px;
    border: none;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: opacity 0.15s, transform 0.1s;
}

.cs-action-btn:hover[b-utx9f023zw] {
    opacity: 0.92;
    transform: translateY(-1px);
}

.cs-action-btn:active[b-utx9f023zw] {
    transform: translateY(0);
}

.cs-action-complete[b-utx9f023zw] {
    background: #10b981;
    color: #fff;
}

.cs-action-unassign[b-utx9f023zw] {
    background: #e2e8f0;
    color: #475569;
}

.cs-action-edit[b-utx9f023zw] {
    background: #dbeafe;
    color: #1d4ed8;
}

.cs-action-edit:hover[b-utx9f023zw] {
    background: #bfdbfe;
}

.cs-action-delete[b-utx9f023zw] {
    background: #fee2e2;
    color: #b91c1c;
}

.cs-action-delete:hover[b-utx9f023zw] {
    background: #fecaca;
}

/* ── 수동 배치(MANUAL) ─────────────────────────── */
.dot-manual[b-utx9f023zw] { background: #94a3b8; }
.cs-status-dot.dot-manual[b-utx9f023zw] { background: #94a3b8; }

.cs-unassigned-card.payment-manual[b-utx9f023zw] { border-left-color: #94a3b8; }
.cs-detail-card.payment-manual[b-utx9f023zw] { border-left-color: #94a3b8; }
.cs-cal-chip.payment-manual[b-utx9f023zw] { color: #475569; }

.payment-manual .cs-card-name[b-utx9f023zw],
.payment-manual .cs-card-phone[b-utx9f023zw] { color: #475569; }

.cs-type-badge.type-manual[b-utx9f023zw] {
    background: #64748b;
    color: #fff;
}

/* ── 수동 배치 추가 모달 ─────────────────────────── */
.cs-modal-overlay[b-utx9f023zw] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    z-index: 1000;
}

.cs-modal[b-utx9f023zw] {
    background: #fff;
    border-radius: 16px;
    width: 100%;
    max-width: 420px;
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.25);
    overflow: hidden;
    animation: cs-modal-in-b-utx9f023zw 0.15s ease-out;
}

@keyframes cs-modal-in-b-utx9f023zw {
    from { transform: translateY(8px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

.cs-modal-header[b-utx9f023zw] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 20px;
    border-bottom: 1px solid #eef2f7;
}

.cs-modal-header h3[b-utx9f023zw] {
    margin: 0;
    font-size: 17px;
    font-weight: 700;
    color: #1e293b;
}

.cs-modal-close[b-utx9f023zw] {
    border: none;
    background: transparent;
    font-size: 24px;
    line-height: 1;
    color: #94a3b8;
    cursor: pointer;
    padding: 0 4px;
}

.cs-modal-close:hover[b-utx9f023zw] { color: #475569; }

.cs-modal-body[b-utx9f023zw] {
    padding: 18px 20px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.cs-form-row[b-utx9f023zw] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.cs-form-row label[b-utx9f023zw] {
    font-size: 13px;
    font-weight: 600;
    color: #475569;
}

.cs-req[b-utx9f023zw] { color: #ef4444; }

.cs-form-input[b-utx9f023zw] {
    padding: 10px 12px;
    border: 1px solid #cbd5e1;
    border-radius: 9px;
    font-size: 14px;
    color: #1e293b;
    background: #fff;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.cs-form-input:focus[b-utx9f023zw] {
    outline: none;
    border-color: #6366f1;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.15);
}

.cs-modal-footer[b-utx9f023zw] {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 16px 20px;
    border-top: 1px solid #eef2f7;
    background: #f8fafc;
}

@media (max-width: 1024px) {
    .cs-calendar-layout[b-utx9f023zw] {
        grid-template-columns: 1fr;
    }

    .cs-detail-sidebar[b-utx9f023zw] {
        min-height: auto;
        position: static;
    }
}

@media (max-width: 768px) {
    .cs-header[b-utx9f023zw] {
        flex-direction: column;
    }

    .cs-cal-cell[b-utx9f023zw] {
        height: 72px;
    }

    .cs-cal-chip-name[b-utx9f023zw] {
        display: none;
    }

    .cs-unassigned-card[b-utx9f023zw] {
        flex-direction: column;
        align-items: stretch;
    }
}
/* _content/cleanhub/Components/Pages/Contact.razor.rz.scp.css */
.login-page[b-9iczbmxwif] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans KR", sans-serif;
}

.login-card[b-9iczbmxwif] {
    width: min(520px, 100%);
    padding: 40px 36px;
    background: #ffffff;
    border-radius: 20px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.1);
}

.login-brand[b-9iczbmxwif] {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 22px;
    text-align: center;
}

.login-brand-title[b-9iczbmxwif] {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 0.28em;
    font-size: 32px;
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1.1;
    margin: 0;
}

.login-brand-svc[b-9iczbmxwif] {
    color: #0c4a8f;
}

.login-brand-task[b-9iczbmxwif] {
    color: #0ea5e9;
}

.login-brand-tagline[b-9iczbmxwif] {
    margin: 10px 0 0;
    font-size: 12px;
    font-weight: 500;
    color: #64748b;
    line-height: 1.5;
}

.login-card h1[b-9iczbmxwif] {
    margin: 0 0 8px;
    text-align: center;
    font-size: 22px;
    font-weight: 700;
    color: #0f172a;
}

.login-subtitle[b-9iczbmxwif] {
    margin: 0 0 28px;
    text-align: center;
    font-size: 14px;
    color: #64748b;
    line-height: 1.5;
}

.form-group[b-9iczbmxwif] {
    margin-bottom: 18px;
}

.form-row[b-9iczbmxwif] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.form-group label[b-9iczbmxwif] {
    display: block;
    margin-bottom: 8px;
    font-size: 13px;
    font-weight: 600;
    color: #475569;
}

.form-group input[b-9iczbmxwif],
.form-group textarea[b-9iczbmxwif] {
    width: 100%;
    box-sizing: border-box;
    padding: 12px 14px;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    font-size: 15px;
    color: #0f172a;
    background: #f8fafc;
    font-family: inherit;
    resize: vertical;
    transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
}

.form-group input:focus[b-9iczbmxwif],
.form-group textarea:focus[b-9iczbmxwif] {
    outline: none;
    border-color: #6366f1;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.15);
}

.form-group input:disabled[b-9iczbmxwif],
.form-group textarea:disabled[b-9iczbmxwif] {
    background-color: #f1f5f9;
    cursor: not-allowed;
    opacity: 0.7;
}

.field-hint[b-9iczbmxwif] {
    margin: 6px 0 0;
    font-size: 12px;
    color: #94a3b8;
}

.submit-button[b-9iczbmxwif] {
    width: 100%;
    margin-top: 8px;
    padding: 14px;
    background: linear-gradient(135deg, #6366f1, #8b5cf6);
    color: white;
    border: none;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: transform 0.15s, opacity 0.15s;
}

.submit-button:hover:not(:disabled)[b-9iczbmxwif] {
    transform: translateY(-1px);
    opacity: 0.95;
}

.submit-button:disabled[b-9iczbmxwif] {
    opacity: 0.6;
    cursor: not-allowed;
}

.error-message[b-9iczbmxwif] {
    background: #fef2f2;
    color: #b91c1c;
    padding: 12px 14px;
    border-radius: 10px;
    margin-bottom: 20px;
    border: 1px solid #fecaca;
    font-size: 14px;
    line-height: 1.5;
}

.success-message[b-9iczbmxwif] {
    background: #ecfdf5;
    color: #047857;
    padding: 12px 14px;
    border-radius: 10px;
    margin-bottom: 20px;
    border: 1px solid #a7f3d0;
    font-size: 14px;
    line-height: 1.5;
}

.login-signup-link[b-9iczbmxwif] {
    margin-top: 24px;
    text-align: center;
    font-size: 13px;
    color: #64748b;
}

.login-signup-link a[b-9iczbmxwif] {
    color: #0c4a8f;
    font-weight: 600;
    text-decoration: none;
}

.login-signup-link a:hover[b-9iczbmxwif] {
    text-decoration: underline;
}

.link-separator[b-9iczbmxwif] {
    margin: 0 8px;
    color: #cbd5e1;
}

@media (max-width: 480px) {
    .login-card[b-9iczbmxwif] {
        padding: 32px 24px;
    }

    .login-brand-title[b-9iczbmxwif] {
        font-size: 28px;
    }

    .form-row[b-9iczbmxwif] {
        grid-template-columns: 1fr;
        gap: 0;
    }
}
/* _content/cleanhub/Components/Pages/CustomerOrder.razor.rz.scp.css */
.co-page[b-4hreri9rv4] {
    min-height: 100vh;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 32px 16px 64px;
    background: linear-gradient(160deg, #f4f7ff 0%, #fdf4fb 100%);
}

.co-card[b-4hreri9rv4] {
    width: 100%;
    max-width: 480px;
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 12px 40px rgba(99, 102, 241, 0.12);
    padding: 28px 24px 24px;
    border: 1px solid #eef1ff;
}

.co-loading[b-4hreri9rv4],
.co-error[b-4hreri9rv4] {
    text-align: center;
    padding: 48px 12px;
    color: #64748b;
}

.co-spinner[b-4hreri9rv4] {
    width: 36px;
    height: 36px;
    margin: 0 auto 16px;
    border: 3px solid #e0e7ff;
    border-top-color: #8b93ff;
    border-radius: 50%;
    animation: co-spin-b-4hreri9rv4 0.8s linear infinite;
}

@keyframes co-spin-b-4hreri9rv4 {
    to { transform: rotate(360deg); }
}

.co-error-icon[b-4hreri9rv4] {
    width: 44px;
    height: 44px;
    margin: 0 auto 14px;
    border-radius: 50%;
    background: #fef2f2;
    color: #ef4444;
    font-size: 24px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

.co-head[b-4hreri9rv4] {
    text-align: center;
    margin-bottom: 20px;
}

.co-store[b-4hreri9rv4] {
    display: inline-block;
    font-size: 13px;
    font-weight: 600;
    color: #8b93ff;
    background: #eef0ff;
    padding: 4px 12px;
    border-radius: 999px;
    margin-bottom: 10px;
}

.co-head h1[b-4hreri9rv4] {
    font-size: 20px;
    font-weight: 700;
    color: #1e293b;
    margin: 0;
}

.co-status-banner[b-4hreri9rv4] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 16px;
    border-radius: 14px;
    margin-bottom: 20px;
}

.co-status-banner--active[b-4hreri9rv4] { background: #eff6ff; }
.co-status-banner--pending[b-4hreri9rv4] { background: #fffbeb; }
.co-status-banner--cancelled[b-4hreri9rv4] { background: #f8fafc; }

.co-status-badge[b-4hreri9rv4] {
    font-size: 14px;
    font-weight: 700;
    color: #1e293b;
}

.co-status-hint[b-4hreri9rv4] {
    font-size: 13px;
    color: #64748b;
}

.co-info[b-4hreri9rv4] {
    border: 1px solid #eef1f7;
    border-radius: 14px;
    overflow: hidden;
    margin-bottom: 18px;
}

.co-row[b-4hreri9rv4] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 13px 16px;
    border-bottom: 1px solid #f1f5f9;
}

.co-row:last-child[b-4hreri9rv4] { border-bottom: none; }

.co-label[b-4hreri9rv4] {
    font-size: 13px;
    color: #94a3b8;
    flex-shrink: 0;
}

.co-value[b-4hreri9rv4] {
    font-size: 14px;
    font-weight: 600;
    color: #334155;
    text-align: right;
    word-break: break-all;
}

.co-amount[b-4hreri9rv4] { color: #6366f1; }
.co-muted[b-4hreri9rv4] { color: #94a3b8; font-weight: 500; }

.co-msg[b-4hreri9rv4] {
    padding: 12px 14px;
    border-radius: 12px;
    font-size: 14px;
    margin-bottom: 16px;
    text-align: center;
}

.co-msg--ok[b-4hreri9rv4] { background: #ecfdf5; color: #059669; }
.co-msg--err[b-4hreri9rv4] { background: #fef2f2; color: #dc2626; }

.co-done[b-4hreri9rv4] {
    text-align: center;
    padding: 18px;
    border-radius: 14px;
    background: #f8fafc;
    color: #64748b;
    font-size: 15px;
    font-weight: 600;
}

.co-done--pending[b-4hreri9rv4] {
    background: #fffbeb;
    color: #b45309;
}

.co-done-sub[b-4hreri9rv4] {
    font-size: 13px;
    font-weight: 500;
    color: #92794e;
}

.co-actions[b-4hreri9rv4] {
    display: flex;
    justify-content: center;
}

.co-btn[b-4hreri9rv4] {
    border: none;
    border-radius: 12px;
    padding: 13px 22px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: transform 0.05s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.co-btn:active[b-4hreri9rv4] { transform: translateY(1px); }
.co-btn:disabled[b-4hreri9rv4] { opacity: 0.6; cursor: not-allowed; }

.co-btn--danger[b-4hreri9rv4] {
    background: #fee2e2;
    color: #dc2626;
    width: 100%;
}

.co-btn--danger:hover:not(:disabled)[b-4hreri9rv4] { background: #fecaca; }

.co-btn--ghost[b-4hreri9rv4] {
    background: #f1f5f9;
    color: #475569;
    flex: 1;
}

.co-btn--ghost:hover:not(:disabled)[b-4hreri9rv4] { background: #e2e8f0; }

.co-note[b-4hreri9rv4] {
    text-align: center;
    font-size: 13px;
    color: #94a3b8;
    margin: 10px 0 0;
}

.co-note--block[b-4hreri9rv4] {
    background: #f8fafc;
    padding: 14px;
    border-radius: 12px;
    color: #64748b;
    margin: 0;
}

.co-cancel-form[b-4hreri9rv4] {
    border: 1px solid #eef1f7;
    border-radius: 14px;
    padding: 16px;
    background: #fcfcff;
}

.co-cancel-label[b-4hreri9rv4] {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #475569;
    margin-bottom: 8px;
}

.co-textarea[b-4hreri9rv4] {
    width: 100%;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 10px 12px;
    font-size: 14px;
    resize: vertical;
    box-sizing: border-box;
    font-family: inherit;
}

.co-textarea:focus[b-4hreri9rv4] {
    outline: none;
    border-color: #a5b4fc;
    box-shadow: 0 0 0 3px rgba(165, 180, 252, 0.25);
}

.co-cancel-buttons[b-4hreri9rv4] {
    display: flex;
    gap: 10px;
    margin-top: 14px;
}

.co-refund[b-4hreri9rv4] {
    font-size: 12px;
    color: #b0b8c4;
    text-align: center;
    margin: 22px 0 0;
    line-height: 1.5;
}

.co-visit[b-4hreri9rv4] {
    margin-top: 22px;
    padding: 18px 16px;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    background: #f8fafc;
}

.co-visit-title[b-4hreri9rv4] {
    margin: 0 0 6px;
    font-size: 17px;
    letter-spacing: -0.02em;
}

.co-visit-desc[b-4hreri9rv4], .co-visit-hint[b-4hreri9rv4] {
    margin: 0 0 14px;
    font-size: 13px;
    color: #64748b;
    line-height: 1.45;
}

.co-cal-nav[b-4hreri9rv4] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}

.co-cal-nav-btn[b-4hreri9rv4] {
    width: 34px;
    height: 34px;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
    font-size: 18px;
}

.co-cal-grid[b-4hreri9rv4] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 4px;
}

.co-cal-dow[b-4hreri9rv4] {
    text-align: center;
    font-size: 11px;
    color: #94a3b8;
    padding: 4px 0;
}

.co-cal-day[b-4hreri9rv4] {
    aspect-ratio: 1;
    border: 1px solid transparent;
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
    font-size: 13px;
    font-weight: 650;
    color: #334155;
}

.co-cal-day.other[b-4hreri9rv4] { opacity: 0.25; }
.co-cal-day.today[b-4hreri9rv4] { border-color: #93c5fd; }
.co-cal-day.selected[b-4hreri9rv4] {
    background: linear-gradient(135deg, #3b82f6, #6366f1);
    color: #fff;
}
.co-cal-day:disabled[b-4hreri9rv4] {
    opacity: 0.2;
    cursor: not-allowed;
}

.co-slot-list[b-4hreri9rv4] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 14px 0;
}

.co-slot-row[b-4hreri9rv4] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    padding: 10px;
    border-radius: 10px;
    background: #fff;
    border: 1px solid #e2e8f0;
}

.co-slot-date[b-4hreri9rv4] {
    flex: 1 1 120px;
    font-size: 13px;
    font-weight: 700;
    color: #1e293b;
}

.co-slot-time[b-4hreri9rv4] {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 6px 8px;
    font-size: 13px;
}

.co-slot-tilde[b-4hreri9rv4] { color: #94a3b8; }

.co-slot-remove[b-4hreri9rv4] {
    border: 0;
    background: transparent;
    color: #ef4444;
    font-size: 12px;
    cursor: pointer;
}

.co-btn--primary[b-4hreri9rv4] {
    width: 100%;
    border: 0;
    border-radius: 12px;
    padding: 12px 14px;
    background: linear-gradient(135deg, #3b82f6, #6366f1);
    color: #fff;
    font-size: 14px;
    font-weight: 750;
    cursor: pointer;
}

.co-btn--primary:disabled[b-4hreri9rv4] { opacity: 0.55; cursor: wait; }

.co-pref-list[b-4hreri9rv4] {
    margin: 0 0 10px;
    padding-left: 18px;
    color: #334155;
    font-size: 14px;
}
/* _content/cleanhub/Components/Pages/Error.razor.rz.scp.css */
.error-page[b-lokxl24ebc] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background:
        radial-gradient(ellipse 80% 50% at 50% -20%, rgba(99, 102, 241, 0.12), transparent),
        #f4f6fb;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans KR", sans-serif;
}

.error-card[b-lokxl24ebc] {
    width: min(480px, 100%);
    padding: 40px 36px;
    background: #fff;
    border-radius: 20px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.08);
    text-align: center;
}

.error-icon[b-lokxl24ebc] {
    width: 56px;
    height: 56px;
    margin: 0 auto 16px;
    border-radius: 50%;
    background: #fee2e2;
    color: #dc2626;
    font-size: 28px;
    font-weight: 800;
    line-height: 56px;
}

.error-eyebrow[b-lokxl24ebc] {
    margin: 0 0 8px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #6366f1;
}

.error-card h1[b-lokxl24ebc] {
    margin: 0 0 10px;
    font-size: 24px;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.02em;
}

.error-desc[b-lokxl24ebc] {
    margin: 0 0 24px;
    font-size: 15px;
    color: #64748b;
    line-height: 1.6;
}

.error-request-id[b-lokxl24ebc] {
    margin-bottom: 24px;
    padding: 14px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    text-align: left;
}

.error-request-id span[b-lokxl24ebc] {
    display: block;
    margin-bottom: 6px;
    font-size: 12px;
    font-weight: 600;
    color: #64748b;
}

.error-request-id code[b-lokxl24ebc] {
    font-size: 13px;
    color: #0f172a;
    word-break: break-all;
}

.error-actions[b-lokxl24ebc] {
    display: flex;
    gap: 10px;
    justify-content: center;
    flex-wrap: wrap;
}

.error-btn[b-lokxl24ebc] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 20px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: transform 0.15s, opacity 0.15s;
}

.error-btn--primary[b-lokxl24ebc] {
    background: linear-gradient(135deg, #6366f1, #8b5cf6);
    color: #fff;
}

.error-btn--primary:hover[b-lokxl24ebc] {
    transform: translateY(-1px);
    opacity: 0.95;
}

.error-btn--secondary[b-lokxl24ebc] {
    background: #f1f5f9;
    color: #475569;
    border: 1px solid #e2e8f0;
}

.error-btn--secondary:hover[b-lokxl24ebc] {
    background: #e2e8f0;
}

.error-dev-hint[b-lokxl24ebc] {
    margin-top: 28px;
    padding-top: 20px;
    border-top: 1px solid #e2e8f0;
    text-align: left;
    font-size: 13px;
    color: #64748b;
    line-height: 1.55;
}

.error-dev-hint strong[b-lokxl24ebc] {
    display: block;
    margin-bottom: 6px;
    color: #475569;
}
/* _content/cleanhub/Components/Pages/ForgotPassword.razor.rz.scp.css */
.login-page[b-3e1fcbc14i] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans KR", sans-serif;
}

.login-card[b-3e1fcbc14i] {
    width: min(420px, 100%);
    padding: 40px 36px;
    background: #ffffff;
    border-radius: 20px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.1);
}

.login-brand[b-3e1fcbc14i] {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 22px;
    text-align: center;
}

.login-brand-title[b-3e1fcbc14i] {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 0.28em;
    font-size: 32px;
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1.1;
    margin: 0;
    font-family: "Segoe UI", Inter, Roboto, "Helvetica Neue", Arial, sans-serif;
}

.login-brand-svc[b-3e1fcbc14i] {
    color: #0c4a8f;
}

.login-brand-task[b-3e1fcbc14i] {
    color: #0ea5e9;
}

.login-brand-tagline[b-3e1fcbc14i] {
    margin: 10px 0 0;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.01em;
    color: #64748b;
    line-height: 1.5;
}

.login-signup-link[b-3e1fcbc14i] {
    margin-top: 20px;
    text-align: center;
    font-size: 13px;
    color: #64748b;
}

.login-signup-link a[b-3e1fcbc14i] {
    color: #0c4a8f;
    font-weight: 600;
    text-decoration: none;
}

.login-signup-link a:hover[b-3e1fcbc14i] {
    text-decoration: underline;
}

.link-separator[b-3e1fcbc14i] {
    margin: 0 8px;
    color: #cbd5e1;
}

.login-card h1[b-3e1fcbc14i] {
    margin: 0 0 8px;
    text-align: center;
    font-size: 22px;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.02em;
}

.login-subtitle[b-3e1fcbc14i] {
    margin: 0 0 28px;
    text-align: center;
    font-size: 14px;
    color: #64748b;
    line-height: 1.5;
}

.form-group[b-3e1fcbc14i] {
    margin-bottom: 18px;
}

.form-group label[b-3e1fcbc14i] {
    display: block;
    margin-bottom: 8px;
    font-size: 13px;
    font-weight: 600;
    color: #475569;
}

.form-group input[b-3e1fcbc14i] {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    font-size: 15px;
    color: #0f172a;
    background: #f8fafc;
    box-sizing: border-box;
    transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
}

.form-group input:focus[b-3e1fcbc14i] {
    outline: none;
    border-color: #6366f1;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.15);
}

.form-group input:disabled[b-3e1fcbc14i] {
    background-color: #f1f5f9;
    cursor: not-allowed;
    opacity: 0.7;
}

.submit-button[b-3e1fcbc14i] {
    width: 100%;
    margin-top: 8px;
    padding: 14px;
    background: linear-gradient(135deg, #6366f1, #8b5cf6);
    color: white;
    border: none;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: transform 0.15s, opacity 0.15s;
}

.submit-button:hover:not(:disabled)[b-3e1fcbc14i] {
    transform: translateY(-1px);
    opacity: 0.95;
}

.submit-button:disabled[b-3e1fcbc14i] {
    opacity: 0.6;
    cursor: not-allowed;
}

.error-message[b-3e1fcbc14i] {
    background: #fef2f2;
    color: #b91c1c;
    padding: 12px 14px;
    border-radius: 10px;
    margin-bottom: 20px;
    border: 1px solid #fecaca;
    font-size: 14px;
    line-height: 1.5;
}

.success-message[b-3e1fcbc14i] {
    background: #ecfdf5;
    color: #047857;
    padding: 12px 14px;
    border-radius: 10px;
    margin-bottom: 20px;
    border: 1px solid #a7f3d0;
    font-size: 14px;
    line-height: 1.5;
}

.field-hint[b-3e1fcbc14i] {
    margin: 6px 0 0;
    font-size: 12px;
    color: #94a3b8;
}

.secondary-button[b-3e1fcbc14i] {
    margin-top: 10px;
    background: #ffffff;
    color: #334155;
    border: 1px solid #cbd5e1;
}

.secondary-button:hover:not(:disabled)[b-3e1fcbc14i] {
    background: #f8fafc;
}

.login-forgot-link[b-3e1fcbc14i] {
    margin-top: 14px;
    text-align: center;
    font-size: 13px;
}

.login-forgot-link a[b-3e1fcbc14i] {
    color: #0c4a8f;
    font-weight: 600;
    text-decoration: none;
}

.login-forgot-link a:hover[b-3e1fcbc14i] {
    text-decoration: underline;
}

@media (max-width: 480px) {
    .login-card[b-3e1fcbc14i] {
        padding: 32px 24px;
    }

    .login-brand-title[b-3e1fcbc14i] {
        font-size: 28px;
    }

    .login-brand-tagline[b-3e1fcbc14i] {
        font-size: 11px;
    }
}
/* _content/cleanhub/Components/Pages/Home.razor.rz.scp.css */
/* 홈 전용: 서비스 카드 (내비·히어로는 landing-shared.css) */
.lp-services[b-2p9h45vit1] {
    padding: 64px 28px 72px;
    animation: lp-rise 0.9s 0.12s ease-out both;
}

.lp-services-head[b-2p9h45vit1] {
    max-width: 640px;
    margin: 0 auto 28px;
    text-align: center;
}

.lp-services-head h2[b-2p9h45vit1] {
    margin: 0 0 8px;
    font-size: 28px;
    letter-spacing: -0.03em;
}

.lp-services-head p[b-2p9h45vit1] {
    margin: 0;
    color: var(--lp-muted);
    font-size: 15px;
    line-height: 1.6;
}

.lp-cards[b-2p9h45vit1] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    max-width: 1080px;
    margin: 0 auto;
}

.lp-card[b-2p9h45vit1] {
    overflow: hidden;
    border: 1px solid var(--lp-line);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(15, 35, 60, 0.06);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.lp-card:hover[b-2p9h45vit1] {
    transform: translateY(-4px);
    box-shadow: 0 18px 36px rgba(15, 35, 60, 0.1);
}

.lp-card-media[b-2p9h45vit1] {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #e8eef5;
}

.lp-card-media img[b-2p9h45vit1] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.lp-card h3[b-2p9h45vit1] {
    margin: 16px 18px 6px;
    font-size: 18px;
    letter-spacing: -0.02em;
}

.lp-card p[b-2p9h45vit1] {
    margin: 0 18px 18px;
    color: var(--lp-muted);
    font-size: 14px;
    line-height: 1.6;
}

@media (max-width: 900px) {
    .lp-cards[b-2p9h45vit1] {
        grid-template-columns: 1fr;
        max-width: 420px;
    }

    .lp-services[b-2p9h45vit1] {
        padding: 48px 16px 56px;
    }
}
/* _content/cleanhub/Components/Pages/Intake.razor.rz.scp.css */
/* ── 주문 접수 (고객용) ── */
.intake-page[b-xvj5g1rst5] {
    flex: 1;
    background: transparent;
    color: #0f172a;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans KR", sans-serif;
    padding-bottom: 24px;
}

.intake-page--centered[b-xvj5g1rst5] {
    display: flex;
    align-items: center;
    justify-content: center;
}

.intake-shell[b-xvj5g1rst5] {
    max-width: 680px;
    margin: 0 auto;
    padding: 0 20px;
}

/* ── Hero ── */
.intake-hero[b-xvj5g1rst5] {
    text-align: center;
    padding: 40px 0 28px;
}

.intake-eyebrow[b-xvj5g1rst5] {
    margin: 0 0 8px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #6366f1;
}

.intake-hero h1[b-xvj5g1rst5] {
    margin: 0 0 10px;
    font-size: clamp(28px, 6vw, 36px);
    font-weight: 800;
    letter-spacing: -0.03em;
    color: #0f172a;
    line-height: 1.2;
}

.intake-subtitle[b-xvj5g1rst5] {
    margin: 0;
    font-size: 15px;
    color: #64748b;
    line-height: 1.6;
}

/* ── Loading / Empty ── */
.intake-loading[b-xvj5g1rst5],
.intake-empty[b-xvj5g1rst5] {
    text-align: center;
    padding: 48px 24px;
}

.intake-loading p[b-xvj5g1rst5],
.intake-empty p[b-xvj5g1rst5] {
    margin: 0;
    color: #64748b;
    font-size: 15px;
}

.intake-empty h2[b-xvj5g1rst5] {
    margin: 0 0 8px;
    font-size: 22px;
    color: #0f172a;
}

.intake-empty-icon[b-xvj5g1rst5] {
    width: 56px;
    height: 56px;
    margin: 0 auto 16px;
    border-radius: 50%;
    background: #fee2e2;
    color: #dc2626;
    font-size: 28px;
    font-weight: 700;
    line-height: 56px;
}

.intake-spinner[b-xvj5g1rst5] {
    width: 40px;
    height: 40px;
    margin: 0 auto 16px;
    border: 3px solid #e2e8f0;
    border-top-color: #6366f1;
    border-radius: 50%;
    animation: intake-spin-b-xvj5g1rst5 0.7s linear infinite;
}

@keyframes intake-spin-b-xvj5g1rst5 {
    to { transform: rotate(360deg); }
}

/* ── Alerts ── */
.intake-alert[b-xvj5g1rst5] {
    padding: 14px 16px;
    border-radius: 12px;
    margin-bottom: 16px;
    font-size: 14px;
    line-height: 1.55;
    border: 1px solid transparent;
}

.intake-alert--success[b-xvj5g1rst5] {
    background: #ecfdf5;
    color: #065f46;
    border-color: #a7f3d0;
}

.intake-alert--warning[b-xvj5g1rst5] {
    background: #fffbeb;
    color: #92400e;
    border-color: #fde68a;
}

.intake-alert--error[b-xvj5g1rst5] {
    background: #fef2f2;
    color: #991b1b;
    border-color: #fecaca;
}

.intake-toast[b-xvj5g1rst5] {
    position: fixed;
    right: 20px;
    bottom: 24px;
    z-index: 2000;
    max-width: min(360px, calc(100vw - 40px));
    padding: 14px 18px;
    border-radius: 12px;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 600;
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.18);
    animation: intake-toast-in-b-xvj5g1rst5 0.28s ease-out;
}

.intake-toast--success[b-xvj5g1rst5] {
    background: #0f766e;
    color: #fff;
}

.intake-toast--error[b-xvj5g1rst5] {
    background: #dc2626;
    color: #fff;
}

.intake-toast--info[b-xvj5g1rst5] {
    background: #1e293b;
    color: #f8fafc;
}

@keyframes intake-toast-in-b-xvj5g1rst5 {
    from {
        opacity: 0;
        transform: translateY(12px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.intake-retry[b-xvj5g1rst5] {
    margin-bottom: 16px;
    padding: 18px 20px;
    border-radius: 14px;
    background: #fff;
    border: 1px solid #fde68a;
    box-shadow: 0 4px 20px rgba(245, 158, 11, 0.08);
}

.intake-retry p[b-xvj5g1rst5] {
    margin: 0 0 14px;
    font-size: 14px;
    color: #92400e;
    line-height: 1.5;
}

/* ── Cards & Sections ── */
.intake-form[b-xvj5g1rst5] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.intake-card[b-xvj5g1rst5] {
    background: #fff;
    border-radius: 16px;
    padding: 22px 22px 24px;
    border: 1px solid rgba(15, 23, 42, 0.06);
    box-shadow: 0 4px 24px rgba(15, 23, 42, 0.04);
}

.section-head[b-xvj5g1rst5] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
}

.section-num[b-xvj5g1rst5] {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    border-radius: 8px;
    background: linear-gradient(135deg, #6366f1, #8b5cf6);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

.section-head h2[b-xvj5g1rst5] {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.02em;
}

.optional-tag[b-xvj5g1rst5] {
    font-size: 12px;
    font-weight: 600;
    color: #94a3b8;
    margin-left: 6px;
}

.no-products[b-xvj5g1rst5] {
    margin: 0;
    padding: 24px;
    text-align: center;
    color: #94a3b8;
    font-size: 14px;
    background: #f8fafc;
    border-radius: 12px;
    border: 1px dashed #e2e8f0;
}

/* ── Product tabs ── */
.product-tabs[b-xvj5g1rst5] {
    display: flex;
    gap: 8px;
    padding: 4px;
    margin-bottom: 20px;
    background: #f1f5f9;
    border-radius: 12px;
}

.tab[b-xvj5g1rst5] {
    flex: 1;
    padding: 11px 16px;
    border: none;
    border-radius: 9px;
    background: transparent;
    font-size: 14px;
    font-weight: 600;
    color: #64748b;
    cursor: pointer;
    transition: background 0.2s, color 0.2s, box-shadow 0.2s;
}

.tab:hover:not(:disabled)[b-xvj5g1rst5] {
    color: #334155;
}

.tab.active[b-xvj5g1rst5] {
    background: #fff;
    color: #4f46e5;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
}

.tab:disabled[b-xvj5g1rst5] {
    opacity: 0.5;
    cursor: not-allowed;
}

.product-select-group label[b-xvj5g1rst5] {
    display: block;
    margin-bottom: 8px;
    font-size: 13px;
    font-weight: 600;
    color: #475569;
}

.product-select[b-xvj5g1rst5] {
    width: 100%;
    padding: 13px 14px;
    border: 1.5px solid #e2e8f0;
    border-radius: 10px;
    font-size: 15px;
    color: #0f172a;
    background: #fff;
    cursor: pointer;
    transition: border-color 0.2s, box-shadow 0.2s;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%2394a3b8' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 6l3.5 4 3.5-4'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 36px;
}

.product-select:focus[b-xvj5g1rst5] {
    outline: none;
    border-color: #818cf8;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.15);
}

.product-select:disabled[b-xvj5g1rst5] {
    background-color: #f8fafc;
    cursor: not-allowed;
}

/* ── Selected items ── */
.selected-items-list[b-xvj5g1rst5] {
    margin-top: 20px;
}

.selected-items-list h3[b-xvj5g1rst5] {
    margin: 0 0 12px;
    font-size: 13px;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.selected-item[b-xvj5g1rst5] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    margin-bottom: 8px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    transition: border-color 0.15s;
}

.selected-item:last-child[b-xvj5g1rst5] {
    margin-bottom: 0;
}

.selected-item:hover[b-xvj5g1rst5] {
    border-color: #c7d2fe;
}

.selected-item-info[b-xvj5g1rst5] {
    flex: 1;
    min-width: 0;
}

.item-name[b-xvj5g1rst5] {
    display: block;
    font-weight: 600;
    font-size: 15px;
    color: #0f172a;
    margin-bottom: 4px;
}

.item-badge.recurring[b-xvj5g1rst5] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 700;
    background: #eef2ff;
    color: #4338ca;
    margin-bottom: 4px;
}

.item-price[b-xvj5g1rst5] {
    font-size: 14px;
    font-weight: 700;
    color: #4f46e5;
}

.selected-item-quantity[b-xvj5g1rst5] {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}

.selected-item-quantity label[b-xvj5g1rst5] {
    display: none;
}

.qty-btn[b-xvj5g1rst5] {
    width: 32px;
    height: 32px;
    border: 1px solid #e2e8f0;
    background: #fff;
    border-radius: 8px;
    font-size: 16px;
    color: #334155;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.15s;
}

.qty-btn:hover:not(:disabled)[b-xvj5g1rst5] {
    background: #4f46e5;
    border-color: #4f46e5;
    color: #fff;
}

.qty-btn:disabled[b-xvj5g1rst5] {
    opacity: 0.4;
    cursor: not-allowed;
}

.qty-input[b-xvj5g1rst5] {
    width: 44px;
    padding: 6px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    text-align: center;
    font-size: 14px;
    font-weight: 600;
    background: #fff;
}

.qty-input:focus[b-xvj5g1rst5] {
    outline: none;
    border-color: #818cf8;
}

.btn-remove-item[b-xvj5g1rst5] {
    padding: 6px 10px;
    background: transparent;
    color: #ef4444;
    border: 1px solid #fecaca;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s;
}

.btn-remove-item:hover:not(:disabled)[b-xvj5g1rst5] {
    background: #fef2f2;
}

/* ── Cart summary ── */
.cart-summary[b-xvj5g1rst5] {
    margin-top: 20px;
    padding: 16px 18px;
    background: linear-gradient(135deg, #f5f3ff 0%, #eef2ff 100%);
    border-radius: 12px;
    border: 1px solid #e0e7ff;
}

.cart-summary-row[b-xvj5g1rst5] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 14px;
    color: #475569;
    padding: 4px 0;
}

.cart-summary-total[b-xvj5g1rst5] {
    margin-top: 8px;
    padding-top: 12px;
    border-top: 1px solid #c7d2fe;
    font-size: 16px;
    color: #0f172a;
}

.cart-summary-total strong[b-xvj5g1rst5] {
    font-size: 20px;
    font-weight: 800;
    color: #4f46e5;
    letter-spacing: -0.02em;
}

/* ── Form ── */
.form-grid[b-xvj5g1rst5] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.form-grid .form-group:last-child[b-xvj5g1rst5] {
    grid-column: 1 / -1;
}

.form-group[b-xvj5g1rst5] {
    margin-bottom: 0;
}

.form-group label[b-xvj5g1rst5] {
    display: block;
    margin-bottom: 7px;
    font-size: 13px;
    font-weight: 600;
    color: #475569;
}

.required[b-xvj5g1rst5] {
    color: #ef4444;
}

.form-input[b-xvj5g1rst5] {
    width: 100%;
    padding: 12px 14px;
    border: 1.5px solid #e2e8f0;
    border-radius: 10px;
    font-size: 15px;
    color: #0f172a;
    background: #fff;
    box-sizing: border-box;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.form-input[b-xvj5g1rst5]::placeholder {
    color: #94a3b8;
}

.form-input:focus[b-xvj5g1rst5] {
    outline: none;
    border-color: #818cf8;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.12);
}

.optional-tag-inline[b-xvj5g1rst5] {
    font-size: 12px;
    font-weight: 600;
    color: #94a3b8;
}

.address-field[b-xvj5g1rst5] {
    grid-column: 1 / -1;
}

.address-search-row[b-xvj5g1rst5] {
    display: flex;
    gap: 8px;
    margin-bottom: 10px;
}

.address-search-btn[b-xvj5g1rst5],
.address-clear-btn[b-xvj5g1rst5] {
    padding: 10px 16px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s;
}

.address-search-btn[b-xvj5g1rst5] {
    border: none;
    background: linear-gradient(135deg, #6366f1 0%, #7c3aed 100%);
    color: #fff;
    box-shadow: 0 4px 14px rgba(99, 102, 241, 0.28);
}

.address-search-btn:hover:not(:disabled)[b-xvj5g1rst5] {
    transform: translateY(-1px);
}

.address-clear-btn[b-xvj5g1rst5] {
    border: 1.5px solid #e2e8f0;
    background: #fff;
    color: #64748b;
}

.address-search-btn:disabled[b-xvj5g1rst5],
.address-clear-btn:disabled[b-xvj5g1rst5] {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
}

.address-base-display[b-xvj5g1rst5] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 8px;
    padding: 12px 14px;
    margin-bottom: 8px;
    border: 1.5px solid #e2e8f0;
    border-radius: 10px;
    background: #f8fafc;
    font-size: 14px;
    line-height: 1.55;
    color: #334155;
}

.address-postcode[b-xvj5g1rst5] {
    flex-shrink: 0;
    padding: 2px 8px;
    border-radius: 6px;
    background: #eef2ff;
    color: #4338ca;
    font-size: 12px;
    font-weight: 700;
}

.address-base-text[b-xvj5g1rst5] {
    flex: 1;
    min-width: 0;
}

.address-detail-input[b-xvj5g1rst5] {
    margin-top: 0;
}

.address-search-hint[b-xvj5g1rst5] {
    margin: 0;
}

/* ── Consent ── */
.consent-block[b-xvj5g1rst5] {
    margin-bottom: 16px;
}

.consent-block:last-child[b-xvj5g1rst5] {
    margin-bottom: 0;
}

.consent-detail-box[b-xvj5g1rst5] {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 14px 16px;
    margin-bottom: 10px;
    max-height: 140px;
    overflow-y: auto;
    font-size: 12px;
    color: #64748b;
    line-height: 1.6;
}

.consent-detail-title[b-xvj5g1rst5] {
    margin: 0 0 8px;
    font-size: 12px;
    font-weight: 700;
    color: #334155;
}

.consent-detail-list[b-xvj5g1rst5] {
    margin: 0;
    padding-left: 16px;
}

.consent-detail-list li[b-xvj5g1rst5] {
    margin-bottom: 5px;
}

.checkbox-group[b-xvj5g1rst5] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.checkbox-group input[type="checkbox"][b-xvj5g1rst5] {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    accent-color: #6366f1;
    flex-shrink: 0;
    cursor: pointer;
}

.checkbox-group label[b-xvj5g1rst5] {
    font-size: 14px;
    color: #334155;
    line-height: 1.5;
    cursor: pointer;
}

/* ── Upload ── */
.intake-upload-status[b-xvj5g1rst5] {
    margin: 0 0 8px;
    font-size: 13px;
    color: #0f766e;
    font-weight: 600;
}

.image-upload-container[b-xvj5g1rst5] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.images-preview-grid[b-xvj5g1rst5] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(88px, 1fr));
    gap: 10px;
}

.image-preview-item[b-xvj5g1rst5] {
    position: relative;
    aspect-ratio: 1;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
}

.image-preview-item img[b-xvj5g1rst5] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.btn-remove-image[b-xvj5g1rst5] {
    position: absolute;
    top: 6px;
    right: 6px;
    width: 22px;
    height: 22px;
    border: none;
    border-radius: 50%;
    background: rgba(15, 23, 42, 0.65);
    color: #fff;
    font-size: 14px;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.intake-add-photo[b-xvj5g1rst5] {
    position: relative;
    display: inline-flex;
    align-items: center;
    padding: 10px 18px;
    background: #f1f5f9;
    color: #334155;
    border: 1.5px dashed #cbd5e1;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s;
}

.intake-add-photo:hover[b-xvj5g1rst5] {
    background: #eef2ff;
    border-color: #a5b4fc;
    color: #4338ca;
}

.file-input-hidden[b-xvj5g1rst5] {
    position: absolute;
    width: 0.1px;
    height: 0.1px;
    opacity: 0;
    overflow: hidden;
}

.form-hint[b-xvj5g1rst5] {
    font-size: 12px;
    color: #94a3b8;
}

/* ── Submit bar ── */
.intake-submit-bar[b-xvj5g1rst5] {
    position: sticky;
    bottom: 0;
    margin-top: 8px;
    padding: 16px 20px 20px;
    background: rgba(244, 246, 251, 0.92);
    backdrop-filter: blur(12px);
    border-radius: 16px 16px 0 0;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
}

.submit-summary[b-xvj5g1rst5] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 12px;
}

.submit-summary-label[b-xvj5g1rst5] {
    font-size: 14px;
    color: #64748b;
    font-weight: 500;
}

.submit-summary-amount[b-xvj5g1rst5] {
    font-size: 22px;
    font-weight: 800;
    color: #4f46e5;
    letter-spacing: -0.02em;
}

/* ── Buttons ── */
.intake-btn[b-xvj5g1rst5] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 24px;
    border: none;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    transition: transform 0.1s, box-shadow 0.2s, opacity 0.2s;
}

.intake-btn--primary[b-xvj5g1rst5] {
    background: linear-gradient(135deg, #6366f1 0%, #7c3aed 100%);
    color: #fff;
    box-shadow: 0 8px 24px rgba(99, 102, 241, 0.35);
}

.intake-btn--primary:hover:not(:disabled)[b-xvj5g1rst5] {
    transform: translateY(-1px);
    box-shadow: 0 12px 28px rgba(99, 102, 241, 0.4);
}

.intake-btn--secondary[b-xvj5g1rst5] {
    background: #fff;
    color: #92400e;
    border: 1.5px solid #fde68a;
}

.intake-btn--block[b-xvj5g1rst5] {
    width: 100%;
}

.intake-btn:disabled[b-xvj5g1rst5] {
    opacity: 0.65;
    cursor: not-allowed;
    transform: none;
}

.btn-spinner[b-xvj5g1rst5] {
    width: 18px;
    height: 18px;
    border: 2px solid rgba(255, 255, 255, 0.35);
    border-top-color: #fff;
    border-radius: 50%;
    animation: intake-spin-b-xvj5g1rst5 0.65s linear infinite;
}

/* ── Billing modal ── */
.modal-backdrop[b-xvj5g1rst5] {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(15, 23, 42, 0.55);
    backdrop-filter: blur(4px);
    z-index: 1000;
}

.billing-modal[b-xvj5g1rst5] {
    width: min(520px, 100%);
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 24px 64px rgba(15, 23, 42, 0.2);
    overflow: hidden;
}

.billing-modal-header[b-xvj5g1rst5] {
    padding: 20px 22px;
    border-bottom: 1px solid #f1f5f9;
}

.billing-modal-header h2[b-xvj5g1rst5] {
    margin: 0;
    font-size: 20px;
    font-weight: 700;
    color: #0f172a;
}

.billing-modal-body[b-xvj5g1rst5] {
    padding: 20px 22px;
}

.billing-modal-error[b-xvj5g1rst5] {
    margin-top: 16px;
    padding: 12px 14px;
    border-radius: 10px;
    background: rgba(239, 68, 68, 0.12);
    border: 1px solid rgba(239, 68, 68, 0.35);
    color: #fecaca;
    font-size: 14px;
    line-height: 1.5;
}

.billing-modal-note[b-xvj5g1rst5] {
    margin: 0 0 16px;
    padding: 12px 14px;
    border-radius: 10px;
    background: #f5f3ff;
    color: #4338ca;
    font-size: 14px;
    line-height: 1.55;
}

.billing-form-grid[b-xvj5g1rst5] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}

.billing-modal-actions[b-xvj5g1rst5] {
    padding: 16px 22px 20px;
    border-top: 1px solid #f1f5f9;
    display: flex;
    justify-content: flex-end;
}

.billing-submit-button[b-xvj5g1rst5],
.submit-button[b-xvj5g1rst5] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 22px;
    border: none;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    background: linear-gradient(135deg, #6366f1 0%, #7c3aed 100%);
    color: #fff;
    box-shadow: 0 6px 20px rgba(99, 102, 241, 0.3);
    transition: transform 0.1s, box-shadow 0.2s, opacity 0.2s;
}

.submit-button:hover:not(:disabled)[b-xvj5g1rst5] {
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(99, 102, 241, 0.35);
}

.submit-button:disabled[b-xvj5g1rst5] {
    opacity: 0.65;
    cursor: not-allowed;
}

.product-selection-container[b-xvj5g1rst5] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

/* ── Responsive ── */
@media (max-width: 640px) {
    .intake-hero[b-xvj5g1rst5] {
        padding: 28px 0 20px;
    }

    .intake-card[b-xvj5g1rst5] {
        padding: 18px 16px 20px;
        border-radius: 14px;
    }

    .form-grid[b-xvj5g1rst5] {
        grid-template-columns: 1fr;
    }

    .selected-item[b-xvj5g1rst5] {
        flex-direction: column;
        align-items: stretch;
    }

    .selected-item-quantity[b-xvj5g1rst5] {
        justify-content: flex-end;
        flex-wrap: wrap;
    }

    .product-tabs[b-xvj5g1rst5] {
        flex-direction: column;
    }

    .billing-form-grid[b-xvj5g1rst5] {
        grid-template-columns: 1fr;
    }

    .intake-submit-bar[b-xvj5g1rst5] {
        margin-left: -20px;
        margin-right: -20px;
        border-radius: 0;
    }
}

.option-picker-modal[b-xvj5g1rst5] {
    max-width: 520px;
}

.option-picker-group[b-xvj5g1rst5] {
    margin-bottom: 16px;
}

.option-picker-group-title[b-xvj5g1rst5] {
    margin: 0 0 8px;
    font-weight: 700;
    color: #0f172a;
}

.option-picker-item[b-xvj5g1rst5] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    margin-bottom: 8px;
    cursor: pointer;
}

.option-price-delta[b-xvj5g1rst5] {
    margin-left: auto;
    color: #0f766e;
    font-size: 17px;
    font-weight: 800;
    white-space: nowrap;
}

.option-recommend-badge[b-xvj5g1rst5] {
    display: inline-block;
    margin-left: 6px;
    padding: 2px 8px;
    border-radius: 999px;
    background: linear-gradient(135deg, #f97316, #ef4444);
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.02em;
    vertical-align: middle;
}

.option-picker-actions[b-xvj5g1rst5] {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
}

.item-option-summary[b-xvj5g1rst5] {
    display: block;
    font-size: 12px;
    color: #64748b;
    margin-top: 4px;
}

.item-price-original[b-xvj5g1rst5] {
    text-decoration: line-through;
    color: #94a3b8;
    margin-right: 6px;
    font-size: 12px;
}
/* _content/cleanhub/Components/Pages/Login.razor.rz.scp.css */
.login-page[b-cyrgfknoc3] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans KR", sans-serif;
}

.login-card[b-cyrgfknoc3] {
    width: min(420px, 100%);
    padding: 40px 36px;
    background: #ffffff;
    border-radius: 20px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.1);
}

.login-brand[b-cyrgfknoc3] {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 22px;
    text-align: center;
}

.login-brand-title[b-cyrgfknoc3] {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 0.28em;
    font-size: 32px;
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1.1;
    margin: 0;
    font-family: "Segoe UI", Inter, Roboto, "Helvetica Neue", Arial, sans-serif;
}

.login-brand-svc[b-cyrgfknoc3] {
    color: #0c4a8f;
}

.login-brand-task[b-cyrgfknoc3] {
    color: #0ea5e9;
}

.login-brand-tagline[b-cyrgfknoc3] {
    margin: 10px 0 0;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.01em;
    color: #64748b;
    line-height: 1.5;
}

.login-signup-link[b-cyrgfknoc3] {
    margin-top: 20px;
    text-align: center;
    font-size: 13px;
    color: #64748b;
}

.login-signup-link a[b-cyrgfknoc3] {
    color: #0c4a8f;
    font-weight: 600;
    text-decoration: none;
}

.login-signup-link a:hover[b-cyrgfknoc3] {
    text-decoration: underline;
}

.link-separator[b-cyrgfknoc3] {
    margin: 0 8px;
    color: #cbd5e1;
}

.login-card h1[b-cyrgfknoc3] {
    margin: 0 0 8px;
    text-align: center;
    font-size: 22px;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.02em;
}

.login-subtitle[b-cyrgfknoc3] {
    margin: 0 0 28px;
    text-align: center;
    font-size: 14px;
    color: #64748b;
    line-height: 1.5;
}

.form-group[b-cyrgfknoc3] {
    margin-bottom: 18px;
}

.form-group label[b-cyrgfknoc3] {
    display: block;
    margin-bottom: 8px;
    font-size: 13px;
    font-weight: 600;
    color: #475569;
}

.form-group input[b-cyrgfknoc3] {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    font-size: 15px;
    color: #0f172a;
    background: #f8fafc;
    box-sizing: border-box;
    transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
}

.form-group input:focus[b-cyrgfknoc3] {
    outline: none;
    border-color: #6366f1;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.15);
}

.form-group input:disabled[b-cyrgfknoc3] {
    background-color: #f1f5f9;
    cursor: not-allowed;
    opacity: 0.7;
}

.submit-button[b-cyrgfknoc3] {
    width: 100%;
    margin-top: 8px;
    padding: 14px;
    background: linear-gradient(135deg, #6366f1, #8b5cf6);
    color: white;
    border: none;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: transform 0.15s, opacity 0.15s;
}

.submit-button:hover:not(:disabled)[b-cyrgfknoc3] {
    transform: translateY(-1px);
    opacity: 0.95;
}

.submit-button:disabled[b-cyrgfknoc3] {
    opacity: 0.6;
    cursor: not-allowed;
}

.error-message[b-cyrgfknoc3] {
    background: #fef2f2;
    color: #b91c1c;
    padding: 12px 14px;
    border-radius: 10px;
    margin-bottom: 20px;
    border: 1px solid #fecaca;
    font-size: 14px;
    line-height: 1.5;
}

.login-forgot-link[b-cyrgfknoc3] {
    margin-top: 14px;
    text-align: center;
    font-size: 13px;
}

.login-forgot-link a[b-cyrgfknoc3] {
    color: #0c4a8f;
    font-weight: 600;
    text-decoration: none;
}

.login-forgot-link a:hover[b-cyrgfknoc3] {
    text-decoration: underline;
}

@media (max-width: 480px) {
    .login-card[b-cyrgfknoc3] {
        padding: 32px 24px;
    }

    .login-brand-title[b-cyrgfknoc3] {
        font-size: 28px;
    }

    .login-brand-tagline[b-cyrgfknoc3] {
        font-size: 11px;
    }
}
/* _content/cleanhub/Components/Pages/Notices.razor.rz.scp.css */
.nt-page[b-gnakvkrc2e] { min-height: 100vh; background: linear-gradient(145deg, #f7f9ff, #f8fbff 55%, #fff8fc); color: #172033; }
.nt-shell[b-gnakvkrc2e] { max-width: 1240px; margin: 0 auto; padding: 0 24px 60px; }
.nt-subtitle[b-gnakvkrc2e] { margin: 5px 0 0; color: #8290a8; font-size: 13px; }
.nt-alert[b-gnakvkrc2e] { margin: 0 0 16px; padding: 12px 16px; border-radius: 12px; font-size: 14px; font-weight: 600; }
.nt-alert.success[b-gnakvkrc2e] { color: #047857; background: #ecfdf5; border: 1px solid #a7f3d0; }
.nt-alert.error[b-gnakvkrc2e] { color: #be123c; background: #fff1f2; border: 1px solid #fecdd3; }
.nt-loading[b-gnakvkrc2e] { min-height: 380px; display: grid; place-items: center; color: #8491a6; }
.nt-layout[b-gnakvkrc2e] { display: grid; grid-template-columns: 340px minmax(0, 1fr); gap: 18px; }
.nt-list-panel[b-gnakvkrc2e], .nt-editor[b-gnakvkrc2e] { background: rgba(255,255,255,.94); border: 1px solid #e4e9f3; border-radius: 20px; box-shadow: 0 14px 38px rgba(76,96,140,.09); }
.nt-list-panel[b-gnakvkrc2e] { overflow: hidden; align-self: start; }
.nt-list-head[b-gnakvkrc2e] { padding: 17px 18px; border-bottom: 1px solid #edf0f6; display: flex; justify-content: space-between; align-items: center; }
.nt-list-head strong[b-gnakvkrc2e] { font-size: 15px; }
.nt-list-head > span[b-gnakvkrc2e] { color: #8b96a8; font-size: 12px; }
.nt-list-head label[b-gnakvkrc2e] { color: #7b879b; font-size: 12px; display: flex; gap: 6px; align-items: center; }
.nt-list[b-gnakvkrc2e] { max-height: 670px; overflow-y: auto; padding: 8px; }
.nt-empty[b-gnakvkrc2e] { padding: 70px 15px; text-align: center; color: #9aa5b6; font-size: 13px; }
.nt-list-item[b-gnakvkrc2e] { width: 100%; border: 0; background: transparent; padding: 13px 12px; border-radius: 13px; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; cursor: pointer; text-align: left; transition: .18s ease; }
.nt-list-item:hover[b-gnakvkrc2e] { background: #f5f7ff; transform: translateX(2px); }
.nt-list-item.active[b-gnakvkrc2e] { background: linear-gradient(135deg, #eef2ff, #f5f1ff); box-shadow: inset 3px 0 #7c83ff; }
.nt-list-item strong[b-gnakvkrc2e] { color: #253149; font-size: 14px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; max-width: 100%; }
.nt-list-item > span:last-child[b-gnakvkrc2e] { color: #9aa5b6; font-size: 11px; }
.nt-list-flags[b-gnakvkrc2e] { display: flex; gap: 5px; min-height: 17px; }
.nt-badge[b-gnakvkrc2e] { font-size: 10px; font-weight: 700; padding: 2px 6px; border-radius: 999px; }
.nt-badge.pin[b-gnakvkrc2e] { color: #7c3aed; background: #f3e8ff; }
.nt-badge.off[b-gnakvkrc2e] { color: #64748b; background: #eef2f7; }
.nt-badge.image[b-gnakvkrc2e] { color: #0369a1; background: #e0f2fe; }
.nt-editor[b-gnakvkrc2e] { padding: 25px 27px; }
.nt-editor-head[b-gnakvkrc2e] { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 22px; }
.nt-kicker[b-gnakvkrc2e] { color: #7c83ff; letter-spacing: .13em; font-size: 10px; font-weight: 800; }
.nt-editor h2[b-gnakvkrc2e] { margin: 4px 0 0; font-size: 22px; }
.nt-field[b-gnakvkrc2e] { display: block; margin-bottom: 17px; }
.nt-field > span[b-gnakvkrc2e] { display: block; margin-bottom: 7px; color: #657187; font-size: 12px; font-weight: 700; }
.nt-field input[b-gnakvkrc2e], .nt-field textarea[b-gnakvkrc2e] { box-sizing: border-box; width: 100%; border: 1px solid #dfe5ef; border-radius: 12px; padding: 12px 13px; font: inherit; color: #253149; background: #fbfcff; transition: .18s; }
.nt-field textarea[b-gnakvkrc2e] { resize: vertical; min-height: 220px; line-height: 1.65; }
.nt-field input:focus[b-gnakvkrc2e], .nt-field textarea:focus[b-gnakvkrc2e] { outline: none; border-color: #9da3ff; box-shadow: 0 0 0 3px rgba(124,131,255,.13); background: white; }
.nt-options[b-gnakvkrc2e] { display: flex; gap: 24px; padding: 13px 15px; background: #f7f8fc; border-radius: 12px; margin-bottom: 18px; }
.nt-options label[b-gnakvkrc2e] { font-size: 13px; color: #536078; display: flex; gap: 7px; align-items: center; }
.nt-images[b-gnakvkrc2e] { padding: 16px; border: 1px dashed #d7ddea; border-radius: 14px; }
.nt-images-head[b-gnakvkrc2e] { display: flex; justify-content: space-between; align-items: center; }
.nt-images-head > div[b-gnakvkrc2e] { display: flex; flex-direction: column; gap: 3px; }
.nt-images-head strong[b-gnakvkrc2e] { font-size: 13px; }
.nt-images-head span[b-gnakvkrc2e] { color: #9aa5b6; font-size: 11px; }
.nt-upload[b-gnakvkrc2e] { position: relative; overflow: hidden; padding: 8px 13px; border-radius: 9px; color: #5258d9; background: #eef0ff; font-size: 12px; font-weight: 700; cursor: pointer; }
.nt-upload input[b-gnakvkrc2e] { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.nt-image-grid[b-gnakvkrc2e] { display: grid; grid-template-columns: repeat(5, 1fr); gap: 9px; margin-top: 13px; }
.nt-image[b-gnakvkrc2e] { position: relative; aspect-ratio: 1; overflow: hidden; border-radius: 10px; background: #f0f3f8; }
.nt-image img[b-gnakvkrc2e] { width: 100%; height: 100%; object-fit: cover; }
.nt-image button[b-gnakvkrc2e] { position: absolute; right: 5px; top: 5px; width: 22px; height: 22px; border: 0; border-radius: 50%; background: rgba(15,23,42,.72); color: white; cursor: pointer; }
.nt-image-pending[b-gnakvkrc2e] { padding: 9px; box-sizing: border-box; display: flex; flex-direction: column; justify-content: center; gap: 4px; text-align: center; word-break: break-all; color: #667085; font-size: 11px; }
.nt-image-pending small[b-gnakvkrc2e] { color: #8b93ff; }
.nt-actions[b-gnakvkrc2e] { display: flex; justify-content: flex-end; gap: 9px; margin-top: 22px; }
.nt-btn[b-gnakvkrc2e] { border: 0; border-radius: 11px; padding: 10px 16px; font-weight: 700; cursor: pointer; transition: .18s; }
.nt-btn:hover[b-gnakvkrc2e] { transform: translateY(-1px); }
.nt-btn:disabled[b-gnakvkrc2e] { opacity: .55; cursor: wait; transform: none; }
.nt-btn-primary[b-gnakvkrc2e] { color: white; background: linear-gradient(135deg, #747cff, #9a78f5); box-shadow: 0 7px 18px rgba(116,124,255,.22); }
.nt-btn-ghost[b-gnakvkrc2e] { color: #64748b; background: #eef1f6; }
.nt-btn-danger[b-gnakvkrc2e] { color: #e11d48; background: #fff1f2; }
.nt-save[b-gnakvkrc2e] { min-width: 130px; }
.nt-viewer[b-gnakvkrc2e] { min-height: 520px; }
.nt-detail-empty[b-gnakvkrc2e] { min-height: 430px; display: grid; place-items: center; }
.nt-view-date[b-gnakvkrc2e] { margin: 7px 0 0; color: #9aa5b6; font-size: 12px; }
.nt-view-content[b-gnakvkrc2e] { min-height: 220px; padding: 22px 3px; border-top: 1px solid #edf0f5; color: #3f4b60; font-size: 14px; line-height: 1.85; white-space: pre-wrap; word-break: break-word; }
.nt-view-images[b-gnakvkrc2e] { margin-top: 18px; }
.nt-view-images .nt-image[b-gnakvkrc2e] { display: block; cursor: zoom-in; }
@media (max-width: 850px) {
    .nt-shell[b-gnakvkrc2e] { padding: 0 14px 40px; }
    .nt-layout[b-gnakvkrc2e] { grid-template-columns: 1fr; }
    .nt-list[b-gnakvkrc2e] { max-height: 300px; }
    .nt-editor[b-gnakvkrc2e] { padding: 20px 16px; }
    .nt-image-grid[b-gnakvkrc2e] { grid-template-columns: repeat(3, 1fr); }
}
/* _content/cleanhub/Components/Pages/Orders.razor.rz.scp.css */
.orders-content[b-75ui3d34pm] {
    background: #ffffff;
    padding: 20px;
    border-radius: 16px;
    border: 1px solid rgba(148, 163, 184, 0.28);
    box-shadow: 0 8px 32px rgba(148, 163, 184, 0.1);
}

.orders-table-wrapper[b-75ui3d34pm] {
    overflow-x: auto;
}

.orders-table[b-75ui3d34pm] {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.orders-table thead[b-75ui3d34pm] {
    background-color: rgba(148, 163, 184, 0.1);
}

.orders-table th[b-75ui3d34pm] {
    padding: 12px;
    text-align: left;
    font-weight: 600;
    color: #64748b;
    border-bottom: 1px solid rgba(148, 163, 184, 0.3);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.orders-table td[b-75ui3d34pm] {
    padding: 12px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.22);
    color: #475569;
}

.orders-table tbody tr:hover[b-75ui3d34pm] {
    background-color: rgba(91, 124, 250, 0.04);
}

.badge[b-75ui3d34pm] {
    display: inline-block;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
}

.status-select[b-75ui3d34pm] {
    padding: 4px 8px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 600;
    border: 1px solid rgba(148, 163, 184, 0.4);
    background: #ffffff;
    color: #334155;
    cursor: pointer;
    transition: all 0.2s;
    min-width: 120px;
}

.status-select:focus[b-75ui3d34pm] {
    outline: none;
    border-color: #6366f1;
    box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.25);
}

.status-created[b-75ui3d34pm] {
    background-color: #d1ecf1;
    color: #0c5460;
}

.status-payment_pending[b-75ui3d34pm] {
    background-color: #ffe8cc;
    color: #9a5b00;
}

.status-payment_failed[b-75ui3d34pm] {
    background-color: #f8d7da;
    color: #721c24;
}

.status-payment_completed[b-75ui3d34pm] {
    background-color: #fff3cd;
    color: #856404;
}

.status-work_completed[b-75ui3d34pm] {
    background-color: #d4edda;
    color: #155724;
}

.status-processing[b-75ui3d34pm] {
    background-color: #fff3cd;
    color: #856404;
}

.status-cancelled[b-75ui3d34pm] {
    background-color: #f8d7da;
    color: #721c24;
}

.status-unknown[b-75ui3d34pm],
.status-select.status-unknown[b-75ui3d34pm] {
    background-color: #e2e3e5;
    color: #383d41;
    border-color: #d6d8db;
}

.btn[b-75ui3d34pm] {
    padding: 8px 16px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    transition: all 0.3s;
}

.btn-primary[b-75ui3d34pm] {
    background: linear-gradient(135deg, #6366f1, #8b5cf6);
    color: white;
}

.btn-primary:hover[b-75ui3d34pm] {
    opacity: 0.9;
}

.btn-sm[b-75ui3d34pm] {
    padding: 6px 12px;
    font-size: 12px;
}

.btn-view[b-75ui3d34pm] {
    background-color: #17a2b8;
    color: white;
}

.btn-view:hover[b-75ui3d34pm] {
    background-color: #138496;
}

.btn-complete[b-75ui3d34pm] {
    background-color: #28a745;
    color: white;
}

.btn-complete:hover[b-75ui3d34pm] {
    background-color: #218838;
}

.btn-cancel[b-75ui3d34pm] {
    background-color: #dc3545;
    color: white;
}

.btn-cancel:hover[b-75ui3d34pm] {
    background-color: #c82333;
}

.btn-secondary[b-75ui3d34pm] {
    background-color: #6c757d;
    color: white;
}

.btn-secondary:hover[b-75ui3d34pm] {
    background-color: #5a6268;
}

.action-buttons[b-75ui3d34pm] {
    display: flex;
    gap: 8px;
    align-items: center;
}

.empty-state[b-75ui3d34pm] {
    text-align: center;
    padding: 60px 20px;
    color: #64748b;
}

.pagination-info[b-75ui3d34pm] {
    margin-top: 20px;
    text-align: center;
    color: #64748b;
    font-size: 14px;
}

.loading-container[b-75ui3d34pm], .error-container[b-75ui3d34pm] {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: calc(100vh - 40px);
    font-size: 18px;
    color: #333;
}

.modal-overlay[b-75ui3d34pm] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(148, 163, 184, 0.35);
    backdrop-filter: blur(8px);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
    padding: 20px;
}

/* ── 모던 주문 상세 모달 ── */
.order-detail-modal[b-75ui3d34pm] {
    background: #ffffff;
    border-radius: 18px;
    max-width: 720px;
    width: 100%;
    max-height: 92vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 20px 50px rgba(91, 124, 250, 0.16);
    border: 1px solid rgba(148, 163, 184, 0.28);
}

.odm-loading[b-75ui3d34pm] {
    padding: 48px 24px;
    text-align: center;
    color: #64748b;
}

.odm-spinner[b-75ui3d34pm] {
    width: 36px;
    height: 36px;
    border: 3px solid #e2e8f0;
    border-top-color: #6366f1;
    border-radius: 50%;
    margin: 0 auto 16px;
    animation: odm-spin-b-75ui3d34pm 0.8s linear infinite;
}

@keyframes odm-spin-b-75ui3d34pm {
    to { transform: rotate(360deg); }
}

.odm-hero[b-75ui3d34pm] {
    position: relative;
    padding: 28px 28px 24px;
    color: #fff;
    background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
}

.odm-hero.hero-created[b-75ui3d34pm] {
    background: linear-gradient(135deg, #0ea5e9 0%, #6366f1 100%);
}

.odm-hero.hero-payment_completed[b-75ui3d34pm] {
    background: linear-gradient(135deg, #f59e0b 0%, #ea580c 100%);
}

.odm-hero.hero-work_completed[b-75ui3d34pm] {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
}

.odm-hero.hero-cancelled[b-75ui3d34pm] {
    background: linear-gradient(135deg, #94a3b8 0%, #64748b 100%);
}

.odm-close[b-75ui3d34pm] {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
    font-size: 22px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
}

.odm-close:hover[b-75ui3d34pm] {
    background: rgba(255, 255, 255, 0.35);
}

.odm-hero-top[b-75ui3d34pm] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}

.odm-order-id[b-75ui3d34pm] {
    font-size: 13px;
    opacity: 0.85;
    font-weight: 500;
}

.odm-status-badge[b-75ui3d34pm] {
    font-size: 11px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.25);
    text-transform: none;
}

.odm-hero-title[b-75ui3d34pm] {
    margin: 0 0 4px;
    font-size: 24px;
    font-weight: 700;
}

.odm-hero-sub[b-75ui3d34pm] {
    margin: 0 0 16px;
    font-size: 14px;
    opacity: 0.9;
}

.odm-hero-amount[b-75ui3d34pm] {
    font-size: 28px;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.odm-body[b-75ui3d34pm] {
    flex: 1;
    overflow-y: auto;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.odm-grid[b-75ui3d34pm] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.odm-card[b-75ui3d34pm] {
    background: #fff;
    border-radius: 12px;
    padding: 16px;
    border: 1px solid #e2e8f0;
}

.odm-card-title[b-75ui3d34pm] {
    margin: 0 0 12px;
    font-size: 13px;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.odm-kv[b-75ui3d34pm] {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 0;
    border-bottom: 1px solid #f1f5f9;
    font-size: 14px;
}

.odm-kv:last-child[b-75ui3d34pm] {
    border-bottom: none;
}

.odm-kv-full[b-75ui3d34pm] {
    flex-direction: column;
    gap: 4px;
}

.odm-k[b-75ui3d34pm] {
    color: #64748b;
    flex-shrink: 0;
}

.odm-v[b-75ui3d34pm] {
    color: #1e293b;
    text-align: right;
    word-break: break-all;
}

.odm-kv-full .odm-v[b-75ui3d34pm] {
    text-align: left;
}

.odm-note-card[b-75ui3d34pm] {
    background: #fffbeb;
    border-color: #fde68a;
}

.odm-note-text[b-75ui3d34pm] {
    margin: 0;
    font-size: 14px;
    color: #78350f;
    line-height: 1.6;
}

.odm-image-grid[b-75ui3d34pm] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
    gap: 10px;
}

.odm-image-link[b-75ui3d34pm] {
    display: block;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
}

.odm-image-thumb[b-75ui3d34pm] {
    width: 100%;
    height: 100px;
    object-fit: cover;
    display: block;
}

.odm-items[b-75ui3d34pm] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.odm-item-row[b-75ui3d34pm] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    padding: 12px;
    background: #f8fafc;
    border-radius: 8px;
}

.odm-item-name[b-75ui3d34pm] {
    display: block;
    font-weight: 600;
    color: #1e293b;
    font-size: 14px;
}

.odm-item-qty[b-75ui3d34pm] {
    display: block;
    font-size: 12px;
    color: #64748b;
}

.odm-item-options[b-75ui3d34pm],
.odm-item-discount[b-75ui3d34pm] {
    display: block;
    font-size: 12px;
    color: #64748b;
    margin-top: 2px;
}

.odm-item-discount[b-75ui3d34pm] {
    color: #dc2626;
}

.odm-item-unit-original[b-75ui3d34pm] {
    display: block;
    font-size: 12px;
    color: #64748b;
    text-decoration: line-through;
}

.odm-item-price[b-75ui3d34pm] {
    text-align: right;
}

.odm-item-unit[b-75ui3d34pm] {
    display: block;
    font-size: 12px;
    color: #64748b;
}

.odm-item-total[b-75ui3d34pm] {
    font-size: 15px;
    font-weight: 700;
    color: #1e293b;
}

.odm-total-row[b-75ui3d34pm] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 2px solid #e2e8f0;
    font-size: 15px;
    color: #64748b;
}

.odm-total-row strong[b-75ui3d34pm] {
    font-size: 20px;
    color: #6366f1;
}

.odm-consent-list[b-75ui3d34pm] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.odm-consent-item[b-75ui3d34pm] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 8px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}

.odm-consent-item.agreed[b-75ui3d34pm] {
    border-color: #bbf7d0;
    background: #f0fdf4;
}

.odm-consent-item.not-agreed[b-75ui3d34pm] {
    border-color: #fecaca;
    background: #fef2f2;
}

.odm-consent-item.optional[b-75ui3d34pm] {
    border-color: #334155;
    background: #f8fafc;
}

.odm-consent-icon[b-75ui3d34pm] {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 700;
    flex-shrink: 0;
    background: #e2e8f0;
    color: #64748b;
}

.odm-consent-item.agreed .odm-consent-icon[b-75ui3d34pm] {
    background: #22c55e;
    color: #fff;
}

.odm-consent-item.not-agreed .odm-consent-icon[b-75ui3d34pm] {
    background: #ef4444;
    color: #fff;
}

.odm-consent-item div[b-75ui3d34pm] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.odm-consent-item strong[b-75ui3d34pm] {
    font-size: 14px;
    color: #1e293b;
}

.odm-consent-item span[b-75ui3d34pm] {
    font-size: 12px;
    color: #64748b;
}

.odm-footer[b-75ui3d34pm] {
    padding: 16px 20px;
    background: #fff;
    border-top: 1px solid #e2e8f0;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

.odm-btn[b-75ui3d34pm] {
    padding: 10px 20px;
    border-radius: 8px;
    font-weight: 600;
}

.modal-content[b-75ui3d34pm] {
    background: white;
    border-radius: 8px;
    max-width: 600px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.modal-large[b-75ui3d34pm] {
    max-width: 900px;
}

.modal-header[b-75ui3d34pm] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    border-bottom: 1px solid #dee2e6;
}

.modal-header h2[b-75ui3d34pm] {
    margin: 0;
    color: #333;
}

.modal-close[b-75ui3d34pm] {
    background: none;
    border: none;
    font-size: 28px;
    cursor: pointer;
    color: #6c757d;
    padding: 0;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    transition: all 0.3s;
}

.modal-close:hover[b-75ui3d34pm] {
    background-color: #f8f9fa;
    color: #333;
}

.modal-body[b-75ui3d34pm] {
    padding: 20px;
}

.modal-footer[b-75ui3d34pm] {
    padding: 20px;
    border-top: 1px solid #dee2e6;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

.order-detail[b-75ui3d34pm] {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.detail-section[b-75ui3d34pm] {
    border-bottom: 1px solid #e9ecef;
    padding-bottom: 20px;
}

.detail-section:last-child[b-75ui3d34pm] {
    border-bottom: none;
}

.detail-section h3[b-75ui3d34pm] {
    margin: 0 0 15px 0;
    color: #333;
    font-size: 18px;
}

.detail-grid[b-75ui3d34pm] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
}

.detail-item[b-75ui3d34pm] {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.detail-item.full-width[b-75ui3d34pm] {
    grid-column: 1 / -1;
}

.detail-item label[b-75ui3d34pm] {
    font-weight: 600;
    color: #666;
    font-size: 14px;
}

.detail-item span[b-75ui3d34pm] {
    color: #333;
    font-size: 15px;
}

.detail-item .amount[b-75ui3d34pm] {
    font-size: 18px;
    font-weight: 600;
    color: #6366f1;
}

.items-table[b-75ui3d34pm] {
    width: 100%;
    border-collapse: collapse;
    margin-top: 10px;
}

.items-table th[b-75ui3d34pm] {
    padding: 10px;
    text-align: left;
    background-color: #f8f9fa;
    font-weight: 600;
    color: #333;
    border-bottom: 2px solid #dee2e6;
}

.items-table td[b-75ui3d34pm] {
    padding: 10px;
    border-bottom: 1px solid #dee2e6;
    color: #555;
}

.items-table tfoot[b-75ui3d34pm] {
    font-weight: 600;
}

.items-table tfoot td[b-75ui3d34pm] {
    border-top: 2px solid #dee2e6;
    padding-top: 15px;
}

.text-right[b-75ui3d34pm] {
    text-align: right;
}

.loading-text[b-75ui3d34pm], .error-text[b-75ui3d34pm] {
    text-align: center;
    padding: 40px;
    color: #6c757d;
}

@media (max-width: 768px) {
    .orders-header[b-75ui3d34pm] {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }

    .header-actions[b-75ui3d34pm] {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
    }

    .orders-table[b-75ui3d34pm] {
        font-size: 12px;
    }

    .orders-table th[b-75ui3d34pm],
    .orders-table td[b-75ui3d34pm] {
        padding: 8px;
    }

    .modal-content[b-75ui3d34pm] {
        width: 95%;
        max-height: 95vh;
    }

    .odm-grid[b-75ui3d34pm] {
        grid-template-columns: 1fr;
    }

    .order-detail-modal[b-75ui3d34pm] {
        max-height: 95vh;
    }

    .detail-grid[b-75ui3d34pm] {
        grid-template-columns: 1fr;
    }
}

/* 고객 취소 요청 / 예약 링크 */
.badge-cancel-req[b-75ui3d34pm] {
    display: inline-block;
    margin-left: 6px;
    background: #fef3c7;
    color: #b45309;
    font-weight: 700;
    animation: cancel-req-pulse-b-75ui3d34pm 1.6s ease-in-out infinite;
}

@keyframes cancel-req-pulse-b-75ui3d34pm {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.55; }
}

.odm-link-row[b-75ui3d34pm] {
    display: flex;
    gap: 8px;
    align-items: center;
}

.odm-link-input[b-75ui3d34pm] {
    flex: 1;
    min-width: 0;
    padding: 8px 10px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    font-size: 12px;
    color: #475569;
    background: #f8fafc;
}

.odm-link-hint[b-75ui3d34pm] {
    margin: 8px 0 0;
    font-size: 12px;
    color: #94a3b8;
    line-height: 1.5;
}

.odm-cancel-box[b-75ui3d34pm] {
    margin-top: 14px;
    padding: 12px 14px;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 13px;
}

.odm-cancel-box strong[b-75ui3d34pm] {
    font-size: 14px;
}

.odm-cancel-box span[b-75ui3d34pm] {
    color: #475569;
}

.odm-cancel-box.requested[b-75ui3d34pm] {
    background: #fffbeb;
    border: 1px solid #fde68a;
}

.odm-cancel-box.requested strong[b-75ui3d34pm] {
    color: #b45309;
}

.odm-cancel-box.cancelled[b-75ui3d34pm] {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}

.odm-cancel-box.cancelled strong[b-75ui3d34pm] {
    color: #64748b;
}

.odm-cancel-box.rejected[b-75ui3d34pm] {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
}

.odm-cancel-box.rejected strong[b-75ui3d34pm] {
    color: #15803d;
}

.odm-cancel-help[b-75ui3d34pm] {
    color: #92794e !important;
    font-size: 12px;
}

/* _content/cleanhub/Components/Pages/Payment.razor.rz.scp.css */
.form-actions[b-l7swhwicum] {
    margin-top: 8px;
}

.secret-key-saved[b-l7swhwicum] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
    padding: 10px 12px;
    background: rgba(16, 185, 129, 0.1);
    border: 1px solid rgba(16, 185, 129, 0.25);
    border-radius: 10px;
    font-size: 13px;
    color: #0f766e;
}

.secret-key-badge[b-l7swhwicum] {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 999px;
    background: #10b981;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}
/* _content/cleanhub/Components/Pages/Products.razor.rz.scp.css */
/* 상품 관리 — 밝은 파스텔 */

.products-page[b-yf0twxha3x] {
    min-height: 100vh;
    background:
        radial-gradient(ellipse 70% 45% at 10% -10%, rgba(167, 139, 250, 0.16), transparent 55%),
        radial-gradient(ellipse 55% 40% at 95% 5%, rgba(107, 184, 240, 0.14), transparent 50%),
        linear-gradient(180deg, #f8fafc 0%, #eef4ff 100%);
    color: #334155;
    font-family: "Segoe UI", "Noto Sans KR", Pretendard, "Apple SD Gothic Neo", sans-serif;
}

.prd-shell[b-yf0twxha3x] {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px 48px;
}

.prd-loading[b-yf0twxha3x] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    gap: 16px;
    color: #64748b;
}

.prd-spinner[b-yf0twxha3x] {
    width: 40px;
    height: 40px;
    border: 3px solid #e2e8f0;
    border-top-color: #818cf8;
    border-radius: 50%;
    animation: prd-spin-b-yf0twxha3x 0.75s linear infinite;
}

@keyframes prd-spin-b-yf0twxha3x {
    to { transform: rotate(360deg); }
}

/* ── 상단 바 (뒤로가기는 admin-shared.css ch-admin-topbar 사용) ── */

.prd-toggle[b-yf0twxha3x] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #64748b;
    cursor: pointer;
    padding: 8px 12px;
    background: rgba(148, 163, 184, 0.12);
    border-radius: 8px;
    border: 1px solid rgba(148, 163, 184, 0.3);
}

.prd-toggle input[b-yf0twxha3x] {
    accent-color: #818cf8;
}

.prd-btn[b-yf0twxha3x] {
    padding: 10px 18px;
    border: none;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: opacity 0.15s, transform 0.1s;
}

.prd-btn:hover[b-yf0twxha3x] {
    opacity: 0.92;
    transform: translateY(-1px);
}

.prd-btn-primary[b-yf0twxha3x] {
    background: linear-gradient(135deg, #6366f1, #8b5cf6);
    color: #fff;
}

.prd-btn-secondary[b-yf0twxha3x] {
    background: #fff;
    color: #4338ca;
    border: 1px solid rgba(99, 102, 241, 0.35);
}

.prd-btn:disabled[b-yf0twxha3x] {
    opacity: 0.55;
    cursor: not-allowed;
    transform: none;
}

.code-modal[b-yf0twxha3x] {
    max-width: 440px;
}

.code-modal-hint[b-yf0twxha3x] {
    margin: 0 0 16px;
    line-height: 1.55;
}

/* ── 케어 유형 필터 (세그먼트) ── */
.prd-filter-bar[b-yf0twxha3x] {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    margin: 0 0 20px;
    padding: 4px;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(148, 163, 184, 0.35);
    border-radius: 12px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.prd-filter-btn[b-yf0twxha3x] {
    -webkit-appearance: none;
    appearance: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 9px 16px;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: #64748b;
    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.prd-filter-btn:hover[b-yf0twxha3x] {
    color: #334155;
    background: rgba(148, 163, 184, 0.14);
}

.prd-filter-btn.active[b-yf0twxha3x] {
    background: #fff;
    color: #1e293b;
    box-shadow:
        0 1px 2px rgba(15, 23, 42, 0.06),
        0 0 0 1px rgba(148, 163, 184, 0.28);
}

.prd-filter-count[b-yf0twxha3x] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    padding: 0 7px;
    border-radius: 8px;
    background: rgba(100, 116, 139, 0.12);
    color: #475569;
    font-size: 12px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.prd-filter-btn.active .prd-filter-count[b-yf0twxha3x] {
    background: rgba(79, 70, 229, 0.12);
    color: #4338ca;
}

/* ── 요약 통계 ── */
.prd-summary[b-yf0twxha3x] {
    display: flex;
    gap: 14px;
    margin-bottom: 24px;
    flex-wrap: wrap;
}

.prd-stat[b-yf0twxha3x] {
    flex: 1;
    min-width: 120px;
    padding: 16px 20px;
    background: #ffffff;
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.prd-stat-value[b-yf0twxha3x] {
    font-size: 24px;
    font-weight: 800;
    color: #1e293b;
    letter-spacing: -0.02em;
}

.prd-stat-label[b-yf0twxha3x] {
    font-size: 12px;
    color: #64748b;
    font-weight: 500;
}

/* ── 메시지 ── */
.prd-message[b-yf0twxha3x] {
    padding: 12px 16px;
    border-radius: 8px;
    margin-bottom: 16px;
    font-size: 14px;
}

.prd-message-success[b-yf0twxha3x] {
    background: rgba(16, 185, 129, 0.12);
    color: #0f766e;
    border: 1px solid rgba(16, 185, 129, 0.25);
}

.prd-message-error[b-yf0twxha3x] {
    background: rgba(239, 68, 68, 0.12);
    color: #be123c;
    border: 1px solid rgba(239, 68, 68, 0.25);
}

/* ── 상품 그리드 ── */
.products-content[b-yf0twxha3x] {
    margin-top: 8px;
}

.products-grid[b-yf0twxha3x] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 16px;
}

.product-card[b-yf0twxha3x] {
    background: #ffffff;
    border: 1px solid rgba(148, 163, 184, 0.3);
    border-radius: 14px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform 0.2s, border-color 0.2s, box-shadow 0.2s;
}

.product-card:hover[b-yf0twxha3x] {
    transform: translateY(-3px);
    border-color: rgba(129, 140, 248, 0.35);
    box-shadow: 0 12px 32px rgba(148, 163, 184, 0.14);
}

.product-card.inactive[b-yf0twxha3x] {
    opacity: 0.72;
}

.product-image[b-yf0twxha3x] {
    position: relative;
    width: 100%;
    height: 180px;
    background: #eef2ff;
    overflow: hidden;
}

.product-image img[b-yf0twxha3x] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-image-placeholder[b-yf0twxha3x] {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 48px;
    opacity: 0.35;
}

.product-type-tag[b-yf0twxha3x] {
    position: absolute;
    top: 10px;
    left: 10px;
    background: rgba(16, 185, 129, 0.9);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 20px;
}

.product-info[b-yf0twxha3x] {
    flex: 1;
    padding: 16px 18px 12px;
}

.product-title-row[b-yf0twxha3x] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 8px;
}

.product-info h3[b-yf0twxha3x] {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: #1e293b;
    line-height: 1.35;
}

.product-price[b-yf0twxha3x] {
    font-size: 20px;
    font-weight: 700;
    color: #4f46e5;
    margin: 0 0 8px;
    letter-spacing: -0.02em;
}

.product-description[b-yf0twxha3x] {
    color: #64748b;
    font-size: 13px;
    margin: 0 0 10px;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.product-meta[b-yf0twxha3x] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.badge[b-yf0twxha3x] {
    padding: 3px 10px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 600;
    flex-shrink: 0;
}

.badge.active[b-yf0twxha3x] {
    background: rgba(16, 185, 129, 0.15);
    color: #0f766e;
    border: 1px solid rgba(16, 185, 129, 0.3);
}

.badge.inactive[b-yf0twxha3x] {
    background: rgba(148, 163, 184, 0.12);
    color: #64748b;
    border: 1px solid rgba(148, 163, 184, 0.2);
}

.badge.recurring[b-yf0twxha3x] {
    background: rgba(59, 130, 246, 0.12);
    color: #2563eb;
    border: 1px solid rgba(59, 130, 246, 0.25);
}

.sort-no[b-yf0twxha3x] {
    font-size: 11px;
    color: #475569;
}

.product-actions[b-yf0twxha3x] {
    display: flex;
    gap: 8px;
    padding: 12px 18px 16px;
    border-top: 1px solid rgba(148, 163, 184, 0.22);
}

.btn[b-yf0twxha3x] {
    flex: 1;
    padding: 10px 12px;
    border: none;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: opacity 0.15s;
}

.btn:hover:not(:disabled)[b-yf0twxha3x] {
    opacity: 0.88;
}

.btn:disabled[b-yf0twxha3x] {
    opacity: 0.45;
    cursor: not-allowed;
}

.btn-edit[b-yf0twxha3x] {
    background: rgba(99, 102, 241, 0.2);
    color: #4f46e5;
    border: 1px solid rgba(99, 102, 241, 0.35);
}

.btn-delete[b-yf0twxha3x] {
    background: rgba(239, 68, 68, 0.12);
    color: #be123c;
    border: 1px solid rgba(239, 68, 68, 0.25);
}

.btn-restore[b-yf0twxha3x] {
    background: rgba(16, 185, 129, 0.12);
    color: #0f766e;
    border: 1px solid rgba(16, 185, 129, 0.25);
}

/* ── 빈 상태 ── */
.empty-state[b-yf0twxha3x] {
    text-align: center;
    padding: 72px 24px;
    background: #ffffff;
    border: 1px dashed rgba(148, 163, 184, 0.35);
    border-radius: 16px;
}

.empty-icon[b-yf0twxha3x] {
    font-size: 48px;
    margin-bottom: 16px;
    opacity: 0.5;
}

.empty-state h3[b-yf0twxha3x] {
    margin: 0 0 8px;
    color: #334155;
    font-size: 18px;
}

.empty-state p[b-yf0twxha3x] {
    margin: 0 0 24px;
    color: #64748b;
    font-size: 14px;
}

/* ── 모달 ── */
.modal-overlay[b-yf0twxha3x] {
    position: fixed;
    inset: 0;
    background: rgba(148, 163, 184, 0.35);
    backdrop-filter: blur(8px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    padding: 20px;
}

.modal-content.product-modal[b-yf0twxha3x] {
    background: #ffffff;
    border: 1px solid rgba(148, 163, 184, 0.3);
    border-radius: 18px;
    width: 100%;
    max-width: 560px;
    max-height: 92vh;
    overflow-y: auto;
    box-shadow: 0 20px 50px rgba(91, 124, 250, 0.16);
    color: #334155;
}

.modal-header[b-yf0twxha3x] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 22px 24px 18px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.3);
}

.modal-eyebrow[b-yf0twxha3x] {
    margin: 0 0 4px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #818cf8;
}

.modal-header h2[b-yf0twxha3x] {
    margin: 0;
    font-size: 20px;
    font-weight: 700;
    color: #0f172a;
}

.modal-close[b-yf0twxha3x] {
    background: rgba(148, 163, 184, 0.22);
    border: none;
    font-size: 22px;
    color: #64748b;
    cursor: pointer;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.15s;
}

.modal-close:hover[b-yf0twxha3x] {
    background: rgba(148, 163, 184, 0.4);
    color: #1e293b;
}

.modal-body[b-yf0twxha3x] {
    padding: 20px 24px 24px;
}

.form-group[b-yf0twxha3x] {
    margin-bottom: 18px;
}

.form-group label[b-yf0twxha3x] {
    display: block;
    margin-bottom: 8px;
    color: #64748b;
    font-size: 13px;
    font-weight: 600;
}

.required[b-yf0twxha3x] {
    color: #f87171;
}

.form-input[b-yf0twxha3x] {
    width: 100%;
    padding: 11px 14px;
    background: #ffffff;
    border: 1px solid rgba(148, 163, 184, 0.4);
    border-radius: 10px;
    font-size: 14px;
    color: #1e293b;
    box-sizing: border-box;
    transition: border-color 0.15s;
}

.form-input[b-yf0twxha3x]::placeholder {
    color: #94a3b8;
}

.form-input:disabled[b-yf0twxha3x] {
    opacity: 0.5;
    cursor: not-allowed;
}

.form-input:focus[b-yf0twxha3x] {
    outline: none;
    border-color: #818cf8;
    box-shadow: 0 0 0 3px rgba(129, 140, 248, 0.15);
}

textarea.form-input[b-yf0twxha3x] {
    resize: vertical;
    min-height: 88px;
}

.checkbox-label[b-yf0twxha3x] {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    font-weight: 500;
    color: #475569;
}

.checkbox-label input[type="checkbox"][b-yf0twxha3x] {
    width: 18px;
    height: 18px;
    accent-color: #818cf8;
    cursor: pointer;
}

.form-actions[b-yf0twxha3x] {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid rgba(148, 163, 184, 0.3);
}

.form-actions .btn-primary[b-yf0twxha3x] {
    background: linear-gradient(135deg, #6366f1, #8b5cf6);
    color: #fff;
    border: none;
    padding: 11px 22px;
    border-radius: 8px;
    font-weight: 600;
    flex: unset;
}

.form-actions .btn-secondary[b-yf0twxha3x] {
    background: transparent;
    color: #64748b;
    border: 1px solid rgba(148, 163, 184, 0.4);
    padding: 11px 22px;
    border-radius: 8px;
    flex: unset;
}

/* ── 이미지 업로드 ── */
.image-upload-container[b-yf0twxha3x] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.images-preview-grid[b-yf0twxha3x] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
    gap: 10px;
}

.image-preview-item[b-yf0twxha3x] {
    position: relative;
    aspect-ratio: 1;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, 0.35);
    background: #f4f7fb;
}

.image-preview-item img[b-yf0twxha3x] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.image-preview-item .btn-remove-image[b-yf0twxha3x] {
    position: absolute;
    top: 6px;
    right: 6px;
    background: rgba(239, 68, 68, 0.9);
    color: #fff;
    border: none;
    border-radius: 50%;
    width: 26px;
    height: 26px;
    font-size: 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

.file-input[b-yf0twxha3x] {
    width: 100%;
    padding: 12px;
    border: 2px dashed rgba(148, 163, 184, 0.4);
    border-radius: 8px;
    background: rgba(91, 124, 250, 0.03);
    color: #64748b;
    cursor: pointer;
    font-size: 13px;
}

.file-input:hover:not(:disabled)[b-yf0twxha3x] {
    border-color: #818cf8;
}

.form-hint[b-yf0twxha3x] {
    display: block;
    margin-top: 6px;
    color: #64748b;
    font-size: 12px;
}

@media (max-width: 768px) {
    .prd-shell[b-yf0twxha3x] {
        padding: 0 16px 32px;
    }

    .prd-topbar[b-yf0twxha3x] {
        flex-direction: column;
        align-items: stretch;
    }

    .prd-topbar-actions[b-yf0twxha3x] {
        flex-direction: column;
        align-items: stretch;
    }

    .prd-toggle[b-yf0twxha3x] {
        justify-content: center;
    }

    .prd-summary[b-yf0twxha3x] {
        flex-direction: column;
    }

    .products-grid[b-yf0twxha3x] {
        grid-template-columns: 1fr;
    }

    .product-actions[b-yf0twxha3x] {
        flex-direction: column;
    }
}

.discount-row[b-yf0twxha3x] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.option-group-editor[b-yf0twxha3x] {
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 14px;
    margin-bottom: 12px;
    background: #f8fafc;
}

.option-group-head[b-yf0twxha3x] {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 8px;
    align-items: center;
    margin-bottom: 10px;
}

.option-group-meta[b-yf0twxha3x] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
}

.option-max-select[b-yf0twxha3x] {
    width: 80px;
}

.option-item-editor[b-yf0twxha3x] {
    display: grid;
    grid-template-columns: 1fr 120px auto;
    gap: 8px;
    margin-bottom: 8px;
}

.checkbox-label.compact[b-yf0twxha3x],
.btn.compact[b-yf0twxha3x] {
    font-size: 13px;
    padding: 6px 10px;
}

.product-price-original[b-yf0twxha3x] {
    text-decoration: line-through;
    color: #64748b;
    margin-right: 8px;
    font-weight: 500;
}

.product-option-tag[b-yf0twxha3x] {
    margin: 6px 0 0;
    font-size: 12px;
    color: #0f766e;
}
/* _content/cleanhub/Components/Pages/QR.razor.rz.scp.css */
.qr-display[b-2gzhvoakjp] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 28px;
    padding: 24px;
    background: #f8fafc;
    border-radius: 16px;
    border: 1px solid rgba(148, 163, 184, 0.28);
}

.qr-frame[b-2gzhvoakjp] {
    padding: 16px;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 10px 28px rgba(91, 124, 250, 0.12);
}

.qr-image[b-2gzhvoakjp] {
    display: block;
    width: min(280px, 70vw);
    height: min(280px, 70vw);
}

.qr-actions[b-2gzhvoakjp] {
    width: 100%;
    max-width: 480px;
    text-align: center;
}

.qr-url[b-2gzhvoakjp] {
    padding: 14px 16px;
    margin: 0 0 16px;
    background: #ffffff;
    border: 1px solid rgba(148, 163, 184, 0.35);
    border-radius: 12px;
    word-break: break-all;
    color: #475569;
    font-size: 13px;
    line-height: 1.5;
}

.qr-buttons[b-2gzhvoakjp] {
    display: flex;
    gap: 10px;
    justify-content: center;
    flex-wrap: wrap;
}

.qr-error-detail[b-2gzhvoakjp] {
    margin: 10px 0 0;
    font-size: 14px;
}

.qr-help-box[b-2gzhvoakjp] {
    margin-top: 20px;
    padding: 20px;
    background: #fff7ed;
    border: 1px solid rgba(249, 182, 122, 0.45);
    border-radius: 12px;
    text-align: left;
}

.qr-help-title[b-2gzhvoakjp] {
    margin: 0 0 12px;
    font-size: 14px;
    font-weight: 600;
    color: #b45309;
}

.qr-help-list[b-2gzhvoakjp] {
    margin: 0 0 12px;
    padding-left: 20px;
    font-size: 13px;
    color: #475569;
    line-height: 1.6;
}

.qr-sql[b-2gzhvoakjp] {
    margin: 0 0 12px;
    padding: 14px;
    background: #eef2ff;
    border: 1px solid rgba(148, 163, 184, 0.3);
    border-radius: 10px;
    font-size: 12px;
    color: #64748b;
    overflow-x: auto;
    line-height: 1.5;
}

.qr-help-note[b-2gzhvoakjp] {
    margin: 0 0 6px;
    font-size: 12px;
    color: #475569;
    line-height: 1.5;
}

.qr-help-note--muted[b-2gzhvoakjp] {
    color: #64748b;
}
/* _content/cleanhub/Components/Pages/RecurringBillingComplete.razor.rz.scp.css */
.recurring-complete-container[b-qsjue99g06] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background:
        radial-gradient(circle at top left, rgba(15, 118, 110, 0.14), transparent 30%),
        linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
}

.recurring-complete-card[b-qsjue99g06] {
    width: min(560px, 100%);
    padding: 36px;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.12);
    text-align: center;
}

.status-label[b-qsjue99g06] {
    margin: 0 0 10px;
    color: #6366f1;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.recurring-complete-card h1[b-qsjue99g06] {
    margin: 0 0 14px;
    color: #0f172a;
    font-size: 30px;
    line-height: 1.3;
}

.description[b-qsjue99g06] {
    margin: 0 0 24px;
    color: #475569;
    line-height: 1.7;
}

.detail-box[b-qsjue99g06],
.schedule-box[b-qsjue99g06],
.schedule-list[b-qsjue99g06] {
    margin-bottom: 20px;
}

.order-box[b-qsjue99g06] {
    margin-bottom: 24px;
    padding: 18px;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}

.order-box span[b-qsjue99g06] {
    display: block;
    margin-bottom: 6px;
    color: #64748b;
    font-size: 13px;
}

.order-box strong[b-qsjue99g06] {
    color: #0f172a;
    font-size: 20px;
}

.detail-box[b-qsjue99g06],
.schedule-box[b-qsjue99g06] {
    padding: 18px;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}

.detail-row[b-qsjue99g06] {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 0;
    color: #334155;
}

.detail-row strong[b-qsjue99g06],
.schedule-box strong[b-qsjue99g06] {
    color: #0f172a;
}

.schedule-box span[b-qsjue99g06] {
    display: block;
    margin-bottom: 8px;
    color: #64748b;
    font-size: 13px;
}

.schedule-list[b-qsjue99g06] {
    text-align: left;
}

.schedule-item[b-qsjue99g06] {
    padding: 14px 16px;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}

.schedule-item + .schedule-item[b-qsjue99g06] {
    margin-top: 10px;
}

.schedule-item strong[b-qsjue99g06] {
    display: block;
    margin-bottom: 6px;
    color: #0f172a;
}

.schedule-item p[b-qsjue99g06] {
    margin: 0;
    color: #475569;
    line-height: 1.6;
}

.confirm-button[b-qsjue99g06] {
    display: inline-block;
    width: 100%;
    padding: 14px 18px;
    border: 0;
    border-radius: 10px;
    background: linear-gradient(135deg, #6366f1, #8b5cf6);
    color: #ffffff;
    font-weight: 700;
    cursor: pointer;
}

.confirm-button:hover[b-qsjue99g06] {
    background: #4f46e5;
}

.close-help[b-qsjue99g06] {
    margin: 12px 0 0;
    color: #64748b;
    font-size: 13px;
}
/* _content/cleanhub/Components/Pages/RecurringCustomers.razor.rz.scp.css */
.tabs[b-cnaokq3lkx] {
    display: flex;
    gap: 8px;
    margin-bottom: 20px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.28);
    overflow-x: auto;
}

.tab[b-cnaokq3lkx] {
    padding: 12px 18px;
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    color: #64748b;
    white-space: nowrap;
    transition: color 0.2s, border-color 0.2s;
}

.tab:hover[b-cnaokq3lkx] {
    color: #4f46e5;
}

.tab.active[b-cnaokq3lkx] {
    color: #4f46e5;
    border-bottom-color: #818cf8;
    font-weight: 650;
}

.customers-content[b-cnaokq3lkx] {
    background: transparent;
    padding: 0;
    border: none;
    box-shadow: none;
}

.rc-list[b-cnaokq3lkx] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.rc-card[b-cnaokq3lkx] {
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: 18px;
    box-shadow: 0 10px 28px rgba(99, 124, 250, 0.08);
    overflow: hidden;
}

.rc-card-head[b-cnaokq3lkx] {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 20px 22px 16px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.2);
    background: linear-gradient(180deg, rgba(238, 242, 255, 0.65), rgba(255, 255, 255, 0.4));
}

.rc-card-identity[b-cnaokq3lkx] {
    min-width: 0;
    flex: 1;
}

.rc-card-name[b-cnaokq3lkx] {
    margin: 0 0 10px;
    font-size: 20px;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.02em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rc-card-chips[b-cnaokq3lkx] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.rc-chip[b-cnaokq3lkx] {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    color: #475569;
    background: #f1f5f9;
    border: 1px solid rgba(148, 163, 184, 0.3);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rc-chip-product[b-cnaokq3lkx] {
    color: #4338ca;
    background: #eef2ff;
    border-color: rgba(129, 140, 248, 0.35);
    max-width: min(280px, 100%);
}

.rc-card-contact[b-cnaokq3lkx] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
    min-width: 0;
    max-width: 42%;
}

.rc-contact-line[b-cnaokq3lkx] {
    font-size: 13px;
    color: #475569;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rc-contact-email[b-cnaokq3lkx] {
    color: #64748b;
}

.rc-card-body[b-cnaokq3lkx] {
    display: grid;
    grid-template-columns: 1.35fr 1fr;
    gap: 16px;
    padding: 18px 22px;
}

.rc-panel[b-cnaokq3lkx] {
    min-width: 0;
    padding: 16px;
    border-radius: 14px;
    background: #f8fafc;
    border: 1px solid rgba(148, 163, 184, 0.22);
}

.rc-panel-title[b-cnaokq3lkx] {
    margin: 0 0 12px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
}

.rc-meta-grid[b-cnaokq3lkx] {
    margin: 0 0 14px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 14px;
}

.rc-meta-grid > div[b-cnaokq3lkx] {
    min-width: 0;
}

.rc-meta-grid dt[b-cnaokq3lkx] {
    margin: 0 0 4px;
    font-size: 11px;
    font-weight: 600;
    color: #94a3b8;
}

.rc-meta-grid dd[b-cnaokq3lkx] {
    margin: 0;
    font-size: 14px;
    font-weight: 650;
    color: #1e293b;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rc-care-tools[b-cnaokq3lkx] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rc-inline-label[b-cnaokq3lkx] {
    font-size: 12px;
    font-weight: 600;
    color: #64748b;
    white-space: nowrap;
}

.care-day-input-row[b-cnaokq3lkx],
.care-override-row[b-cnaokq3lkx] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.care-day-input[b-cnaokq3lkx] {
    width: 64px;
    height: 34px;
    padding: 0 8px;
    border: 1px solid rgba(148, 163, 184, 0.4);
    border-radius: 8px;
    font-size: 13px;
    color: #1e293b;
    background: #fff;
    box-sizing: border-box;
}

.care-skipped-badge[b-cnaokq3lkx] {
    font-size: 11px;
    font-weight: 650;
    color: #b45309;
    padding: 4px 10px;
    border-radius: 999px;
    background: #fff7ed;
    border: 1px solid rgba(249, 182, 122, 0.5);
    white-space: nowrap;
}

.billing-status[b-cnaokq3lkx] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 12px;
    min-width: 0;
}

.rc-billing-status[b-cnaokq3lkx] {
    font-size: 14px;
    color: #0f172a;
}

.rc-billing-card[b-cnaokq3lkx],
.rc-billing-result[b-cnaokq3lkx] {
    display: block;
    font-size: 12px;
    color: #64748b;
    line-height: 1.45;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rc-billing-result[b-cnaokq3lkx] {
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.billing-log-btn[b-cnaokq3lkx] {
    width: fit-content;
}

.rc-card-actions[b-cnaokq3lkx] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 14px 22px 18px;
    border-top: 1px solid rgba(148, 163, 184, 0.2);
    background: rgba(248, 250, 252, 0.8);
}

.btn[b-cnaokq3lkx] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 14px;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
    transition: opacity 0.2s, transform 0.15s;
}

.btn:hover:not(:disabled)[b-cnaokq3lkx] {
    opacity: 0.92;
    transform: translateY(-1px);
}

.btn:disabled[b-cnaokq3lkx] {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none;
}

.btn-sm[b-cnaokq3lkx] {
    padding: 7px 12px;
    font-size: 12px;
}

.btn-primary[b-cnaokq3lkx] {
    background: linear-gradient(135deg, #6b8cff, #8b7cf6);
    color: #fff;
}

.btn-activate[b-cnaokq3lkx] {
    background: #34d399;
    color: #fff;
}

.btn-charge[b-cnaokq3lkx] {
    background: #5ec4a8;
    color: #fff;
}

.btn-remove[b-cnaokq3lkx] {
    background: #94a3b8;
    color: #fff;
}

.btn-deactivate[b-cnaokq3lkx] {
    background: #f093a5;
    color: #fff;
}

.btn-secondary[b-cnaokq3lkx] {
    background: #fff;
    color: #475569;
    border: 1px solid rgba(148, 163, 184, 0.4);
}

.btn-secondary:hover:not(:disabled)[b-cnaokq3lkx] {
    background: #f8fafc;
    border-color: rgba(91, 124, 250, 0.35);
    color: #4f46e5;
}

.btn-danger[b-cnaokq3lkx] {
    background-color: #f43f5e;
    color: #fff;
}

.btn-danger:hover[b-cnaokq3lkx] {
    background-color: #e11d48;
}

.empty-state[b-cnaokq3lkx] {
    text-align: center;
    padding: 56px 20px;
    color: #64748b;
    background: rgba(255, 255, 255, 0.9);
    border: 1px dashed rgba(148, 163, 184, 0.4);
    border-radius: 16px;
}

.deactivate-reason[b-cnaokq3lkx] {
    margin: 8px 0 0;
    color: #be123c;
    font-size: 12px;
    line-height: 1.4;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.modal-backdrop[b-cnaokq3lkx] {
    position: fixed;
    inset: 0;
    background: rgba(148, 163, 184, 0.35);
    backdrop-filter: blur(8px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    z-index: 1000;
}

.billing-modal[b-cnaokq3lkx] {
    width: min(720px, 100%);
    background: #ffffff;
    border: 1px solid rgba(148, 163, 184, 0.3);
    border-radius: 18px;
    box-shadow: 0 20px 50px rgba(91, 124, 250, 0.16);
    overflow: hidden;
}

.billing-modal-header[b-cnaokq3lkx],
.billing-modal-actions[b-cnaokq3lkx] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 18px 20px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.3);
}

.billing-modal-actions[b-cnaokq3lkx] {
    border-bottom: none;
    border-top: 1px solid rgba(148, 163, 184, 0.3);
    justify-content: flex-end;
}

.billing-modal-header h2[b-cnaokq3lkx] {
    margin: 0;
    font-size: 18px;
    color: #0f172a;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

.billing-modal-body[b-cnaokq3lkx] {
    padding: 20px;
}

.billing-modal-error[b-cnaokq3lkx] {
    margin-top: 14px;
    padding: 12px 14px;
    border-radius: 10px;
    background: #ffe8ed;
    border: 1px solid rgba(240, 147, 165, 0.45);
    color: #be123c;
    font-size: 14px;
    line-height: 1.5;
}

.billing-modal-note[b-cnaokq3lkx] {
    margin: 0 0 16px;
    padding: 12px 14px;
    border-radius: 10px;
    background: #eef2ff;
    border: 1px solid rgba(129, 140, 248, 0.3);
    color: #4338ca;
    font-size: 14px;
    line-height: 1.5;
}

.billing-form-grid[b-cnaokq3lkx] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.form-field[b-cnaokq3lkx] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.form-field label[b-cnaokq3lkx] {
    font-size: 13px;
    font-weight: 600;
    color: #64748b;
}

.form-field input[b-cnaokq3lkx] {
    height: 42px;
    padding: 0 12px;
    border: 1px solid rgba(148, 163, 184, 0.4);
    border-radius: 10px;
    font-size: 14px;
    color: #1e293b;
    background: #ffffff;
}

.form-field input:focus[b-cnaokq3lkx] {
    outline: none;
    border-color: #6366f1;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.2);
}

.form-textarea[b-cnaokq3lkx] {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid rgba(148, 163, 184, 0.4);
    border-radius: 10px;
    font-size: 14px;
    resize: vertical;
    box-sizing: border-box;
    color: #1e293b;
    background: #fff;
}

.modal-close[b-cnaokq3lkx] {
    border: none;
    background: transparent;
    color: #64748b;
    cursor: pointer;
    font-size: 14px;
    flex-shrink: 0;
}

.deactivate-modal[b-cnaokq3lkx] {
    max-width: 480px;
}

.log-modal[b-cnaokq3lkx] {
    width: min(640px, 100%);
    max-height: min(80vh, 720px);
    display: flex;
    flex-direction: column;
}

.log-modal .billing-modal-body[b-cnaokq3lkx] {
    overflow-y: auto;
    max-height: 55vh;
}

.log-loading[b-cnaokq3lkx],
.log-empty[b-cnaokq3lkx] {
    margin: 0;
    color: #64748b;
    text-align: center;
    padding: 24px 0;
}

.log-list[b-cnaokq3lkx] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.log-item[b-cnaokq3lkx] {
    padding: 12px 14px;
    border-radius: 10px;
    background: #f8fafc;
    border: 1px solid rgba(148, 163, 184, 0.28);
}

.log-item-header[b-cnaokq3lkx] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 4px;
}

.log-action[b-cnaokq3lkx] {
    font-weight: 600;
    color: #334155;
    font-size: 14px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

.log-time[b-cnaokq3lkx] {
    font-size: 12px;
    color: #64748b;
    white-space: nowrap;
    flex-shrink: 0;
}

.log-reason[b-cnaokq3lkx] {
    margin: 4px 0 0;
    font-size: 13px;
    color: #475569;
    line-height: 1.5;
    word-break: break-word;
}

.log-actor[b-cnaokq3lkx] {
    display: block;
    margin-top: 4px;
    font-size: 11px;
    color: #64748b;
}

@media (max-width: 900px) {
    .rc-card-head[b-cnaokq3lkx] {
        flex-direction: column;
        align-items: stretch;
    }

    .rc-card-contact[b-cnaokq3lkx] {
        align-items: flex-start;
        max-width: 100%;
    }

    .rc-card-body[b-cnaokq3lkx] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .billing-form-grid[b-cnaokq3lkx] {
        grid-template-columns: 1fr;
    }

    .rc-card-actions[b-cnaokq3lkx] {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .rc-card-actions .btn[b-cnaokq3lkx] {
        width: 100%;
    }
}

@media (max-width: 520px) {
    .rc-meta-grid[b-cnaokq3lkx] {
        grid-template-columns: 1fr;
    }

    .rc-card-actions[b-cnaokq3lkx] {
        grid-template-columns: 1fr;
    }
}
/* _content/cleanhub/Components/Pages/Signup.razor.rz.scp.css */
.login-page[b-kc7ww6zq47] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background:
        radial-gradient(ellipse 90% 60% at 50% -10%, rgba(99, 102, 241, 0.14), transparent 55%),
        radial-gradient(ellipse 50% 40% at 100% 0%, rgba(14, 165, 233, 0.08), transparent 50%),
        #f4f6fb;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans KR", sans-serif;
}

.login-card[b-kc7ww6zq47] {
    background: #ffffff;
    border-radius: 24px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.1);
}

.login-brand[b-kc7ww6zq47] {
    display: flex;
    flex-direction: column;
    margin-bottom: 22px;
}

.login-brand-title[b-kc7ww6zq47] {
    display: flex;
    align-items: baseline;
    gap: 0.28em;
    font-size: 32px;
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1.1;
    margin: 0;
    font-family: "Segoe UI", Inter, Roboto, "Helvetica Neue", Arial, sans-serif;
}

.login-brand-svc[b-kc7ww6zq47] {
    color: #0c4a8f;
}

.login-brand-task[b-kc7ww6zq47] {
    color: #0ea5e9;
}

.login-brand-tagline[b-kc7ww6zq47] {
    margin: 10px 0 0;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.01em;
    color: #64748b;
    line-height: 1.5;
}

.signup-page[b-kc7ww6zq47] {
    padding: 32px 24px;
}

.signup-shell[b-kc7ww6zq47] {
    width: min(1080px, 100%);
    display: grid;
    grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
    gap: 24px;
    align-items: stretch;
}

.signup-aside[b-kc7ww6zq47] {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.signup-brand[b-kc7ww6zq47] {
    align-items: flex-start;
    text-align: left;
    padding: 12px 8px 0;
}

.signup-hero[b-kc7ww6zq47] {
    padding: 8px;
}

.signup-badge[b-kc7ww6zq47] {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(14, 165, 233, 0.12);
    color: #0369a1;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.signup-hero h1[b-kc7ww6zq47] {
    margin: 16px 0 10px;
    font-size: 34px;
    line-height: 1.15;
    color: #0f172a;
    letter-spacing: -0.04em;
}

.signup-hero p[b-kc7ww6zq47] {
    margin: 0;
    font-size: 15px;
    line-height: 1.7;
    color: #475569;
}

.signup-summary-card[b-kc7ww6zq47] {
    padding: 24px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(226, 232, 240, 0.9);
    border-radius: 20px;
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.08);
    backdrop-filter: blur(8px);
}

.signup-summary-card h2[b-kc7ww6zq47] {
    margin: 0 0 14px;
    font-size: 18px;
    color: #0f172a;
}

.signup-summary-list[b-kc7ww6zq47] {
    margin: 0;
    padding-left: 18px;
    color: #475569;
    font-size: 14px;
    line-height: 1.8;
}

.signup-card[b-kc7ww6zq47] {
    width: 100%;
    padding: 36px;
}

.signup-form-header[b-kc7ww6zq47] {
    margin-bottom: 24px;
}

.signup-form-header h2[b-kc7ww6zq47] {
    margin: 0 0 8px;
    font-size: 24px;
    color: #0f172a;
    letter-spacing: -0.03em;
}

.signup-form-header p[b-kc7ww6zq47] {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: #64748b;
}

.signup-form-grid[b-kc7ww6zq47] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 16px;
}

.form-group[b-kc7ww6zq47] {
    margin-bottom: 0;
}

.form-group label[b-kc7ww6zq47] {
    display: block;
    margin-bottom: 8px;
    font-size: 13px;
    font-weight: 600;
    color: #475569;
}

.form-group input[b-kc7ww6zq47] {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid #dbe2ea;
    border-radius: 12px;
    font-size: 15px;
    color: #0f172a;
    background: #f8fafc;
    box-sizing: border-box;
    transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
}

.form-group input:focus[b-kc7ww6zq47] {
    outline: none;
    border-color: #0ea5e9;
    background: #ffffff;
    box-shadow: 0 0 0 4px rgba(14, 165, 233, 0.14);
}

.form-group input:disabled[b-kc7ww6zq47] {
    background-color: #f1f5f9;
    cursor: not-allowed;
    opacity: 0.72;
}

.form-group--full[b-kc7ww6zq47] {
    grid-column: 1 / -1;
}

.field-hint[b-kc7ww6zq47] {
    margin: 8px 0 0;
    font-size: 12px;
    color: #64748b;
    line-height: 1.5;
}

.field-optional[b-kc7ww6zq47] {
    color: #94a3b8;
    font-weight: 500;
}

.signup-pricing-box[b-kc7ww6zq47] {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 50px;
    padding: 12px 14px;
    border: 1px solid #dbeafe;
    border-radius: 12px;
    background: linear-gradient(180deg, #f8fbff, #eff6ff);
}

.signup-pricing-value[b-kc7ww6zq47] {
    font-size: 16px;
    font-weight: 700;
    color: #0c4a8f;
}

.signup-pricing-sub[b-kc7ww6zq47] {
    margin-top: 4px;
    font-size: 12px;
    color: #64748b;
}

.signup-submit-button[b-kc7ww6zq47] {
    margin-top: 10px;
}

.submit-button[b-kc7ww6zq47] {
    width: 100%;
    padding: 14px 16px;
    background: linear-gradient(135deg, #0c4a8f, #0ea5e9);
    color: #ffffff;
    border: none;
    border-radius: 14px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: transform 0.15s, opacity 0.15s, box-shadow 0.15s;
    box-shadow: 0 14px 30px rgba(14, 165, 233, 0.18);
}

.submit-button:hover:not(:disabled)[b-kc7ww6zq47] {
    transform: translateY(-1px);
    opacity: 0.97;
}

.submit-button:disabled[b-kc7ww6zq47] {
    opacity: 0.6;
    cursor: not-allowed;
    box-shadow: none;
}

.error-message[b-kc7ww6zq47] {
    background: #fef2f2;
    color: #b91c1c;
    padding: 12px 14px;
    border-radius: 12px;
    margin-bottom: 20px;
    border: 1px solid #fecaca;
    font-size: 14px;
    line-height: 1.5;
}

.success-message[b-kc7ww6zq47] {
    background: #ecfdf5;
    color: #047857;
    padding: 12px 14px;
    border-radius: 10px;
    margin-bottom: 20px;
    border: 1px solid #a7f3d0;
    font-size: 14px;
    line-height: 1.5;
}

.login-signup-link[b-kc7ww6zq47] {
    margin-top: 20px;
    text-align: center;
    font-size: 13px;
    color: #64748b;
}

.login-signup-link a[b-kc7ww6zq47] {
    color: #0c4a8f;
    font-weight: 600;
    text-decoration: none;
}

.login-signup-link a:hover[b-kc7ww6zq47] {
    text-decoration: underline;
}

@media (max-width: 920px) {
    .signup-shell[b-kc7ww6zq47] {
        grid-template-columns: 1fr;
    }

    .signup-brand[b-kc7ww6zq47] {
        align-items: center;
        text-align: center;
    }

    .signup-hero[b-kc7ww6zq47] {
        text-align: center;
    }
}

@media (max-width: 640px) {
    .signup-page[b-kc7ww6zq47] {
        padding: 20px 16px;
    }

    .signup-card[b-kc7ww6zq47] {
        padding: 28px 22px;
    }

    .signup-form-grid[b-kc7ww6zq47] {
        grid-template-columns: 1fr;
    }

    .signup-hero h1[b-kc7ww6zq47] {
        font-size: 28px;
    }
}
/* _content/cleanhub/Components/Pages/Stats.razor.rz.scp.css */
.st-container[b-f4r8aeu79c] {
    max-width: 1100px;
    margin: 0 auto;
    padding: 24px 24px 56px;
    font-family: "Segoe UI", "Noto Sans KR", Pretendard, "Apple SD Gothic Neo", sans-serif;
    color: #1e293b;
}

.st-loading[b-f4r8aeu79c] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 60vh;
    color: #64748b;
}

.st-top-nav[b-f4r8aeu79c] {
    margin-bottom: 18px;
}

.st-header[b-f4r8aeu79c] {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 24px;
}

.st-header h1[b-f4r8aeu79c] {
    margin: 0;
    font-size: 26px;
    font-weight: 750;
    letter-spacing: -0.02em;
    color: #0f172a;
}

.st-header-sub[b-f4r8aeu79c] {
    margin: 6px 0 0;
    font-size: 13px;
    color: #64748b;
}

.st-month-nav[b-f4r8aeu79c] {
    display: flex;
    align-items: center;
    gap: 6px;
    background: #fff;
    border: 1px solid rgba(148, 163, 184, 0.32);
    border-radius: 12px;
    padding: 6px 8px;
    box-shadow: 0 6px 16px rgba(148, 163, 184, 0.12);
}

.st-btn-icon[b-f4r8aeu79c] {
    width: 32px;
    height: 32px;
    border: none;
    border-radius: 8px;
    background: #f1f5f9;
    color: #475569;
    font-size: 18px;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}

.st-btn-icon:hover[b-f4r8aeu79c] {
    background: #dbe4ff;
    color: #3d5af1;
}

.st-month-label[b-f4r8aeu79c] {
    min-width: 96px;
    text-align: center;
    font-weight: 700;
    font-size: 15px;
    color: #334155;
}

.st-message[b-f4r8aeu79c] {
    padding: 12px 16px;
    border-radius: 12px;
    margin-bottom: 18px;
    font-size: 14px;
}

.st-error[b-f4r8aeu79c] {
    background: #ffe8ed;
    color: #be123c;
    border: 1px solid rgba(240, 147, 165, 0.4);
}

.st-empty[b-f4r8aeu79c] {
    padding: 40px;
    text-align: center;
    color: #94a3b8;
}

/* ── KPI 카드 ─────────────────────────── */
.st-kpi-grid[b-f4r8aeu79c] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 20px;
}

.st-kpi[b-f4r8aeu79c] {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 20px;
    border-radius: 18px;
    background: #fff;
    border: 1px solid rgba(148, 163, 184, 0.28);
    box-shadow: 0 10px 30px rgba(99, 124, 250, 0.08);
    position: relative;
    overflow: hidden;
}

.st-kpi[b-f4r8aeu79c]::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    border-radius: 5px 0 0 5px;
}

.st-kpi-primary[b-f4r8aeu79c]::before { background: linear-gradient(180deg, #6b8cff, #8b7cf6); }
.st-kpi-mint[b-f4r8aeu79c]::before { background: #5ec4a8; }
.st-kpi-rose[b-f4r8aeu79c]::before { background: #f093a5; }
.st-kpi-violet[b-f4r8aeu79c]::before { background: #a78bfa; }

.st-kpi-icon[b-f4r8aeu79c] {
    font-size: 24px;
    line-height: 1;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: #f4f7fb;
    flex-shrink: 0;
}

.st-kpi-body[b-f4r8aeu79c] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.st-kpi-label[b-f4r8aeu79c] {
    font-size: 13px;
    color: #64748b;
    font-weight: 600;
}

.st-kpi-value[b-f4r8aeu79c] {
    font-size: 28px;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.1;
}

.st-kpi-value small[b-f4r8aeu79c] {
    font-size: 14px;
    font-weight: 600;
    color: #94a3b8;
    margin-left: 3px;
}

.st-kpi-value-money[b-f4r8aeu79c] {
    font-size: 22px;
}

.st-kpi-sub[b-f4r8aeu79c] {
    font-size: 12px;
    color: #94a3b8;
}

/* ── 차트 카드 ─────────────────────────── */
.st-charts[b-f4r8aeu79c] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 20px;
}

.st-card[b-f4r8aeu79c] {
    background: #fff;
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: 18px;
    padding: 22px;
    box-shadow: 0 10px 30px rgba(99, 124, 250, 0.08);
    margin-bottom: 16px;
}

.st-card-head[b-f4r8aeu79c] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 18px;
    gap: 12px;
    flex-wrap: wrap;
}

.st-card-head h2[b-f4r8aeu79c] {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    color: #334155;
}

.st-card-caption[b-f4r8aeu79c] {
    font-size: 12px;
    color: #94a3b8;
}

.st-chart-legend[b-f4r8aeu79c] {
    display: flex;
    gap: 12px;
    font-size: 12px;
    color: #64748b;
}

.st-chart-legend span[b-f4r8aeu79c] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.st-swatch[b-f4r8aeu79c] {
    width: 10px;
    height: 10px;
    border-radius: 3px;
    display: inline-block;
}

.sw-completed[b-f4r8aeu79c] { background: #5ec4a8; }
.sw-pending[b-f4r8aeu79c] { background: #6bb8f0; }
.sw-cancelled[b-f4r8aeu79c] { background: #f093a5; }

/* ── 막대 차트 ─────────────────────────── */
.st-bar-chart[b-f4r8aeu79c] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 10px;
    height: 200px;
}

.st-bar-col[b-f4r8aeu79c] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    flex: 1;
    height: 100%;
    min-width: 0;
}

.st-bar-value[b-f4r8aeu79c] {
    font-size: 11px;
    font-weight: 700;
    color: #475569;
    margin-bottom: 6px;
    white-space: nowrap;
}

.st-bar-track[b-f4r8aeu79c] {
    width: 100%;
    max-width: 46px;
    height: 150px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.st-bar[b-f4r8aeu79c] {
    width: 100%;
    border-radius: 8px 8px 4px 4px;
    min-height: 3px;
    transition: height 0.4s ease;
}

.st-bar-revenue[b-f4r8aeu79c] {
    background: linear-gradient(180deg, #a78bfa, #8b7cf6);
}

.st-bar-revenue.current[b-f4r8aeu79c] {
    background: linear-gradient(180deg, #6b8cff, #3d5af1);
    box-shadow: 0 6px 14px rgba(61, 90, 241, 0.28);
}

.st-bar-stack[b-f4r8aeu79c] {
    width: 100%;
    max-width: 46px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    border-radius: 8px 8px 4px 4px;
    overflow: hidden;
}

.st-seg[b-f4r8aeu79c] {
    width: 100%;
    min-height: 2px;
    transition: height 0.4s ease;
}

.st-bar-label[b-f4r8aeu79c] {
    margin-top: 8px;
    font-size: 12px;
    color: #94a3b8;
    font-weight: 600;
}

.st-bar-label.current[b-f4r8aeu79c] {
    color: #3d5af1;
    font-weight: 800;
}

/* ── 표 ─────────────────────────── */
.st-table-wrap[b-f4r8aeu79c] {
    overflow-x: auto;
}

.st-table[b-f4r8aeu79c] {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.st-table th[b-f4r8aeu79c],
.st-table td[b-f4r8aeu79c] {
    padding: 12px 14px;
    text-align: left;
    border-bottom: 1px solid rgba(148, 163, 184, 0.22);
}

.st-table th[b-f4r8aeu79c] {
    font-size: 12px;
    font-weight: 700;
    color: #64748b;
    background: #f8fafc;
}

.st-table th.num[b-f4r8aeu79c],
.st-table td.num[b-f4r8aeu79c] {
    text-align: right;
}

.st-table td.money[b-f4r8aeu79c] {
    font-weight: 700;
    color: #0f172a;
}

.st-table tbody tr.current[b-f4r8aeu79c] {
    background: #eef4ff;
}

.st-table tbody tr.current td[b-f4r8aeu79c] {
    font-weight: 700;
    color: #1e293b;
}

.st-table tfoot td[b-f4r8aeu79c] {
    font-weight: 800;
    color: #334155;
    background: #f8fafc;
    border-top: 2px solid rgba(148, 163, 184, 0.35);
}

@media (max-width: 900px) {
    .st-kpi-grid[b-f4r8aeu79c] {
        grid-template-columns: repeat(2, 1fr);
    }

    .st-charts[b-f4r8aeu79c] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .st-container[b-f4r8aeu79c] {
        padding: 16px 14px 40px;
    }

    .st-kpi-grid[b-f4r8aeu79c] {
        grid-template-columns: 1fr;
    }

    .st-kpi-value[b-f4r8aeu79c] {
        font-size: 24px;
    }
}
/* _content/cleanhub/Components/Pages/Subscription.razor.rz.scp.css */
/* ── 상태 패널 ── */
.sub-status-panel[b-f9pncr79ky] {
    margin-bottom: 20px;
    padding: 22px 24px;
    border-radius: 16px;
    border: 1px solid rgba(148, 163, 184, 0.28);
    background: #ffffff;
    box-shadow: inset 0 1px 0 rgba(148, 163, 184, 0.12);
}

.sub-status-panel--trial[b-f9pncr79ky] {
    border-color: rgba(14, 165, 233, 0.28);
    background:
        radial-gradient(ellipse 80% 120% at 0% 0%, rgba(14, 165, 233, 0.12), transparent 55%),
        #ffffff;
}

.sub-status-panel--active[b-f9pncr79ky] {
    border-color: rgba(16, 185, 129, 0.28);
    background:
        radial-gradient(ellipse 80% 120% at 0% 0%, rgba(16, 185, 129, 0.12), transparent 55%),
        #ffffff;
}

.sub-status-panel--warning[b-f9pncr79ky] {
    border-color: rgba(245, 158, 11, 0.28);
    background:
        radial-gradient(ellipse 80% 120% at 0% 0%, rgba(245, 158, 11, 0.1), transparent 55%),
        #ffffff;
}

.sub-status-panel--locked[b-f9pncr79ky] {
    border-color: rgba(248, 113, 113, 0.28);
    background:
        radial-gradient(ellipse 80% 120% at 0% 0%, rgba(248, 113, 113, 0.1), transparent 55%),
        #ffffff;
}

.sub-status-panel__head[b-f9pncr79ky] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 14px;
    margin-bottom: 12px;
}

.sub-status-badge[b-f9pncr79ky] {
    display: inline-flex;
    align-items: center;
    padding: 5px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.02em;
    box-shadow: 0 2px 8px rgba(148, 163, 184, 0.08);
}

.sub-status-badge--trial[b-f9pncr79ky] {
    background: linear-gradient(135deg, #0284c7, #0ea5e9);
    color: #fff;
}

.sub-status-badge--active[b-f9pncr79ky] {
    background: linear-gradient(135deg, #15803d, #22c55e);
    color: #fff;
}

.sub-status-badge--warning[b-f9pncr79ky] {
    background: linear-gradient(135deg, #b45309, #f59e0b);
    color: #fff;
}

.sub-status-badge--locked[b-f9pncr79ky] {
    background: linear-gradient(135deg, #b91c1c, #ef4444);
    color: #fff;
}

.sub-status-remaining[b-f9pncr79ky] {
    font-size: 22px;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.03em;
}

.sub-status-summary[b-f9pncr79ky] {
    margin: 0;
    font-size: 14px;
    line-height: 1.65;
    color: #64748b;
}

.sub-status-deadline[b-f9pncr79ky] {
    margin: 12px 0 0;
    padding-top: 12px;
    border-top: 1px solid rgba(148, 163, 184, 0.22);
    font-size: 13px;
    color: #64748b;
}

.sub-status-deadline--due[b-f9pncr79ky] {
    color: #be123c;
    font-weight: 600;
}

/* ── 구독 정보 ── */
.sub-info-list[b-f9pncr79ky] {
    margin: 0;
    display: grid;
    gap: 0;
}

.sub-info-row[b-f9pncr79ky] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 12px 0;
    font-size: 14px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.16);
}

.sub-info-row:last-child[b-f9pncr79ky] {
    border-bottom: none;
    padding-bottom: 0;
}

.sub-info-row:first-child[b-f9pncr79ky] {
    padding-top: 0;
}

.sub-info-row dt[b-f9pncr79ky] {
    margin: 0;
    color: #64748b;
    font-weight: 500;
}

.sub-info-row dd[b-f9pncr79ky] {
    margin: 0;
    color: #334155;
    font-weight: 600;
}

.sub-info-fee[b-f9pncr79ky] {
    font-size: 17px;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.02em;
    background: linear-gradient(135deg, #e0e7ff, #a5b4fc);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.sub-warning[b-f9pncr79ky] {
    color: #b45309;
    font-weight: 600;
    margin-top: 14px;
    font-size: 13px;
}

.sub-hint[b-f9pncr79ky] {
    color: #64748b;
    font-size: 13px;
    margin-bottom: 18px;
    line-height: 1.65;
}

.sub-hint strong[b-f9pncr79ky] {
    color: #475569;
    font-weight: 600;
}

.sub-empty[b-f9pncr79ky] {
    margin: 0;
    padding: 20px 0 4px;
    text-align: center;
    font-size: 14px;
    color: #475569;
}

/* ── 결제 카드 ── */
.sub-payment-card[b-f9pncr79ky] {
    margin-bottom: 20px;
}

.sub-payment-amount[b-f9pncr79ky] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-bottom: 22px;
    padding: 18px 20px;
    border-radius: 14px;
    background:
        radial-gradient(ellipse 100% 100% at 100% 0%, rgba(99, 102, 241, 0.14), transparent 60%),
        #f4f7fb;
    border: 1px solid rgba(129, 140, 248, 0.2);
    box-shadow: inset 0 1px 0 rgba(148, 163, 184, 0.12);
}

.sub-payment-amount__label[b-f9pncr79ky] {
    font-size: 13px;
    font-weight: 600;
    color: #64748b;
    letter-spacing: 0.01em;
}

.sub-payment-amount__value[b-f9pncr79ky] {
    font-family: "Segoe UI", Inter, Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 30px;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.04em;
    line-height: 1;
    color: #0f172a;
    text-shadow: 0 0 24px rgba(165, 180, 252, 0.25);
}

.sub-payment-amount__unit[b-f9pncr79ky] {
    margin-left: 6px;
    font-size: 14px;
    font-weight: 600;
    color: #818cf8;
    letter-spacing: 0;
}

/* ── 결제 입력 폼 ── */
.sub-payment-form[b-f9pncr79ky] {
    padding: 20px;
    border-radius: 14px;
    background: #f4f7fb;
    border: 1px solid rgba(148, 163, 184, 0.22);
    box-shadow: inset 0 1px 0 rgba(91, 124, 250, 0.04);
}

.form-row[b-f9pncr79ky] {
    display: flex;
    gap: 12px;
}

.form-field[b-f9pncr79ky] {
    display: flex;
    flex-direction: column;
    gap: 7px;
    margin-bottom: 16px;
    flex: 1;
}

.form-field:last-child[b-f9pncr79ky] {
    margin-bottom: 0;
}

.form-row .form-field[b-f9pncr79ky] {
    margin-bottom: 16px;
}

.form-row:last-child .form-field[b-f9pncr79ky] {
    margin-bottom: 0;
}

.sub-payment-form > .form-field:last-child[b-f9pncr79ky],
.sub-payment-form > .form-row:last-child .form-field[b-f9pncr79ky] {
    margin-bottom: 0;
}

.form-field label[b-f9pncr79ky] {
    font-size: 12px;
    font-weight: 600;
    color: #64748b;
    letter-spacing: 0.02em;
    text-transform: none;
}

.sub-input[b-f9pncr79ky] {
    width: 100%;
    padding: 13px 15px;
    border: 1px solid rgba(148, 163, 184, 0.3);
    border-radius: 10px;
    font-size: 15px;
    font-weight: 500;
    color: #1e293b;
    background: #ffffff;
    box-sizing: border-box;
    box-shadow: inset 0 1px 2px rgba(148, 163, 184, 0.14);
    transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
    -webkit-appearance: none;
    appearance: none;
}

.sub-input[b-f9pncr79ky]::placeholder {
    color: #94a3b8;
    font-weight: 400;
}

.sub-input:hover:not(:disabled)[b-f9pncr79ky] {
    border-color: rgba(91, 124, 250, 0.28);
    background: #ffffff;
}

.sub-input:focus[b-f9pncr79ky] {
    outline: none;
    border-color: rgba(129, 140, 248, 0.55);
    background: #ffffff;
    box-shadow:
        inset 0 1px 2px rgba(148, 163, 184, 0.14),
        0 0 0 3px rgba(99, 102, 241, 0.18);
}

.sub-input:disabled[b-f9pncr79ky] {
    opacity: 0.45;
    cursor: not-allowed;
}

.sub-input:-webkit-autofill[b-f9pncr79ky],
.sub-input:-webkit-autofill:hover[b-f9pncr79ky],
.sub-input:-webkit-autofill:focus[b-f9pncr79ky] {
    -webkit-text-fill-color: #1e293b;
    -webkit-box-shadow: 0 0 0 1000px #ffffff inset;
    box-shadow: 0 0 0 1000px #ffffff inset;
    border: 1px solid rgba(129, 140, 248, 0.35);
    transition: background-color 9999s ease-out;
}

.sub-payment-actions[b-f9pncr79ky] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid rgba(148, 163, 184, 0.22);
}

/* ── 취소 카드 ── */
.sub-cancel-card[b-f9pncr79ky] {
    margin-bottom: 20px;
}

.sub-cancel-card--revoke[b-f9pncr79ky] {
    border-color: rgba(129, 140, 248, 0.22);
    background:
        radial-gradient(ellipse 80% 80% at 0% 0%, rgba(99, 102, 241, 0.1), transparent 60%),
        #ffffff;
}

[b-f9pncr79ky] .ch-btn-danger {
    background: linear-gradient(135deg, #b91c1c, #dc2626);
    color: #fff;
    border: none;
    border-radius: 10px;
    padding: 12px 18px;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(220, 38, 38, 0.25);
}

[b-f9pncr79ky] .ch-btn-danger:hover:not(:disabled) {
    opacity: 0.92;
}

[b-f9pncr79ky] .ch-btn-danger:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    box-shadow: none;
}

/* ── 결제 내역 ── */
.sub-history-card[b-f9pncr79ky] {
    margin-top: 4px;
}

.sub-table[b-f9pncr79ky] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.sub-table thead th[b-f9pncr79ky] {
    padding: 10px 8px 12px;
    text-align: left;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #475569;
    border-bottom: 1px solid rgba(148, 163, 184, 0.3);
}

.sub-table tbody td[b-f9pncr79ky] {
    padding: 12px 8px;
    text-align: left;
    color: #64748b;
    border-bottom: 1px solid rgba(148, 163, 184, 0.12);
    vertical-align: top;
}

.sub-table tbody tr:last-child td[b-f9pncr79ky] {
    border-bottom: none;
}

.sub-table tbody tr:hover td[b-f9pncr79ky] {
    color: #475569;
    background: rgba(91, 124, 250, 0.03);
}

@media (max-width: 640px) {
    .sub-status-panel[b-f9pncr79ky] {
        padding: 18px;
    }

    .form-row[b-f9pncr79ky] {
        flex-direction: column;
        gap: 0;
    }

    .sub-payment-amount[b-f9pncr79ky] {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .sub-payment-amount__value[b-f9pncr79ky] {
        font-size: 26px;
    }

    .sub-payment-form[b-f9pncr79ky] {
        padding: 16px;
    }

    .sub-payment-actions[b-f9pncr79ky] {
        flex-direction: column;
    }

    .sub-payment-actions[b-f9pncr79ky]  .ch-btn {
        width: 100%;
    }
}
/* _content/cleanhub/Components/Shared/LandingStory.razor.rz.scp.css */
.ab-overview[b-rbafwldmq5],
.ab-process[b-rbafwldmq5],
.ab-pricing[b-rbafwldmq5],
.ab-flow[b-rbafwldmq5],
#services[b-rbafwldmq5],
#overview[b-rbafwldmq5],
#process[b-rbafwldmq5],
#pricing[b-rbafwldmq5],
#flow-customer[b-rbafwldmq5],
#flow-store[b-rbafwldmq5] {
    scroll-margin-top: 72px;
}

.ab[b-rbafwldmq5] {
    --ab-ink: var(--lp-ink, #0b1f3a);
    --ab-muted: var(--lp-muted, #5b6b7c);
    --ab-line: var(--lp-line, #d7e0ea);
    --ab-sky: var(--lp-sky, #0ea5e9);
    --ab-navy: var(--lp-navy, #0c4a8f);
    --ab-paper: var(--lp-paper, #f3f7fb);
    --ab-card: #ffffff;
    color: var(--ab-ink);
}

.ab-eyebrow[b-rbafwldmq5] {
    margin: 0 0 10px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ab-sky);
}

.ab-section-head[b-rbafwldmq5] {
    max-width: 680px;
    margin: 0 auto 36px;
    text-align: center;
}

.ab-section-head h2[b-rbafwldmq5] {
    margin: 0 0 10px;
    font-size: clamp(24px, 3vw, 30px);
    letter-spacing: -0.03em;
}

.ab-section-head p[b-rbafwldmq5] {
    margin: 0;
    color: var(--ab-muted);
    font-size: 15px;
    line-height: 1.65;
}

.ab-overview[b-rbafwldmq5] {
    padding: 64px 28px 24px;
    animation: ab-rise-b-rbafwldmq5 0.8s 0.08s ease-out both;
}

.ab-overview-steps[b-rbafwldmq5] {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0;
}

.ab-overview-steps li[b-rbafwldmq5] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 12px 12px 16px;
    border: 1px solid var(--ab-line);
    border-radius: 16px;
    background: var(--ab-card);
    box-shadow: 0 10px 24px rgba(15, 35, 60, 0.05);
    overflow: hidden;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.ab-overview-steps li:hover[b-rbafwldmq5] {
    transform: translateY(-3px);
    box-shadow: 0 14px 28px rgba(15, 35, 60, 0.1);
}

.ab-overview-media[b-rbafwldmq5] {
    margin: -12px -12px 4px;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: linear-gradient(145deg, #e8f1f8, #f5f9fc);
}

.ab-overview-media img[b-rbafwldmq5] {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.ab-step-num[b-rbafwldmq5] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    margin-top: 4px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--ab-navy), var(--ab-sky));
    color: #fff;
    font-size: 13px;
    font-weight: 700;
}

.ab-overview-steps strong[b-rbafwldmq5] {
    font-size: 15px;
    letter-spacing: -0.02em;
}

.ab-overview-steps span:last-child[b-rbafwldmq5] {
    color: var(--ab-muted);
    font-size: 13px;
    line-height: 1.5;
}

.ab-flow[b-rbafwldmq5] {
    padding: 48px 28px 16px;
}

.ab-flow--store[b-rbafwldmq5] {
    background:
        linear-gradient(180deg, rgba(12, 74, 143, 0.04), transparent 120px),
        var(--ab-paper);
}

.ab-step[b-rbafwldmq5] {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 36px;
    align-items: center;
    max-width: 1080px;
    margin: 0 auto 56px;
    animation: ab-rise-b-rbafwldmq5 0.7s ease-out both;
}

.ab-step--reverse[b-rbafwldmq5] {
    grid-template-columns: 0.95fr 1.05fr;
}

.ab-step--reverse .ab-step-media[b-rbafwldmq5] {
    order: 2;
}

.ab-step--reverse .ab-step-body[b-rbafwldmq5] {
    order: 1;
}

.ab-step-media[b-rbafwldmq5] {
    overflow: hidden;
    border-radius: 20px;
    border: 1px solid var(--ab-line);
    background: #e8eef5;
    box-shadow: 0 16px 36px rgba(15, 35, 60, 0.08);
    aspect-ratio: 16 / 10;
}

.ab-step-media img[b-rbafwldmq5] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.ab-step-label[b-rbafwldmq5] {
    margin: 0 0 8px;
    color: var(--ab-sky);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.06em;
}

.ab-step-body h3[b-rbafwldmq5] {
    margin: 0 0 12px;
    font-size: 24px;
    letter-spacing: -0.03em;
    line-height: 1.3;
}

.ab-step-body > p[b-rbafwldmq5] {
    margin: 0 0 14px;
    color: var(--ab-muted);
    font-size: 15px;
    line-height: 1.7;
}

.ab-step-body ul[b-rbafwldmq5] {
    margin: 0;
    padding: 0 0 0 1.1em;
    color: var(--ab-ink);
    font-size: 14px;
    line-height: 1.7;
}

.ab-step-body li + li[b-rbafwldmq5] {
    margin-top: 4px;
}

.ab-process[b-rbafwldmq5],
.ab-pricing[b-rbafwldmq5] {
    padding: 56px 28px 24px;
}

.ab-process-list[b-rbafwldmq5] {
    list-style: none;
    max-width: 880px;
    margin: 0 auto;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.ab-process-list > li[b-rbafwldmq5] {
    display: grid;
    grid-template-columns: 64px 1fr;
    gap: 16px;
    padding: 20px 22px;
    border: 1px solid var(--ab-line);
    border-radius: 18px;
    background: var(--ab-card);
    box-shadow: 0 10px 24px rgba(15, 35, 60, 0.04);
}

.ab-process-index[b-rbafwldmq5] {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 2px;
    color: var(--ab-sky);
    font-size: 20px;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.ab-process-body h3[b-rbafwldmq5] {
    margin: 0 0 8px;
    font-size: 18px;
    letter-spacing: -0.02em;
}

.ab-process-body > p[b-rbafwldmq5] {
    margin: 0 0 10px;
    color: var(--ab-muted);
    font-size: 14px;
    line-height: 1.7;
}

.ab-process-body ul[b-rbafwldmq5] {
    margin: 0;
    padding: 0 0 0 1.1em;
    color: var(--ab-ink);
    font-size: 14px;
    line-height: 1.65;
}

.ab-process-body li + li[b-rbafwldmq5] {
    margin-top: 3px;
}

.ab-process-note[b-rbafwldmq5] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 16px;
    max-width: 880px;
    margin: 18px auto 0;
    padding: 16px 18px;
    border-radius: 14px;
    background: rgba(12, 74, 143, 0.06);
    border: 1px solid rgba(12, 74, 143, 0.12);
    font-size: 14px;
    line-height: 1.5;
}

.ab-process-note strong[b-rbafwldmq5] {
    color: var(--ab-navy);
}

.ab-process-note span[b-rbafwldmq5] {
    color: var(--ab-muted);
}

.ab-price-grid[b-rbafwldmq5] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    max-width: 960px;
    margin: 0 auto 22px;
}

.ab-price-card[b-rbafwldmq5] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 26px 24px;
    border: 1px solid var(--ab-line);
    border-radius: 20px;
    background: var(--ab-card);
    box-shadow: 0 12px 28px rgba(15, 35, 60, 0.05);
}

.ab-price-card--primary[b-rbafwldmq5] {
    border-color: rgba(14, 165, 233, 0.35);
    background:
        linear-gradient(180deg, rgba(14, 165, 233, 0.08), transparent 42%),
        #fff;
}

.ab-price-label[b-rbafwldmq5] {
    margin: 0;
    color: var(--ab-navy);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.ab-price-amount[b-rbafwldmq5] {
    margin: 0;
    display: flex;
    align-items: baseline;
    gap: 6px;
}

.ab-price-num[b-rbafwldmq5] {
    font-size: clamp(34px, 5vw, 44px);
    font-weight: 800;
    letter-spacing: -0.04em;
    color: var(--ab-ink);
}

.ab-price-unit[b-rbafwldmq5] {
    color: var(--ab-muted);
    font-size: 15px;
    font-weight: 600;
}

.ab-price-amount--text[b-rbafwldmq5] {
    font-size: 24px;
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.35;
}

.ab-price-trial[b-rbafwldmq5] {
    margin: 0 0 4px;
    color: var(--ab-sky);
    font-size: 14px;
    font-weight: 700;
}

.ab-price-card ul[b-rbafwldmq5] {
    margin: 0 0 8px;
    padding: 0 0 0 1.1em;
    color: var(--ab-muted);
    font-size: 14px;
    line-height: 1.65;
    flex: 1;
}

.ab-price-card .lp-btn[b-rbafwldmq5] {
    align-self: flex-start;
    margin-top: 4px;
}

.ab-price-faq[b-rbafwldmq5] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    max-width: 1080px;
    margin: 0 auto;
}

.ab-price-faq article[b-rbafwldmq5] {
    padding: 18px 16px;
    border: 1px solid var(--ab-line);
    border-radius: 14px;
    background: #fff;
}

.ab-price-faq h3[b-rbafwldmq5] {
    margin: 0 0 8px;
    font-size: 15px;
}

.ab-price-faq p[b-rbafwldmq5] {
    margin: 0;
    color: var(--ab-muted);
    font-size: 13px;
    line-height: 1.65;
}

.ab-why[b-rbafwldmq5] {
    padding: 40px 28px 24px;
}

.ab-why-grid[b-rbafwldmq5] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    max-width: 1080px;
    margin: 0 auto;
}

.ab-why-grid article[b-rbafwldmq5] {
    padding: 22px 20px;
    border: 1px solid var(--ab-line);
    border-radius: 16px;
    background: var(--ab-card);
}

.ab-why-grid h3[b-rbafwldmq5] {
    margin: 0 0 8px;
    font-size: 17px;
}

.ab-why-grid p[b-rbafwldmq5] {
    margin: 0;
    color: var(--ab-muted);
    font-size: 14px;
    line-height: 1.6;
}

.ab-cta[b-rbafwldmq5] {
    padding: 28px 28px 72px;
}

.ab-cta-inner[b-rbafwldmq5] {
    max-width: 1080px;
    margin: 0 auto;
    padding: 36px 28px;
    border-radius: 22px;
    background:
        linear-gradient(135deg, rgba(12, 74, 143, 0.08), rgba(14, 165, 233, 0.12)),
        #fff;
    border: 1px solid var(--ab-line);
    text-align: center;
}

.ab-cta-inner h2[b-rbafwldmq5] {
    margin: 0 0 8px;
    font-size: 26px;
    letter-spacing: -0.03em;
}

.ab-cta-inner > p[b-rbafwldmq5] {
    margin: 0 0 22px;
    color: var(--ab-muted);
    font-size: 15px;
}

.ab-cta-inner .lp-hero-cta[b-rbafwldmq5] {
    justify-content: center;
}

@keyframes ab-rise-b-rbafwldmq5 {
    from {
        opacity: 0;
        transform: translateY(14px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 980px) {
    .ab-overview-steps[b-rbafwldmq5] {
        grid-template-columns: 1fr 1fr;
    }

    .ab-step[b-rbafwldmq5],
    .ab-step--reverse[b-rbafwldmq5] {
        grid-template-columns: 1fr;
        gap: 18px;
        margin-bottom: 44px;
    }

    .ab-step--reverse .ab-step-media[b-rbafwldmq5],
    .ab-step--reverse .ab-step-body[b-rbafwldmq5] {
        order: initial;
    }

    .ab-why-grid[b-rbafwldmq5],
    .ab-price-grid[b-rbafwldmq5],
    .ab-price-faq[b-rbafwldmq5] {
        grid-template-columns: 1fr;
    }

    .ab-process-list > li[b-rbafwldmq5] {
        grid-template-columns: 48px 1fr;
        padding: 16px;
    }
}

@media (max-width: 640px) {
    .ab-overview-steps[b-rbafwldmq5] {
        grid-template-columns: 1fr;
    }

    .ab-overview[b-rbafwldmq5],
    .ab-process[b-rbafwldmq5],
    .ab-pricing[b-rbafwldmq5],
    .ab-flow[b-rbafwldmq5],
    .ab-why[b-rbafwldmq5],
    .ab-cta[b-rbafwldmq5] {
        padding-left: 16px;
        padding-right: 16px;
    }
}
/* _content/cleanhub/Components/Shared/SiteBusinessFooter.razor.rz.scp.css */
.site-biz-footer[b-25lylz9da5] {
    margin-top: auto;
    padding: 12px 16px 14px;
    border-top: 1px solid #e2e8f0;
    background: rgba(255, 255, 255, 0.8);
    color: #64748b;
    font-size: 11px;
    line-height: 1.45;
}

.site-biz-footer-inner[b-25lylz9da5] {
    max-width: 920px;
    margin: 0 auto;
}

.site-biz-links[b-25lylz9da5] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-bottom: 6px;
    font-size: 12px;
}

.site-biz-links a[b-25lylz9da5] {
    color: #0f172a;
    font-weight: 600;
    text-decoration: none;
}

.site-biz-links a:hover[b-25lylz9da5] {
    text-decoration: underline;
}

.site-biz-sep[b-25lylz9da5] {
    color: #cbd5e1;
}

.site-biz-lines[b-25lylz9da5] {
    margin: 0 0 3px;
    color: #64748b;
    word-break: keep-all;
    overflow-wrap: anywhere;
}

.site-biz-lines a[b-25lylz9da5] {
    color: #64748b;
    text-decoration: none;
}

.site-biz-lines a:hover[b-25lylz9da5] {
    color: #0c4a8f;
    text-decoration: underline;
}

.site-biz-dot[b-25lylz9da5] {
    margin: 0 4px;
    color: #cbd5e1;
}

.site-biz-copy[b-25lylz9da5] {
    margin: 4px 0 0;
    color: #94a3b8;
    font-size: 10px;
}
