/* Shared app components. Page layouts consume these tokens and components. */
@font-face{font-family:"RCC Poppins";src:url("fonts/poppins-latin-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"RCC Poppins";src:url("fonts/poppins-latin-500.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"RCC Poppins";src:url("fonts/poppins-latin-600.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"RCC Poppins";src:url("fonts/poppins-latin-700.woff2") format("woff2");font-weight:700;font-display:swap}
:root{--rcc-ui-font:"RCC Poppins",Arial,sans-serif}
:root{--rcc-ui-accent:#6c46ff;--rcc-ui-accent-hover:#5429df;--rcc-ui-cyan:#00c8d5;--rcc-ui-text:#17161c;--rcc-ui-muted:#73717d;--rcc-ui-line:#e9ecf1;--rcc-ui-canvas:#fafbfd;--rcc-ui-info-bg:#f2efff;--rcc-ui-info-border:#dcd4ff;--rcc-ui-info-text:#5435b5;--rcc-ui-error-bg:#fff3f2;--rcc-ui-error-border:#f0cbc6;--rcc-ui-error-text:#9b332b;--rcc-ui-success-bg:#eef8f2;--rcc-ui-success-border:#cce6d5;--rcc-ui-success-text:#24633b;--rcc-ui-radius:10px}
.rcc-ui-header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:88px;margin-bottom:26px;border-bottom:1px solid var(--rcc-ui-line)}
.rcc-ui-brand{display:inline-flex;align-items:center;flex-shrink:0;text-decoration:none;color:var(--rcc-ui-text);line-height:1}
.rcc-ui-brand .rcc-ui-logo{display:block;width:180px;max-width:100%;height:auto;max-height:56px;object-fit:contain;object-position:left center}
.rcc-ui-back{padding:10px 0 10px 16px;color:var(--rcc-ui-muted);font-size:14px;text-decoration:none}
.rcc-ui-back:hover{color:var(--rcc-ui-accent-hover)}
.rcc-ui-notice,.rcc-google-error,body.rh-checkout :is(.woocommerce-error,.woocommerce-message,.woocommerce-info),.rcc-student-app .woocommerce-error,.wc-block-components-notice-banner{box-sizing:border-box;display:block;margin:0 0 20px;padding:14px 18px;border:1px solid var(--rcc-ui-info-border);border-radius:var(--rcc-ui-radius);background:var(--rcc-ui-info-bg);color:var(--rcc-ui-info-text);font-family:inherit;font-size:14px;font-weight:400;line-height:1.65;box-shadow:none;list-style:none}
.rcc-ui-notice p{margin:0;padding:0;font-size:14px;line-height:1.65}
.rcc-ui-notice:empty{display:none}
.rcc-student-app .rcc-notice{padding:14px 18px;border:1px solid var(--rcc-ui-info-border);border-radius:var(--rcc-ui-radius);background:var(--rcc-ui-info-bg);color:var(--rcc-ui-info-text)}
.rcc-ui-notice.is-error,.rcc-google-error,body.rh-checkout .woocommerce-error,.rcc-student-app .woocommerce-error,.wc-block-components-notice-banner.is-error{border-color:var(--rcc-ui-error-border)!important;background:var(--rcc-ui-error-bg)!important;color:var(--rcc-ui-error-text)!important}
.rcc-ui-notice.is-success,body.rh-checkout .woocommerce-message,.wc-block-components-notice-banner.is-success{border-color:var(--rcc-ui-success-border)!important;background:var(--rcc-ui-success-bg)!important;color:var(--rcc-ui-success-text)!important}
body.rh-checkout :is(.woocommerce-error,.woocommerce-message,.woocommerce-info)::before{display:none}
body.rh-checkout .woocommerce-error li{margin:0;padding:0;list-style:none}
body.rh-checkout .woocommerce-error a,.wc-block-components-notice-banner a{color:inherit!important;text-decoration:underline;text-underline-offset:3px}
body.rh-checkout .woocommerce-error .button{float:none;display:inline-block;margin:4px 0 0 12px;padding:0;background:none;border:0;font:inherit;text-decoration:underline;color:inherit}
.wc-block-components-notice-banner{display:flex;align-items:flex-start;gap:12px;font-size:14px;line-height:1.65}
.wc-block-components-notice-banner>svg{flex-shrink:0;width:20px;height:20px;margin-top:2px;fill:currentColor;background:none!important;padding:0!important}
.wc-block-components-notice-banner__content{min-width:0}
.wc-block-components-notice-banner__content :is(p,ul){margin:0}
.wc-block-components-notice-banner__dismiss{flex-shrink:0}
body .wc-block-components-text-input input[aria-invalid="true"],.wc-block-components-text-input.has-error input,.rcc-ui-field.is-error input{border-color:var(--rcc-ui-error-text)!important;box-shadow:0 0 0 2px #9b332b0c!important}
.wc-block-components-validation-error,.rcc-ui-field-error{margin:7px 0 0;color:var(--rcc-ui-error-text)!important;font-size:13px;line-height:1.6}
.wc-block-components-validation-error p{margin:0;font-size:13px;line-height:1.6}
.rcc-ui-header :is(a,button):focus-visible{outline:3px solid var(--rcc-ui-accent);outline-offset:4px}
@media(max-width:980px){.rcc-ui-brand .rcc-ui-logo{width:150px;max-height:44px}}
@media(max-width:480px){.rcc-ui-header{min-height:72px;margin-bottom:24px}.rcc-ui-brand .rcc-ui-logo{width:140px}.rcc-ui-notice,.wc-block-components-notice-banner{padding:12px 14px}}
