:root {
  --bg: #f4f7f6;
  --surface: #ffffff;
  --surface-soft: #f7faf9;
  --line: #e3eae7;
  --text: #172521;
  --muted: #667771;
  --green: #126b55;
  --green-2: #0f8767;
  --green-soft: #e8f4ef;
  --lime: #d8ef76;
  --amber: #b76a13;
  --amber-soft: #fff4e5;
  --red: #bf3b3b;
  --red-soft: #fcebec;
  --blue: #3268a8;
  --blue-soft: #eaf2fb;
  --shadow: 0 10px 35px rgba(31, 58, 49, .08);
  --sidebar: 240px;
}

* { box-sizing: border-box; }
html { font-size: 15px; }
body { margin: 0; color: var(--text); background: var(--bg); font-family: Inter, "PingFang SC", "Microsoft YaHei", sans-serif; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.app-shell { min-height: 100vh; display: flex; }
.sidebar { position: fixed; inset: 0 auto 0 0; z-index: 30; width: var(--sidebar); color: #dce9e5; background: #102a23; display: flex; flex-direction: column; padding: 24px 14px 18px; transition: transform .25s ease; }
.brand { display: flex; align-items: center; gap: 11px; padding: 0 10px 24px; }
.brand-mark { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; background: var(--lime); }
.brand-mark svg { width: 27px; height: 27px; stroke: #12392e; stroke-width: 2.2; fill: none; }
.brand strong { display: block; color: white; font-size: 18px; letter-spacing: .04em; }
.brand span { display: block; margin-top: 3px; color: #84a198; font-size: 10px; letter-spacing: .08em; }
.main-nav { flex: 1; overflow-y: auto; scrollbar-width: none; }
.nav-label { margin: 21px 13px 8px; color: #6d8b82; font-size: 10px; font-weight: 700; letter-spacing: .16em; }
.nav-item { width: 100%; min-height: 43px; padding: 0 11px; border: 0; border-radius: 10px; color: #afc3bd; background: transparent; display: flex; align-items: center; gap: 12px; text-align: left; transition: .15s; }
.nav-item:hover { color: white; background: rgba(255,255,255,.05); }
.nav-item.active { color: #183c32; background: var(--lime); font-weight: 700; }
.nav-icon { width: 22px; text-align: center; font-size: 18px; }
.nav-item em { margin-left: auto; min-width: 20px; height: 19px; padding: 0 6px; border-radius: 10px; color: #cbf7e9; background: #1e4b40; font-size: 10px; font-style: normal; display: grid; place-items: center; }
.nav-item.active em { color: white; background: #1f5f4d; }
.nav-item em.danger { background: #a53e3e; }
.sidebar-foot { border-top: 1px solid rgba(255,255,255,.08); padding: 16px 9px 0; }
.sync-dot { display: flex; align-items: center; gap: 8px; font-size: 11px; }
.sync-dot i { width: 8px; height: 8px; border-radius: 50%; background: #66d79e; box-shadow: 0 0 0 4px rgba(102,215,158,.1); }
.sidebar-foot small { display: block; margin: 6px 0 0 16px; color: #67847b; font-size: 9px; }
.main-area { min-width: 0; width: calc(100% - var(--sidebar)); margin-left: var(--sidebar); }
.topbar { position: sticky; top: 0; z-index: 20; height: 72px; padding: 0 30px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.92); backdrop-filter: blur(14px); }
.topbar-left, .topbar-actions { display: flex; align-items: center; gap: 14px; }
.breadcrumb { display: flex; align-items: center; gap: 9px; font-size: 13px; color: var(--muted); }
.breadcrumb b { color: #c1ccc8; }.breadcrumb strong { color: var(--text); }
.icon-btn { width: 38px; height: 38px; border: 1px solid var(--line); border-radius: 10px; color: var(--muted); background: white; display: grid; place-items: center; }
.menu-toggle { display: none; }
.search-box { width: min(330px, 28vw); height: 40px; padding: 0 11px; border: 1px solid var(--line); border-radius: 11px; background: #f6f8f7; display: flex; align-items: center; gap: 8px; color: var(--muted); }
.search-box input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; font-size: 12px; }
kbd { padding: 3px 6px; border: 1px solid #d8e1de; border-radius: 5px; color: #86948f; background: white; font-size: 9px; }
.notification-btn { position: relative; font-size: 18px; }
.notification-btn i { position: absolute; right: 8px; top: 7px; width: 7px; height: 7px; border: 2px solid white; border-radius: 50%; background: #e05454; }
.profile-btn { padding: 0; border: 0; background: transparent; display: flex; align-items: center; gap: 9px; color: var(--muted); }
.avatar { width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; background: #d9ede5; color: var(--green); font-weight: 700; }
.profile-copy { text-align: left; }.profile-copy strong,.profile-copy small { display: block; }.profile-copy strong { color: var(--text); font-size: 12px; }.profile-copy small { margin-top: 2px; font-size: 9px; }
.content { padding: 27px 30px 50px; }
.page-head { margin-bottom: 22px; display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.page-head h1 { margin: 0 0 6px; font-family: Georgia, "Songti SC", serif; font-size: 28px; font-weight: 600; letter-spacing: -.02em; }
.page-head p { margin: 0; color: var(--muted); font-size: 12px; }
.page-actions { display: flex; gap: 9px; }
.btn { height: 39px; padding: 0 15px; border: 1px solid var(--line); border-radius: 9px; color: #34453f; background: white; font-size: 12px; font-weight: 600; display: inline-flex; align-items: center; justify-content: center; gap: 7px; }
.btn:hover { border-color: #b9c9c3; }.btn.primary { color: white; border-color: var(--green); background: var(--green); }.btn.primary:hover { background: #0c5b48; }.btn.soft { color: var(--green); border-color: transparent; background: var(--green-soft); }.btn.small { height: 32px; padding: 0 11px; font-size: 11px; }
.metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 18px; }
.metric-card { min-width: 0; padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); box-shadow: 0 2px 9px rgba(31,58,49,.025); }
.metric-top { display: flex; align-items: center; justify-content: space-between; color: var(--muted); font-size: 11px; }
.metric-icon { width: 32px; height: 32px; border-radius: 9px; display: grid; place-items: center; background: var(--green-soft); color: var(--green); font-size: 16px; }
.metric-card.warning .metric-icon { color: var(--amber); background: var(--amber-soft); }.metric-card.alert .metric-icon { color: var(--red); background: var(--red-soft); }
.metric-value { margin: 12px 0 7px; font-family: Georgia, serif; font-size: 28px; line-height: 1; }
.metric-foot { color: #83918c; font-size: 10px; }.metric-foot b { color: var(--green-2); }.metric-card.alert .metric-foot b { color: var(--red); }
.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(300px, .75fr); gap: 18px; }
.stack { display: grid; gap: 18px; }
.card { border: 1px solid var(--line); border-radius: 14px; background: var(--surface); box-shadow: 0 3px 14px rgba(31,58,49,.03); overflow: hidden; }
.card-head { min-height: 57px; padding: 0 18px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #edf1ef; }
.card-head h3 { margin: 0; font-size: 13px; }.card-head p { margin: 3px 0 0; color: var(--muted); font-size: 9px; }
.card-link { border: 0; color: var(--green); background: transparent; font-size: 11px; font-weight: 600; }
.live-pill { padding: 5px 8px; border-radius: 9px; color: var(--green); background: var(--green-soft); font-size: 9px; }.live-pill i { display: inline-block; width: 6px; height: 6px; margin-right: 5px; border-radius: 50%; background: #39a377; }
.workflow { padding: 21px 20px 23px; display: grid; grid-template-columns: repeat(6, 1fr); align-items: start; }
.flow-step { position: relative; text-align: center; }
.flow-step:not(:last-child)::after { content:""; position:absolute; top:17px; left:63%; width:74%; border-top:1px dashed #c7d4cf; }
.flow-dot { position: relative; z-index: 1; width: 34px; height: 34px; margin: 0 auto 9px; border: 5px solid #edf3f0; border-radius: 50%; background: var(--green-2); box-shadow: 0 0 0 1px #cee0d9; }
.flow-step:nth-child(4) .flow-dot { background: var(--lime); }.flow-step:nth-child(n+5) .flow-dot { background: white; }
.flow-step strong { display: block; font-size: 11px; }.flow-step span { display: block; margin-top: 4px; color: var(--muted); font-size: 9px; }
.queue-list { padding: 0 18px 8px; }
.queue-row { display: grid; grid-template-columns: 42px minmax(110px, 1.2fr) 1fr 90px 34px; align-items: center; gap: 8px; min-height: 59px; border-bottom: 1px solid #edf1ef; font-size: 11px; }
.queue-row:last-child { border: 0; }.queue-num { font-family: Georgia, serif; font-size: 17px; color: #50605a; }.patient strong,.patient small { display:block; }.patient small { margin-top:3px; color:var(--muted); font-size:9px; }.exam { color: #465650; }.time { color: var(--muted); text-align: right; }.more { border:0;background:transparent;color:var(--muted);font-size:18px; }
.status { display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:12px;font-size:9px;font-weight:600;white-space:nowrap; }.status::before { content:"";width:5px;height:5px;border-radius:50%;background:currentColor; }.status.green {color:#13705a;background:var(--green-soft)}.status.amber{color:#a96113;background:var(--amber-soft)}.status.red{color:#b23b3b;background:var(--red-soft)}.status.blue{color:#3268a8;background:var(--blue-soft)}.status.gray{color:#65736e;background:#eef2f0}
.device-list { padding: 10px 16px 15px; display:grid;gap:8px; }.device-row { padding:12px;border:1px solid #e9efec;border-radius:10px;display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center; }.device-icon { width:34px;height:34px;border-radius:9px;background:#eef5f2;color:var(--green);display:grid;place-items:center; }.device-row strong,.device-row small{display:block}.device-row strong{font-size:11px}.device-row small{margin-top:4px;color:var(--muted);font-size:9px}.device-progress{grid-column:2/4;height:4px;border-radius:2px;background:#e7ecea;overflow:hidden}.device-progress i{display:block;height:100%;background:var(--green-2);border-radius:2px}.device-row.maintenance .device-progress i{background:var(--amber)}
.alert-list { padding: 8px 16px 13px; }.alert-row { padding:11px 0;display:grid;grid-template-columns:29px 1fr auto;gap:9px;align-items:center;border-bottom:1px solid #edf1ef }.alert-row:last-child{border:0}.alert-symbol{width:29px;height:29px;border-radius:8px;background:var(--red-soft);color:var(--red);display:grid;place-items:center;font-weight:800}.alert-row strong,.alert-row small{display:block}.alert-row strong{font-size:10px}.alert-row small{margin-top:4px;color:var(--muted);font-size:9px}.alert-row time{color:#899791;font-size:9px}
.section-tabs { margin-bottom: 16px; display:flex;gap:4px;border-bottom:1px solid var(--line); }.section-tabs button { padding: 10px 13px 12px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:11px }.section-tabs button.active{color:var(--green);border-bottom-color:var(--green);font-weight:700}
.toolbar { margin-bottom:13px;display:flex;justify-content:space-between;align-items:center;gap:12px }.filters{display:flex;gap:8px;flex-wrap:wrap}.select,.filter-input{height:36px;padding:0 11px;border:1px solid var(--line);border-radius:8px;background:white;color:#4f5e59;font-size:11px;outline:none}.filter-input{min-width:210px}
.data-card { border:1px solid var(--line);border-radius:13px;background:white;overflow:hidden }.data-table{width:100%;border-collapse:collapse}.data-table th{height:43px;padding:0 14px;text-align:left;background:#f7f9f8;color:#71807b;font-size:9px;letter-spacing:.03em;font-weight:600}.data-table td{height:58px;padding:9px 14px;border-top:1px solid #edf1ef;font-size:10px;vertical-align:middle}.data-table tr:hover td{background:#fbfcfc}.data-table strong{font-size:11px}.data-table small{display:block;margin-top:3px;color:var(--muted);font-size:9px}.table-actions{display:flex;gap:5px}.mini-btn{width:28px;height:28px;border:1px solid var(--line);border-radius:7px;background:white;color:var(--muted)}
.schedule-grid{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));border:1px solid var(--line);border-radius:13px;background:white;overflow:auto}.day-col{min-width:110px;border-right:1px solid var(--line)}.day-col:last-child{border:0}.day-head{height:57px;padding:10px;text-align:center;border-bottom:1px solid var(--line);background:#f7f9f8}.day-head strong,.day-head span{display:block}.day-head strong{font-size:11px}.day-head span{margin-top:3px;color:var(--muted);font-size:9px}.day-head.today{color:white;background:var(--green)}.shift{margin:8px;padding:9px;border-radius:8px;background:#edf6f2;border-left:3px solid var(--green-2)}.shift.amber{background:var(--amber-soft);border-color:var(--amber)}.shift.blue{background:var(--blue-soft);border-color:var(--blue)}.shift strong,.shift span{display:block}.shift strong{font-size:10px}.shift span{margin-top:4px;color:var(--muted);font-size:8px}
.inventory-grid,.project-grid,.settings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.inventory-card,.project-card,.setting-card{padding:17px;border:1px solid var(--line);border-radius:13px;background:white}.inventory-card-top,.project-card-top{display:flex;justify-content:space-between;gap:10px}.inventory-card h3,.project-card h3{margin:0;font-size:12px}.inventory-card p,.project-card p{margin:5px 0;color:var(--muted);font-size:9px}.stock-value{margin:15px 0 6px;font-family:Georgia,serif;font-size:25px}.stock-value small{font-family:inherit;font-size:11px;color:var(--muted)}.progress{height:6px;border-radius:3px;background:#e7ecea;overflow:hidden}.progress i{display:block;height:100%;background:var(--green-2);border-radius:3px}.progress.red i{background:var(--red)}.stock-foot{margin-top:7px;display:flex;justify-content:space-between;color:var(--muted);font-size:9px}
.project-card{min-height:190px}.project-meta{display:flex;gap:10px;margin:13px 0;color:var(--muted);font-size:9px}.project-progress{margin:16px 0 9px}.project-progress .progress{margin-top:7px}.avatars{display:flex}.avatars span{width:25px;height:25px;margin-left:-5px;border:2px solid white;border-radius:50%;display:grid;place-items:center;background:#dfeee8;color:var(--green);font-size:8px}.avatars span:first-child{margin-left:0}.project-foot{display:flex;align-items:center;justify-content:space-between;margin-top:13px}
.charts-grid{display:grid;grid-template-columns:1.35fr .75fr;gap:14px}.chart-card{padding:18px;border:1px solid var(--line);border-radius:13px;background:white}.chart-card h3{margin:0;font-size:12px}.chart-card p{margin:4px 0 20px;color:var(--muted);font-size:9px}.bar-chart{height:220px;display:flex;align-items:end;gap:18px;padding:10px 8px 0;border-bottom:1px solid var(--line);background:repeating-linear-gradient(to top,transparent 0,transparent 43px,#eff3f1 44px)}.bar-group{flex:1;height:100%;display:flex;align-items:end;justify-content:center;gap:5px;position:relative}.bar{width:14px;border-radius:5px 5px 0 0;background:var(--green)}.bar.alt{background:var(--lime)}.bar-group label{position:absolute;bottom:-24px;font-size:9px;color:var(--muted)}.donut{width:165px;height:165px;margin:12px auto 20px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--green) 0 42%,#5fae92 42% 70%,var(--lime) 70% 88%,#d7e0dc 88%)}.donut::after{content:"286\A 检查人次";white-space:pre;text-align:center;width:104px;height:104px;border-radius:50%;display:grid;place-items:center;background:white;font-family:Georgia,serif;font-size:18px;line-height:1.5}.legend{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:9px;color:var(--muted)}.legend i{display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:6px}
.consult-layout{display:grid;grid-template-columns:320px 1fr;min-height:560px;border:1px solid var(--line);border-radius:13px;background:white;overflow:hidden}.consult-list{border-right:1px solid var(--line)}.consult-search{padding:13px;border-bottom:1px solid var(--line)}.consult-search input{width:100%;height:35px;border:1px solid var(--line);border-radius:8px;padding:0 10px}.chat-person{padding:13px;display:grid;grid-template-columns:35px 1fr auto;gap:10px;border-bottom:1px solid var(--line);cursor:pointer}.chat-person.active{background:var(--green-soft)}.chat-person .avatar{width:35px;height:35px;border-radius:10px}.chat-person strong,.chat-person small{display:block}.chat-person strong{font-size:10px}.chat-person small{margin-top:5px;color:var(--muted);font-size:8px}.chat-person time{font-size:8px;color:var(--muted)}.consult-main{display:flex;flex-direction:column}.consult-head{height:61px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.consult-thread{flex:1;padding:20px;background:#f8faf9}.bubble{max-width:72%;margin-bottom:13px;padding:11px 13px;border-radius:12px;background:white;box-shadow:0 2px 6px rgba(0,0,0,.04);font-size:10px;line-height:1.7}.bubble.me{margin-left:auto;color:white;background:var(--green)}.bubble.ai{border:1px solid #d8e7e1;background:#edf6f2}.bubble small{display:block;margin-top:5px;opacity:.6}.consult-compose{padding:13px;border-top:1px solid var(--line);display:flex;gap:8px}.consult-compose input{flex:1;border:1px solid var(--line);border-radius:9px;padding:0 11px}
.setting-card{min-height:135px;display:flex;flex-direction:column}.setting-icon{width:35px;height:35px;border-radius:9px;display:grid;place-items:center;background:var(--green-soft);color:var(--green)}.setting-card h3{margin:12px 0 6px;font-size:11px}.setting-card p{margin:0;color:var(--muted);font-size:9px;line-height:1.6}.setting-card button{margin-top:auto;align-self:flex-start;border:0;background:transparent;color:var(--green);padding:10px 0 0;font-size:9px;font-weight:700}
.drawer{position:fixed;z-index:60;top:0;right:0;width:390px;max-width:92vw;height:100vh;background:white;box-shadow:-15px 0 40px rgba(15,42,35,.14);transform:translateX(105%);transition:.25s;display:flex;flex-direction:column}.drawer.open{transform:none}.drawer-head{height:78px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.drawer-head small{color:var(--muted);font-size:9px}.drawer-head h3{margin:3px 0 0;font-size:16px}.drawer-tabs{padding:12px 17px 0;display:flex;gap:7px}.drawer-tabs button{padding:7px 11px;border:0;border-radius:8px;background:#f0f3f2;color:var(--muted);font-size:10px}.drawer-tabs button.active{color:white;background:var(--green)}.notice-list{padding:10px 18px;overflow:auto}.notice{padding:14px 0;display:grid;grid-template-columns:34px 1fr;gap:10px;border-bottom:1px solid var(--line)}.notice-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:var(--amber-soft);color:var(--amber)}.notice strong{display:block;font-size:10px}.notice p{margin:5px 0;color:var(--muted);font-size:9px;line-height:1.5}.notice time{font-size:8px;color:#9aa7a2}.overlay{position:fixed;z-index:50;inset:0;background:rgba(11,31,26,.25);opacity:0;pointer-events:none;transition:.2s}.overlay.show{opacity:1;pointer-events:auto}
.ai-fab{position:fixed;z-index:40;right:24px;bottom:24px;width:54px;height:54px;border:0;border-radius:17px;color:white;background:linear-gradient(145deg,#123d32,#087557);box-shadow:0 10px 30px rgba(18,107,85,.3);font-family:Georgia,serif;font-weight:700}.ai-fab i{position:absolute;right:3px;top:3px;width:10px;height:10px;border:2px solid white;border-radius:50%;background:var(--lime)}.ai-panel{position:fixed;z-index:70;right:22px;bottom:88px;width:380px;max-width:calc(100vw - 24px);height:540px;max-height:calc(100vh - 110px);border:1px solid #d7e4df;border-radius:17px;background:white;box-shadow:0 20px 60px rgba(17,53,43,.2);display:flex;flex-direction:column;opacity:0;transform:translateY(15px) scale(.97);pointer-events:none;transition:.2s;overflow:hidden}.ai-panel.open{opacity:1;transform:none;pointer-events:auto}.ai-head{height:65px;padding:0 14px;display:flex;align-items:center;gap:10px;color:white;background:#143d32}.ai-avatar{width:37px;height:37px;border-radius:11px;display:grid;place-items:center;color:#173c32;background:var(--lime);font-family:Georgia,serif;font-weight:700}.ai-head div:nth-child(2){flex:1}.ai-head strong,.ai-head span{display:block}.ai-head strong{font-size:12px}.ai-head span{margin-top:3px;color:#b6cec6;font-size:8px}.ai-head span i{display:inline-block;width:6px;height:6px;margin-right:4px;border-radius:50%;background:#63d19b}.ai-head .icon-btn{border:0;color:white;background:transparent}.ai-body{flex:1;padding:16px;overflow-y:auto;background:#f7faf9}.ai-message{margin-bottom:12px;display:flex}.ai-message p{max-width:87%;margin:0;padding:11px 12px;border-radius:4px 12px 12px 12px;background:white;box-shadow:0 2px 7px rgba(0,0,0,.04);font-size:10px;line-height:1.65}.ai-message.user{justify-content:flex-end}.ai-message.user p{color:white;background:var(--green);border-radius:12px 4px 12px 12px}.suggestion-row{display:flex;gap:6px;flex-wrap:wrap}.suggestion-row button{padding:7px 9px;border:1px solid #cfe0da;border-radius:13px;color:var(--green);background:white;font-size:8px}.ai-compose{height:60px;padding:10px;display:flex;gap:7px;border-top:1px solid var(--line)}.ai-compose input{flex:1;min-width:0;padding:0 10px;border:1px solid var(--line);border-radius:9px;outline:none;font-size:10px}.ai-compose button{padding:0 13px;border:0;border-radius:8px;color:white;background:var(--green);font-size:10px}
.modal{position:fixed;z-index:90;inset:0;padding:20px;background:rgba(11,31,26,.4);display:grid;place-items:center;opacity:0;pointer-events:none;transition:.2s}.modal.open{opacity:1;pointer-events:auto}.modal-card{position:relative;width:min(570px,100%);max-height:90vh;padding:25px;border-radius:16px;background:white;box-shadow:var(--shadow);overflow:auto}.modal-close{position:absolute;top:13px;right:13px;width:31px;height:31px;border:0;border-radius:8px;background:#f1f4f3;color:var(--muted);font-size:18px}.modal h2{margin:0 0 6px;font-size:19px}.modal .lead{margin:0 0 20px;color:var(--muted);font-size:10px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:9px;font-weight:700;color:#56655f}.field input,.field select,.field textarea{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;outline:none;font-size:10px}.field textarea{min-height:80px;resize:vertical}.modal-actions{margin-top:20px;display:flex;justify-content:flex-end;gap:8px}
.toast{position:fixed;z-index:100;left:50%;bottom:28px;padding:11px 15px;border-radius:10px;color:white;background:#173e33;box-shadow:var(--shadow);display:flex;align-items:center;gap:8px;opacity:0;transform:translate(-50%,15px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}.toast span{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;color:#173e33;background:var(--lime);font-size:10px}.toast p{margin:0;font-size:10px}
.empty-state{padding:60px 20px;text-align:center;color:var(--muted)}
@media (max-width:1100px){.metrics{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.inventory-grid,.project-grid,.settings-grid{grid-template-columns:repeat(2,1fr)}.charts-grid{grid-template-columns:1fr}.consult-layout{grid-template-columns:270px 1fr}}
@media (max-width:760px){:root{--sidebar:230px}.sidebar{transform:translateX(-105%);box-shadow:20px 0 40px rgba(0,0,0,.2)}.sidebar.open{transform:none}.main-area{width:100%;margin-left:0}.topbar{height:62px;padding:0 15px}.menu-toggle{display:grid}.breadcrumb span,.breadcrumb b,.search-box,.profile-copy{display:none}.content{padding:20px 14px 80px}.page-head{align-items:flex-start}.page-head h1{font-size:23px}.page-actions .btn:not(.primary){display:none}.metrics{grid-template-columns:1fr 1fr;gap:9px}.metric-card{padding:14px}.metric-value{font-size:24px}.workflow{grid-template-columns:repeat(3,1fr);gap:18px 0}.flow-step:nth-child(3)::after{display:none}.queue-row{grid-template-columns:35px 1fr 75px}.queue-row .exam,.queue-row .more{display:none}.inventory-grid,.project-grid,.settings-grid{grid-template-columns:1fr}.toolbar{align-items:flex-start;flex-direction:column}.data-card{overflow-x:auto}.data-table{min-width:760px}.schedule-grid{grid-template-columns:repeat(7,130px)}.consult-layout{grid-template-columns:1fr}.consult-list{display:none}.charts-grid{grid-template-columns:1fr}.ai-panel{right:12px;bottom:80px}.ai-fab{right:15px;bottom:16px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}}
@media (max-width:430px){.metrics{grid-template-columns:1fr}.topbar-actions{gap:7px}.page-head{display:block}.page-actions{margin-top:13px}.workflow{grid-template-columns:repeat(2,1fr)}.flow-step:nth-child(2n)::after{display:none}.profile-btn>span:last-child{display:none}}
