/* The same campus service language as xsfw/home.css; scoped to CDJY and its portals. */
@font-face{font-family:"Calendar Smiley";src:url('SmileySans-v2.0.1.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
body:has(.cdjy-shell),.cdjy-shell{
 --service-ink:#18283a;--service-secondary:#516174;--service-muted:#5f6f80;
 --service-blue:#2f6b9f;--service-blue-strong:#245782;--service-blue-soft:#eaf2f9;
 --service-surface:#f4f6f8;--service-line:#e6eaee;
 --font-interface:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
 --font-body:var(--font-interface);--font-display:"Calendar Smiley",var(--font-interface);
 --oa-ink:var(--service-ink);--oa-ink-soft:var(--service-secondary);--oa-accent:var(--service-blue);
 --oa-line:var(--service-line);--oa-border:var(--service-line);--oa-surface:#fff;--oa-bg:#fff;
 font-family:var(--font-interface);color:var(--service-ink);background:#fff;font-synthesis:none;
 -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
body:has(.cdjy-shell)::selection,body:has(.cdjy-shell) ::selection{background:var(--service-blue-soft);color:var(--service-ink)}
.cdjy-shell{min-height:100svh}
.cdjy-shell .cdjy-header{width:min(calc(100% - 48px),960px);padding:22px 0;border:0;gap:16px}
.cdjy-shell .cdjy-brand{font:400 23px/1.4 var(--font-display);color:var(--service-blue)}
.cdjy-header>a:last-child{font-size:14px;min-height:44px;display:inline-flex;align-items:center}
.cdjy-shell .oa-main.cdjy-main{width:min(calc(100% - 48px),960px);padding:18px 0 32px}
.cdjy-intro{margin-bottom:28px}
.cdjy-shell .cdjy-intro h1{font:400 clamp(25px,3vw,30px)/1.4 var(--font-display);color:var(--service-ink);text-wrap:balance}
.cdjy-intro>p{color:var(--service-secondary);text-align:center;text-indent:0}
.cdjy-shell .cdjy-main :is(h2,h3),body:has(.cdjy-shell) :is(.cdjy-dialog,.oa-time-dialog) h2{font-family:var(--font-display);font-weight:400;color:var(--service-ink)}
.cdjy-shell .room-card{padding:20px;border:1px solid var(--service-line);background:#fff;box-shadow:none}
.cdjy-shell .room-card>header{border-color:var(--service-line);margin-bottom:16px;padding-bottom:16px}
.cdjy-shell .room-card h2{font-size:21px;line-height:1.4}
.cdjy-shell .room-card h3{font-size:19px;line-height:1.5}
.cdjy-shell .cdjy-main .room-card>header h2{font-family:var(--font-display);font-size:21px;font-weight:400;line-height:1.4}
.cdjy-shell .cdjy-main .cdjy-login>h2{font:400 22px/1.4 var(--font-display)}
.cdjy-shell .cdjy-controls{background:var(--service-surface);border:0;padding:18px;gap:20px}
.cdjy-shell .cdjy-controls .cdjy-query h2{font-size:18px}
.cdjy-shell .cdjy-query input{min-height:48px;font-size:16px;background:#fff;border-color:transparent}
.cdjy-shell .room-header-actions>span,.cdjy-shell .room-timeline-summary>span{font-size:13px;color:var(--service-secondary)}
.cdjy-shell .room-timeline-summary>strong{font-size:15px;font-weight:500}
.cdjy-shell .room-period{background:var(--service-surface);border:0;padding:14px}
.cdjy-shell .room-period-copy>strong{font-size:16px;font-weight:500}
.cdjy-shell .room-schedule{gap:10px}
.cdjy-shell .cdjy-summary{border-color:var(--service-line);padding:16px 0}
.cdjy-shell .cdjy-summary strong{font-family:var(--font-display);font-size:18px;font-weight:400}
.cdjy-shell :is(.cdjy-summary>div>span,.cdjy-help,.cdjy-booking-slots){color:var(--service-secondary);font-size:14px;line-height:1.6}
.cdjy-shell .cdjy-footer{padding-bottom:28px;color:var(--service-muted);font-size:12px;line-height:1.7}
body:has(.cdjy-shell) :is(.cdjy-dialog,.oa-calendar-popover,.oa-time-dialog,.application-select-list){--font-display:"Calendar Smiley",var(--font-interface);font-family:var(--font-interface);color:var(--service-ink);background:#fff;border-color:var(--service-line)}
body:has(.cdjy-shell) .cdjy-dialog{padding:24px;font-size:15px;line-height:1.65;box-shadow:0 16px 48px #18283a1f}
body:has(.cdjy-shell) .cdjy-dialog h2{font-size:23px;line-height:1.4}
body:has(.cdjy-shell) .cdjy-dialog .cdjy-record-heading h2{font-family:var(--font-display);font-size:23px;font-weight:400}
body:has(.cdjy-shell) .cdjy-dialog .cdjy-record-heading{border-color:var(--service-line)}
body:has(.cdjy-shell) .cdjy-dialog :is(label,.oa-control-label,.cdjy-section-caption strong){font-family:var(--font-interface);font-weight:500;font-size:14px;color:var(--service-secondary)}
body:has(.cdjy-shell) .cdjy-dialog :is(.cdjy-section-caption span,form>p,.cdjy-booking-slots){font-size:13px;color:var(--service-secondary);line-height:1.7}
body:has(.cdjy-shell) :is(.cdjy-main,.cdjy-dialog) :is(input:not([type=hidden]):not(.select-validation-input),textarea){font:400 16px/1.5 var(--font-interface);color:var(--service-ink);background:var(--service-surface);border-color:transparent;min-height:48px;caret-color:var(--service-blue);box-shadow:none}
body:has(.cdjy-shell) :is(input,textarea)::placeholder{color:var(--service-muted);opacity:1}
body:has(.cdjy-shell) :is(.cdjy-main,.cdjy-dialog) :is(input:not([type=hidden]),textarea):focus{background:#fff;border-color:var(--service-blue);box-shadow:none}
body:has(.cdjy-shell) :is(.oa-control-trigger,.application-select-trigger){font:400 15px/1.5 var(--font-interface);min-height:48px;color:var(--service-ink);background:var(--service-surface);border-color:transparent;box-shadow:none}
.cdjy-shell .cdjy-controls :is(input,.oa-control-trigger,.application-select-trigger){background:#fff}
body:has(.cdjy-shell) :is(.cdjy-shell,.cdjy-dialog) button:where(:not(.room-timeline-segment):not(.oa-primary-button):not(.oa-control-trigger):not(.application-select-trigger)){color:var(--service-ink);background:var(--service-surface);border-color:transparent}
body:has(.cdjy-shell) :is(.cdjy-shell,.cdjy-dialog) .oa-primary-button{background:var(--service-blue);border-color:var(--service-blue);color:#fff;font-family:var(--font-display);font-weight:400;font-size:16px;min-height:48px}
body:has(.cdjy-shell) :is(.cdjy-shell,.cdjy-dialog) :is(button,input,textarea){transition:background-color 140ms ease-out,border-color 140ms ease-out,transform 140ms ease-out}
body:has(.cdjy-shell) :is(.oa-calendar-popover,.oa-time-dialog,.application-select-list) :is(button,[role=option]){font-family:var(--font-interface)}
body:has(.cdjy-shell) :is(.oa-calendar-days button.is-selected,.oa-time-options button[aria-pressed=true],.oa-time-confirm,.application-select-option[aria-selected=true]){background:var(--service-blue);color:#fff;border-color:var(--service-blue)}
body:has(.cdjy-shell) :is(.cdjy-main,.cdjy-dialog,.oa-calendar-popover,.oa-time-dialog,.application-select-list) :focus-visible{outline-color:var(--service-blue);outline-offset:3px}
body:has(.cdjy-shell) .cdjy-application{animation:none}
.cdjy-shell .cdjy-login{background:var(--service-surface);border:0}
.cdjy-shell .cdjy-login :is(input,.oa-control-trigger){background:#fff}
@media(hover:hover){body:has(.cdjy-shell) :is(.cdjy-shell,.cdjy-dialog) .oa-primary-button:hover{background:var(--service-blue-strong)}body:has(.cdjy-shell) :is(.oa-control-trigger,.application-select-trigger):hover:not(:disabled){background:var(--service-blue-soft)}}
@media(max-width:600px){
 .cdjy-shell .cdjy-header,.cdjy-shell .oa-main.cdjy-main{width:calc(100% - 40px)}
 .cdjy-shell .cdjy-header{padding:16px 0}.cdjy-shell .cdjy-brand{font-size:21px}
 .cdjy-shell .oa-main.cdjy-main{padding-top:12px}.cdjy-intro{margin-bottom:22px}
 .cdjy-shell .room-card{padding:16px}.cdjy-shell .cdjy-controls{padding:16px;gap:16px}
 .cdjy-shell .room-card h2{font-size:20px}.cdjy-shell .room-period{padding:12px}
 .cdjy-shell .cdjy-main .room-card>header h2{font-size:20px}
 body:has(.cdjy-shell) .cdjy-dialog{padding:20px}
 body:has(.cdjy-shell) .cdjy-dialog h2{font-size:21px}
 body:has(.cdjy-shell) .cdjy-dialog .cdjy-record-heading h2{font-size:21px}
}
@media(max-width:350px){.cdjy-shell .cdjy-header,.cdjy-shell .oa-main.cdjy-main{width:calc(100% - 32px)}.cdjy-header>a:last-child{font-size:13px}.cdjy-shell .cdjy-controls{padding:14px}}
@media(prefers-reduced-motion:reduce){body:has(.cdjy-shell) :is(button,input,textarea){transition:none!important}}
