/* Shared panel frame. Business content and legacy modules stay in styles.css. */
#portal .a1-shell {
  display: grid;
  grid-template-columns: 224px minmax(0, 1fr);
  min-width: 0;
  min-height: 720px;
  border: 1px solid rgba(240, 193, 104, 0.24);
  background: #090b0b;
  color: #f7f3eb;
}

#portal .a1-rail {
  position: sticky;
  top: 12px;
  align-self: start;
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: calc(100dvh - 24px);
  padding: 22px 14px;
  overflow-y: auto;
  border-right: 1px solid rgba(240, 193, 104, 0.2);
  background: #050606;
}

#portal .a1-brand {
  display: grid;
  gap: 2px;
  padding: 0 10px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

#portal .a1-brand strong {
  color: #f0c168;
  font-size: 25px;
  line-height: 1;
}

#portal .a1-brand span {
  color: #ffffff;
  font-size: 14px;
  font-weight: 750;
}

#portal .a1-brand small,
#portal .a1-account span {
  color: #b8bbb7;
  overflow-wrap: anywhere;
}

#portal .a1-rail nav {
  display: grid;
  gap: 5px;
  margin-top: 20px;
}

#portal .a1-rail nav button,
#portal .a1-bottom-nav button {
  min-width: 0;
  min-height: 46px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: #d9dcd8;
  font: inherit;
  font-weight: 720;
  text-align: left;
  cursor: pointer;
}

#portal .a1-rail nav button { padding: 11px 12px; }

#portal .a1-rail nav button:hover,
#portal .a1-rail nav button:focus-visible,
#portal .a1-rail nav button.active,
#portal .a1-bottom-nav button.active {
  border-color: rgba(240, 193, 104, 0.42);
  background: #171713;
  color: #fff7e7;
  outline: none;
}

#portal .a1-account {
  display: grid;
  gap: 9px;
  margin-top: auto;
  padding: 18px 10px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

#portal .a1-account button {
  min-height: 40px;
  padding: 9px 12px;
  border: 1px solid rgba(240, 193, 104, 0.4);
  border-radius: 6px;
  background: #151512;
  color: #f6d58e;
  font: inherit;
  font-weight: 750;
  cursor: pointer;
}

#portal .a1-main {
  min-width: 0;
  background: #0c0f0f;
}

#portal .a1-page-head {
  display: flex;
  min-width: 0;
  padding: 24px clamp(18px, 3vw, 38px) 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  background: #0a0c0c;
}

#portal .a1-page-head > div { min-width: 0; }

#portal .a1-page-head span {
  color: #f0c168;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

#portal .a1-page-head h2 {
  margin: 5px 0 4px;
  color: #ffffff;
  font-size: 25px;
  line-height: 1.16;
}

#portal .a1-page-head p {
  max-width: 720px;
  margin: 0;
  color: #c5c8c4;
  line-height: 1.5;
}

#portal .a1-content {
  min-width: 0;
  padding: clamp(16px, 2.4vw, 30px);
}

#portal .a1-bottom-nav { display: none; }
#portal .a1-mobile-logout { display: none; }

@media (max-width: 900px) {
  #portal .a1-shell { grid-template-columns: 184px minmax(0, 1fr); }
}

@media (max-width: 680px) {
  #portal .a1-shell {
    display: block;
    min-height: 100dvh;
    padding-bottom: calc(72px + env(safe-area-inset-bottom));
  }
  #portal .a1-rail { display: none; }
  #portal .a1-page-head { padding: 18px 16px 15px; gap: 12px; align-items: flex-start; flex-wrap: wrap; }
  #portal .a1-page-head > div { flex: 1 1 180px; }
  #portal .a1-mobile-logout {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    min-width: 80px;
    margin-left: auto;
    padding: 10px 14px;
    border: 1px solid #132f40;
    border-radius: 8px;
    background: #132f40;
    color: #fff;
    font: inherit;
    font-weight: 750;
    cursor: pointer;
  }
  #portal .a1-mobile-logout:hover { background: #25485a; }
  #portal .a1-mobile-logout:focus-visible { outline: 3px solid #005fcc; outline-offset: 3px; }
  #portal .a1-mobile-logout:disabled { opacity: 0.7; cursor: wait; }
  #portal .a1-page-head h2 { font-size: 22px; }
  #portal .a1-content { padding: 14px; overflow-x: clip; }
  #portal .a1-bottom-nav {
    position: fixed;
    z-index: 90;
    right: 0;
    bottom: 0;
    left: 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 3px;
    padding: 7px 6px calc(7px + env(safe-area-inset-bottom));
    border-top: 1px solid rgba(240, 193, 104, 0.28);
    background: #050606;
  }
  #portal .a1-bottom-nav button {
    min-height: 49px;
    padding: 6px 3px;
    font-size: 11px;
    line-height: 1.16;
    text-align: center;
    white-space: normal;
    overflow-wrap: anywhere;
  }
}


