:root{--navy:#00265f;--navy-dark:#001b4d;--blue:#075fbd;--sky:#3b8ddd;--canvas:#f3f7fa;--text:#183247;--muted:#6f8494;--line:#dce7ee;--danger:#c94459;--success:#16805c;--radius:16px;--shadow:0 14px 38px rgba(22,58,83,.09)}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{color:var(--text);background:var(--canvas);font:14px/1.5 "Segoe UI",Arial,sans-serif}.topbar{position:sticky;top:0;z-index:100;min-height:74px;padding:0 28px;display:flex;align-items:center;gap:16px;color:#fff;background:linear-gradient(105deg,var(--navy-dark),#00377e 58%,var(--blue));box-shadow:0 8px 26px rgba(4,28,48,.2)}.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}.brand-symbol{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,var(--sky),var(--blue));font-size:31px;font-weight:300;box-shadow:0 7px 18px rgba(7,95,189,.32)}.brand strong{display:block;font-size:18px;letter-spacing:.2px}.brand small{display:block;margin-top:2px;color:#c4ddf7;font-size:10px;letter-spacing:1px;text-transform:uppercase}.topbar-context{display:flex;align-items:center;gap:13px;margin-left:auto}.context-data{min-width:100px;padding-right:12px;border-right:1px solid rgba(255,255,255,.15)}.context-data small,.user-name small{display:block;color:#c4ddf7;font-size:10px}.context-data span{display:block;max-width:145px;overflow:hidden;font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.notification-button,.logout-button{display:inline-flex;align-items:center;min-height:38px;padding:8px 12px;border:1px solid rgba(255,255,255,.16);border-radius:10px;color:#fff;text-decoration:none;font-size:12px;font-weight:700}.notification-button{background:rgba(255,255,255,.08)}.notification-count{display:grid;place-items:center;width:18px;height:18px;margin-left:5px;border-radius:50%;background:#e35e6f;font-size:10px}.logout-button{background:rgba(201,68,89,.16)}.logout-button:hover{color:#fff;background:var(--danger)}.user-menu{display:flex;align-items:center;gap:8px}.user-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e8f4ff;color:var(--blue);font-size:11px;font-weight:800}.user-name{max-width:150px;font-size:12px;font-weight:700}.app-layout{display:flex;min-height:calc(100vh - 74px)}.side-menu-shell{width:252px;flex:0 0 252px;background:linear-gradient(180deg,#002d70,var(--navy-dark))}.side-menu{position:sticky;top:74px;height:calc(100vh - 74px);padding:24px 14px;overflow-y:auto}.side-menu-heading{margin:0 14px 13px;color:#c9dce6;font-size:10px;font-weight:800;letter-spacing:1.6px}.second-heading{margin-top:28px}.side-menu ul{margin:0;padding:0;list-style:none}.menu-item{margin:4px 0}.menu-item a,.menu-item span{display:flex;align-items:center;min-height:44px;padding:10px 14px;border-radius:11px;color:#c9dce6;text-decoration:none;font-weight:650;transition:.18s}.menu-item a:before{display:inline-block;width:7px;height:7px;margin-right:11px;border-radius:50%;background:currentColor;content:"";opacity:.65}.menu-item a:hover,.menu-item a.active{color:#fff;background:rgba(255,255,255,.13)}.menu-item a.active{background:var(--sky);box-shadow:inset 3px 0 rgba(255,255,255,.55)}.menu-item.disabled span{color:#91a7bf;cursor:not-allowed}.gest-signature{display:flex;align-items:center;gap:8px;margin-top:27px;padding:9px;color:#c8dcf4;border:1px solid rgba(255,255,255,.08);border-radius:9px;background:rgba(0,18,56,.32);font-size:10px}.signature-mark{display:grid;place-items:center;width:25px;height:25px;border-radius:6px;background:#fff;color:var(--blue);font-size:20px;font-weight:600}.main-content{width:calc(100% - 252px);flex:1;padding:32px clamp(20px,3.1vw,48px) 48px;background-image:radial-gradient(circle at 95% 4%,rgba(7,95,189,.07),transparent 23%)}.page-heading{display:flex;align-items:flex-start;gap:18px;justify-content:space-between;margin-bottom:24px}.page-heading h1{margin:3px 0 4px;color:var(--navy);font-size:27px;font-weight:800}.breadcrumb{color:var(--muted);font-size:12px}.breadcrumb a{color:var(--blue);text-decoration:none}.page-subtitle{margin:0;color:var(--muted)}.btn-gest{display:inline-flex;align-items:center;justify-content:center;min-height:41px;padding:9px 17px;border:0;border-radius:9px;background:linear-gradient(110deg,var(--blue),#168fb7);color:#fff;text-decoration:none;font-weight:750;box-shadow:0 5px 13px rgba(22,58,83,.09);cursor:pointer;transition:.16s}.btn-gest:hover{color:#fff;filter:brightness(1.05);transform:translateY(-1px)}.btn-outline-gest{background:#fff;border:1px solid #bdd3e3;color:#1764a5}.btn-outline-gest:hover{background:#edf6fc;color:#1764a5}.card-gest{margin-bottom:22px;padding:25px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card-gest h2{margin:0 0 19px;padding-bottom:13px;border-bottom:1px solid var(--line);color:var(--navy);font-size:19px}.card-gest h2:after{display:block;width:42px;height:3px;margin-top:12px;border-radius:3px;background:linear-gradient(90deg,var(--sky),var(--blue));content:""}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:18px;margin-bottom:24px}.stat-card{position:relative;min-height:130px;padding:23px;overflow:hidden;background:#fff;border:1px solid #d2e2eb;border-radius:var(--radius);box-shadow:var(--shadow)}.stat-card:after{position:absolute;top:-30px;right:-28px;width:98px;height:98px;border-radius:50%;background:linear-gradient(145deg,rgba(59,141,221,.18),rgba(7,95,189,.05));content:""}.stat-card h3{position:relative;z-index:1;margin:0 0 10px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase}.stat-card .stat-value{position:relative;z-index:1;color:var(--navy);font-size:33px;font-weight:800}.stat-card .stat-note{position:relative;z-index:1;margin-top:4px;color:var(--muted);font-size:11px}.filter-grid,.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:end}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin:5px 0 20px}.form-grid .full{grid-column:1/-1}.form-group label{display:block;margin-bottom:7px;color:#365367;font-size:13px;font-weight:700}.form-control-gest{width:100%;min-height:42px;padding:9px 12px;border:1px solid #cbdbe5;border-radius:9px;background:#fbfdfe;color:var(--text);outline:none;transition:.18s}.form-control-gest:focus{border-color:var(--blue);background:#fff;box-shadow:0 0 0 3px rgba(22,119,200,.12)}textarea.form-control-gest{min-height:82px;resize:vertical}.validation-message{display:block;margin-top:5px;color:#bc3950;font-size:11px}.table-shell{overflow-x:auto;border:1px solid var(--line);border-radius:12px}.table-gest{width:100%;margin:0;border-collapse:collapse;background:#fff}.table-gest th,.table-gest td{padding:13px 14px;border-bottom:1px solid #e7eef2;text-align:left;vertical-align:middle;white-space:nowrap}.table-gest th{color:#dcebf3;background:#00377e;font-size:11px;font-weight:800;letter-spacing:.6px}.table-gest tr:nth-child(even) td{background:#f8fbfc}.table-gest tr:hover td{background:#edf8fa}.table-action{display:inline-flex;padding:6px 10px;border-radius:7px;color:#126aa9;background:#edf6fc;text-decoration:none;font-size:12px;font-weight:700}.table-action:hover{color:#fff;background:var(--blue)}.table-empty{text-align:center!important;color:var(--muted);white-space:normal!important}.pagination-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;color:var(--muted);font-size:12px}.alert-gest{margin-bottom:18px;padding:13px 16px;border-radius:11px;font-weight:600}.alert-success{border:1px solid #bee8d6;background:#e8f8f1;color:#147151}.alert-error{border:1px solid #f4cbd2;background:#fff0f2;color:#a83045}.patient-summary{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:22px}.patient-avatar{display:grid;place-items:center;width:58px;height:58px;border-radius:17px;background:linear-gradient(145deg,#dcefff,#bcdcf5);color:var(--blue);font-size:20px;font-weight:800}.patient-summary h2{margin:0;color:var(--navy);font-size:21px}.patient-summary p{margin:4px 0 0;color:var(--muted)}.patient-meta{display:grid;grid-template-columns:repeat(3,minmax(125px,1fr));gap:12px}.patient-meta div{padding-left:12px;border-left:2px solid #d7e8f5}.patient-meta small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase}.patient-meta strong{font-size:12px}.patient-alert{margin-bottom:18px;padding:11px 13px;border-radius:9px;font-size:12px}.patient-alert-neutral{border:1px solid #d7e8f5;background:#f1f8fd;color:#416178}.login-page{min-height:100vh;display:grid;place-items:center;padding:28px;overflow:hidden;background:linear-gradient(135deg,#00143d,#00377e 55%,#075fbd)}.login-page:before,.login-page:after{position:fixed;border-radius:50%;content:""}.login-page:before{top:-190px;right:-170px;width:480px;height:480px;background:rgba(59,141,221,.2)}.login-page:after{bottom:-190px;left:-150px;width:380px;height:380px;background:rgba(0,32,96,.22)}.login-box{position:relative;z-index:1;width:min(100%,430px);padding:38px;border:1px solid rgba(255,255,255,.54);border-radius:22px;background:rgba(255,255,255,.97);box-shadow:0 28px 75px rgba(0,17,30,.34)}.login-brand{margin-bottom:28px;text-align:center}.login-brand .brand-symbol{margin:0 auto 14px}.login-brand h1{margin:0;color:var(--navy);font-size:25px}.login-brand p{margin:6px 0 0;color:var(--muted);font-size:12px}.login-box .form-group{margin-bottom:18px}.login-submit{width:100%;min-height:48px;border:0;border-radius:10px;background:linear-gradient(110deg,var(--blue),var(--sky));color:#fff;font-weight:750;cursor:pointer}.login-footnote{margin-top:20px;padding-top:17px;border-top:1px solid var(--line);color:#718594;text-align:center;font-size:10px}.menu-toggle{display:none;width:42px;height:42px;padding:9px;border:1px solid rgba(255,255,255,.18);border-radius:11px;background:rgba(255,255,255,.08);cursor:pointer}.menu-toggle span{display:block;height:2px;margin:4px 0;border-radius:3px;background:#fff}@media(max-width:1000px){.context-data{display:none}.user-name{display:none}}@media(max-width:820px){.topbar{min-height:68px;padding:10px 15px}.menu-toggle{display:block}.brand{margin-right:auto}.brand strong{font-size:15px}.brand small{display:none}.notification-button{font-size:0}.notification-button .notification-count{margin:0;font-size:10px}.logout-button{padding:8px 10px}.side-menu-shell{position:fixed;z-index:90;top:68px;left:0;width:min(84vw,310px);height:calc(100dvh - 68px);transform:translateX(-105%);transition:transform .24s ease;box-shadow:18px 0 45px rgba(0,18,50,.28)}.side-menu-shell.open{transform:translateX(0)}.side-menu{top:0;height:100%}.menu-backdrop{position:fixed;z-index:80;inset:68px 0 0;background:rgba(5,19,38,.48);backdrop-filter:blur(2px)}.menu-backdrop.visible{display:block}.app-layout{min-height:calc(100dvh - 68px)}.main-content{width:100%;padding:20px 14px 34px}.page-heading{align-items:stretch;flex-direction:column}.filter-grid,.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.patient-summary{grid-template-columns:auto 1fr}.patient-meta{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}}@media(max-width:520px){.topbar{padding:9px 10px}.notification-button{display:none}.stats-grid,.filter-grid,.form-grid{grid-template-columns:1fr}.card-gest{padding:17px;border-radius:13px}.patient-summary{grid-template-columns:1fr}.patient-meta{grid-template-columns:1fr}.patient-avatar{width:48px;height:48px}.pagination-row{align-items:stretch;flex-direction:column}.login-page{padding:16px}.login-box{padding:27px 21px}}
