/* Independent CloudCity client pages. Native widgets retain their own behavior. */
.cc-client-alerts { margin: 0 0 24px; border: 1px solid #c6dfd8; border-radius: 8px; background: #fff; color: #064d47; font-family: "Hind Siliguri", sans-serif; font-size: 16px; line-height: 1.5; }
.cc-client-alerts > summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 46px; padding: 10px 15px; border-radius: 8px; list-style: none; font-weight: 500; cursor: pointer; }
.cc-client-alerts > summary::-webkit-details-marker { display: none; }
.cc-client-alerts > summary > span > i { margin-right: 6px; color: #077b64; }
.cc-client-alerts > summary > i { flex: 0 0 auto; font-size: 12px; }
.cc-client-alerts[open] > summary > i { transform: rotate(180deg); }
.cc-client-alerts__count { display: inline-block; min-width: 25px; margin-left: 5px; padding: 1px 7px; border-radius: 15px; background: #e2f2ec; color: #064d47; text-align: center; font-size: 14px; }
.cc-client-alerts__list { margin: 0; padding: 0 12px 12px; list-style: none; }
.cc-native-alert { margin: 0 0 7px; border-left: 3px solid #077b64; border-radius: 4px; background: #f5faf8; }
.cc-native-alert:last-child { margin-bottom: 0; }
.cc-native-alert--danger { border-left-color: #943a2e; }
.cc-native-alert--warning { border-left-color: #a8750b; }
.cc-native-alert--info { border-left-color: #1f5770; }
.cc-native-alert__content { display: flex; align-items: flex-start; gap: 10px; min-height: 44px; padding: 11px 12px; color: #064d47; overflow-wrap: anywhere; }
.cc-native-alert__content > i { flex: 0 0 18px; margin-top: 4px; }
.cc-native-alert__content > span { min-width: 0; }
.cc-native-alert--danger .cc-native-alert__content > i { color: #943a2e; }
.cc-native-alert--warning .cc-native-alert__content > i { color: #8c640d; }
.cc-native-alert--info .cc-native-alert__content > i { color: #1f5770; }
a.cc-native-alert__content { text-decoration: underline; text-underline-offset: 3px; }
a.cc-native-alert__content:hover { background: #e8f5ee; color: #064d47; }
.cc-client-alerts__empty { padding: 10px 3px; color: #426f66; }
.cc-client-alerts > summary:focus-visible,
.cc-native-alert__content:focus-visible { outline: 3px solid #064d47; outline-offset: 3px; }
.cc-dashboard,
.cc-auth {
    color: #064d47;
    font-family: "Hind Siliguri", sans-serif;
    font-size: 18px;
    line-height: 1.6;
    min-width: 0;
}
.cc-dashboard .cc-page-heading,
.cc-auth .cc-page-heading { margin: 0 0 32px; padding: 0; background: transparent; border: 0; box-shadow: none; }
.cc-page-heading .cc-page-eyebrow { margin: 0 0 6px; color: #077b64; font-size: 14px; font-weight: 600; letter-spacing: .08em; }
.cc-dashboard .cc-page-heading h1,
.cc-auth .cc-page-heading h1 { margin: 0 0 10px; font-family: Urbanist, sans-serif; font-size: clamp(30px, 3vw, 42px); font-weight: 700; line-height: 1.15; color: #064d47; }
.cc-dashboard .cc-page-heading p:last-child,
.cc-auth .cc-page-heading p:last-child { margin: 0; color: #235f58; }
.cc-account-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 38px; }
.cc-account-stats:empty { display: none; }
.cc-account-stat { position: relative; display: flex; align-items: center; gap: 12px; min-width: 0; min-height: 108px; padding: 18px 16px; border: 1px solid #b9d9d1; border-radius: 10px; background: #fff; color: #064d47; text-decoration: none; }
.cc-account-stat:hover { border-color: #077b64; color: #064d47; background: #f6fcfa; text-decoration: none; }
.cc-account-stat > span:nth-child(2) { display: flex; flex: 1; flex-direction: column; min-width: 0; line-height: 1.35; }
.cc-account-stat strong { font-family: Urbanist, sans-serif; font-size: 30px; font-weight: 700; }
.cc-account-stat > span:nth-child(2) > span { font-size: 15px; overflow-wrap: anywhere; }
.cc-account-stat__icon { display: grid; flex: 0 0 36px; place-items: center; width: 36px; height: 42px; color: #077b64; font-size: 23px; }
.cc-account-stat__arrow { font-size: 12px; }
.cc-account-stat--attention { border-bottom: 4px solid #f3bb1c; }
.cc-dashboard-panels { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 32px 24px; }
.cc-dashboard-panels > .cc-dashboard-panel.card { display: block; min-width: 0; margin: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.cc-dashboard-panel--wide { grid-column: 1 / -1; }
.cc-dashboard-panel__heading.card-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 12px; padding: 0; border: 0; background: transparent; }
.cc-dashboard-panel__heading h2 { margin: 0; min-width: 0; color: #064d47; font-family: Urbanist, sans-serif; font-size: 23px; font-weight: 700; line-height: 1.3; overflow-wrap: anywhere; }
.cc-dashboard-panel__heading h2 > i { margin-right: 9px; color: #077b64; font-size: 18px; }
.cc-dashboard-panel__heading .badge { font-family: "Hind Siliguri", sans-serif; font-size: 14px; }
.cc-dashboard .cc-panel-action { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 6px; min-height: 44px; padding: 8px 12px; border: 1px solid #aacdc3; border-radius: 7px; font-size: 15px; white-space: normal; background: transparent; color: #064d47; }
.cc-dashboard .cc-panel-action:hover { background: #dff4ed; border-color: #077b64; }
.cc-dashboard-panel__content { min-width: 0; border: 1px solid #c6dfd8; border-radius: 10px; background: #fff; overflow-wrap: anywhere; }
.cc-dashboard-panel__content > :first-child { border-top-left-radius: 10px; border-top-right-radius: 10px; }
.cc-dashboard-panel__content > :last-child { border-bottom-left-radius: 10px; border-bottom-right-radius: 10px; }
.cc-dashboard-panel__content .card-body { padding: 20px; }
.cc-dashboard-panel__content .list-group-item { min-height: 52px; padding: 14px 18px; border-color: #e0eee8; font-size: 17px; }
.cc-dashboard-panel__content a.list-group-item:not(.active) { color: #064d47; }
.cc-dashboard-panel__content a.list-group-item:not(.active):hover { background: #effaf7; }
.cc-dashboard-panel__content .card-footer { padding: 16px 20px; border-color: #e0eee8; background: #f7fcfa; }
.cc-dashboard-panel__content p:last-child { margin-bottom: 0; }
.cc-dashboard-extension { margin-top: 30px; min-width: 0; }
.cc-service-row { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; min-width: 0; }
.cc-service-row__copy { flex: 1 1 230px; min-width: 0; }
.cc-service-row__heading { display: flex; flex-wrap: wrap; align-items: center; gap: 7px 12px; }
.cc-service-row__heading strong { color: #064d47; font-family: Urbanist, sans-serif; font-size: 18px; line-height: 1.4; }
.cc-service-status { display: inline-block; padding: 3px 9px; border-radius: 12px; background: #edf3f0; color: #064d47; font-size: 13px; font-weight: 500; line-height: 1.5; }
.cc-service-row__group { display: block; margin-top: 3px; color: #426f66; font-size: 14px; }
.cc-service-row__domain { display: block; margin-top: 3px; overflow-wrap: anywhere; font-size: 16px; }
.cc-service-row__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.cc-service-row__actions .btn { min-height: 44px; padding: 9px 12px; font-size: 15px; }
.cc-service-row__actions .dropdown-menu { min-width: 210px; max-width: min(320px, calc(100vw - 48px)); padding: 6px; border-color: #b9d9d1; border-radius: 8px; }
.cc-service-row__actions .dropdown-item { min-height: 44px; padding: 10px 12px; border: 0; border-radius: 5px; color: #064d47; font-family: inherit; font-size: 16px; line-height: 1.5; white-space: normal; }
.cc-service-row__actions .dropdown-item:not(:disabled):hover,
.cc-service-row__actions .dropdown-item:not(:disabled):focus { background: #effaf7; }
.cc-service-row__actions .dropdown-item:disabled { color: #55756e; opacity: .65; cursor: default; }
/* Native service click delegation inspects event.target, not closest(). */
.cc-service-row .btn-custom-action > *,
.cc-service-row .dropdown-toggle > * { pointer-events: none; }
.cc-auth { margin: 8px auto 44px; width: 100%; }
.cc-auth--login { max-width: 520px; }
.cc-auth--register { max-width: 840px; }
.cc-auth-panel { padding: 32px; border: 1px solid #c6dfd8; border-radius: 12px; background: #fff; }
.cc-auth .form-group { min-width: 0; margin: 0 0 22px; }
.cc-auth label { display: block; margin: 0 0 7px; color: #064d47; font-size: 17px; font-weight: 500; line-height: 1.45; }
.cc-auth .form-control,
.cc-auth input.field,
.cc-auth select.field,
.cc-auth .control select,
.cc-auth .control input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.cc-auth .control textarea { width: 100%; min-width: 0; min-height: 48px; height: auto; padding: 10px 13px; border: 1px solid #9cbfb5; border-radius: 7px; background: #fff; color: #064d47; font-family: inherit; font-size: 18px; line-height: 1.4; box-shadow: none; }
.cc-auth .input-group > .form-control { width: 1%; border-top-right-radius: 0; border-bottom-right-radius: 0; }
.cc-auth .form-control:focus,
.cc-auth input.field:focus,
.cc-auth select.field:focus { border-color: #077b64; outline: 2px solid #077b64; outline-offset: 2px; box-shadow: none; }
.cc-auth .btn { min-height: 46px; padding: 10px 17px; border-radius: 7px; font-family: inherit; font-size: 17px; }
.cc-auth .btn-primary { background: #077b64; border-color: #077b64; color: #fff; }
.cc-auth .btn-primary:hover { background: #056d58; border-color: #056d58; }
.cc-auth .btn-default { background: #effaf7; border: 1px solid #9cbfb5; color: #064d47; }
.cc-auth .btn-reveal-pw { min-width: 48px; border-left: 0; border-top-left-radius: 0; border-bottom-left-radius: 0; }
.cc-auth .cc-auth-submit { display: inline-flex; align-items: center; justify-content: center; gap: 16px; width: 100%; min-height: 50px; }
.cc-auth a { color: #066b58; text-decoration: underline; text-underline-offset: 3px; }
.cc-auth a:hover { color: #034d3f; }
.cc-auth .cc-checkbox { display: flex; align-items: flex-start; gap: 10px; min-height: 44px; margin: 0; font-size: 16px; font-weight: 400; }
.cc-auth .cc-checkbox input[type="checkbox"] { flex: 0 0 auto; width: 18px; height: 18px; margin: 4px 0 0; accent-color: #077b64; }
.cc-login-options { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 6px 16px; margin-bottom: 18px; font-size: 16px; }
.cc-login-options > a { min-height: 44px; }
.cc-auth-alternative { margin: 22px 0 0; text-align: center; font-size: 17px; }
.cc-auth-alternative > p { margin: 20px 0 0; }
.cc-form-section { min-width: 0; margin: 0 0 30px; padding: 0 0 16px; border: 0; border-bottom: 1px solid #c6dfd8; }
.cc-form-section legend { float: none; width: auto; margin: 0 0 22px; padding: 0; color: #064d47; font-family: Urbanist, sans-serif; font-size: 25px; font-weight: 700; line-height: 1.3; }
.cc-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; min-width: 0; }
.cc-form-grid__full { grid-column: 1 / -1; }
.cc-auth .cc-field-note,
.cc-auth .field-help-text { color: #426f66; font-size: 15px; font-weight: 400; }
.cc-auth .field-help-text { display: block; margin-top: 6px; }
.cc-auth .intl-tel-input,
.cc-auth .iti { width: 100%; }
.cc-auth .password-strength-meter { position:static; float:none; clear:both; width:100%; min-width:0; margin:12px 0 0; }
.cc-auth .password-strength-meter .progress { height: 8px; background: #c6dfd8; }
.cc-auth .password-strength-meter p { margin:6px 0 0; font-size:13px; line-height:1.45; white-space:normal; }
.cc-auth .cc-marketing-preference .cc-checkbox { display:flex!important; }
.cc-auth .cc-marketing-preference .cc-checkbox>span { min-width:0; overflow-wrap:anywhere; }
.cc-auth .alert-danger { border:1px solid #e6bebc; border-left:4px solid #ad4047; border-radius:10px; background:#fff4f3; color:#842c32; padding:16px 20px; text-align:left; font-size:16px; line-height:1.55; overflow-wrap:anywhere; }
.cc-auth .alert-danger ul { margin:4px 0 0; padding-left:20px; }
.cc-auth .alert-danger li+li { margin-top:5px; }
.cc-account .cc-main :is(.alert-danger,.alert-error) { border:1px solid #e6bebc; border-left:4px solid #ad4047; border-radius:10px; background:#fff4f3; color:#842c32; padding:16px 20px; text-align:left!important; font-size:16px; line-height:1.55; overflow-wrap:anywhere; }
.cc-account .cc-main :is(.alert-danger,.alert-error) ul { margin:4px 0 0; padding-left:20px; }
.cc-account .cc-main :is(.alert-danger,.alert-error) li+li { margin-top:5px; }
.cc-billing-onboarding { display:flex; align-items:center; flex-wrap:wrap; gap:14px 24px; margin:0 0 24px; padding:20px; border:1px solid #c9ddd3; border-radius:12px; background:#f2f8f4; }
.cc-billing-onboarding>div { flex:1 1 260px; min-width:0; }
.cc-billing-onboarding h2 { margin:0 0 6px; font:600 20px/1.35 "Urbanist",sans-serif; color:#064d47; }
.cc-billing-onboarding p { margin:0; font:400 15px/1.5 "Hind Siliguri",sans-serif; color:#536e65; }
.cc-billing-onboarding .btn { min-width:0; max-width:100%; white-space:normal; }
#cc-billing-details { scroll-margin-top:100px; }
.cc-auth #containerPassword.hidden { display: none; }
.cc-registration-submit { max-width: 520px; margin: 0 auto; }
.cc-registration-submit .cc-terms { margin-bottom: 18px; text-align: left; }
.cc-auth .cc-marketing-preference p { margin-bottom: 14px; font-size: 16px; }
.cc-dashboard a:focus-visible,
.cc-auth a:focus-visible,
.cc-auth button:focus-visible,
.cc-auth input[type="checkbox"]:focus-visible { outline: 3px solid #064d47; outline-offset: 3px; }
@media (max-width: 1199px) {
    .cc-account-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 991px) {
    .cc-dashboard-panels { grid-template-columns: minmax(0, 1fr); gap: 28px; }
    .cc-auth--register { max-width: 720px; }
}
@media (max-width: 575px) {
    .cc-dashboard .cc-page-heading, .cc-auth .cc-page-heading { margin-bottom: 24px; }
    .cc-account-stats { gap: 10px; margin-bottom: 28px; }
    .cc-account-stat { gap: 6px; padding: 14px 10px; min-height: 102px; }
    .cc-account-stat__icon { flex-basis: 24px; width: 24px; font-size: 18px; }
    .cc-account-stat strong { font-size: 27px; }
    .cc-account-stat__arrow { display: none; }
    .cc-account-stat > span:nth-child(2) > span { font-size: 14px; }
    .cc-dashboard-panel__heading { flex-wrap: wrap; gap: 8px; }
    .cc-dashboard-panel__heading h2 { font-size: 23px; }
    .cc-dashboard-panel__content .card-body { padding: 16px; }
    .cc-auth-panel { padding: 24px 18px; }
    .cc-form-grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .cc-form-section { margin-bottom: 24px; padding-bottom: 8px; }
    .cc-form-section legend { font-size: 23px; }
    .cc-auth .password-strength-meter { margin-bottom: 20px; }
}