.ceig-case-assistant { color:#172e42;background:#fff;border:1px solid #ccd7e0;border-radius:16px;padding:clamp(14px,3vw,28px);min-width:0;font:16px/1.5 system-ui,sans-serif; }
.ceig-case-assistant * { box-sizing:border-box; }
.ceig-case-assistant h3 { margin:0 0 8px;font-size:clamp(23px,3vw,32px);color:#172e42; }
.ceig-case-assistant h4 { margin:0 0 12px;font-size:19px;color:#172e42; }
.ceig-case-assistant p { color:#294357;margin:8px 0 14px;overflow-wrap:anywhere; }
.ceig-case-assistant .cca-mode { background:#edf3f7;padding:10px 14px;border-radius:8px;font-weight:600; }
.ceig-case-assistant .cca-toolbar { display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:20px 0; }
.ceig-case-assistant label { display:grid;gap:6px;flex:1;min-width:0;color:#172e42; }
.ceig-case-assistant label span { font-weight:600; }
.ceig-case-assistant .cca-layout { display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px; }
.ceig-case-assistant input,.ceig-case-assistant select,.ceig-case-assistant textarea { width:100%;max-width:100%;background:#fff;color:#172e42;border:1px solid #637b8e;border-radius:8px;padding:12px;font:inherit;min-height:44px; }
.ceig-case-assistant textarea::placeholder { color:#51677b;opacity:1; }
.ceig-case-assistant button { min-width:44px;min-height:44px;max-width:100%;border:1px solid #234761;border-radius:8px;background:#234761;color:#fff;padding:10px 16px;font:600 15px/1.4 system-ui,sans-serif;white-space:normal;cursor:pointer; }
.ceig-case-assistant button:disabled { opacity:1;background:#e8eef2;color:#526371;border-color:#aab9c3;cursor:default; }
.ceig-case-assistant [hidden] { display:none!important; }
.ceig-case-assistant :is(button,select,textarea,summary):focus-visible { outline:3px solid #ae4d00;outline-offset:3px; }
.ceig-case-assistant .cca-command { display:grid;gap:12px; }
.ceig-case-assistant .cca-answer { margin-top:20px;padding:16px;background:#f1f6f9;border-radius:10px; }
.ceig-case-assistant .cca-data { border-left:1px solid #ccd7e0;padding-left:24px;min-width:0; }
.ceig-case-assistant dl { display:grid;grid-template-columns:minmax(70px,.6fr) minmax(0,1fr);gap:8px 16px;margin:0 0 20px; }
.ceig-case-assistant dt { font-weight:600; }
.ceig-case-assistant dd { margin:0;overflow-wrap:anywhere; }
.ceig-case-assistant summary { cursor:pointer;min-height:44px;padding:10px 0;font-weight:600; }
.ceig-case-assistant .cca-documents>div { display:grid;gap:8px;margin:12px 0;overflow-wrap:anywhere; }
.ceig-case-assistant .cca-note { font-size:14px; }
.ceig-case-assistant .cca-native { margin-top:20px; }
.ceig-case-assistant .cca-native button.button-ghost { background:#fff;border-color:#234761; }
@media(max-width:760px) { .ceig-case-assistant .cca-layout { grid-template-columns:minmax(0,1fr); } .ceig-case-assistant .cca-data { padding-left:0;padding-top:20px;border-left:0;border-top:1px solid #ccd7e0; } .ceig-case-assistant .cca-toolbar { align-items:stretch; } .ceig-case-assistant .cca-toolbar label { flex-basis:100%; } }
