@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{font-family:'DM Sans',sans-serif;color:#1c2938;background:#f4f7fa;font-synthesis:none;text-rendering:optimizeLegibility;--navy:#0b1c30;--navy-2:#122b45;--blue:#1769aa;--blue-light:#e7f2fa;--teal:#167c7a;--text:#1c2938;--muted:#708093;--line:#dfe6ed;--surface:#fff;--danger:#ad3939;--success:#176a4e}
*{box-sizing:border-box}
body{margin:0;min-width:320px;background:#f4f7fa;font-size:14px}
button,input,textarea,select{font:inherit}
a{color:inherit}
.admin-shell{min-height:100vh}
.admin-sidebar{position:fixed;inset:0 auto 0 0;z-index:20;display:flex;width:246px;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;padding:22px 16px 16px;background:var(--navy);color:#d8e5f1}
.admin-brand{display:flex;align-items:center;gap:11px;padding:5px 8px 25px;border-bottom:1px solid rgba(255,255,255,.1);font-family:Manrope,sans-serif;font-size:15px;font-weight:700;text-decoration:none}
.admin-brand small{display:block;margin-top:3px;color:#91a7ba;font-family:'DM Sans',sans-serif;font-size:9px;font-weight:600;letter-spacing:.14em}
.brand-mark{display:grid;width:36px;height:36px;place-items:center;border:1px solid #59a8dd;color:#7cc9eb;font-size:12px;letter-spacing:.04em}
.sidebar-nav{display:grid;gap:5px;padding-top:20px}
.sidebar-nav>form{width:100%;margin-bottom:14px}
.nav-label{margin:14px 10px 5px;color:#8198ad;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.sidebar-link{display:flex;align-items:center;gap:12px;min-height:40px;padding:0 11px;border:0;background:transparent;color:#c5d4e1;text-align:left;text-decoration:none;cursor:pointer}
.sidebar-nav>form .sidebar-link{width:100%}
.sidebar-link>span{width:18px;color:#78b6da;text-align:center;font-size:17px}
.sidebar-link:hover,.sidebar-link.is-active{background:#173a59;color:#fff}
.sidebar-link.is-active{box-shadow:inset 2px 0 #61badf}
.sidebar-logout{margin-top:auto;padding-top:14px;border-top:1px solid rgba(255,255,255,.1)}
.logout-button{width:100%}
.admin-workspace{display:flex;min-height:100vh;flex-direction:column;margin-left:246px}
.admin-header{display:flex;min-height:94px;align-items:center;justify-content:space-between;gap:20px;padding:18px clamp(20px,4vw,54px);border-bottom:1px solid var(--line);background:var(--surface)}
.admin-header h1{margin:4px 0 0;font-family:Manrope,sans-serif;font-size:23px;font-weight:700;line-height:1.2}
.eyebrow{margin:0;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.header-user{display:flex;align-items:center;gap:10px;color:#43566a;font-size:13px}
.user-avatar{display:grid;width:34px;height:34px;place-items:center;background:var(--blue-light);color:var(--blue);font-weight:700}
.menu-toggle{display:none!important}
.admin-main{width:100%;max-width:1440px;margin:0 auto;padding:30px clamp(20px,4vw,54px);flex:1}
.admin-footer{display:flex;justify-content:space-between;gap:20px;padding:16px clamp(20px,4vw,54px);border-top:1px solid var(--line);color:var(--muted);font-size:11px}
.page-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:23px}
.page-intro h2,.panel-heading{margin:0;font-family:Manrope,sans-serif;font-size:17px;font-weight:700}
.page-intro p{margin:6px 0 0;color:var(--muted);font-size:12px}
.button{display:inline-flex;min-height:38px;align-items:center;justify-content:center;gap:8px;padding:0 14px;border:1px solid var(--blue);background:var(--blue);color:#fff;font-weight:600;text-decoration:none;cursor:pointer}
.button:hover{background:#0f548b}
.button-secondary{border-color:var(--line);background:#fff;color:#34495e}
.button-danger{border-color:#eed2d2;background:#fff;color:var(--danger)}
.button-small{min-height:30px;padding:0 10px;font-size:12px}
.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:24px}
.stat-card,.panel,.form-panel{border:1px solid var(--line);background:var(--surface)}
.stat-card{padding:18px 20px}
.stat-card p{margin:0 0 10px;color:var(--muted);font-size:12px}
.stat-card strong{font-family:Manrope,sans-serif;font-size:27px;font-weight:700}
.stat-card small{display:block;margin-top:6px;color:var(--muted);font-size:11px}
.dashboard-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}
.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:17px 18px;border-bottom:1px solid var(--line)}
.panel-body{padding:4px 18px}
.panel-body nav[role="navigation"]{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:12px}
.panel-body nav[role="navigation"]>div:first-child{display:none}
.panel-body nav[role="navigation"]>div:nth-child(2){display:flex;flex:1;align-items:center;justify-content:space-between;gap:14px;min-width:0}
.panel-body nav[role="navigation"] p{margin:0}
.admin-main nav[role="navigation"] svg{display:block!important;width:18px!important;height:18px!important;max-width:18px!important;max-height:18px!important}
.panel-body nav[role="navigation"]>div:nth-child(2)>div:last-child>span{display:inline-flex}
.panel-body nav[role="navigation"]>div:nth-child(2)>div:last-child>span>a,.panel-body nav[role="navigation"]>div:nth-child(2)>div:last-child>span>span{display:inline-flex;min-width:36px;height:36px;align-items:center;justify-content:center;padding:0 9px;border:1px solid var(--line);background:#fff;color:var(--text);text-decoration:none}
.panel-body nav[role="navigation"]>div:nth-child(2)>div:last-child>span>[aria-current="page"]{background:var(--blue-light);color:var(--blue)}
.panel-body nav[role="navigation"]>div:nth-child(2)>div:last-child>span>a:hover{background:var(--blue-light);color:var(--blue)}
.table-wrap{overflow-x:auto}
.doctor-photo-thumb,.doctor-photo-empty{display:grid;width:56px;height:56px;place-items:center;border:1px solid var(--line);background:#e8eef3;color:var(--muted);font-size:10px;object-fit:cover}
table{width:100%;border-collapse:collapse;text-align:left}
th{padding:12px 10px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
td{padding:13px 10px;border-top:1px solid #edf1f5;color:#33475b;font-size:12px;vertical-align:middle}
td strong{color:var(--text);font-weight:600}
.table-actions{display:flex;align-items:center;gap:7px}
.inline-form{display:inline}
.status-badge{display:inline-flex;align-items:center;gap:6px;color:var(--success);font-size:11px;font-weight:600}
.status-badge::before{width:6px;height:6px;border-radius:50%;background:#36a77d;content:''}
.status-draft{color:#92743a}
.status-draft::before{background:#d1a548}
.form-panel{max-width:820px;padding:22px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.field{display:grid;gap:7px}
.field-full{grid-column:1/-1}
.field label{color:#34495e;font-size:12px;font-weight:600}
.field input,.field textarea,.field select{width:100%;min-height:40px;padding:9px 11px;border:1px solid #ccd7e1;background:#fff;color:var(--text);outline:none}
.field textarea{min-height:125px;resize:vertical;line-height:1.6}
.field input:focus,.field textarea:focus,.field select:focus{border-color:#3b8fc6;box-shadow:0 0 0 3px rgba(59,143,198,.12)}
.field-hint,.field-error{font-size:11px}
.field-hint{color:var(--muted)}
.field-error{color:var(--danger)}
.checkbox-field{display:flex;align-items:center;gap:9px;color:#34495e;font-size:12px}
.checkbox-field input{width:16px;height:16px;accent-color:var(--blue)}
.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:21px;padding-top:17px;border-top:1px solid var(--line)}
.notice{margin-bottom:18px;padding:12px 14px;border:1px solid;font-size:12px}
.notice-success{border-color:#b9dfd0;background:#eef8f3;color:var(--success)}
.notice-error{border-color:#edcaca;background:#fff2f2;color:var(--danger)}
.empty-state{padding:24px 12px;color:var(--muted);font-size:12px;text-align:center}
.image-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:20px}
.image-card{min-width:0;border:1px solid var(--line);background:#fff}
.image-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#e8eef3}
.image-card-body{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px}
.image-card-body span{overflow:hidden;color:#405366;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.upload-box{display:grid;gap:12px;padding:18px;border:1px dashed #b9c8d5;background:#fbfcfd}
.login-page{display:grid;min-height:100vh;place-items:center;padding:24px;background:linear-gradient(135deg,#eaf2f8,#f7f8f4)}
.login-panel{width:min(100%,420px);padding:30px;border:1px solid var(--line);background:#fff}
.login-brand{margin-bottom:28px;font-family:Manrope,sans-serif;font-size:19px;font-weight:700}
.login-brand span{display:block;margin-top:5px;color:var(--muted);font-family:'DM Sans',sans-serif;font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}
.login-panel h1{margin:0 0 7px;font-family:Manrope,sans-serif;font-size:23px}
.login-panel>p{margin:0 0 22px;color:var(--muted);font-size:12px}
.login-fields{display:grid;gap:15px}
.login-fields .button{width:100%;margin-top:4px}
.public-gallery{max-width:1200px;margin:0 auto;padding:40px 22px}
.public-gallery h1{font-family:Manrope,sans-serif;font-size:32px}
.public-page{background:#081020;color:#f4f8ff}
.public-nav{display:flex;align-items:center;gap:26px;padding:18px max(22px,calc((100vw - 1200px)/2));background:#0a1628;border-bottom:1px solid rgba(91,163,245,.2)}
.public-nav a{color:#b0c6e0;font-size:12px;text-decoration:none}
.public-nav a:first-child{margin-right:auto;color:#5ba3f5;font-family:Manrope,sans-serif;font-size:16px;font-weight:700}
.public-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.public-gallery-grid img{width:100%;aspect-ratio:1;object-fit:cover}
.public-article{max-width:780px;margin:60px auto;padding:24px;color:#f4f8ff}
.public-article h1{font-family:Manrope,sans-serif;font-size:clamp(30px,5vw,48px);line-height:1.15}
.public-article img{width:100%;max-height:480px;object-fit:cover;margin:24px 0}
.public-article-body{color:#b0c6e0;font-size:16px;line-height:1.8;white-space:pre-line}
@media(max-width:1000px){.image-grid,.public-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}}
@media(max-width:760px){.admin-sidebar{transform:translateX(-100%);transition:transform .2s ease}.sidebar-open .admin-sidebar{transform:translateX(0)}.admin-workspace{margin-left:0}.admin-header{justify-content:flex-start}.menu-toggle{display:grid!important}.header-user{margin-left:auto}.stat-grid{grid-template-columns:1fr}.admin-main{padding-top:22px}.form-grid{grid-template-columns:1fr}.field-full{grid-column:auto}.image-grid,.public-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-intro{align-items:flex-start;flex-direction:column}.admin-footer{font-size:10px}.public-nav{gap:12px;padding:15px}.public-nav a{font-size:11px}.public-article{margin:30px auto;padding:20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}