@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@500;700&family=JetBrains+Mono&display=swap";:root{--bg-main: hsl(222, 25%, 6%);--bg-card: hsla(220, 20%, 11%, .75);--bg-sidebar: hsl(222, 22%, 9%);--border-light: hsla(220, 20%, 90%, .05);--border-focus: hsla(265, 85%, 62%, .3);--text-primary: hsl(210, 25%, 96%);--text-secondary: hsl(215, 14%, 68%);--text-muted: hsl(215, 10%, 45%);--accent-primary: hsl(152, 75%, 48%);--accent-secondary: hsl(265, 85%, 62%);--accent-warning: hsl(35, 95%, 55%);--accent-danger: hsl(355, 85%, 55%)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-main);color:var(--text-primary);font-family:Inter,sans-serif;-webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden}.app-container{display:flex;min-height:100vh}.sidebar{width:260px;background-color:var(--bg-sidebar);border-right:1px solid var(--border-light);display:flex;flex-direction:column;padding:24px}.sidebar-header{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:40px}.menu-toggle{display:none}.brand{display:flex;align-items:center;gap:12px}.brand h2{font-family:Outfit,sans-serif;font-size:1.5rem;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.menu{display:flex;flex-direction:column;gap:4px;flex-grow:1}.menu::-webkit-scrollbar{width:4px}.menu::-webkit-scrollbar-track{background:transparent}.menu::-webkit-scrollbar-thumb{background:#ffffff0d;border-radius:4px}.menu:hover::-webkit-scrollbar-thumb{background:#ffffff26}.menu-item{display:flex;align-items:center;gap:10px;padding:10px 14px;color:var(--text-secondary);text-decoration:none;border-radius:6px;font-size:.9rem;font-weight:500;border:none;background:none;text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:transform .25s cubic-bezier(.25,.8,.25,1),background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease;position:relative}.menu-item:hover{color:var(--text-primary);background-color:#ffffff08;transform:translate(4px)}.menu-item.active{color:var(--accent-secondary);background:linear-gradient(90deg,#10b98114,#10b98103);border-left:3px solid var(--accent-secondary);border-radius:0 6px 6px 0;padding-left:11px;box-shadow:inset 2px 0 4px #10b9810d}.user-info{display:flex;flex-direction:column;gap:6px;padding-top:20px;border-top:1px solid var(--border-light)}.user-name{font-size:.9rem;font-weight:600}.user-role{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.btn-logout{margin-top:12px;padding:8px;background:none;border:1px solid hsla(355,85%,55%,.2);color:var(--accent-danger);border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .2s ease}.btn-logout:hover{background-color:#ee2b3b1a}.main-content{flex-grow:1;padding:40px;display:flex;flex-direction:column;gap:32px;max-width:1200px;margin:0 auto;width:100%}.header-panel{display:flex;justify-content:space-between;align-items:center}.header-panel h1{font-family:Outfit,sans-serif;font-size:2rem}.status-badge{display:flex;align-items:center;gap:8px;background-color:#1fd6811a;border:1px solid hsla(152,75%,48%,.2);color:var(--accent-primary);padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:600}.status-dot{width:8px;height:8px;border-radius:50%;background-color:var(--accent-primary);box-shadow:0 0 8px var(--accent-primary);animation:statusPulse 2s infinite}@keyframes statusPulse{0%{transform:scale(.9);box-shadow:0 0 #10b981b3}70%{transform:scale(1.1);box-shadow:0 0 0 6px #10b98100}to{transform:scale(.9);box-shadow:0 0 #10b98100}}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:24px}.metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-light);border-radius:16px;padding:24px;transition:transform .2s ease,border-color .2s ease}.card:hover{transform:translateY(-2px);border-color:#ffffff14}.card-title{font-size:1.1rem;font-weight:600;margin-bottom:20px;color:var(--text-primary)}.resource-dials{display:flex;justify-content:space-around;gap:16px;padding:10px 0}.dial{display:flex;flex-direction:column;align-items:center;gap:12px}.dial-svg{position:relative;width:120px;height:120px}.dial-circle-bg{fill:none;stroke:#e0e4eb08;stroke-width:10}.dial-circle-fill{fill:none;stroke-width:10;stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset .8s ease}.dial-val{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.4rem;font-weight:700;font-family:Outfit,sans-serif}.dial-label{font-size:.85rem;color:var(--text-secondary);font-weight:500}.health-widget{display:flex;flex-direction:column;gap:16px;align-items:center}.health-status{font-size:1.5rem;font-weight:700;color:var(--accent-primary);display:flex;align-items:center;gap:8px}.ecg-svg{width:100%;height:80px}.ecg-line{fill:none;stroke:var(--accent-primary);stroke-width:2;stroke-dasharray:1000;stroke-dashoffset:0;animation:ecgScroll 4s linear infinite}@keyframes ecgScroll{0%{stroke-dashoffset:1000}to{stroke-dashoffset:0}}.table-container{overflow-x:auto;margin-top:12px}table{width:100%;border-collapse:collapse;text-align:left}th{padding:12px 16px;color:var(--text-muted);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-light)}td{padding:16px;font-size:.9rem;border-bottom:1px solid var(--border-light)}tr:last-child td{border-bottom:none}.badge-status{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:600}.badge-status:before{content:"";width:6px;height:6px;border-radius:50%}.badge-status.active{color:var(--accent-primary)}.badge-status.active:before{background-color:var(--accent-primary)}.badge-status.pending{color:var(--accent-warning)}.badge-status.pending:before{background-color:var(--accent-warning)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:16px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group-full{grid-column:span 2;display:flex;flex-direction:column;gap:8px}label{font-size:.85rem;font-weight:500;color:var(--text-secondary)}input,select{background-color:#e0e4eb08;border:1px solid var(--border-light);color:var(--text-primary);padding:12px 16px;border-radius:8px;font-size:.95rem;outline:none;transition:border-color .2s ease}input:focus,select:focus{border-color:var(--accent-secondary)}select option{background-color:var(--bg-sidebar);color:var(--text-primary)}.btn-primary{background:linear-gradient(135deg,var(--accent-secondary),hsl(265,85%,52%));color:var(--text-primary);border:none;padding:12px 24px;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:opacity .2s ease;margin-top:10px}.btn-primary:hover{opacity:.9}.actions-list{display:flex;gap:8px}.btn-action{background:none;border:1px solid var(--border-light);color:var(--text-secondary);padding:6px 12px;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-action:hover{color:var(--text-primary);border-color:#ffffff26;background-color:#e0e4eb05}.btn-action-danger{color:var(--accent-danger);border-color:#ee2b3b26}.btn-action-danger:hover{background-color:#ee2b3b14;border-color:#ee2b3b4d}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px}.login-card{max-width:420px;width:100%;background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-light);border-radius:20px;padding:40px;box-shadow:0 20px 40px #0006}.login-logo{text-align:center;margin-bottom:32px}.login-logo h1{font-family:Outfit,sans-serif;font-size:2.2rem;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.login-form{display:flex;flex-direction:column;gap:20px}.error-message{background-color:#ee2b3b1a;border:1px solid hsla(355,85%,55%,.2);color:var(--accent-danger);padding:12px;border-radius:8px;font-size:.85rem;line-height:1.4}.log-console{background-color:#07090d;border:1px solid var(--border-light);border-radius:8px;padding:16px;font-family:JetBrains Mono,monospace;font-size:.85rem;color:#1fd681;max-height:200px;overflow-y:auto;margin-top:16px;line-height:1.5}.menu-category{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}.menu-category-header{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;color:var(--text-muted);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:none;border:none;cursor:pointer;width:100%;text-align:left;transition:color .2s ease,opacity .2s ease}.menu-category-header:hover{color:var(--text-primary)}.menu-category-header-title{display:flex;align-items:center;gap:6px}.menu-category-chevron{font-size:.65rem;transition:transform .25s cubic-bezier(.4,0,.2,1)}.menu-category-chevron.collapsed{transform:rotate(-90deg)}.menu-category-items{display:flex;flex-direction:column;gap:3px;padding-left:4px;overflow:hidden;max-height:500px;opacity:1;transition:max-height .3s cubic-bezier(.4,0,.2,1),opacity .25s ease,padding .3s ease}.menu-category-items.collapsed{max-height:0;opacity:0;pointer-events:none}@media (max-width: 768px){.app-container{flex-direction:column}.sidebar{width:100%;padding:16px 24px;border-right:none;border-bottom:1px solid var(--border-light);display:flex;flex-direction:column;align-items:stretch;background-color:var(--bg-sidebar);gap:0}.sidebar-header{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:0}.brand{margin-bottom:0}.menu-toggle{display:flex;background:none;border:none;color:var(--text-primary);cursor:pointer;padding:8px;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.menu-toggle:hover{background-color:#e0e4eb0d}.menu-toggle svg{transition:transform .2s ease}.menu{display:none;flex-direction:column;gap:8px;margin-top:16px;width:100%}.user-info{display:none;flex-direction:column;gap:6px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border-light);width:100%}.sidebar.menu-open .menu,.sidebar.menu-open .user-info{display:flex}.main-content{padding:24px}.dashboard-grid,.metrics-grid,.form-grid{grid-template-columns:1fr}.form-group-full{grid-column:span 1}}
