@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');
:root{--navy:#061526;--navy2:#09233b;--blue:#0877f9;--blue2:#19a4ff;--cyan:#45c5ff;--white:#fff;--ink:#0d1d2e;--muted:#6e7d8d;--line:#dfe7ee;--bg:#f6f8fb;--green:#18a66b;--red:#e25555;--orange:#eaa334;--shadow:0 20px 60px rgba(8,28,49,.09);--radius:18px}*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:#fff;font-size:18px}button,input,textarea,select{font:inherit}button,a{cursor:pointer}a{text-decoration:none;color:inherit}.container{width:min(1320px,calc(100% - 56px));margin:auto}@media(min-width:1700px){.container{width:min(1560px,calc(100% - 80px))}}.brand{display:flex;align-items:center;gap:10px;color:#fff}.brand-icon{width:32px;height:32px;border-radius:9px;object-fit:cover;flex-shrink:0;display:block}.brandmark{font-size:34.5px;line-height:.8;font-weight:900;letter-spacing:-3px}.brandmark span{color:var(--blue)}.brandtext{font-size:10px;letter-spacing:1.3px;font-weight:800;max-width:100px;line-height:1.35}.site-header{height:76px;background:rgba(4,17,30,.9);backdrop-filter:blur(14px);position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(255,255,255,.07)}.nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:25px}.public-nav{display:flex;align-items:center;gap:25px;color:#cbd8e4;font-size:14.5px;font-weight:600}.public-nav a{transition:.2s}.public-nav a:hover{color:#fff}.nav-actions{display:flex;gap:8px;align-items:center}.btn{border:0;border-radius:9px;padding:12px 18px;font-size:14.5px;font-weight:800;transition:.2s;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}.btn.primary{background:linear-gradient(135deg,var(--blue),#0660d5);color:#fff;box-shadow:0 8px 25px rgba(8,119,249,.25)}.btn.primary:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(8,119,249,.35)}.btn.outline{border:1px solid #bcd1e2;background:#fff;color:#0871e8}.btn.ghost{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:#eaf3fb}.icon-btn{border:1px solid var(--line);background:#fff;color:#3c5268;border-radius:9px;width:38px;height:38px;display:grid;place-items:center}.mobile-menu{display:none}.hero{position:relative;overflow:hidden;background:#061526;color:#fff;min-height:680px;display:flex;align-items:center}.hero-bg{position:absolute;inset:0;background:radial-gradient(circle at 70% 45%,rgba(0,117,255,.2),transparent 30%),linear-gradient(115deg,#061526 10%,#0a2238 70%,#061526)}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,21,38,.98) 0%,rgba(6,21,38,.8) 45%,rgba(6,21,38,.15) 100%);pointer-events:none}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:40px;min-height:680px}.hero-copy{padding:70px 0}.eyebrow{font-size:13.5px;letter-spacing:1.8px;font-weight:900;color:var(--blue);display:inline-block}.hero .eyebrow{color:#66b9ff}.hero h1,.page-hero h1{font-size:clamp(48px,6.2vw,78px);line-height:.98;letter-spacing:-4px;margin:18px 0 25px;font-weight:900}.hero h1 em,.page-hero h1 em,h1 em,h2 em{color:var(--blue);font-style:normal}.lead{font-size:20px;line-height:1.7;color:#c6d4e1;max-width:560px}.hero-points{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:28px 0;color:#e5eef5;font-size:15.5px;font-weight:600}.hero-points span{display:flex;gap:8px;align-items:center}.hero-points span:first-letter{color:var(--blue)}.hero-actions{display:flex;gap:20px;align-items:center;margin-top:30px}.text-link{color:#d8e6f1;font-size:14.5px;font-weight:800}.hero-trust{display:flex;flex-wrap:wrap;gap:16px;margin-top:28px;color:#91a6b9;font-size:12.5px}.hero-visual{height:590px;position:relative;display:grid;place-items:center}.van-stage{width:100%;height:100%;display:grid;place-items:center;position:relative}.van-stage:before{content:"";position:absolute;inset:22% 3% 15%;border-radius:50%;background:radial-gradient(ellipse,rgba(16,138,255,.32),transparent 65%);filter:blur(18px)}.van-stage img{width:min(650px,110%);position:relative;z-index:1;filter:drop-shadow(0 35px 35px rgba(0,0,0,.45));mix-blend-mode:screen}.visual-card{position:absolute;z-index:2;background:rgba(255,255,255,.94);color:var(--ink);padding:14px 18px;border:1px solid rgba(255,255,255,.5);border-radius:13px;box-shadow:0 20px 45px rgba(0,0,0,.25);display:flex;gap:10px;align-items:center}.visual-card.top{top:115px;left:0}.visual-card.top b{font-size:32.5px;color:var(--blue)}.visual-card.top span{font-size:12.5px;color:#66798b}.visual-card.bottom{right:5px;bottom:115px}.visual-card.bottom b{font-size:13.5px}.visual-card.bottom small{display:block;color:#6b7d8e;font-size:11px;margin-top:3px}.live-dot{width:9px;height:9px;background:var(--green);border-radius:50%;box-shadow:0 0 0 5px rgba(24,166,107,.12)}.logo-strip{background:#fff;border-bottom:1px solid var(--line)}.logo-strip .container{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:25px;color:#7a8794}.logo-strip span{font-size:12.5px;text-transform:uppercase;letter-spacing:1px}.logo-strip b{font-size:20px;letter-spacing:-.5px;color:#687784}.section{padding:105px 0}.gray{background:var(--bg)}.section-head{max-width:780px;margin-bottom:50px}.section-head.center{text-align:center;margin-left:auto;margin-right:auto}.section-head h2,.contact-strip h2,.split-promo h2,.about-grid h2{font-size:clamp(34px,4.3vw,55px);line-height:1.05;letter-spacing:-2.5px;margin:14px 0 16px}.section-head p,.about-grid p,.split-promo p{color:var(--muted);line-height:1.8;max-width:690px}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.feature-grid.three{grid-template-columns:repeat(3,1fr)}.feature-card{border:1px solid var(--line);border-radius:var(--radius);padding:26px;background:#fff;min-height:220px;transition:.2s}.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.feature-icon{width:48px;height:48px;border-radius:13px;background:#eef7ff;color:var(--blue);display:grid;place-items:center;font-size:26px;font-weight:800;margin-bottom:24px}.feature-card h3{margin:0 0 9px;font-size:19px}.feature-card p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.7}.dark-band{background:linear-gradient(120deg,#061526,#092b47);color:#fff}.split-promo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px;align-items:center}.split-promo p{color:#a9bdd0}.mini-passport{background:#fff;color:var(--ink);padding:22px;border-radius:20px;box-shadow:0 30px 80px rgba(0,0,0,.25)}.mp-head{display:flex;justify-content:space-between;align-items:center;font-size:13.5px}.status{display:inline-flex;align-items:center;gap:5px;border-radius:99px;padding:5px 8px;font-size:11px;font-weight:800;white-space:nowrap}.status i{width:6px;height:6px;border-radius:50%;background:currentColor}.status.ok{background:#eaf8f0;color:var(--green)}.status.bad{background:#fff0f0;color:var(--red)}.status.warn{background:#fff7e7;color:#c58b1b}.status.blue{background:#eaf4ff;color:var(--blue)}.mp-car{display:flex;gap:15px;align-items:center;padding:20px 0}.mp-car img{width:125px;height:70px;object-fit:contain;background:#eef2f5;border-radius:10px}.mp-car b{display:block;font-size:21px}.mp-car small{display:block;color:#7a8b9b;font-size:11px;margin-top:4px}.mp-row{display:grid;grid-template-columns:90px 1fr 25px;align-items:center;border-top:1px solid #edf1f4;padding:13px 0;font-size:11px}.mp-row span{color:#718293}.mp-row i{color:var(--green);font-style:normal;font-size:18px}.dashboard-preview{display:grid;grid-template-columns:225px 1fr;border-radius:20px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line);background:#fff}.dashboard-preview aside{background:#071a2c;color:#a8bfd1;padding:23px 13px;display:flex;flex-direction:column;gap:4px}.side-logo{font-size:32.5px;font-weight:900;color:#fff;margin-bottom:18px}.side-logo span{color:var(--blue)}.dashboard-preview aside span{font-size:12.5px;padding:10px;border-radius:7px}.dashboard-preview aside span.active{background:var(--blue);color:#fff}.dashboard-preview aside i{float:right;background:var(--red);color:#fff;border-radius:99px;font-style:normal;padding:2px 5px}.dash-content{padding:28px}.dash-top{display:flex;justify-content:space-between;align-items:center}.dash-top small,.dash-top>div>span{font-size:11px;color:#8999a8}.dash-top h3{margin:5px 0 2px;font-size:24px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:25px 0}.stat{border:1px solid var(--line);border-radius:13px;padding:15px;background:#fff}.stat small,.stat span{display:block;font-size:11px;color:#8492a0}.stat strong{display:block;font-size:32.5px;margin:5px 0}.stat strong.ok{color:var(--green)}.stat strong.bad{color:var(--red)}.stat strong.blue{color:var(--blue)}.dash-lower{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.chart-card,.list-card{border:1px solid var(--line);border-radius:13px;padding:16px;background:#fff}.card-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.card-title b{font-size:13.5px}.card-title small{display:block;color:#8796a5;font-size:10px;margin-top:3px}.card-title a{font-size:11px;color:var(--blue)}.donut-chart{width:120px;height:120px;border-radius:50%;margin:10px auto 14px;background:conic-gradient(var(--green) 0 300deg,var(--red) 300deg 340deg,var(--blue) 340deg);display:grid;place-items:center;position:relative}.donut-chart:before{content:"";position:absolute;width:80px;height:80px;border-radius:50%;background:#fff}.donut-chart>div{z-index:1;text-align:center}.donut-chart b{display:block;font-size:23px}.donut-chart small{font-size:10px;color:#8796a5}.donut-chart.large{width:165px;height:165px}.donut-chart.large:before{width:112px;height:112px}.legend{display:grid;gap:7px;font-size:11px;color:#66788a}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}.dot.ok{background:var(--green)}.dot.bad{background:var(--red)}.dot.blue{background:var(--blue)}.list-row{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid #edf1f4;padding:12px 0;font-size:11px}.list-row span:first-child{display:grid;gap:3px}.list-row small{color:#8392a1}.list-row a,.list-row .mini-action{color:var(--blue);font-size:11px;border:0;background:none;padding:0}.tiny-status{color:var(--green)}.process-line{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:40px}.process-line div{position:relative;text-align:center}.process-line div:not(:last-child):after{content:"";position:absolute;top:17px;left:62%;width:75%;height:1px;background:#c9d7e4}.process-line b{position:relative;z-index:1;width:36px;height:36px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;margin:auto auto 12px;font-size:13.5px}.process-line span{font-size:12.5px;color:#5e7184;font-weight:700}.contact-strip{background:#071a2c;color:#fff;padding:60px 0}.contact-strip .container{display:flex;align-items:center;justify-content:space-between;gap:30px}.contact-strip h2{margin:8px 0;font-size:47.5px}.contact-strip p{color:#a9bdcf}.page-hero{background:linear-gradient(120deg,#061526,#0a2944);color:#fff;padding:110px 0 100px;position:relative;overflow:hidden}.page-hero:after{content:"";position:absolute;right:-10%;top:-50%;width:55%;height:160%;background:radial-gradient(circle,rgba(8,119,249,.22),transparent 62%)}.page-hero .container{position:relative;z-index:1}.page-hero h1{max-width:850px}.page-hero p{max-width:650px;color:#b5c7d7;font-size:19px;line-height:1.7}.about-grid{display:grid;grid-template-columns:1fr .75fr;gap:100px;align-items:center}.quote-card{background:linear-gradient(140deg,#eef7ff,#fff);padding:45px;border-radius:22px;border:1px solid #d6e8f7}.quote-card>span{font-size:67.5px;color:var(--blue);font-weight:900;line-height:.5}.quote-card h3{font-size:32.5px;line-height:1.2}.quote-card p{font-size:14.5px}.plans-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:stretch}.plan-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;display:flex;flex-direction:column;position:relative}.plan-card.featured{border-color:#5aa8ff;box-shadow:0 20px 55px rgba(8,119,249,.12)}.plan-card>label{position:absolute;top:0;right:18px;transform:translateY(-50%);background:var(--blue);color:#fff;padding:6px 9px;border-radius:99px;font-size:10px;font-weight:900}.plan-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-size:22px;margin-bottom:16px}.plan-icon.bronze{background:#f9e7d4;color:#a46d36}.plan-icon.silver{background:#e8edf2;color:#6e7c89}.plan-icon.gold{background:#fbefcc;color:#c18a22}.plan-icon.blue{background:#0b66bd;color:#fff}.plan-card h3{font-size:23px;margin:0 0 6px}.plan-card p{font-size:13.5px;color:#6f7e8d;min-height:32px}.price{display:flex;align-items:end;gap:6px;margin:22px 0}.price small{font-size:12.5px;color:#7d8b98}.price strong{font-size:47.5px;line-height:.9}.price span{font-weight:800;font-size:16.5px}.price span small{display:block;font-size:10px;font-weight:500}.plan-card hr{border:0;border-top:1px solid var(--line);width:100%;margin:0 0 18px}.plan-card ul{padding:0;margin:0 0 25px;list-style:none;display:grid;gap:10px;flex:1}.plan-card li{font-size:12.5px;line-height:1.35}.plan-card li:first-letter{color:var(--blue)}.fleet-card{background:linear-gradient(150deg,#061a2c,#092c4a);color:#fff;border-color:#0d4e7f}.fleet-card p{color:#aec3d4}.fleet-card li{color:#e1edf5}.fleet-card em{color:#3aa7ff;font-style:normal}.individual-price{text-align:center;font-size:12.5px;letter-spacing:1.3px;margin:16px 0 20px}.individual-price strong{display:block;color:#32a5ff;font-size:29px;letter-spacing:0}.offer-bottom{margin-top:18px;display:grid;grid-template-columns:1.3fr 1fr;border:1px solid var(--line);border-radius:17px;overflow:hidden;background:#fff}.offer-bottom>div{padding:23px}.offer-bottom>div+div{border-left:1px solid var(--line)}.offer-bottom b{font-size:12.5px;letter-spacing:1px}.service-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.service-pills span{font-size:11px;padding:8px 10px;background:#f2f6f9;border-radius:99px;color:#5e7182}.discounts{display:grid;grid-template-columns:repeat(4,1fr);margin-top:17px}.discounts div{text-align:center;border-left:1px solid var(--line)}.discounts div:first-child{border:0}.discounts b,.discounts small,.discounts strong{display:block}.discounts b{font-size:13.5px}.discounts small{font-size:10px;color:#8b98a5;margin:3px}.discounts strong{color:var(--blue);font-size:24px}.steps-full{display:grid;gap:16px}.process-step{display:grid;grid-template-columns:44px 62px 1fr 300px;gap:18px;align-items:center;border:1px solid var(--line);border-radius:18px;padding:22px;background:#fff}.step-number{width:34px;height:34px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-weight:900;font-size:13.5px}.step-icon{width:54px;height:54px;border-radius:50%;background:#edf7ff;color:var(--blue);display:grid;place-items:center;font-size:25px}.process-step h3{margin:0 0 8px;font-size:19px}.process-step p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.7}.step-demo{height:86px;border-radius:11px;background:#f1f5f8;display:grid;place-items:center;color:#4d708e;font-size:13.5px;font-weight:800}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.metrics div{padding:28px;text-align:center;border:1px solid rgba(255,255,255,.1);border-radius:15px;background:rgba(255,255,255,.04)}.metrics b{display:block;color:#fff;font-size:43px}.metrics span{color:#9db2c5;font-size:12.5px}.passport-page{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.passport-page h2{font-size:54px;letter-spacing:-2px;margin:14px 0}.passport-page>div>p{color:var(--muted);font-size:14.5px}.passport-actions{display:flex;gap:10px;margin:25px 0}.checks-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:28px}.checks-grid span{font-size:12.5px;color:#54697c}.passport-large{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:var(--shadow)}.passport-tabs{display:flex;gap:25px;border-bottom:1px solid var(--line);padding:12px 0;font-size:11px;color:#8492a0}.passport-tabs b{color:var(--blue)}.history-row{display:grid;grid-template-columns:85px 1fr 25px;gap:12px;align-items:start;padding:15px 0;border-bottom:1px solid #edf1f4;font-size:11px}.history-row>span{color:#768797}.history-row>div b,.history-row>div small{display:block}.history-row>div small{color:#8997a4;margin-top:4px}.history-row>i{font-style:normal;color:var(--green);font-size:18px}.contact-section{background:var(--bg);padding:100px 0}.contact-grid{display:grid;grid-template-columns:1fr .85fr;gap:90px;align-items:start}.contact-grid h2{font-size:65px;line-height:1.05;letter-spacing:-3px}.contact-grid p{color:var(--muted);line-height:1.8;max-width:550px}.contact-list{display:grid;gap:14px;margin-top:35px}.contact-list>a,.contact-list>div{display:flex;gap:13px;align-items:center}.contact-list>*>span{width:42px;height:42px;border-radius:12px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;color:var(--blue)}.contact-list b,.contact-list small{display:block}.contact-list b{font-size:15.5px}.contact-list small{color:#7d8b99;font-size:11px;margin-top:4px}.contact-form{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:var(--shadow)}.form-head>span{font-size:12.5px;color:var(--blue);font-weight:900;letter-spacing:1px}.form-head h3{font-size:29px;margin:8px 0}.form-head p{font-size:12.5px;margin:0 0 20px}.contact-form label,.modal-form label,.settings-card label{display:grid;gap:6px;font-size:11px;color:#66788a;font-weight:700}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.contact-form input,.contact-form textarea,.contact-form select,.modal input,.modal textarea,.modal select,.settings-card input{width:100%;border:1px solid #d5e0e8;border-radius:9px;padding:11px 12px;background:#fff;outline:0;font-size:13.5px;color:var(--ink)}.contact-form textarea,.modal textarea{min-height:105px;resize:vertical}.contact-form>label{margin-top:10px}.check{display:flex!important;grid-template-columns:none!important;align-items:center;gap:7px!important;font-weight:500!important}.check input{width:auto!important}.contact-form>.btn{width:100%;margin-top:12px}.auth-shell{min-height:100vh;background:#f3f6f9;display:grid;grid-template-columns:1.15fr .85fr}.auth-art{background:linear-gradient(145deg,#061526,#0a2944);color:#fff;padding:40px 8vw;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.auth-art:after{content:"";position:absolute;right:-20%;bottom:-30%;width:80%;height:70%;background:radial-gradient(circle,rgba(8,119,249,.35),transparent 60%)}.auth-art>div{position:relative;z-index:1}.auth-art h1{font-size:clamp(40px,5vw,70px);line-height:1;letter-spacing:-3px}.auth-art p{color:#aec1d2;line-height:1.7;max-width:550px}.auth-points{display:grid;gap:10px;margin-top:25px;font-size:14.5px}.auth-card{align-self:center;width:min(460px,calc(100% - 60px));margin:auto;background:#fff;padding:40px;border-radius:22px;box-shadow:var(--shadow)}.back{font-size:12.5px;color:#718293}.auth-logo{margin:45px 0 35px;background:#061526;padding:15px;border-radius:13px;width:max-content}.auth-card h2{font-size:39px;margin:10px 0}.auth-card>p{color:var(--muted);font-size:13.5px;line-height:1.7}.auth-card form{display:grid;gap:13px;margin-top:22px}.auth-card label{display:grid;gap:6px;font-size:11px;color:#66788a;font-weight:700}.remember{display:flex!important;align-items:center;gap:7px;font-weight:500!important}.remember input{width:auto}.auth-card .btn{width:100%}.demo-login{width:100%;margin-top:10px;border:1px dashed #9cb9d2;background:#f5faff;color:#0871e8;border-radius:9px;padding:11px;font-size:12.5px;font-weight:800}.login-note{margin-top:16px;color:#8998a5;font-size:10px;line-height:1.6}.app-shell{min-height:100vh;background:#f6f8fb;display:grid;grid-template-columns:245px 1fr}.app-sidebar{background:#061526;color:#a8bdcf;padding:20px 14px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:70}.sidebar-top{display:flex;justify-content:space-between;align-items:center;padding:0 8px 22px}.sidebar-top .brand{transform:scale(.9);transform-origin:left}.side-close{display:none}.sidebar-company{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:14px;margin-bottom:15px}.sidebar-company small,.sidebar-company span{display:block;font-size:10px;color:#728ba0}.sidebar-company b{display:block;color:#fff;font-size:14.5px;margin:4px 0}.app-sidebar nav{display:grid;gap:4px}.side-link{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:8px;color:#9db4c7;font-size:12.5px}.side-link:hover,.side-link.active{background:var(--blue);color:#fff}.side-link i{margin-left:auto;background:var(--red);color:#fff;border-radius:99px;font-style:normal;padding:2px 5px;font-size:10px}.sidebar-help{margin-top:auto;background:#0b243b;border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:13px;display:grid;gap:4px}.sidebar-help small,.sidebar-help span{font-size:10px;color:#718ca1}.sidebar-help b{font-size:12.5px;color:#fff}.logout{margin-top:10px;border:0;background:transparent;color:#8098aa;text-align:left;padding:10px;font-size:12.5px}.app-main{min-width:0}.app-header{height:75px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:40}.open-side{display:none}.app-breadcrumb small,.app-breadcrumb b{display:block}.app-breadcrumb small{font-size:10px;color:#8998a5}.app-breadcrumb b{font-size:15.5px;margin-top:4px}.app-head-actions{display:flex;gap:10px;align-items:center}.app-head-actions .icon-btn{position:relative}.app-head-actions .icon-btn i{position:absolute;right:-2px;top:-3px;background:var(--red);color:#fff;font-style:normal;border-radius:99px;font-size:10px;padding:2px 5px}.user-menu{border:0;background:none;display:flex;align-items:center;gap:8px;font-size:13.5px}.user-menu>span{width:34px;height:34px;border-radius:50%;background:#e8f2fb;color:var(--blue);display:grid;place-items:center;font-weight:900}.user-menu b,.user-menu small{display:block;text-align:left}.user-menu small{color:#8a98a5;font-size:10px;margin-top:3px}.app-content{padding:34px;max-width:1500px}.page-top{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:28px}.page-top h1{font-size:41px;letter-spacing:-1.5px;margin:7px 0}.page-top p{color:#758594;font-size:13.5px;margin:0}.page-actions{display:flex;gap:8px}.stat-grid.big{margin:0 0 20px}.panel-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:14px}.panel-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px;box-shadow:0 7px 25px rgba(10,30,50,.03)}.wide-card{grid-column:1/-1}.fleet-summary{display:flex;align-items:center;justify-content:center;gap:55px;padding:12px 20px}.fleet-bars{width:250px;display:grid;gap:17px}.fleet-bars span{display:flex;justify-content:space-between;font-size:12.5px;margin-bottom:6px}.fleet-bars span b{font-weight:800}.fleet-bars>div>div{height:7px;background:#edf2f5;border-radius:99px;overflow:hidden}.fleet-bars>div>div i{display:block;height:100%;background:var(--blue);border-radius:99px}.fleet-bars>div:nth-child(1)>div i{background:var(--green)}.fleet-bars>div:nth-child(2)>div i{background:var(--red)}.issue-table{display:grid}.issue-row{display:grid;grid-template-columns:34px 1fr auto auto;gap:12px;align-items:center;border-top:1px solid #edf1f4;padding:12px 0}.issue-row.full{padding:17px 0}.issue-row>div{min-width:0}.issue-row b,.issue-row small{display:block}.issue-row b{font-size:12.5px}.issue-row small{font-size:10px;color:#8998a5;margin-top:4px}.issue-icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-size:15.5px}.issue-icon.warn{background:#fff7e8;color:#d3921d}.issue-icon.bad{background:#fff0f0;color:var(--red)}.mini-action{border:1px solid #d8e3eb;background:#fff;color:var(--blue);border-radius:7px;padding:7px 9px;font-size:10px;font-weight:800}.toolbar{display:flex;gap:10px;margin-bottom:15px}.search{flex:1;display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:0 14px;color:#8392a0}.search input{border:0;outline:0;width:100%;padding:11px 0;font-size:13.5px}.toolbar select,.settings-card select{border:1px solid var(--line);background:#fff;border-radius:9px;padding:0 12px;font-size:12.5px}.vehicle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.vehicle-card{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden}.vehicle-photo{height:170px;background:#eef2f5;position:relative;display:grid;place-items:center}.vehicle-photo img{width:90%;height:90%;object-fit:contain;mix-blend-mode:multiply}.vehicle-photo>.status{position:absolute;top:12px;right:12px}.vehicle-info{padding:16px 17px 10px;display:flex;justify-content:space-between}.vehicle-info h3{font-size:18px;margin:0 0 4px}.vehicle-info>b{font-size:12.5px;color:#6e7e8e}.vehicle-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:10px 17px 16px}.vehicle-meta span{border-top:1px solid #edf1f4;padding-top:9px}.vehicle-meta small,.vehicle-meta b{display:block}.vehicle-meta small{font-size:10px;color:#8a99a6}.vehicle-meta b{font-size:11px;margin-top:4px}.vehicle-actions{display:flex;gap:8px;padding:0 17px 17px}.vehicle-actions .btn{flex:1}.back-link{font-size:12.5px;color:var(--blue)}.vehicle-title{display:flex;gap:15px;align-items:center;margin-top:12px}.vehicle-title h1{margin:6px 0;font-size:34.5px}.vehicle-title h1 em{font-style:normal;color:var(--blue)}.vehicle-title p{display:flex;align-items:center;gap:8px}.vehicle-thumb{width:90px;height:70px;background:#eef2f5;border-radius:11px;display:grid;place-items:center}.vehicle-thumb img{width:90%;height:90%;object-fit:contain;mix-blend-mode:multiply}.detail-tabs{display:flex;gap:26px;border-bottom:1px solid var(--line);margin-bottom:15px}.detail-tabs a{font-size:12.5px;color:#8392a0;padding:12px 2px;border-bottom:2px solid transparent}.detail-tabs a.active{color:var(--blue);border-color:var(--blue);font-weight:800}.vehicle-detail-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:15px}.recommendation .recommend-item{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid #edf1f4;font-size:11px}.recommendation .recommend-item b:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:7px;background:var(--orange)}.recommendation .recommend-item.bad b:before{background:var(--red)}.recommendation .recommend-item span{color:#7c8c99}.recommendation hr{border:0;border-top:1px solid var(--line);margin:20px 0}.recommendation>a{display:block;font-size:11px;color:var(--blue);margin-top:10px}.table-head,.table-row{display:grid;grid-template-columns:110px 1.5fr 1fr 100px 140px;gap:15px;align-items:center}.table-head{font-size:10px;color:#8a99a7;text-transform:uppercase;letter-spacing:.6px;padding-bottom:10px}.table-row{border-top:1px solid #edf1f4;padding:14px 0;font-size:11px}.table-row b{font-size:12.5px}.schedule-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.calendar-head{display:flex;justify-content:space-between;align-items:center}.calendar-head h3{font-size:18px}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;text-align:center}.calendar-week b{font-size:10px;color:#8a98a5;padding:10px 0}.day{position:relative;border:0;background:#f7f9fb;border-radius:8px;height:44px;font-size:12.5px;color:#637688}.day.today{background:#eaf4ff;color:var(--blue);font-weight:900}.day.has-event:after{content:"";width:5px;height:5px;border-radius:50%;background:var(--blue);position:absolute;bottom:6px;left:50%;transform:translateX(-50%)}.visit-card{display:grid;grid-template-columns:48px 1fr auto 30px;align-items:center;gap:12px;padding:13px 0;border-top:1px solid #edf1f4}.date-box{width:44px;height:44px;background:#eef7ff;border-radius:10px;display:grid;place-items:center;color:var(--blue)}.date-box b{font-size:20px}.date-box span{font-size:10px}.visit-card b,.visit-card small{display:block}.visit-card b{font-size:12.5px}.visit-card small{font-size:10px;color:#8997a4;margin-top:3px}.issue-filters{display:flex;gap:8px;margin-bottom:15px}.filter{border:1px solid var(--line);background:#fff;border-radius:99px;padding:9px 13px;font-size:11px;color:#708193}.filter.active{background:#eaf4ff;color:var(--blue);border-color:#bddbfb}.filter b{margin-left:5px}.notifications-list{padding:0 20px}.notification{display:flex;gap:13px;align-items:center;padding:17px 0;border-top:1px solid #edf1f4}.notification:first-child{border:0}.notification-icon{width:38px;height:38px;background:#eef7ff;color:var(--blue);border-radius:10px;display:grid;place-items:center}.notification>div{flex:1}.notification b,.notification small{display:block}.notification b{font-size:12.5px}.notification small{font-size:10px;color:#8b99a6;margin-top:4px}.notification.read{opacity:.55}.unread-dot{width:7px;height:7px;border-radius:50%;background:var(--blue)}.document-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.doc-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px;display:flex;align-items:center;gap:12px}.doc-card>span{width:40px;height:40px;background:#eef7ff;color:var(--blue);display:grid;place-items:center;border-radius:10px}.doc-card>div{flex:1}.doc-card b,.doc-card small{display:block}.doc-card b{font-size:12.5px}.doc-card small{font-size:10px;color:#8a98a5;margin-top:4px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.settings-card{display:grid;gap:15px}.settings-card h3{font-size:18px;margin:0 0 5px}.switch-row{display:flex!important;justify-content:space-between;align-items:center}.switch-row span{display:block}.switch-row b,.switch-row small{display:block}.switch-row small{color:#8a98a5;font-size:10px;margin-top:4px}.switch-row input{width:35px!important;height:19px;accent-color:var(--blue)}.profile-box{display:flex;align-items:center;gap:15px;padding:15px 0}.avatar{width:52px;height:52px;border-radius:50%;background:#eaf4ff;color:var(--blue);display:grid;place-items:center;font-weight:900}.profile-box b,.profile-box small{display:block}.profile-box small{font-size:11px;color:#8291a0;margin-top:4px}.upload-box{border:2px dashed #c9d9e7;border-radius:12px;padding:35px;text-align:center;display:grid;place-items:center;gap:8px;color:#718395}.upload-box input{display:none}.upload-box b{font-size:13.5px}.upload-box small{font-size:10px}.modal-backdrop{position:fixed;inset:0;background:rgba(2,13,24,.72);backdrop-filter:blur(7px);z-index:200;display:grid;place-items:center;padding:20px}.modal{width:min(560px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:20px;padding:30px;color:var(--ink);box-shadow:0 30px 100px rgba(0,0,0,.35);position:relative}.modal.wide{width:min(780px,100%)}.modal-close{position:absolute;top:14px;right:14px;border:0;background:#eef2f5;width:32px;height:32px;border-radius:50%;font-size:21px}.modal-kicker{font-size:11px;letter-spacing:1.4px;color:var(--blue);font-weight:900}.modal h2{font-size:32.5px;letter-spacing:-1px;margin:8px 0 10px}.modal>p{font-size:13.5px;line-height:1.7;color:#728291}.modal-form{display:grid;gap:12px}.modal-form .btn{width:100%}.success-box{text-align:center;padding:15px 0}.success-box>div{width:56px;height:56px;background:#eaf8f0;color:var(--green);border-radius:50%;display:grid;place-items:center;margin:auto;font-size:30.5px}.success-box h3{font-size:24px}.success-box p{font-size:12.5px;color:#7b8b99;line-height:1.7}.demo-vehicle{display:flex;gap:15px;align-items:center;background:#f4f7fa;border-radius:12px;padding:15px}.demo-vehicle img{width:130px;height:75px;object-fit:contain}.demo-vehicle b,.demo-vehicle span{display:block}.demo-vehicle span{font-size:11px;color:#7d8d9c;margin:4px 0 7px}.demo-tabs{display:flex;gap:25px;border-bottom:1px solid var(--line);padding:14px 0;font-size:11px;color:#8594a1}.demo-tabs b{color:var(--blue)}.toast{position:fixed;right:20px;bottom:20px;z-index:300;background:#071a2c;color:#fff;border-radius:12px;padding:12px 16px;display:flex;align-items:center;gap:10px;font-size:12.5px;box-shadow:0 15px 40px rgba(0,0,0,.25);transform:translateY(20px);opacity:0;transition:.25s}.toast.show{transform:none;opacity:1}.toast>span{color:#4ad28f}.toast.warning>span{color:#f0ae36}.floating-cta{position:fixed;right:22px;bottom:20px;z-index:45;background:#061526;color:#fff;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:7px 7px 7px 15px;display:flex;align-items:center;gap:12px;box-shadow:0 18px 50px rgba(0,0,0,.25)}.floating-cta>span{font-size:11px;color:#a9bbca}.floating-cta .btn{padding:10px 13px;font-size:11px}.admin-shell{min-height:100vh;background:#f5f7fa}.admin-top{height:72px;background:#061526;display:flex;align-items:center;justify-content:space-between;padding:0 30px}.admin-top>div{display:flex;align-items:center;gap:15px}.admin-top>div>span{font-size:10px;color:#7fa2bd;letter-spacing:1px}.admin-body{display:grid;grid-template-columns:236px 1fr}.admin-nav{background:#fff;border-right:1px solid var(--line);min-height:calc(100vh - 72px);padding:25px 13px;display:grid;align-content:start;gap:5px}.admin-nav b{font-size:11px;color:#8796a5;padding:10px}.admin-nav a{font-size:12.5px;padding:11px 10px;border-radius:8px;color:#657789}.admin-nav a.active{background:#eaf4ff;color:var(--blue);font-weight:800}.admin-content{padding:35px;max-width:1500px}.admin-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:15px}.admin-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:15px}.empty-state{padding:30px;text-align:center;color:#8493a0;font-size:12.5px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding:65px 0 45px}.footer-grid .brand{margin-bottom:14px}.footer-grid p,.footer-grid a,.footer-grid span{display:block;color:#879aaa;font-size:12.5px;margin:9px 0}.footer-grid b{font-size:12.5px;color:#d8e3eb;text-transform:uppercase;letter-spacing:1px}.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:18px 0;display:flex;justify-content:space-between;color:#74899a;font-size:11px}.footer-bottom button{background:none;border:0;color:#74899a;font-size:11px}footer{background:#04111e}.noscript{padding:30px;background:#061526;color:#fff}.public-nav.mobile-open{display:flex}
.nav-mobile-cta{display:none}
@media(max-width:1100px){.public-nav{gap:13px}.plans-grid{grid-template-columns:repeat(2,1fr)}.feature-grid{grid-template-columns:repeat(2,1fr)}.dash-lower{grid-template-columns:1fr 1fr}.panel-grid{grid-template-columns:1fr 1fr}.wide-card{grid-column:1/-1}.vehicle-grid{grid-template-columns:repeat(2,1fr)}.app-shell{grid-template-columns:220px 1fr}.hero-grid{grid-template-columns:1fr .9fr}.hero h1{font-size:61.5px}.process-step{grid-template-columns:40px 55px 1fr 230px}}
@media(max-width:800px){.container{width:min(100% - 28px,650px)}.site-header{height:68px}.public-nav{display:none;position:absolute;top:68px;left:0;right:0;background:#061526;flex-direction:column;align-items:stretch;padding:15px 24px;border-top:1px solid rgba(255,255,255,.08)}.public-nav.mobile-open{display:flex}.public-nav a{padding:12px}.nav-actions .btn.ghost,.nav-actions .btn.primary{display:none}.mobile-menu{display:grid;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.15);color:#fff}.nav-mobile-cta{display:grid;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08)}.nav-mobile-cta .btn{width:100%}.hero{min-height:auto}.hero-grid{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:70px 0 20px}.hero-visual{height:350px}.visual-card.top{top:25px}.visual-card.bottom{bottom:25px}.hero h1{font-size:54px}.hero-points{grid-template-columns:1fr}.logo-strip .container{flex-wrap:wrap;justify-content:center;padding:22px 0}.logo-strip span{width:100%;text-align:center}.logo-strip b{font-size:14.5px}.section{padding:75px 0}.feature-grid,.feature-grid.three{grid-template-columns:1fr}.split-promo,.about-grid,.passport-page,.contact-grid{grid-template-columns:minmax(0,1fr);gap:40px}.dashboard-preview{grid-template-columns:1fr}.dashboard-preview aside{display:none}.stat-grid{grid-template-columns:1fr 1fr}.dash-lower{grid-template-columns:1fr}.plans-grid{grid-template-columns:1fr}.offer-bottom{grid-template-columns:1fr}.offer-bottom>div+div{border-left:0;border-top:1px solid var(--line)}.discounts{grid-template-columns:repeat(4,1fr)}.process-line{grid-template-columns:repeat(2,1fr);gap:25px}.process-line div:not(:last-child):after{display:none}.process-step{grid-template-columns:40px 1fr;gap:12px}.process-step .step-icon{grid-column:2}.process-step>div:nth-child(3){grid-column:2}.step-demo{grid-column:2}.metrics{grid-template-columns:1fr 1fr}.checks-grid{grid-template-columns:1fr}.contact-grid h2{font-size:49.5px}.contact-strip .container{flex-direction:column;align-items:flex-start}.floating-cta{display:none}.auth-shell{grid-template-columns:1fr}.auth-art{display:none}.auth-card{margin:30px auto;width:min(460px,calc(100% - 30px))}.app-shell{grid-template-columns:1fr}.app-sidebar{position:fixed;left:-260px;top:0;width:245px;transition:.25s;box-shadow:20px 0 60px rgba(0,0,0,.25)}.app-sidebar.open{left:0}.side-close,.open-side{display:grid}.app-header{padding:0 15px}.app-content{padding:24px 14px}.page-top{align-items:flex-start;flex-direction:column}.page-actions{flex-wrap:wrap}.panel-grid{grid-template-columns:1fr}.wide-card{grid-column:auto}.fleet-summary{flex-direction:column;gap:20px}.fleet-bars{width:100%}.vehicle-grid,.document-grid,.settings-grid,.schedule-grid,.admin-grid{grid-template-columns:1fr}.table-head{display:none}.table-row{grid-template-columns:1fr 1fr;gap:7px}.table-row .mini-action{grid-column:1/-1}.admin-body{grid-template-columns:1fr}.admin-nav{display:none}.admin-content{padding:22px 14px}.admin-kpis{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-bottom{flex-direction:column;gap:8px}.hero-trust{display:grid}.page-hero{padding:80px 0}.page-hero h1{font-size:52px}.passport-actions{flex-direction:column}.form-row{grid-template-columns:1fr}.contact-form{padding:22px}}
@media(max-width:480px){.hero h1{font-size:47.5px;letter-spacing:-2.5px}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .btn{width:100%}.hero-visual{height:285px}.van-stage img{width:115%}.visual-card{transform:scale(.82)}.visual-card.top{left:-12px}.visual-card.bottom{right:-12px}.section-head h2,.split-promo h2,.about-grid h2{font-size:41px}.stat-grid,.admin-kpis{grid-template-columns:1fr 1fr}.vehicle-meta{grid-template-columns:1fr}.vehicle-title{align-items:flex-start}.vehicle-title h1{font-size:27px}.vehicle-title{flex-direction:column}.detail-tabs{overflow:auto}.history-row{grid-template-columns:65px 1fr 20px}.contact-grid h2{font-size:44px}.footer-grid{grid-template-columns:1fr}.auth-card{padding:25px}.modal{padding:25px 18px}.discounts strong{font-size:19px}.offer-bottom>div{padding:18px}}
@media(max-width:400px){.brandtext{display:none}.brand{gap:8px}}

/* Final polish: accessible modals + stronger authentication screen */
body.modal-open{overflow:hidden}
.modal-backdrop{overscroll-behavior:contain}
.modal-close{cursor:pointer;display:grid;place-items:center;z-index:2}
.modal-close:hover{background:#dfe8ef;transform:scale(1.04)}
.auth-card{width:min(560px,calc(100% - 48px));padding:52px;border-radius:26px}
.auth-card h2{font-size:47.5px;letter-spacing:-1.4px;margin:14px 0 12px}
.auth-card>p{font-size:15.5px;line-height:1.8;max-width:460px}
.auth-card form{gap:17px;margin-top:28px}
.auth-card label{font-size:13.5px;gap:8px}
.auth-card input[type=email],.auth-card input[type=password]{min-height:56px;padding:0 16px;font-size:19px;border-radius:12px}
.auth-card .btn{min-height:56px;font-size:14.5px;border-radius:12px}
.auth-logo{margin:30px 0 38px;padding:16px 18px}
.auth-card .login-note{font-size:12.5px;line-height:1.6;margin-top:18px;color:#8796a5}
.mini-empty{min-height:220px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:30px;color:#6d8090;background:#f5f8fb;border-radius:14px}
.mini-empty b{font-size:15.5px;color:#1d3041;letter-spacing:.5px}
.mini-empty span{font-size:12.5px;margin-top:8px;max-width:240px;line-height:1.6}
@media(max-width:800px){.auth-card{width:min(560px,calc(100% - 28px));padding:34px 24px;border-radius:20px}.auth-card h2{font-size:39px}.auth-card input[type=email],.auth-card input[type=password],.auth-card .btn{min-height:54px}}

/* MOF Admin 2.0 */
.admin-nav a{display:flex;align-items:center;gap:8px;text-decoration:none;position:relative}
.admin-nav a>b{margin-left:auto;font-size:11px;color:#64778a;font-weight:700}
.admin-nav a .nav-badge{background:#ef5b4f;color:#fff;border-radius:999px;min-width:18px;height:18px;display:grid;place-items:center;padding:0 5px}
.admin-nav a.active .nav-badge{color:#fff;background:#ef5b4f}
.admin-quick{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}
.admin-quick .btn{width:100%}
.admin-alert{border:1px solid #dceaf7;background:#f7fbff;border-radius:10px;padding:13px;display:grid;gap:4px}
.admin-alert b{font-size:13.5px;color:#102438}.admin-alert span{font-size:11px;color:#77899a}
.admin-quote-row{grid-template-columns:1.2fr .9fr auto auto;display:grid}
.admin-quote-row.is-new{background:#f7fbff;border-left:3px solid var(--blue);padding-left:9px;margin-left:-9px}
.quote-status{font-size:11px;font-weight:800;padding:5px 8px;border-radius:999px;white-space:nowrap;align-self:center}
.quote-status.new{background:#e8f3ff;color:#0877f9}.quote-status.read{background:#eef2f5;color:#607386}.quote-status.contacted{background:#e8f8ef;color:#198754}.quote-status.closed{background:#f0f1f3;color:#7c8791}
.quote-toolbar{display:flex;gap:18px;margin:-10px 0 12px;color:#7b8b9b;font-size:12.5px}.quote-toolbar b{color:#ef5b4f;font-size:15.5px}
.quote-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.quote-detail-head h3{font-size:26px;margin:5px 0 2px}.quote-detail-head p{font-size:13.5px;color:#7b8b9b;margin:0}
.quote-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0}.quote-detail-grid>div{border:1px solid #e3eaf0;border-radius:10px;padding:12px;display:grid;gap:5px}.quote-detail-grid small,.quote-message small,.quote-actions label{font-size:11px;color:#80909e;font-weight:700}.quote-detail-grid b{font-size:13.5px;color:#102438;overflow-wrap:anywhere}
.quote-message{background:#f7f9fb;border-radius:10px;padding:14px;margin-bottom:15px}.quote-detail-divider{border:0;border-top:1px solid #e3eaf0;margin:22px 0}.quote-message p{font-size:13.5px;color:#405466;line-height:1.6;margin:7px 0 0;white-space:pre-wrap}
.quote-actions{display:flex;align-items:end;gap:12px}.quote-actions label{display:grid;gap:6px;flex:1}.quote-actions select{border:1px solid #d5e0e8;border-radius:9px;padding:11px;background:#fff;font-size:13.5px}
@media(max-width:800px){.admin-body{grid-template-columns:1fr}.admin-nav{min-height:auto;display:flex;overflow:auto;padding:10px;gap:5px;border-right:0;border-bottom:1px solid var(--line)}.admin-nav>b{display:none}.admin-nav a{white-space:nowrap;padding:10px}.admin-content{padding:20px 14px}.admin-kpis{grid-template-columns:1fr 1fr}.admin-grid{grid-template-columns:1fr}.admin-quote-row{grid-template-columns:1fr auto;gap:8px}.admin-quote-row>span:nth-child(2){grid-column:1}.quote-detail-grid{grid-template-columns:1fr 1fr}.admin-top{padding:0 14px}.admin-top>div>span{display:none}}

/* Admin readability pass */
.admin-top{height:76px}
.admin-top .brandmark{font-size:28px}.admin-top .brandtext{font-size:10px}.admin-top .brand-icon{width:26px;height:26px;border-radius:7px}
.admin-top>div>span{font-size:13.5px}
.admin-nav{padding:28px 14px;gap:7px}
.admin-nav b{font-size:13.5px;padding:10px 11px}
.admin-nav a{font-size:16.5px;padding:13px 12px;min-height:42px}
.admin-nav a>b{font-size:13.5px}
.admin-content{padding:42px;max-width:1860px}@media(min-width:1900px){.admin-content{max-width:2120px}}
.admin-content .eyebrow{font-size:13.5px}
.admin-content h1{font-size:36.5px}
.admin-content .page-top p{font-size:16.5px}
.admin-content .stat small{font-size:13.5px}.admin-content .stat strong{font-size:31.5px}.admin-content .stat span{font-size:13.5px}
.admin-content .panel-card{padding:20px}
.admin-content .card-title b{font-size:18px}.admin-content .card-title small{font-size:13.5px}
.admin-content .list-row{font-size:15.5px;padding:15px 0}
.admin-content .list-row small{font-size:13.5px}
.admin-content .list-row a,.admin-content .list-row .mini-action,.admin-content .mini-action{font-size:14.5px}
.admin-content .empty-state{font-size:15.5px}
.admin-quick .btn{font-size:15.5px}
.admin-alert b{font-size:15.5px}.admin-alert span{font-size:13.5px}
@media(max-width:800px){
 .admin-content{padding:22px 14px}.admin-content h1{font-size:30.5px}
 .admin-nav a{font-size:15.5px}.admin-top .brandtext{display:none}
}

.field-hint{display:block;font-size:11px;color:#8a98a5;margin-top:-7px}
input:invalid:not(:placeholder-shown){border-color:#e7a2a2}

.admin-issue-row{width:100%;border:0;background:transparent;text-align:left;font:inherit;color:inherit;cursor:pointer;border-radius:10px;transition:.18s}
.admin-issue-row:hover{background:#f5f9fd;padding-left:10px;padding-right:10px}
.admin-issue-row .row-arrow{color:#8a99a7;font-size:18px;transition:.18s}
.admin-issue-row:hover .row-arrow{color:var(--blue);transform:translateX(3px)}
.quote-status.in_progress{background:#fff7e7;color:#c58b1b}.quote-status.resolved{background:#eaf8f0;color:var(--green)}
.admin-content .admin-issue-row span:first-child{flex:1;min-width:0}.admin-content .admin-issue-row span:nth-child(2){min-width:90px}.admin-content .admin-issue-row .status{min-width:95px;justify-content:center}

/* Admin client provisioning + first-login password setup */
.client-admin-row{grid-template-columns:minmax(260px,1.4fr) minmax(90px,.4fr) minmax(150px,.55fr);display:grid;align-items:center;gap:18px}
.modal-intro{font-size:15.5px;line-height:1.7;color:#718396;margin:-4px 0 20px}
.password-field-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}
.password-field-row .btn.compact{min-height:46px;padding:0 16px;white-space:nowrap}
.modal-form label>small{display:block;margin-top:6px;color:#8a99a7;font-size:12.5px;line-height:1.5}
.security-note{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;background:#f2f8ff;border:1px solid #dbeaff;border-radius:12px;color:#49657e}
.security-note b{font-size:13.5px;color:#126bd6;white-space:nowrap}.security-note span{font-size:13.5px;line-height:1.55}
.client-created{text-align:center}.client-created .success-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#e9f8ef;color:#14944d;font-size:28px;font-weight:900;margin:0 auto 13px}
.client-created h3{font-size:28px;margin:0 0 6px}.client-created>p{font-size:14.5px;color:#748596;line-height:1.6}
.credential-box{text-align:left;background:#071a2d;color:#fff;border-radius:16px;padding:18px;margin:20px 0;display:grid;gap:7px}
.credential-box small{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#7fa1bd}.credential-box b,.credential-box code{font-size:18px;color:#fff;word-break:break-all}
.credential-password{display:flex;align-items:center;justify-content:space-between;gap:10px}.credential-password .mini-action{background:#0e75ee;color:#fff;border-color:#0e75ee;flex:none}
.password-setup-shell{min-height:100vh;background:radial-gradient(circle at 50% 0,#143a5e 0,#061526 38%,#020b14 100%);display:grid;place-items:center;padding:32px}
.password-setup-card{width:min(600px,100%);background:#fff;border-radius:28px;padding:48px;box-shadow:0 35px 90px rgba(0,0,0,.38);position:relative}
.password-setup-brand{margin-bottom:32px}.password-setup-brand .brand{color:#071a2d}.password-setup-brand .brandtext{color:#21394f}
.security-mark{width:58px;height:58px;border-radius:18px;background:#eaf4ff;color:#0878f5;display:grid;place-items:center;font-size:29px;font-weight:900;margin-bottom:18px}
.password-setup-card h1{font-size:43px;letter-spacing:-1.2px;color:#0a1d30;margin:8px 0 10px}.password-setup-card>p{font-size:16.5px;line-height:1.75;color:#718396;max-width:510px}
.account-chip{display:flex;align-items:center;gap:12px;background:#f6f9fc;border:1px solid #e4ebf1;border-radius:14px;padding:13px 15px;margin:22px 0}.account-chip>span{width:34px;height:34px;border-radius:10px;background:#e8f3ff;color:#0e75ee;display:grid;place-items:center}.account-chip b,.account-chip small{display:block}.account-chip b{font-size:15.5px;color:#13283c}.account-chip small{font-size:13.5px;color:#7c8d9d;margin-top:2px}
.password-setup-form{display:grid;gap:15px}.password-setup-form label{display:grid;gap:7px;font-size:13.5px;font-weight:700;color:#476076}.password-setup-form input{height:54px;border:1px solid #cedbe6;border-radius:12px;padding:0 15px;font-size:18px;outline:none}.password-setup-form input:focus{border-color:#1680f8;box-shadow:0 0 0 3px rgba(22,128,248,.1)}
.password-setup-form .btn{min-height:56px;margin-top:4px}.password-hint{font-size:12.5px;color:#8495a4;line-height:1.5}.text-logout{display:block;margin:18px auto 0;border:0;background:none;color:#738697;font-size:13.5px;cursor:pointer;text-decoration:underline}
@media(max-width:800px){.client-admin-row{grid-template-columns:1fr auto;gap:8px}.client-admin-row>span:nth-child(2){grid-column:1}.password-field-row{grid-template-columns:1fr}.password-setup-shell{padding:16px}.password-setup-card{padding:30px 22px;border-radius:20px}.password-setup-card h1{font-size:34.5px}.password-setup-brand{margin-bottom:24px}}

/* MOF Client + Admin CRM v7 */
.client-nav{display:grid;gap:7px;padding:12px 10px}.client-nav-link{display:flex;align-items:center;gap:12px;padding:12px 13px;border-radius:12px;color:#b9cad8;text-decoration:none;font-size:15.5px;font-weight:650;transition:.18s}.client-nav-link:hover{background:rgba(255,255,255,.06);color:#fff}.client-nav-link.active{background:linear-gradient(135deg,#1682ff,#0764d8);color:#fff;box-shadow:0 10px 24px rgba(0,115,240,.24)}.client-nav-link .nav-icon{width:22px;height:22px;display:grid;place-items:center;font-size:18px}.client-nav-link>b{margin-left:auto;min-width:20px;height:20px;border-radius:99px;background:#ef5b4f;color:#fff;display:grid;place-items:center;font-size:12.5px;padding:0 5px}.read-only-chip{display:inline-flex;align-items:center;min-height:38px;padding:0 13px;border-radius:99px;background:#edf5ff;color:#116fda;font-size:13.5px;font-weight:800;border:1px solid #d8e9fb}.form-note{font-size:12.5px;color:#8092a3;line-height:1.5}
.client-timeline{display:grid;gap:14px}.timeline-visit{display:grid;grid-template-columns:150px 1fr;background:#fff;border:1px solid #e4ebf2;border-radius:16px;overflow:hidden;box-shadow:0 7px 24px rgba(11,40,65,.04)}.timeline-date{padding:22px;background:#071b2f;color:#fff;display:flex;flex-direction:column;justify-content:center}.timeline-date b{font-size:22px}.timeline-date span{font-size:16.5px;color:#8fb3d3;margin-top:5px}.timeline-main{padding:20px 22px}.timeline-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.timeline-top h3{font-size:22px;margin:4px 0 0}.visit-details{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.visit-details>span{padding:12px;border-radius:11px;background:#f6f9fc;display:grid;gap:4px}.visit-details small{font-size:11px;color:#8192a2;text-transform:uppercase;letter-spacing:.06em}.visit-details b{font-size:13.5px;color:#183148}.visit-note{margin:12px 0 0;padding:12px 14px;border-left:3px solid #1780f7;background:#f2f8ff;border-radius:0 8px 8px 0;font-size:13.5px;color:#526b81;line-height:1.55}
.client-row-card{width:100%;border:0;border-bottom:1px solid #e7edf2;background:#fff;display:grid;grid-template-columns:44px minmax(240px,1fr) 90px 145px 24px;align-items:center;gap:14px;padding:15px 10px;text-align:left;cursor:pointer;color:#173049;transition:.16s}.client-row-card:hover{background:#f7fbff}.client-avatar{width:40px;height:40px;border-radius:12px;background:#eaf4ff;color:#1078ef;display:grid;place-items:center;font-size:15.5px;font-weight:900}.client-avatar.big{width:54px;height:54px;border-radius:16px;font-size:19px}.client-row-main,.client-row-meta{display:grid;gap:4px}.client-row-main b{font-size:15.5px}.client-row-main small,.client-row-meta small{font-size:12.5px;color:#8493a1}.client-row-meta b{font-size:21px}.client-row-card .row-arrow{font-size:22px;color:#8da0b1}.client-manage-head{display:flex;align-items:center;gap:14px;margin-bottom:18px}.client-manage-head h3{margin:0;font-size:25px}.client-manage-head p{margin:4px 0 0;font-size:13.5px;color:#7b8c9b}.manage-tabs{display:flex;gap:6px;border-bottom:1px solid #e5ebf0;margin:0 -2px 20px;padding-bottom:10px;overflow:auto}.manage-tabs button{border:0;background:transparent;padding:9px 12px;border-radius:9px;font-size:13.5px;font-weight:800;color:#708293;cursor:pointer;white-space:nowrap}.manage-tabs button.active{background:#eaf4ff;color:#0d72de}.manage-toolbar{display:flex;justify-content:flex-end;margin-bottom:12px}.manage-list{display:grid;gap:8px}.manage-item{padding:13px 14px;border:1px solid #e4eaf0;border-radius:11px;background:#fbfcfd;display:flex;justify-content:space-between}.manage-item span{display:grid;gap:4px}.manage-item b{font-size:14.5px}.manage-item small{font-size:12.5px;color:#8091a1}.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.access-grid section{padding:18px;border:1px solid #e3eaf0;border-radius:13px}.access-grid h4{font-size:16.5px;margin:0 0 7px}.access-grid p{font-size:12.5px;color:#7b8d9d;line-height:1.6;margin:0 0 15px}.danger-zone{background:#fff7f6;border-color:#f5d7d4!important}.btn.danger{background:#d94135;color:#fff;border-color:#d94135}.danger-lite{color:#c8463c!important;border-color:#f0cbc8!important}.admin-visit-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,.8fr) auto auto;gap:16px;align-items:center}
@media(max-width:900px){.timeline-visit{grid-template-columns:1fr}.timeline-date{padding:14px 18px;flex-direction:row;gap:10px;justify-content:flex-start;align-items:center}.timeline-date span{margin:0}.visit-details{grid-template-columns:1fr}.client-row-card{grid-template-columns:44px 1fr auto}.client-row-meta{display:none}.client-row-card>.status{grid-column:2}.client-row-card .row-arrow{grid-column:3;grid-row:1/3}.access-grid{grid-template-columns:1fr}.admin-visit-row{grid-template-columns:1fr auto}.admin-visit-row>span:nth-child(2){grid-column:1}.timeline-main{padding:17px}}
.manage-item-actions{display:flex;gap:7px;align-items:center}.vehicle-empty{grid-column:1/-1}.settings-card form{display:grid}.settings-card input{width:100%}

/* v9 admin client management */
.client-row-card.loading{opacity:.65;cursor:wait}.client-row-card:disabled{pointer-events:none}.manage-tabs button{cursor:pointer}.modal.wide{max-width:980px}
/* MOF v10 */
.company-list{overflow:hidden}.company-head,.company-row{display:grid;grid-template-columns:2fr 1.4fr .6fr .7fr;gap:16px;align-items:center}.company-row{padding:18px 14px;border-top:1px solid #e6edf5;color:#102033;text-decoration:none;transition:.2s}.company-row:hover{background:#f3f8ff;transform:translateX(2px)}.company-row small{display:block;color:#74869a;margin-top:4px}.admin-vehicle-grid{margin-top:18px}.workspace-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.passport-sections{display:grid;grid-template-columns:1fr;gap:18px;margin-top:18px}.history-row{display:grid;grid-template-columns:120px 1fr;gap:18px;padding:16px 0;border-bottom:1px solid #e8eef5}.history-row>span{display:flex;flex-direction:column;gap:5px}.history-row small{color:#718297;line-height:1.5}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}.media-grid figure{margin:0;border:1px solid #dde7f1;border-radius:14px;overflow:hidden;background:#fff}.media-grid img,.media-grid video,.issue-preview img,.issue-preview video{display:block;width:100%;max-height:320px;object-fit:cover;background:#071827}.media-grid figcaption{padding:10px;font-size:15.5px;color:#526579}.issue-preview{margin:18px 0;border-radius:15px;overflow:hidden;border:1px solid #dce6f1}.issue-media-link{display:inline-block;margin-top:7px;font-size:15.5px;color:#0878ee}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:7px}.check-card{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;border:1px solid #dbe6f1;padding:10px 12px;border-radius:10px;font-weight:600!important;background:#f9fbfd}.check-card input{width:auto!important;margin:0}.row-actions{display:flex;gap:8px;justify-content:flex-end}.manage-item-actions{display:flex;gap:7px;flex-wrap:wrap}.read-only-chip{border:1px solid #cfe2f7;background:#eef7ff;color:#1769aa;border-radius:999px;padding:8px 12px;font-size:15.5px;font-weight:700}.admin-content{min-width:0}.admin-nav a{min-height:48px}.admin-nav a span{font-size:18px}.client-nav-link{min-height:48px;font-size:18px}.client-nav-link .nav-icon{font-size:22px}.app-sidebar{width:270px}.app-main{margin-left:270px}.app-content{padding:28px 32px}.panel-card{border-radius:16px}.vehicle-card{border-radius:16px}.page-top h1{font-size:36.5px}.issue-row{grid-template-columns:auto 1fr auto}.modal.wide{max-width:980px}
@media(max-width:900px){.company-head{display:none}.company-row{grid-template-columns:1fr auto}.company-row span:nth-child(2),.company-row span:nth-child(3){display:none}.check-grid{grid-template-columns:1fr}.app-sidebar{width:280px}.app-main{margin-left:0}.app-content{padding:18px}.history-row{grid-template-columns:1fr;gap:6px}.row-actions{flex-wrap:wrap}.admin-visit-row{display:grid!important;grid-template-columns:1fr}.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* MOF v11 */
.nav-badge.danger-badge,.danger-badge{background:#e5484d!important;color:#fff!important;box-shadow:0 0 0 4px rgba(229,72,77,.12)}
.admin-notice{position:relative;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:#fff1f2;color:#d92d20;text-decoration:none;margin-right:8px;border:1px solid #fecdd3}.admin-notice b{position:absolute;right:-5px;top:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#d92d20;color:#fff;font-size:14.5px;display:grid;place-items:center}.new-row{background:linear-gradient(90deg,#fff6f6,#fff)}
.client-badge{margin-left:auto;min-width:21px;height:21px;padding:0 6px;border-radius:999px;background:#e5484d;color:#fff;display:grid;place-items:center;font-size:14.5px}.notice-btn{position:relative}.notice-btn i{position:absolute;right:-3px;top:-5px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#e5484d;color:#fff;font-style:normal;font-size:13.5px;display:grid;place-items:center}
.passport-accordion{display:grid;gap:14px}.passport-drop{background:#fff;border:1px solid #dbe5ef;border-radius:18px;overflow:hidden;box-shadow:0 8px 24px rgba(7,31,56,.04)}.passport-drop summary{cursor:pointer;list-style:none;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:18px;font-weight:800;color:#0c2239}.passport-drop summary::-webkit-details-marker{display:none}.passport-drop summary span{display:flex;gap:10px;align-items:center}.passport-drop summary b{min-width:30px;height:30px;padding:0 8px;border-radius:999px;background:#edf5ff;color:#0b6fe8;display:grid;place-items:center;font-size:15.5px}.passport-drop[open] summary{border-bottom:1px solid #e7eef5;background:#f9fbfd}.drop-body{padding:18px 20px}.report-card-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #edf1f5}.report-card-row:last-child{border-bottom:0}.report-card-row span{display:flex;flex-direction:column;gap:4px}.report-card-row small{color:#6c7d90}
.media-grid img,.issue-preview img{display:block;width:100%;height:220px;object-fit:cover;border-radius:14px;background:#eef3f8}.media-grid video,.issue-preview video{width:100%;max-height:360px;border-radius:14px;background:#000}.issue-preview{margin:16px 0;max-width:760px}
.permissions-head{display:flex;flex-direction:column;gap:4px;margin-top:8px}.permissions-head small{color:#6c7d90}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.perm-group{border:1px solid #dbe5ef;border-radius:14px;padding:12px 14px}.perm-group legend{font-weight:800;color:#17324d;padding:0 6px}.perm-item{display:flex!important;flex-direction:row!important;align-items:center;gap:9px;padding:7px 0;font-size:16.5px}.perm-item input{width:17px!important;height:17px!important;margin:0!important}.employee-row{grid-template-columns:minmax(240px,1fr) auto auto auto}.read-only-details{display:grid;gap:10px;padding:8px}.read-only-details p{margin:0;padding:10px 12px;background:#f7fafc;border-radius:10px}.visit-admin-actions{display:flex;gap:8px;margin-top:16px}.admin-timeline .timeline-visit{background:#fff}.notification>div{display:flex;flex-direction:column;gap:3px}.notification>div>span{font-size:16.5px;color:#3f5367}.notification-icon.pickup{background:#e8f8ee;color:#1f9254}
@media(max-width:800px){.permission-grid{grid-template-columns:1fr}.employee-row{grid-template-columns:1fr}.report-card-row{align-items:flex-start;flex-direction:column}.media-grid img{height:180px}.admin-notice{width:38px;height:38px}}

/* MOF v12 */
.client-badge,.nav-badge.red,.admin-notice b{background:#ef4444!important;color:#fff!important;border-radius:999px;min-width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;font-size:14.5px;font-weight:800}
.admin-notice{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;text-decoration:none;margin:0 6px;background:#eef5ff;color:#0b63ce}.admin-notice.has-new{background:#fff0f0;color:#dc2626}.admin-notice b{position:absolute;right:-5px;top:-5px}
.admin-issue-row.unread{background:#fff6f6;border-left:4px solid #ef4444}.admin-issue-row.unread b:first-child{color:#b91c1c}
.passport-accordion,.issue-company-groups{display:grid;gap:14px}.passport-accordion details.panel-card,.issue-company-groups details.panel-card{padding:0;overflow:hidden}.passport-accordion summary,.issue-company-groups summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:18px 20px;list-style:none}.passport-accordion summary::-webkit-details-marker,.issue-company-groups summary::-webkit-details-marker{display:none}.passport-accordion summary span,.issue-company-groups summary span{display:grid;gap:4px}.passport-accordion summary small,.issue-company-groups summary small{color:#6b7f95;font-weight:500}.accordion-body{padding:0 20px 20px;border-top:1px solid #e7edf5}.passport-search{margin-bottom:14px;padding:14px}.passport-search .search{width:100%}
.notification-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.notification .mini-action{white-space:nowrap}.notification-bell{position:relative}.notification-bell i{position:absolute;right:-5px;top:-5px;background:#ef4444;color:#fff;border-radius:999px;min-width:20px;height:20px;padding:0 5px;display:flex;align-items:center;justify-content:center;font-size:13.5px;font-style:normal;font-weight:800}
.link-row{text-decoration:none;color:inherit}.link-row:hover{background:#f7fbff}.visit-admin-actions{display:flex;gap:8px;margin-top:16px}.admin-timeline .timeline-visit{background:#fff;border:1px solid #e1e9f2;border-radius:16px;overflow:hidden}.visit-details{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important}.visit-details span{min-width:0}.visit-details b{white-space:normal;overflow-wrap:anywhere}.timeline-top h3{white-space:normal;overflow-wrap:anywhere}.vehicle-actions{display:flex;gap:8px;flex-wrap:wrap}.btn.danger{background:#fff1f2;color:#be123c;border-color:#fecdd3}.btn.danger:hover{background:#ffe4e6}.issue-preview img,.issue-preview video{max-width:100%;max-height:420px;border-radius:14px;object-fit:contain;background:#07182b}.company-issue-group .admin-issue-row{width:100%}
@media(max-width:760px){.notification{align-items:flex-start}.notification-actions{width:100%;margin-left:0;justify-content:flex-end}.passport-accordion summary,.issue-company-groups summary{padding:15px}.accordion-body{padding:0 15px 15px}.visit-admin-actions{flex-wrap:wrap}.admin-notice{width:36px;height:36px}}
.visit-types{border:1px solid #d9e4f0;border-radius:14px;padding:14px;margin:0}.visit-types legend{padding:0 7px;font-weight:800;color:#0b1f33}.visit-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 12px}.visit-type-grid .check{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid #e5edf5;border-radius:10px;background:#f9fbfd}.visit-type-grid input{width:auto}.issue-company-groups details+details{margin-top:0}
@media(max-width:620px){.visit-type-grid{grid-template-columns:1fr}}
.fleet-history-search{margin-top:18px;padding:0;overflow:hidden}.fleet-history-search summary{cursor:pointer;display:flex;justify-content:space-between;padding:18px 20px;list-style:none}.fleet-history-search summary::-webkit-details-marker{display:none}.fleet-history-search summary span{display:grid;gap:4px}.fleet-history-search summary small{color:#6b7f95}.history-global-search{margin:16px 0;width:100%}

/* v13 — centrum powiadomień i poczta */
.notification-settings-card{margin-top:24px;padding:24px}.pref-head,.pref-row{display:grid;grid-template-columns:minmax(220px,1fr) 110px 110px;gap:16px;align-items:center}.pref-head{padding:0 10px 10px;color:#7c8da5;font-size:15.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.pref-head span:not(:first-child){text-align:center}.pref-row{padding:15px 10px;border-top:1px solid #e8edf5}.pref-row>div{display:flex;flex-direction:column;gap:3px}.pref-row small{color:#8a97aa;font-size:15.5px}.switch-cell{display:flex!important;align-items:center;justify-content:center;gap:8px;margin:0!important}.switch-cell span{display:none}.switch-cell input{appearance:none;width:44px;height:24px;border-radius:999px;background:#ccd5e2;position:relative;cursor:pointer;transition:.2s;border:0}.switch-cell input:before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0002;transition:.2s}.switch-cell input:checked{background:#1267e5}.switch-cell input:checked:before{transform:translateX(20px)}.switch-cell input:disabled{opacity:.6;cursor:not-allowed}.pref-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;padding-top:18px;border-top:1px solid #e8edf5}.pref-footer small{color:#718096;max-width:650px}.mail-state{display:flex;flex-direction:column;gap:5px;padding:14px 16px;border-radius:12px;margin-bottom:14px}.mail-state.ok{background:#ecfdf3;color:#087443}.mail-state.warn{background:#fff7e8;color:#985b00}.mail-state.bad{background:#fff1f2;color:#b42318}.mail-log{display:flex;flex-direction:column;margin-top:10px}.mail-log>div{display:flex;gap:10px;padding:11px 0;border-top:1px solid #eef2f7}.mail-log span:not(.mail-dot){display:flex;flex-direction:column;gap:2px;min-width:0}.mail-log b{font-size:16.5px}.mail-log small{font-size:14.5px;color:#7b8798;overflow-wrap:anywhere}.mail-error{color:#b42318!important}.mail-dot{width:9px;height:9px;border-radius:50%;margin-top:5px;background:#98a2b3;flex:0 0 auto}.mail-dot.sent{background:#12b76a}.mail-dot.failed{background:#f04438}.mail-dot.skipped{background:#f79009}.settings-card.compact{padding:0;background:transparent;box-shadow:none;border:0}.settings-card.compact label{margin-bottom:12px}
@media(max-width:720px){.pref-head{display:none}.pref-row{grid-template-columns:1fr 72px 72px}.switch-cell{flex-direction:column}.switch-cell span{display:block;font-size:13.5px;color:#8290a3}.pref-footer{align-items:stretch;flex-direction:column}.notification-settings-card{padding:18px}}


/* v16 — komentarze wewnętrzne do wycen */
.quote-comments{margin-top:18px;padding:18px;border:1px solid #e3eaf3;border-radius:14px;background:#f8fafc}.quote-comments-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.quote-comments-title small{font-size:13.5px;font-weight:800;letter-spacing:.12em;color:#0877e8}.quote-comments-title h4{margin:3px 0 0;font-size:21px}.quote-comments-title>span{min-width:28px;height:28px;border-radius:999px;background:#e7f1ff;color:#0877e8;display:grid;place-items:center;font-weight:800}.quote-comments-list{display:grid;gap:9px;max-height:240px;overflow:auto;margin-bottom:12px}.quote-comment{background:#fff;border:1px solid #e5ebf2;border-radius:11px;padding:11px 13px}.quote-comment-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.quote-comment-head b{font-size:15.5px}.quote-comment-head small{font-size:13.5px;color:#718096}.quote-comment p{margin:7px 0 0;white-space:pre-wrap;line-height:1.45;font-size:15.5px}.quote-comments-empty{padding:14px;text-align:center;color:#718096;background:#fff;border:1px dashed #d8e1ec;border-radius:11px}.quote-comment-field{display:grid;gap:7px;font-size:14.5px;font-weight:700;color:#5e7188}.quote-comment-field textarea{width:100%;resize:vertical;min-height:92px;border:1px solid #cad7e6;border-radius:10px;padding:11px 12px;font:inherit;color:#10233f;background:#fff}.quote-comment-field textarea:focus{outline:2px solid rgba(13,110,253,.15);border-color:#0d6efd}.quote-comments .btn{margin-top:10px}

/* MOF v18 — Finanse */
.finance-kpis{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:18px}
.finance-toolbar{margin-bottom:18px}.finance-toolbar .search{flex:1}.finance-toolbar select{min-width:190px}
.finance-groups{display:grid;gap:14px}.finance-company{padding:0;overflow:hidden}.finance-company>summary{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;cursor:pointer;background:#fff}.finance-company>summary span{display:flex;flex-direction:column;gap:4px}.finance-company>summary small{color:#728196;font-weight:500}.finance-company>.accordion-body{padding:0 18px 18px}
.finance-table{display:grid;gap:10px}.finance-row{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(140px,.75fr) minmax(140px,.7fr) minmax(120px,.6fr) auto;align-items:center;gap:14px;padding:15px 16px;border:1px solid #e3eaf2;border-radius:14px;background:#fff}.finance-row:hover{border-color:#b9d5f6;box-shadow:0 8px 24px rgba(19,74,126,.06)}.finance-row>div{min-width:0}.finance-row small{display:block;color:#76869a;margin-bottom:4px}.finance-main b{font-size:19px}.finance-main small{white-space:normal}.finance-row .row-actions{display:flex;gap:7px;justify-content:flex-end;flex-wrap:wrap}.finance-note{grid-column:1/-1!important;display:flex;gap:12px;padding-top:10px;border-top:1px dashed #dbe4ee}.finance-note small{min-width:70px}.finance-note span{color:#43556b}.primary-lite{background:#e8f3ff!important;color:#0874df!important;border-color:#b9dafd!important}
@media(max-width:1050px){.finance-row{grid-template-columns:1fr 1fr}.finance-row .row-actions{justify-content:flex-start}.finance-note{grid-column:1/-1!important}}
@media(max-width:720px){.finance-kpis{grid-template-columns:1fr}.finance-toolbar{display:grid}.finance-toolbar select{width:100%;min-width:0}.finance-row{grid-template-columns:1fr}.finance-company>summary{padding:15px}.finance-company>.accordion-body{padding:0 12px 12px}.finance-row .row-actions{display:grid;grid-template-columns:1fr}.finance-row .row-actions button{width:100%}}

/* MOF v19 — czas pracy i grafik */
.work-clock-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;margin-bottom:20px;border:1px solid #dbe6f1;border-radius:18px;background:linear-gradient(135deg,#fff,#f6faff);box-shadow:0 10px 30px rgba(18,55,91,.06)}.work-clock-card.running{border-color:#a9dbbd;background:linear-gradient(135deg,#f4fff8,#fff)}.work-clock-card h3{margin:4px 0 3px}.work-clock-card p{margin:0;color:#718096}.work-clock-right{display:flex;align-items:center;gap:14px}.work-live{font-size:26px;white-space:nowrap;color:#087443}
.work-summary-card{margin-top:18px;overflow:hidden}.work-summary-table{overflow:auto}.work-summary-head,.work-summary-row{display:grid;grid-template-columns:minmax(180px,1.4fr) repeat(7,minmax(100px,.75fr));gap:10px;align-items:center;min-width:1040px}.work-summary-head{padding:10px 12px;color:#718096;font-size:14.5px;text-transform:uppercase}.work-summary-row{width:100%;padding:14px 12px;border:0;border-top:1px solid #edf1f5;background:#fff;text-align:left;color:#10233f;cursor:pointer}.work-summary-row:hover{background:#f8fbff}.work-summary-row span:first-child{display:grid}.work-summary-row small{color:#7b8798}.plus{color:#087443;font-weight:800}.minus{color:#c43232;font-weight:800}
.work-detail{display:grid;gap:16px}.work-detail section{border:1px solid #e3eaf2;border-radius:14px;overflow:hidden}.work-detail h4{display:flex;justify-content:space-between;margin:0;padding:12px 14px;background:#f7faff}.work-session-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:12px 14px;border-top:1px solid #edf1f5}.work-session-row span{display:grid}.work-session-row small{color:#718096}
.schedule-nav{display:flex;justify-content:space-between;gap:10px;margin-bottom:16px}.schedule-week{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:10px;overflow:auto;padding-bottom:6px}.schedule-day{min-width:150px;border:1px solid #dfe7f0;border-radius:16px;background:#f8fafc;overflow:hidden}.schedule-day>header{display:flex;justify-content:space-between;gap:8px;padding:12px;background:#eef5ff}.schedule-day>header span{font-size:14.5px;color:#63758c}.schedule-day>div{display:grid;gap:8px;padding:9px}.shift-card{padding:11px;border:1px solid #dfe8f1;border-radius:12px;background:#fff;box-shadow:0 4px 14px rgba(13,50,85,.04)}.shift-card>b,.shift-card>strong,.shift-card>small{display:block}.shift-card>strong{margin:5px 0;color:#0874df}.shift-card>small{color:#718096}.shift-card p{font-size:14.5px;margin:7px 0;color:#43556b}.shift-card>div{display:flex;gap:5px;margin-top:8px;flex-wrap:wrap}.schedule-empty{display:block;padding:18px 6px;text-align:center;color:#97a3b3;font-size:14.5px}
@media(max-width:850px){.work-clock-card{align-items:flex-start;flex-direction:column}.work-clock-right{width:100%;justify-content:space-between}.schedule-week{grid-template-columns:repeat(7,220px)}}

/* MOF v20 — precyzyjny czas pracy */
.my-time-summary{display:grid;grid-template-columns:repeat(6,minmax(110px,1fr));gap:10px;margin:-8px 0 20px}.my-time-summary>div{display:grid;gap:3px;padding:13px 14px;border:1px solid #dfe8f1;border-radius:14px;background:#fff}.my-time-summary b{font-size:21px}.my-time-summary small{color:#718096}.my-time-summary .eyebrow{font-size:12.5px}
@media(max-width:900px){.my-time-summary{grid-template-columns:repeat(2,1fr)}} 

/* MOF v21 — eksport grafiku */
.export-intro{padding:14px 16px;border-radius:14px;background:#f4f8fd;border:1px solid #dce8f5}.export-intro p{margin:5px 0 0;color:#687b91;font-size:15.5px;line-height:1.5}.export-preview{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px dashed #aac9eb;border-radius:14px;background:#fbfdff}.export-preview>span{font-size:26px}.export-preview div{display:grid;gap:4px}.export-preview small{color:#718096;line-height:1.5}

/* ================= MOF v22 — nowy responsywny footer ================= */
.site-footer{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 8% 0%,rgba(17,110,253,.13),transparent 30%),
    linear-gradient(180deg,#061524 0%,#03101c 100%);
  color:#fff;
  border-top:1px solid rgba(255,255,255,.07);
}
.site-footer:before{
  content:"";position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(31,130,255,.75),transparent);
}
.footer-main{
  display:grid;
  grid-template-columns:minmax(300px,1.75fr) repeat(3,minmax(140px,.7fr));
  gap:clamp(32px,5vw,76px);
  padding:64px 0 50px;
  align-items:start;
}
.footer-brand{max-width:420px}
.footer-brand .brand{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0 0 18px;
  min-width:0;
}
.footer-brand .brandmark{font-size:39px;line-height:1;letter-spacing:-2px}.footer-brand .brand-icon{width:38px;height:38px;border-radius:10px}
.footer-brand .brandtext{
  display:block;
  max-width:132px;
  font-size:11px;
  line-height:1.35;
  letter-spacing:1.45px;
  white-space:normal;
  color:#fff;
}
.footer-brand>p{
  margin:0;
  max-width:390px;
  color:#91a4b7;
  font-size:16.5px;
  line-height:1.75;
}
.footer-cta{
  margin-top:24px;
  width:min(100%,365px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:15px 17px;
  border:1px solid rgba(74,153,255,.25);
  border-radius:14px;
  background:rgba(19,104,216,.09);
  text-decoration:none;
  transition:.2s ease;
}
.footer-cta:hover{transform:translateY(-2px);border-color:rgba(74,153,255,.5);background:rgba(19,104,216,.15)}
.footer-cta span{color:#94a9bd;font-size:14.5px}
.footer-cta b{color:#55a1ff;font-size:14.5px;white-space:nowrap}
.footer-col{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
  min-width:0;
}
.footer-col h3{
  margin:3px 0 9px;
  color:#e7eef5;
  font-size:14.5px;
  text-transform:uppercase;
  letter-spacing:1.7px;
}
.footer-col>a,.footer-col>span{
  margin:0;
  color:#8599ac;
  font-size:15.5px;
  line-height:1.45;
  text-decoration:none;
  transition:.18s ease;
}
.footer-col>a:hover{color:#fff;transform:translateX(2px)}
.footer-contact .footer-contact-link{
  margin-top:5px;
  color:#69adff;
  font-weight:700;
}
.footer-contact-link b{margin-left:5px}
.footer-bottom{
  position:relative;
  padding:20px 0 24px;
  border-top:1px solid rgba(255,255,255,.075);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  color:#6f8498;
  font-size:13.5px;
}
.footer-bottom-links{display:flex;align-items:center;gap:22px}
.footer-bottom button,.footer-bottom a{
  padding:0;
  border:0;
  background:none;
  color:#75899c;
  font:inherit;
  text-decoration:none;
  cursor:pointer;
}
.footer-bottom button:hover,.footer-bottom a:hover{color:#d9e5ef}

/* desktop / tablet */
@media(max-width:980px){
  .footer-main{grid-template-columns:1.4fr 1fr 1fr;gap:36px}
  .footer-brand{grid-column:1/-1;max-width:none;display:grid;grid-template-columns:minmax(260px,1fr) minmax(280px,.75fr);gap:30px;align-items:end}
  .footer-brand .brand,.footer-brand>p{grid-column:1}
  .footer-brand .footer-cta{grid-column:2;grid-row:1/3;margin:0;align-self:end}
  .footer-contact{grid-column:auto}
}

/* phone */
@media(max-width:640px){
  .site-footer{margin-top:0}
  .footer-main{
    width:min(100% - 34px,560px);
    grid-template-columns:1fr 1fr;
    gap:0 22px;
    padding:38px 0 26px;
  }
  .footer-brand{
    grid-column:1/-1;
    display:block;
    max-width:none;
    padding-bottom:28px;
    margin-bottom:25px;
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .footer-brand .brand{margin-bottom:14px}
  .footer-brand .brandmark{font-size:35.5px}
  .footer-brand .brand-icon{width:34px;height:34px}
  .footer-brand .brandtext{font-size:10px;max-width:120px;letter-spacing:1.25px}
  .footer-brand>p{
    max-width:100%;
    font-size:15.5px;
    line-height:1.65;
    color:#8ea1b4;
  }
  .footer-cta{
    margin-top:18px;
    width:100%;
    min-height:54px;
    padding:13px 15px;
    border-radius:13px;
  }
  .footer-cta span{font-size:13.5px}
  .footer-cta b{font-size:13.5px}
  .footer-col{
    padding:0 0 27px;
    gap:10px;
  }
  .footer-col h3{
    font-size:13.5px;
    margin:0 0 7px;
    letter-spacing:1.55px;
  }
  .footer-col>a,.footer-col>span{font-size:14.5px}
  .footer-contact{
    grid-column:1/-1;
    margin-top:2px;
    padding:20px 0 2px;
    border-top:1px solid rgba(255,255,255,.08);
    display:grid;
    grid-template-columns:1fr auto;
    align-items:center;
    gap:8px 16px;
  }
  .footer-contact h3{grid-column:1/-1}
  .footer-contact>span{grid-column:1}
  .footer-contact>a[href^="mailto"]{grid-column:1;color:#b8c7d4}
  .footer-contact .footer-contact-link{
    grid-column:2;
    grid-row:2/4;
    align-self:center;
    margin:0;
    padding:10px 12px;
    border-radius:10px;
    background:rgba(16,113,237,.12);
    white-space:nowrap;
  }
  .footer-bottom{
    width:min(100% - 34px,560px);
    padding:18px 0 max(22px,env(safe-area-inset-bottom));
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
    font-size:12.5px;
  }
  .footer-bottom-links{gap:18px;flex-wrap:wrap}
}

/* very small phones */
@media(max-width:390px){
  .footer-main{grid-template-columns:1fr;gap:0}
  .footer-col{border-bottom:1px solid rgba(255,255,255,.065);padding:18px 0}
  .footer-col:nth-of-type(2){padding-top:0}
  .footer-contact{grid-template-columns:1fr;border-bottom:0}
  .footer-contact h3,.footer-contact>span,.footer-contact>a[href^="mailto"],.footer-contact .footer-contact-link{grid-column:1;grid-row:auto}
  .footer-contact .footer-contact-link{justify-self:start;margin-top:5px}
}

/* ================= MOF v23 — cennik publiczny + panel ================= */
.pricing-hero{position:relative;overflow:hidden;background:#061526;color:#fff;min-height:390px}
.pricing-hero-bg{position:absolute;inset:0;background:radial-gradient(circle at 76% 45%,rgba(12,117,255,.18),transparent 31%),linear-gradient(108deg,#04111f 0%,#092138 70%,#061526 100%)}
.pricing-hero-head{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:390px}
.pricing-hero h1{font-size:clamp(45px,5vw,72px);letter-spacing:-3.8px;line-height:1;margin:14px 0 13px}.pricing-hero h1 em{color:#0e7afc;font-style:normal}.pricing-hero p{font-size:20px;color:#d2deea}.pricing-van{height:330px;display:grid;place-items:center}.pricing-van img{width:min(630px,116%);filter:drop-shadow(0 28px 30px rgba(0,0,0,.48));mix-blend-mode:screen}
.pricing-stage{background:linear-gradient(180deg,#f8fafc,#fff);padding:0 0 70px}.pricing-stage>.container{position:relative;margin-top:-82px;z-index:3}
.pricing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:start}
.pricing-plan{position:relative;display:flex;flex-direction:column;min-height:0;height:auto;padding:26px 24px 22px;border:1px solid #d8e2ec;border-radius:15px;background:#fff;box-shadow:0 17px 44px rgba(5,29,54,.08);overflow:hidden}
.pricing-plan:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:#8a99a8}.pricing-plan.basic:before{background:#b97846}.pricing-plan.standard:before{background:#8896a4}.pricing-plan.premium:before{background:#d99a2b}.pricing-plan.trial:before{background:#2ea768}.pricing-plan.fleet{background:linear-gradient(155deg,#0b2a49,#06172a);color:#fff;border-color:#144b80;box-shadow:0 20px 55px rgba(1,30,64,.24)}.pricing-plan.fleet:before{background:#1683ff}
.pricing-badge{position:absolute;right:-34px;top:18px;transform:rotate(42deg);width:150px;text-align:center;padding:5px;background:#1279ee;color:#fff;font-size:11px;font-weight:900;text-transform:uppercase}
.plan-top{display:flex;gap:13px;align-items:flex-start;padding-right:8px}.plan-emblem{width:49px;height:55px;flex:0 0 auto;display:grid;place-items:center;border-radius:14px;background:linear-gradient(145deg,#2a1c10,#1a1108);border:1px solid #6b4224;color:#e2a06b;font-size:27px}.standard .plan-emblem{background:linear-gradient(145deg,#161e26,#0d151b);border-color:#334656;color:#c3ced8}.premium .plan-emblem{background:linear-gradient(145deg,#26200e,#1a1608);border-color:#6b5417;color:#e8bc52}.trial .plan-emblem{background:linear-gradient(145deg,#12281c,#0c1a12);border-color:#2ea768;color:#4fd98b}.fleet .plan-emblem{background:linear-gradient(145deg,#1688ff,#003d83);border-color:#1688ff;color:#fff}
.plan-top h2{font-size:24px;margin:1px 0 5px;letter-spacing:-.5px}.plan-top p{margin:0;font-size:13.5px;line-height:1.55;color:#5f6f80}.fleet .plan-top p{color:#bfd1e2}
.plan-price{position:relative;text-align:center;padding:24px 0 19px;margin:7px 0 14px;border-bottom:1px solid #d6e0e9}.fleet .plan-price{border-color:#2a4e70}.plan-price>span:not(.old-price){font-size:14.5px;font-weight:700;margin-right:4px}.plan-price strong{font-size:44px;line-height:1;color:#ac6936}.standard .plan-price strong{color:#6d7b89}.premium .plan-price strong{color:#bd7f1b}.trial .plan-price strong{color:#3fbf82}.fleet .plan-price strong{color:#1d8bff;font-size:35.5px;letter-spacing:1px}.plan-price strong i{font-size:16.5px;font-style:normal;color:inherit}.plan-price small{display:block;margin-top:6px;font-size:13.5px;color:#607184}.fleet .plan-price small{font-size:16.5px;letter-spacing:3px;color:#d8e8f5}.old-price{display:block!important;margin:0 0 4px!important;text-decoration:line-through;color:#9aa8b6!important;font-size:16.5px!important}.promo-pill{position:absolute;right:0;top:5px;padding:5px 7px;border-radius:999px;background:#fff0df;color:#ad5e11;font-size:11px}
.plan-features{display:grid;gap:10px;margin-bottom:0}.plan-features span{display:flex;align-items:flex-start;gap:8px;font-size:13.5px;line-height:1.4}.plan-features span:first-letter{color:#0877f9}.fleet .plan-features span{color:#e3edf6}
.saas-public-pricing .pricing-plan .plan-features span.no{color:#4c6478!important;text-decoration:line-through;opacity:.62}.plan-features span.no .plan-feature-x{font-style:normal;color:#4c6478}.plan-features span.has svg{color:#2ea768;flex:0 0 auto}.pricing-choose{margin-top:16px!important;width:100%;border:1px solid #a9bfd2!important;background:#fff!important;color:#0b6edb!important}.basic .pricing-choose{border-color:#b97846!important;color:#9b572d!important}.premium .pricing-choose{border-color:#ddaa53!important;color:#b8780f!important}.fleet .pricing-choose{background:linear-gradient(135deg,#0877f9,#0759c5)!important;color:#fff!important;border-color:#0877f9!important}
.pricing-lower{display:grid;grid-template-columns:1.15fr 1fr;gap:14px;margin-top:14px}.pricing-extras,.pricing-discounts{padding:22px 24px;border:1px solid #dbe4ed;border-radius:15px;background:#fff;box-shadow:0 12px 35px rgba(7,33,57,.05)}.pricing-section-title{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:18px}.pricing-section-title h3{margin:3px 0 0;font-size:21px}.pricing-section-title>small{font-size:12.5px;color:#758699}
.service-chips{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.service-chips span{display:flex;flex-direction:column;gap:6px;align-items:center;text-align:center;font-size:12.5px;line-height:1.35;color:#26384a}.service-chips i{font-style:normal;color:#0877f9;font-size:27px}
.discount-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.discount-grid>div{min-height:118px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #dce6ef;border-radius:12px;background:#fbfdff;text-align:center}.discount-grid b{font-size:14.5px}.discount-grid strong{display:block;font-size:32.5px;color:#126bd8;margin:8px 0 0}.discount-grid small{text-transform:uppercase;font-size:11px;color:#6c7f91}.discount-grid .custom-discount{font-size:16.5px;line-height:1.25}
.pricing-bottom-band{display:grid;grid-template-columns:2fr repeat(4,1fr) auto;align-items:center;gap:13px;margin-top:14px;padding:16px 20px;border-radius:13px;background:linear-gradient(100deg,#06213b,#051628);color:#fff;box-shadow:0 13px 28px rgba(1,28,54,.15)}.pricing-bottom-band>b{font-size:15.5px}.pricing-bottom-band>span{font-size:12.5px;color:#d3e1ec;text-align:center}.pricing-bottom-band .btn{font-size:12.5px}.pricing-note{text-align:center;color:#8695a4;font-size:12.5px;margin:17px 0 0}
.pricing-admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:18px}.pricing-admin-plan{position:relative;overflow:hidden}.pricing-admin-plan:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:#8c9baa}.pricing-admin-plan.basic:before{background:#b97846}.pricing-admin-plan.premium:before{background:#d99a2b}.pricing-admin-plan.fleet:before{background:#0877f9}.admin-plan-price{display:grid;gap:4px;margin:14px 0;padding:14px;border-radius:12px;background:#f6f9fc}.admin-plan-price strong{font-size:22px}.admin-plan-price small{color:#78899b}.admin-promo{margin-top:6px;padding:7px;border-radius:8px;background:#fff2df;color:#a65b13;font-size:13.5px;font-weight:800}.admin-feature-mini{display:grid;gap:5px;margin-bottom:16px}.admin-feature-mini span,.admin-feature-mini small{font-size:12.5px;color:#617387}.pricing-admin-bottom{display:grid;grid-template-columns:1fr 1fr;gap:18px}.pricing-admin-list{display:grid}.pricing-admin-list .list-row{grid-template-columns:1fr auto auto}.pricing-checks{display:flex;gap:25px;flex-wrap:wrap}.promo-editor{padding:15px;border-radius:14px;background:#fff8ee;border:1px solid #ffe0b3;display:grid;gap:13px}.promo-editor>div:first-child{display:grid;gap:3px}.promo-editor small{color:#876c4e}
@media(max-width:1100px){.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.pricing-plan{min-height:0;height:auto}.pricing-lower{grid-template-columns:1fr}.pricing-admin-grid{grid-template-columns:repeat(2,1fr)}.pricing-bottom-band{grid-template-columns:2fr repeat(2,1fr)}.pricing-bottom-band .btn{grid-column:1/-1}}
@media(max-width:700px){.pricing-hero{min-height:310px}.pricing-hero-head{grid-template-columns:1fr;min-height:310px;padding:44px 0 90px}.pricing-hero h1{font-size:50.5px}.pricing-hero p{font-size:16.5px;max-width:350px}.pricing-van{position:absolute;right:-80px;bottom:-50px;width:310px;height:210px;opacity:.55}.pricing-stage>.container{margin-top:-55px}.pricing-grid{grid-template-columns:1fr;gap:12px;align-items:start}.pricing-plan{min-height:0;height:auto;padding:22px 19px}.plan-price{padding:18px 0}.plan-price strong{font-size:41px}.plan-features{grid-template-columns:1fr}.pricing-lower{display:grid}.service-chips{grid-template-columns:repeat(2,1fr);gap:18px 10px}.discount-grid{grid-template-columns:repeat(2,1fr)}.pricing-bottom-band{display:flex;flex-wrap:wrap;padding:18px}.pricing-bottom-band>b{width:100%;font-size:14.5px}.pricing-bottom-band>span{flex:1 1 40%;text-align:left}.pricing-bottom-band .btn{width:100%}.pricing-admin-grid,.pricing-admin-bottom{grid-template-columns:1fr}.pricing-section-title{align-items:flex-start;flex-direction:column}.pricing-extras,.pricing-discounts{padding:20px 17px}}

/* ================= MOF v25 — owner + logi ================= */
.role-badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 9px;border-radius:999px;font-size:12.5px;font-weight:900;letter-spacing:.08em;background:#eef3f7;color:#607386;white-space:nowrap}
.role-badge.owner{background:linear-gradient(135deg,#fff4c9,#ffe08a);color:#7b5800;border:1px solid #f1cd5f}.role-badge.admin{background:#e8f2ff;color:#075fca}.role-badge.employee{background:#edf1f5;color:#63758a}
.owner-action{border-color:#e1bc46!important;color:#8b6700!important;background:#fffaf0!important}
.owner-info{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px;background:linear-gradient(135deg,#fffdf4,#fff8da);border-color:#f0d677}.owner-info>div{display:grid;gap:5px}.owner-info b{font-size:19px}.owner-info p{margin:0;color:#7a6b3c;font-size:14.5px;line-height:1.55;max-width:760px}.owner-shield{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#f1c94d,#a77700);color:#fff;font-size:26px;box-shadow:0 8px 20px #b88a1730}
.owner-role-warning{padding:15px;border-radius:13px;border:1px solid #f1d477;background:#fff9df}.owner-role-warning p{margin:5px 0 0;color:#786a3e;font-size:14.5px;line-height:1.55}
.audit-panel{padding:20px}.audit-filter{display:grid;grid-template-columns:1.5fr 1.15fr .75fr .75fr .8fr auto;gap:10px;align-items:end}.audit-filter label{display:grid;gap:6px;font-size:13.5px;color:#63758a;font-weight:800}.audit-filter input,.audit-filter select{height:42px;border:1px solid #d1dce7;border-radius:10px;padding:0 11px;background:#fff;color:#10233f}.audit-meta{display:flex;align-items:center;justify-content:space-between;margin:18px 0 8px;color:#77879a;font-size:13.5px}.audit-table{overflow:auto}.audit-head,.audit-row{display:grid;grid-template-columns:150px 190px minmax(260px,1.3fr) minmax(120px,.7fr) 25px;gap:12px;align-items:center;min-width:900px}.audit-head{padding:9px 12px;color:#7a8a9c;text-transform:uppercase;font-size:12.5px}.audit-row{width:100%;border:0;border-top:1px solid #e9eef4;background:#fff;padding:13px 12px;text-align:left;color:#10233f;cursor:pointer}.audit-row:hover{background:#f8fbff}.audit-row span:nth-child(2),.audit-row span:nth-child(3){display:grid;gap:3px}.audit-row b{font-size:14.5px}.audit-row small{font-size:12.5px;color:#8594a5}.audit-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.audit-detail-grid>div,.audit-detail-action{display:grid;gap:4px;padding:12px;border:1px solid #e2e9f0;border-radius:11px;background:#f8fafc}.audit-detail-grid small,.audit-detail-action small{color:#7c8b9b;font-size:12.5px;text-transform:uppercase}.audit-detail-action{margin-top:10px}.audit-detail-action span{font-size:12.5px;color:#8493a3}.audit-json{max-height:340px;overflow:auto;padding:13px;border-radius:12px;background:#061526;color:#d9e9f7;font-size:13.5px;line-height:1.5;white-space:pre-wrap;word-break:break-word;margin-top:10px}
@media(max-width:900px){.audit-filter{grid-template-columns:1fr 1fr}.audit-filter .btn{grid-column:1/-1}.audit-detail-grid{grid-template-columns:1fr 1fr}.employee-row{grid-template-columns:1fr auto!important}.employee-row .row-actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:560px){.audit-filter{grid-template-columns:1fr}.audit-detail-grid{grid-template-columns:1fr}.owner-info{align-items:flex-start}.owner-shield{display:none}}


/* ================= MOF v28 — wyrównana lista pracowników ================= */
.employee-row{
  display:grid !important;
  grid-template-columns:minmax(260px,1.6fr) 110px 150px minmax(320px,auto) !important;
  align-items:center !important;
  gap:18px !important;
  min-height:62px;
  padding:14px 18px !important;
}
.employee-row>span:first-child{
  min-width:0;
}
.employee-row>span:first-child b,
.employee-row>span:first-child small{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.employee-row>.role-badge{
  justify-self:start;
  min-width:86px;
  text-align:center;
}
.employee-row>.status{
  justify-self:start;
  min-width:120px;
  justify-content:flex-start;
}
.employee-row>.row-actions{
  justify-self:end;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:nowrap;
  min-width:0;
}
.employee-row>.row-actions .mini-action{
  white-space:nowrap;
}
@media(max-width:1050px){
  .employee-row{
    grid-template-columns:minmax(220px,1fr) 100px 135px !important;
  }
  .employee-row>.row-actions{
    grid-column:1/-1;
    justify-self:start;
    justify-content:flex-start;
    flex-wrap:wrap;
    padding-top:4px;
  }
}
@media(max-width:680px){
  .employee-row{
    grid-template-columns:1fr auto !important;
    gap:10px 12px !important;
  }
  .employee-row>.role-badge{
    justify-self:end;
  }
  .employee-row>.status{
    grid-column:1/2;
  }
  .employee-row>.row-actions{
    grid-column:1/-1;
    width:100%;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
  }
  .employee-row>.row-actions .mini-action{
    width:100%;
    text-align:center;
  }
}

/* MOF v29 — szczegóły logów */
.audit-human-fields{margin-top:12px;padding:14px 16px;border:1px solid #e1e9f1;border-radius:12px;background:#fbfdff}.audit-human-fields h4{margin:0 0 10px;font-size:15.5px}.audit-human-fields p{margin:0;color:#7b8b9c;font-size:13.5px}.audit-human-row{display:grid;grid-template-columns:145px 1fr;gap:12px;padding:8px 0;border-top:1px solid #edf2f6}.audit-human-row:first-of-type{border-top:0}.audit-human-row small{font-size:12.5px;text-transform:uppercase;color:#8392a2}.audit-human-row b{font-size:14.5px;overflow-wrap:anywhere}.audit-tech{margin-top:12px}.audit-tech summary{cursor:pointer;color:#718296;font-size:13.5px;font-weight:800}.audit-tech .audit-json{margin-top:8px}

/* ================= MOF v31 — faktury klienta ================= */
.invoice-client-kpis{margin-bottom:18px}
.client-invoice-card{overflow:hidden}
.client-invoice-table{overflow:auto}
.client-invoice-head,.client-invoice-row{display:grid;grid-template-columns:minmax(190px,1.4fr) 120px 120px 140px 135px;gap:14px;align-items:center;min-width:760px}
.client-invoice-head{padding:10px 14px;color:#7b8b9b;font-size:12.5px;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e8eef4}
.client-invoice-row{padding:15px 14px;border-bottom:1px solid #edf1f5}.client-invoice-row:last-child{border-bottom:0}.client-invoice-row>div:first-child{display:grid;gap:4px}.client-invoice-row>div:first-child b{font-size:15.5px}.client-invoice-row>div:first-child small{font-size:12.5px;color:#7b8b9b;line-height:1.4}.client-invoice-row>span{font-size:14.5px;color:#53677b}.client-invoice-row>strong{font-size:15.5px}.client-invoice-row.overdue{background:#fffafa}
.latest-invoice-banner{display:grid;grid-template-columns:48px 1fr auto;gap:15px;align-items:center;margin-bottom:18px;border-color:#cfe2f8;background:linear-gradient(135deg,#f8fbff,#fff)}.latest-invoice-banner.overdue{border-color:#f2c9c9;background:linear-gradient(135deg,#fff8f8,#fff)}.latest-invoice-icon{width:46px;height:46px;border-radius:13px;background:#e8f3ff;color:#0877f9;display:grid;place-items:center}.latest-invoice-banner>div:nth-child(2){display:grid;gap:3px}.latest-invoice-banner>div:nth-child(2)>b{font-size:18px}.latest-invoice-banner>div:nth-child(2)>small{font-size:13.5px;color:#6c7f91}.latest-invoice-banner>div:last-child{display:flex;align-items:center;gap:10px}
.notification-go{margin-left:auto;white-space:nowrap;text-decoration:none}
@media(max-width:700px){.latest-invoice-banner{grid-template-columns:42px 1fr}.latest-invoice-banner>div:last-child{grid-column:1/-1;justify-content:space-between}.client-invoice-head,.client-invoice-row{grid-template-columns:minmax(180px,1.3fr) 110px 110px 130px 120px}.notification{grid-template-columns:auto 1fr}.notification-go{grid-column:2;justify-self:start;margin-left:0}}

/* MOF v32 — retencja logów */
.audit-retention{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:16px;border-color:#f0d6a0;background:linear-gradient(135deg,#fffdf8,#fff9e9)}
.audit-retention>div{display:grid;gap:5px}.audit-retention b{font-size:18px}.audit-retention p{margin:0;max-width:760px;color:#7c6d51;font-size:13.5px;line-height:1.55}.audit-retention .btn.danger{white-space:nowrap}
@media(max-width:700px){.audit-retention{align-items:flex-start;flex-direction:column}.audit-retention .btn{width:100%}}

/* ================= MOF v33 — bezpieczeństwo ================= */
.security-settings-card{border-color:#cfe1f5;background:linear-gradient(135deg,#fbfdff,#f4f9ff)}
.security-shield{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#0b76eb;color:#fff;font-size:20px}
.security-note{display:block;margin-top:14px;color:#6d7e90;font-size:13.5px;line-height:1.5}
.security-auth .auth-card form{display:grid;gap:12px}
.security-auth .auth-card form input{letter-spacing:.18em;font-size:24px;text-align:center}

/* MOF v33.1 — blokady logowania */
.security-blocks-card{margin-top:16px}.security-block-list{display:grid}.security-block-row{display:grid;grid-template-columns:minmax(240px,1fr) 160px auto;gap:14px;align-items:center;padding:13px 0;border-top:1px solid #e8eef4}.security-block-row:first-child{border-top:0}.security-block-row>div:first-child{display:grid;gap:3px}.security-block-row small{color:#7c8d9e;font-size:12.5px}.security-block-row .row-actions{justify-self:end;display:flex;gap:8px;flex-wrap:wrap}@media(max-width:760px){.security-block-row{grid-template-columns:1fr auto}.security-block-row .row-actions{grid-column:1/-1;justify-self:start}}

/* =========================================================
   MOF v34 — DARK NAVY THEME
   Główny kolor: głęboki granat / dodatki: biel + elektryczny błękit
   ========================================================= */
:root{
  --navy:#04111f;
  --navy2:#071b2f;
  --blue:#1683ff;
  --blue2:#37a6ff;
  --cyan:#61c8ff;
  --white:#fff;
  --ink:#edf6ff;
  --muted:#8fa5ba;
  --line:#17324a;
  --bg:#061522;
  --green:#35d07f;
  --red:#ff6b6b;
  --orange:#ffb341;
  --shadow:0 20px 60px rgba(0,0,0,.30);
}
body{background:#061522;color:#edf6ff}

/* ===== PANELE ADMIN / OWNER / PRACOWNIK ===== */
.admin-shell{background:linear-gradient(135deg,#04111f 0%,#061827 55%,#071b2f 100%);color:#edf6ff;min-height:100vh}
.admin-top{background:rgba(3,14,25,.96)!important;border-bottom:1px solid #17324a!important;box-shadow:0 10px 30px rgba(0,0,0,.2)}
.admin-top>div>span{color:#8298ad!important}
.admin-body{background:transparent!important}
.admin-nav{background:#03101d!important;border-right:1px solid #17324a!important;color:#8fa5ba!important}
.admin-nav>b{color:#dbeaff!important}
.admin-nav a{color:#91a8bd!important;border:1px solid transparent!important}
.admin-nav a:hover{background:#0a2035!important;color:#fff!important;border-color:#163653!important}
.admin-nav a.active{background:linear-gradient(135deg,#0c6fe8,#1588ff)!important;color:#fff!important;box-shadow:0 10px 26px rgba(17,119,245,.25)!important}
.admin-nav a.active svg,.admin-nav a:hover svg{color:#fff!important}
.admin-content{background:transparent!important;color:#edf6ff}

/* ===== PANEL KLIENTA ===== */
.app-shell{background:linear-gradient(135deg,#04111f,#071b2f);color:#edf6ff;min-height:100vh}
.app-sidebar{background:#03101d!important;border-right:1px solid #17324a!important;color:#8fa5ba!important}
.sidebar-company{border-color:#17324a!important;background:#061725!important}
.sidebar-company small,.sidebar-company span{color:#718ba2!important}
.sidebar-company b{color:#fff!important}
.client-nav-link{color:#8fa5ba!important;border:1px solid transparent!important}
.client-nav-link:hover{background:#0a2035!important;color:#fff!important;border-color:#163653!important}
.client-nav-link.active{background:linear-gradient(135deg,#0d6fe5,#1683ff)!important;color:#fff!important;box-shadow:0 10px 25px rgba(12,112,232,.22)!important}
.sidebar-help{background:#071d31!important;border:1px solid #173a5a!important;color:#aec3d7!important}
.sidebar-help b{color:#fff!important}
.logout{color:#8fa5ba!important;border-color:#17324a!important}
.app-main{background:transparent!important}
.app-header{background:rgba(4,17,31,.94)!important;border-bottom:1px solid #17324a!important;backdrop-filter:blur(14px)}
.app-header b,.app-breadcrumb b{color:#fff!important}.app-header small,.app-breadcrumb small{color:#708aa2!important}
.app-content{background:transparent!important}
.user-menu{background:#071d31!important;border-color:#173a5a!important;color:#eaf4ff!important}
.user-menu small{color:#7891a8!important}

/* ===== KARTY / TABELE / SEKCJE ===== */
.panel-card,.vehicle-card,.settings-card,.chart-card,.list-card,.stat,.admin-kpi,.pricing-admin-plan,.work-summary-card{
  background:linear-gradient(145deg,#081d30,#071827)!important;
  border:1px solid #193954!important;
  color:#edf6ff!important;
  box-shadow:0 12px 32px rgba(0,0,0,.18)!important;
}
.panel-card:hover,.vehicle-card:hover{border-color:#24557b!important}
.card-title b,.panel-card h1,.panel-card h2,.panel-card h3,.vehicle-card b,.stat strong,.admin-kpi strong{color:#f7fbff!important}
.card-title small,.panel-card p,.panel-card small,.vehicle-card small,.stat small,.stat span,.admin-kpi small{color:#8098ad!important}
.list-row,.table-row,.company-row,.admin-quote-row,.history-row,.client-invoice-row,.work-summary-row,.employee-row,.audit-row{border-color:#17324a!important;color:#dbe8f3!important;background:transparent!important}
.list-row:hover,.table-row:hover,.company-row:hover,.admin-quote-row:hover,.client-invoice-row:hover,.audit-row:hover{background:#0a2238!important}
.table-head,.admin-quote-head,.client-invoice-head,.audit-head,.work-summary-head{color:#7691a8!important;border-color:#17324a!important}

/* ===== INPUTY / SELECTY / FORMULARZE ===== */
input,textarea,select{
  background:#061725!important;
  border-color:#23445f!important;
  color:#f4f9ff!important;
}
input::placeholder,textarea::placeholder{color:#668198!important}
input:focus,textarea:focus,select:focus{border-color:#1683ff!important;box-shadow:0 0 0 3px rgba(22,131,255,.12)!important;outline:none}
label{color:#9db1c3!important}
.form-note,.modal-intro{color:#7890a6!important}
.check-card{background:#081d30!important;border-color:#21425e!important;color:#dce8f3!important}

/* ===== PRZYCISKI ===== */
.btn.primary{background:linear-gradient(135deg,#1683ff,#0969d8)!important;color:#fff!important;border-color:#1683ff!important;box-shadow:0 9px 24px rgba(13,116,232,.28)!important}
.btn.outline,.mini-action{background:#081d30!important;border:1px solid #285170!important;color:#dcecff!important}
.btn.outline:hover,.mini-action:hover{background:#0d2b46!important;border-color:#3574a4!important;color:#fff!important}
.btn.ghost{background:#071a2b!important;border-color:#173a59!important;color:#b9cbdb!important}
.danger-lite{color:#ff8787!important;border-color:#6e343e!important;background:#25131a!important}

/* ===== STATUSY ===== */
.status.ok{background:#0c3027!important;color:#4de29b!important}
.status.bad{background:#36191d!important;color:#ff8585!important}
.status.warn{background:#332712!important;color:#ffc45d!important}
.status.blue{background:#0c2b49!important;color:#5eb0ff!important}
.role-badge.employee{background:#15283b!important;color:#a8bfd2!important}
.role-badge.admin{background:#0b3158!important;color:#65b4ff!important}
.role-badge.owner{background:#3b2c08!important;color:#ffd66a!important;border-color:#745b18!important}

/* ===== MODALE ===== */
.modal-backdrop{background:rgba(0,7,14,.78)!important;backdrop-filter:blur(8px)}
.modal{background:linear-gradient(145deg,#0a2035,#061725)!important;border:1px solid #244866!important;color:#edf6ff!important;box-shadow:0 35px 100px rgba(0,0,0,.55)!important}
.modal h1,.modal h2,.modal h3,.modal b{color:#fff!important}
.modal-close{background:#102b43!important;color:#fff!important;border-color:#214866!important}
.modal-close:hover{background:#183c5b!important}

/* ===== LOGOWANIE ===== */
.auth-shell,.login-page,.password-setup-shell{background:linear-gradient(135deg,#020b14,#06182a 55%,#0a2440)!important;color:#fff!important}
.auth-card,.password-setup-card,.login-panel{background:rgba(7,25,42,.96)!important;border:1px solid #1b4264!important;color:#edf6ff!important;box-shadow:0 35px 90px rgba(0,0,0,.45)!important}
.auth-card h2,.password-setup-card h1,.login-panel h1{color:#fff!important}
.auth-card p,.password-setup-card p,.login-note,.security-note{color:#849db4!important}
.account-chip{background:#0b243a!important;border-color:#1d4769!important}

/* ===== POWIADOMIENIA / FAKTURY / SECURITY ===== */
.notification,.latest-invoice-banner,.audit-retention,.owner-info,.security-settings-card,.security-blocks-card{
  background:linear-gradient(145deg,#0a2035,#071827)!important;
  border-color:#214563!important;
  color:#eaf4ff!important;
}
.notification.read{opacity:.58}
.notification-icon,.latest-invoice-icon{background:#0c3156!important;color:#62b4ff!important}
.audit-retention p,.owner-info p{color:#8199ad!important}
.audit-json{background:#020c15!important;border:1px solid #173a58!important;color:#cfe5f7!important}
.audit-human-fields,.audit-detail-grid>div,.audit-detail-action{background:#071a2a!important;border-color:#1c3d58!important}

/* ===== WYKRESY / DONUTY ===== */
.donut-chart:before{background:#081d30!important}
.fleet-bars>div,.progress-track{background:#10283d!important}

/* ===== CENNIK ADMINA / PUBLICZNY ===== */
.pricing-stage{background:linear-gradient(180deg,#061522,#071827)!important}
.pricing-plan{background:linear-gradient(145deg,#0a2035,#071827)!important;border-color:#214563!important;color:#edf6ff!important;box-shadow:0 20px 48px rgba(0,0,0,.25)!important}
.pricing-plan.fleet{background:linear-gradient(145deg,#0b2e50,#061827)!important}
.plan-top p,.plan-price small,.pricing-note{color:#829bb1!important}
.plan-price,.pricing-plan{border-color:#214563!important}
.plan-features span{color:#dce9f4!important}
.pricing-extras,.pricing-discounts{background:linear-gradient(145deg,#0a2035,#071827)!important;border-color:#214563!important;color:#edf6ff!important}
.discount-grid>div{background:#071a2b!important;border-color:#1e405c!important;color:#eaf4ff!important}
.service-chips span{color:#c9d8e5!important}

/* ===== PUBLICZNE JASNE SEKCJE — TERAZ CIEMNE ===== */
.gray,.section,.logo-strip{background:#061522!important;color:#edf6ff!important}
.feature-card,.mini-passport,.dashboard-preview{background:#081d30!important;border-color:#1c405d!important;color:#edf6ff!important}
.feature-card p,.section-head p,.about-grid p{color:#8299ad!important}
.logo-strip{border-color:#17324a!important}.logo-strip b{color:#c9d8e5!important}.logo-strip span{color:#6f899f!important}
.feature-icon{background:#0c3155!important;color:#55adff!important}

/* ===== SCROLLE ===== */
*{scrollbar-color:#214866 #061522;scrollbar-width:thin}
*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:#061522}*::-webkit-scrollbar-thumb{background:#214866;border-radius:999px;border:2px solid #061522}

/* ===== RESPONSYWNOŚĆ ===== */
@media(max-width:800px){
  .admin-nav{background:#03101d!important;border-bottom:1px solid #17324a!important}
  .app-header{background:#04111f!important}
}


/* =========================================================
   MOF v34.1 — DARK NAVY REFINEMENT
   Poprawiony, spójny dark UI. Bez białych "łat" w panelu.
   ========================================================= */

:root{
  --mof-bg:#050f1a;
  --mof-bg-2:#071522;
  --mof-sidebar:#030b14;
  --mof-surface:#0a1b2a;
  --mof-surface-2:#0d2234;
  --mof-surface-3:#102a40;
  --mof-border:#1b3b55;
  --mof-border-soft:#122d43;
  --mof-text:#f3f8fc;
  --mof-text-2:#c7d6e3;
  --mof-muted:#7f96aa;
  --mof-blue:#1683ff;
  --mof-blue-2:#0b68d9;
  --mof-green:#35d28a;
  --mof-amber:#f6b846;
  --mof-red:#ff6d78;
  --mof-shadow:0 18px 50px rgba(0,0,0,.28);
}

/* --- baza aplikacji --- */
.admin-shell,.app-shell{
  background:
    radial-gradient(circle at 82% 3%,rgba(22,131,255,.08),transparent 25%),
    linear-gradient(135deg,var(--mof-bg),var(--mof-bg-2)) !important;
  color:var(--mof-text) !important;
}
.admin-content,.app-content{color:var(--mof-text)!important}
.admin-content h1,.admin-content h2,.admin-content h3,
.app-content h1,.app-content h2,.app-content h3{color:var(--mof-text)!important}
.admin-content p,.app-content p{color:var(--mof-muted)!important}

/* --- top / sidebar --- */
.admin-top,.app-header{
  background:rgba(3,11,20,.94)!important;
  border-color:var(--mof-border-soft)!important;
  box-shadow:0 10px 35px rgba(0,0,0,.18)!important;
}
.admin-nav,.app-sidebar{
  background:var(--mof-sidebar)!important;
  border-color:var(--mof-border-soft)!important;
}
.admin-nav a,.client-nav-link{color:#8ca4b9!important}
.admin-nav a.active,.client-nav-link.active{
  background:linear-gradient(135deg,var(--mof-blue),var(--mof-blue-2))!important;
  color:#fff!important;
  box-shadow:0 9px 26px rgba(22,131,255,.20)!important;
}

/* --- wszystkie główne powierzchnie --- */
.panel-card,
.stat,
.admin-kpi,
.vehicle-card,
.chart-card,
.list-card,
.settings-card,
.work-summary-card,
.pricing-admin-plan,
.finance-company,
.client-invoice-card,
.latest-invoice-banner,
.owner-info,
.audit-retention,
.security-settings-card,
.security-blocks-card{
  background:linear-gradient(145deg,var(--mof-surface),#081725)!important;
  border:1px solid var(--mof-border)!important;
  color:var(--mof-text)!important;
  box-shadow:0 10px 32px rgba(0,0,0,.14)!important;
}

/* usuwa stare białe tła wewnętrznych elementów */
.finance-company>summary,
.finance-row,
.client-invoice-row,
.work-clock-card,
.work-clock-card.running,
.audit-row,
.employee-row,
.table-row,
.list-row,
.company-row,
.admin-quote-row,
.notification,
.audit-human-fields,
.audit-detail-grid>div,
.audit-detail-action{
  background:transparent!important;
  color:var(--mof-text)!important;
}

/* --- typografia --- */
.card-title b,
.finance-company>summary b,
.finance-main b,
.finance-row b,
.client-invoice-row b,
.work-clock-card h3,
.stat strong,
.admin-kpi strong,
.employee-row b,
.list-row b,
.table-row b{
  color:var(--mof-text)!important;
}
.card-title small,
.finance-company>summary small,
.finance-row small,
.client-invoice-row small,
.employee-row small,
.list-row small,
.table-row small,
.work-clock-card p{
  color:var(--mof-muted)!important;
}
.finance-note span{color:var(--mof-text-2)!important}

/* --- czas pracy: koniec z białym prostokątem --- */
.work-clock-card{
  background:
    linear-gradient(135deg,rgba(22,131,255,.08),rgba(10,27,42,.96))!important;
  border:1px solid #1d4667!important;
}
.work-clock-card.running{
  background:
    linear-gradient(135deg,rgba(53,210,138,.08),rgba(10,27,42,.96))!important;
  border-color:#205846!important;
}
.work-live{color:#57e0a1!important}
.work-clock-right .btn.danger{
  background:#5d1d27!important;
  border:1px solid #8b3340!important;
  color:#ffdce0!important;
}

/* --- KPI / staty --- */
.admin-kpis,.stat-grid{gap:14px}
.admin-kpis .stat,.finance-kpis .stat{
  background:linear-gradient(145deg,#0b2031,#081725)!important;
  border:1px solid #1b415f!important;
}
.admin-kpis .stat strong,.finance-kpis .stat strong{color:#fff!important}
.admin-kpis .stat strong.blue,.finance-kpis .stat strong.blue{color:#63b5ff!important}
.admin-kpis .stat strong.ok,.finance-kpis .stat strong.ok{color:#5ee3a5!important}
.admin-kpis .stat strong.bad,.finance-kpis .stat strong.bad{color:#ff7d86!important}

/* --- finanse: karta firmy / tabela --- */
.finance-groups{gap:14px!important}
.finance-company{
  overflow:hidden!important;
  border-radius:16px!important;
}
.finance-company>summary{
  padding:17px 19px!important;
  background:#0b2031!important;
  border-bottom:1px solid var(--mof-border-soft)!important;
}
.finance-company[open]>summary{
  background:linear-gradient(90deg,#0c2438,#0a1d2d)!important;
}
.finance-company>.accordion-body{
  background:#071522!important;
  border-top:0!important;
  padding:14px!important;
}
.finance-table{gap:9px!important}
.finance-row{
  background:#0a1c2b!important;
  border:1px solid #173952!important;
  border-radius:12px!important;
  padding:14px 16px!important;
  transition:.16s ease!important;
}
.finance-row:hover{
  background:#0d2436!important;
  border-color:#275c83!important;
  box-shadow:0 8px 26px rgba(0,0,0,.16)!important;
}
.finance-note{
  border-color:#1c405b!important;
}
.finance-row .primary-lite{
  background:#0d3b67!important;
  color:#72bdff!important;
  border-color:#1e5f95!important;
}

/* --- toolbar / wyszukiwarki --- */
.toolbar{
  background:transparent!important;
  border:0!important;
}
.search{
  background:#071522!important;
  border:1px solid #1b405d!important;
  color:var(--mof-text)!important;
  border-radius:11px!important;
  overflow:hidden!important;
}
.search svg{color:#6eaee7!important}
.search input{
  background:transparent!important;
  border:0!important;
  color:#edf6ff!important;
  box-shadow:none!important;
}
.finance-toolbar select{
  background:#071522!important;
  border:1px solid #1b405d!important;
  color:#eaf4fc!important;
}

/* --- formularze --- */
input,textarea,select{
  background:#071725!important;
  border:1px solid #214760!important;
  color:#f1f7fc!important;
}
input:disabled,select:disabled{
  background:#091521!important;
  color:#60798f!important;
  opacity:1!important;
}
option{background:#071725;color:#f1f7fc}
input::placeholder,textarea::placeholder{color:#5d7890!important}

/* --- tabelki i listy --- */
.table-head,
.admin-quote-head,
.client-invoice-head,
.audit-head,
.work-summary-head{
  background:#071725!important;
  color:#7f9ab1!important;
  border-color:#18384f!important;
}
.client-invoice-row,
.audit-row,
.employee-row,
.table-row,
.list-row{
  border-color:#16374e!important;
}
.history-row-click{cursor:pointer}
.mof-history-table{border:1px solid #173d56;border-radius:14px;background:#071a28;overflow:hidden}
.mof-history-head,.mof-history-row{display:grid;grid-template-columns:150px minmax(240px,1fr) 150px;gap:14px;align-items:center}
.mof-history-head{padding:12px 18px;background:#061521;color:#7fa9c6;font-size:12.5px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.mof-history-groups{display:grid}
.mof-history-row{min-height:60px;padding:12px 18px;border-bottom:1px solid #133448;cursor:pointer;transition:.15s ease}
.mof-history-row:last-child{border-bottom:0}
.mof-history-row:hover{background:#0c273a}
.mof-history-date{font-size:14.5px;color:#a7bfcd;font-variant-numeric:tabular-nums}
.mof-history-desc{display:grid;gap:3px}
.mof-history-desc b{font-size:15.5px;color:#eef6fb;font-weight:700}
.mof-history-desc small{font-size:13.5px;color:#7897aa;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.mof-history-user{font-size:14.5px;color:#8daebe}
@media(max-width:900px){.mof-history-head{display:none}.mof-history-row{grid-template-columns:1fr;gap:6px;min-height:0}.mof-history-user{color:#6e8ba0}.mof-history-user:before{content:"Dodano przez: "}}
.client-invoice-row:hover,
.audit-row:hover,
.employee-row:hover,
.table-row:hover,
.list-row:hover{
  background:#0c2233!important;
}

/* --- przyciski --- */
.btn.primary{
  background:linear-gradient(135deg,#1b8cff,#0a67d5)!important;
  border:1px solid #278fff!important;
  color:#fff!important;
}
.btn.outline,.mini-action{
  background:#0a1c2b!important;
  border:1px solid #28516e!important;
  color:#dbeaf6!important;
}
.btn.outline:hover,.mini-action:hover{
  background:#10304a!important;
  border-color:#3a76a3!important;
}
.danger-lite{
  background:#2c1118!important;
  border-color:#70313b!important;
  color:#ff8e96!important;
}

/* --- statusy czytelne na dark --- */
.status.ok{background:#0c3428!important;color:#54dfa0!important}
.status.warn{background:#3a2b0d!important;color:#ffd06a!important}
.status.bad{background:#3b171d!important;color:#ff858e!important}
.status.blue{background:#0c3158!important;color:#6abbff!important}

/* --- modal --- */
.modal{
  background:linear-gradient(150deg,#0b2133,#071522)!important;
  border:1px solid #28506d!important;
}
.modal-form label{color:#9bb0c2!important}
.modal p,.modal small{color:#7f96aa!important}

/* --- klient / powiadomienia / faktury --- */
.latest-invoice-banner{
  background:linear-gradient(135deg,#0b2336,#081725)!important;
}
.latest-invoice-banner.overdue{
  background:linear-gradient(135deg,#26161b,#0b1a27)!important;
  border-color:#67323b!important;
}
.client-invoice-row.overdue{background:#24151a!important}
.notification{border-color:#183d57!important}
.notification.read{opacity:.62}

/* --- logi --- */
.audit-human-fields{
  background:#071725!important;
  border-color:#1b3d55!important;
}
.audit-detail-grid>div,.audit-detail-action{
  background:#081a28!important;
  border-color:#1b3d55!important;
}
.audit-json{
  background:#020a12!important;
  color:#d7eaf8!important;
  border:1px solid #15364d!important;
}

/* --- harmonogram / grafik --- */
.schedule-day,
.shift-card{
  background:#0a1c2b!important;
  border-color:#193b54!important;
  color:#eaf4fb!important;
}
.schedule-day header{
  background:#0c2437!important;
  border-color:#1b405d!important;
}
.schedule-empty{color:#6f879b!important}

/* --- pracownicy / owner --- */
.owner-info{
  background:linear-gradient(135deg,#2b240e,#0d1d29)!important;
  border-color:#5f501c!important;
}
.owner-info p{color:#b7aa78!important}
.employee-row>.role-badge{box-shadow:none!important}

/* --- wyeliminowanie białych wnętrz pochodzących ze starszych styli --- */
.admin-content .panel-card *,
.app-content .panel-card *{
  border-color:inherit;
}
.admin-content .panel-card > div,
.admin-content .panel-card > section,
.app-content .panel-card > div,
.app-content .panel-card > section{
  color:inherit;
}

/* nie dotykamy kolorów ikon/statusów ustawionych wyżej */
.admin-content .panel-card svg,
.app-content .panel-card svg{color:inherit}

/* --- scrollbars --- */
*{
  scrollbar-color:#27516f #06121e!important;
}
*::-webkit-scrollbar-track{background:#06121e!important}
*::-webkit-scrollbar-thumb{
  background:#27516f!important;
  border:2px solid #06121e!important;
}

/* --- mobile --- */
@media(max-width:800px){
  .admin-content,.app-content{padding:18px 12px!important}
  .finance-company>.accordion-body{padding:10px!important}
  .finance-row{padding:13px!important}
}


/* =========================================================
   MOF v34.2 — COMPLETE DARK PANEL FIX
   ========================================================= */

/* KPI / statystyki */
.admin-shell .stat,
.app-shell .stat,
.admin-shell .admin-kpi,
.app-shell .admin-kpi{
  background:linear-gradient(145deg,#0b2031,#081725)!important;
  border:1px solid #1c425f!important;
  color:#f4f8fc!important;
  box-shadow:0 10px 28px rgba(0,0,0,.12)!important;
}
.admin-shell .stat strong,
.app-shell .stat strong{color:#f4f8fc!important}
.admin-shell .stat small,
.admin-shell .stat span,
.app-shell .stat small,
.app-shell .stat span{color:#8299ad!important}
.admin-shell .stat strong.ok,
.app-shell .stat strong.ok{color:#55dfa0!important}
.admin-shell .stat strong.bad,
.app-shell .stat strong.bad{color:#ff7e88!important}
.admin-shell .stat strong.blue,
.app-shell .stat strong.blue{color:#63b7ff!important}

/* Wizyty / harmonogram */
.admin-shell .timeline-visit,
.app-shell .timeline-visit,
.admin-shell .admin-timeline .timeline-visit,
.app-shell .admin-timeline .timeline-visit{
  background:#091b2a!important;
  border:1px solid #1c405a!important;
  box-shadow:0 10px 30px rgba(0,0,0,.14)!important;
}
.admin-shell .timeline-date,
.app-shell .timeline-date{
  background:linear-gradient(155deg,#08243b,#06192a)!important;
  border-right:1px solid #1d4665!important;
}
.admin-shell .timeline-main,
.app-shell .timeline-main{
  background:linear-gradient(145deg,#0b1f30,#081725)!important;
  color:#f2f7fb!important;
}
.admin-shell .timeline-top h3,
.app-shell .timeline-top h3{color:#f2f7fb!important}
.admin-shell .timeline-top .eyebrow,
.app-shell .timeline-top .eyebrow{color:#4fa9ff!important}
.admin-shell .visit-details>span,
.app-shell .visit-details>span{
  background:#0d2639!important;
  border:1px solid #193f5a!important;
  color:#eef6fc!important;
}
.admin-shell .visit-details small,
.app-shell .visit-details small{color:#7590a6!important}
.admin-shell .visit-details b,
.app-shell .visit-details b{color:#eef6fc!important}
.admin-shell .visit-note,
.app-shell .visit-note{
  background:#0b2940!important;
  border-left-color:#238cff!important;
  color:#b7c9d8!important;
}

/* Zarządzanie klientem / pojazdem / wpisami */
.admin-shell .client-row-card,
.admin-shell .company-row,
.admin-shell .manage-item,
.admin-shell .access-grid section,
.admin-shell .read-only-details p,
.admin-shell .perm-group,
.admin-shell .visit-type-grid .check,
.admin-shell .passport-accordion,
.admin-shell .issue-company-groups details,
.admin-shell .company-issue-group,
.admin-shell .admin-issue-row,
.admin-shell .admin-quote-row,
.admin-shell .vehicle-card,
.admin-shell .vehicle-workspace,
.admin-shell .media-card,
.admin-shell .report-card{
  background:#091b2a!important;
  border-color:#1b405b!important;
  color:#eef6fc!important;
}
.admin-shell .client-row-card:hover,
.admin-shell .company-row:hover,
.admin-shell .manage-item:hover,
.admin-shell .admin-issue-row:hover,
.admin-shell .admin-quote-row:hover{background:#0d2639!important}
.admin-shell .client-row-main b,
.admin-shell .client-row-meta b,
.admin-shell .manage-item b,
.admin-shell .perm-group legend,
.admin-shell .read-only-details b{color:#eef6fc!important}
.admin-shell .client-row-main small,
.admin-shell .client-row-meta small,
.admin-shell .manage-item small,
.admin-shell .permissions-head small{color:#8098ac!important}
.admin-shell .danger-zone{
  background:#24151b!important;
  border-color:#6e303a!important;
}
.admin-shell .manage-tabs{border-color:#1b405b!important}
.admin-shell .manage-tabs button{color:#7f98ad!important}
.admin-shell .manage-tabs button.active{
  background:#0d3152!important;
  color:#63b5ff!important;
}

/* Klient / dokumenty / raporty / historia */
.app-shell .doc-card,
.app-shell .visit-card,
.app-shell .history-row,
.app-shell .issue-row,
.app-shell .vehicle-list-card,
.app-shell .passport-card,
.app-shell .passport-section,
.app-shell .passport-accordion,
.app-shell .settings-grid section,
.app-shell .profile-box,
.app-shell .upload-box,
.admin-shell .doc-card,
.admin-shell .upload-box{
  background:#091b2a!important;
  border-color:#1b405b!important;
  color:#eef6fc!important;
}
.app-shell .doc-card b,
.app-shell .visit-card b,
.app-shell .history-row b,
.app-shell .issue-row b{color:#eef6fc!important}
.app-shell .doc-card small,
.app-shell .visit-card small,
.app-shell .history-row small,
.app-shell .issue-row small{color:#8198aa!important}

/* Filtry */
.admin-shell .filter,
.app-shell .filter{
  background:#081a29!important;
  border-color:#214861!important;
  color:#8ca4b8!important;
}
.admin-shell .filter.active,
.app-shell .filter.active{
  background:#0d3152!important;
  color:#69b9ff!important;
  border-color:#276995!important;
}

/* Donuty */
.admin-shell .donut-chart:before,
.app-shell .donut-chart:before{background:#091b2a!important}

/* Modale */
.modal .manage-item,
.modal .access-grid section,
.modal .read-only-details p,
.modal .perm-group,
.modal .visit-type-grid .check,
.modal .demo-vehicle,
.modal .audit-human-fields,
.modal .audit-detail-grid>div,
.modal .audit-detail-action{
  background:#0b2031!important;
  border-color:#214861!important;
  color:#edf6fc!important;
}

/* dodatkowe pozostałości bieli */
.admin-shell .visit-card,
.admin-shell .doc-card,
.admin-shell .history-row,
.admin-shell .issue-row,
.admin-shell .notifications-list,
.app-shell .notifications-list{
  background:#091b2a!important;
  border-color:#1b405b!important;
}
.admin-shell .notification,
.app-shell .notification{
  background:#091b2a!important;
}
.admin-shell .notification-icon,
.app-shell .notification-icon{
  background:#0d3152!important;
  color:#6bbaff!important;
}
.admin-shell .avatar,
.app-shell .avatar,
.admin-shell .client-avatar,
.app-shell .client-avatar{
  background:#0d3152!important;
  color:#6bbaff!important;
}

/* responsywność */
@media(max-width:900px){
  .admin-shell .timeline-date,
  .app-shell .timeline-date{
    border-right:0!important;
    border-bottom:1px solid #1d4665!important;
  }
}


/* =========================================================
   MOF v34.3 — FULL DARK AUDIT
   Jeden spójny dark navy theme dla CAŁEJ strony i paneli.
   ========================================================= */

:root{
  --navy:#04111d!important;
  --navy2:#081c2d!important;
  --blue:#1683ff!important;
  --blue2:#38a3ff!important;
  --cyan:#59c8ff!important;
  --ink:#f2f7fb!important;
  --muted:#849bad!important;
  --line:#1a3b53!important;
  --bg:#071522!important;
  --green:#39d590!important;
  --red:#ff6f79!important;
  --orange:#f2b347!important;
  --shadow:0 20px 60px rgba(0,0,0,.24)!important;
}

/* =========================================================
   GLOBAL
   ========================================================= */
html,body{
  background:#04111d!important;
  color:#f2f7fb!important;
}
body,main{
  min-height:100%;
  background:
    radial-gradient(circle at 80% 0%,rgba(22,131,255,.055),transparent 28%),
    #04111d!important;
}
h1,h2,h3,h4,h5,h6,b,strong{color:#f3f8fc}
p,small{color:#849bad}
.section,.gray,.contact-section,.pricing-stage{
  background:#061521!important;
  color:#f2f7fb!important;
}
.section:nth-of-type(even){
  background:#071824!important;
}
.page-hero{
  background:
    radial-gradient(circle at 76% 45%,rgba(22,131,255,.14),transparent 32%),
    linear-gradient(120deg,#04111d,#08223a)!important;
}
.page-hero p{color:#a7bac9!important}

/* =========================================================
   PUBLIC — HOME / O NAS / FEATURE CARDS
   ========================================================= */
.logo-strip{
  background:#071522!important;
  border-color:#17374d!important;
}
.logo-strip .container{color:#7f97aa!important}
.logo-strip b{color:#a9bdcc!important}
.feature-card,
.mini-passport,
.dashboard-preview,
.chart-card,
.list-card{
  background:linear-gradient(145deg,#0a1d2c,#071522)!important;
  border-color:#1b4059!important;
  color:#f1f7fb!important;
}
.feature-card:hover{
  border-color:#28628b!important;
  box-shadow:0 18px 42px rgba(0,0,0,.20)!important;
}
.feature-icon{
  background:#0c3152!important;
  color:#62b7ff!important;
}
.feature-card h3{color:#f2f7fb!important}
.feature-card p{color:#8299ab!important}
.visual-card{
  background:rgba(8,29,45,.94)!important;
  border-color:#26506c!important;
  color:#f1f7fb!important;
}
.visual-card.top span,.visual-card.bottom small{color:#8fa5b6!important}
.mini-passport{color:#edf6fc!important}
.mp-car img{background:#0d2639!important}
.mp-car small,.mp-row span{color:#8198aa!important}
.mp-row{border-color:#17384f!important}
.dashboard-preview{color:#eef6fc!important}
.dash-content{background:#081725!important}
.dash-top h3{color:#f1f7fb!important}
.dash-top small,.dash-top>div>span{color:#8098aa!important}
.donut-chart:before{background:#091b2a!important}

/* =========================================================
   PUBLIC — JAK DZIAŁAMY
   ========================================================= */
.steps-full{
  display:grid!important;
  gap:16px!important;
}
.process-step{
  background:linear-gradient(135deg,#0a1d2c,#081725)!important;
  border:1px solid #1b4059!important;
  border-radius:18px!important;
  box-shadow:0 12px 32px rgba(0,0,0,.12)!important;
  color:#f2f7fb!important;
}
.process-step:hover{
  background:linear-gradient(135deg,#0d2436,#091a29)!important;
  border-color:#2a648d!important;
}
.process-step h3{color:#f4f8fc!important}
.process-step p{color:#849bad!important}
.step-number{
  background:linear-gradient(135deg,#1683ff,#075fc8)!important;
  color:#fff!important;
  box-shadow:0 7px 20px rgba(22,131,255,.22)!important;
}
.step-icon{
  background:#0c3152!important;
  border:1px solid #1f567c!important;
  color:#67bbff!important;
}
.step-demo{
  background:#0c2335!important;
  border:1px solid #1a405b!important;
  color:#a9c7dc!important;
}
.metrics>div{
  border-color:#1c4159!important;
}
.metrics b{color:#69bcff!important}
.metrics span{color:#9db1c1!important}

/* =========================================================
   PUBLIC — KONTAKT / FORMULARZE
   ========================================================= */
.contact-section{
  background:
    radial-gradient(circle at 15% 25%,rgba(22,131,255,.07),transparent 25%),
    #061521!important;
}
.contact-grid>div:first-child h2{color:#f4f8fc!important}
.contact-grid>div:first-child p{color:#8ca2b4!important}
.contact-list>div{
  background:#091c2b!important;
  border:1px solid #1b4059!important;
  color:#eef6fc!important;
}
.contact-list>div>span{
  background:#0c3152!important;
  color:#65b8ff!important;
}
.contact-list b{color:#eef6fc!important}
.contact-list small{color:#8199ab!important}
.contact-form{
  background:linear-gradient(145deg,#0b2132,#071522)!important;
  border:1px solid #234b67!important;
  box-shadow:0 22px 60px rgba(0,0,0,.25)!important;
  color:#f2f7fb!important;
}
.contact-form .form-head{
  border-color:#1a3d55!important;
}
.contact-form .form-head h3{color:#f4f8fc!important}
.contact-form .form-head p{color:#859bad!important}
.contact-form label,
.modal-form label,
.auth-card label{
  color:#9ab0c1!important;
}
.contact-form input,
.contact-form textarea,
.modal input,
.modal textarea,
.modal select,
.auth-card input,
.settings-card input,
.settings-card textarea,
.settings-card select{
  background:#061521!important;
  color:#f2f7fb!important;
  border:1px solid #214b67!important;
}
.contact-form input:focus,
.contact-form textarea:focus,
.modal input:focus,
.modal textarea:focus,
.modal select:focus{
  border-color:#1683ff!important;
  box-shadow:0 0 0 3px rgba(22,131,255,.12)!important;
}
.contact-form input::placeholder,
.contact-form textarea::placeholder{color:#587286!important}
.contact-form .check{color:#8299aa!important}

/* =========================================================
   PUBLIC — CENNIK
   ========================================================= */
.pricing-stage{background:#061521!important}
.pricing-plan:not(.fleet){
  background:linear-gradient(150deg,#0a1d2c,#081725)!important;
  border-color:#1d425c!important;
  color:#f1f7fb!important;
}
.pricing-plan:not(.fleet) .plan-top h2{color:#f4f8fc!important}
.pricing-plan:not(.fleet) .plan-top p{color:#879dae!important}
.pricing-plan:not(.fleet) .plan-features span{color:#c8d7e3!important}
.plan-price{border-color:#1b4059!important}
.pricing-choose{
  background:#0b2234!important;
  border-color:#28536f!important;
  color:#72bdff!important;
}
.pricing-choose:hover{
  background:#0e2f4a!important;
}
.pricing-extras,.pricing-discounts{
  background:linear-gradient(145deg,#0a1d2c,#071522)!important;
  border-color:#1c415a!important;
  color:#eef6fc!important;
}
.pricing-section-title h3{color:#f2f7fb!important}
.service-chips span{color:#aabcca!important}
.discount-grid>div{
  background:#091c2b!important;
  border-color:#1b4059!important;
}
.discount-grid b{color:#eaf4fb!important}

/* =========================================================
   AUTH / LOGOWANIE
   ========================================================= */
.auth-shell,.login-page{
  background:#04111d!important;
}
.auth-card,.login-panel{
  background:linear-gradient(145deg,#0a2031,#071522)!important;
  border:1px solid #234c68!important;
  color:#f2f7fb!important;
  box-shadow:0 30px 80px rgba(0,0,0,.32)!important;
}
.auth-card h2,.login-panel h1{color:#f4f8fc!important}
.auth-card p,.login-panel p{color:#849bad!important}

/* =========================================================
   ADMIN / CLIENT — CONTAINERS
   ========================================================= */
.admin-shell,.app-shell{
  background:#04111d!important;
}
.admin-content,.app-content{
  background:
    radial-gradient(circle at 90% 0%,rgba(22,131,255,.04),transparent 24%),
    #061521!important;
}
.admin-nav,.app-sidebar{
  background:#030c15!important;
}
.panel-card,
.vehicle-card,
.settings-card,
.work-summary-card,
.finance-company,
.audit-panel,
.audit-retention,
.security-settings-card,
.security-blocks-card,
.owner-info,
.client-invoice-card{
  background:linear-gradient(145deg,#0a1d2c,#071522)!important;
  border-color:#1b4059!important;
  color:#f2f7fb!important;
}

/* =========================================================
   CZAS PRACY — POPRAWKA KONKRETNA
   ========================================================= */
.work-clock-card,
.work-clock-card.running{
  background:linear-gradient(135deg,#0a2234,#071522)!important;
  border:1px solid #24506d!important;
  color:#f2f7fb!important;
}
.work-clock-card.running{
  border-color:#226047!important;
}
.work-clock-card h3{color:#f4f8fc!important}
.work-clock-card p{color:#8299ab!important}
.my-time-summary>div{
  background:linear-gradient(145deg,#0a1d2c,#071522)!important;
  border:1px solid #1b4059!important;
  color:#f2f7fb!important;
  box-shadow:none!important;
}
.my-time-summary b{color:#f2f7fb!important}
.my-time-summary b.plus,
.my-time-summary .plus{color:#54dda0!important}
.my-time-summary b.minus,
.my-time-summary .minus{color:#ff7f88!important}
.my-time-summary small{color:#7f96aa!important}
.my-time-summary .eyebrow{color:#4eaaff!important}
.work-summary-row{
  background:#091b2a!important;
  border-color:#17384f!important;
  color:#eaf4fb!important;
}
.work-summary-row:hover{background:#0d2639!important}
.work-summary-head{color:#7f98ac!important}
.work-detail section{
  background:#091b2a!important;
  border-color:#1a4059!important;
}
.work-detail h4{background:#0c2436!important;color:#eef6fc!important}
.work-session-row{border-color:#17384f!important}

/* =========================================================
   WIZYTY / HARMONOGRAM
   ========================================================= */
.timeline-visit{
  background:#091b2a!important;
  border-color:#1b4059!important;
}
.timeline-main{
  background:#091b2a!important;
  color:#eef6fc!important;
}
.timeline-date{
  background:linear-gradient(155deg,#08243b,#06192a)!important;
}
.timeline-top h3{color:#f2f7fb!important}
.visit-details>span{
  background:#0c2335!important;
  border-color:#1a4059!important;
}
.visit-details small{color:#7891a6!important}
.visit-details b{color:#eef6fc!important}
.visit-note{
  background:#0b2940!important;
  color:#b7c9d8!important;
}

/* =========================================================
   FINANSE / TABELE / LISTY
   ========================================================= */
.finance-company>summary{
  background:#0b2031!important;
  color:#eef6fc!important;
}
.finance-company>.accordion-body{background:#071522!important}
.finance-row,
.client-invoice-row,
.employee-row,
.admin-issue-row,
.admin-quote-row,
.table-row,
.list-row,
.audit-row,
.notification{
  background:#091b2a!important;
  border-color:#17384f!important;
  color:#eef6fc!important;
}
.finance-row:hover,
.client-invoice-row:hover,
.employee-row:hover,
.table-row:hover,
.list-row:hover,
.audit-row:hover{
  background:#0d2639!important;
}
.finance-row b,
.client-invoice-row b,
.employee-row b,
.table-row b,
.list-row b{color:#eef6fc!important}
.finance-row small,
.client-invoice-row small,
.employee-row small,
.table-row small,
.list-row small{color:#8098aa!important}
.table-head,
.client-invoice-head,
.audit-head,
.work-summary-head{
  background:#071522!important;
  color:#7891a6!important;
  border-color:#17384f!important;
}

/* =========================================================
   GRAFIK
   ========================================================= */
.schedule-day{
  background:#091b2a!important;
  border-color:#1a4059!important;
}
.schedule-day>header{
  background:#0c2436!important;
  border-color:#1d4662!important;
}
.schedule-day>header span{color:#8199ab!important}
.shift-card{
  background:#0b2031!important;
  border-color:#1b4059!important;
}
.shift-card b,.shift-card strong{color:#eef6fc!important}
.shift-card small,.shift-card p{color:#8198aa!important}

/* =========================================================
   KLIENT / POJAZDY / RAPORTY / POWIADOMIENIA
   ========================================================= */
.doc-card,
.visit-card,
.history-row,
.issue-row,
.vehicle-list-card,
.passport-card,
.passport-section,
.passport-accordion,
.profile-box,
.upload-box,
.manage-item,
.access-grid section,
.read-only-details p,
.perm-group{
  background:#091b2a!important;
  border-color:#1b4059!important;
  color:#eef6fc!important;
}
.doc-card>span,
.notification-icon,
.avatar,
.client-avatar{
  background:#0c3152!important;
  color:#66b9ff!important;
}
.notification{border-color:#17384f!important}

/* =========================================================
   USTAWIENIA / LOGI
   ========================================================= */
.audit-filter input,.audit-filter select{
  background:#061521!important;
  border-color:#214b67!important;
  color:#eef6fc!important;
}
.audit-human-fields,
.audit-detail-grid>div,
.audit-detail-action{
  background:#091b2a!important;
  border-color:#1b4059!important;
}
.owner-info{
  background:linear-gradient(135deg,#241f0d,#0a1b29)!important;
  border-color:#5b4d1c!important;
}
.owner-role-warning{
  background:#241f0d!important;
  border-color:#5b4d1c!important;
}

/* =========================================================
   MODALE
   ========================================================= */
.modal{
  background:linear-gradient(145deg,#0b2031,#071522)!important;
  border:1px solid #28516d!important;
  color:#f2f7fb!important;
}
.modal-close{
  background:#0c2b43!important;
  color:#eaf4fb!important;
  border:1px solid #1e4c6b!important;
}
.modal h2,.modal h3{color:#f4f8fc!important}
.modal p{color:#849bad!important}
.demo-vehicle,
.export-intro,
.export-preview{
  background:#091b2a!important;
  border-color:#1b4059!important;
  color:#eef6fc!important;
}

/* =========================================================
   CONTROLS
   ========================================================= */
input,textarea,select{
  background:#061521!important;
  color:#eef6fc!important;
  border-color:#214b67!important;
}
input::placeholder,textarea::placeholder{color:#5f788c!important}
option{background:#061521!important;color:#eef6fc!important}
.btn.outline,.mini-action,.filter{
  background:#0a1d2c!important;
  border-color:#28516d!important;
  color:#d7e8f4!important;
}
.btn.outline:hover,.mini-action:hover,.filter:hover{
  background:#0d2c44!important;
  border-color:#3679a5!important;
}
.filter.active{
  background:#0d3152!important;
  color:#69b9ff!important;
  border-color:#276995!important;
}
.icon-btn:not(.mobile-menu){
  background:#0b2031!important;
  border-color:#28516d!important;
  color:#d9e9f5!important;
}

/* =========================================================
   STATUSY
   ========================================================= */
.status.ok{background:#0c3428!important;color:#55dda0!important}
.status.bad{background:#3b171d!important;color:#ff858e!important}
.status.warn{background:#3a2b0d!important;color:#ffd06a!important}
.status.blue{background:#0c3158!important;color:#6abbff!important}

/* =========================================================
   FOOTER
   ========================================================= */
.site-footer,footer{
  background:#020a12!important;
  border-color:#132f44!important;
}

/* =========================================================
   MOBILE
   ========================================================= */
@media(max-width:800px){
  .process-step{
    background:#091b2a!important;
  }
  .contact-form{padding:22px!important}
  .my-time-summary{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* ===== mof-ui.css (was loaded second, overrides go here) ===== */
/* MOF UI — consolidated active theme layers. Generated 2026-09-04. */

/* === theme.v361.css === */

/* =========================================================
   MOF v35 — DARK RESET
   (this block comes after the base styles above in the same file now —
   styles.v343.css was merged in on 2026-09-09, no longer a separate file)
   It intentionally has high specificity to eliminate old white cards.
   ========================================================= */

:root{
  --d0:#030b14;
  --d1:#04111d;
  --d2:#061522;
  --d3:#091b2a;
  --d4:#0c2335;
  --d5:#0e2a40;
  --line:#1b4059;
  --line2:#28516d;
  --txt:#f2f7fb;
  --muted:#8399ab;
  --blue:#1683ff;
  --green:#50dda0;
  --red:#ff7f89;
  --amber:#ffd06a;
}

/* ---------- GLOBAL ---------- */
html body{
  background:var(--d1)!important;
  color:var(--txt)!important;
}
body #app{
  background:var(--d1)!important;
  color:var(--txt)!important;
}

/* ---------- PUBLIC PAGES ---------- */
body #app .section,
body #app .gray,
body #app .contact-section,
body #app .pricing-stage{
  background:var(--d2)!important;
  color:var(--txt)!important;
}
body #app .section:nth-of-type(even){
  background:#071824!important;
}

/* JAK DZIAŁAMY */
body #app .steps-full .process-step{
  background:linear-gradient(145deg,var(--d3),#071522)!important;
  border:1px solid var(--line)!important;
  color:var(--txt)!important;
  box-shadow:0 12px 30px rgba(0,0,0,.18)!important;
}
body #app .steps-full .process-step h3{
  color:var(--txt)!important;
}
body #app .steps-full .process-step p{
  color:var(--muted)!important;
}
body #app .steps-full .process-step .step-icon,
body #app .steps-full .process-step .step-demo{
  background:var(--d4)!important;
  border-color:var(--line)!important;
  color:#b9d4e7!important;
}
body #app .steps-full .process-step .step-number{
  background:linear-gradient(135deg,#1988ff,#0864cf)!important;
  color:white!important;
}

/* CONTACT */
body #app .contact-form{
  background:linear-gradient(145deg,#0a2031,#071522)!important;
  border:1px solid #234c68!important;
  color:var(--txt)!important;
}
body #app .contact-list > div{
  background:var(--d3)!important;
  border:none!important;
  color:var(--txt)!important;
}
body #app .contact-form input,
body #app .contact-form textarea,
body #app .contact-form select{
  background:#05131f!important;
  border:1px solid #214b67!important;
  color:var(--txt)!important;
}
body #app .contact-form label{
  color:#9fb3c3!important;
}
body #app .contact-form input::placeholder,
body #app .contact-form textarea::placeholder{
  color:#587286!important;
}

/* ---------- ADMIN + CLIENT BASE ---------- */
body #app .admin-shell,
body #app .app-shell{
  background:var(--d1)!important;
  color:var(--txt)!important;
}
body #app .admin-shell .admin-content,
body #app .app-shell .app-content{
  background:var(--d2)!important;
  color:var(--txt)!important;
}
body #app .admin-shell .panel-card,
body #app .app-shell .panel-card{
  background:linear-gradient(145deg,var(--d3),#071522)!important;
  border:1px solid var(--line)!important;
  color:var(--txt)!important;
}

/* ---------- WORK TIME: explicit, high-specificity ---------- */
body #app .admin-shell .admin-content .work-clock-card,
body #app .app-shell .app-content .work-clock-card{
  background:linear-gradient(135deg,#0a2234,#071522)!important;
  border:1px solid #24506d!important;
  color:var(--txt)!important;
  box-shadow:0 12px 30px rgba(0,0,0,.16)!important;
}
body #app .admin-shell .admin-content .work-clock-card h3,
body #app .app-shell .app-content .work-clock-card h3{
  color:var(--txt)!important;
}
body #app .admin-shell .admin-content .work-clock-card p,
body #app .app-shell .app-content .work-clock-card p{
  color:var(--muted)!important;
}

body #app .admin-shell .admin-content .my-time-summary > div,
body #app .app-shell .app-content .my-time-summary > div{
  background:linear-gradient(145deg,#0b2031,#071522)!important;
  border:1px solid var(--line)!important;
  color:var(--txt)!important;
  box-shadow:none!important;
}
body #app .admin-shell .admin-content .my-time-summary > div b,
body #app .app-shell .app-content .my-time-summary > div b{
  color:var(--txt)!important;
}
body #app .admin-shell .admin-content .my-time-summary > div b.plus,
body #app .app-shell .app-content .my-time-summary > div b.plus{
  color:var(--green)!important;
}
body #app .admin-shell .admin-content .my-time-summary > div b.minus,
body #app .app-shell .app-content .my-time-summary > div b.minus{
  color:var(--red)!important;
}
body #app .admin-shell .admin-content .my-time-summary > div small,
body #app .app-shell .app-content .my-time-summary > div small{
  color:var(--muted)!important;
}

/* ---------- FINANCE ---------- */
body #app .admin-shell .admin-content .finance-company{
  background:linear-gradient(145deg,var(--d3),#071522)!important;
  border:1px solid var(--line)!important;
  color:var(--txt)!important;
  overflow:hidden!important;
}
body #app .admin-shell .admin-content .finance-company > summary{
  background:#0b2031!important;
  border-bottom:1px solid var(--line)!important;
  color:var(--txt)!important;
}
body #app .admin-shell .admin-content .finance-company > summary b{
  color:var(--txt)!important;
}
body #app .admin-shell .admin-content .finance-company > summary small{
  color:var(--muted)!important;
}
body #app .admin-shell .admin-content .finance-company .accordion-body{
  background:#071522!important;
}
body #app .admin-shell .admin-content .finance-row{
  background:#0a1c2b!important;
  border:1px solid #173952!important;
  color:var(--txt)!important;
}
body #app .admin-shell .admin-content .finance-row:hover{
  background:#0d2639!important;
}
body #app .admin-shell .admin-content .finance-row b,
body #app .admin-shell .admin-content .finance-row strong{
  color:var(--txt)!important;
}
body #app .admin-shell .admin-content .finance-row small{
  color:var(--muted)!important;
}
body #app .admin-shell .admin-content .finance-note{
  border-color:#1a4059!important;
  color:#b7c9d8!important;
}

/* ---------- VISITS ---------- */
body #app .admin-shell .admin-content .timeline-visit,
body #app .app-shell .app-content .timeline-visit{
  background:var(--d3)!important;
  border:1px solid var(--line)!important;
  color:var(--txt)!important;
}
body #app .admin-shell .admin-content .timeline-main,
body #app .app-shell .app-content .timeline-main{
  background:var(--d3)!important;
  color:var(--txt)!important;
}
body #app .admin-shell .admin-content .visit-details > span,
body #app .app-shell .app-content .visit-details > span{
  background:var(--d4)!important;
  border:1px solid var(--line)!important;
  color:var(--txt)!important;
}

/* ---------- TABLES / LISTS / CARDS ---------- */
body #app .admin-shell .admin-content :is(
  .employee-row,.admin-issue-row,.admin-quote-row,.table-row,.list-row,
  .vehicle-card,.manage-item,.company-row,.client-row-card,.report-card,
  .media-card,.schedule-day,.shift-card,.audit-row,.notification
),
body #app .app-shell .app-content :is(
  .client-invoice-row,.table-row,.list-row,.vehicle-card,.doc-card,
  .history-row,.issue-row,.visit-card,.notification,.passport-card,
  .passport-section,.vehicle-list-card
){
  background:var(--d3)!important;
  border-color:var(--line)!important;
  color:var(--txt)!important;
}

body #app .admin-shell .admin-content :is(
  .employee-row,.admin-issue-row,.admin-quote-row,.table-row,.list-row,
  .vehicle-card,.manage-item,.company-row,.client-row-card,.report-card,
  .media-card,.schedule-day,.shift-card,.audit-row,.notification
) b,
body #app .app-shell .app-content :is(
  .client-invoice-row,.table-row,.list-row,.vehicle-card,.doc-card,
  .history-row,.issue-row,.visit-card,.notification,.passport-card,
  .passport-section,.vehicle-list-card
) b{
  color:var(--txt)!important;
}

body #app .admin-shell .admin-content :is(
  .employee-row,.admin-issue-row,.admin-quote-row,.table-row,.list-row,
  .vehicle-card,.manage-item,.company-row,.client-row-card,.report-card,
  .media-card,.schedule-day,.shift-card,.audit-row,.notification
) small,
body #app .app-shell .app-content :is(
  .client-invoice-row,.table-row,.list-row,.vehicle-card,.doc-card,
  .history-row,.issue-row,.visit-card,.notification,.passport-card,
  .passport-section,.vehicle-list-card
) small{
  color:var(--muted)!important;
}

/* ---------- HEADERS ---------- */
body #app .admin-shell .admin-content :is(
  .table-head,.client-invoice-head,.audit-head,.work-summary-head,.admin-quote-head
),
body #app .app-shell .app-content :is(
  .table-head,.client-invoice-head,.work-summary-head
){
  background:#071522!important;
  border-color:#17384f!important;
  color:#7891a6!important;
}

/* ---------- INPUTS ---------- */
body #app .admin-shell :is(input,textarea,select),
body #app .app-shell :is(input,textarea,select),
body #app .modal :is(input,textarea,select){
  background:#05131f!important;
  color:var(--txt)!important;
  border-color:#214b67!important;
}
body #app .admin-shell :is(input,textarea)::placeholder,
body #app .app-shell :is(input,textarea)::placeholder,
body #app .modal :is(input,textarea)::placeholder{
  color:#587286!important;
}

/* ---------- MODALS ---------- */
body #app .modal{
  background:linear-gradient(145deg,#0b2031,#071522)!important;
  border:1px solid #28516d!important;
  color:var(--txt)!important;
}
body #app .modal :is(.manage-item,.access-grid section,.read-only-details p,.perm-group,.demo-vehicle,.audit-human-fields,.audit-detail-grid>div,.audit-detail-action){
  background:var(--d3)!important;
  border-color:var(--line)!important;
  color:var(--txt)!important;
}

/* ---------- STATUS ---------- */
body #app .status.ok{background:#0c3428!important;color:var(--green)!important}
body #app .status.bad{background:#3b171d!important;color:#ff858e!important}
body #app .status.warn{background:#3a2b0d!important;color:var(--amber)!important}
body #app .status.blue{background:#0c3158!important;color:#6abbff!important}

/* ---------- BUTTONS ---------- */
body #app .btn.primary{
  background:linear-gradient(135deg,#1988ff,#0864cf)!important;
  color:white!important;
  border-color:#278fff!important;
}
body #app :is(.btn.outline,.mini-action,.filter){
  background:#0a1d2c!important;
  border-color:#28516d!important;
  color:#d7e8f4!important;
}

/* ---------- LAST-RESORT WHITE CARD KILLER
   scoped to application/public card structures, not images ---------- */
body #app .admin-shell .admin-content [class*="card"]:not(.btn):not(.status),
body #app .app-shell .app-content [class*="card"]:not(.btn):not(.status){
  border-color:var(--line)!important;
}

/* mobile */
@media(max-width:800px){
  body #app .admin-shell .admin-content .my-time-summary,
  body #app .app-shell .app-content .my-time-summary{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}


/* =========================================================
   MOF v35.1 — admin cennik + formularz dodawania klienta
   ========================================================= */

/* ADMIN → CENNIK: usuwa jasne wnętrze kart z ceną */
body #app .admin-shell .admin-content .pricing-admin-grid .pricing-admin-plan{
  background:linear-gradient(145deg,#091b2a,#071522)!important;
  border:1px solid #1b4059!important;
  color:#f2f7fb!important;
}
body #app .admin-shell .admin-content .pricing-admin-plan .card-title b{
  color:#f3f8fc!important;
}
body #app .admin-shell .admin-content .pricing-admin-plan .card-title small{
  color:#8299ab!important;
}
body #app .admin-shell .admin-content .pricing-admin-plan .admin-plan-price{
  background:linear-gradient(145deg,#0d2639,#0a1e2e)!important;
  border:1px solid #204961!important;
  color:#f2f7fb!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02)!important;
}
body #app .admin-shell .admin-content .pricing-admin-plan .admin-plan-price strong{
  color:#f5f9fc!important;
}
body #app .admin-shell .admin-content .pricing-admin-plan .admin-plan-price small{
  color:#8ca2b4!important;
}
body #app .admin-shell .admin-content .pricing-admin-plan .admin-promo{
  background:#3a290d!important;
  border:1px solid #6e4c11!important;
  color:#ffd477!important;
}
body #app .admin-shell .admin-content .pricing-admin-plan .admin-feature-mini span{
  color:#b8c9d6!important;
}
body #app .admin-shell .admin-content .pricing-admin-plan .admin-feature-mini small{
  color:#7891a6!important;
}

/* Edycja cennika — sekcja promocji też była ze starego jasnego stylu */
body #app .modal .promo-editor{
  background:#241c0d!important;
  border:1px solid #5c471c!important;
  color:#f2f7fb!important;
}
body #app .modal .promo-editor small{
  color:#bcae86!important;
}

/* MODAL → DODAJ KLIENTA: box "Bezpieczny proces" */
body #app .modal .security-note,
body #app .modal-form .security-note{
  display:flex!important;
  align-items:flex-start!important;
  gap:12px!important;
  margin-top:14px!important;
  padding:14px 16px!important;
  background:linear-gradient(145deg,#0b2940,#091d2d)!important;
  border:1px solid #205275!important;
  border-radius:12px!important;
  color:#a8bfd0!important;
  box-shadow:none!important;
}
body #app .modal .security-note b,
body #app .modal-form .security-note b{
  color:#62b8ff!important;
  white-space:nowrap!important;
}
body #app .modal .security-note span,
body #app .modal-form .security-note span{
  color:#a7bccb!important;
  line-height:1.55!important;
}

/* Hasło tymczasowe — grupa input + przycisk */
body #app .modal .password-field-row{
  display:grid!important;
  grid-template-columns:1fr auto!important;
  gap:8px!important;
}
body #app .modal .password-field-row input{
  background:#05131f!important;
  color:#f2f7fb!important;
  border:1px solid #214b67!important;
}
body #app .modal .password-field-row .btn{
  background:#0b2940!important;
  color:#71bdff!important;
  border:1px solid #245b80!important;
}
body #app .modal .modal-intro{
  color:#8da3b5!important;
}

/* mobile */
@media(max-width:600px){
  body #app .modal .password-field-row{
    grid-template-columns:1fr!important;
  }
}


/* =========================================================
   MOF v35.2 — FIX: DODAJ KLIENTA + ZGŁOSZENIA
   ========================================================= */

/* MODALE są poza #app — dlatego te reguły nie używają #app */
body .modal-backdrop,
body .modal-overlay{
  background:rgba(1,8,14,.80)!important;
  backdrop-filter:blur(8px)!important;
}
body .modal{
  background:linear-gradient(145deg,#0b2031,#071522)!important;
  border:1px solid #28516d!important;
  color:#f2f7fb!important;
  box-shadow:0 30px 90px rgba(0,0,0,.48)!important;
}
body .modal h2,
body .modal h3,
body .modal b,
body .modal strong{color:#f3f8fc!important}
body .modal p,
body .modal small,
body .modal .modal-intro{color:#879eaf!important}
body .modal .modal-close{
  background:#0c2b43!important;
  border:1px solid #1e4c6b!important;
  color:#edf6fc!important;
}
body .modal .modal-form input,
body .modal .modal-form textarea,
body .modal .modal-form select{
  background:#05131f!important;
  color:#f2f7fb!important;
  border:1px solid #214b67!important;
  box-shadow:none!important;
}
body .modal .modal-form input:focus,
body .modal .modal-form textarea:focus,
body .modal .modal-form select:focus{
  border-color:#1683ff!important;
  box-shadow:0 0 0 3px rgba(22,131,255,.13)!important;
}
body .modal .modal-form input::placeholder,
body .modal .modal-form textarea::placeholder{color:#587286!important}
body .modal .modal-form label{color:#9db2c2!important}
body .modal .modal-form label > small{color:#71899d!important}

/* DODAJ KLIENTA — biały prostokąt "Bezpieczny proces" */
body .modal #admin-client-form .security-note{
  display:flex!important;
  align-items:flex-start!important;
  gap:12px!important;
  width:100%!important;
  margin:14px 0 2px!important;
  padding:14px 16px!important;
  background:linear-gradient(145deg,#0a2a42,#081d2e)!important;
  border:1px solid #205678!important;
  border-radius:12px!important;
  color:#a9c0d0!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
body .modal #admin-client-form .security-note b{
  color:#64b9ff!important;
  white-space:nowrap!important;
}
body .modal #admin-client-form .security-note span{
  color:#a9bdcc!important;
  line-height:1.55!important;
}
body .modal #admin-client-form .password-field-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:8px!important;
}
body .modal #admin-client-form #generate-temp-password{
  background:#0b2940!important;
  border:1px solid #245b80!important;
  color:#70bdff!important;
}

/* Po utworzeniu klienta */
body .modal .client-created .credential-box{
  background:#091b2a!important;
  border:1px solid #1b4059!important;
  color:#f2f7fb!important;
}
body .modal .client-created .credential-password{
  background:#05131f!important;
  border:1px solid #214b67!important;
}
body .modal .client-created code{color:#72c0ff!important}
body .modal .client-created .security-note{
  background:#241f0d!important;
  border:1px solid #66531b!important;
  color:#c9ba87!important;
}

/* ZGŁOSZENIA — karta firmy i białe wnętrze accordionu */
body #app .admin-shell .admin-content .issue-company-groups{
  display:grid!important;
  gap:14px!important;
}
body #app .admin-shell .admin-content details.company-issue-group{
  background:linear-gradient(145deg,#091b2a,#071522)!important;
  border:1px solid #1b4059!important;
  color:#f2f7fb!important;
  overflow:hidden!important;
  border-radius:16px!important;
}
body #app .admin-shell .admin-content details.company-issue-group > summary{
  background:#0b2031!important;
  color:#f2f7fb!important;
  border-bottom:1px solid #1b4059!important;
  padding:16px 18px!important;
}
body #app .admin-shell .admin-content details.company-issue-group > summary b{
  color:#f2f7fb!important;
}
body #app .admin-shell .admin-content details.company-issue-group > summary small{
  color:#8199ab!important;
}
body #app .admin-shell .admin-content details.company-issue-group .accordion-body{
  background:#071522!important;
  padding:12px!important;
}
body #app .admin-shell .admin-content details.company-issue-group .admin-issue-row{
  background:#091b2a!important;
  border:1px solid #17384f!important;
  color:#eef6fc!important;
  border-radius:12px!important;
  margin:0 0 8px!important;
  padding:14px 16px!important;
}
body #app .admin-shell .admin-content details.company-issue-group .admin-issue-row:last-child{
  margin-bottom:0!important;
}
body #app .admin-shell .admin-content details.company-issue-group .admin-issue-row:hover{
  background:#0d2639!important;
  border-color:#2a648d!important;
}
body #app .admin-shell .admin-content details.company-issue-group .admin-issue-row b{
  color:#eef6fc!important;
}
body #app .admin-shell .admin-content details.company-issue-group .admin-issue-row small{
  color:#8098aa!important;
}
body #app .admin-shell .admin-content details.company-issue-group .admin-issue-row.unread{
  background:linear-gradient(90deg,rgba(22,131,255,.10),#091b2a)!important;
  border-color:#245a80!important;
}

/* Modal szczegółów zgłoszenia */
body .modal .quote-detail,
body .modal .quote-message,
body .modal .quote-detail-grid > div,
body .modal .issue-preview{
  background:#091b2a!important;
  border-color:#1b4059!important;
  color:#eef6fc!important;
}
body .modal .quote-message p{color:#c5d5e1!important}
body .modal .quote-detail-grid small,
body .modal .quote-message small{color:#8098aa!important}
body .modal .quote-detail-grid b{color:#eef6fc!important}

/* cennik admina modal promo poza #app */
body .modal .promo-editor{
  background:#241c0d!important;
  border:1px solid #5c471c!important;
  color:#f2f7fb!important;
}

@media(max-width:600px){
  body .modal #admin-client-form .password-field-row{
    grid-template-columns:1fr!important;
  }
  body .modal #admin-client-form .security-note{
    flex-direction:column!important;
  }
}


/* =========================================================
   MOF v35.3 — WYCENY + CENNIK ADMINA
   ========================================================= */

/* -------- SZCZEGÓŁY WYCENY -------- */
body .modal .quote-detail{
  background:transparent!important;
  color:#f2f7fb!important;
}
body .modal .quote-detail-head{
  border-color:#1b4059!important;
}
body .modal .quote-detail-head h3{
  color:#f5f9fc!important;
}
body .modal .quote-detail-head p{
  color:#7f97aa!important;
}
body .modal .quote-detail-grid{
  gap:10px!important;
}
body .modal .quote-detail-grid > div{
  background:#0a1d2c!important;
  border:1px solid #234b67!important;
  color:#eef6fc!important;
  box-shadow:none!important;
}
body .modal .quote-detail-grid > div small{
  color:#7891a6!important;
}
body .modal .quote-detail-grid > div b{
  color:#f1f7fb!important;
}

/* biały box "Wiadomość klienta" */
body .modal .quote-message{
  background:linear-gradient(145deg,#0a1d2c,#081725)!important;
  border:1px solid #1b4059!important;
  color:#eef6fc!important;
  border-radius:12px!important;
}
body .modal .quote-message small{
  color:#7891a6!important;
}
body .modal .quote-message p{
  color:#c3d3df!important;
}

/* biały panel "Notatki wewnętrzne" */
body .modal .quote-comments{
  background:linear-gradient(145deg,#091b2a,#071522)!important;
  border:1px solid #1b4059!important;
  border-radius:14px!important;
  color:#eef6fc!important;
  padding:16px!important;
}
body .modal .quote-comments-title{
  border-color:#17384f!important;
}
body .modal .quote-comments-title small{
  color:#69b9ff!important;
}
body .modal .quote-comments-title h4{
  color:#f2f7fb!important;
}
body .modal .quote-comments-title > span{
  background:#0d3152!important;
  color:#68baff!important;
}
body .modal .quote-comments-list{
  display:grid!important;
  gap:8px!important;
}
body .modal .quote-comment{
  background:#0b2031!important;
  border:1px solid #1c425f!important;
  color:#eef6fc!important;
}
body .modal .quote-comment-head{
  border-color:#17384f!important;
}
body .modal .quote-comment-head b{
  color:#eef6fc!important;
}
body .modal .quote-comment-head small{
  color:#7891a6!important;
}
body .modal .quote-comment p{
  color:#b9cad7!important;
}
body .modal .quote-comments-empty{
  background:#0a1d2c!important;
  border:1px dashed #24506d!important;
  color:#8098aa!important;
}
body .modal .quote-comment-field{
  color:#8fa6b8!important;
}
body .modal #admin-quote-comment{
  background:#04111d!important;
  color:#f2f7fb!important;
  border:1px solid #28516d!important;
}
body .modal #admin-quote-comment::placeholder{
  color:#5f778b!important;
}
body .modal .quote-actions{
  border-color:#17384f!important;
}
body .modal .quote-actions select{
  background:#05131f!important;
  color:#eef6fc!important;
  border-color:#214b67!important;
}

/* -------- CENNIK ADMINA — MODAL EDYCJI -------- */
body .modal #pricing-plan-form{
  color:#f2f7fb!important;
}
body .modal #pricing-plan-form hr{
  border:0!important;
  border-top:1px solid #1b4059!important;
}
body .modal #pricing-plan-form .pricing-checks{
  background:#091b2a!important;
  border:1px solid #1b4059!important;
  border-radius:12px!important;
  padding:12px 14px!important;
}
body .modal #pricing-plan-form .pricing-checks .check{
  color:#a6b9c8!important;
}

/* jasna promocja/przecena */
body .modal #pricing-plan-form .promo-editor{
  background:linear-gradient(145deg,#1d180c,#141109)!important;
  border:1px solid #5b491e!important;
  border-radius:14px!important;
  color:#f2f7fb!important;
  box-shadow:none!important;
}
body .modal #pricing-plan-form .promo-editor > div:first-child b{
  color:#ffd36a!important;
}
body .modal #pricing-plan-form .promo-editor > div:first-child small{
  color:#b9aa80!important;
}
body .modal #pricing-plan-form .promo-editor .check{
  color:#d3c390!important;
}
body .modal #pricing-plan-form .promo-editor label{
  color:#c1b58f!important;
}
body .modal #pricing-plan-form .promo-editor input{
  background:#061522!important;
  border:1px solid #294a5f!important;
  color:#f2f7fb!important;
}

/* Zakres planu */
body .modal #pricing-plan-form textarea[name="features"]{
  background:#05131f!important;
  border:1px solid #214b67!important;
  color:#eef6fc!important;
}

/* -------- CENNIK ADMINA — KARTY NA STRONIE -------- */
body #app .admin-shell .admin-content .pricing-admin-plan{
  background:linear-gradient(145deg,#091b2a,#071522)!important;
  border:1px solid #1b4059!important;
}
body #app .admin-shell .admin-content .pricing-admin-plan .admin-plan-price{
  background:#0c2335!important;
  border:1px solid #1d4662!important;
  color:#f2f7fb!important;
}
body #app .admin-shell .admin-content .pricing-admin-plan .admin-plan-price strong{
  color:#f5f9fc!important;
}
body #app .admin-shell .admin-content .pricing-admin-plan .admin-plan-price small{
  color:#8299ab!important;
}
body #app .admin-shell .admin-content .pricing-admin-plan .admin-promo{
  background:#34270d!important;
  border:1px solid #664b16!important;
  color:#ffd16d!important;
}
body #app .admin-shell .admin-content .pricing-admin-list .list-row{
  background:#091b2a!important;
  border-color:#17384f!important;
}
body #app .admin-shell .admin-content .pricing-admin-list .list-row b{
  color:#eef6fc!important;
}
body #app .admin-shell .admin-content .pricing-admin-list .list-row small{
  color:#8098aa!important;
}

@media(max-width:650px){
  body .modal .quote-detail-grid{
    grid-template-columns:1fr!important;
  }
}


/* =========================================================
   MOF v35.4 — KALENDARZ / HARMONOGRAM
   ========================================================= */
body #app .mof-calendar{
  padding:0!important;
  overflow:hidden!important;
  background:linear-gradient(145deg,#081b2a,#061522)!important;
}
.calendar-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px 20px;
  border-bottom:1px solid #1b4059;
  background:#091c2b;
}
.calendar-title{display:grid;gap:3px}
.calendar-title h2{margin:0;color:#f3f8fc;font-size:26px;text-transform:capitalize}
.calendar-title small{color:#7f96aa}
.calendar-toolbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.calendar-nav-buttons{display:flex;align-items:center;gap:6px}
.calendar-view-tabs{
  display:flex;
  padding:3px;
  background:#061522;
  border:1px solid #1b4059;
  border-radius:10px;
}
.calendar-view-tabs button{
  border:0;
  background:transparent;
  color:#7991a5;
  font:inherit;
  font-size:13.5px;
  font-weight:800;
  padding:8px 12px;
  border-radius:7px;
  cursor:pointer;
}
.calendar-view-tabs button.active{background:#0d3152;color:#69b9ff}
.calendar-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 280px;
  min-height:580px;
}
.calendar-main{min-width:0;padding:18px}
.calendar-upcoming{
  border-left:1px solid #1b4059;
  background:#071725;
  padding:16px;
}
.calendar-upcoming-head{
  display:grid;
  gap:3px;
  padding:3px 3px 12px;
  border-bottom:1px solid #17384f;
  margin-bottom:8px;
}
.calendar-upcoming-head b{color:#edf6fc}
.calendar-upcoming-head small{color:#748ca0}
.upcoming-event{
  width:100%;
  display:grid;
  grid-template-columns:4px 1fr;
  gap:10px;
  align-items:stretch;
  padding:11px 8px;
  border:0;
  border-bottom:1px solid #14344a;
  background:transparent;
  color:#eef6fc;
  text-align:left;
  cursor:pointer;
}
.upcoming-event:hover{background:#0b2436}
.upcoming-event>i{width:3px;border-radius:4px;background:#1683ff}
.upcoming-event>i.purple{background:#a86eff}.upcoming-event>i.cyan{background:#20c7ef}
.upcoming-event>i.blue{background:#1683ff}.upcoming-event>i.red{background:#ff6f79}
.upcoming-event>i.green{background:#42d79a}.upcoming-event>i.amber{background:#f0b43c}
.upcoming-event span{display:grid;gap:3px}
.upcoming-event b{font-size:13.5px;color:#eef6fc}
.upcoming-event small{font-size:12.5px;color:#7790a4;line-height:1.4}
.calendar-empty-side{padding:18px 4px;color:#70889b;font-size:13.5px}

/* month */
.calendar-weekdays{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  border:1px solid #17384f;
  border-bottom:0;
  border-radius:12px 12px 0 0;
  overflow:hidden;
}
.calendar-weekdays b{
  padding:10px;
  background:#071725;
  border-right:1px solid #17384f;
  color:#8299ab;
  font-size:12.5px;
  text-align:center;
}
.calendar-weekdays b:last-child{border-right:0}
.calendar-month-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  grid-template-rows:repeat(6,minmax(92px,1fr));
  border-left:1px solid #17384f;
  border-top:1px solid #17384f;
}
.calendar-day{
  min-width:0;
  min-height:105px;
  padding:7px;
  background:#081a29;
  border-right:1px solid #17384f;
  border-bottom:1px solid #17384f;
  position:relative;
}
.calendar-day.outside{background:#06131f;opacity:.48}
.calendar-day.today{box-shadow:inset 0 0 0 1px #1683ff;background:#0a2032}
.calendar-day-number{
  width:23px;height:23px;
  display:grid;place-items:center;
  margin-bottom:5px;
  color:#9bb0c0;
  font-size:12.5px;
  font-weight:800;
  border-radius:50%;
}
.calendar-day.today .calendar-day-number{background:#1683ff;color:#fff}
.calendar-day-events{display:grid;gap:4px}
.calendar-event{
  width:100%;
  min-width:0;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:2px 5px;
  padding:5px 6px;
  border:1px solid rgba(255,255,255,.04);
  border-left:3px solid currentColor;
  border-radius:6px;
  background:#0c2639;
  text-align:left;
  cursor:pointer;
}
.calendar-event span{font-size:11px;color:#a9becd;grid-row:1/3}
.calendar-event b{font-size:11px;color:#eef6fc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.calendar-event small{font-size:10px;color:#71899c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.calendar-event.blue{color:#1683ff;background:#0a2944}
.calendar-event.purple{color:#aa73ff;background:#261b3b}
.calendar-event.cyan{color:#27c8ef;background:#0a2c39}
.calendar-event.red{color:#ff6f79;background:#35171e}
.calendar-event.green{color:#43d99a;background:#0b3026}
.calendar-event.amber{color:#f0b43c;background:#35280e}
.calendar-event:hover{filter:brightness(1.14)}
.calendar-more{font-size:11px;color:#6eaee7;padding-left:4px}

/* week */
.calendar-week-view{
  display:grid;
  grid-template-columns:repeat(7,minmax(120px,1fr));
  overflow-x:auto;
  border:1px solid #17384f;
  border-radius:12px;
}
.calendar-week-column{
  min-height:500px;
  border-right:1px solid #17384f;
  background:#081a29;
}
.calendar-week-column:last-child{border-right:0}
.calendar-week-column.today{background:#0a2032}
.calendar-week-column header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:11px;
  border-bottom:1px solid #17384f;
  background:#071725;
}
.calendar-week-column header b{font-size:12.5px;color:#8ca2b4}
.calendar-week-column header span{font-size:20px;font-weight:900;color:#edf6fc}
.calendar-week-column>div{display:grid;gap:7px;padding:8px}
.calendar-no-events{color:#526c80;font-size:11px;text-align:center;padding-top:20px}

/* day */
.calendar-day-view{
  border:1px solid #17384f;
  border-radius:12px;
  overflow:hidden;
}
.calendar-day-view>header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:15px 18px;
  background:#071725;
  border-bottom:1px solid #17384f;
}
.calendar-day-view>header span{color:#6eb6f5;text-transform:capitalize}
.calendar-day-view>header b{color:#eef6fc}
.calendar-day-agenda{display:grid;gap:8px;padding:14px;background:#081a29;min-height:420px}
.agenda-event{
  display:grid;
  grid-template-columns:65px minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  padding:13px 15px;
  background:#0b2031;
  border:1px solid #1b4059;
  border-left:4px solid #1683ff;
  border-radius:10px;
}
.agenda-event.purple{border-left-color:#a86eff}.agenda-event.cyan{border-left-color:#20c7ef}
.agenda-event.red{border-left-color:#ff6f79}.agenda-event.green{border-left-color:#42d79a}.agenda-event.amber{border-left-color:#f0b43c}
.agenda-event time{font-size:20px;font-weight:900;color:#70bdff}
.agenda-event>div{display:grid;gap:3px}
.agenda-event b{color:#eef6fc}.agenda-event small,.agenda-event span{color:#7f96aa;font-size:12.5px}

@media(max-width:1050px){
  .calendar-layout{grid-template-columns:1fr}
  .calendar-upcoming{border-left:0;border-top:1px solid #1b4059}
}
@media(max-width:760px){
  .calendar-toolbar{align-items:flex-start;flex-direction:column}
  .calendar-toolbar-actions{width:100%;justify-content:flex-start}
  .calendar-main{padding:10px;overflow:auto}
  .calendar-weekdays,.calendar-month-grid{min-width:760px}
  .calendar-layout{min-height:0}
  .calendar-upcoming{padding:12px}
}


/* =========================================================
   MOF v35.5 — ZGŁOSZENIA / TABLE VIEW
   ========================================================= */
body #app .issue-center{
  padding:0!important;
  overflow:hidden!important;
  background:linear-gradient(145deg,#081b2a,#061522)!important;
}
.issue-tabs{
  display:flex;
  align-items:center;
  gap:4px;
  padding:0 18px;
  border-bottom:1px solid #1a3d55;
  background:#091b2a;
  overflow:auto;
}
.issue-tabs button{
  position:relative;
  display:flex;
  align-items:center;
  gap:7px;
  padding:15px 12px 13px;
  border:0;
  background:transparent;
  color:#8098aa;
  font:inherit;
  font-size:13.5px;
  font-weight:800;
  cursor:pointer;
  white-space:nowrap;
}
.issue-tabs button b{
  min-width:20px;
  height:20px;
  padding:0 6px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#0d2639;
  color:#8ba7bb;
  font-size:12.5px;
}
.issue-tabs button.active{color:#59b5ff}
.issue-tabs button.active:after{
  content:'';
  position:absolute;
  left:8px;right:8px;bottom:0;
  height:2px;
  background:#1683ff;
  border-radius:2px 2px 0 0;
}
.issue-tabs button.active b{background:#0d3152;color:#70c0ff}
.issue-center-meta{
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:10px 18px;
  color:#728b9f;
  font-size:12.5px;
  border-bottom:1px solid #14354b;
}
.issue-legend{display:flex;align-items:center;gap:7px}
.issue-legend i{width:7px;height:7px;border-radius:2px;background:#f1b53d}
.issue-legend i.done{background:#42d797}
.issue-legend i.closed{background:#ff6f79}
.issue-company-tables{
  display:grid;
  gap:12px;
  padding:14px;
}
.issue-company-table{
  margin:0!important;
  background:#071725!important;
  border:1px solid #1a3f58!important;
  border-radius:13px!important;
  overflow:hidden!important;
}
.issue-company-table>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:13px 16px!important;
  background:#0a1f30!important;
  border-bottom:1px solid #183a51!important;
  cursor:pointer;
  list-style:none;
}
.issue-company-table>summary::-webkit-details-marker{display:none}
.issue-company-table>summary>span:first-child{display:grid;gap:2px}
.issue-company-table>summary b{font-size:14.5px;color:#edf6fc!important}
.issue-company-table>summary small{font-size:11px;color:#7891a5!important}
.issue-company-table>summary>span:last-child{color:#6aaee7;font-weight:900}
.issue-table-wrap{overflow:auto;background:#071522}
.issue-table-head,
.issue-table-row{
  min-width:980px;
  display:grid;
  grid-template-columns:minmax(260px,1.6fr) 140px 155px 160px 105px 130px 30px;
  gap:14px;
  align-items:center;
}
.issue-table-head{
  padding:10px 14px;
  background:#06131f;
  border-bottom:1px solid #17384f;
}
.issue-table-head span{
  color:#6f879a;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.issue-table-row{
  width:100%;
  padding:13px 14px;
  border:0;
  border-bottom:1px solid #15364c;
  background:#091b2a;
  color:#eef6fc;
  text-align:left;
  cursor:pointer;
  transition:.15s ease;
}
.issue-table-row:last-child{border-bottom:0}
.issue-table-row:hover{
  background:#0c2436;
  box-shadow:inset 3px 0 0 #1683ff;
}
.issue-table-row.unread{
  background:linear-gradient(90deg,rgba(22,131,255,.10),#091b2a 25%);
}
.issue-table-row.unread .issue-title-cell>span>b:after{
  content:'NOWE';
  display:inline-flex;
  margin-left:7px;
  padding:2px 5px;
  border-radius:999px;
  background:#0d3152;
  color:#66b9ff;
  font-size:8.5px;
  letter-spacing:.05em;
}
.issue-table-row>span:not(.issue-title-cell){
  min-width:0;
  display:grid;
  gap:3px;
}
.issue-table-row b{
  min-width:0;
  color:#edf6fc!important;
  font-size:12.5px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.issue-table-row small{
  min-width:0;
  color:#71899d!important;
  font-size:11px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.issue-title-cell{
  display:grid!important;
  grid-template-columns:31px minmax(0,1fr);
  gap:10px;
  align-items:center;
}
.issue-title-cell>span{display:grid;gap:3px;min-width:0}
.issue-type-icon{
  width:29px;height:29px;
  display:grid;place-items:center;
  border-radius:8px;
  font-style:normal;
  font-size:14.5px;
  font-weight:900;
  background:#30240c;
  color:#ffc653;
  border:1px solid #624a17;
}
.issue-type-icon.ok{background:#0b3026;color:#4bdd9e;border-color:#205d46}
.issue-type-icon.bad{background:#35171e;color:#ff818a;border-color:#66303a}
.muted-value{color:#88a0b2!important}
.issue-status{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  width:max-content;
  padding:5px 9px;
  border-radius:7px;
  font-style:normal;
  font-size:11px;
  font-weight:900;
}
.issue-status.warn{background:#3b2c0d;color:#ffd06a}
.issue-status.ok{background:#0b3227;color:#52dda0}
.issue-status.bad{background:#3a171d;color:#ff838c}
.issue-row-arrow{
  display:block!important;
  color:#5e9fda;
  font-size:19px;
  text-align:right;
}

@media(max-width:760px){
  .issue-center-meta{align-items:flex-start;flex-direction:column}
  .issue-legend{display:none}
  .issue-company-tables{padding:9px}
  .issue-table-head,.issue-table-row{min-width:900px}
}


/* =========================================================
   MOF v35.6 — E-PASZPORT POJAZDU
   ========================================================= */
.vehicle-passport{display:grid;gap:16px}
.passport-back{width:max-content;margin-bottom:-2px}
.passport-hero-card{
  min-height:200px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  align-items:center;
  gap:22px;
  padding:24px 28px;
  border:1px solid #1b4059;
  border-radius:18px;
  background:
    radial-gradient(circle at 82% 50%,rgba(22,131,255,.16),transparent 34%),
    linear-gradient(135deg,#071725,#0a2133);
  overflow:hidden;
  box-shadow:0 18px 45px rgba(0,0,0,.20);
}
.passport-hero-copy{display:grid;gap:8px}
.passport-title-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.passport-title-line h1{margin:0;font-size:35.5px;line-height:1.05;color:#f4f8fc!important}
.passport-plate{font-size:16.5px;font-weight:900;letter-spacing:.08em;color:#b8d3e7}
.passport-vin{font-size:13.5px;color:#738da2;letter-spacing:.03em}
.passport-vehicle-image{display:flex;align-items:center;justify-content:center;height:160px}
.passport-vehicle-image img{max-width:100%;max-height:155px;object-fit:contain;filter:drop-shadow(0 18px 18px rgba(0,0,0,.34))}
.passport-tabs{
  display:flex;
  gap:4px;
  padding:0 8px;
  border-bottom:1px solid #1a3d55;
  overflow:auto;
}
.passport-tabs a{
  position:relative;
  padding:12px 15px;
  color:#71899d;
  text-decoration:none;
  font-size:13.5px;
  font-weight:900;
  text-transform:uppercase;
  white-space:nowrap;
}
.passport-tabs a:hover,.passport-tabs a.active{color:#64b9ff}
.passport-tabs a.active:after{
  content:'';
  position:absolute;
  left:10px;right:10px;bottom:-1px;
  height:2px;background:#1683ff;border-radius:2px;
}
.passport-dashboard{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr);
  gap:14px;
}
.passport-info-card,.passport-mileage-card,.passport-upcoming-card{
  background:linear-gradient(145deg,#091b2a,#071522);
  border:1px solid #1b4059;
  border-radius:15px;
}
.passport-info-card{padding:18px}
.passport-data-list{display:grid;gap:0;margin:8px 0 0}
.passport-data-list>div{
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  gap:18px;
  align-items:center;
  padding:11px 2px;
  border-bottom:1px solid #15364b;
}
.passport-data-list>div:last-child{border-bottom:0}
.passport-data-list dt{font-size:12.5px;color:#71899d}
.passport-data-list dd{margin:0;font-size:13.5px;font-weight:800;color:#eaf4fb;overflow-wrap:anywhere}
.passport-side-stack{display:grid;gap:14px;align-content:start}
.passport-mileage-card{padding:20px}
.passport-mileage-card>span{display:block;color:#8098aa;font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.passport-mileage-card strong{display:block;margin:10px 0 4px;font-size:34.5px;line-height:1;color:#f4f8fc!important}
.passport-mileage-card strong small{font-size:13.5px;color:#869daf!important}
.passport-mileage-card p{margin:0;color:#728a9e!important;font-size:12.5px}
.passport-upcoming-card{padding:16px}
.passport-upcoming-row{
  display:grid;
  grid-template-columns:32px minmax(0,1fr);
  gap:10px;
  align-items:center;
  padding:10px 0;
  border-bottom:1px solid #15364b;
}
.passport-upcoming-row:last-child{border-bottom:0}
.passport-event-icon{
  width:30px;height:30px;
  display:grid;place-items:center;
  border-radius:8px;
  background:#0d3152;color:#69b9ff;
}
.passport-upcoming-row>div{display:grid;gap:2px}
.passport-upcoming-row b{font-size:12.5px;color:#eaf4fb!important}
.passport-upcoming-row small{font-size:11px;color:#70889c!important}
.passport-search{padding:11px!important}
.passport-search .search{width:100%}
.passport-content-section{
  padding:18px;
  border:1px solid #1b4059;
  border-radius:15px;
  background:linear-gradient(145deg,#091b2a,#071522);
}
.passport-section-head{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:12px;
  margin-bottom:14px;
}
.passport-section-head h2{margin:2px 0 0;font-size:23px;color:#f2f7fb!important}
.passport-section-head>span{
  padding:5px 8px;
  border-radius:999px;
  background:#0d3152;
  color:#69b9ff;
  font-size:11px;
  font-weight:900;
}
.passport-history-list{display:grid}
.passport-history-item{
  display:grid;
  grid-template-columns:105px 16px minmax(0,1fr);
  gap:10px;
  min-height:70px;
  padding:8px 0;
  position:relative;
}
.passport-history-item time{padding-top:3px;color:#70b9f6;font-size:12.5px;font-weight:800}
.passport-history-item .history-dot{
  position:relative;
  width:10px;height:10px;
  margin-top:3px;
  border-radius:50%;
  background:#1683ff;
  box-shadow:0 0 0 4px #0d3152;
}
.passport-history-item:not(:last-child) .history-dot:after{
  content:'';
  position:absolute;
  top:13px;left:4px;
  width:1px;height:58px;
  background:#1b4059;
}
.passport-history-item>div{display:grid;gap:4px;padding-bottom:14px;border-bottom:1px solid #15364b}
.passport-history-item b{font-size:13.5px;color:#edf6fc!important}
.passport-history-item p{margin:0;font-size:12.5px;color:#7d95a8!important;line-height:1.5}
.passport-report-grid{display:grid;gap:8px}
.passport-report-item{
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  gap:11px;
  align-items:center;
  padding:12px 13px;
  border:1px solid #183a52;
  border-radius:11px;
  background:#0a1d2c;
}
.passport-doc-icon{
  width:36px;height:36px;
  display:grid;place-items:center;
  border-radius:9px;
  background:#0d3152;color:#66b9ff;
}
.passport-report-item>div{display:grid;gap:3px}
.passport-report-item b{font-size:13.5px;color:#edf6fc!important}
.passport-report-item small{font-size:11px;color:#758da1!important}
.passport-media-grid figure{background:#081a29!important;border:1px solid #1b4059!important;border-radius:12px!important;overflow:hidden}
.passport-media-grid figcaption{color:#8fa5b6!important;background:#071522;padding:8px 10px!important}
.admin-passport{margin-top:12px}

@media(max-width:1000px){
  .passport-hero-card{grid-template-columns:1fr 280px}
  .passport-dashboard{grid-template-columns:1fr}
  .passport-side-stack{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .passport-hero-card{grid-template-columns:1fr;padding:20px}
  .passport-vehicle-image{height:120px;order:-1}
  .passport-title-line h1{font-size:29px}
  .passport-side-stack{grid-template-columns:1fr}
  .passport-data-list>div{grid-template-columns:1fr;gap:3px}
  .passport-history-item{grid-template-columns:80px 14px minmax(0,1fr)}
  .passport-report-item{grid-template-columns:36px minmax(0,1fr)}
  .passport-report-item .mini-action{grid-column:2;justify-self:start}
}


/* =========================================================
   MOF v35.7 — LOGIN REDESIGN
   ========================================================= */
.mof-login-page{
  min-height:100vh;
  position:relative;
  display:grid;
  place-items:center;
  padding:54px 24px;
  overflow:hidden;
  background:
    radial-gradient(circle at 77% 28%,rgba(22,131,255,.15),transparent 27%),
    radial-gradient(circle at 15% 90%,rgba(22,131,255,.07),transparent 23%),
    linear-gradient(135deg,#020a12,#061522 50%,#04111d);
}
.mof-login-page:before{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 90%);
}
.mof-login-back{
  position:absolute;
  top:22px;left:28px;
  z-index:3;
  color:#8199ad;
  text-decoration:none;
  font-size:13.5px;
  font-weight:800;
  transition:.15s ease;
}
.mof-login-back:hover{color:#70bdff}
.mof-login-shell{
  position:relative;
  z-index:1;
  width:min(1060px,100%);
  min-height:650px;
  display:grid;
  grid-template-columns:minmax(390px,.9fr) minmax(500px,1.1fr);
  overflow:hidden;
  border:1px solid #244a66;
  border-radius:24px;
  background:#071522;
  box-shadow:0 40px 120px rgba(0,0,0,.48);
}
.mof-login-form-side{
  display:flex;
  flex-direction:column;
  padding:42px 46px 30px;
  background:linear-gradient(160deg,#091c2b,#061522);
}
.mof-login-brand{margin-bottom:58px}
.mof-login-brand .brand{width:max-content}
.mof-login-copy{margin-bottom:27px}
.mof-login-copy h1{
  margin:7px 0 8px;
  font-size:39px;
  letter-spacing:-.03em;
  color:#f5f9fc!important;
}
.mof-login-copy p{margin:0;color:#8199ad!important;font-size:14.5px}
.mof-login-form{display:grid;gap:17px}
.mof-login-form>label{display:grid;gap:7px}
.mof-login-form>label>span{
  color:#a7b9c7;
  font-size:12.5px;
  font-weight:900;
}
.mof-login-input{
  height:50px;
  display:grid;
  grid-template-columns:37px minmax(0,1fr) auto;
  align-items:center;
  overflow:hidden;
  border:1px solid #214b67;
  border-radius:11px;
  background:#05131f;
  transition:.15s ease;
}
.mof-login-input:focus-within{
  border-color:#1683ff;
  box-shadow:0 0 0 3px rgba(22,131,255,.12);
}
.mof-login-input>i{
  display:grid;
  place-items:center;
  color:#5b829f;
  font-style:normal;
}
.mof-login-input input{
  width:100%;
  height:100%;
  padding:0 4px!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#eef6fc!important;
  font-size:14.5px;
}
.mof-login-input input::placeholder{color:#526c80!important}
.password-eye{
  width:38px;height:100%;
  border:0;
  background:transparent;
  color:#6f8ba1;
  cursor:pointer;
  font-size:16.5px;
}
.password-eye:hover{color:#66b9ff}
.mof-login-options{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-top:-3px;
}
.mof-login-options .remember{
  display:flex;
  align-items:center;
  gap:7px;
  color:#7f96aa;
  font-size:12.5px;
}
.mof-login-options .remember input{accent-color:#1683ff}
.login-help{
  max-width:190px;
  color:#5f7d94;
  text-align:right;
  font-size:11px;
  line-height:1.4;
}
.mof-login-form .btn.primary{
  min-height:49px;
  margin-top:4px;
  box-shadow:0 13px 30px rgba(22,131,255,.19);
}
.mof-login-security{
  display:grid;
  grid-template-columns:34px 1fr;
  gap:10px;
  align-items:center;
  margin-top:20px;
  padding:12px 13px;
  border:1px solid #19425c;
  border-radius:11px;
  background:#082033;
}
.mof-login-security>span{
  width:30px;height:30px;
  display:grid;place-items:center;
  border-radius:9px;
  background:#0b3428;
  color:#54dda0;
  font-weight:900;
}
.mof-login-security>div{display:grid;gap:2px}
.mof-login-security b{font-size:12.5px;color:#dce9f3!important}
.mof-login-security small{font-size:11px;line-height:1.4;color:#6f899d!important}
.mof-login-footer{
  margin-top:auto;
  padding-top:28px;
  color:#526c80!important;
  font-size:11px;
}

/* prawa część — wyłącznie grafika MOF, którą już mamy */
.mof-login-visual{
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:38px 42px 25px;
  overflow:hidden;
  background:
    radial-gradient(circle at 68% 35%,rgba(28,139,255,.27),transparent 30%),
    linear-gradient(145deg,#09233a,#04111d 75%);
}
.mof-login-visual:before{
  content:'';
  position:absolute;
  inset:0;
  opacity:.34;
  background:
    linear-gradient(120deg,transparent 20%,rgba(48,153,255,.08) 20.5%,transparent 21%),
    linear-gradient(60deg,transparent 50%,rgba(48,153,255,.06) 50.5%,transparent 51%);
}
.mof-login-glow{
  position:absolute;
  width:420px;height:420px;
  right:-80px;top:70px;
  border-radius:50%;
  background:rgba(22,131,255,.08);
  filter:blur(4px);
  box-shadow:0 0 110px rgba(22,131,255,.18);
}
.mof-login-visual-brand{
  position:relative;
  z-index:2;
  display:grid;
  width:max-content;
  gap:2px;
}
.mof-login-bigmark{
  color:#f7fbff;
  font-size:39px;
  line-height:1;
  font-weight:1000;
  font-style:italic;
  letter-spacing:-.08em;
}
.mof-login-bigmark span{color:#1683ff}
.mof-login-visual-brand small{
  color:#83a0b6!important;
  font-size:10px;
  font-weight:900;
  letter-spacing:.18em;
}
.mof-login-visual-copy{
  position:relative;
  z-index:2;
  margin-top:52px;
}
.mof-login-visual-copy>span{
  color:#57b5ff;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
}
.mof-login-visual-copy h2{
  margin:7px 0 0;
  max-width:420px;
  color:#f3f8fc!important;
  font-size:34.5px;
  line-height:1.05;
  letter-spacing:-.035em;
}
.mof-login-visual-copy h2 em{
  color:#58b5ff;
  font-style:normal;
}
.mof-login-van{
  position:relative;
  z-index:2;
  flex:1;
  min-height:270px;
  display:flex;
  justify-content:flex-end;
  align-items:flex-end;
}
.mof-login-van:before{
  content:'';
  position:absolute;
  width:72%;height:40px;
  right:0;bottom:16px;
  border-radius:50%;
  background:rgba(0,0,0,.48);
  filter:blur(15px);
}
.mof-login-van img{
  position:relative;
  width:min(500px,100%);
  max-height:315px;
  object-fit:contain;
  transform:translate(22px,5px);
  filter:drop-shadow(0 25px 25px rgba(0,0,0,.46));
}
.mof-login-benefits{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:7px;
  padding-top:13px;
  border-top:1px solid rgba(107,180,235,.16);
}
.mof-login-benefits span{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  min-height:31px;
  border:1px solid #19405a;
  border-radius:8px;
  background:rgba(5,19,31,.65);
  color:#8ea8ba;
  font-size:10px;
  font-weight:800;
}

@media(max-width:900px){
  .mof-login-page{padding:40px 16px 24px}
  .mof-login-shell{grid-template-columns:1fr;max-width:560px}
  .mof-login-visual{
    order:-1;
    min-height:310px;
    padding:28px 30px 15px;
  }
  .mof-login-visual-copy{margin-top:25px}
  .mof-login-visual-copy h2{font-size:30.5px}
  .mof-login-van{position:absolute;right:15px;bottom:45px;width:58%;min-height:0}
  .mof-login-van img{transform:none}
  .mof-login-benefits{margin-top:auto}
  .mof-login-form-side{padding:32px 30px 26px}
  .mof-login-brand{display:none}
}
@media(max-width:560px){
  .mof-login-page{padding:42px 10px 16px;place-items:start center}
  .mof-login-back{top:14px;left:17px}
  .mof-login-shell{border-radius:18px}
  .mof-login-visual{min-height:235px;padding:22px}
  .mof-login-visual-copy h2{font-size:25px}
  .mof-login-visual-copy{margin-top:18px}
  .mof-login-van{width:55%;right:6px;bottom:44px}
  .mof-login-benefits{grid-template-columns:repeat(2,1fr);width:54%}
  .mof-login-form-side{padding:27px 22px 22px}
  .mof-login-copy h1{font-size:33.5px}
  .mof-login-options{align-items:flex-start;flex-direction:column}
  .login-help{text-align:left;max-width:none}
}

/* SaaS v3 — tylko komponenty potrzebne nowej logice. Cała baza wizualna pozostaje theme.v357. */
.saas-gps-board{height:360px;position:relative;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:radial-gradient(circle at 20% 20%,rgba(31,142,255,.18),transparent 2px),linear-gradient(35deg,transparent 49%,rgba(99,173,228,.11) 50%,transparent 51%),#071522;background-size:54px 54px,100% 100%}
.saas-gps-point{position:absolute}.saas-gps-point>i{display:block;width:15px;height:15px;border-radius:50%;background:#1687ff;box-shadow:0 0 0 6px rgba(22,135,255,.15)}.saas-gps-point>span{position:absolute;left:19px;top:-8px;white-space:nowrap;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:#071522;font-size:11px}.saas-gps-point small{display:block;color:var(--muted)}
.driver-trip-card{min-height:180px}.is-unread{background:rgba(22,135,255,.07)!important}
@media(max-width:800px){.saas-gps-board{height:280px}}

/* Google Maps — MOF Software */
.saas-google-map{height:470px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#071522;position:relative}
.map-loading{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-size:14.5px}
.map-error{margin-top:10px;padding:10px 12px;border:1px solid rgba(255,100,110,.35);border-radius:9px;background:rgba(92,21,29,.32);color:#ff9ca5;font-size:12.5px}
.map-legend{font-size:11px;color:var(--muted)}
.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#31d68b;margin-right:6px;box-shadow:0 0 0 4px rgba(49,214,139,.12)}
.saas-trip-row{width:100%;border:0;background:transparent;color:inherit;text-align:left}
.saas-trip-row.active{background:rgba(22,135,255,.10)}
.mof-map-info{min-width:190px;display:grid;gap:4px;color:#132333;font-family:Inter,Arial,sans-serif;font-size:14.5px}
.mof-map-info b{font-size:18px}.mof-map-info span{display:block}
@media(max-width:800px){.saas-google-map{height:360px}}

.driver-gps-status{margin-top:12px;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:rgba(8,28,43,.7);color:var(--muted);font-size:12.5px;transition:background .2s,border-color .2s,color .2s}
.driver-gps-status.is-offline{border-color:#ff9f43!important;background:rgba(255,159,67,.14)!important;color:#ffb454!important;font-weight:700}

.map-empty-live{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:5;padding:10px 13px;border:1px solid var(--line);border-radius:10px;background:rgba(7,21,34,.86);color:var(--muted);font-size:13.5px;pointer-events:none}


/* v activation password visibility fix */
.mof-login-form .activation-password-input{
  grid-template-columns:minmax(0,1fr) 44px;
}
.mof-login-form .activation-password-input input{
  min-width:0;
  width:100%;
  padding:0 14px!important;
  font-size:18px!important;
  letter-spacing:.02em;
}
.mof-login-form .activation-password-input input[type="password"]{
  letter-spacing:.12em;
}
.mof-login-form .activation-password-input .password-eye{
  width:44px;
  min-width:44px;
  height:100%;
  border-left:1px solid #173b55;
  display:grid;
  place-items:center;
  color:#7f9db3;
  font-size:20px;
}
.mof-login-form .activation-password-input .password-eye.is-visible{
  color:#66b9ff;
  background:rgba(22,131,255,.08);
}
.activation-password-note{
  margin-top:-6px;
  color:#6f8ca1;
  font-size:13.5px;
  line-height:1.45;
}


/* MOF SaaS — owner team permissions */
.team-actions{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}
.saas-perm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:10px}
.saas-perm-group{border:1px solid #1b425d;border-radius:14px;padding:12px;background:#071a29;min-width:0}
.saas-perm-group legend{padding:0 7px;color:#72bcff;font-size:14.5px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.saas-perm-item{display:flex!important;align-items:flex-start!important;gap:9px!important;padding:9px 4px;border-bottom:1px solid rgba(74,121,151,.18)}
.saas-perm-item:last-child{border-bottom:0}
.saas-perm-item input{width:16px!important;min-width:16px!important;height:16px!important;margin-top:2px}
.saas-perm-item span{display:grid;gap:2px}
.saas-perm-item b{font-size:15.5px;color:#edf6fc}
.saas-perm-item small{font-size:12.5px;color:#66859b}
.permission-editor[hidden]{display:none!important}
@media(max-width:900px){.saas-perm-grid{grid-template-columns:1fr}.team-actions{justify-content:flex-start}.employee-row{align-items:flex-start}}


/* ===== Team UI polish v2 ===== */
.team-panel{
  border:1px solid #183b53;
  border-radius:18px;
  background:linear-gradient(180deg,#071a29 0%,#061521 100%);
  overflow:hidden;
  box-shadow:0 18px 60px rgba(0,0,0,.16);
}
.team-list-head{
  display:grid;
  grid-template-columns:minmax(280px,1.4fr) 170px minmax(220px,.9fr) minmax(360px,1.2fr);
  gap:20px;
  align-items:center;
  padding:15px 20px;
  border-bottom:1px solid #16384f;
  background:#05131f;
  color:#64869f;
  font-size:13.5px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.team-list{
  display:grid;
}
.team-user-card{
  display:grid;
  grid-template-columns:minmax(280px,1.4fr) 170px minmax(220px,.9fr) minmax(360px,1.2fr);
  gap:20px;
  align-items:center;
  min-height:92px;
  padding:16px 20px;
  border-bottom:1px solid rgba(30,67,92,.55);
  background:transparent;
  transition:background .15s ease,border-color .15s ease;
}
.team-user-card:last-child{border-bottom:0}
.team-user-card:hover{background:#0a2031}
.team-user-card.is-inactive{opacity:.68}
.team-user-main{display:flex;align-items:center;gap:13px;min-width:0}
.team-avatar{
  width:42px;
  min-width:42px;
  height:42px;
  border-radius:13px;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,#1687ff,#0b5cb3);
  box-shadow:0 8px 22px rgba(22,135,255,.18);
  color:white;
  font-size:15.5px;
  font-weight:900;
  letter-spacing:.04em;
}
.team-user-copy{display:grid;gap:3px;min-width:0}
.team-user-copy strong{
  color:#f5f8fb;
  font-size:18px;
  font-weight:900;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.team-user-copy>span,.team-user-copy>small{
  color:#7898ae;
  font-size:14.5px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.team-name-line{display:flex;align-items:center;gap:8px;min-width:0}
.team-status-off{
  display:inline-flex;
  padding:3px 7px;
  border-radius:999px;
  background:rgba(255,112,125,.12);
  border:1px solid rgba(255,112,125,.32);
  color:#ff8994;
  font-size:11px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.team-role{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid transparent;
  font-size:11px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
  white-space:nowrap;
  max-width:100%;
}
.team-role-owner{background:#f3f7fa;color:#506b7e;border-color:#dbe4ea}
.team-role-admin{background:rgba(22,135,255,.12);color:#66b7ff;border-color:rgba(22,135,255,.32)}
.team-role-employee{background:rgba(133,160,180,.12);color:#a7bdcd;border-color:rgba(133,160,180,.26)}
.team-role-driver{background:rgba(53,210,140,.10);color:#69dca4;border-color:rgba(53,210,140,.27)}
.team-role-dyspozytor{background:rgba(168,110,255,.12);color:#c39bff;border-color:rgba(168,110,255,.32)}
.team-cat-chip{display:inline-flex;align-items:center;gap:4px;min-height:24px;padding:4px 10px;border-radius:999px;border:1px solid transparent;font-size:10.5px;font-weight:700;white-space:nowrap;max-width:100%}
.team-cat-chip.blue{background:#07356c;color:#168cff}
.team-cat-chip.purple{background:#302066;color:#a36dff}
.team-cat-chip.green{background:#083d38;color:#41d891}
.team-cat-chip.gold{background:#443715;color:#ffc51b}
.team-cat-chip.red{background:#4b2026;color:#ff5d66}
.team-cat-chip.cyan{background:#073c46;color:#2ed4df}
.team-cat-empty{font-size:11px;color:#5f7d90}
.team-access{display:grid;gap:3px}
.team-access b{color:#eaf2f7;font-size:15.5px}
.team-access small{color:#708fa5;font-size:13.5px}
.team-actions-cell{display:flex;justify-content:flex-end}
.team-actions{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
}
.team-action{
  min-height:34px;
  padding:0 12px;
  border:1px solid #285777;
  border-radius:9px;
  background:#081d2c;
  color:#eaf4fb;
  font-size:13.5px;
  font-weight:800;
  white-space:nowrap;
  transition:.15s ease;
}
.team-action:hover{background:#0d2b40;border-color:#3b759b;transform:translateY(-1px)}
.team-action-soft{border-color:rgba(22,135,255,.38);background:rgba(22,135,255,.08);color:#77bdff}
.team-action-danger{border-color:rgba(255,112,125,.35);background:rgba(255,112,125,.07);color:#ff919a}
.team-action-danger:hover{background:rgba(255,112,125,.14);border-color:rgba(255,112,125,.55)}
.team-owner-lock,.team-readonly{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:0 11px;
  border-radius:9px;
  color:#7f9daf;
  background:#071722;
  border:1px solid #18384e;
  font-size:12.5px;
  font-weight:800;
}

/* ===== Team categories (grouped list) ===== */
.team-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.team-search{width:240px}
.team-category-section{border-bottom:1px solid #16384f}
.team-category-section:last-child{border-bottom:0}
.team-category-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:13px 20px;
  background:#0a2233;
}
.team-category-title{
  display:flex;
  align-items:center;
  gap:8px;
  color:#eaf4fb;
  font-size:14.5px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.team-category-title i{font-style:normal;font-size:19px}
.team-category-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:24px;
  height:20px;
  padding:0 7px;
  border-radius:999px;
  background:rgba(22,135,255,.14);
  color:#66b7ff;
  font-size:13.5px;
  font-weight:800;
}
@media(max-width:640px){
  .team-search{width:100%}
  .team-header-actions{width:100%}
}

/* cleaner permissions modal */
.saas-perm-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
}
.saas-perm-group{
  background:#061725!important;
  border-color:#1a425d!important;
}
.saas-perm-item{
  border-bottom-color:rgba(61,109,142,.18)!important;
}
.saas-perm-item:hover{
  background:rgba(22,135,255,.04);
}
.saas-perm-item input{
  accent-color:#1687ff;
}

/* Team responsive */
@media(max-width:1250px){
  .team-list-head{display:none}
  .team-user-card{
    grid-template-columns:minmax(260px,1fr) 150px minmax(180px,.7fr);
  }
  .team-actions-cell{grid-column:1/-1;justify-content:flex-start;padding-left:55px}
  .team-actions{justify-content:flex-start}
}
@media(max-width:760px){
  .team-user-card{
    grid-template-columns:1fr;
    gap:12px;
    padding:16px;
  }
  .team-actions-cell{grid-column:auto;padding-left:0}
  .team-actions{justify-content:flex-start}
  .team-role{min-width:auto}
  .saas-perm-grid{grid-template-columns:1fr!important}
}

/* ===== Team page v3 (Kierowcy i zespół redesign) ===== */
.team-main-grid{margin-top:16px}
body #app .mof-dash-main-grid.team-main-grid{grid-template-columns:minmax(0,1fr) 300px}
@media(max-width:1100px){body #app .mof-dash-main-grid.team-main-grid{grid-template-columns:1fr}}
.team-toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;padding:0 17px 14px}
.team-toolbar .team-search{flex:1;min-width:220px}
.team-toolbar select{height:45px;min-width:170px;border:1px solid #173c59;background:#071a2b;border-radius:8px;color:#dfe9f4;padding:0 12px}
.team-table-wrap{overflow-x:auto}
.team-table{width:100%;border-collapse:collapse;min-width:1050px;table-layout:fixed}
.team-table thead th{text-align:left;padding:10px 14px;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#64869f;border-top:1px solid #16384f;border-bottom:1px solid #16384f;background:#05131f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.team-table tbody td{padding:12px 14px;border-bottom:1px solid rgba(30,67,92,.55);font-size:14px;color:#c9d9e5;vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.team-table tbody tr:last-child td{border-bottom:0}
.team-table tbody tr:hover td{background:#0a2031}
.team-table tbody tr.is-inactive td{opacity:.6}
.team-row-user{display:flex;align-items:center;gap:10px;min-width:0}
.team-user-copy{display:grid;gap:2px;min-width:0}
.team-user-copy strong{color:#f5f8fb;font-size:14.5px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.team-user-copy span,.team-user-copy small{color:#7898ae;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.team-row-cat{display:inline-flex!important;align-items:center;justify-content:center;width:auto!important;max-width:max-content;margin-top:2px;padding:2px 8px;border-radius:999px;background:rgba(22,135,255,.12);border:1px solid rgba(22,135,255,.28);color:#66b7ff!important;font-size:11px!important;white-space:nowrap}
.team-last-seen{color:#89a5b6}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;min-width:27px;border:1px solid #285777;border-radius:7px;background:#081d2c;color:#eaf4fb;transition:.15s ease}
.icon-btn:hover{background:#0d2b40;border-color:#3b759b;transform:translateY(-1px)}
.icon-btn.danger{border-color:rgba(255,112,125,.35);background:rgba(255,112,125,.07);color:#ff919a}
.icon-btn.danger:hover{background:rgba(255,112,125,.14);border-color:rgba(255,112,125,.55)}
.icon-btn svg{width:14px;height:14px}
.team-row-actions{display:flex;justify-content:flex-end;align-items:center;gap:4px;flex-wrap:nowrap;overflow:visible}
.team-table td.team-actions-td{overflow:visible;white-space:normal;text-align:right;padding-left:6px;padding-right:10px}
.team-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 17px 17px;color:#7898ae;font-size:13px}
.team-pagination-btns{display:flex;align-items:center;gap:6px}
.team-page-btn{min-width:32px;height:32px;padding:0 8px;border:1px solid #1c4057;border-radius:8px;background:#071722;color:#a9c1d3;font-size:13px;font-weight:800}
.team-page-btn.active{background:#1687ff;border-color:#1687ff;color:#fff}
.team-sidebar{gap:16px;align-self:start}
body #app .team-sidebar.mof-dash-main-col{align-items:stretch}
body #app .team-sidebar.mof-dash-main-col>.mof-dash-card{flex:none;min-height:auto}
.team-status-donut{display:flex;flex-direction:column;align-items:center;gap:14px;padding:18px 17px 20px}
.team-status-donut .mof-dash-donut{width:120px;height:120px;margin:0}
.team-status-donut .mof-dash-donut:after{inset:26px}
.team-status-donut .mof-dash-donut>div b{font-size:26px}
.team-status-donut .mof-dash-legend{width:100%}
.team-status-donut .mof-dash-legend>div{grid-template-columns:9px 1fr auto}
.team-quick-actions{display:grid;gap:8px;padding:14px 17px 17px}
.team-quick-action{display:flex;align-items:center;gap:10px;height:44px;padding:0 14px;border:1px solid #173c59;border-radius:10px;background:#071a2b;color:#dfe9f4;font-size:13.5px;font-weight:800;text-align:left;transition:.15s ease}
.team-quick-action:hover{background:#0d2b40;border-color:#3b759b;transform:translateY(-1px)}
.team-quick-action span{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;font-size:16px;line-height:1}
.team-quick-action svg{width:18px;height:18px}
.team-top-drivers{display:grid;padding:6px 17px 15px}
.team-top-driver-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid rgba(30,67,92,.4);font-size:13.5px;color:#dfe9f4}
.team-top-driver-row:last-child{border-bottom:0}
.team-top-driver-row span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.team-top-driver-row b{color:#f5f8fb}
.team-top-driver-row em{font-style:normal;font-size:12px;font-weight:800}
.team-top-driver-row em.up{color:#31c87d}
.team-top-driver-row em.down{color:#f06464}
.team-rodo-card{display:flex;align-items:flex-start;gap:12px;padding:16px 17px}
.team-rodo-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;min-width:38px;border-radius:10px;background:rgba(49,200,125,.14);color:#31c87d}
.team-rodo-icon svg{width:20px;height:20px}
.team-rodo-card b{display:block;color:#eef8fd;font-size:14px;margin-bottom:3px}
.team-rodo-card small{color:#7898ae;font-size:12.5px;line-height:1.4}
.team-plan-card .team-plan-body{padding:0 17px 17px;display:grid;gap:8px}
.team-plan-card .plan-usage-bar{max-width:none;width:100%}
.team-plan-card .team-plan-body small{color:#89a5b6;font-size:12.5px}
.team-plan-card .team-plan-body a{margin-top:4px}
.driver-pick-list{display:grid;gap:8px}
.driver-pick-row{display:flex;align-items:center;gap:12px;padding:11px 14px;border:1px solid #173c59;border-radius:10px;background:#071a2b;text-align:left;transition:.15s ease}
.driver-pick-row:hover{background:#0d2b40;border-color:#3b759b}
.driver-pick-copy{display:grid;gap:2px}
.driver-pick-copy strong{color:#f5f8fb;font-size:14.5px}
.driver-pick-copy small{color:#7898ae;font-size:13px}
.team-roles-info{display:grid;gap:10px;margin-bottom:14px}
.team-roles-info-row{padding:10px 0;border-bottom:1px solid rgba(30,67,92,.4)}
.team-roles-info-row:last-child{border-bottom:0}
.team-roles-info-row b{display:block;color:#eef8fd;font-size:13.5px;letter-spacing:.04em;margin-bottom:3px}
.team-roles-info-row span{color:#89a5b6;font-size:13.5px;line-height:1.4}
@media(max-width:900px){.team-toolbar{flex-direction:column;align-items:stretch}.team-toolbar select{min-width:0}}


/* ===== Vehicle passport v3 ===== */
.vehicle-tabs{
  display:flex;gap:8px;align-items:center;flex-wrap:wrap;
  margin:0 0 18px;padding:8px;
  border:1px solid #183f5b;border-radius:14px;background:#061725;
}
.vehicle-tabs button{
  appearance:none;border:1px solid transparent;border-radius:10px;
  background:transparent;color:#82a3b8;padding:10px 14px;
  font:800 11px/1.1 inherit;letter-spacing:.01em;cursor:pointer;transition:.15s ease;
}
.vehicle-tabs button:hover{color:#d9edfa;background:#0a2233;border-color:#1b4865}
.vehicle-tabs button.active{background:#1687ff;color:#fff;border-color:#1687ff;box-shadow:0 8px 22px rgba(22,135,255,.22)}
.vehicle-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:22px 26px;margin-bottom:18px;border-radius:18px;background:linear-gradient(145deg,#0a1d2c,#071522);border:1px solid #17324a}
.vehicle-hero>div{min-width:0}
.vehicle-hero p b{color:#fff}
.vehicle-hero img{width:150px;height:110px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 14px 18px rgba(0,0,0,.35))}
@media(max-width:700px){.vehicle-hero{padding:16px 18px}.vehicle-hero img{width:100px;height:76px}.vehicle-hero .vehicle-photo-fallback{width:100px;height:76px}}
.vehicle-title-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}

.vehicle-basic-card .card-title{align-items:center}
.vehicle-facts{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:8px;
}
.vehicle-facts>div{
  min-height:82px;padding:14px;border:1px solid #183e58;border-radius:13px;background:#061a29;
  display:grid;align-content:center;gap:7px;
}
.vehicle-facts span{font-size:12.5px;color:#6e91a8;text-transform:uppercase;letter-spacing:.09em;font-weight:800}
.vehicle-facts strong{font-size:20px;color:#f4f9fc;font-weight:900;line-height:1.2}
.vehicle-facts strong.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:16.5px;letter-spacing:.04em}
.vehicle-expiry-stack{display:grid;gap:10px}
.expiry-card{
  border:1px solid #1a425d;border-radius:15px;background:#071b2b;padding:15px;
  display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px 12px;
}
.expiry-card>span:first-child{grid-column:1/-1;color:#7395ac;font-size:12.5px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.expiry-card>b{font-size:18px;color:#f5f9fc}
.expiry-pill{display:inline-flex;width:max-content;align-items:center;justify-content:center;padding:5px 9px;border-radius:999px;border:1px solid;font-size:12.5px;font-weight:900}
.expiry-pill.ok{color:#56d99b;background:rgba(53,210,140,.09);border-color:rgba(53,210,140,.28)}
.expiry-pill.warn{color:#ffc95f;background:rgba(255,200,93,.09);border-color:rgba(255,200,93,.28)}
.expiry-pill.bad{color:#ff8994;background:rgba(255,112,125,.09);border-color:rgba(255,112,125,.30)}
.expiry-pill.neutral{color:#8ba8ba;background:#081a27;border-color:#1b3f57}

.section-page-title{margin:0;color:#f4f9fc;font-size:23px;font-weight:900}
.section-page-sub{margin:4px 0 0;color:#7595aa;font-size:14.5px}

.documents-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.document-card{
  position:relative;display:grid;grid-template-columns:52px 1fr auto;gap:13px;align-items:center;
  border:1px solid #1a425d;border-radius:16px;background:#071a29;padding:15px;
}
.document-icon{
  width:48px;height:48px;border-radius:13px;background:rgba(22,135,255,.11);border:1px solid rgba(22,135,255,.32);
  display:grid;place-items:center;color:#65b7ff;font-size:13.5px;font-weight:900;
}
.document-main{min-width:0}.document-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.document-type{font-size:12.5px;color:#74a0bd;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.document-main h3{margin:7px 0 4px;color:#f4f9fc;font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.document-main p{margin:0;color:#7292a7;font-size:13.5px}
.document-meta{display:grid;gap:7px;text-align:right;color:#7594a8;font-size:12.5px}.document-meta b{display:block;color:#eef7fb;font-size:14.5px}
.document-pdf-btn{
  grid-column:2/-1;justify-self:end;border:1px solid #275779;border-radius:8px;background:#081d2d;color:#dcecf6;
  min-height:30px;padding:0 10px;font-size:12.5px;font-weight:800;cursor:pointer
}
.document-pdf-btn:hover{background:#0d2a3f}

.inspection-summary{
  display:grid;grid-template-columns:1.1fr auto 1fr 1fr;gap:14px;align-items:center;
  border:1px solid #1d4965;border-radius:17px;background:linear-gradient(135deg,#0a2234,#071825);padding:17px;margin-bottom:12px;
}
.inspection-summary>div{display:grid;gap:4px}.inspection-summary span{font-size:12.5px;color:#799aaf;text-transform:uppercase;letter-spacing:.06em}.inspection-summary strong{font-size:24px;color:#fff}.inspection-summary b{color:#eaf4fa}
.inspection-list{display:grid;gap:9px}
.inspection-row{
  display:grid;grid-template-columns:115px 1fr 180px 90px 55px;gap:14px;align-items:center;
  border:1px solid #173d56;border-radius:14px;background:#071926;padding:13px 15px
}
.inspection-date,.inspection-valid{display:grid;gap:3px}.inspection-date b,.inspection-valid b{color:#eef7fb;font-size:15.5px}.inspection-date small,.inspection-valid span{color:#6f90a5;font-size:12.5px}
.inspection-copy h3{margin:0 0 4px;color:#f5f9fc;font-size:16.5px}.inspection-copy p{margin:0;color:#7394aa;font-size:13.5px}
.inspection-cost{text-align:right;color:#eaf4fa;font-size:15.5px;font-weight:900}

.vehicle-issues-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.vehicle-issue-card{border:1px solid #1a425d;border-radius:16px;background:#071a29;padding:16px;display:grid;gap:10px}
.vehicle-issue-card h3{margin:0;color:#f4f9fc;font-size:19px}.vehicle-issue-card p{margin:0;color:#7e9bad;font-size:14.5px;line-height:1.5}
.vehicle-issue-status{display:flex;justify-content:flex-start}
.vehicle-issue-footer{border-top:1px solid rgba(53,94,121,.35);padding-top:10px;display:flex;justify-content:space-between;align-items:center;gap:10px;color:#7593a6;font-size:12.5px}

.qr-modal{text-align:center}.qr-modal #vehicle-qr-box{width:244px;height:244px;margin:4px auto 16px;padding:12px;border-radius:18px;background:white;display:grid;place-items:center}
.qr-modal #vehicle-qr-box img,.qr-modal #vehicle-qr-box canvas{max-width:220px!important;max-height:220px!important}
.qr-modal h3{margin:6px 0;color:#f4f9fc}.qr-modal p{color:#7d9bad;font-size:14.5px}

@media(max-width:1100px){
 .vehicle-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
 .documents-grid,.vehicle-issues-grid{grid-template-columns:1fr}
 .inspection-row{grid-template-columns:95px 1fr 150px}.inspection-cost,.inspection-row>.document-pdf-btn{grid-column:auto}
 .inspection-summary{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
 .vehicle-tabs{overflow-x:auto;flex-wrap:nowrap;padding:6px}.vehicle-tabs button{white-space:nowrap}
 .vehicle-facts{grid-template-columns:1fr}
 .inspection-row{grid-template-columns:1fr}.inspection-summary{grid-template-columns:1fr}
 .document-card{grid-template-columns:45px 1fr}.document-meta{grid-column:1/-1;text-align:left;display:flex;justify-content:space-between}.document-pdf-btn{grid-column:1/-1}
}

/* ===== Issue photos v4 ===== */
.field-hint{display:block;margin-top:5px;color:#6f90a6;font-size:12.5px;line-height:1.4}
.issue-photo-strip{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.issue-photo{position:relative;width:88px;height:66px;margin:0;border:1px solid #214a66;border-radius:10px;overflow:hidden;background:#04131f}
.issue-photo a{display:block;width:100%;height:100%}
.issue-photo img{width:100%;height:100%;object-fit:cover;display:block}
.issue-photo button{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:rgba(3,12,20,.78);color:#fff;font-size:20px;line-height:18px;cursor:pointer}
.issue-photo button:hover{background:#d34c5b}
.vehicle-issue-card .issue-photo-strip{margin-top:2px}
.vehicle-issue-card .issue-photo{width:104px;height:76px}

/* ===== Document archive v5 ===== */
.document-section-head{display:flex;align-items:center;justify-content:space-between;margin:18px 0 10px}
.document-section-head h3{margin:0;color:#edf6fb;font-size:18px}
.document-section-head span{display:inline-flex;min-width:26px;height:26px;align-items:center;justify-content:center;border-radius:999px;background:#0b2537;color:#7ebdf0;font-size:13.5px;font-weight:900;border:1px solid #1d4d6a}
.archived-head{margin-top:28px}
.document-card-actions{grid-column:2/-1;display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.document-archive-btn,.document-delete-btn,.document-restore-btn{min-height:30px;padding:0 10px;border-radius:8px;font-size:12.5px;font-weight:800;cursor:pointer}
.document-archive-btn{border:1px solid #345d78;background:#0b2131;color:#b7d0df}
.document-restore-btn{border:1px solid rgba(53,210,140,.3);background:rgba(53,210,140,.08);color:#6fe0a8}
.document-delete-btn{border:1px solid rgba(255,112,125,.34);background:rgba(255,112,125,.07);color:#ff929c}
.document-card.is-archived{opacity:.74;background:#06131d;border-style:dashed}
.archived-pill{display:inline-flex;padding:4px 8px;border-radius:999px;background:#0a1a25;color:#7e9aaa;border:1px solid #29465a;font-size:11px;font-weight:900;text-transform:uppercase}
.archived-documents .document-icon{filter:grayscale(.45)}
.inspection-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
@media(max-width:700px){.document-card-actions{grid-column:1/-1;justify-content:flex-start}.inspection-actions{justify-content:flex-start}}


/* ===== Archive for issues/service/fuel/costs v6 ===== */
.record-section-head{display:flex;align-items:center;justify-content:space-between;margin:18px 0 10px}
.record-section-head h3{margin:0;color:#edf6fb;font-size:18px}
.record-section-head span{display:inline-flex;min-width:26px;height:26px;align-items:center;justify-content:center;border-radius:999px;background:#0b2537;color:#7ebdf0;font-size:13.5px;font-weight:900;border:1px solid #1d4d6a}
.record-stack{display:grid;gap:9px}
.record-card{
  display:grid;grid-template-columns:minmax(0,1fr) 180px auto;gap:14px;align-items:center;
  border:1px solid #173d56;border-radius:14px;background:#071926;padding:13px 15px;
}
.record-card>div:first-child{display:grid;gap:4px;min-width:0}
.record-card>div:first-child b{color:#f2f8fb;font-size:15.5px}
.record-card>div:first-child small{color:#7796a9;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.record-card>div:nth-child(2){display:grid;gap:4px;text-align:right}
.record-card>div:nth-child(2) span{color:#7593a7;font-size:12.5px}
.record-card>div:nth-child(2) strong{color:#edf7fb;font-size:15.5px}
.record-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.record-actions button{min-height:30px;padding:0 10px;border-radius:8px;font-size:12.5px;font-weight:800;cursor:pointer}
.record-archive{border:1px solid #345d78;background:#0b2131;color:#b7d0df}
.record-restore{border:1px solid rgba(53,210,140,.30);background:rgba(53,210,140,.08);color:#6fe0a8}
.record-delete{border:1px solid rgba(255,112,125,.34);background:rgba(255,112,125,.07);color:#ff929c}
.archived-records .is-archived,.record-card.is-archived,.vehicle-issue-card.is-archived{opacity:.68;border-style:dashed}
.issue-footer-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.issue-footer-actions .record-actions{display:inline-flex}
@media(max-width:800px){
 .record-card{grid-template-columns:1fr}
 .record-card>div:nth-child(2){text-align:left}
 .record-actions{justify-content:flex-start}
}


/* ===== Calendar / harmonogram v7 ===== */
.calendar-shell{
  display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:14px;
  min-height:650px;
}
.calendar-main,.calendar-upcoming{
  border:1px solid #173c56;border-radius:17px;background:#071926;
  overflow:hidden;
}
.calendar-toolbar{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:15px 16px;border-bottom:1px solid #16394f;background:#071724;
}
.calendar-period-nav,.calendar-toolbar-right,.calendar-view-switch{display:flex;align-items:center;gap:8px}
.calendar-period-nav h2{margin:0 6px;min-width:180px;color:#f4f9fc;font-size:21px;font-weight:900}
.calendar-period-nav>button:not(.calendar-today-btn){
  width:34px;height:34px;border:1px solid #214a66;border-radius:9px;background:#091d2c;color:#9fc0d5;font-size:26px;cursor:pointer
}
.calendar-today-btn{
  min-height:34px;padding:0 11px;border:1px solid #214a66;border-radius:9px;background:#091d2c;color:#a9c6d8;font-size:12.5px;font-weight:800;cursor:pointer
}
.calendar-view-switch{padding:3px;border:1px solid #1b4059;border-radius:10px;background:#06131e}
.calendar-view-switch button{
  border:0;border-radius:7px;background:transparent;color:#7899ad;padding:8px 11px;font-size:12.5px;font-weight:900;cursor:pointer
}
.calendar-view-switch button.active{background:#102b3e;color:#dff1fc}
.calendar-board{padding:0}
.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:#06131f;border-bottom:1px solid #17384e}
.calendar-weekdays span{padding:11px;text-align:center;color:#6f91a7;font-size:12.5px;font-weight:900;text-transform:uppercase}
.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}
.calendar-cell{
  position:relative;min-height:112px;padding:8px;border-right:1px solid rgba(34,73,99,.55);border-bottom:1px solid rgba(34,73,99,.55);background:#071926;cursor:pointer;transition:background .12s ease
}
.calendar-cell:hover{background:#0a2337}
.calendar-cell:nth-child(7n){border-right:0}
.calendar-cell.outside{background:#06131e;opacity:.5}
.calendar-cell.today{box-shadow:inset 0 0 0 1px rgba(22,135,255,.55);background:#092035}
.calendar-day-number{display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;color:#93adbd;font-size:13.5px;font-weight:900;border-radius:7px}
.calendar-cell.today .calendar-day-number{background:#1687ff;color:#fff}
.calendar-day-events{display:grid;gap:5px;margin-top:5px}
.calendar-event{
  width:100%;min-width:0;border:1px solid transparent;border-radius:7px;padding:6px 7px;text-align:left;cursor:pointer;display:grid;gap:2px
}
.calendar-event b{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.calendar-event small{font-size:10px;opacity:.78;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.calendar-event.blue{background:rgba(22,135,255,.20);border-color:rgba(22,135,255,.35);color:#87c8ff}
.calendar-event.cyan{background:rgba(28,190,220,.18);border-color:rgba(28,190,220,.35);color:#75e0ed}
.calendar-event.purple{background:rgba(180,92,226,.20);border-color:rgba(180,92,226,.34);color:#d4a3ef}
.calendar-event.red{background:rgba(255,93,111,.18);border-color:rgba(255,93,111,.33);color:#ff9ba6}
.calendar-event.green{background:rgba(67,217,154,.18);border-color:rgba(67,217,154,.33);color:#7de8bd}
.calendar-event.amber{background:rgba(240,180,60,.20);border-color:rgba(240,180,60,.35);color:#f6cd7a}
.calendar-more{border:0;background:transparent;color:#69aee5;font-size:11px;text-align:left;padding:2px 4px;cursor:pointer}
.calendar-upcoming{padding:0 0 10px}
.calendar-side-title{padding:17px;border-bottom:1px solid #16394f}
.calendar-side-title span{color:#1687ff;font-size:11px;font-weight:900;letter-spacing:.12em}
.calendar-side-title h3{margin:5px 0 0;color:#edf7fb;font-size:18px}
.upcoming-event{
  position:relative;width:calc(100% - 20px);margin:10px 10px 0;padding:12px;border:1px solid #173b53;border-radius:12px;background:#081c2a;
  display:grid;grid-template-columns:4px 1fr;gap:11px;text-align:left;cursor:pointer
}
.upcoming-event:hover{background:#0a2334}
.upcoming-event>i{width:4px;height:100%;min-height:50px;border-radius:4px}
.upcoming-event>i.blue{background:#1687ff}.upcoming-event>i.cyan{background:#2cc9e1}.upcoming-event>i.purple{background:#b45ce2}.upcoming-event>i.red{background:#ff5d6f}.upcoming-event>i.green{background:#43d99a}.upcoming-event>i.amber{background:#f0b43c}
.upcoming-event span{display:grid;gap:4px}
.upcoming-event b{color:#ecf7fc;font-size:14.5px}
.upcoming-event small{color:#7999ac;font-size:12.5px}
.upcoming-event em{color:#5d7f95;font-size:11px;font-style:normal}
.calendar-empty-side{padding:20px;color:#6e8da1;font-size:13.5px;text-align:center}
.calendar-agenda{padding:12px;display:grid;gap:8px}
.agenda-event{display:grid;grid-template-columns:110px 4px 1fr;gap:12px;align-items:center;border:1px solid #173d56;border-radius:12px;background:#081b29;padding:12px;text-align:left;cursor:pointer}
.agenda-event:hover{background:#0a2435}
.agenda-time{display:grid;gap:3px}.agenda-time b{color:#b4cad8;font-size:12.5px;text-transform:uppercase}.agenda-time span{color:#6e8da2;font-size:12.5px}
.agenda-event>i{width:4px;height:38px;border-radius:4px}.agenda-event>i.blue{background:#1687ff}.agenda-event>i.cyan{background:#2cc9e1}.agenda-event>i.purple{background:#b45ce2}.agenda-event>i.red{background:#ff5d6f}
.agenda-event>div:last-child{display:grid;gap:4px}.agenda-event>div:last-child b{color:#edf7fb;font-size:15.5px}.agenda-event>div:last-child small{color:#7898ab;font-size:12.5px}
.calendar-event-detail h2{margin:10px 0 16px;color:#f4f9fc;font-size:26px}
.event-detail-type{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:900;text-transform:uppercase}
.event-detail-type.blue{background:rgba(22,135,255,.15);color:#75bdff}.event-detail-type.cyan{background:rgba(28,190,220,.15);color:#75e0ed}.event-detail-type.purple{background:rgba(180,92,226,.15);color:#d4a3ef}.event-detail-type.red{background:rgba(255,93,111,.15);color:#ff9ba6}.event-detail-type.green{background:rgba(67,217,154,.15);color:#7de8bd}.event-detail-type.amber{background:rgba(240,180,60,.15);color:#f6cd7a}
.event-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.event-detail-grid>div{padding:12px;border:1px solid #183d56;border-radius:11px;background:#071927;display:grid;gap:5px}.event-detail-grid span{color:#6f91a7;font-size:11px;text-transform:uppercase}.event-detail-grid b{color:#eaf5fb;font-size:14.5px}
@media(max-width:1150px){.calendar-shell{grid-template-columns:1fr}.calendar-upcoming{display:grid;grid-template-columns:repeat(2,1fr)}.calendar-side-title{grid-column:1/-1}.calendar-cell{min-height:100px}}
@media(max-width:760px){.calendar-toolbar{align-items:flex-start;flex-direction:column}.calendar-toolbar-right{width:100%;justify-content:space-between;flex-wrap:wrap}.calendar-period-nav{flex-wrap:wrap}.calendar-period-nav h2{min-width:auto}.calendar-grid{min-width:760px}.calendar-board{overflow-x:auto}.calendar-upcoming{grid-template-columns:1fr}.event-detail-grid{grid-template-columns:1fr}}


/* ===== Driver permissions + automatic deadlines v8 ===== */
.permission-editor .saas-perm-group:last-child{border-color:rgba(22,135,255,.38);background:rgba(22,135,255,.04)!important}
.permission-editor .saas-perm-group:last-child legend{color:#7bc1ff}
.calendar-event-detail .login-note{margin-top:14px}


/* ===== Schedule edit v9 ===== */
.calendar-event-detail .modal-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.calendar-event-detail .btn.outline{border:1px solid #2b5f80;background:#0a2030;color:#d9edf8}
.calendar-event-detail .btn.outline:hover{background:#0e2b40}


/* ===== Issues UX v10 ===== */
.issues-toolbar{
  display:grid;grid-template-columns:minmax(320px,1fr) 190px auto;gap:10px;align-items:center;
  margin-bottom:12px;padding:12px;border:1px solid #183d56;border-radius:15px;background:#071926;
}
.issues-search{height:40px;display:grid;grid-template-columns:34px 1fr;align-items:center;border:1px solid #214a66;border-radius:10px;background:#061521;overflow:hidden}
.issues-search>span{display:grid;place-items:center;color:#6ea8d1;font-size:23px}
.issues-search input{height:100%;border:0!important;background:transparent!important;color:#eef7fb!important;padding:0 10px!important;outline:0;font-size:14.5px!important}
.issues-toolbar>select{height:40px;border:1px solid #214a66;border-radius:10px;background:#061521;color:#d9eaf5;padding:0 10px;font-size:13.5px}
.issues-view-switch{display:flex;gap:4px;padding:3px;border:1px solid #1c425c;border-radius:10px;background:#06131e}
.issues-view-switch button{min-height:32px;border:0;border-radius:7px;background:transparent;color:#7797ab;padding:0 11px;font-size:12.5px;font-weight:800;cursor:pointer}
.issues-view-switch button b{margin-left:5px;color:#9eb8c8}
.issues-view-switch button.active{background:#12324a;color:#e7f4fb}
.issues-list{border:1px solid #183d56;border-radius:16px;background:#071926;overflow:hidden}
.issues-list-head,.issues-list-row{
  display:grid;grid-template-columns:minmax(320px,1.5fr) 160px 210px 160px 220px;gap:16px;align-items:center;
}
.issues-list-head{padding:13px 16px;background:#05131f;border-bottom:1px solid #17384e;color:#66879d;font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.issues-list-row{min-height:92px;padding:14px 16px;border-bottom:1px solid rgba(31,70,96,.6);transition:.15s ease}
.issues-list-row:last-child{border-bottom:0}.issues-list-row:hover{background:#092033}
.issues-list-row.is-archived{opacity:.68;background:#06141f}
.issue-summary-cell{min-width:0}.issue-title-line{display:flex;align-items:center;gap:8px}
.issue-summary-cell strong{color:#f4f9fc;font-size:15.5px}
.issue-summary-cell p{margin:5px 0 0;color:#7897aa;font-size:12.5px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.issue-photo-count{display:inline-flex;padding:3px 7px;border-radius:999px;background:#0c2a3e;color:#7abbed;font-size:11px;font-weight:800}
.issue-vehicle-cell,.issue-driver-cell{display:grid;gap:4px}.issue-vehicle-cell strong,.issue-driver-cell strong{color:#ecf6fb;font-size:14.5px}.issue-vehicle-cell small,.issue-driver-cell small{color:#6e8da1;font-size:11px}
.issue-row-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.issues-empty{padding:45px;text-align:center;display:grid;gap:6px;color:#6f8fa4}.issues-empty b{color:#cfe3ef;font-size:15.5px}
.issue-modal-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:14px;border:1px solid #183e58;border-radius:13px;background:#061925;margin-bottom:12px}
.issue-modal-head span:first-child{color:#69b8f4;font-size:12.5px;font-weight:900}.issue-modal-head h3{margin:5px 0;color:#f4f9fc;font-size:21px}.issue-modal-head p{margin:0;color:#7998aa;font-size:13.5px;line-height:1.5}
@media(max-width:1200px){
 .issues-list-head{display:none}.issues-list-row{grid-template-columns:1fr 140px 180px}.issue-status-cell{grid-column:2}.issue-row-actions{grid-column:3;grid-row:1/3}.issue-driver-cell{grid-column:1}
}
@media(max-width:760px){
 .issues-toolbar{grid-template-columns:1fr}.issues-list-row{grid-template-columns:1fr;gap:10px}.issue-status-cell,.issue-row-actions,.issue-driver-cell{grid-column:auto;grid-row:auto}.issue-row-actions{justify-content:flex-start}
}


/* ===== GPS / Routes v11 ===== */
.gps-workspace{display:grid;gap:14px}
.gps-topbar{display:flex;justify-content:space-between;gap:20px;align-items:flex-end}
.gps-topbar h1{margin:5px 0 4px;color:#f5f9fc;font-size:32.5px}.gps-topbar p{margin:0;color:#7697ab;font-size:14.5px}
.gps-dashboard{display:grid;grid-template-columns:255px minmax(420px,1fr) 285px;min-height:560px;border:1px solid #173d56;border-radius:18px;overflow:hidden;background:#061521}
.gps-live-sidebar,.gps-details-sidebar{background:#071926}
.gps-live-sidebar{border-right:1px solid #17384e;padding:14px}.gps-details-sidebar{border-left:1px solid #17384e;padding:14px}
.gps-sidebar-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}.gps-sidebar-title b{color:#eaf4fa;font-size:15.5px}.gps-sidebar-title span{color:#6ea9d4;font-size:12.5px}
.gps-search-box{height:38px;display:grid;grid-template-columns:32px 1fr;border:1px solid #1c435d;border-radius:9px;background:#05131e;margin-bottom:10px;overflow:hidden}.gps-search-box span{display:grid;place-items:center;color:#6c9fc3}.gps-search-box input{border:0!important;background:transparent!important;color:#edf7fb!important;padding:0 8px!important;font-size:13.5px!important;outline:0}
.gps-live-list{display:grid;gap:6px}.gps-live-item{position:relative;width:100%;display:grid;grid-template-columns:24px 1fr 9px;gap:8px;align-items:center;padding:10px;border:1px solid transparent;border-radius:11px;background:transparent;text-align:left;cursor:pointer}.gps-live-item:hover,.gps-live-item.active{background:#0a2232;border-color:#1d4b68}.gps-live-item>div:nth-child(2){display:grid;gap:2px}.gps-live-item b{color:#f0f7fb;font-size:13.5px}.gps-live-item small,.gps-live-item em{color:#7595a9;font-size:11px;font-style:normal}.gps-car-dot{width:22px;height:22px;border-radius:999px;display:grid;place-items:center;background:#0d2535;font-size:11px}.gps-car-dot.blue{color:#45a5ff}.gps-car-dot.amber{color:#ffc34d}.gps-car-dot.red{color:#ff6576}.live-pulse{width:7px;height:7px;border-radius:999px;background:#26d884;box-shadow:0 0 12px rgba(38,216,132,.6)}.gps-list-empty{padding:20px 5px;text-align:center;color:#6f8fa2;font-size:12.5px}
.gps-map-main{position:relative;background:#07131f}.gps-map-large{height:100%;min-height:560px;border-radius:0!important}
.gps-detail-empty{height:100%;min-height:400px;display:grid;place-items:center;align-content:center;gap:8px;text-align:center;color:#7898ab}.gps-detail-empty>span{font-size:32.5px;color:#1687ff}.gps-detail-empty b{color:#dbeaf3;font-size:15.5px}.gps-detail-empty small{max-width:190px;font-size:12.5px;line-height:1.45}
.gps-detail-card{display:grid;gap:14px}.gps-detail-heading{display:grid;grid-template-columns:40px 1fr;gap:10px;align-items:center;padding-bottom:13px;border-bottom:1px solid #17384e}.gps-detail-heading>.trip-state{grid-column:1/-1;justify-self:start}.gps-detail-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:rgba(22,135,255,.12);border:1px solid rgba(22,135,255,.3)}.gps-detail-heading h3{margin:0;color:#eef7fb;font-size:16.5px}.gps-detail-heading p{margin:3px 0 0;color:#6e91a8;font-size:12.5px}.gps-detail-list{display:grid;gap:0}.gps-detail-list>div{display:grid;gap:3px;padding:11px 0;border-bottom:1px solid rgba(34,68,91,.5)}.gps-detail-list span{color:#69899d;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.gps-detail-list b{color:#e5f0f6;font-size:13.5px}.gps-problem-note b{color:#ff9ca7!important}.gps-detail-trip-btn{width:100%}
.trip-state{display:inline-flex;align-items:center;width:max-content;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:900;text-transform:uppercase;border:1px solid}.trip-state.blue{color:#76bdff;background:rgba(22,135,255,.12);border-color:rgba(22,135,255,.28)}.trip-state.amber{color:#ffd068;background:rgba(255,190,66,.1);border-color:rgba(255,190,66,.28)}.trip-state.red{color:#ff919d;background:rgba(255,93,111,.1);border-color:rgba(255,93,111,.28)}.trip-state.green{color:#67dda5;background:rgba(53,210,140,.1);border-color:rgba(53,210,140,.28)}
.gps-history-card{border:1px solid #173d56;border-radius:16px;background:#071926;overflow:hidden}.gps-history-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid #17384e}.gps-history-head>div{display:grid;gap:3px;flex:1;min-width:0}.gps-history-head b{color:#eef7fb;font-size:15.5px}.gps-history-head small{color:#7594a8;font-size:12.5px}.gps-history-head>span{color:#71afe0;font-size:12.5px;white-space:nowrap}.gps-history-head button{border:1px solid #1a4767;background:#071a2b;color:#d6e3ed;border-radius:7px;padding:8px 12px;font-size:13.5px;white-space:nowrap;cursor:pointer}.gps-history-head button.has-filters{color:#1683ff;border-color:#1683ff}.gps-history-table-head,.gps-trip-row{display:grid;grid-template-columns:1.25fr 1fr 1fr .72fr .72fr .65fr .75fr;gap:12px;align-items:center}.gps-history-table-head{padding:10px 14px;background:#05131f;color:#65869b;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.gps-trip-row{width:100%;min-height:66px;padding:11px 14px;border:0;border-bottom:1px solid rgba(30,69,94,.55);background:transparent;color:#b8ceda;text-align:left;cursor:pointer;font-size:12.5px}.gps-trip-row:hover,.gps-trip-row.active{background:#092236}.gps-trip-row>span:first-child{display:grid;gap:2px}.gps-trip-row>span:first-child b{color:#edf7fb;font-size:13.5px}.gps-trip-row>span:first-child small{color:#718fa2;font-size:11px}.gps-trip-row>span b{color:#eef7fb}
.trip-detail-modal{display:grid;gap:16px}.trip-detail-title{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.trip-detail-title span:first-child{color:#1687ff;font-size:11px;font-weight:900;letter-spacing:.1em}.trip-detail-title h2{margin:5px 0 3px;color:#f5f9fc;font-size:24px}.trip-detail-title p{margin:0;color:#7594a8;font-size:12.5px}.trip-detail-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.trip-detail-kpis>div{padding:11px;border:1px solid #193e57;border-radius:11px;background:#061824;display:grid;gap:5px}.trip-detail-kpis span{color:#6d8ea3;font-size:10px;text-transform:uppercase}.trip-detail-kpis b{color:#edf7fb;font-size:14.5px}.trip-events-title{color:#dcebf3;font-size:14.5px;font-weight:900}.trip-event-timeline{display:grid;gap:7px}.trip-event-line{display:grid;grid-template-columns:5px 1fr;gap:10px;align-items:stretch}.trip-event-line i{width:5px;min-height:38px;border-radius:5px}.trip-event-line i.blue{background:#1687ff}.trip-event-line i.amber{background:#ffbd3e}.trip-event-line i.red{background:#ff5d6f}.trip-event-line i.green{background:#35d28c}.trip-event-line>div{padding:8px 10px;border:1px solid #173a52;border-radius:9px;background:#071824;display:grid;gap:3px}.trip-event-line b{color:#e9f4fa;font-size:12.5px}.trip-event-line small{color:#718fa3;font-size:11px}
.mof-map-popup{min-width:260px;padding:3px;color:#102333;font-family:Arial,sans-serif}.map-popup-top{display:grid;grid-template-columns:38px 1fr auto;gap:9px;align-items:center;padding-bottom:10px;border-bottom:1px solid #dce7ee}.map-popup-icon{width:38px;height:38px;border-radius:10px;background:#e8f4ff;display:grid;place-items:center}.map-popup-top>div:nth-child(2){display:grid;gap:2px}.map-popup-top b{font-size:16.5px}.map-popup-top span{font-size:13.5px;color:#62798a}.map-popup-top em{font-style:normal;font-size:11px;font-weight:800;padding:4px 6px;border-radius:999px}.map-popup-top em.blue{color:#0871d1;background:#e0f0ff}.map-popup-top em.amber{color:#9a6800;background:#fff1cc}.map-popup-top em.red{color:#bf3343;background:#ffe4e8}.map-popup-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.map-popup-grid span{display:grid;gap:3px;color:#758999;font-size:11px;text-transform:uppercase}.map-popup-grid b{color:#1a3445;font-size:12.5px;text-transform:none}.map-popup-note{margin-top:9px;padding:7px 8px;border-radius:7px;background:#fff0f2;color:#a73746;font-size:12.5px}
.driver-dashboard-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:14px}.driver-trip-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}.driver-trip-head>div:first-child{display:flex;align-items:center;gap:10px}.driver-trip-head>div:first-child>div{display:grid;gap:3px}.driver-trip-head b{color:#f0f7fb;font-size:16.5px}.driver-trip-head small{color:#7191a6;font-size:12.5px}.driver-route-dot{width:11px;height:11px;border-radius:999px;background:#607b8d}.driver-route-dot.blue{background:#1687ff;box-shadow:0 0 16px rgba(22,135,255,.55)}.driver-route-dot.amber{background:#ffbd3e}.driver-route-dot.red{background:#ff5d6f}.driver-route-dot.off{background:#506878}.driver-status-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.driver-status-actions button{min-height:42px;border:1px solid #214a65;border-radius:10px;background:#071b29;color:#9ab5c5;font-size:13.5px;font-weight:800;cursor:pointer}.driver-status-actions button:hover,.driver-status-actions button.active{border-color:#1687ff;background:rgba(22,135,255,.12);color:#80c4ff}.driver-status-actions button.problem.active{border-color:#ff5d6f;background:rgba(255,93,111,.1);color:#ff929d}.driver-current-note{padding:10px 12px;border:1px solid rgba(255,93,111,.25);border-radius:10px;background:rgba(255,93,111,.06);display:grid;gap:4px;margin-bottom:10px}.driver-current-note b{color:#ff8996;font-size:12.5px}.driver-current-note span{color:#d7e4eb;font-size:12.5px}
.driver-break-timer{padding:9px 12px;border:1px solid rgba(255,189,62,.3);border-radius:10px;background:rgba(255,189,62,.08);color:#ffcf72;font-size:14px;font-weight:700;margin-bottom:10px}
.driver-break-timer b{color:#ffdd9a;font-weight:800}
@media(max-width:1250px){.gps-dashboard{grid-template-columns:230px 1fr}.gps-details-sidebar{grid-column:1/-1;border-left:0;border-top:1px solid #17384e}.gps-detail-card{grid-template-columns:1fr 1fr}.gps-detail-heading{grid-column:1/-1}.trip-detail-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.gps-dashboard{grid-template-columns:1fr}.gps-live-sidebar{border-right:0;border-bottom:1px solid #17384e}.gps-map-large{min-height:480px}.gps-history-table-head{display:none}.gps-trip-row{grid-template-columns:1fr 1fr}.gps-trip-row .trip-state{grid-column:1/-1}.driver-dashboard-grid{grid-template-columns:1fr}}
@media(max-width:600px){.trip-detail-kpis{grid-template-columns:1fr 1fr}.gps-detail-card{grid-template-columns:1fr}.gps-history-table-head,.gps-trip-row{grid-template-columns:1fr}.driver-status-actions{grid-template-columns:1fr}}


/* ===== Owner remote trip stop v12 ===== */
.gps-detail-actions{display:grid;gap:8px}
.gps-owner-stop-btn{width:100%;border-color:rgba(255,93,111,.42)!important;background:rgba(255,93,111,.09)!important;color:#ff9aa5!important}
.gps-owner-stop-btn:hover{background:rgba(255,93,111,.16)!important}
.gps-history-table-head,.gps-trip-row{
  grid-template-columns:1.25fr 1fr 1fr .72fr .72fr .65fr .75fr .58fr;
}
.gps-row-owner-stop{
  display:inline-flex!important;align-items:center;justify-content:center;
  min-height:28px;padding:0 8px;border:1px solid rgba(255,93,111,.35);border-radius:8px;
  background:rgba(255,93,111,.08);color:#ff929e!important;font-size:11px!important;font-weight:900;cursor:pointer;
}
.gps-row-owner-stop:hover{background:rgba(255,93,111,.15)}
@media(max-width:900px){
 .gps-history-table-head{display:none}
 .gps-trip-row{grid-template-columns:1fr 1fr}
 .gps-row-owner-stop{justify-self:start}
}


/* ===== MOF Communicator + Calls v13 ===== */
.mof-comm-shell{display:grid;grid-template-columns:290px minmax(480px,1fr) 255px;min-height:690px;border:1px solid #173d56;border-radius:18px;overflow:hidden;background:#061521}
.mof-comm-left,.mof-comm-right{background:#071926}.mof-comm-left{border-right:1px solid #17384e}.mof-comm-right{border-left:1px solid #17384e;padding:14px}
.mof-comm-left-head{display:flex;justify-content:space-between;align-items:center;padding:16px 14px 9px}.mof-comm-left-head>div{display:grid;gap:2px}.mof-comm-left-head b{color:#f2f8fb;font-size:18px}.mof-comm-left-head small{color:#6f8fa3;font-size:11px}.mof-comm-left-head button{width:31px;height:31px;border:1px solid #214a65;border-radius:9px;background:#0a2233;color:#86c7f4;font-size:22px;cursor:pointer}
.mof-comm-search{height:38px;margin:0 12px 9px;display:grid;grid-template-columns:30px 1fr;border:1px solid #1c425c;border-radius:9px;background:#05131e}.mof-comm-search span{display:grid;place-items:center;color:#709bb9}.mof-comm-search input{border:0;background:transparent;color:#edf7fb;outline:0;font-size:12.5px}
.mof-comm-tabs{display:flex;gap:3px;padding:0 12px 8px;border-bottom:1px solid #15354a}.mof-comm-tabs button{border:0;background:transparent;color:#6d8da1;padding:7px 8px;font-size:11px}.mof-comm-tabs button.active{color:#68b9f5;border-bottom:2px solid #1687ff}
.mof-thread-list{padding:7px;display:grid;gap:3px}.mof-thread{width:100%;display:grid;grid-template-columns:36px 1fr auto;gap:9px;align-items:center;padding:9px;border:1px solid transparent;border-radius:10px;background:transparent;text-align:left;cursor:pointer}.mof-thread:hover,.mof-thread.active{background:#0a2233;border-color:#1d4966}.mof-thread>span:nth-child(2){display:grid;gap:3px;min-width:0}.mof-thread b{color:#eef7fb;font-size:13.5px}.mof-thread small{color:#718fa3;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mof-thread time{color:#607d90;font-size:10px}
.mof-thread-avatar{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#342e72;color:#c8c0ff;font-size:15.5px}.mof-thread-avatar.private{border-radius:999px;background:#153e59;color:#77c6ff}
.mof-thread-meta{display:grid;justify-items:end;gap:4px}
.mof-thread .mof-thread-unread{background:#e5484d;color:#fff;font-size:10px;font-weight:800;border-radius:999px;min-width:15px;height:15px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center;line-height:1}
.mof-thread.unread b{color:#fff}.mof-thread.unread small{color:#a9c3d4}
.mof-people-title{padding:11px 14px 5px;color:#65879d;font-size:11px;font-weight:900;letter-spacing:.08em}.mof-people-list{padding:0 8px 14px;display:grid}.mof-people-list button{display:grid;grid-template-columns:8px 1fr;gap:8px;align-items:center;padding:7px;border:0;background:transparent;text-align:left;cursor:pointer}.mof-people-list span{display:grid;gap:2px}.mof-people-list b{color:#dcebf3;font-size:12.5px}.mof-people-list small{color:#69899c;font-size:10px}
.mof-people-list i,.mof-presence-row i,.mof-mention-picker i{width:7px;height:7px;border-radius:999px;background:#526c7c}.mof-people-list i.online,.mof-presence-row i.online,.mof-mention-picker i.online{background:#29d88a;box-shadow:0 0 8px rgba(41,216,138,.45)}.mof-people-list i.trip,.mof-presence-row i.trip,.mof-mention-picker i.trip{background:#1687ff}.mof-people-list i.busy,.mof-presence-row i.busy,.mof-mention-picker i.busy{background:#ff5d6f}.mof-people-list i.away,.mof-presence-row i.away,.mof-mention-picker i.away{background:#ffc34c}
.mof-comm-main{display:grid;grid-template-rows:auto auto 1fr auto;min-width:0;background:#081b29}.mof-chat-head{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;border-bottom:1px solid #17394f;background:#071926}.mof-chat-who{display:flex;gap:9px;align-items:center}.mof-chat-who>div{display:grid;gap:2px}.mof-chat-who b{color:#eef7fb;font-size:14.5px}.mof-chat-who small{color:#6e8fa3;font-size:11px}.mof-call-buttons{display:flex;gap:5px}.mof-call-buttons button{width:36px;height:36px;border:1px solid #1d455f;border-radius:9px;background:#0a2030;color:#86c6ef;cursor:pointer;font-size:19px}
.mof-chat-messages{padding:18px;overflow:auto;max-height:570px;display:flex;flex-direction:column;gap:13px}.mof-msg{max-width:72%;align-self:flex-start}.mof-msg.mine{align-self:flex-end}.mof-msg-meta{display:flex;gap:8px;align-items:center;margin:0 5px 4px}.mof-msg-meta b{color:#91aaba;font-size:11px}.mof-msg-meta time{color:#58778a;font-size:10px}.mof-msg.mine .mof-msg-meta{justify-content:flex-end}.mof-msg-bubble{padding:10px 12px;border-radius:5px 13px 13px 13px;background:#122c3e;color:#e8f2f7;font-size:13.5px;line-height:1.55}.mof-msg.mine .mof-msg-bubble{background:#0d5ca5;border-radius:13px 5px 13px 13px}.mof-msg-bubble.deleted{opacity:.55;font-style:italic}.mof-mention{display:inline-block;padding:0 3px;border-radius:4px;background:rgba(88,180,255,.16);color:#89cbff;font-weight:800}
.mof-msg-tools{display:flex;gap:5px;margin-top:3px;opacity:0;transition:.15s}.mof-msg:hover .mof-msg-tools{opacity:1}.mof-msg-tools button{border:0;background:transparent;color:#7094aa;font-size:10px;cursor:pointer}.mof-reactions{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}.mof-reactions button{border:1px solid #24506d;border-radius:999px;background:#0a2233;color:#d9e9f2;padding:3px 6px;font-size:11px;cursor:pointer}
.mof-chat-compose{position:relative;margin:0 14px 14px;min-height:50px;display:grid;grid-template-columns:1fr 35px 40px;align-items:end;border:1px solid #214861;border-radius:12px;background:#071723;padding:6px}.mof-chat-compose textarea{resize:none;max-height:110px;min-height:35px;border:0;background:transparent;color:#eef7fb;padding:9px;outline:0;font:inherit;font-size:13.5px}.mof-chat-compose>button{height:35px;border:0;background:transparent;color:#729ab4;font-size:21px;cursor:pointer}.mof-chat-compose .send{border-radius:9px;background:#1687ff;color:#fff}
.mof-mention-picker{position:absolute;bottom:57px;left:8px;width:270px;padding:5px;border:1px solid #24506d;border-radius:11px;background:#081b29;box-shadow:0 12px 35px rgba(0,0,0,.35);z-index:20}.mof-mention-picker button{width:100%;display:grid;grid-template-columns:8px 1fr;gap:9px;align-items:center;padding:8px;border:0;border-radius:7px;background:transparent;text-align:left;cursor:pointer}.mof-mention-picker button:hover{background:#0d2a3e}.mof-mention-picker span{display:grid;gap:2px}.mof-mention-picker b{color:#eaf5fa;font-size:12.5px}.mof-mention-picker small{color:#6e8ea2;font-size:10px}
.mof-status-card,.mof-owner-chat-note{padding:12px;border:1px solid #193d55;border-radius:12px;background:#061824;margin-bottom:10px}.mof-status-card>b,.mof-owner-chat-note>b{display:block;color:#e8f3f8;font-size:13.5px;margin-bottom:10px}.mof-status-card select{width:100%;height:35px;border:1px solid #21465f;border-radius:8px;background:#071622;color:#dcebf3;padding:0 8px;font-size:12.5px}.mof-presence-row{display:grid;grid-template-columns:8px 1fr auto;gap:7px;align-items:center;padding:7px 0;border-bottom:1px solid rgba(34,70,94,.45)}.mof-presence-row:last-child{border:0}.mof-presence-row span{color:#d4e5ee;font-size:11px}.mof-presence-row em{color:#66879b;font-size:10px;font-style:normal}.mof-owner-chat-note p{margin:0;color:#7393a6;font-size:11px;line-height:1.5}.mof-chat-none,.mof-chat-empty{display:grid;place-items:center;align-content:center;text-align:center;color:#708fa3;gap:7px}.mof-chat-none span{font-size:39px}.mof-chat-none b{color:#dbeaf2}.mof-chat-none small{font-size:12.5px}
.mof-incoming-call{position:fixed;right:22px;top:22px;z-index:10000;width:340px;padding:14px;border:1px solid #296489;border-radius:15px;background:#071b29;box-shadow:0 20px 60px rgba(0,0,0,.45);display:grid;gap:13px}.mof-incoming-call>div{display:flex;align-items:center;gap:10px;justify-content:space-between}.mof-incoming-call>div:first-child>span{width:42px;height:42px;border-radius:999px;background:rgba(22,135,255,.14);display:grid;place-items:center;font-size:24px}.mof-incoming-call>div:first-child>div{display:grid;gap:3px;flex:1}.mof-incoming-call b{color:#f2f8fb;font-size:15.5px}.mof-incoming-call small{color:#7897aa;font-size:11px}.mof-incoming-call button{min-height:34px;padding:0 12px;border-radius:9px;font-size:12.5px;font-weight:800;cursor:pointer}.mof-incoming-call .decline{border:1px solid rgba(255,93,111,.4);background:rgba(255,93,111,.1);color:#ff9aa5}.mof-incoming-call .accept{border:1px solid rgba(53,210,140,.4);background:rgba(53,210,140,.12);color:#75e3ad}
.mof-call-stage{display:grid;gap:14px}.mof-call-video-wrap{position:relative;min-height:420px;border-radius:16px;overflow:hidden;background:#02070b}.mof-call-video-wrap>video:first-child{width:100%;height:100%;min-height:420px;object-fit:cover}.mof-call-video-wrap>video:last-child{position:absolute;right:14px;bottom:14px;width:180px;height:120px;object-fit:cover;border:2px solid #315b74;border-radius:12px;background:#07131c}.mof-call-stage.audio .mof-call-video-wrap{min-height:260px;background:radial-gradient(circle at center,#12324a,#040b10)}.mof-call-stage.audio .mof-call-video-wrap>video{opacity:0}.mof-call-state{text-align:center;color:#8aa6b8;font-size:13.5px}.mof-call-controls{display:flex;justify-content:center;gap:10px}.mof-call-controls button{width:48px;height:48px;border:1px solid #27536e;border-radius:999px;background:#0a2232;color:#e4f0f6;font-size:21px;cursor:pointer}.mof-call-controls button.off{opacity:.45}.mof-call-controls .hangup{background:#e34e5d;border-color:#e34e5d;transform:rotate(135deg)}
@media(max-width:1200px){.mof-comm-shell{grid-template-columns:270px 1fr}.mof-comm-right{display:none}}
@media(max-width:760px){.mof-comm-shell{grid-template-columns:1fr}.mof-comm-left{display:none}.mof-msg{max-width:88%}.mof-call-video-wrap>video:last-child{width:115px;height:80px}}


/* ===== Communicator fixes v14 ===== */
.mof-chat-head{position:relative;z-index:2}
.mof-pinned-strip{display:flex;align-items:center;gap:9px;padding:8px 13px;border-bottom:1px solid #25465c;background:#0a2333;color:#8fb2c6}.mof-pinned-strip>span{font-size:16.5px}.mof-pinned-strip>div{display:grid;gap:2px;min-width:0}.mof-pinned-strip b{color:#e7f2f7;font-size:11px}.mof-pinned-strip small{color:#7697ab;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mof-msg-meta time{white-space:nowrap;color:#69899c}.mof-pinned-label{font-size:10px;color:#ffd068;background:rgba(255,196,72,.1);border:1px solid rgba(255,196,72,.25);padding:2px 5px;border-radius:999px}
.mof-reactions{display:flex!important;align-items:center;gap:5px!important;min-height:0;margin-top:5px!important}.mof-reactions:empty{display:none!important}.mof-reactions button{display:inline-flex!important;align-items:center;gap:4px;min-height:25px!important;padding:3px 7px!important;line-height:1!important}.mof-reactions button span{font-size:16.5px}.mof-reactions button b{font-size:11px;color:#a9c2d1}
.mof-chat-attachments{display:grid;gap:6px;margin-top:6px}.mof-chat-attachment{display:flex;align-items:center;gap:9px;max-width:340px;padding:8px;border:1px solid #27536d;border-radius:10px;background:#091f2e;color:#dcebf3;text-decoration:none}.mof-chat-attachment>span{font-size:24px}.mof-chat-attachment>div{display:grid;gap:2px;min-width:0}.mof-chat-attachment b{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mof-chat-attachment small{font-size:10px;color:#7292a6}.mof-chat-attachment.image{display:block;padding:5px}.mof-chat-attachment.image img{display:block;max-width:300px;max-height:220px;width:auto;height:auto;border-radius:7px}.mof-chat-attachment.image>div{padding:6px 3px 2px}
.mof-chat-compose{grid-template-columns:36px minmax(0,1fr) 36px 42px!important}.mof-chat-compose .attach{display:grid;place-items:center}.mof-file-queue{grid-column:2/-1;display:flex;flex-wrap:wrap;gap:5px}.mof-file-queue:empty{display:none}.mof-file-queue span{max-width:180px;padding:4px 7px;border-radius:7px;background:#0b2a3e;color:#92b6ca;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mof-call-controls{flex-wrap:wrap}.mof-call-controls button.active{border-color:#42a9ff;background:#0d4a75;color:#fff}.mof-share-badge{position:absolute;left:14px;top:14px;padding:6px 9px;border-radius:999px;background:#e65764;color:white;font-size:11px;font-weight:900;z-index:3}.mof-share-badge[hidden]{display:none!important}
.mof-call-stage.audio .mof-call-video-wrap>video{opacity:1}.mof-call-stage.audio .mof-call-video-wrap>video[data-remote-video]:not([src]){background:radial-gradient(circle at center,#12324a,#040b10)}
.mof-owner-chat-note button{width:100%;margin-top:10px}.mof-owner-chat-panel{display:grid;gap:12px}.owner-chat-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.owner-chat-stats>div{padding:12px;border:1px solid #1f4862;border-radius:11px;background:#071a28;display:grid;gap:5px}.owner-chat-stats span{font-size:11px;color:#7393a6;text-transform:uppercase}.owner-chat-stats b{font-size:23px;color:#f0f7fb}.owner-chat-thread-list{display:grid;gap:6px;max-height:480px;overflow:auto}.owner-chat-thread-list button{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px;border:1px solid #1b425c;border-radius:10px;background:#071925;color:#dcebf3;text-align:left;cursor:pointer}.owner-chat-thread-list button>div{display:grid;gap:3px}.owner-chat-thread-list b{font-size:13.5px}.owner-chat-thread-list small{font-size:11px;color:#7393a7}.owner-chat-thread-list span{font-size:10px;text-transform:uppercase;color:#6eb3e8}
.owner-chat-review{display:grid;gap:7px;max-height:560px;overflow:auto}.owner-review-msg{padding:10px;border:1px solid #1b425b;border-radius:10px;background:#071925}.owner-review-msg>div{display:flex;justify-content:space-between;gap:10px}.owner-review-msg b{color:#eef7fb;font-size:12.5px}.owner-review-msg time{color:#6e8da0;font-size:10px}.owner-review-msg p{margin:6px 0;color:#b9ced9;font-size:12.5px;line-height:1.5}.owner-review-msg button{border:1px solid rgba(255,93,111,.35);border-radius:7px;background:rgba(255,93,111,.08);color:#ff929d;padding:5px 8px;font-size:10px;cursor:pointer}.owner-review-msg.deleted{opacity:.55}
@media(max-width:700px){.owner-chat-stats{grid-template-columns:1fr}.mof-chat-attachment.image img{max-width:100%}}


/* ===== Group calls + custom reactions v15 ===== */
.mof-reaction-icon{width:18px;height:18px;display:grid;place-items:center}.mof-reaction-icon svg,.mof-reaction-picker svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.mof-reaction-icon svg path:first-child,.mof-reaction-picker svg path:first-child{fill:currentColor;stroke:currentColor}.mof-reactions button{color:#9ec4dc!important}.mof-reactions button:hover{color:#67baff!important;background:#0c2b40!important}.mof-reaction-trigger{display:inline-flex!important;align-items:center;gap:5px}.mof-react-face{width:14px;height:14px;border:1.5px solid currentColor;border-radius:999px;position:relative}.mof-react-face:before,.mof-react-face:after{content:"";position:absolute;top:4px;width:2px;height:2px;border-radius:999px;background:currentColor}.mof-react-face:before{left:3px}.mof-react-face:after{right:3px}.mof-react-face{box-sizing:border-box}.mof-reaction-picker{display:grid;grid-template-columns:repeat(6,48px);gap:8px;justify-content:center;padding:8px}.mof-reaction-picker button{width:48px;height:48px;border:1px solid #24506d;border-radius:12px;background:#081d2c;color:#9ec9e5;display:grid;place-items:center;cursor:pointer}.mof-reaction-picker button:hover{background:#0d3048;color:#65baff;transform:translateY(-1px)}.mof-reaction-picker svg{width:24px;height:24px}
.mof-group-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-height:420px;background:#02070b;padding:8px;border-radius:16px}.mof-call-tile{position:relative;min-height:190px;border-radius:12px;overflow:hidden;background:radial-gradient(circle at center,#12324a,#03090d)}.mof-call-tile video{width:100%;height:100%;min-height:190px;object-fit:cover;display:block}.mof-call-tile>span{position:absolute;left:8px;bottom:8px;padding:4px 7px;border-radius:7px;background:rgba(3,12,18,.72);color:#e8f4fa;font-size:11px}.mof-call-tile.local{border:1px solid #2a5b78}
.mof-call-ico{display:block;width:18px;height:18px;margin:auto;position:relative}.mof-call-ico.mic:before{content:"";position:absolute;left:6px;top:1px;width:6px;height:10px;border:2px solid currentColor;border-radius:5px}.mof-call-ico.mic:after{content:"";position:absolute;left:4px;top:8px;width:10px;height:7px;border:2px solid currentColor;border-top:0;border-radius:0 0 8px 8px}.mof-call-ico.cam:before{content:"";position:absolute;left:1px;top:4px;width:11px;height:10px;border:2px solid currentColor;border-radius:3px}.mof-call-ico.cam:after{content:"";position:absolute;right:0;top:6px;border-left:5px solid currentColor;border-top:4px solid transparent;border-bottom:4px solid transparent}.mof-call-ico.screen:before{content:"";position:absolute;inset:2px 1px 5px;border:2px solid currentColor;border-radius:2px}.mof-call-ico.screen:after{content:"";position:absolute;left:6px;bottom:0;width:7px;height:2px;background:currentColor}.mof-call-ico.phone:before{content:"";position:absolute;left:2px;top:5px;width:14px;height:7px;border:3px solid currentColor;border-bottom:0;border-radius:12px 12px 0 0}
.mof-incoming-icon{width:40px;height:40px;border-radius:999px;background:#0d3550;display:grid;place-items:center;position:relative}.mof-incoming-icon.audio:before{content:"";width:17px;height:9px;border:3px solid #74c5ff;border-bottom:0;border-radius:15px 15px 0 0;transform:rotate(-25deg)}.mof-incoming-icon.video:before{content:"";width:15px;height:11px;border:2px solid #74c5ff;border-radius:3px}.mof-incoming-icon.video:after{content:"";position:absolute;right:7px;border-left:6px solid #74c5ff;border-top:4px solid transparent;border-bottom:4px solid transparent}
.mof-call-history{align-self:center;display:flex;align-items:center;gap:9px;max-width:430px;margin:4px auto;padding:7px 10px;border:1px solid #20445d;border-radius:10px;background:#071925;color:#8aa8ba}.mof-call-history.missed{border-color:rgba(255,93,111,.32);background:rgba(255,93,111,.05)}.mof-call-history-icon{width:28px;height:28px;border-radius:999px;background:#0d3047;position:relative}.mof-call-history-icon.audio:before{content:"";position:absolute;left:7px;top:9px;width:12px;height:6px;border:2px solid #76c4f8;border-bottom:0;border-radius:10px 10px 0 0}.mof-call-history-icon.video:before{content:"";position:absolute;left:6px;top:8px;width:11px;height:9px;border:2px solid #76c4f8;border-radius:2px}.mof-call-history-icon.video:after{content:"";position:absolute;right:4px;top:10px;border-left:5px solid #76c4f8;border-top:3px solid transparent;border-bottom:3px solid transparent}.mof-call-history>div{display:grid;gap:2px}.mof-call-history b{color:#dbeaf3;font-size:11px}.mof-call-history.missed b{color:#ff97a1}.mof-call-history small{color:#708fa2;font-size:10px}
@media(max-width:700px){.mof-group-video-grid{grid-template-columns:1fr}.mof-reaction-picker{grid-template-columns:repeat(3,48px)}}


/* ===== Communicator UX v16 ===== */
.mof-call-msg{max-width:72%;align-self:flex-start}.mof-call-msg.mine{align-self:flex-end}.mof-call-bubble{display:flex;align-items:center;gap:9px;padding:9px 11px;border-radius:5px 13px 13px 13px;background:#122c3e;color:#dcebf3}.mof-call-msg.mine .mof-call-bubble{background:#0d5ca5;border-radius:13px 5px 13px 13px}.mof-call-msg.missed .mof-call-bubble{border:1px solid rgba(255,93,111,.32)}.mof-call-bubble>div{display:grid;gap:2px}.mof-call-bubble b{font-size:12.5px}.mof-call-bubble small{font-size:10px;opacity:.75}
.mof-call-history{display:none!important}
.mof-share-preview[hidden]{display:none!important}.mof-share-preview{border-color:#37a5ff!important}.mof-share-preview:after{content:"UDOSTĘPNIANIE";position:absolute;right:8px;top:8px;padding:3px 6px;border-radius:999px;background:#1687ff;color:#fff;font-size:10px;font-weight:900}
.mof-comm-right .mof-owner-chat-note{display:none!important}

/* ===== CALL UI v17 — visual mock direction ===== */
.mof-call-stage{width:min(1180px,94vw);max-height:92vh;background:#04111c;border:1px solid #12334a;border-radius:18px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.48);position:relative}
.mof-call-topbar{height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;border-bottom:1px solid #13344b;background:#061722}
.mof-call-room{display:flex;align-items:center;gap:10px}.mof-call-room-badge{width:24px;height:24px;border-radius:999px;background:#146ed1;color:#fff;display:grid;place-items:center;font-size:13.5px;font-weight:900;box-shadow:0 0 14px rgba(20,110,209,.4)}
.mof-call-room>div{display:grid;gap:2px}.mof-call-room small{font-size:10px;color:#7da1b8;letter-spacing:.09em;font-weight:900}.mof-call-room b{font-size:13.5px;color:#edf6fb}
.mof-call-top-actions,.mof-call-bottom-controls{display:flex;align-items:center;gap:7px}.mof-call-top-actions button,.mof-call-bottom-controls button{width:34px;height:34px;border:1px solid #203a4d;border-radius:999px;background:#101e29;color:#d9e6ed;display:grid;place-items:center;cursor:pointer}.mof-call-top-actions button:hover,.mof-call-bottom-controls button:hover{background:#172c3c;border-color:#2c5a75}.mof-call-top-actions button.off,.mof-call-bottom-controls button.off{opacity:.45}
.mof-call-bottom-controls{justify-content:center;padding:11px 14px;border-top:1px solid #12334a;background:#061722}.mof-call-bottom-controls .hangup{background:#df4a4f;border-color:#df4a4f;color:white}
.mof-call-content{padding:14px;background:#030a11}.mof-group-video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px;min-height:540px;background:#030a11;padding:0}
.mof-call-tile{position:relative;min-height:260px;border-radius:13px;overflow:hidden;background:radial-gradient(circle at center,#163449,#02070c);border:1px solid #17384e}.mof-call-tile video{width:100%;height:100%;min-height:260px;object-fit:cover;display:block;background:#02070c}
.mof-call-tile.primary-local{position:absolute;right:28px;bottom:78px;z-index:4;width:210px;height:138px;min-height:138px;border:2px solid #35576d;box-shadow:0 12px 30px rgba(0,0,0,.35)}.mof-call-tile.primary-local video{min-height:138px}.mof-share-preview{border-color:#2482c7!important}.mof-share-preview[hidden]{display:none!important}
.mof-call-user-label{position:absolute;left:9px;top:9px;display:flex;align-items:center;gap:6px;padding:5px 7px;border-radius:7px;background:rgba(3,11,17,.72);backdrop-filter:blur(6px)}.mof-call-user-label b{font-size:11px;color:#f0f6fa}.mof-call-user-label small{font-size:10px;color:#7797aa}
.mof-mini-user,.mof-mini-screen{width:12px;height:12px;display:inline-block;position:relative}.mof-mini-user:before{content:"";position:absolute;left:4px;top:1px;width:4px;height:4px;border-radius:999px;background:#9ccceb}.mof-mini-user:after{content:"";position:absolute;left:2px;bottom:1px;width:8px;height:5px;border-radius:6px 6px 2px 2px;background:#9ccceb}.mof-mini-screen{border:1.5px solid #8ec7e9;border-radius:2px}.mof-mini-screen:after{content:"";position:absolute;left:3px;bottom:-3px;width:5px;height:1px;background:#8ec7e9}
.mof-call-state{position:absolute;left:50%;bottom:60px;transform:translateX(-50%);padding:5px 9px;border-radius:999px;background:rgba(4,17,28,.76);color:#7393a7;font-size:10px;z-index:3}
.mof-ui-icon{width:16px;height:16px;display:block;position:relative}.mof-ui-icon.more:before{content:"•••";position:absolute;left:0;top:-6px;font-size:16.5px;letter-spacing:1px}.mof-ui-icon.search:before{content:"";position:absolute;width:8px;height:8px;border:1.7px solid currentColor;border-radius:999px;left:1px;top:1px}.mof-ui-icon.search:after{content:"";position:absolute;width:6px;height:1.7px;background:currentColor;transform:rotate(45deg);right:0;bottom:2px;border-radius:2px}
.mof-ui-icon.mic:before{content:"";position:absolute;left:5px;top:1px;width:6px;height:9px;border:1.7px solid currentColor;border-radius:5px}.mof-ui-icon.mic:after{content:"";position:absolute;left:3px;top:8px;width:10px;height:6px;border:1.7px solid currentColor;border-top:0;border-radius:0 0 8px 8px}.mof-ui-icon.cam:before{content:"";position:absolute;left:1px;top:4px;width:10px;height:8px;border:1.7px solid currentColor;border-radius:2px}.mof-ui-icon.cam:after{content:"";position:absolute;right:0;top:6px;border-left:5px solid currentColor;border-top:3px solid transparent;border-bottom:3px solid transparent}
.mof-ui-icon.screen:before{content:"";position:absolute;inset:2px 1px 5px;border:1.7px solid currentColor;border-radius:2px}.mof-ui-icon.screen:after{content:"";position:absolute;left:5px;bottom:1px;width:6px;height:1.5px;background:currentColor}.mof-ui-icon.chat:before{content:"";position:absolute;inset:3px 1px 4px;border:1.7px solid currentColor;border-radius:5px}.mof-ui-icon.chat:after{content:"";position:absolute;left:4px;bottom:2px;border-top:4px solid currentColor;border-right:4px solid transparent}
.mof-ui-icon.users:before,.mof-ui-icon.users:after{content:"";position:absolute;border-radius:999px;background:currentColor}.mof-ui-icon.users:before{width:5px;height:5px;left:2px;top:2px;box-shadow:7px 1px 0 currentColor}.mof-ui-icon.users:after{width:8px;height:5px;left:0;bottom:2px;border-radius:7px 7px 3px 3px;box-shadow:7px 0 0 currentColor}.mof-ui-icon.phone:before{content:"";position:absolute;left:2px;top:5px;width:12px;height:6px;border:2px solid currentColor;border-bottom:0;border-radius:10px 10px 0 0}
.mof-call-members-list{display:grid;gap:7px}.mof-call-member{display:flex;align-items:center;gap:9px;padding:9px;border:1px solid #1c425b;border-radius:10px;background:#071925}.mof-call-member>div{display:grid;gap:2px}.mof-call-member b{font-size:12.5px;color:#edf6fb}.mof-call-member small{font-size:10px;color:#6f90a4}
@media(max-width:760px){.mof-call-stage{width:96vw}.mof-group-video-grid{grid-template-columns:1fr;min-height:480px}.mof-call-tile.primary-local{width:130px;height:90px;min-height:90px;right:14px;bottom:78px}.mof-call-tile.primary-local video{min-height:90px}.mof-call-top-actions{display:none}}


/* ===== CALL FIX v18 ===== */

/* Dedicated call window: no generic modal padding, no double-frame, no horizontal scrollbar. */
.modal-backdrop:has(.mof-call-modal-shell){padding:18px;background:rgba(0,8,14,.84);backdrop-filter:blur(10px)}
.modal.mof-call-modal-shell{
  width:min(1180px,calc(100vw - 36px))!important;
  max-width:none!important;
  height:min(760px,calc(100vh - 36px));
  max-height:none!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:18px!important;
  background:#04111c!important;
  box-shadow:0 28px 90px rgba(0,0,0,.6)!important
}
.mof-call-modal-shell>.modal-close{display:none!important}
.mof-call-modal-shell .mof-call-stage{width:100%!important;height:100%!important;max-height:none!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.mof-call-modal-shell .mof-call-content{min-height:0;flex:1;overflow:hidden}
.mof-call-stage{display:flex!important;flex-direction:column}
.mof-call-content{flex:1;position:relative}
.mof-group-video-grid{height:100%;min-height:0!important;align-content:stretch}
.mof-call-tile{min-height:0!important}
.mof-call-tile video{min-height:0!important}

/* Audio calls: polished participant cards instead of a giant empty black panel. */
.mof-audio-avatar{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:112px;height:112px;border-radius:999px;
  display:grid;place-items:center;
  background:linear-gradient(145deg,#173d58,#0c2638);
  border:1px solid #2e5e7a;
  color:#d9effc;font-size:34.5px;font-weight:900;letter-spacing:.03em;
  box-shadow:0 18px 45px rgba(0,0,0,.3),inset 0 0 30px rgba(42,143,211,.08)
}
.mof-call-stage.audio .mof-call-tile:not(.has-video) video{opacity:0}
.mof-call-stage.audio .mof-group-video-grid{
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:12px;padding:16px;background:radial-gradient(circle at 50% 35%,#0a2233 0,#04101a 52%,#02080d 100%)
}
.mof-call-stage.audio .mof-call-tile{
  min-height:240px!important;background:rgba(7,25,38,.72);
  border:1px solid #173d56
}
.mof-call-stage.audio .mof-call-tile.primary-local{
  position:relative!important;right:auto!important;bottom:auto!important;width:auto!important;height:auto!important;
  min-height:240px!important;z-index:1
}

/* Chat call buttons: pure custom CSS icons, zero emoji glyphs. */
.mof-call-buttons button{display:grid!important;place-items:center}
.mof-chat-call-icon{position:relative;display:block;width:17px;height:17px;color:#9bcbe9}
.mof-chat-call-icon.phone:before{
  content:"";position:absolute;left:3px;top:5px;width:11px;height:6px;
  border:2px solid currentColor;border-bottom:0;border-radius:10px 10px 0 0;transform:rotate(-25deg)
}
.mof-chat-call-icon.video:before{
  content:"";position:absolute;left:1px;top:4px;width:10px;height:8px;border:1.8px solid currentColor;border-radius:2px
}
.mof-chat-call-icon.video:after{
  content:"";position:absolute;right:0;top:6px;border-left:5px solid currentColor;border-top:3px solid transparent;border-bottom:3px solid transparent
}

/* Incoming call: prominent and readable. */
.mof-incoming-call{
  width:370px!important;padding:14px!important;gap:14px!important;
  border:1px solid #286486!important;background:#071b29!important;
  box-shadow:0 24px 65px rgba(0,0,0,.55)!important
}
.mof-incoming-main{display:flex!important;justify-content:flex-start!important;align-items:center!important;gap:11px!important}
.mof-incoming-main>div{display:grid;gap:3px}
.mof-incoming-main small{color:#5caef0!important;font-size:10px!important;font-weight:900;letter-spacing:.09em}
.mof-incoming-main b{font-size:16.5px!important;color:#f1f8fb!important}
.mof-incoming-main em{font-style:normal;color:#7797aa;font-size:11px}
.mof-incoming-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important}
.mof-incoming-actions button{display:flex!important;align-items:center!important;justify-content:center!important;gap:7px}
.mof-incoming-actions .accept .mof-chat-call-icon{color:#8ff0bd}
.mof-incoming-actions .decline .mof-chat-call-icon{color:#ff9aa5}

/* Tighter toolbar, like the visual target. */
.mof-call-bottom-controls{gap:8px!important;padding:10px 14px!important}
.mof-call-bottom-controls button{width:38px!important;height:38px!important;background:#101d27!important;border-color:#203848!important}
.mof-call-bottom-controls .hangup{width:42px!important;height:42px!important;background:#df4b51!important;border-color:#df4b51!important}
.mof-call-topbar{flex:0 0 56px}
.mof-call-bottom-controls{flex:0 0 58px}
.mof-call-state{bottom:66px!important}

/* no scrollbar artifacts */
.mof-call-modal-shell,.mof-call-stage,.mof-call-content,.mof-group-video-grid{scrollbar-width:none}
.mof-call-modal-shell::-webkit-scrollbar,.mof-call-stage::-webkit-scrollbar,.mof-call-content::-webkit-scrollbar,.mof-group-video-grid::-webkit-scrollbar{display:none}

@media(max-width:760px){
 .modal-backdrop:has(.mof-call-modal-shell){padding:0}
 .modal.mof-call-modal-shell{width:100vw!important;height:100vh!important;border-radius:0!important}
 .mof-call-top-actions{display:none!important}
 .mof-incoming-call{left:10px!important;right:10px!important;top:10px!important;width:auto!important}
}


/* ===== CALL ENGINE v19 ===== */
.mof-call-bottom-controls button.active,.mof-call-top-actions button.active{
  background:#0d4d78!important;border-color:#248fd2!important;color:#fff!important;
  box-shadow:0 0 0 2px rgba(36,143,210,.12)
}
.mof-call-bottom-controls button.off,.mof-call-top-actions button.off{
  opacity:1!important;background:#29151b!important;border-color:#6c2d39!important;color:#ff8b98!important
}
.mof-call-stage.video .mof-audio-avatar{opacity:.16}
.mof-call-tile video:not([srcObject]) + .mof-call-user-label{z-index:2}


/* ===== CALL STABLE v21 ===== */
.mof-incoming-classic{
  position:fixed!important;
  right:24px!important;
  top:24px!important;
  z-index:10000!important;
  width:540px!important;
  max-width:calc(100vw - 48px)!important;
  padding:16px 18px!important;
  border:1px solid #27617f!important;
  border-radius:20px!important;
  background:#071c2a!important;
  box-shadow:0 26px 70px rgba(0,0,0,.52)!important;
  display:grid!important;
  grid-template-columns:1fr auto!important;
  align-items:center!important;
  gap:18px!important;
}
.mof-incoming-classic .mof-incoming-main{
  display:flex!important;align-items:center!important;gap:13px!important;min-width:0
}
.mof-incoming-classic .mof-incoming-main>div{display:grid!important;gap:3px!important;min-width:0}
.mof-incoming-classic small{
  color:#65b7f2!important;font-size:11px!important;font-weight:900!important;
  letter-spacing:.09em!important
}
.mof-incoming-classic b{color:#f1f7fb!important;font-size:20px!important;line-height:1.1!important}
.mof-incoming-classic em{
  color:#7f9daf!important;font-size:13.5px!important;font-style:normal!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important
}
.mof-incoming-phone-icon{
  width:68px;height:68px;border-radius:999px;background:#0a3d68;display:grid;place-items:center;position:relative;flex:0 0 68px
}
.mof-incoming-phone-icon:before{
  content:"";position:absolute;width:21px;height:11px;border:4px solid #66bff8;border-bottom:0;
  border-radius:18px 18px 0 0;transform:rotate(-48deg)
}
.mof-incoming-classic .mof-incoming-actions{
  display:grid!important;grid-template-columns:132px 152px!important;gap:12px!important
}
.mof-incoming-classic .mof-incoming-actions button{
  height:50px!important;border-radius:13px!important;font-size:14.5px!important;font-weight:900!important;
  border:0!important;cursor:pointer!important
}
.mof-incoming-classic .decline{background:#c9414d!important;color:white!important}
.mof-incoming-classic .accept{background:#29bf78!important;color:white!important}
.mof-incoming-classic .decline:hover{background:#dc4b58!important}
.mof-incoming-classic .accept:hover{background:#35ce86!important}

@media(max-width:720px){
 .mof-incoming-classic{
   left:12px!important;right:12px!important;top:12px!important;width:auto!important;
   max-width:none!important;grid-template-columns:1fr!important
 }
 .mof-incoming-classic .mof-incoming-actions{grid-template-columns:1fr 1fr!important}
}


/* ===== Incoming + call UI cleanup v22 ===== */
.modal-backdrop:has(.mof-call-stage){
  padding:20px!important;
  background:rgba(0,8,14,.84)!important;
  backdrop-filter:blur(10px)
}
.modal:has(.mof-call-stage){
  width:min(1180px,calc(100vw - 40px))!important;
  max-width:none!important;
  height:min(760px,calc(100vh - 40px))!important;
  max-height:none!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid #173d56!important;
  border-radius:18px!important;
  background:#04111c!important
}
.modal:has(.mof-call-stage)>.modal-head,
.modal:has(.mof-call-stage)>.modal-title,
.modal:has(.mof-call-stage)>.modal-close{
  display:none!important
}
.modal:has(.mof-call-stage) .mof-call-stage{
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  display:flex!important;
  flex-direction:column!important
}
.modal:has(.mof-call-stage) .mof-call-content{
  flex:1!important;
  min-height:0!important;
  overflow:hidden!important
}
.modal:has(.mof-call-stage) .mof-group-video-grid{
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important
}
.modal:has(.mof-call-stage) .mof-call-bottom-controls{
  flex:0 0 58px!important
}
.modal:has(.mof-call-stage) .mof-call-topbar{
  flex:0 0 56px!important
}

/* Old working incoming-card style */
.mof-incoming-classic{
  position:fixed!important;
  right:24px!important;
  top:24px!important;
  z-index:10000!important;
  width:540px!important;
  max-width:calc(100vw - 48px)!important;
  padding:16px 18px!important;
  border:1px solid #27617f!important;
  border-radius:20px!important;
  background:#071c2a!important;
  box-shadow:0 26px 70px rgba(0,0,0,.52)!important;
  display:grid!important;
  grid-template-columns:1fr auto!important;
  align-items:center!important;
  gap:18px!important
}
.mof-incoming-classic .mof-incoming-main{
  display:flex!important;
  align-items:center!important;
  gap:13px!important;
  min-width:0
}
.mof-incoming-classic .mof-incoming-main>div{
  display:grid!important;
  gap:3px!important;
  min-width:0
}
.mof-incoming-classic small{
  color:#65b7f2!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.09em!important
}
.mof-incoming-classic b{
  color:#f1f7fb!important;
  font-size:20px!important;
  line-height:1.1!important
}
.mof-incoming-classic em{
  color:#7f9daf!important;
  font-size:13.5px!important;
  font-style:normal!important
}
.mof-incoming-phone-icon{
  width:68px;height:68px;border-radius:999px;background:#0a3d68;
  display:grid;place-items:center;position:relative;flex:0 0 68px
}
.mof-incoming-phone-icon:before{
  content:"";position:absolute;width:21px;height:11px;
  border:4px solid #66bff8;border-bottom:0;border-radius:18px 18px 0 0;
  transform:rotate(-48deg)
}
.mof-incoming-classic .mof-incoming-actions{
  display:grid!important;
  grid-template-columns:132px 152px!important;
  gap:12px!important
}
.mof-incoming-classic .mof-incoming-actions button{
  height:50px!important;
  border-radius:13px!important;
  font-size:14.5px!important;
  font-weight:900!important;
  border:0!important;
  cursor:pointer!important
}
.mof-incoming-classic .decline{background:#c9414d!important;color:white!important}
.mof-incoming-classic .accept{background:#29bf78!important;color:white!important}

@media(max-width:720px){
 .modal-backdrop:has(.mof-call-stage){padding:0!important}
 .modal:has(.mof-call-stage){width:100vw!important;height:100vh!important;border-radius:0!important}
 .mof-incoming-classic{
   left:12px!important;right:12px!important;top:12px!important;
   width:auto!important;max-width:none!important;
   grid-template-columns:1fr!important
 }
 .mof-incoming-classic .mof-incoming-actions{grid-template-columns:1fr 1fr!important}
}


/* ===== CALL DB + CONTROLS FIX v23 ===== */
.mof-call-stage{position:relative!important;display:flex!important;flex-direction:column!important;height:100%!important}
.mof-call-bottom-controls{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  position:relative!important;
  z-index:50!important;
  flex:0 0 62px!important;
  justify-content:center!important;
  align-items:center!important;
  gap:9px!important;
  padding:10px 14px!important;
  background:#061722!important;
  border-top:1px solid #17384e!important
}
.mof-call-bottom-controls button{
  display:grid!important;place-items:center!important;
  width:40px!important;height:40px!important;
  border-radius:999px!important;border:1px solid #28506a!important;
  background:#0c2231!important;color:#e5f2f8!important;
  cursor:pointer!important
}
.mof-call-bottom-controls button:hover{background:#123149!important}
.mof-call-bottom-controls .hangup{background:#e34f5b!important;border-color:#e34f5b!important}
.mof-call-content{flex:1!important;min-height:0!important;overflow:hidden!important}
.mof-group-video-grid{height:100%!important;min-height:0!important;overflow:auto!important}
.mof-call-topbar{flex:0 0 56px!important}


/* ===== MEDIA FIX v24 ===== */
.mof-call-tile{position:relative}
.mof-call-tile video{position:relative;z-index:1}
.mof-call-tile .mof-audio-avatar{z-index:2;transition:opacity .18s ease}
.mof-call-tile.has-video .mof-audio-avatar,
.mof-call-stage.camera-on .primary-local .mof-audio-avatar{
  opacity:0!important;
  pointer-events:none!important
}
.mof-call-stage.camera-off .primary-local .mof-audio-avatar{opacity:1!important}
.mof-call-tile.video-paused video{opacity:0!important}
.mof-call-tile.video-paused .mof-audio-avatar{opacity:1!important;pointer-events:auto!important}
.mof-call-user-label{z-index:4!important}
.mof-share-preview{
  display:block;
  min-height:260px!important;
  border:1px solid #2b8dcb!important;
  background:#02070b!important
}
.mof-share-preview[hidden]{display:none!important}
.mof-share-preview video{opacity:1!important;object-fit:contain!important;background:#02070b!important}
.mof-call-tile.screen-tile video{object-fit:contain!important;background:#02070b!important}
.mof-call-bottom-controls button.active,
.mof-call-top-actions button.active{
  background:#0d4e78!important;
  border-color:#2d9adb!important;
  color:#fff!important
}


/* ===== Dashboard redesign v28 ===== */
.mof-dashboard-v28{display:grid;gap:18px;margin-top:8px;padding-bottom:32px}
.mof-dash-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.mof-dash-kpi{position:relative;display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:center;min-height:112px;padding:16px 18px;border:1px solid #173d56;border-radius:14px;background:linear-gradient(145deg,#091d2c,#071722);text-decoration:none;overflow:hidden;transition:.18s ease}
.mof-dash-kpi:after{content:"";position:absolute;left:0;right:0;top:0;height:2px;opacity:.9}
.mof-dash-kpi:hover{transform:translateY(-2px);border-color:#285c7a;box-shadow:0 12px 30px rgba(0,0,0,.18)}
.mof-dash-kpi.blue:after{background:#249cff}.mof-dash-kpi.amber:after{background:#e3a51f}.mof-dash-kpi.green:after{background:#31c87d}.mof-dash-kpi.red:after{background:#f06464}
.mof-dash-kpi>div{display:grid;gap:3px}.mof-dash-kpi small{font-size:12.5px;color:#7393a7}.mof-dash-kpi b{font-size:32.5px;color:#eef8fd;line-height:1}.mof-dash-kpi em{font-size:11px;color:#66879b;font-style:normal;margin-top:4px}
.mof-kpi-ico{width:42px;height:42px;border-radius:11px;background:#0b2a3f;display:block;position:relative;border:1px solid #174767}.mof-dash-kpi.amber .mof-kpi-ico{background:#2b2411;border-color:#5b4516}.mof-dash-kpi.green .mof-kpi-ico{background:#0c2d22;border-color:#185c42}.mof-dash-kpi.red .mof-kpi-ico{background:#2d171b;border-color:#60313a}
.mof-kpi-ico.vehicle:before{content:"";position:absolute;left:9px;top:13px;width:22px;height:12px;border:2px solid #65bdf8;border-radius:5px}.mof-kpi-ico.vehicle:after{content:"";position:absolute;left:12px;bottom:8px;width:5px;height:5px;border-radius:50%;background:#65bdf8;box-shadow:13px 0 #65bdf8}
.mof-kpi-ico.calendar:before{content:"";position:absolute;inset:9px;border:2px solid #e8b643;border-radius:5px}.mof-kpi-ico.calendar:after{content:"";position:absolute;left:13px;right:13px;top:17px;height:2px;background:#e8b643;box-shadow:0 6px #e8b643}
.mof-kpi-ico.check:before{content:"";position:absolute;left:11px;top:12px;width:19px;height:19px;border:2px solid #53d99a;border-radius:50%}.mof-kpi-ico.check:after{content:"";position:absolute;left:16px;top:20px;width:10px;height:5px;border-left:2px solid #53d99a;border-bottom:2px solid #53d99a;transform:rotate(-45deg)}
.mof-kpi-ico.users:before{content:"";position:absolute;left:11px;top:9px;width:8px;height:8px;border-radius:50%;background:#f08b8b;box-shadow:12px 2px #f08b8b}.mof-kpi-ico.users:after{content:"";position:absolute;left:8px;bottom:9px;width:13px;height:9px;border-radius:9px 9px 4px 4px;background:#f08b8b;box-shadow:13px 0 #f08b8b}

.mof-dash-charts{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.85fr);gap:14px}
.mof-dash-bottom{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.mof-dash-card{min-width:0;border:1px solid #173d56;border-radius:15px;background:#081b29;box-shadow:0 9px 28px rgba(0,0,0,.11);overflow:hidden}
.mof-dash-card-head{min-height:66px;padding:14px 17px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #14354b}.mof-dash-card-head>div{display:grid;gap:3px}.mof-dash-card-head small{font-size:10px;font-weight:900;letter-spacing:.1em;color:#418cc1}.mof-dash-card-head h3{font-size:16.5px;color:#eff7fb;margin:0}.mof-dash-card-head a{font-size:11px;color:#3b9ef0;text-decoration:none}.mof-dash-chip{font-size:10px;color:#7898aa;padding:5px 8px;border:1px solid #1c4057;border-radius:999px;background:#071722}
.mof-dash-line-wrap{padding:14px 16px 22px;height:265px}.mof-dash-line-svg{width:100%;height:220px;overflow:visible}.mof-dash-line-svg .grid line{stroke:#18394d;stroke-width:1}.mof-dash-line-svg .area{fill:url(#mofDashArea)}.mof-dash-line-svg .line{fill:none;stroke:#269bff;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 1.5px rgba(38,155,255,.4))}.mof-dash-line-svg{shape-rendering:geometricPrecision}.mof-dash-point{cursor:pointer}.mof-dash-point-dot{fill:#071b29;stroke:#5bb5ff;stroke-width:3;pointer-events:none;transition:.12s ease}.mof-dash-point-hit{fill:transparent;stroke:none}.mof-dash-point:hover .mof-dash-point-dot{fill:#1687ff;stroke:#bfe4ff}
.mof-dash-chart-labels{display:grid;grid-template-columns:repeat(6,1fr);margin:0 9px;color:#587a91;font-size:10px;text-align:center;text-transform:uppercase}
.mof-dash-donut-layout{min-height:265px;display:grid;grid-template-columns:180px 1fr;gap:12px;align-items:center;padding:16px}.mof-dash-donut{position:relative;width:150px;height:150px;border-radius:50%;margin:auto;background:#102a3d}.mof-dash-donut:after{content:"";position:absolute;inset:32px;border-radius:50%;background:#081b29;z-index:5}.mof-dash-donut>i{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from calc(var(--dash-o) * 3.6deg),currentColor 0 calc(var(--dash-p)*3.6deg),transparent calc(var(--dash-p)*3.6deg) 360deg);z-index:2}.mof-dash-donut i.new{color:#e0a21f}.mof-dash-donut i.progress{color:#258cf3}.mof-dash-donut i.closed{color:#30c87b}.mof-dash-donut i.other{color:#7b6dce}.mof-dash-donut>div{position:absolute;inset:0;z-index:8;display:grid;place-content:center;text-align:center}.mof-dash-donut>div b{font-size:29px;color:#f3f9fc}.mof-dash-donut>div small{font-size:10px;color:#6f8fa3}
.mof-dash-legend{display:grid;gap:11px}.mof-dash-legend>div{display:grid;grid-template-columns:9px 1fr auto;gap:8px;align-items:center;border-radius:8px;padding:4px 6px;margin:-4px -6px;cursor:pointer;transition:.12s ease}.mof-dash-legend>div:hover{background:#0c273a}.mof-dash-legend i{width:7px;height:7px;border-radius:50%}.mof-dash-legend i.new{background:#e0a21f}.mof-dash-legend i.progress{background:#258cf3}.mof-dash-legend i.closed{background:#30c87b}.mof-dash-legend i.other{background:#7b6dce}.mof-dash-legend span{font-size:11px;color:#8aa5b5}.mof-dash-legend b{font-size:12.5px;color:#edf6fa}
.mof-chart-tip{position:fixed;z-index:9999;transform:translate(-50%,-100%);background:#0d2942;border:1px solid #2b6690;border-radius:9px;padding:8px 11px;box-shadow:0 10px 24px rgba(0,0,0,.35);pointer-events:none;white-space:nowrap;display:grid;gap:2px}
.mof-chart-tip b{color:#f3f9fc;font-size:15.5px}
.mof-chart-tip small{color:#8aa5b5;font-size:12.5px}
.mof-chart-tip:after{content:"";position:absolute;left:50%;bottom:-5px;transform:translateX(-50%);border:5px solid transparent;border-top-color:#0d2942}

.mof-dash-feed{padding:2px 16px 12px}.mof-dash-feed-row{width:100%;min-height:58px;display:grid;grid-template-columns:34px minmax(0,1fr) auto 14px;gap:10px;align-items:center;padding:9px 2px;border:0;border-bottom:1px solid #133348;background:transparent;text-align:left;text-decoration:none;cursor:pointer}.mof-dash-feed-row:last-child{border-bottom:0}.mof-dash-feed-row:hover{background:#0a2130}.mof-dash-feed-row>span:nth-child(2){display:grid;gap:3px;min-width:0}.mof-dash-feed-row b{color:#dceaf2;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mof-dash-feed-row small{color:#66879a;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mof-dash-feed-row time{font-size:11px;color:#86a2b2}.mof-dash-feed-row>i{font-style:normal;font-size:22px;color:#476c83}
.mof-feed-icon{width:31px;height:31px;border-radius:8px;display:grid;place-items:center;background:#102a3d;position:relative}.mof-feed-icon.issue:before{content:"!";font-size:16.5px;font-weight:900;color:#e2aa2b}.mof-feed-icon.event:before{content:"";position:absolute;inset:7px;border:1.7px solid #7e7ee8;border-radius:4px}.mof-feed-icon.event:after{content:"";position:absolute;left:10px;right:10px;top:14px;height:1.7px;background:#7e7ee8;box-shadow:0 5px #7e7ee8}
.mof-dash-empty{padding:28px;text-align:center;color:#638398;font-size:12.5px}

@media(max-width:1180px){.mof-dash-kpis{grid-template-columns:repeat(2,1fr)}.mof-dash-charts{grid-template-columns:1fr}.mof-dash-bottom{grid-template-columns:1fr}}
@media(max-width:680px){.mof-dash-kpis{grid-template-columns:1fr}.mof-dash-donut-layout{grid-template-columns:1fr}.mof-dash-line-wrap{height:230px}.mof-dash-line-svg{height:185px}}


/* ===== Global vertical spacing + schedule repair v29 ===== */
body #app .admin-shell .admin-body{
  align-items:start!important;
}
body #app .admin-shell .admin-content{
  padding-top:16px!important;
  padding-bottom:28px!important;
}
body #app .admin-shell .admin-content>.page-top{
  margin-top:0!important;
  margin-bottom:18px!important;
}
body #app .admin-shell .admin-content>.page-top h1{
  margin-top:4px!important;
  margin-bottom:5px!important;
}
body #app .admin-shell .admin-content>.page-top p{
  margin-top:0!important;
}
body #app .admin-shell .calendar-shell{
  margin-top:0!important;
}
@media(max-width:760px){
 body #app .admin-shell .admin-content{padding-top:12px!important}
}


/* ===== Schedule multi-event v31 ===== */
.calendar-day-events.has-many{
  max-height:122px;
  overflow-y:auto;
  padding-right:3px;
  scrollbar-width:thin;
  scrollbar-color:#285b79 transparent;
}
.calendar-day-events.has-many::-webkit-scrollbar{width:4px}
.calendar-day-events.has-many::-webkit-scrollbar-thumb{background:#285b79;border-radius:99px}
.calendar-day-events .calendar-event{
  flex:0 0 auto;
}


/* ===== Notifications UX v32 ===== */
.mof-notifications-panel{
  border:1px solid #173d56;border-radius:15px;background:#071a28;overflow:hidden;
  box-shadow:0 12px 34px rgba(0,0,0,.12)
}
.mof-notifications-toolbar{
  min-height:62px;padding:13px 18px;display:flex;align-items:center;justify-content:space-between;gap:18px;
  border-bottom:1px solid #14364c;background:#081d2c
}
.mof-notifications-toolbar>div{display:grid;gap:3px}
.mof-notifications-toolbar b{font-size:13.5px;color:#eaf4f9}.mof-notifications-toolbar small{font-size:11px;color:#6e8da0}
.mof-notification-legend{font-size:11px;color:#6e8da0;display:flex;align-items:center;gap:6px}
.mof-notification-legend i{width:7px;height:7px;border-radius:50%;background:#2b9cff;box-shadow:0 0 8px rgba(43,156,255,.55)}
.mof-notifications-list{padding:8px 14px 14px;display:grid}
.mof-notification-card{
  appearance:none;width:100%;display:grid;grid-template-columns:46px minmax(0,1fr) 170px 20px;gap:12px;align-items:center;
  min-height:78px;padding:12px 10px;border:0;border-bottom:1px solid #14354a;background:transparent;text-align:left;cursor:pointer;
  transition:background .14s ease,transform .14s ease
}
.mof-notification-card:last-child{border-bottom:0}
.mof-notification-card:hover{background:#0a2232}
.mof-notification-card.is-unread{background:linear-gradient(90deg,rgba(17,93,148,.13),transparent 55%)}
.mof-notification-card.is-read{opacity:.76}
.mof-notification-icon{
  width:40px;height:40px;border-radius:11px;display:block;position:relative;background:#0c2a40;border:1px solid #184c6d
}
.mof-notification-icon.issue{background:#2b2010;border-color:#5f4617}
.mof-notification-icon.issue:before{content:"!";position:absolute;inset:0;display:grid;place-items:center;color:#f3ba3f;font-size:20px;font-weight:900}
.mof-notification-icon.vehicle:before{content:"";position:absolute;left:8px;top:12px;width:22px;height:11px;border:2px solid #64bcf7;border-radius:4px}
.mof-notification-icon.vehicle:after{content:"";position:absolute;left:11px;bottom:8px;width:5px;height:5px;border-radius:50%;background:#64bcf7;box-shadow:13px 0 #64bcf7}
.mof-notification-icon.schedule:before{content:"";position:absolute;inset:8px;border:2px solid #9988f5;border-radius:5px}
.mof-notification-icon.schedule:after{content:"";position:absolute;left:12px;right:12px;top:18px;height:2px;background:#9988f5}
.mof-notification-icon.message:before{content:"";position:absolute;left:8px;right:8px;top:10px;bottom:11px;border:2px solid #4dd29a;border-radius:5px}
.mof-notification-icon.message:after{content:"";position:absolute;left:13px;bottom:7px;border-top:6px solid #4dd29a;border-right:6px solid transparent}
.mof-notification-icon.account:before{content:"";position:absolute;left:14px;top:8px;width:10px;height:10px;border-radius:50%;background:#ff8d98}
.mof-notification-icon.account:after{content:"";position:absolute;left:10px;bottom:8px;width:18px;height:10px;border-radius:10px 10px 4px 4px;background:#ff8d98}
.mof-notification-icon.info:before{content:"i";position:absolute;inset:0;display:grid;place-items:center;color:#64bcf7;font-size:19px;font-weight:900}
.mof-notification-copy{display:grid;gap:5px;min-width:0}
.mof-notification-title{display:flex;align-items:center;gap:8px;min-width:0}
.mof-notification-title b{font-size:13.5px;color:#edf6fb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mof-notification-copy small{font-size:11px;color:#718fa1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mof-notification-new-dot{width:7px;height:7px;border-radius:50%;background:#2b9cff;box-shadow:0 0 9px rgba(43,156,255,.55);flex:0 0 7px}
.mof-notification-meta{display:grid;gap:5px;text-align:right}
.mof-notification-meta time{font-size:11px;color:#8da5b4}.mof-notification-meta em{font-size:10px;color:#5f7c8e;font-style:normal}
.mof-notification-card.is-unread .mof-notification-meta em{color:#45a9f4;font-weight:900}
.mof-notification-arrow{font-size:26px;color:#52758b;text-align:center}
.mof-notifications-empty{padding:48px;text-align:center;display:grid;gap:5px}.mof-notifications-empty b{color:#e8f2f7}.mof-notifications-empty span{color:#68879a;font-size:11px}
@media(max-width:800px){
 .mof-notification-card{grid-template-columns:40px minmax(0,1fr) 18px}.mof-notification-meta{grid-column:2;text-align:left}.mof-notification-arrow{grid-column:3;grid-row:1/3}.mof-notification-copy small{white-space:normal}
 .mof-notifications-toolbar{align-items:flex-start;flex-direction:column}
}


/* ===== Logs search + clear v33 ===== */
.mof-logs-panel{border:1px solid #173d56;border-radius:15px;background:#071a28;overflow:hidden}
.mof-logs-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:end;padding:14px 16px;border-bottom:1px solid #15384e;background:#081d2c}
.mof-logs-toolbar label{display:grid;gap:5px}.mof-logs-toolbar label>span{font-size:11px;font-weight:900;letter-spacing:.08em;color:#668ca5;text-transform:uppercase}
.mof-logs-toolbar input,.mof-logs-toolbar select{height:40px;border:1px solid #204963;border-radius:9px;background:#061722;color:#dfeef5;padding:0 11px;outline:0;font-size:14.5px}
.mof-logs-toolbar input:focus,.mof-logs-toolbar select:focus{border-color:#2a8fce;box-shadow:0 0 0 2px rgba(42,143,206,.1)}
.mof-logs-toolbar select{min-width:180px}
.mof-logs-toolbar button{height:40px;border:1px solid #1a4767;background:#071a2b;color:#d6e3ed;border-radius:9px;padding:0 14px;font-size:13.5px;white-space:nowrap;cursor:pointer}
.mof-log-search{position:relative;flex:1 1 280px;min-width:220px}.mof-log-search input{padding-left:34px;width:100%;box-sizing:border-box}.mof-log-search-icon{position:absolute!important;left:12px!important;bottom:14px!important;width:11px;height:11px;border:1.5px solid #6d99b4;border-radius:50%}.mof-log-search-icon:after{content:"";position:absolute;width:5px;height:1.5px;background:#6d99b4;right:-4px;bottom:-2px;transform:rotate(45deg);border-radius:2px}
.mof-log-result-count{height:40px;display:flex;align-items:center;padding:0 11px;border-radius:9px;background:#0a2638;border:1px solid #1a425b;color:#7fa0b3;font-size:12.5px;white-space:nowrap}
.mof-logs-head{display:grid;grid-template-columns:minmax(260px,1.4fr) minmax(180px,.8fr) minmax(160px,.7fr) minmax(200px,.8fr);gap:14px;padding:10px 16px;background:#061521;border-bottom:1px solid #15364b;color:#7898b0;font-size:12.5px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.mof-logs-groups{display:grid}
.mof-logs-list{padding:0 16px 12px}.mof-log-row{display:grid;grid-template-columns:minmax(260px,1.4fr) minmax(180px,.8fr) minmax(160px,.7fr) minmax(200px,.8fr);gap:14px;align-items:center;min-height:70px;border-bottom:1px solid #133448;cursor:pointer;transition:.15s ease;border-radius:8px}.mof-log-row:hover{background:#0c273a}.mof-log-row:last-of-type{border-bottom:0}.mof-log-row[hidden]{display:none!important}
.mof-log-row>span{display:grid;gap:3px;min-width:0}.mof-log-row b{font-size:15.5px;color:#e6f1f7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mof-log-row small{font-size:12.5px;color:#7897ab;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mof-log-action{grid-template-columns:11px 1fr!important;align-items:center}.mof-log-action>i{width:7px;height:7px;border-radius:50%;background:#319cf1;box-shadow:0 0 8px rgba(49,156,241,.38)}
.mof-log-user b{color:#a9d7f3}.mof-log-entity b{color:#c6d6e0}.mof-log-time{text-align:right}
.mof-log-delete-one{position:relative;z-index:1}
.mof-logs-empty,.mof-logs-filter-empty{padding:44px;text-align:center;display:grid;gap:5px}.mof-logs-empty b,.mof-logs-filter-empty b{color:#e4eef4;font-size:15.5px}.mof-logs-empty span,.mof-logs-filter-empty span{font-size:12.5px;color:#66879b}
.btn.danger{border-color:#71313c!important;color:#ff929e!important}.btn.danger:hover{background:#32171d!important;border-color:#9b3e4c!important}
@media(max-width:1050px){.mof-logs-head{display:none}.mof-log-row{grid-template-columns:1fr 1fr;padding:12px 0}.mof-log-time{text-align:left}}
@media(max-width:650px){.mof-logs-toolbar{flex-direction:column;align-items:stretch}.mof-log-search{flex:auto}.mof-logs-toolbar select,.mof-logs-toolbar button{width:100%}.mof-log-row{grid-template-columns:1fr}.mof-log-result-count{justify-content:center}}


/* ===== Finance + Excel import/export v36 ===== */
.mof-finance-dashboard{display:grid;gap:16px}
.mof-finance-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.mof-finance-kpis>div{min-height:104px;padding:15px 16px;border:1px solid #173d56;border-radius:13px;background:linear-gradient(145deg,#091e2d,#071722);display:grid;align-content:center;gap:4px}.mof-finance-kpis small{font-size:11px;color:#6d8ea2}.mof-finance-kpis b{font-size:27px;color:#eff8fc}.mof-finance-kpis span{font-size:10px;color:#5e7c90}
.mof-finance-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.65fr);gap:14px}.mof-finance-card{border:1px solid #173d56;border-radius:14px;background:#071a28;overflow:hidden}.mof-finance-head,.mof-finance-row{display:grid;grid-template-columns:120px 150px minmax(250px,1fr) 140px;gap:12px;align-items:center}.mof-finance-head{padding:11px 18px;background:#061521;color:#7fa9c6;font-size:12.5px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.mof-finance-row{min-height:60px;padding:11px 18px;border-bottom:1px solid #133448;font-size:14.5px;color:#a7bfcd;cursor:pointer;transition:.15s ease}.mof-finance-row:hover{background:#0c273a}.mof-finance-row:last-child{border-bottom:0}.mof-finance-row span{display:grid;gap:2px}.mof-finance-row b{color:#eef6fb;font-size:15.5px}.mof-finance-row small{color:#75909f;font-size:12.5px}.mof-accounting-card{padding:22px;display:grid;align-content:start;gap:9px}.mof-accounting-card h3{font-size:22px;color:#f0f7fa;margin:0}.mof-accounting-card p{font-size:12.5px;line-height:1.7;color:#7897a9}.mof-accounting-icon{width:48px;height:48px;border-radius:12px;background:#102b40;border:1px solid #205475;position:relative}.mof-accounting-icon:before{content:"";position:absolute;left:12px;right:12px;top:10px;bottom:10px;border:2px solid #69bff7;border-radius:3px}.mof-accounting-icon:after{content:"";position:absolute;left:17px;right:17px;top:18px;height:2px;background:#69bff7;box-shadow:0 6px #69bff7}.mof-accounting-points{display:grid;gap:7px;margin-top:7px}.mof-accounting-points span{padding:8px 10px;border:1px solid #173d56;border-radius:8px;color:#88a7b9;font-size:11px;background:#081e2d}
.mof-finance-toolbar{display:flex;flex-wrap:wrap;gap:9px;align-items:center;padding:13px 18px;border-bottom:1px solid #133448;background:#081c2b}
.mof-finance-search{height:38px;flex:1 1 220px;min-width:180px;display:grid;grid-template-columns:30px 1fr;align-items:center;border:1px solid #214a66;border-radius:9px;background:#061521;overflow:hidden}
.mof-finance-search>span{display:grid;place-items:center;color:#6ea8d1;font-size:19px}
.mof-finance-search input{height:100%;border:0!important;background:transparent!important;color:#eef7fb!important;padding:0 8px!important;outline:0;font-size:14.5px!important}
.mof-finance-toolbar select,.mof-finance-toolbar input[type=date]{height:38px;border:1px solid #214a66;border-radius:9px;background:#061521;color:#d9eaf5;padding:0 10px;font-size:13.5px}
.mof-finance-toolbar button{height:38px;border:1px solid #1a4767;background:#071a2b;color:#d6e3ed;border-radius:9px;padding:0 14px;font-size:13.5px;white-space:nowrap;cursor:pointer}
.mof-finance-groups{display:grid}
.mof-finance-group{border-bottom:1px solid #133448}.mof-finance-group:last-child{border-bottom:0}
.mof-finance-group-head{width:100%;display:grid;grid-template-columns:16px 1fr auto auto;gap:12px;align-items:center;padding:13px 18px;background:transparent;border:0;color:#d6e6f0;cursor:pointer;text-align:left;transition:.15s ease}
.mof-finance-group-head:hover{background:#0c273a}
.mof-finance-group-head b{font-size:15.5px;color:#f0f7fb}
.mof-finance-group-head small{font-size:12.5px;color:#75909f;justify-self:end}
.mof-finance-group-head strong{font-size:16.5px;color:#7fc4ff;justify-self:end}
.mof-finance-group-arrow{color:#6ea8d1;font-size:13.5px;transition:transform .15s ease}
.mof-finance-group.open .mof-finance-group-arrow{transform:rotate(90deg)}
.mof-finance-group-body{background:#061725}
.finance-detail{display:grid;gap:2px;margin-bottom:14px}
.finance-detail-row{display:flex;justify-content:space-between;gap:14px;padding:10px 4px;border-bottom:1px solid #133448;font-size:14.5px}
.finance-detail-row:last-child{border-bottom:0}
.finance-detail-row span{color:#7897aa}
.finance-detail-row b{color:#eef6fb;text-align:right}
.finance-detail-row.mof-log-detail-tech{font-size:12.5px}
.finance-detail-row.mof-log-detail-tech span{color:#5c7c90}
.finance-detail-row.mof-log-detail-tech b{color:#8fa9ba;font-family:monospace}
.mof-import-box{display:grid;gap:15px}.mof-import-note{padding:12px;border:1px solid #1a4864;border-radius:10px;background:#082131;display:grid;gap:4px}.mof-import-note b{color:#e7f3f9}.mof-import-note span{font-size:11px;color:#7898aa}.mof-import-drop{min-height:150px;border:1px dashed #2a6d94;border-radius:12px;background:#061722;display:grid;place-content:center;text-align:center;gap:6px;cursor:pointer}.mof-import-drop input{position:absolute;opacity:0;pointer-events:none}.mof-import-drop b{color:#62b9f3;font-size:15.5px}.mof-import-drop span{color:#698a9e;font-size:11px}
@media(max-width:1050px){.mof-finance-kpis{grid-template-columns:repeat(2,1fr)}.mof-finance-grid{grid-template-columns:1fr}}@media(max-width:700px){.mof-finance-kpis{grid-template-columns:1fr}.mof-finance-head{display:none}.mof-finance-row{grid-template-columns:1fr 1fr}.mof-finance-group-head{grid-template-columns:14px 1fr;row-gap:4px}.mof-finance-group-head small,.mof-finance-group-head strong{justify-self:start}.mof-finance-toolbar{padding:11px 14px}.mof-finance-toolbar select,.mof-finance-toolbar input[type=date]{flex:1 1 140px}}


/* ============================================================
   MOF SUPERADMIN COMMAND CENTER v37
   ============================================================ */
.super37-shell .admin-nav{width:236px;background:#03101b;border-right:1px solid #132e42;padding:18px 12px}
.super37-shell .admin-nav>b{font-size:13.5px;letter-spacing:.08em;margin:8px 8px 18px;color:#e9f4fa}
.super37-shell .admin-nav a{border-radius:8px;margin:2px 0;padding:10px 11px;font-size:12.5px}
.super37-shell .admin-nav a.active{background:linear-gradient(90deg,#1569c9,#12559f);color:#fff;border:1px solid #227edf;box-shadow:0 7px 18px rgba(16,104,201,.18)}
.super37-shell .admin-content{max-width:none!important;width:100%;padding:18px 22px 30px!important;background:#061724}
.saas37-dashboard{display:grid;gap:12px}.saas37-topline{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:4px}.saas37-topline h1{font-size:26px;color:#f5f9fb;margin:0}.saas37-topline p{font-size:11px;color:#718da0;margin:4px 0}.saas37-top-actions{display:flex;gap:8px}.saas37-top-actions input{width:260px;height:34px;background:#061521;border:1px solid #16394f;border-radius:7px;color:#dcebf3;padding:0 12px;font-size:11px}.saas37-top-actions button{height:34px;border:1px solid #1b4d6c;border-radius:7px;background:#071c2b;color:#d8e9f2;font-size:11px;padding:0 12px;cursor:pointer}
.saas37-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.saas37-kpis.tenant{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:14px}.saas37-kpi{min-height:110px;position:relative;display:grid;align-content:center;gap:3px;padding:14px 16px;border:1px solid #173d56;border-radius:11px;background:linear-gradient(145deg,#0a2030,#071826);text-decoration:none;overflow:hidden}.saas37-kpi:before{content:"";position:absolute;inset:0;opacity:.16;pointer-events:none}.saas37-kpi.blue:before{background:radial-gradient(circle at 90% 15%,#1687ff,transparent 45%)}.saas37-kpi.green:before,.saas37-kpi.emerald:before{background:radial-gradient(circle at 90% 15%,#18bd6d,transparent 45%)}.saas37-kpi.amber:before{background:radial-gradient(circle at 90% 15%,#e79a12,transparent 45%)}.saas37-kpi.violet:before{background:radial-gradient(circle at 90% 15%,#914cff,transparent 45%)}.saas37-kpi.cyan:before{background:radial-gradient(circle at 90% 15%,#00b5d8,transparent 45%)}.saas37-kpi.red:before{background:radial-gradient(circle at 90% 15%,#ff515c,transparent 45%)}.saas37-kpi small{font-size:11px;color:#77a0b7;z-index:1}.saas37-kpi>b{font-size:28px;color:#f5f9fc;line-height:1.1;z-index:1}.saas37-kpi span{font-size:10px;color:#7192a5;z-index:1}.saas37-kpi>i{position:absolute;right:14px;top:14px;width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#103354;color:#55aeff;font-size:22px;font-style:normal}
.saas37-grid{display:grid;gap:10px}.saas37-grid.main{grid-template-columns:1.2fr 1.2fr .9fr 1.05fr}.saas37-grid.lower{grid-template-columns:1fr 1.05fr 1fr .9fr}.saas37-grid.company-detail{grid-template-columns:1fr 1fr}.saas37-card{border:1px solid #17384e;border-radius:10px;background:#071a28;overflow:hidden;min-width:0}.saas37-card.chart{padding-bottom:8px}.saas37-head{min-height:56px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:8px}.saas37-head>div{display:grid;gap:3px}.saas37-head b{font-size:13.5px;color:#edf5f9}.saas37-head small{font-size:10px;color:#67889c}.saas37-head a{font-size:10px;color:#3d9be2;text-decoration:none}.saas37-head strong{font-size:15.5px;color:#45cf7d}
.saas37-line{width:100%;height:170px;padding:0 10px;box-sizing:border-box;color:#2b9bff}.saas37-line.green{color:#32ca76}.saas37-line-grid line{stroke:#16374d;stroke-width:1;stroke-dasharray:2 5}.saas37-line-path{fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 6px rgba(43,155,255,.28))}.saas37-line.green .saas37-line-path{filter:drop-shadow(0 0 6px rgba(50,202,118,.28))}.saas37-line-area{opacity:.9}.saas37-line-endlabel{fill:#eaf4fb;font-size:12px;font-weight:700;font-family:inherit;paint-order:stroke;stroke:#071a28;stroke-width:3px;stroke-linejoin:round}.saas37-labels{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;color:#587990;font-size:10px;text-align:center;padding:0 14px 4px}
.saas37-point{cursor:pointer}.saas37-point-hit{fill:transparent;stroke:none}.saas37-point-dot{fill:#071a28;stroke:currentColor;stroke-width:2;transition:.12s ease}.saas37-point:hover .saas37-point-dot{fill:currentColor}
.saas37-donut-layout{display:grid;grid-template-columns:145px 1fr;gap:10px;align-items:center;padding:10px 12px 18px}.saas37-donut{position:relative;width:126px;height:126px;border-radius:50%;margin:auto;background:#10283a}.saas37-donut i{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from calc(var(--o)*3.6deg),var(--c) 0 calc(var(--p)*3.6deg),transparent calc(var(--p)*3.6deg));}.saas37-donut:after{content:"";position:absolute;inset:27px;border-radius:50%;background:#071a28}.saas37-donut>div{position:absolute;inset:0;z-index:2;display:grid;place-content:center;text-align:center}.saas37-donut>div b{font-size:26px;color:#fff}.saas37-donut>div small{font-size:10px;color:#728ea0}.saas37-legend{display:grid;gap:7px}.saas37-legend>div{display:grid;grid-template-columns:7px 1fr auto;gap:6px;align-items:center;border-radius:7px;padding:4px 5px;cursor:pointer;transition:.12s ease}.saas37-legend>div:hover{background:#0c273a}.saas37-legend>div>i{width:6px;height:6px;border-radius:2px;background:var(--c,#1b99ff)}.saas37-legend b{font-size:11px;color:#dce9ef}
.saas37-pill{display:inline-flex;align-items:center;gap:5px;font-size:10px;border-radius:999px;padding:4px 7px;background:#103049;color:#8dc4e7;white-space:nowrap}.saas37-pill i{width:5px;height:5px;border-radius:50%;background:currentColor}.saas37-pill.red{background:#30171c;color:#f25d67}.saas37-pill.amber{background:#31240d;color:#f5af2c}.saas37-pill.violet{background:#25193c;color:#a47af7}.saas37-pill.green{background:#0d2e21;color:#4bd083}.saas37-pill.gray{background:#1b2932;color:#8195a2}
.saas37-card.tickets{padding-bottom:5px}.saas37-ticket{width:calc(100% - 18px);margin:0 9px 6px;padding:9px;border:1px solid #15384d;border-radius:8px;background:#081e2c;display:grid;grid-template-columns:1fr auto;gap:8px;text-align:left;cursor:pointer}.saas37-ticket span{display:grid;gap:3px}.saas37-ticket b{font-size:11px;color:#e3eef4}.saas37-ticket small,.saas37-ticket time{font-size:10px;color:#678598}.saas37-planbars{padding:8px 14px 18px;display:grid;gap:10px}.saas37-planbars>div{display:grid;grid-template-columns:72px 1fr 24px;gap:8px;align-items:center}.saas37-planbars span{font-size:11px;color:#809bad}.saas37-planbars>div>div{height:6px;background:#102b3c;border-radius:99px;overflow:hidden}.saas37-planbars i{display:block;height:100%;background:linear-gradient(90deg,#1b8fff,#34c97b);border-radius:99px}.saas37-planbars b{font-size:11px;color:#dce8ee;text-align:right}
.saas37-activity{padding:3px 14px 12px}.saas37-activity>div{min-height:44px;border-bottom:1px solid #123246;display:grid;grid-template-columns:8px 1fr auto;gap:8px;align-items:center}.saas37-activity i{width:6px;height:6px;background:#299cff;border-radius:50%}.saas37-activity span{display:grid;gap:2px}.saas37-activity b{font-size:11px;color:#e2edf3}.saas37-activity small,.saas37-activity time{font-size:10px;color:#607f92}
.saas37-simple-list{padding:5px 14px 15px;display:grid}.saas37-simple-list>a,.saas37-simple-list>div,.saas37-simple-list>button{min-height:40px;border:0;border-bottom:1px solid #123246;background:transparent;color:#dbe8ee;display:flex;justify-content:space-between;align-items:center;text-decoration:none;font-size:11px;text-align:left}.saas37-simple-list span{font-size:10px;color:#6f8c9f}.saas37-resource{padding:8px 14px 20px;display:grid;gap:7px}.saas37-resource span{display:flex;justify-content:space-between;color:#90a7b5;font-size:11px}.saas37-resource>div{height:6px;background:#102b3d;border-radius:99px;overflow:hidden}.saas37-resource i{display:block;height:100%;background:#2f9dff}.saas37-resource small{font-size:10px;color:#627f91}
.saas37-companies{padding:0 0 4px;border-radius:10px;overflow:hidden}.saas37-table-tools{display:flex;justify-content:space-between;gap:12px;padding:14px 18px}.saas37-table-tools input,.saas37-ticket-tools input,.saas37-ticket-tools select{height:36px;border:1px solid #173e56;border-radius:8px;background:#061621;color:#dcebf2;padding:0 11px;font-size:11px}.saas37-table-tools input{width:320px}.saas37-table-tools span{font-size:11px;color:#66879a;align-self:center}.saas37-company-head,.saas37-company-row{display:grid;grid-template-columns:1.4fr 1fr .55fr .55fr .8fr 1fr;gap:12px;align-items:center;padding-left:18px;padding-right:18px}.saas37-company-head{min-height:36px;color:#82a0b3;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;background:#0a2236;border-top:1px solid #163b53;border-bottom:1px solid #163b53}.saas37-company-row{min-height:64px;border-bottom:1px solid #102a3c;color:#dce9ef;text-decoration:none;background:transparent;text-align:left;width:100%;border-left:0;border-right:0;border-top:0;transition:background .15s ease}.saas37-company-row:nth-child(even){background:rgba(255,255,255,.015)}.saas37-company-row:last-child{border-bottom:0}.saas37-company-row:hover{background:#0d2c41}.saas37-company-row>span{display:grid;gap:2px;font-size:11px}.saas37-company-row b{font-size:12.5px;color:#e8f2f7}.saas37-company-row small{font-size:10px;color:#68889b}.saas37-company-row[hidden]{display:none!important}
.saas37-facts{display:grid;grid-template-columns:1fr 1fr;padding:0 14px 16px;gap:8px}.saas37-facts>div{padding:9px;border:1px solid #15384d;border-radius:7px;background:#081e2c;display:grid;gap:3px}.saas37-facts span{font-size:10px;color:#65859a}.saas37-facts b{font-size:12.5px;color:#e7f1f6}.saas37-mini-table{padding:0 14px 14px}.saas37-mini-table>div{display:grid;grid-template-columns:1.5fr .6fr .6fr;gap:8px;align-items:center;border-bottom:1px solid #123246;padding:8px 0}.saas37-mini-table span{display:grid;font-size:11px;color:#8099a8}.saas37-mini-table small{font-size:10px;color:#607e91}.saas37-tenant-loading{padding:35px;text-align:center;color:#6f8e9f}
.support-preview-banner{margin:12px 0;padding:12px 16px;border:1px solid #2f9dff44;border-radius:10px;background:#0b2740;color:#cfe6f5;font-size:12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.support-preview-banner b{color:#fff}
.support-preview.saas37-grid.company-detail .saas37-mini-table>div{grid-template-columns:1.6fr .8fr .6fr 1fr}
.mail-log-list{padding:6px 14px 14px}
.mail-log-row{display:grid;grid-template-columns:1fr auto auto auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #123246}
.mail-log-row:last-child{border-bottom:0}
.mail-log-row.bad .mail-log-main>b{color:#ff9d9d}
.mail-log-main{display:grid;gap:2px}
.mail-log-main small{font-size:10px;color:#7c98a8}
.mail-log-error{color:#ff8a8a!important}.email-template-list{padding:6px 14px 14px}.email-template-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #123246}.email-template-row:last-child{border-bottom:0}.email-template-row>div{display:grid;gap:2px}.email-template-row>div>small{font-size:11px;color:#7192a5}.email-template-badge{font-size:10.5px;font-weight:800;padding:4px 10px;border-radius:999px;background:#0d2c41;color:#7192a5;white-space:nowrap}.email-template-badge.is-custom{background:rgba(24,166,107,.15);color:#4fd39a}
.mail-log-row time{font-size:10px;color:#5f7d90;white-space:nowrap}
@media(max-width:900px){.mail-log-row{grid-template-columns:1fr;gap:4px}.support-preview.saas37-grid.company-detail .saas37-mini-table>div{grid-template-columns:1fr}}
.saas37-plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.saas37-plan-card{border:1px solid #173e55;border-radius:13px;background:#071a28;padding:18px;display:grid;gap:14px}.saas37-plan-card.trial{border-color:#7b5b22;background:linear-gradient(145deg,#1a160d,#071a28)}.saas37-plan-card>div:first-child>span{font-size:10px;color:#4da9ec}.saas37-plan-card h3{font-size:22px;color:#f1f7fa;margin:5px 0}.saas37-plan-card p{font-size:11px;color:#6f8e9f;min-height:28px}.saas37-price b{font-size:28px;color:#fff}.saas37-price small{font-size:10px;color:#6d899a}.saas37-plan-limits{display:flex;flex-wrap:wrap;gap:8px;min-width:0}.saas37-plan-limits span{flex:1 1 0;min-width:0;padding:8px;background:#081f2d;border:1px solid #153b52;border-radius:7px;font-size:10px;color:#708fa2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.saas37-plan-limits b{float:right;color:#dce9f0}.saas37-features{display:grid;gap:5px}.saas37-features span{font-size:10px;color:#718c9c}.saas37-features .yes{color:#79cfa0}.saas37-features .no{color:#596c79;text-decoration:line-through}.saas37-feature-checks{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:10px;border:1px solid #173e55;border-radius:8px;background:#061722}.saas37-feature-checks label{display:flex;gap:7px;align-items:center;font-size:11px;color:#8aa5b5}
.saas37-subs{padding:10px 16px;margin-bottom:12px}.saas37-payment-list{padding:0 14px 14px}.saas37-payment-list>div{min-height:47px;display:grid;grid-template-columns:1fr 130px 120px;gap:10px;align-items:center;border-bottom:1px solid #133348}.saas37-payment-list span{display:grid;font-size:11px}.saas37-payment-list small{font-size:10px;color:#668497}
.saas37-ticket-tools{display:flex;gap:8px;padding:12px}.saas37-ticket-head,.saas37-ticket-row{display:grid;grid-template-columns:2fr 1fr .65fr .8fr 1fr;gap:10px;align-items:center}.saas37-ticket-head{padding:7px 12px;font-size:10px;color:#4f748c;text-transform:uppercase;border-top:1px solid #14364b;border-bottom:1px solid #14364b}.saas37-ticket-row{width:100%;min-height:62px;padding:8px 12px;border:0;border-bottom:1px solid #14364b;background:transparent;color:#dfeaf0;text-align:left;cursor:pointer}.saas37-ticket-row:hover{background:#092131}.saas37-ticket-row span{display:grid;gap:3px;font-size:11px}.saas37-ticket-row small{font-size:10px;color:#66879a}.saas37-ticket-row[hidden]{display:none!important}.saas37-ticket-detail{display:grid;gap:12px}.saas37-ticket-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.saas37-ticket-chat{max-height:420px;overflow:auto;display:grid;gap:8px;padding:10px;background:#061722;border:1px solid #173d56;border-radius:9px}.saas37-ticket-chat>div{max-width:82%;padding:9px 11px;border-radius:9px;background:#0b2738}.saas37-ticket-chat .customer{margin-left:auto;background:#0d3657}.saas37-ticket-chat small{font-size:10px;color:#6c8d9f}.saas37-ticket-chat p{margin:4px 0 0;font-size:12.5px;color:#e3eef3;white-space:pre-wrap}.saas37-ticket-status{display:flex;gap:5px;flex-wrap:wrap}.saas37-ticket-status button{border:1px solid #173e55;background:#071a28;color:#7593a5;border-radius:7px;padding:6px 8px;font-size:10px}.saas37-ticket-status button.active{background:#14528a;color:#fff}.support-reply-form{display:grid;gap:8px}.support-reply-form textarea{background:#061722;border:1px solid #173e55;border-radius:8px;color:#dceaf2;padding:9px}
.saas37-health-summary{display:flex;gap:8px;margin-bottom:12px}.saas37-health-summary span{font-size:11px;font-weight:700;padding:5px 11px;border-radius:999px;background:#0d2e21;color:#4bd083}.saas37-health-summary span.warning{background:#31240d;color:#f5af2c}.saas37-health-summary span.error{background:#30171c;color:#f25d67}
.saas37-health-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px;align-items:start}.saas37-health{border:1px solid #173d55;border-radius:10px;background:#071a28;overflow:hidden}.saas37-health>summary{min-height:85px;padding:13px;display:grid;grid-template-columns:11px 1fr auto auto;gap:10px;align-items:center;cursor:pointer;list-style:none}.saas37-health>summary::-webkit-details-marker{display:none}.saas37-health>summary>i:first-child{width:9px;height:9px;border-radius:50%;background:#3fca7a;box-shadow:0 0 10px rgba(63,202,122,.5)}.saas37-health.warning>summary>i:first-child{background:#efae2e;box-shadow:0 0 10px rgba(239,174,46,.4)}.saas37-health.error>summary>i:first-child{background:#f45f66;box-shadow:0 0 10px rgba(244,95,102,.4)}.saas37-health summary div{display:grid;gap:3px;min-width:0}.saas37-health b{font-size:12.5px;color:#e8f2f7}.saas37-health small{font-size:10px;color:#68889a}.saas37-health>summary>span{font-size:10px;color:#65cc8f;white-space:nowrap}.saas37-health.warning>summary>span{color:#eeb248}.saas37-health.error>summary>span{color:#f25d67}.saas37-health .accordion-caret{flex-shrink:0;color:#5f8199;font-size:16px;line-height:1;transition:transform .15s ease}.saas37-health[open] .accordion-caret{transform:rotate(180deg)}.saas37-health-detail{margin:0 13px 13px;padding:11px 0 0;border-top:1px solid #123045;font-size:11px;line-height:1.6;color:#8daebe;white-space:pre-line}.saas37-health-note{padding:18px;color:#7592a3;font-size:11px;line-height:1.6}
.saas37-changelog{display:grid;gap:10px}.saas37-changelog article{border:1px solid #173d55;border-radius:11px;background:#071a28;padding:17px}.saas37-changelog article>div{display:flex;justify-content:space-between}.saas37-changelog span{font-size:10px;color:#3e9fea}.saas37-changelog time{font-size:10px;color:#68879a}.saas37-changelog h3{font-size:19px;color:#f0f6fa;margin:8px 0}.saas37-changelog p{font-size:11px;line-height:1.7;color:#7d9aaa;white-space:pre-wrap}.saas37-survey-list{display:grid;gap:12px}.saas37-survey-list article{padding:17px}.saas-survey-response{display:grid;gap:10px}.saas-survey-response label{display:grid;gap:5px;font-size:13.5px;color:#8ba6b6}.saas-survey-response textarea,.saas-survey-response select{background:#061722;border:1px solid #173e55;border-radius:7px;color:#dcebf2;padding:8px}.saas37-company-head.survey,.saas37-company-row.survey{grid-template-columns:1.6fr .7fr .7fr .7fr 210px}
@media(max-width:1350px){.saas37-kpis{grid-template-columns:repeat(3,1fr)}.saas37-grid.main,.saas37-grid.lower{grid-template-columns:1fr 1fr}}@media(max-width:900px){.saas37-kpis,.saas37-kpis.tenant{grid-template-columns:1fr 1fr}.saas37-grid.main,.saas37-grid.lower,.saas37-grid.company-detail{grid-template-columns:1fr}.saas37-health-grid{grid-template-columns:1fr 1fr}.saas37-company-head{display:none}.saas37-company-row{grid-template-columns:1fr 1fr;padding:10px}.saas37-ticket-head{display:none}.saas37-ticket-row{grid-template-columns:1fr 1fr}}@media(max-width:600px){.saas37-kpis,.saas37-kpis.tenant{grid-template-columns:1fr}.saas37-health-grid{grid-template-columns:1fr}.saas37-topline{align-items:flex-start;flex-direction:column}.saas37-top-actions{width:100%}.saas37-top-actions input{width:100%}}


/* ===== SUPERADMIN FIXES v38 — PLAN MODULES ===== */
.modal .saas37-feature-section{
  display:grid!important;
  gap:10px!important;
  margin:4px 0 2px!important;
  padding:0!important;
}
.modal .saas37-feature-title{
  display:grid!important;
  gap:3px!important;
  padding:0!important;
  min-height:0!important;
}
.modal .saas37-feature-title b{
  font-size:12.5px!important;
  color:#e8f3f8!important;
}
.modal .saas37-feature-title small{
  font-size:10px!important;
  color:#66879a!important;
  line-height:1.45!important;
}
.mof-module-hint{display:block;font-size:10.5px;color:#e2a06b;line-height:1.5;margin:-6px 0 2px 25px}
.checkline{display:flex!important;grid-template-columns:none!important;align-items:flex-start!important;gap:9px;font-weight:500!important;cursor:pointer;line-height:1.45;text-align:left!important}
.checkline input[type=checkbox]{width:auto!important;flex-shrink:0;margin-top:3px}
.modal .saas37-feature-checks{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px!important;
  padding:10px!important;
  margin:0!important;
  border:1px solid #173e55!important;
  border-radius:10px!important;
  background:#061722!important;
  align-items:stretch!important;
}
.modal .saas37-feature-checks label.saas37-feature-item{
  display:block!important;
  position:relative!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  cursor:pointer!important;
}
.modal .saas37-feature-item>input{
  position:absolute!important;
  opacity:0!important;
  width:1px!important;
  height:1px!important;
  pointer-events:none!important;
}
.modal .saas37-feature-box{
  display:grid!important;
  grid-template-columns:18px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:8px!important;
  row-gap:2px!important;
  align-items:center!important;
  min-height:48px!important;
  padding:8px 10px!important;
  border:1px solid #17384e!important;
  border-radius:8px!important;
  background:#081d2b!important;
  transition:.15s ease!important;
}
.modal .saas37-feature-box>i{
  grid-row:1/3!important;
  width:16px!important;
  height:16px!important;
  border:1px solid #37627c!important;
  border-radius:5px!important;
  background:#06141e!important;
  position:relative!important;
}
.modal .saas37-feature-box>b{
  font-size:11px!important;
  color:#cfe0e9!important;
  line-height:1.2!important;
  font-weight:800!important;
}
.modal .saas37-feature-box>small{
  font-size:10px!important;
  color:#58788d!important;
  line-height:1!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
.modal .saas37-feature-item>input:checked+.saas37-feature-box{
  border-color:#237fbd!important;
  background:#09273a!important;
  box-shadow:inset 0 0 0 1px rgba(36,148,220,.12)!important;
}
.modal .saas37-feature-item>input:checked+.saas37-feature-box>i{
  background:#1587d5!important;
  border-color:#35a6ee!important;
}
.modal .saas37-feature-item>input:checked+.saas37-feature-box>i:after{
  content:""!important;
  position:absolute!important;
  width:7px!important;
  height:4px!important;
  left:3px!important;
  top:4px!important;
  border-left:2px solid white!important;
  border-bottom:2px solid white!important;
  transform:rotate(-45deg)!important;
}
.modal .saas37-feature-item>input:disabled+.saas37-feature-box{
  opacity:.78!important;
  cursor:not-allowed!important;
}
.modal .saas37-feature-checks::-webkit-scrollbar{width:5px!important}
.modal .saas37-feature-checks::-webkit-scrollbar-thumb{background:#24516d!important;border-radius:99px!important}

@media(max-width:650px){
  .modal .saas37-feature-checks{grid-template-columns:1fr!important}
}


/* ===== SURVEY BUILDER v39 ===== */
.mof-survey-builder{display:grid;gap:14px}
.mof-survey-builder-basic{display:grid;gap:10px}
.mof-survey-builder-basic label>span,.mof-survey-comment>span{font-weight:500;color:#607f92}
.mof-survey-builder-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:3px}
.mof-survey-builder-section-head>div{display:grid;gap:3px}
.mof-survey-builder-section-head b{font-size:15.5px;color:#edf6fa}
.mof-survey-builder-section-head small{font-size:12.5px;color:#66889c;line-height:1.5}
.mof-survey-add{height:36px;display:inline-flex;align-items:center;gap:6px;border:1px solid #1f6da0;border-radius:8px;background:#0b3150;color:#d9effd;padding:0 12px;font-size:13.5px;font-weight:800;cursor:pointer;white-space:nowrap}
.mof-survey-add:hover{background:#104267;border-color:#2a8dcc}
.mof-survey-add span{font-size:19px;color:#52b8ff;line-height:1}
.mof-survey-question-list{display:grid;gap:9px}
.mof-survey-builder-card{border:1px solid #173e55;border-radius:10px;background:#071a28;padding:11px;display:grid;gap:10px;box-shadow:0 7px 20px rgba(0,0,0,.08)}
.mof-survey-builder-card.automatic{border-color:#245c80;background:linear-gradient(135deg,#082338,#071a28)}
.mof-survey-builder-head{display:grid;grid-template-columns:36px minmax(0,1fr) 30px;gap:9px;align-items:center}
.mof-survey-builder-card.automatic .mof-survey-builder-head{grid-template-columns:44px minmax(0,1fr)}
.mof-survey-question-number{height:28px;min-width:32px;padding:0 6px;border-radius:7px;background:#0b3350;color:#54b8f8;border:1px solid #1f5b80;display:grid;place-items:center;font-size:10px;font-weight:900;letter-spacing:.05em}
.mof-survey-builder-head>div{display:grid;gap:2px}
.mof-survey-builder-head b{font-size:14.5px;color:#e5f0f5}
.mof-survey-builder-head small{font-size:12.5px;color:#66889c}
.mof-survey-remove{width:28px;height:28px;border-radius:7px;border:1px solid #57303a;background:#26141a;color:#f27d88;font-size:20px;cursor:pointer}
.mof-survey-remove:hover{background:#3a1c24;border-color:#81414d}
.mof-survey-builder-card>label{display:grid;gap:5px;font-size:12.5px;color:#7798aa}
.mof-survey-builder-card>label input{height:40px;border:1px solid #1b4862;border-radius:8px;background:#061722;color:#e3eef4;padding:0 12px;font-size:14.5px;outline:none}
.mof-survey-builder-card>label input:focus{border-color:#2a8dcc;box-shadow:0 0 0 2px rgba(42,141,204,.1)}
.mof-survey-builder-card>label input[readonly]{color:#9fcce7;background:#092234}
.mof-survey-builder-options{display:flex;align-items:center;justify-content:space-between;gap:10px}
.mof-survey-required-toggle{position:relative;display:block!important;cursor:pointer!important}
.mof-survey-required-toggle>input{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important}
.mof-survey-required-toggle>span{display:grid;grid-template-columns:30px 1fr;grid-template-rows:auto auto;column-gap:8px;align-items:center}
.mof-survey-required-toggle i{grid-row:1/3;width:30px;height:17px;border-radius:99px;background:#172e3d;border:1px solid #315268;position:relative;transition:.15s}
.mof-survey-required-toggle i:after{content:"";position:absolute;width:11px;height:11px;left:2px;top:2px;border-radius:50%;background:#7895a7;transition:.15s}
.mof-survey-required-toggle b{font-size:13.5px;color:#cbdce5}
.mof-survey-required-toggle small{font-size:11px;color:#66869a}
.mof-survey-required-toggle>input:checked+span i{background:#0d5d91;border-color:#248ed0}
.mof-survey-required-toggle>input:checked+span i:after{left:15px;background:#e5f7ff}
.mof-survey-required-toggle>input:disabled+span{opacity:.78;cursor:not-allowed}
.mof-survey-type{padding:6px 9px;border-radius:999px;border:1px solid #173e55;background:#081f2e;color:#7295a9;font-size:12.5px;white-space:nowrap}
.mof-survey-type-select{padding:6px 9px;border-radius:999px;border:1px solid #173e55;background:#081f2e;color:#bcd7e6;font-size:12.5px;white-space:nowrap;outline:none;cursor:pointer}

/* Survey visible to company owner */
.mof-survey-client-card{padding:0!important;overflow:hidden}
.mof-survey-client-title{padding:18px 18px 14px;border-bottom:1px solid #15374d;background:linear-gradient(135deg,#0a2334,#071a28)}
.mof-survey-client-title>span{font-size:11px;color:#3da6ed;font-weight:900;letter-spacing:.12em}
.mof-survey-client-title h3{font-size:22px;color:#f1f7fa;margin:5px 0}
.mof-survey-client-title p{font-size:13.5px;color:#7695a7;margin:0;line-height:1.6}
.saas-survey-response{padding:15px 18px 18px!important;display:grid;gap:11px!important}
.mof-survey-answer-card{padding:13px;border:1px solid #173e55;border-radius:10px;background:#081d2b;display:grid;gap:10px}
.mof-survey-answer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.mof-survey-answer-head>span:first-child{display:grid;gap:3px}
.mof-survey-answer-head b{font-size:14.5px;color:#e7f1f6}
.mof-survey-answer-head small{font-size:11px;color:#68889a}
.mof-survey-required-badge,.mof-survey-optional-badge{font-size:11px;border-radius:999px;padding:5px 8px;white-space:nowrap}
.mof-survey-required-badge{background:#31200e;color:#f0ab36;border:1px solid #5f431b}
.mof-survey-optional-badge{background:#102735;color:#708fa1;border:1px solid #1b435b}
.mof-survey-answer-card textarea,.mof-survey-comment textarea{width:100%;box-sizing:border-box;background:#061722;border:1px solid #1b4862;border-radius:8px;color:#e0edf3;padding:10px;font-size:14.5px;resize:vertical;outline:0}
.mof-survey-answer-card textarea:focus,.mof-survey-comment textarea:focus{border-color:#2a8dcc}
.mof-survey-rating{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}
.mof-survey-rating label{position:relative}
.mof-survey-rating input{position:absolute;opacity:0}
.mof-survey-rating span{height:42px;border:1px solid #1a435d;border-radius:8px;background:#061722;display:grid;place-items:center;color:#82a3b6;font-size:15.5px;font-weight:900;cursor:pointer;transition:.14s}
.mof-survey-rating input:checked+span{background:#0e5e94;border-color:#2a9ae0;color:#fff;box-shadow:0 0 0 2px rgba(42,154,224,.12)}
.mof-survey-rating span:hover{border-color:#2b719c;background:#09283a}
.mof-survey-rating-labels{display:flex;justify-content:space-between;color:#5d7d90;font-size:11px}
.mof-survey-comment{display:grid;gap:5px;font-size:13.5px;color:#87a4b5}

@media(max-width:650px){
 .mof-survey-builder-section-head{align-items:flex-start;flex-direction:column}
 .mof-survey-add{width:100%;justify-content:center}
 .mof-survey-builder-options{align-items:flex-start;flex-direction:column}
 .mof-survey-rating{gap:4px}
}


/* ===== SURVEY NOTIFICATIONS + RESULTS v40 ===== */
.mof-survey-results-count{
  border:1px solid #1c4963;background:#081e2c;color:#7e9bad;border-radius:7px;
  padding:6px 8px;font-size:10px;cursor:pointer;white-space:nowrap
}
.mof-survey-results-count.has-results{
  border-color:#246f9f;background:#0b2a40;color:#70c1f4;font-weight:800
}
.mof-survey-row-actions{display:flex!important;flex-direction:row!important;gap:6px!important;align-items:center!important;justify-content:flex-end!important;flex-wrap:nowrap!important}
.mof-survey-row-actions .btn.compact{padding:6px 10px;font-size:10.5px;white-space:nowrap}
.mof-survey-results{display:grid;gap:13px}
.mof-survey-results-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.mof-survey-results-summary>div{
  min-height:86px;padding:12px;border:1px solid #173e55;border-radius:9px;
  background:linear-gradient(145deg,#092031,#071722);display:grid;align-content:center;gap:3px
}
.mof-survey-results-summary small{font-size:12.5px;color:#6d8da0}
.mof-survey-results-summary b{font-size:26px;color:#edf7fb}
.mof-survey-results-summary span{font-size:11px;color:#5e7d90}
.mof-survey-results-list{max-height:58vh;overflow-y:auto;display:grid;gap:10px;padding-right:3px}
.mof-survey-response-card{border:1px solid #173e55;border-radius:10px;background:#071a28;overflow:hidden}
.mof-survey-response-person{
  min-height:58px;padding:10px 12px;display:grid;grid-template-columns:36px 1fr auto;gap:9px;align-items:center;
  border-bottom:1px solid #14364b;background:#081f2e
}
.mof-survey-response-avatar{
  width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#0d3a5b;
  border:1px solid #23658e;color:#7ac8f8;font-size:12.5px;font-weight:900
}
.mof-survey-response-person>div{display:grid;gap:2px}
.mof-survey-response-person b{font-size:14.5px;color:#e6f1f6}
.mof-survey-response-person small,.mof-survey-response-person time{font-size:11px;color:#67879a}
.mof-survey-response-answers{padding:10px 12px;display:grid;gap:8px}
.mof-survey-result-question{
  padding:10px;border:1px solid #14384e;border-radius:8px;background:#081d2b;display:grid;gap:8px
}
.mof-survey-result-question>div:first-child{display:grid;grid-template-columns:28px 1fr;gap:7px;align-items:center}
.mof-survey-result-question>div:first-child span{
  height:23px;border-radius:6px;background:#0a3350;color:#55b4ef;display:grid;place-items:center;font-size:10px;font-weight:900
}
.mof-survey-result-question>div:first-child b{font-size:13.5px;color:#dce9ef}
.mof-survey-result-text{font-size:13.5px;line-height:1.6;color:#91a9b7;margin:0;white-space:pre-wrap}
.mof-survey-result-text em{color:#58788b}
.mof-survey-result-rating{display:grid;grid-template-columns:repeat(5,32px);gap:5px}
.mof-survey-result-rating span{
  height:29px;border-radius:7px;border:1px solid #183f57;background:#061722;color:#63869b;
  display:grid;place-items:center;font-size:11px;font-weight:900
}
.mof-survey-result-rating span.active{background:#0e6097;border-color:#299be0;color:#fff;box-shadow:0 0 0 2px rgba(41,155,224,.1)}
.mof-survey-result-comment{padding:10px;border-left:2px solid #2c96d5;background:#082131;border-radius:0 7px 7px 0}
.mof-survey-result-comment b{font-size:12.5px;color:#6dbcf0}
.mof-survey-result-comment p{font-size:13.5px;color:#a3b7c2;line-height:1.55;margin:5px 0 0;white-space:pre-wrap}
.mof-survey-no-results{padding:42px;text-align:center;display:grid;gap:5px}
.mof-survey-no-results b{color:#e4eef4;font-size:14.5px}.mof-survey-no-results span{font-size:12.5px;color:#66879a}

@media(max-width:700px){
 .mof-survey-results-summary{grid-template-columns:1fr}
 .mof-survey-response-person{grid-template-columns:34px 1fr}
 .mof-survey-response-person time{grid-column:2}
}


/* ===== DYNAMIC PUBLIC SAAS PRICING v41 ===== */
.saas-public-pricing .container{max-width:1240px}
.saas-billing-switch{
  width:max-content;margin:0 auto 24px;padding:4px;border:1px solid #dbe4ec;border-radius:999px;
  background:#fff;display:flex;gap:3px;box-shadow:0 8px 28px rgba(20,48,70,.07)
}
.saas-billing-switch button{
  border:0;background:transparent;border-radius:999px;padding:10px 17px;color:#647888;
  font-size:15.5px;font-weight:800;cursor:pointer
}
.saas-billing-switch button.active{background:#0b76df;color:#fff;box-shadow:0 5px 14px rgba(11,118,223,.22)}
.saas-billing-switch button span{
  margin-left:5px;padding:2px 5px;border-radius:999px;background:#e8f7ee;color:#278453;font-size:12.5px
}
.saas-billing-switch button.active span{background:rgba(255,255,255,.18);color:#dffff0}
.saas-pricing-grid{
  grid-template-columns:repeat(auto-fit,minmax(245px,1fr))!important;
  align-items:stretch!important
}
.saas-public-plan{display:flex!important;flex-direction:column!important;min-height:560px!important}
.saas-public-plan .plan-features{flex:1}
.saas-price em{display:block;margin-top:6px;color:#2d8b59;font-size:13.5px;font-style:normal;font-weight:700}
.saas-public-limits{
  display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 16px
}
.saas-public-limits>span{
  padding:9px 10px;border:1px solid #1e3548;border-radius:9px;background:#0c2131;display:grid;gap:3px
}
.saas-public-limits small{font-size:12.5px;color:#7291a5}
.saas-public-limits b{font-size:15.5px;color:#e7f1f7}
.fleet .saas-public-limits>span{background:#0a2947;border-color:#204a75}
.fleet .saas-public-limits small{color:#7fa5c9}
.fleet .saas-public-limits b{color:#f1f8ff}
.saas-pricing-trial{
  margin-top:24px;padding:22px 25px;border:1px solid #c8ddf1;border-radius:15px;
  background:linear-gradient(135deg,#eef8ff,#f9fcff);display:flex;align-items:center;justify-content:space-between;gap:20px
}
.saas-pricing-trial>div{max-width:720px}
.saas-pricing-trial h3{margin:4px 0 6px;font-size:26px;color:#132b3c}
.saas-pricing-trial p{margin:0;color:#61788a;font-size:15.5px;line-height:1.55}
@media(max-width:700px){
 .saas-billing-switch{width:100%;box-sizing:border-box}.saas-billing-switch button{flex:1;padding:9px 8px}
 .saas-pricing-trial{align-items:flex-start;flex-direction:column}
}

/* ===== PUBLIC PRICING — softer trial panel v42 ===== */
.saas-pricing-trial{
  border:1px solid #244b68!important;
  background:linear-gradient(135deg,#0b2638,#0d3047)!important;
  box-shadow:0 10px 28px rgba(0,0,0,.12)!important;
}
.saas-pricing-trial .eyebrow{color:#49a7ff!important}
.saas-pricing-trial h3{color:#f4f8fb!important}
.saas-pricing-trial p{color:#9fb4c3!important}
.saas-pricing-trial .btn.primary{box-shadow:0 7px 18px rgba(0,111,238,.2)!important}


/* ===== BILLING + TIMED DISCOUNTS v44 ===== */
.mof-plan-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;min-width:0}
.mof-plan-actions .btn{min-width:0;white-space:normal;line-height:1.25;text-align:center}
.mof-admin-discount{display:grid;grid-template-columns:1fr auto;gap:3px 8px;padding:9px 10px;border-radius:8px;border:1px solid #3a5520;background:#13230d}
.mof-admin-discount b{font-size:11px;color:#c8ef91}.mof-admin-discount span{grid-column:1;font-size:9.5px;color:#8fac70}
.mof-admin-discount button{grid-column:2;grid-row:1/3;border:1px solid #75414a;background:#2e171c;color:#f08a94;border-radius:6px;font-size:10px;padding:0 7px;cursor:pointer}
.mof-admin-discount.upcoming{border-color:#624b1c;background:#211b0c}.mof-admin-discount.upcoming b{color:#f1c45e}.mof-admin-discount.upcoming span{color:#a98e53}
.saas37-price del{display:block;color:#728998;font-size:13.5px;margin-bottom:2px}
.mof-discount-preview{padding:10px;border:1px solid #173e55;border-radius:8px;background:#071b29;display:grid;grid-template-columns:1fr auto;gap:3px}.mof-discount-preview span,.mof-discount-preview small{font-size:10px;color:#6f8ea0}.mof-discount-preview b{font-size:18px;color:#e9f3f8}
.mof-public-promo-slot{min-height:44px;display:flex;align-items:center;justify-content:center}
.mof-public-promo{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin:0;padding:6px 12px;border:1px solid #4a3410;border-radius:999px;background:#241a06}.mof-public-promo span{padding:2px 0;border-radius:0;background:transparent;color:#ffbd48;font-size:13.5px!important;font-weight:900}.mof-public-promo small{font-size:11px!important;color:#c99a4c!important;padding-left:8px;border-left:1px solid #4a3410}
.saas-price-line{display:flex;align-items:baseline;justify-content:center;gap:10px;flex-wrap:wrap}
.saas-price del{display:inline;color:#738896;font-size:18px;margin:0;text-decoration-thickness:1px}
.mof-billing-invoices{margin:12px 0}.mof-invoice-head,.mof-invoice-row{display:grid;grid-template-columns:130px 1fr 1.2fr 130px 110px 100px;gap:10px;align-items:center}.mof-invoice-head{padding:8px 14px;border-top:1px solid #14364b;border-bottom:1px solid #14364b;color:#55798f;font-size:10px;text-transform:uppercase}.mof-invoice-row{min-height:57px;padding:8px 14px;border-bottom:1px solid #14364b;color:#8ba4b3;font-size:11px}.mof-invoice-row span{display:grid;gap:2px}.mof-invoice-row b{color:#e2edf3;font-size:11px}.mof-invoice-row small{font-size:10px;color:#658397}
.mof-client-billing{border:1px solid #1c4e6b;border-radius:14px;background:linear-gradient(135deg,#082131,#071a28);overflow:hidden}.mof-client-billing.has-due{border-color:#73551b;background:linear-gradient(135deg,#201807,#071a28)}.mof-client-billing-top{padding:17px 18px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid rgba(99,142,169,.2)}.mof-client-billing-top h3{margin:4px 0;font-size:22px;color:#edf6fa}.mof-client-billing-top p{margin:0;font-size:14.5px;color:#8daebe}.mof-client-billing-total{text-align:right;display:grid;gap:3px}.mof-client-billing-total small{font-size:13.5px;color:#96b1c1}.mof-client-billing-total b{font-size:29px;color:#fff}.mof-client-billing.has-due .mof-client-billing-total b{color:#ffc253}.mof-client-invoices{padding:5px 16px 13px}.mof-client-invoices>div:not(.empty-state){min-height:58px;display:grid;grid-template-columns:1.4fr .7fr 110px;gap:12px;align-items:center;border-bottom:1px solid #14364a}.mof-client-invoices span{display:grid;gap:3px;font-size:14.5px}.mof-client-invoices b{font-size:15.5px;color:#e9f2f7}.mof-client-invoices small{font-size:12.5px;color:#7d9aab}.mof-client-invoices .saas37-pill{font-size:13.5px;padding:5px 9px;gap:6px}.mof-client-invoices .saas37-pill i{width:6px;height:6px}.mof-invoice-history-toggle{width:100%;margin:6px 0 2px;padding:10px;border:1px dashed #245b7d;border-radius:9px;background:#081f2f;color:#7fb4d6;font-size:13.5px;font-weight:700;cursor:pointer;text-align:center}.mof-invoice-history-toggle:hover{background:#0c283b;border-color:#2f7aa6}.mof-billing-only-note{padding:17px;display:grid;gap:5px}.mof-billing-only-note b{color:#dbe8ee}.mof-billing-only-note span{font-size:11px;color:#6f8e9f}
@media(max-width:900px){.mof-invoice-head{display:none}.mof-invoice-row{grid-template-columns:1fr 1fr}.mof-client-billing-top{align-items:flex-start;flex-direction:column}.mof-client-billing-total{text-align:left}.mof-client-invoices>div:not(.empty-state){grid-template-columns:1fr 1fr}.mof-plan-actions{grid-template-columns:1fr}}


/* ===== TICKETS v45 ===== */
.mof-ticket-view-switch{display:flex;gap:4px;margin-left:auto;padding:3px;border:1px solid #173e55;border-radius:8px;background:#061722}
.mof-ticket-view-switch button{border:0;border-radius:6px;background:transparent;color:#65879a;padding:7px 10px;font-size:10px;cursor:pointer}
.mof-ticket-view-switch button.active{background:#0e4f7e;color:#e8f6ff}
.saas37-ticket-row.is-archived{opacity:.72}
.mof-ticket-archive-badge{padding:4px 7px;border-radius:999px;background:#192731;border:1px solid #365060;color:#89a0ad;font-size:10px;font-weight:900}
.mof-ticket-attachments{display:grid;gap:5px;margin-top:7px}
.mof-ticket-attachment{min-width:250px;max-width:440px;padding:8px 9px;border:1px solid #1c4c68;border-radius:8px;background:#071a29;display:grid;grid-template-columns:25px 1fr 18px;gap:7px;align-items:center;text-decoration:none}
.mof-ticket-attachment>span{font-size:18px}.mof-ticket-attachment>div{display:grid;gap:2px;min-width:0}.mof-ticket-attachment b{font-size:10px!important;color:#dcebf2!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mof-ticket-attachment small{font-size:10px!important;color:#66879a!important}.mof-ticket-attachment i{font-style:normal;color:#5fb9f0;font-size:15.5px}
.mof-ticket-compose-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.mof-ticket-compose-tools>[data-ticket-file-list]{flex:1;display:flex;gap:5px;flex-wrap:wrap}
.mof-ticket-file-btn{position:relative;display:inline-grid!important;gap:2px!important;cursor:pointer!important}
.mof-ticket-file-btn input{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important}
.mof-ticket-file-btn>span{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 10px;border:1px solid #1b5577;border-radius:7px;background:#092338;color:#87c9f2;font-size:10px;font-weight:800}
.mof-ticket-file-btn.wide>span{justify-content:flex-start}
.mof-ticket-file-btn>small{font-size:10px!important;color:#638397!important}
.mof-ticket-file-chip{display:inline-flex;gap:5px;align-items:center;padding:5px 7px;border-radius:6px;background:#0b2a3e;color:#9fc8df;font-size:9.5px;border:1px solid #1b4a66}
.mof-ticket-file-chip small{font-size:8px;color:#607f92}
.mof-ticket-close-choice{display:grid;gap:10px}.mof-ticket-close-choice>p{font-size:12.5px;color:#7898aa;margin:0 0 2px}
.mof-ticket-choice{width:100%;padding:13px;border-radius:9px;display:grid;gap:4px;text-align:left;cursor:pointer}
.mof-ticket-choice b{font-size:13.5px}.mof-ticket-choice span{font-size:10px;line-height:1.5}
.mof-ticket-choice.archive{border:1px solid #285d7d;background:#08263a;color:#d6ebf7}.mof-ticket-choice.archive span{color:#78a1b8}
.mof-ticket-choice.delete{border:1px solid #6f323d;background:#2a151a;color:#f4a0a8}.mof-ticket-choice.delete span{color:#b77980}
.mof-ticket-archived-note{padding:10px;border-radius:8px;background:#101f28;color:#77909e;font-size:11px;text-align:center;border:1px solid #283f4d}
@media(max-width:750px){.saas37-ticket-tools{flex-wrap:wrap}.mof-ticket-view-switch{margin-left:0}.mof-ticket-attachment{min-width:0;width:100%;box-sizing:border-box}}

/* ===== ADMIN v46: logs / changelog / surveys ===== */
.mof-logs-head,.mof-log-row{grid-template-columns:minmax(210px,1.5fr) minmax(130px,.8fr) minmax(110px,.7fr) minmax(150px,.9fr) 34px!important}
.mof-log-delete-one{width:28px;height:28px;border:1px solid #5b3038;border-radius:7px;background:#24151a;color:#e37a84;cursor:pointer;font-size:18px}
.mof-log-delete-menu{display:grid;gap:8px}.mof-log-delete-menu>p{font-size:12.5px;color:#7895a6}
.mof-log-delete-menu>button{display:grid;gap:3px;text-align:left;padding:11px;border:1px solid #214a62;border-radius:8px;background:#082131;color:#d7e8f2;cursor:pointer}
.mof-log-delete-menu>button b{font-size:13.5px}.mof-log-delete-menu>button span{font-size:11px;color:#7395a8}.mof-log-delete-menu>button.danger{border-color:#67333c;background:#29161b;color:#f09aa3}
.mof-changelog-files{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.mof-changelog-files a{padding:6px 8px;border:1px solid #1c4b65;border-radius:7px;background:#082235;color:#84c4ec;text-decoration:none;font-size:10px}
.mof-ticket-file-chip button{border:0;background:transparent;color:#df7d86;cursor:pointer;font-size:15.5px;padding:0 0 0 4px}
.mof-survey-export-bar{display:flex;justify-content:flex-end;gap:7px;margin-bottom:9px}
.mof-survey-results-list{max-height:70vh!important;overflow-y:auto!important;padding-right:7px!important}
.mof-survey-response-card{overflow:visible!important}
.mof-survey-response-answers,.mof-survey-result-comment,.mof-survey-result-comment p{max-height:none!important;overflow:visible!important}
.mof-survey-result-comment p{overflow-wrap:anywhere!important;word-break:break-word!important}
@media(max-width:800px){.mof-logs-head{display:none!important}.mof-log-row{grid-template-columns:1fr 32px!important}.mof-log-row>span:not(.mof-log-action){grid-column:1}.mof-log-delete-one{grid-column:2;grid-row:1}}


/* ===== HOMEPAGE CONTACT + E-PASSPORT v47 ===== */
.passport-demo-shot{
  border:1px solid #1b4964;border-radius:16px;background:linear-gradient(145deg,#071d2c,#061722);
  padding:14px;box-shadow:0 20px 50px rgba(0,0,0,.18)
}
.passport-demo-label{display:grid;gap:3px;margin:0 0 10px}
.passport-demo-label span{font-size:11px;font-weight:900;letter-spacing:.12em;color:#3ea8f2}
.passport-demo-label small,.passport-demo-note{font-size:10px;color:#6f90a3}
.passport-demo-shot>button{display:block;width:100%;padding:0;border:0;border-radius:11px;overflow:hidden;background:#fff;cursor:zoom-in}
.passport-demo-shot img{display:block;width:100%;height:auto}
.passport-demo-note{display:block;margin-top:8px}
.passport-preview-modal img{display:block;width:100%;max-height:68vh;object-fit:contain;border-radius:10px;background:#fff}
.passport-preview-modal p{font-size:11px;color:#718fa0;margin:9px 0 0;text-align:center}
.contact-form select{
  width:100%;min-height:44px;border:1px solid #1d4862;border-radius:8px;background:#061722;color:#e6f0f5;padding:0 11px
}
.contact-form button[type="submit"]:disabled{opacity:.65;cursor:wait}
@media(max-width:850px){.passport-page{grid-template-columns:1fr!important}.passport-demo-shot{max-width:620px}}

.public-passport-page{padding:42px 0 70px;background:#061722}.public-passport-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:22px}.public-passport-intro h1{font-size:43px;line-height:1.05;margin:8px 0;color:#f4f8fb}.public-passport-intro h1 em{color:#188cff;font-style:normal}.public-passport-intro p{max-width:720px;color:#83a0b2;font-size:15.5px;line-height:1.6}.public-passport-actions{display:flex;gap:8px;flex-wrap:wrap}.passport-live-demo{border:1px solid #1a4863;border-radius:16px;background:#071c2a;overflow:hidden}.pld-head{display:grid;grid-template-columns:1fr 420px;gap:20px;align-items:center;padding:20px 22px 0}.pld-head h2{font-size:32.5px;color:#fff;margin:5px 0}.pld-head p{color:#8ca6b5;font-size:14.5px}.pld-head p b{color:#fff}.pld-status{display:inline-block;margin-top:7px;padding:5px 8px;border-radius:999px;background:#093927;color:#45d28a;font-size:10px;font-weight:900}.pld-car{height:190px;overflow:hidden;border-radius:11px 11px 0 0}.pld-car img{width:100%;height:100%;object-fit:cover}.pld-tabs,.ppm-tabs{display:flex;gap:6px;align-items:center;overflow-x:auto;border:1px solid #16425d;background:#061a28;padding:8px;border-radius:11px}.pld-tabs{margin:0 16px 16px}.pld-tabs b,.pld-tabs span,.ppm-tabs b,.ppm-tabs span{padding:9px 12px;border-radius:8px;color:#6fa4c3;font-size:12.5px;white-space:nowrap}.pld-tabs b,.ppm-tabs b{background:#1688ed;color:#fff}.pld-card{margin:0 16px;border:1px solid #16425d;border-radius:12px;background:#071f2e;padding:15px}.pld-card-title{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:13px}.pld-card-title>div:first-child{display:grid;gap:2px}.pld-card-title b{color:#fff;font-size:13.5px}.pld-card-title small{color:#64899f;font-size:10px}.pld-card-actions{display:flex;gap:7px}.pld-card-actions button,.ppm-actions button{border:1px solid #236189;background:#071c2a;color:#d8ebf5;border-radius:8px;padding:8px 11px;font-size:10px;font-weight:800}.pld-card-actions .primary,.ppm-actions .edit{background:#167ee0;border-color:#2297f2;color:#fff}.pld-info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.pld-info-grid>div{min-height:68px;padding:11px;border:1px solid #17465f;border-radius:10px;background:#072232;display:grid;align-content:center;gap:5px}.pld-info-grid small{color:#5793b8;font-size:8.5px;font-weight:800}.pld-info-grid b{color:#fff;font-size:15.5px}.pld-info-grid .ok{color:#4bd58b;font-size:11px}.pld-dates{display:grid;gap:8px;padding:12px 16px 17px}.pld-dates>div{min-height:48px;padding:9px 11px;border:1px solid #17465f;border-radius:10px;background:#072232;display:flex;align-items:center;justify-content:space-between}.pld-dates span{display:grid;gap:3px}.pld-dates small{color:#5692b5;font-size:8.5px}.pld-dates b{color:#fff;font-size:12.5px}.pld-dates i{font-style:normal;padding:5px 7px;border-radius:999px;background:#073d30;color:#52d79a;font-size:8.5px}.pld-dates i.warn{background:#3a2710;color:#ffbd52}.public-passport-mini{border:1px solid #1c4b67;border-radius:13px;background:#071c2a;padding:10px}.ppm-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:8px}.ppm-top>div{display:grid;gap:2px}.ppm-top small{font-size:7.5px;color:#429fe0;font-weight:900}.ppm-top b{font-size:14.5px;color:#fff}.ppm-top span{font-size:8.5px;color:#7799ab}.ppm-top>i{font-style:normal;font-size:7.5px;color:#42d68a;background:#073729;padding:4px 6px;border-radius:999px}.ppm-tabs{padding:5px;gap:2px}.ppm-tabs b,.ppm-tabs span{padding:5px 6px;font-size:7.5px}.ppm-actions{display:flex;justify-content:flex-end;gap:4px;margin:7px 0}.ppm-actions button{padding:5px 7px;font-size:7.5px}.ppm-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.ppm-grid>div{padding:7px;border:1px solid #173e56;border-radius:7px;background:#082231;display:grid;gap:3px}.ppm-grid small{font-size:7px;color:#5b94b4}.ppm-grid b{font-size:10px;color:#fff}.ppm-deadline{margin-top:5px;padding:7px;border:1px solid #173e56;border-radius:7px;background:#082231;display:flex;justify-content:space-between;align-items:center}.ppm-deadline span{display:grid;gap:2px}.ppm-deadline small{font-size:7px;color:#5b94b4}.ppm-deadline b{font-size:10px;color:#fff}.ppm-deadline i{font-style:normal;font-size:7.5px;color:#54d699;background:#07382a;padding:4px 6px;border-radius:99px}.mof-gallery-switch{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 18px}.mof-gallery-switch button{border:1px solid #1a4863;background:#071c2a;color:#8fb3c9;border-radius:999px;padding:10px 16px;font-size:12.5px;font-weight:800;transition:.2s}.mof-gallery-switch button:hover{border-color:#2a7fc9;color:#d8ebf5}.mof-gallery-switch button.active{background:linear-gradient(135deg,#1688ed,#0d63c4);border-color:#2297f2;color:#fff;box-shadow:0 8px 20px rgba(16,110,220,.25)}.pld-tabs b,.pld-tabs span{cursor:pointer;transition:.15s}.pld-tabs span:hover{background:#0d2a3d;color:#bfe0f2}.passport-live-demo>.pld-dates:last-child{margin-bottom:16px}.mof-gallery-real-page{padding:22px}.gps-map-demo{background:radial-gradient(circle at 30% 30%,#0d3552,#061826 70%),repeating-linear-gradient(45deg,rgba(255,255,255,.025) 0 2px,transparent 2px 22px)}.mgm-pin{position:absolute;width:10px;height:10px;border-radius:50%;background:#1688ed;box-shadow:0 0 0 5px rgba(22,136,237,.25)}.mgm-pin.p2{background:#2ea768;box-shadow:0 0 0 5px rgba(46,167,104,.25)}.mgm-pin.p3{background:#d99a2b;box-shadow:0 0 0 5px rgba(217,154,43,.25)}.mgm-label{position:absolute;left:11px;bottom:9px;color:#7ba7c2;font-size:10px;font-weight:700;background:rgba(6,23,34,.7);padding:4px 7px;border-radius:6px;z-index:2}.pld-info-grid .bad{color:#ff6b6b}.pld-info-grid .warn{color:#ffbd52}.pld-dates i.bad{background:#3a1414;color:#ff6b6b}@media(max-width:900px){.public-passport-intro{align-items:flex-start;flex-direction:column}.pld-head{grid-template-columns:1fr}.pld-info-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.pld-info-grid{grid-template-columns:1fr}.pld-card-title{align-items:flex-start;flex-direction:column}.mof-gallery-switch{gap:6px}.mof-gallery-switch button{padding:8px 12px;font-size:11px}.mof-gallery-real-page{padding:14px}}

/* ===== HOW IT WORKS / SaaS v51 ===== */
.how-hero{position:relative;overflow:hidden;padding:78px 0 72px;background:radial-gradient(circle at 82% 42%,rgba(22,136,237,.18),transparent 34%),#061722;border-bottom:1px solid #14364b}
.how-hero-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:70px;align-items:center}.how-hero h1{font-size:60.5px;line-height:1.01;letter-spacing:-2.5px;margin:12px 0 18px;color:#f5f9fc}.how-hero h1 em{font-style:normal;color:#168cff}.how-hero p{max-width:610px;color:#88a5b7;line-height:1.7;font-size:18px}.how-hero-actions{display:flex;gap:10px;margin-top:25px}
.how-console{border:1px solid #20516e;border-radius:18px;background:#071d2b;box-shadow:0 30px 70px rgba(0,0,0,.35);transform:perspective(1000px) rotateY(-4deg) rotateX(2deg);overflow:hidden}.hc-top{height:40px;border-bottom:1px solid #173d55;display:flex;align-items:center;gap:6px;padding:0 14px;color:#5f8ba6;font-size:10px}.hc-top span{width:7px;height:7px;border-radius:50%;background:#18425c}.hc-top b{margin-left:auto;letter-spacing:1px}.hc-grid{display:grid;grid-template-columns:62px 1fr;min-height:310px}.hc-side{border-right:1px solid #173d55;padding:24px 15px;display:grid;align-content:start;gap:18px}.hc-side i{height:8px;border-radius:5px;background:#16405a}.hc-side i:first-child{background:#168cff}.hc-main{padding:25px}.hc-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.hc-stats b{height:64px;border:1px solid #184a67;border-radius:10px;background:#082536;color:#eaf6fd;font-size:24px;padding:13px}.hc-chart{height:130px;margin-top:14px;border:1px solid #184a67;border-radius:10px;background:linear-gradient(180deg,rgba(22,140,255,.08),transparent);display:flex;align-items:flex-end;gap:10px;padding:18px}.hc-chart span{flex:1;border-radius:4px 4px 0 0;background:linear-gradient(#168cff,#0a4774)}.hc-chart span:nth-child(1){height:32%}.hc-chart span:nth-child(2){height:49%}.hc-chart span:nth-child(3){height:41%}.hc-chart span:nth-child(4){height:70%}.hc-chart span:nth-child(5){height:58%}.hc-chart span:nth-child(6){height:83%}.hc-chart span:nth-child(7){height:72%}.hc-row{display:grid;grid-template-columns:1.4fr 1fr;gap:10px;margin-top:14px}.hc-row i{height:48px;border:1px solid #184a67;border-radius:10px;background:#082536}
.how-flow-section{background:#f5f8fa;color:#0b1b27}.how-flow-section .section-head h2{color:#0b1b27}.how-flow-section .section-head h2 em{color:#168cff}.how-flow-section .section-head p{color:#617483}.how-flow{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:40px}.how-flow:before{content:"";position:absolute;top:38px;left:8%;right:8%;height:1px;background:linear-gradient(90deg,transparent,#a9cfe8 12%,#a9cfe8 88%,transparent)}.how-flow article{position:relative;z-index:1;min-height:310px;padding:20px;border:1px solid #dce7ee;border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(13,45,64,.05)}.hf-no{position:absolute;right:15px;top:15px;color:#c4d3dc;font-weight:900;font-size:14.5px}.hf-icon{width:42px;height:42px;border-radius:12px;background:#e9f5ff;color:#168cff;display:grid;place-items:center;margin-bottom:36px}.hf-icon svg{width:19px;height:19px}.how-flow h3{font-size:20px;line-height:1.25;margin:0 0 10px;color:#0b1b27}.how-flow p{font-size:13.5px;line-height:1.65;color:#6b7e8b}.hf-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:18px}.hf-tags span{font-size:8.5px;font-weight:800;color:#39799f;background:#eef7fc;border-radius:99px;padding:5px 7px}
.how-modules{background:#061722}.how-modules-head{display:grid;grid-template-columns:1fr 420px;gap:50px;align-items:end}.how-modules-head h2{color:#f5f9fc}.how-modules-head h2 em{color:#168cff;font-style:normal}.how-modules-head p{color:#7898ab;line-height:1.7;font-size:15.5px}.how-orbit{position:relative;height:470px;max-width:1000px;margin:30px auto 0}.how-orbit:before,.how-orbit:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px dashed #1c4e6d;border-radius:50%}.how-orbit:before{width:620px;height:300px}.how-orbit:after{width:820px;height:410px;opacity:.55}.orbit-center,.orbit-item{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;text-align:center;border:1px solid #1c5475;background:#082536;box-shadow:0 16px 35px rgba(0,0,0,.2)}.orbit-center{width:150px;height:150px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#168cff,#0a2a40 70%);z-index:2}.orbit-center b{font-size:34.5px;color:#fff;align-self:end}.orbit-center span{font-size:11px;color:#b6d4e6;align-self:start}.orbit-item{width:150px;height:70px;border-radius:13px}.orbit-item b{font-size:13.5px;color:#fff;align-self:end}.orbit-item span{font-size:10px;color:#6f9ab3;align-self:start}.oi1{transform:translate(-50%,-50%) translate(-330px,-130px)}.oi2{transform:translate(-50%,-50%) translate(0,-185px)}.oi3{transform:translate(-50%,-50%) translate(330px,-130px)}.oi4{transform:translate(-50%,-50%) translate(330px,130px)}.oi5{transform:translate(-50%,-50%) translate(0,185px)}.oi6{transform:translate(-50%,-50%) translate(-330px,130px)}
.how-bottom{padding:70px 0;background:#082131;border-top:1px solid #16415a}.how-bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.how-bottom h2{font-size:43px;color:#fff;line-height:1.05;margin:10px 0}.how-bottom p{color:#7e9cad;line-height:1.7;font-size:15.5px}.how-benefits{display:grid;gap:8px}.how-benefits>div{display:flex;gap:15px;align-items:center;padding:13px 15px;border:1px solid #194b68;border-radius:12px;background:#071c2a}.how-benefits>div>b{font-size:13.5px;color:#168cff}.how-benefits span{display:grid;gap:2px}.how-benefits strong{font-size:13.5px;color:#fff}.how-benefits small{font-size:10px;color:#7396aa}.how-cta{display:flex;justify-content:center;gap:9px;margin-top:40px;padding-top:28px;border-top:1px solid #17415a}
@media(max-width:1000px){.how-hero-grid,.how-modules-head,.how-bottom-grid{grid-template-columns:1fr}.how-flow{grid-template-columns:1fr 1fr}.how-flow:before{display:none}.how-orbit{transform:scale(.82);margin-left:-10%;margin-right:-10%}}
@media(max-width:650px){.how-hero{padding:45px 0}.how-hero h1{font-size:43px}.how-flow{grid-template-columns:1fr}.how-console{transform:none}.how-orbit{height:auto;transform:none;display:grid;grid-template-columns:1fr 1fr;gap:8px}.how-orbit:before,.how-orbit:after{display:none}.orbit-center,.orbit-item,.oi1,.oi2,.oi3,.oi4,.oi5,.oi6{position:static;transform:none;width:auto;height:75px;border-radius:12px}.orbit-center{grid-column:1/-1}.how-hero-actions,.how-cta{flex-wrap:wrap}}

/* ===== HOW JOURNEY v52 — replaces white cards ===== */
.how-flow{display:none!important}
.how-flow-section{padding:82px 0 96px;background:
 radial-gradient(circle at 50% 42%,rgba(18,132,229,.08),transparent 30%),
 #061722;color:#edf7fd}
.how-flow-section .section-head h2{color:#f4f9fc}.how-flow-section .section-head h2 em{font-style:normal;color:#168cff}
.how-flow-section .section-head p{color:#7192a7}
.how-journey{position:relative;max-width:1080px;margin:62px auto 0;padding:8px 0}
.hj-line{position:absolute;left:50%;top:0;bottom:0;width:2px;transform:translateX(-50%);background:#153b52;overflow:hidden}
.hj-line span{display:block;width:100%;height:74%;background:linear-gradient(#168cff,#19b5c9,rgba(22,140,255,.15));box-shadow:0 0 22px rgba(22,140,255,.45)}
.hj-step{position:relative;min-height:205px;width:50%;padding-bottom:42px;display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:22px;align-items:center}
.hj-step.left{padding-right:58px;text-align:right}.hj-step.right{margin-left:50%;padding-left:58px;text-align:left;grid-template-columns:190px minmax(0,1fr)}
.hj-step.right .hj-copy{grid-column:2}.hj-step.right .hj-preview{grid-column:1;grid-row:1}
.hj-node{position:absolute;top:50%;width:42px;height:42px;border:1px solid #2472a1;border-radius:50%;background:#082638;display:grid;place-items:center;box-shadow:0 0 0 8px #061722,0 0 28px rgba(22,140,255,.22);z-index:3}
.hj-step.left .hj-node{right:-21px}.hj-step.right .hj-node{left:-21px}.hj-node b{font-size:12.5px;color:#59b4f4}
.hj-kicker{display:block;font-size:10px;font-weight:900;letter-spacing:1.7px;color:#168cff;margin-bottom:7px}
.hj-copy h3{font-size:25px;line-height:1.12;color:#fff;margin:0 0 10px;letter-spacing:-.35px}.hj-copy p{font-size:13.5px;line-height:1.65;color:#7898aa;margin:0}
.hj-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:13px}.left .hj-tags{justify-content:flex-end}.hj-tags span{font-size:8.5px;font-weight:800;padding:5px 8px;border:1px solid #174865;border-radius:99px;color:#77b8df;background:#082333}
.hj-preview{height:126px;border:1px solid #1a4d6b;border-radius:15px;background:linear-gradient(145deg,#09283a,#061b29);box-shadow:0 18px 38px rgba(0,0,0,.22);position:relative;overflow:hidden;text-align:left}
.preview-team{display:flex;align-items:center;justify-content:center}.preview-team i{width:40px;height:40px;border-radius:50%;border:3px solid #09283a;background:linear-gradient(145deg,#168cff,#174864);margin-left:-10px}.preview-team i:first-child{margin-left:0}.preview-team strong{position:absolute;right:14px;bottom:12px;color:#64baff;font-size:12.5px}
.preview-car{padding:19px}.pc-car{height:54px;border-radius:9px;background:linear-gradient(135deg,#123f59,#0b2534);display:grid;place-items:center;font-weight:900;color:#dff4ff;letter-spacing:3px}.preview-car small{display:block;margin-top:10px;color:#91afbf;font-size:10px}.preview-car b{position:absolute;right:15px;bottom:14px;font-size:8.5px;color:#42d48c}
.preview-calendar{padding:18px}.preview-calendar b{font-size:32.5px;color:#fff}.preview-calendar span{display:block;font-size:10px;color:#168cff;font-weight:900;margin-bottom:10px}.preview-calendar i{display:inline-block;width:28px;height:4px;border-radius:4px;background:#164760;margin-right:5px}.preview-calendar i:nth-of-type(2){width:45px;background:#168cff}.preview-calendar i:nth-of-type(3){width:20px}
.preview-chat{padding:16px;display:grid;align-content:center;gap:7px}.preview-chat span{width:80%;padding:7px 9px;border-radius:8px;background:#0d3044;color:#9fc4d9;font-size:8.5px}.preview-chat span:nth-child(2){margin-left:auto;background:#0d3b55;color:#d6effc}.preview-chat span:nth-child(3){width:65%}
.preview-dashboard{padding:15px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.preview-dashboard div{border:1px solid #17445e;border-radius:8px;padding:9px}.preview-dashboard b{display:block;color:#fff;font-size:21px}.preview-dashboard small{color:#6e99b0;font-size:8.5px}.preview-dashboard i{grid-column:1/-1;height:34px;border-radius:8px;background:linear-gradient(160deg,transparent 45%,#168cff 47%,#168cff 50%,transparent 52%),#082231}
@media(max-width:800px){.hj-line{left:20px}.hj-step,.hj-step.right{width:100%;margin-left:0;padding:0 0 42px 65px;text-align:left;grid-template-columns:1fr}.hj-step.left{padding-right:0}.hj-step.right .hj-copy,.hj-step.right .hj-preview{grid-column:auto;grid-row:auto}.hj-step .hj-node,.hj-step.left .hj-node,.hj-step.right .hj-node{left:0;right:auto;top:38px}.left .hj-tags{justify-content:flex-start}.hj-preview{max-width:330px}.hj-step.right .hj-preview{order:2}}

/* ===== PLAN GATING v58 ===== */
.saas-perm-item.plan-disabled{opacity:.38;cursor:not-allowed}
.saas-perm-item.plan-disabled input{cursor:not-allowed}
.saas-perm-item.plan-disabled small{color:#9a6e73!important}
.mof-current-plan{display:block;margin:5px 10px 12px;color:#5687a3;font-size:8.5px;text-transform:uppercase;letter-spacing:.08em}

/* ===== EWIDENCJA PRACY v59 ===== */
.worktime-shell{display:grid;gap:10px}.worktime-toolbar{display:flex;align-items:end;justify-content:space-between;gap:15px;padding:9px 14px;border:1px solid #16445e;border-radius:12px;background:#071d2b}.worktime-month-nav{display:flex;align-items:center;gap:8px}.worktime-month-nav>b{min-width:150px;color:#f3f8fb;font-size:17px;text-transform:capitalize}.worktime-month-nav button{height:30px;min-width:30px;border:1px solid #1c5576;border-radius:8px;background:#082638;color:#a9d2e9;cursor:pointer}.worktime-month-nav button:last-child{padding:0 10px;font-size:12.5px}.worktime-toolbar label{display:grid;gap:3px;color:#668ba0;font-size:11.5px;font-weight:800}.worktime-toolbar select{min-width:210px;height:30px;border:1px solid #1c5576;border-radius:8px;background:#061722;color:#dceaf2;padding:0 9px}.worktime-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.worktime-kpis>div{min-height:58px;border:1px solid #16445e;border-radius:12px;background:#071f2e;padding:8px 12px;display:grid;align-content:center;gap:2px}.worktime-kpis small{color:#7fb4d6;font-size:13px;font-weight:800;letter-spacing:.02em}.worktime-kpis b{color:#fff;font-size:20px}.worktime-kpis span{color:#7899aa;font-size:11px}.worktime-calendar-card{border:1px solid #16445e;border-radius:13px;background:#061b29;overflow:hidden}.worktime-weekdays{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid #16445e}.worktime-weekdays span{text-align:center;padding:6px;color:#5fa2cd;font-size:11px;font-weight:900}.worktime-grid{display:grid;grid-template-columns:repeat(7,1fr)}.worktime-day{min-height:78px;padding:8px 9px;border:0;border-right:1px solid #12384e;border-bottom:1px solid #12384e;background:#071d2b;color:#dcebf3;text-align:left;cursor:pointer;display:grid;align-content:start;gap:3px}.worktime-day:hover{background:#092639}.worktime-day.outside{opacity:.25;pointer-events:none}.worktime-day-no{font-size:13px;font-weight:900;color:#79a2b8}.worktime-day b{font-size:13.5px}.worktime-day>span:not(.worktime-day-no):not(.worktime-absence-code){font-size:12.5px;color:#8ab7ce}.worktime-day small{font-size:12px;color:#5c899f}.worktime-empty{margin:auto!important;color:#35596c!important}.worktime-day.absence{border-left:3px solid currentColor}.worktime-absence-code{font-size:20px;font-weight:900;line-height:1;margin-top:2px}.worktime-day.absence small{color:inherit;opacity:.82}.absence-blue{color:#66b8ff!important;background:rgba(28,108,175,.17)!important}.absence-violet{color:#b697ff!important;background:rgba(103,76,176,.17)!important}.absence-slate{color:#9aaeb9!important;background:rgba(83,104,115,.16)!important}.absence-red{color:#ff7b88!important;background:rgba(166,47,60,.18)!important}.absence-pink{color:#ff93c6!important;background:rgba(159,55,105,.17)!important}.absence-cyan{color:#6ce6ed!important;background:rgba(32,135,142,.17)!important}.absence-purple{color:#c58bff!important;background:rgba(113,54,164,.17)!important}.absence-indigo{color:#899eff!important;background:rgba(60,73,155,.18)!important}.absence-teal{color:#64d5bd!important;background:rgba(33,126,107,.17)!important}.absence-green{color:#6fe0a1!important;background:rgba(33,129,77,.17)!important}.absence-amber{color:#ffc766!important;background:rgba(160,111,22,.18)!important}.absence-mint{color:#89e5c7!important;background:rgba(45,126,100,.16)!important}.absence-rose{color:#ff8fa0!important;background:rgba(164,55,72,.17)!important}.absence-sky{color:#76c9ff!important;background:rgba(38,111,158,.17)!important}.absence-orange{color:#ffad68!important;background:rgba(168,87,25,.17)!important}.absence-gray{color:#aab6bc!important;background:rgba(92,105,111,.16)!important}.absence-danger{color:#ff5f6f!important;background:rgba(177,35,51,.22)!important}.worktime-source-note{padding:8px;border-radius:7px;background:#082638;color:#7297aa;font-size:13.5px}.worktime-absence-detail{display:grid;gap:9px}.worktime-absence-detail>b{font-size:20px;color:#fff}.worktime-absence-detail p{color:#7899aa;font-size:14.5px}@media(max-width:900px){.worktime-kpis{grid-template-columns:1fr 1fr}.worktime-toolbar{align-items:stretch;flex-direction:column}.worktime-toolbar select{width:100%}.worktime-day{min-height:60px;padding:5px 6px}.worktime-day small{display:none}}@media(max-width:620px){.worktime-calendar-card{overflow-x:auto}.worktime-weekdays,.worktime-grid{min-width:720px}}

/* ===== OFFER / CHECKOUT v63 ===== */
.mof-signup-note{padding:10px 12px;border:1px solid #1c516f;border-radius:10px;background:#082638;color:#8eb3c9;font-size:11px;line-height:1.55}.mof-signup-note b{color:#fff}
.mof-checkout-summary{display:grid;grid-template-columns:1fr auto;align-items:end;gap:3px 12px;padding:13px 14px;border:1px solid #1c5576;border-radius:11px;background:#061b29}.mof-checkout-summary>span{color:#6e9ab3;font-size:10px;font-weight:800}.mof-checkout-summary>b{grid-row:1/3;grid-column:2;color:#fff;font-size:25px}.mof-checkout-summary small{color:#728fa0;font-size:8.5px}.mof-checkout-summary em{grid-column:2;color:#5d8aa5;font-size:8.5px;font-style:normal;text-align:right}.mof-payment-status{display:grid;gap:5px;margin:20px 0;padding:16px;border:1px solid #1b5272;border-radius:12px;background:#082536}.mof-payment-status b{font-size:18px;color:#fff}.mof-payment-status span{font-size:11px;color:#83a7bb}

/* ===== AI CHAT v70: full width + visible CTA ===== */
body #app .admin-shell .ai-shell{grid-template-columns:245px minmax(0,1fr)!important}
body #app .admin-shell .ai-right{display:none!important}
body #app .admin-shell .ai-chat{padding:22px 26px!important;max-height:66vh!important}
body #app .admin-shell .ai-msg{width:100%!important;max-width:none!important}
body #app .admin-shell .ai-msg.assistant{align-self:stretch!important}
body #app .admin-shell .ai-msg.assistant .ai-bubble{width:100%!important;max-width:none!important}
body #app .admin-shell .ai-msg.user{align-self:stretch!important}
body #app .admin-shell .ai-msg.user .ai-bubble{margin-left:auto!important;width:auto!important;max-width:72%!important}
body #app .admin-shell .ai-answer-actions{width:100%!important}
body #app .admin-shell .ai-answer-actions .ai-route{
  margin-left:auto!important;
  display:inline-flex!important;
  align-items:center!important;
  min-height:30px!important;
  padding:7px 12px!important;
  border:1px solid #168cff!important;
  background:linear-gradient(135deg,#168cff,#0b67c9)!important;
  color:#fff!important;
  border-radius:8px!important;
  font-weight:800!important;
  text-decoration:none!important;
}
@media(max-width:900px){
  body #app .admin-shell .ai-shell{grid-template-columns:1fr!important}
  body #app .admin-shell .ai-side{display:none!important}
  body #app .admin-shell .ai-msg.user .ai-bubble{max-width:88%!important}
}


/* ===== MOF Kontakty v71 — layout odwzorowany z referencji ===== */
.mof-contacts-page{max-width:1540px;margin:0 auto;color:#f4f8ff}
.mof-contacts-title{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:28px}.mof-contacts-title h1{font-size:34.5px;margin:0 0 7px}.mof-contacts-title p{margin:0;color:#7891aa;font-size:18px}
.mof-contact-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:30px}.mof-contact-stats>div{min-height:105px;border:1px solid #17354f;background:#071a2b;border-radius:11px;padding:22px;display:flex;gap:18px;align-items:center}.mof-contact-stats i,.mof-category-grid i,.mof-category-manage-list i{width:44px;height:44px;border-radius:10px;display:grid;place-items:center;font-style:normal;font-size:25px}.mof-contact-stats span{display:grid;gap:4px}.mof-contact-stats small{font-size:15.5px;color:#a7b8ca}.mof-contact-stats b{font-size:30.5px}.mof-contact-stats em{font-size:14.5px;color:#6f849a;font-style:normal}
.mof-contact-stats i.blue,.mof-category-grid i.blue,.mof-category-manage-list i.blue,.mof-detail-logo.blue{background:#07356c;color:#168cff}.mof-contact-stats i.purple,.mof-category-grid i.purple,.mof-category-manage-list i.purple,.mof-detail-logo.purple{background:#302066;color:#a36dff}.mof-contact-stats i.green,.mof-category-grid i.green,.mof-category-manage-list i.green,.mof-detail-logo.green{background:#083d38;color:#41d891}.mof-contact-stats i.gold,.mof-category-grid i.gold,.mof-category-manage-list i.gold,.mof-detail-logo.gold{background:#443715;color:#ffc51b}.mof-category-grid i.red,.mof-category-manage-list i.red,.mof-detail-logo.red{background:#4b2026;color:#ff5d66}.mof-category-grid i.cyan,.mof-category-manage-list i.cyan,.mof-detail-logo.cyan{background:#073c46;color:#2ed4df}
.mof-contacts-work{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px;align-items:start}.mof-contact-filters{display:grid;grid-template-columns:minmax(230px,1.4fr) 190px 170px auto;gap:12px;align-items:center;margin:0 8px 20px}.mof-contact-filters select,.mof-vehicle-filters select,.mof-search{height:45px;border:1px solid #173c59;background:#071a2b;border-radius:8px;color:#dfe9f4}.mof-contact-filters select,.mof-vehicle-filters select{padding:0 14px}.mof-vehicle-filters{display:grid;grid-template-columns:minmax(220px,1.4fr) 220px;gap:12px;align-items:center;margin:0 0 16px}.mof-vehicle-group-head{padding:14px 14px 8px;font-size:14.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#7f97ab;display:flex;align-items:center;gap:8px}.mof-vehicle-group-head b{background:#132c40;color:#8fb4d6;border-radius:999px;padding:2px 8px;font-size:13.5px}.mof-vehicle-group+.mof-vehicle-group{border-top:1px solid #17324a}@media(max-width:640px){.mof-vehicle-filters{grid-template-columns:1fr}}.mof-search{display:flex;align-items:center;padding:0 15px;gap:13px}.mof-search input{border:0!important;background:transparent!important;outline:0;color:#fff;width:100%;padding:0!important}.mof-fav-toggle{display:flex;align-items:center;gap:9px;color:#c7d4e1;font-size:15.5px;white-space:nowrap}.mof-fav-toggle input{display:none}.mof-fav-toggle i{width:34px;height:20px;border-radius:20px;background:#17334a;position:relative}.mof-fav-toggle i:after{content:"";position:absolute;width:14px;height:14px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.2s}.mof-fav-toggle input:checked+i{background:#168cff}.mof-fav-toggle input:checked+i:after{left:17px}
.mof-contact-table{border:1px solid #15334c;border-radius:10px;overflow:hidden;background:#071a2b}.mof-contact-th,.mof-contact-row{display:grid;grid-template-columns:1.55fr .82fr .82fr 1.15fr .6fr;gap:12px;align-items:center}.mof-contact-th{height:48px;padding:0 16px;color:#6e88a1;font-size:13.5px;font-weight:800;background:#061725}.mof-contact-row{width:100%;min-height:72px;padding:10px 16px;border:0;border-top:1px solid #102d44;background:#071a2b;color:#eaf2fa;text-align:left;cursor:pointer}.mof-contact-row:hover,.mof-contact-row.selected{background:#092238}.mof-contact-row.selected{box-shadow:inset 2px 0 #168cff}.mof-contact-name{display:flex;align-items:center;gap:12px}.mof-contact-name>i{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;font-style:normal;background:#0b315a;color:#42a3ff}.mof-contact-name b{font-size:15.5px}.mof-contact-name small,.mof-contact-data small{display:block;color:#8096aa;font-size:13.5px;margin-top:4px;font-weight:400}.mof-contact-data{font-size:14.5px;line-height:1.35}.mof-chip{display:inline-block;border-radius:20px;padding:5px 9px;font-size:12.5px;font-style:normal;background:#0b315a;color:#55aaff}.mof-chip.green{background:#08392e;color:#48d990}.mof-chip.purple{background:#2d2056;color:#b88cff}.mof-chip.gold{background:#44330d;color:#ffc51b}.mof-chip.red{background:#492027;color:#ff737b}.mof-chip.cyan{background:#073840;color:#44d5dd}.mof-chip.dark{background:#0d2840;color:#b8cee2;margin-left:5px}.mof-star{font-style:normal;font-size:28px;color:#71869a;cursor:pointer}.mof-star.on{color:#ffc51b}.mof-contact-count{color:#72889d;font-size:13.5px;padding:22px 12px}
.mof-contact-detail{border:1px solid #17405f;background:#071b2d;border-radius:10px;min-height:650px;position:sticky;top:18px;overflow:hidden}.mof-detail-head{height:55px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #102e47}.mof-detail-head button{background:none;border:0;color:#a8b8c8;font-size:27px}.mof-detail-hero{text-align:center;padding:25px 20px 18px;position:relative}.mof-detail-logo{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;margin:0 auto 14px;font-size:40px;background:#07356c;color:#168cff}.mof-detail-hero h2{font-size:25px;margin:7px}.mof-star.big{position:absolute;right:20px;top:22px}.mof-contact-detail section{padding:17px 20px;border-top:1px solid #102e47}.mof-contact-detail h4{font-size:18px;margin:0 0 15px}.mof-detail-line{display:flex;gap:10px;margin:11px 0;font-size:16.5px;color:#c2d1de}.mof-detail-line i{font-style:normal;color:#6d89a2;width:14px}.mof-detail-line a{color:#afc0d1;text-decoration:none}.mof-person{display:flex;gap:10px;align-items:center;margin-bottom:14px}.mof-person>b{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#dbeaff;color:#146ac8;font-size:13.5px}.mof-person span{display:grid}.mof-person strong{font-size:16.5px}.mof-person small,.mof-contact-detail section>small{color:#7f96aa;font-size:15.5px;font-weight:600;letter-spacing:.2px}.mof-contact-detail section p{font-size:16.5px;line-height:1.6;color:#c6d4e1;margin:5px 0 13px}.mof-detail-actions{padding:16px 20px;display:grid;gap:8px}.mof-detail-actions .btn{width:100%}.mof-contact-detail-empty{display:grid;place-items:center;text-align:center;padding:120px 30px;color:#7790a7}.mof-contact-detail-empty span{font-size:50.5px}.mof-contact-detail-empty b{color:#dce8f4;margin:15px}.mof-contact-detail-empty p{font-size:14.5px}
.mof-categories-panel{border:1px solid #15334c;background:#071a2b;border-radius:10px;padding:20px;margin-top:0}.mof-category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}.mof-category-grid>div{border:1px solid #14324a;border-radius:9px;padding:13px;display:flex;align-items:center;gap:10px}.mof-category-grid i{width:36px;height:36px}.mof-category-grid span{display:grid}.mof-category-grid b{font-size:13.5px}.mof-category-grid small{font-size:12.5px;color:#70879d;margin-top:3px}.mof-category-manager{display:grid;gap:20px}.mof-category-manage-list{display:grid;gap:8px}.mof-category-manage-list>div{display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center;border:1px solid #17354f;border-radius:8px;padding:10px}.mof-category-manage-list i{width:34px;height:34px}.mof-category-manage-list b{font-size:14.5px}.mof-category-manage-list small{display:block;color:#7890a5;font-size:12.5px;margin-top:3px}.mof-category-manage-list button{background:transparent;border:1px solid #71313b;color:#ff7c86;border-radius:6px;padding:7px 10px}
@media(max-width:1250px){.mof-contacts-work{grid-template-columns:1fr}.mof-contact-detail{position:static}.mof-category-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:850px){.mof-contact-stats{grid-template-columns:repeat(2,1fr)}.mof-contact-filters{grid-template-columns:1fr 1fr}.mof-contact-th{display:none}.mof-contact-row{grid-template-columns:1.4fr .8fr .8fr}.mof-contact-row>span:nth-child(4){display:none}.mof-contacts-title{flex-direction:column}}@media(max-width:560px){.mof-contact-stats,.mof-contact-filters,.mof-category-grid{grid-template-columns:1fr}.mof-contact-row{grid-template-columns:1fr auto}.mof-contact-row>span:nth-child(2),.mof-contact-row>span:nth-child(3){display:none}}


/* ===== MOF Planowanie tras v72 ===== */
.mof-planning-page{max-width:1600px;margin:0 auto;color:#f5f8fc}.mof-planning-top h1{font-size:34.5px;margin:0 0 5px}.mof-planning-top p{margin:0;color:#8397aa;font-size:16.5px}.mof-plan-controls{display:flex;gap:12px;align-items:center;margin:28px 0 18px}.mof-plan-nav,.mof-plan-controls select,.mof-plan-date{height:42px;border:1px solid #173b57;background:#071a2b;color:#e7eff7;border-radius:8px}.mof-plan-nav{width:46px;font-size:28px}.mof-plan-controls select{padding:0 15px}.mof-plan-date{display:flex;align-items:center;gap:10px;padding:0 14px;position:relative}.mof-plan-date input{position:absolute;inset:0;opacity:0;cursor:pointer}.mof-plan-date b{font-size:14.5px}
.mof-planning-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:24px;align-items:start}.mof-planning-main{display:grid;gap:14px}.mof-plan-schedule,.mof-plan-unassigned,.mof-plan-suggestions,.mof-planning-map-card,.mof-planning-detail{border:1px solid #143852;background:#071a2a;border-radius:11px;overflow:hidden}.mof-plan-section-head,.mof-plan-side-head{min-height:58px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #102f48}.mof-plan-section-head>div{display:flex;gap:8px;align-items:center}.mof-plan-section-head b,.mof-plan-side-head b{font-size:16.5px}.mof-plan-section-head span{width:18px;height:18px;border:1px solid #456078;border-radius:50%;display:grid;place-items:center;color:#668197;font-size:10px}.mof-plan-section-head button,.mof-plan-side-head select{border:1px solid #1a4767;background:#071a2b;color:#d6e3ed;border-radius:7px;padding:8px 12px;font-size:13.5px}
.mof-plan-time-head{display:grid;grid-template-columns:195px repeat(7,1fr);height:42px;align-items:center;border-bottom:1px solid #102e45;color:#9aabbb;font-size:12.5px}.mof-plan-time-head b{text-align:center;font-weight:600}.mof-plan-driver-row{display:grid;grid-template-columns:195px 1fr;min-height:74px;border-bottom:1px solid #102e45}.mof-plan-driver-row:last-child{border-bottom:0}.mof-plan-driver{display:flex;gap:10px;align-items:center;padding:12px 15px;border-right:1px solid #102e45}.mof-plan-driver>i,.mof-plan-driver-head>i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:13.5px;font-weight:900;color:#fff;background:#2164b9}.mof-plan-driver i.green,.mof-plan-driver-head i.green{background:#159056}.mof-plan-driver i.purple,.mof-plan-driver-head i.purple{background:#7039bc}.mof-plan-driver i.orange,.mof-plan-driver-head i.orange{background:#d36b0b}.mof-plan-driver i.cyan,.mof-plan-driver-head i.cyan{background:#2e72a7}.mof-plan-driver span{display:grid;gap:3px}.mof-plan-driver b{font-size:13.5px}.mof-plan-driver small{font-size:11px;color:#8093a4}.mof-plan-track{position:relative;min-height:74px;background-image:linear-gradient(to right,transparent calc(14.285% - 1px),#102e45 calc(14.285% - 1px),#102e45 14.285%,transparent 14.285%);background-size:14.285% 100%}
.mof-plan-job{position:absolute;top:9px;height:56px;border-radius:6px;border:1px solid #1760b8;background:linear-gradient(135deg,#0a3974,#0a2a58);color:#fff;text-align:left;padding:7px 9px;overflow:hidden;cursor:pointer;box-shadow:0 6px 16px rgba(0,0,0,.2)}.mof-plan-job.green{border-color:#1b9b59;background:linear-gradient(135deg,#10673d,#0b4b2d)}.mof-plan-job.purple{border-color:#7045bb;background:linear-gradient(135deg,#47257d,#35205d)}.mof-plan-job.orange{border-color:#be6012;background:linear-gradient(135deg,#7e3c0a,#5a2d0c)}.mof-plan-job.cyan{border-color:#2686aa;background:linear-gradient(135deg,#16506a,#123e52)}.mof-plan-job.selected{box-shadow:0 0 0 2px #65b5ff,0 8px 18px rgba(0,0,0,.25)}.mof-plan-job small{display:block;font-size:10px;opacity:.9}.mof-plan-job b{display:block;font-size:13.5px;margin:3px 0}.mof-plan-job em{font-size:10px;font-style:normal;opacity:.85;white-space:nowrap}
.mof-plan-track-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#5c7488;font-size:13.5px;font-style:italic;pointer-events:none}
.mof-plan-unassigned{padding-bottom:14px}.mof-unassigned-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:12px}.mof-unassigned-card{position:relative;border:1px solid #14344d;background:#091e31;border-radius:9px;padding:12px;color:#eaf1f8;cursor:pointer}.mof-unassigned-card.selected{border-color:#1687ff}.mof-unassigned-card h3{font-size:14.5px;margin:9px 0}.mof-unassigned-card p{font-size:11px;color:#879bad}.mof-unassigned-card dl{display:grid;grid-template-columns:auto 1fr;gap:5px 8px;font-size:11px}.mof-unassigned-card dt{color:#7e93a6}.mof-unassigned-card dd{margin:0}.mof-unassigned-card .btn{width:100%;min-height:34px;margin-top:10px}.mof-unassigned-x{position:absolute;right:8px;top:8px;border:0;background:none;color:#9baabc;font-size:22px}.mof-priority{font-size:10px;border-radius:20px;padding:4px 7px;background:#113558;color:#68b6ff}.mof-priority.express{background:#0c4739;color:#43df9d}.mof-priority.urgent{background:#53241f;color:#ff8a70}.mof-contact-count{font-size:12.5px}
.mof-plan-suggestions{padding-bottom:12px}.mof-suggestion-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:12px}.mof-suggestion-grid article{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:10px;border:1px solid #14344d;background:#091e31;border-radius:9px;padding:10px}.mof-suggestion-grid article>i{width:38px;height:38px;border-radius:8px;display:grid;place-items:center;font-style:normal;background:#2a1750;color:#b989ff}.mof-suggestion-grid i.green{background:#0b3d2c;color:#48df9a}.mof-suggestion-grid i.orange{background:#4a2c0b;color:#ff9d28}.mof-suggestion-grid b{font-size:12.5px}.mof-suggestion-grid p{font-size:10px;color:#879bad;margin:5px 0 0;line-height:1.45}.mof-suggestion-grid button{border:1px solid #1d4562;background:#071a2b;color:#d7e4ee;border-radius:6px;padding:8px;font-size:11px}
.mof-planning-right{display:grid;gap:12px;position:sticky;top:14px}.mof-planning-map-card #mof-planning-map{height:390px;background:#061624}.mof-plan-map-fallback{height:100%;display:grid;place-items:center;align-content:center;gap:7px;color:#7f94a8}.mof-plan-map-fallback b{color:#e7eff7}.mof-plan-map-fallback span{font-size:12.5px;padding:0 25px;text-align:center}.mof-plan-side-head select{padding:6px 10px}
.mof-planning-detail{padding-bottom:14px}.mof-plan-status{font-size:11px;border-radius:20px;padding:5px 8px;background:#0b3c2d;color:#53dc9c}.mof-plan-status.unassigned{background:#433414;color:#ffcf57}.mof-plan-status.done{background:#15374a;color:#65c9ff}.mof-plan-status.cancelled{background:#4b2228;color:#ff7d88}.mof-plan-driver-head{display:flex;gap:12px;align-items:center;padding:18px}.mof-plan-driver-head div{display:grid;gap:4px}.mof-plan-driver-head b{font-size:15.5px}.mof-plan-driver-head small{font-size:12.5px;color:#8195a7}.mof-plan-stops{padding:4px 18px 14px}.mof-plan-stops>div{display:grid;grid-template-columns:44px 14px 1fr;gap:9px;align-items:start;min-height:66px;position:relative}.mof-plan-stops>div:not(:last-child):after{content:"";position:absolute;left:50px;top:15px;bottom:-3px;width:1px;background:#1d7bd5}.mof-plan-stops time{font-size:12.5px;color:#a4b5c4;margin-top:2px}.mof-plan-stops i{width:10px;height:10px;border-radius:50%;background:#1687ff;border:2px solid #0b3157;z-index:1}.mof-plan-stops i.green{background:#25cc76;border-color:#0b4a2f}.mof-plan-stops span{display:grid}.mof-plan-stops b{font-size:13.5px}.mof-plan-stops small{font-size:11px;color:#8396a7;margin-top:4px}.mof-plan-route-kpis{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #102f48;border-bottom:1px solid #102f48;padding:14px 18px}.mof-plan-route-kpis span{display:grid;gap:5px}.mof-plan-route-kpis small,.mof-plan-note small{font-size:11px;color:#7e92a5}.mof-plan-route-kpis b{font-size:15.5px}.mof-plan-note{padding:12px 18px;display:grid;gap:5px}.mof-plan-note b,.mof-plan-note p{font-size:12.5px;margin:0;color:#dbe6ee}.mof-plan-detail-actions{display:grid;gap:8px;padding:12px 18px}.mof-plan-detail-actions .btn{width:100%}.mof-plan-empty-detail{padding:50px 24px;text-align:center;color:#7b90a4;font-size:13.5px}.mof-plan-coords{border:1px solid #173b57;border-radius:8px;padding:10px}.mof-plan-coords summary{cursor:pointer;color:#90a7ba;font-size:13.5px}
.mof-plan-stops i.amber{background:#ffbd3e;border-color:#4a3b0b}
.mof-plan-extra-stops{display:grid;gap:8px;margin:-6px 0 10px}
.mof-plan-extra-stop-row{display:grid;grid-template-columns:20px 1fr 1fr 30px;gap:8px;align-items:center}
.mof-plan-extra-stop-n{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:rgba(255,189,62,.15);border:1px solid rgba(255,189,62,.35);color:#ffcf72;font-size:12.5px;font-weight:800}
.mof-plan-extra-stop-row input{border:1px solid #214b67;background:#061521;color:#f2f7fb;border-radius:9px;padding:10px 12px;font-size:15.5px;width:100%}
.mof-plan-remove-stop{width:30px;height:30px;border-radius:8px;border:1px solid #4a2228;background:rgba(255,93,111,.1);color:#ff929d;font-size:15.5px;cursor:pointer}
.mof-plan-add-stop{margin-bottom:14px}
@media(max-width:1300px){.mof-planning-layout{grid-template-columns:1fr}.mof-planning-right{position:static;grid-template-columns:1fr 1fr}.mof-unassigned-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:850px){.mof-plan-time-head{display:none}.mof-plan-driver-row{grid-template-columns:160px 1fr}.mof-plan-driver{padding:10px}.mof-planning-right{grid-template-columns:1fr}.mof-suggestion-grid,.mof-unassigned-grid{grid-template-columns:1fr}.mof-plan-controls{flex-wrap:wrap}.mof-plan-job{position:relative!important;left:auto!important;width:auto!important;display:inline-block;margin:6px}.mof-plan-track{display:flex;flex-wrap:wrap;align-items:center;padding:4px}}@media(max-width:560px){.mof-plan-driver-row{grid-template-columns:1fr}.mof-plan-driver{border-right:0;border-bottom:1px solid #102e45}.mof-planning-page h1{font-size:29px}}


/* ===== Planowanie v73 — korekta po porównaniu 1:1 z wizualizacją ===== */
body #app .admin-shell .admin-content:has(.mof-planning-page){padding:18px 20px 24px!important}
body #app .admin-shell .mof-planning-page{max-width:none!important;width:100%!important;margin:0!important}
body #app .admin-shell .mof-planning-layout{grid-template-columns:minmax(0,2.45fr) minmax(350px,.92fr)!important;gap:16px!important}
body #app .admin-shell .mof-planning-main{gap:12px!important}
body #app .admin-shell .mof-planning-right{gap:10px!important;top:8px!important}
body #app .admin-shell .mof-planning-top h1{font-size:31.5px!important}
body #app .admin-shell .mof-plan-controls{margin:20px 0 14px!important;gap:9px!important}
body #app .admin-shell .mof-plan-section-head,body #app .admin-shell .mof-plan-side-head{min-height:48px!important;padding:0 15px!important}
body #app .admin-shell .mof-plan-time-head{height:34px!important}
body #app .admin-shell .mof-plan-driver-row{min-height:68px!important;grid-template-columns:185px 1fr!important}
body #app .admin-shell .mof-plan-track{min-height:68px!important;overflow:visible!important}
body #app .admin-shell .mof-plan-driver{padding:9px 13px!important}
body #app .admin-shell .mof-plan-driver>i{width:32px!important;height:32px!important}
body #app .admin-shell .mof-planning-map-card #mof-planning-map{height:clamp(265px,32vh,330px)!important;min-height:265px!important}
body #app .admin-shell .mof-planning-detail{max-height:calc(100vh - 420px)!important;min-height:248px!important;overflow:auto!important}
body #app .admin-shell .mof-plan-driver-head{padding:12px 15px!important}
body #app .admin-shell .mof-plan-stops{padding:2px 15px 7px!important}
body #app .admin-shell .mof-plan-stops>div{min-height:49px!important}
body #app .admin-shell .mof-plan-route-kpis{padding:9px 15px!important}
body #app .admin-shell .mof-plan-detail-actions{padding:8px 15px!important}
body #app .admin-shell .mof-plan-note{padding:7px 15px!important}
body #app .admin-shell .mof-unassigned-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;padding:10px!important}
body #app .admin-shell .mof-unassigned-card{padding:10px!important}
body #app .admin-shell .mof-suggestion-grid{padding:10px!important}
body #app .admin-shell .mof-suggestion-grid article{padding:9px!important}
body #app .admin-shell .mof-plan-suggestions{padding-bottom:9px!important}
body #app .admin-shell .mof-plan-routebar{position:absolute;top:34px;height:2px;background:#1687ff;z-index:1;border-radius:2px;opacity:.95}
body #app .admin-shell .mof-plan-routebar:before,body #app .admin-shell .mof-plan-routebar:after{content:"";position:absolute;top:-3px;width:8px;height:8px;border-radius:50%;background:inherit}
body #app .admin-shell .mof-plan-routebar:before{left:-3px}body #app .admin-shell .mof-plan-routebar:after{right:-3px}
body #app .admin-shell .mof-plan-routebar.green{background:#23c972}body #app .admin-shell .mof-plan-routebar.purple{background:#9b5cff}body #app .admin-shell .mof-plan-routebar.orange{background:#ff7a18}body #app .admin-shell .mof-plan-routebar.cyan{background:#36c9dd}
body #app .admin-shell .mof-plan-routebar.selected{height:3px;box-shadow:0 0 9px currentColor}
body #app .admin-shell .mof-plan-stop-card{position:absolute;top:7px;width:110px;min-height:54px;z-index:2;transform:translateX(-8%);border:1px solid #1760b8;border-radius:6px;background:linear-gradient(135deg,#0a3974,#0a2a58);color:#fff;text-align:left;padding:6px 8px;overflow:hidden;cursor:pointer;box-shadow:0 5px 13px rgba(0,0,0,.22)}
body #app .admin-shell .mof-plan-stop-card.end{transform:translateX(-92%)}body #app .admin-shell .mof-plan-stop-card.green{border-color:#1b9b59;background:linear-gradient(135deg,#10673d,#0b4b2d)}body #app .admin-shell .mof-plan-stop-card.purple{border-color:#7045bb;background:linear-gradient(135deg,#47257d,#35205d)}body #app .admin-shell .mof-plan-stop-card.orange{border-color:#be6012;background:linear-gradient(135deg,#7e3c0a,#5a2d0c)}body #app .admin-shell .mof-plan-stop-card.cyan{border-color:#2686aa;background:linear-gradient(135deg,#16506a,#123e52)}
body #app .admin-shell .mof-plan-stop-card.selected{box-shadow:0 0 0 2px #65b5ff,0 7px 16px rgba(0,0,0,.3)}
body #app .admin-shell .mof-plan-stop-card small{display:block;font-size:9.5px;opacity:.9}body #app .admin-shell .mof-plan-stop-card b{display:block;font-size:12.5px;margin:2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body #app .admin-shell .mof-plan-stop-card em{display:block;font-size:9.5px;font-style:normal;opacity:.83;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1350px){body #app .admin-shell .mof-planning-layout{grid-template-columns:minmax(0,1fr) 340px!important}body #app .admin-shell .mof-unassigned-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:1050px){body #app .admin-shell .mof-planning-layout{grid-template-columns:1fr!important}body #app .admin-shell .mof-planning-right{position:static!important;grid-template-columns:1fr 1fr!important}body #app .admin-shell .mof-planning-detail{max-height:none!important}}


/* ===== Planowanie v74 — pełna szerokość + wszystkie trasy na mapie =====
   v86: menu boczne na Planowaniu zwężało się do 185px (ze standardowych 236px),
   przez co dłuższe nazwy pozycji menu łamały się na dwie linijki i całe menu
   nagle wyglądało na "zmniejszone" przy przejściu na tę stronę. Na życzenie
   użytkownika menu ma teraz zawsze tę samą, stałą szerokość -- Planowanie
   dostaje odrobinę mniej miejsca na treść zamiast robić ten nagły skok. */
body #app .admin-shell .admin-body:has(.mof-planning-page){
  display:grid!important;
  grid-template-columns:236px minmax(0,1fr)!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
body #app .admin-shell .admin-body:has(.mof-planning-page) .admin-content{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  box-sizing:border-box!important;
}
body #app .admin-shell .admin-content:has(.mof-planning-page){
  padding:18px 16px 24px!important;
}
body #app .admin-shell .mof-planning-page{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
}
body #app .admin-shell .mof-planning-layout{
  width:100%!important;
  grid-template-columns:minmax(0,1fr) minmax(390px,440px)!important;
  gap:14px!important;
}
body #app .admin-shell .mof-planning-main,
body #app .admin-shell .mof-planning-right{
  min-width:0!important;
  width:100%!important;
}
body #app .admin-shell .mof-planning-right{
  justify-self:stretch!important;
  position:sticky!important;
  top:8px!important;
}
body #app .admin-shell .mof-planning-map-card,
body #app .admin-shell .mof-planning-detail{
  width:100%!important;
  box-sizing:border-box!important;
}
body #app .admin-shell .mof-planning-map-card #mof-planning-map{
  width:100%!important;
  height:318px!important;
  min-height:318px!important;
}
body #app .admin-shell .mof-planning-detail{
  min-height:300px!important;
  max-height:calc(100vh - 410px)!important;
}
body #app .admin-shell .mof-plan-stops i{
  background:var(--plan-route-color,#1687ff)!important;
  border-color:color-mix(in srgb,var(--plan-route-color,#1687ff) 45%,#061724)!important;
}
body #app .admin-shell .mof-plan-stops>div:not(:last-child):after{
  background:var(--plan-route-color,#1687ff)!important;
}
body #app .admin-shell .mof-plan-status.planned{
  border:1px solid color-mix(in srgb,var(--plan-route-color,#1687ff) 45%,transparent)!important;
}
@media(min-width:1500px){
 body #app .admin-shell .mof-planning-layout{
   grid-template-columns:minmax(0,1fr) 430px!important;
 }
}
@media(max-width:1120px){
 body #app .admin-shell .mof-planning-layout{grid-template-columns:1fr!important}
 body #app .admin-shell .mof-planning-right{position:static!important;grid-template-columns:1fr 1fr!important}
 body #app .admin-shell .mof-planning-detail{max-height:none!important}
}

/* ===== Planowanie — poprawka telefonu (v75) =====
   Boczna siatka strony Planowania (185px sidebar + treść) miała twarde !important
   bez media query, więc na telefonie wygrywała z regułą ogólną, która na ≤760px
   normalnie zamienia układ w jedną kolumnę (a menu w poziomy pasek zakładek).
   Podobnie karty postoju na osi czasu (.mof-plan-stop-card) są position:absolute
   bez wariantu mobilnego, więc przy złamaniu osi czasu na ≤850px nakładały się na
   siebie zamiast ułożyć się w listę/siatkę. Poniżej realne poprawki, bez ruszania
   układu desktopowego. */
@media(max-width:760px){
 body #app .admin-shell .admin-body:has(.mof-planning-page){
   display:block!important;
   width:auto!important;
   max-width:none!important;
 }
 /* Szerokość .admin-nav na telefonie ustawia teraz ogólna reguła szuflady (patrz sekcja
    "responsive app shell" niżej) -- nie nadpisujemy jej tu, żeby szuflada wyglądała tak samo
    na każdej stronie, także na Planowaniu. */
}
@media(max-width:850px){
 body #app .admin-shell .mof-plan-driver-row{grid-template-columns:160px 1fr!important}
 body #app .admin-shell .mof-plan-stop-card{
   position:static!important;
   top:auto!important;
   left:auto!important;
   transform:none!important;
   width:calc(50% - 6px)!important;
   margin:3px!important;
   box-sizing:border-box!important;
 }
 body #app .admin-shell .mof-plan-routebar{display:none!important}
 body #app .admin-shell .mof-planning-top h1{font-size:26px!important}
 body #app .admin-shell .mof-planning-top{padding-right:0!important}
}
@media(max-width:560px){
 body #app .admin-shell .mof-plan-driver-row{grid-template-columns:1fr!important}
 body #app .admin-shell .mof-plan-stop-card{width:100%!important;margin:3px 0!important}
 body #app .admin-shell .mof-planning-top h1{font-size:22px!important}
}

/* === theme.v362.css === */
/* MOF v362 readability + consistency layer.
   Loaded after theme.v361.css. Intentionally conservative: no layout rewrite. */
:root{
  --mof-ui-text:14px;
  --mof-ui-small:12px;
  --mof-ui-micro:11px;
  --mof-control-h:38px;
  --mof-radius:10px;
}

/* Controls: same rhythm across admin/app/modal without changing markup. */
body #app :is(.admin-shell,.app-shell,.modal) :is(input,select,textarea){
  min-height:var(--mof-control-h);
  font-size:16.5px!important;
  line-height:1.35;
}
body #app :is(.admin-shell,.app-shell,.modal) :is(.btn,button.mini-action,button.filter){
  min-height:34px;
}
body #app :is(.admin-shell,.app-shell) :is(.muted,small,.hint){line-height:1.45}

/* The old theme contains 6–10px operational text. Keep the dense UI, remove unreadable sizes. */
body #app :is(
  .calendar-view-tabs button,.calendar-empty-side,.calendar-event span,.calendar-event b,.calendar-event small,
  .calendar-more,.calendar-week-column header b,.calendar-no-events,.agenda-event small,.agenda-event span,
  .issue-company-table>summary small,.passport-data-list dt,.passport-data-list dd,.passport-mileage-card>span,
  .passport-mileage-card strong small,.passport-mileage-card p,.passport-upcoming-row b,.passport-upcoming-row small,
  .passport-history-item time,.passport-history-item b,.passport-history-item p
){font-size:var(--mof-ui-micro)!important}

/* Better keyboard focus without changing mouse appearance. */
body #app :is(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:2px solid #3ca0ff!important;
  outline-offset:2px!important;
}

/* Prevent long identifiers/e-mails from blowing up cards and tables. */
body #app :is(td,th,.card,.panel,.modal,.detail-row){overflow-wrap:anywhere}

/* Mobile touch targets. */
@media(max-width:720px){
  body #app :is(.btn,button,.mini-action,.filter){min-height:40px}
  body #app :is(input,select,textarea){font-size:20px!important}
}


/* === theme.v363.css === */
/* MOF v363 — UI consistency & readability layer
   Static-only sprint: no business logic, no API changes. */
:root{
  --mof-bg:#06131f;
  --mof-panel:#081b29;
  --mof-panel-2:#0a2030;
  --mof-line:#173d56;
  --mof-line-soft:#133348;
  --mof-text:#eaf4fa;
  --mof-muted:#7897aa;
  --mof-accent:#269bff;
  --mof-danger:#f06464;
  --mof-success:#31c87d;
  --mof-warning:#e3a51f;
  --mof-radius-sm:8px;
  --mof-radius:12px;
  --mof-radius-lg:16px;
  --mof-shadow:0 12px 34px rgba(0,0,0,.16);
  --mof-control-h:40px;
}

/* Base rhythm */
body #app{font-size:18px}
body #app .admin-shell{background:var(--mof-bg);color:var(--mof-text)}
body #app .admin-content{min-width:0}
body #app .admin-content > :first-child{margin-top:0}
body #app :is(h1,h2,h3,h4){text-wrap:balance}
body #app :is(p,small,.muted,.hint){line-height:1.5}

/* Top bar */
body #app .admin-top{
  min-height:58px!important;
  padding:0 18px!important;
  border-bottom:1px solid var(--mof-line-soft)!important;
  background:rgba(4,17,28,.96)!important;
  backdrop-filter:blur(14px);
  position:sticky;
  top:0;
  z-index:80;
}
body #app .admin-top>div:last-child{gap:10px!important}
body #app .admin-top>div:last-child>span{font-size:14.5px!important;color:#86a5b7!important}
body #app .admin-top .btn{min-height:34px!important}

/* Navigation — clearer without making it bulky */
body #app .admin-shell .admin-nav{
  padding:14px 10px 18px!important;
  background:linear-gradient(180deg,#04131f 0%,#04101a 100%)!important;
  border-right:1px solid var(--mof-line-soft)!important;
  scrollbar-width:thin;
}
body #app .admin-shell .admin-nav>b{
  display:block;
  padding:7px 9px 12px!important;
  font-size:13.5px!important;
  letter-spacing:.08em!important;
  color:#a7bfd0!important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body #app .admin-shell .admin-nav>a{
  min-height:44px!important;
  margin:2px 0!important;
  padding:9px 12px!important;
  gap:16px!important;
  border:1px solid transparent!important;
  border-radius:9px!important;
  color:#87a4b7!important;
  font-size:13.5px!important;
  line-height:1.2!important;
  transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease!important;
}
body #app .admin-shell .admin-nav>a:hover{
  background:#0a2030!important;
  color:#dbeaf3!important;
  border-color:#17394f!important;
  transform:translateX(1px);
}
body #app .admin-shell .admin-nav>a.active{
  background:linear-gradient(90deg,rgba(24,119,220,.24),rgba(18,77,130,.15))!important;
  color:#f3f9fc!important;
  border-color:#1e5f94!important;
  box-shadow:inset 3px 0 0 var(--mof-accent)!important;
}
body #app .admin-shell .admin-nav>a svg{opacity:.9}
body #app .admin-shell .nav-badge{min-width:18px;height:18px;display:inline-grid;place-items:center;font-size:12.5px!important;border-radius:999px}

/* Common page headers/toolbars */
body #app :is(.app-header,.saas37-head,.gps-topbar,.issues-toolbar,.worktime-toolbar,.calendar-toolbar,.manage-toolbar,.finance-toolbar,.mof-logs-toolbar,.mof-notifications-toolbar){
  gap:14px!important;
}
body #app :is(.app-header,.saas37-head,.gps-topbar) h1{font-size:28px!important;line-height:1.15!important;letter-spacing:-.02em}
body #app :is(.app-header,.saas37-head,.gps-topbar) p{font-size:15.5px!important;color:#7897aa!important}

/* Cards */
body #app :is(.panel-card,.settings-card,.record-card,.gps-history-card,.gps-detail-card,.worktime-calendar-card,.work-clock-card,.work-summary-card,.mof-finance-card,.mof-notifications-panel,.mof-logs-panel,.ai-context-card){
  border-color:var(--mof-line)!important;
  border-radius:var(--mof-radius)!important;
  background:linear-gradient(145deg,#091d2c,#071823)!important;
  box-shadow:0 6px 22px rgba(0,0,0,.09)!important;
}
body #app .panel-card:hover{border-color:#21506c!important}
body #app .card-title{min-height:46px;gap:10px}
body #app .card-title :is(b,h3){font-size:16.5px!important;color:#edf6fb!important}
body #app .card-title :is(span,small,a){font-size:13.5px!important}

/* Dashboard */
body #app .mof-dashboard-v28{gap:16px!important;margin-top:4px!important}
body #app .mof-dash-kpis{gap:12px!important}
body #app .mof-dash-kpi{
  min-height:118px!important;
  padding:17px 18px!important;
  border-radius:var(--mof-radius)!important;
  background:linear-gradient(145deg,#0a2030,#071823)!important;
  box-shadow:0 7px 22px rgba(0,0,0,.1)!important;
}
body #app .mof-dash-kpi:hover{transform:translateY(-2px)!important;box-shadow:var(--mof-shadow)!important}
body #app .mof-dash-kpi small{font-size:14.5px!important;color:#89a5b6!important}
body #app .mof-dash-kpi b{font-size:34.5px!important;letter-spacing:-.03em}
body #app .mof-dash-kpi em{font-size:13.5px!important;line-height:1.35!important;color:#7290a2!important}
body #app .mof-dash-card{border-radius:var(--mof-radius)!important;box-shadow:0 7px 25px rgba(0,0,0,.1)!important}
body #app .mof-dash-card-head{min-height:62px!important;padding:13px 16px!important}
body #app .mof-dash-card-head small{font-size:12.5px!important;letter-spacing:.09em!important}
body #app .mof-dash-card-head h3{font-size:18px!important}
body #app .mof-dash-card-head a{font-size:13.5px!important}
body #app .mof-dash-chip{font-size:12.5px!important;padding:5px 8px!important}
body #app .mof-dash-chart-labels{font-size:12.5px!important}
body #app .mof-dash-donut>div small{font-size:12.5px!important}
body #app .mof-dash-legend span{font-size:13.5px!important}
body #app .mof-dash-legend b{font-size:14.5px!important}
body #app .mof-dash-feed-row{min-height:62px!important;padding:10px 4px!important;border-radius:7px}
body #app .mof-dash-feed-row:hover{background:#0b2435!important}
body #app .mof-dash-feed-row b{font-size:14.5px!important}
body #app .mof-dash-feed-row small{font-size:12.5px!important}
body #app .mof-dash-feed-row time{font-size:13.5px!important}
body #app .mof-dash-empty{font-size:14.5px!important}

/* Tables and dense rows */
body #app :is(.table-head,.issue-table-head,.gps-history-table-head,.finance-table thead th,.audit-table thead th,.work-summary-table thead th,.client-invoice-table thead th){
  font-size:13.5px!important;
  letter-spacing:.04em;
  color:#87a6b9!important;
}
body #app :is(.table-row,.issue-table-row,.gps-trip-row,.finance-table tbody tr,.audit-table tbody tr,.work-summary-table tbody tr,.client-invoice-table tbody tr){
  min-height:48px;
}
body #app :is(td,th){line-height:1.4}
body #app :is(.issue-table-wrap,.finance-table,.audit-table,.work-summary-table,.client-invoice-table,.mof-contact-table){
  scrollbar-width:thin;
}

/* Forms */
body #app :is(input,select,textarea){
  min-height:var(--mof-control-h)!important;
  border-radius:8px!important;
  border-color:#21445c!important;
  background:#061a28!important;
  color:#e8f3f9!important;
  font-size:16.5px!important;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
body #app textarea{min-height:94px}
body #app :is(input,select,textarea):hover{border-color:#2b5874!important}
body #app :is(input,select,textarea):focus{
  border-color:#258de7!important;
  box-shadow:0 0 0 3px rgba(38,155,255,.12)!important;
  background:#071d2c!important;
}
body #app label{font-size:14.5px!important;color:#9ab2c1!important;gap:6px}
body #app label>small{font-size:12.5px!important;color:#69899d!important}
body #app ::placeholder{color:#56778b!important;opacity:1}

/* Buttons */
body #app .btn{
  min-height:36px!important;
  padding:8px 12px!important;
  border-radius:8px!important;
  font-size:14.5px!important;
  font-weight:700!important;
  letter-spacing:.01em;
  transition:transform .12s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease!important;
}
body #app .btn:hover{transform:translateY(-1px)}
body #app .btn:active{transform:translateY(0)}

/* Modals */
body #app .modal-backdrop:not(:has(.mof-call-stage)){
  background:rgba(0,8,14,.72)!important;
  backdrop-filter:blur(8px);
  padding:20px!important;
}
body #app .modal:not(:has(.mof-call-stage)){
  border-color:#214a64!important;
  border-radius:16px!important;
  box-shadow:0 26px 80px rgba(0,0,0,.42)!important;
}
body #app .modal:not(:has(.mof-call-stage)) .modal-actions{
  padding-top:14px!important;
  border-top:1px solid #16364a;
  gap:8px!important;
}
body #app .modal-close{min-width:34px!important;min-height:34px!important;border-radius:8px!important}

/* Statuses & empty states */
body #app .empty-state{
  padding:28px 20px!important;
  color:#7695a8!important;
  font-size:14.5px!important;
  line-height:1.55!important;
}
body #app :is(.tiny-status,.saas-status,.mof-plan-status){font-size:12.5px!important;line-height:1.2}

/* Planning: readability only; do not alter route geometry */
body #app .admin-shell .mof-plan-stop-card small,
body #app .admin-shell .mof-plan-stop-card em{font-size:11px!important}
body #app .admin-shell .mof-plan-stop-card b{font-size:13.5px!important}
body #app .admin-shell .mof-planning-detail{scrollbar-width:thin}
body #app .admin-shell .mof-planning-page :is(.mof-plan-driver-head,.mof-plan-job,.mof-unassigned-card){line-height:1.35}

/* GPS */
body #app .gps-sidebar-title b{font-size:15.5px!important}
body #app .gps-sidebar-title span{font-size:13.5px!important}
body #app .gps-topbar p{font-size:14.5px!important}

/* Better focus & motion preferences */
body #app :is(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:2px solid #55adf8!important;
  outline-offset:2px!important;
}
@media(prefers-reduced-motion:reduce){
  body #app *,body #app *:before,body #app *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* Responsive app shell */
@media(max-width:1100px){
  body #app .mof-dash-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body #app .mof-dash-charts{grid-template-columns:1fr!important}
}
/* ===== Nowa powłoka panelu (v76) — sidebar na całą wysokość z własnym nagłówkiem + górny pasek
   z wyszukiwarką przy treści, zamiast jednego paska nad całością. Struktura DOM:
   .admin-shell > .admin-body > (.admin-nav, .admin-main > (.admin-top, .admin-content))
   .admin-body dalej ma dokładnie 2 kolumny (sidebar, reszta) -- cała logika szerokości/mobile,
   którą już mamy (siatka 236px/1fr, złamanie na ≤760px, wyjątek Planowania) działa bez zmian. */
body #app .admin-shell .admin-nav{
  display:flex!important;
  flex-direction:column!important;
  position:sticky!important;
  top:0!important;
  height:100vh!important;
  height:100dvh!important;
  overflow-y:auto!important;
  scrollbar-width:thin;
  scrollbar-color:#244f69 transparent;
}
body #app .admin-shell .admin-nav-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:0 4px 12px;
  margin-bottom:4px;
  border-bottom:1px solid var(--mof-line-soft);
  flex:0 0 auto;
}
/* logo() renderuje pełny znak (ikona + CARROVA + hasło "Inteligentne zarządzanie flotą")
   zaprojektowany do szerokiego paska -- w wąskim (236px) nagłówku menu bocznego trzeba go
   skalować tak samo jak już się to robi w .admin-top, inaczej hasło nachodzi na wordmark. */
body #app .admin-shell .admin-nav-top .brand{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden}
body #app .admin-shell .admin-nav-top .brand-icon{width:26px;height:26px;border-radius:7px}
body #app .admin-shell .admin-nav-top .brandmark{font-size:19px;letter-spacing:-1.3px}
body #app .admin-shell .admin-nav-top .brandtext{display:none}
body #app .admin-nav-collapse{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  border:1px solid var(--mof-line-soft);
  border-radius:7px;
  background:transparent;
  color:#8fa5ba;
  font-size:13px;
  flex:0 0 auto;
  transition:transform .2s;
}
body #app .admin-nav-section{
  margin:14px 8px 6px;
  font-size:10.5px;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:#5c7488;
  flex:0 0 auto;
}
body #app .admin-nav-help{
  margin-top:auto;
  flex:0 0 auto;
  padding:14px;
  border:1px solid var(--mof-line-soft);
  border-radius:12px;
  background:rgba(255,255,255,.03);
  display:grid;
  gap:6px;
}
body #app .admin-nav-help small{color:#7f97aa;font-size:11.5px}
body #app .admin-nav-help b{font-size:13px;color:#e7eff7;font-weight:700;line-height:1.35}
body #app .admin-nav-help .btn{width:100%;justify-content:center;margin-top:2px}
body #app .admin-main{min-width:0}
/* Górny pasek: wyszukiwarka na środku, dzwonek/firma/profil po prawej. Logo zostało w sidebarze,
   więc pasek już go nie potrzebuje (poza mobile, gdzie sidebar jest schowaną szufladą). */
body #app .admin-top{justify-content:space-between;gap:16px}
body #app .admin-top-brand{display:none}
body #app .admin-search{
  display:flex;
  align-items:center;
  gap:9px;
  flex:1;
  max-width:520px;
  height:40px;
  padding:0 14px;
  border:1px solid var(--mof-line-soft);
  border-radius:10px;
  background:rgba(255,255,255,.03);
  color:#8fa5ba;
}
body #app .admin-search-ico{display:flex;flex:0 0 auto;opacity:.8}
body #app .admin-search input{
  flex:1;
  border:0;
  background:transparent;
  color:#edf6ff;
  font-size:14px;
  min-width:0;
}
body #app .admin-search input::placeholder{color:#5c7488}
body #app .admin-search kbd{
  flex:0 0 auto;
  font:inherit;
  font-size:11px;
  color:#7f97aa;
  border:1px solid var(--mof-line-soft);
  border-radius:6px;
  padding:2px 6px;
}
body #app .admin-top-right{display:flex;align-items:center;gap:10px;flex:0 0 auto}
body #app .admin-bell-btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border:1px solid var(--mof-line-soft);
  border-radius:10px;
  color:#c4d5e2;
  flex:0 0 auto;
}
body #app .admin-bell-btn .nav-badge{position:absolute;top:-6px;right:-6px}
body #app .admin-company-pill{
  display:flex;
  align-items:center;
  gap:6px;
  height:38px;
  padding:0 13px;
  border:1px solid var(--mof-line-soft);
  border-radius:10px;
  background:rgba(255,255,255,.03);
  color:#c4d5e2;
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
  cursor:default;
}
body #app .admin-company-pill i{font-style:normal;color:#5c7488}
body #app .admin-profile-btn{
  display:flex;
  align-items:center;
  gap:9px;
  height:38px;
  padding:0 10px 0 4px;
  border:1px solid transparent;
  border-radius:10px;
  background:transparent;
  color:#edf6ff;
  text-align:left;
}
body #app .admin-profile-btn:hover{background:rgba(255,255,255,.05);border-color:var(--mof-line-soft)}
body #app .admin-avatar{
  display:flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--mof-blue),var(--mof-blue-2));
  color:#fff;
  font-size:12px;
  font-weight:800;
  flex:0 0 auto;
}
body #app .admin-profile-meta{display:grid;line-height:1.25}
body #app .admin-profile-meta b{font-size:13px;font-weight:700;color:#edf6ff}
body #app .admin-profile-meta small{font-size:11px;color:#7f97aa}
body #app .admin-logout-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border:1px solid var(--mof-line-soft);
  border-radius:10px;
  background:transparent;
  color:#c4d5e2;
  font-size:16px;
  flex:0 0 auto;
}
/* Zwinięcie sidebara do samych ikon (przycisk « przy logo) -- tylko desktop; na telefonie sidebar
   to i tak schowana szuflada, więc tryb "rail" tam nic by nie znaczył. */
@media(min-width:761px){
  body #app .admin-shell.mof-nav-rail .admin-body{grid-template-columns:72px 1fr!important}
  body #app .admin-shell.mof-nav-rail .admin-nav{width:72px!important;padding-left:10px!important;padding-right:10px!important}
  body #app .admin-shell.mof-nav-rail .admin-nav-collapse{transform:rotate(180deg)}
  body #app .admin-shell.mof-nav-rail .admin-nav-top{flex-direction:column;justify-content:center;gap:10px;padding:2px 0 12px}
  body #app .admin-shell.mof-nav-rail .admin-nav-top .brandtext,
  body #app .admin-shell.mof-nav-rail .admin-nav-top .brandmark{display:none!important}
  body #app .admin-shell.mof-nav-rail .admin-nav>b,
  body #app .admin-shell.mof-nav-rail .admin-nav-section,
  body #app .admin-shell.mof-nav-rail .admin-nav-help,
  body #app .admin-shell.mof-nav-rail .admin-nav>a span,
  body #app .admin-shell.mof-nav-rail .admin-nav>a .nav-badge{display:none!important}
  body #app .admin-shell.mof-nav-rail .admin-nav>a{justify-content:center!important}
}
/* Tło-nakładka szuflady menu na telefonie: musi być display:none już poza media query,
   inaczej na desktopie (gdzie nie ma dla niej reguły spoza @media) bierze domyślne
   display:block i wchodzi jako dodatkowy element .admin-body w siatce grid, przez co
   .admin-nav i .admin-main przesuwają się o jedną kolumnę (błędne szerokości paneli). */
body #app .admin-nav-backdrop{display:none}
/* Przycisk-hamburger do rozwijanego menu bocznego na telefonie -- schowany na desktopie,
   pokazywany tylko w media query poniżej (gdzie menu boczne staje się szufladą). */
body #app .admin-nav-burger{
  display:none;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border:1px solid var(--mof-line-soft,#1e3a52);
  border-radius:9px;
  background:rgba(255,255,255,.04);
  color:#d6e3ed;
  flex:0 0 auto;
}
body #app .admin-nav-burger svg{width:19px;height:19px}
@media(max-width:760px){
  body #app .admin-top{padding:0 12px!important;min-height:54px!important;gap:10px!important}
  body #app .admin-nav-burger{display:inline-flex!important}
  body #app .admin-shell .admin-body{display:block!important}
  /* Menu boczne na telefonie: chowane szufladą (jak w panelu Kierowcy/Klienta), nie pasek zakładek u góry --
     dzięki temu mieszczą się pełne nazwy zakładek i nie trzeba przewijać w bok, żeby je zobaczyć. */
  body #app .admin-shell .admin-nav{
    position:fixed!important;
    top:0!important;
    left:-84vw!important;
    bottom:0!important;
    width:280px!important;
    max-width:84vw!important;
    min-width:0!important;
    height:100dvh!important;
    z-index:130!important;
    display:flex!important;
    flex-direction:column!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    gap:3px!important;
    padding:calc(env(safe-area-inset-top,0px) + 16px) 12px 16px!important;
    border-right:1px solid var(--mof-line-soft)!important;
    border-bottom:0!important;
    box-shadow:24px 0 60px rgba(0,0,0,.4)!important;
    transition:left .22s ease!important;
  }
  body #app .admin-shell.mof-nav-open .admin-nav{left:0!important}
  body #app .admin-shell .admin-nav>b{display:block!important;margin:2px 4px 8px!important}
  body #app .admin-shell .admin-nav>a{
    flex:0 0 auto!important;
    min-height:44px!important;
    padding:10px 12px!important;
    white-space:normal!important;
  }
  /* Nowa powłoka (v76) na telefonie: sidebar to i tak schowana szuflada, więc « do zwijania
     nie ma zastosowania, a wyszukiwarkę/dzwonek/pigułkę firmy chowamy -- header zostaje taki,
     jaki już był (hamburger + logo + kompaktowy profil), żeby nie psuć tego, co dopiero naprawione. */
  body #app .admin-nav-collapse{display:none!important}
  body #app .admin-search,
  body #app .admin-bell-btn,
  body #app .admin-company-pill{display:none!important}
  body #app .admin-top-brand{display:flex!important;align-items:center}
  body #app .admin-profile-meta{display:none!important}
  body #app .admin-profile-btn{padding:0!important;border:0!important}
  body #app .admin-top{gap:8px!important}
  body #app .admin-nav-backdrop{
    display:none;
    position:fixed;
    inset:0;
    background:rgba(2,9,16,.55);
    z-index:120;
  }
  body #app .admin-shell.mof-nav-open .admin-nav-backdrop{display:block!important}
  body #app .admin-content{padding:14px 10px 24px!important}
  body #app .mof-dash-kpis{grid-template-columns:1fr 1fr!important;gap:9px!important}
  body #app .mof-dash-kpi{min-height:105px!important;padding:13px!important;grid-template-columns:34px 1fr!important}
  body #app .mof-dash-kpi b{font-size:30.5px!important}
  body #app .mof-dash-bottom{grid-template-columns:1fr!important}
  body #app .mof-dash-donut-layout{grid-template-columns:1fr!important}
  body #app :is(input,select,textarea){font-size:20px!important}
  body #app .btn{min-height:42px!important}
  body #app .modal-backdrop:not(:has(.mof-call-stage)){padding:8px!important;align-items:flex-end!important}
  body #app .modal:not(:has(.mof-call-stage)){width:100%!important;max-height:92dvh!important;border-radius:16px 16px 8px 8px!important}
}
@media(max-width:480px){
  body #app .mof-dash-kpis{grid-template-columns:1fr!important}
  body #app .mof-dash-kpi{min-height:92px!important}
  body #app :is(.app-header,.saas37-head,.gps-topbar){align-items:flex-start!important}
  body #app :is(.app-header,.saas37-head,.gps-topbar) h1{font-size:25px!important}
}


/* === theme.v364.css + connection hotfix === */
/* MOF v364 — UX, accessibility & front-end quality layer.
   No API or business-logic changes. */

/* Accessibility helpers */
.mof-skip-link{
  position:fixed;left:12px;top:10px;z-index:10000;
  transform:translateY(-160%);padding:9px 13px;border-radius:8px;
  background:#eaf6ff;color:#03121f;font-weight:800;font-size:16.5px;
  box-shadow:0 8px 25px rgba(0,0,0,.3);transition:transform .15s ease;
}
.mof-skip-link:focus{transform:translateY(0);outline:3px solid #269bff;outline-offset:2px}
.mof-live-region{position:fixed!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
#mof-connection-status{
  position:fixed;z-index:9997;left:50%;bottom:18px;transform:translateX(-50%);
  width:min(620px,calc(100vw - 24px));padding:10px 14px;border:1px solid #8d6519;border-radius:10px;
  background:#31230b;color:#ffd982;font-size:15.5px;font-weight:700;text-align:center;
  box-shadow:0 12px 35px rgba(0,0,0,.35)
}
#mof-connection-status[hidden]{display:none!important}
#mof-connection-status.is-restored{border-color:#347a55;background:#102c1e;color:#baf3ce}

/* Better native interaction feedback */
body #app button:disabled,
body #app .btn:disabled,
body #app [aria-disabled="true"]{opacity:.52!important;cursor:not-allowed!important;transform:none!important;filter:saturate(.65)}
body #app form[aria-busy="true"] button[type="submit"]{cursor:progress!important}
body #app input:invalid:not(:placeholder-shown),
body #app textarea:invalid:not(:placeholder-shown),
body #app select:invalid:not(:focus){border-color:#8b4b4f!important}
body #app :is(input,select,textarea)[aria-invalid="true"]{border-color:#d75b63!important;box-shadow:0 0 0 3px rgba(215,91,99,.12)!important}

/* Toasts: clearer hierarchy, accessible state styling */
body>.toast{
  max-width:min(440px,calc(100vw - 24px));
  border:1px solid rgba(97,153,186,.35)!important;
  border-radius:11px!important;
  box-shadow:0 14px 42px rgba(0,0,0,.35)!important;
  line-height:1.45!important;
}
body>.toast.error{border-color:rgba(240,100,100,.55)!important}
body>.toast.warning{border-color:rgba(227,165,31,.5)!important}

/* Modal ergonomics */
/* .modal-grid renders inside modals appended directly to <body> (not #app), so it needs its
   own unscoped rule — this restores the intended 2/3-column compact layout for long forms. */
.modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.modal-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}
@media(max-width:640px){.modal-grid,.modal-grid-3{grid-template-columns:1fr}}
.mof-plan-route-calc{font-size:14.5px;padding:9px 12px;border-radius:9px;margin-top:-4px;background:#0d2131;border:1px solid #1c3547;color:#9fbcd1}
.mof-plan-route-calc.pending{color:#8aa3ba}
.mof-plan-route-calc.ok{color:#5fd39a;border-color:#1f4a38;background:#0c2119}
.mof-plan-route-calc.error{color:#e8a35c;border-color:#4a3a1f;background:#211a0c}
button[data-saas="planning-filter"].has-filters{color:#1683ff;border-color:#1683ff}

/* ===== Kontakty — powiększone szczegóły + sekcja w formularzu ===== */
.mof-detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px}
.mof-detail-meta p{margin:2px 0 0}
.modal-section-label{font-size:15.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:#7d97ab;margin:6px 0 -4px}

/* ===== Kategorie kontaktów — wybór emotki ===== */
.mof-emoji-field{display:flex}
.mof-emoji-picker{display:grid;grid-template-columns:repeat(10,1fr);gap:6px;margin:8px 0 4px}
.mof-emoji-picker button{
 background:#0d2131;border:1px solid #1c3547;border-radius:8px;font-size:21px;line-height:1;
 padding:7px 0;cursor:pointer;transition:.15s;
}
.mof-emoji-picker button:hover{border-color:#1683ff;background:#0f2a3f}
.mof-emoji-picker button.selected{border-color:#1683ff;background:#12314a;box-shadow:0 0 0 2px rgba(22,131,255,.25)}
@media(max-width:640px){.mof-emoji-picker{grid-template-columns:repeat(6,1fr)}}
body #app .modal:not(:has(.mof-call-stage)){overflow:auto;overscroll-behavior:contain}
body #app .modal:not(:has(.mof-call-stage)) h2{padding-right:42px;line-height:1.25}
body #app .modal-form{gap:13px!important}
body #app .modal-grid{gap:12px!important}
body #app .modal-actions{position:sticky;bottom:-1px;background:linear-gradient(180deg,rgba(7,24,35,.7),#071823 28%);z-index:2}
body #app .modal-close{z-index:4}

/* Tables: easier scanning without changing data layout */
body #app table{font-variant-numeric:tabular-nums}
body #app table tbody tr{transition:background .12s ease,border-color .12s ease}
body #app table tbody tr:hover{background:rgba(22,67,94,.19)}
body #app :is(td,th){vertical-align:middle}
body #app :is(.table-row,.issue-table-row,.gps-trip-row){transition:background .12s ease,border-color .12s ease}
body #app :is(.table-row,.issue-table-row,.gps-trip-row):hover{background:rgba(22,67,94,.16)!important}

/* Long text should never destroy cards/tables */
body #app :is(.panel-card,.settings-card,.record-card,.mof-dash-card,.modal,.admin-content,.app-content){min-width:0}
body #app :is(.panel-card,.settings-card,.record-card,.mof-dash-card,.modal) :is(p,span,small,b,strong,a){overflow-wrap:anywhere}
body #app code{overflow-wrap:anywhere;word-break:break-word}

/* Scrollbars kept subtle but visible */
body #app *{scrollbar-color:#244f69 #071722;scrollbar-width:thin}
body #app *::-webkit-scrollbar{width:9px;height:9px}
body #app *::-webkit-scrollbar-track{background:#071722}
body #app *::-webkit-scrollbar-thumb{background:#244f69;border:2px solid #071722;border-radius:999px}
body #app *::-webkit-scrollbar-thumb:hover{background:#2f6686}

/* Empty states and load indicators */
body #app :is(.empty-state,.mof-dash-empty){border-radius:10px}
body #app .map-loading{min-height:160px;display:grid;place-items:center;color:#82a2b5;font-size:15.5px;letter-spacing:.01em}

/* Keyboard focus should remain visible over sticky/floating UI */
body #app :focus-visible{scroll-margin:90px 20px}

/* Large-screen density: use available width more effectively */
@media(min-width:1440px){
  body #app .admin-content{padding-left:22px!important;padding-right:22px!important}
  body #app .mof-dashboard-v28{max-width:1680px}
}

/* Mobile polish without changing module logic */
@media(max-width:760px){
  #mof-connection-status{bottom:max(10px,env(safe-area-inset-bottom));font-size:14.5px}
  body #app .modal-actions{padding-bottom:max(10px,env(safe-area-inset-bottom))!important}
  body #app :is(.table-row,.issue-table-row,.gps-trip-row){scroll-margin-top:110px}
  body #app .admin-content{padding-bottom:max(28px,env(safe-area-inset-bottom))!important}
}

@media(prefers-contrast:more){
  body #app :is(input,select,textarea,.btn,.panel-card,.mof-dash-card){border-width:2px!important}
  body #app :is(.muted,small,.hint){color:#a9c0cf!important}
}

/* === MOF safe polish additions === */
/* Keep wide operational tables usable instead of breaking the page. */
.admin-content table,
.modal table,
.card table {
  max-width: 100%;
}

.admin-content .table-wrap,
.modal .table-wrap,
.card .table-wrap {
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}

/* Make long technical values copyable/readable without forcing page width. */
.admin-content td,
.admin-content th,
.modal td,
.modal th {
  overflow-wrap: anywhere;
}

/* Better keyboard target without changing mouse appearance. */
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline-offset: 3px;
}

/* Cleaner printing of reports/tables from browser. */
@media print {
  .admin-nav,
  .admin-top,
  .mof-skip-link,
  #mof-connection-status,
  .toast,
  button:not(.print-keep) {
    display: none !important;
  }
  .admin-shell,
  .admin-body,
  .admin-content {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
  }
  table {
    break-inside: auto;
  }
  tr {
    break-inside: avoid;
  }
}


/* === Navigation, tables & forms polish === */
body #app a[aria-current="page"]{font-weight:700}
body #app .table-wrap thead th{position:sticky;top:0;z-index:2;background:#0a1e2b;box-shadow:0 1px 0 rgba(126,177,207,.18)}
body #app .table-wrap{scrollbar-gutter:stable}
body #app label{line-height:1.35}
body #app :is(input,select,textarea)::placeholder{opacity:.72}
body #app textarea{resize:vertical;min-height:88px}
body #app :is(input,select,textarea):disabled{cursor:not-allowed;opacity:.66}
body #app input[type="checkbox"],body #app input[type="radio"]{min-width:16px;min-height:16px;accent-color:currentColor}
body #app form[aria-busy="true"] button[type="submit"]{cursor:progress}
body #app .table-wrap tbody tr:focus-within{background:rgba(22,67,94,.22)}
body #app .table-wrap :is(td,th){line-height:1.4}
body #app .table-wrap td :is(.btn,button){white-space:nowrap}
body #app ::selection{background:rgba(106,181,225,.35)}
@media(max-width:760px){
 body #app .table-wrap{margin-inline:-2px;padding-bottom:4px}
 body #app input[type="checkbox"],body #app input[type="radio"]{min-width:20px;min-height:20px}
}

/* ===== 2FA (logowanie dwuetapowe) ===== */
.twofa-modal{display:flex;flex-direction:column;gap:6px}
.twofa-modal-choices{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 4px}
.twofa-totp-setup{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.twofa-totp-setup #twofa-qr{background:#fff;border-radius:12px;padding:10px;display:flex;align-items:center;justify-content:center}
.twofa-recovery-codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}
.twofa-recovery-codes code{display:block;background:#0b2132;color:#e7f2fb;border:1px solid #1d4b68;border-radius:8px;padding:9px 10px;font-size:16.5px;letter-spacing:.5px;text-align:center}
@media(max-width:520px){.twofa-recovery-codes{grid-template-columns:1fr}}

/* ===== 2FA — segmentowe pole kodu (otp-boxes) ===== */
.otp-boxes{display:flex;gap:9px;justify-content:flex-start}
.otp-box{
 width:44px;height:52px;text-align:center;font-size:26px;font-weight:700;letter-spacing:0;
 background:#0e2536;border:1.5px solid #1d3f56;border-radius:10px;color:#eaf4fc;
 transition:border-color .15s,box-shadow .15s,transform .1s;
}
.otp-box:focus{outline:none;border-color:#1683ff;box-shadow:0 0 0 3px rgba(22,131,255,.22);transform:translateY(-1px)}
.otp-box::placeholder{color:#3c5b70}
@media(max-width:400px){.otp-box{width:38px;height:46px;font-size:23px}}

/* ===== 2FA — panel graficzny na stronie logowania kodem ===== */
.twofa-visual-icon{
 display:flex;align-items:center;justify-content:center;width:96px;height:96px;
 margin:6px 0 18px;filter:drop-shadow(0 8px 22px rgba(94,186,255,.25));
 animation:twofaShieldPulse 2.6s ease-in-out infinite;
}
.twofa-visual-icon svg{width:100%;height:100%}
@keyframes twofaShieldPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}

/* ===== Profil użytkownika (modal) ===== */
.profile-modal{display:flex;flex-direction:column;gap:22px;max-width:100%}
.profile-modal-section{display:flex;flex-direction:column;gap:8px}
.profile-modal-section+.profile-modal-section{padding-top:18px;border-top:1px solid #1c3547}
.profile-modal-section h3{margin:0 0 4px;font-size:16.5px;color:#9fbcd1;text-transform:uppercase;letter-spacing:.4px}
.profile-modal-section-muted{opacity:.7}
.mof-checkbox-row{display:flex;align-items:center;gap:9px;font-size:16.5px;color:#dce9f3}
.mof-checkbox-row input[type="checkbox"]{accent-color:#1683ff;width:17px;height:17px}

/* ===== Powiadomienia — tabela ustawień per moduł ===== */
.notif-prefs-table-wrap{overflow-x:auto;border:1px solid #1c3547;border-radius:12px}
.notif-prefs-table{width:100%;border-collapse:collapse;font-size:16.5px}
.notif-prefs-table thead th{
 text-align:left;font-size:13.5px;letter-spacing:.5px;text-transform:uppercase;color:#7d97ab;
 background:#0d2131;padding:10px 14px;white-space:nowrap;
}
.notif-prefs-table thead th:not(:first-child){text-align:center}
.notif-prefs-table td{padding:10px 14px;border-top:1px solid #16293a;color:#dce9f3;vertical-align:middle}
.notif-prefs-table tbody tr:hover td{background:rgba(22,131,255,.05)}
.notif-prefs-type{white-space:normal;min-width:180px}
.notif-prefs-toggle{text-align:center;width:70px}

/* ===== Przełącznik (toggle switch) ===== */
.mof-switch{position:relative;display:inline-flex;width:38px;height:22px;vertical-align:middle;cursor:pointer}
.mof-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.mof-switch span{
 position:absolute;inset:0;background:#233c50;border-radius:999px;transition:background .15s;
}
.mof-switch span:before{
 content:'';position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;
 background:#cfe3f2;transition:transform .15s;
}
.mof-switch input:checked+span{background:#1683ff}
.mof-switch input:checked+span:before{transform:translateX(16px);background:#fff}
.mof-switch input:focus-visible+span{box-shadow:0 0 0 3px rgba(22,131,255,.28)}

/* ===== Carrova Fuel module ===== */
.fuel-subnav{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 18px;padding-bottom:2px;border-bottom:1px solid #17324a}
.fuel-subnav a{padding:9px 14px;border-radius:10px 10px 0 0;font-size:15.5px;font-weight:700;color:#89a5b8;text-decoration:none;transition:.15s ease;border-bottom:2px solid transparent}
.fuel-subnav a:hover{color:#dbeaf3;background:#0b2131}
.fuel-subnav a.active{color:#eef8fd;border-bottom-color:#1687ff;background:#0b2131}
@media(max-width:900px){.fuel-subnav{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.fuel-subnav a{white-space:nowrap}}

.fuel-attention-list{display:grid;gap:8px}
.fuel-attention-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:11px 14px;border:1px solid #17324a;border-radius:11px;text-decoration:none;transition:.15s ease}
.fuel-attention-row:hover{background:#0b2131;border-color:#285c7a}
.fuel-attention-row b{color:#eef8fd;font-size:15.5px}
.fuel-attention-row small{display:block;color:#7898ab;font-size:13.5px;margin-top:2px}
.fuel-attention-row>span:nth-child(2){color:#dbeaf3;font-size:15.5px;font-weight:800}
.fuel-diff-bad{color:#ff8994;font-size:14.5px;font-weight:900;background:rgba(255,112,125,.1);border:1px solid rgba(255,112,125,.3);border-radius:999px;padding:4px 9px}

.fuel-filters{grid-template-columns:minmax(200px,1.3fr) 170px 150px 140px 140px!important}
@media(max-width:1100px){.fuel-filters{grid-template-columns:1fr 1fr!important}}
@media(max-width:640px){.fuel-filters{grid-template-columns:1fr!important}}
.fuel-filters input[type="date"]{height:45px;border:1px solid #173c59;background:#071a2b;border-radius:8px;color:#dfe9f4;padding:0 12px}

.fuel-list-card{padding:0!important;overflow:hidden}
.fuel-list-head{display:grid;grid-template-columns:100px 1.1fr 1fr .9fr 1.2fr .8fr .8fr .9fr .9fr;gap:10px;padding:11px 18px;font-size:12.5px;text-transform:uppercase;letter-spacing:.06em;color:#7d97ab;background:#0d2131;border-bottom:1px solid #17324a}
.fuel-list-row{display:grid;grid-template-columns:100px 1.1fr 1fr .9fr 1.2fr .8fr .8fr .9fr .9fr;gap:10px;width:100%;padding:13px 18px;border:0;border-bottom:1px solid #16293a;background:transparent;color:#dce9f3;font-size:15.5px;text-align:left;cursor:pointer;position:relative;align-items:center}
.fuel-list-row:last-child{border-bottom:0}
.fuel-list-row:hover{background:rgba(22,131,255,.06)}
.fuel-list-row.is-flagged{background:rgba(255,112,125,.05)}
.fuel-flag-dot{position:absolute;right:16px;top:50%;transform:translateY(-50%);width:18px;height:18px;border-radius:50%;background:#ff5d6f;color:#fff;font-style:normal;font-weight:900;font-size:14.5px;display:grid;place-items:center}
@media(max-width:1100px){.fuel-list-head{display:none}.fuel-list-row{grid-template-columns:1fr 1fr;row-gap:6px}}

.fuel-detail-modal{display:grid;gap:14px}
.fuel-detail-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.fuel-detail-head b{color:#eef8fd;font-size:19px}
.fuel-detail-head small{display:block;color:#7898ab;font-size:13.5px;margin-top:2px}
.fuel-flag-note{padding:10px 12px;border-radius:10px;background:rgba(255,112,125,.08);border:1px solid rgba(255,112,125,.28);color:#ffb3ba;font-size:14.5px}
.fuel-receipt-link{display:inline-flex;align-items:center;gap:6px;color:#5db4ff;font-size:15.5px;font-weight:700;text-decoration:none}
.fuel-receipt-link:hover{text-decoration:underline}

.fuel-wizard-card{padding:24px!important}
.fuel-wizard-steps{display:flex;gap:8px;margin-bottom:22px;flex-wrap:wrap}
.fuel-wizard-step{flex:1;min-width:120px;display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #17324a;border-radius:11px;background:#081b29}
.fuel-wizard-step span{width:22px;height:22px;border-radius:50%;background:#132c40;color:#8fb4d6;font-size:14.5px;font-weight:800;display:grid;place-items:center;flex-shrink:0}
.fuel-wizard-step b{color:#7d97ab;font-size:14.5px;font-weight:700}
.fuel-wizard-step.active{border-color:#1687ff;background:rgba(22,131,255,.08)}
.fuel-wizard-step.active span{background:#1687ff;color:#fff}
.fuel-wizard-step.active b{color:#eef8fd}
.fuel-wizard-step.done span{background:#1f9d63;color:#fff}
.fuel-wizard-step.done b{color:#a8c4d6}
.fuel-wizard-body{display:grid;gap:16px}
.fuel-wizard-section-title{font-size:18px}
.fuel-wizard-section-title b{color:#eef8fd}
.fuel-wizard-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px;padding-top:16px;border-top:1px solid #17324a}
.fuel-type-radios{display:flex;flex-wrap:wrap;gap:9px}
.fuel-type-chip{display:flex;align-items:center;gap:7px;padding:10px 16px;border:1px solid #17324a;border-radius:999px;font-size:15.5px;font-weight:700;color:#a8c4d6;cursor:pointer;background:#081b29;transition:.15s ease}
.fuel-type-chip input{display:none}
.fuel-type-chip:hover{border-color:#285c7a}
.fuel-type-chip.active{border-color:#1687ff;background:rgba(22,131,255,.12);color:#eef8fd}
.fuel-map-wrap{border:1px solid #17324a;border-radius:14px;overflow:hidden}
.fuel-wizard-map{height:280px;width:100%}
.fuel-map-hint{padding:9px 14px;font-size:13.5px;color:#7d97ab;background:#0d2131;border-top:1px solid #17324a}
.fuel-receipt-drop{border:1.5px dashed #285c7a;border-radius:14px;padding:26px;display:grid;place-items:center;cursor:pointer;transition:.15s ease;background:#081b29}
.fuel-receipt-drop:hover{border-color:#1687ff;background:rgba(22,131,255,.05)}
.fuel-receipt-empty{display:grid;place-items:center;gap:6px;text-align:center}
.fuel-receipt-empty span{font-size:34.5px}
.fuel-receipt-empty b{color:#eef8fd;font-size:16.5px}
.fuel-receipt-empty small{color:#7898ab;font-size:13.5px}
.fuel-file-chip{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;background:#0d2131;border:1px solid #17324a;color:#dbeaf3;font-size:15.5px}
.fuel-file-chip.large{font-size:16.5px;padding:12px 16px}
.fuel-file-chip button{border:0;background:transparent;color:#ff8994;font-size:20px;font-weight:900;cursor:pointer;line-height:1;padding:0 2px}
.fuel-summary-facts{grid-template-columns:repeat(3,minmax(0,1fr))!important}
@media(max-width:640px){.fuel-summary-facts{grid-template-columns:1fr!important}}

.fuel-kpis-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
@media(max-width:900px){.fuel-kpis-3{grid-template-columns:1fr!important}}
.fuel-costs-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:16px;align-items:start}
@media(max-width:1050px){.fuel-costs-grid{grid-template-columns:1fr}}
.fuel-cost-table{padding:18px!important}
.fuel-bar-chart{display:flex;align-items:flex-end;gap:14px;height:200px;padding:16px;overflow-x:auto}
.fuel-bar-col{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:44px;height:100%;justify-content:flex-end}
.fuel-bar{width:26px;min-height:4px;border-radius:6px 6px 0 0;background:linear-gradient(180deg,#1687ff,#0a5cc4)}
.fuel-bar-col small{color:#7d97ab;font-size:12.5px;white-space:nowrap}
.fuel-bar-col b{color:#eef8fd;font-size:14.5px}

.fuel-finder-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 16px}
.fuel-finder-toolbar select{height:45px;border:1px solid #173c59;background:#071a2b;border-radius:8px;color:#dfe9f4;padding:0 14px}
.fuel-finder-origin{color:#7d97ab;font-size:14.5px;flex:1;min-width:180px}
.fuel-finder-dashboard{grid-template-columns:270px minmax(380px,1fr) 300px}
@media(max-width:1250px){.fuel-finder-dashboard{grid-template-columns:240px 1fr}}
@media(max-width:900px){.fuel-finder-dashboard{grid-template-columns:1fr}}
.fuel-station-manage-list{display:grid;gap:8px}
.fuel-station-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid #17324a;border-radius:10px}
.fuel-station-row b{color:#eef8fd;font-size:15.5px}
.fuel-station-row small{display:block;color:#7898ab;font-size:13.5px;margin-top:2px}
.fuel-station-actions{display:flex;gap:8px}
.fuel-station-actions button{border:1px solid #17324a;background:#0d2131;color:#a8c4d6;font-size:13.5px;font-weight:700;padding:6px 10px;border-radius:8px;cursor:pointer;transition:.15s ease}
.fuel-station-actions button:hover{border-color:#285c7a;color:#eef8fd}
.fuel-station-actions button:last-child:hover{border-color:#a4404b;color:#ff8994}

.fuel-intelligence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}
@media(max-width:800px){.fuel-intelligence-grid{grid-template-columns:1fr}}
.fuel-intel-card{padding:18px;border:1px solid #17324a;border-radius:14px;background:#081b29;text-align:center}
.fuel-intel-card b{display:block;font-size:30.5px;color:#eef8fd;margin-bottom:6px}
.fuel-intel-card span{color:#7d97ab;font-size:14.5px}
.fuel-intel-card.bad b{color:#ff8994}
.fuel-intel-card.good b{color:#56d99b}

.fuel-report-card{display:grid;gap:14px}
.fuel-report-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
@media(max-width:640px){.fuel-report-checks{grid-template-columns:1fr 1fr}}
.fuel-report-checks .check{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid #17324a;border-radius:10px;background:#081b29;color:#c7d4e1;font-size:15.5px}
.fuel-format-radios{display:flex;gap:14px}
.fuel-format-radios label{display:flex;align-items:center;gap:7px;color:#c7d4e1;font-size:15.5px}

.fuel-vehicle-settings{margin-top:4px;padding-top:14px;border-top:1px solid #17324a}

/* ===== Profil użytkownika — rozwijana lista powiadomień + większe czcionki ===== */
.notif-prefs-accordion{border:1px solid #1c3547;border-radius:12px;overflow:hidden;background:#0a1d2c}
.notif-prefs-accordion summary{cursor:pointer;list-style:none;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px 16px}
.notif-prefs-accordion summary::-webkit-details-marker{display:none}
.notif-prefs-accordion summary>span{display:flex;flex-direction:column;gap:5px}
.notif-prefs-accordion summary b{font-size:16.5px;color:#eef6fc;text-transform:uppercase;letter-spacing:.4px}
.notif-prefs-accordion summary small{font-size:14.5px;color:#8998a5;line-height:1.5}
.notif-prefs-accordion summary .accordion-caret{flex-shrink:0;color:#6aaee7;font-size:20px;line-height:1;transition:transform .15s ease;margin-top:2px}
.notif-prefs-accordion[open] summary .accordion-caret{transform:rotate(180deg)}
.notif-prefs-accordion .accordion-body{padding:0 16px 16px}
.profile-modal .login-note{font-size:14.5px}
.profile-modal .modal-form label{font-size:13.5px}
.profile-modal .modal-form label>small{font-size:13.5px}
.profile-modal-section h3{font-size:18px}
.notif-prefs-table thead th{font-size:14.5px}
.notif-prefs-table{font-size:18px}
.notif-prefs-type{font-size:16.5px}

/* ===== Obsługa zgłoszenia (usterki) — większy tekst + komentarz obsługi ===== */
.issue-status-note{font-size:15.5px!important;line-height:1.6}
.issue-admin-comment{margin:4px 0 0;padding:8px 10px;border-left:3px solid #1687ff;background:rgba(22,135,255,.08);border-radius:0 8px 8px 0;font-size:15.5px;color:#c7d4e1}
.issue-admin-comment b{color:#eef6fc}

/* === theme.v365-chat.css === */
/* Chat page was never migrated onto the v363 design-token layer (--mof-panel/--mof-shadow/
   --mof-radius-*), so it kept the old flat, hard-bordered look while the rest of the app
   moved on — this brings it into the same visual language: elevated panels, gradients,
   hover motion, unified focus rings. No markup or JS changes needed. */
body #app .mof-comm-shell{
  border-color:var(--mof-line)!important;
  border-radius:var(--mof-radius-lg)!important;
  background:linear-gradient(145deg,#091d2c,#071823)!important;
  box-shadow:var(--mof-shadow)!important;
}
body #app .mof-comm-left,body #app .mof-comm-right{background:transparent!important}
body #app .mof-comm-left{border-right:1px solid var(--mof-line-soft)!important}
body #app .mof-comm-right{border-left:1px solid var(--mof-line-soft)!important}
body #app .mof-comm-left-head b{color:var(--mof-text)!important}
body #app .mof-comm-left-head button{
  border-radius:var(--mof-radius-sm)!important;
  background:#0a2030!important;
  border-color:var(--mof-line)!important;
  color:var(--mof-accent)!important;
  transition:transform .12s ease,background .15s ease!important;
}
body #app .mof-comm-left-head button:hover{background:#0d2c42!important;transform:translateY(-1px)}
body #app .mof-comm-search{
  border-radius:var(--mof-radius-sm)!important;
  background:#061a28!important;
  border-color:#21445c!important;
  transition:border-color .15s ease,box-shadow .15s ease!important;
}
body #app .mof-comm-search:focus-within{border-color:#258de7!important;box-shadow:0 0 0 3px rgba(38,155,255,.12)!important}
body #app .mof-comm-search input:focus{border-color:transparent!important;background:transparent!important;box-shadow:none!important}
body #app .search:focus-within,
body #app .mof-search:focus-within,
body #app .issues-search:focus-within,
body #app .gps-search-box:focus-within,
body #app .mof-finance-search:focus-within{
  border-color:#258de7!important;
  box-shadow:0 0 0 3px rgba(38,155,255,.12)!important;
}
body #app .search input:focus,
body #app .mof-search input:focus,
body #app .issues-search input:focus,
body #app .gps-search-box input:focus,
body #app .mof-finance-search input:focus{
  border-color:transparent!important;
  background:transparent!important;
  box-shadow:none!important;
}
body #app .search input:focus-visible,
body #app .mof-search input:focus-visible,
body #app .issues-search input:focus-visible,
body #app .gps-search-box input:focus-visible,
body #app .mof-finance-search input:focus-visible,
body #app .mof-comm-search input:focus-visible{
  outline:none!important;
}
body #app .mof-comm-tabs{border-bottom-color:var(--mof-line-soft)!important}
body #app .mof-comm-tabs button{border-radius:7px!important;padding:6px 9px!important;transition:background .15s ease,color .15s ease!important}
body #app .mof-comm-tabs button:hover{background:#0a2233!important;color:#bcd8ec!important}
body #app .mof-comm-tabs button.active{background:linear-gradient(90deg,rgba(24,119,220,.24),rgba(18,77,130,.15))!important;border-radius:7px!important}

body #app .mof-thread{border-radius:var(--mof-radius)!important;transition:background .15s ease,border-color .15s ease,transform .15s ease!important}
body #app .mof-thread:hover{background:#0a2233!important;border-color:#17394f!important;transform:translateX(1px)}
body #app .mof-thread.active{
  background:linear-gradient(90deg,rgba(24,119,220,.2),rgba(18,77,130,.1))!important;
  border-color:#1e5f94!important;
  box-shadow:inset 3px 0 0 var(--mof-accent)!important;
}
body #app .mof-thread-avatar{background:linear-gradient(145deg,#3a3480,#1c1a42)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)!important}
body #app .mof-thread-avatar.private{background:linear-gradient(145deg,#164c6c,#0a2233)!important}

body #app .mof-people-title{color:var(--mof-muted)!important}
body #app .mof-people-list button{border-radius:9px!important;transition:background .15s ease!important}
body #app .mof-people-list button:hover{background:#0a2233!important}

body #app .mof-chat-head{background:rgba(7,25,38,.85)!important;backdrop-filter:blur(10px);border-bottom-color:var(--mof-line-soft)!important}
body #app .mof-call-buttons button{border-radius:var(--mof-radius-sm)!important;transition:background .15s ease,transform .12s ease!important}
body #app .mof-call-buttons button:hover{background:#0d2c42!important;transform:translateY(-1px)}

body #app .mof-chat-messages{background:radial-gradient(circle at 50% 0%,#0a2233 0,#050f1a 60%)!important}
body #app .mof-msg-bubble{box-shadow:0 4px 14px rgba(0,0,0,.16)!important;border-radius:6px 14px 14px 14px!important}
body #app .mof-msg.mine .mof-msg-bubble{box-shadow:0 6px 18px rgba(13,92,165,.3)!important;border-radius:14px 6px 14px 14px!important}

body #app .mof-chat-compose{
  border-radius:var(--mof-radius)!important;
  background:#061a28!important;
  border-color:#21445c!important;
  transition:border-color .15s ease,box-shadow .15s ease!important;
}
body #app .mof-chat-compose:focus-within{border-color:#258de7!important;box-shadow:0 0 0 3px rgba(38,155,255,.12)!important}
body #app .mof-chat-compose textarea:focus{border-color:transparent!important;background:transparent!important;box-shadow:none!important}
body #app .mof-chat-compose .send{transition:transform .12s ease,box-shadow .15s ease!important}
body #app .mof-chat-compose .send:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(22,135,255,.35)}
body #app .mof-file-queue span{border-radius:7px!important}

body #app .mof-status-card,body #app .mof-owner-chat-note{
  border-radius:var(--mof-radius)!important;
  background:linear-gradient(145deg,#0a2030,#071823)!important;
  box-shadow:0 6px 18px rgba(0,0,0,.12)!important;
}
body #app .mof-thread .mof-thread-unread{box-shadow:0 2px 8px rgba(229,72,77,.4)}

@media(max-width:760px){
  body #app .mof-comm-shell{border-radius:14px!important}
}

/* Group-channel avatar icon (was a raw 👥 emoji — the rest of the app draws its own icons) */
.mof-group-icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;color:#c9c4ff}
.mof-thread-avatar.mgmt{background:linear-gradient(145deg,#5a3d14,#2c1e0c)!important}
.mof-thread-avatar.mgmt .mof-group-icon{color:#f0c584}

/* Chat compose emoji popover — same footprint/behavior as the @mention picker.
   (Named distinctly from the unrelated .mof-emoji-picker used for category icons —
   reusing that name previously made this picker render permanently, since setting its
   own `display` unconditionally beat the browser's default `[hidden]{display:none}`.) */
.mof-chat-emoji-picker[hidden]{display:none!important}
.mof-chat-emoji-picker{
  position:absolute;bottom:57px;left:8px;
  width:270px;max-height:220px;overflow:auto;
  display:grid;grid-template-columns:repeat(7,1fr);gap:2px;
  padding:8px;border:1px solid #24506d;border-radius:11px;
  background:#081b29;box-shadow:0 12px 35px rgba(0,0,0,.35);z-index:20;
}
.mof-chat-emoji-picker button{border:0;background:transparent;border-radius:7px;font-size:21px;line-height:1;padding:6px 0;cursor:pointer;transition:background .12s ease}
.mof-chat-emoji-picker button:hover{background:#0d2a3e}

/* Pinned-message strip: each pin is now its own row that jumps to the message in the timeline */
.mof-pinned-list{width:100%}
.mof-pinned-item{display:block;width:100%;border:0;background:transparent;text-align:left;padding:2px 0;cursor:pointer;border-radius:5px;transition:background .12s ease}
.mof-pinned-item:hover{background:rgba(255,255,255,.05)}
.mof-pinned-item b{margin-right:5px}
@keyframes mofMsgFlash{
  0%{background:rgba(38,155,255,.28)}
  100%{background:transparent}
}
.mof-msg-flash .mof-msg-bubble{animation:mofMsgFlash 1.6s ease-out}

/* Reaction picker: small anchored popover next to the message (was a full-screen modal) */
.mof-reaction-popover{
  position:fixed;z-index:9500;
  border:1px solid #24506d;border-radius:14px;
  background:#081d2c;box-shadow:0 16px 40px rgba(0,0,0,.4);
  padding:6px;animation:mofPopIn .12s ease-out;
}
.mof-reaction-popover .mof-reaction-picker{display:flex;gap:4px;padding:0;grid-template-columns:none}
.mof-reaction-popover .mof-reaction-picker button{width:36px;height:36px;border-radius:9px}
.mof-reaction-popover .mof-reaction-picker svg{width:18px;height:18px}
@keyframes mofPopIn{from{opacity:0;transform:translateY(4px) scale(.95)}to{opacity:1;transform:none}}

/* "New private message" picker (opened from the + button, replaces the old prompt() dialog) */
.mof-people-picker{display:grid;gap:3px;max-height:50vh;overflow:auto}
.mof-people-picker-row{width:100%;display:grid;grid-template-columns:8px 1fr;gap:10px;align-items:center;padding:10px 8px;border:0;border-radius:9px;background:transparent;text-align:left;cursor:pointer;transition:background .12s ease}
.mof-people-picker-row:hover{background:#0d2a3e}
.mof-people-picker-row i{width:7px;height:7px;border-radius:999px;background:#526c7c}
.mof-people-picker-row i.online{background:#29d88a;box-shadow:0 0 8px rgba(41,216,138,.45)}
.mof-people-picker-row i.trip{background:#1687ff}
.mof-people-picker-row i.busy{background:#ff5d6f}
.mof-people-picker-row i.away{background:#ffc34c}
.mof-people-picker-row span{display:grid;gap:2px}
.mof-people-picker-row b{color:#eaf5fa;font-size:13.5px}
.mof-people-picker-row small{color:#6e8ea2;font-size:11px}

.mof-comm-tabs button{cursor:pointer}

/* Temporary call diagnostics — lets us see live track/connection state from a screenshot
   without DevTools, to track down the camera/screen-share regression. Safe to remove once fixed. */
.mof-call-debug-toggle{position:absolute;left:10px;bottom:10px;z-index:30;width:26px;height:26px;border-radius:8px;border:1px solid #2a5a78;background:rgba(4,14,22,.75);color:#e4f0f6;font-size:16.5px;cursor:pointer;line-height:1}
.mof-call-debug{position:absolute;left:10px;bottom:42px;z-index:30;max-width:min(360px,80vw);max-height:50vh;overflow:auto;margin:0;padding:8px 10px;border:1px solid #2a5a78;border-radius:10px;background:rgba(3,10,16,.92);color:#8ff0c4;font:10px/1.5 ui-monospace,Menlo,Consolas,monospace;white-space:pre-wrap;pointer-events:auto}
.mof-call-debug[hidden]{display:none!important}
.mof-thread-list .empty-state,.mof-people-list .empty-state{padding:16px 10px!important;font-size:12.5px!important}

/* ===== CALL LAYOUT v22 ===== */
/* Screen shares used to sit in the same equal-size grid as the camera/avatar tiles, so every
   time someone shared a screen the whole grid shrank down to fit it. Now screen tiles are
   pulled onto their own full-width row(s) below the camera row instead of squeezing in. */
.mof-group-video-grid .mof-call-tile.screen-tile,
.mof-group-video-grid .mof-share-preview{
  grid-column:1/-1!important;
  order:9!important;
  min-height:280px!important;
  aspect-ratio:16/9;
}
.mof-group-video-grid .mof-call-tile:not(.screen-tile):not(.mof-share-preview){order:1!important}
@media(max-width:760px){
  .mof-group-video-grid .mof-call-tile.screen-tile,
  .mof-group-video-grid .mof-share-preview{min-height:200px!important}
}

/* ===== CHANGELOG FORMATTING v1 ===== */
/* .saas37-changelog article>div{display:flex} (the version/date row at the top of each
   card) was also matching this body div since it's likewise a direct child of <article> —
   that's what turned every bullet/note into its own little box laid out in a row instead
   of a real stacked list. */
.saas37-changelog article>.mof-changelog-body{display:block!important}
.mof-changelog-body{font-size:11px;line-height:1.7;color:#7d9aaa}
.mof-changelog-body p{margin:0 0 6px}
.mof-changelog-body p:last-child{margin-bottom:0}
.mof-changelog-body b{color:#c9dceb;font-weight:800}
.mof-changelog-body i{font-style:italic;color:#9bc0d4}
.mof-changelog-body ul{margin:2px 0 8px;padding-left:16px;display:grid;gap:5px}
.mof-changelog-body ul:last-child{margin-bottom:0}
.mof-changelog-body li{list-style:disc;display:list-item}
.mof-changelog-note{display:block;margin-top:2px;color:#5a7c8f;font-size:10px;line-height:1.5}
.saas37-changelog article>.mof-changelog-actions{display:flex!important;justify-content:flex-start!important;gap:8px;margin-top:10px}
.mof-form-hint{display:block;margin-top:4px;color:#5a7c8f;font-size:10px;line-height:1.5}

/* ===== CHANGELOG FORMATTING v2 — bigger type, long entries collapse, images preview ===== */
.saas37-changelog article{padding:20px}
.saas37-changelog span{font-size:12.5px!important;font-weight:800;letter-spacing:.03em}
.saas37-changelog time{font-size:12.5px!important}
.saas37-changelog h3{font-size:22px!important;margin:9px 0 10px!important}
.mof-changelog-body{font-size:14.5px!important;line-height:1.75!important}
.mof-changelog-note{font-size:12.5px!important}
.mof-changelog-body ul{gap:7px!important}

/* Long entries (lots of bullets) peek at a fixed height with a fade, instead of every
   card stretching to match the longest one in the feed. */
.mof-changelog-collapsed{max-height:150px;overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(to bottom,#000 105px,transparent 148px);mask-image:linear-gradient(to bottom,#000 105px,transparent 148px)}
.mof-changelog-more{display:block;margin:2px 0 0;padding:0;border:0;background:transparent;color:#3e9fea;font-size:12.5px;font-weight:800;cursor:pointer}
.mof-changelog-more:hover{color:#67baff;text-decoration:underline}

/* Image attachments get an actual thumbnail instead of a generic file chip. */
.mof-changelog-images{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.mof-changelog-image{display:block;width:96px;height:72px;border-radius:8px;overflow:hidden;border:1px solid #1c445d;padding:0;cursor:pointer}
.mof-changelog-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .15s ease}
.mof-changelog-image:hover img{transform:scale(1.06)}

/* ===== IMAGE LIGHTBOX ===== */
/* Reuses the normal modal (so Esc / backdrop click / the × already just work) but stripped
   down to a bare, full-viewport frame around the picture instead of a padded card. */
.modal-backdrop:has(.mof-lightbox-shell){padding:24px;background:rgba(0,0,0,.9)!important;backdrop-filter:blur(4px)}
.modal.mof-lightbox-shell{
  width:auto!important;max-width:calc(100vw - 48px)!important;
  height:auto!important;max-height:calc(100vh - 48px)!important;
  padding:0!important;margin:0!important;border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;overflow:visible!important
}
.mof-lightbox-shell .modal-kicker,.mof-lightbox-shell>h2{display:none!important}
.mof-lightbox-shell .modal-close{position:fixed!important;top:20px!important;right:24px!important}
.mof-lightbox{
  display:flex;align-items:center;justify-content:center;
  max-width:calc(100vw - 48px);max-height:calc(100vh - 48px);
  overflow:auto
}
.mof-lightbox img{
  max-width:calc(100vw - 48px);max-height:calc(100vh - 48px);
  object-fit:contain;border-radius:8px;display:block;cursor:zoom-in
}
.mof-lightbox img.zoomed{max-width:none!important;max-height:none!important;width:auto;cursor:zoom-out}

/* ================= TICKETS UI v1 (enlarge + priority + polish) ================= */
.mof-priority.high{background:#4a3a12;color:#f0b94d}
.mof-priority.normal{background:#113558;color:#68b6ff}
.saas37-ticket-row .mof-priority,.saas37-ticket-meta .mof-priority{font-size:12.5px!important;padding:5px 9px!important;font-weight:700;line-height:1.3!important;display:inline-block!important}
.saas37-ticket-row .saas37-pill,.saas37-ticket-meta .saas37-pill{display:inline-flex!important;font-size:12.5px!important;padding:5px 9px!important;font-weight:700!important;gap:6px!important;line-height:1.3!important}
.saas37-ticket-row .saas37-pill i,.saas37-ticket-meta .saas37-pill i{width:6px!important;height:6px!important}
.saas37-ticket-tools{gap:10px!important;padding:14px!important;flex-wrap:wrap}
.saas37-ticket-tools input,.saas37-ticket-tools select{font-size:14.5px!important;height:38px!important}
.mof-ticket-view-switch button{font-size:12.5px!important;padding:8px 12px!important}
.saas37-ticket-head{font-size:11px!important;letter-spacing:.04em}
.saas37-ticket-row{min-height:70px!important;padding:11px 12px!important}
.saas37-ticket-row span{font-size:13.5px!important}
.saas37-ticket-row span b{font-size:14.5px!important}
.saas37-ticket-row small{font-size:12.5px!important}
.saas37-ticket-detail{gap:14px!important}
.saas37-ticket-meta{gap:10px!important}
.saas37-ticket-chat{gap:10px!important;padding:12px!important}
.saas37-ticket-chat>div{max-width:88%!important;padding:11px 13px!important}
.saas37-ticket-chat small{font-size:11px!important}
.saas37-ticket-chat p{font-size:15.5px!important;line-height:1.6!important}
.saas37-ticket-status{gap:7px!important}
.saas37-ticket-status button{font-size:12.5px!important;padding:8px 11px!important}
.support-reply-form{gap:10px!important}
.support-reply-form textarea{font-size:14.5px!important;line-height:1.5!important;padding:11px!important}
.mof-ticket-canned{height:40px;border:1px solid #173e55;border-radius:8px;background:#061722;color:#9fc8df;font-size:12.5px;padding:0 10px;width:100%}
.mof-ticket-attachment b{font-size:12.5px!important}
.mof-ticket-attachment small{font-size:11px!important}
.mof-ticket-compose-tools{gap:10px!important}
.mof-ticket-file-btn>span{font-size:12.5px!important;min-height:38px!important;padding:0 12px!important}
.mof-ticket-file-btn>small{font-size:11px!important}
.mof-ticket-file-chip{font-size:12.5px!important;padding:6px 9px!important}
.mof-ticket-file-chip small{font-size:10px!important}
.mof-ticket-close-choice>p{font-size:14.5px!important}
.mof-ticket-choice b{font-size:15.5px!important}
.mof-ticket-choice span{font-size:12.5px!important}
.mof-ticket-archived-note{font-size:13.5px!important;padding:12px!important}
.mof-ticket-archive-badge{font-size:11px!important;padding:5px 9px!important}
@media(max-width:750px){.saas37-ticket-tools{align-items:stretch}}
.mof-icon{flex-shrink:0;display:block}
.role-picker{position:relative}
.role-picker-btn{width:100%;text-align:left;border:1px solid #214b67;background:#061521;color:#f2f7fb;border-radius:9px;padding:11px 14px;font-size:15.5px;font-weight:700;cursor:pointer}
.role-picker-btn:hover{background:#0a2035;border-color:#1683ff}
.role-picker-list{position:absolute;z-index:40;top:calc(100% + 4px);left:0;width:100%;max-height:260px;overflow-y:auto;background:linear-gradient(145deg,#0a2035,#061725);border:1px solid #244866;border-radius:10px;box-shadow:0 18px 40px rgba(0,0,0,.45);padding:6px;display:grid;gap:2px}
.role-picker-list[hidden]{display:none}
.role-picker-option{position:relative;display:flex;align-items:center;width:100%;text-align:left;border:0;background:none;padding:9px 10px;border-radius:7px;font-size:15.5px;font-weight:700;color:#edf6ff;cursor:pointer}
.role-picker-option:hover,.role-picker-option.active{background:#102b43}
/* Dymek z opisem roli -- osobny element doczepiony do <body> (patrz roleTipEl() w JS), pozycjonowany
   na sztywno obok najechanej pozycji, żeby nie był przycinany przez przewijanie listy ról. */
.role-picker-tip-float{position:fixed;transform:translateY(-50%);z-index:9999;width:210px;padding:9px 11px;border-radius:9px;background:#f4f6f8;border:1px solid #e1e6ea;color:#4c5a66;font-size:14px;font-weight:500;line-height:1.5;box-shadow:0 10px 26px rgba(0,0,0,.28);pointer-events:none}
.role-picker-tip-float::before{content:'';position:absolute;top:50%;left:-6px;transform:translateY(-50%);border:6px solid transparent;border-right-color:#f4f6f8;filter:drop-shadow(-1px 0 0 #e1e6ea)}
.role-picker-tip-float.side-left{transform:translate(-100%,-50%)}
.role-picker-tip-float.side-left::before{left:auto;right:-6px;border-right-color:transparent;border-left-color:#f4f6f8;filter:drop-shadow(1px 0 0 #e1e6ea)}
@media(max-width:640px){.role-picker-tip-float{width:min(210px,calc(100vw - 32px))}}
.phone-country{position:relative}
.phone-country-row{display:flex;gap:6px}
.phone-country-row input[name="phone"]{flex:1;min-width:0}
.phone-country-btn{flex-shrink:0;border:1px solid #214b67;background:#061521;color:#c8dcec;border-radius:9px;padding:0 12px;font-size:14.5px;font-weight:700;cursor:pointer;white-space:nowrap}
.phone-country-btn:hover{background:#0a2035;border-color:#1683ff}
.phone-country-list{position:absolute;z-index:40;top:calc(100% + 4px);right:0;width:220px;max-height:240px;overflow-y:auto;background:linear-gradient(145deg,#0a2035,#061725);border:1px solid #244866;border-radius:10px;box-shadow:0 18px 40px rgba(0,0,0,.45);padding:6px;gap:2px}
.phone-country-list[hidden]{display:none}
.phone-country-list:not([hidden]){display:grid}
.phone-country-list button{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:0;background:none;padding:7px 9px;border-radius:7px;font-size:15.5px;font-weight:700;color:#edf6ff;cursor:pointer}
.phone-country-list button:hover{background:#102b43}
.phone-country-list button small{font-weight:500;color:#8fa9bd}
.vehicle-suggest{position:relative}
.vehicle-suggest input[type="text"]{width:100%}
.vehicle-suggest-list{position:absolute;z-index:40;top:calc(100% + 4px);left:0;width:100%;max-height:240px;overflow-y:auto;background:linear-gradient(145deg,#0a2035,#061725);border:1px solid #244866;border-radius:10px;box-shadow:0 18px 40px rgba(0,0,0,.45);padding:6px;display:grid;gap:2px}
.vehicle-suggest-list button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;text-align:left;border:0;background:none;padding:8px 10px;border-radius:7px;font-size:15.5px;font-weight:700;color:#edf6ff;cursor:pointer}
.vehicle-suggest-list button:hover{background:#102b43}
.vehicle-suggest-list button small{font-weight:500;color:#8fa9bd}
.vehicle-suggest-empty{padding:10px;font-size:14.5px;color:#8fa9bd}
.vehicle-suggest-info{display:flex;flex-direction:column;gap:2px;margin-top:8px;padding:10px 12px;border-radius:9px;background:rgba(22,135,255,.12);border:1px solid rgba(22,135,255,.3);color:#cfe6ff}
.vehicle-suggest-info b{font-size:15.5px;color:#edf6ff}
.vehicle-suggest-info span{font-size:14.5px;color:#a9c6dd}
.driver-vehicle-pick{display:flex;flex-direction:column;gap:5px;font-size:13.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:#8fa9bd;max-width:280px}
.driver-vehicle-pick select{border:1px solid #214b67;background:#061521;color:#edf6ff;border-radius:9px;padding:9px 12px;font-size:16.5px;font-weight:700;text-transform:none;letter-spacing:normal}
.gps-geofence-card{margin-top:16px}
.gps-geofence-list{display:grid}
.gps-geofence-row{display:grid;grid-template-columns:1.6fr 1fr .7fr auto;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid rgba(30,69,94,.55);color:#b8ceda;font-size:14.5px}
.gps-geofence-row:last-child{border-bottom:0}
.gps-geofence-row b{color:#eaf3fb;font-size:15.5px}
.gps-geofence-row small{display:block;color:#7d9bb2;margin-top:2px}
.gps-geofence-row .status{justify-self:start;padding:4px 10px;border-radius:99px;font-size:12.5px;font-weight:800;text-transform:uppercase}
@media (max-width:760px){.gps-geofence-row{grid-template-columns:1fr;gap:6px}}
.geofence-map-wrap{margin-bottom:14px}
.geofence-map-wrap small{display:block;margin-top:6px;color:#8ea6b8;font-size:13.5px;line-height:1.5}
.geofence-map{position:relative;width:100%;height:260px;border-radius:12px;overflow:hidden;border:1px solid #244866;background:#0a2035}
.geofence-point-count{display:block;margin-top:6px;padding:10px 12px;border-radius:9px;background:rgba(22,135,255,.12);border:1px solid rgba(22,135,255,.3);color:#cfe6ff;font-size:14.5px;font-weight:600}
.geofence-draw-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.geofence-draw-actions .btn{flex:1 1 auto;white-space:nowrap}
.map-error-inline{position:absolute;inset:0;display:grid;place-items:center;padding:16px;text-align:center;color:#ff9ca5;font-size:14.5px;background:rgba(92,21,29,.32)}

/* ===== Pulpit — dopasowanie kart KPI / donuta / list do makiety (v77) =====
   Ta sama makieta co powłoka panelu (v76): karty KPI, wykresy i listy na Pulpicie
   (i wszędzie tam gdzie używane są te same klasy .mof-dash-* -- Paliwo, Finanse itd.)
   dostają styl bliższy screenowi -- pełne, nasycone kolorem plakietki ikon zamiast
   cienkiej belki koloru na górze karty, oraz procent obok liczby w legendzie donuta. */
body #app .mof-dash-kpi:after{display:none!important}
body #app .mof-kpi-ico{
  background:#1687ff!important;
  border-color:transparent!important;
  box-shadow:0 6px 16px rgba(22,135,255,.35);
}
body #app .mof-dash-kpi.amber .mof-kpi-ico{background:#e3a51f!important;box-shadow:0 6px 16px rgba(227,165,31,.32)}
body #app .mof-dash-kpi.green .mof-kpi-ico{background:#31c87d!important;box-shadow:0 6px 16px rgba(49,200,125,.32)}
body #app .mof-dash-kpi.red .mof-kpi-ico{background:#f06464!important;box-shadow:0 6px 16px rgba(240,100,100,.32)}
/* Plakietki KPI mają teraz w środku prawdziwą ikonę SVG (te same kształty co w menu
   bocznym/topbarze -- icon('car'/'calendar'/'check'/'user')) zamiast drobnych "rysowanych"
   kształtów z pseudo-elementów -- te stare kształty są więc wyłączone, żeby się nie nakładały. */
body #app .mof-kpi-ico:before,body #app .mof-kpi-ico:after{display:none!important}
body #app .mof-kpi-ico{display:flex!important;align-items:center;justify-content:center}
body #app .mof-kpi-ico .mof-icon{width:21px;height:21px;stroke:#fff;stroke-width:2}

/* Procent obok liczby w legendzie donuta, tak jak w makiecie ("28 (58%)"). */
body #app .mof-dash-legend-pct{font-weight:600;color:#7c98aa;font-size:.85em;margin-left:2px}

/* Kółka zamiast kwadratów dla ikon w listach "Ostatnie zgłoszenia" / "Najbliższe wydarzenia"
   -- bliżej stylu awatarów z listy pojazdów/przeglądów na screenie. */
body #app .mof-feed-icon{border-radius:50%!important}

/* ===== Pulpit — mapa floty na żywo (v78), wg makiety ===== */
body #app .mof-dash-map-card{display:flex;flex-direction:column}
body #app .mof-dash-live-badge{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:#3ddc91;padding:5px 10px;border:1px solid rgba(61,220,145,.35);border-radius:999px;background:rgba(61,220,145,.1)}
body #app .mof-dash-live-badge i{width:7px;height:7px;border-radius:999px;background:#3ddc91;box-shadow:0 0 10px rgba(61,220,145,.7)}
body #app .mof-dash-map-wrap{position:relative;flex:1;min-height:320px}
body #app .mof-dash-map{position:absolute;inset:0;background:#071522}
body #app .mof-dash-map-legend{display:flex;flex-wrap:wrap;gap:16px;padding:12px 17px;border-top:1px solid #14354b}
body #app .mof-dash-map-legend span{display:flex;align-items:center;gap:6px;font-size:12.5px;color:#8aa5b5}
body #app .mof-dash-map-legend span b{color:#edf6fa;font-weight:700}
body #app .mof-dash-map-legend i{width:8px;height:8px;border-radius:50%}
body #app .mof-dash-map-legend span.blue i{background:#1687ff}
body #app .mof-dash-map-legend span.amber i{background:#e3a51f}
body #app .mof-dash-map-legend span.red i{background:#f06464}
@media(max-width:1100px){body #app .mof-dash-map-wrap{min-height:280px}}
@media(max-width:760px){body #app .mof-dash-map-wrap{min-height:240px}}

/* ===== Pulpit — pełny układ wg makiety (v79): 6 kart KPI, mapa + szybkie statystyki,
   zakładki podglądu + status zgłoszeń, nadchodzące wydarzenia (7 dni) ===== */
body #app .mof-dash-kpis-6{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))!important}
body #app .mof-dash-kpi.violet:after{background:#a86eff}
body #app .mof-dash-kpi.cyan:after{background:#20c7ef}
body #app .mof-dash-kpi.violet .mof-kpi-ico{background:#a86eff!important;box-shadow:0 6px 16px rgba(168,110,255,.32)}
body #app .mof-dash-kpi.cyan .mof-kpi-ico{background:#20c7ef!important;box-shadow:0 6px 16px rgba(32,199,239,.32)}

/* Karta "Szybkie statystyki": mały donut + lista najczęściej używanych pojazdów pod nim. */
body #app .mof-dash-quickstats-card{display:flex;flex-direction:column}
body #app .mof-dash-donut-layout-sm{min-height:0;padding:14px 17px 6px;grid-template-columns:120px 1fr}
body #app .mof-dash-donut-layout-sm .mof-dash-donut{width:104px;height:104px}
body #app .mof-dash-donut-layout-sm .mof-dash-donut:after{inset:22px}
body #app .mof-dash-donut-layout-sm .mof-dash-donut>div b{font-size:22px}
body #app .mof-dash-card-subhead{padding:14px 17px 4px;font-size:12.5px;font-weight:800;letter-spacing:.04em;color:#7898aa;text-transform:uppercase;border-top:1px solid #14354b;margin-top:6px}
body #app .mof-dash-top-vehicles{padding:2px 16px 12px;flex:1}
body #app .mof-dash-top-vehicle-stats{display:grid;justify-items:end;gap:1px}
body #app .mof-dash-top-vehicle-stats b{color:#dceaf2;font-size:13.5px}
body #app .mof-dash-top-vehicle-stats small{color:#66879a;font-size:11.5px}
body #app .mof-dash-donut-card-sm .mof-dash-donut{width:118px;height:118px}
body #app .mof-dash-donut-card-sm .mof-dash-donut:after{inset:26px}

/* Zakładki "Szybki podgląd" pod mapą: Pojazdy / Dokumenty / Usterki / Koszty. */
body #app .mof-dash-tabs-card{display:flex;flex-direction:column}
body #app .mof-dash-tabs{display:flex;gap:4px;padding:0 12px;border-bottom:1px solid #14354b;overflow-x:auto}
body #app .mof-dash-tab{flex:0 0 auto;padding:11px 14px;border:0;background:transparent;color:#7898aa;font-size:13.5px;font-weight:700;cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}
body #app .mof-dash-tab:hover{color:#c7dce9}
body #app .mof-dash-tab.active{color:#3b9ef0;border-bottom-color:#1687ff}
body #app .mof-dash-tab-panels{flex:1}
body #app .mof-dash-tab-panel{display:none;padding:2px 16px 8px}
body #app .mof-dash-tab-panel.active{display:block}
body #app .mof-dash-tab-more{display:block;text-align:center;padding:10px 4px 6px;font-size:12.5px;font-weight:700;color:#3b9ef0;text-decoration:none}

/* Ikony w wierszach list — teraz z prawdziwym SVG (icon()), z delikatnym kolorowym tłem wg typu. */
body #app .mof-feed-icon{display:grid;place-items:center}
body #app .mof-feed-icon .mof-icon{width:16px;height:16px}
body #app .mof-feed-icon.vehicle{background:rgba(22,135,255,.14)}
body #app .mof-feed-icon.vehicle .mof-icon{stroke:#57a8ff}
body #app .mof-feed-icon.doc{background:rgba(168,110,255,.14)}
body #app .mof-feed-icon.doc .mof-icon{stroke:#c3a3ff}
body #app .mof-feed-icon.cost{background:rgba(227,165,31,.14)}
body #app .mof-feed-icon.cost .mof-icon{stroke:#e3a51f}

@media(max-width:760px){
  body #app .mof-dash-donut-layout-sm{grid-template-columns:1fr}
}

/* ===== Pulpit — bardziej zwarty układ (v80): mniejsze karty KPI, niższa mapa,
   ciaśniejsze listy i nagłówki kart -- mniej scrollowania, bo tekst w kartach
   i tak nie wypełniał wcześniejszej wysokości. ===== */
body #app .mof-dashboard-v28{gap:12px!important}
body #app .mof-dash-kpis-6{gap:10px!important}
body #app .mof-dash-charts{gap:12px!important}

body #app .mof-dash-kpi{min-height:0!important;padding:11px 14px!important;grid-template-columns:34px 1fr!important;gap:10px!important}
body #app .mof-dash-kpi>div{gap:1px!important}
body #app .mof-dash-kpi small{font-size:11.5px!important}
body #app .mof-dash-kpi b{font-size:21px!important;letter-spacing:-.02em!important}
body #app .mof-dash-kpi em{font-size:10.5px!important;line-height:1.25!important;margin-top:1px!important}
body #app .mof-kpi-ico{width:34px!important;height:34px!important;border-radius:9px!important}
body #app .mof-kpi-ico .mof-icon{width:17px!important;height:17px!important}
@media(max-width:760px){
  body #app .mof-dash-kpi{min-height:0!important;padding:10px!important;grid-template-columns:30px 1fr!important}
  body #app .mof-dash-kpi b{font-size:19px!important}
}
@media(max-width:480px){
  body #app .mof-dash-kpi{min-height:0!important}
}

body #app .mof-dash-map-wrap{min-height:210px!important}
@media(max-width:1100px){body #app .mof-dash-map-wrap{min-height:190px!important}}
@media(max-width:760px){body #app .mof-dash-map-wrap{min-height:170px!important}}
body #app .mof-dash-line-wrap{height:190px!important}

body #app .mof-dash-card-head{min-height:0!important;padding:10px 15px!important}
body #app .mof-dash-card-head h3{font-size:15.5px!important}
body #app .mof-dash-card-head small{font-size:11px!important}

body #app .mof-dash-feed-row{min-height:0!important;padding:7px 4px!important}
body #app .mof-dash-feed-row b{font-size:13px!important}
body #app .mof-dash-feed-row small{font-size:11.5px!important}
body #app .mof-dash-feed-row time{font-size:12px!important}
body #app .mof-dash-feed{padding:0 15px 8px!important}

body #app .mof-dash-card-subhead{padding:10px 16px 3px!important;margin-top:2px!important}
body #app .mof-dash-top-vehicles{padding:0 15px 8px!important}
body #app .mof-dash-tab-panel{padding:0 15px 6px!important}
body #app .mof-dash-tabs .mof-dash-tab{padding:9px 13px!important}

/* ===== Pulpit — węższa/niższa mapa, prawa kolumna "Status zgłoszeń" + "Harmonogram"
   ułożona jedna pod drugą obok skróconego "Szybkiego podglądu" (v81) ===== */
body #app .mof-dash-row-map{grid-template-columns:minmax(0,1.15fr) minmax(340px,1fr)!important}
body #app .mof-dash-map-wrap{min-height:185px!important}
@media(max-width:1100px){body #app .mof-dash-map-wrap{min-height:165px!important}}
@media(max-width:760px){
  body #app .mof-dash-row-map{grid-template-columns:1fr!important}
  body #app .mof-dash-map-wrap{min-height:150px!important}
}

body #app .mof-dash-side-stack{display:flex;flex-direction:column;gap:12px;min-width:0}
body #app .mof-dash-events-card .mof-dash-feed{padding:0 15px 8px!important}

/* Skrócone zakładki "Szybki podgląd" (3 pozycje zamiast 5) mogą wypaść niższe niż
   sąsiednia kolumna (donut + harmonogram) -- link "zobacz wszystkie" doklejamy do
   dołu karty zamiast zostawiać pustą przestrzeń pod listą. */
body #app .mof-dash-tab-panels{display:flex!important;flex-direction:column}
body #app .mof-dash-tab-panel.active{display:flex!important;flex-direction:column;flex:1}
body #app .mof-dash-tab-more{margin-top:auto!important}

/* ===== Pulpit — zwarty nagłówek strony + brak sztucznego rozciągania karty
   "Szybkie statystyki" do wysokości mapy (v82): mapa i quickstats dostają
   tylko tyle miejsca ile faktycznie potrzebuje ich treść, więc nie zostaje
   pusta przestrzeń pod krótszą listą "Najczęściej używane pojazdy". ===== */
body #app .mof-dash-page{margin-top:-18px}
body #app .mof-dash-page .page-top{margin-bottom:8px!important}
body #app .mof-dash-page .page-top .eyebrow{font-size:11px!important;letter-spacing:1.4px!important}
body #app .mof-dash-page .page-top h1{font-size:23px!important;margin:2px 0 3px!important;letter-spacing:-.02em!important}
body #app .mof-dash-page .page-top p{font-size:12.5px!important}
@media(max-width:760px){
  body #app .mof-dash-page{margin-top:-10px}
}

/* v83: cofnięte -- align-items:start zostawiało pustą szczelinę POD krótszą kartą
   (mapą albo quickstats, zależnie od danych) tuż przed kolejną sekcją, co wyglądało
   jak urwany layout. Wracamy do wyrównania obu kart do wspólnej wysokości wiersza
   i zamiast tego podbijamy bazową wysokość mapy, żeby rzadziej to ona była krótsza. */
body #app .mof-dash-map-wrap{min-height:230px!important}
@media(max-width:1100px){body #app .mof-dash-map-wrap{min-height:200px!important}}
@media(max-width:760px){body #app .mof-dash-map-wrap{min-height:180px!important}}
body #app .mof-dash-quickstats-card{padding-bottom:0}

body #app .mof-dashboard-v28{gap:10px!important}
body #app .mof-dash-kpis-6{gap:8px!important}
body #app .mof-dash-charts{gap:10px!important}
body #app .mof-dash-side-stack{gap:10px!important}
body #app .mof-dash-kpi{padding:9px 12px!important;grid-template-columns:30px 1fr!important;gap:9px!important}
body #app .mof-kpi-ico{width:30px!important;height:30px!important;border-radius:8px!important}
body #app .mof-kpi-ico .mof-icon{width:15px!important;height:15px!important}
body #app .mof-dash-kpi b{font-size:19px!important}
body #app .mof-dash-kpi small{font-size:11px!important}
body #app .mof-dash-kpi em{font-size:10px!important}

/* v84: restrukturyzacja Pulpitu na prośbę użytkownika -- dwie pełnowysokościowe
   kolumny zamiast dwóch osobnych wierszy siatki (to właśnie ten podział na
   wiersze zostawiał wiszące, "urwane w połowie" krawędzie/paski, gdy karty w
   wierszu miały różne naturalne wysokości). Teraz: lewa kolumna = mapa/wykres +
   "Szybki podgląd", oba po równo; prawa kolumna = "Szybkie statystyki" +
   "Status zgłoszeń" + "Harmonogram", te trzy też po równo -- a obie kolumny
   mają razem tę samą, wspólną wysokość (CSS Grid je rozciąga). */
body #app .mof-dash-main-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,1fr);gap:16px;align-items:stretch}
body #app .mof-dash-main-col{display:flex;flex-direction:column;gap:16px;min-width:0}
body #app .mof-dash-main-col>.mof-dash-card{flex:1;min-height:0}
@media(max-width:1100px){
  body #app .mof-dash-main-grid{grid-template-columns:1fr}
  body #app .mof-dash-main-col>.mof-dash-card{flex:none}
}

/* karty prawej/lewej kolumny muszą same być flex-column, żeby ich zawartość
   mogła wypełnić przydzieloną (równą) wysokość zamiast zostawiać pustkę na dole */
body #app .mof-dash-line-card{display:flex;flex-direction:column}
body #app .mof-dash-line-wrap{flex:1;min-height:150px;height:auto!important}
body #app .mof-dash-line-svg{height:100%}
body #app .mof-dash-donut-card-sm{display:flex;flex-direction:column}
body #app .mof-dash-donut-card-sm .mof-dash-donut-layout{flex:1;align-content:center}
body #app .mof-dash-events-card{display:flex;flex-direction:column}
body #app .mof-dash-events-card .mof-dash-feed{flex:1;overflow:auto}

/* v84 fix: w kolumnie prawej "Szybkie statystyki" jest teraz ściśnięta do równej
   1/3 wysokości kolumny -- domyślny flex-shrink potrafił ścisnąć obszar
   donut+legenda mocniej niż potrzebuje jego treść, przez co legenda nachodziła
   na podpis "Najczęściej używane pojazdy" pod spodem. Blokujemy kurczenie tego
   bloku (miejsce zabiera zamiast tego lista pojazdów poniżej, która i tak scrolluje). */
body #app .mof-dash-quickstats-card .mof-dash-donut-layout{flex-shrink:0}
body #app .mof-dash-quickstats-card .mof-dash-top-vehicles{overflow:auto}

/* v85: sprawdziłem zrzut ekranu piksel po pikselu -- kreska pod zakładkami
   ("Pojazdy / Dokumenty / Usterki / Koszty") faktycznie dochodzi do samej
   krawędzi karty, ale kolor (#14354b na tle karty #081b29) jest na tyle
   subtelny, że na niektórych ekranach sprawia wrażenie, jakby się urywała.
   Robimy ją wyraźniejszą, żeby nie było wątpliwości. */
body #app .mof-dash-tabs{border-bottom-color:#26537a!important}

/* v87: lista pojazdów jako kafelki (jak makieta) -- status na zdjęciu pojazdu
   jest teraz klikalnym przyciskiem (zmiana statusu), więc zdejmujemy domyślne
   obramowanie/tło przeglądarki dla <button>, żeby wyglądał tak samo jak
   wcześniejszy <span> ze statusem. */
body #app button.vehicle-status-trigger{border:0;-webkit-appearance:none;appearance:none}
body #app .vehicle-grid{margin-top:2px}
body #app .mof-vehicle-group .vehicle-grid{padding:0 14px 16px}

/* v87: własne zdjęcie pojazdu (wgrywanie/usuwanie) + zastępcza grafika wg typu pojazdu,
   gdy nikt jeszcze nie wgrał prawdziwego zdjęcia. */
/* v88: samo tło "bez zdjęcia" jest teraz ciemnoszare zamiast jasnego -- jasny prostokąt
   na ciemnej stronie mocno kłuł w oczy. Tło prawdziwych zdjęć (mix-blend-mode:multiply
   na jasnym tle) zostawiamy bez zmian, żeby nie zepsuć wyglądu wgranych zdjęć. */
.vehicle-photo.vehicle-photo-empty{background:#2c3742}
.vehicle-photo-fallback{display:flex;align-items:center;justify-content:center}
.vehicle-photo-fallback svg,.vehicle-photo-fallback img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;mix-blend-mode:normal}
.vehicle-photo .vehicle-photo-fallback{position:absolute;inset:16px}
.vehicle-hero .vehicle-photo-fallback{width:150px;height:110px;flex-shrink:0;filter:drop-shadow(0 14px 18px rgba(0,0,0,.35))}
.vehicle-photo-upload-btn{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);display:inline-flex;align-items:center;gap:4px;background:rgba(6,21,38,.72);color:#fff;font-size:10.5px;font-weight:800;padding:5px 9px;border-radius:999px;cursor:pointer;white-space:nowrap}
.vehicle-photo-upload-btn:hover{background:rgba(6,21,38,.88)}
.vehicle-photo-remove-btn{position:absolute;top:12px;left:12px;width:22px;height:22px;border-radius:50%;border:0;background:rgba(6,21,38,.72);color:#fff;font-size:14px;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0}
.vehicle-photo-remove-btn:hover{background:#c0392b}

/* v89: publiczny panel statusu usługi (#/status) -- prosta lista modułów z kropką/kolorem stanu. */
.status-page{padding:32px 0 64px;max-width:640px;margin:0 auto}
.status-loading{opacity:.7;padding:24px 0}
.status-overall{display:flex;align-items:center;gap:10px;padding:16px 18px;border-radius:14px;background:#0b2132;border:1px solid #1d4b68;margin-bottom:18px;font-size:17px}
.status-dot{width:11px;height:11px;border-radius:50%;flex-shrink:0}
.status-ok .status-dot,.status-overall.status-ok .status-dot{background:#2ecc71}
.status-warning .status-dot,.status-overall.status-warning .status-dot{background:#f5a623}
.status-error .status-dot,.status-overall.status-error .status-dot{background:#e74c3c}
.status-components{display:flex;flex-direction:column;gap:1px;border-radius:14px;overflow:hidden;border:1px solid #1d4b68}
.status-row{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:#0b2132}
.status-pill{font-size:12px;font-weight:800;padding:4px 10px;border-radius:999px}
.status-pill.status-ok{background:rgba(46,204,113,.15);color:#2ecc71}
.status-pill.status-warning{background:rgba(245,166,35,.15);color:#f5a623}
.status-pill.status-error{background:rgba(231,76,60,.15);color:#e74c3c}
.status-checked{display:block;margin-top:14px;opacity:.6;font-size:12px}

/* v89: lista ręcznych kopii zapasowych (panel superadmina). */
.backup-list{display:flex;flex-direction:column;gap:1px}
.backup-row{display:flex;align-items:center;justify-content:space-between;padding:12px 4px;border-bottom:1px solid rgba(255,255,255,.06)}
.backup-row:last-child{border-bottom:0}
.backup-row-actions{display:flex;gap:8px}
.btn.small{padding:6px 12px;font-size:12.5px}
.btn.danger{color:#e74c3c;border-color:rgba(231,76,60,.4)}
.btn.danger:hover{background:rgba(231,76,60,.12)}

/* v90: pasek wykorzystania limitu planu (pojazdy/użytkownicy) nad listami. */
.plan-usage-badge{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 16px;margin:0 0 14px;border-radius:12px;background:#0b2132;border:1px solid #1d4b68;font-size:13px}
.plan-usage-badge span{opacity:.7}
.plan-usage-badge b{font-size:14px}
.plan-usage-bar{flex:1;min-width:80px;max-width:160px;height:6px;border-radius:999px;background:rgba(255,255,255,.1);overflow:hidden}
.plan-usage-bar i{display:block;height:100%;background:#1687ff;border-radius:999px}
.plan-usage-badge.full{border-color:rgba(231,76,60,.5)}
.plan-usage-badge.full .plan-usage-bar i{background:#e74c3c}
.plan-usage-badge.full small{color:#e74c3c;font-weight:700}

/* ===== Podgląd panelu na stronie głównej — dopasowanie do aktualnego wyglądu panelu (26.09.2026) ===== */
.dashboard-preview aside>span{display:flex;align-items:center;gap:9px}
.dashboard-preview aside>span svg{width:16px;height:16px;flex-shrink:0;opacity:.85}
.dp-nav-section{margin:14px 4px 6px;font-size:9.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#4d6478}
.dp-topbar{display:flex;align-items:center;gap:14px;margin:-28px -28px 20px;padding:16px 28px;border-bottom:1px solid #12324a;background:rgba(255,255,255,.02)}
.dp-search{display:flex;align-items:center;gap:8px;flex:1;max-width:340px;height:34px;padding:0 12px;border:1px solid #1c3c53;border-radius:9px;background:rgba(255,255,255,.03);color:#65839a;font-size:12px}
.dp-search svg{width:15px;height:15px;opacity:.8;flex-shrink:0}
.dp-topbar-right{display:flex;align-items:center;gap:9px;margin-left:auto}
.dp-bell{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #1c3c53;border-radius:9px;color:#c4d5e2;flex-shrink:0}
.dp-bell svg{width:16px;height:16px}
.dp-bell b{position:absolute;top:-5px;right:-5px;min-width:15px;height:15px;border-radius:999px;background:#e25555;color:#fff;font-size:9.5px;display:inline-grid;place-items:center;font-weight:800}
.dp-pill{display:none;align-items:center;height:32px;padding:0 11px;border:1px solid #1c3c53;border-radius:9px;background:rgba(255,255,255,.03);color:#c4d5e2;font-size:11.5px;font-weight:700;white-space:nowrap}
.dp-profile{display:flex;align-items:center;gap:7px}
.dp-avatar{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;font-size:10.5px;font-weight:800;flex-shrink:0}
.dp-profile-meta{display:none;line-height:1.2}
.dp-profile-meta b{font-size:11.5px;color:#edf6fc;display:block}
.dp-profile-meta small{font-size:9.5px;color:#7f97aa}
@media(min-width:860px){.dp-pill{display:inline-flex}.dp-profile-meta{display:block}}
.dp-map{position:relative;height:210px;border-radius:12px;overflow:hidden;background:#071522;border:1px solid #17324a}
.dp-map svg{width:100%;height:100%;display:block}
@media(max-width:640px){.dp-topbar{margin:-20px -18px 16px;padding:14px 18px;gap:10px}.dp-search{font-size:11px}}


/* ===== Statusy kierowcy — rozszerzone (26.09.2026): Załadunek/Rozładunek/Oczekiwanie/Obsługa pojazdu/Formalności ===== */
.trip-state.cyan{color:#6ce6ed;background:rgba(32,135,142,.12);border-color:rgba(32,135,142,.3)}
.trip-state.indigo{color:#899eff;background:rgba(60,73,155,.14);border-color:rgba(60,73,155,.32)}
.trip-state.slate{color:#9aaeb9;background:rgba(83,104,115,.14);border-color:rgba(83,104,115,.3)}
.trip-state.purple{color:#c58bff;background:rgba(113,54,164,.14);border-color:rgba(113,54,164,.3)}
.trip-state.teal{color:#64d5bd;background:rgba(33,126,107,.14);border-color:rgba(33,126,107,.3)}
.gps-car-dot.cyan{color:#4dd9e3}.gps-car-dot.indigo{color:#8fa3ff}.gps-car-dot.slate{color:#a7bac4}.gps-car-dot.purple{color:#c58bff}.gps-car-dot.teal{color:#57d9c0}.gps-car-dot.green{color:#4ddb9e}
.driver-route-dot.cyan{background:#22b8c4}.driver-route-dot.indigo{background:#5c6bcc}.driver-route-dot.slate{background:#7c8fa0}.driver-route-dot.purple{background:#8a4fd6}.driver-route-dot.teal{background:#1f9e86}.driver-route-dot.green{background:#22c58f}
/* 8 przycisków statusu zamiast dawnych 3 (Jazda/Przerwa/Problem) -- responsywna siatka zamiast sztywnych 3 kolumn. */
.driver-status-actions{grid-template-columns:repeat(4,1fr)}
.driver-status-actions button{min-height:46px;font-size:12px;padding:6px 6px;line-height:1.25}
@media(max-width:900px){.driver-status-actions{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.driver-status-actions{grid-template-columns:repeat(2,1fr)}}
.trip-status-breakdown{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.worktime-status-summary{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 4px}
.worktime-status-summary .worktime-empty{color:#5c7a8d;font-size:12.5px}
.worktime-day-readonly{display:grid;gap:10px}
.worktime-day-readonly .wdr-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.worktime-day-readonly .wdr-row span{color:#7fa0b4;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.worktime-day-readonly .wdr-row b{color:#eef7fb;font-size:14px}
.worktime-day-readonly p{color:#c3d6e0;font-size:12.5px;margin:0}

/* Brakujące kolory paska statusu w "Przebiegu statusów" trasy (26.09.2026) -- .trip-event-line i miało
   tylko blue/amber/red/green, więc nowe statusy (Załadunek/Rozładunek/Oczekiwanie/Obsługa pojazdu/
   Formalności) wyświetlały się bez koloru z boku. */
.trip-event-line i.cyan{background:#3ecfd9}
.trip-event-line i.indigo{background:#6c7ee8}
.trip-event-line i.slate{background:#7c92a1}
.trip-event-line i.purple{background:#a855e0}
.trip-event-line i.teal{background:#2fbf9e}

/* ===== CRM v110: profil klienta, zakładki, aktywność, notatki, dokumenty ===== */
.crm-profile-head{margin-bottom:18px}
.crm-profile-head-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.crm-profile-head-top h2{margin:0 0 6px}
.crm-profile-badges{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.crm-profile-badges span{font-size:12px;padding:3px 10px;border-radius:20px;background:#0b2a3f;border:1px solid #174767;color:#9fc4dd}
.crm-profile-head-actions{display:flex;gap:8px;flex-wrap:wrap}
.crm-profile-head-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;margin-top:16px;padding-top:16px;border-top:1px solid #163247}
.crm-profile-head-meta span{display:block;font-size:12px;color:#7fa3bd;margin-bottom:4px}
.crm-profile-head-meta b{font-size:14px;color:#e8f3fb}
.crm-profile-tabs{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid #163247;margin-bottom:16px}
.crm-profile-tabs button{background:none;border:none;color:#7fa3bd;padding:10px 14px;cursor:pointer;font-size:14px;border-bottom:2px solid transparent}
.crm-profile-tabs button.active{color:#fff;border-bottom-color:#249cff}
.crm-profile-tabs button b{font-size:11px;background:#0b2a3f;border-radius:10px;padding:1px 6px;margin-left:4px}
.crm-profile-tab-body form.crm-inline-form{margin-top:14px;display:flex;gap:8px;flex-wrap:wrap;align-items:flex-start}
.crm-profile-tab-body form.crm-inline-form textarea{flex:1 1 100%}
.crm-contact-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-bottom:14px}
.crm-contact-card{padding:14px}
.crm-contact-card small{display:block;color:#7fa3bd;margin:2px 0 6px}
.crm-doc-list{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.crm-doc-row{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#0b2233;border-radius:10px;border:1px solid #163247}
.crm-doc-row a{display:flex;gap:8px;align-items:center;color:#e8f3fb;text-decoration:none}
.crm-activity-feed{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.crm-activity-feed.compact{gap:8px}
.crm-activity-item{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px solid rgba(22,50,71,.4)}
.crm-activity-item span{font-size:16px}
.crm-activity-item small{color:#7fa3bd;display:block}
.crm-activity-item p{margin:4px 0 0;color:#c3dced}
.crm-note-card{padding:14px;margin-bottom:10px}
.crm-note-card .mof-dash-card-head{margin-bottom:8px}
.crm-note-card>div{display:flex;justify-content:space-between;align-items:center}
.crm-note-card p{margin:6px 0 0;color:#c3dced}
.crm-notes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.crm-client-row{cursor:pointer}
/* ===== CRM v112: zwijana sekcja CRM w menu bocznym ===== */
.admin-nav-section-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;cursor:pointer;font:inherit;text-align:left;padding:10px 10px;margin:6px 0 2px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#8fa5ba;border-radius:6px}
.admin-nav-section-toggle:hover{background:rgba(255,255,255,.05);color:#c3d7e8}
.admin-nav-section-chevron{font-size:9px;transition:transform .15s ease;opacity:.75}
.admin-nav-section-toggle.open .admin-nav-section-chevron{transform:rotate(180deg)}
.admin-nav-subgroup{display:contents}
.admin-nav-subgroup.crm-collapsed{display:none}

/* ===== Carrova v90: cennik modułowy (Core + moduły) ===== */
.btn.wide{width:100%}
.mof-modules-hero{min-height:0}
.mof-modules-hero .pricing-hero-head{min-height:0;align-items:center;padding-top:30px;padding-bottom:26px;grid-template-columns:1.25fr .85fr;gap:20px}
.mof-modules-hero h1{font-size:clamp(26px,2.4vw,36px);letter-spacing:-1.3px;margin:6px 0 8px}
.mof-modules-hero p{font-size:14.5px}
.mof-modules-hero .pricing-van{height:130px}
.mof-modules-hero .pricing-van img{width:min(300px,100%)}
.mof-hero-values{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}
.mof-hero-values>div{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:5px}
.mof-hero-values .mof-module-icon{width:28px;height:28px;border-radius:8px;background:linear-gradient(145deg,#123252,#0a2038);display:grid;place-items:center;color:#5ab4ff}
.mof-hero-values b{color:#fff;font-size:13px}
.mof-hero-values small{color:#9db2c4;font-size:11.5px;line-height:1.35}
@media(max-width:960px){.mof-hero-values{grid-template-columns:repeat(2,1fr)}.mof-modules-hero .pricing-hero-head{grid-template-columns:1fr}.mof-modules-hero .pricing-van{display:none}}

.pricing-stage.mof-modules-stage{background:linear-gradient(180deg,#040f1c,#071b30 40%,#081f38);padding-bottom:70px}
.mof-modules-stage>.container{margin-top:-14px}
.mof-modules-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:22px}
.mof-modules-toolbar h2{color:#fff;font-size:30px;letter-spacing:-1px;margin:0 0 4px}
.mof-modules-toolbar p{color:#9db2c4;margin:0;font-size:14.5px}
.mof-modules-stage .saas-billing-switch{margin:0}

.mof-pricing-layout{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr) minmax(0,330px);gap:18px;align-items:start}
@media(max-width:1180px){.mof-pricing-layout{grid-template-columns:1fr}}

.mof-core-card{background:#0a2038;border:1.5px solid #1878e8;border-radius:18px;padding:26px;display:flex;flex-direction:column;gap:14px;box-shadow:0 18px 44px rgba(4,20,38,.4)}
.mof-core-eyebrow{color:#5ab4ff;font-size:12.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.mof-core-top h2{color:#fff;font-size:22px;letter-spacing:-.5px;margin:4px 0 0}
.mof-core-price{color:#fff;display:flex;align-items:baseline;gap:6px}
.mof-core-price strong{font-size:38px;font-weight:900}
.mof-core-price del{color:#5f7994;font-size:16px;font-weight:600}
.mof-core-price span{color:#9db2c4;font-size:14px}
.mof-core-desc{color:#c4d5e3;font-size:13.5px;margin:0}
.mof-core-checklist{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.mof-core-checklist li{display:flex;align-items:flex-start;gap:8px;color:#d9e6f0;font-size:13.5px;line-height:1.35}
.mof-core-checklist li svg{color:#2ea768;flex:0 0 auto;margin-top:1px}
.mof-core-selected{margin-top:4px;background:linear-gradient(135deg,var(--blue),#0660d5);color:#fff;border:0;border-radius:10px;padding:13px;font-size:14.5px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:8px;cursor:default;opacity:1}
.mof-core-extra{display:flex;align-items:center;justify-content:space-between;gap:10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:11px;padding:12px 14px}
.mof-core-extra span{display:flex;align-items:center;gap:7px;color:#c4d5e3;font-size:12.5px}
.mof-core-extra b{color:#fff;font-size:13px;white-space:nowrap}

.mof-modules-head h3{color:#fff;font-size:19px;margin:0 0 3px}
.mof-modules-head p{color:#9db2c4;font-size:13.5px;margin:0 0 14px}
.mof-module-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media(max-width:700px){.mof-module-grid{grid-template-columns:1fr}}
.mof-module-card{background:#0c2131;border:1.5px solid #1e3548;border-radius:15px;padding:18px;display:flex;flex-direction:column;gap:14px;transition:.2s}
.mof-module-card.on{border-color:#1878e8;background:#0d2740}
.mof-module-head{display:flex;gap:12px;align-items:flex-start}
.mof-module-icon{width:42px;height:42px;border-radius:11px;flex:0 0 auto;display:grid;place-items:center;background:linear-gradient(145deg,#1a3a5c,#0e2338);color:#5ab4ff}
.mof-module-icon.sm{width:30px;height:30px;border-radius:8px}
.mof-module-card:nth-child(7n+2) .mof-module-icon{background:linear-gradient(145deg,#4a2e10,#2a1a08);color:#e2a06b}
.mof-module-card:nth-child(7n+3) .mof-module-icon{background:linear-gradient(145deg,#3a1414,#220b0b);color:#e26b6b}
.mof-module-card:nth-child(7n+4) .mof-module-icon{background:linear-gradient(145deg,#123a34,#082019);color:#45c5a8}
.mof-module-card:nth-child(7n+5) .mof-module-icon{background:linear-gradient(145deg,#2c1a44,#180d28);color:#b085e8}
.mof-module-card:nth-child(7n+6) .mof-module-icon{background:linear-gradient(145deg,#123252,#0a2038);color:#5ab4ff}
.mof-module-card:nth-child(7n+7) .mof-module-icon{background:linear-gradient(145deg,#3a2c10,#221a08);color:#e2c26b}
.mof-module-copy b{color:#fff;font-size:14.5px;display:block;margin-bottom:3px}
.mof-module-copy p{color:#9db2c4;font-size:12.5px;line-height:1.4;margin:0}
.mof-module-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}
.mof-module-price{color:#c4d5e3;font-size:12.5px;font-weight:600}
.mof-module-switch{position:relative;display:inline-block;width:42px;height:24px;flex:0 0 auto}
.mof-module-switch input{opacity:0;width:0;height:0;position:absolute}
.mof-module-switch i{position:absolute;inset:0;background:#1e3548;border-radius:999px;transition:.2s;cursor:pointer}
.mof-module-switch i:before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}
.mof-module-switch input:checked+i{background:var(--blue)}
.mof-module-switch input:checked+i:before{transform:translateX(18px)}
.mof-module-card.soon{opacity:.6;background:#0a1c29}
.mof-module-card.soon .mof-module-icon{filter:grayscale(1)}
.mof-module-soon-badge{display:inline-block;background:#2a3a10;color:#c7e26b;font-size:10px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;padding:2px 7px;border-radius:999px;margin-left:6px;vertical-align:middle}
.saas37-plan-card.module.soon{opacity:.7}
.mof-sub-module-item.is-soon{opacity:.55}
.mof-sub-module-item.is-soon input{cursor:not-allowed}
.mof-module-promo-badge{display:inline-block;background:#3a1230;color:#f18fce;font-size:10px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;padding:2px 7px;border-radius:999px;margin-left:6px;vertical-align:middle}
.mof-module-popularity{margin-bottom:18px}
.mof-popularity-list{padding:8px 14px 16px;display:grid;gap:10px}
.mof-popularity-row{display:grid;grid-template-columns:22px 140px 1fr 28px auto;gap:10px;align-items:center}
.mof-popularity-rank{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#102b3c;color:#8fb4c9;font-size:11px;font-weight:700}
.mof-popularity-row:nth-child(1) .mof-popularity-rank{background:#3a2a05;color:#ffcf5c}
.mof-popularity-row:nth-child(2) .mof-popularity-rank{background:#20242a;color:#c7d1db}
.mof-popularity-row:nth-child(3) .mof-popularity-rank{background:#2a1c10;color:#e0a878}
.mof-popularity-name{font-size:12px;color:#dce8ee;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mof-popularity-bar{height:6px;background:#102b3c;border-radius:99px;overflow:hidden}
.mof-popularity-bar i{display:block;height:100%;background:linear-gradient(90deg,#1b8fff,#34c97b);border-radius:99px}
.mof-popularity-row>b{font-size:12px;color:#dce8ee;text-align:right}
.mof-popularity-row>small{font-size:10px;color:#678598}

.mof-pricing-config{background:#0a2038;border:1.5px solid #1e3548;border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:14px;position:sticky;top:96px}
.mof-config-head h3{color:#fff;font-size:18px;margin:0 0 3px}
.mof-config-head p{color:#9db2c4;font-size:12.5px;margin:0}
.mof-config-fleet{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mof-config-fleet label{display:flex;flex-direction:column;gap:5px;color:#9db2c4;font-size:11.5px;font-weight:700}
.mof-config-fleet input{background:#0c2131;border:1px solid #1e3548;border-radius:8px;color:#fff;padding:8px 9px;font-size:14px;width:100%}
.mof-config-line{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:12px;border-top:1px solid #16324a}
.mof-config-line span{display:flex;align-items:center;gap:7px;color:#c4d5e3;font-size:13px}
.mof-config-line b{color:#fff;font-size:13.5px;white-space:nowrap}
.mof-config-line.sub{padding-top:0;border-top:0}
.mof-config-line.sub span,.mof-config-line.sub b{color:#7f97ab;font-size:12px}
.mof-config-modules-head{display:flex;align-items:center;gap:7px;color:#9db2c4;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding-top:6px;border-top:1px solid #16324a}
.mof-config-modules{display:flex;flex-direction:column;gap:9px;min-height:0}
.mof-config-empty{color:#7f97ab;font-size:12.5px;margin:0}
.mof-config-module{display:flex;align-items:center;gap:9px;background:rgba(255,255,255,.03);border:1px solid #16324a;border-radius:10px;padding:8px 10px}
.mof-config-module>div{flex:1;min-width:0}
.mof-config-module b{color:#fff;font-size:12.5px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mof-config-module small{color:#8199ac;font-size:11px}
.mof-config-module-total{color:#fff;font-size:12.5px;white-space:nowrap}
.mof-config-module-remove{border:0;background:transparent;color:#7f97ab;cursor:pointer;display:grid;place-items:center;padding:2px;border-radius:6px;flex:0 0 auto}
.mof-config-module-remove:hover{color:#e25555;background:rgba(226,85,85,.12)}
.mof-config-module-remove svg{width:14px;height:14px}
.mof-config-total{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:14px;border-top:1px solid #16324a}
.mof-config-total span{color:#9db2c4;font-size:12.5px}
.mof-config-total strong{color:#fff;font-size:24px;font-weight:900}
.mof-config-fine{display:flex;align-items:center;gap:6px;color:#7f97ab;font-size:11.5px;margin:0}
.mof-config-fine svg{color:#2ea768;flex:0 0 auto}

/* ===== Carrova v90: superadmin -- moduły w subskrypcjach / szczegółach firmy ===== */
.saas37-company-head.mof-subs-head,.saas37-company-row.mof-subs-row{grid-template-columns:1.3fr .8fr .6fr .55fr .55fr .75fr .9fr}
.mof-module-chips{display:flex;flex-wrap:wrap;gap:8px;padding:14px 18px}
.mof-module-chip{display:inline-flex;align-items:center;gap:5px;padding:6px 11px;border-radius:999px;border:1px solid #1e3548;background:#0c2131;color:#7f97ab;font-size:12px;font-weight:700}
.mof-module-chip.on{border-color:#1878e8;background:#0d2740;color:#bcdcff}
.mof-module-chip svg{width:12px;height:12px;color:#2ea768}
.mof-sub-modules{margin-top:6px}
.mof-sub-module-item small{color:#7f97ab}
.saas37-plan-card.core{border-color:#1878e8}
.saas37-plan-card.module.inactive{opacity:.55}
.mof-super-module-grid{margin-top:14px}
.mof-modules-section-head{margin-top:28px}
