/* HASAN POLYCLINIC — unified responsive visual layer. CSS-only; no business logic changes. */
:root{--hp-ink:#102b42;--hp-navy:#003b46;--hp-teal:#008c87;--hp-aqua:#06b6b5;--hp-canvas:#edf6ff;--hp-stroke:#d5e7f3;--hp-radius:12px;--hp-elevation:0 4px 16px rgba(9,60,85,.085)}
html{scroll-behavior:smooth}body{color:var(--hp-ink);background-color:var(--hp-canvas);background-image:linear-gradient(140deg,#e8f5ff 0%,#f6fbff 48%,#edf9fa 100%);background-attachment:fixed}
:where(main, .content, .main-content){min-width:0}
:where(.card,.panel,.widget,.stat-card,.kpi-card,fieldset,section.card){border-radius:var(--hp-radius);box-shadow:var(--hp-elevation);border-color:var(--hp-stroke)}
:where(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){border-radius:9px;border:1px solid #bed5e4;min-height:42px;max-width:100%;box-sizing:border-box;background:#fff;color:var(--hp-ink)}
:where(button,.btn,input[type=submit]){border-radius:9px;min-height:40px;touch-action:manipulation}
:where(button,.btn,input[type=submit],a){-webkit-tap-highlight-color:transparent}
:where(input,select,textarea,button,a):focus-visible{outline:3px solid #13bbb9;outline-offset:2px}
:where(table){max-width:100%;border-collapse:collapse}
:where(th){background:#e9f5fb}
:where(th,td){overflow-wrap:anywhere}
:where(img,video,svg){max-width:100%;height:auto}
:where(.sidebar,aside.sidebar){background-image:linear-gradient(180deg,#003944,#005560);color:#f3ffff}
:where(.sidebar a,aside.sidebar a){transition:background-color .15s ease}
:where(.sidebar a:hover,aside.sidebar a:hover){background-color:rgba(0,194,192,.16)}
@media(max-width:767px){html,body{max-width:100%;overflow-x:clip}main,section,article,form,.grid,.cols{min-width:0} :where(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){min-height:46px;font-size:16px} :where(button,.btn,input[type=submit]){min-height:44px} :where(table){font-size:12px} :where(th,td){padding:8px 6px} :where(.card,.panel,.widget){border-radius:11px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
