/* Shared ReLume module shell. Keep clinical/report content styles outside this file. */
.relume-module-frame{
  --module-utility-size:42px;
  --module-gold:#ebc96f;
  --clinic-bg:#fffaf1;
  --clinic-border:#d8bd78;
  --clinic-text:#173f35;
  --clinic-height:50px;
  width:100%;min-width:0;color:#173f35;
}
.relume-module-frame .relume-module-header{
  position:relative;z-index:30;display:grid;
  grid-template-columns:max-content minmax(0,1fr) max-content;
  grid-template-areas:"brand title utilities" "clinic clinic clinic";
  align-items:center;gap:12px 14px;min-width:0;box-sizing:border-box;
  margin:0;padding:18px 22px 16px;
  background:radial-gradient(circle at 20% -40%,rgba(31,116,91,.28),transparent 45%),linear-gradient(115deg,#033f35 0%,#004a3d 54%,#02392f 100%);
  border:1px solid rgba(219,178,82,.88);border-top:0;border-radius:0 0 24px 24px;
  box-shadow:0 16px 36px rgba(4,51,42,.16);color:#fff;
}
.relume-module-brand{grid-area:brand;display:flex;align-items:center;min-width:72px;min-height:56px}
.relume-module-brand img{display:block;width:72px;height:56px;object-fit:contain}
.relume-module-brand span{max-width:90px;font-size:14px;line-height:1.4;color:#fffaf1}
.relume-module-frame .relume-module-title{
  grid-area:title;min-width:0;align-self:center;margin:0;
  border-left:1px solid rgba(224,190,105,.55);padding-left:14px;
  color:var(--module-gold);font-family:Georgia,"Noto Serif TC","Microsoft JhengHei",serif;
  font-size:22px;font-weight:500;line-height:1.2;letter-spacing:.06em;
  white-space:normal;overflow-wrap:anywhere;
}
.relume-module-utilities{grid-area:utilities;display:flex;align-items:center;justify-content:flex-end;flex-wrap:nowrap;gap:6px;min-width:0}
.relume-module-utilities>form{margin:0;padding:0;display:flex}
.relume-module-frame .relume-module-utility,
.relume-module-frame .relume-module-utilities .logoutButton{
  position:relative;flex:0 0 var(--module-utility-size);display:inline-flex;
  align-items:center;justify-content:center;width:var(--module-utility-size);
  min-width:var(--module-utility-size);max-width:var(--module-utility-size);
  height:var(--module-utility-size);box-sizing:border-box;padding:0;margin:0;
  border:1px solid rgba(219,185,94,.72);border-radius:14px;
  background:rgba(255,255,255,.055);color:#f3dfaa;text-decoration:none;font:inherit;cursor:pointer;
}
.relume-module-frame .relume-module-utility:hover,
.relume-module-frame .relume-module-utilities .logoutButton:hover{background:rgba(255,255,255,.12)}
.relume-module-frame .relume-module-utility:focus-visible,
.relume-module-frame .relume-module-utilities .logoutButton:focus-visible{outline:2px solid #f3dfaa;outline-offset:3px}
.relume-module-frame .relume-module-utility:disabled{opacity:.6;cursor:wait}
.relume-module-utilities svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.relume-module-utilities .logoutButton>span{display:none}
.relume-module-frame .relume-clinic-field{
  grid-area:clinic;position:relative;display:flex;align-items:center;justify-content:center;
  min-width:0;width:100%;height:var(--clinic-height);box-sizing:border-box;
  margin:0;padding:0 80px;border:1px solid var(--clinic-border);border-radius:16px;
  background:var(--clinic-bg);color:var(--clinic-text);box-shadow:0 5px 14px rgba(53,62,52,.055);
}
.relume-module-frame .relume-clinic-label{
  position:absolute;left:16px;top:50%;transform:translateY(-50%);
  margin:0;padding:0;color:#9b792d;font-size:10px;font-weight:850;line-height:1;
  letter-spacing:.08em;white-space:nowrap;
}
.relume-module-frame .relume-clinic-name{
  display:block;min-width:0;max-width:100%;margin:0;padding:0;
  color:var(--clinic-text);font-size:15px;font-weight:850;line-height:1.3;
  text-align:center;overflow-wrap:anywhere;
}
.relume-module-frame .relume-module-subnav{
  display:flex;align-items:center;gap:8px;min-width:0;max-width:100%;
  margin:0;padding:16px 24px 4px;box-sizing:border-box;
  overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;
}
.relume-module-subnav::-webkit-scrollbar{display:none}
.relume-module-frame .relume-module-subnav>a{
  flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:7px;
  min-height:42px;box-sizing:border-box;padding:0 14px;
  border:1px solid #e2d2aa;border-radius:14px;background:#fffaf1;color:#244b41;
  box-shadow:0 4px 12px rgba(39,65,56,.045);font:inherit;font-size:12px;font-weight:800;
  white-space:nowrap;text-decoration:none;letter-spacing:0;
}
.relume-module-frame .relume-module-subnav>a:after{display:none}
.relume-module-frame .relume-module-subnav>a:hover,
.relume-module-frame .relume-module-subnav>a[aria-current="page"]{background:#f8f0df;border-color:#cdb273;color:#244b41}
.relume-module-subnav svg{width:17px;height:17px;flex:none}
@media(max-width:760px){
  .relume-module-frame{--module-utility-size:40px;--clinic-height:48px;width:calc(100% - 20px);margin-inline:10px}
  .relume-module-frame .relume-module-header{gap:9px 8px;padding:calc(10px + env(safe-area-inset-top)) 10px 11px;border-radius:0 0 22px 22px}
  .relume-module-brand img{width:56px;height:50px}
  .relume-module-brand{min-width:56px;min-height:50px}
  .relume-module-frame .relume-module-title{font-size:18px;padding-left:10px;letter-spacing:.04em}
  .relume-module-utilities{gap:5px}
  .relume-module-frame .relume-module-utility,.relume-module-frame .relume-module-utilities .logoutButton{border-radius:13px}
  .relume-module-frame .relume-clinic-field{border-radius:15px;padding-inline:76px}
  .relume-module-frame .relume-clinic-label{left:14px;font-size:9.5px}
  .relume-module-frame .relume-clinic-name{font-size:15px}
  .relume-module-frame .relume-module-subnav{padding:14px 2px 4px}
  .relume-module-frame .relume-module-subnav>a{min-height:42px;padding:0 12px;font-size:11px}
}
@media(max-width:359px){
  .relume-module-frame .relume-module-header{grid-template-columns:max-content minmax(0,1fr);grid-template-areas:"brand utilities" "title title" "clinic clinic"}
  .relume-module-frame .relume-clinic-label{left:12px;font-size:9px}
  .relume-module-frame .relume-clinic-field{padding-inline:70px}
  .relume-module-frame .relume-clinic-name{font-size:14px}
}
@media print{.relume-module-frame{display:none!important}}
.lunch-v549 .relume-module-frame{position:sticky;top:0;z-index:50}
.admin-shell .admin-grid,.admin-shell .participant-group-grid,.admin-shell .sub-panel,.admin-shell .panel{min-width:0}
.admin-shell .table-wrap{width:100%;max-width:100%}
