:root {
    --teal: #1598a8;
    --deep: #0b6f7b;
    --ink: #243238;
    --muted: #718087;
    --bg: #f5f8f9;
    --white: #fff;
    --border: #dfe9eb
}

* {
    box-sizing: border-box
}

body {
    margin: 0;
    font-family: Inter, Arial, sans-serif;
    color: var(--ink);
    background: var(--bg)
}

a {
    color: var(--teal);
    text-decoration: none
}

.admin-body {
    display: flex;
    min-height: 100vh
}

.sidebar {
    width: 250px;
    background: #fff;
    border-right: 1px solid var(--border);
    padding: 20px;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 20
}

.admin-logo {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 800;
    color: var(--deep);
    padding: 5px 0 25px
}

.admin-logo img {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: contain
}

.sidebar nav {
    display: flex;
    flex-direction: column;
    gap: 5px
}

.sidebar nav a {
    padding: 12px 14px;
    border-radius: 9px;
    color: #4e5e64;
    font-weight: 600
}

.sidebar nav a:hover {
    background: #eaf8f9;
    color: var(--deep)
}

.admin-main {
    margin-left: 250px;
    flex: 1
}

.admin-top {
    height: 74px;
    background: #fff;
    border-bottom: 1px solid var(--border);
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 0 28px;
    position: sticky;
    top: 0;
    z-index: 10
}

.admin-top h1 {
    font-size: 22px;
    margin: 0;
    flex: 1
}

.admin-top span {
    color: var(--muted)
}

.admin-menu {
    display: none
}

.admin-content {
    padding: 28px
}

.stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 25px
}

.stat,
.panel {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 22px
}

.stat span {
    color: var(--muted);
    font-size: 14px
}

.stat strong {
    display: block;
    font-size: 32px;
    color: var(--deep);
    margin-top: 5px
}

.quick-links {
    display: flex;
    gap: 12px;
    flex-wrap: wrap
}

.quick-links a {
    padding: 13px 16px;
    background: #eaf8f9;
    border-radius: 9px;
    font-weight: 700
}

.alert {
    padding: 12px 14px;
    border-radius: 9px;
    margin-bottom: 18px
}

.alert.success {
    background: #e9f8ed;
    color: #21723b
}

.alert.error {
    background: #fff0f0;
    color: #9d2d2d
}

.table-wrap {
    overflow: auto
}

table {
    width: 100%;
    border-collapse: collapse;
    min-width: 760px
}

th,
td {
    text-align: left;
    padding: 12px 10px;
    border-bottom: 1px solid var(--border);
    vertical-align: top;
    font-size: 13px
}

th {
    background: #f8fbfb;
    color: #506166
}

.admin-form {
    max-width: 800px
}

.admin-form label,
.login-card label {
    display: block;
    font-weight: 700;
    font-size: 14px;
    margin-bottom: 16px
}

.admin-form input,
.admin-form textarea,
.admin-form select,
.login-card input {
    display: block;
    width: 100%;
    margin-top: 6px;
    border: 1px solid var(--border);
    border-radius: 9px;
    padding: 11px;
    font: inherit
}

.admin-form small {
    display: block;
    color: var(--muted);
    font-weight: 400;
    margin-top: 5px
}

.two-col-admin {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px
}

.inline {
    display: inline
}

.link-danger {
    border: 0;
    background: none;
    color: #c33;
    cursor: pointer;
    font: inherit
}

.login-body {
    min-height: 100vh;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #eaf9fa, #fff, #fdeef2)
}

.login-card {
    width: min(420px, 92%);
    background: #fff;
    border-radius: 18px;
    padding: 32px;
    box-shadow: 0 20px 55px rgba(20, 70, 80, .15)
}

.login-card img {
    width: 72px;
    height: 72px;
    object-fit: contain;
    border-radius: 50%;
    display: block;
    margin: auto
}

.login-card h1 {
    text-align: center;
    color: var(--deep);
    margin-bottom: 5px
}

.login-card p,
.login-card small {
    color: var(--muted);
    text-align: center;
    display: block
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 9px;
    padding: 11px 20px;
    font-weight: 800;
    cursor: pointer
}

.btn-primary {
    background: var(--teal);
    color: #fff
}

.full {
    width: 100%
}

@media(max-width:900px) {
    .sidebar {
        transform: translateX(-100%);
        transition: .2s
    }

    .sidebar.open {
        transform: translateX(0)
    }

    .admin-main {
        margin-left: 0
    }

    .admin-menu {
        display: block;
        border: 0;
        background: none;
        font-size: 22px
    }

    .stats {
        grid-template-columns: 1fr
    }

    .two-col-admin {
        grid-template-columns: 1fr
    }
}

