:root {
  --navy: #102335; --navy-2: #172e43; --navy-3: #21445f; --ink: #15222b; --muted: #71818a;
  --paper: #f5f7f8; --surface: #fff; --line: #dce5e9; --line-2: #edf1f3; --blue: #1478a4;
  --blue-2: #dff0f7; --red: #d55e55; --red-soft: #fae9e7; --amber: #c68a3d; --amber-soft: #fff2df;
  --green: #5eaa4d; --green-soft: #e8f5e4; --purple: #7568a8; --purple-soft: #eeeaf9;
  --shadow: 0 16px 42px rgba(16,35,53,.08); font-family: "Aptos", "Segoe UI Variable", "Segoe UI", ui-sans-serif, system-ui, sans-serif;
  color: var(--ink); background: var(--paper);
}
* { box-sizing: border-box; } body { margin: 0; min-width: 320px; background: var(--paper); } button, input, select { font: inherit; } button { cursor: pointer; }
.app-shell { min-height: 100vh; display: flex; }

.sidebar { width: 274px; flex: 0 0 274px; min-height: 100vh; color: #e8f1f4; background: var(--navy); display: flex; flex-direction: column; padding: 20px 14px 14px; }
.brand-lockup { display: flex; align-items: flex-start; justify-content: space-between; padding: 2px 8px 19px; }.brand { display: flex; align-items: center; gap: 10px; color: white; text-decoration: none; }.brand strong { display: block; font-size: 17px; letter-spacing: .15em; line-height: 1; }.brand small { display: block; color: #91aab4; font-size: 9px; margin-top: 6px; letter-spacing: .02em; }.brand-symbol { width: 35px; height: 35px; display: flex; align-items: flex-end; justify-content: center; gap: 3px; border: 1px solid #92b1be; border-radius: 9px; padding: 8px 7px; transform: rotate(-7deg); }.brand-symbol i { display: block; width: 4px; border-radius: 3px 3px 1px 1px; transform: rotate(7deg); background: #83c2cf; }.brand-symbol i:nth-child(1) { height: 8px; opacity: .65; }.brand-symbol i:nth-child(2) { height: 14px; background: #e3a663; }.brand-symbol i:nth-child(3) { height: 20px; background: #5ba6bd; }.demo-pill { color: #edbf82; border: 1px solid rgba(237,191,130,.45); border-radius: 5px; padding: 3px 5px; font-weight: 800; font-size: 8px; letter-spacing: .09em; }
.company-switcher { margin: 0 4px 21px; border: 1px solid rgba(174,204,214,.2); border-radius: 9px; padding: 10px; display: flex; align-items: center; gap: 9px; }.company-avatar { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 7px; color: #112638; background: #a8ced7; font-size: 9px; font-weight: 850; }.company-switcher b,.company-switcher small { display: block; }.company-switcher b { font-size: 11px; }.company-switcher small { color: #8da7b0; font-size: 9px; margin-top: 3px; }.company-switcher em { margin-left: auto; color: #88a3ad; font-style: normal; }
.nav-groups { overflow: auto; scrollbar-width: none; }.nav-groups::-webkit-scrollbar { display: none; }.nav-group { margin-bottom: 22px; }.nav-group-title { display: block; padding: 0 11px 8px; color: #6f8b96; text-transform: uppercase; letter-spacing: .12em; font-size: 8px; font-weight: 850; }.nav-item { width: 100%; border: 0; background: transparent; color: #afc2c8; border-radius: 7px; display: flex; align-items: center; gap: 10px; padding: 9px 10px; text-align: left; font-size: 11px; margin: 2px 0; transition: .18s ease; }.nav-item:hover { color: #fff; background: rgba(255,255,255,.07); }.nav-item.active { color: #fff; background: #1f455a; box-shadow: inset 3px 0 0 #e4a563; }.nav-glyph { width: 18px; color: #74a9b9; text-align: center; font-size: 15px; }.nav-item.active .nav-glyph { color: #e9b071; }.nav-badge { margin-left: auto; color: #e0b880; background: rgba(224,184,128,.12); border-radius: 9px; padding: 2px 6px; font-size: 9px; }.nav-badge.blue { color: #99d4e5; background: rgba(125,197,216,.13); }.nav-badge.amber { color: #f4c989; }.nav-status { width: 6px; height: 6px; border-radius: 50%; margin-left: auto; background: #48a489; box-shadow: 0 0 0 4px rgba(72,164,137,.12); }
.sidebar-bottom { margin-top: auto; }.help-card { border-top: 1px solid rgba(255,255,255,.13); border-bottom: 1px solid rgba(255,255,255,.13); padding: 15px 5px; display: flex; gap: 8px; align-items: center; }.help-icon { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 7px; background: rgba(161,207,219,.14); color: #aed8df; }.help-card b,.help-card small { display: block; }.help-card b { font-size: 10px; }.help-card small { font-size: 9px; color: #829da6; margin-top: 3px; }.help-card button,.profile button { margin-left: auto; border: 0; background: transparent; color: #87a2ab; }.profile { display: flex; align-items: center; gap: 9px; padding: 15px 5px 2px; }.profile-avatar,.top-avatar { display: grid; place-items: center; border-radius: 50%; background: #dda66b; color: #172936; font-size: 9px; font-weight: 850; }.profile-avatar { width: 29px; height: 29px; }.profile b,.profile small { display: block; }.profile b { font-size: 10px; }.profile small { color: #849ca4; font-size: 9px; margin-top: 3px; }

.main-area { flex: 1; min-width: 0; }.topbar { height: 62px; display: flex; align-items: center; justify-content: space-between; padding: 0 34px; background: #fff; border-bottom: 1px solid var(--line); }.breadcrumbs { display: flex; align-items: center; gap: 10px; color: #87969e; font-size: 10px; }.breadcrumbs span:first-child { color: var(--ink); letter-spacing: .08em; font-weight: 850; }.breadcrumbs b { color: #b6c2c7; font-weight: 400; }.top-actions { display: flex; align-items: center; gap: 15px; }.web-link { color: var(--blue); font-size: 10px; font-weight: 750; text-decoration: none; }.web-link:hover { text-decoration: underline; }.web-link span { color: #93a8b0; margin-left: 3px; }.live-state { color: var(--green); font-size: 9px; }.live-state i { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--green); margin-right: 5px; }.top-icon { width: 26px; height: 26px; border: 0; background: transparent; color: #77898f; border-radius: 50%; position: relative; }.top-icon:hover { background: #f0f4f5; }.notification i { position: absolute; top: 2px; right: 1px; width: 5px; height: 5px; border-radius: 50%; background: var(--red); }.top-avatar { width: 29px; height: 29px; }
.workspace { max-width: 1600px; padding: 28px 34px 60px; margin: auto; }.page-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; margin-bottom: 22px; }.page-kicker { text-transform: uppercase; color: var(--blue); letter-spacing: .13em; font-size: 9px; font-weight: 850; }.page-header h1 { font-size: clamp(25px, 3vw, 33px); letter-spacing: -.045em; line-height: 1.1; margin: 8px 0 7px; }.page-header p { color: var(--muted); font-size: 11px; margin: 0; }.header-actions { display: flex; align-items: center; gap: 8px; }.button { border: 0; border-radius: 6px; padding: 10px 13px; font-size: 10px; font-weight: 800; transition: .18s ease; }.button.primary { color: #fff; background: var(--blue); box-shadow: 0 5px 13px rgba(20,120,164,.2); }.button.primary:hover { background: #0f6388; transform: translateY(-1px); }.button.ghost { color: var(--ink); background: #fff; border: 1px solid var(--line); }.button.ghost:hover { color: var(--blue); border-color: #9cc5d4; }.button.dark { color: #fff; background: var(--navy); }
.period-switcher { display: inline-flex; padding: 3px; border: 1px solid var(--line); background: #fff; border-radius: 7px; }.period-switcher button { border: 0; background: transparent; color: var(--muted); border-radius: 5px; padding: 6px 8px; font-size: 9px; }.period-switcher button.active { color: var(--navy); background: #e8f2f5; font-weight: 800; }
.metric-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin-bottom: 12px; }.metric { position: relative; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: #fff; padding: 15px 15px 13px; }.metric:after { content: ""; position: absolute; right: -25px; bottom: -34px; width: 79px; height: 79px; border: 1px solid #e1ecef; border-radius: 50%; }.metric-label { font-size: 9px; color: var(--muted); }.metric-value { margin: 7px 0 7px; font-size: 25px; font-weight: 780; letter-spacing: -.055em; }.metric-foot { position: relative; z-index: 1; color: var(--muted); font-size: 9px; }.metric-foot b { color: var(--green); margin-right: 3px; }.metric-foot b.warn { color: var(--amber); }.metric-foot b.red { color: var(--red); }
.main-grid { display: grid; grid-template-columns: minmax(0, 1.56fr) minmax(275px, .7fr); gap: 12px; }.stack { display: grid; gap: 12px; align-content: start; }.panel { border: 1px solid var(--line); border-radius: 8px; background: #fff; padding: 17px; }.panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 16px; }.panel-heading h2 { font-size: 13px; letter-spacing: -.02em; margin: 0 0 4px; }.panel-heading p { color: var(--muted); font-size: 9px; margin: 0; }.panel-action { border: 0; background: transparent; color: var(--blue); font-size: 9px; padding: 0; white-space: nowrap; }.section-label { color: var(--muted); text-transform: uppercase; letter-spacing: .12em; font-size: 8px; font-weight: 850; }
.hero-panel { position: relative; overflow: hidden; background: linear-gradient(120deg, #122c42 0%, #1c4961 100%); color: #fff; border: 0; min-height: 188px; padding: 22px; }.hero-panel:after { content: ""; width: 250px; height: 250px; position: absolute; right: -80px; top: -90px; border: 1px solid rgba(164,214,223,.25); border-radius: 50%; box-shadow: 0 0 0 28px rgba(164,214,223,.035), 0 0 0 60px rgba(164,214,223,.025); }.hero-panel .section-label { color: #9cc7cf; }.hero-panel h2 { max-width: 420px; font-size: 20px; line-height: 1.15; letter-spacing: -.04em; margin: 12px 0 8px; }.hero-panel p { max-width: 445px; color: #b6d0d6; line-height: 1.55; font-size: 10px; margin: 0; }.hero-stats { display: flex; gap: 28px; margin-top: 20px; }.hero-stat strong,.hero-stat span { display: block; }.hero-stat strong { font-size: 16px; }.hero-stat span { color: #9ec2cb; font-size: 9px; margin-top: 3px; }
.flow { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; align-items: stretch; }.flow-step { position: relative; padding: 12px 10px; border: 1px solid var(--line); border-radius: 6px; background: #fcfdfd; }.flow-step:not(:last-child):after { content: "→"; position: absolute; right: -10px; top: 30px; z-index: 1; width: 14px; color: #8fa8b0; background: #fff; text-align: center; font-size: 11px; }.flow-num { color: var(--blue); font-size: 9px; font-weight: 850; }.flow-step strong { display: block; font-size: 10px; margin: 9px 0 5px; }.flow-step small { display: block; min-height: 25px; color: var(--muted); font-size: 8px; line-height: 1.35; }.flow-bar { height: 3px; border-radius: 3px; background: #e4eff2; margin-top: 12px; overflow: hidden; }.flow-bar i { display: block; height: 100%; border-radius: inherit; background: var(--blue); }.flow-step:nth-child(3) .flow-bar i { background: var(--amber); }.flow-step:nth-child(4) .flow-bar i { background: var(--green); }.flow-step:nth-child(5) .flow-bar i { background: var(--purple); }
.chart-wrap { height: 205px; display: flex; align-items: stretch; gap: 10px; }.y-axis { width: 23px; display: flex; flex-direction: column; justify-content: space-between; color: #9aa8ae; font-size: 8px; padding: 0 0 21px; text-align: right; }.chart-area { flex: 1; min-width: 0; display: flex; flex-direction: column; }.chart-grid { flex: 1; display: grid; grid-template-columns: repeat(12,1fr); align-items: end; gap: 7px; border-bottom: 1px solid var(--line); background: repeating-linear-gradient(to bottom, transparent 0, transparent 44px, #edf2f3 45px); padding: 10px 5px 0; }.bar-group { height: 100%; display: flex; align-items: flex-end; justify-content: center; gap: 2px; }.bar { width: 45%; min-height: 4px; border-radius: 3px 3px 0 0; }.bar.blue { background: #6faec5; }.bar.navy { background: #1c566d; }.bar.amber { background: #dfaf68; }.chart-labels { display: grid; grid-template-columns: repeat(6,1fr); color: #98a7ad; font-size: 8px; padding: 7px 0 0; }.chart-labels span:nth-child(n+4) { text-align: right; }
.side-list { display: grid; gap: 1px; }.side-row { display: grid; grid-template-columns: 7px minmax(0,1fr) auto; gap: 9px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--line-2); }.side-row:last-child { border-bottom: 0; }.state-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--green); }.state-dot.amber { background: var(--amber); }.state-dot.red { background: var(--red); }.side-row strong { display: block; font-size: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }.side-row small { display: block; color: var(--muted); font-size: 8px; margin-top: 3px; }.row-tag { border-radius: 4px; padding: 4px 6px; color: var(--muted); background: #f0f4f5; font-size: 8px; white-space: nowrap; }.row-tag.warn { color: #a56927; background: var(--amber-soft); }.row-tag.red { color: #ad5049; background: var(--red-soft); }
.insight { border-radius: 6px; background: #f4f8f9; padding: 11px; display: flex; gap: 9px; }.insight-mark { color: var(--blue); font-size: 13px; }.insight b,.insight small { display: block; }.insight b { font-size: 10px; }.insight small { color: var(--muted); line-height: 1.45; font-size: 9px; margin-top: 4px; }.mini-bars { display: flex; align-items: flex-end; height: 74px; gap: 9px; padding: 12px 5px 0; border-bottom: 1px solid var(--line); }.mini-bar { flex: 1; display: flex; align-items: flex-end; gap: 2px; height: 100%; }.mini-bar i { flex: 1; border-radius: 3px 3px 0 0; background: #91bdc7; }.mini-bar i:last-child { background: #24566a; }.mini-labels { display: grid; grid-template-columns: repeat(6,1fr); color: var(--muted); font-size: 8px; padding-top: 7px; }.mini-labels span:last-child { text-align: right; }
.view-toolbar { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 13px; }.search { flex: 1 1 210px; position: relative; }.search input { width: 100%; border: 1px solid var(--line); outline: 0; border-radius: 6px; padding: 10px 12px 10px 31px; font-size: 10px; }.search input:focus { border-color: #79b7c6; box-shadow: 0 0 0 3px #e5f2f4; }.search span { position: absolute; top: 7px; left: 11px; color: var(--muted); font-size: 15px; }.select { border: 1px solid var(--line); color: var(--muted); background: #fff; border-radius: 6px; padding: 9px 11px; font-size: 10px; }.table-wrap { overflow-x: auto; }.data-table { width: 100%; min-width: 730px; border-collapse: collapse; }.data-table th { text-align: left; color: #829198; border-bottom: 1px solid var(--line); padding: 11px 9px; text-transform: uppercase; letter-spacing: .09em; font-size: 8px; }.data-table td { color: var(--muted); padding: 12px 9px; border-bottom: 1px solid var(--line-2); font-size: 10px; }.data-table td:first-child { color: var(--ink); font-weight: 750; }.data-table tbody tr { cursor: pointer; }.data-table tbody tr:hover { background: #f7fafb; }.status { display: inline-flex; align-items: center; gap: 5px; border-radius: 4px; padding: 4px 6px; font-size: 8px; font-weight: 750; white-space: nowrap; }.status:before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }.status.blue { color: var(--blue); background: var(--blue-2); }.status.green { color: var(--green); background: var(--green-soft); }.status.amber { color: #a86d25; background: var(--amber-soft); }.status.red { color: #aa514b; background: var(--red-soft); }.status.purple { color: var(--purple); background: var(--purple-soft); }
.board { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }.board-column { padding: 12px; background: #f5f8f9; border-radius: 7px; min-height: 330px; }.board-heading { display: flex; justify-content: space-between; align-items: center; margin-bottom: 11px; }.board-heading h3 { margin: 0; font-size: 10px; }.board-heading span { color: var(--muted); font-size: 9px; }.board-card { border: 1px solid var(--line); background: #fff; border-radius: 6px; padding: 12px; margin-bottom: 8px; cursor: pointer; }.board-card:hover { border-color: #92c2cf; box-shadow: 0 5px 15px rgba(20,120,164,.07); }.board-card strong { display: block; font-size: 10px; }.board-card p { color: var(--muted); font-size: 9px; line-height: 1.4; margin: 7px 0 11px; }.board-foot { display: flex; align-items: center; justify-content: space-between; color: var(--muted); font-size: 8px; }.mini-avatar { width: 19px; height: 19px; display: grid; place-items: center; border-radius: 50%; color: #225368; background: #deedf1; font-size: 7px; font-weight: 850; }
.equipment-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }.equipment-card { border: 1px solid var(--line); border-radius: 7px; padding: 13px; }.equipment-top { display: flex; justify-content: space-between; align-items: flex-start; }.equipment-icon { width: 32px; height: 32px; display: grid; place-items: center; color: var(--blue); background: var(--blue-2); border-radius: 7px; font-size: 17px; }.equipment-card strong { display: block; font-size: 10px; margin-top: 12px; }.equipment-card p { color: var(--muted); min-height: 25px; font-size: 8px; line-height: 1.4; margin: 6px 0 12px; }.equipment-footer { display: flex; justify-content: space-between; border-top: 1px solid var(--line-2); padding-top: 9px; color: var(--muted); font-size: 8px; }.equipment-footer b { color: var(--blue); }
.doc-list { display: grid; }.doc-row { display: grid; grid-template-columns: 29px minmax(0,1fr) auto auto; align-items: center; gap: 11px; padding: 12px 0; border-bottom: 1px solid var(--line-2); }.file-mark { width: 27px; height: 31px; display: grid; place-items: center; border: 1px solid #b7d0d8; border-radius: 5px; color: var(--blue); font-size: 12px; }.doc-row strong { display: block; font-size: 10px; }.doc-row small { display: block; color: var(--muted); font-size: 8px; margin-top: 4px; }.doc-date { color: var(--muted); font-size: 8px; }.doc-type { border-radius: 4px; color: var(--muted); background: #f0f4f5; padding: 4px 6px; font-size: 8px; font-weight: 800; }
.summary-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; }.summary-box { background: #f5f8f9; border-radius: 6px; padding: 13px; }.summary-box span,.summary-box strong { display: block; }.summary-box span { color: var(--muted); font-size: 8px; }.summary-box strong { margin-top: 7px; font-size: 15px; letter-spacing: -.03em; }.summary-box small { display: block; color: var(--green); font-size: 8px; margin-top: 5px; }
.toast { position: fixed; z-index: 20; right: 24px; bottom: 24px; color: #fff; background: var(--navy); border-radius: 6px; padding: 12px 15px; font-size: 10px; opacity: 0; pointer-events: none; transform: translateY(10px); transition: .2s ease; box-shadow: var(--shadow); }.toast.show { opacity: 1; transform: translateY(0); }.modal-backdrop { position: fixed; z-index: 10; inset: 0; display: grid; place-items: center; padding: 20px; background: rgba(16,35,53,.42); }.modal-backdrop[hidden] { display: none; }.modal { position: relative; width: min(560px,100%); border-radius: 10px; padding: 25px; background: #fff; box-shadow: 0 30px 80px rgba(0,0,0,.2); }.modal-close { position: absolute; top: 13px; right: 14px; border: 0; background: transparent; color: var(--muted); font-size: 22px; }.modal-kicker { color: var(--blue); text-transform: uppercase; letter-spacing: .12em; font-size: 8px; font-weight: 850; }.modal h2 { margin: 8px 0 17px; font-size: 21px; letter-spacing: -.04em; }.modal-copy { color: var(--muted); font-size: 10px; line-height: 1.6; margin: 17px 0 0; }.modal-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 9px; }.modal-stat { border-radius: 6px; background: #f5f8f9; padding: 10px; }.modal-stat span { display: block; color: var(--muted); font-size: 8px; }.modal-stat strong { display: block; margin-top: 5px; font-size: 10px; }.modal-footer { display: flex; justify-content: flex-end; gap: 7px; margin-top: 20px; }
.empty-state { padding: 40px 20px; text-align: center; color: var(--muted); }.empty-state strong { display: block; color: var(--ink); font-size: 12px; margin-bottom: 5px; }.empty-state p { font-size: 10px; margin: 0; }
/* Brand refinement and mobile product surface */
.brand-symbol { align-items: center; gap: 1px; padding: 7px 6px; }
.brand-symbol i { width: 8px; height: 18px; border-radius: 90% 18% 90% 18%; transform: rotate(28deg); background: #6db455; }
.brand-symbol i:nth-child(1) { height: 11px; opacity: .65; transform: rotate(-30deg) translate(2px, 3px); }
.brand-symbol i:nth-child(2) { height: 17px; background: #9bcf68; }
.brand-symbol i:nth-child(3) { height: 22px; background: #4c9c52; transform: rotate(55deg) translate(-1px, 1px); }
.nav-new { margin-left: auto; color: #9dcc7e; background: rgba(116,181,81,.14); border-radius: 4px; padding: 2px 4px; font-size: 7px; font-weight: 800; letter-spacing: .05em; }
.mobile-layout { display: grid; grid-template-columns: minmax(300px, .82fr) minmax(0, 1.3fr); gap: 12px; align-items: stretch; }
.phone-stage { min-height: 640px; display: grid; place-items: center; overflow: hidden; border-radius: 8px; background: radial-gradient(circle at 50% 20%, #28516a, #102335 70%); position: relative; }
.phone-stage:before { content: "MOBILNÍ PRACOVIŠTĚ"; position: absolute; top: 23px; left: 24px; color: #8db2bf; font: 500 8px "Cascadia Mono", "Consolas", monospace; letter-spacing: .12em; }
.phone { width: 286px; padding: 9px; border: 1px solid #5a7d8b; border-radius: 30px; background: #0c1d2b; box-shadow: 0 28px 50px rgba(0,0,0,.35); transform: rotate(-2deg); }
.phone-screen { overflow: hidden; min-height: 590px; border-radius: 22px; background: #f5f8f8; }.phone-top { display: flex; align-items: center; justify-content: space-between; color: #fff; background: #183d53; padding: 16px 16px 15px; }.phone-brand { display: flex; gap: 7px; align-items: center; }.phone-brand .brand-symbol { width: 22px; height: 22px; border-radius: 6px; padding: 3px; }.phone-brand .brand-symbol i { width: 4px; height: 11px; }.phone-brand .brand-symbol i:nth-child(1) { height: 7px; }.phone-brand .brand-symbol i:nth-child(2) { height: 10px; }.phone-brand .brand-symbol i:nth-child(3) { height: 14px; }.phone-brand strong { font-size: 10px; letter-spacing: .12em; }.phone-top small { color: #a8c7cf; font-size: 8px; }.phone-user { width: 23px; height: 23px; display: grid; place-items: center; border-radius: 50%; color: #173142; background: #e0ad72; font-size: 7px; font-weight: 800; }
.phone-content { padding: 17px 15px 13px; }.phone-greeting { color: #708188; font-size: 8px; }.phone-content h3 { margin: 5px 0 14px; color: #15222b; font-size: 19px; letter-spacing: -.05em; }.phone-alert { display: flex; gap: 8px; border-radius: 8px; color: #765121; background: #fff1db; padding: 10px; font-size: 8px; line-height: 1.4; }.phone-alert b { display: block; color: #503c21; font-size: 9px; margin-bottom: 2px; }.phone-section-title { display: flex; align-items: center; justify-content: space-between; margin: 17px 0 8px; color: #73848b; font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }.phone-section-title span { color: var(--blue); text-transform: none; letter-spacing: 0; }.phone-task { display: flex; align-items: center; gap: 9px; border: 1px solid #e1e9eb; border-radius: 8px; background: #fff; padding: 10px; margin-bottom: 7px; }.task-icon { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 7px; color: var(--blue); background: var(--blue-2); font-size: 13px; }.phone-task b,.phone-task small { display: block; }.phone-task b { color: #21343e; font-size: 9px; }.phone-task small { color: #829097; font-size: 7px; margin-top: 3px; }.task-status { margin-left: auto; width: 6px; height: 6px; border-radius: 50%; background: var(--green); }.task-status.warn { background: var(--amber); }.phone-bottom { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #e3eaec; background: #fff; padding: 10px 8px 8px; }.phone-tab { color: #89989d; text-align: center; font-size: 7px; }.phone-tab b { display: block; color: var(--blue); font-size: 13px; line-height: 1; margin-bottom: 4px; }.phone-tab.active { color: var(--blue); }
.mobile-features { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; align-content: start; }.mobile-feature { border: 1px solid var(--line); border-radius: 8px; background: #fff; padding: 17px; }.mobile-feature.feature-wide { grid-column: 1 / -1; background: #eef6f7; border-color: #cfe3e7; }.mobile-feature-icon { width: 31px; height: 31px; display: grid; place-items: center; color: var(--green); background: var(--green-soft); border-radius: 8px; font-size: 16px; }.mobile-feature h3 { margin: 13px 0 5px; font-size: 11px; }.mobile-feature p { color: var(--muted); font-size: 9px; line-height: 1.5; margin: 0; }.mobile-feature ul { display: grid; gap: 8px; margin: 13px 0 0; padding: 0; list-style: none; }.mobile-feature li { display: flex; gap: 7px; color: var(--muted); font-size: 9px; }.mobile-feature li:before { content: "✓"; color: var(--green); font-weight: 800; }.mobile-cta { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 12px; border-radius: 8px; background: var(--navy); color: #fff; padding: 16px; }.mobile-cta h3 { font-size: 12px; margin: 0 0 5px; }.mobile-cta p { color: #a8bec5; font-size: 9px; line-height: 1.4; margin: 0; }
.hero-panel { background-image: linear-gradient(90deg, rgba(18,44,66,.98) 0%, rgba(28,73,97,.89) 52%, rgba(28,73,97,.54) 100%), url('assets/labtech-laborator.jpg'); background-size: cover; background-position: center; }
.media-rail { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(210px, .65fr) minmax(260px, .8fr); gap: 12px; margin-top: 12px; }.media-card,.role-card { min-height: 230px; overflow: hidden; position: relative; border: 1px solid var(--line); border-radius: 8px; background: #fff; }.media-card img { width: 100%; height: 100%; display: block; object-fit: cover; }.media-card-large { min-height: 255px; background: var(--navy); }.media-card-large img { opacity: .82; }.media-overlay { position: absolute; inset: auto 0 0; padding: 24px 19px 18px; color: #fff; background: linear-gradient(transparent, rgba(7,23,35,.92)); }.media-overlay span,.media-caption span { color: #a7d37f; font-size: 8px; font-weight: 850; letter-spacing: .13em; }.media-overlay h2 { max-width: 390px; font-size: 17px; letter-spacing: -.035em; line-height: 1.15; margin: 9px 0 5px; }.media-overlay p { color: #c2d4d9; font-size: 9px; margin: 0; }.media-caption { position: absolute; right: 12px; bottom: 12px; left: 12px; color: #fff; padding: 12px; border-radius: 6px; background: rgba(16,35,53,.84); backdrop-filter: blur(5px); }.media-caption strong,.media-caption small { display: block; }.media-caption strong { font-size: 10px; margin-top: 6px; }.media-caption small { color: #b7ccd1; font-size: 8px; margin-top: 3px; }.role-card { padding: 18px; }.role-card h2 { font-size: 15px; letter-spacing: -.03em; line-height: 1.2; margin: 10px 0 13px; }.role-row { display: flex; align-items: center; gap: 8px; border-top: 1px solid var(--line-2); padding: 9px 0; }.role-avatar { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 7px; color: #fff; font-size: 7px; font-weight: 850; }.role-avatar.green { background: var(--green); }.role-avatar.blue { background: var(--blue); }.role-avatar.amber { color: #553917; background: #e6b66e; }.role-avatar.purple { background: var(--purple); }.role-row strong,.role-row small { display: block; }.role-row strong { font-size: 9px; }.role-row small { color: var(--muted); font-size: 8px; margin-top: 3px; }.role-arrow { margin-left: auto; color: var(--blue); font-size: 13px; }
@media (max-width: 1250px) { .sidebar { width: 245px; flex-basis: 245px; }.workspace { padding-left: 25px; padding-right: 25px; }.topbar { padding: 0 25px; }.metric-grid { grid-template-columns: repeat(3,1fr); }.main-grid { grid-template-columns: 1fr; }.stack { grid-template-columns: repeat(2,1fr); }.hero-panel { grid-column: 1 / -1; } }
@media (max-width: 820px) { .sidebar { width: 100%; min-height: auto; padding: 12px 12px 8px; }.app-shell { display: block; }.brand-lockup { padding-bottom: 10px; }.company-switcher,.sidebar-bottom,.nav-group-title { display: none; }.nav-groups { overflow: visible; }.nav-group { display: flex; gap: 4px; margin: 0; overflow-x: auto; }.nav-group:not(:first-child) { display: none; }.nav-item { width: auto; flex: 0 0 auto; padding: 8px 10px; font-size: 9px; }.nav-item.active { box-shadow: inset 0 -3px 0 #e4a563; }.nav-badge,.nav-status { display: none; }.topbar { height: 55px; padding: 0 16px; }.web-link,.live-state,.top-icon:first-of-type { display: none; }.workspace { padding: 22px 14px 40px; }.metric-grid { grid-template-columns: repeat(2,1fr); gap: 7px; }.metric { padding: 12px; }.metric-value { font-size: 21px; }.page-header { display: block; }.header-actions { margin-top: 14px; justify-content: flex-start; }.main-grid { display: block; }.stack { display: grid; grid-template-columns: 1fr; margin-top: 12px; }.flow { grid-template-columns: 1fr; gap: 7px; }.flow-step:not(:last-child):after { right: auto; left: 50%; top: auto; bottom: -11px; transform: rotate(90deg); }.chart-grid { gap: 4px; }.board { grid-template-columns: 1fr; }.board-column { min-height: auto; }.equipment-grid { grid-template-columns: 1fr; }.doc-row { grid-template-columns: 29px minmax(0,1fr) auto; }.doc-date { display: none; }.doc-type { grid-column: 2; justify-self: start; }.summary-grid { grid-template-columns: 1fr; } }
@media (max-width: 820px) { .mobile-layout { grid-template-columns: 1fr; }.phone-stage { min-height: 660px; }.mobile-features { grid-template-columns: 1fr 1fr; }.mobile-feature.feature-wide { grid-column: 1 / -1; } }
@media (max-width: 1250px) { .media-rail { grid-template-columns: 1fr 1fr; }.media-card-large { grid-column: 1 / -1; } }
@media (max-width: 820px) { .media-rail { grid-template-columns: 1fr; }.media-card-large { grid-column: auto; }.media-card { min-height: 220px; } }
@media (max-width: 480px) { .mobile-features { grid-template-columns: 1fr; }.mobile-feature.feature-wide { grid-column: auto; }.phone { transform: none; } }
@media (max-width: 820px) { .integration-wall { grid-template-columns: 1fr; } }
.quality-table { border: 1px solid var(--line); border-radius: 7px; overflow: hidden; }.quality-row { display: grid; grid-template-columns: 1.25fr .8fr 1fr .7fr; gap: 10px; align-items: center; padding: 11px 12px; border-bottom: 1px solid var(--line-2); color: var(--muted); font-size: 9px; }.quality-row:last-child { border-bottom: 0; }.quality-row strong { color: var(--ink); font-size: 9px; }.quality-head { color: #87969d; background: #f6f9fa; text-transform: uppercase; letter-spacing: .08em; font-size: 8px; font-weight: 800; }.controlling-bars { display: grid; gap: 14px; }.controlling-bars > div { display: grid; grid-template-columns: 115px minmax(0,1fr) 44px; align-items: center; gap: 10px; color: var(--muted); font-size: 9px; }.controlling-bars i { height: 9px; border-radius: 5px; background: linear-gradient(90deg,#1c596e,#72b4c6); }.controlling-bars b { color: var(--ink); font-size: 9px; text-align: right; }.portal-preview { overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: #fff; box-shadow: var(--shadow); }.portal-top { display: flex; justify-content: space-between; align-items: center; gap: 14px; background: var(--navy); color: #fff; padding: 20px 22px; }.portal-top span:first-child,.portal-welcome > div > span { color: #9dcc7e; font-size: 8px; font-weight: 850; letter-spacing: .12em; }.portal-top strong { display: block; font-size: 16px; margin-top: 5px; }.portal-account { color: #bdd0d5; border: 1px solid rgba(255,255,255,.18); border-radius: 6px; padding: 8px 10px; font-size: 9px; }.portal-body { padding: 20px; }.portal-welcome { display: flex; justify-content: space-between; align-items: flex-end; gap: 15px; }.portal-welcome h2 { font-size: 21px; letter-spacing: -.04em; margin: 8px 0 4px; }.portal-welcome p { color: var(--muted); font-size: 10px; margin: 0; }.portal-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; margin: 22px 0; }.portal-cards > div { border-radius: 7px; background: #f3f7f8; padding: 13px; }.portal-cards span,.portal-cards strong,.portal-cards small { display: block; }.portal-cards span { color: var(--muted); font-size: 9px; }.portal-cards strong { font-size: 22px; margin: 7px 0 3px; }.portal-cards small { color: var(--green); font-size: 8px; }.portal-table { border: 1px solid var(--line); border-radius: 7px; overflow: hidden; }.portal-table > div { display: grid; grid-template-columns: minmax(0,1.6fr) .7fr .5fr; gap: 12px; align-items: center; padding: 12px 13px; border-bottom: 1px solid var(--line-2); color: var(--muted); font-size: 9px; }.portal-table > div:last-child { border-bottom: 0; }.portal-table-head { color: #87969d !important; background: #f6f9fa; text-transform: uppercase; letter-spacing: .08em; font-size: 8px !important; font-weight: 800; }.portal-table strong { color: var(--ink); font-size: 9px; }.portal-table small { font-size: 8px; }
@media (max-width: 820px) { .quality-row { grid-template-columns: 1fr 1fr; gap: 7px; }.quality-head { display: none; }.quality-row > span:last-child { text-align: right; }.portal-top,.portal-welcome { display: block; }.portal-account { display: inline-block; margin-top: 13px; }.portal-welcome .button { margin-top: 15px; }.portal-cards { grid-template-columns: 1fr; }.portal-table > div { grid-template-columns: 1fr; gap: 6px; } }
.integration-panel { margin-top: 12px; }.integration-wall { display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; }.integration-tile { display: flex; align-items: center; gap: 9px; min-height: 68px; border: 1px solid var(--line); border-radius: 7px; padding: 11px; background: #fcfdfd; }.integration-tile:hover { border-color: #9fc5d1; background: #f5fbfc; }.integration-logo { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 7px; color: #fff; background: #2b6f9f; font-size: 12px; font-weight: 850; }.integration-tile.microsoft .integration-logo { background: #4d8cc1; }.integration-tile.project .integration-logo { color: #366b8e; background: #dceefa; }.integration-tile.accounting .integration-logo { color: #8a5a24; background: #f7e3bf; }.integration-tile.cad .integration-logo { color: #66559a; background: #ebe7f7; }.integration-tile.elims .integration-logo { background: var(--green); }.integration-tile.portal .integration-logo { background: var(--navy); }.integration-tile strong,.integration-tile small { display: block; }.integration-tile strong { font-size: 9px; }.integration-tile small { color: var(--muted); font-size: 8px; margin-top: 4px; }.connected { margin-left: auto; color: var(--green); font-size: 10px; }.connected.amber { color: var(--amber); }.connected.blue { color: var(--blue); }.integration-note { display: flex; gap: 9px; margin-top: 12px; padding: 12px; border-radius: 6px; background: #eef6f7; }.integration-note > span { color: var(--green); font-size: 14px; }.integration-note strong,.integration-note small { display: block; }.integration-note strong { font-size: 9px; }.integration-note small { color: var(--muted); font-size: 8px; line-height: 1.45; margin-top: 4px; }
@media (max-width: 820px) { .integration-wall { grid-template-columns: 1fr; } }
