/* GALDABINI ONE — customer portal only. Does not style admin/technician pages.
 * Layout reference: Designer_new clienti.jpg, 1536 x 1024.
 * Photos: supplied Galdabini press kit, optimised locally. No remote dependencies.
 */
.app-shell-customer {
  --one-bg:#081018;--one-navy:#0b121b;--one-panel:#111b26;
  --one-line:#29313c;--one-muted:#9caaba;--one-white:#f8fafc;
  --one-orange:#f36518;--one-orange-dark:#b94a10;
  background:var(--one-bg); color:var(--one-white); padding-bottom:0;
  min-height:100vh; font-family:Inter,"Segoe UI",sans-serif;
}
.app-shell-customer .app-layout { grid-template-columns:216px minmax(0,1fr); background:#081018; }
.app-shell-customer .app-sidebar {
  width:216px; padding:17px 12px 14px; color:#dae1e9;
  background:linear-gradient(169deg,#08131e 0%,#09121b 60%,#081019 100%);
  border-right:1px solid #1e2c39; overflow-x:hidden;
}
.app-shell-customer .one-sidebar-brand { height:61px; align-items:center; border-bottom:1px solid #1d2935; margin:-1px -12px 0; }
.app-shell-customer .one-sidebar-brand img { width:159px; height:42px; object-fit:contain; }
.app-shell-customer .sidebar-nav-spacer { flex:1; min-height:0; }
.app-shell-customer .sidebar-support-card {
  margin:0 0 12px; padding:15px 13px 13px 13px;
  color:#f2f5f9; background:#101b25; border:1px solid #263643;
  box-shadow:none; border-radius:12px; min-height:97px;
}
.app-shell-customer .sidebar-support-card:before { content:'\f590'; font-family:'Font Awesome 6 Free'; font-weight:900; color:#e9f2f7; font-size:21px; margin-bottom:1px; }
.app-shell-customer .sidebar-support-card strong { font-size:11px; font-weight:700; margin-left:40px; margin-top:-26px; }
.app-shell-customer .sidebar-support-card span { color:#aab7c4; font-size:9px; margin-left:40px; }
.app-shell-customer .sidebar-support-link { color:var(--one-orange); font-size:11px; font-weight:700; text-align:left; border:0; background:none; padding:7px 0 0 40px; max-width:100%; overflow-wrap:anywhere; }
.app-shell-customer .sidebar-support-link i { display:none; }
.app-shell-customer .one-sidebar-version { color:#9ba9b9; font-size:11px; letter-spacing:.025em; border-top:1px solid #23313c; padding:13px 12px 0; margin:0 -1px; }
.app-shell-customer .one-sidebar-version small { display:block; font-size:9px; margin-top:2px; color:#64798e; }
.app-shell-customer .app-main { min-width:0; padding:0 24px 28px; background:var(--one-bg); }
.app-shell-customer .shell-header {
  position:relative; min-height:69px; margin:0 -24px 0;
  padding:9px 26px 9px 32px; background:#090e15;
  border-bottom:1px solid #1a222b; box-shadow:none;
  color:#f5f6fa; gap:22px;
}
.app-shell-customer .shell-welcome { display:flex; align-items:center; gap:22px; white-space:nowrap; }
.app-shell-customer .shell-welcome .one-header-title {
  display:inline-flex;align-items:center;gap:7px; font-size:25px;font-weight:790;
  letter-spacing:-.035em;color:#fcfcfc;white-space:nowrap;
}
.app-shell-customer .shell-welcome .one-header-title em { color:var(--one-orange);font-style:normal; }
.app-shell-customer .shell-welcome .one-header-tagline {
  font-size:12px; color:#ccd2dc; border-left:1px solid #75808a;
  padding-left:21px; margin:0; font-weight:400; letter-spacing:0;
}
.app-shell-customer .shell-header-center { margin-left:auto;min-width:0; }
.app-shell-customer .one-header-customer { min-width:0; max-width:250px; background:none; border:0; box-shadow:none; padding:0; }
.app-shell-customer .one-header-customer .customer-header-context-copy { display:flex; flex-direction:column; }
.app-shell-customer .one-header-customer .customer-header-context-copy small { color:#8e9ba8; font-size:10px; }
.app-shell-customer .one-header-customer .customer-header-context-copy strong { color:#f1f4f9; font-size:11px; font-weight:650; }
.app-shell-customer .one-header-customer .customer-header-context-country { display:none; }
.app-shell-customer .one-header-customer .form-group { color:#fff; }
.app-shell-customer .shell-header-actions { flex-shrink:0; }
.app-shell-customer .shell-notification { color:#becad7; border:0; font-size:18px; background:none; }
.app-shell-customer .header-user-menu summary { color:#fff; display:flex; align-items:center; gap:10px; }
.app-shell-customer .header-user-menu .user-avatar { width:46px; height:46px; flex-basis:46px; background:#e15a12; font-size:13px; font-weight:700; }
.app-shell-customer .header-user-menu .header-user-menu-name { font-size:13px; font-weight:700; }
.app-shell-customer .header-user-menu .header-user-menu-chevron { color:#a4b2c2; }
.app-shell-customer .header-user-dropdown { background:#182330; border:1px solid #334251; box-shadow:0 16px 40px #0008; }
.app-shell-customer .header-user-dropdown .btn { color:#f7f7f7; }
.app-shell-customer .header-user-dropdown .btn:hover { background:#283545; }
.app-shell-customer .customer-target-portal > .tabbable > .nav {
  z-index:1025; position:fixed; top:87px; left:12px; width:190px;
  padding:0; margin:0; display:flex; flex-direction:column; gap:7px;
  border:0; background:transparent;
}
.app-shell-customer .customer-target-portal > .tabbable > .nav .nav-link {
  display:flex; align-items:center; min-height:52px; gap:14px;
  padding:12px 14px; border:0; border-radius:11px;
  font-size:12px; font-weight:550; white-space:nowrap; color:#ccd5df;
  background:transparent; box-shadow:none; transition:background .17s ease,color .17s ease;
}
.app-shell-customer .customer-target-portal > .tabbable > .nav .nav-link i { font-size:20px; width:26px; flex:0 0 26px; text-align:center; }
.app-shell-customer .customer-target-portal > .tabbable > .nav .nav-link:hover { color:#fff; background:#192635; }
.app-shell-customer .customer-target-portal > .tabbable > .nav .nav-link.active {
  color:#fff; background:linear-gradient(112deg,#af3d08 0%,#f36a1a 100%);
  box-shadow:0 7px 18px rgba(203,72,8,.20);
}
.app-shell-customer .customer-context-bar { background:#111b26; border:1px solid #2a3743; border-radius:0 0 10px 10px; margin:0 0 10px; color:#fff; }
.app-shell-customer .customer-context-bar strong { color:#fff; }
.app-shell-customer .customer-target-portal > .tabbable > .tab-content { padding:0; margin:0; background:transparent; }
.app-shell-customer .customer-target-portal > .tabbable > .tab-content > .tab-pane { background:transparent; }
.app-shell-customer .one-home { max-width:1600px; margin:0 auto; padding:0 0 16px; }
.app-shell-customer .one-hero {
  isolation:isolate; position:relative; display:flex; align-items:flex-start;
  min-height:262px; overflow:hidden; margin:0 -2px 0;
  border-radius:0 0 7px 7px;
  background:#10141a url('one-hero.webp') right 42% center / cover no-repeat;
  box-shadow:inset 0 -28px 32px rgba(5,11,17,.38);
}
.app-shell-customer .one-hero:before {
  z-index:-1;position:absolute;inset:0;content:'';
  background:linear-gradient(90deg,rgba(6,10,14,.90) 0%,rgba(7,10,15,.84) 31%,rgba(5,8,13,.30) 73%,rgba(6,8,12,.61) 100%),
             linear-gradient(0deg,rgba(5,10,17,.53),transparent 75%);
}
.app-shell-customer .one-hero-copy { width:min(59%,660px); padding:35px 19px 30px 22px; }
.app-shell-customer .one-hero-eyebrow { display:block; color:#c9d1df; font-size:12px; letter-spacing:.075em; font-weight:520; margin-bottom:12px; }
.app-shell-customer .one-hero h1 { margin:0; color:#fff; font-size:clamp(34px,3.5vw,60px); letter-spacing:-.035em; line-height:.98; font-weight:830; text-shadow:0 3px 18px #0005; }
.app-shell-customer .one-hero h1 > span { display:block; margin-top:1px; white-space:nowrap; }
.app-shell-customer .one-hero h1 em { color:#f36a1a; font-style:normal; }
.app-shell-customer .one-hero p { color:#d5d8de; margin:16px 0 0; width:min(420px,100%);font-size:14px;line-height:1.5; }
.app-shell-customer .one-hero-signature { position:absolute; top:97px; right:24px; display:flex; flex-direction:column;gap:9px; border-left:2px solid var(--one-orange);padding-left:25px; color:#b8c3d0; font-size:10px;letter-spacing:.28em; }
.app-shell-customer .one-feature-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px; margin-top:0; padding-top:0; transform:translateY(-1px); }
.app-shell-customer .one-feature-card {
  position:relative; display:grid;grid-template-columns:53px minmax(0,1fr) 29px;
  gap:10px; align-items:center; min-height:106px; width:100%;padding:18px 15px 18px 18px;
  text-align:left; color:#fff; border:1px solid #2d3743; border-radius:13px;
  background:linear-gradient(128deg,#111922 0%,#1c242d 100%);
  box-shadow:0 5px 18px rgba(0,0,0,.22); cursor:pointer; transition:transform .16s, border-color .16s, background .16s;
}
.app-shell-customer .one-feature-card:hover { transform:translateY(-2px);border-color:#9e481e;background:#1c2530; }
.app-shell-customer .one-feature-card:focus-visible { outline:3px solid #fd9b62;outline-offset:2px; }
.app-shell-customer .one-feature-icon { color:var(--one-orange); font-size:33px;text-align:center; }
.app-shell-customer .one-feature-copy {display:flex;flex-direction:column;gap:6px;min-width:0;}
.app-shell-customer .one-feature-copy strong { color:#fff;font-size:13px;font-weight:750;white-space:nowrap; }
.app-shell-customer .one-feature-copy small {color:#a9b5c4;font-size:10px;line-height:1.45;font-weight:400;}
.app-shell-customer .one-feature-arrow {display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:#fff;background:#d85810;font-size:12px;}
.app-shell-customer .one-machines-section { margin-top:27px; }
.app-shell-customer .one-section-heading {display:flex;align-items:center;justify-content:space-between;margin:0 6px 12px;}
.app-shell-customer .one-section-heading h2 {font-size:23px;font-weight:750;color:#fff;margin:0;letter-spacing:-.02em;}
.app-shell-customer .one-view-all {background:none;border:0;color:#cdd5df;font-size:10px;display:flex;align-items:center;gap:10px;cursor:pointer;}
.app-shell-customer .one-view-all:hover {color:#fff;}
.app-shell-customer .one-machine-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;}
.app-shell-customer .target-machine-grid.target-machine-grid-wide {grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;}
.app-shell-customer .target-machine-card-customer.one-machine-card {
  display:flex;flex-direction:column;min-height:338px;min-width:0; padding:0 14px 12px;
  overflow:hidden;border:1px solid #2c3542;border-radius:14px;
  background:linear-gradient(139deg,#1c2631,#141d27 78%);color:#e9edf2;
  box-shadow:0 8px 15px rgba(0,0,0,.24);position:relative;
}
.app-shell-customer .one-machine-image { height:140px; margin:0 -14px 0; background:linear-gradient(120deg,#242d36,#10141b); border-radius:0; width:calc(100% + 28px); }
.app-shell-customer .one-machine-image:after {content:'';pointer-events:none;position:absolute;left:0;right:0;top:0;height:140px;background:linear-gradient(0deg,rgba(15,24,34,.64),transparent 45%);}
.app-shell-customer .one-machine-image .machine-photo {object-fit:cover;object-position:center 44%;}
.app-shell-customer .one-illustrative-label {position:absolute;top:115px;right:9px; font-size:8px;padding:2px 5px;color:#cad4df;background:#0b121b99;border-radius:5px;}
.app-shell-customer .one-warranty-pill {position:absolute;z-index:2;top:12px;left:12px;display:flex;align-items:center;gap:6px;padding:5px 9px;border-radius:40px;font-size:9px;font-weight:650;background:#1a8b4d;color:#fff;}
.app-shell-customer .one-warranty-expiring {background:#a97816;}
.app-shell-customer .one-warranty-expired {background:#545c69;}
.app-shell-customer .one-warranty-unknown {background:#4b5563;}
.app-shell-customer .one-machine-card .target-customer-machine-title {padding:12px 0 0; margin:0;}
.app-shell-customer .one-machine-card .target-customer-machine-title h4 {color:#fff;margin:0 0 3px;font-size:16px;font-weight:780;}
.app-shell-customer .one-machine-card .target-customer-machine-title > span {display:block;color:#a6b3c4;font-size:11px;}
.app-shell-customer .one-machine-facts {display:grid;gap:10px;margin:14px 0 16px;}
.app-shell-customer .one-machine-facts > div {display:grid;grid-template-columns:18px minmax(90px,1fr) minmax(0,1.15fr);gap:6px;align-items:center;min-width:0;}
.app-shell-customer .one-machine-facts i {font-size:12px;color:#b8c5d5;}
.app-shell-customer .one-machine-facts span {color:#acb8c7;font-size:10px;}
.app-shell-customer .one-machine-facts strong {color:#e4eaf1;font-size:10px;font-weight:450;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.app-shell-customer .one-machine-actions {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:10px;margin-top:auto;}
.app-shell-customer .one-machine-actions button {min-height:38px;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;font-size:11px;font-weight:660;white-space:nowrap;cursor:pointer;}
.app-shell-customer .one-machine-documents {border:1px solid #374757;color:#f2f6fa;background:#101923;}
.app-shell-customer .one-machine-documents:hover {background:#233142;}
.app-shell-customer .one-machine-open {color:#fff;background:#e96016;border:1px solid #ed6d25;}
.app-shell-customer .one-machine-open:hover {background:#f77b2b;}
.app-shell-customer .one-service-banner {display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:17px;padding:20px 26px;min-height:108px;border:1px solid #273240;border-radius:11px;background:linear-gradient(90deg,rgba(7,12,17,.94) 0%,rgba(9,15,22,.75) 55%,rgba(10,17,24,.35) 100%),url('one-service.webp') right 44% center / cover no-repeat;}
.app-shell-customer .one-service-banner h2 {color:#fff;font-size:23px;margin:0 0 4px;font-weight:800;letter-spacing:-.025em;}
.app-shell-customer .one-service-banner p {color:#c5cdd8;font-size:12px;margin:0;}
.app-shell-customer .one-service-cta {display:inline-flex;align-items:center;gap:12px;padding:14px 18px;border:1px solid #f56d23;border-radius:7px;background:#e86016;color:#fff!important;text-decoration:none;font-size:11px;font-weight:650;white-space:nowrap;}
.app-shell-customer .one-service-cta:hover {background:#fa7729;}
.app-shell-customer .one-services-strip {display:flex;justify-content:flex-end;gap:27px;padding:12px 17px 3px;color:#a8b4c1;}
.app-shell-customer .one-services-strip > span {display:flex;flex-direction:column;align-items:center;gap:6px;font-size:9px;}
.app-shell-customer .one-services-strip i {font-size:24px;color:var(--one-orange);}
.app-shell-customer .one-empty {padding:38px 15px;border:1px solid #324253;border-radius:12px;background:#141e29;color:#c6cfda;text-align:center;}
.app-shell-customer .one-machine-detail .one-machine-detail-photo {height:210px;max-width:450px;margin:0 auto;overflow:hidden;border-radius:12px;background:#e8ecee;}
.app-shell-customer .one-machine-detail-photo img {width:100%;height:100%;object-fit:contain;}
.app-shell-customer .one-machine-detail-facts {display:grid;gap:2px;margin-top:16px;}
.app-shell-customer .one-machine-detail-facts p {margin:2px 0;}
/* Other customer sections keep functioning, in the same dark design system. */
.app-shell-customer .customer-page-standard,.app-shell-customer .customer-target-portal .page-heading {color:#ecf3fa;}
.app-shell-customer .customer-page-standard {padding-top:26px;}
.app-shell-customer .customer-page-standard .page-title {color:#f4f8fc;}
.app-shell-customer .customer-page-standard .page-description {color:#b0bfce;}
.app-shell-customer .customer-page-standard .g-card {background:#17212d;color:#eaf0f5;border-color:#2e3b49;box-shadow:none;}
.app-shell-customer .customer-page-standard .g-card .context-meta {color:#aab5c2;}
.app-shell-customer .customer-page-standard .customer-document-row {border-color:#2c3948;background:#1a2633;color:#f4f5f7;}
.app-shell-customer .customer-page-standard .customer-document-row span {color:#b4c0cc;}
.app-shell-customer .customer-page-standard .form-label {color:#e5edf5;}
.app-shell-customer .customer-page-standard .target-machine-card-customer {color:#fff;}
.app-shell-customer .customer-page-standard .support-layout p,
.app-shell-customer .customer-page-standard .profile-readonly-grid small {color:#bcc8d4;}
.app-shell-customer .customer-page-standard .profile-readonly-grid strong {color:#f3f7fb;}
.app-shell-customer .customer-page-standard .support-form-heading h3 {color:#fff;}
.app-shell-customer .customer-page-standard a:not(.btn) {color:#ffa369;}
.app-shell-customer .chat-shell {border:1px solid #2c3643;background:#f8fafc;}
.app-shell-customer .impersonation-banner {left:216px;}
.app-shell-customer:has(.impersonation-banner) .customer-target-portal > .tabbable > .nav {top:131px;}
@media (max-width:1280px) {
  .app-shell-customer .one-feature-grid {gap:10px;}
  .app-shell-customer .one-feature-card {grid-template-columns:40px minmax(0,1fr) 25px;padding:13px 9px;gap:7px;}
  .app-shell-customer .one-feature-icon {font-size:26px;}
  .app-shell-customer .one-feature-copy strong {font-size:11px;}
  .app-shell-customer .one-feature-copy small {font-size:9px;}
  .app-shell-customer .one-machine-facts > div {grid-template-columns:15px minmax(80px,.9fr) minmax(0,1fr);}
}
@media (max-width:1100px) {
  .app-shell-customer .one-hero-signature {display:none;}
  .app-shell-customer .shell-welcome .one-header-tagline {display:none;}
  .app-shell-customer .one-feature-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  .app-shell-customer .one-machine-grid,.app-shell-customer .target-machine-grid.target-machine-grid-wide {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:820px) {
  .app-shell-customer .app-layout {display:block;}
  .app-shell-customer .app-sidebar {display:none;}
  .app-shell-customer .app-main {padding:0 14px 32px;}
  .app-shell-customer .shell-header {margin:0 -14px 8px;padding:10px 14px;min-height:64px;}
  .app-shell-customer .shell-welcome .one-header-title {font-size:20px;}
  .app-shell-customer .shell-header-center {display:none;}
  .app-shell-customer .header-user-menu .header-user-menu-name {display:none;}
  .app-shell-customer .customer-target-portal > .tabbable > .nav {position:static;top:auto;left:auto;z-index:auto;display:flex;flex-direction:row;width:100%;gap:5px;margin:0 0 10px;overflow:auto;padding:0 0 8px;white-space:nowrap;flex-wrap:nowrap;}
  .app-shell-customer .customer-target-portal > .tabbable > .nav .nav-link {min-height:43px;padding:10px 11px;font-size:11px;gap:7px;}
  .app-shell-customer .customer-target-portal > .tabbable > .nav .nav-link i {font-size:14px;width:17px;flex-basis:17px;}
  .app-shell-customer .one-hero {min-height:225px;}
  .app-shell-customer .one-hero-copy {width:86%;padding:29px 18px;}
  .app-shell-customer .one-hero h1 {font-size:38px;}
  .app-shell-customer .one-hero p {font-size:12px;}
  .app-shell-customer .one-services-strip {justify-content:center;gap:15px;flex-wrap:wrap;}
  .app-shell-customer .impersonation-banner {left:0;position:static;}
}
@media (max-width:560px) {
  .app-shell-customer .one-hero h1 {font-size:31px;}
  .app-shell-customer .one-hero h1 > span {white-space:normal;}
  .app-shell-customer .one-feature-grid {grid-template-columns:1fr;gap:8px;}
  .app-shell-customer .one-feature-card {min-height:78px;}
  .app-shell-customer .one-machine-grid,.app-shell-customer .target-machine-grid.target-machine-grid-wide {grid-template-columns:1fr;}
  .app-shell-customer .one-section-heading h2 {font-size:21px;}
  .app-shell-customer .one-service-banner {padding:20px 14px;align-items:flex-start;flex-direction:column;}
  .app-shell-customer .one-service-banner h2 {font-size:21px;}
  .app-shell-customer .one-machine-card {min-height:338px;}
  .app-shell-customer .one-services-strip > span {font-size:8px;}
}

/* GALDABINI_CHAT_CONTRAST_FIX_20261020 */
/* Customer chat only: dark text on light surfaces. */

.app-shell-customer .chat-shell,
.app-shell-customer .chat-workspace {
  color: #17283a;
}

.app-shell-customer .chat-msg.chat-assistant {
  color: #17283a !important;
  background-color: #ffffff;
}

.app-shell-customer .chat-msg.chat-user {
  color: #ffffff !important;
}

.app-shell-customer .chat-shell textarea,
.app-shell-customer .chat-shell input[type="text"] {
  color: #17283a !important;
}

