/* LinRT HelpDesk V1 — client portal only; osTicket 1.18.4.
   This stylesheet loads after osTicket vendor CSS, no admin/staff overrides. */
:root { --linrt-navy:#0b2039; --linrt-navy2:#123653; --linrt-aqua:#13aaaf; --linrt-mint:#62e0c2; --linrt-ink:#172e47; --linrt-line:#dbe6ee; --linrt-bg:#f5f8fa; }
html { box-sizing:border-box; }
*,*:before,*:after { box-sizing:inherit; }
body { background:#f5f8fa; color:var(--linrt-ink); font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif; font-size:14px; line-height:1.5; }
a { color:#086e91; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible { outline:3px solid #e6aa39; outline-offset:2px; }
#container { width:calc(100% - 34px); max-width:1160px; min-width:0; margin:16px auto 0; border:1px solid #dbe6ee; border-radius:17px 17px 0 0; box-shadow:0 12px 34px rgba(12,37,58,.08); overflow:visible; }
#header { box-sizing:border-box; display:flex; flex-direction:row-reverse; align-items:center; justify-content:space-between; height:auto; min-height:88px; padding:14px 24px; gap:14px; border-bottom:1px solid var(--linrt-line); background:#fff; border-radius:17px 17px 0 0; }
#header .pull-right.flush-right { float:none; width:auto; text-align:right; min-width:0; display:flex; flex-direction:column; gap:3px; justify-content:center; align-items:flex-end; }
#header .pull-right.flush-right p { width:auto; max-width:100%; margin:0; padding:0; line-height:1.8; text-align:right; }
#header .pull-right.flush-right .flag { margin:0 2px; }
#header a#logo { display:flex; float:none; height:auto; min-height:50px; text-decoration:none; align-items:center; gap:10px; white-space:nowrap; color:var(--linrt-navy); flex:0 0 auto; }
#header #logo .linrt-brand-icon { flex:0 0 44px; width:44px; height:44px; max-width:44px; max-height:44px; object-fit:contain; }
#header #logo .linrt-brand-text { display:flex; flex-direction:column; align-items:flex-start; gap:0; line-height:1.1; }
#header #logo .linrt-brand-text strong { font-weight:850; font-size:27px; letter-spacing:-1.1px; color:var(--linrt-navy); }
#header #logo .linrt-brand-text small { font-size:9px; letter-spacing:1.2px; color:#587284; font-weight:750; }
#header .linrt-external-links { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:4px 14px; font-size:12px; }
#header .linrt-external-links a { color:#31536c; text-decoration:none; font-weight:650; }
#header .linrt-external-links a:hover { text-decoration:underline; }
#nav { margin:0; height:auto; min-height:38px; padding:4px 22px; display:flex; align-items:center; gap:4px; flex-wrap:wrap; border:0; box-shadow:none; border-bottom:1px solid var(--linrt-line); background:#f8fbfd; white-space:normal; }
#nav li { display:list-item; margin:0; }
#nav li a { width:auto; height:auto; padding:7px 12px 7px 28px; margin:0; line-height:1.4; border-radius:9px; white-space:normal; color:var(--linrt-ink); }
#nav li a:hover,#nav li a.active { color:#0b5967; background-color:#eaf8f6; }
#content { margin:0; padding:20px 25px 28px; background:#fff; min-height:380px; border-radius:0; }
#content img,#content video,#content iframe { max-width:100%; }
/* Match LinRT V12 compact hero and technology panel. */
.linrt-helpdesk-hero { padding:24px 28px; margin:0 0 25px; border-radius:15px; color:#fff; background:linear-gradient(118deg,#091c35 7%,#0e3150 59%,#0b5766 125%); overflow:hidden; }
.linrt-helpdesk-hero-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(260px,.92fr); gap:28px; align-items:center; }
.linrt-helpdesk-hero-intro,.linrt-helpdesk-hero-panel { min-width:0; }
.linrt-hero-kicker { margin:0 0 7px; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:1.25px; color:#9bece5; }
.linrt-helpdesk-hero h1 { color:#fff; font-size:clamp(25px,3vw,37px); letter-spacing:-1.1px; line-height:1.08; margin:0 0 12px; font-weight:800; }
.linrt-helpdesk-hero-intro>p:not(.linrt-hero-kicker) { margin:0; color:#d7e8f1; font-size:13.5px; line-height:1.62; }
.linrt-helpdesk-hero-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:18px; }
.linrt-helpdesk-button { border:1px solid rgba(163,222,224,.4); border-radius:9px; text-decoration:none; padding:9px 12px; background:rgba(15,52,79,.52); color:#fff; font-size:12px; font-weight:750; line-height:1.2; }
.linrt-helpdesk-button:hover { background:#164567; color:#fff; text-decoration:none; }
.linrt-helpdesk-button.primary { background:#62e0c2; border-color:#62e0c2; color:#0b2039; }
.linrt-helpdesk-button.primary:hover { background:#9af1da; }
.linrt-helpdesk-hero-panel { background:rgba(5,31,51,.56); border:1px solid rgba(155,232,230,.30); border-radius:14px; padding:17px 18px; }
.linrt-helpdesk-microtitle { font-size:10px; font-weight:800; color:#9ee7de; letter-spacing:1.2px; margin:0 0 9px; }
.linrt-helpdesk-signal { display:flex; align-items:center; justify-content:space-between; gap:9px; min-height:34px; border:1px solid rgba(255,255,255,.13); border-left-width:3px; border-radius:8px; margin:0 0 6px; padding:5px 9px; font-size:12px; }
.linrt-helpdesk-signal strong { color:#fff; font-size:11px; letter-spacing:.45px; }
.linrt-helpdesk-signal span { text-align:right; color:#e0edf4; font-size:11px; }
.linrt-helpdesk-signal.oxygen { border-left-color:#62e0c2; }
.linrt-helpdesk-signal.cobalt { border-left-color:#7bbcff; }
.linrt-helpdesk-signal.tungsten { border-left-color:#e9b77c; }
.linrt-helpdesk-panel-foot { margin-top:11px; color:#b3d2df; font-size:10px; letter-spacing:.8px; }
/* Keep native ticket forms, user account and workflow responsive. */
#landing_page .main-content { width:calc(100% - 270px); max-width:100%; min-width:0; }
#landing_page .sidebar.pull-right { max-width:255px; }
#landing_page .search-form { max-width:100%; }
#content input[type=text], #content input[type=email], #content input[type=password], #content select, #content textarea { max-width:100%; }
#content table { max-width:100%; }
/* Commercial/Wiki footer design, scoped to customer side */
#footer.linrt-helpdesk-footer { width:calc(100% - 34px); max-width:1160px; padding:32px 22px 17px; margin:0 auto 22px; text-align:left; color:#c0d2dc; background:#071a2f; border-radius:0 0 17px 17px; line-height:1.55; font-size:12px; }
#footer.linrt-helpdesk-footer a { color:#c5edf2; text-decoration:none; }
#footer.linrt-helpdesk-footer a:hover { text-decoration:underline; }
.linrt-helpdesk-footer-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; }
.linrt-helpdesk-footer-card { padding:17px; border:1px solid rgba(173,221,229,.16); border-radius:13px; background:rgba(255,255,255,.035); min-width:0; }
.linrt-helpdesk-footer-card h3 { margin:0 0 12px; color:#fff; font-size:11px; text-transform:uppercase; letter-spacing:1px; }
#footer .linrt-helpdesk-footer-card p { margin:0 0 8px; overflow-wrap:anywhere; }
.linrt-helpdesk-footer-card strong { color:#fff; }
.linrt-helpdesk-footer-card nav { display:block; }
.linrt-helpdesk-footer-card nav>a { display:block; margin:0 0 7px; }
.linrt-helpdesk-footer-card .linrt-helpdesk-map { max-width:100%; width:100%; height:auto; max-height:128px; object-fit:contain; object-position:left center; }
.linrt-helpdesk-social { margin:17px 0 0; padding:14px 8px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; border-top:1px solid rgba(200,240,245,.15); border-bottom:1px solid rgba(200,240,245,.15); }
.linrt-helpdesk-social>strong { color:#fff; font-size:10px; letter-spacing:1px; }
.linrt-helpdesk-social nav { display:flex; flex-wrap:wrap; gap:9px 16px; }
.linrt-helpdesk-social nav a { display:inline-flex; gap:6px; align-items:center; }
.linrt-helpdesk-social nav a img { width:21px; height:21px; }
.linrt-helpdesk-copyright { padding:16px 2px 0; text-align:center; font-size:11px; color:#a8bfc9; }
@media(max-width:880px) {
 .linrt-helpdesk-hero-grid { grid-template-columns:1fr; gap:18px; }
 .linrt-helpdesk-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:720px) {
 #header { flex-direction:column-reverse; align-items:stretch; gap:12px; padding:16px; }
 #header .pull-right.flush-right { align-items:flex-start; width:100%; }
 #header .pull-right.flush-right p { text-align:left; }
 #header .linrt-external-links { justify-content:flex-start; }
 #nav { padding:7px 10px; }
 #content { padding:15px; overflow-x:auto; }
 #landing_page .sidebar.pull-right { float:none; max-width:none; width:100%; }
 #landing_page .main-content { width:100%; margin:0; }
 .linrt-helpdesk-hero { padding:21px 17px; }
 .linrt-helpdesk-hero-panel { max-width:none; }
}
@media(max-width:490px) {
 #container,#footer.linrt-helpdesk-footer { width:calc(100% - 18px); }
 #content { padding:11px; }
 #header #logo .linrt-brand-text strong { font-size:24px; }
 #header #logo .linrt-brand-text small { font-size:8px; }
 .linrt-helpdesk-footer-grid { grid-template-columns:1fr; }
 .linrt-helpdesk-social { align-items:flex-start; }
 .linrt-helpdesk-social nav { width:100%; }
}