@media(max-width:600px) {
    .admin-content {
        padding: 15px
    }

    .admin-top {
        padding: 0 15px
    }

    .admin-top span {
        display: none
    }
}

/* Premium hospital administration theme */
:root{--teal:#087f8c;--deep:#075b66;--ink:#172d3a;--muted:#70818c;--bg:#f3f7fa;--white:#fff;--border:#e1e9ef;--shadow:0 12px 32px rgba(20,52,70,.06)}
body{font-family:Inter,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}
.sidebar{width:264px;padding:24px 16px;background:#fff;border-right:1px solid #e5edf1;box-shadow:5px 0 24px rgba(25,54,70,.025)}
.admin-logo{gap:12px;padding:3px 10px 30px;color:#075b66;font-size:15px;letter-spacing:-.2px}
.admin-logo img{width:46px;height:46px;border:1px solid #e5eef1;padding:3px;background:#fff}
.sidebar nav{gap:6px}
.sidebar nav a{display:flex;align-items:center;min-height:44px;padding:12px 14px;border-radius:10px;color:#536671;font-size:14px;font-weight:650;transition:background .18s ease,color .18s ease,transform .18s ease}
.sidebar nav a:hover{background:#edf8f9;color:var(--deep);transform:translateX(2px)}
.admin-main{min-width:0}
.admin-top{height:76px;padding:0 34px;background:rgba(255,255,255,.94);border-bottom:1px solid #e5edf1;box-shadow:0 3px 12px rgba(20,52,70,.025);backdrop-filter:blur(12px)}
.admin-top h1{font-size:22px;font-weight:750;letter-spacing:-.55px;color:#183342}
.admin-top>span{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid #e4edf0;border-radius:999px;background:#fbfdfd;color:#536773;font-size:13px;font-weight:650}
.admin-top>span:before{content:"";width:7px;height:7px;border-radius:50%;background:#20a779;box-shadow:0 0 0 3px #e6f7ef}
.admin-content{padding:30px 34px 42px;max-width:1600px;margin:0 auto}
.stat,.panel{border:1px solid #e4ebf0;border-radius:16px;box-shadow:var(--shadow);padding:24px}
.stat strong{font-size:34px;letter-spacing:-1px}
.admin-form{max-width:920px;background:#fff;border:1px solid #e4ebf0;border-radius:16px;padding:26px;box-shadow:var(--shadow)}
.admin-form label,.login-card label{color:#314b58;font-size:13px;font-weight:700;letter-spacing:.1px;margin-bottom:18px}
.admin-form input,.admin-form textarea,.admin-form select{margin-top:8px;border:1px solid #dce6eb;border-radius:10px;padding:12px 13px;background:#fff;color:#172d3a;outline:none;transition:border-color .15s,box-shadow .15s}
.admin-form input:focus,.admin-form textarea:focus,.admin-form select:focus{border-color:#1598a8;box-shadow:0 0 0 3px rgba(21,152,168,.12)}
.admin-form textarea{line-height:1.55;min-height:100px}
.btn{border-radius:10px;padding:12px 19px;transition:transform .15s,box-shadow .15s,background .15s}
.btn-primary{background:linear-gradient(135deg,#0c929e,#08717e);box-shadow:0 7px 15px rgba(8,127,140,.18)}
.btn-primary:hover{background:linear-gradient(135deg,#087f8c,#075b66);box-shadow:0 9px 19px rgba(8,127,140,.24);transform:translateY(-1px)}
.alert{border-radius:11px;padding:13px 16px}
.table-wrap{border:1px solid #e4ebf0;border-radius:13px;background:#fff}
table{border-collapse:separate;border-spacing:0}th{background:#f5f9fb;color:#526773;font-size:12px;text-transform:uppercase;letter-spacing:.55px}th,td{padding:14px 13px;border-bottom:1px solid #edf1f4}tr:last-child td{border-bottom:0}
.quick-links a{background:#edf8f9;color:#08717e;border:1px solid #d9eff1;border-radius:10px;transition:.15s}
.quick-links a:hover{background:#dff3f4;transform:translateY(-1px)}
.login-body{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(ellipse at 12% 10%,rgba(14,157,169,.11),transparent 35%),radial-gradient(ellipse at 90% 90%,rgba(8,91,102,.08),transparent 35%),#f3f7fa}
.login-shell{width:min(1040px,100%);min-height:620px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;background:#fff;border:1px solid #e2ebef;border-radius:26px;box-shadow:0 28px 80px rgba(23,58,75,.13)}
.login-brand-panel{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:38px 40px;color:#fff;background:linear-gradient(145deg,#087f8c 0%,#075b66 58%,#073e50 100%)}
.login-brand{position:relative;z-index:2;display:flex;align-items:center;gap:12px}
.login-brand img{width:52px;height:52px;object-fit:contain;background:#fff;border-radius:15px;padding:4px;box-shadow:0 5px 20px rgba(0,0,0,.1)}
.login-brand strong,.login-brand .brand-kicker{display:block}.login-brand strong{font-size:16px;letter-spacing:-.2px}.brand-kicker{font-size:10px;font-weight:800;letter-spacing:2px;opacity:.72;margin-bottom:3px}
.brand-message{position:relative;z-index:2;margin-top:30px}.brand-pill{display:inline-flex;align-items:center;gap:9px;padding:8px 11px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.09);font-size:10px;font-weight:800;letter-spacing:1.25px}.brand-dot{width:7px;height:7px;border-radius:50%;background:#91f0d1;box-shadow:0 0 0 4px rgba(145,240,209,.14)}
.brand-message h1{font-size:clamp(34px,4vw,47px);line-height:1.13;letter-spacing:-1.8px;margin:25px 0 17px;font-weight:780}.brand-message h1 em{font-style:normal;color:#a7f0e1}.brand-message p{max-width:360px;color:rgba(255,255,255,.78);font-size:14px;line-height:1.8;margin:0}
.brand-footer{position:relative;z-index:2;display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.76);font-size:11px}.brand-shield{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:rgba(255,255,255,.12);color:#a7f0e1}
.brand-orb{position:absolute;z-index:-1;border:1px solid rgba(255,255,255,.11);border-radius:50%;pointer-events:none}.orb-one{width:380px;height:380px;right:-190px;top:100px;box-shadow:0 0 0 38px rgba(255,255,255,.025),0 0 0 78px rgba(255,255,255,.02)}.orb-two{width:210px;height:210px;left:-130px;bottom:-100px;background:rgba(255,255,255,.035)}
.login-form-panel{display:grid;place-items:center;padding:48px 42px}.login-form-wrap{width:100%;max-width:360px}.login-heading{margin-bottom:30px}.login-eyebrow{font-size:10px;font-weight:850;letter-spacing:1.8px;color:#07818e}.login-heading h2{font-size:28px;letter-spacing:-.9px;color:#183342;margin:10px 0 9px}.login-heading p{font-size:13px;color:#71818c;margin:0;line-height:1.6}
.login-form label{display:block;margin:0 0 8px;color:#334d5a;font-size:12px;font-weight:750}.login-input-wrap{display:flex;align-items:center;gap:10px;margin-bottom:21px;border:1px solid #dce6eb;border-radius:11px;padding:0 12px;transition:border-color .15s,box-shadow .15s}.login-input-wrap:focus-within{border-color:#1598a8;box-shadow:0 0 0 3px rgba(21,152,168,.12)}.field-icon{font-size:18px;color:#7b929c}.login-input-wrap input{width:100%;min-width:0;border:0;outline:0;padding:14px 0;background:transparent;font:inherit;font-size:13px;color:#193643}.login-input-wrap input::placeholder{color:#a1afb6}.password-toggle{border:0;background:transparent;color:#087f8c;font-size:11px;font-weight:800;cursor:pointer;padding:8px 0 8px 5px}.login-submit{display:flex;justify-content:space-between;padding:15px 17px;margin-top:7px;font-size:13px;letter-spacing:.1px}.login-security{display:flex;gap:9px;align-items:flex-start;margin-top:24px;color:#7b8b94;font-size:11px;line-height:1.55}.security-lock{flex:0 0 20px;width:20px;height:20px;display:grid;place-items:center;background:#e7f7f0;color:#15845f;border-radius:7px;font-weight:900}.login-copyright{margin-top:42px;padding-top:18px;border-top:1px solid #edf1f3;color:#9aa8af;font-size:10px}.mobile-brand{display:none}
@media(max-width:900px){.sidebar{width:264px}.admin-content{padding:22px}.login-shell{min-height:570px}.login-brand-panel{padding:30px}.login-form-panel{padding:34px 28px}.brand-message h1{font-size:35px}}
@media(max-width:650px){.login-body{padding:12px}.login-shell{display:block;min-height:0;border-radius:20px}.login-brand-panel{display:none}.login-form-panel{padding:30px 23px}.mobile-brand{display:flex;align-items:center;gap:10px;margin-bottom:35px;color:#075b66;font-size:13px;font-weight:800}.mobile-brand img{width:42px;height:42px;object-fit:contain;border:1px solid #e5eef1;border-radius:12px;padding:3px}.login-heading h2{font-size:25px}.login-copyright{margin-top:30px}.admin-top{height:66px;padding:0 16px}.admin-top h1{font-size:18px}.admin-content{padding:16px}.admin-form{padding:18px}.sidebar{box-shadow:15px 0 40px rgba(15,40,50,.13)}}
