:root{
  --bg:#F5F7FB;
  --surface:#FFFFFF;
  --surface2:#F9FBFE;
  --primary:#105B91;
  --primary2:#0B4774;
  --accent:#1BA7EC;
  --dark:#0E2439;
  --text:#172B3A;
  --muted:#718295;
  --muted2:#A8B3C2;
  --line:#E4EAF2;
  --success:#2EB67D;
  --warning:#F5A623;
  --danger:#D94B4B;
  --purple:#7561E8;
  --teal:#10A7A7;
  --shadow: 0 18px 45px rgba(14,36,57,.10);
  --shadow-soft: 0 10px 26px rgba(14,36,57,.08);
  --radius:22px;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:linear-gradient(135deg,#eef4fb 0%,#f8fbff 42%,#f4f7fb 100%);color:var(--text)}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.app-shell{min-height:100vh;display:grid;grid-template-columns:292px 1fr;gap:0}
.sidebar{position:sticky;top:0;height:100vh;padding:24px 18px;background:linear-gradient(180deg,#0E2439 0%,#0B4774 100%);color:white;display:flex;flex-direction:column;gap:22px;z-index:10}
.brand{display:flex;gap:14px;align-items:center;padding:12px;border-radius:22px;outline:none}
.brand:focus-visible{box-shadow:0 0 0 3px rgba(255,255,255,.35)}
.brand-mark{width:52px;height:52px;border-radius:18px;background:#fff;color:var(--primary);display:grid;place-items:center;font-weight:900;letter-spacing:-.05em;box-shadow:0 12px 28px rgba(0,0,0,.18)}
.brand-title{font-size:20px;font-weight:900;line-height:1.1}
.brand-subtitle{font-size:12px;opacity:.72;margin-top:4px}
.side-nav{display:flex;flex-direction:column;gap:7px;overflow:auto;padding-right:2px}
.nav-btn{width:100%;border:0;background:transparent;color:rgba(255,255,255,.80);padding:12px 13px;border-radius:16px;display:flex;align-items:center;gap:12px;font-weight:800;text-align:left;transition:.18s ease}
.nav-btn:hover{background:rgba(255,255,255,.09);color:white;transform:translateX(2px)}
.nav-btn.active{background:white;color:var(--primary);box-shadow:0 12px 26px rgba(0,0,0,.14)}
.nav-ico{width:28px;height:28px;border-radius:11px;display:grid;place-items:center;background:rgba(255,255,255,.12);font-size:15px}
.nav-btn.active .nav-ico{background:#EAF6FD;color:var(--primary)}
.sidebar-card{margin-top:auto;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);border-radius:22px;padding:16px;box-shadow:0 12px 28px rgba(0,0,0,.12)}
.sidebar-card__title{font-size:13px;font-weight:900;margin-bottom:10px}.sync-row{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.78);font-size:12px;margin-bottom:14px}.sync-dot{width:10px;height:10px;border-radius:50%;background:var(--success);box-shadow:0 0 0 5px rgba(46,182,125,.16)}
.main{min-width:0;padding:22px 30px 38px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}.topbar h1{font-size:28px;line-height:1.08;margin:0;font-weight:950;color:var(--dark);letter-spacing:-.04em}.topbar p{margin:6px 0 0;color:var(--muted);font-size:14px}.top-actions{display:flex;gap:10px;align-items:center}.icon-btn{position:relative;border:1px solid var(--line);background:var(--surface);height:46px;min-width:46px;border-radius:16px;display:inline-grid;place-items:center;box-shadow:var(--shadow-soft);color:var(--primary);font-weight:900}.icon-btn:hover,.profile-chip:hover,.btn:hover{transform:translateY(-1px)}.dot-badge{position:absolute;right:7px;top:6px;width:17px;height:17px;border-radius:50%;background:var(--danger);color:#fff;font-size:10px;display:grid;place-items:center}.profile-chip{border:1px solid var(--line);background:var(--surface);height:46px;border-radius:18px;padding:5px 13px 5px 5px;display:flex;align-items:center;gap:10px;color:var(--text);font-weight:900;box-shadow:var(--shadow-soft)}.avatar{width:36px;height:36px;border-radius:14px;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;display:grid;place-items:center;font-size:12px;font-weight:950}.content{min-height:calc(100vh - 130px)}
.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-main{grid-template-columns:1.2fr .8fr}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:18px}.card.compact{padding:14px}.card-title{font-size:17px;font-weight:950;margin:0 0 12px;color:var(--dark);letter-spacing:-.02em}.card-subtitle{font-size:13px;color:var(--muted);margin:-8px 0 14px}.hero{position:relative;overflow:hidden;border-radius:28px;background:linear-gradient(135deg,var(--primary),var(--accent));color:white;padding:24px;box-shadow:var(--shadow)}.hero:after{content:"";position:absolute;right:-70px;top:-80px;width:240px;height:240px;border-radius:50%;background:rgba(255,255,255,.15)}.hero h2{margin:0 0 8px;font-size:26px;line-height:1.08;letter-spacing:-.04em}.hero p{margin:0;color:rgba(255,255,255,.8);max-width:650px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.btn{border:0;border-radius:16px;min-height:42px;padding:0 16px;font-weight:900;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.18s ease;white-space:nowrap}.btn-primary{background:var(--primary);color:white;box-shadow:0 10px 24px rgba(16,91,145,.24)}.btn-primary:hover{background:var(--primary2)}.btn-accent{background:var(--accent);color:white}.btn-light{background:white;color:var(--primary)}.btn-ghost{background:#EEF6FC;color:var(--primary)}.btn-outline{background:transparent;border:1px solid var(--line);color:var(--text)}.btn-danger{background:#FDECEC;color:var(--danger)}.btn-full{width:100%}.btn-small{height:34px;min-height:34px;padding:0 12px;border-radius:13px;font-size:12px}.metric{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.metric-value{font-size:28px;font-weight:950;letter-spacing:-.06em;color:var(--dark)}.metric-label{color:var(--muted);font-size:12px;margin-top:5px}.metric-icon{width:42px;height:42px;border-radius:16px;background:#EEF6FC;color:var(--primary);display:grid;place-items:center;font-size:20px}.quick-card{display:flex;align-items:center;gap:13px;border:1px solid var(--line);background:var(--surface);border-radius:20px;padding:15px;box-shadow:var(--shadow-soft);min-height:86px;transition:.18s ease;text-align:left;color:var(--text)}.quick-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.quick-icon{width:48px;height:48px;border-radius:18px;background:linear-gradient(135deg,#EAF6FD,#FFFFFF);display:grid;place-items:center;color:var(--primary);font-size:22px}.quick-title{font-weight:950;color:var(--dark)}.quick-sub{font-size:12px;color:var(--muted);margin-top:4px}.row{display:flex;gap:12px;align-items:center}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px}.stack{display:flex;flex-direction:column;gap:12px}.muted{color:var(--muted)}.small{font-size:12px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.tabs{display:flex;gap:8px;flex-wrap:wrap}.tab{border:1px solid var(--line);background:white;border-radius:999px;padding:9px 13px;font-weight:900;color:var(--muted);box-shadow:0 5px 12px rgba(14,36,57,.05)}.tab.active{background:var(--primary);border-color:var(--primary);color:white}.status{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;font-weight:900;font-size:11px}.status:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.status.success{background:#E8F8F1;color:var(--success)}.status.warning{background:#FFF5E4;color:var(--warning)}.status.danger{background:#FDECEC;color:var(--danger)}.status.info{background:#EAF6FD;color:var(--primary)}.status.neutral{background:#F1F4F8;color:var(--muted)}.station-card{border:1px solid var(--line);background:white;border-radius:22px;padding:16px;box-shadow:var(--shadow-soft);transition:.18s ease;display:flex;flex-direction:column;gap:12px;text-align:left;color:inherit}.station-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.station-code{width:54px;height:54px;border-radius:20px;background:linear-gradient(135deg,var(--primary),var(--accent));color:white;display:grid;place-items:center;font-weight:950}.station-meta{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.unread{min-width:24px;height:24px;border-radius:999px;background:var(--danger);color:white;display:grid;place-items:center;font-size:12px;font-weight:950}.list{display:flex;flex-direction:column;gap:10px}.list-item{border:1px solid var(--line);border-radius:18px;background:var(--surface2);padding:13px;display:flex;align-items:center;justify-content:space-between;gap:12px}.vehicle-no{font-weight:950;color:var(--dark)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:flex;flex-direction:column;gap:7px}.field label{font-size:12px;font-weight:950;color:var(--dark)}.field input,.field select,.field textarea,.search{width:100%;border:1px solid var(--line);background:white;border-radius:16px;min-height:44px;padding:0 14px;color:var(--text);outline:none}.field textarea{padding:12px 14px;min-height:92px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.search:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(27,167,236,.12)}.full{grid-column:1/-1}.search-wrap{display:flex;gap:10px;align-items:center;margin-bottom:14px}.chat-layout{display:grid;grid-template-columns:310px 1fr;gap:16px}.chat-panel{min-height:620px;display:flex;flex-direction:column}.chat-header{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:12px}.messages{flex:1;overflow:auto;display:flex;flex-direction:column;gap:10px;padding:4px 4px 12px}.bubble{max-width:78%;padding:12px 14px;border-radius:18px;box-shadow:0 6px 14px rgba(14,36,57,.05);font-size:14px}.bubble.me{margin-left:auto;background:var(--primary);color:white;border-bottom-right-radius:6px}.bubble.staff{background:#F0F5FA;border-bottom-left-radius:6px}.bubble.system{align-self:center;background:#FFF5E4;color:#8A5A00;font-size:12px;max-width:92%;text-align:center}.message-time{font-size:10px;opacity:.66;margin-top:5px}.chat-input{display:grid;grid-template-columns:1fr auto auto;gap:8px;border-top:1px solid var(--line);padding-top:12px}.table{width:100%;border-collapse:separate;border-spacing:0 10px}.table th{font-size:12px;text-align:left;color:var(--muted);font-weight:950;padding:0 12px}.table td{background:var(--surface2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:13px 12px}.table td:first-child{border-left:1px solid var(--line);border-top-left-radius:16px;border-bottom-left-radius:16px}.table td:last-child{border-right:1px solid var(--line);border-top-right-radius:16px;border-bottom-right-radius:16px}.promo{overflow:hidden;padding:0}.promo-banner{height:124px;background:linear-gradient(135deg,var(--primary),var(--teal));color:white;padding:18px;display:flex;align-items:flex-end;font-weight:950;font-size:22px;letter-spacing:-.03em}.promo-body{padding:16px}.chart-bars{height:220px;display:flex;align-items:flex-end;gap:13px;padding-top:16px;border-bottom:1px solid var(--line)}.bar{flex:1;background:linear-gradient(180deg,var(--accent),var(--primary));border-radius:14px 14px 0 0;min-height:34px;position:relative}.bar span{position:absolute;bottom:-26px;left:50%;transform:translateX(-50%);font-size:11px;color:var(--muted);font-weight:900}.timeline{position:relative;display:flex;flex-direction:column;gap:12px}.timeline-item{display:grid;grid-template-columns:28px 1fr;gap:10px}.timeline-dot{width:14px;height:14px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 6px rgba(27,167,236,.12);margin:6px auto}.timeline-card{padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--surface2)}.modal{position:fixed;z-index:30;left:50%;top:50%;transform:translate(-50%,-50%);width:min(760px,calc(100vw - 28px));max-height:calc(100vh - 40px);overflow:auto;background:white;border:1px solid var(--line);border-radius:28px;padding:20px;box-shadow:0 30px 90px rgba(14,36,57,.28)}.overlay{position:fixed;inset:0;background:rgba(9,28,45,.42);backdrop-filter:blur(4px);z-index:25}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.modal-head h2{margin:0;font-size:22px;letter-spacing:-.04em}.close-btn{border:0;background:#F1F4F8;border-radius:14px;width:38px;height:38px;font-weight:950}.toast-stack{position:fixed;right:22px;bottom:22px;z-index:40;display:flex;flex-direction:column;gap:10px}.toast{background:#0E2439;color:white;padding:13px 15px;border-radius:16px;box-shadow:0 16px 40px rgba(14,36,57,.25);font-weight:800;max-width:360px}.toast.success{background:var(--success)}.toast.warning{background:var(--warning);color:#3b2b00}.mobile-only{display:none!important}.empty{padding:26px;border:1px dashed var(--line);border-radius:22px;text-align:center;color:var(--muted);background:var(--surface2)}
@media (max-width: 1120px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-main{grid-template-columns:1fr}.chat-layout{grid-template-columns:1fr}.chat-panel{min-height:560px}.sidebar{width:292px;position:fixed;transform:translateX(-105%);transition:.22s ease}.app-shell.menu-open .sidebar{transform:translateX(0)}.app-shell{display:block}.main{padding:18px 18px 92px}.mobile-only{display:inline-grid!important}.desktop-only{display:none!important}}
@media (max-width: 760px){.topbar h1{font-size:23px}.topbar{align-items:flex-start}.grid-2,.grid-3,.grid-4,.form-grid{grid-template-columns:1fr}.hero{padding:20px;border-radius:24px}.hero h2{font-size:22px}.quick-card{min-height:auto}.chat-input{grid-template-columns:1fr auto}.chat-input [data-action="attach-file"]{display:none}.table-wrap{overflow:auto}.table{min-width:740px}.bottom-nav{position:fixed;left:10px;right:10px;bottom:10px;height:70px;background:white;border:1px solid var(--line);border-radius:24px;box-shadow:0 18px 50px rgba(14,36,57,.18);display:grid!important;grid-template-columns:repeat(5,1fr);z-index:20;padding:7px}.bottom-btn{border:0;background:transparent;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted);font-size:10px;font-weight:900}.bottom-btn.active{background:#EAF6FD;color:var(--primary)}.bottom-btn span:first-child{font-size:18px}.toast-stack{left:14px;right:14px;bottom:92px}.toast{max-width:none}.modal{border-radius:22px;padding:16px}.list-item{align-items:flex-start;flex-direction:column}.row-between{align-items:flex-start;flex-direction:column}.search-wrap{flex-direction:column;align-items:stretch}}
@media print{.sidebar,.topbar,.bottom-nav,.toast-stack,.btn,.icon-btn{display:none!important}.main{padding:0}.card,.hero{box-shadow:none}}

/* === Brandbook ЕвроАзия overrides for ITUS web prototype === */
:root{
  --bg:#F5F7FB;
  --surface:#FFFFFF;
  --surface2:#F8FAFD;
  --primary:#0C4F96;      /* RGB 12,79,150 / Pantone 2945C */
  --primary2:#073E78;
  --accent:#E31E24;       /* RGB 227,30,36 / Pantone 485C */
  --accent2:#C9181E;
  --dark:#0A315E;
  --text:#17324D;
  --muted:#67798C;
  --muted2:#A8B3C2;
  --line:#DFE7F0;
  --success:#2EB67D;
  --warning:#F5A623;
  --danger:#E31E24;
  --purple:#596EB8;
  --teal:#0C8196;
  --shadow:0 18px 45px rgba(12,79,150,.14);
  --shadow-soft:0 10px 26px rgba(12,79,150,.08);
  --radius:22px;
  font-family:GothamPro, Gotham Pro, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
body{
  background:
    radial-gradient(900px 580px at 92% 8%, rgba(12,79,150,.09), transparent 58%),
    linear-gradient(90deg, rgba(227,30,36,.95) 0 7px, transparent 7px),
    linear-gradient(135deg,#F7FAFE 0%,#FFFFFF 44%,#F1F5F9 100%);
}
body:before{
  content:"";
  position:fixed;right:-60px;bottom:-160px;width:520px;height:520px;z-index:-1;opacity:.045;
  background:url("assets/euroazia_mark.png") center/contain no-repeat;
  pointer-events:none;
}
.sidebar{
  background:
    linear-gradient(180deg, rgba(227,30,36,.95) 0 6px, transparent 6px),
    linear-gradient(180deg,#0C4F96 0%,#073E78 100%);
  border-right:1px solid rgba(255,255,255,.08);
}
.sidebar:after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:210px;opacity:.08;
  background:url("assets/euroazia_mark.png") right 18px bottom 20px/170px auto no-repeat;
  pointer-events:none;
}
.brand{position:relative;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}
.brand-logo-wrap{
  width:56px;height:56px;border-radius:18px;background:#fff;display:grid;place-items:center;box-shadow:0 12px 28px rgba(0,0,0,.16);padding:6px;
}
.brand-logo{display:block;width:100%;height:100%;object-fit:contain}
.brand-title{
  font-size:26px;font-weight:950;letter-spacing:.04em;text-transform:uppercase;line-height:1;color:#fff;
}
.brand-subtitle{color:rgba(255,255,255,.72)}
.brand-mark{display:none}
.nav-btn.active{color:var(--primary);box-shadow:0 12px 26px rgba(0,0,0,.16)}
.nav-btn.active .nav-ico{background:rgba(227,30,36,.08);color:var(--accent)}
.nav-ico{background:rgba(255,255,255,.14)}
.topbar h1{color:var(--primary)}
.topbar h1:after{
  content:"";display:block;width:54px;height:3px;background:var(--accent);border-radius:999px;margin-top:9px;
}
.icon-btn,.profile-chip,.card,.quick-card,.station-card{border-color:#E1E9F2}
.icon-btn{color:var(--primary)}
.avatar{background:#fff;border:1px solid #E1E9F2;overflow:hidden;color:transparent;padding:4px}
.avatar img{width:100%;height:100%;object-fit:contain;display:block}
.hero{
  background:
    linear-gradient(90deg, rgba(227,30,36,.95) 0 7px, transparent 7px),
    linear-gradient(135deg,#0C4F96 0%,#0B5AAA 58%,#073E78 100%);
}
.hero:after{
  right:22px;top:20px;width:210px;height:210px;border-radius:0;background:url("assets/euroazia_mark.png") center/contain no-repeat;opacity:.13;
}
.hero h2,.hero p,.hero-actions{position:relative;z-index:1}
.btn-primary{
  background:var(--primary);color:#fff;box-shadow:0 10px 24px rgba(12,79,150,.25);
}
.btn-primary:hover{background:var(--primary2)}
.btn-accent{background:var(--accent);color:#fff;box-shadow:0 10px 24px rgba(227,30,36,.18)}
.btn-light{background:white;color:var(--primary)}
.btn-ghost{background:#EEF4FB;color:var(--primary)}
.btn-outline:hover{border-color:var(--primary);color:var(--primary)}
.quick-icon,.metric-icon{background:linear-gradient(135deg,rgba(12,79,150,.10),#fff);color:var(--primary);position:relative;overflow:hidden}
.quick-icon:after,.metric-icon:after{
  content:"";position:absolute;right:-8px;bottom:-10px;width:28px;height:28px;background:url("assets/euroazia_mark.png") center/contain no-repeat;opacity:.09;
}
.station-code{background:linear-gradient(135deg,var(--primary),var(--primary2));box-shadow:inset 5px 0 0 rgba(227,30,36,.95)}
.station-card.active,.station-card:hover{border-color:rgba(12,79,150,.30)}
.tab.active{background:var(--primary);border-color:var(--primary);box-shadow:inset 4px 0 0 var(--accent)}
.status.info{background:#EEF4FB;color:var(--primary)}
.status.danger{background:#FDECEC;color:var(--accent)}
.field input:focus,.field select:focus,.field textarea:focus,.search:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(12,79,150,.12)}
.bubble.me{background:var(--primary)}
.bubble.client{border-left:4px solid var(--accent)}
.timeline-dot{background:var(--accent)}
.chart-bar span{background:linear-gradient(90deg,var(--primary),var(--accent))}
.modal-box:before,.card.brand-striped:before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--accent);border-radius:22px 0 0 22px;
}
.modal-box{position:relative;overflow:hidden}
.sidebar-card{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.18)}
.sync-dot{background:var(--success);box-shadow:0 0 0 5px rgba(46,182,125,.16)}
.bottom-btn.active{color:var(--primary)}
.bottom-btn.active span:first-child{background:rgba(12,79,150,.10);box-shadow:inset 3px 0 0 var(--accent)}
@media (max-width: 860px){
  .sidebar{background:linear-gradient(180deg,#0C4F96 0%,#073E78 100%)}
}
