/* ===== Mazout Main: all stations, for LIS. Navy and gold, on the same warm paper as the station pages. ===== */
.m-shell { min-height:100vh; display:flex; flex-direction:column; background:var(--bg); }
.m-top { display:flex; align-items:center; gap:1.2rem; padding:.7rem 1.4rem; background:#18233A; color:#fff; border-bottom:3px solid #C9A24A; flex-wrap:wrap; }
.m-mark { display:flex; align-items:center; gap:.7rem; font-weight:700; font-size:1.08rem; color:#fff; letter-spacing:-.01em; }
.m-mark i { width:34px; height:34px; border-radius:10px; background:linear-gradient(135deg,#C9A24A,#E8CB86); display:grid; place-items:center; color:#0F1729; font-style:normal; font-weight:800; }
.m-mark small { display:block; font-weight:600; opacity:.6; font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; }
.m-nav { display:flex; gap:.2rem; flex-wrap:wrap; } .m-nav a { color:#fff; opacity:.72; padding:.4rem .8rem; border-radius:8px; font-weight:600; } .m-nav a.active, .m-nav a:hover { opacity:1; background:rgba(255,255,255,.12); }
.m-me { margin-left:auto; display:flex; align-items:center; gap:.6rem; } .m-me b { width:32px; height:32px; border-radius:50%; background:rgba(255,255,255,.15); display:grid; place-items:center; }
.m-me span { opacity:.9; line-height:1.15; } .m-me small { display:block; opacity:.6; font-size:.72rem; }
.m-wrap { padding:1.4rem 1.4rem 3rem; flex:1; max-width:1280px; width:100%; margin:0 auto; }
@media (max-width:700px) { .m-wrap { padding:1rem .8rem 2rem; } .m-top { padding:.6rem .8rem; gap:.6rem; } }
.m-head { display:flex; align-items:flex-end; gap:1rem; margin-bottom:1.1rem; flex-wrap:wrap; }
.m-head h1 { margin:0; font-size:1.6rem; letter-spacing:-.02em; } .m-head p { margin:.2rem 0 0; color:var(--dim); }
.m-btn { display:inline-flex; align-items:center; gap:.45rem; border:1px solid var(--line); background:var(--card); color:var(--ink); padding:.55rem .95rem; border-radius:10px; font-weight:600; font-size:.95rem; cursor:pointer; white-space:nowrap; line-height:1.2; }
.m-btn:hover { background:var(--card2); } .m-btn:disabled { opacity:.5; cursor:default; }
.m-btn.pri { background:#18233A; border-color:#18233A; color:#fff; } .m-btn.pri:hover { background:#0F1729; }
.m-btn.gold { background:#C9A24A; border-color:#C9A24A; color:#0F1729; } .m-btn.gold:hover { background:#B88F35; }
.m-btn.sm { padding:.3rem .65rem; font-size:.85rem; border-radius:8px; } .m-btn.danger { color:var(--danger); }
.m-ml { margin-left:auto; }
.m-tiles { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin-bottom:1.1rem; }
@media (max-width:900px) { .m-tiles { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.m-tile { background:var(--card); border:1px solid var(--line); border-radius:16px; padding:1rem 1.1rem; position:relative; overflow:hidden; }
.m-tile:before { content:""; position:absolute; left:0; top:0; bottom:0; width:5px; background:var(--faint); }
.m-tile.t-g:before { background:var(--green); } .m-tile.t-b:before { background:var(--blue); } .m-tile.t-a:before { background:var(--amber); } .m-tile.t-r:before { background:var(--danger); }
.m-tile span { color:var(--dim); font-size:.85rem; font-weight:600; } .m-tile b { display:block; font-size:1.9rem; letter-spacing:-.03em; margin:.1rem 0; font-variant-numeric:tabular-nums; } .m-tile em { font-style:normal; color:var(--faint); font-size:.82rem; }
.m-bar { display:flex; gap:.5rem; align-items:center; margin-bottom:.8rem; flex-wrap:wrap; }
.m-search { flex:0 1 340px; padding:.55rem .85rem; border:1px solid var(--line); border-radius:10px; background:var(--card); font-size:.95rem; color:var(--ink); }
.m-chip { padding:.38rem .85rem; border-radius:20px; background:var(--card); border:1px solid var(--line); font-weight:600; font-size:.85rem; color:var(--dim); cursor:pointer; }
.m-chip.on { background:#18233A; color:#fff; border-color:#18233A; } .m-chip .n { opacity:.6; margin-left:.3rem; }
.m-table { background:var(--card); border:1px solid var(--line); border-radius:16px; overflow-x:auto; }
.m-table table { width:100%; border-collapse:collapse; min-width:820px; }
.m-table.narrow table { min-width:560px; }
.m-table th { background:var(--card2); color:var(--dim); font-size:.72rem; letter-spacing:.07em; text-transform:uppercase; text-align:left; padding:.6rem 1rem; font-weight:700; }
.m-table td { padding:.75rem 1rem; border-top:1px solid var(--line); vertical-align:middle; }
.m-table tr.link { cursor:pointer; } .m-table tr.link:hover td { background:#F6F1E3; }
.m-st { display:flex; align-items:center; gap:.8rem; } .m-st b { display:block; font-size:1rem; } .m-st small { color:var(--faint); }
.m-logo { width:40px; height:40px; border-radius:11px; display:grid; place-items:center; color:#fff; font-weight:800; font-size:.95rem; flex:0 0 40px; overflow:hidden; }
.m-logo img { width:100%; height:100%; object-fit:contain; background:#fff; }
.m-pill { display:inline-flex; align-items:center; gap:.4rem; padding:.2rem .65rem; border-radius:20px; font-size:.8rem; font-weight:700; white-space:nowrap; background:var(--bg2); color:var(--dim); }
.m-pill:before { content:""; width:8px; height:8px; border-radius:50%; background:currentColor; }
.m-pill.online { background:#E6F4EC; color:var(--green); } .m-pill.offline { background:#FBEAE8; color:var(--danger); } .m-pill.new { background:#E4EDF8; color:var(--blue); } .m-pill.paused { background:#F6EBD6; color:var(--amber); }
.m-num { font-variant-numeric:tabular-nums; font-weight:600; } .m-sub { display:block; color:var(--faint); font-size:.8rem; font-weight:400; }
.m-warn { color:var(--danger); font-weight:700; } .m-ok { color:var(--green); font-weight:600; } .m-dim { color:var(--faint); }
.m-foot { color:var(--faint); font-size:.82rem; margin-top:.8rem; }
.m-card { background:var(--card); border:1px solid var(--line); border-radius:18px; padding:1.2rem 1.3rem; }
.m-card h2 { margin:0 0 .2rem; font-size:1.08rem; } .m-card .hint { color:var(--dim); margin:0 0 .9rem; font-size:.9rem; }
.m-card.soft { background:var(--card2); }
.m-grid2 { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:1.2rem; align-items:start; }
.m-grid3 { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:1.2rem; align-items:start; }
@media (max-width:900px) { .m-grid2, .m-grid3 { grid-template-columns:1fr; } }
.m-steps { display:flex; gap:.5rem; margin-bottom:1.1rem; flex-wrap:wrap; } .m-steps span { padding:.35rem .9rem; border-radius:20px; background:var(--bg2); color:var(--dim); font-weight:600; font-size:.85rem; }
.m-steps span.done { background:var(--green); color:#fff; } .m-steps span.cur { background:#18233A; color:#fff; }
.m-lbl { display:block; font-size:.8rem; font-weight:700; color:var(--dim); margin:.85rem 0 .3rem; letter-spacing:.02em; }
.m-inp { border:1px solid var(--line); border-radius:10px; padding:.6rem .8rem; background:#fff; font-size:.95rem; width:100%; color:var(--ink); }
.m-inp:focus { outline:none; border-color:#18233A; box-shadow:0 0 0 3px #E3E7F0; }
.m-addr { display:flex; align-items:stretch; } .m-addr .m-inp { border-radius:10px 0 0 10px; flex:1; min-width:0; } .m-addr span { border:1px solid var(--line); border-left:0; border-radius:0 10px 10px 0; padding:.6rem .8rem; background:var(--card2); color:var(--dim); white-space:nowrap; }
.m-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; } @media (max-width:600px) { .m-row { grid-template-columns:1fr; } }
.m-sw { display:flex; gap:.5rem; flex-wrap:wrap; } .m-sw button { width:34px; height:34px; border-radius:10px; border:2px solid #fff; box-shadow:0 0 0 1px var(--line); cursor:pointer; }
.m-sw button.on { box-shadow:0 0 0 2px #18233A; }
.m-note { background:#F6F1E3; border:1px solid #E9DCB8; border-radius:12px; padding:.75rem 1rem; color:#6A5420; font-size:.88rem; margin-top:1rem; }
.m-err { background:#FBEAE8; color:var(--danger); border:1px solid #F0C4C0; padding:.65rem 1rem; border-radius:10px; margin:.8rem 0 0; }
.m-okmsg { background:#E6F4EC; color:var(--green); padding:.6rem 1rem; border-radius:10px; margin:.8rem 0 0; }
.m-actions { display:flex; gap:.6rem; margin-top:1.2rem; flex-wrap:wrap; align-items:center; }
/* phone preview */
.m-phone { width:270px; max-width:100%; margin:0 auto; border-radius:34px; background:#111; padding:10px; box-shadow:0 20px 40px rgba(24,35,58,.18); }
.m-ph { border-radius:26px; overflow:hidden; background:#F3F1EB; min-height:470px; display:flex; flex-direction:column; }
.m-ph .pt { padding:1.5rem 1rem 1rem; color:#fff; text-align:center; } .m-ph .pt .lg { width:52px; height:52px; border-radius:14px; background:#fff; margin:0 auto .5rem; display:grid; place-items:center; font-weight:800; font-size:1.15rem; overflow:hidden; }
.m-ph .pt .lg img { width:100%; height:100%; object-fit:contain; } .m-ph .pt b { display:block; font-size:1.02rem; } .m-ph .pt small { opacity:.8; }
.m-ph .pb { padding:1rem; display:flex; flex-direction:column; gap:.6rem; }
.m-ph .pc { background:#fff; border:1px solid var(--line); border-radius:14px; padding:.75rem; } .m-ph .pc span { color:var(--dim); font-size:.72rem; font-weight:700; letter-spacing:.04em; } .m-ph .pc b { display:block; font-size:1.3rem; letter-spacing:-.02em; }
.m-ph .pbtn { color:#fff; text-align:center; padding:.8rem; border-radius:12px; font-weight:700; }
/* key */
.m-key { background:#18233A; color:#fff; border-radius:16px; padding:1.1rem 1.2rem; margin:1rem 0; }
.m-key small { opacity:.65; letter-spacing:.06em; text-transform:uppercase; font-weight:700; font-size:.72rem; display:block; }
.m-key code { display:block; font-family:Consolas,monospace; font-size:1.08rem; letter-spacing:.02em; margin:.4rem 0 .9rem; word-break:break-all; color:#F2DCA6; }
.m-key .m-btn.ghostw { background:transparent; color:#fff; border-color:rgba(255,255,255,.3); }
.m-ol { counter-reset:s; list-style:none; padding:0; margin:0; } .m-ol li { counter-increment:s; display:flex; gap:.9rem; padding:.7rem 0; border-top:1px solid var(--line); }
.m-ol li:first-child { border-top:0; } .m-ol li:before { content:counter(s); flex:0 0 28px; height:28px; border-radius:50%; background:var(--bg2); display:grid; place-items:center; font-weight:700; color:#18233A; }
.m-ol li.done:before { content:"✓"; background:var(--green); color:#fff; }
.m-ol li b { display:block; } .m-ol li span { color:var(--dim); font-size:.9rem; }
.m-live { display:flex; align-items:center; gap:.8rem; border:1px solid var(--line); border-radius:14px; padding:.85rem 1rem; background:var(--card2); }
.m-live.ok { background:#E6F4EC; border-color:#BFE3CD; }
.m-spin { width:22px; height:22px; border-radius:50%; border:3px solid #E3E7F0; border-top-color:#18233A; animation:mspin 1s linear infinite; flex:0 0 22px; }
@keyframes mspin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .m-spin { animation:none; } }
/* station page */
.m-crumb { color:var(--faint); font-size:.88rem; margin-bottom:.5rem; } .m-crumb a { color:var(--faint); } .m-crumb b { color:var(--ink); }
.m-shead { display:flex; align-items:center; gap:1rem; margin-bottom:1rem; flex-wrap:wrap; } .m-shead .m-logo { width:56px; height:56px; border-radius:15px; font-size:1.25rem; flex-basis:56px; }
.m-shead h1 { margin:0; font-size:1.55rem; letter-spacing:-.02em; } .m-shead p { margin:.1rem 0 0; color:var(--dim); }
.m-tabs { display:flex; gap:.1rem; border-bottom:1px solid var(--line); margin-bottom:1.2rem; overflow-x:auto; }
.m-tabs a { padding:.6rem .9rem; color:var(--dim); font-weight:600; border-bottom:3px solid transparent; margin-bottom:-1px; white-space:nowrap; }
.m-tabs a.on { color:var(--ink); border-color:#C9A24A; } .m-tabs a .c { background:var(--bg2); border-radius:10px; padding:0 .45rem; margin-left:.35rem; font-size:.78rem; }
.m-agent { background:linear-gradient(135deg,#1B2944,#0F1729); color:#fff; border-radius:18px; padding:1.25rem 1.35rem; position:relative; overflow:hidden; }
.m-agent:after { content:""; position:absolute; right:-60px; top:-60px; width:220px; height:220px; border-radius:50%; background:radial-gradient(circle,rgba(201,162,74,.28),transparent 70%); pointer-events:none; }
.m-agent .h { display:flex; align-items:center; gap:.7rem; } .m-agent .h b { font-size:1.08rem; }
.m-agent .big { display:flex; align-items:center; gap:.8rem; margin:1rem 0 1.1rem; } .m-agent .big b { font-size:1.45rem; letter-spacing:-.02em; } .m-agent .big span { opacity:.7; }
.m-dot { width:14px; height:14px; border-radius:50%; background:#3DDC84; box-shadow:0 0 0 6px rgba(61,220,132,.18); flex:0 0 14px; }
.m-dot.off { background:#E8736C; box-shadow:0 0 0 6px rgba(232,115,108,.2); } .m-dot.new { background:#6FA4E0; box-shadow:0 0 0 6px rgba(111,164,224,.2); }
.m-akv { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem 1.4rem; position:relative; z-index:1; }
.m-akv div span { display:block; opacity:.6; font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; font-weight:700; } .m-akv div b { font-weight:600; word-break:break-word; }
.m-agent .acts { display:flex; gap:.5rem; margin-top:1.2rem; position:relative; z-index:1; flex-wrap:wrap; }
.m-agent .m-btn { background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.2); color:#fff; }
.m-mini { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; margin-top:1rem; } .m-mini .m-tile b { font-size:1.55rem; }
.m-feed { list-style:none; margin:0; padding:0; } .m-feed li { display:flex; gap:.9rem; align-items:flex-start; padding:.7rem 0; border-top:1px solid var(--line); }
.m-feed li:first-child { border-top:0; } .m-feed time { flex:0 0 74px; color:var(--faint); font-variant-numeric:tabular-nums; font-size:.85rem; padding-top:.1rem; }
.m-feed .ic { flex:0 0 28px; height:28px; border-radius:8px; display:grid; place-items:center; font-size:.8rem; font-weight:800; }
.m-feed .ic.inv { background:#E6F4EC; color:var(--green); } .m-feed .ic.rcp { background:#E4EDF8; color:var(--blue); } .m-feed .ic.up { background:var(--bg2); color:var(--dim); } .m-feed .ic.err { background:#FBEAE8; color:var(--danger); } .m-feed .ic.wait { background:#F6EBD6; color:var(--amber); }
.m-feed b { display:block; font-weight:600; } .m-feed span { color:var(--dim); font-size:.88rem; }
.m-feed li.e { background:#FDF5F4; margin:0 -1.3rem; padding:.8rem 1.3rem; }
.m-empty { color:var(--faint); padding:1.2rem 0; text-align:center; }
.m-login { max-width:420px; margin:3rem auto; background:var(--card); border:1px solid var(--line); border-radius:18px; overflow:hidden; }
.m-login .lh { background:#18233A; color:#fff; padding:1.6rem 1.4rem 1.3rem; border-bottom:3px solid #C9A24A; text-align:center; }
.m-login .lh i { width:52px; height:52px; border-radius:14px; background:linear-gradient(135deg,#C9A24A,#E8CB86); display:grid; place-items:center; color:#0F1729; font-style:normal; font-weight:800; font-size:1.4rem; margin:0 auto .6rem; }
.m-login .lh h1 { margin:0; font-size:1.4rem; } .m-login .lh p { margin:.25rem 0 0; opacity:.7; }
.m-login .lb { padding:1.2rem 1.4rem 1.5rem; }

/* switches (notifications) */
.m-tg { width:40px; height:23px; border-radius:12px; background:#D5D1C6; position:relative; display:inline-block; vertical-align:middle; border:0; cursor:pointer; padding:0; }
.m-tg span { position:absolute; top:3px; left:3px; width:17px; height:17px; border-radius:50%; background:#fff; box-shadow:0 1px 2px rgba(0,0,0,.2); transition:left .15s; }
.m-tg.on { background:var(--green); } .m-tg.on span { left:20px; } .m-tg:disabled { cursor:default; opacity:.75; }
.m-tg:focus-visible { outline:2px solid #18233A; outline-offset:2px; }
/* the bell: alerts in the app (station pages and Mazout Main) */
.bell { position:relative; display:inline-flex; }
.bell-btn { position:relative; width:38px; height:38px; border-radius:10px; border:1px solid rgba(255,255,255,.35); background:transparent; color:inherit; cursor:pointer; display:grid; place-items:center; }
.bell-btn:hover { background:rgba(255,255,255,.15); }
.bell-btn svg { width:20px; height:20px; }
.bell-n { position:absolute; top:-6px; right:-6px; min-width:19px; height:19px; padding:0 5px; border-radius:10px; background:#C8322B; color:#fff; font-size:.72rem; font-weight:800; display:grid; place-items:center; border:2px solid #fff; }
.bell-panel { position:absolute; right:0; top:46px; width:min(380px, calc(100vw - 24px)); max-height:70vh; overflow:auto; background:#fff; color:#1C2421; border:1px solid #E2DED4; border-radius:16px; box-shadow:0 18px 40px rgba(24,35,58,.22); z-index:50; }
.bell-head { display:flex; align-items:center; gap:.5rem; padding:.8rem 1rem; border-bottom:1px solid #E2DED4; position:sticky; top:0; background:#fff; }
.bell-head b { font-size:1rem; }
.bell-push { margin:.7rem 1rem; padding:.7rem .8rem; border-radius:12px; background:#F6F1E3; border:1px solid #E9DCB8; font-size:.86rem; color:#6A5420; }
.bell-push.ok { background:#E6F4EC; border-color:#BFE3CD; color:#1F8A4C; }
.bell-item { display:block; padding:.7rem 1rem; border-bottom:1px solid #F0EDE6; color:#1C2421; }
.bell-item:hover { background:#F7F5F0; } .bell-item.new { background:#FBF8F0; }
.bell-item b { display:block; font-size:.92rem; } .bell-item span { display:block; color:#4A5550; font-size:.84rem; line-height:1.35; } .bell-item time { color:#7A827D; font-size:.76rem; }
.bell-item.urgent b:before { content:""; display:inline-block; width:8px; height:8px; border-radius:50%; background:#C8322B; margin-right:.4rem; vertical-align:middle; }
.bell-empty { padding:1.4rem 1rem; color:#7A827D; text-align:center; font-size:.9rem; }
.bell-btn.small { width:auto; height:auto; padding:.25rem .6rem; border-radius:8px; font-size:.82rem; font-weight:600; border-color:#E2DED4; color:#1C2421; }
@media (max-width:600px) { .bell { position:static; } .bell-panel { position:fixed; left:10px; right:10px; top:62px; width:auto; max-height:calc(100vh - 80px); } }
