/* Άγγελος Καϊάφας: Δύο ανεξάρτητα ανάγλυφα κουμπιά, όπως στο κοινό οπτικό πρότυπο. */
:root {
  color-scheme: light;
  --portal-shell-color: #153451;
  --portal-network-opacity: 0.52;
  --portal-main-background: linear-gradient(180deg, #f7fbff 0%, #eaf4fc 30%, #cfe3f3 55%, #6f99c4 75%, var(--portal-shell-color) 92%, var(--portal-shell-color) 100%);
  --portal-sidebar-background: var(--portal-shell-color);
}

/* Άγγελος Καϊάφας: Σύνδεση, προσωπικός χώρος και διαχείριση έχουν την ίδια οπτική βάση. */
.main,
.is-authenticated .main {
  background: var(--portal-main-background);
}

.side,
.is-authenticated .side {
  background: var(--portal-sidebar-background);
}

.workspace-footer {
  border: 0;
  background: var(--portal-shell-color);
}

/* Άγγελος Καϊάφας: Σταθερή κλίμακα σχημάτων και ομαλό σβήσιμο πριν από το ενιαίο μπλε τελείωμα. */
.net {
  height: 100dvh;
  opacity: var(--portal-network-opacity);
  mask-image: linear-gradient(180deg, #000 0%, #000 68%, transparent 94%);
}

.net path,
.net circle,
.net rect {
  vector-effect: non-scaling-stroke;
}

.portal-theme-host {
  position: absolute;
  top: 15px;
  right: 26px;
  z-index: 10;
}

.portal-theme-control {
  display: flex;
  align-items: center;
  gap: 8px;
}

.portal-theme-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 34px;
  padding: 7px 12px;
  border: 1px solid #c5d9e7;
  border-radius: 11px;
  background: linear-gradient(#ffffff, #e5eff7);
  box-shadow: inset 0 1px 0 white, 0 4px 9px #18395520;
  color: #37546e;
  font: 600 12px "Segoe UI", sans-serif;
  cursor: pointer;
  transition: color .15s, background .15s, box-shadow .15s;
}

.portal-theme-button svg {
  width: 17px;
  height: 17px;
}

.portal-theme-button:hover {
  color: #087da6;
  box-shadow: inset 0 1px 0 white, 0 5px 13px #1d658232;
}

.portal-theme-button[aria-pressed="true"] {
  border-color: #80c6df;
  background: linear-gradient(#ecfbff, #c5e8f5);
  color: #126681;
}

.portal-theme-button:focus-visible {
  outline: 3px solid #278eb7;
  outline-offset: 3px;
}

body:not(.is-authenticated) .content {
  padding-top: 70px;
}

/* Άγγελος Καϊάφας: Η αρχική φωτεινή εμφάνιση δεν αλλάζει· οι ακόλουθοι κανόνες αφορούν μόνο το σκούρο θέμα. */
:root[data-portal-theme="dark"] {
  color-scheme: dark;
  --panel: #193957;
  --ink: #e0ebf8;
  --muted: #a6bbd0;
  --action: #92d8ef;
  --line: #6683a647;
  --portal-main-background: var(--portal-shell-color);
  --portal-network-opacity: 0.28;
}

[data-portal-theme="dark"] body {
  color: #e0ebf8;
  background: #0d1e32;
}

[data-portal-theme="dark"] .is-authenticated {
  --workspace-ink: #e0ebf8;
  --workspace-muted: #acc1d6;
}

[data-portal-theme="dark"] .card,
[data-portal-theme="dark"] .provider-panel {
  border-color: #7ca0c23d;
  background: linear-gradient(150deg, #203e58f5, #152e46f5);
  box-shadow: inset 0 1px 0 #b3d8f51c, 0 12px 28px #020b1840;
}

[data-portal-theme="dark"] .workspace-identity,
[data-portal-theme="dark"] .usage-panel {
  border-color: #7ca0c23d;
  background: linear-gradient(145deg, #264b65b0, #17374eb0);
  box-shadow: inset 0 1px 0 #b3d8f51c, 0 12px 28px #020b182b;
}

[data-portal-theme="dark"] .provider-panel__header {
  border-color: #92b3cf24;
  background: linear-gradient(90deg, #b4dfff09, transparent);
}

[data-portal-theme="dark"] .provider-app,
[data-portal-theme="dark"] .provider-panel__title,
[data-portal-theme="dark"] .workspace-identity__metric {
  border-color: #92b3cf24;
}

[data-portal-theme="dark"] .workspace-session-status {
  color: #a1dfc3;
}

[data-portal-theme="dark"] .workspace-session-actions .logout {
  background: #0d2339;
  color: #e9f4ff;
}

[data-portal-theme="dark"] .workspace-session-actions .logout:hover {
  background: #8f3545;
}

[data-portal-theme="dark"] .workspace-identity__metric span,
[data-portal-theme="dark"] .usage-panel__caption,
[data-portal-theme="dark"] .usage-note,
[data-portal-theme="dark"] .usage-summary__heading {
  color: #abc2d7;
}

[data-portal-theme="dark"] .usage-chart text {
  fill: #b7ccde;
}

[data-portal-theme="dark"] .usage-chart__grid {
  stroke: #9ab8d02d;
}

[data-portal-theme="dark"] .usage-chart__point {
  fill: #1e405a;
}

[data-portal-theme="dark"] .usage-summary__track {
  background: #bbd6e91f;
}

[data-portal-theme="dark"] .provider-empty__icon {
  color: #b1c9df;
  border-color: #7799b2;
}

[data-portal-theme="dark"] .provider-panel__header button {
  border-color: #799cb65c;
  color: #d9eafb;
}

[data-portal-theme="dark"] .provider-panel__header button:hover {
  background: #365873;
}

[data-portal-theme="dark"] .provider-entry[aria-disabled="true"] {
  border-color: #7d99af;
  color: #a3b9cb;
}

[data-portal-theme="dark"] .provider-panel__body {
  scrollbar-color: #91b9d380 transparent;
}

[data-portal-theme="dark"] .brand-logo {
  padding: 4px;
  border-radius: 5px;
  background: #e5f1fa;
}

[data-portal-theme="dark"] .portal-theme-button {
  border-color: #759ab847;
  background: linear-gradient(#2f506b, #1b354d);
  box-shadow: inset 0 1px 0 #bddcf32b, 0 5px 12px #040d2038;
  color: #c7d9e8;
}

[data-portal-theme="dark"] .portal-theme-button[aria-pressed="true"] {
  border-color: #58b6d2;
  background: linear-gradient(#32677c, #214b61);
  color: #b6f0ff;
}

[data-portal-theme="dark"] .portal-theme-button:hover {
  color: #9de9ff;
}

[data-portal-theme="dark"] input,
[data-portal-theme="dark"] select,
[data-portal-theme="dark"] textarea {
  border-color: #698ba766;
  background: #10273d;
  color: #e1edf9;
}

[data-portal-theme="dark"] .pw button,
[data-portal-theme="dark"] label,
[data-portal-theme="dark"] .eyebrow,
[data-portal-theme="dark"] .adm__hint,
[data-portal-theme="dark"] .aud th,
[data-portal-theme="dark"] .dlg__box h2 {
  color: #b2d0e9;
}

[data-portal-theme="dark"] .login .btn,
[data-portal-theme="dark"] .admin-entry a {
  color: #c8e7fa;
}

[data-portal-theme="dark"] .login .btn:hover,
[data-portal-theme="dark"] .login .btn:focus-visible,
[data-portal-theme="dark"] .admin-entry a:hover {
  color: #6ed5fa;
}

[data-portal-theme="dark"] .login .btn[aria-disabled="true"],
[data-portal-theme="dark"] .login .btn:disabled {
  color: #9cafc3;
}

[data-portal-theme="dark"] .note,
[data-portal-theme="dark"] .adm__banner {
  border-color: #9d824d66;
  color: #efd9a7;
  background: #51452b70;
}

[data-portal-theme="dark"] .alert,
[data-portal-theme="dark"] .status--error {
  border-color: #cc6e825e;
  color: #ffc5cf;
  background: #642c3c66;
}

[data-portal-theme="dark"] .notice {
  border-color: #6f9ccc5e;
  color: #cfe3f8;
  background: #1f3f6066;
}

[data-portal-theme="dark"] .adm__ok {
  color: #b1ebcc;
  background: #1b4d3b;
  border-color: #4b916c;
}

[data-portal-theme="dark"] .req,
[data-portal-theme="dark"] .adm__foot .dirty {
  color: #ffc3ad;
}

[data-portal-theme="dark"] .adm__nav button,
[data-portal-theme="dark"] .adm .btn,
[data-portal-theme="dark"] .sec .btn {
  color: #cfe3f5;
}

[data-portal-theme="dark"] .demo__sep {
  color: #b9cde2;
}

[data-portal-theme="dark"] .demo__sep::before,
[data-portal-theme="dark"] .demo__sep::after {
  background: #7695ae5c;
}

[data-portal-theme="dark"] .skel {
  background: linear-gradient(90deg, #25425c, #365872, #25425c);
}

@media (max-width: 650px) {
  .portal-theme-host {
    top: 13px;
    right: 13px;
  }

  body:not(.is-authenticated) .content {
    padding-top: 70px;
  }

  .portal-theme-button {
    min-height: 33px;
    padding: 7px 9px;
    font-size: 11px;
  }
}
