/* LASYSTEM Mail: additions to the inherited Elastic skin. */
:root { --ls-blue:#237da7; --ls-ink:#18222b; --ls-line:#e2e8ed; --ls-pale:#edf5f9; --ls-header:84px; --ls-nav:44px; }
html { color-scheme:light; }
body.lasystem { background:#fff; color:var(--ls-ink); font-family:Ubuntu,Arial,sans-serif; }
.lasystem a:focus-visible,.lasystem button:focus-visible,.lasystem input:focus-visible { outline:3px solid #62b8df; outline-offset:3px; }
.lasystem-topbar { height:var(--ls-header); padding:0 28px; background:#000; color:#fff; display:flex; align-items:center; gap:32px; position:relative; z-index:40; }
.lasystem-brand { display:flex; align-items:center; gap:10px; flex-shrink:0; color:#fff!important; text-decoration:none!important; }
.lasystem-brand img { width:43px; height:43px; object-fit:contain; }
.lasystem-wordmark { font-size:27px; line-height:1; white-space:nowrap; }
.lasystem-wordmark b { font-weight:700; }
.lasystem-wordmark b span { color:#2787b1; }
.lasystem-domain { font-size:24px; font-weight:400; }
.lasystem-wordmark small { display:block; font-size:9px; letter-spacing:2.7px; margin-top:8px; color:#c0cad0; }
#lasystem-search { min-width:0; flex:1; max-width:680px; margin:0 auto; }
.lasystem-header-note { display:block; text-align:center; font-size:14px; color:#9cabb5; }
.lasystem-account { display:flex; align-items:center; gap:10px; margin-left:auto; min-width:0; }
.lasystem-avatar { display:grid; place-items:center; width:36px; height:36px; flex-shrink:0; border-radius:50%; background:#253b49; color:#d7f1ff; font-weight:700; }
.lasystem-account-link { color:#fff!important; font-size:13px; }
.lasystem-account-name { display:block; color:#a5b3bd; font-size:11px; max-width:185px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin-top:3px; }
body.lasystem:not(.task-login) #layout { height:calc(100% - var(--ls-header) - var(--ls-nav)); margin-top:var(--ls-nav); }
html.iframe body.lasystem #layout,body.lasystem.action-print #print-layout { height:100%; margin-top:0; }
body.lasystem.task-login #layout { height:calc(100% - var(--ls-header)); margin-top:0; }
body.lasystem #layout-menu { position:absolute!important; top:var(--ls-header)!important; left:0!important; width:100%!important; max-width:none!important; height:var(--ls-nav)!important; min-width:0!important; background:#111820!important; border:0; border-top:1px solid #26333e; border-radius:0; box-shadow:none; display:block!important; z-index:35; padding:0 24px!important; }
body.lasystem #layout-menu .popover-header { display:none!important; }
body.lasystem #taskmenu { display:flex!important; flex-direction:row!important; align-items:center; justify-content:center; height:100%; width:100%; gap:8px; overflow-x:auto; overflow-y:hidden; margin:0; padding:0; }
body.lasystem #taskmenu a { display:flex!important; align-items:center; justify-content:center; flex:0 0 auto; width:auto!important; min-width:0!important; max-width:none!important; height:34px!important; line-height:34px!important; padding:0 23px!important; margin:0; border-radius:8px; color:#eef5f9; font-size:14px!important; text-decoration:none; background:transparent; }
body.lasystem #taskmenu a:before { width:auto!important; height:auto!important; line-height:inherit!important; font-size:15px!important; margin-right:9px!important; flex-shrink:0; }
body.lasystem #taskmenu a span.inner { display:inline!important; font-size:14px!important; line-height:inherit!important; padding:0!important; }
body.lasystem #taskmenu a:hover,body.lasystem #taskmenu a.selected { background:#253542; color:white; }
body.lasystem #taskmenu .action-buttons,body.lasystem #taskmenu .special-buttons { display:flex!important; flex-direction:row; width:auto; position:static!important; padding:0; margin:0; }
body.lasystem #taskmenu .special-buttons { margin-left:auto; background:transparent; }
@media(min-width:1025px) { body.lasystem #taskmenu .special-buttons { position:absolute!important; left:auto!important; right:24px!important; top:auto!important; bottom:auto!important; } }
body.lasystem #taskmenu a.about { display:none!important; }
body.lasystem .task-menu-button { display:none!important; }
body.lasystem #layout > div > .header,body.lasystem #layout > div > .footer { background:#fff; color:#586772; border-color:var(--ls-line); }
body.lasystem #layout-sidebar,body.lasystem #layout-list,body.lasystem #layout-content { background:#fff; border-color:var(--ls-line); }
body.lasystem .listing li.selected,body.lasystem .listing tr.selected td { background:#dcecf5; color:#125477; }
body.lasystem .btn-primary { background:var(--ls-blue); border-color:var(--ls-blue); }
body.lasystem .btn-primary:hover { background:#196a90; border-color:#196a90; }
body.lasystem .form-control:focus { border-color:#449ac1; box-shadow:0 0 0 .18rem #237da71c; }
body.lasystem #layout-sidebar .listing li { border-bottom:0; }
body.lasystem #mailboxlist { padding:8px 12px 16px 0; }
body.lasystem #mailboxlist li > a { border-radius:0 22px 22px 0; padding-left:23px; height:40px; line-height:40px; font-size:14px; }
body.lasystem #mailboxlist li.selected > a { background:#dcecf5; color:#185c7c; font-weight:700; }
body.lasystem #mailboxlist li.selected { background:transparent; }
body.lasystem #mailboxlist li > a:hover { background:#f0f5f8; }
body.lasystem #mailboxlist li.unread > a { font-weight:700; }
.lasystem-compose { padding:20px 18px 12px; }
.lasystem-compose-button { display:flex; gap:13px; align-items:center; justify-content:center; background:#dceef8; color:#164f6b!important; border-radius:17px; min-height:53px; padding:12px 22px; width:max-content; max-width:100%; box-shadow:0 2px 4px #193e5310; text-decoration:none!important; font-weight:700; font-size:15px; }
.lasystem-compose-button:before { font-family:Icons; content:'\f303'; font-size:19px; font-weight:900; }
.lasystem-compose-button:hover { background:#c8e4f3; box-shadow:0 3px 7px #193e5320; }
.lasystem-back { display:none; border:0; background:transparent; color:#356176; font-size:17px; padding:0 15px; cursor:pointer; }
.lasystem-back span { font-size:13px; margin-left:8px; }
/* The real Roundcube search field is moved here; its handlers and options remain intact. */
#lasystem-search .searchbar { display:flex!important; width:100%; height:44px; min-height:44px; margin:0; border:1px solid #41505a; border-radius:26px; background:#162029; padding:0 10px; position:relative; }
#lasystem-search .searchbar form { display:flex; flex:1; min-width:0; align-items:center; }
#lasystem-search .searchbar input { min-width:0; width:100%; height:42px; border:0; background:transparent; color:white; padding:0 10px; box-shadow:none; font-size:14px; }
#lasystem-search .searchbar input::placeholder { color:#a5b3bd; }
#lasystem-search .searchbar a { color:#d5e4ee; background:transparent; height:42px; line-height:42px; }
#lasystem-search .searchbar a:before { line-height:42px; }
/* Desktop inbox: folders + full-width list; selecting mail opens the reading area. */
@media(min-width:1025px) {
 body.lasystem.task-mail.action-none #taskmenu .action-buttons { display:none!important; }
 body.lasystem.task-mail.action-none #layout-sidebar { display:flex!important; flex:0 0 245px!important; width:245px!important; max-width:245px!important; min-width:245px!important; border-right:0; }
 body.lasystem.task-mail.action-none #layout-sidebar > .header { height:36px; min-height:36px; line-height:36px; font-size:12px; border-bottom:0; }
 body.lasystem.task-mail.action-none #layout-list { display:flex!important; flex:1!important; width:0!important; max-width:none!important; min-width:0!important; border:1px solid var(--ls-line); border-top:0; border-bottom:0; border-radius:16px 0 0 0; }
 body.lasystem.task-mail.action-none #layout-content { display:none!important; }
 body.lasystem.task-mail.action-none.lasystem-reading #layout-list { display:none!important; }
 body.lasystem.task-mail.action-none.lasystem-reading #layout-content { display:flex!important; min-width:0; }
 body.lasystem.task-mail.action-none .column-resizer { display:none; }
 body.lasystem.task-mail.action-none.lasystem-reading .lasystem-back { display:block; }
 body.lasystem #messagelist tr td { height:40px; padding-top:4px; padding-bottom:4px; line-height:26px; vertical-align:middle; border-color:#edf0f3; background:#eaf0f4; }
 body.lasystem #messagelist tr.unread td { background:#fff; }
 body.lasystem #messagelist tr:hover td { background:#e3edf4; box-shadow:inset 0 1px #dce7ed,inset 0 -1px #dce7ed; }
 body.lasystem #messagelist tr.selected td { background:#dcecf5; }
 body.lasystem #messagelist td.subject { display:grid; grid-template-columns:minmax(130px,190px) minmax(0,1fr) 95px; align-items:center; gap:14px; min-width:0; }
 body.lasystem #messagelist td.subject > .fromto { grid-column:1; grid-row:1; padding-left:4px; padding-right:0; font-size:14px; color:#42535f; }
 body.lasystem #messagelist td.subject > .subject { grid-column:2; grid-row:1; min-width:0; width:auto; font-size:14px; }
 body.lasystem #messagelist td.subject > .date { grid-column:3; grid-row:1; font-size:12px; text-align:right; white-space:nowrap; color:#64747f; }
 body.lasystem #messagelist td.subject > .size { display:none; }
 body.lasystem #messagelist tr.unread .fromto,body.lasystem #messagelist tr.unread .date { font-weight:700; color:#18222b; }
 body.lasystem #messagelist td.flags { width:58px; min-width:58px; padding-right:10px; }
 body.lasystem #messagelist td.flags > span { display:inline-block; }
 body.lasystem #messagelist td.selection { width:40px; min-width:40px; padding-left:13px; padding-right:8px; }
}
/* Logged-out view shares the exact background colors of the Lab sign-in page. */
body.lasystem.task-login { --ls-blue:#1578b6; background:radial-gradient(ellipse at 20% 10%,#20405e99,transparent 60%),radial-gradient(ellipse at 90% 80%,#0d506555,transparent 45%),#0c1624; background-attachment:fixed; }
body.lasystem.task-login .lasystem-topbar { background:transparent; z-index:auto; }
body.lasystem.task-login .lasystem-brand img { mix-blend-mode:screen; }
body.lasystem.task-login .lasystem-wordmark b span { color:#58bfff; }
body.lasystem.task-login #layout-content { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:44px 22px; overflow:auto; background:transparent; }
.lasystem-login-card { width:100%; max-width:450px; padding:38px 36px 30px; background:#fff; border:1px solid #ffffff55; border-radius:22px; box-shadow:0 32px 110px #0007; text-align:left; }
.lasystem-eyebrow { margin:0 0 16px; font-size:10px; font-weight:700; letter-spacing:2px; color:var(--ls-blue); }
.lasystem-login-card h1 { font-size:29px; font-weight:700; letter-spacing:-.6px; line-height:1.25; margin:0 0 12px; }
.lasystem-login-copy { font-size:14px; color:#697883; margin:0 0 27px; }
body.lasystem #login-form { top:auto; position:static; margin:0; width:100%; max-width:none; text-align:left; }
body.lasystem #login-form .form-control { min-height:46px; border-color:#d5dfe6; border-radius:9px; }
body.lasystem #login-form .formbuttons { text-align:left; margin-top:23px; }
body.lasystem #rcmloginsubmit { width:100%; min-height:46px; border-radius:9px; font-weight:700; }
body.lasystem.task-login #rcmloginsubmit:hover { background:#106393; border-color:#106393; }
.lasystem-login-help { font-size:12px; line-height:1.6; color:#7a8892; margin:21px 0 0; }
.lasystem-login-footer { color:#a4b8ca; font-size:12px; margin:25px 0 0; }
.lasystem-login-footer span { padding:0 10px; }
body.lasystem.lasystem-no-nav #layout { height:calc(100% - var(--ls-header)); margin-top:0; }
@media(max-width:1024px) {
 .lasystem-topbar { padding:0 18px; gap:18px; }
 .lasystem-account-name { display:none; }
 .lasystem-wordmark { font-size:23px; }
 .lasystem-domain { font-size:21px; }
 .lasystem-header-note { font-size:12px; }
 body.lasystem #layout-menu { padding:0 10px!important; }
 body.lasystem #taskmenu a { padding:0 15px!important; }
 .lasystem-compose { padding:15px; }
 .lasystem-back { display:none!important; }
}
@media(max-width:767px) {
 :root { --ls-header:72px; --ls-nav:50px; }
 .lasystem-topbar { padding:0 16px; gap:12px; }
 .lasystem-brand img { width:33px; height:33px; }
 .lasystem-wordmark { font-size:22px; }
 .lasystem-domain { font-size:20px; }
 .lasystem-wordmark small { font-size:8px; }
 .lasystem-account-link { font-size:12px; }
 .lasystem-avatar { width:30px; height:30px; }
 #lasystem-search { display:none; }
 body.lasystem #taskmenu { gap:2px; justify-content:flex-start; }
 body.lasystem #taskmenu a { padding:0 12px!important; font-size:12px!important; height:38px!important; }
 body.lasystem #taskmenu a span.inner { font-size:12px!important; }
 body.lasystem #taskmenu a:before { display:none; }
 body.lasystem #taskmenu a.logout span.inner { font-size:0!important; }
 body.lasystem #taskmenu a.logout:before { display:block; font-size:16px!important; margin:0; }
 body.lasystem #layout-menu { padding:0 8px!important; }
 .lasystem-login-card { padding:28px 24px; border-radius:15px; }
 .lasystem-login-card h1 { font-size:26px; }
 body.lasystem.task-login #layout-content { justify-content:flex-start; padding-top:38px; }
}
@media print { .lasystem-topbar,#layout-menu,.lasystem-back { display:none!important; } body.lasystem #layout { height:auto!important; margin:0!important; } }

/* Shared LASYSTEM brand: the artwork keeps its original 870:506 proportions. */
.ls-site-header{box-sizing:border-box;width:100%;height:84px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#000;color:#fff;font-family:Ubuntu,Arial,sans-serif}
.ls-site-header--login{background:transparent}
.ls-brand{--ls-brand-title:27px;--ls-brand-domain:24px;--ls-brand-subtitle:9px;--ls-brand-gap:8px;display:flex;align-items:center;gap:10px;flex-shrink:0;text-align:left}
.ls-brand a{color:#fff!important;text-decoration:none!important;background:transparent}
.ls-brand .ls-mark{display:block;height:calc(var(--ls-brand-title) + var(--ls-brand-gap) + var(--ls-brand-subtitle));aspect-ratio:870 / 506;flex-shrink:0;line-height:0}
.ls-brand .ls-mark img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;mix-blend-mode:screen}
.ls-brand .ls-wordmark{display:block;white-space:nowrap;font-size:var(--ls-brand-title);line-height:1;font-weight:400;letter-spacing:0}
.ls-wordmark b{font-weight:700}.ls-wordmark b span{color:#2787b1}.ls-site-header--login .ls-wordmark b span{color:#58bfff}
.ls-wordmark .ls-domain{font-size:var(--ls-brand-domain);font-weight:400}
.ls-brand .ls-application{display:block;width:max-content;max-width:100%;margin-top:var(--ls-brand-gap);color:#c0cad0!important;font-size:var(--ls-brand-subtitle);line-height:1;font-weight:400;letter-spacing:2.7px;text-transform:uppercase;white-space:nowrap}
.ls-brand .ls-application:hover{color:#fff!important;text-decoration:underline!important;text-underline-offset:3px}
.ls-header-actions{display:flex;align-items:center;gap:18px;margin-left:auto;flex-shrink:0;color:#fff;font:13px/1.4 Ubuntu,Arial,sans-serif}
.ls-header-actions .ls-account-link{display:flex;align-items:center;gap:10px;color:#fff!important;text-decoration:none!important;white-space:nowrap}
.ls-avatar{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#253b49;color:#d7f1ff;flex-shrink:0}
.ls-avatar svg{width:18px;height:18px;fill:currentColor}
.ls-header-actions .ls-logout{display:block;margin:0;padding:0;width:auto;background:none;border:0}
.ls-header-actions .ls-logout button{display:block;width:auto;min-height:30px;height:auto;margin:0;padding:5px 10px;border:1px solid #526979;border-radius:6px;color:#fff;background:transparent;font:inherit;text-transform:none;cursor:pointer}
.ls-header-actions .ls-logout button:hover{background:#253542}
.ls-site-header a:focus-visible,.ls-site-header button:focus-visible{outline:3px solid #62b8df;outline-offset:4px}
@media(max-width:1024px){.ls-site-header{padding:0 18px;gap:18px}.ls-brand{--ls-brand-title:23px;--ls-brand-domain:21px}}
@media(max-width:767px){.ls-site-header{height:72px;padding:0 16px;gap:12px}.ls-brand{--ls-brand-title:22px;--ls-brand-domain:20px;--ls-brand-subtitle:8px}.ls-header-actions{font-size:12px;gap:4px;flex-direction:column;align-items:flex-end}.ls-avatar{width:28px;height:28px}.ls-header-actions .ls-account-link{gap:7px}.ls-header-actions .ls-logout button{min-height:24px;padding:2px 7px}}
@media(max-width:375px){.ls-site-header{padding:0 12px;gap:10px}.ls-brand{--ls-brand-title:18px;--ls-brand-domain:16px;--ls-brand-subtitle:7px;--ls-brand-gap:6px;gap:8px}.ls-brand .ls-application{letter-spacing:2px}.ls-header-actions .ls-avatar{display:none}}
@media print{.ls-site-header{display:none}}

body.lasystem.task-login .ls-wordmark b span{color:#58bfff}
