:root {
  color-scheme: light;
  font-family: "Inter", "Microsoft YaHei UI", "PingFang SC", system-ui, sans-serif;
  color: #172d2b;
  background: #f4f7f6;
  font-synthesis: none;
  --ink: #172d2b;
  --muted: #506866;
  --line: #e0ebe7;
  --surface: #fff;
  --accent: #08776b;
  --accent-dark: #065b52;
  --wash: #e6f4ef;
  --warm: #8c5019;
  --radius: 16px;
}
* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; font-size: 14px; line-height: 1.55; }
button, select, input, textarea { font: inherit; }
button, select { cursor: pointer; }
button:disabled { cursor: default; opacity: .55; }
button, a, select, input, textarea { -webkit-tap-highlight-color: transparent; }
a { color: var(--accent-dark); text-decoration: none; }
:focus-visible { outline: 3px solid #18a995; outline-offset: 3px; }
svg { display: inline-block; vertical-align: middle; flex: none; }
h1, h2, h3, p { margin: 0; }
h1, h2, h3 { line-height: 1.35; }
.skip { position: fixed; z-index: 20; left: 12px; top: 10px; padding: 10px; background: white; clip-path: inset(50%); }
.skip:focus { clip-path: none; }
.shell { display: grid; grid-template-columns: 228px minmax(0,1fr); min-height: 100vh; }
.sidebar { background: #f9fcfa; border-right: 1px solid var(--line); display: flex; flex-direction: column; gap: 28px; padding: 26px 16px 20px; position: sticky; height: 100vh; top: 0; overflow: auto; }
.brand { display: flex; align-items: center; gap: 11px; margin: 0 8px; color: var(--ink); }
.brand-icon { display: grid; place-items: center; background: #097669; color: white; border-radius: 12px; width: 42px; height: 42px; box-shadow: 0 5px 10px #176e5f24; }
.brand strong { display: block; font-size: 16px; letter-spacing: .09em; }
.brand small { display: block; color: var(--muted); font-size: 11px; letter-spacing: .08em; }
.nav-caption { color: var(--muted); font-size: 11px; padding: 0 10px; margin: 0 0 8px; letter-spacing: .12em; }
.nav-link { display: flex; align-items: center; gap: 11px; color: #365652; padding: 11px 12px; margin: 3px 0; border-radius: 9px; font-weight: 550; }
.nav-link:hover { background: #edf5f1; }
.nav-link.active { color: #075b50; background: #dff2e9; font-weight: 750; }
.sidebar-foot { margin-top: auto; border-top: 1px solid var(--line); padding: 13px 8px 0; display: grid; gap: 8px; }
.sidebar-foot button { align-self: start; justify-self: start; }
.sidebar-foot a { justify-self: start; }
.live-label { display: flex; align-items: center; gap: 6px; color: #376a5d; font-size: 12px; white-space: nowrap; }
.live-label::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #17836e; }
.unit { color: var(--muted); font-size: 12px; }
.surface { min-width: 0; }
.topbar { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 14px 30px; min-height: 68px; background: #ffffffd9; border-bottom: 1px solid var(--line); }
.location, .account { display: flex; align-items: center; gap: 9px; }
.location { color: var(--muted); font-size: 13px; }
.location strong { color: var(--ink); }
.account select { border: 1px solid var(--line); border-radius: 8px; padding: 7px 10px; color: var(--ink); background: #f9fcfa; max-width: 100%; }
.avatar { width: 35px; height: 35px; border-radius: 50%; display: inline-grid; place-items: center; background: #dcf0e9; color: #075d51; font-weight: 750; flex: none; }
.workspace { max-width: 1500px; margin: auto; padding: 25px 30px 36px; }
.heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 15px; margin-bottom: 17px; }
.heading h1 { font-size: clamp(23px, 2.2vw, 31px); font-weight: 770; letter-spacing: -.035em; }
.heading p { color: var(--muted); margin-top: 5px; }
.date { display: flex; align-items: center; gap: 8px; background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 7px 10px; color: #405c58; white-space: nowrap; font-size: 12px; }
.hero { isolation: isolate; overflow: hidden; position: relative; color: #fff; background: linear-gradient(105deg,#074e47 0%,#086b5d 68%,#138675); border-radius: var(--radius); min-height: 159px; padding: 24px 28px; display: flex; align-items: center; }
.hero::before { content: ""; position: absolute; z-index: -1; inset: 0; background: repeating-linear-gradient(116deg,transparent 0 34px,#ffffff0d 35px 36px,transparent 37px 49px); mask-image: linear-gradient(90deg,transparent 44%,#000 95%); }
.hero::after { content: ""; position: absolute; z-index: -1; width: 300px; height: 300px; border: 1px solid #b2f6dc36; border-radius: 50%; top: -74px; right: 28px; box-shadow: 0 0 0 25px #bcfae311,0 0 0 55px #bcfae311,0 0 0 82px #bcfae311; }
.hero-copy { z-index: 1; }
.hero-kicker { font-size: 12px; letter-spacing: .12em; color: #c4efdf; font-weight: 640; }
.hero h2 { font-size: clamp(22px, 2.4vw, 32px); margin: 4px 0 12px; letter-spacing: -.025em; }
.hero .btn { color: #095b51; background: #fff; min-height: 34px; padding: 6px 11px; }
.hero-art { position: absolute; right: 8.5%; top: 50%; transform: translateY(-50%); color: #defcf1; width: 91px; height: 91px; display: grid; place-items: center; border: 1px solid #c0f2e47a; border-radius: 23px; background: #e5fff226; box-shadow: 0 12px 35px #013e3760; }
.stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin: 15px 0 18px; }
.stat { display: grid; grid-template-columns: 1fr auto; gap: 1px 8px; min-width: 0; border: 1px solid var(--line); border-radius: 13px; background: var(--surface); padding: 14px 16px; color: var(--ink); }
a.stat:hover { border-color: #78bbae; }
.stat span:not(.stat-icon) { font-size: 12px; color: var(--muted); }
.stat strong { font-size: 27px; font-weight: 760; letter-spacing: -.045em; font-variant-numeric: tabular-nums; line-height: 1.25; }
.stat small { display: block; grid-column: 1 / -1; color: var(--muted); font-size: 11px; }
.stat-icon { display: grid; place-items: center; grid-column: 2; grid-row: 1 / span 2; align-self: center; width: 35px; height: 35px; border-radius: 10px; background: #e3f5ef; color: #0a685c; }
.stat-icon.blue { color: #35658e; background: #e8f1fc; }
.stat-icon.amber { color: #8c5019; background: #fcf0dc; }
.stat-icon.purple { color: #65519a; background: #efe9f8; }
.grid { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(255px,1fr); align-items: start; gap: 16px; }
.grid.equal { grid-template-columns: repeat(2,minmax(0,1fr)); }
.stack { display: grid; gap: 14px; align-content: start; }
.card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; min-width: 0; }
.pad { padding: 19px; }
.section-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 13px; }
.section-head h2, .card h2 { font-size: 17px; letter-spacing: -.02em; }
.section-head p { margin-top: 4px; color: var(--muted); font-size: 12px; }
.section-head.with-border { padding: 16px 17px 13px; border-bottom: 1px solid var(--line); margin-bottom: 0; }
.scroller { overflow-x: auto; }
table { border-collapse: collapse; width: 100%; text-align: left; white-space: nowrap; }
th, td { padding: 11px 14px; border-bottom: 1px solid #edf2ef; }
th { background: #f8faf9; color: var(--muted); font-size: 12px; font-weight: 600; }
td { font-size: 13px; }
tr:last-child td { border-bottom: 0; }
.name-cell { display: flex; align-items: center; gap: 8px; font-weight: 680; }
.name-cell .avatar { width: 30px; height: 30px; font-size: 12px; }
.status { display: inline-flex; align-items: center; gap: 5px; border-radius: 999px; padding: 3px 8px; background: #edf2f2; color: #475e5b; font-size: 11px; font-weight: 680; white-space: nowrap; }
.status::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.status.good { color: #096654; background: #e2f4eb; }
.status.wait { color: #875019; background: #fff1dc; }
.status.info { color: #305b93; background: #e8f0ff; }
.status.alert { color: #943d45; background: #fbecef; }
.actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 1px solid transparent; border-radius: 8px; padding: 8px 13px; font-weight: 650; min-height: 37px; line-height: 1.35; text-align: center; color: var(--ink); background: #edf5f2; }
.btn.primary { color: #fff; background: var(--accent); }
.btn.primary:hover { background: var(--accent-dark); }
.btn.ghost { color: var(--accent-dark); background: #fff; border-color: #d6e6e0; }
.btn.ghost:hover { background: #edf7f3; }
.btn.text { background: transparent; color: var(--accent-dark); border: 0; padding: 3px 0; min-height: auto; }
.btn.text:hover { text-decoration: underline; }
.btn.small { font-size: 12px; padding: 6px 9px; min-height: 31px; }
.btn.danger { color: #87353d; background: #fff4f5; border-color: #f0d6d9; }
.entry-list { display: grid; }
.entry { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-bottom: 1px solid #edf2ef; }
.entry:first-child { padding-top: 2px; }
.entry:last-child { border-bottom: 0; padding-bottom: 1px; }
.entry > :nth-child(2) { min-width: 0; flex: 1; }
.entry strong, .entry a:not(.btn) { display: block; font-size: 13px; font-weight: 700; }
.entry p, .muted { color: var(--muted); }
.entry p, .smalltext { font-size: 12px; }
.entry-mark { background: #ecf6f2; color: #0b7164; border-radius: 9px; width: 32px; height: 32px; display: grid; place-items: center; flex: none; }
.select-row { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.tab { border: 1px solid var(--line); background: white; padding: 7px 12px; border-radius: 8px; color: #365652; }
.tab.active { background: #e4f3ed; border-color: #abcec3; color: #075a4e; font-weight: 700; }
.identity { display: flex; align-items: center; gap: 12px; }
.identity .avatar { width: 46px; height: 46px; font-size: 18px; }
.identity .muted { font-size: 12px; margin-top: 4px; }
.box { padding: 13px; border: 1px solid var(--line); border-radius: 11px; background: #f8fbf9; }
.box.tint { background: #eff8f4; border-color: #d8ede3; }
.box h3, .item h3 { font-size: 14px; margin-bottom: 5px; }
.item { padding: 14px; border: 1px solid var(--line); border-radius: 11px; }
.item > .actions, .item > .box { margin-top: 11px; }
.item-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; margin-bottom: 7px; }
.item-head h3 { margin: 0; }
.form, .form-fields { display: grid; gap: 12px; }
.fields { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
label.field { display: grid; gap: 4px; font-weight: 620; }
label.field span { font-size: 12px; }
input:not([type=radio]), textarea, .field select { border: 1px solid #cadfd8; border-radius: 8px; padding: 8px 10px; color: var(--ink); background: white; width: 100%; }
input[type=radio] { accent-color: var(--accent); }
textarea { resize: vertical; min-height: 78px; }
input[readonly] { background: #f0f5f3; }
.timeline { list-style: none; padding: 0; margin: 0; }
.timeline li { position: relative; border-left: 1px solid #d2e7df; padding: 0 0 14px 16px; margin-left: 5px; }
.timeline li:last-child { padding-bottom: 0; border-left-color: transparent; }
.timeline li::before { content: ""; position: absolute; top: 5px; left: -5px; background: #0d8979; border: 2px solid #e9f7f2; width: 9px; height: 9px; border-radius: 50%; }
.timeline strong { font-size: 13px; }
.timeline p { color: var(--muted); font-size: 12px; }
.timeline .detail { color: #385551; margin-top: 3px; }
.empty { border: 1px dashed #cbded8; border-radius: 11px; color: var(--muted); padding: 18px; text-align: center; background: #fbfdfc; }
.phone-grid { display: grid; grid-template-columns: minmax(0,420px) minmax(235px,340px); gap: 22px; align-items: start; }
.phone { border: 1px solid #d4e5df; border-radius: 25px; overflow: hidden; background: #f8fbfa; box-shadow: 0 15px 34px #214e4212; }
.phone-head { padding: 20px 19px; background: linear-gradient(105deg,#095c52,#147d6c); color: white; }
.phone-head p { color: #d6f1e8; font-size: 12px; margin-top: 4px; }
.phone-head h2 { font-size: 20px; }
.phone-body { display: grid; gap: 11px; padding: 14px; }
.phone-body .item, .phone-body .box { background: white; }
.phone .btn { min-height: 38px; }
.code { font-family: "Consolas",monospace; letter-spacing: .06em; }
.qr { width: 115px; height: 115px; object-fit: contain; border: 1px solid var(--line); border-radius: 8px; background: white; padding: 3px; }
.photo { max-width: 100%; max-height: 220px; display: block; border-radius: 8px; margin-top: 8px; }
.rating { display: flex; gap: 7px; flex-wrap: wrap; }
.rating label, .choice { display: flex; gap: 7px; align-items: center; border: 1px solid var(--line); padding: 6px 9px; background: white; border-radius: 7px; }
.choice { margin-top: 6px; }
.choice input, .rating input { margin: 0; }
.chart { display: grid; gap: 12px; }
.chart-row { display: grid; gap: 4px; }
.chart-label { display: flex; justify-content: space-between; gap: 8px; }
.bar { height: 8px; border-radius: 20px; background: #e9f2ee; overflow: hidden; }
.bar > span { display: block; height: 100%; background: #168674; border-radius: 20px; }
.report-copy { white-space: pre-wrap; line-height: 1.8; }
.qr-layout { display: flex; align-items: center; gap: 13px; }
dialog { border: 1px solid var(--line); border-radius: 16px; padding: 20px; width: min(560px,calc(100vw - 24px)); max-height: calc(100dvh - 24px); color: var(--ink); box-shadow: 0 25px 80px #153a3550; }
dialog::backdrop { background: #142f2c6e; }
dialog h2 { font-size: 20px; }
.dialog-close { border: 0; background: transparent; color: var(--muted); border-radius: 7px; padding: 5px; }
.error { color: #8d2e37; font-size: 12px; }
#toast { z-index: 10; position: fixed; bottom: 20px; right: 20px; background: #124942; color: white; padding: 10px 15px; border-radius: 9px; box-shadow: 0 8px 25px #173f3a38; max-width: min(360px,calc(100% - 40px)); }
#toast:empty { display: none; }
.portal { max-width: 1190px; margin: 0 auto; padding: 27px 26px 34px; }
.portal-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 23px; }
.portal-top .brand { margin: 0; }
.portal-hero { display: flex; align-items: center; justify-content: space-between; gap: 25px; min-height: 212px; border-radius: 22px; overflow: hidden; padding: 35px 46px; color: white; background: radial-gradient(circle at 82% 52%, #ffffff12 0 81px, transparent 82px 103px, #ffffff16 104px 105px, transparent 106px 136px, #ffffff12 137px 138px, transparent 139px), linear-gradient(115deg, #074b46, #097d69); }
.portal-hero h1 { font-size: clamp(28px, 4.5vw, 51px); margin: 7px 0 10px; letter-spacing: -.045em; }
.portal-hero p { color: #dbf4ec; }
.portal-hero p:first-child { font-size: 12px; letter-spacing: .12em; font-weight: 650; }
.portal-emblem { margin-right: 8%; width: 116px; height: 116px; border-radius: 29px; border: 1px solid #b5f1df6b; background: #e8fff222; display: grid; place-items: center; flex: none; box-shadow: 0 12px 32px #052e3949; }
.portal-emblem svg { width: 68px; height: 68px; }
.portal-heading { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px; margin: 25px 0 12px; }
.portal-heading h2 { font-size: 20px; }
.portal-heading span, .portal-foot { color: var(--muted); font-size: 12px; }
.portal-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; }
.portal-tile { display: flex; align-items: center; gap: 13px; padding: 16px; min-height: 105px; background: white; border: 1px solid var(--line); border-radius: 14px; color: var(--accent-dark); }
.portal-tile:hover { border-color: #85c2b4; box-shadow: 0 4px 13px #0c5d5010; }
.portal-tile.chosen { background: #e6f5ee; border-color: #75ad9d; box-shadow: inset 0 0 0 1px #b0dacd; }
.mode-panel { margin-top: 16px; padding: 15px 17px; border: 1px solid var(--line); border-radius: 14px; background: white; }
.mode-panel .portal-heading { margin: 0 0 11px; }
.mode-panel .actions .btn { min-width: 104px; justify-content: space-between; }
.portal-icon { display: grid; place-items: center; width: 45px; height: 45px; border-radius: 13px; background: #e1f3ed; color: #0a6d5d; flex: none; }
.portal-icon.caregiver, .portal-icon.admin { background: #e7effb; color: #375e87; }
.portal-icon.family { background: #e5f4e5; color: #286f42; }
.portal-icon.inspector { background: #fbefde; color: #885521; }
.portal-icon.manager, .portal-icon.head { background: #f0eaf9; color: #6a5196; }
.tile-body { display: grid; gap: 2px; flex: 1; min-width: 0; color: var(--muted); font-size: 12px; }
.tile-body strong { font-size: 16px; color: var(--ink); line-height: 1.25; }
.tile-form { font-size: 11px; color: #3b7266; }
.portal-foot { display: flex; justify-content: space-between; border-top: 1px solid var(--line); margin-top: 22px; padding-top: 12px; }
.mobile-surface { min-height: 100vh; padding: 14px 12px 24px; background: radial-gradient(ellipse at top, #e3f4ec, #f4f7f6 65%); }
.mobile-portal { display: flex; align-items: center; gap: 6px; max-width: 450px; margin: 0 auto 8px; color: #39615a; font-size: 12px; }
.mobile-portal svg { transform: rotate(180deg); }
.mobile-frame { max-width: 450px; min-height: min(820px, calc(100dvh - 58px)); margin: auto; border: 1px solid #d5e7df; background: #f7faf9; border-radius: 24px; display: flex; flex-direction: column; box-shadow: 0 18px 44px #1d514317; }
.mobile-top { border-radius: 24px 24px 0 0; padding: 13px 14px; background: #fff; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; min-height: 56px; }
.mobile-brand { display: flex; align-items: center; gap: 7px; color: #0a6055; }
.mobile-frame .workspace { padding: 15px 13px 18px; width: 100%; margin: 0; flex: 1; }
.mobile-frame .heading { align-items: flex-start; }
.mobile-frame .heading h1 { font-size: 22px; }
.mobile-frame .heading p { font-size: 12px; }
.mobile-frame .date { font-size: 10px; padding: 5px; }
.mobile-frame .date svg { display: none; }
.mobile-frame .phone-grid { grid-template-columns: minmax(0,1fr); gap: 11px; }
.mobile-frame .phone { border-radius: 15px; box-shadow: none; }
.mobile-frame .phone-head { padding: 15px; }
.mobile-frame .phone-head h2 { font-size: 18px; }
.mobile-frame .phone-body { padding: 10px; }
.mobile-nav { position: sticky; z-index: 2; bottom: 0; background: white; padding: 6px 5px 9px; border-top: 1px solid var(--line); display: flex; border-radius: 0 0 24px 24px; }
.mobile-nav a { display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 3px; color: #4d6660; flex: 1; min-height: 47px; font-size: 11px; border-radius: 8px; }
.mobile-nav a.active { color: #087367; font-weight: 730; background: #edf7f2; }
.mobile-nav { overflow-x: auto; }
.mobile-nav a { min-width: 53px; white-space: nowrap; }
.mobile-account { display: flex; padding: 9px 13px 0; }
.mobile-account select, #active-worker { border: 1px solid var(--line); border-radius: 8px; background: white; color: var(--ink); padding: 6px 8px; max-width: 100%; }
.evidence-video { display: block; margin-top: 8px; width: min(100%, 460px); max-height: 255px; border-radius: 8px; background: #142d29; }
.workspace .select-row { max-height: 113px; overflow-y: auto; }
.mini-capsule { display: flex; align-items: center; gap: 9px; padding: 2px 9px; border: 1px solid #dce3de; border-radius: 999px; color: #374d43; font-size: 19px; line-height: 1.15; }
.mini-capsule i { width: 12px; height: 12px; border: 1.5px solid currentColor; border-radius: 100%; box-shadow: inset 0 0 0 2px white, inset 0 0 0 8px currentColor; }
.wechat .mobile-top { background: #f3f7f3; }
.wechat .mobile-brand { color: #174d33; }
.wechat .phone-head { background: linear-gradient(105deg,#185d41,#26815a); }
.wechat .mobile-nav a.active { color: #236c41; background: #eef8ef; }
.roster-search { max-width: 370px; margin-bottom: 13px; }
.cross-status { display: flex; flex-wrap: wrap; gap: 6px; }
@media (max-width: 950px) {
  .portal-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 1100px) {
  .shell { grid-template-columns: 190px minmax(0,1fr); }
  .workspace { padding-inline: 21px; }
  .topbar { padding-inline: 21px; }
  .grid { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 760px) {
  .shell { display: block; }
  .sidebar { position: static; height: auto; padding: 10px 12px 5px; gap: 7px; overflow: visible; border-right: 0; border-bottom: 1px solid var(--line); }
  .brand { margin: 0; }
  .brand-icon { width: 33px; height: 33px; border-radius: 8px; }
  .brand strong { font-size: 14px; }
  .brand small { font-size: 10px; }
  .nav-caption, .sidebar-foot .unit { display: none; }
  .sidebar nav { display: flex; gap: 3px; overflow-x: auto; }
  .nav-link { white-space: nowrap; padding: 7px 8px; margin: 0; font-size: 12px; gap: 5px; }
  .nav-link svg { width: 15px; height: 15px; }
  .sidebar-foot { position: absolute; top: 12px; right: 12px; border: 0; padding: 0; }
  .topbar { min-height: 48px; padding: 7px 12px; }
  .location { font-size: 11px; gap: 4px; }
  .location svg, .account .avatar { display: none; }
  .account select { padding: 5px; font-size: 12px; }
  .workspace { padding: 15px 12px 24px; }
  .heading { align-items: flex-start; }
  .heading p { font-size: 12px; }
  .date { padding: 5px; font-size: 10px; }
  .date svg { display: none; }
  .hero { min-height: 133px; padding: 16px; }
  .hero-art { right: 6%; width: 60px; height: 60px; border-radius: 14px; }
  .hero-art svg { width: 35px; height: 35px; }
  .hero::after { right: -130px; }
  .stats { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin: 9px 0 12px; }
  .stat { padding: 10px; }
  .stat strong { font-size: 23px; }
  .grid.equal, .phone-grid { grid-template-columns: minmax(0,1fr); }
  .pad { padding: 13px; }
  .portal { padding: 14px 12px; }
  .portal-top { margin-bottom: 14px; }
  .portal-hero { min-height: 156px; padding: 19px; gap: 8px; border-radius: 16px; }
  .portal-hero h1 { font-size: clamp(22px,6vw,30px); }
  .portal-hero p { font-size: 11px; }
  .portal-emblem { margin: 0; width: 49px; height: 49px; border-radius: 12px; }
  .portal-emblem svg { width: 33px; height: 33px; }
  .portal-grid { grid-template-columns: minmax(0,1fr); gap: 8px; }
  .portal-tile { min-height: 74px; padding: 10px 12px; }
  .portal-icon { width: 38px; height: 38px; }
}
@media print {
  body.print-report .sidebar, body.print-report .topbar, body.print-report .heading, body.print-report .select-row,
  body.print-report .report-actions, body.print-report #toast { display: none !important; }
  body.print-report .shell { display: block; }
  body.print-report .workspace, body.print-report .card { padding: 0; border: 0; }
}
