/* Shared visual finish for public, management, gate, staff and student pages. */
:root{--premium-ink:#102b4c;--premium-line:#d9e6f4;--premium-shadow:0 8px 24px #102e5415,0 22px 52px #102e540a}
html{scroll-behavior:smooth;text-rendering:optimizeLegibility}
body{-webkit-font-smoothing:antialiased;text-size-adjust:100%;background-image:radial-gradient(circle at 95% 0%,#dcecff48,transparent 27%),radial-gradient(circle at 0% 85%,#dcefe653,transparent 29%)}
h1,h2,h3{letter-spacing:-.025em;text-wrap:balance}
p,li{line-height:1.55}
button,.btn,a.btn,input[type=submit],input[type=button]{transition:transform .18s ease,box-shadow .18s ease,filter .18s ease,border-color .18s ease;touch-action:manipulation}
button:not(:disabled):hover,.btn:hover,a.btn:hover,input[type=submit]:hover{filter:brightness(1.06);transform:translateY(-2px);box-shadow:0 11px 25px #0d4b9b30}
button:disabled{cursor:not-allowed;opacity:.65}
:where(button,a,input,textarea,select,summary):focus-visible{outline:3px solid #4ca8f2;outline-offset:3px}
:where(input:not([type=checkbox]):not([type=radio]),textarea,select){transition:border-color .2s ease,box-shadow .2s ease;background-color:#fff}
:where(input:not([type=checkbox]):not([type=radio]),textarea,select):focus{border-color:#398de5;box-shadow:0 0 0 3px #287fdb22}
.card,.kpi,.facility,.offer,.quote,.dialog,.profile-box,.insight-card,.contact-card{border-radius:17px;box-shadow:var(--premium-shadow);border-color:var(--premium-line)}
.card,.facility,.offer,.quote,.insight-card{background-image:linear-gradient(155deg,#ffffff,#f9fcff)}
:where(.modal .card,.modal .dialog){box-shadow:0 32px 85px #061a3f48}
:where(table){border-collapse:separate;border-spacing:0;width:100%}
:where(th){letter-spacing:.055em;text-transform:uppercase}
:where(th,td){border-bottom-color:#e2ebf6}
:where(tbody tr){transition:background .15s ease}
:where(tbody tr:hover){background:#eff6ff90}
:where(.empty,.empty-state,.empty-block){border-radius:14px}
@media(min-width:1800px){:where(.layout,.head,.global-head,.site-shell){max-width:1740px;margin-left:auto;margin-right:auto}:where(.card,.kpi){border-radius:20px}}
@media(max-width:600px){:where(.card,.kpi,.dialog){border-radius:14px}button,.btn{min-height:38px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}button,.btn,a.btn,input,textarea,select{transition:none}}
@media print{body{background:#fff!important}:where(.card,.kpi,.dialog){box-shadow:none!important}}
