/* AIR ESTATE visual refinement. Presentation only; no business logic.
   Keep semantic red/green, LINE/SUUMO colours and calendar geometry intact. */
html:root, body .ap-desktop {
 --ap-bg:#f3f5f8;--ap-bg-2:#eaf0f6;--ap-surface:#fff;--ap-surface-soft:#f7f9fc;--ap-card:#fff;
 --ap-text:#202c3d;--ap-muted:#556479;--ap-muted-2:#68778b;
 --ap-border:#dce3eb;--ap-border-strong:#bcc9d7;
 --ap-blue:#244a73;--ap-blue-2:#18334f;--ap-blue-3:#285d92;--ap-navy:#172d48;
 --ap-sky:#edf3f9;--ap-sky-2:#dae6f2;
 --ap-side-bg:#142237;--ap-side-text:#bdc9d8;--ap-side-on:#2a4767;--ap-side-hover:#21364f;--ap-side-line:#304158;
 --ap-shadow-soft:0 2px 8px rgb(20 34 55 / 4%);--ap-shadow:0 6px 20px rgb(20 34 55 / 7%);
 --ap-shadow-hover:0 8px 24px rgb(20 34 55 / 10%);
 --ap-radius-sm:6px;--ap-radius-md:10px;--ap-radius-lg:14px;
 --ap-visual-line:1.6;--ap-visual-control:36px;--ap-visual-gap:12px;
}
body .ap-top{flex-wrap:wrap;row-gap:var(--ap-sp-2);padding-block:var(--ap-sp-3)}
body .ap-top-title{line-height:var(--ap-visual-line);overflow-wrap:anywhere}
body .ap-body{min-width:0}
body .ap-side:not(.is-tatamu) .ap-side-item{height:auto;min-height:var(--ap-visual-control);padding-block:var(--ap-sp-2);white-space:normal;line-height:var(--ap-lh-base);overflow-wrap:anywhere}
body .ap-side-item>svg{flex-shrink:0}
body .ap-side-kumi-na{color:var(--ap-side-text);letter-spacing:.08em}
body .ap-side-item.is-on{box-shadow:inset 3px 0 0 var(--ap-side-text-on)}
body .ap-card{border-color:var(--ap-border);box-shadow:var(--ap-shadow-soft)}
body :is(.ap-btn,.du-action){min-height:var(--ap-visual-control);height:auto;line-height:var(--ap-lh-base);white-space:normal;overflow-wrap:anywhere;text-align:center}
body :is(.du-toolbar,.du-actions,.du-record-filters){flex-wrap:wrap;gap:var(--ap-visual-gap)}
body :is(.du-field,.du-page-head,.du-page-copy){min-width:0}
body :is(.du-field label,.du-field-label,.du-page-title,.ds-label){white-space:normal;overflow-wrap:anywhere;line-height:var(--ap-visual-line)}
body :is(.ap-tablewrap,.du-table-frame){max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
body .ap-table th{white-space:normal;overflow-wrap:anywhere;line-height:var(--ap-lh-base)}
body :is(.ds-modal,.ds-modal-naka,.du-confirm-message){overflow-wrap:anywhere}
body .hp-publication-entry{flex-wrap:wrap}
body .hp-publication-facts>div{min-width:0;overflow-wrap:anywhere}
body .hp-publication-check{white-space:normal;overflow-wrap:anywhere}
body :is(button,a,input,select,textarea):focus-visible{outline:2px solid var(--ap-blue-3);outline-offset:2px}
body :is(.sm,.s2) button{overflow-wrap:anywhere}
@media(max-width:767px){body .sm-tab button{white-space:normal;line-height:1.4}body .hp-publication-status{align-items:flex-start}}
@media print{body .ap-card{box-shadow:none}}

/* Keep weekly appointment cards readable on narrow desktop layouts. */
@media screen and (max-width:1100px){body .ap-desktop .yt-shuu{min-width:calc(var(--ap-yt-hito,120px) + 7 * var(--ap-yt-masu,130px))}}
